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:
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:
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:
Techniques 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:
Techniques 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:
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 task log entry corresponding to the server journal entry in a replication task log, the replication task 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 task log entry to the block server identified in the replication task log entry, or downloading the one or more content item blocks identified in the replication task log entry from the block server identified in the replication task log entry.
Abstract:
A synchronization protocol for multi-premises hosting of digital content items. In one embodiment, for example, a method comprises the operations of: detecting creation or modification of a content item; determining a content item namespace to which the content item belongs; obtaining a plurality of identifiers of a plurality of block servers to which the content item namespace is assigned; making a selection of one of the plurality of block servers as a target block server; and uploading any content item blocks of the content item to the target block server that are not already stored at the target block server.
Abstract:
A synchronization protocol for multi-premises hosting of digital content items. In one embodiments, for example, a method, comprising: detecting creation or modification of a content item; determining a content item namespace to which the content item belongs; obtaining an identifier of a block server to which the content item namespace is assigned; and uploading any content item blocks of the content item to the block server that are not already stored at the block server.