System and method for offloading data in a communication system
US-2015215810-A1 · Jul 30, 2015 · US
US9722933B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9722933-B2 |
| Application number | US-201514611510-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 2, 2015 |
| Priority date | Jun 14, 2011 |
| Publication date | Aug 1, 2017 |
| Grant date | Aug 1, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A data flow is received at a network processor that includes a plurality of frames. A first set of frames in the plurality of frames are passed from the network processor to a general processor for processing by the general processor. A flow acceleration request is received at the network processor from the general processor based at least in part on inspection of a first frame in the first set of frames. The flow acceleration request is received subsequent to passing at least two of the first set of frames to the general processor. A particular frame in the plurality of frames received subsequent to the first set of frames is processed by the network processor such that it is accelerated relative to processing of the first set of frames by the general processor and bypasses the general processor.
Opening claim text (preview).
What is claimed is: 1. A method comprising: receiving a data flow at a network processor, wherein the data flow comprises a plurality of frames; passing a first set of frames in the plurality of frames from the network processor to a general processor for processing, wherein the first set of frames comprises at least two frames; receiving a flow acceleration request at the network processor from the general processor, wherein the flow acceleration request is generated by the general processor based at least in part on inspection of a first frame in the first set of frames by the general processor, the flow acceleration request is received subsequent to passing at least two of the first set of frames to the general processor, and the flow acceleration request identifies a set of conditions for accelerated processing; and processing, at the network processor, a particular frame in the plurality of frames received subsequent to the first set of frames and the flow acceleration request, wherein processing of the particular frame by the network processor is based on the set of conditions and is accelerated relative to processing of the first set of frames by the general processor, and the processing of the particular frame bypasses the general processor based on the flow acceleration request. 2. The method of claim 1 , wherein acceleration of processing of the particular frame is based on at least one of the set of conditions. 3. The method of claim 2 , further comprising determining that one or more of the set of conditions is satisfied. 4. The method of claim 1 , wherein the set of conditions includes at least one condition for returning control of the set of frames to the general processor following acceleration of frames in the set of frames, the method further comprising: receiving a subsequent frame of the data flow after the particular frame; analyzing the subsequent frame at the network processor to determine that the at least one condition has been satisfied; and passing the subsequent frame to the general processor for processing. 5. The method of claim 1 , further comprising: receiving, at the network processor, each of the first set of frames returned from the general processor following respective inspection of the first set of frames by the general processor; and forwarding the first set of frames to a remote network node by the network processor. 6. The method of claim 5 , wherein the at least one condition includes a trigger defining that the acceleration of frames in the set of frames be halted in response to processing a threshold amount of traffic, wherein the threshold, when met, triggers return of control of the data flow to the general processor. 7. The method of claim 5 , wherein the subsequent frame is forwarded by the network processor to the remote network node independent of the general processor. 8. The method of claim 1 , wherein the inspection of the first frame includes identifying a particular subscriber account associated with the data flow. 9. The method of claim 1 , wherein performing the inspection of the first frame includes identifying a particular policy associated with the data flow. 10. The method of claim 1 , further comprising generating a flow record for the data flow and maintaining statistics of the data flow in the flow record. 11. The method of claim 10 , wherein the flow record includes a temporary flow record maintained by the network processor during an accelerated data flow session. 12. The method of claim 11 , further comprising deleting the temporary copy of the flow record upon conclusion of the accelerated data flow session. 13. The method of claim 1 , further comprising sending an acknowledgement message from the network processor to the general processor in response to the received flow acceleration request. 14. The method of claim 1 , further comprising receiving, at the network processor, a deceleration request from the general processor, requesting that processing of at least a next frame in the data flow is to be returned to the general processor for processing. 15. Logic encoded in non-transitory media that includes code for execution and when executed by a processor is operable to perform operations comprising: receiving a data flow at a network processor, wherein the data flow comprises a plurality of frames; passing a first set of frames in the plurality of frames from the network processor to a general processor for processing, wherein the first set of frames comprises at least two frames; receiving a flow acceleration request at the network processor from the general processor, wherein the flow acceleration request is generated by the general processor based at least in part on inspection of a first frame in the first set of frames by the general processor, the flow acceleration request is received subsequent to passing at least two of the first set of frames to the general processor, and the flow acceleration request identifies a set of conditions for accelerated processing; and processing, at the network processor, a particular frame in the plurality of frames received subsequent to the first set of frames and the flow acceleration request, wherein processing of the particular frame by the network processor is based on the set of conditions and is accelerated relative to processing of the first set of frames by the general processor, and the processing of the particular frame bypasses the general processor based on the flow acceleration request. 16. A system, comprising: a network processor configured to: receive frames in a particular data flow, wherein the particular data flow comprises a plurality of frames; pass a first set of frames in the plurality of frames from the network processor to a general processor for processing; receive a flow acceleration request at the network processor from the general processor, wherein the flow acceleration request is received subsequent to passing at least two of the first set of frames to the general processor, and the flow acceleration request identifies a set of conditions for accelerated processing; and process a particular frame in the plurality of frames received subsequent to the first set of frames and the flow acceleration request, wherein processing of the particular frame is based on the set of conditions and is accelerated by bypassing processing by the general processor based on the flow acceleration request; and the general processor configured to: perform a set of deep packet inspection operations on at least the first frame; and generate the flow acceleration request based on results of the deep packet inspection operations. 17. The system of claim 16 , further comprising: an in-band communication link between the network processor and the general processor; and an out-of-band communication link between the network processor and the general processor. 18. The system of claim 16 , wherein the acceleration request includes at least one condition for decelerating an accelerated portion of the particular data flow, and the at least one network processor is further configured to identify that the at least one condition has been met and pass processing of at least a subsequent portion of the particular data flow to the general processor. 19. The system of claim 16 , wherein the at least one network processor is further configured to initially receive the particular data flow, determine that a particular frame in the received data flow is to be processed by the general processor, and forward the parti
Distributed processing, e.g. on line cards · CPC title
involving identification of individual flows · CPC title
Traffic policing · CPC title
Header conversion, routing tables or routing tags · CPC title
using preemption · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.