System and method for dynamic content dependent conflict resolution
First Claim
1. System for synchronization of data between different clients (1, 2) by using a central sync server (10) having a connection to said clients, wherein said clients having a program for creation of data to be synchronized and a program for establishing communication with the central sync engine of said central synchronization server, wherein said system is characterized by the further components:
- data stores (20) providing configuration and run time data;
sync modules(70) providing different conflict detection and resolution strategies; and
dynamic selection engine (50) being functionally separated from said central sync engine(7) of said central sync server for automatically invoking a suitable sync module (70) based on said data from said data stores (20, 60).
1 Assignment
0 Petitions
Accused Products
Abstract
System and method for dynamic content dependent conflict resolution The present invention discloses a synchronization frame work which is functionally separated from the synchronization engine (sync engine) and which provides a common interface to an extendible set of synchronization modules (sync modules) providing different conflict detection and resolution strategies as well as different content adaptations. The dynamic selection engine being part of the synchronization framework is automatically selecting the appropriate strategies based on information from the different data stores which may be accessed locally or remotely. The selection of the sync module is based on the content (semantic) of the data being synchronized, as well as on the preferences of the user, global system settings, the capabilities of the utilized device, and the constrains of the used communication (configuration and run time data).
163 Citations
16 Claims
-
1. System for synchronization of data between different clients (1, 2) by using a central sync server (10) having a connection to said clients, wherein said clients having a program for creation of data to be synchronized and a program for establishing communication with the central sync engine of said central synchronization server, wherein said system is characterized by the further components:
-
data stores (20) providing configuration and run time data;
sync modules(70) providing different conflict detection and resolution strategies; and
dynamic selection engine (50) being functionally separated from said central sync engine(7) of said central sync server for automatically invoking a suitable sync module (70) based on said data from said data stores (20, 60). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. Method for synchronization of data between clients, comprising the steps of:
-
establishing a communication session between client and central sync server;
receiving data to be synchronized from said client containing a LUID, the data type of the data to be synchronized, and data to be synchronized;
mapping LUID of said data to be synchronized to an assigned server ID;
buffering said data to be synchronized in a volatile memory of said central sync server;
retrieving previously synchronized data from said data store;
establishing a communication session with said dynamic selection engine;
providing access to the buffered data for the dynamic selection engine;
retrieving configuration and run time data from said data store based on data derived during session initialization between sync engine and dynamic selection engine;
providing a list of accessible sync modules;
selecting the most suitable sync module based on the capabilities of each sync module and a given priority list;
invoking the sync module being selected and giving access to the data to be synchronized;
detecting and resolving conflicts between data to be synchronized;
returning the synchronized data to the central sync engine; and
distributing said synchronized data to the synchronizing client and said data store. - View Dependent Claims (12, 13, 14, 15)
-
-
16. Computer program product stored in the internal memory of a digital computer, containing parts of software code to execute the method of:
-
establishing a communication session between client and central sync server;
receiving data to be synchronized from said client containing a LUID, the data type of the data to be synchronized, and data to be synchronized;
mapping LUID of said data to be synchronized to an assigned server ID;
buffering said data to be synchronized in a volatile memory of said central sync server;
retrieving previously synchronized data from said data store;
establishing a communication session with said dynamic selection engine;
providing access to the buffered data for the dynamic selection engine;
retrieving configuration and run time data from said data store based on data derived during session initialization between sync engine and dynamic selection engine;
providing a list of accessible sync modules;
selecting the most suitable sync module based on the capabilities of each sync module and a given priority list;
invoking the sync module being selected and giving access to the data to be synchronized;
detecting and resolving conflicts between data to be synchronized;
returning the synchronized data to the central sync engine; and
distributing said synchronized data to the synchronizing client and said data store.
-
Specification