Accounting for update notifications in synchronizing data that may be represented by different data structures
First Claim
1. A computer program product comprising one or more computer-readable media having computer-executable instructions for implementing a method, in an electronic messaging environment that includes a message server and one or more message clients, 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 that either may or may not have been received by 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 method comprising:
- 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 can 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;
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.
219 Citations
7 Claims
-
1. A computer program product comprising one or more computer-readable media having computer-executable instructions for implementing a method, in an electronic messaging environment that includes a message server and one or more message clients, 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 that either may or may not have been received by 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 method comprising:
-
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 can 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;
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)
-
Specification