Accelerated processing of aggregate data flows in a network environment
First Claim
1. A method, comprising:
- inspecting at least one first frame of a first data flow by a general processing unit;
associating the first data flow with an aggregate session, the aggregate session corresponding to a first set of aggregate data flows including the first data flow and at least one other data flow in addition to the first data flow;
causing a measurement of traffic of the first data flow to be tracked in a first aggregate object data record for the first set of aggregate data flows, wherein traffic of the at least one other data flow is to also be recorded in the first aggregate object data record;
authorizing acceleration of the first data flow by a network processing unit based, at least in part, on the inspection of the at least one first frame,wherein acceleration of the first data flow is subject to at least a set of conditions including an aggregate trigger, the aggregate trigger defining that the acceleration of at least the first data flow be halted in response to an aggregate threshold amount of traffic being detected among the first set of aggregate data flows from information in the first aggregate object data record.
1 Assignment
0 Petitions
Accused Products
Abstract
At least one first frame of a first data flow is inspected by a general processing unit to associate the first data flow with an aggregate session, the aggregate session corresponding to a first set of aggregate data flows including the first data flow and at least one other data flow. Acceleration of the first data flow, by a network processing unit, can be authorized based on the inspection of the at least one first frame. Acceleration of the first data flow can be subject to at least a set of conditions including an aggregate trigger, the aggregate trigger defining that the acceleration of at least the first data flow be halted in response to an aggregate threshold amount of traffic being detected among the first set of aggregate data flows.
-
Citations
20 Claims
-
1. A method, comprising:
-
inspecting at least one first frame of a first data flow by a general processing unit; associating the first data flow with an aggregate session, the aggregate session corresponding to a first set of aggregate data flows including the first data flow and at least one other data flow in addition to the first data flow; causing a measurement of traffic of the first data flow to be tracked in a first aggregate object data record for the first set of aggregate data flows, wherein traffic of the at least one other data flow is to also be recorded in the first aggregate object data record; authorizing acceleration of the first data flow by a network processing unit based, at least in part, on the inspection of the at least one first frame, wherein acceleration of the first data flow is subject to at least a set of conditions including an aggregate trigger, the aggregate trigger defining that the acceleration of at least the first data flow be halted in response to an aggregate threshold amount of traffic being detected among the first set of aggregate data flows from information in the first aggregate object data record.
-
-
2. The method of claim 1, wherein the general processing unit sends authorization of the acceleration of the first data flow to the network processing unit, the authorization identifying the set of conditions.
-
3. The method of claim 1, wherein the set of conditions is generated, at least in part, using the general processing unit and based at least in part on the inspection of the first frame.
-
4. The method of claim 1, further comprising:
-
receiving, at the network processing unit, the first frame of the first data flow; passing the at least one first frame from the network processing unit to the general processing unit for inspection of the first frame; and receiving, at the network processing unit from the general processing unit, the set of conditions; wherein acceleration of the first data flow includes processing at least one subsequent frame in the first data flow by the network processing unit to forward the at least one subsequent frame to at least one remote network node and bypassing processing of the subsequent frame by the general processing unit.
-
-
5. The method of claim 1, further comprising:
-
identifying that the first aggregate object data record is associated with the aggregate session; tracking, using the network processing unit, the measurement of traffic of the first data flow; and updating the first aggregate object data record based on the tracked measurement of traffic of the first data flow.
-
-
6. The method of claim 5, wherein the first aggregate object data record is included in a plurality of aggregate object data records, each aggregate object data record corresponding to a respective aggregate session in a plurality of aggregate sessions, the plurality of aggregate sessions including a first aggregate session corresponding to the first set of aggregate data flows, and wherein the set of conditions includes an aggregation identifier corresponding to the first aggregate object data record and the first aggregate object data record is identified by the network processing unit using the aggregation identifier.
-
7. The method of claim 5, further comprising generating a first flow record for the first data flow, wherein the network processing unit updates the first aggregate object data record using data in the first flow record.
-
8. The method of claim 5, further comprising:
-
receiving a particular subsequent frame in the first data flow for accelerated processing by the network processing unit; retrieving aggregate traffic data for the first aggregate session from the first aggregate object data record; determining that the aggregate trigger is met based, at least in part, on receipt of the retrieved aggregate traffic data.
-
-
9. The method of claim 8, further comprising decelerating the first data flow in response to the trigger, wherein decelerating the first data flow includes forwarding the particular subsequent frame to the general processing unit for inspection.
-
10. The method of claim 1, wherein the aggregate trigger includes a buffer value for use in preventing an amount of data in excess of the aggregate threshold amount of traffic to be processed in data flows in the set of aggregate data flows.
-
11. The method of claim 1, wherein at least one other data flow in the set of aggregate data flows is accelerated concurrently with acceleration of the first data flow.
-
12. The method of claim 11, wherein the other data flow is accelerated using the network processing unit.
-
13. The method of claim 11, wherein accelerated data flows are to be halted in response to a corresponding aggregate threshold amount of traffic being detected.
-
14. The method of claim 1, wherein the aggregate trigger is at least one of a set of triggers including:
-
a time-based trigger and the aggregate amount of traffic corresponds to a measure of time; and a volume-based trigger and the aggregate amount of traffic corresponds to a measure of traffic volume.
-
-
15. The method of claim 1, wherein acceleration of the first data flow includes acceleration of a particular sequence of frames in the first data flow, the method further comprising using the general processing unit to inspect at least one other frame of the first data flow, the other frame arriving subsequent to a final frame in the particular sequence of frames, wherein the other frame is processed to determine whether acceleration of another sequence of frames in the first data flow, subsequent to the other frame, should be authorized.
-
16. The method of claim 1, wherein authorizing acceleration of the first data flow includes identifying whether an additional data flow can be accelerated among the set of aggregate data flows.
-
17. Logic encoded in non-transitory media that includes code for execution and when executed by a processor is operable to perform operations comprising:
-
inspecting at least one first frame of a first data flow by a general processing unit; associating the first data flow with an aggregate session, the aggregate session corresponding to a first set of aggregate data flows including the first data flow and at least one other data flow in addition to the first data flow; causing a measurement of traffic of the first data flow to be tracked in a first aggregate object data record for the first set of aggregate data flows, wherein traffic of the at least one other data flow is to also be recorded in the first aggregate object data record; authorizing acceleration of the first data flow by a network processing unit based, at least in part, on the inspection of the at least one first frame, wherein acceleration of the first data flow is subject to at least a set of conditions including an aggregate trigger, the aggregate trigger defining that the acceleration of at least the first data flow be halted in response to an aggregate threshold amount of traffic being detected among the first set of aggregate data flows from information in the first aggregate object data record.
-
-
18. A system comprising:
-
at least one memory element for storing data; a general processor configured to; perform a set of inspection operations on frames of at least one received data flow; determine that the received data flow is included in an aggregate session corresponding to a first set of aggregate data flows including the received data flow and at least one other data flow in addition to the received data flow; maintain a first aggregate object data record for the first set of aggregate data flows, wherein traffic of each one of the data flows included in the first set of aggregate data flows is to be tracked in the first aggregate object data record; generate an acceleration request for the received data flow, the acceleration request including instructions to accelerate at least a portion of the received data flow by bypassing the general processor, the acceleration request based at least in part on the determination that the received data flow is included in the aggregate session, and the instructions including an aggregate trigger condition defining that acceleration of at least the received data flow be halted in response to an aggregate threshold amount of traffic being detected among the first set of aggregate data flows from information in the first aggregate object data record; and at least one network processor configured to; forward frames to at least one remote network element according to acceleration requests received from the general processor.
-
-
19. The system of claim 18, wherein the stored data includes at least one the first aggregate object data record associated with the aggregate session, the first aggregate object data record including a statistical measurement of aggregate traffic processed in the first set of aggregate data flows.
-
20. The system of claim 19, wherein the at least one network processor is further configured to:
-
track a measurement of traffic of the received data flow; and update the first aggregate object data record based on the tracked measurement of traffic of the received data flow.
-
Specification