IP Library Granted Patent US 9,535,968
Granted Patent B2
US 9,535,968 · App. 14/337,026 · Granted Jan 3, 2017

System for distributing nameless objects using self-certifying names

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,535,968
App. No.
14/337,026
Granted
Jan 3, 2017
Kind
B2
Abstract

A content replication system can cache nameless Content Object across multiple replica servers in a Content Centric Network (CCN). During operation, a CCN client can obtain a nameless Content Object from one or more content-hosting services by disseminating an Interest for a data collection, and receives a Content Object that includes a manifest for the data collection. The manifest can include Content Object hash (COH) values for a set of other Content Objects of the data collection. The client then determines a name prefix for a content-hosting service that hosts the data collection, and generates another Interest for a Content Object of the data collection. This Interest's name includes the name prefix for the content-hosting service, and also includes a COH value for the respective Content Object. The client disseminates the new Interest over CCN to obtain the respective Content Object of the data collection.

Claims (42)

1. A computer-implemented method, comprising:

disseminating an Interest for a data collection;

receiving a Content Object that includes a manifest for the data collection, wherein the manifest includes Content Object hash (COH) values for a set of other Content Objects of the data collection;

determining a name prefix for a content-hosting service that hosts at least a portion of the data collection;

generating a second Interest for a respective Content Object of the data collection, wherein a name for the second Interest includes the name prefix for the content-hosting service, does not indicate a name for the respective Content Object, and includes a COH value for the respective Content Object;

disseminating the second Interest to obtain the respective Content Object of the data collection; and

verifying the obtained respective Content Object by determining that a computed hash of the respective Content Object matches the COH value included in the name for the second Interest.

2. The method of claim 1 , wherein the other Content Objects of the data collection do not include a name, and are accessed based on their Content Object hash value.

3. The method of claim 1 , wherein the manifest includes a root manifest that specifies a name prefix for one or more content-hosting services that host at least a portion of the data collection.

4. The method of claim 3 , wherein the root manifest includes a signature for the root manifest.

5. The method of claim 3 , wherein determining the name prefix for the content-hosting service involves obtaining the name prefix from the root manifest.

6. The method of claim 1 , wherein the manifest includes a non-root manifest.

7. The method of claim 6 , wherein the non-root manifest does not include a name.

8. The method of claim 6 , wherein the non-root manifest does not include a signature for the non-root manifest.

9. The method of claim 6 , wherein obtaining the name prefix for the content-hosting service involves obtaining the name prefix from a root manifest associated with the data collection.

10. The method of claim 1 , wherein the other Content Objects of the data collection include a set of non-root manifests, or a set of data Content Objects.

11. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method, the method comprising:

disseminating an Interest for a data collection;

receiving a Content Object that includes a manifest for the data collection, wherein the manifest includes Content Object hash (COH) values for a set of other Content Objects of the data collection;

determining a name prefix for a content-hosting service that hosts at least a portion of the data collection;

generating a second Interest for a respective Content Object of the data collection, wherein a name for the second Interest includes the name prefix for the content-hosting service, does not indicate a name for the respective Content Object, and includes a COH value for the respective Content Object;

disseminating the second Interest to obtain the respective Content Object of the data collection; and

verifying the obtained respective Content Object by determining that a computed hash of the respective Content Object matches the COH value included in the name for the second Interest.

12. The storage medium of claim 11 , wherein the other Content Objects of the data collection do not include a name, and are accessed based on their Content Object hash value.

13. The storage medium of claim 11 , wherein the manifest includes a root manifest that specifies a name prefix for one or more content-hosting services that host at least a portion of the data collection.

14. The storage medium of claim 13 , wherein the root manifest includes a signature for the root manifest.

15. The storage medium of claim 13 , wherein determining the name prefix for the content-hosting service involves obtaining the name prefix from the root manifest.

16. The storage medium of claim 11 , wherein the manifest includes a non-root manifest.

17. The storage medium of claim 16 , wherein the non-root manifest does not include a name.

18. The storage medium of claim 16 , wherein the non-root manifest does not include a signature for the non-root manifest.

19. The storage medium of claim 16 , wherein obtaining the name prefix for the content-hosting service involves obtaining the name prefix from a root manifest associated with the data collection.

20. The storage medium of claim 11 , wherein the other Content Objects of the data collection include a set of non-root manifests, or a set of data Content Objects.

21. A computer-implemented method, comprising:

receiving, by a server of a content-hosting service, an Interest whose name includes a name prefix for the content-hosting service, and also includes a Content Object hash (COH) value for a Content Object hosted by the content-hosting service;

obtaining the Content Object whose hash matches the COH value; and

returning the Content Object, along a face from which the Interest was received, to satisfy the Interest.

22. The method of claim 21 , wherein the Content Object does not include a name.

23. The method of claim 21 , wherein the Content Object does not include a signature.

24. The method of claim 21 , wherein the Content Object includes one or more of:

metadata; and

a payload.

25. The method of claim 21 , wherein the Content Object includes a manifest for a data collection, wherein the manifest includes COH values for a set of other Content Objects of the data collection.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2017
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: CISCO SYSTEMS, INC.
Reel/Frame 041714/0373 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2017
From: CISCO SYSTEMS, INC.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 041715/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2014
From: MOSKO, MARC E.
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 033365/0833 →