Technologies for endpoint congestion avoidance

US10439946B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10439946-B2
Application numberUS-201715429716-A
CountryUS
Kind codeB2
Filing dateFeb 10, 2017
Priority dateFeb 10, 2017
Publication dateOct 8, 2019
Grant dateOct 8, 2019

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 endpoint congestion avoidance are disclosed. In order to avoid congestion caused by a network fabric that can transport data to a compute device faster than the compute device can store the data in a particular type of memory, the compute device may in the illustrative embodiment determine a suitable data transfer rate and communicate an indication of the data transfer rate to the remote compute device which is sending the data. The remote compute device may then send the data at the indicated data transfer rate, thus avoiding congestion.

First claim

Opening claim text (preview).

The invention claimed is: 1. A compute device for avoiding endpoint congestion, the compute device comprising: a processor; a host fabric interface; and a memory comprising a plurality of instructions stored thereon that, when executed, cause the compute device to: determine a message comprising data to be sent to a remote compute device, wherein the message comprises initial data and the data; determine, by the host fabric interface, a data transfer rate indicative of a rate at which the remote compute device is able to store data transmitted by the host fabric interface, wherein the data transfer rate is less than a maximum data transfer rate of the host fabric interface, but greater than zero, and wherein to determine the data transfer rate comprises to: send a packet comprising the initial data to the remote compute device and receive an acknowledgement of receipt of the packet from the remote compute device, wherein the acknowledgement comprises an indication of the data transfer rate; send, by the host fabric interface, the data to the remote compute device at a rate based on the determined data transfer rate, wherein to send the packet to the remote compute device comprises to send the packet to the remote compute device at a past data transfer rate based on past performance data indicative of a past data storage rate of the remote compute device. 2. The compute device of claim 1 , wherein the plurality of instructions further cause the compute device to update the past performance data based on the indication of the data transfer rate. 3. The compute device of claim 1 , wherein to determine the message to be sent comprises to receive, by the host fabric interface and from the remote compute device, a read request, wherein the read request comprises an indication of a memory location of the data and an indication of the data transfer rate, wherein to determine the data transfer rate comprises to determine the data transfer rate based on the indication of the data transfer rate, and wherein to send the data comprises to read, by the host fabric interface, the data from the memory location. 4. The compute device of claim 1 , wherein to send the data comprises to: send a ready to send (RTS) message to the remote compute device; receive, from the remote compute device, a clear to send (CTS) message, wherein the CTS message comprises an indication of the data transfer rate; and send, in response to receipt of the CTS message, the data, wherein to determine the data transfer rate comprises to determine the data transfer rate based on the indication of the data transfer rate. 5. The compute device of claim 1 , wherein to send the data to the remote compute device at the rate based on the determined data transfer rate comprises to send the data to the remote compute device at a rate no higher than the data transfer rate. 6. The compute device of claim 1 , wherein the host fabric interface is in its own package separate from the processor. 7. The compute device of claim 1 , wherein the host fabric interface is in a multi-chip package with the processor or is in a system-on-a-chip with the processor. 8. One or more computer-readable media comprising a plurality of instructions stored thereon that, when executed, causes a compute device to: determine a message comprising data to be sent to a remote compute device, wherein the message comprises initial data and the data; determine, by a host fabric interface of the compute device, a data transfer rate indicative of a rate at which the remote compute device is able to store data transmitted by the host fabric interface, wherein the data transfer rate is less than a maximum data transfer rate of the host fabric interface, but greater than zero, and wherein to determine the data transfer rate comprises to: send a packet comprising the initial data to the remote compute device and receive an acknowledgement of receipt of the packet from the remote compute device, wherein the acknowledgement comprises an indication of the data transfer rate; and send, by the host fabric interface, the data to the remote compute device at a rate based on the determined data transfer rate, wherein to send the packet to the remote compute device comprises to send the packet to the remote compute device at a past data transfer rate based on past performance data indicative of a past data storage rate of the remote compute device. 9. The one or more computer-readable media of claim 8 , wherein the plurality of instructions further cause the compute device to update the past performance data based on the indication of the data transfer rate. 10. The one or more computer-readable media of claim 8 , wherein to determine the message to be sent comprises to receive, by the host fabric interface and from the remote compute device, a read request, wherein the read request comprises an indication of a memory location of the data and an indication of the data transfer rate, wherein to determine the data transfer rate comprises to determine the data transfer rate based on the indication of the data transfer rate, and wherein to send the data comprises to read, by the host fabric interface, the data from the memory location. 11. The one or more computer-readable media of claim 8 , wherein to send the data to the remote compute device at the rate based on the determined data transfer rate comprises to send the data to the remote compute device at a rate no higher than the data transfer rate. 12. A compute device for avoiding endpoint congestion, the compute device comprising: a host fabric interface; means for determining a message comprising data to be sent to a remote compute device wherein the message comprises initial data and the data; means for determining, by the host fabric interface, a data transfer rate indicative of a rate at which the remote compute device is able to store data transmitted by the host fabric interface, wherein the data transfer rate is less than a maximum data transfer rate of the host fabric interface, but greater than zero, and wherein to determine the data transfer rate comprises to: send a packet comprising the initial data to the remote compute device and receive an acknowledgement of receipt of the packet from the remote compute device, wherein the acknowledgement comprises an indication of the data transfer rate; and means for sending, by the host fabric interface, the data to the remote compute device at a rate based on the determined data transfer rate, wherein to send the packet to the remote compute device comprises to send the packet to the remote compute device at a past data transfer rate based on past performance data indicative of a past data storage rate of the remote compute device. 13. The compute device of claim 12 , further comprising means for updating the past performance data based on the indication of the data transfer rate. 14. The compute device of claim 12 , wherein the means for determining the message to be sent comprises means for receiving, by the host fabric interface and from the remote compute device, a read request, wherein the read request comprises an indication of a memory location of the data and an indication of the data transfer rate, wherein the means for determining the data transfer rate comprises means for determining the data transfer rate based on the indication of the data transfer rate, and wherein the means for sending the data comprises means for reading, by the host fabric interface, the data from the memory location.

Assignees

Inventors

Classifications

  • by using congestion prediction · CPC title

  • Avoiding congestion; Recovering from congestion · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • Packet rate · CPC title

  • Active monitoring, e.g. heartbeat, ping or trace-route · 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 US10439946B2 cover?
Technologies for endpoint congestion avoidance are disclosed. In order to avoid congestion caused by a network fabric that can transport data to a compute device faster than the compute device can store the data in a particular type of memory, the compute device may in the illustrative embodiment determine a suitable data transfer rate and communicate an indication of the data transfer rate to …
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification H04L47/25. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Oct 08 2019 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).