Playback graph for data synchronization
First Claim
Patent Images
1. A method of synchronizing data shared between multiple applications, the method comprising:
- processing a plurality of data modification operations associated with a first application;
constructing a playback graph that includes a record of at least some of the plurality of data modification operations, wherein the record identifies at least one modification transaction with an indication of modification type, and wherein constructing the playback graph comprises constructing an object update graph that tracks a sequence of operations that occur on an object-by-object basis and that tracks an object delete operation associated with a related object;
deleting at least one data modification operation linked to the related object;
encountering an associated object while deleting said at least one data modification operation linked to the related object;
determining whether the associated object is a freestanding associated object or a dependent associated object; and
playing back to a second application a set of data modification operations identified in the playback graph.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention pertain to a data structure designed to manage object relationships to actual transactions. The data structure is at least an efficient substitute for a simple ordered transaction log. The data structure allows for pre-playback graph pruning that reduces the overall time required to complete a playback operation. It also allows for more robust error handling when a given transaction fails for non-transport related errors (i.e., the business rules or security rights have changed) by keeping the graph updated on a per-object basis.
11 Citations
34 Claims
-
1. A method of synchronizing data shared between multiple applications, the method comprising:
-
processing a plurality of data modification operations associated with a first application; constructing a playback graph that includes a record of at least some of the plurality of data modification operations, wherein the record identifies at least one modification transaction with an indication of modification type, and wherein constructing the playback graph comprises constructing an object update graph that tracks a sequence of operations that occur on an object-by-object basis and that tracks an object delete operation associated with a related object; deleting at least one data modification operation linked to the related object; encountering an associated object while deleting said at least one data modification operation linked to the related object; determining whether the associated object is a freestanding associated object or a dependent associated object; and playing back to a second application a set of data modification operations identified in the playback graph. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method of synchronizing data shared between multiple applications, the method comprising:
-
performing a plurality of data modification operations in association with a first application; maintaining a transaction log that reflects the plurality of data modification operations including some data modifications listed in sequence on an object-by-object basis, wherein the transaction log tracks an object delete operation associated with a related object; modifying the transaction log so as to create a processed transaction log, wherein modifying the transaction log comprises deleting at least one data modification operation linked to the related object; encountering an associated object while deleting said at least one data modification operation linked to the related object; determining whether the associated object is a freestanding associated object or a dependent associated object; and playing back to a second application a plurality of data modification operations associated with the processed transaction log. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
-
28. A method of synchronizing data shared between multiple applications, the method comprising:
-
performing a plurality of data modification operations in association with a first application; maintaining a transaction log that identifies at least some of the plurality of data modification operations with an indication of modification type, wherein the transaction log tracks a sequence of operations that occur on an object-by-object basis and includes an object delete operation associated with a related object; deleting at least one data modification operation linked to the related object; encountering an associated object while deleting said at least one data modification operation linked to the related object; determining whether the associated object is a freestanding associated object or a dependent associated object; creating an object information layer that is independent of the transaction log and records information from the transaction log on an object level; and playing back to a second application a plurality of data modification operations associated with the object information layer. - View Dependent Claims (29, 30, 31, 32, 33, 34)
-
Specification