IP Library Granted Patent US 8,856,222
Granted Patent B2
US 8,856,222 · App. 13/766,703 · Granted Oct 7, 2014

Transaction acceleration for client-server communication systems

Inventors: Steven McCanne (Berkeley, CA); Michael J. Demmer (San Francisco, CA); Arvind Jain (Santa Clara, CA); David Tze-Si Wu (Fremont, CA); Alfred Landrum (San Francisco, CA)
Assignee: Riverbed Technology, Inc.
H04L67/42H03M7/30H04L67/2876H04L29/08792H04L67/108H04L67/2842
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,856,222
App. No.
13/766,703
Granted
Oct 7, 2014
Kind
B2
Abstract

Self-discovering transaction accelerators improve communications between a client and a server. A client directs a message to a server. A client-side transaction accelerator intercepts the message, terminates the connection with the client, and accelerates the request by replacing segments of data with references. The accelerated request is forwarded to a server-side transaction accelerator through a new connection. The server-side transaction accelerator reconstructs the message by replacing the reference with segment data in a persistent segment store accessible to the server-side transaction accelerator. The reconstructed request is then provided to the server. Accelerations may occur in any direction of communication. Persistent segment stores can be pre-populated with segment data from other transaction accelerators and anticipated transactions. The persistent segment store can store segments that are data segmented based on content of the data and can be independent of transaction protocol, application, and device.

Claims (19)

1. A system for accelerating protocol interactions over transport connections between a client and a server communicating over a network path, the system comprising:

a first proxy in proximity to the client;

a second proxy in proximity to the server, wherein the first proxy and the second proxy include logic for determining whether both the first proxy and the second proxy are in the network path from the client to the server; and

a connection interception mechanism that, when the first and second proxies are determined to be in the network path, is configured to (1) transparently terminate, at the first proxy, a client to-server transport connection, thereby forming a first intercepted connection between the first proxy and the client, (2) transparently terminate, at the second proxy, a server-to-client transport connection, thereby forming a second intercepted connection between the second proxy and the server, and (3) establish a third connection between the first proxy and second proxy,

wherein as part of a bandwidth optimization mechanism, the second proxy is configured to:

store data patterns in a data store, wherein each stored data pattern is associated with a reference;

receive one or more messages from the server over the second intercepted connection;

modify said server messages at least in part by replacing one or more data patterns of the server messages with associated references; and

transmit said modified server messages to the first proxy over the third connection.

2. The system claim 1 , wherein as part of an application protocol optimization mechanism, the second proxy is further configured to:

observe one or more application protocol messages transmitted by the client to the server for determining a pattern of client activity;

based on the observed pattern, synthesize and issue one or more requests to the server over the second intercepted connection;

receive responses to said requests; and

transmit said responses to the first proxy over the third connection as predicted responses.

3. The system claim 2 , wherein the second proxy comprises:

a prediction database comprising records of past transactions and relationships among past transactions; and

a predictor module that determines, from a received transaction and contents of the prediction database, which transactions are likely to occur in the future.

4. The system of claim 2 , wherein the application protocol is a file access protocol, the pattern of client activity is an “open” operation for a file, and the synthesized requests are “read requests” constituting a file read ahead.

5. The system of claim 2 , wherein the application protocol is a file access protocol, the pattern of client activity is a “read” operation at one location in a file, and the synthesized requests are “read requests” for one or more other locations in the file constituting a file read ahead.

Assignments (17)
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 - 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 →
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2013
From: MCCANNE, STEVEN; DEMMER, MICHAEL J.; JAIN, ARVIND; WU, DAVID TZE-SI; LANDRUM, ALFRED
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 030770/0668 →
Continuity (12)
Continuation 13441681 · Apr 6, 2012
Continuation 12191514 · Aug 14, 2008
Continuation In Part 11229016 · Sep 15, 2005
Continuation In Part 11508531 · Aug 22, 2006
Continuation In Part 10640405 · Aug 12, 2003
Continuation 10285315 · Oct 30, 2002
Continuation 11223789 · Sep 8, 2005
Continuation 10968868 · Oct 18, 2004
Continuation 10731687 · Dec 8, 2003
Continuation 10285330 · Oct 30, 2002
Provisional Application 60462990 · Apr 14, 2003
Related Publication 20130246508A1 · Sep 19, 2013