Bi-directional data modification with synchronization
First Claim
Patent Images
1. A method, comprising:
- 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.
2 Assignments
0 Petitions
Accused Products
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.
22 Citations
16 Claims
-
1. A method, comprising:
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system comprising:
-
a first endpoint configured to store first domain data; a second endpoint configured to store second domain data, the second domain data being stored compatibly with constraints particular to the second endpoint; and a third endpoint configured to store third domain data; the first endpoint being further configured to; apply a first update to the first domain data, wherein the first update is at least partially incompatible with the constraints particular to the second endpoint; generate first synchronization data reflecting the first update to the first domain data; and send the first synchronization data to the second endpoint; the second endpoint being further configured to; identify a modification to the second domain data that implements the first update compatibly with the constraints particular to the second endpoint; apply the modification to the second domain data; apply a second update to the second domain data, the second update being compatible with the constraints particular to the second endpoint; generate second synchronization data reflecting the first update and the second update, but not the modification; and send the second synchronization data to the third endpoint; and the third endpoint being further configured to; receive the second synchronization data from the second endpoint; and based on the second synchronization data, apply the first update and the second update to the third domain data independently of the constraints particular to the second endpoint.
-
-
11. A method, comprising:
-
identifying a locally stored domain data item stored compatibly with a local constraint; determining whether the locally stored domain data item was previously modified to be compatible with the local constraint as part of realizing first synchronization data received from a first remote endpoint on to the locally stored domain data item; and when the locally stored domain data item was previously modified to be compatible with the local constraint; recording a description of how the locally stored domain data item was modified to be compatible with the local constraint; generating second synchronization data using the description of how the locally stored domain data item was modified, wherein the second synchronization data reflects the first synchronization data as received from the first remote endpoint, independently of how the locally stored domain data item was modified to be compatible with the local constraint; and sending the second synchronization data to a second remote endpoint. - View Dependent Claims (12, 13, 14, 15, 16)
-
Specification