Distributed workload reassignment following communication failure
US-11882011-B2 · Jan 23, 2024 · US
US9344494B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9344494-B2 |
| Application number | US-201113221546-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 30, 2011 |
| Priority date | Aug 30, 2011 |
| Publication date | May 17, 2016 |
| Grant date | May 17, 2016 |
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.
A method, system, and medium are disclosed for performing failover data replication with colocation of session state data. In servicing a client request, a first session is created on a primary server. A first portion of session data comprises a state of the first session and is stored on the primary server. An identifier of the first session is stored on the primary server. One or more backup servers are selected for backup of the first portion of session data. A second session is created on the primary server. A second portion of session data comprises a state of the second session and is stored on the primary server. The same backup server(s) are selected for backup of the second portion based on the stored identifier of the first session. The primary server replicates the first and second portions of session data into memory space of the backup servers.
Opening claim text (preview).
What is claimed: 1. A computer-implemented method, comprising: servicing a client request by a cluster of servers, wherein the servicing includes: creating a first session for servicing the client request on a primary server of the servers, wherein a first portion of session data comprises a state of the first session and is stored on the primary server; storing an identifier of the first session on the primary server; selecting one or more backup servers of the servers for backup of the first portion of the session data; creating a second session for servicing the same client request on the primary server, wherein a second portion of the session data comprises a state of the second session and is stored on the primary server; selecting the same one or more backup servers for backup of the second portion of the session data, wherein the selecting is performed based on the stored identifier of the first session; and the primary server replicating the first portion of the session data and the second portion of the session data into memory space of the same one or more backup servers. 2. The method of claim 1 , wherein the identifier of the first session is stored in a thread-local variable. 3. The method of claim 1 , further comprising: the primary server sending a response to the client request to a client of the cluster of servers, wherein the response includes an indication of the one or more backup servers. 4. The method of claim 3 , further comprising: receiving a subsequent request at the cluster from the client, wherein the subsequent request includes the indication of the one or more backup servers; in response to determining that the primary server is unavailable to service the subsequent request, determining a recovery server from among the one or more backup servers indicated by the subsequent request; and the recovery server servicing the subsequent request. 5. The method of claim 4 , wherein the subsequent request encodes the indication of the one or more backup servers in a URL in the response or encodes the indication of the one or more backup servers in a cookie. 6. The method of claim 1 , wherein the one or more backup servers are selected for backup of the first portion of the session data and for backup of the second portion of the session data by calculating a function of the identifier of the first session. 7. The method of claim 1 , further comprising: determining whether a new server joins the cluster of servers; selecting the new server for backup of the first portion of the session data and the second portion of the session data and replicating the first portion of the session data and the second portion of the session data into memory space of the new server. 8. A system, comprising: a cluster of computers executing a plurality of servers, wherein the servers comprise a primary server configured to service a client request, wherein servicing the client request includes: creating a first session for servicing the client request on the primary server, wherein a first portion of session data comprises a state of the first session and is stored on the primary server; storing an identifier of the first session on the primary server; selecting one or more backup servers of the plurality of servers for backup of the first portion of the session data; creating a second session for servicing the same client request on the primary server, wherein a second portion of the session data comprises a state of the second session and is stored on the primary server; selecting the same one or more backup servers for backup of the second portion of the session data, wherein the selecting is performed based on the stored identifier of the first session; and the primary server replicating the first portion of the session data and the second portion of the session data into memory space of the same one or more backup servers. 9. The system of claim 8 , wherein the identifier of the first session is stored in a thread-local variable. 10. The system of claim 8 , wherein the cluster of computers is further configured to: send a response to the client request from the primary server to a client of the plurality of servers, wherein the response includes an indication of the one or more backup servers. 11. The system of claim 10 , wherein the cluster of computers is further configured to: receive a subsequent request from the client, wherein the subsequent request includes the indication of the one or more backup servers; in response to determining that the primary server is unavailable to service the subsequent request, determine a recovery server from among the one or more backup servers indicated by the subsequent request; and service the subsequent request using the recovery server. 12. The system of claim 11 , wherein the subsequent request encodes the indication of the one or more backup servers in a URL in the response or encodes the indication of the one or more backup servers in a cookie. 13. The system of claim 8 , wherein the one or more backup servers are selected for backup of the first portion of the session data and for backup of the second portion of the session data by calculating a function of the identifier of the first session. 14. The system of claim 8 , wherein the first session is created by a web container, and wherein the second session is created by an Enterprise Java Beans (EJB) container. 15. A non-transitory storage medium storing program instructions executable by a computer to implement: a primary server configured to service a client request from a client, wherein the servicing comprises: creating a first session to service the client request, wherein a first portion of session data comprises a state of the first session and is stored on the primary server; storing an identifier of the first session; selecting one or more backup servers for backup of the first portion of the session data; creating a second session to service the same client request, wherein a second portion of the session data comprises a state of the second session and is stored on the primary server; selecting the same one or more backup servers for backup of the second portion of the session data, wherein the selecting is performed based on the stored identifier of the first session; and replicating the first portion of the session data and the second portion of the session data into memory space of the same one or more backup servers. 16. The storage medium of claim 15 , wherein the identifier of the first session is stored in a thread-local variable. 17. The storage medium of claim 15 , wherein the servicing further comprises: sending a response to the request to the client, wherein the response includes an indication of the one or more backup servers. 18. The storage medium of claim 17 , wherein the program instructions are further executable to implement: receiving a subsequent request from the client, wherein the subsequent request includes the indication of the one or more backup servers; and in response to determining that the primary server is unavailable to service the subsequent request, determining a recovery server from among the one or more backup servers indicated by the subsequent request. 19. The storage medium of claim 18 , wherein the subsequent request encodes the indication of the one or more backup servers in a URL in the response or encodes the indication of the one or more backup servers in a cookie. 20. The storage medium of claim 15 , wherein
for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection (management of faults, events, alarms or notifications in data switching networks H04L41/06) · CPC title
Reaction to server failures by a load balancer · CPC title
with a single idle spare processing component · CPC title
using middleware or operating system [OS] functionalities · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.