Content Item Synchronization By Block
First Claim
1. A method comprising:
- receiving, at an online content management system from a remote uploading client computer via a network, a blocklist of block identifiers for a content item and a first block corresponding to a first block identifier in the blocklist;
identifying, by the online content management system, a remote receiving client computer to receive the content item; and
prior to receipt, by the online content management system, of all blocks corresponding to the blocklist of block identifiers, transmitting, by the content management system, the blocklist and the first block to the remote receiving client computer via the network.
4 Assignments
0 Petitions
Accused Products
Abstract
A content management system synchronizes content items across client computing systems. The content items are transmitted to the content management system and managed as blocks of data with a fixed size. When a new content item is added to synchronized data at a client, the client transmits the blocks and a blocklist to the content management system. The content management system uses the blocklist to determine blocks expected to be received at the content management system and the client begins to transmit blocks of the content item to the content management system. When blocks received at the content management system match expected blocks, the content management system notifies receiving clients to begin receiving blocks for the content item, prior to receipt of all blocks on the blocklist at the content management system. This enables content items to begin synchronization across clients prior to actual entry of the content item into the content management system.
-
Citations
20 Claims
-
1. A method comprising:
-
receiving, at an online content management system from a remote uploading client computer via a network, a blocklist of block identifiers for a content item and a first block corresponding to a first block identifier in the blocklist; identifying, by the online content management system, a remote receiving client computer to receive the content item; and prior to receipt, by the online content management system, of all blocks corresponding to the blocklist of block identifiers, transmitting, by the content management system, the blocklist and the first block to the remote receiving client computer via the network. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A content management system comprising:
-
a processor; a metadata server stored in a memory and executed by the processor and configured to receive a blocklist for a content item from a remote uploading client computer via a network, the blocklist identifying a list of block identifiers for a plurality of blocks for the content item; a block server stored in the memory and executed by the processor and configured to store received blocks of data and alert the metadata server when a block is received, and transmit stored blocks to a remote receiving client computer via the network; and a notification server stored in the memory and executed by the processor and configured to notify the receiving client computer that a block of data has been received, wherein notifying the receiving client computer occurs prior to receipt by the block server of all blocks corresponding to the blocklist; wherein the metadata server is further configured to, in response to an alert from the block server, determine whether the received block corresponds to a block identifier in the blocklist. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A non-transitory computer-readable medium containing instructions which when executed by a processor cause the processor to execute the steps of:
-
receiving, at an online content management system from a remote uploading client computer via a network, a blocklist of block identifiers for a content item and a first block corresponding to a first block identifier in the blocklist; identifying, by the content management system, a remote receiving client computer to receive the content item from a namespace associated with the content item; prior to receipt of all of the blocks by the content management system from the uploading client computer that correspond to the blocklist of block identifiers, notifying, by the content management system, the receiving client computer that the first block has been received; and transmitting, by the content management system, the blocklist and the received block of data to the receiving client via the network. - View Dependent Claims (14, 15, 16)
-
-
17. A method for synchronizing content items by a client device with a content management system, comprising:
-
receiving, by the client device from the content management system via a network, a notification that a block of data is available for a content item; receiving, by the client device, a blocklist identifying a list of block identifiers for a plurality of blocks constituting the content item, each block identifier comprising a hash value corresponding to a block in the plurality of blocks;
receiving, by the client device from the content management system, the block of data;determining that the block of data corresponds to a block identifier on the list of block identifiers; reconstructing, by the client device, a portion of the content item prior to receipt of all blocks designated by the list of block identifiers. - View Dependent Claims (18, 19, 20)
-
Specification