Selective packet sequence acceleration in a network environment

US9722933B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9722933-B2
Application numberUS-201514611510-A
CountryUS
Kind codeB2
Filing dateFeb 2, 2015
Priority dateJun 14, 2011
Publication dateAug 1, 2017
Grant dateAug 1, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • Distributed processing, e.g. on line cards · CPC title

  • involving identification of individual flows · CPC title

  • H04L47/20Primary

    Traffic policing · CPC title

  • Header conversion, routing tables or routing tags · CPC title

  • using preemption · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9722933B2 cover?
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…
Who is the assignee on this patent?
Cisco Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04L47/2483. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Aug 01 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).