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;
identifying, by the online content management system, a remote receiving client computer to receive the content item; and
sending, by the online content management system, the blocklist and the first block of the content item to the remote receiving 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.
3 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.
22 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; identifying, by the online content management system, a remote receiving client computer to receive the content item; and sending, by the online content management system, the blocklist and the first block of the content item to the remote receiving 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. - 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)
-
-
14. 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; and responsive to receiving the blocklist of block identifiers and the first block at the online content management system; identifying, by the online content management system, a remote receiving client computer to receive the content item; and sending, by the online content management system, the blocklist and the first block of the content item to the remote receiving 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. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification