Interconnect flow control

US9794183B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9794183-B2
Application numberUS-201514871321-A
CountryUS
Kind codeB2
Filing dateSep 30, 2015
Priority dateJun 25, 2013
Publication dateOct 17, 2017
Grant dateOct 17, 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 communication technique which includes determining, at least in part by comparing data associated with a packet that has been pulled from a received packet queue with a highest sequence number among packets that have been placed in the received packet queue, that the received packet queue has space available to receive a further packet. A receiver with which the received packet queue is associated is sent, based at least in part on the determination, a next packet.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of communicating, comprising: determining, at least in part by comparing data associated with a packet that has been pulled from a received packet queue with a highest sequence number among packets that have been placed in the received packet queue, that the received packet queue has space available to receive a further packet; and sending based at least in part on the determination, to a receiver with which the received packet queue is associated, a next packet; wherein the data associated with the packet that has been pulled from the received packet queue is received by a sender of the packet in an acknowledgement sent by a receiver of the packet, the data associated with the packet including a sequence number of the packet, and wherein the sender is configured to compare the sequence number of the packet with said highest sequence number to make said determination that the received packet queue has space available to receive said further packet. 2. The method of claim 1 , wherein the determination is made at a sender from which the next packet is sent. 3. The method of claim 1 , further comprising waiting to send a subsequent packet based at least in part on the determination that the received packet queue is full. 4. The method of claim 1 , wherein the determination is made based at least in part on data sent by a master receiver thread that pulled the packet from the received packet queue. 5. The method of claim 4 , wherein the packet is placed in the received packet queue by a background receiver thread configured to receive packets sent via a network interconnect and place them in the received packet queue. 6. The method of claim 5 , wherein the master receiver thread receives the highest sequence number from the background receiver thread. 7. The method of claim 6 , wherein the master receiver thread includes the highest sequence number in an acknowledgement message sent to acknowledge receipt of the packet. 8. The method of claim 1 , wherein the determination is made at a sender of the packet in response to an acknowledgement (ack) message received at the sender. 9. A system for communicating, comprising: a processor; and a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to: determine, at least in part by comparing data associated with a packet that has been pulled from a received packet queue with a highest sequence number among packets that have been placed in the received packet queue, that the received packet queue has space available to receive a further packet; and send based at least in part on the determination, to a receiver with which the received packet queue is associated, a next packet; wherein the data associated with the packet that has been pulled from the received packet queue is received by a sender of the packet in an acknowledgement sent by a receiver of the packet, the data associated with the packet including a sequence number of the packet, and wherein the sender is configured to compare the sequence number of the packet with said highest sequence number to make said determination that the received packet queue has space available to receive said further packet. 10. The system of claim 9 , wherein the determination is made at a sender from which the next packet is sent. 11. The system of claim 9 , wherein the instructions further cause the processor to wait to send a subsequent packet based at least in part on the determination that the received packet queue is full. 12. The system of claim 9 , wherein the determination is made based at least in part on data sent by a master receiver thread that pulled the packet from the received packet queue. 13. The system of claim 12 , wherein the packet is placed in the received packet queue by a background receiver thread configured to receive packets sent via a network interconnect and place them in the received packet queue. 14. The system of claim 13 , wherein the master receiver thread receives the highest sequence number from the background receiver thread. 15. The system of claim 14 , wherein the master receiver thread includes the highest sequence number in an acknowledgement message sent to acknowledge receipt of the packet. 16. The system of claim 9 , wherein the determination is made at a sender of the packet in response to an acknowledgement (ack) message received at the sender. 17. A computer program product for communicating, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for: determining, at least in part by comparing data associated with a packet that has been pulled from a received packet queue with a highest sequence number among packets that have been placed in the received packet queue, that the received packet queue has space available to receive a further packet; and sending based at least in part on the determination, to a receiver with which the received packet queue is associated, a next packet; wherein the data associated with the packet that has been pulled from the received packet queue is received by a sender of the packet in an acknowledgement sent by a receiver of the packet, the data associated with the packet including a sequence number of the packet, and wherein the sender is configured to compare the sequence number of the packet with said highest sequence number to make said determination that the received packet queue has space available to receive said further packet. 18. The computer program product of claim 17 , wherein the determination is made based at least in part on data sent by a master receiver thread that pulled the packet from the received packet queue. 19. The computer program product of claim 18 , wherein the packet is placed in the received packet queue by a background receiver thread configured to receive packets sent via a network interconnect and place them in the received packet queue. 20. The computer program product of claim 19 , wherein the master receiver thread receives the highest sequence number from the background receiver thread.

Assignees

Inventors

Classifications

  • H04L47/30Primary

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

  • H04L49/90Primary

    Buffering arrangements · CPC title

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

  • by sampling · CPC title

  • queue load conditions, e.g. longest queue first · 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 US9794183B2 cover?
A communication technique which includes determining, at least in part by comparing data associated with a packet that has been pulled from a received packet queue with a highest sequence number among packets that have been placed in the received packet queue, that the received packet queue has space available to receive a further packet. A receiver with which the received packet queue is assoc…
Who is the assignee on this patent?
Emc Corp, Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification H04L47/30. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Oct 17 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).