TRANSPARENT FAILOVER
First Claim
1. A computer implemented method of providing consistent availability to clients accessing a shared file system on a server cluster, the method comprising:
- receiving at a file server a request to connect to the file server to access file information in a shared file system, the first request being formatted according to a file access protocol, wherein the file server is one of a plurality of servers in a server cluster;
sending a response from the file server, the response establishing a session with a client for allowing access to file information in the shared file system, the response being formatted according to the file access protocol;
receiving a request at the file server to open a persistent handle on the file server for accessing a file in the shared file system by the client, the request including a handle identifier provided by the client;
in response to receiving the request, the file server;
storing first state information about the session in association with the handle identifier; and
sending a response to the client granting access to the file;
after a client disconnect, receiving a request to reestablish the session using the persistent handle; and
reestablishing the session using the first state information.
3 Assignments
0 Petitions
Accused Products
Abstract
Described are embodiments directed at persistent handles that are used to retain state across network failures and server failovers. Persistent handles are requested by a client after a session has been established with a file server. The request for the persistent handle includes a handle identifier generated by the client. The server uses the handle identifier to associate with state information. When there is a network failure or a server failover, and a reconnection to the client, the handle identifier is used to identify replayed requests that if replayed would create an inconsistent state on the server. The replayed requests are then appropriately handled.
-
Citations
20 Claims
-
1. A computer implemented method of providing consistent availability to clients accessing a shared file system on a server cluster, the method comprising:
-
receiving at a file server a request to connect to the file server to access file information in a shared file system, the first request being formatted according to a file access protocol, wherein the file server is one of a plurality of servers in a server cluster; sending a response from the file server, the response establishing a session with a client for allowing access to file information in the shared file system, the response being formatted according to the file access protocol; receiving a request at the file server to open a persistent handle on the file server for accessing a file in the shared file system by the client, the request including a handle identifier provided by the client; in response to receiving the request, the file server; storing first state information about the session in association with the handle identifier; and sending a response to the client granting access to the file; after a client disconnect, receiving a request to reestablish the session using the persistent handle; and reestablishing the session using the first state information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer readable storage medium comprising computer executable instructions that when executed by a processor perform a method of maintaining consistent state, the method comprising:
-
sending a request by a client to connect to a server to access file information, the request being formatted according to a file access protocol; receiving a response from the server, the response establishing a session with the client for allowing access to file information on the server, the response being formatted according to the file access protocol; sending a request to open a persistent handle on the server for accessing a file on the server by the client, the request including a handle identifier provided by the client; receiving a response at the client granting access to the file; detecting that the client has been disconnected from the server; sending a request to reestablish the session using the persistent handle, the request to reestablish the session including the handle identifier; determining that the session has been reestablished; and sending a new request. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A system for providing consistent availability of file information, the system comprising:
a first server comprising; at least one processor configured to execute computer executable instructions; at least one computer readable storage media storing the computer executable instructions that when executed by the at least one processor provide; a first file server configured to; receive a request to open a persistent handle for accessing a file on the first file server by a client, the request including a handle identifier provided by the client; store first state information in association with the handle identifier; register with a resume key filter to store second state information in association with a resume key; and send a response to the client granting access to the file; the resume key filter configured to; receive a registration request from the first file server; store the second state information with the resume key; and send the second state information to the first file server in response to a request from the first file server for the second state information. - View Dependent Claims (17, 18, 19, 20)
Specification