IP Library Granted Patent US 10,148,572
Granted Patent B2
US 10,148,572 · App. 15/194,135 · Granted Dec 4, 2018

Method and system for interest groups in a content centric network

Inventors: Christopher A. Wood (San Francisco, CA); Glenn C. Scott (Portola Valley, CA)
Assignee: Cisco Technology, Inc.
H04L45/748H04L45/20H04L45/306H04L47/32H04L67/2842H04L67/327
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,148,572
App. No.
15/194,135
Granted
Dec 4, 2018
Kind
B2
Abstract

One embodiment provides a system for facilitating efficient communication of an interest group packet indicating a collection of interests. During operation, the system receives, by an intermediate node, a first packet which has a name and indicates a set of member interests, wherein a member interest has a name, wherein a name is a hierarchically structured variable length identifier that includes contiguous name components ordered from a most general level to a most specific level. In response to obtaining a content object which satisfies a member interest, the system removes the indicated member interest from the first packet. The system adds an entry in a pending interest table for the first packet, wherein the entry indicates the name for the first packet, the name for each member interest, and an indicator of whether each member interest is satisfied. The system transmits the first packet to another node.

Claims (109)

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

receiving, by an intermediate node, a first packet which has a name and indicates a set of member interests respectively requesting content objects to satisfy the member interests, wherein each member interest has a name that is a hierarchically structured variable length identifier including contiguous name components ordered from a most general level to a most specific level;

in response to obtaining a particular content object, removing the member interest requesting the particular content object from the first packet;

adding an entry in a pending interest table for the first packet, wherein the entry indicates the name for the first packet, the name for each member interest, and a set of indicators respectively indicating which of the member interests are satisfied; and

after removing the member interest requesting the particular content object from the first packet, transmitting the first packet to another node, thereby facilitating efficient communication of the set of member interests indicated in the first packet.

2. The method of claim 1 , wherein the first packet further includes information associated with a condition for splitting the first packet into one or more individual interests respectively corresponding to one or more member interests of the set of member interests, wherein each individual interest has the same name as the respective corresponding member interest, wherein the method further comprises:

processing the one or more individual interests.

3. The method of claim 2 , wherein the information associated with the condition includes a hop count which indicates a number of remaining hops until the first packet is to be split into the one or more individual interests, wherein the method further comprises:

in response to determining that the hop count is equal to zero:

splitting the first packet into the one or more individual interests;

discarding the first packet; and

forwarding the one or more individual interests.

4. The method of claim 2 , wherein the information associated with the condition includes a name prefix, wherein the method further comprises:

in response to determining that the name prefix matches an entry in a forwarding information base based on a longest prefix match:

splitting the first packet into the one or more individual interests;

discarding the first packet; and

forwarding the one or more individual interests.

5. The method of claim 2 , wherein processing the one or more individual interests further comprises:

performing one or more lookups in a cache for one or more content objects to satisfy the one or more individual interests based on a name for the one or more individual interests;

in response to obtaining the one or more content objects to satisfy the one or more individual interests:

forwarding the one or more content objects to satisfy the one or more individual interests to a previous-hop node; and

removing from the pending interest table one or more matching entries corresponding to the one or more individual interests, or removing from the one or more matching entries an arrival interface associated with the one or more individual interests; and

in response to not obtaining the one or more content objects to satisfy the one or more individual interests:

performing one or more lookups in the pending interest table for the one or more matching entries corresponding to the one or more individual interests;

in response to obtaining the one or more matching entries, adding to the one or more matching entries the arrival interface associated with the one or more individual interests;

in response to not obtaining the one or more matching entries, adding one or more new matching entries corresponding to the one or more individual interests; and

forwarding the one or more individual interests.

6. The method of claim 1 , wherein in response to obtaining the particular content object, the method further comprises:

performing a lookup in the pending interest table for a matching entry corresponding to the first packet;

in response to obtaining the matching entry:

marking in the matching entry the indicator that the member interest requesting the particular content object is satisfied; and

in response to determining that all member interests of the set of member interests indicated in the matching entry are satisfied, removing the matching entry from the pending interest table; and

in response to not obtaining the matching entry:

in response to determining that one or more other member interests of the set of member interests are indicated in the first packet, adding a new matching entry in the pending interest table, wherein the new matching entry does not indicate the member interest requesting the particular content object; and

in response to determining that no other member interests of the set of member interests are indicated in the first packet, discarding the first packet.

7. The method of claim 1 , further comprising:

in response to not obtaining the particular content object, performing a lookup in the pending interest table for a matching entry corresponding to the first packet;

in response to obtaining the matching entry, marking in the matching entry the indicator that the member interest requesting the particular content object is satisfied; and

in response to not obtaining the matching entry, adding a new matching entry in the pending interest table for the first packet.

8. A computer system for facilitating forwarding of 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 an intermediate node, a first packet which has a name and indicates a set of member interests respectively requesting content objects to satisfy the member interests, wherein each member interest has a name that is a hierarchically structured variable length identifier including contiguous name components ordered from a most general level to a most specific level;

in response to obtaining a particular content object, removing the member interest requesting the particular content object from the first packet;

adding an entry in a pending interest table for the first packet, wherein the entry indicates the name for the first packet, the name for each member interest, and a set of indicators respectively indicating which of the member interests are satisfied; and

after removing the member interest requesting the particular content object from the first packet, transmitting the first packet to another node, thereby facilitating efficient communication of the set of member interests indicated in the first packet.

9. The computer system of claim 8 , wherein the first packet further includes information associated with a condition for splitting the first packet into one or more individual interests respectively corresponding to one or more member interests of the set of member interests, wherein each individual interest has the same name as the respective corresponding member interest, wherein the method further comprises:

