IP Library Granted Patent US 10,701,038
Granted Patent B2
US 10,701,038 · App. 14/810,159 · Granted Jun 30, 2020

Content negotiation in a content centric network

Inventors: Glenn C. Scott (Los Altos, CA); Christopher A. Wood (Newport Beach, CA); Ignacio Solis (Scotts Valey, CA)
Assignee: Cisco Technology, Inc.
H04L63/0428H04L45/60H04L65/4084H04L67/02H04L67/1097H04L67/28H04L67/2842H04L67/327H04N21/23439H04L67/2847
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 10,701,038
App. No.
14/810,159
Granted
Jun 30, 2020
Kind
B2
Abstract

One embodiment provides a system that facilitates content negotiation in a content centric network. During operation, the system receives, by a content producing device, a packet that corresponds to a first interest, wherein an encoded name for the interest indicates a plurality of qualifiers for acceptable types of requested content, and wherein a name is a hierarchically structured variable length identifier which comprises contiguous name components. The system generates a first content object that satisfies one of the indicated plurality of qualifiers, wherein a name for the content object is the encoded name, and wherein a content object indicates data and a content type corresponding to the satisfied qualifier.

Claims (88)

1. A computer system for forwarding packets, the computer system comprising:

a processor; and

a storage device storing instructions that when executed by the processor cause the processor to perform a method, the method comprising:

receiving, by a content producing device, a packet that corresponds to a first interest, wherein a plurality of qualifiers for acceptable types of requested content is encoded in a first name associated with the first interest;

selecting a content negotiation method for the first interest, the content negotiation method selected from a group consisting of an oversupply method, an abstraction method, and a redirection method;

based on the selected content negotiation method for the first interest, generating a first content object that satisfies at least one of the plurality of qualifiers encoded in the first name, wherein the first content object is identified by the first name, and wherein the first content object includes data with a content type corresponding to the at least one satisfied qualifier;

forwarding the first content object to a network node that sent the packet that corresponds to the first interest;

performing an optimization operation by generating an unrequested content object based on the first interest, the unrequested content object satisfying a qualifier that is different than the at least one of the plurality of qualifiers encoded in the first name associated with the first interest; and

forwarding the unrequested content object to an intermediate network node between the content producing device and the network node that sent the packet that corresponds to the first interest.

2. The computer system of claim 1 , wherein the method further comprises:

encrypting data associated with the first content object based on authentication information; and

prepending the authentication information to the first content object.

3. The computer system of claim 1 , wherein the method further comprises:

encrypting data associated with the first content object based on authentication information; and

replacing the encrypted data with the authentication information.

4. The computer system of claim 1 , wherein the method further comprises:

associating a first access control policy with the first content object; and

associating a second access control policy with a second content object.

5. The computer system of claim 4 , wherein the unrequested content object is the second content object associated with the second access control policy.

6. The computer system of claim 1 , wherein the method further comprises:

selecting the oversupply method for the content negotiation method for the first interest;

generating the first content object as a multipart content object identified by the first name, wherein the first content object includes a plurality of member content objects, and wherein each member content object is identified by a content specific name; and

generating each member content object to satisfy a corresponding qualifier of the plurality of qualifiers encoded in the first name, wherein each member content object is identified by a corresponding content specific name encoding the corresponding qualifier.

7. A computer system for forwarding packets, the system comprising:

a processor; and

a storage device storing instructions that when executed by the processor cause the processor to perform a method, the method comprising;

receiving, by a content producing device, a packet that corresponds to a first interest, wherein a plurality of qualifiers for acceptable types of requested content is encoded in a first name;

selecting a redirection method for a content negotiation method of the first interest;

based on the redirection method selected for the content negotiation method of the first interest, generating a first content object that satisfies at least one of the plurality of qualifiers encoded in the first name, wherein the first content object is identified by the first name, and wherein the first content object indicates at least one content-specific name corresponding to the at least one satisfied qualifier;

forwarding the first content object to a network node that sent the packet that corresponds to the first interest;

receiving a packet that corresponds to a second interest, wherein the second interest is associated with a second name selected from the at least one content-specific names indicated in the first content object;

generating a second content object that satisfies the second interest, wherein the second content object is identified by the second name associated with the second interest;

forwarding the second content object to a network node that sent the packet that corresponds to the first interest;

performing an optimization operation by generating an unrequested content object based on the first interest, the unrequested content object satisfying a qualifier that is different than the at least one of the plurality of qualifiers encoded in the first name; and

forwarding the unrequested content object to an intermediate network node between the content producing device and the network node that sent the packet that corresponds to the first interest.

8. A computer-implemented method for forwarding packets, the method comprising:

receiving, by a content producing device, a packet that corresponds to a first interest, wherein a plurality of qualifiers for acceptable types of requested content is encoded in a first name associated with the first interest;

selecting a content negotiation method for the first interest, the content negotiation method selected from a group consisting of an oversupply method, an abstraction method, and a redirection method;

