IP Library Granted Patent US 8,204,060
Granted Patent B2
US 8,204,060 · App. 12/640,968 · Granted Jun 19, 2012

Method and system for facilitating forwarding a packet 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 8,204,060
App. No.
12/640,968
Granted
Jun 19, 2012
Kind
B2
Abstract

One embodiment provides a system that facilitates forwarding a packet. During operation, the system receives a packet with a hierarchically structured variable-length identifier (HSVLI). The system then performs a lookup at a forwarding engine based at least on the packets HSVLI. The system further makes a forwarding decision based on the lookup.

Claims (49)

1. A computer-implemented method for facilitating forwarding a packet, the method comprising:

receiving, by a computer, a packet with a hierarchically structured variable-length identifier (HSVLI);

performing a lookup at a forwarding engine based at least on the packet's HSVLI;

wherein the forwarding engine is implemented using a hardware-based exact-match lookup engine, a hardware-based longest-prefix-match lookup engine, or both; and

wherein performing the lookup comprises searching for matches against at least one of: a content store, a pending interest table, and a forwarding information base;

making a forwarding decision based on the lookup; and

in response to the packet containing an interest for a piece of content and the lookup resulting in a match in a pending interest table but not a match in a content store, updating the pending interest table to include the packet's input interface with the corresponding pending interest entry.

2. The method of claim 1 , wherein the HSVLI indicates a piece of content and is hierarchically structured, comprising contiguous components ordered from a most general level to a most specific level; and

wherein the length of a respective identifier is not fixed.

3. The method of claim 1 , wherein the forwarding engine includes a lookup table containing entries from the content store, pending interest table, and forwarding information base.

4. The method of claim 1 , further comprising determining whether the packet contains an interest or a piece of content corresponding to the HSVLI.

5. The method of claim 1 , wherein in response to the packet containing an interest for a piece of content and the lookup resulting in a match in a content store, the method further comprises:

transmitting a piece of content previously stored in the content store to the source of the interest.

6. The method of claim 1 , wherein in response to the packet containing an interest for a piece of content and the lookup resulting in a match in a forwarding information base but not a match in a content store or a pending interest table, the method further comprises forwarding the packet to one or more interfaces corresponding to the match in the forwarding information base.

7. The method of claim 1 , wherein in response to the packet containing a piece of content and the lookup resulting in a match in a pending interest table, the method further comprises:

forwarding the packet to an interface corresponding to the match in the pending interest table;

storing a copy of the packet in a content store; and

removing a corresponding pending interest in the pending interest table.

8. A system for forwarding a packet, the system comprising:

a processor;

a memory;

a receiving mechanism configured to receive a packet with a hierarchically structured variable-length identifier (HSVLI);

a lookup mechanism configured to perform a lookup at a forwarding engine based at least on the packet's HSVLI;

wherein the forwarding engine is implemented using a hardware-based exact-match lookup engine, a hardware-based longest-prefix-match lookup engine, or both; and

wherein while performing the lookup, the lookup mechanism is configured to search for matches against at least one of: a content store, a pending interest table, and a forwarding information base; and

a forwarding mechanism configured to make a forwarding decision based on the lookup;

wherein in response to the packet containing an interest for a piece of content and the lookup resulting in a match in a pending interest table but not a match in a content store, the forwarding engine is configured to update the pending interest table to include the packet's input interface with the corresponding pending-interest entry.

9. The system of claim 8 , wherein the HSVLI indicates a piece of content and is hierarchically structured, comprising contiguous components ordered from a most general level to a most specific level; and

wherein the length of a respective identifier is not fixed.

10. The system of claim 8 , wherein the forwarding engine includes a lookup table containing entries from the content store, pending interest table, and forwarding information base.

11. The system of claim 8 , further comprising a determination mechanism configured to determine whether the packet contains an interest or a piece of content corresponding to the HSVLI.

12. The system of claim 8 , wherein in response to the packet containing an interest for a piece of content and the lookup resulting in a match in a content store, the forwarding mechanism is configured to transmit a piece of content previously stored in the content store to the source of the interest.

13. The system of claim 8 , wherein in response to the packet containing an interest for a piece of content and the lookup resulting in a match in a forwarding information base but not a match in a content store or a pending interest table, the forwarding mechanism is configured to forward the packet to one or more interfaces corresponding to the match in the forwarding information base.

14. The system of claim 8 , wherein in response to the packet containing a piece of content and the lookup resulting in a match in a pending interest table, the forwarding mechanism is configured to forward the packet to an interface corresponding to the match in the pending interest table; and

the forwarding engine is configured to:

store a copy of the packet in a content store; and

remove a corresponding pending interest in the pending interest table.

15. A storage device storing instructions which when executed by a computer cause the computer to perform a method for facilitating forwarding a packet, the method comprising:

receiving a packet with a hierarchically structured variable-length identifier (HSVLI);

performing a lookup at a forwarding engine based at least on the packet's HSVLI;

wherein the forwarding engine is implemented using a hardware-based exact-match lookup engine, a hardware-based longest-prefix-match lookup engine, or both; and

wherein performing the lookup comprises searching for matches against at least one of: a content store, a pending interest table, and a forwarding information base;

making a forwarding decision based on the lookup; and

in response to the packet containing an interest for a piece of content and the lookup resulting in a match in a pending interest table but not a match in a content store, updating the pending interest table to include the packet's input interface with the corresponding pending-interest entry.

16. The storage device of claim 15 , wherein the HSVLI indicates a piece of content and is hierarchically structured, comprising contiguous components ordered from a most general level to a most specific level; and

wherein the length of a respective identifier is not fixed.

17. The storage device of claim 15 , wherein the forwarding engine includes a lookup table containing entries from the content store, pending interest table, and forwarding information base.

18. The storage device of claim 15 , wherein in response to the packet containing an interest for a piece of content and the lookup resulting in a match in a content store, the method further comprises:

transmitting a piece of content previously stored in the content store to the source of the interest.

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 Dec 17, 2009
From: JACOBSON, VAN L.; THORNTON, JAMES D.
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 023672/0120 →