主权项 |
1. A method for synchronizing select data in a system including a master synchronization server, one or more proxy synchronization servers, and a plurality of client devices including local client devices and remote client devices, the method comprising:
for each of the local client devices that is able to communicate with at least one of the one or more proxy synchronization servers over a local connection, establishing a synchronization session between such local client device and the proxy synchronization server; for each of the remote client devices that is online and that is not able to establish a synchronization session with at least one of the one or more proxy synchronization servers or another synchronization device, establishing a synchronization session between such remote client device and the master synchronization server; establishing a synchronization session between the master synchronization server and the one or more proxy synchronization servers; and in response to a change made to synchronized data on the master synchronization server, the one or more proxy synchronization servers, or at least one of the plurality of client devices, synchronizing metadata associated with such change across the master synchronization server, the one or more proxy synchronization servers and interested client-devices, wherein for established synchronization sessions the metadata is synced in real-time, wherein the local client devices synchronize metadata directly with the proxy synchronization server to which they have established a synchronization session, the remote client devices synchronize metadata directly with the master synchronization server, and the one or more proxy synchronization servers and the master synchronization server synchronize metadata with each other, and wherein a conflict resolution algorithm is applied on the one or more proxy synchronization servers when conflicting changes are synced to it or on the master synchronization server when receiving conflicting changes from any combination of the one or more proxy synchronization servers or remote client devices. |