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; and
responsive to receiving the blocklist of block identifiers and the first block at the online content management system, synchronizing, by the online content management system, the content item with another client computer prior to receipt by the online content management system from the remote uploading client of all blocks corresponding to the blocklist of block identifiers, the synchronizing including;
identifying, by the online content management system, a remote receiving client computer to receive the content item, the remote receiving client computer synchronizing content items with the online content management system; and
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.
15 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; and responsive to receiving the blocklist of block identifiers and the first block at the online content management system, synchronizing, by the online content management system, the content item with another client computer prior to receipt by the online content management system from the remote uploading client of all blocks corresponding to the blocklist of block identifiers, the synchronizing including; identifying, by the online content management system, a remote receiving client computer to receive the content item, the remote receiving client computer synchronizing content items with the online content management system; and 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; and wherein the receiving computer is configured to synchronize content items with the content management system and synchronize the content item prior to receipt by the content management system of all blocks corresponding to 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; responsive to receiving the blocklist of block identifiers and the first block at the online content management system, synchronizing, by the online content management system, the content item with another client computer prior to receipt by the online content management system from the remote uploading client of all blocks corresponding to the blocklist of block identifiers, the synchronizing including; identifying, by the content management system, a remote receiving client computer to receive the content item from a namespace associated with the content item, the remote receiving computer synchronizing content items with the online content management system; 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, wherein the client device synchronizes content items with the content management system; receiving, by the client device, a blocklist identifying a list of block identifiers for a plurality of blocks constituting the content item to synchronize with the content management system, 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