Reliability and availability of distributed servers
First Claim
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.
17 Assignments
0 Petitions
Accused Products
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.
-
Citations
25 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
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. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
Specification