US2010299444A1PendingUtilityA1

Wide Area Peer-to-Peer Synching in a Decentralized Environment

45
Assignee: APPLE INCPriority: Jan 5, 2007Filed: May 19, 2010Published: Nov 25, 2010
Est. expiryJan 5, 2027(~0.5 yrs left)· nominal 20-yr term from priority
H04L 67/104H04L 67/1095
45
PatentIndex Score
0
Cited by
0
References
0
Claims

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.

Claims

exact text as granted — not AI-modified
1 - 50 . (canceled) 
     
     
         51 . A peer-to-peer synchronization method in a decentralized environment, the method comprising:
 receiving peer change sets for second peers at a first peer, the peer change sets being generated by first local synchronizations performed at each of the second peers in response to an instigation of a first synchronization session by the first peer;   performing a second local synchronization at the first peer using the peer change sets received;   producing return change sets respectively for the second peers based on the second local synchronization; and   transmitting the return change sets to the second peers, the return change sets being used respectively by each of the second peers to perform a third local synchronization.   
     
     
         52 . The method of  claim 51 , further comprising discovering with the first peer at least one of the second peers in the first synchronization session. 
     
     
         53 . The method of  claim 52 , wherein discovering the at least one second peer comprises obtaining information regarding the at least one second peer by interacting with a way station. 
     
     
         54 . The method of  claim 51 , wherein the second peers do not propagate additional change sets in response to performing the third local synchronizations. 
     
     
         55 . The method of  claim 51 , further comprising instigating the first synchronization session with the first peer by sending indications to one or more of the second peers. 
     
     
         56 . The method of  claim 55 , wherein sending the indications comprises:
 leaving at least one of the indications for at least one of the second peers on a way station peer; and   transmitting the at least one indication to the at least one second peer via the way station peer.   
     
     
         57 . The method of  claim 55 , wherein instigating the first synchronization session with the first peer comprises:
 determining that one of the second peers is attempting to instigate a second synchronization session;   ceasing the instigation of the first synchronization session with the first peer for a time period; and   reinstigating the first synchronization session with the first peer after the time period.   
     
     
         58 . The method of  claim 51 , wherein receiving the peer change sets for the second peers comprises sending acknowledgement receipts respectively to the second peers. 
     
     
         59 . The method of  claim 51 , wherein receiving the peer change sets for the second peers comprises receiving at least one change set message at the first peer from a way station peer, the at least one change set message being for at least one of the second peers. 
     
     
         60 . The method of  claim 59 , further comprising acquiring the peer change set for the at least one second peer by communicating the first peer directly with the at least one second peer. 
     
     
         61 . The method of  claim 59 , wherein the at least one change set message comprises the peer change set for the at least one second peer. 
     
     
         62 . The method of  claim 51 , wherein receiving the peer change sets for the second peers comprises:
 leaving a change set message on a way station peer for at least one of the second peers;   instigating a subsequent synchronization session with the first peer by sending a subsequent indication to the at least one second peer; and   determining that the first synchronization was made at the at least one second peer based on the change set message being left at the way station peer.   
     
     
         63 . The method of  claim 62 , further comprising synchronizing the first peer and the at least one second peer using the peer change set without involvement of the way station peer. 
     
     
         64 . 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 according to  claim 51 . 
     
     
         65 . A first peer for synchronizing data elements in a decentralized environment, the first peer comprising:
 a memory for storing peer change sets;   an interface for communicating with second peers in the decentralized environment; and   a processor unit operatively coupled to the memory and the interface, the processor unit configured to:
 receive peer change sets for the second peers, the peer change sets being generated by first local synchronizations performed at each of the second peers in response to an instigation of a first synchronization session by the first peer, 
 perform a second local synchronization using the peer change sets received, 
 produce return change sets respectively for the second peers based on the second local synchronization, and 
 transmit the return change sets to the second peers, the return change sets being used respectively by each of the second peers to perform a third local synchronization. 
   
     
     
         66 . A second peer for synchronizing data elements with peers in a decentralized environment, the first peer comprising:
 a memory for storing peer change sets;   an interface for communicating with the peers in the decentralized environment;   a processor unit operatively coupled to the memory and the interface, the processor unit configured to:
 receive an indication from a first peer instigating a first synchronization session with the second peer and one or more third peers; 
 perform a first local synchronization in response to the indication received to generate a peer change set; 
 transmit the peer change set to the first peer; 
 receive a return change set generated by a second local synchronization performed at the first peer using the peer change set received from the second peer and one or more peer change sets received from the one or more third peers; and 
 perform a third local synchronization using the return change set received. 
   
     
     
         67 . A peer-to-peer synchronization method in a decentralized environment, the method comprising:
 transmitting indications instigating a first synchronization session from a first peer to second peers;   transmitting peer change sets for the second peers to the first peer, the peer change sets being generated by first local synchronizations performed at each of the second peers in response to the indications; and   transmitting return change sets from the first peer to the second peers, the return change sets produced respectively for the second peers based on a second local synchronization performed at the first peer using the peer change sets, the return change sets being used respectively by each of the second peers to perform a third local synchronization;   wherein transmitting at least one of the indications, at least one of the peer change sets, or at least one of the return changes sets comprises coordinating the transmission using a way station peer when at least one of the first and second peers is unavailable.   
     
     
         68 . The method of  claim 67 , wherein coordinating the transmission of the at least one indication using the way station peer comprises:
 receiving the at least one indication for at least one of the second peers on the way station peer; and   transmitting the at least one indication to the at least one second peer via the way station peer.   
     
     
         69 . The method of  claim 67 , wherein coordinating the transmission of the at least one change set using the way station peer comprises:
 receiving at least one change set message for the first peer from at least one of the second peers, the at least one change set message being generated by the first local synchronization performed at the at least one second peer in response to the indication from the first peer.   
     
     
         70 . The method of  claim 69 , further comprising acquiring the peer change set for the at least one second peer by communicating the first peer directly with the at least one second peer. 
     
     
         71 . The method of  claim 69 , wherein that at least one change set message comprises the peer change set for the at least one second peer. 
     
     
         72 . The method of  claim 69 , wherein coordinating the transmission of the at least one change set using the way station peer comprises:
 receiving a second indication instigating a second synchronization session from the first peer for the at least one second peer; and   determining that the first synchronization was made at the at least one second peer based on the at least one change set message left at the way station peer.   
     
     
         73 . The method of  claim 72 , further comprising synchronizing the first peer and the at least one second peer using the peer change set without involvement of the way station peer. 
     
     
         74 . 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 according to  claim 67 .

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.