IP Library Granted Patent US 9,356,893
Granted Patent B2
US 9,356,893 · App. 14/332,054 · Granted May 31, 2016

Fallback messaging

Inventors: Benjamin David Eidelson (San Francisco, CA); Jagjit Singh Chawla (Bangalore, IN); Jason Prado (San Francisco, CA)
Assignee: Google Inc.
H04L51/04H04L41/0668H04L51/32H04L67/10
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,356,893
App. No.
14/332,054
Granted
May 31, 2016
Kind
B2
Abstract

A computing device may receive first message data associated with a messaging group. The computing device may associate the first message data with a messaging thread. The computing device may associate a unique session identifier with one or both of the messaging thread and the messaging group. For a first one or more user devices of the messaging group, the computing device may send the message data along with the unique identifier via a native messaging protocol. For a second one or more of the user devices of the messaging group, the computing device may associate a fallback identifier of each of the one or more second user devices with one or both of the messaging thread and the messaging group, and send the first message data and unique identifier via a fallback messaging protocol.

Claims (32)

1. A method, comprising:

receiving, at a computing device, message data associated with a message to be sent to a recipient;

determining, by the computing device, whether a first data channel is available for sending the message to the recipient via a group messaging engine, the group messaging engine using a first messaging protocol to exchange messages between two or more users;

responsive to determining that the first data channel is available, transmitting, by the computing device, the message to the group messaging engine using the first data channel and first messaging protocol;

responsive to determining that the first data channel is not available, determining whether a predetermined user setting indicates a pre-selection by a user of a second data channel for sending the message to the group messaging engine when the first data channel is not available; and

responsive to determining that a predetermined user setting indicates a pre-selection by a user of a second data channel for sending the message to the group messaging engine when the first data channel is not available, transmitting, by the computing device, the message to the group messaging engine using the pre-selected second data channel and a second messaging protocol.

2. The method of claim 1 , wherein determining whether the first data channel is available comprises determining, by the computing device, whether the computing device is coupled to a reliable network data channel.

3. The method of claim 1 , wherein the first messaging protocol corresponds to a messaging protocol native to the group messaging engine.

4. The method of claim 1 , wherein the second messaging protocol corresponds to an SMS, MMS, XMS, or email message protocol.

5. A system, comprising:

at least one processor;

a memory device coupled to the at least one processor and storing a computer readable program that, when executed by the at least one processor, causes the system to:

receive message data identifying a message to be sent to a recipient;

determine whether a first data channel is available for sending the message data to the recipient via a group messaging engine, the group messaging engine using a first messaging protocol to exchange messages between two or more users;

responsive to determining that the first data channel is available, transmit the message data to the group messaging engine using the first data channel and first messaging protocol;

responsive to determining that the first data channel is not available, determine whether a predetermined user setting indicates a pre-selection by a user of a second data channel for sending the message data to the group messaging engine when the first data channel is not available; and

responsive to determining that a predetermined user setting indicates a pre-selection by a user of a second data channel for sending the message to the group messaging engine when the first data channel is not available, transmit the message data to the group messaging engine using the pre-selected second data channel and a second messaging protocol.

6. The system of claim 5 , wherein determining whether the first data channel is available comprises determining, by the computing device, whether the computing device is coupled to a reliable network data channel.

7. The system of claim 5 , wherein the first messaging protocol corresponds to a messaging protocol native to the group messaging engine.

8. The system of claim 5 , wherein the second messaging protocol corresponds to an SMS, MMS, XMS, or email message protocol.

9. A non-transitory computer readable medium including a computer readable program that, when executed on a computer, causes the computer to:

receive message data identifying a message to be sent to a recipient;

determine whether a first data channel is available for sending the message data to the recipient via a group messaging engine, the group messaging engine using a first messaging protocol to exchange messages between two or more users;

responsive to determining that the first data channel is available, transmit the message data to the group messaging engine using the first data channel and first messaging protocol; and

responsive to determining that the first data channel is not available, determine whether a predetermined user setting indicates a pre-selection by a user of a second data channel for sending the message data to the recipient using a second messaging protocol when the first data channel is not available.

10. The computer readable medium of claim 9 , wherein the computer readable program, when executed on a computer, further causes the computer to:

responsive to determining that the first data channel is not available and a predetermined user setting does not indicate a pre-selection by a user of a second data channel, store, at the computing device, the message data for later retrieval.

11. The computer readable medium of claim 10 , wherein the computer readable program, when executed on a computer, further causes the computer to:

responsive to receiving a restore request for the stored message data, retrieve the stored message data to restore the message identified in the message data for exchange via the group messaging engine.

12. The computer readable medium of claim 9 , wherein determining whether the first data channel is available comprises determining, by the computing device, whether the computing device is coupled to a reliable network data channel.

13. The computer readable medium of claim 9 , wherein the first messaging protocol corresponds to a messaging protocol native to the group messaging engine.

14. The computer readable medium of claim 9 , wherein the second messaging protocol corresponds to an SMS, MMS, XMS, or email message protocol.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044566/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2014
From: CHAWLA, JAGJIT SINGH; EIDELSON, BENJAMIN DAVID; PRADO, JASON
To: GOOGLE INC.
Reel/Frame 033317/0834 →
Continuity (4)
Continuation 13778308 · Feb 27, 2013
Continuation 13368258 · Feb 7, 2012
Provisional Application 61591803 · Jan 27, 2012
Related Publication 20150019659A1 · Jan 15, 2015