IP Library Granted Patent US 8,923,293
Granted Patent B2
US 8,923,293 · App. 12/603,336 · Granted Dec 30, 2014

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 8,923,293
App. No.
12/603,336
Granted
Dec 30, 2014
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 (96)

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

receiving a packet which contains an interest for a piece of content, wherein the interest includes an address-independent HSVLI;

wherein the HSVLI identifies a specific piece of content without identifying a network address or a storage location for the piece of content, and wherein the HSVLI is hierarchically structured and comprises contiguous name components ordered from a most general level to a most specific level; and

determining forwarding information for the packet based on the HSVLI, wherein determining the forwarding information involves:

identifying a forwarding information entry that has the longest prefix match with the HSVLI by matching the name components of the HSVLI with the name components of the forwarding information entries, wherein the longest prefix match has the largest number of matched name components; and

determining, from the identified forwarding information entry, one or more interfaces for forwarding the interest; and

forwarding the packet to one or more of the determined interfaces.

2. The method of claim 1 , wherein determining the forwarding information for the HSVLI further involves selecting the forwarding information based on knowledge of content which matches the HSVLI, and wherein knowledge of content which matches the HSVLI comprises one or more of:

location of content which matches the HSVLI;

availability of content which matches the HSVLI; and

importance or priority of content which matches the HSVLI.

3. The method of claim 2 ,

wherein one or more components of the HSVLI comprise a domain name system (DNS) name; and

wherein determining the forwarding information comprises determining an output interface based on the DNS name in the HSVLI.

4. The method of claim 1 , wherein determining the forwarding information for the HSVLI further involves selecting the forwarding information based on a forwarding policy, and wherein the forwarding policy comprises one or more of:

a policy rule on content which matches the HSVLI;

a security constraint on content which matches the HSVLI; and

a strategy rule to discover a source of content which matches the HSVLI.

5. The method of claim 1 , wherein determining the forwarding information for the HSVLI further involves selecting the forwarding information based on contextual information, and wherein the contextual information comprises information about one or more of:

physical layer connectivity, which includes one or more of: a local-area network (LAN) connectivity, a wireless LAN connectivity, a wide-area network (WAN) connectivity, and other wired or wireless connectivity;

a peer node which is likely to store content which matches the HSVLI;

network costs;

network latency; and

battery status.

6. The method of claim 1 , wherein determining the forwarding information for the HSVLI further involves configuring a forwarding engine with the forwarding information, and wherein the configuration of the forwarding engine is in response to one or more of:

a status change of the local network;

execution of a routing protocol based on information received from another node in the network; and

receiving statistical information indicating delay associated with one or more output interfaces.

7. The method of claim 1 , further comprising:

periodically or continually updating a database used to determine forwarding information by discovering nodes in the network; and

establishing a secure tunnel with a discovered node to receive the content.

8. The method of claim 1 , wherein a component in the contiguous components comprises one or more of:

a globally routable name;

an organizational name;

a version identifier; and

a digest.

9. The method of claim 1 , further comprising forwarding a packet through multiple output interfaces simultaneously.

10. The method of claim 1 , further comprising receiving contextual and policy information from a node and virally propagating the contextual and policy information to another node.

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

a processor;

a memory;

a receiving mechanism configured to receive a packet which contains an interest for a piece of content, wherein the interest includes an address-independent HSVLI;

wherein the HSVLI identifies a specific piece of content without identifying a network address or a storage location for the piece of content, and wherein the HSVLI is hierarchically structured and comprises contiguous name components associated with the piece of content ordered from a most general level to a most specific level; and

a determining mechanism configured to determine forwarding information for the packet based on the HSVLI, wherein determining the forwarding information involves:

configuring a forwarding engine to identify a forwarding information entry that has the longest prefix match with the HSVLI by matching the name components of the HSVLI with the name components of the forwarding information entries, wherein the longest prefix match has the largest number of matched named components; and

determining, from the identified forwarding information entry, one or more interfaces for forwarding the interest; and

