Workload transitioning in an in-memory data grid
Abstract
Embodiments of the present invention disclose a method, system, and computer program product for transitioning a workload of a grid client from a first grid server to a second grid server. A replication process is commenced transferring application state from the first grid server to the second grid server. Prior to completion of the replication process: the grid client is rerouted to communicate with the second grid server. The second grid server receives a request from the grid client. The second grid server determines whether one or more resources necessary to handle the request have been received from the first grid server. Responsive to determining that the one or more resources have not been received from the first grid server, the second grid server queries the first grid server for the one or more resources. The second grid server responds to the request from the grid client.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for transitioning a workload of a grid client from a first grid server to a second grid server within a grid computing system, the method comprising:
in response to a determination to transfer the workload of the grid client from the first grid server to the second grid server, wherein the first grid server contains a plurality of separate partitions corresponding to different workloads including a first partition for the workload of the grid client, a catalog server designating a corresponding partition on the second grid server as a primary partition for the workload of the grid client such that the second grid server responds directly to requests from the grid client utilizing the primary partition and seeks data from the first partition on the first grid server if a request cannot be completed due to the primary partition not having current live data; commencing a replication process transferring data from the first partition on the first grid server to the primary partition on the second grid server; prior to completion of the replication process: the catalog server rerouting the grid client to communicate with the second grid server; receiving a request at the second grid server from the grid client; determining, by the second grid server, whether one or more resources necessary to handle the request are current in the primary partition corresponding to the workload of the grid client; responsive to determining that the one or more resources are not current, based on an identity of the grid client and information received from the catalog server, the second grid server identifying the first grid server, from a plurality of grid servers, as containing the most current data, identifying the first partition on the first grid server as corresponding to the workload of the grid client, and querying the first grid server for the one or more resources from the first partition; and responding, by the second grid server, to the request from the grid client.
2 . (canceled)
3 . The method of claim 1 , wherein said determination to transfer the workload of the grid client from the first grid server to the second grid server comprises a determination, by the catalog server, that the first grid server is malfunctioning.
4 . The method of claim 3 , further comprising, responsive to the determination that the first grid server is malfunctioning, determining that the second grid server is available to act as a primary server.
5 . The method of claim 1 , wherein said determination to transfer the workload of the grid client from the first grid server to the second grid server comprises:
receiving at the catalog server a notification from the second grid server indicating that the second grid server has been added to the grid computing system.
6 . The method of claim 1 , further comprising:
sending an identification of the first grid server to the second grid server.
7 . The method of claim 1 , wherein the replication process transfers one or more data objects to the second grid server and application state.
8 . The method of claim 1 , further comprising:
receiving a second request at the second grid server from the grid client; determining, by the second grid server, whether one or more resources necessary to handle the second request are current in the primary partition; and responsive to determining that the one or more resources are current in the primary partition, the second grid server responding to the second request from the grid client.
9 . The method of claim 1 , wherein the first grid server and the second grid server are java virtual machines.
10 . A system for transitioning a workload of a grid client from a first grid server to a second grid server, the system comprising:
one or more computer processors; one or more computer readable media; wherein the one or more computer processors and the one or more computer readable media are allocated to at least a first grid server process, a second grid server process, and a catalog server process; program instructions stored on the one or more computer readable media for execution by at least one of the one or more computer processors, the program instructions comprising: program instructions to, in response to a determination to transfer the workload of the grid client from the first grid server process to the second grid server process, wherein the first grid server process contains a plurality of separate partitions corresponding to different workloads including a first partition for the workload of the grid client, designate, by the catalog server process, a corresponding partition on the second grid server process as a primary partition for the workload of the grid client such that the second grid server process responds directly to requests from the grid client utilizing the primary partition and seeks data from the first partition on the first grid server process if a request cannot be completed due to the primary partition not having current live data; program instructions to commence a replication process transferring data from the first partition on the first grid server process to the primary partition on the second grid server process; program instructions to reroute the grid client to communicate with the second grid server process prior to the completion of the replication process; program instructions to receive a request at the second grid server process from the grid client; program instructions to determine, by the second grid server process, whether one or more resources necessary to handle the request are current in the primary partition corresponding to the workload of the grid client; program instructions to, responsive to determining that the one or more resources are not current, based on an identity of the grid client and information received from the catalog server process, identify by the second grid server process, the first grid server process from a plurality of grid server processes as containing the most current data, identify by the second grid server process, the first partition on the first grid server process as corresponding to the workload of the grid client, and query, by the second grid server process, the first grid server process for the one or more resources from the first partition; and program instructions to respond, by the second grid server process, to the request from the grid client.
11 . (canceled)
12 . The system of claim 10 , wherein the determination to transfer the workload of the grid client from the first grid server process to the second grid server process comprises a determination, by the catalog server process, that the first grid server process is malfunctioning.
13 . The system of claim 12 , further comprising program instructions, stored on the one or more computer readable storage media, to, responsive to the determination that the first grid server process is malfunctioning, determine that the second grid server process is available to act as a primary server.
14 . The system of claim 10 , wherein the determination to transfer the workload of the grid client from the first grid server process to the second grid server process comprises program instructions to receive at the catalog server process a notification from the second grid server process indicating that the second grid server process has been implemented in the system.
15 . The system of claim 10 , further comprising program instructions, stored on the one or more computer readable storage media for execution by the one or more computer processors, to send an identification of the first grid server process to the second grid server process.
16 . The system of claim 10 , wherein the replication process transfers one or more data objects to the second grid server process and application state.
17 . The system of claim 10 , further comprising program instructions, stored on the one or more computer readable storage media for execution by the one or more computer processors, to:
receive a second request at the second grid server process from the grid client; determine, by the second grid server process, whether one or more resources necessary to handle the second request are current in the primary partition; and responsive to determining that the one or more resources are current in the primary partition, respond from the second grid server process to the second request from the grid client.
18 . The system of claim 10 , wherein the first grid server process and the second grid server process are java virtual machines.
19 . A computer program product for transitioning a workload of a grid client from a first grid server to a second grid server, the computer program product comprising:
one or more computer readable media; and program instructions stored on the one or more computer readable media, the program instructions comprising: program instructions to, in response to a determination to transfer the workload of the grid client from the first grid server to the second grid server, wherein the first grid server contains a plurality of separate partitions corresponding to different workloads including a first partition for the workload of the grid client, designate, by a catalog server, a corresponding partition on the second grid server as a primary partition for the workload of the grid client such that the second grid server responds directly to requests from the grid client utilizing the primary partition and seeks data from the first partition on the first grid server if a request cannot be completed due to the primary partition not having current live data; program instructions to commence a replication process transferring data from the first partition on the first grid server to the primary partition on the second grid server; program instructions to reroute the grid client to communicate with the second grid server prior to the completion of the replication process; program instructions to receive a request at the second grid server from the grid client; program instructions to determine, by the second grid server, whether one or more resources necessary to handle the request are current in the primary partition corresponding to the workload of the grid client; program instructions to, responsive to determining that the one or more resources are not current, based on an identity of the grid client and information received from the catalog server, identify by the second grid server, the first grid server from a plurality of grid servers as containing the most current data, identify by the second grid server, the first partition on the first grid server as corresponding to the workload of the grid client, and query, by the second grid server, the first grid server for the one or more resources from the first partition; and program instructions to respond, by the second grid server, to the request from the grid client.
20 . The computer program product of claim 19 , further comprising program instructions, stored on the one or more computer readable storage media, to:
receive a second request at the second grid server from the grid client; determine, by the second grid server, whether one or more resources necessary to handle the second request are current in the primary partition; and responsive to determining that the one or more resources are current in the primary partition, respond from the second grid server to the second request from the grid client.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.