IP Library Granted Patent US 8,891,549
Granted Patent B1
US 8,891,549 · App. 10/692,842 · Granted Nov 18, 2014

Method and apparatus for content processing application acceleration

Inventor: Siva Subramanian (Boston, MA)
Assignee: Rockstar Consortium US LP
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,891,549
App. No.
10/692,842
Filed
Oct 24, 2003
Granted
Nov 18, 2014
Kind
B1
Art Unit
2477
USPC
370/389
Abstract

A network architecture enables the data flow of packets to be dynamically modified depending upon the operational needs of the packet being processed. This allows for separate processing of control and data path operations, as well as providing a mechanism for functions that require high computational support, such as encryption functions for example, to be offloaded onto processing devices that can support such functions. Other, less computationally intensive or lower priority functions can be forwarded to PEs having lower operation capacity. With such an arrangement, a dynamic mechanism is provided for customizing the data path of a network device to accommodate the computation needs of any application.

Claims (40)

1. A network device comprising:

a network interface for transferring a packet between the network device and a network;

at least two processing engines, including a first processing engine embodied in a first physical component and a second processing engine embodied in a second physical component;

a frame steering processor, connected between the network interface and the at least two processing engines, the frame steering processor being programmed to forward there through, without use of a shared bus, a packet received at the frame steering processor from either the network interface or one of the at least two processing engines to either the network interface or one of the at least two processing engines responsive to a treatment characteristic of a destination address of the packet, the treatment characteristic being an order of the operation associated with the packet.

2. A network device comprising:

a network interface for transferring a packet between the network device and a network;

at least two processing engines, including a first processing engine embodied in a first physical component and a second processing engine embodied in a second physical component;

a frame steering processor, connected between the network interface and the at least two processing engines, the frame steering processor being programmed to forward there through, without use of a shared bus, a packet received at the frame steering processor from either the network interface or one of the at least two processing engines to either the network interface or one of the at least two processing engines responsive to a treatment characteristic of a destination address of the packet, the treatment characteristic being a type of operation associated with the packet.

3. The network device of claim 2 , wherein each of the processing engines performs tasks of different complexity, and wherein the frame steering processor forwards packets having a first complexity to one of the processing engines corresponding to the first complexity.

4. The network device of claim 2 , wherein each of the processing engines performs different types of operations, and wherein the frame steering processor forwards packets associated with a first task to the processing engine associated with the first task.

5. The network device of claim 2 , wherein the treatment characteristic is represented in a multi-bit tag pre-pended to the packet.

6. The network device of claim 5 wherein at least one of the at least two processing engines includes logic for modifying the tag of the packet and forwarding the tag and packet back to the frame steering processor.

7. The network device of claim 5 wherein the frame steering processor includes logic for modifying the tag of the packet.

8. The network device of claim 2 , wherein one of the at least two processing engines is reserved for performing control type functions on the packet.

9. The network device of claim 2 , wherein one of the at least two processing engines is reserved for performing data path functions.

10. The network device of claim 2 , wherein data path functions are performed in the frame steering processor.

11. A method of processing packets received at a network device comprising the steps of:

receiving a packet at a network interface of the network device; forwarding the packet to a frame steering processor, coupled to the network interface;

responsive to a treatment characteristic associated with the packet, the treatment characteristic being an order of the operation associated with the packet the frame steering processor forwarding there through, without use of a shared bus, the packet to a selected one of at least two processing engines or the network interface, the processing engines including a first processing engine embodied in a first physical component and a second processing engine embodied in a second physical component; and

the selected one of the at least two processing engines processing the packet, modifying a tag of the packet and forwarding the packet to the frame steering processor.

12. The method of claim 11 , wherein the characteristic is indicated in a tag appended to the packet, and wherein the method further includes the steps of:

modifying the tag at either one of the at least two processing engines; forwarding the packet including the modified tag to the frame steering processor; and

responsive to the modified tag, forwarding the packet by the frame steering processor to either one of at least two processing engines or the network interface.

13. A method of processing packets received at a network device comprising the steps of:

receiving a packet at a network interface of the network device; forwarding the packet to a frame steering processor, coupled to the network interface;

responsive to a treatment characteristic associated with the packet, the treatment characteristic being a type of operation associated with the packet, the frame steering processor forwarding there through, without use of a shared bus, the packet to a selected one of at least two processing engines or the network interface, the processing engines including a first processing engine embodied in a first physical component and a second processing engine embodied in a second physical component; and

the selected one of the at least two processing engines processing the packet, modifying a tag of the packet and forwarding the packet to the frame steering processor.

14. The method of claim 13 , wherein the treatment characteristic is inferred by a tag appended to the packet, and wherein the method further includes the step of modifying the tag at the frame steering processor.

15. A method of processing packets in a network device including the steps of:

receiving a packet at a network interface;

forwarding the packet to a frame steering processor, the frame steering processor having multiple output ports in communication with multiple physical components;

at the frame steering processor, detecting a treatment characteristic of a packet and appending a multi-bit tag to the packet in accordance with the treatment characteristic, the treatment characteristic being an order of the operation associated with the packet;

forwarding, by the frame steering processor without use of a shared bus, the tag and the packet to one of the multiple output ports associated with a selected one of a corresponding multiple of processing engines responsive to the treatment characteristic of the packet and capabilities of the selected processing engine; and

processing the packet at the selected processing engine to provide a processed packet including updating the tag associated with the packet and returning the updated tag and processed packet to the frame steering processor.

16. A method of processing packets in a network device including the steps of:

receiving a packet at a network interface;

forwarding the packet to a frame steering processor, the frame steering processor having multiple output ports in communication with multiple physical components;

at the frame steering processor, detecting a treatment characteristic of a packet and appending a multi-bit tag to the packet in accordance with the treatment characteristic, the treatment characteristic being a type of operation associated with the packet;

forwarding, by the frame steering processor without use of a shared bus, the tag and the packet to one of the multiple output ports associated with a selected one of a corresponding multiple of processing engines responsive to the treatment characteristic of the packet and capabilities of the selected processing engine; and

processing the packet at the selected processing engine to provide a processed packet including updating the tag associated with the packet and returning the updated tag and processed packet to the frame steering processor.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 054305/0505 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CLEARINGHOUSE LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 046485/0644 →
RELEASE (REEL 038041 / FRAME 0001) Recorded Jan 2, 2018
From: JPMORGAN CHASE BANK, N.A.
To: RPX CORPORATION; RPX CLEARINGHOUSE LLC
Reel/Frame 044970/0030 →
SECURITY AGREEMENT Recorded Mar 9, 2016
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038041/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2015
From: ROCKSTAR CONSORTIUM US LP; ROCKSTAR CONSORTIUM LLC; BOCKSTAR TECHNOLOGIES LLC; CONSTELLATION TECHNOLOGIES LLC; MOBILESTAR TECHNOLOGIES LLC; NETSTAR TECHNOLOGIES LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 034924/0779 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2013
From: ROCKSTAR BIDCO, LP
To: ROCKSTAR CONSORTIUM US LP
Reel/Frame 030494/0804 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2011
From: NORTEL NETWORKS LIMITED
To: ROCKSTAR BIDCO, LP
Reel/Frame 027143/0717 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2004
From: SUBRAMANIAN, SIVA
To: NORTEL NETWORKS LIMITED
Reel/Frame 015126/0670 →
Continuity (1)
Provisional Application 60421009 · Oct 24, 2002