Technologies for tracking out-of-order network packets

US2017180265A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2017180265-A1
Application numberUS-201514979131-A
CountryUS
Kind codeA1
Filing dateDec 22, 2015
Priority dateDec 22, 2015
Publication dateJun 22, 2017
Grant date

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.

Technologies for tracking out-of-order network packets include a target computing node coupled to a source computing node via a communication channel. The target computing node is configured to allocate a small window in memory in which to store a bit mask corresponding to a number of out-of-order network packets received from the source computing node via the communication channel. The target computing node is further configured to update the bit mask in the small window upon receiving an out-of-order network packet from the source computing node. The target computing node is additionally configured to allocate a large window in memory in response to a determination the size of the bit mask is larger than the size of the small window, store the bit mask in the large window, and store a pointer to the large window in the small window. Other embodiments are described and claimed.

First claim

Opening claim text (preview).

1 . A target computing node for tracking out-of-order network packets, the target computing node comprising: one or more processors; and one or more memory devices having stored therein a plurality of instructions that, when executed by the one or more processors, cause the target computing node to: establish a communication channel with a source computing node via a network; generate an entry of a packet sequence number table corresponding to the communication channel, wherein the entry includes a small window that defines a portion of memory of the target computing node allocated to store a bit mask corresponding to a number of out-of-order network packets received by the target computing node through the communication channel; receive a plurality of out-of-order network packets from the source computing node via the communication channel; and update the bit mask in the small window of the packet sequence number table corresponding to the communication channel as a function of a packet sequence number of each of the plurality of out-of-order network packets received from the source computing node. 2 . The target computing node of claim 1 , wherein to update the bit mask in the packet sequence number table comprises to (i) determine whether a size of the bit mask is larger than a size of the small window, (ii) allocate, in response to a determination the size of the bit mask is larger than the size of the small window, a large window that defines another portion of memory of the target computing node allocated to store the bit mask corresponding to a number of out-of-order network packets received by the target computing node through the communication channel, wherein a size of the large window exceeds the size of the bit mask, (iii) store the bit mask in the large window, and (iv) store a pointer to the large window in the small window. 3 . The target computing node of claim 2 , wherein the plurality of instructions further cause the target computing node to: receive an additional out-of-order network packet; update the bit mask in the large window as a function of the received additional out-of-order network packet; determine whether a size of the updated bit mask is larger than the size of the small window; and replace, in response to a determination the size of the updated bit mask is not larger than the size of the small window, the pointer to the large window with the updated bit mask. 4 . The target computing node of claim 3 , wherein the plurality of instructions further cause the target computing node to free, subsequent to the determination that no additional network packets are being tracked, the memory allocated to the large window. 5 . The target computing node of claim 3 , wherein the plurality of instructions further cause the target computing node to mark, subsequent to the determination that no additional network packets are being tracked, the large window as available and allocated to the source computing node. 6 . The target computing node of claim 1 , wherein the entry additionally includes a connection state indicator to indicate whether the communication channel is active. 7 . The target computing node of claim 1 , wherein the entry additionally includes an unordered packet sequence number indicator corresponding to a packet sequence number of the next expected network packet. 8 . The target computing node of claim 1 , wherein the entry additionally includes a window use indicator to indicate whether the small window corresponds to one of the bit mask or a pointer to a large window in which the bit mask is stored. 9 . One or more computer-readable storage media comprising a plurality of instructions stored thereon that in response to being executed cause a target computing node to: establish a communication channel with a source computing node via a network; generate an entry of a packet sequence number table corresponding to the communication channel, wherein the entry includes a small window that defines a portion of memory of the target computing node allocated to store a bit mask corresponding to a number of out-of-order network packets received by the target computing node through the communication channel; receive a plurality of out-of-order network packets from the source computing node via the communication channel; and update the bit mask in the small window of the packet sequence number table corresponding to the communication channel as a function of a packet sequence number of each of the plurality of out-of-order network packets received from the source computing node. 10 . The one or more computer-readable storage media of claim 9 , wherein to update the bit mask in the packet sequence number table comprises to (i) determine whether a size of the bit mask is larger than a size of the small window, (ii) allocate, in response to a determination the size of the bit mask is larger than the size of the small window, a large window that defines another portion of memory of the target computing node allocated to store the bit mask corresponding to a number of out-of-order network packets received by the target computing node through the communication channel, wherein a size of the large window exceeds the size of the bit mask, (iii) store the bit mask in the large window, and (iv) store a pointer to the large window in the small window. 11 . The one or more computer-readable storage media of claim 10 , wherein the plurality of instructions further cause the target computing node to: receive an additional out-of-order network packet; update the bit mask in the large window as a function of the received additional out-of-order network packet; determine whether a size of the updated bit mask is larger than the size of the small window; and replace, in response to a determination the size of the updated bit mask is not larger than the size of the small window, the pointer to the large window with the updated bit mask. 12 . The one or more computer-readable storage media of claim 11 , wherein the plurality of instructions further cause the target computing node to free, subsequent to the determination that no additional network packets are being tracked, the memory allocated to the large window. 13 . The one or more computer-readable storage media of claim 11 , wherein the plurality of instructions further cause the target computing node to mark, subsequent to the determination that no additional network packets are being tracked, the large window as available and allocated to the source computing node. 14 . The one or more computer-readable storage media of claim 9 , wherein the entry additionally includes a connection state indicator to indicate whether the communication channel is active. 15 . The one or more computer-readable storage media of claim 9 , wherein the entry additionally includes an unordered packet sequence number indicator corresponding to a packet sequence number of the next expected network packet. 16 . The one or more computer-readable storage media of claim 9 , wherein the entry additionally includes a window use indicator to indicate whether the small window corresponds to one of the bit mask or a pointer to a large window in which the bit mask is stored. 17 . A method for tracking out-of-order network packets, the method comprising: establishing, by a target computing node, a communication channel with a source computing node via a network; generating, by the target computing node, an entry of a packet sequence number table corresponding to the communication channel, wherein the entry includes a sm

Assignees

Inventors

Classifications

  • H04L47/34Primary

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

  • Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets · CPC title

  • Electricity · mapped topic

  • using masks or ranges of addresses · 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 US2017180265A1 cover?
Technologies for tracking out-of-order network packets include a target computing node coupled to a source computing node via a communication channel. The target computing node is configured to allocate a small window in memory in which to store a bit mask corresponding to a number of out-of-order network packets received from the source computing node via the communication channel. The target …
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification H04L47/34. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu Jun 22 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).