Interconnect flow control
AssigneeEMC Corporation
InventorsLei Chang, Tao Ma, Lirong Jian, Kurt Harriman, Zhanwei Wang, Lili Ma
Life of this patent
Estimating the term…
Abstract
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.
Claims22
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 packet comprises a first packet and further comprising determining at least in part by comparing data associated with a second packet that has been pulled from the received packet queue to a corresponding highest sequence number among packets that had been placed in the received packet queue as of a time associated with pulling the second packet from the received packet queue that the received packet queue is full.
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 packet is received from a sender configured to add an entry to an ack queue ring in connection with sending the packet;
- and wherein the ack queue ring includes a plurality of ring positions each associated with a fixed increment of time.
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 packet comprises a first packet and the memory is further 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 second packet that has been pulled from the received packet queue to a corresponding highest sequence number among packets that had been placed in the received packet queue as of a time associated with pulling the second packet from the received packet queue that the received packet queue is full.
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 packet comprises a first packet and the memory is further 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 second packet that has been pulled from the received packet queue to a corresponding highest sequence number among packets that had been placed in the received packet queue as of a time associated with pulling the second packet from the received packet queue that the received packet queue is full.
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 packet is received from a sender configured to add an entry to an ack queue ring in connection with sending the packet;
- and wherein the ack queue ring includes a plurality of ring positions each associated with a fixed increment of time.
Dependencies are inferred from the claim text.