IP Library Granted Patent US 10,177,960
Granted Patent B2
US 10,177,960 · App. 14/826,144 · Granted Jan 8, 2019

System and method for multi-tier synchronization

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,177,960
App. No.
14/826,144
Granted
Jan 8, 2019
Kind
B2
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 at a delayed time.

Claims (48)

1. A method for synchronizing metadata using a proxy synchronization server, the method comprising:

supporting communication between a master synchronization server and a client device through the proxy synchronization server via synchronization sessions between the proxy synchronization server and the master synchronization server and between the proxy synchronization server and the client device;

synchronizing the metadata during a first time, via the synchronization sessions, across the master synchronization server, the proxy synchronization server, and the client device in response to a change made to synchronized data on the client device with the metadata being associated with the change made to the synchronized data, wherein synchronizing the metadata comprises updating the metadata at the master synchronization server and the proxy synchronization server; and

synchronizing the change made to the synchronized data during a second time, via synchronization sessions, across the master synchronization server, the proxy synchronization server, and the client device in response to the change made to the synchronized data on the client device, wherein the second time is later than the first time.

2. The method of claim 1 , further comprising:

applying a conflict resolution algorithm on the proxy synchronization server when receiving conflicting changes to the metadata.

3. The method of claim 1 , wherein synchronizing the metadata during the first time occurs in real-time when a synchronization session between two or more devices is established.

4. The method of claim 1 , wherein, during the synchronizing of the metadata, the change made to the synchronized data is not synchronized on the master synchronization server, the proxy synchronization server, and the client device.

5. The method of claim 1 , further comprising:

receiving, if the change to the synchronized data comprises a new file or an updated file on the client device, a file comprising a copy of the new file or the updated file from the client device;

storing the file; and

sending the file to an interested device that communicates with the proxy synchronization server.

6. The method of claim 1 , further comprising:

backing up, on the proxy synchronization server, all synchronized data from the client device, wherein only specified synchronized data from the client device is backed up on the master synchronization server.

7. The method of claim 6 , wherein the backing up the synchronized data on by the proxy synchronization server further comprises:

backing up, on the proxy synchronization server, all versions of the specified synchronized data, wherein only a latest version of the specified synchronized data is backed up to the master synchronization server.

8. A non-transitory computer-readable medium comprising computer-executable code for synchronizing metadata using a proxy synchronization server, comprising:

code for supporting communication between a master synchronization server and a client device through the proxy synchronization server via synchronization sessions between the proxy synchronization server and the master synchronization server and between the proxy synchronization server and the client device;

code for synchronizing the metadata during a first time, via the synchronization sessions, across the master synchronization server, the proxy synchronization server, and the client device in response to a change made to synchronized data on the client device with the metadata being associated with the change made to the synchronized data, wherein synchronizing the metadata comprises updating the metadata at the master synchronization server and the proxy synchronization server; and

code for synchronizing the change made to the synchronized data during a second time, via synchronization sessions, across the master synchronization server, the proxy synchronization server, and the client device in response to the change made to the synchronized data on the client device, wherein the second time is later than the first time.

9. The non-transitory computer-readable medium of claim 8 , further comprising:

code for applying a conflict resolution algorithm on the proxy synchronization server when receiving conflicting changes to the metadata.

10. The non-transitory computer-readable medium of claim 8 , wherein synchronizing the metadata during the first time occurs in real-time when a synchronization session between two or more devices is established.

11. The non-transitory computer-readable medium of claim 8 , wherein the code for the synchronizing of the metadata further comprises:

code for not synchronizing the change made to the synchronized data on the master synchronization server, the proxy synchronization server, and the client device.

12. The non-transitory computer-readable medium of claim 8 , further comprising:

code for receiving, if the change to the synchronized data comprises a new file or an updated file on the client device, a file comprising a copy of the new file or the updated file from the client device;

code for storing the file; and

code for sending the file to an interested device that communicates with the proxy synchronization server.

13. The non-transitory computer-readable medium of claim 8 , further comprising:

code for backing up, on the proxy synchronization server, all synchronized data from the client device, wherein only specified synchronized data from the client device is backed up on the master synchronization server.

14. The non-transitory computer-readable medium of claim 13 , wherein the code for backing up the synchronized data on by the proxy synchronization server further comprises:

code for backing up, on the proxy synchronization server, all versions of the specified synchronized data, wherein only a latest version of the specified synchronized data is backed up to the master synchronization server.

15. A proxy synchronization server configured to:

support communication between a master synchronization server and a client device via synchronization sessions between the proxy synchronization server and the master synchronization server and between the proxy synchronization server and the client device;

synchronize metadata during a first time, via the synchronization sessions, across the master synchronization server, the proxy synchronization server, and the client device in response to a change made to synchronized data on the client device with the metadata being associated with the change made to the synchronized data, wherein synchronizing the metadata comprises updating the metadata at the master synchronization server and the proxy synchronization server; and

synchronize the change made to the synchronized data during a second time, via synchronization sessions, across the master synchronization server, the proxy synchronization server, and the client device in response to the change made to the synchronized data on the client device, wherein the second time is later than the first time.

16. The proxy synchronization server of claim 15 , wherein the proxy server is further configured to:

apply a conflict resolution algorithm on the proxy synchronization server when receiving conflicting changes to the metadata.

17. The proxy synchronization server of claim 15 , wherein, during the synchronizing of the metadata, the change made to the synchronized data is not synchronized on the proxy synchronization server.

18. The proxy synchronization server of claim 15 , wherein the proxy synchronization server is further configured to:

receive, if the change to the synchronized data comprises a new file or an updated file on the client device, a file comprising a copy of the new file or the updated file from the client device;

store the file; and

send the file to an interested device that communicates with the proxy synchronization server.

19. The proxy synchronization server of claim 15 , wherein the proxy synchronization server is further configured to:

back up, on the proxy synchronization server, all synchronized data from the client device, wherein only specified synchronized data from the client device is backed up on the master synchronization server.

20. The proxy synchronization server of claim 15 , wherein the proxy synchronization server is further configured to:

back up, on the proxy synchronization server, all versions of the specified synchronized data, wherein only a latest version of the specified synchronized data is backed up to the master synchronization server.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069635/0332 →
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
RELEASE OF SECURITY INTEREST Recorded Dec 12, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069613/0744 →
PATENT SECURITY AGREEMENT Recorded Mar 10, 2021
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 055670/0219 →
SECURITY INTEREST Recorded Apr 14, 2017
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042254/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2015
From: SUGARSYNC, INC.
To: DROPBOX, INC.
Reel/Frame 036728/0391 →
CHANGE OF NAME Recorded Sep 18, 2015
From: SHARPCAST, INC.
To: SUGARSYNC, INC.
Reel/Frame 036640/0438 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2015
From: SEKAR, KIREN; STRONG, JACK B.
To: SHARPCAST, INC.
Reel/Frame 036584/0138 →