based on the selected content negotiation method for the first interest, generating a first content object that satisfies at least one of the plurality of qualifiers encoded in the first name, wherein the first content object is identified by the first name, and wherein the first content object includes data with a content type corresponding to the at least one satisfied qualifier;

forwarding the first content object to a network node that sent the packet that corresponds to the first interest;

performing an optimization operation by generating an unrequested content object based on the first interest, the unrequested content object satisfying a qualifier that is different than the at least one of the plurality of qualifiers encoded in the first name associated with the first interest; and

forwarding the unrequested content object to an intermediate network node between the content producing device and the network node that sent the packet that corresponds to the first interest.

9. The method of claim 8 , further comprising:

encrypting data associated with the first content object based on authentication information; and

prepending the authentication information to the first content object.

10. The method of claim 8 , further comprising:

encrypting data associated with the first content object based on authentication information; and

replacing the encrypted data with the authentication information.

11. The method of claim 8 , further comprising:

associating a first access control policy with the first content object; and

associating a second access control policy with a second content object.

12. The method of claim 11 , wherein the unrequested content object is the second content object associated with the second access control policy.

13. The method of claim 8 , further comprising:

selecting the oversupply method for the content negotiation method for the first interest;

generating the first content object as a multipart content object identified by the first name, wherein the first content object includes a plurality of member content objects, and wherein each member content object is identified by a content specific name; and

generating each member content object to satisfy a corresponding qualifier of the plurality of qualifiers encoded in the first name, wherein each member content object is identified by a corresponding content specific name encoding the corresponding qualifier.

14. A computer implemented method for forwarding packets, the method comprising:

receiving, by a content producing device, a packet that corresponds to a first interest, wherein a plurality of qualifiers for acceptable types of requested content is encoded in a first name;

selecting a redirection method for a content negotiation method of the first interest;

based on the redirection method selected for the content negotiation method of the first interest, generating a first content object that satisfies at least one of the plurality of qualifiers encoded in the first name, wherein the first content object is identified by the first name, and wherein the first content object indicates at least one content-specific name corresponding to the at least one satisfied qualifier;

receiving a packet that corresponds to a second interest, wherein the second interest is associated with a second name selected from the at least one content-specific names indicated in the first content object;

generating a second content object that satisfies the second interest, wherein the second content object is identified by the second name associated with the second interest;

forwarding the second content object to a network node that sent the packet that corresponds to the first interest;

performing an optimization operation by generating an unrequested content object based on the first interest, the unrequested content object satisfying a qualifier that is different than the at least one of the plurality of qualifiers encoded in the first name; and

forwarding the unrequested content object to an intermediate network node between the content producing device and the network node that sent the packet that corresponds to the first interest.

15. An apparatus comprising:

a communication module configured to send and receive data packets to and from network nodes across a computer network; and

a processor configured to:

receive, via the communication module, a packet that corresponds to a first interest, wherein a plurality of qualifiers for acceptable types of requested content is encoded in a first name associated with the first interest;

select a content negotiation method for the first interest, the content negotiation method selected from a group consisting of an oversupply method, an abstraction method, and a redirection method;

based on the selected content negotiation method for the first interest, generate a first content object that satisfies at least one of the plurality of qualifiers encoded in the first name, wherein the first content object is identified by the first name, and wherein the first content object includes data with a content type corresponding to the at least one satisfied qualifier;

cause the communication module to forward the first content object to a network node that sent the packet that corresponds to the first interest;

perform an optimization operation by generating an unrequested content object based on the first interest, the unrequested content object satisfying a qualifier that is different than the at least one of the plurality of qualifiers encoded in the first name associated with the first interest; and

cause the communication module to forward the unrequested content object to an intermediate network node between the apparatus and the network node that sent the packet that corresponds to the first interest.

16. The apparatus of claim 15 , wherein the processor is further configured to:

encrypt data associated with the first content object based on authentication information; and

prepend the authentication information to the first content object.

17. The apparatus of claim 15 , wherein the processor is further configured to:

encrypt data associated with the first content object based on authentication information; and

replace the encrypted data with the authentication information.

18. The apparatus of claim 15 , wherein the processor is further configured to:

associate a first access control policy with the first content object; and

associate a second access control policy with a second content object.

19. The apparatus of claim 18 , wherein the unrequested content object is the second content object associated with the second access control policy.

20. The apparatus of claim 15 , wherein the processor is further configured to:

select the oversupply method for the content negotiation method for the first interest;

generate the first content object as a multipart content object identified by the first name, wherein the first content object includes a plurality of member content objects, and wherein each member content object is identified by a content specific name; and

generate each member content object to satisfy a corresponding qualifier of the plurality of qualifiers encoded in the first name, wherein each member content object is identified by a corresponding content specific name encoding the corresponding qualifier.

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 31, 2015
From: SCOTT, GLENN C.; WOOD, CHRISTOPHER A.; SOLIS, IGNACIO
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 036231/0089 →
Cited By (1)
US 12,418,418