IP Library Granted Patent US 9,686,194
Granted Patent B2
US 9,686,194 · App. 14/581,817 · Granted Jun 20, 2017

Adaptive multi-interface use for content networking

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,686,194
App. No.
14/581,817
Granted
Jun 20, 2017
Kind
B2
Abstract

One embodiment provides a system that forwards a packet with a hierarchically structured variable-length identifier (HSVLI) in a network. An HSVLI indicates a piece of content and indicates a hierarchical structure of contiguous components ordered from a most general level to a most specific level. The length of the HSVLI is not fixed. During operation, the system receives a packet which contains an interest for a piece of content with an HSVLI. Subsequently, the system determines forwarding information for the HSVLI based on one or more of: knowledge of content which matches the HSVLI, a forwarding policy, and contextual information about the network. Next, the system configures a forwarding engine with the forwarding information. The system then forwards the packet based on the forwarding information.

Claims (53)

1. A computer-implemented method for forwarding a packet with a hierarchically structured variable-length identifier (HSVLI) in a network, comprising:

performing a lookup for a packet based on an HSVLI in a local forwarding information base (FIB) to determine forwarding information for the packet, wherein the packet comprises an interest for a piece of content expressed using the HSVLI;

wherein the HSVLI indicates the content and is hierarchically structured, and comprises contiguous components ordered from a most general level to a most specific level, and wherein the length of a respective HSVLI is not fixed;

in response to not finding a match for the HSVLI in the local FIB:

determining, by a connectivity agent, a forwarding decision and the forwarding information for the HSVLI; and

configuring an entry in the FIB to contain the HSVLI associated with the determined forwarding decision and forwarding information;

forwarding the packet based on the forwarding information; and

in response to receiving a second packet containing at least a prefix of the HSVLI and to identifying, via a second lookup in the local FIB that the HSVLI is a longest match for the prefix having a largest number of matched name components, forwarding the second packet based on the forwarding information.

2. The method of claim 1 , wherein the forwarding decision includes selecting one or more local interfaces for forwarding the packet.

3. The method of claim 1 , wherein the forwarding decision and the forwarding information are determined based on one or more of: knowledge of content which matches the HSVLI, a forwarding policy, and contextual information.

4. The method of claim 1 , further comprising:

determining a local interface to be a lower-latency interface among a plurality of local interfaces; and

selecting the local interface for forwarding packets comprising subsequent interests expressed using respective HSVLIs.

5. The method of claim 1 , wherein one or more components of the HSVLI comprise a domain name system (DNS) name; and

wherein the method further comprises:

identifying an Internet Protocol (IP) address mapped to the DNS name; and

establishing a tunnel to the identified IP address.

6. The method of claim 1 , wherein the interest is further for a second piece of content, wherein the piece of content and the second piece of content are from two different namespaces.

7. The method of claim 6 , further comprising pulling the piece of content and the second piece of content from the two different namespaces via two different local interfaces.

8. The method of claim 1 , further comprising:

monitoring for changes in one or more of: knowledge of content which matches the HSVLI, a forwarding policy, and contextual information; and

in response to observing a change in the knowledge of content, forwarding policy, or contextual information, and further in response to finding a match for the HSVLI in the local FIB during the lookup, re-determining the forwarding decision for the HSVLI based on the observed change.

9. The method of claim 8 , further comprising selecting an interface from a set of matched interfaces for forwarding the packet based on one or more rules for choosing among multiple interfaces.

10. An apparatus for forwarding a packet with a hierarchically structured variable-length identifier (HSVLI) in a network comprising:

a processor;

a memory;

a determining mechanism configured to perform a lookup for a packet based on an HSVLI in a local forwarding information base (FIB) to determine forwarding information for the packet, wherein the packet comprises an interest for a piece of content expressed using the HSVLI;

wherein the HSVLI indicates the content and is hierarchically structured, and comprises contiguous components ordered from a most general level to a most specific level, and wherein the length of a respective HSVLI is not fixed;

a configuring mechanism, in response to the determining mechanism not finding a match for the HSVLI in the local FIB, configured to:

determine a forwarding decision and the forwarding information for the HSVLI; and

configure an entry in the local FIB to contain the HSVLI associated with the determined forwarding decision and forwarding information; and

a forwarding mechanism configured to forward the packet based on the forwarding information;

wherein the forwarding mechanism is further configured, in response to receiving a second packet containing at least a prefix of the HSVLI and to identifying, via a second lookup in the local FIB that the HSVLI is a longest match for the prefix having a largest number of matched name components, to forward the second packet based on the forwarding information.

11. The apparatus of claim 10 , wherein the forwarding decision includes selecting one or more local interfaces for forwarding the packet.

12. The apparatus of claim 10 , wherein the configuring mechanism determines the forwarding decision and the forwarding information based on one or more of: knowledge of content which matches the HSVLI, a forwarding policy, and contextual information.

13. The apparatus of claim 10 , wherein the determining mechanism is further configured to:

determine a local interface to be a lower-latency interface among a plurality of local interfaces; and

select the local interface for forwarding packets comprising subsequent interests expressed using respective HSVLIs.

14. The apparatus of claim 10 , further configured to establish a tunnel to an Internet Protocol (IP) address, wherein one or more components of the HSVLI comprise a domain name system (DNS) name, and wherein the IP address is mapped to the DNS name.

15. The apparatus of claim 10 , wherein the interest is further for a second piece of content, wherein the piece of content and the second piece of content are from two different namespaces.

16. The apparatus of claim 15 , further configured to pull the piece of content and the second piece of content from the two different namespaces via two different local interfaces.

17. The apparatus of claim 10 , further configured to:

monitor for changes in one or more of: knowledge of content which matches the HSVLI, a forwarding policy, and contextual information; and

re-determine the forwarding decision for the HSVLI in response to observing a change in the knowledge of content, forwarding policy, or contextual information, and further in response to the determining mechanism finding a match for the HSVLI in the local FIB during the lookup, wherein the re-determination is based on the observed change.

18. The apparatus of claim 17 further configured to select an interface from a set of matched interfaces for forwarding the packet based on one or more rules for choosing among multiple interfaces.

19. A non-transitory computer-readable storage device storing instructions that when executed by a computer cause the computer to perform a method for forwarding a packet with a hierarchically structured variable-length identifier (HSVLI) in a network, the method comprising:

performing a lookup for a packet based on an HSVLI in a local forwarding information base (FIB) to determine forwarding information for the packet, wherein the packet comprises an interest for a piece of content expressed using the HSVLI;

wherein the HSVLI indicates the content and is hierarchically structured, and comprises contiguous components ordered from a most general level to a most specific level, and wherein the length of a respective HSVLI is not fixed;

in response to not finding a match for the HSVLI in the local FIB:

determining a forwarding decision and the forwarding information for the HSVLI; and

configuring an entry in the FIB to contain the HSVLI associated with the determined forwarding decision and forwarding information;

forwarding the packet based on the forwarding information; and

in response to receiving a second packet containing at least a prefix of the HSVLI and to identifying, via a second lookup in the local FIB that the HSVLI is a longest match for the prefix having a largest number of matched name components, forwarding the second packet based on the forwarding information.

Assignments (2)
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 →