processing the one or more individual interests.

10. The computer system of claim 9 , wherein the information associated with the condition includes a hop count which indicates a number of remaining hops until the first packet is to be split into the one or more individual interests, wherein the method further comprises:

in response to determining that the hop count is equal to zero:

splitting the first packet into the one or more individual interests;

discarding the first packet; and

forwarding the one or more individual interests.

11. The computer system of claim 9 , wherein the information associated with the condition includes a name prefix, wherein the method further comprises:

in response to determining that the name prefix matches an entry in a forwarding information base based on a longest prefix match:

splitting the first packet into the one or more individual interests;

discarding the first packet; and

forwarding the one or more individual interests.

12. The computer system of claim 9 , wherein processing the one or more individual interests further comprises:

performing one or more lookups in a cache for one or more content objects to satisfy the one or more individual interests based on a name for the one or more individual interests;

in response to obtaining the one or more content objects to satisfy the one or more individual interests:

forwarding the one or more content objects to satisfy the one or more individual interests to a previous-hop node; and

removing from the pending interest table one or more matching entries corresponding to the one or more individual interests, or removing from the one or more matching entries an arrival interface associated with the one or more individual interests; and

in response to not obtaining the one or more content objects to satisfy the one or more individual interests:

performing one or more lookups in the pending interest table for the one or more matching entries corresponding to the one or more individual interests;

in response to obtaining the one or more matching entries, adding to the one or more matching entries the arrival interface associated with the one or more individual interests;

in response to not obtaining the one or more matching entries, adding one or more new matching entries corresponding to the one or more individual interests; and

forwarding the one or more individual interests.

13. The computer system of claim 8 , wherein in response to obtaining the particular content object, the method further comprises:

performing a lookup in the pending interest table for a matching entry corresponding to the first packet;

in response to obtaining the matching entry:

marking in the matching entry the indicator that the member interest requesting the particular content object is satisfied; and

in response to determining that all member interests of the set of member interests indicated in the matching entry are satisfied, removing the matching entry from the pending interest table; and

in response to not obtaining the matching entry:

in response to determining that one or more other member interests of the set of member interests are indicated in the first packet, adding a new matching entry in the pending interest table, wherein the new matching entry does not indicate the member interest requesting the particular content object; and

in response to determining that no other member interests of the set of member interests are indicated in the first packet, discarding the first packet.

14. The computer system of claim 8 , wherein the method further comprises:

in response to not obtaining the particular content object, performing a lookup in the pending interest table for a matching entry corresponding to the first packet;

in response to obtaining the matching entry, marking in the matching entry the indicator that the member interest requesting the particular content object is satisfied; and

in response to not obtaining the matching entry, adding a new matching entry in the pending interest table for the first packet.

15. 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:

receiving, by an intermediate node, a first packet which has a name and indicates a set of member interests respectively requesting content objects to satisfy the member interests, wherein each member interest has a name that is a hierarchically structured variable length identifier including contiguous name components ordered from a most general level to a most specific level;

in response to obtaining a particular content object, removing the member interest requesting the particular content object from the first packet;

adding an entry in a pending interest table for the first packet, wherein the entry indicates the name for the first packet, the name for each member interest, and a set of indicators respectively indicating which of the member interests are satisfied; and

after removing the member interest requesting the particular content object from the first packet, transmitting the first packet to another node, thereby facilitating efficient communication of the set of member interests indicated in the first packet.

16. The storage medium of claim 15 , wherein the first packet further includes information associated with a condition for splitting the first packet into one or more individual interests respectively corresponding to one or more member interests of the set of member interests, wherein each individual interest has the same name as the respective corresponding member interest, wherein the method further comprises:

processing the one or more individual interests.

17. The storage medium of claim 16 , wherein the information associated with the condition includes a hop count which indicates a number of remaining hops until the first packet is to be split into the one or more individual interests, wherein the method further comprises:

in response to determining that the hop count is equal to zero:

splitting the first packet into the one or more individual interests;

discarding the first packet; and

forwarding the one or more individual interests.

18. The storage medium of claim 16 , wherein the information associated with the condition includes a name prefix, wherein the method further comprises:

in response to determining that the name prefix matches an entry in a forwarding information base based on a longest prefix match:

splitting the first packet into the one or more individual interests;

discarding the first packet; and

forwarding the one or more individual interests.

19. The storage medium of claim 15 , wherein in response to obtaining the particular content object, the method further comprises:

performing a lookup in the pending interest table for a matching entry corresponding to the first packet;

in response to obtaining the matching entry:

marking in the matching entry the indicator that the member interest requesting the particular content object is satisfied; and

in response to determining that all member interests of the set of member interests indicated in the matching entry are satisfied, removing the matching entry from the pending interest table; and

in response to not obtaining the matching entry:

in response to determining that one or more other member interests of the set of member interests are indicated in the first packet, adding a new matching entry in the pending interest table, wherein the new matching entry does not indicate the member interest requesting the particular content object; and

in response to determining that no other member interests of the set of member interests are indicated in the first packet, discarding the first packet.

20. The storage medium of claim 15 , wherein the method further comprises:

in response to not obtaining the particular content object, performing a lookup in the pending interest table for a matching entry corresponding to the first packet;

in response to obtaining the matching entry, marking in the matching entry the indicator that the member interest requesting the particular content object is satisfied; and

in response to not obtaining the matching entry, adding a new matching entry in the pending interest table for the first packet.

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 Jun 28, 2016
From: WOOD, CHRISTOPHER A.; SCOTT, GLENN C.
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 039032/0994 →
Continuity (1)
Related Publication 20170373974A1 · Dec 28, 2017
Cited By (1)
US 12,363,674