Selective synchronization and distributed content item block caching for multi-premises hosting of digital content items
First Claim
1. A method, comprising:
- at a computing device comprising local storage, one or more processors, and storage media storing one or more computer programs executed by the one or more processors to perform the method, performing operations comprising;
creating a placeholder file in a file system of the local storage, the placeholder file corresponding to a content item hosted with an online content management service, the content item belonging to a content item namespace, the content item namespace mounted in the file system, the content item namespace associated with a user account held with the online content management service that hosts the content item;
receiving identifiers of content item blocks of which the content item is composed from a server of the online content management service;
detecting an attempt to access the placeholder file;
based, at least in part, on the identifiers of the content items blocks received from the server of the online content management service, determining one or more content item blocks, of the content item blocks of which the content item is composed, that are not stored in the local storage of the computing device;
downloading, from one or more computing devices, the one or more content item blocks, of the content item blocks of which the content item is composed, that are not stored locally in the local storage of the computing device;
filling the placeholder file with the content item blocks of which the content item is composed;
wherein;
the receiving the identifiers of the content item blocks of which the content item is composed from the server of the online content management service is based, at least in part on, sending a client journal cursor value to the server;
the client journal cursor value represents updates to the content item namespace for which metadata about the updates have already been received at the computing device from a server of the online content management service;
the method further comprises receiving, from the server of the online content management service, one or more other identifiers of one or more other content items blocks of which one or more other content items belonging to the content item namespace is composed; and
the receiving the one or more other identifiers is based at least in part on the sending the client journal cursor value to the server.
3 Assignments
0 Petitions
Accused Products
Abstract
Selective synchronization and distributed content item block cache optimization for multi-premises hosting of digital content items. In one embodiment, for example, a method comprises: detecting an attempt to access a placeholder file corresponding to a content item, the placeholder file stored in the local storage of the computing device; determining one or more identifiers of one or more content item blocks of which the content item is composed; determining any content item blocks of the one or more content item blocks that are not stored in the local storage of the computing device; downloading, from one or more other computing devices coupled to a network to which the computing device is coupled, any content item blocks of the one of more content item blocks that are not stored locally in the local storage of the computing device; and filling the placeholder file with the one or more content item blocks.
-
Citations
21 Claims
-
1. A method, comprising:
-
at a computing device comprising local storage, one or more processors, and storage media storing one or more computer programs executed by the one or more processors to perform the method, performing operations comprising; creating a placeholder file in a file system of the local storage, the placeholder file corresponding to a content item hosted with an online content management service, the content item belonging to a content item namespace, the content item namespace mounted in the file system, the content item namespace associated with a user account held with the online content management service that hosts the content item; receiving identifiers of content item blocks of which the content item is composed from a server of the online content management service; detecting an attempt to access the placeholder file; based, at least in part, on the identifiers of the content items blocks received from the server of the online content management service, determining one or more content item blocks, of the content item blocks of which the content item is composed, that are not stored in the local storage of the computing device; downloading, from one or more computing devices, the one or more content item blocks, of the content item blocks of which the content item is composed, that are not stored locally in the local storage of the computing device; filling the placeholder file with the content item blocks of which the content item is composed; wherein; the receiving the identifiers of the content item blocks of which the content item is composed from the server of the online content management service is based, at least in part on, sending a client journal cursor value to the server; the client journal cursor value represents updates to the content item namespace for which metadata about the updates have already been received at the computing device from a server of the online content management service; the method further comprises receiving, from the server of the online content management service, one or more other identifiers of one or more other content items blocks of which one or more other content items belonging to the content item namespace is composed; and the receiving the one or more other identifiers is based at least in part on the sending the client journal cursor value to the server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computing device, comprising:
-
local storage; one or more processors; and storage media storing one or more computer programs comprising instructions configured for; creating a placeholder file in a file system of the local storage, the placeholder file corresponding to a content item hosted with an online content management service, the content item belonging to a content item namespace, the content item namespace mounted in the file system, the content item namespace associated with a user account held with the online content management service that hosts the content item; receiving identifiers of content item blocks of which the content item is composed from a server of the online content management service; detecting an attempt to access the placeholder file; based, at least in part, on the identifiers of the content items blocks received from the server of the online content management service, determining one or more content item blocks of the content item blocks of which the content item is composed that are not stored in the local storage of the computing device; downloading, from one or more computing devices, the one or more content item blocks, of the content item blocks of which the content item is composed, that are not stored locally in the local storage of the computing device; filling the placeholder file with the content item blocks of which the content item is composed; wherein; the receiving the identifiers of the content item blocks of which the content item is composed from the server of the online content management service is based, at least in part on, sending a client journal cursor value to the server; the client journal cursor value represents updates to the content item namespace for which metadata about the updates have already been received at the computing device from a server of the online content management service; the instructions further configured for receiving, from the server of the online content management service, one or more other identifiers of one or more other content items blocks of which one or more other content items belonging to the content item namespace is composed; and the receiving the one or more other identifiers is based at least in part on the sending the client journal cursor value to the server. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
Specification