IP Library Granted Patent US 10,776,386
Granted Patent B2
US 10,776,386 · App. 15/868,505 · Granted Sep 15, 2020

Content management client synchronization service

Inventors: Isaac Goldberg (San Francisco, CA); Sujay Jayakar (San Francisco, CA); John Lai (San Francisco, CA); Robert Ying (San Francisco, CA); Nipunn Koorapati (San Francisco, CA); Gautam Gupta (San Francisco, CA); Geoffry Song (San Francisco, CA); Elmer Charles Jubb, IV (San Francisco, CA)
Assignee: Dropbox, Inc.
G06F16/27G06F1/04G06F3/065G06F3/067G06F3/0619G06F3/0623G06F3/0629G06F3/0652G06F9/547G06F11/1469G06F12/1466G06F16/11G06F16/113G06F16/116G06F16/119G06F16/122G06F16/125G06F16/128G06F16/13G06F16/137G06F16/148G06F16/152G06F16/156G06F16/16G06F16/162G06F16/168G06F16/172G06F16/176G06F16/178G06F16/1734G06F16/1744G06F16/1767G06F16/1787G06F16/18G06F16/182G06F16/183G06F16/184G06F16/185G06F16/1827G06F16/1844G06F16/2246G06F16/2255G06F16/2322G06F16/2358G06F16/2365G06F16/2379G06F16/24552G06F16/275G06F16/907G06F16/9027G06F16/951G06F16/955G06F16/958G06F21/10G06F21/604G06F21/6218H04L9/3213H04L9/3247H04L63/08H04L63/0853H04L63/10H04L63/101H04L63/102H04L67/06H04L67/1095H04L67/1097G06F2201/84G06F2212/1052G06F2221/2141H04L67/306H04L67/42
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,776,386
App. No.
15/868,505
Granted
Sep 15, 2020
Kind
B2
Abstract

The disclosed technology relates to a system configured to compute a difference between a local tree data structure representing a file system state for content items associated with a user account on the computing system and a sync tree data structure representing a known synchronization state between a content management system and the computing system. The system is configured to generate, based on the difference, a set of operations that when performed update the content items stored on the content management system to converge a server state for content items associated the user account on the content management system and the file system state.

Claims (38)

1. A computer-implemented method for synchronizing modifications to content items on a client device to a user account on a content management system, the method comprising:

computing a difference between a local tree data structure representing a file system state for content items associated with the user account on the client device and a sync tree data structure representing a known synchronization state between the content management system and the client device; and

generating, based on the difference, a set of operations that when performed update the content items stored on the content management system to converge a server state represented by a remote tree data structure for content items associated the user account on the content management system and the file system state.

2. The computer-implemented method of claim 1 , further comprising executing the set of operations.

3. The computer-implemented method of claim 1 , wherein the local tree data structure and the sync tree data structure are stored on the client device.

4. The computer-implemented method of claim 1 , further comprising:

receiving, from the client device, client modification data for content items stored on the client device; and

updating, based on the client modification data, the local tree.

5. The computer-implemented method of claim 4 , further comprising updating, based on the client modification data, the sync tree.

6. The computer-implemented method of claim 1 , further comprising:

receiving, from the content management system, server modification data for content items stored by the content management system; and

updating, based on the server modification data, the remote tree data structure.

7. The computer-implemented method of claim 6 , further comprising updating, based on the server modification data, the sync tree.

8. The computer-implemented method of claim 1 , further comprising:

computing a second difference between the remote tree data structure representing the server state for content items associated with the user account on the content management system and the sync tree data structure representing the known synchronization state between the content management system and the client device; and

generating, based on the second difference, a second set of operations that when performed on the client device update the content items stored on the client device to converge a file system state on the client device and the server state.

9. The computer-implemented method of claim 8 , further comprising managing execution of the second set of operations.

10. The computer-implemented method of claim 8 , wherein the remote tree data structure is stored on the client device.

11. A non-transitory computer readable medium comprising instructions, the instructions, when executed by a computing system, cause the computing system to:

compute a difference between a local tree data structure representing a file system state for content items associated with a user account on the computing system and a sync tree data structure representing a known synchronization state between a content management system and the computing system; and

generate, based on the difference, a set of operations that when performed update the content items stored on the content management system to converge a server state represented by a remote tree data structure for content items associated the user account on the content management system and the file system state.

12. The non-transitory computer readable medium of claim 11 , wherein instructions further cause the computing system to execute the set of operations.

13. The non-transitory computer readable medium of claim 11 , wherein the local tree data structure and the sync tree data structure are stored on the computing system.

14. The non-transitory computer readable medium of claim 11 , wherein instructions further cause the computing system to:

receive, from the computing system, client modification data for content items stored on the computing system; and

update, based on the client modification data, the local tree.

15. The non-transitory computer readable medium of claim 14 , wherein instructions further cause the computing system to update, based on the client modification data, the sync tree.

16. A system comprising:

one or more processors; and

a non-transitory computer-readable medium storing instructions that, when executed by the one or more processors, cause the one or more processors to:

compute a difference between a local tree data structure representing a file system state for content items associated with a user account on the system and a sync tree data structure representing a known synchronization state between a content management system and the system; and

generate, based on the difference, a set of operations that when performed update the content items stored on the content management system to converge a server state represented by a remote tree data structure for content items associated the user account on the content management system and the file system state.

17. The system of claim 16 , wherein instructions further cause the one or more processors to execute the set of operations.

18. The system of claim 16 , wherein the local tree data structure and the sync tree data structure are stored on the system.

19. The system of claim 16 , wherein instructions further cause the one or more processors to:

receive, from the computing system, client modification data for content items stored on the computing system; and

update, based on the client modification data, the local tree.

20. The system of claim 19 , wherein instructions further cause the one or more processors to update, based on the client modification data, the sync tree.

Assignments (5)
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 →
PATENT SECURITY AGREEMENT Recorded Mar 10, 2021
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 055670/0219 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SEVENTH ASSIGNOR'S FIRST NAME AND DOC DATE PREVIOUSLY RECORDED ON REEL 046355 FRAME 0698. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 30, 2019
From: GOLDBERG, ISAAC; JAYAKAR, SUJAY; LAI, JOHN; YING, ROBERT; KOORAPATI, NIPUNN; GUPTA, GAUTAM; SONG, GEOFFRY; JUBB, IV, ELMER CHARLES
To: DROPBOX, INC.
Reel/Frame 051444/0724 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2018
From: GOLDBERG, ISAAC; JAYAKAR, SUJAY; LAI, JOHN; YING, ROBERT; KOORAPATI, NIPUNN; GUPTA, GAUTAM; SONG, GEOFFREY; JUBB, ELMER CHARLES, IV
To: DROPBOX, INC.
Reel/Frame 046355/0698 →
Continuity (2)
Provisional Application 62611473 · Dec 28, 2017
Related Publication 20190205458A1 · Jul 4, 2019