Credit based flow control for long-haul links

US9584429B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9584429-B2
Application numberUS-201414335962-A
CountryUS
Kind codeB2
Filing dateJul 21, 2014
Priority dateJul 21, 2014
Publication dateFeb 28, 2017
Grant dateFeb 28, 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 method for communication includes storing packets received from a sending node over a communication link in a receive buffer of a receiving node. The receive buffer includes one or more blocks having a first block size. A first credit count, corresponding to a number of available blocks in the receive buffer, is derived. The first credit count is converted to a second credit count so as to represent an available space in the receive buffer in accordance with a second block size, which is different from the first block size. A transmission rate of the sending node is controlled by publishing the second credit count to the sending node over the communication link.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method for communication, comprising: storing packets received from a sending node over a communication link in a receive buffer of a receiving node, wherein the receive buffer comprises one or more blocks having a first block size; deriving a first credit count corresponding to a number of available blocks in the receive buffer; converting the first credit count to a second credit count so as to represent an available space in the receive buffer in accordance with a second block size, which is different from the first block size, by extracting from the first credit count a number of Most Significant Bits (MSBs) that depends on a ratio between the second block size and the first block size, which equals an integer ratio; and controlling a transmission rate of the sending node by publishing the second credit count to the sending node over the communication link. 2. The method according to claim 1 , wherein publishing the second credit count comprises publishing a number of bytes that is smaller than an actual size of the receive buffer by at least the second block size. 3. The method according to claim 1 , and comprising rounding-up or rounding-down the extracted MSBs. 4. The method according to claim 1 , and comprising maintaining in the sending node a credit count in accordance with the first block size, and updating the credit count based on the second credit count published by the receiving node and on a number of bytes delivered from the sending node over the communication link. 5. A method for communication, comprising: storing packets received from a sending node over a communication link in a receive buffer of a receiving node, wherein the receive buffer comprises one or more blocks having a first block size; deriving a first credit count corresponding to a number of available blocks in the receive buffer; converting the first credit count to a second credit count so as to represent an available space in the receive buffer in accordance with a second block size, which is different from the first block size; controlling a transmission rate of the sending node by publishing the second credit count to the sending node over the communication link; and maintaining in the sending node a sent blocks count indicating a number of blocks delivered to the communication link since link initialization, and reporting by the sending node to the receiving node the sent blocks count in units corresponding to the second block size. 6. A method for communication, comprising: storing packets received from a sending node over a communication link in a receive buffer of a receiving node, wherein the receive buffer comprises one or more blocks having a first block size; deriving a first credit count corresponding to a number of available blocks in the receive buffer, by evaluating the number of available blocks in the receive buffer excluding part of the available space whose size equals at least a second block size, which is different from the first block size; converting the first credit count to a second credit count so as to represent an available space in the receive buffer in accordance with the second block size; and controlling a transmission rate of the sending node by publishing the second credit count to the sending node over the communication link. 7. A communication apparatus, comprising: a receive buffer, which comprises one or more blocks having a first block size; and a receiver controller, which is configured to store packets received over a communication link in the receive buffer, to derive a first credit count corresponding to a number of available blocks in the receive buffer, to convert the first credit count to a second credit count so as to represent an available space in the receive buffer in accordance with a second block size, which is different from the first block size, by extracting from the first credit count a number of Most Significant Bits (MSBs) that depends on a ratio between the second block size and the first block size, which equals an integer ratio, and to control a transmission rate of the packets by publishing the second credit count over the communication link. 8. The apparatus according to claim 7 , wherein the receiver controller is configured to publish the second credit count by publishing a number of bytes that is smaller than an actual size of the receive buffer by at least the second block size. 9. The apparatus according to claim 7 , wherein the receiver controller is configured to round-up or round-down the extracted MSBs. 10. The apparatus according to claim 7 , and comprising a sending node, which is configured to generate and transmit the packets over the communication link, to maintain a credit count in accordance with the first block size, and to update the credit count based on the published second credit count and on a number of bytes delivered from the sending node to the communication link. 11. A communication apparatus, comprising: a sending node, which is configured to generate and transmit packets over a communication link; a receive buffer, which comprises one or more blocks having a first block size; and a receiver controller, which is configured to store the packets received from the sending node over the communication link in the receive buffer, to derive a first credit count corresponding to a number of available blocks in the receive buffer, to convert the first credit count to a second credit count so as to represent an available space in the receive buffer in accordance with a second block size, which is different from the first block size, and to control a transmission rate of the packets by publishing the second credit count over the communication link, wherein the sending node is configured to maintain a sent blocks count indicating a number of blocks delivered to the communication link since link initialization, and to report the sent blocks count over the communication link in units corresponding to the second block size. 12. A communication apparatus, comprising: a receive buffer, which comprises one or more blocks having a first block size; and a receiver controller, which is configured to store packets received over a communication link in the receive buffer, to derive a first credit count corresponding to a number of available blocks in the receive buffer, by evaluating the number of available blocks in the receive buffer excluding part of the available space whose size equals at least a second block size, which is different from the first block size, to convert the first credit count to a second credit count so as to represent an available space in the receive buffer in accordance with the second block size, and to control a transmission rate of the packets by publishing the second credit count over the communication link.

Assignees

Inventors

Classifications

  • in combination with information about buffer occupancy at either end or at transit nodes · CPC title

  • H04L47/39Primary

    Credit based · CPC title

  • Rate modification at the source after receiving feedback · 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 US9584429B2 cover?
A method for communication includes storing packets received from a sending node over a communication link in a receive buffer of a receiving node. The receive buffer includes one or more blocks having a first block size. A first credit count, corresponding to a number of available blocks in the receive buffer, is derived. The first credit count is converted to a second credit count so as to re…
Who is the assignee on this patent?
Mellanox Technologies Ltd
What technology area does this patent fall under?
Primary CPC classification H04L47/39. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Feb 28 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).