IP Library Granted Patent US 9,832,116
Granted Patent B2
US 9,832,116 · App. 15/069,628 · Granted Nov 28, 2017

Adjusting entries in a forwarding information base in a content centric network

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,832,116
App. No.
15/069,628
Granted
Nov 28, 2017
Kind
B2
Abstract

One embodiment provides a system that facilitates dynamic adjustment of forwarding information in a CCN. During operation, the system receives, by forwarding circuitry, an interest with a name that is a hierarchically structured variable length identifier which comprises contiguous name components ordered from a most general level to a most specific level. The system identifies in a first data structure an entry for one or more name components of the name, wherein the entry includes a list of outgoing interfaces associated with the one or more name components. The system determines network properties in response to forwarding the interest to a first interface of the list. The system reorders the list in order of priority based on the network properties, thereby facilitating the forwarding circuitry to dynamically adjust a likelihood of using a respective interface for forwarding interests associated with the one or more name components.

Claims (62)

1. A computer system, the system comprising:

a processor;

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

receiving, by forwarding circuitry, an interest with a name that is a hierarchically structured variable length identifier which comprises contiguous name components ordered from a most general level to a most specific level;

identifying in a first data structure an entry for one or more name components of the name, wherein the entry includes a list of outgoing interfaces associated with the one or more name components;

determining network properties in response to forwarding the interest to a first interface of the list of outgoing interfaces; and

reordering the list of outgoing interfaces in order of priority based on the network properties, thereby facilitating the forwarding circuitry to dynamically adjust a likelihood of using a respective interface for forwarding interests associated with the one or more name components.

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

selecting a second interface from the reordered list; and

forwarding the interest to the second interface.

3. The computer system of claim 1 , wherein determining the network properties further comprises:

recording a round trip time that begins when the interest is forwarded to the first interface and ends when a responsive content object is received from the first interface; and

wherein the method further comprises reordering the list to indicate that a higher priority is based on a shorter round trip time for a respective interface.

4. The computer system of claim 1 , wherein determining the network properties further comprises:

receiving from the first interface an interest return message which indicates an error condition; and

wherein the method further comprises reordering the list to indicate that the first interface is of a lower priority than a second interface which has a recorded round trip time,

wherein a round trip time begins when the interest is forwarded to the second interface and ends when a responsive content object is received from the second interface.

5. The computer system of claim 1 , wherein the first data structure is a forwarding information base, and wherein an entry in the forwarding information base further includes, for a respective interface of the list of outgoing interfaces, one or more of:

an indicator of a round trip time that begins when the interest is forwarded to the first interface and ends when a responsive content object is received from the first interface;

an indicator of receipt of an interest return message which indicates an error condition; and

an indicator of a timeout of an entry in a pending interest table, wherein the timeout indicates that a responsive content object to the interest has not been received before an expiration of the entry.

6. The computer system of claim 1 , wherein the one or more name components comprise a name prefix, and wherein the one or more name components are contiguous name components beginning from the most general level.

7. The computer system of claim 1 , wherein determining the network properties further comprises:

in response to detecting in a second data structure a timeout of an entry for the interest after forwarding the interest to the first interface:

removing the first interface from the list; or

reordering the first interface to a lowest priority in the list.

8. The computer system of claim 7 , wherein the second data structure is a pending interest table, and wherein an entry in the pending interest table includes the interest name, a list of incoming interfaces from which the interest is received, a list of outgoing interfaces to which the interest is forwarded, and an expiry time which indicates a lifetime for the entry in the pending interest table.

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

calculating a weight for each outgoing interface based on the network properties; and

reordering the list to indicate that a higher priority is based on a greater calculated weight for a respective interface.

10. The computer system of claim 9 , wherein calculating the weight further comprises:

performing a function based on network properties determined over a period of time, wherein the period of time is a predetermined value or a user-defined value.

11. A computer-implemented method, comprising:

receiving, by forwarding circuitry, an interest with a name that is a hierarchically structured variable length identifier which comprises contiguous name components ordered from a most general level to a most specific level;

identifying in a first data structure an entry for one or more name components of the name, wherein the entry includes a list of outgoing interfaces associated with the one or more name components;

determining network properties in response to forwarding the interest to a first interface of the list of outgoing interfaces; and

reordering the list of outgoing interfaces in order of priority based on the network properties, thereby facilitating the forwarding circuitry to dynamically adjust a likelihood of using a respective interface for forwarding interests associated with the one or more name components.

12. The method of claim 11 , further comprising:

selecting a second interface from the reordered list; and

forwarding the interest to the second interface.

13. The method of claim 11 , wherein determining the network properties further comprises:

recording a round trip time that begins when the interest is forwarded to the first interface and ends when a responsive content object is received from the first interface; and

wherein the method further comprises reordering the list to indicate that a higher priority is based on a shorter round trip time for a respective interface.

14. The method of claim 11 , wherein determining the network properties further comprises:

receiving from the first interface an interest return message which indicates an error condition; and

wherein the method further comprises reordering the list to indicate that the first interface is of a lower priority than a second interface which has a recorded round trip time,

wherein a round trip time begins when the interest is forwarded to the second interface and ends when a responsive content object is received from the second interface.

15. The method of claim 11 , wherein the first data structure is a forwarding information base, and wherein an entry in the forwarding information base further includes, for a respective interface of the list of outgoing interfaces, one or more of:

an indicator of a round trip time that begins when the interest is forwarded to the first interface and ends when a responsive content object is received from the first interface;

an indicator of receipt of an interest return message which indicates an error condition; and

an indicator of a timeout of an entry in a pending interest table, wherein the timeout indicates that a responsive content object to the interest has not been received before an expiration of the entry.

16. The method of claim 11 , wherein the one or more name components comprise a name prefix, and wherein the one or more name components are contiguous name components beginning from the most general level.

17. The method of claim 11 , wherein determining the network properties further comprises:

in response to detecting in a second data structure a timeout of an entry for the interest after forwarding the interest to the first interface:

removing the first interface from the list; or

reordering the first interface to a lowest priority in the list.

18. The method of claim 17 , wherein the second data structure is a pending interest table, and wherein an entry in the pending interest table includes the interest name, a list of incoming interfaces from which the interest is received, a list of outgoing interfaces to which the interest is forwarded, and an expiry time which indicates a lifetime for the entry in the pending interest table.

19. The method of claim 11 , further comprising:

calculating a weight for each outgoing interface based on the network properties; and

reordering the list to indicate that a higher priority is based on a greater calculated weight for a respective interface.

20. The method of claim 19 , wherein calculating the weight further comprises:

performing a function based on network properties determined over a period of time, wherein the period of time is a predetermined value or a user-defined value.

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 May 3, 2016
From: WOOD, CHRISTOPHER A.; SCOTT, GLENN C.
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 038447/0001 →