Wide Area Peer-to-Peer Synching in a Decentralized Environment
First Claim
Patent Images
1. A first peer system for synchronizing data elements in a group of synchronizing peer systems, said first peer system comprising:
- a. a sync server software module for managing synchronization directly with a second peer system and directly with a third peer system;
b. a memory for storing change-sets received from each of said second peer system and said third peer system;
c. a microprocessor resource for running said sync server software module while said sync server software module interacts with at least one of said change-sets from each of said second peer system and said third peer system;
d. one or more local sync clients, each such local sync client presenting a user interface related to said data elements;
e. a software module representing said second peer system, and an i/o system for connecting with said second peer system and receiving at least one of said change-sets from said second peer system;
ANDf. a software module representing said third peer system, and an i/o system for receiving at least one of said change-sets from said third peer system.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method are disclosed for synchronizing data between devices and more particularly for synchronizing data between a plurality of peer-to-peer devices in a decentralized environment where no one device stores the most “recent” or “true” version of the data. Embodiments of the invention relate concepts of discovering synchronizing peers, communication between peers using special techniques, and using a way station concept as an aid for both discovery and synchronization between peers that are not simultaneously available.
94 Citations
50 Claims
-
1. A first peer system for synchronizing data elements in a group of synchronizing peer systems, said first peer system comprising:
-
a. a sync server software module for managing synchronization directly with a second peer system and directly with a third peer system; b. a memory for storing change-sets received from each of said second peer system and said third peer system; c. a microprocessor resource for running said sync server software module while said sync server software module interacts with at least one of said change-sets from each of said second peer system and said third peer system; d. one or more local sync clients, each such local sync client presenting a user interface related to said data elements; e. a software module representing said second peer system, and an i/o system for connecting with said second peer system and receiving at least one of said change-sets from said second peer system;
ANDf. a software module representing said third peer system, and an i/o system for receiving at least one of said change-sets from said third peer system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 42, 44, 45, 47)
-
-
17. A method of synchronizing a first peer with a second peer and a third peer, the method comprising the steps of:
-
a. appointing said first peer as an instigator; b. said first peer making an indication to said second and third peers; c. in response to said indications, said second and third peers performing local synchronizations and generating respectively second change set and third change set; d. transmitting said second change set from said second peer to said first peer; e. transmitting said third change set from said third peer to said first peer; f. said first peer receiving said second and third change-sets and using said second and third change-sets to perform a first peer local synchronization; g. in response to said first peer local synchronization, said first peer producing a fourth change set for said second peer and a fifth change set for said third peer; and h. said second peer and said third peer each performing a second local synchronization respectively using said fourth change set and said fifth change set. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 41, 48, 50)
-
-
35. A method of synchronizing a first peer with a second peer and a third peer, wherein said second peer and said first peer communicate only by leaving messages with a way station peer, the method comprising the steps of:
-
a. appointing said first peer as an instigator; b. said first peer making an indication to said third peer; c. said first peer leaving an indication message for said second peer on said way station module; d. in response said indication, said third peer performing local synchronization and generating a third change set; e. transmitting said third change set from said third peer to said first peer; f. said first peer receiving said third change set and using said third change-sets to perform a first peer local synchronization; g. after said first peer local synchronization, said second peer receiving said indication message; h. in response to said indication message, said second peer performing a local sync and generating a second change set; and i. said first peer performing a local synchronization using said second change set. - View Dependent Claims (36, 37, 38)
-
-
39. A method of synchronizing a first peer with a second peer and a third peer, wherein said second peer and said first peer communicate by leaving messages with a way station peer, the method comprising the steps of:
-
a. appointing said first peer as an instigator; b. said first peer making an indication to said third peer; c. said first peer leaving an indication message for said second peer on said way station module; d. in response said indication, said third peer performing local synchronization and generating a third change set; e. transmitting said third change set from said third peer to said first peer; f. said first peer receiving said third change set and using said third change-sets to perform a first peer local synchronization; g. after said first peer local synchronization, said second peer receiving said indication message; h. in response to said indication message, said second peer performing a local sync and generating a second change set; i. said second peer leaving a second change set message on said way station peer; j. appointing said first peer as an instigator a second time; k. said first peer sending an indication to said second peer; and l. determining that a prior synchronization attempt was made by using said way station module. - View Dependent Claims (40)
-
-
43. The system of 42 wherein said accepted input comprises at least one gesture involving multiple simultaneous points of contact with the touch sensing system.
-
46. The system of 45 wherein said accepted input comprises at least one gesture involving multiple simultaneous points of contact with the touch sensing system.
-
49. The system of 48 wherein said accepted input comprises at least one gesture involving multiple simultaneous points of contact with the touch sensing system.
Specification