IP Library Granted Patent US 11,782,949
Granted Patent B2
US 11,782,949 · App. 16/935,995 · Granted Oct 10, 2023

Violation resolution in client synchronization

Inventors: Isaac Goldberg (San Francisco, CA); Robert Ying (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/01H04L67/306
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 11,782,949
App. No.
16/935,995
Granted
Oct 10, 2023
Kind
B2
Abstract

The disclosed technology relates to a system configured to receive a set of operations configured to converge a server state and a file system state, wherein the server state is for content items stored by a content management system and the file system state is for the content items stored on a client device. The system is further to detect a violation of a rule by an operation in the set of operations, identify resolution actions for the violation of the rule, and perform the resolution actions.

Claims (52)

1. A computer-implemented method comprising:

determining, by an application associated with a content management system, that server content items stored by the content management system and client content items stored on a client device are out of synchronization, wherein the determining is based on at least one of:

a server difference between the server content items and a shared content items that are synchronized between the content management system and the client device, and

a client difference between the client content items and the shared content items that are synchronized between the content management system and the client device;

generating, by the application associated with the content management system, a set of operations configured to converge the server content items and the client content items based on the determining that the server content items and the client content items are out of synchronization;

detecting a violation of a rule by an operation in the set of operations;

identifying resolution actions for the violation of the rule; and

applying the resolution actions to the set of operations.

2. The computer-implemented method of claim 1 , wherein detecting the violation of the rule by the operation includes:

identifying an operation type for the operation in the set of operations;

selecting a set of rules associated with the operation type; and

determining that the rule in the set of rules is violated by the operation.

3. The computer-implemented method of claim 1 , further comprising providing the set of operations for execution on the client device.

4. The computer-implemented method of claim 1 , further comprising providing the set of operations for execution by the content management system.

5. The computer-implemented method of claim 1 , wherein the set of operations are a client set of operations configured to operate on the client content items stored on the client device.

6. The computer-implemented method of claim 1 , wherein the set of operations are a server set of operations configured to operate on the server content items stored by the content management system.

7. The computer-implemented method of claim 1 , wherein the server content items, the client content items, and the shared content items are each represented by a hierarchical data structure.

8. The computer-implemented method of claim 7 , wherein the hierarchical data structure for the client content items and the hierarchical data structure for the shared content items are stored on the client device.

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

determine, by an application associated with a content management system, that server content items stored by a content management system and client content items stored on a client device are out of synchronization, wherein the determination is based on at least one of:

a server difference between the server content items and a shared content items that are synchronized between the content management system and the client device, and

a client difference between the client content items and the shared content items that are synchronized between the content management system and the client device;

generate, by the application associated with the content management system, a set of operations configured to converge the server content items and the client content items based on the determination that the server content items and the client content items are out of synchronization;

detect a violation of a rule by an operation in the set of operations;

identify resolution actions for the violation of the rule; and

perform the resolution actions to the set of operations.

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

identify an operation type for the operation in the set of operations;

select a set of rules associated with the operation type; and

determine that the rule in the set of rules is violated by the operation.

11. The non-transitory computer-readable medium of claim 9 , wherein the instructions further cause the computing system to provide the set of operations for execution on the client device.

12. The non-transitory computer-readable medium of claim 9 , wherein the instructions further cause the computing system to provide the set of operations for execution by the content management system.

13. The non-transitory computer-readable medium of claim 9 , wherein the set of operations are a server set of operations configured to operate on the server content items stored by the content management system.

14. The non-transitory computer-readable medium of claim 9 , wherein the server content items, the client content items, and the shared content items are each represented by a hierarchical data structure.

15. The non-transitory computer-readable medium of claim 14 , wherein the hierarchical data structure for the client content items and the hierarchical data structure for the shared content items are stored on the client device.

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:

determine, by an application associated with a content management system, that server content items stored by a content management system and a client content items stored on a client device are out of synchronization, wherein the determination is based on at least one of:

a server difference between the server content items and a shared content items that are synchronized between the content management system and the client device, and

a client difference between the client content items and the shared content items that are synchronized between the content management system and the client device;

generate, by the application associated with the content management system, a set of operations configured to converge the server content items and the client content items based on the determination that the server content items and the client content items are out of synchronization;

detect a violation of a rule by an operation in the set of operations;

identify resolution actions for the violation of the rule; and

perform the resolution actions to the set of operations.

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

identify an operation type for the operation in the set of operations;

select a set of rules associated with the operation type; and

determine that the rule in the set of rules is violated by the operation.

18. The system of claim 16 , wherein the set of operations are a server set of operations configured to operate on the server content items stored by the content management system.

19. The system of claim 16 , wherein the server content items, the client content items, and the shared content items are each is represented by a hierarchical data structure.

20. The system of claim 19 , wherein the hierarchical data structure for the client content items and the hierarchical data structure for the shared content items are stored on the client device.

Assignments (2)
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 →