Content addressable information encapsulation, representation, and transfer
First Claim
1. A method of producing a unique, location independent identifier for a plurality of digital assets, said method comprising:
- selecting a plurality of digital assets, each such asset having associated meta data;
generating an asset identifier for each of said assets, each of said asset identifiers being computed from at least a portion of the contents of a particular asset and uniquely identifying said particular asset;
generating an asset list which includes said generated asset identifiers and said meta data associated with said assets; and
generating an asset list identifier based upon at least a portion of the contents of said asset list, said generated asset list identifier uniquely identifying said asset list, whereby said generated asset list identifier references said assets and their associated meta data.
9 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
32 Claims
-
1. A method of producing a unique, location independent identifier for a plurality of digital assets, said method comprising:
-
selecting a plurality of digital assets, each such asset having associated meta data;
generating an asset identifier for each of said assets, each of said asset identifiers being computed from at least a portion of the contents of a particular asset and uniquely identifying said particular asset;
generating an asset list which includes said generated asset identifiers and said meta data associated with said assets; and
generating an asset list identifier based upon at least a portion of the contents of said asset list, said generated asset list identifier uniquely identifying said asset list, whereby said generated asset list identifier references said assets and their associated meta data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
translating said generated asset list identifier into a human-readable alphanumeric form, whereby said translated asset list identifier may be easily transferred and stored.
-
-
5. A method as recited in claim 1 further comprising:
-
identifying a file directory structure that is arranged to organize said assets when and/or if they are files; and
including said file directory structure and its relationship to said files in said asset list whereby said generated asset list identifier further identifies said file directory structure of said files.
-
-
6. A method as recited in claim 1 further comprising:
-
associating said generated asset list identifier with a file locator that indicates a potential location of said asset list; and
transferring said generated asset list identifier along with said file locator to a secure location or a recipient user.
-
-
7. A method as recited in claim 1 further comprising:
-
determining whether to retrieve said assets;
retrieving said asset list identifier when it is determined to retrieve said assets; and
broadcasting a request for said asset list identified by said asset list identifier.
-
-
8. A method as recited in claim 7 further comprising:
-
receiving said asset list including said asset identifiers; and
verifying that said asset list is correct by regenerating said asset list identifier based upon said received asset list.
-
-
9. A method as recited in claim 8 further comprising:
-
submitting a request for said assets identified by said asset identifiers in said received asset list;
receiving said requested assets; and
verifying that said assets are correct by regenerating an asset identifier for each of said assets.
-
-
10. A method of identifying a plurality of assets for later retrieval, said method comprising:
-
selecting a plurality of assets;
generating a cryptographic hash asset identifier for each of said assets;
creating a descriptor file that includes said cryptographic hash asset identifiers;
generating a cryptographic hash asset list identifier for said descriptor file; and
storing said assets, said descriptor file and said cryptographic hash asset list identifier in one or more locations in local and/or global memory, whereby said cryptographic hash asset list identifier may be used at a later time to retrieve said assets. - View Dependent Claims (11, 12, 13, 14)
translating said generated cryptographic hash asset list identifier into a human-readable alphanumeric form, whereby said translated cryptographic hash asset list identifier may be easily transferred and stored.
-
-
12. A method as recited in claim 10 further comprising:
-
identifying a file directory structure that is arranged to organize said files; and
including said file directory structure and its relationship to said files in said descriptor file, whereby said generated cryptographic hash asset list identifier further identifies said file directory structure of said files.
-
-
13. A method as recited in claim 10 further comprising:
-
retrieving said cryptographic hash asset list identifier; and
signaling a request for said descriptor file identified by said cryptographic hash asset list identifier.
-
-
14. A method as recited in claim 10 wherein each asset has associated meta data, and said element of creating includes:
creating a descriptor file that includes said cryptographic hash asset identifiers and said meta data associated with said files, whereby said cryptographic hash asset list identifier may be used at a later time to retrieve said files and their associated meta data.
-
15. A method of reliably identifying a copy of an asset comprising:
-
selecting an asset to be later retrieved;
generating a cryptographic hash asset identifier that is computed from at least a portion of the contents of said selected asset;
obtaining a copy of said asset;
verifying the integrity of said copy of said asset by recomputing the cryptographic hash asset identifier from said copy;
storing said cryptographic hash asset identifier in a descriptor file;
generating a cryptographic hash asset list identifier that is computed from a portion of the contents of said descriptor file;
retrieving said cryptographic hash asset list identifier; and
obtaining said descriptor file. - View Dependent Claims (16, 17, 18)
translating said generated cryptographic hash asset list identifier into a human-readable alphanumeric form, whereby said translated asset list identifier may be easily stored and retrieved.
-
-
17. A method as recited in claim 15 further comprising:
-
identifying a file directory structure that is arranged to hold said file; and
including said file directory structure and its relationship to said file in said descriptor file, whereby said generated cryptographic hash asset list identifier further identifies said asset directory structure of said file.
-
-
18. A method as recited in claim 15 wherein said asset has associated meta data, said method further comprising:
-
storing in said descriptor file said meta data associated with said asset; and
obtaining said descriptor file including said meta data, whereby said associated meta data is obtained along with said copy of said asset.
-
-
19. A method of retrieving a plurality of identified assets from a location comprising:
-
receiving an asset list identifier that uniquely identifies a descriptor file corresponding to said desired assets;
retrieving said descriptor file using said asset list identifier, said descriptor file including an asset identifier for each of said desired assets, each of said asset identifiers uniquely identifying one of said desired assets;
retrieving a second plurality of assets using said asset identifiers; and
verifying that said retrieved assets correspond to said desired assets using said asset identifiers. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
computing a new asset identifier for each of said retrieved assets using the same cryptographic hash function used to compute said asset identifier for each of said desired assets; and
comparing said new asset identifiers of said retrieved assets to said asset identifiers of said descriptor file, whereby a new asset identifier that matches an asset identifier for a given one of said assets indicates that said asset is verified.
-
-
21. A method as recited in claim 19 wherein said asset identifiers and said asset list identifier are generated using a cryptographic hash function.
-
22. A method as recited in claim 21 wherein said cryptographic hash function is the MD5 algorithm.
-
23. A method as recited in claim 19 further comprising:
-
reading a file directory structure arranged to organize said desired files from said descriptor file; and
placing said retrieved files into a file hierarchy similar to said file directory structure.
-
-
24. A method as recited in claim 19 further comprising:
-
signaling a request for said desired files identified by said file identifiers over a computer network; and
receiving said second plurality of files from locations on said computer network.
-
-
25. A method as recited in claim 19 further comprising:
verifying that said descriptor file is correct by regenerating said file list identifier based upon said retrieved descriptor file.
-
26. A method as recited in claim 19 further comprising:
retrieving said second plurality of files by using a plurality of importer programs arranged to search for said second plurality of files in progressively more remote locations.
-
27. A method as recited in claim 19 wherein each of said files includes associated meta data, and wherein said descriptor file includes said associated meta data along with each of said file identifiers, said method further comprising:
obtaining said associated meta data for each of said files.
-
28. A system for transferring a digital asset comprising:
-
a digital asset;
a descriptor file that includes an asset identifier for said asset, said asset identifier being the result of a cryptographic hash function based upon at least a portion of the contents of said digital asset;
a descriptor file identifier that is the result of a cryptographic hash function based upon at least a portion of the contents of said descriptor file;
an importer program arranged to accept said asset identifier from said descriptor file and to retrieve said digital asset using said asset identifier, whereby said digital asset may be reliably identified as the digital asset to be transferred. - View Dependent Claims (29, 30, 31, 32)
a plurality of computer files, and wherein said descriptor file includes a file directory structure that is arranged to organize said computer files, whereby said descriptor file identifier further identifies said file directory structure of said computer files.
-
-
31. A system as recited in claim 28 further comprising:
a series of importer programs arranged to search for said computer file in progressively more remote locations.
-
32. A system as recited in claim 28 wherein said descriptor file further includes:
meta data associated with said file.
Specification