IP Library Granted Patent US 8,321,580
Granted Patent B2
US 8,321,580 · App. 13/459,065 · Granted Nov 27, 2012

Transaction accelerator for client-server communication systems

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,321,580
App. No.
13/459,065
Granted
Nov 27, 2012
Kind
B2
Abstract

In a network having transaction acceleration, for an accelerated transaction, a client directs a request to a client-side transaction handler that forwards the request to a server-side transaction handler, which in turn provides the request, or a representation thereof, to a server for responding to the request. The server sends the response to the server-side transaction handler, which forwards the response to the client-side transaction handler, which in turn provides the response to the client.

Claims (56)

1. A method for communicating data over a communication network, the method comprising:

a first apparatus receiving a data request from a first computer;

the first apparatus sending the data request to a second apparatus;

the second apparatus sending the data request to a second computer;

the second apparatus receiving response data from the second computer, wherein the second computer generates the response data based on the data request;

the second apparatus determining whether a portion of the response data is locally accessible to the first apparatus;

in response to determining that the portion of the response data is locally accessible to the first apparatus, the second apparatus modifying the response data to obtain modified response data, wherein said modifying includes replacing the portion of the response data with a reference to the portion of the response data, and wherein the modified response data instructs the first apparatus to use the reference to the portion of the response data to retrieve the portion of the response data from a storage that is locally accessible to the first apparatus;

the second apparatus sending the modified response data to the first apparatus;

the first apparatus retrieving the portion of the response data based on the reference to the portion of the response data, wherein the portion of the response data is retrieved from the storage that is locally accessible to the first apparatus; and

the first apparatus sending the response data to the first computer.

2. The method of claim 1 , wherein the data request is part of a first communication from the first computer to the second computer, and wherein the first apparatus receives the data request by intercepting the first communication.

3. The method of claim 1 , wherein the data request is part of a first communication from the first computer to the first apparatus.

4. The method of claim 1 , wherein the response data is part of a second communication from the second computer to the first computer, and wherein the second apparatus receives the response data by intercepting the second communication.

5. The method of claim 1 , wherein the response data is part of a second communication from the second computer to the second apparatus.

6. The method of claim 1 , wherein the first computer communicates with the first apparatus over a first local area network, wherein the first apparatus communicates with the second apparatus over a wide area network, and wherein the second apparatus communicates with the second computer over a second local area network.

7. The method of claim 1 , wherein the storage that is locally accessible to the first apparatus is a database.

8. A method for communicating data over a communication network, the method comprising:

a first apparatus receiving a data request from a first computer;

the first apparatus sending the data request to a second apparatus;

the second apparatus sending the data request to a second computer;

the second apparatus receiving response data from the second computer, wherein the second computer generates the response data based on the data request;

the second apparatus determining whether a portion of the response data is locally accessible to the first apparatus;

in response to determining that the portion of the response data is not locally accessible to the first apparatus, the second apparatus modifying the response data to obtain modified response data, wherein said modifying includes adding, to the response data, a reference to the portion of the response data, wherein the modified response data instructs the first apparatus to store the portion of the response data and the reference to the portion of the response data in a storage that is locally accessible to the first apparatus;

the second apparatus sending the modified response data to the first apparatus;

the first apparatus storing the portion of the response data and the reference to the portion of the response data in the storage that is locally accessible to the first apparatus; and

the first apparatus sending the response data to the first computer.

9. The method of claim 8 , wherein the data request is part of a first communication from the first computer to the second computer, and wherein the first apparatus receives the data request by intercepting the first communication.

10. The method of claim 8 , wherein the data request is part of a first communication from the first computer to the first apparatus.

11. The method of claim 8 , wherein the response data is part of a second communication from the second computer to the first computer, and wherein the second apparatus receives the response data by intercepting the second communication.

12. The method of claim 8 , wherein the response data is part of a second communication from the second computer to the second apparatus.

13. The method of claim 8 , wherein the first computer communicates with the first apparatus over a first local area network, wherein the first apparatus communicates with the second apparatus over a wide area network, and wherein the second apparatus communicates with the second computer over a second local area network.

14. The method of claim 8 , wherein the storage that is locally accessible to the first apparatus is a database.

15. An apparatus, comprising:

a first receiving mechanism configured to receive a data request from a remote apparatus;

a first sending mechanism configured to send the data request to a computer;

a second receiving mechanism configured to receive response data from the computer, wherein the computer generates the response data based on the data request;

a determining mechanism configured to determine whether a portion of the response data is locally accessible to the remote apparatus;

a modifying mechanism configured to:

in response to determining that the portion of the response data is locally accessible to the remote apparatus, replace the portion of the response data with a reference to the portion of the response data, thereby instructing the remote apparatus to use the reference to the portion of the response data to retrieve the portion of the response data from a storage that is locally accessible to the remote apparatus; and

a second sending mechanism configured to send the response data to the remote apparatus.

16. The apparatus of claim 15 , wherein the response data is part of a communication from the computer to a remote computer, and wherein the second receiving mechanism is configured to intercept the communication.

17. The apparatus of claim 15 , wherein the response data is part of a communication from the computer to the apparatus.

18. The apparatus of claim 15 , wherein the first receiving mechanism is configured to receive the data request from the remote apparatus over a wide area network, and wherein the second sending mechanism configured to send the modified response data to the remote apparatus over the wide area network.

19. The apparatus of claim 15 , wherein the first sending mechanism is configured to send the data request to the computer over a local area network, and wherein the second receiving mechanism is configured to receive the response data from the computer over the local area network.

20. An apparatus, comprising:

a first receiving mechanism configured to receive a data request from a remote apparatus;

a first sending mechanism configured to send the data request to a computer;

a second receiving mechanism configured to receive response data from the computer, wherein the computer generates the response data based on the data request;

a determining mechanism configured to determine whether a portion of the response data is locally accessible to the remote apparatus;

a modifying mechanism configured to:

in response to determining that the portion of the response data is not locally accessible to the remote apparatus, add, to the response data, a reference to the portion of the response data, thereby instructing the remote apparatus to store the portion of the response data and the reference to the portion of the response data in the storage that is locally accessible to the remote apparatus; and

a second sending mechanism configured to send the response data to the remote apparatus.

21. The apparatus of claim 20 , wherein the response data is part of a communication from the computer to a remote computer, and wherein the second receiving mechanism is configured to intercept the communication.

22. The apparatus of claim 20 , wherein the response data is part of a communication from the computer to the apparatus.

23. The apparatus of claim 20 , wherein the first receiving mechanism is configured to receive the data request from the remote apparatus over a wide area network, and wherein the second sending mechanism configured to send the modified response data to the remote apparatus over the wide area network.

24. The apparatus of claim 20 , wherein the first sending mechanism is configured to send the data request to the computer over a local area network, and wherein the second receiving mechanism is configured to receive the response data from the computer over the local area network.

Assignments (21)
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 →
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 028144 FRAME 0511. ASSIGNOR(S) HEREBY CONFIRMS THE NBT TECHNOLOGY, INC.. Recorded May 8, 2012
From: MCCANNE, STEVEN; DEMMER, MICHAEL J.
To: NBT TECHNOLOGY, INC.
Reel/Frame 028171/0180 →
CHANGE OF NAME Recorded May 2, 2012
From: NBT TECHNOLOGY, INC.
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 028146/0552 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2012
From: MCCANNE, STEVEN; DEMMER, MICHAEL J.
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 028144/0511 →