Apparatus and methods for providing data synchronization by facilitating data synchronization system design
First Claim
1. A method for facilitating data synchronization, comprising the steps of:
- (a) checking object store replica information corresponding to a remote object store;
(b) extracting a first set of objects to be synchronized with said remote object store;
(c) packing said first set of objects, their associated identifiers and synchronization versions into a request synchronization message;
(d) sending said request synchronization message to said remote object store;
(e) receiving a response synchronization message from said remote object store, said response synchronization message indicating a number of updated objects at the remote object store;
(f) resetting a corresponding set of synchronization versions to said updated objects; and
(g) purging off said updated objects.
6 Assignments
0 Petitions
Accused Products
Abstract
Object stores are used as building blocks to construct a system with variable complexity on a network. Typically, an object store comprises information (e.g., data) stored in object format, or objects. The objects and object stores are managed by an object version management mechanism that adapts to different object store types and optimizes resource consumption by each object store. Various data fields are used to indicate an object'"'"'s version within an object store. Version information is used to compare the states among matching object replicas in matching object stores. Utilizing both the object store based system and the object version management mechanism, a data synchronization protocol is developed. The data synchronization protocol is capable of adapting to different types of object stores and the characteristics of network connection media to optimize data synchronization.
-
Citations
24 Claims
-
1. A method for facilitating data synchronization, comprising the steps of:
-
(a) checking object store replica information corresponding to a remote object store;
(b) extracting a first set of objects to be synchronized with said remote object store;
(c) packing said first set of objects, their associated identifiers and synchronization versions into a request synchronization message;
(d) sending said request synchronization message to said remote object store;
(e) receiving a response synchronization message from said remote object store, said response synchronization message indicating a number of updated objects at the remote object store;
(f) resetting a corresponding set of synchronization versions to said updated objects; and
(g) purging off said updated objects. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for facilitating data synchronization, comprising the steps of:
-
designing an application system comprising a network of devices;
functionally dividing said application system into a set of primitive systems;
determining at least one appropriate basic object store for each of said set of primitive systems; and
replacing basic object stores that belong to multiple primitive systems by appropriate joint object stores. - View Dependent Claims (7, 8)
-
-
9. A method for facilitating data synchronization, comprising the steps of:
-
exchanging update types and definitions among a set of object stores to commence a synchronization process;
negotiating a data compression method among said set of object stores;
comparing synchronization versions of said set of object stores;
selecting a set of objects based on said comparing;
transmitting said set of objects between said set of object stores; and
transmitting meta objects associated with said set of objects between said set of object stores, said meta objects including a synchronization version and an identifier for each of said set of objects. - View Dependent Claims (10)
-
-
11. A method for facilitating data synchronization, comprising the steps of:
-
recording information relating to a set of network links in a local database;
determining an estimated average data transfer speed, round-trip transfer time, and packet size based on said information in said local database;
selecting a flow protocol mode based on said determining;
calculating a new packet size based on said determining; and
dynamically adjusting said new packet size during a synchronization process. - View Dependent Claims (12)
-
-
13. A computer program product for facilitating data synchronization, comprising:
-
(a) logic code for checking object store replica information corresponding to a remote object store;
(b) logic code for extracting a first set of objects to be synchronized with said remote object store;
(c) logic code for packing said first set of objects, their associated identifiers and synchronization versions into a request synchronization message;
(d) logic code for sending said request synchronization message to said remote object store;
(e) logic code for receiving a response synchronization message from said remote object store, said response synchronization message indicating a number of updated objects at the remote object store;
(f) logic code for resetting a corresponding set of synchronization versions to said updated objects; and
(g) logic code for purging off said updated objects. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A computer program product for facilitating data synchronization, comprising:
-
logic code for designing an application system comprising a network of devices;
logic code for functionally dividing said application system into a set of primitive systems;
logic code for determining at least one appropriate basic object store for each of said set of primitive systems; and
logic code for replacing basic object stores that belong to multiple primitive systems by appropriate joint object stores. - View Dependent Claims (19, 20)
-
-
21. A computer program product for facilitating data synchronization, comprising:
-
logic code for exchanging update types and definitions among a set of object stores to commence a synchronization process;
logic code for negotiating a data compression method among said set of object stores;
logic code for comparing synchronization versions of said set of object stores;
logic code for selecting a set of objects based on said comparing;
logic code for transmitting said set of objects between said set of object stores; and
logic code for transmitting meta objects associated with said set of objects between said set of object stores, said meta objects including a synchronization version and an identifier for each of said set of objects. - View Dependent Claims (22)
-
-
23. A computer program product for facilitating data synchronization, comprising:
-
logic code for recording information relating to a set of network links in a local database;
logic code for determining an estimated average data transfer speed, round-trip transfer time, and packet size based on said information in said local database;
logic code for selecting a flow protocol mode based on said determining;
logic code for calculating a new packet size based on said determining; and
logic code for dynamically adjusting said new packet size during a synchronization process. - View Dependent Claims (24)
-
Specification