Content addressable information encapsulation, representation, and transfer
First Claim
1. A method for use in a computer system comprising at least first and second computers, wherein the first computer provides content addressable storage, the method comprising acts of:
- (A) receiving, at the first computer, a communication from the second computer including a unit of data;
(B) storing the unit of data at a storage location managed by the first computer; and
(C) associating the unit of data with an identifier for the unit of data, wherein the identifier is based, at least in part, on the content of the unit of data and is the only identifier that can be used to identify the unit of data in any communication between the first and second computers.
2 Assignments
0 Petitions
Accused Products
Abstract
Representing a number of assets on an originating computer begins with selecting the assets to be represented. Cryptographic hash asset identifiers are generated; each of the asset identifiers is computed using the contents of a particular asset. The asset identifier is a content-based or content-addressable asset name for the asset and is location independent. An asset list is generated that includes the asset identifiers computed from the assets. A cryptographic hash asset list identifier is generated that is computed from the asset list. The asset list identifier is stored for later retrieval. The assets selected are also stored for safekeeping either locally or on a computer network. In the event of loss of the files from the originating computer, the asset list identifier is retrieved. Using the asset list identifier, the original asset list is found and retrieved from its safe location. The asset identifiers from the retrieved asset list are used to find and retrieve the individual assets from their backup locations. The assets are verified by recomputing the cryptographic hash asset identifier for each asset retrieved and comparing it to the asset identifier from the asset list. The MD5 algorithm is used for the cryptographic hash function. Assets are retrieved using a multicast protocol. A series of importer programs searches for assets to retrieve in progressively more remote locations. Assets are retrieved whole or in segments.
-
Citations
153 Claims
-
1. A method for use in a computer system comprising at least first and second computers, wherein the first computer provides content addressable storage, the method comprising acts of:
-
(A) receiving, at the first computer, a communication from the second computer including a unit of data; (B) storing the unit of data at a storage location managed by the first computer; and (C) associating the unit of data with an identifier for the unit of data, wherein the identifier is based, at least in part, on the content of the unit of data and is the only identifier that can be used to identify the unit of data in any communication between the first and second computers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. At least one computer readable medium encoded with instructions that, when executed on a computer system, perform a method, wherein the computer system comprises at least first and second computers, wherein the first computer provides content addressable storage, and wherein the method comprises acts of:
-
(A) receiving a communication from the second computer including a unit of data on the first computer; (B) storing the unit of data at a storage location managed by the first computer; and (C) associating the unit of data with an identifier for the unit of data, wherein the identifier is based, at least in part, on the content of the unit of data and is the only identifier that can be used to identify the unit of data in any communication between the first and second computers. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
-
-
55. A first computer that provides content addressable storage for use in a computer system comprising the first computer and a second computer, the first computer comprising:
-
at least one storage device; and at least one controller, coupled to the at least one storage device, that; provides a communication interface for communication between the first and second computers, wherein an identifier for a unit of data, which is based, at least in part, on the unit of data, is the only identifier that can be used to identify the unit of data via the communication interface; receives a communication from the second computer via the communication interface including the unit of data on the first computer; and stores the unit of data at a storage location on the at least one storage device. - View Dependent Claims (56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81)
-
-
82. A method for use in a computer system comprising at least first and second computers, wherein the first computer provides content addressable storage, the method comprising acts of:
-
(A) transmitting, from the second computer, a communication to the first computer including a unit of data; and (B) associating, at the second computer, the unit of data with an identifier for the unit of data, wherein the identifier is based, at least in part, on the content of the unit of data and is the only identifier that can be used to identify the unit of data in any communication between the first and second computers. - View Dependent Claims (83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105)
-
-
106. At least one computer readable medium encoded with instructions that, when executed on a computer system perform a method, wherein the computer system comprises at least first and second computers, wherein the first computer provides content addressable storage, and wherein the method comprises acts of:
-
(A) transmitting, from the second computer, a communication to the first computer including a unit of data; and (B) associating, at the second computer, the unit of data with an identifier for the unit of data, wherein the identifier is based, at least in part, on the content of the unit of data and is the only identifier that can be used to identify the unit of data in any communication between the first and second computers. - View Dependent Claims (107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129)
-
-
130. A first computer for use in a computer system comprising the first computer and a second computer, wherein the second computer provides content addressable storage, and wherein the first computer comprises:
-
an output for transmitting access requests; and at least one controller, coupled to the output, that; provides a communication interface for communication between the first and second computers, wherein an identifier for a unit of data, which is based, at least in part, on the unit of data, is the only identifier that can be used to identify the unit of data via the communication interface; and transmits a communication to the second computer via the communication interface including the unit of data. - View Dependent Claims (131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153)
-
Specification