IP Library Granted Patent US 9,178,806
Granted Patent B2
US 9,178,806 · App. 13/563,381 · Granted Nov 3, 2015

High-speed content routing

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,178,806
App. No.
13/563,381
Granted
Nov 3, 2015
Kind
B2
Abstract

Various exemplary embodiments relate to a method and related network node including one or more of the following: receiving, at a first input line card of the network device, a message, the message including a destination address; transmitting the message, by the first input line card, to the second input line card based on the determination that the second input line card is configured with routing information related to the destination address; determining, by the second input line card and based on the routing information related to the destination address, that the message should be forwarded via a first output line card of the network device to another network device; transmitting the message, by the second input line card, to the first output line card based on the determination that the message should be forwarded; and transmitting the message, by the first output line card, to another network device.

Claims (41)

1. A method performed by a network device for forwarding a message, the method comprising:

receiving, at a first input line card of the network device, a message to be forwarded toward a destination, the message including a destination address;

determining, by the first input line card, that a second input line card of the network device is configured with routing information related to the destination address;

transmitting the message, by the first input line card, to the second input line card based on the determination that the second input line card is configured with routing information related to the destination address;

determining, by the second input line card and based on the routing information related to the destination address, that the message should be forwarded via a first output line card of the network device to another network device;

transmitting the message, by the second input line card, to the first output line card based on the determination that the message should be forwarded via a first output line card of the network device to another network device; and

transmitting the message, by the first output line card, to another network device.

2. The method of claim 1 , wherein the first output line card comprises one of the first input line card and the second input line card.

3. The method of claim 1 , wherein the destination address is a content name.

4. The method of claim 1 , wherein the transmitting the message to the second input line card comprises transmitting the message, by the first input line card, to an input port of the second input line card.

5. The method of claim 1 , wherein determining, by the first input line card, that the second input line card of the network device is configured with routing information related to the destination address comprises:

performing a hash function on at least a portion of the destination address to generate a hashed destination address; and

determining that an assigned identifier of the second input line card corresponds to the hashed destination address.

6. The method of claim 1 , wherein the first input line card stores a first set of forwarding information, the second input line card stores a second set of forwarding information that is different from the first set of forwarding information.

7. A network device for forwarding a message, the network device comprising:

a first input line card that stores a first set of forwarding information; and

a second input line card that stores a second set of forwarding information different from the first set of forwarding information,

wherein the first input line card is configured to:

receive a message to be forwarded toward a destination, the message including a destination address,

determine that the second input line card is configured with routing information related to the destination address, and

transfer the message to the second input line card based on the determination that the second input line card is configured with routing information related to the destination address,

wherein the second input line card is configured to

determine, based on the second set of forwarding information, that the message should be forwarded via an output line card,

forward the message to the output line card based on the determination that the message should be forwarded via the output line card, and

wherein the output line card is configured to transmit the message to another network device.

8. The network device of claim 7 , wherein the first set of forwarding information and the second set of forwarding information store forwarding information for content address prefixes.

9. The network device of claim 7 , wherein the network device comprises a switching fabric and, in forwarding the message based on the second set of forwarding information, the second input line card is configured to transmit the message via the switching fabric.

10. The network device of claim 7 , wherein, in determining the second input line card is configured with routing information related to the destination address to: generate a hash value based on at least a portion of the destination address; generate an index based on the hash value and a number of line cards configured for the network device; and determine that the index corresponds to the second input line card.

11. The network device of claim 7 , wherein the second set of forwarding information comprises forwarding information for a plurality of address prefixes of differing lengths and, in forwarding the message based on the second set of forwarding information, the second input line card is configured to:

extract a destination address of the message;

apply a set of distributed Bloom filters to the destination address to determine a beginning prefix length; and

begin searching the second set of forwarding information by evaluating forwarding information for at least address prefix having the beginning prefix length.

12. A non-transitory machine-readable storage medium encoded with instructions for execution by a line card in a network device for forwarding messages, the non-transitory machine-readable storage medium comprising:

instructions receiving a message to be forwarded toward a destination, the message including a destination address; instructions for determining that whether the line card or a different input line card of the network device is configured with routing information related to the destination address; instructions for, when the different input line card of the network device is configured with routing information related to the destination address, transmitting the message to the different input line card; instructions for, when the line card is configured with routing information related to the destination address, determining, based on the routing information related to the destination address, that the message should be forwarded via a first output line card of the network device to another network device; instructions for transmitting the message to the first output line card based on the determination that the message should be forwarded via a first output line card of the network device to another network device.

13. The non-transitory machine-readable storage medium of claim 12 , wherein the first output line card comprises one of the input line card and the different input line card.

14. The non-transitory machine-readable storage medium of claim 12 , wherein the destination address is a content name.

15. The non-transitory machine-readable storage medium of claim 12 , wherein the instructions for transmitting the message to the different input line card comprises instructions for transmitting the message to an input port of the different input line card.

16. The non-transitory machine-readable storage medium of claim 12 , wherein the instructions for determining whether the line card or the different input line card of the network device is configured with routing information related to the destination address comprises:

instructions for performing a hash function on at least a portion of the destination address to generate a hashed destination address; and

determining that an assigned identifier of the different input line card corresponds to the hashed destination address.

17. The non-transitory machine-readable storage medium of claim 12 , wherein the line card stores a first set of forwarding information, the different input line card stores a second set of forwarding information that is different from the first set of forwarding information.

Assignments (14)
PATENT SECURITY AGREEMENT Recorded Apr 22, 2023
From: RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 063429/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: PROVENANCE ASSET GROUP LLC
To: RPX CORPORATION
Reel/Frame 059352/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: NOKIA US HOLDINGS INC.
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058363/0723 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: CORTLAND CAPITAL MARKETS SERVICES LLC
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058983/0104 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Feb 14, 2019
From: NOKIA USA INC.
To: NOKIA US HOLDINGS INC.
Reel/Frame 048370/0682 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT USA INC.
Reel/Frame 033949/0016 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2013
From: ALCATEL-LUCENT BELL LABS FRANCE
To: ALCATEL LUCENT
Reel/Frame 031018/0248 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2013
From: ALCATEL-LUCENT USA INC.
To: ALCATEL LUCENT
Reel/Frame 031029/0788 →
SECURITY INTEREST Recorded Mar 7, 2013
From: ALCATEL-LUCENT USA INC.
To: CREDIT SUISSE AG
Reel/Frame 030510/0627 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2012
From: VARVELLO, MATTEO; ESTEBAN, JAIRO
To: ALCATEL-LUCENT USA, INC.
Reel/Frame 028690/0876 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2012
From: PERINO, DIEGO
To: ALCATEL-LUCENT BELL LABS FRANCE
Reel/Frame 028690/0918 →