System and method for selectively hibernating and restarting a node of an application instance
Abstract
A node of an application instance in a distributed computing environment can be selectively hibernated and the execution of the node selectively restarted by first detecting a condition of the node that satisfies a criterion for hibernating the node. The node may then be hibernated by suspending execution of the node on a server and initiating execution of a listener. The listener can use a network port that the node used before the execution of the node was suspended. At a later time, a request from a client to the application instance can be received by the listener. The request can be a request to restart execution of the node. Responsive to the request and a determination that the server has a predefined amount of resources for permitting execution of the node, the execution of the node on the server can be restarted.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A system for selectively hibernating and restarting execution of a node of an application instance in a distributed computing environment, the system comprising:
a memory; and a processor; and a memory, accessible by the processor, the memory storing instructions that, when executed by the processor, cause the processor to perform operations comprising:
in response to determining that a criterion for hibernation of the node is satisfied, hibernating the node;
receiving a request from a client for the application instance;
providing a redirect page indicating that the application instance is in hibernation;
responsive to the request and a determination that a server hosting the node has a predefined amount of resources to permit execution of the node, restarting execution of the node; and
redirecting the client to the application instance upon the node restarting.
2 . The system of claim 1 , wherein the operations comprise:
in response to providing the redirect page, providing an authentication page to authenticate the client prior to restarting the node.
3 . The system of claim 2 , wherein the operations comprise:
providing an authentication page instead of the redirect page, wherein the authentication page requests login information and indicates that the application instance is in hibernation.
4 . The system of claim 3 , wherein the operations comprise:
requesting authentication data via the authentication page; in response to determining that the authentication data is incorrect, redirecting the client back to the authentication page, providing an error message, or a combination thereof.
5 . The system of claim 1 , wherein the operations comprise:
suspending execution of the node on the server and initiating execution of a listener using a network port to reserve the node used before the suspension.
6 . The system of claim 5 , wherein restarting execution of the node comprises using the listener to direct the request to a control instance configured to manage the listener.
7 . The system of claim 6 , wherein the control instance maintains a configuration management database including one or more records that associate an address and the network port with the node.
8 . The system of claim 1 , wherein a watcher executed on the server manages the hibernation and the restarting of the node, wherein a listener executed on the server sends a signal to the watcher and the watcher restarts execution of the node based on the signal, wherein the listener comprises an application that listens for network connections on a same network port as used by the node before hibernation.
9 . The system of claim 8 , wherein the watcher observes usage of resources of the server to determine that the server has a predefined amount of resources to permit execution of the node.
10 . The system of claim 1 , wherein the operations comprise:
responsive to a determination that the server does not have the predefined amount of resources to permit execution of the node, initiating an instance move to a different server.
11 . The system of claim 1 , wherein the node is an application node and the criterion comprises a first criterion, wherein the operations comprise:
hibernating a database node of the application instance when a second criterion for hibernation of the database node is satisfied, wherein the first criterion used to hibernate the application node is decoupled from the second criterion used to hibernate the database node.
12 . The system of claim 1 , wherein the operations comprise:
determining whether restarting execution of the node was successful by polling the application instance; and in response to receiving no response from the application instance, determining that the restart was unsuccessful.
13 . A method for selectively hibernating and restarting execution of a node of an application instance in a distributed computing environment, the method comprising:
in response to determining that a criterion for hibernating the node is satisfied, hibernating the node; receiving a request from a client for the application instance; providing a redirect page indicating that the application instance is in hibernation; receiving input from the client at the redirect page indicating that the client is authorized to access the application instance; requesting the hibernated node to be restarted based on the client being authorized to access the application instance; and responsive to the request and determining that a server hosting the node has a predefined amount of resources to permit execution of the node, restarting execution of the node.
14 . The method of claim 13 , wherein hibernating the node comprises suspending execution of the node on the server and initiating execution of a listener executing on the server using a network port to reserve the node used before the suspending.
15 . The method of claim 14 , wherein restarting execution of the node comprises using the listener to direct the request to a control instance configured to manage the listener, wherein the control instance maintains a configuration management database including one or more records that associate an address and the network port with the node.
16 . The method of claim 13 , wherein the criterion for hibernating comprises: determining the application instance being idle for a predetermined threshold period of time;
determining the application instance exceeding a time period for evaluating the application instance, detecting a malfunction in the application instance; determining a relatively higher priority access for a second client; or a combination thereof.
17 . The method of claim 13 , wherein determining that the server has a predefined amount of resources comprises executing a watcher on a server device to examine historical records of resource usage of the server device, perform a scan of available resources in the server, or a combination thereof.
18 . The method of claim 13 , wherein the node comprises a database node, an application node, or a combination thereof, and wherein the node to be hibernated comprises a particular type of the database node, a particular type of the application node, or a combination thereof.
19 . The method of claim 13 , wherein the indication that the client is authorized to access the application instance comprises confirmation of a username, a password, a biometric data, or a combination thereof.
20 . A non-transitory computer-readable storage medium comprising processor-executable routines that, when executed by a processor, facilitate a performance of operations comprising:
observing an operation of a node executed by a processor on a first server, wherein the node is a node of an application instance in a distributed computing environment; in response to determining that a criterion for hibernation of the node is satisfied based on the observing, hibernating the node by suspending execution of the node on the first server; receiving a request from a client for the application instance using a network interface of the first server and a network interface of the client; providing a redirect page indicating that the application instance is in hibernation; receiving input from the client at the redirect page indicating that the client is authorized to access the application instance; requesting the hibernated node to be restarted based on the client being authorized to access the application instance; restarting execution of the node in response to the request, a determination that the first server has a predefined amount of available resources to permit execution of the node, and wherein the authorization comprises an authentication of the client using a control server connected to the first server using the network interface of the first server and a network interface of the control server, wherein the control server comprises a configuration management database including one or more records that associate an address and a network port with the node; and redirecting the client to the application instance upon the node restarting.Join the waitlist — get patent alerts
Track US2020314093A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.