Throttling of predictive ACKs in an accelerated network communication system
First Claim
1. A method of limiting potential data loss when pre-acknowledging requests, the method comprising:
- receiving a message as part of a transaction at a recipient-side transaction accelerator, the message being a message for which a sender expects an acknowledgement and for which a sender-side transaction accelerator sent a recipient acknowledgement of the transaction in advance of the recipient acknowledging the transaction;
computing a logical length for a request queue at the recipient-side transaction accelerator, the request queue for holding contents of messages not yet sent to the recipient;
smoothing the logical length to counteract variations in an actual queue length caused by message bursts received at the recipient-side transaction accelerator; and
adjusting the flow of pre-acknowledged requests or pre-acknowledgements at the sender-side transaction accelerator based at least on the computed logical length after being smoothed.
19 Assignments
0 Petitions
Accused Products
Abstract
In a system where transactions are accelerated with asynchronous writes that require acknowledgements, with pre-acknowledging writes at a source of the writes, a destination-side transaction accelerator includes a queue for queue writes to a destination, at least some of the writes being pre-acknowledged by a source-side transaction accelerator prior to the write completing at the destination, a memory for storing a status of a destination-side queue and possibly other determinants, and logic for signaling to the source-side transaction accelerator with instructions to alter pre-acknowledgement rules to hold off on and pursue pre-acknowledgements based on the destination-side queue status. The rules can take into account adjusting the flow of pre-acknowledged requests or pre-acknowledgements at the sender-side transaction accelerator based at least on the computed logical length.
-
Citations
13 Claims
-
1. A method of limiting potential data loss when pre-acknowledging requests, the method comprising:
-
receiving a message as part of a transaction at a recipient-side transaction accelerator, the message being a message for which a sender expects an acknowledgement and for which a sender-side transaction accelerator sent a recipient acknowledgement of the transaction in advance of the recipient acknowledging the transaction; computing a logical length for a request queue at the recipient-side transaction accelerator, the request queue for holding contents of messages not yet sent to the recipient; smoothing the logical length to counteract variations in an actual queue length caused by message bursts received at the recipient-side transaction accelerator; and adjusting the flow of pre-acknowledged requests or pre-acknowledgements at the sender-side transaction accelerator based at least on the computed logical length after being smoothed. - View Dependent Claims (2, 3)
-
-
4. In a system where transactions are accelerated with asynchronous writes that require acknowledgements, with pre-acknowledging writes at a source of the writes, a destination-side transaction accelerator comprising:
-
a queue for queue writes to a destination; memory for storing a status of a destination-side queue, the status comprising a logical request queue length; logic for smoothing the logical request queue length to counteract variations in an actual queue length caused by message bursts received at the destination-side transaction accelerator; and logic for signaling to a source-side transaction accelerator with instructions to alter pre-acknowledgement rules to hold off on and pursue pre-acknowledgements based at least on the logical request queue length after being smoothed. - View Dependent Claims (5, 6, 7, 8)
-
-
9. In a system where transactions are accelerated with asynchronous writes that require acknowledgements, with pre-acknowledging writes at a source of the writes, a method comprising:
-
queuing pre-acknowledged write requests at a destination-side transaction accelerator; determining a status of a destination-side queue, the status comprising a logical request queue length; smoothing the logical request queue length to counteract variations in an actual queue length caused by message bursts received at the destination-side transaction accelerator; and signaling to a source-side transaction accelerator with instructions to alter pre-acknowledgement rules to hold off on and pursue pre-acknowledgements based at least on the logical request queue length after being smoothed. - View Dependent Claims (10, 11, 12, 13)
-
Specification