Accounting for update notifications in synchronizing data that may be represented by different data structures
First Claim
1. A computer program product for use, in an electronic messaging environment that includes a message server and one or more message clients, the computer program product for implementing a method for enabling synchronization of data stored at the one or more message clients with data stored at the message server, while accounting for one or more update notifications sent from the message server to the one or more message clients and while accounting for any differences in how the message server and the one or more message clients store data, the computer-program product comprising one or more physical storage media having stored thereon computer-executable instructions that, when executed by a processor, cause the message server to perform the method, including the following:
- a step for providing, over an unreliable communication channel, a plurality of notifications to the one or more message clients without requesting or receiving acknowledgement of receipt of the notifications by the one or more message clients, the plurality of notifications including (i) a plurality of changes to the data stored at the message server, and (ii) a plurality of tokens identifying each of the plurality of changes;
a step for determining whether or not the one or more message clients are missing any of the plurality of notifications based on whether or not the one or more message clients provide back each of the plurality of tokens identifying each of the plurality of changes;
an act of sending a list identifying missing notifications to the one or more corresponding message clients;
an act of receiving a request from the one or more message clients to resend the one or more missing notifications; and
an act of resending the one or more missing notifications to the one or more requesting message clients.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems, and computer program products for synchronizing data stored at one or more message clients with data stored at a message server where the message clients may receive update notifications and may represent the data using different data structures than the message server uses to represent the same data. A token is associated with each data change that occurs at the message server. The message server sends each change and associated token to the message clients. When the message clients request a synchronization, the tokens they received are returned to the message server for comparison with the tokens the message server sent to the message clients. If the message clients do not return a particular token, the message server determines that the clients did not receive the corresponding change and resends the change to the message clients. Tokens may also be used to divide a change into one or more portions, with only one portion being provided initially. Then, in response to receiving the token associated with the portion, the message server may provide the remaining portion of the message to the message clients.
5 Citations
14 Claims
-
1. A computer program product for use, in an electronic messaging environment that includes a message server and one or more message clients, the computer program product for implementing a method for enabling synchronization of data stored at the one or more message clients with data stored at the message server, while accounting for one or more update notifications sent from the message server to the one or more message clients and while accounting for any differences in how the message server and the one or more message clients store data, the computer-program product comprising one or more physical storage media having stored thereon computer-executable instructions that, when executed by a processor, cause the message server to perform the method, including the following:
-
a step for providing, over an unreliable communication channel, a plurality of notifications to the one or more message clients without requesting or receiving acknowledgement of receipt of the notifications by the one or more message clients, the plurality of notifications including (i) a plurality of changes to the data stored at the message server, and (ii) a plurality of tokens identifying each of the plurality of changes; a step for determining whether or not the one or more message clients are missing any of the plurality of notifications based on whether or not the one or more message clients provide back each of the plurality of tokens identifying each of the plurality of changes; an act of sending a list identifying missing notifications to the one or more corresponding message clients; an act of receiving a request from the one or more message clients to resend the one or more missing notifications; and an act of resending the one or more missing notifications to the one or more requesting message clients. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. In an electronic messaging environment, a system for enabling synchronization of data, while accounting for one or more update notifications sent from a message server to one or more message clients and while accounting for any differences in how the message server and the one or more message clients store data, the system comprising:
-
a message server storing data; one or more message clients storing data; an unreliable communication channel at least intermittently connecting the message server and the one or more message clients; and processor means at the message server for performing the following; a step for providing, over the unreliable communication channel, a plurality of notifications to the one or more message clients without requesting or receiving acknowledgement of receipt of the notifications by the one or more message clients, the plurality of notifications including (i) a plurality of changes to the data stored at the message server, and (ii) a plurality of tokens identifying each of the plurality of changes; a step for determining whether or not the one or more message clients are missing any of the plurality of notifications based on whether or not the one or more message clients provide back each of the plurality of tokens identifying each of the plurality of changes; an act of sending a list identifying missing notifications to the one or more corresponding message clients; an act of receiving a request from the one or more message clients to resend the one or more missing notifications; and an act of resending the one or more missing notifications to the one or more requesting message clients. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification