System and method for multi-tier synchronization
Abstract
The present invention provides a System and method for multi-tiered data synchronization. Data is synchronized between a master synchronization server, one or more proxy synchronization servers, and client devices. Client devices establish synchronization sessions with either a proxy synchronization server or a master synchronization server, depending on which server provides the “best” available connection to that client device. Each proxy synchronization server synchronizes data with client devices that have established a synchronization session with such proxy synchronization server. The master synchronization server synchronizes data with client devices that have established a synchronization session with the master synchronization server. Each proxy synchronization server synchronizes data with the master synchronization server. Metadata associated with synchronized files is synchronized throughout the system in real-time. Files may be synchronized in real-time or of a delayed time.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A computer-implemented method comprising:
identifying, at a synchronization system, a file to provide to a client device;
determining that the client device has a first communication connection with a first server and a second communication connection with a second server, wherein both the first server and the second server store a copy of the file;
during a first time, causing one of the first server or the second server to provide metadata associated with the file to the client device;
analyzing first connection characteristics associated with the first communication connection and second connection characteristics associated with the second communication connection;
based on analyzing the first connection characteristics and the second connection characteristics, determining that the first communication connection is rated higher than the second communication connection;
based on determining the first communication connection is rated higher than the second communication connection, establishing a synchronization session between the client device and the first server after the first time; and
during the synchronization session, causing the first server to provide the file to the client device via the first communication connection.
2. The computer-implemented method of claim 1 , wherein the first connection characteristics and the second connection characteristics comprise a connection speed characteristic, a cost characteristic, or a security characteristic.
3. The computer-implemented method of claim 1 , wherein:
the first server is a proxy server accessible via a local area network or an intranet; and
the second server is a master server hosted in a data center accessible via an internet connection.
4. The computer-implemented method of claim 1 , wherein causing the first server to provide the file to the client device via the first communication connection comprises establishing a dedicated connection between the first server and the client device throughout the synchronization session.
5. The computer-implemented method of claim 1 , wherein the client device is one of a mobile device or a personal computer.
6. The computer-implemented method of claim 1 , wherein causing one of the first server or the second server to provide the metadata associated with the file to the client device comprises causing one of the first server or the second server to provide, to the client device, revision information for the file.
7. The computer-implemented method of claim 1 , further comprising, and prior to identifying the file to provide to the client device, causing the first server to provide the file to the second server while maintaining a copy of the file on the first server.
8. A non-transitory computer readable medium storing instructions that, when executed by at least one processor, cause a computing device to:
identify, at a synchronization system, a file to provide to a client device;
determine that the client device has a first communication connection with a first server and a second communication connection with a second server, wherein both the first server and the second server store a copy of the file;
during a first time, cause one of the first server or the second server to provide metadata associated with the file to the client device;
analyze first connection characteristics associated with the first communication connection and second connection characteristics associated with the second communication connection;
based on analyzing the first connection characteristics and the second connection characteristics, determine that the first communication connection is rated higher than the second communication connection;
based on determining the first communication connection is rated higher than the second communication connection, establish a synchronization session between the client device and the first server after the first time; and
during the synchronization session, cause the first server to provide the file to the client device via the first communication connection.
9. The non-transitory computer readable medium of claim 8 , further comprising instructions that, when executed by the at least one processor, cause the computing device to:
receive, from the client device, a synchronization request for an updated version of the file;
analyze updated first connection characteristics associated with the first communication connection and updated second connection characteristics associated with the second communication connection; and
cause the client device to provide the updated version of the file to the second server via the second communication connection based on determining the second communication connection is rated higher per the updated first connection characteristics and the updated second connection characteristics.
10. The non-transitory computer readable medium of claim 9 , wherein receiving the synchronization request comprises receiving, from the client device, metadata comprising revision information corresponding to the updated version of the file.
11. The non-transitory computer readable medium of claim 8 , wherein the first connection characteristics and the second connection characteristics comprise a connection speed characteristic, a cost characteristic, or a security characteristic.
12. The non-transitory computer readable medium of claim 8 , wherein:
the first server is a proxy server accessible via a local area network or an intranet; and
the second server is a master server hosted in a data center accessible via an internet connection.
13. The non-transitory computer readable medium of claim 8 , wherein causing the first server to provide the file to the client device via the first communication connection comprises establishing a dedicated connection between the first server and the client device throughout the synchronization session.
14. The non-transitory computer readable medium of claim 8 , further comprising instructions that, when executed by the at least one processor, cause the computing device to cause the first server to provide, during the synchronization session, the metadata associated with the file to the client device in combination with providing the file to the client device via the first communication connection.
15. A system comprising:
at least one processor; and
a non-transitory computer readable medium storing instructions that, when executed by the at least one processor, cause the system to:
identify, at a synchronization system, a file to provide to a client device;
determine that the client device has a first communication connection with a first server and a second communication connection with a second server, wherein both the first server and the second server store a copy of the file;
during a first time, cause one of the first server or the second server to provide metadata associated with the file to the client device;
analyze first connection characteristics associated with the first communication connection and second connection characteristics associated with the second communication connection;
based on analyzing the first connection characteristics and the second connection characteristics, determine that the first communication connection is rated higher than the second communication connection;
based on determining the first communication connection is rated higher than the second communication connection, establish a synchronization session between the client device and the first server after the first time; and
during the synchronization session, cause the first server to provide the file to the client device via the first communication connection.
16. The system of claim 15 , further comprising instructions that, when executed by the at least one processor, cause the system to:
receive, from the client device, a synchronization request for an updated version of the file;
analyze updated first connection characteristics associated with the first communication connection and updated second connection characteristics associated with the second communication connection; and
cause the client device to provide the updated version of the file to the second server via the second communication connection based on determining the second communication connection is rated higher per the updated first connection characteristics and the updated second connection characteristics.
17. The system of claim 16 , wherein receiving the synchronization request comprises receiving, from the client device, metadata comprising revision information corresponding to the updated version of the file.
18. The system of claim 15 , wherein the first connection characteristics and the second connection characteristics comprise a connection speed characteristic, a cost characteristic, or a security characteristic.
19. The system of claim 15 , wherein causing the first server to provide the file to the client device via the first communication connection comprises establishing a dedicated connection between the first server and the client device throughout the synchronization session.
20. The system of claim 15 , wherein:
the first server is a proxy server accessible via a local area network or an intranet; and
the second server is a master server hosted in a data center accessible via an internet connection.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.