SEAMLESS TAKEOVER OF A STATEFUL PROTOCOL SESSION IN A VIRTUAL MACHINE ENVIRONMENT
First Claim
1. A method comprising:
- operating a first virtual server in an active role in a host processing system to serve a client, by using a stateful protocol between the first virtual server and the client;
associating a second virtual server in a passive role with the first virtual server; and
in response to a predetermined event, causing the second virtual server to take over the active role from the first virtual server, while preserving state for a pending client request sent to the first virtual server in the stateful protocol.
1 Assignment
0 Petitions
Accused Products
Abstract
The disclosed technique uses virtual machines in solving a problem of persistent state for storage protocols. The technique provides for seamless, persistent, storage protocol session state management on a server, for higher availability. A first virtual server is operated in an active role in a host system to serve a client, by using a stateful protocol between the first virtual server and the client. A second, substantially identical virtual server is maintained in a passive role. In response to a predetermined event, the second virtual server takes over for the first virtual server, while preserving state for a pending client request sent to the first virtual server in the stateful protocol. The method can further include causing the second virtual server to respond to the request before a timeout which is specific to the stateful protocol can occur.
-
Citations
28 Claims
-
1. A method comprising:
-
operating a first virtual server in an active role in a host processing system to serve a client, by using a stateful protocol between the first virtual server and the client; associating a second virtual server in a passive role with the first virtual server; and in response to a predetermined event, causing the second virtual server to take over the active role from the first virtual server, while preserving state for a pending client request sent to the first virtual server in the stateful protocol. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method comprising:
-
operating a first virtual machine in a host processing system as an active virtual storage server; maintaining per-client session state for pending, received client requests, which conform to a stateful network storage protocol, in a designated region of a memory; initializing a second virtual machine in the host processing system to be a passive virtual storage server partnered with the first virtual machine; sharing said state for pending, received client requests between the first and second virtual machines, by sharing the designated region of the memory between the first and second virtual machines; in response to a failure event associated with the first virtual machine, causing the second virtual machine to take over for the first virtual machine as active virtual storage server, without losing state for a pending client request sent to the first virtual machine in the stateful network storage protocol, including modifying a permission of the second virtual machine to access the designated region of the memory; and causing the second virtual machine, acting as active virtual storage server, to respond to the pending client request before a response timeout which is specific to the stateful protocol can occur. - View Dependent Claims (10, 11, 12)
-
-
13. A system comprising:
-
a physical host processing system; a first virtual machine which operates in the physical host processing system as an active server to serve a client over a network, by using a stateful protocol between the first virtual machine and the client; and a second virtual machine configured as a passive partner of the first virtual machine, wherein the second virtual machine is pre-initialized and maintained in a state that passively mirrors a state of the active server, the second virtual machine configured to respond to a predetermined event by taking over as the active server for the first virtual machine while preserving state for a pending client request sent to the first virtual machine in the stateful protocol. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A storage server comprising:
-
a network interface through which to receive client requests over a network, the client requests conforming to a stateful network storage protocol; a non-volatile mass storage facility to store data in response to one or more of the client requests; a processor, coupled to the network interface and the non-volatile mass storage facility; and a storage device coupled to the processor and storing code which, when executed, causes operations to be performed in the storage server, the operations including operating a first virtual server in the storage server in an active role to serve a client, by using the stateful network storage protocol between the first virtual server and the client; associating a second virtual server in a passive role with the first virtual server; and in response to a predetermined event, causing the second virtual server to take over the active role from the first virtual server, without losing state for a pending client request sent to the first virtual server in the stateful network storage protocol. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
Specification