METHOD AND APPARATUS FOR UPLOADING MASS-DISTRIBUTED CONTENT TO A SERVER
First Claim
1. A method for uploading content to a server from a client comprising:
- dividing the content into data-blocks of a predetermined size;
computing a codeword for each data-block to form a set of codewords;
computing a composite codeword for the set of codewords by computing a function of the set of codewords, wherein the composite codeword can be used by the server to determine if the content is available on the server;
computing a content identifier for the content to differentiate the content from other content;
sending the composite codeword and the content identifier to the server;
receiving a response from the server indicating whether or not the content is present on the server; and
if the content is not present on the server, sending the content to the server.
0 Assignments
0 Petitions
Accused Products
Abstract
One embodiment of the present invention provides a system that facilitates uploading content from a client to a server. Upon receiving content, the client divides the content into smaller data-blocks of a predetermined size. Once the content has been divided, the client computes a codeword for each data-bock. Next, the client computes a composite codeword for the set of codewords by computing a function of the set of codewords. The client also computes a content identifier for the content to differentiate the content from other content. Once this is done, the client sends the composite codeword and the content identifier to the server, and receives a response from the server indicating whether or not the content is present on the server. If the content is not present on the server, the client sends the content to the server.
42 Citations
43 Claims
-
1. A method for uploading content to a server from a client comprising:
-
dividing the content into data-blocks of a predetermined size;
computing a codeword for each data-block to form a set of codewords;
computing a composite codeword for the set of codewords by computing a function of the set of codewords, wherein the composite codeword can be used by the server to determine if the content is available on the server;
computing a content identifier for the content to differentiate the content from other content;
sending the composite codeword and the content identifier to the server;
receiving a response from the server indicating whether or not the content is present on the server; and
if the content is not present on the server, sending the content to the server. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for receiving content at a server from a client comprising:
-
receiving a composite codeword and a content identifier for the content at the server, wherein the composite codeword is a function of a set of codewords, and wherein each codeword in the set of codewords is a function of a data-block of the content;
determining if the content already exists on the server by checking if the content identifier exists in a database of content identifiers;
if the content exists on the server, determining if the composite codeword matches a stored composite codeword for the content; and
if the composite codeword matches the stored composite codeword, notifying the client that the content is present on the server;
whereby only one copy of the content is maintained on the server regardless of the number of upload instances of the content. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for uploading content to a server from a client, the method comprising:
-
dividing the content into data-blocks of a predetermined size;
computing a codeword for each data-block to form a set of codewords;
computing a composite codeword for the set of codewords by computing a function of the set of codewords, wherein the composite codeword can be used by the server to determine if the content is available on the server;
computing a content identifier for the content to differentiate the content from other content;
sending the composite codeword and the content identifier to the server;
receiving a response from the server indicating whether or not the content is present on the server; and
if the content is not present on the server, sending the content to the server. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for receiving content at a server from a client, the method comprising:
-
receiving a composite codeword and a content identifier for the content at the server, wherein the composite codeword is a function of a set of codewords, and wherein each codeword in the set of codewords is a function of a data-block of the content;
determining if the content already exists on the server by checking if the content identifier exists in a database of content identifiers;
if the content exists on the server, determining if the composite codeword matches a stored composite codeword for the content; and
if the composite codeword matches the stored composite codeword, notifying the client that the content is present on the server;
whereby only one copy of the content is maintained on the server regardless of the number of upload instances of the content. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29)
-
-
30. An apparatus for uploading content to a server from a client comprising:
-
a dividing mechanism configured to divide the content into data-blocks of a predetermined size;
a codeword mechanism configured to compute a codeword for each data-block to form a set of codewords;
a composite codeword mechanism configured to compute a composite codeword for the set of codewords by computing a function of the set of codewords, wherein the composite codeword can be used by the server to determine if the content is available on the server;
a content identifier mechanism configured to compute a content identifier for the content to differentiate the content from other content;
a sending mechanism configured to send the composite codeword and the content identifier to the server;
a receiving mechanism configured to receive a response from the server indicating whether or not the content is present on the server; and
an uploading mechanism configured to send the content to the server if the content is not present on the server. - View Dependent Claims (31, 32, 33, 34, 35)
-
-
36. An apparatus for receiving content at a server from a client comprising:
-
a receiving mechanism configured to receive a composite codeword and a content identifier for the content at the server, wherein the composite codeword is a function of a set of codewords and wherein each codeword in the set of codewords is a function of a data-block of the content;
a determination mechanism configured to determine if the content already exists on the server by checking if the content identifier exists in a database of content identifiers;
a secondary determination mechanism configured to determine if the composite codeword matches a stored composite codeword for the content if the content exists on the server; and
a notification mechanism configured to notify the client that the content is present on the server if the composite codeword matches the stored composite codeword;
whereby only one copy of the content is maintained on the server regardless of the number of upload instances of the content. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43)
-
Specification