STORAGE CONSTRAINED SYNCHRONIZATION ENGINE
First Claim
1. A method comprising:
- storing, on the client device, a local file journal, the local file journal comprising a plurality of local entries, each of the plurality of local entries corresponding to a synchronized item on the client device, and having a local namespace ID of the synchronized item, a local journal ID of the synchronized item, a local blocklist of the synchronized item, a plurality of local attributes of the synchronized item, and wherein each synchronized item corresponds to a content item or a shadow item on the client device;
receiving, by a client device, an updated entry from a content management system, the updated entry including an updated namespace ID of content item, an updated journal ID of the content item, an updated blocklist of the content item, a plurality of updated attributes of the content item, and an updated sync type of the content item;
comparing the received updated entry to the plurality of local entries in the local file journal, to identify a shadow item on the client device representing the content stored on the content management system, wherein the shadow item includes at least the namespace ID of the represented content item and the journal ID of the represented content item without the content data of the represented content item;
updating the identified shadow item by replacing the namespace ID of the shadow item with the updated namespace ID and replacing the journal ID of the shadow item with the updated journal ID; and
replacing the local entry corresponding to the shadow item with the updated entry.
3 Assignments
0 Petitions
Accused Products
Abstract
A content management system synchronizes content items across client computing systems connected by a network. If a storage allocation for shared content items on a client device is exceeded by the request to add or edit a content item such that it is enlarged, a client application or the host of content management system selects content items to remove from residence on the client device but keep remotely on content management system. Upon removal of the selected content items, the client application creates shadow items, representing the content item but only containing the metadata of the content item. This creates sufficient space while maintaining user access to all synchronized shared content items. Entries in a file journal may be used to track and manage whether a stored item is a content item or a shadow item.
62 Citations
20 Claims
-
1. A method comprising:
-
storing, on the client device, a local file journal, the local file journal comprising a plurality of local entries, each of the plurality of local entries corresponding to a synchronized item on the client device, and having a local namespace ID of the synchronized item, a local journal ID of the synchronized item, a local blocklist of the synchronized item, a plurality of local attributes of the synchronized item, and wherein each synchronized item corresponds to a content item or a shadow item on the client device; receiving, by a client device, an updated entry from a content management system, the updated entry including an updated namespace ID of content item, an updated journal ID of the content item, an updated blocklist of the content item, a plurality of updated attributes of the content item, and an updated sync type of the content item; comparing the received updated entry to the plurality of local entries in the local file journal, to identify a shadow item on the client device representing the content stored on the content management system, wherein the shadow item includes at least the namespace ID of the represented content item and the journal ID of the represented content item without the content data of the represented content item; updating the identified shadow item by replacing the namespace ID of the shadow item with the updated namespace ID and replacing the journal ID of the shadow item with the updated journal ID; and replacing the local entry corresponding to the shadow item with the updated entry. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable storage medium storing instructions that, when executed by a client device, cause the client device to perform operations comprising:
-
receiving, by the client device, an updated entry from a content management system, the updated entry including an updated namespace ID, an updated journal ID, an updated blocklist, a plurality of updated attributes, and an updated sync type; comparing the received updated entry to a plurality of local entries, each of the plurality of local entries having a local namespace ID, a local journal ID, a local blocklist, a plurality of local attributes, and wherein each local entry corresponds to a content item or a shadow item on the client device; identifying, based on the comparison, a shadow item on the client device, the shadow item representing a content item stored on the content management system, wherein the shadow item includes at least the namespace ID of the represented content item and the journal ID of the represented content item without the content data of the represented content item; updating the identified shadow item by replacing the namespace ID of the shadow item with the updated namespace ID and replacing the journal ID of the shadow item with the updated journal ID; and replacing the local entry corresponding to the shadow item with the updated entry. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system comprising:
- a processor, and
a non-transitory computer-readable storage medium storing instructions that, when executed by the processor, cause the processor to perform operations comprising; receiving, by a client device, an updated entry from a content management system, the updated entry including an updated namespace ID, an updated journal ID, an updated blocklist, a plurality of updated attributes, and an updated sync type; comparing the received updated entry to a plurality of local entries, each of the plurality of local entries having a local namespace ID, a local journal ID, a local blocklist, a plurality of local attributes, and wherein each local entry corresponds to a content item or a shadow item on the client device; identifying, based on the comparison, a shadow item on the client device, the shadow item representing a content item stored on the content management system, wherein the shadow item includes at least the namespace ID of the represented content item and the journal ID of the represented content item without the content data of the represented content item; updating the identified shadow item by replacing the namespace ID of the shadow item with the updated namespace ID and replacing the journal ID of the shadow item with the updated journal ID; and replacing the local entry corresponding to the shadow item with the updated entry. - View Dependent Claims (16, 17, 18, 19, 20)
- a processor, and
Specification