DISTRIBUTED SYNCHRONIZATION DATA IN A MESSAGE MANAGEMENT SERVICE
First Claim
1. A computer-implemented method comprising:
- sending to a client device, by a server of a message management service, a set of messages and a synchronization data bundle corresponding to each message in the set of messages, the set of messages including at least a first message;
storing, by the server, a server message window that includes the set of messages;
performing, by the server, an update to the server message window during a time when the client device is offline, wherein performing the update comprises removing the first message from the server message window;
receiving, by the server, a request from the client device to perform an action on the first message, the request comprising the synchronization data bundle for the first message.
3 Assignments
0 Petitions
Accused Products
Abstract
A message management service that acts as intermediary between a messaging service and a client device can generate a synchronization data bundle for a message that includes an external message identifier usable to retrieve the message from the messaging service. The message management service can send the synchronization data bundle to the client along with the message, and the client can store the synchronization data bundle for each message in its local data store. The client can later return the synchronization data bundle to the message management service, which can use information contained therein to facilitate synchronization and related operations.
16 Citations
21 Claims
-
1. A computer-implemented method comprising:
-
sending to a client device, by a server of a message management service, a set of messages and a synchronization data bundle corresponding to each message in the set of messages, the set of messages including at least a first message; storing, by the server, a server message window that includes the set of messages; performing, by the server, an update to the server message window during a time when the client device is offline, wherein performing the update comprises removing the first message from the server message window; receiving, by the server, a request from the client device to perform an action on the first message, the request comprising the synchronization data bundle for the first message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer system comprising:
-
a client interface configured to communicate with a plurality of client devices including a first client device; a messaging service interface configured to communicate with a messaging service; a message store configured to store a window of messages for the first client device; and a message management module coupled to the client interface, the messaging service interface, and the message store, the message management module being configured to; receive a message for the first client device from the messaging service interface; add the message to the window of messages stored for the first client device in the message store; send to the first client device, via the client interface, the message and a synchronization data bundle corresponding to the message, the synchronization data bundle including an external message identifier assigned to the message by the messaging service; receive a request from the first client device to perform an action on the message, the request including the synchronization data bundle for the message; in the event that the message is present in the window of messages stored for the client device in the message store, use information stored in the window of messages to perform the requested action on the message; and in the event that the message is absent from the window of messages stored for the client device in the message store, use information from the synchronization data bundle to perform the requested action on the message. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A computer-readable storage medium having stored thereon program code instructions that, when executed by a server computer system, cause the server computer system to perform a method comprising:
-
obtaining, from a client device, a set of synchronization data bundles, each synchronization data bundle in the set of synchronization data bundles corresponding to a different one of a plurality of messages stored by the client device; determining, based at least in part on the synchronization data bundles, whether one or more of the plurality of messages stored by the client device is absent from a server message window of the server computer system; and for each one of the plurality of messages stored by the client device that is absent from the server message window; extracting, from the synchronization data bundle corresponding to the message that is absent from the server message window, an external message identifier assigned to the message by a messaging service; using the external message identifier to retrieve the message from the messaging service; and adding the retrieved message to the server message window of the server computer system. - View Dependent Claims (17, 18, 19, 20, 21)
-
Specification