Synchronization process negotiation for computing devices
First Claim
1. In a data processing environment, a method for synchronizing a first data set residing on a first device with a second data set residing on a second device, the method comprising:
- establishing a communication link between said first and second devices;
transmitting from the second device to the first device a request for synchronization capabilities of the first device;
in response to said request, transmitting from the first device to the second device information indicating said synchronization capabilities of the first device;
based on said synchronization capabilities of the first device, selecting a synchronization protocol for synchronizing said first and second data sets; and
performing synchronization of said first and second data sets using said selected synchronization protocol, wherein said synchronization is performed in a manner optimized for the synchronization capabilities of the first device.
2 Assignments
0 Petitions
Accused Products
Abstract
A methodology providing “synchronization process negotiation” is described. Synchronization process negotiation is the methodology of negotiating between two or more devices exactly what synchronization process (protocol) is to be employed to effect synchronization of the devices. The methodology, which is adaptable to existing synchronization protocols, takes into account the actual synchronization capabilities or built-in support (if any) of each device whose data is to be synchronized (e.g., by a synchronization engine). The methodology may be implemented by adapting a given synchronization protocol (which itself may be one of a variety of types) to include a “negotiation phase” at the beginning of the synchronization, during which the devices involved will exchange information about the capabilities of one or more devices. The individual attributes for a client are communicated as synchronization parameters in attribute/value pair form. Once this negotiation phase has been completed, the synchronization can then proceed in a manner that is most efficient for the features available.
-
Citations
42 Claims
-
1. In a data processing environment, a method for synchronizing a first data set residing on a first device with a second data set residing on a second device, the method comprising:
-
establishing a communication link between said first and second devices;
transmitting from the second device to the first device a request for synchronization capabilities of the first device;
in response to said request, transmitting from the first device to the second device information indicating said synchronization capabilities of the first device;
based on said synchronization capabilities of the first device, selecting a synchronization protocol for synchronizing said first and second data sets; and
performing synchronization of said first and second data sets using said selected synchronization protocol, wherein said synchronization is performed in a manner optimized for the synchronization capabilities of the first device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A method for synchronizing a first device having a first data set with a second device having a second data set, the method comprising:
-
selectively connecting the first device to a second device, for establishing communication between the two devices;
negotiating a synchronization process for synchronizing said first and second data sets by performing substeps of;
sending a request from the second device to the first device for synchronization capabilities of the first device;
in response to said request, transmitting from the first device to the second device synchronization parameters conveying the synchronization capabilities of the first device; and
based on said synchronization parameters received from the first device, selecting a synchronization process for synchronizing said first and second data sets; and
performing synchronization of said first and second data sets using said selected synchronization process. - View Dependent Claims (28, 29, 30)
(a) transmitting from the first device to the second device an entire copy of the first data set;
(b) performing synchronization locally at the second device, using said copy of the first data set; and
(c) once said copy of the first data set has been synchronized, replacing the first data set of the first device with the copy of the first data set which has been synchronized at the second device.
-
-
29. The method of claim 27, wherein synchronization parameters indicate that the first device provides no record filtering, provides no change tracking, and provides record access using either a static index or a unique record identifier, and wherein said synchronization step is performed by:
-
(a) transmitting from the first device to the second device an entire copy of the first data set;
(b) performing synchronization locally at the second device, using said copy of the first data set; and
(c) once said copy of the first data set has been synchronized, replacing only those records of the first data set of the first device that are affected by the synchronization.
-
-
30. The method of claim 27, wherein said synchronization parameters indicate that the first device provides record filtering using record headers, provides change tracking, and provides record access using a unique record identifier, and wherein said synchronization step is performed by:
-
(a) transmitting from the first device to the second device a summary of the first data set, which includes per record change-tracking information;
(b) based on said change-tracking information, transmitting from the first device to the second device a copy of only those records of the first data set which have changed;
(c) performing synchronization locally at the second device, using said copy of only those records of the first data set which have changed; and
(d) once said copy of the first data set has been synchronized, replacing each record of the first data set of the first device that is affected by the synchronization, using the unique record identifier for each record.
-
-
31. A synchronization system comprising:
-
a communication link between a first data set from a first device with a second data set from a second device;
a synchronization engine for enumerating particular synchronization capabilities of devices and for performing synchronization between data sets;
a synchronization interface capable of responding to said synchronization engine, for transmitting from the first device information indicating the particular synchronization capabilities of the first device; and
whereupon said synchronization engine selects a particular synchronization process for synchronizing said first and second data sets, based on the particular synchronization capabilities of the first device, and thereafter performs synchronization of said first and second data sets using said selected synchronization process. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
Specification