System and method for managing out of order packets in a network environment

US9246837B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9246837-B2
Application numberUS-201414260387-A
CountryUS
Kind codeB2
Filing dateApr 24, 2014
Priority dateDec 19, 2009
Publication dateJan 26, 2016
Grant dateJan 26, 2016

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 method is provided in one example embodiment and includes creating at a network element an entry designating an out of order (“OOO”) sequence number range associated with a flow and receiving at the network element a packet associated with the flow, wherein the packet corresponds to a first sequence number range, wherein the first sequence number range falls within the OOO sequence number range designated in the entry. The method may further include updating the entry to remove sequence numbers comprising the first sequence number range from the OOO sequence number range and forwarding the packet without awaiting receipt of any other packets associated with the flow.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: creating by a network element an entry comprising an out of order (“OOO”) sequence number range associated with a flow, wherein the OOO sequence number range is indicated by a request packet received at the network element; receiving by the network element a packet associated with the flow, wherein the packet corresponds to a first sequence number range, wherein the first sequence number range falls within the OOO sequence number range designated in the entry; updating the entry to remove sequence numbers comprising the first sequence number range from the OOO sequence number range; and forwarding the packet without awaiting receipt of any other packets associated with the flow; wherein the updating and forwarding are performed by the network element. 2. The method of claim 1 , further comprising receiving at the network element a request packet associated with the flow. 3. The method of claim 1 , further comprising: receiving an additional packet associated with the flow, wherein the additional packet corresponds to a second sequence number range; and determining whether the OOO sequence number range designated in the entry includes sequence numbers comprising the second sequence number range. 4. The method of claim 3 , further comprising: classifying the additional packet as a retransmission if the OOO sequence number range designated in the entry does not include sequence numbers comprising the second sequence number range. 5. The method of claim 3 , further comprising forwarding the additional packet without awaiting receipt of any other packets associated with the flow if the OOO sequence number range designated in the entry includes sequence numbers comprising the second sequence number range. 6. The method of claim 5 , further comprising updating the entry to remove sequence numbers comprising the second sequence number range from the OOO sequence number range. 7. The method of claim 1 , wherein creating the entry includes creating a segment within a queue for the OOO sequence number range comprising expected sequence numbers for packets associated with the flow. 8. The method of claim 1 , further comprising: accounting for a number of transmission control protocol (“TCP”) bytes passing through the network element; and accounting for packets received at the network element. 9. The method of claim 1 , further comprising billing a first set of packets associated with the flow in response to forwarding the first set of packets, wherein the request packet is associated with a data type in which out of order processing for packets within the flow is permissible. 10. One or more non-transitory tangible media that includes code for execution and when executed by a processor causes performance of operations comprising: creating by network element an entry comprising an out of order (“OOO”) sequence number range associated with a flow, wherein the OOO sequence number range is indicated by a request packet received at the network element; receiving at the network element a packet associated with the flow, wherein the packet corresponds to a first sequence number range, wherein the first sequence number range falls within the OOO sequence number range designated in the entry; updating the entry to remove sequence numbers comprising the first sequence number range from the OOO sequence number range; and forwarding the packet without awaiting receipt of any other packets associated with the flow. 11. The non-transitory tangible media of claim 10 , wherein the operations further comprise receiving at the network element a request packet associated with the flow. 12. The non-transitory tangible media of claim 10 , wherein the operations further comprise: receiving an additional packet associated with the flow, wherein the additional packet corresponds to a second sequence number range; and determining whether the OOO sequence number range designated in the entry includes sequence numbers comprising the second sequence number range. 13. The non-transitory tangible media of claim 12 , wherein the operations further comprise: classifying the additional packet as a retransmission if the OOO sequence number range designated in the entry does not include sequence numbers comprising the second sequence number range. 14. The non-transitory tangible media of claim 12 , wherein the operations further comprise forwarding the additional packet without awaiting receipt of any other packets associated with the flow if the OOO sequence number range designated in the entry includes sequence numbers comprising the second sequence number range. 15. The non-transitory tangible media of claim 14 , wherein the operations further comprise updating the entry to remove sequence numbers comprising the second sequence number range from the OOO sequence number range. 16. An apparatus, comprising: a memory element configured to store data, a processor to execute instructions associated with the data, and a tracking module configured to: create by a network element an entry comprising an out of order (“OOO”) sequence number range associated with a flow, wherein the OOO sequence number range is indicated by a request packet received at the network element; receive a packet associated with the flow, wherein the packet corresponds to a first sequence number range, wherein the first sequence number range falls within the OOO sequence number range designated in the entry; update the entry to remove sequence numbers comprising the first sequence number range from the OOO sequence number range; and forward the packet without awaiting receipt of any other packets associated with the flow. 17. The apparatus of claim 16 , wherein the tracking module is further configured to receive a request packet associated with the flow. 18. The apparatus of claim 16 , wherein the tracking module is further configured to: receive an additional packet associated with the flow, wherein the additional packet corresponds to a second sequence number range; and determine whether the OOO sequence number range designated in the entry includes sequence numbers comprising the second sequence number range. 19. The apparatus of claim 18 , wherein the tracking module is further configured to: classify the additional packet as a retransmission if the OOO sequence number range designated in the entry does not include sequence numbers comprising the second sequence number range. 20. The apparatus of claim 18 , wherein the tracking module is further configured to: forward the additional packet without awaiting receipt of any other packets associated with the flow if the OOO sequence number range designated in the entry includes sequence numbers comprising the second sequence number range; and update the entry to remove sequence numbers comprising the second sequence number range from the OOO sequence number range.

Assignees

Inventors

Classifications

  • H04L47/624Primary

    Altering the ordering of packets in an individual queue · CPC title

  • ensuring sequence integrity, e.g. using sequence numbers · CPC title

  • Flow based routing · 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 US9246837B2 cover?
A method is provided in one example embodiment and includes creating at a network element an entry designating an out of order (“OOO”) sequence number range associated with a flow and receiving at the network element a packet associated with the flow, wherein the packet corresponds to a first sequence number range, wherein the first sequence number range falls within the OOO sequence number ran…
Who is the assignee on this patent?
Cisco Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04L47/624. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 26 2016 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).