Abstract:
The present technology pertains to responding to a kernel level file event for a content item and presenting a file event window associated with the content item. A client device can detect the kernel level file event for the content item. This can be accomplished using a kernel extension on a client device that is networked with a content management system. The client device can then retrieve data associated with the content item, including an instruction for the content item. The client device can then perform the instruction. This instruction can be to retrieve collaboration data from the content management system and present the collaboration data in a file event window.
Abstract:
The present technology pertains to a organization directory hosted by a synchronized content management system. The corporate directory can provide access to user accounts for all members of the organization to all content items in the organization directory on the respective file systems of the members' client devices. Members can reach any content item at the same path as other members relative to the organization directory root on their respective client device. In some embodiments novel access permissions are granted to maintain path consistency.
Abstract:
A content item block replication protocol for multi-premises hosting of digital content items. In one embodiment, for example, a method comprises: receiving, from a server, a server journal entry identifying one or more content item blocks of a content item represented by the server journal entry; storing a replication log entry corresponding to the server journal entry in a replication log, the replication log entry identifying the one or more content item blocks of the content item represented by the server journal entry and identifying a block server; and either offering to send the one or more content item blocks identified in the replication log entry to the block server identified in the replication log entry, or downloading the one or more content item blocks identified in the replication log entry from the block server identified in the replication log entry.
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.
Abstract:
A technique and various aspects thereof for apparent cloud access of a hosted content item. In one embodiment, for example, a method performed at a personal computing device comprising a user agent comprises: receiving a block agent request for a content item from the user agent; determining content item block identifiers of content item blocks that make up the content item; determining which, if any, of the content item blocks that make up the content item are not stored in a local storage of the personal computing device; downloading, from a block server of an online content management system, any of the content item blocks that are not stored in a local storage of the personal computing device; and sending to the user agent, in a response to the block agent request, data of each of the content item blocks that make up the content item.
Abstract:
Nested namespaces for selective content sharing are provided. In a content management system, content is stored for a plurality of users. The content includes a plurality of content items and a plurality of folders arranged in a plurality of hierarchies. A plurality of root namespaces is established. Each root namespace is rooted to a root folder of an account. A first namespace rooted to a first folder selected from the plurality of folders is established. First permissions are maintained for the first namespace, granting access to a first set of users. A request to share a second folder is received. The second folder is a child of the first folder in a particular hierarchy. A second namespace rooted to the second folder is established. Second permissions are maintained for the second namespace, granting access to a second set of users.
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.
Abstract:
A synchronization protocol for multi-premises hosting of digital content items. In an embodiment, a method includes receiving a first commit request including a first set of one or more identifiers of one or more first content item blocks. The one or more first content item blocks make up a content item stored at a computing device. Further, the method includes, based at least in part on the first commit request, determining a second set of one or more identifiers that includes one or more identifiers of the first set of one or more identifiers not yet stored at a content item block server. The method also includes sending, to the computing device, the second set of one or more identifiers, and receiving a second commit request including the first set of one or more identifiers of the one or more first content item blocks, and an identifier of the content item block server. In this embodiment, the method then includes determining that no content item block from the one or more first content item blocks is missing at the content item block server, and committing the content item to the content item block server.
Abstract:
A peer-to-peer synchronization protocol for multi-premises hosting of digital content items. In one embodiment, for example, a method comprises the operations of: receiving, from a peer computing device, a peer download advertisement comprising an identifier of a content item namespace in association with a peer client journal cursor value; receiving, from a server, one or more server journal entries, each identifying one or more content item blocks of a content item represented by the server journal entry and each having a server journal cursor value; and for at least one server journal entry, downloading, from the peer computing device, at least one content item block of the content item represented by the server journal entry that is not already stored at the computing device.
Abstract:
The present technology pertains to responding to a kernel level file event for a content item and presenting a file event window associated with the content item. A client device can detect the kernel level file event for the content item. This can be accomplished using a kernel extension on a client device that is networked with a content management system. The client device can then retrieve data associated with the content item, including an instruction for the content item. The client device can then perform the instruction. This instruction can be to retrieve collaboration data from the content management system and present the collaboration data in a file event window.