Automatic online system upgrade
First Claim
Patent Images
1. A computer-implemented method of automatically upgrading a computing environment system, comprising:
- determining, by one or more hardware processors, a candidate timeframe that requires a least number of compute nodes for supporting an overall service performance, the determining the candidate timeframe comprising determining which applications, virtual machines and containers are active and which are passive in a high availability cluster at different times;
for the candidate timeframe, determining by one or more of the hardware processors, number of requests the compute nodes are processing during the candidate timeframe;
storing by one or more of the hardware processors, identifiers of the compute nodes in a queue on a memory device in an order of least number of requests the compute nodes are processing during the candidate timeframe, wherein the compute nodes are ordered by the number of requests a compute node has for processing during the candidate timeframe and wherein multiple compute nodes occupy an entry within the queue;
selecting by one or more of the hardware processors, the compute nodes from the queue that are available to upgrade in the order of the least number of requests, wherein the multiple compute nodes occupying the entry selected from the queue are upgraded in parallel; and
upgrading by one or more of the hardware processors, the compute nodes until the candidate timeframe expires,wherein the least number of nodes is determined based on user supplied hints comprising affinity of the entities, anti-affinity of the entities, and whether the entities are co-located or spread across the compute nodes.
1 Assignment
0 Petitions
Accused Products
Abstract
Automatically upgrading a computing environment system may include automatically identifying a set of timeframes and nodes running user applications on physical machines, containers, or virtual machines (VMs) whose disruption during the identified timeframes minimally impact the user applications. The timeframes may be intelligently determined by leveraging the monitoring data obtained automatically and/or the hints supplied by the user.
-
Citations
13 Claims
-
1. A computer-implemented method of automatically upgrading a computing environment system, comprising:
-
determining, by one or more hardware processors, a candidate timeframe that requires a least number of compute nodes for supporting an overall service performance, the determining the candidate timeframe comprising determining which applications, virtual machines and containers are active and which are passive in a high availability cluster at different times; for the candidate timeframe, determining by one or more of the hardware processors, number of requests the compute nodes are processing during the candidate timeframe; storing by one or more of the hardware processors, identifiers of the compute nodes in a queue on a memory device in an order of least number of requests the compute nodes are processing during the candidate timeframe, wherein the compute nodes are ordered by the number of requests a compute node has for processing during the candidate timeframe and wherein multiple compute nodes occupy an entry within the queue; selecting by one or more of the hardware processors, the compute nodes from the queue that are available to upgrade in the order of the least number of requests, wherein the multiple compute nodes occupying the entry selected from the queue are upgraded in parallel; and upgrading by one or more of the hardware processors, the compute nodes until the candidate timeframe expires, wherein the least number of nodes is determined based on user supplied hints comprising affinity of the entities, anti-affinity of the entities, and whether the entities are co-located or spread across the compute nodes. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for automatically upgrading a computing environment, comprising:
-
one or more hardware processors; and a memory device coupled to one or more of the hardware processors, one or more of the hardware processors configured to determine a candidate timeframe that requires a least number of compute nodes for supporting an overall service performance, by at least determining which applications, virtual machines and containers are active and which are passive in a high availability cluster at different times, for the candidate timeframe, one or more of the hardware processors further configured to determine number of requests the compute nodes are processing during the candidate timeframe, one or more of the hardware processors further configured to insert identifiers of the compute nodes in a queue on the memory device in an order of least number of requests the compute nodes are processing during the candidate timeframe, wherein the compute nodes are ordered by the number of requests a compute node has for processing during the candidate timeframe and wherein multiple compute nodes occupy an entry within the queue, one or more of the hardware processors further configured to select the compute nodes from the queue that are available to upgrade in the order of the least number of request, wherein the multiple compute nodes occupying the entry selected from the queue are upgraded in parallel, one or more of the hardware processors further configured to upgrade the compute nodes until the candidate timeframe expires, wherein the least number of nodes is determined based on user supplied hints comprising affinity of the entities, anti-affinity of the entities, and whether the entities are co-located or spread across the compute nodes. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A non-transitory computer readable storage medium storing a program of instructions executable by a machine to perform a method of automatically upgrading a computing environment system, the method comprising:
-
determining a candidate timeframe that requires a least number of compute nodes for supporting an overall service performance, the determining the candidate timeframe comprising determining which applications, virtual machines and containers are active and which are passive in a high availability cluster at different times; for the candidate timeframe, determining number of requests the compute nodes are processing during the candidate timeframe; storing identifiers of the compute nodes in a queue on a memory device in an order of least number of requests the compute nodes are processing during the candidate timeframe wherein the compute nodes are ordered by the number of requests a compute node has for processing during the candidate timeframe and wherein multiple compute nodes occupy an entry within the queue; selecting the compute nodes from the queue that are available to upgrade in the order of the least number of requests, wherein the multiple compute nodes occupying the entry selected from the queue are upgraded in parallel; and upgrading the compute nodes until the candidate timeframe expires, wherein the least number of nodes is determined based on user supplied hints comprising affinity of the entities, anti-affinity of the entities, and whether the entities are co-located or spread across the compute nodes. - View Dependent Claims (12, 13)
-
Specification