Synchronization adapter for synchronizing data to applications that do not directly support synchronization
First Claim
1. A computer-implemented synchronization system for synchronizing application data from a first application among a plurality of applications, the synchronization being performed according to a synchronization protocol that uses a data format and algorithm unsupported by the first application, the computer-implemented synchronization system comprising:
- a synchronization adapter, external to the first application, receiving an identification of items in the application data of the first application to be synchronized among the plurality of applications and generating synchronization metadata for each instance of the items identified in the application data of the first application and associating the generated synchronization metadata with corresponding items to generate a synchronization feed according to the synchronization protocol that uses a web feed format, comprising the identified items and corresponding synchronization metadata;
a data store storing the synchronization metadata associated with the corresponding items, the synchronization adapter intermittently synchronizing the items in the data store with items in at least one other synchronization endpoint, comprising one of the plurality of applications, using the synchronization feed according to the data format and algorithm; and
a computer processor that is a functional component of a computer and that is activated by the synchronization adapter, the computer processor facilitating generating synchronization metadata and associating the generated synchronization metadata with corresponding items, the computer processor determining whether a deletion, an addition, or a modification has occurred relative to one of the items in the data store, the computer processor deleting the one of the items and the corresponding synchronization metadata upon a determination that the deletion has occurred, the computer processor generating new synchronization metadata and binding the new synchronization metadata to the one of the items upon a determination that the addition has occurred, and the computer processor deconstructing the one of the items into metadata and actual data upon a determination that the modification has occurred.
2 Assignments
0 Petitions
Accused Products
Abstract
A synchronization adapter is coupled to the application that does not support synchronization and generates the necessary synchronization metadata for all data in the application that is to be synchronized. The synchronization adapter then combines the metadata to the actual data to be synchronized to form a synchronization feed. The synchronization feed is stored in an internal cache (or data store) which is internal to the application, or an external cache (or data store), which is external to the application, or it can be stored in both caches. The synchronization adapter also intermittently determines whether the application data has changed, thus warranting a change in its metadata, or whether a synchronization operation is warranted to synchronization operation is warranted to synchronize the data with data in another application. In either case, the synchronization adapter makes the changes to the data, or performs a synchronization operation.
-
Citations
18 Claims
-
1. A computer-implemented synchronization system for synchronizing application data from a first application among a plurality of applications, the synchronization being performed according to a synchronization protocol that uses a data format and algorithm unsupported by the first application, the computer-implemented synchronization system comprising:
-
a synchronization adapter, external to the first application, receiving an identification of items in the application data of the first application to be synchronized among the plurality of applications and generating synchronization metadata for each instance of the items identified in the application data of the first application and associating the generated synchronization metadata with corresponding items to generate a synchronization feed according to the synchronization protocol that uses a web feed format, comprising the identified items and corresponding synchronization metadata; a data store storing the synchronization metadata associated with the corresponding items, the synchronization adapter intermittently synchronizing the items in the data store with items in at least one other synchronization endpoint, comprising one of the plurality of applications, using the synchronization feed according to the data format and algorithm; and a computer processor that is a functional component of a computer and that is activated by the synchronization adapter, the computer processor facilitating generating synchronization metadata and associating the generated synchronization metadata with corresponding items, the computer processor determining whether a deletion, an addition, or a modification has occurred relative to one of the items in the data store, the computer processor deleting the one of the items and the corresponding synchronization metadata upon a determination that the deletion has occurred, the computer processor generating new synchronization metadata and binding the new synchronization metadata to the one of the items upon a determination that the addition has occurred, and the computer processor deconstructing the one of the items into metadata and actual data upon a determination that the modification has occurred. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of synchronizing data, using a synchronization protocol that uses a web-feed format, between a first application without native support of a synchronization mechanism that synchronizes according to the synchronization protocol that uses the web feed format, and a synchronization endpoint, comprising:
-
generating, with a synchronization adapter external to the first application, synchronization metadata for each of a plurality of data items in the first application to be synchronized with the synchronization endpoint, the synchronization metadata including identifiers that identify which of the data items in the first application that the metadata is associated with, the synchronization metadata also including histories that identify when each of the items in the first application were created, last modified, and stored, and the synchronization metadata further including attributes that identify a range of data contained in a collection, the collection including a plurality of the items in the first application that are to be synchronized when any item in the plurality has been modified; binding the synchronization metadata to corresponding data items to form a plurality of synchronization feeds; receiving at the synchronization adapter, an indication that a data item in the first application has changed since a last synchronization operation; modifying, at the synchronization adapter, the synchronization feed for the data item that has changed by; deconstructing the synchronization feed into the data item and the corresponding synchronization metadata; modifying the data item based on the change in the data item; generating any modified synchronization metadata based on the change in the data item; and binding the modified data item to the modified synchronization metadata to obtain a modified synchronization feed; and publishing the modified synchronization feed, using the synchronization mechanism and according to the synchronization protocol that uses the web feed format, to the synchronization endpoint. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A computer storage medium storing computer executable instructions which, when executed by a computer, cause the computer to perform steps of:
-
identifying instances of items in a first application that are to be synchronized with items in a second application according to a synchronization mechanism that is not supported by the first application; generating, at an adapter external to the first application, synchronization metadata for each of the identified instances; binding, with the adapter, the metadata to the identified instances of the items to form a plurality of synchronization feeds; storing the plurality of synchronization feeds in an internal data store, internal to the first application; associating a value with each of the items in the first and the second applications; incrementing each of the values upon the associated item being changed; and intermittently performing synchronization operations to synchronize the items according to the synchronization mechanism using the synchronization feeds and the incremented values.
-
Specification