IP Library Patent Application 14534321
Patent Application
App. No. 14/534,321

Method and Apparatus for Content Processing Application Acceleration

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 None
App. No.
14/534,321
Filed
Nov 6, 2014
Art Unit
2477
USPC
370/236
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 (36)

1 . A network device comprising:

a plurality of network interfaces for transferring a packet between the network device and a network;

at least one processing engine of a first processor type;

at least one processing engine of a second processor type;

a frame steering processor, coupled between the network interfaces and the processing engines, the frame steering processor being configured:

to determine whether the packet is to receive content services treatment;

responsive to determining that the packet is not to receive content services treatment, to forward the packet to one of the plurality of network interfaces; and

responsive to determining that the packet is to receive content services treatment:

to determine a processor type of a processing engine to provide content services treatment to the packet;

to select a processing engine of the determined processor type; and

to forward the packet to the selected processing engine of the determined processor type.

2 . The network device of claim 1 , wherein the frame steering processor is configured to determine the processor type of the processing engine to provide content services treatment to the packet based on an operation to be performed on the packet by the processing engine.

3 . The network device of claim 2 , wherein the frame steering processor is configured to determine the processor type of a processing engine to provide content services treatment to the packet based on an operation to be performed on the packet by the processing engine by determining the processor type of the processing engine to provide content services treatment to the packet based on complexity of the operation to be performed on the packet by the processing engine.

4 . The network device of claim 3 , wherein the at least one processing engine of the first processor type is designated for performing operations of greater relative complexity and the at least one processing engine of the second processor type is designated for performing operations of a lesser relative complexity.

5 . The network device of claim 2 , wherein the frame steering processor is configured to determine the processor type of processing engine to provide content services treatment to the packet based on an operation to be performed on the packet by the processing engine by determining the processor type of the processing engine to provide content services treatment to the packet based on an order of the operation to be performed on the packet by the processing engine.

6 . The network device of claim 2 , wherein the frame steering processor is configured to determine the processor type of the processing engine to provide content services treatment to the packet based on an operation to be performed on the packet by the processing engine by determining the processor type of the processing engine to provide content services treatment to the packet based on an operation type of the operation to be performed on the packet by the processing engine.

7 . The network device of claim 6 , wherein the at least one processing engine of the first processor type is designated for performing operations of a first operation type and the at least one processing engine of the second processor type is designated for performing operations of a second operation type.

8 . The network device of claim 7 , wherein at least one processor type is designated for performing packet-based applications.

9 . The network device of claim 7 , wherein at least one processor type is designated for performing flow-based applications.

10 . The network device of claim 9 , wherein at least one processor type is designated for processing control packets of a flow.

11 . The network device of claim 9 , wherein at least one processor type is designated for processing data packets of a flow.

12 . The network device of claim 2 , wherein the frame steering processor is configured to determine the processor type of a processing engine to provide content services treatment to the packet based on an operation to be performed on the packet by the processing engine by determining the processor type of the processing engine to provide content services treatment to the packet based on a priority of the operation to be performed on the packet by the processing engine.

13 . The network device of claim 1 , wherein the frame steering processor is configured to perform data path functions on the packet.

14 . The network device of claim 1 , wherein the frame steering processor is configured to determine whether the packet is to receive content services treatment based on examination of the packet.

15 . The network device of claim 14 , wherein the frame steering processor is configured to determine whether the packet is to receive content services treatment based on examination of a tag appended to the packet.

16 . The network device of claim 15 , wherein the tag indicates an output port of the frame steering processor.

17 . The network device of claim 15 , wherein the at least one processor of at least one of the processor types is configured for modification of the tag.

18 . The network device of claim 17 , wherein the at least one processor of the at least one of the processor types is configured to forward a packet with a modified tag back to the frame steering processor.

19 . The network device of claim 18 , wherein the at least one processor of at least one of the processor types is configured to update the tag before forwarding the packet back to the frame steering processor.

20 . The network device of claim 15 , wherein the frame steering processor is configured for modification of the tag.

21 . The network device of claim 15 , wherein the at least one processor of at least one of the processor types is configured for appending a tag to a packet.

22 . The network device of claim 1 , wherein the frame steering processor is configured to determine the processor type of the processing engine to provide content services treatment to the packet based on a quality of service at which the packet is to be delivered.

23 . The network device of claim 1 , wherein the frame steering processor is configured to determine the processor type of the processing engine to provide content services treatment to the packet based on a security association which is associated with the packet.

24 . The network device of claim 1 , wherein the frame steering processor is configured to determine the processor type of the processing engine to provide content services treatment to the packet based on whether other stages of processing need to be performed on the packet.

25 . The network device of claim 1 , further comprising an external bus coupled to the frame steering processor, the external bus being configured for coupling at least one external processing engine to the network device.

26 . The network device of claim 1 , wherein the network device is a network switch.

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