Patent ID: 8019900

Claim:
A method for opportunistic peer-to-peer synchronization in a system having a master synchronization server and a plurality of client computing devices, the method comprising: monitoring, at a client computing device, synchronization information provided by one or more peer client computing devices to determine whether or not data that the client computing device desires is synchronize is available for synchronization with such one or more peer client computing devices; if a peer client computing device is available for synchronizing such data, synchronizing such data with the peer client computing device; if a peer client computing device is not available for synchronizing such data, synchronizing such data with the master synchronization server until a peer client computing device is available for synchronizing such data; and if a synchronization session with a peer client computing device is interrupted, switching to synchronizing with another peer client device or the master synchronization server in a manner that appears seamless to the user of the client computing device.