Wide area peer-to-peer synching in a decentralized environment
First Claim
Patent Images
1. A method of synchronizing a first peer with a second peer and a third peer, the method comprising the steps of:
- appointing said first peer as an instigator of a synchronization session;
said first peer making an indication to said second and third peers;
in response to said indications, said second and third peers performing first local synchronizations and generating respectively a second peer change set and a third peer change set;
transmitting said second peer change set from said second peer to said first peer;
transmitting said third peer change set from said third peer to said first peer;
said first peer receiving said second and third peer change sets from the second and third peers;
performing a second local synchronization at the first peer using the second and third peer change sets;
in response to said second local synchronization, said first peer producing a first return change set for said second peer and a second return change set for said third peer; and
said second peer and said third peer each performing a third local synchronization respectively using said first return change set and said second return change set.
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.
71 Citations
54 Claims
-
1. A method of synchronizing a first peer with a second peer and a third peer, the method comprising the steps of:
-
appointing said first peer as an instigator of a synchronization session; said first peer making an indication to said second and third peers; in response to said indications, said second and third peers performing first local synchronizations and generating respectively a second peer change set and a third peer change set; transmitting said second peer change set from said second peer to said first peer; transmitting said third peer change set from said third peer to said first peer; said first peer receiving said second and third peer change sets from the second and third peers; performing a second local synchronization at the first peer using the second and third peer change sets; in response to said second local synchronization, said first peer producing a first return change set for said second peer and a second return change set for said third peer; and said second peer and said third peer each performing a third local synchronization respectively using said first return change set and said second return change set. - View Dependent Claims (2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
6. The method of 5, wherein said accepted input comprises at least one gesture involving multiple simultaneous points of contact with the touch sensing system.
-
22. 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:
-
appointing said first peer as an instigator for a synchronization session; said first peer making an indication to said third peer; said first peer leaving an indication message for said second peer on said way station peer; in response said indication, said third peer performing a first local synchronization and generating a third peer change set; transmitting said third peer change set from said third peer to said first peer; said first peer receiving said third peer change set and using said third peer change set to perform a second local synchronization; after said second local synchronization, said second peer receiving said indication message via said way station peer; in response to said indication message, said second peer performing a third local synchronization and generating a second peer change set; and said first peer performing a fourth local synchronization using said second peer change set. - View Dependent Claims (23, 24, 25)
-
-
26. 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:
-
appointing said first peer as an instigator for a synchronization session; said first peer making an indication to said third peer; said first peer leaving an indication message for said second peer on said way station peer; in response said indication, said third peer performing a first local synchronization and generating a third peer change set; transmitting said third peer change set from said third peer to said first peer; said first peer receiving said third peer change set and using said third peer change set to perform a second local synchronization; after said second local synchronization, said second peer receiving said indication message via said way station peer; in response to said indication message, said second peer performing a third local synchronization and generating a second peer change set; said second peer leaving a second change set message on said way station peer; appointing said first peer as an instigator a second time; said first peer sending an indication to said second peer; and determining that a prior synchronization attempt was made by using said way station module; appointing said first peer as an instigator of another synchronization session a second time; said first peer sending an indication to said second peer; and determining that a prior synchronization attempt was made by using said way station peer. - View Dependent Claims (27)
-
-
28. A media device readable by a computing apparatus and encoded with instructions stored thereon to cause the computing apparatus to perform a method of synchronizing a first peer with a second peer and a third peer, the method comprising the steps of:
-
appointing said first peer as an instigator of a synchronization session; said first peer making an indication to said second and third peers; in response to said indications, said second and third peers performing first local synchronizations and generating respectively a second peer change set and a third peer change set; transmitting said second peer change set from said second peer to said first peer; transmitting said third peer change set from said third peer to said first peer; said first peer receiving said second and third peer change sets from the second and third peers; performing a second local synchronization at the first peer using the second and third peer change sets; in response to said second local synchronization, said first peer producing a first return change set for said second peer and a second return change set for said third peer; and said second peer and said third peer each performing a third local synchronization respectively using said first return change set and said second return change set. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
-
-
49. A media device readable by a computing apparatus and encoded with instructions stored thereon to cause the computing apparatus to perform 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:
-
appointing said first peer as an instigator for a synchronization session; said first peer making an indication to said third peer; said first peer leaving an indication message for said second peer on said way station peer; in response said indication, said third peer performing a first local synchronization and generating a third peer change set; transmitting said third peer change set from said third peer to said first peer; said first peer receiving said third peer change set and using said third peer change set to perform a second local synchronization; after said second local synchronization, said second peer receiving said indication message via said way station peer; in response to said indication message, said second peer performing a third local synchronization and generating a second peer change set; and said first peer performing a fourth local synchronization using said second peer change set. - View Dependent Claims (50, 51, 52)
-
-
53. A media device readable by a computing apparatus and encoded with instructions stored thereon to cause the computing apparatus to perform 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:
-
appointing said first peer as an instigator for a synchronization session; said first peer making an indication to said third peer; said first peer leaving an indication message for said second peer on said way station peer; in response said indication, said third peer performing a first local synchronization and generating a third peer change set; transmitting said third peer change set from said third peer to said first peer; said first peer receiving said third peer change set and using said third peer change set to perform a second local synchronization; after said second local synchronization, said second peer receiving said indication message via said way station peer; in response to said indication message, said second peer performing a third local synchronization and generating a second peer change set; said second peer leaving a second change set message on said way station peer; appointing said first peer as an instigator a second time; said first peer sending an indication to said second peer; and determining that a prior synchronization attempt was made by using said way station module; appointing said first peer as an instigator of another synchronization session a second time; said first peer sending an indication to said second peer; and determining that a prior synchronization attempt was made by using said way station peer. - View Dependent Claims (54)
-
Specification