IP Library Granted Patent US 8,463,843
Granted Patent B2
US 8,463,843 · App. 11/754,940 · Granted Jun 11, 2013

Throttling of predictive ACKs in an accelerated network communication system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,463,843
App. No.
11/754,940
Granted
Jun 11, 2013
Kind
B2
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.

Claims (25)

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.

2. The method of claim 1 , wherein the logical length for the request queue is based on the actual length of the request queue and a historical value of the logical length.

3. The method of claim 1 , wherein the logical length for the request queue is the actual length of the request queue.

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.

5. The system of claim 4 , wherein the logical request queue length is equal to the actual queue length.

6. The system of claim 4 , wherein the destination is a file server and the source is a client having a file session with that file server.

7. The system of claim 4 , wherein pre-acknowledgement rules include state of the source-side transaction accelerator when determining whether to pre-acknowledge writes.

8. The system of claim 4 , wherein signaling is also a function of one or more of destination-side server processing, server-side LAN characteristics and/or the size of the write queue at the destination-side transaction accelerator.

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.

10. The method of claim 9 , wherein when a size of the destination-side queue reaches an upper limit, the source-side transaction accelerator is signaled to stop pre-acknowledging writes and when the size of the destination-side queue reaches a lower limit, the source-side transaction accelerator is signaled to pre-acknowledge writes.

11. The method of claim 10 , wherein the upper and lower limits are determined by one or more of explicit static configuration rules that can vary by network address characteristics and/or dynamic settings based on time of day or traffic characteristics.

12. The method of claim 9 , wherein status of a destination-side queue is determined from one or more of predicted congestion based on the number of pending write requests at the destination-side transaction accelerator, the volume of the data being written, a limit on the volume of data allowed to be represented by pre-acknowledged writes, actual queue length, and/or a logical queue length other than actual queue length.

13. The method of claim 9 , wherein status of a destination-side queue is determined from a logical queue length that is dependent on the actual queue length and one or more of queue pendency times for write requests, amount of time spent in the queue may be estimated based on characteristics of the server-side LAN, weights based on empirical observations, dynamic weights based on current network conditions and/or historical logical queue lengths.

Assignments (19)
RELEASE OF SECURITY INTEREST Recorded Aug 11, 2023
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC; RIVERBED HOLDINGS, INC.
Reel/Frame 064673/0739 →
CHANGE OF NAME Recorded Feb 18, 2022
From: RIVERBED TECHNOLOGY, INC.
To: RIVERBED TECHNOLOGY LLC
Reel/Frame 059232/0551 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0169 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0108 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0046 →
SECURITY INTEREST Recorded Dec 10, 2021
From: RIVERBED TECHNOLOGY LLC (FORMERLY RIVERBED TECHNOLOGY, INC.); ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
Reel/Frame 058486/0216 →
PATENT SECURITY AGREEMENT Recorded Oct 27, 2021
From: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 057943/0386 →
PATENT SECURITY AGREEMENT SUPPLEMENT - FIRST LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 057810/0502 →
PATENT SECURITY AGREEMENT SUPPLEMENT - SECOND LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 057810/0559 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORED AT REEL 056397, FRAME 0750 Recorded Oct 13, 2021
From: MACQUARIE CAPITAL FUNDING LLC
To: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 057983/0356 →
SECURITY INTEREST Recorded May 26, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MACQUARIE CAPITAL FUNDING LLC
Reel/Frame 056397/0750 →
PATENT SECURITY AGREEMENT Recorded Mar 5, 2021
From: RIVERBED TECHNOLOGY, INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 055514/0249 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY NAME PREVIOUSLY RECORDED ON REEL 035521 FRAME 0069. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST IN PATENTS. Recorded Jun 2, 2015
From: JPMORGAN CHASE BANK, N.A.
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035807/0680 →
SECURITY INTEREST Recorded May 1, 2015
From: RIVERBED TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 035561/0363 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 28, 2015
From: BARCLAYS BANK PLC
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035521/0069 →
PATENT SECURITY AGREEMENT Recorded Dec 27, 2013
From: RIVERBED TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032421/0162 →
RELEASE OF PATENT SECURITY INTEREST Recorded Dec 26, 2013
From: MORGAN STANLEY & CO. LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 032113/0425 →
SECURITY AGREEMENT Recorded Dec 20, 2012
From: RIVERBED TECHNOLOGY, INC.; OPNET TECHNOLOGIES, INC.
To: MORGAN STANLEY & CO. LLC
Reel/Frame 029646/0060 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2007
From: SUBBANNA, KARTIK; GUPTA, NITIN; KINI, ADITYASHANKAR; O'SULLIVAN, DANIEL CONOR; MERUGU, SHASHIDHAR; PROCTER, STEVEN JAMES; KESWANI, VIVASVAT MANOHAR
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 019745/0288 →