Bi-Directional Data Modification With Synchronization
AssigneeMicrosoft Corporation
InventorsAkash J. Sagar, George P. Moromisato, Richard Yiu-Sai Chung, Paresh S. Suthar, Raymond E. Ozzie, Jack E. Ozzie, Matthew S. Augustine
Life of this patent
Estimating the term…
Abstract
Systems and methods for synchronizing data between endpoints, including the modification of data on an endpoint without necessarily modifying data that is communicated between endpoints are disclosed. In such systems and methods the representation of data on an endpoint may be modified so that constraints on that particular endpoint are enforced, without requiring a similar or the same modification to the data when it is synchronized to other endpoints.
Claims21
1-20. (canceled)
One or more computer-readable storage media comprising instructions which, when executed by one or more processing devices, perform:
- storing a local domain data item, the local domain data item being stored compatibly with local constraints for representing the local domain data item;
- receiving, from a first remote endpoint, first synchronization data reflecting a first update to a remote domain data item that is stored at the first remote endpoint;
- determining whether applying the first update to the local domain data item is incompatible with the local constraints;
- and
- when applying the first update is incompatible with the local constraints:
- identifying a modification to the local domain data item that implements the first update compatibly with the local constraints;
- realizing the first synchronization data on the local domain data item by applying the modification to the local domain data item;
- after the realizing, applying a locally generated second update to the local domain data;
- generating second synchronization data reflecting the first update and the second update, but not the modification;
- and
- sending the second synchronization data to a second remote endpoint.
A system comprising:
- a device configured to:
- store a local domain data item, the local domain data item being stored compatibly with local constraints for representing the local domain data item;
- receive, from a first remote endpoint, first synchronization data reflecting a first update to a remote domain data item that is stored at the first remote endpoint;
- determine whether applying the first update to the local domain data item is incompatible with the local constraints;
- and
- when applying the first update is incompatible with the local constraints:
- identify a modification to the local domain data item that implements the first update compatibly with the local constraints;
- realize the first synchronization data on the local domain data item by applying the modification to the local domain data item;
- after the first synchronization data is realized, apply a locally generated second update to the local domain data;
- generate second synchronization data reflecting the first update and the second update, but not the modification;
- and
- send the second synchronization data to a second remote endpoint.
A method comprising:
- storing local domain data, the local domain data being stored based on local system constraints;
- obtaining synchronization data corresponding to the local domain data, the synchronization data reflecting an update that is invalid according to the local system constraints;
- realizing the synchronization data onto the local domain data, the realizing including modifying the update to be valid according to the local system constraints;
- and
- generating updated synchronization data that includes the update that is invalid according to the local system constraints.
Dependencies are inferred from the claim text.