Method and Apparatus for Content Processing Application Acceleration
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
exact text as granted — not AI-modifiedWhat we claim is:
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.Join the waitlist — get patent alerts
Track US2015063119A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.