Resynchronizing metadata in a content management system
First Claim
1. A method comprising:
- identifying, via a client device, a local set of content items stored at the client device and associated with a user account at a content management system;
based on the local set of content items, generating, via the client device, a local tree data structure representing a filesystem state at the client device, the local tree data structure comprising a respective local node corresponding to each of the local set of content items;
receiving, from the content management system, a server state identifying a remote set of content items stored at the content management system and associated with the user account;
based on the server state, generating, via the client device, a remote tree data structure representing the remote set of content items, the remote tree data structure comprising a respective remote node corresponding to each of the remote set of content items;
based on the local tree data structure and the remote tree data structure, generating, via the client device, a sync tree data structure comprising a matching set of nodes in the local tree data structure and the remote tree data structure, the sync tree data structure representing a synchronized state between the filesystem state and the server state; and
storing the local tree data structure, the remote tree data structure, and the sync tree data structure at the client device.
2 Assignments
0 Petitions
Accused Products
Abstract
A client can resynchronize tree data structures representing a server, local, and sync state of content items in an account. In some aspects, the client identifies a local set of content items on the account and generates a local tree representing a filesystem state and including a local node for each item in the local set. The client determines a server state for a remote set of content items on the account. Based on the server state, the client generates a remote tree representing the remote set and including a respective node for each item in the remote set. Based on the local and remote trees, the client generates a sync tree including matching nodes between the local and remote trees, the sync tree representing a synchronized state between the filesystem state and the server state. The client then stores the local, remote, and sync trees.
298 Citations
20 Claims
-
1. A method comprising:
-
identifying, via a client device, a local set of content items stored at the client device and associated with a user account at a content management system; based on the local set of content items, generating, via the client device, a local tree data structure representing a filesystem state at the client device, the local tree data structure comprising a respective local node corresponding to each of the local set of content items; receiving, from the content management system, a server state identifying a remote set of content items stored at the content management system and associated with the user account; based on the server state, generating, via the client device, a remote tree data structure representing the remote set of content items, the remote tree data structure comprising a respective remote node corresponding to each of the remote set of content items; based on the local tree data structure and the remote tree data structure, generating, via the client device, a sync tree data structure comprising a matching set of nodes in the local tree data structure and the remote tree data structure, the sync tree data structure representing a synchronized state between the filesystem state and the server state; and storing the local tree data structure, the remote tree data structure, and the sync tree data structure at the client device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer readable medium comprising instructions, the instructions, when executed by a computing device, cause the computing device to:
-
identify a local set of content items associated with a user account registered at a content management system; based on the local set of content items, generate a local tree data structure representing a filesystem state at the computing device, the local tree data structure comprising a respective local node corresponding to each of the local set of content items; receive, from the content management system, a server state identifying a remote set of content items stored at the content management system and associated with the user account; based on the server state, generate a remote tree data structure representing the remote set of content items, the remote tree data structure comprising a respective remote node corresponding to each of the remote set of content items; based on the local tree data structure and the remote tree data structure, generate a sync tree data structure comprising a matching set of nodes in the local tree data structure and the remote tree data structure, the sync tree data structure representing a synchronized state between the filesystem state and the server state; and store the local tree data structure, the remote tree data structure, and the sync tree data structure at the computing device. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A computing device comprising:
-
one or more processors; and at least one non-transitory computer readable medium having stored therein instructions which, when executed by the one or more processors, cause the computing device to; identify a local set of content items associated with a user account registered at a content management system; based on the local set of content items, generate a local tree data structure representing a filesystem state at the computing device, the local tree data structure comprising a respective local node corresponding to each of the local set of content items; receive, from the content management system, a remote state corresponding to a remote set of content items on the content management system, the remote set of content items being associated with the user account; based on the remote state, generate a remote tree data structure representing the remote set of content items, the remote tree data structure comprising a respective remote node corresponding to each of the remote set of content items; based on the local tree data structure and the remote tree data structure, generate a sync tree data structure comprising a matching set of nodes in the local tree data structure and the remote tree data structure, the sync tree data structure representing a synchronized state between the filesystem state and the remote state; and store the local tree data structure, the remote tree data structure, and the sync tree data structure at the computing device. - View Dependent Claims (18, 19, 20)
-
Specification