Method for high availability of services in cloud computing systems
First Claim
1. A system for providing a high availability (HA) of services, the system comprising:
- a plurality of nodes having at least one Virtual Execution Environment (VEE) running on at least some of the nodes, where each VEE uses at least one file divided into data chunks;
a plurality of node file locks active while accessing the active nodes;
a plurality of chunk servers accessible by the nodes for storing the data chunks;
a metadata server (MDS) communicating with the chunk servers and the nodes for providing metadata related to the data chunks;
a router providing access to services hosted on the nodes;
an HA daemon running on each node;
an HA master daemon running on one of the nodes,wherein the HA daemons tracking availability of services hosted on the nodes and generate requests to HA master daemon to restore failed services and redirect router to live services instead failed;
the activate file locks andmaster daemon re-launches a corresponding VEE on another node based on the node file locks and updates the router so as to redirect routers to active services.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and computer program product for providing High Availability (HA) of services in a cloud-based system. The services are the applications used by the end users of the cloud system. The system uses shared cloud distributed storage. The cloud data is distributed over several nodes and is duplicated in an on-line mode. Each user launches and runs his own Virtual Execution Environment VEE (VM or Container) used as a cloud service. If one of the hardware nodes becomes unavailable, the HA system restores all of the VEEs of the failed node on a functional hardware node. Each node has a daemon, which monitors the situation and, if one of the nodes crashes, a master daemon provides for the restoration of the services of this node on other available nodes of the cloud.
-
Citations
13 Claims
-
1. A system for providing a high availability (HA) of services, the system comprising:
-
a plurality of nodes having at least one Virtual Execution Environment (VEE) running on at least some of the nodes, where each VEE uses at least one file divided into data chunks; a plurality of node file locks active while accessing the active nodes; a plurality of chunk servers accessible by the nodes for storing the data chunks; a metadata server (MDS) communicating with the chunk servers and the nodes for providing metadata related to the data chunks; a router providing access to services hosted on the nodes; an HA daemon running on each node; an HA master daemon running on one of the nodes, wherein the HA daemons tracking availability of services hosted on the nodes and generate requests to HA master daemon to restore failed services and redirect router to live services instead failed; the activate file locks and master daemon re-launches a corresponding VEE on another node based on the node file locks and updates the router so as to redirect routers to active services. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-implemented method for providing a high availability (HA) of services in a cloud-based environment, the method comprising:
-
(a) starting a plurality of nodes; (b) starting an HA daemon on each node; (c) connecting the nodes to a storage containing files corresponding to each of the nodes and locks corresponding to each file of an active node where locks are controlled by HA daemons; (d) connecting the nodes to a router which keeps track of Virtual Execution Environment (VEE) locations; (e) launching at least one VEE on each node; (g) when opening files on a node, detecting a failed node by recognizing an unlocked file of that node; (i) re-launching VEEs of the failed node on at least one other node; and (j) notifying the router of new VEE locations.
-
-
13. A system for providing a high availability (HA) of services in a cloud-based environment, the system comprising:
-
a processor; a memory coupled to the processor; a computer program logic stored in the memory and executed on the processor, the computer program logic for executing the steps of; (a) starting a plurality of nodes; (b) starting an HA daemon on each node; (c) connecting the nodes to a storage containing files corresponding to each of the nodes and locks corresponding to each file of an active node where locks are controlled by HA daemons; (d) connecting the nodes to a router which keeps track of Virtual Execution Environment (VEE) locations; (e) launching at least one VEE on each node; (g) when opening files on a node, detecting a failed node by recognizing an unlocked file of that node; (i) re-launching VEEs of the failed node on at least one other node; and (j) notifying the router of new VEE locations.
-
Specification