A replica service of a Content Centric Network can host content published by various publishers, without having to explicitly advertise a name prefix associated with these various publishers. Consumers across CCN can generate an Interest that includes a location-independent name associated with a replica service that hosts content for a given publisher, and includes a hash of the desired Content Object. CCN nodes can forward the Interest to the corresponding replica service based on the Interest's name, and the replica service can return a nameless Content Object whose hash matches the Interest's hash value. It may be possible for nameless Content Objects from various publishers to have matching hash values from time to time. CCN nodes can reduce collisions of nameless Content Objects by using a Publisher ID specified in an Interest to find a matching Content Object that was published by a desired publisher.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method, comprising: receiving, by a computer in a computer network, an Interest for a Content Object over the computer network or from an application being executed by the computer, wherein the Interest includes a location-independent name prefix related to a content producer that hosts the Content Object, a Content Object hash value that specifies a hash of the Content Object, and a Publisher ID related to a publisher of the Content Object; generating an entry for the Content Object in a Pending Interest Table (PIT); mapping, in the entry, the Content Object hash value and Publisher ID of the Interest to an interface of the computer from which the Interest was received; in response to receiving the Content Object: determining that the Content Object does not include a name; in response to determining that the Content Object does not include a name, computing a hash value for the Content Object; and obtaining a Publisher ID from the Content Object; determining whether the computed hash value matches the Content Object hash value in the entry and whether the Publisher ID of the Content Object matches the Publisher ID of the entry to reduce collision of two or more computed hash values; and in response to determining that the computed hash value matches the Content Object hash value in the entry and that the Publisher ID of the Content Object matches the Publisher ID of the entry, forwarding the Content Object via the interface specified in the entry to satisfy the Interest.
2. The method of claim 1 , further comprising: performing a lookup operation in a cache repository using the Content Object hash value and Publisher ID; and in response to identifying, from the cache repository, a Content Object whose hash value matches the Interest's Content Object hash value and whose Publisher ID matches the Interest's Publisher ID, returning the identified Content Object to satisfy the Interest.
3. The method of claim 1 , further comprising: performing a lookup operation in the PIT using the computed hash value to search for an entry that includes a matching Content Object hash value, and includes a matching Publisher ID.
4. The method of claim 1 , further comprising: receiving the Content Object over the computer network; and in response to determining that the Content Object includes a name, performing a lookup operation in the PIT using the Content Object's name to search for an entry that includes a name that matches at least a prefix of the Content Object's name.
5. The method of claim 1 , wherein obtaining the Publisher ID from the Content Object involves: in response to determining that the Content Object includes a Key ID field and does not include a signature, obtaining the Publisher ID from the Content Object's Key ID field.
6. A non-transitory computer-readable storage medium storing instructions that when executed by a computer in a computer network cause the computer to: receive, over the computer network or from an application being executed by the computer, an Interest for a Content Object, wherein the Interest includes a location-independent name prefix related to a content producer that hosts the Content Object, a Content Object hash value that specifies a hash of the Content Object, and a Publisher ID related to a publisher of the Content Object; generate an entry for the Content Object in a Pending Interest Table (PIT); map, in the entry, the Content Object hash value and Publisher ID of the Interest to an interface of the computer from which the Interest was received; in response to receiving the Content Object: determine that the Content Object does not include a name; in response to determining that the Content Object does not include a name, compute a hash value for the Content Object; and obtain a Publisher ID from the Content Object; determine whether the computed hash value matches the Content Object hash value in the entry and whether the Publisher ID of the Content Object matches the Publisher ID of the entry to reduce collision of two or more computed hash values; and in response to determining that the computed hash value matches the Content Object hash value in the entry and that the Publisher ID of the Content Object matches the Publisher ID of the entry, forward the Content Object via the interface specified in the entry to satisfy the Interest.
7. The non-transitory computer-readable storage medium of claim 6 , wherein the instructions cause the computer further to: perform a lookup operation in a cache repository using the Content Object hash value and Publisher ID; and in response to identifying, from the cache repository, a Content Object whose hash value matches the Interest's Content Object hash value and whose Publisher ID matches the Interest's Publisher ID, return the identified Content Object to satisfy the Interest.
8. The non-transitory computer-readable storage medium of claim 6 , wherein the instructions cause the computer further to: perform a lookup operation in the PIT using the computed hash value to search for an entry that includes a matching Content Object hash value, and includes a matching Publisher ID.
9. The non-transitory computer-readable storage medium of claim 6 , wherein the instructions cause the computer further to: receive the Content Object over the computer network; and in response to determining that the Content Object includes a name, perform a lookup operation in the PIT using the name of the Content Object to search for an entry that includes a name that matches at least a prefix of the name of the Content Object.
10. The non-transitory computer-readable storage medium of claim 6 , wherein the instructions cause the computer to obtain the Publisher ID from the Content Object by: in response to determining that the Content Object includes a Key ID field and does not include a signature, obtaining the Publisher ID from the Content Object's Key ID field.
11. An apparatus, comprising: a processor; and a memory configured to store instructions, wherein the processor, when executing the instructions, is configured to: receive an Interest for a Content Object over a computer network or from an application being executed by the computer, wherein the Interest includes a location-independent name prefix related to a content producer that hosts the Content Object, a Content Object hash value that specifies a hash of the Content Object, and a Publisher ID related to a publisher of the Content Object; generate an entry for the Content Object in a Pending Interest Table (PIT); map, in the entry, the Content Object hash value and Publisher ID of the Interest to an interface of the computer from which the Interest was received; in response to receiving the Content Object: determine that the Content Object does not include a name; in response to determining that the Content Object does not include a name, compute a hash value for the Content Object; and obtain the Publisher ID from the Content Object; determine whether the computed hash value of the Content Object matches the Content Object hash value in the entry, and whether the Content Object's Publisher ID matches the Publisher ID of the entry to reduce collision of two or more computed hash values; and in response to the computed Content Object's hash value and Publisher ID matching the Content Object hash value and Publisher ID of the entry, forward the Content Object via the interface specified in the entry to satisfy the Interest.
12. The apparatus of claim 11 , wherein the processor is further configured to perform a lookup operation in a cache repository using the Content Object hash value and Publisher ID; and in response to identifying a cached Content Object whose hash value matches the Interest's Content Object hash value and whose Publisher ID matches the Interest's Publisher ID, the processor is configured to return the cached Content Object to satisfy the Interest.
13. The apparatus of claim 11 , wherein the processor is further configured to: perform a lookup operation in the PIT using the computed hash value to search for an entry that includes a matching Content Object hash value, and includes a matching Publisher ID.
14. The apparatus of claim 11 , wherein the processor is further configured to: receive the Content Object over the computer network; and in response to determining that the Content Object includes a name, perform a lookup operation in the PIT using the name of the Content Object to search for an entry that includes a name that matches at least a prefix of the name of the Content Object.
15. The method of claim 1 , further comprising: forwarding the Interest based on the location-independent name prefix and not based on the Publisher ID.
16. The method of claim 1 , wherein the location-independent name prefix is a hierarchically structured variable-length identifier.
17. The non-transitory computer-readable storage medium of claim 6 , wherein the instructions cause the computer further to: forward the Interest based on the location-independent name prefix and not based on the Publisher ID.
18. The non-transitory computer-readable storage medium of claim 6 , wherein the location-independent name prefix is a hierarchically structured variable-length identifier.
19. The apparatus of claim 11 , wherein the processor is further configured to: forward the Interest based on the location-independent name prefix and not based on the Publisher ID.
20. The apparatus of claim 11 , wherein the location-independent name prefix is a hierarchically structured variable-length identifier.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
March 4, 2016
August 11, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.