IP Library Granted Patent US 9,124,666
Granted Patent B2
US 9,124,666 · App. 13/725,926 · Granted Sep 1, 2015

Reliability and availability of distributed servers

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 9,124,666
App. No.
13/725,926
Granted
Sep 1, 2015
Kind
B2
Abstract

A system of network proxies distributes data to multiple servers. Each network proxy is associated with a server. A network proxy intercepts a client request for data. If the network proxy determines that the request can be served using a copy of data stored on the local server, rather than the data stored on a remote server, it diverts the request to the local server. If the network proxy determines that the request cannot be served using a data from the local server, the network proxy diverts the request to a remote server storing the primary copy of the data. A server map specifies the locations of the primary copies of data. When a primary copy of data is updated on one of the servers, the associated network proxy propagates the updated data to the other servers. The servers can provide data from files, e-mail services, databases, or multimedia services.

Claims (31)

1. A distributed system comprising:

a first network proxy adapted to interface with a first client and a first server, wherein the first server includes a first copy of data; and

a second network proxy adapted to interface with the first network proxy and a second server, wherein the second server includes a second copy of the data;

wherein the first network proxy includes logic adapted to receive a write request to modify the data from the first client, logic adapted to locate a primary copy of the data, logic adapted to respond to the write request by modifying the first copy of the data on the first server if the first copy is determined to be the primary copy of the data, and logic adapted to respond to the write request by forwarding the write request to the second network proxy if the second copy of the data is the primary copy, wherein the logic adapted to locate a primary copy of the data includes logic to access a server map specifying a relationship between a shared directory of the first server and a shared directory of the second server, and wherein the server map designates a shared directory including the primary copy of the data as a local directory and a shared directory including a non-primary copy of the data as a broadcast directory.

2. The distributed system of claim 1 , wherein the first network proxy includes logic adapted to forward a data update request to the second network proxy following the modification of the first copy of the data.

3. The distributed system of claim 2 , wherein the second network proxy includes logic adapted to receive a data update request from the first network proxy and to update the second copy of the data in response to the data update request.

4. The distributed system of claim 3 , wherein the second network proxy includes logic adapted to receive a write request forwarded from the first network proxy and to respond to the write request by modifying the second copy of the data.

5. The distributed system of claim 4 , wherein the second network proxy includes logic adapted to create and forward a data update request to the first network proxy following the modification of the second copy of the data.

6. The distributed system of claim 5 , wherein the data update request includes at least a portion of the data modified by the write request.

7. The distributed system of claim 5 , wherein the data update request includes at least one instruction adapted to be executed by an application such that the first copy of the data matches the second copy of the data.

8. The distributed system of claim 5 , wherein the first network proxy includes logic adapted to receive the data update request from the second network proxy following the forwarding of the write request to the second network proxy and to respond to the data update request by modifying the first copy of the data.

9. The distributed system of claim 1 , wherein the first network proxy includes logic adapted to determine the operational status of a network connection between the first and second network proxies, logic adapted to receive a read request for the data from the first client, logic adapted to respond to the read request by retrieving the second copy of the data from the second server via the second network proxy in response to a determination that the network connection is operational and that the second copy of the data is the primary copy, and logic adapted to respond to the read request by retrieving the first copy of the data from the first server in response to a determination that the network connection is not operational or that the first copy of the data is the primary copy.

10. The distributed system of claim 1 , wherein the first server is a file server.

11. The distributed system of claim 1 , wherein the first server is an e-mail server.

12. The distributed system of claim 1 , wherein the first server is a multimedia server.

13. The distributed system of claim 1 , wherein the first server is a database server.

14. A device adapted to improve the availability of data, the device comprising:

a first network proxy adapted to interface with a first client, a second network proxy, and a first server, wherein the first server includes a first copy of data in a first shared directory; and

a server map specifying a relationship between the first shared directory and a second shared directory accessible to the second network proxy, wherein the server map designates a shared directory including a primary copy of the data as a local directory and a shared directory including a non-primary copy of the data as a broadcast directory;

wherein the first network proxy includes logic adapted to determine the operational status of a network connection between the first and second network proxies, logic adapted to receive a data access request for the first data, logic adapted to locate the primary copy of the data using the server map; logic adapted to forward the data access request to the second network proxy in response to a determination that the network connection is operational and a determination that the primary copy of the data is stored in the second shared directory; and logic adapted to provide a data access the first copy of the data on the first server in response to a determination that a determination that the network connection is not operational or that the primary copy of the data is stored in the first shared directory.

15. The device of claim 14 , wherein the data access is a read-only access in response to a determination that the primary copy of the data is stored in the second shared directory and the data access is read and write access in response to a determination that the primary copy of the data is stored in the first shared directory.

16. The device of claim 14 , wherein the first network proxy includes logic adapted to receive a data update request from the second network proxy following the forwarding of the data access request to the second network proxy and to respond to the data update request by modifying the first copy of the data.

17. The device of claim 16 , wherein the logic adapted to respond to the data update request includes logic adapted to issue a second data access request including modified data to be incorporated with the data.

18. The device of claim 16 , wherein the logic adapted to respond to the data update request includes logic adapted to issue a second data access request including at least one instruction adapted to be executed by an application to modify the data.

19. The device of claim 14 , wherein the first network proxy is adapted to interface with the first client and the first server via a local area network and is adapted to interface with the second network proxy via a wide-area network.

20. The device of claim 14 , wherein the first network proxy is incorporated with a network transaction accelerator.

21. The device of claim 14 , wherein the first server is a file server.

22. The device of claim 14 , wherein the first server is an e-mail server.

23. The device of claim 14 , wherein the first server is a multimedia server.

24. The device of claim 14 , wherein the first server is a database server.

25. The device of claim 14 , wherein the first server is a web server.

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: 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 →
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 →
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: BURMAN, DANIEL EDWIN; SUBBANNA, KARTIK; MCCANNE, STEVEN; WU, DAVID TZE-SI; DAY, MARK STUART
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 030770/0180 →