Accounting for update notification in synchronizing data that may be represented by different data structures
First Claim
1. In an environment that includes a first device storing first message data and a second device storing second message data, a method for enabling synchronization of the second message data with sequential portions the first message data, while accounting for one or more update notifications that either may or may not have been received by the second device and while accounting for any differences in how the first device and second device store data, the method comprising:
- an act of detecting a change in the first message data, wherein the change is divided into a first portion and at least a second portion, such that the first portion and the at least second portion comprise different portions of the first message data and such that the first portion and the at least second portion are to be sent sequentially to the second device;
an act of sending a first notification to the second device over an reliable communication channel without requesting or receiving acknowledgement for the first notification in response to the detected change to synchronize the first message data between the first device and the second device, the first notification including both the first portion of the change and a first token identifying the first portion of the change;
an act of determining if the first token has been received from the second device based on the contents of any subsequent communication received from the second device;
an act of appropriately continuing to sequentially send data to the second device based on the determination, so as to synchronize the first data between the first device and the second device, including;
only upon receiving the first token in the contents of subsequent communication, sending a second notification to the second device, the second notification including both the at least second portion of the change and at least a second token identifying the at least second portion of the change; and
upon failing to receive the first token in the contents of subsequent communication, determining that the second device did not receive the first portion of the change associated with the first notification and resending the first notification to the second device.
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.
50 Citations
8 Claims
-
1. In an environment that includes a first device storing first message data and a second device storing second message data, a method for enabling synchronization of the second message data with sequential portions the first message data, while accounting for one or more update notifications that either may or may not have been received by the second device and while accounting for any differences in how the first device and second device store data, the method comprising:
-
an act of detecting a change in the first message data, wherein the change is divided into a first portion and at least a second portion, such that the first portion and the at least second portion comprise different portions of the first message data and such that the first portion and the at least second portion are to be sent sequentially to the second device; an act of sending a first notification to the second device over an reliable communication channel without requesting or receiving acknowledgement for the first notification in response to the detected change to synchronize the first message data between the first device and the second device, the first notification including both the first portion of the change and a first token identifying the first portion of the change; an act of determining if the first token has been received from the second device based on the contents of any subsequent communication received from the second device; an act of appropriately continuing to sequentially send data to the second device based on the determination, so as to synchronize the first data between the first device and the second device, including; only upon receiving the first token in the contents of subsequent communication, sending a second notification to the second device, the second notification including both the at least second portion of the change and at least a second token identifying the at least second portion of the change; and upon failing to receive the first token in the contents of subsequent communication, determining that the second device did not receive the first portion of the change associated with the first notification and resending the first notification to the second device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
Specification