a forwarding mechanism configured to forward the packet to one or more of the determined interfaces.

12. The apparatus of claim 11 , wherein the determining mechanism is further configured to select the forwarding information based on knowledge of content which matches the HSVLI, and wherein knowledge of content which matches the HSVLI comprises one or more of:

location of content which matches the HSVLI;

availability of content which matches the HSVLI; and

importance or priority of content which matches the HSVLI.

13. The apparatus of claim 12 ,

wherein one or more components of the HSVLI comprise a domain name system (DNS) name; and

wherein determining the forwarding information comprises determining an output interface based on the DNS name in the HSVLI.

14. The apparatus of claim 11 , wherein the determining mechanism is further configured to select the forwarding information based on a forwarding policy, and wherein the forwarding policy comprises one or more of:

a policy rule on content which matches the HSVLI;

a security constraint on content which matches the HSVLI; and

a strategy rule to discover a source of content which matches the HSVLI.

15. The apparatus of claim 11 , wherein the determining mechanism is further configured to select the forwarding information based on contextual information, and wherein the contextual information comprises information about one or more of:

physical layer connectivity, which includes one or more of: a local-area network (LAN) connectivity, a wireless LAN connectivity, a wide-area network (WAN) connectivity, and other wired or wireless connectivity;

a peer node which is likely to store content which matches the HSVLI;

network costs;

network latency; and

battery status.

16. The apparatus of claim 11 , wherein the configuration of the forwarding engine with the forwarding information is in response to one or more of:

a status change of the local network;

execution of a routing protocol based on information received from another node in the network; and

receiving statistical information indicating delay associated with one or more output interfaces.

17. The apparatus of claim 11 further configured to:

periodically or continually update a database used to determine forwarding information by discovering nodes in the network; and

establish a secure tunnel with a discovered node to receive the content.

18. The apparatus of claim 11 , wherein a component in the contiguous components comprises one or more of:

a globally routable name;

an organizational name;

a version identifier; and

a digest.

19. The apparatus of claim 11 , further configured to forward a packet through multiple output interfaces simultaneously.

20. The apparatus of claim 11 , further configured to receive contextual and policy information from a node and virally propagate the contextual and policy information to another node.

21. A non-transitory computer-readable storage medium 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:

receiving a packet which contains an interest for a piece of content, wherein the interest includes an address-independent HSVLI;

wherein the HSVLI identifies a specific piece of content without identifying a network address or a storage location for the piece of content, and wherein the HSVLI is hierarchically structured and comprises contiguous name components associated with the piece of content ordered from a most general level to a most specific level; and

determining forwarding information for the packet based on the HSVLI, wherein determining the forwarding information involves:

identifying a forwarding information entry that has the longest prefix match with the HSVLI by matching the name components of the HSVLI with the name components of the forwarding information entries, wherein the longest prefix match has the largest number of matched name components; and

determining, from the identified forwarding information entry, one or more interfaces for forwarding the interest; and

forwarding the packet to one or more of the determined interfaces.

22. The storage medium of claim 21 , wherein determining the forwarding information for the HSVLI further involves selecting the forwarding information based on knowledge of content which matches the HSVLI, and wherein knowledge of content which matches the HSVLI comprises one or more of:

location of content which matches the HSVLI;

availability of content which matches the HSVLI; and

importance or priority of content which matches the HSVLI.

23. The storage medium of claim 22 ,

wherein one or more components of the HSVLI comprise a domain name system (DNS) name; and

wherein determining the forwarding information comprises determining an output interface based on the DNS name in the HSVLI.

24. The storage medium of claim 21 , wherein determining the forwarding information for the HSVLI further involves selecting the forwarding information based on a forwarding policy, and wherein the forwarding policy comprises one or more of:

a policy rule on content which matches the HSVLI;

a security constraint on content which matches the HSVLI; and

a strategy rule to discover a source of content which matches the HSVLI.

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 Oct 21, 2009
From: JACOBSON, VAN L.; THORNTON, JAMES D.
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 023405/0243 →