Systems and methods for facilitating access to shared resources within computer clusters
US-9077579-B1 · Jul 7, 2015 · US
US9600315B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9600315-B2 |
| Application number | US-91053510-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 22, 2010 |
| Priority date | Oct 22, 2010 |
| Publication date | Mar 21, 2017 |
| Grant date | Mar 21, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 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; 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; and sharing state between the first and second virtual servers prior to the predetermined event, by sharing a designated region of memory between the first and second virtual servers, wherein prior to the predetermined event, the first virtual server has read-write permission to access the region of memory and the second virtual server has read-only permission to access the region of memory. 2. A method as recited in claim 1 , further comprising: causing the second virtual server, acting in the active role, to respond to the pending client request so that a timeout which is specific to said stateful protocol does not occur. 3. A method as recited in claim 1 , further comprising: maintaining state for client requests, conforming to the stateful protocol, in the designated region of the memory, prior to the predetermined event. 4. A method as recited in claim 3 , wherein 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, comprises: changing permission of the second virtual server to access the region of memory from read-only to read-write. 5. A method as recited in claim 4 , wherein 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 using the stateful protocol, further comprises: assigning to the second virtual server a network address associated with the first virtual server. 6. A method as recited in claim 1 , wherein causing the second virtual server to take over the active role from the first virtual server comprises: updating a host memory page table of the host processing system; and updating a guest memory page table of the second virtual server. 7. A method as recited in claim 1 , wherein the first and second virtual servers are virtual network storage servers. 8. 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. 9. A method as recited in claim 8 , wherein prior to the failure event the first virtual server has read-write permission to access the region of memory and the second virtual server has read-only permission to access the region of memory; and wherein modifying a permission of the second virtual machine to access the shared designated region of memory comprises changing permission of the second virtual machine to access the designated region of memory from read-only to read-write. 10. A method as recited in claim 9 , wherein 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, comprises: updating a host memory page table of the host processing system; and updating a guest memory page table of the second virtual server. 11. A method as recited in claim 10 , wherein causing the second virtual machine to take over for the first virtual machine as active virtual storage server further comprises: assigning to the second virtual storage server a network address associated with the first virtual storage server. 12. 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; 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; and a memory that includes a designated region shared by the first virtual machine and the second virtual machine, wherein prior to the predetermined event, the first virtual machine has read-write permission to access the region of memory and the second virtual machine has read-only permission to access the region of memory. 13. A system as recited in claim 12 , wherein the first and second virtual machines operate as network storage servers. 14. A system as recited in claim 12 , wherein the second virtual machine, after taking over as the active server, responds to the pending client request before a response timeout which is specific to the stateful protocol can occur. 15. A system as recited in claim 12 , wherein the active server maintains state for client requests in the designated region of the memory. 16. A system as recited in claim 12 , further comprising: a hypervisor through which the first virtual machine and the second virtual machine access the memory. 17. A system as recited in claim 16 , wherein the system is configured to change permission of the second virtual machine to access the region of memory from read-only to read-write as part of a takeover by the second virtual machine for the first virtual machine. 18. A system as recited in claim 17 , wherein the system is further configured to update a host memory page table of the physical host processing system and a guest memory page table of the second virtual machine as part of the takeover by the second virtual machine for the first virtual machine. 19. A system as recited in claim 18 , wherein the system is further configured to assign to the second virtual machine a network address associated with the first virtual machine as part of the takeover by the second virtual machine for the first virtual machine. 20. A storage serv
where the redundant components share a common memory address space · CPC title
Hypervisor-specific management and integration aspects · CPC title
involving virtual machines · CPC title
Restarting or rejuvenating · CPC title
Persistence of sessions during load balancing · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.