Declarative synchronization of shared data
First Claim
1. A machine-readable device, tangibly embodying a computer program product configured to cause data processing apparatus to perform operations comprising:
- receiving one or more changes to a copy of data maintained by a computer program being one of a plurality of computer programs having respective local copies of the data;
identifying an event characterizing synchronization of the copy maintained by the computer program with one or more of the plurality of computer programs, the event characterized by an annotation associated with the data; and
initiating synchronization of the changes with one or more of the plurality of computer programs having the respective local copies in response to the event occurring.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus, including computer systems and program products, related to declarative synchronization of shared data. One method includes receiving one or more changes to data maintained by one of multiple computer programs having respective local copies of the data, identifying an event characterizing synchronization of the data maintained by the computer program with the other computer programs (e.g., with a local copy managed by the other computer program), and initiating synchronization of the changes with one of the other programs having respective local copies (e.g., with the local copy managed by the other program) in response to the event occurring. The event can be characterized by an annotation. Identifying an event can include reading a property of a data object (e.g., in a data object graph of shared data).
-
Citations
50 Claims
-
1. A machine-readable device, tangibly embodying a computer program product configured to cause data processing apparatus to perform operations comprising:
-
receiving one or more changes to a copy of data maintained by a computer program being one of a plurality of computer programs having respective local copies of the data; identifying an event characterizing synchronization of the copy maintained by the computer program with one or more of the plurality of computer programs, the event characterized by an annotation associated with the data; and initiating synchronization of the changes with one or more of the plurality of computer programs having the respective local copies in response to the event occurring. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer-implemented method comprising:
-
receiving one or more changes to a copy of data maintained by a computer program being one of a plurality of computer programs having respective local copies of the data; identifying an event characterizing synchronization of the copy maintained by the computer program with one or more of the plurality of computer programs, the event characterized by an annotation associated with the data; and initiating synchronization of the changes with one or more of the plurality of computer programs having the respective local copies in response to the event occurring. - View Dependent Claims (19, 20, 21, 22, 23, 32, 33, 34, 35, 36, 37)
-
-
24-31. -31. (canceled)
-
38. A system comprising:
-
a storage component storing a copy of data; and a computing device hosting a computer program that maintains the copy of data, the computing device including one or more processors configured to perform operations comprising; receiving one or more changes to the copy of data, the computer program being one of a plurality of computer programs having respective local copies of the data; identifying an event characterizing synchronization of the copy of data maintained by the computer program with one or more of the plurality of computer programs, the event characterized by an annotation associated with the copy of data; and initiating synchronization of the changes with one or more of the plurality of computer programs having the respective local copies in response to the event occurring. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49)
-
-
50. A machine-readable device, tangibly embodying a computer program product configured to cause data processing apparatus to perform operations comprising:
-
receiving one or more changes to a copy of data maintained by a computer program being one of a plurality of computer programs having respective local copies of the data; identifying an event characterizing synchronization of the copy maintained by the computer program with one or more of the plurality of computer programs, the event characterized by an annotation associated with the data; buffering the one or more changes at the computer program, including marking an object graph to indicate which of one or more data objects correspond to the one or more changes; and initiating synchronization of the buffered one or more changes with one or more of the plurality of computer programs having the respective local copies in response to the event occurring.
-
Specification