US2009083441A1PendingUtilityA1

Synchronization of web service endpoints in a multi-master synchronization environment

Assignee: MICROSOFT CORPPriority: Sep 24, 2007Filed: Sep 24, 2007Published: Mar 26, 2009
Est. expirySep 24, 2027(~1.2 yrs left)· nominal 20-yr term from priority
H04L 67/02H04L 67/1095G06N 5/02G06F 16/27
52
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A Web service synchronization protocol is provided that sets forth the metadata and messaging by which endpoints roam, share and synchronize common information with one another in a multi-master networked computing ecosystem. A general SOAP-based protocol is defined for synchronizing data between two endpoints where one or more of the endpoints supports a Web service. Defining messaging for knowledge-based transfers using XML Web services, the protocol allows devices, services and applications to synchronize through firewalls, allows for flexibility by allowing any common set or subset of information across endpoints and allows for extensibility by not prescribing the schema of the actual data being synchronized at the endpoints.

Claims

exact text as granted — not AI-modified
1 . A method for synchronizing a set of objects between a node of a plurality of nodes and a Web service endpoint communicatively coupled via one or more networks, comprising:
 evolving by the node at least one version of an object of the set of objects being synchronized with a corresponding set of objects maintained by the Web service endpoint; and   transmitting, by the node to the Web service endpoint, knowledge of the node concerning the set of objects and corresponding versions for the objects of the set of objects represented on the node for purposes of synchronization by the Web service endpoint with respect to the set of objects, wherein representation of the knowledge is independent of data type.   
   
   
       2 . The method of  claim 1 , wherein the transmitting includes initiating a Web services request including at least one extensible markup language (XML) message conforming to simple object access protocol (SOAP) standards. 
   
   
       3 . The method of  claim 1 , further comprising:
 receiving by the node first changes to the set of objects from the Web service endpoint of which the node is not aware based on a comparison of knowledge of the Web service endpoint and the knowledge of the node.   
   
   
       4 . The method of  claim 3 , further comprising:
 applying said first changes to the set of objects represented on the node to bring the set of objects up to date as of collective knowledge of the node and Web service endpoint.   
   
   
       5 . The method of  claim 3 , further comprising updating the knowledge of the node and corresponding versions represented on the node based on the first changes. 
   
   
       6 . The method of  claim 3 , wherein said receiving by the node of first changes to the set of objects from the Web service endpoint includes receiving by the node first changes representing knowledge of the latest versions of the set of objects from the Web service endpoint of which the node is not aware. 
   
   
       7 . The method of  claim 1 , further comprising:
 receiving by the node from the Web service endpoint knowledge of the Web service endpoint concerning the set of objects and corresponding versions of the objects of the set of objects represented on the Web service endpoint.   
   
   
       8 . The method of  claim 7 , further comprising:
 comparing the knowledge of the Web service endpoint with the knowledge of the node to determine what second changes to the set of objects to send to the Web service endpoint of which the Web service endpoint is unaware.   
   
   
       9 . The method of  claim 8 , further comprising:
 transmitting the second changes of which the Web service endpoint is unaware to the Web service endpoint.   
   
   
       10 . The method of  claim 7 , further comprising:
 detecting from the knowledge of the Web service endpoint and the node whether an object of the set of objects independently evolved on the node and Web service endpoint.   
   
   
       11 . The method of  claim 7 , wherein if an object independently evolves on the node and Web service endpoint, determining whether the version of the object on the Web service endpoint or the version of the object on the node is the version to propagate to the set of objects of the node and Web service endpoints. 
   
   
       12 . A computer readable medium comprising computer executable instructions for carrying out the method of  claim 1 . 
   
   
       13 . A method for synchronizing a set of objects between a node of a plurality of nodes and a Web service provider communicatively coupled via one or more networks, comprising:
 receiving from a node of the plurality of nodes or a Web service provider a request for synchronization by the Web service provider or the node of the plurality of nodes, respectively, including receiving a set of changes to a set of objects, corresponding versions for the objects of the set of objects represented on the node or the Web service provider and a definition of prerequisite knowledge associated with the set of changes; and   processing the definition of prerequisite knowledge by the Web service provider or the node and if the Web service provider or the node has the prerequisite knowledge, applying the set of changes to the set of objects in at least one data store of the Web service provider or the node.   
   
   
       14 . The method of  claim 13 , wherein the receiving includes receiving a Web services request including at least one extensible markup language (XML) message conforming to at least one simple object access protocol (SOAP) standard. 
   
   
       15 . The method of  claim 13 , wherein the receiving includes receiving the set of changes, corresponding versions and definition of prerequisite knowledge irrespective of a presence of a firewall at either the node or the Web service provider. 
   
   
       16 . A computing device comprising means for performing the method of  claim 13 . 
   
   
       17 . A node of a plurality of nodes connectable via one or more networks that synchronizes a set of objects between the node and a Web service node of the plurality of nodes, comprising:
 a synchronization component for synchronizing the set of objects between the node and the Web service node of the plurality of nodes, including:
 a synchronization communications component that initiates synchronization with the Web service node via a Web services synchronization protocol that defines, independent of data type, metadata structure for a knowledge exchange between the Web service node and the node, that transmits to the Web service node a request to synchronize with the set of objects based on the Web services synchronization protocol and that receives external knowledge of the set of objects and corresponding Web service object versioning information from the Web service node; and 
 a synchronization analysis component that updates local knowledge of the set of objects represented on the node and corresponding node object versioning information by comparing the external knowledge of the set of objects and corresponding Web service object versioning information with the local knowledge of the set of objects and corresponding node object versioning information to determine what changes should be reflected by revised local knowledge of the set of objects and corresponding node object versioning information. 
   
   
   
       18 . The node of  claim 17 , wherein the Web services synchronization protocol does not prescribe any schema of the actual data being synchronized between the node and the Web service node. 
   
   
       19 . The node of  claim 17 , wherein the synchronization analysis component analyzes the external knowledge of the set of objects and corresponding Web service object versioning information with the local knowledge of the set of objects and corresponding node object versioning information to determine what second changes should be sent to the Web service node about which the Web service node does not know. 
   
   
       20 . The node of  claim 19 , wherein the synchronization communications component further transmits the second changes to the Web service node.

Join the waitlist — get patent alerts

Track US2009083441A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.