Method for allocating computing units in a cloud computing architecture
By pre-configuring virtual machines on computing units to associate with different clusters, the method addresses inefficiencies in reallocating computing units, achieving dynamic and efficient resource management in cloud computing architectures.
Patent Information
- Application Number
- FR2024009054
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-22
- Publication Date
- 2026-02-27
AI Technical Summary
Existing cloud computing architectures face inefficiencies in dynamically reallocating computing units between clusters, particularly during unpredictable load peaks, leading to unused resources and slow transfer times, which limits the effectiveness of load management.
Implementing computing units with pre-configured virtual machines associated with different clusters, allowing for rapid activation and deactivation of these machines to facilitate dynamic allocation, enabling efficient transfer of units between clusters even during unpredictable load fluctuations.
Enables truly dynamic allocation of computing units, minimizing resource waste and quickly adapting to load changes, thus optimizing resource utilization and reducing idle periods.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Method for allocating computing units in a cloud computing architecture Technical field of the invention
[0001] The field of the invention is that of cloud computing based on the use of computer units, or nodes grouped into clusters, also called "clusters" in English.
[0002] More specifically, the invention relates to a solution for improving the allocation of computer units in a set of clusters of computer units.
[0003] By "computer unit" we mean any physical machine, such as for example a computer, a computer server, a mobile phone or a residential gateway (called in English "gateway"), having computing resources including at least a processor and memory.
[0004] The present invention can be applied in particular in the field of computer server hosting centers (in English "datacenters"). Technological background
[0005] A cloud computing architecture such as that shown in [Fig. 1] is known from the prior art. This cloud computing architecture comprises a set of M clusters of computing units, with M>2.
[0006] Within these M clusters of computer units, one LP_S cluster, called non-priority, is reserved for hosting secondary applications or tasks, while the other M HP_Si, ..., HP_SM4 clusters of computer units, called priority, are reserved for hosting priority applications or tasks.
[0007] Thus, by "priority cluster" we mean a cluster of computer units intended to host tasks or applications that are a priority over other tasks or applications hosted on other clusters, called non-priority clusters.
[0008] In such an architecture, the clusters are managed by a DS supervision device.
[0009] Furthermore, each cluster includes at least one first computer unit, called the management computer unit, and a certain number of computing computer units.
[0010] For example, in the example described in [Fig.1], the non-priority cluster LP_S comprises one management computer unit LP_UG and two computing computer units U1LP, U2LP, while the priority cluster HP_Si comprises one management computer unit HP_UGi and three computing computer units Uli, U2b U3i.
[0011] Thus, the management computer units manage the deployment of applications on the computing computer units while the DS supervision device manages the distribution of applications on the different clusters as well as the allocation of computing computer units to the different clusters.
[0012] To cope with a peak load that may affect a priority cluster of computing units, it is known to size the number of computing units in this priority cluster according to this peak load and to shut down, in order to save energy consumed, a certain number of computing units during peak or off-peak periods. This solution has the advantage of being relatively quick to implement but the disadvantage of having computing units unused outside of peak load periods.
[0013] It is also known to size the number of computing units in a priority cluster based on nominal activity and to allocate new computing units to this priority cluster when the load increases. These new computing units are either units not yet allocated to a cluster or units allocated to the non-priority cluster. Conversely, when the load decreases, computing units from the priority cluster are made available to other clusters. However, transferring a computing unit from one cluster to another can take up to 30 minutes, according to the prior art, which in practice limits the use of this dynamic allocation of computing units between clusters to the case of predictable load peaks. It is therefore common to use hysteresis and prediction to adjust this number.
[0014] It may therefore be desirable to provide a procedure for allocating computer units to a priority cluster which makes it possible to overcome at least some of the aforementioned problems. Summary of the invention
[0015] According to a first aspect of the invention, a method is therefore proposed for assigning a computer unit, referred to as the computer unit to be assigned, within a set of clusters of computer units comprising at least a first cluster and a second cluster of computer units, said computer unit to be assigned comprising at least a first and a second virtual machine, with at most one of the two virtual machines, referred to as the active virtual machine, being active at any given time, said assignment method comprising: - the shutdown of the first active virtual machine of said computer unit at to affect, the said first virtual machine being associated with the first cluster, and - the allocation of said computer unit to be allocated to the second cluster by means of activating the second virtual machine of said computer unit to be allocated.
[0016] Such a method of assigning a computer unit can in particular be implemented by a computer unit assignment device.
[0017] By "inactive virtual machine" is meant a virtual machine that is stopped. Conversely, by "active virtual machine" is meant a virtual machine that is not inactive, that is to say, one that is for example being started up, being started up, or being stopped.
[0018] The proposed solution is based on the use of computing units pre-equipped with at least two virtual machines, each associated with a different cluster of computing units in the cloud computing architecture under consideration. Thus, the first virtual machine is associated with the first cluster and the second virtual machine is associated with the second cluster.
[0019] Virtual machines are installed and fully configured prior to the use of the computing unit. When a computing unit is assigned to a cluster, the virtual machine of the computing unit associated with that cluster is activated, i.e., started up, while the virtual machines associated with other clusters remain stopped. Thus, assigning (or deassigning) a computing unit to a cluster simply consists of activating, i.e., starting (or deactivating, i.e., stopping) the virtual machine associated with that cluster. Therefore, transferring a computing unit from one cluster to another only requires deactivating one virtual machine and activating another.Since the activation / deactivation time of a virtual machine is only on the order of a hundred milliseconds, the invention thus allows a truly dynamic allocation of computing units between clusters even in the event of unpredictable load peaks.
[0020] Furthermore, in an architecture having priority and non-priority clusters, it is possible to allocate all the computing units to a cluster and when the load of a priority cluster increases to quickly assign to this cluster a computing unit previously assigned to a non-priority cluster, which makes it possible to avoid the existence of unused computing units outside of peak loads.
[0021] The assignment method may further include one or more of the following optional features, taken individually or in any technically possible combination.
[0022] According to a first characteristic, the set of computer unit clusters comprises M clusters, with M>2, said M clusters comprising L so-called non-priority clusters, with L>1, and ML so-called priority clusters.
[0023] According to another characteristic, the first cluster is a non-priority cluster,
[0024] According to yet another characteristic, the second cluster is a priority cluster,
[0025] According to yet another feature, the assignment method further comprises the selection of the computer unit to be assigned from the computer units assigned to the first cluster and which can be assigned to the second cluster.
[0026] In other words, the selection of the computer unit to be assigned is made from among the computer units comprising a virtual machine associated with the first cluster and a virtual machine associated with the second cluster.
[0027] According to yet another feature, the assignment process further includes receiving a shutdown request from an active virtual machine of a computer unit assigned to the first cluster.
[0028] According to yet another feature, the stop request includes an identifier of said computer unit to be affected and in which the selection of said computer unit to be affected is carried out from said identifier.
[0029] According to yet another feature, the assignment process further includes receiving a request to assign a computer unit to said second cluster.
[0030] A method for managing a set of computer unit clusters is also proposed, comprising at least a first and a second cluster of computer units, a computer unit being assigned to a cluster when said computer unit includes an active virtual machine associated with said cluster, said management method comprising: - the identification of a need to increase the number of computer units in the second cluster, and - upon receipt, from an allocation device, of a computer unit, of information of unavailability of a computer unit not allocated to a cluster and including an inactive virtual machine associated with the second cluster, the transmission, to said allocation device of a computer unit, of a request to stop an active virtual machine associated with said first cluster, said active virtual machine belonging to a computer unit, said computer unit to be made available, also including an inactive virtual machine associated with the second cluster and of a request to allocate a computer unit to the second cluster.
[0031] Such an administration method can in particular be implemented by an administration device for a set of clusters of computer units.
[0032] By "identification of a need to increase the number of computer units of the second cluster", we mean the detection of an undersizing in the number of computer units of the second cluster, but also the prediction of such an undersizing, for example by means of a method of forecasting the load of the second cluster as well as the identification of a need to increase the number of computer units of the second cluster, for example during a maintenance or operation of this second cluster.
[0033] The administration method may further include one or more of the following optional features, taken individually or in any technically possible combination.
[0034] According to a first characteristic, the set of computer unit clusters comprises M clusters, with M>2, said M clusters comprising L so-called non-priority clusters, with L>1, and ML so-called priority clusters.
[0035] According to another characteristic, the first cluster is a non-priority cluster,
[0036] According to yet another characteristic, the second cluster is a priority cluster,
[0037] According to yet another characteristic, the administration method comprises in besides : - the receipt of a list of computer units assigned to the first cluster and including a virtual machine associated with the second cluster, - the selection from said list of computer units of said computer unit to be made available, and the shutdown request includes an identifier for said computer unit to be made available.
[0038] According to yet another characteristic, said set of computer unit clusters further comprises at least two clusters, referred to as non-priority and distinct from said second cluster, said administration method further comprising: - the receipt of a list of computer units assigned to said at least two non-priority clusters and which can be assigned to said second cluster, and - the selection from said list of computer units of said computer unit to be made available, and in which the stop request includes an identifier of said computer unit to be made available, said first cluster being the non-priority cluster to which said computer unit to be made available is assigned when said selection is made.
[0039] A method for identifying computer units within a set of computer unit clusters comprising at least a first and a second computer unit cluster, a computer unit being assigned to a cluster when said computer unit includes an active virtual machine associated with said cluster, said identification method comprising: - receiving, from an administration device of said set of computer unit clusters, a request to obtain a list of computer units assigned to a group of computer unit clusters and which can be assigned to said second cluster, said group of computer unit clusters comprising at least the first cluster, the second cluster not belonging to said group of clusters, - obtaining said list of computer units, and - the transmission of said list of computer units to said administration device of said set of clusters of computer units.
[0040] The identification method may further include one or more of the following optional features, taken individually or in any technically possible combination.
[0041] According to a first characteristic, the set of computer unit clusters comprises M clusters, with M>2, said M clusters comprising L so-called non-priority clusters, with L>1, and ML so-called priority clusters.
[0042] According to another characteristic, the first cluster is a non-priority cluster,
[0043] According to yet another characteristic, the second cluster is a priority cluster,
[0044] According to yet another characteristic, the server cluster group includes only the first bunch.
[0045] Accordingly, the invention also relates, according to a second aspect of the invention, to a device for assigning a computer unit, referred to as the computer unit to be assigned, within a set of computer unit clusters comprising at least a first cluster and a second cluster of computer units, said computer unit to be assigned comprising at least a first and a second virtual machine, with at most one of the two virtual machines, referred to as the active virtual machine, being active at any given time, said assignment device comprising at least one processor configured to: - stop the first active virtual machine of said computing unit to be assigned, said first virtual machine being associated with the first cluster, and - assign said computer unit to be assigned to the second cluster by means of activating the second virtual machine of said computer unit to be assigned.
[0046] A management device for a set of computer unit clusters is also proposed, comprising at least a first and a second cluster of computer units, a computer unit being assigned to a cluster when said computer unit includes an active virtual machine associated with said cluster, said management device comprising at least one processor configured to: - identify a need to increase the number of computing units in the second cluster, and - upon receipt, from a computer unit allocation device, of information of unavailability of a computer unit not allocated to a cluster and including an inactive virtual machine associated with the second cluster, transmit, to said computer unit allocation device, a request to stop an active virtual machine associated with said first cluster, said active virtual machine belonging to a computer unit, said computer unit to be made available, also including an inactive virtual machine associated with the second cluster and a request to allocate a computer unit to the second cluster.
[0047] A computer unit identification device is also proposed within a set of computer unit clusters comprising at least a first and a second computer unit cluster, a computer unit being assigned to a cluster when said computer unit includes an active virtual machine associated with said cluster, said identification device comprising at least one processor configured to: - to receive, from an administration device of said set of computer unit clusters, a request to obtain a list of computer units assigned to a group of computer unit clusters and which can be assigned to said second cluster, said group of computer unit clusters comprising at least the first cluster, the second cluster not belonging to said group of clusters, - obtain said list of computer units, and - transmit said list of computer units to said administration device of said set of clusters of computer units.
[0048] The characteristics and advantages of the method of assignment, administration or identification according to the first aspect of the invention apply in the same way to the device of assignment, administration or identification according to the second aspect of the invention and vice versa.
[0049] The invention also relates, according to a third aspect of the invention, to a system comprising an assignment device and an administration device according to the second aspect of the invention.
[0050] The system may further include one or more of the following optional features, taken individually or in any technically possible combination.
[0051] According to a first characteristic, the system further comprises the first cluster and the second cluster.
[0052] According to another feature, the system further comprises the identification device according to the second aspect of the invention.
[0053] Furthermore, the processes described above can be implemented in various ways, including in wired or software form.
[0054] The invention also relates, according to a fourth aspect of the invention, to at least one computer program comprising instructions for the implementation of at least one of the processes described above, when this or these programs are executed by a processor.
[0055] This program may use any programming language, and be in the form of source code, object code, or code intermediate between source code and object code, such as in a partially compiled form, or in any other desirable form.
[0056] The invention also relates to a computer-readable information or recording medium containing the aforementioned computer program instructions. The information or recording medium may be any entity or device capable of storing programs. For example, the medium may include a storage means, such as a ROM, for example a CD-ROM or a microelectronic circuit ROM, or a magnetic recording means, for example a floppy disk or a hard drive, a DNA sequence, or flash memory. Furthermore, the information or recording medium may be a transmissible medium such as an electrical or optical signal, which may be transmitted via an electrical or optical cable, by radio link, by wireless optical link, or by other means.
[0057] The program can in particular be downloaded from an Internet-type network.
[0058] Alternatively, each information or recording medium can be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of a process in accordance with the first aspect of the invention. Brief description of the figures
[0059] The invention will be better understood with the aid of the following description, given solely by way of example and made with reference to the accompanying drawings in which: - [Fig.1] is an example of cloud computing architecture according to the prior art; - [Fig.2] is a first example of a cloud computing architecture according to the invention; - Figure 3 illustrates the main steps of an allocation process according to the first embodiment of the invention; - [Fig.4] illustrates a state of the cloud architecture of [Fig.2], when the assignment process described in connection with [Fig.3] has been implemented; - Figure 5 is a second example of cloud computing architecture according to the invention; - Figure 6 illustrates the main steps of the assignment process and of the administration method according to a second embodiment of the invention; - [Fig.7] illustrates the main messages exchanged during the implementation of the processes described in [Fig.6]; - Figure 8 illustrates an intermediate state of the cloud architecture during the implementation of the processes described in connection with [Fig.6]; - [Fig.9] illustrates a state of the cloud architecture when the processes described in connection with [Fig.6] have been implemented; - Figure 10 illustrates the main stages of the allocation processes, administration and identification according to a third embodiment of the invention; and - [Fig.1 1] illustrates the main messages exchanged during the implementation of the processes according to [Fig. 10]; Detailed description of the invention
[0060] Figure 2 schematically represents a first example of cloud computing architecture according to a first embodiment of the invention.
[0061] This cloud computing architecture comprises a set of M=3 clusters of computing units Gh G2, G3 managed by a supervisory device DSup and by management units SMb SM2, SM3. In the example described here, the computing units and the management units are computing servers.
[0062] Each of the computer servers constituting a computer unit comprises N virtual machines, with 3>N>1, each of these virtual machines being associated with a different cluster.
[0063] Thus, a computer server is assigned to a cluster of computer servers when the virtual machine associated with said cluster of servers is activated.
[0064] Furthermore, a computer server can only be assigned to a single cluster of computer servers. Consequently, at any given time and for each server, at most one of the N virtual machines is active, while the other Nl virtual machines are not active. In other words, either one of the virtual machines is active and the computer server is assigned to the cluster corresponding to that active virtual machine, or no virtual machine is active and the computer server is not assigned to any cluster. Moreover, since only one virtual machine can be active at a time, the active virtual machine can benefit from all the server's hardware resources.
[0065] For example, virtual machine VM G1 on computer server S11 is enabled (state "ON") and the other virtual machines VM G2 and VM G3 are disabled (state "OFF"), indicating that server S11 is currently assigned to the G1 computer server cluster but could also be assigned to the G2 or G3 computer server cluster if the respective virtual machines VM G2 and VM G3 were enabled. Similarly, virtual machine VM G3 on computer server S33 is enabled (state "ON"), indicating that server S33 is currently assigned to the G3 computer server cluster. Since server S33 only has one virtual machine, it can only be assigned to the G3 computer server cluster.Finally, the G2 virtual machine of the Sl2 computer server is activated (state "ON") and the other virtual machine, G1, is deactivated (state "OFF"), which indicates that the Sl2 server is currently assigned to the G2 computer server cluster but could also be assigned to the G1 computer server cluster if the G1 virtual machine were activated. Since this Sl2 server does not have a G3 virtual machine associated with the G3 cluster, it cannot be assigned to that G3 cluster.
[0066] The main steps implemented by an assignment process 10 according to the first embodiment of the invention are now presented in relation to [Fig. 3]. This assignment process is implemented by the DSup supervision device.
[0067] It is assumed that initially, the servers are affected as shown in [Fig.2],
[0068] During an E10 step, the supervisory device identifies a need to increase the number of computer units in the G2 cluster.
[0069] This identification may correspond to the detection of an under-provisioning in the number of computing units of the G2 cluster and may be carried out, for example, upon receipt of a request message for an additional resource from the The SM2 management server for this G2 cluster. Alternatively, the AD administration appliance can implement a load forecasting process for the G2 cluster, this forecasting process anticipating a future need for additional resources for the G2 cluster. In another variant, this identification can be scheduled by an administrator in anticipation of maintenance or operational activity on this G2 cluster.
[0070] During an E20 step, the DSup monitoring device selects a server to be assigned from among the servers assigned to cluster G1 and which can be assigned to cluster G2. In the example described here, the server to be assigned is the S3i server.
[0071] During step E30, the monitoring device deactivates the virtual machine VM G1 of the computer server S3i. At the end of this step E30, this server is now an SPi server available to be subsequently assigned to a cluster.
[0072] During a step E40, the monitoring device activates the virtual machine VM G2 of the SPI server, which assigns this server to the G2 cluster under the reference S22 as shown in [Fig.4] which represents the assignment of the servers within the three clusters at the end of the assignment process described in [Fig.3].
[0073] Figure 5 schematically represents a second example of cloud computing architecture.
[0074] This cloud computing architecture comprises a set of M clusters of computer servers, with M > 2. Among these M clusters of computer servers, L clusters of computer servers, with L > 1, are said to be non-priority and ML clusters of computer servers are said to be priority. Thus, the L non-priority clusters are reserved for hosting secondary applications or tasks, while the ML priority clusters are reserved for hosting priority applications or tasks.
[0075] The cloud computing architecture described here includes Ml priority clusters HP_K8Si .... HP_K8Sm and only one non-priority cluster LP_K8S, but obviously this particular case is not limiting and the cloud computing architecture may include more than one non-priority cluster.
[0076] A solution for orchestrating these M server clusters is also known under the name K8S or Kubemetes (registered trademark).
[0077] In a Kubernetes type solution, the clusters are managed by a DSup supervision device, one implementation of which is known as Kanod.
[0078] Moreover, each cluster includes at least one first server called the management server (in English "Kubernetes master"), and N compute servers (in English "Kubernetes node"), N being a natural number.
[0079] For example, in the example described in [Fig.5], the non-priority cluster LP_K8S includes one management server LP_SM and two compute servers S1LP, S2LP, while the priority cluster HP_K8SM i includes one management server HP_SMVI 1 and three compute servers SlM_i, S2M.i, S3M_i.
[0080] Thus, the management servers manage the deployment of applications or tasks on the computing servers while the DSup monitoring device manages the distribution of applications or tasks on the different clusters as well as the allocation of computing servers to the different clusters.
[0081] Each of the computing servers in the cloud computing architecture according to the invention comprises M virtual machines, each of the M virtual machines being associated with a different cluster. The M virtual machines are hereinafter denoted VM LP, VM HPu ... VM HPM1.
[0082] Thus, a computer server is assigned as a compute server to a cluster of computer servers when the virtual machine associated with said cluster of servers is activated.
[0083] Furthermore, a computer server can only be assigned to a single cluster of computer servers. Consequently, at any given time and for each server, at most one of the M virtual machines is active, while the other M virtual machines are not active. In other words, either one of the virtual machines is active and the computer server is assigned to the cluster corresponding to that active virtual machine, or no virtual machine is active and the computer server is not assigned to any cluster. Moreover, since only one virtual machine can be active at a time, the active virtual machine can benefit from all the server's hardware resources.
[0084] In addition, each virtual machine on a computer server is associated with a status indicator. This status indicator, denoted for example "NotAvailable", is an availability indicator, for example binary and taking the states "ON" / "OFF", indicating whether the virtual machine can be activated or not.
[0085] Thus, a server is available to be allocated to a cluster, if all the virtual machines on that server have their availability indicator showing that those machines can be activated.
[0086] As a corollary, a server is assigned to a cluster if only one of the virtual machines on that server has its availability indicator showing that it is enabled and all the other virtual machines have their availability indicator showing that they are not enabled.
[0087] For example, the VM LP of the computer server S1LP is enabled (state "ON") and the other VM HPh ... VM HPM i of this server S1LP are disabled (state "OFF"), which indicates that the server S1LP is assigned to the computer server cluster LP_K8S. Similarly, the VM HPM i of the computer server S2VI is enabled (state "ON") and the other VM LP, VM HPb ... VM HPM 2 are disabled (state "OFF"), which indicates that the server S2VI is assigned to the computer server cluster HP_K8SM i. In addition, some servers (not shown in [Fig. 5]) may not be assigned to a cluster and have the availability indicator of all their virtual machines VM LP, VM HPb ... VM HPM1 in the state "OFF".
[0088] Furthermore, the DSup monitoring system for the cloud computing architecture described herein includes: - a device for assigning a computer server AF_S within the cloud computing architecture, this server assignment device being capable of implementing a server assignment process within the set of M server clusters, - an AD administration device for all M computer server clusters, this AD administration device being capable of implementing an administration process for all M clusters and also having the responsibility for monitoring the priority clusters HP_K8Si, ..., HP_K8SM i, - an IDEN server identification device within all M clusters, this IDEN server identification device being capable of implementing a server identification process and also having the responsibility for monitoring the non-priority cluster LP_K8S. - A database LP_inv containing a list of compute servers assigned at a given time to the non-priority cluster LP_K8S. Each of these compute servers has an associated reservation index and a list of active tasks or applications running on that server. The reservation index indicates whether the server can be assigned to a priority cluster or not. Furthermore, each active task or application has an associated priority index, defined, for example, by an administrator; this priority index indicates the importance of the active task or application. In the example described here, the priority index is a natural number between 0 and 10, where 10 defines the highest priority.
[0089] The DSup supervision device described above can be implemented in a Kanod type solution.
[0090] We now present, in relation to [Fig.6], the main steps implemented by the allocation process and the administration process according to a second embodiment of the invention.
[0091] During step 100, the AD administration appliance identifies a need for an additional resource in the HP_K8Sj priority cluster. In other words, the AD administration appliance identifies a need to increase the number of computing units in the HP_K8Sj priority cluster.
[0092] This identification may correspond to the detection of an under-provisioning of the number of computing units in the HP_K8Sj priority cluster and may be performed, for example, upon receipt of a request for an additional resource from the HP_SMj management server of this HP_K8Sj priority cluster. Alternatively, the AD administration device may implement a load forecasting process for the HP_K8Sj priority cluster, this forecasting process anticipating a future need for an additional resource for the HP_K8Sj priority cluster. In another embodiment, this identification may be scheduled by an administrator in anticipation of a maintenance or operational operation on the HP_K8Sj priority cluster.
[0093] During a step 101, the AD administration device transmits a RAFF assignment request for an additional compute server to the HP_K8Sj priority cluster to the AF_S computer server assignment device.
[0094] During a step 150, the assignment device of a computer server AF_S therefore receives said assignment request RAFF.
[0095] Upon receiving the RAFF assignment request, and during step 151, the AF_S computer server assignment device searches for a computer server SP not yet assigned to a cluster. In other words, the AF_S computer server assignment device searches for a server SP whose virtual machines all have an availability indicator showing that these virtual machines can be activated. To perform this search, the AF_S computer server assignment device can, for example, maintain a list of servers not yet assigned to a cluster and choose, for example, the first server SP in the list if the list is not empty.
[0096] Upon identification of such a server SP and during step 152, the computer server assignment device AF_S assigns this computer server SP to the HP_K8Sj cluster. To perform this assignment, the computer server assignment device AF_S activates the HPj virtual machine VM and sets the availability indicator of this HPj virtual machine VM to the "ON" state.
[0097] During a step 153, the AF_S computer server assignment device transmits an ACK acknowledgment message of the RAFF assignment request to the AD administration device. This ACK acknowledgment message includes, for example, at least one D data point indicating whether an additional server has been assigned to the HP_K8Sj cluster (D=0K) or not (D=N0K).
[0098] During a step 102, the AD computer server administration device therefore receives the acknowledgment message ACK.
[0099] During a step 103, the AD administration device checks whether an additional server has been allocated to the HP_K8Sj cluster by testing the value of the data D.
[0100] If no additional servers have been allocated to the HP_K8Sj cluster (D=N0K), the AD administration appliance transmits, during step 104, a STOP request for an active virtual machine on a compute server assigned to the non-priority LP_K8S cluster. In other words, this STOP request requests the decommissioning of a compute server assigned to the non-priority LP_K8S cluster.
[0101] During a step 154, the assignment device of a computer server AF_S therefore receives said STOP request.
[0102] During a step 155, the AF_S computer server assignment device selects an SXLP computer server assigned to the non-priority LP_K8S cluster. The selected SXLP computer server is, for example, the one with the most hardware resources.
[0103] During step 156, the AF_S computer server assignment device shuts down the VM LP virtual machine on the SXLP computer server and sets the availability indicator of this VM LP virtual machine to the "OFF" state. At the end of this step 156, all virtual machines on this server have their availability indicator in the "OFF" state, indicating that these machines can be activated, and this server is now an SPi-referenced server available for subsequent cluster assignment.
[0104] It should be noted that in this second embodiment of the invention, the selection of the SXLP computer server to be deassigned from the non-priority LP_K8S cluster is performed solely by the AF_S computer server assignment device, without the latter interacting with the IDEN server identification device, which is nevertheless responsible for monitoring the LP_K8S cluster. The reassignment of the SXLP computer server will then, for example, be considered by the IDEN server identification device as a computer failure event of that SXLP computing server. Following the detection of this event, the IDEN server identification device, in conjunction with the LP_K8S cluster management server, will modify the distribution of tasks and / or applications on the other computing servers of the cluster. LP_K8S. In this way, by not interacting with the IDEN server identification device, the reassignment of the SXLP server is faster and the administration process is simpler.
[0105] During a step 157, the AF_S computer server assignment device transmits an OK confirmation message to the AD administration device indicating that a computer server assigned to the non-priority cluster LP_K8S has been decommissioned and that consequently an SPi server is now available to be assigned to a cluster.
[0106] During a step 105, the AD administration device therefore receives the OK confirmation message.
[0107] During a step 106, the AD administration device transmits a new RAFF assignment request for an additional compute server to the HP_K8Sj priority cluster to the AF_S computer server assignment device.
[0108] During a step 158, the assignment device of a computer server AF_S therefore receives said new assignment request RAFF.
[0109] During a step 159, the AF_S computer server assignment device searches, similarly to the search carried out in step 151, whether there is a computer server not yet assigned to a cluster and identifies that this is the case of the SPi server which it selects.
[0110] During a step 160, the computer server assignment device AF_S assigns this computer server SPi to the HP_K8Sj cluster. To perform this assignment, the computer server assignment device AF_S activates the HPj virtual machine VM and sets the availability flag of this HPj virtual machine VM to the "ON" state.
[0111] During a step 161, the AF_S computer server assignment device transmits an OK confirmation message to the AD administration device indicating that a new compute server has been assigned to the HP_K8Sj priority cluster.
[0112] During a step 107, the AD administration device therefore receives the OK confirmation message.
[0113] [Fig.7] is a flow diagram illustrating the messages exchanged between the HP_K8Sj priority cluster, the AD administration appliance and the AF_S computer server assignment appliance during the main steps described in [Fig.6].
[0114] By way of illustration, we now consider that [Fig. 5] presents an initial state of the clusters in the cloud computing architecture before the allocation and management processes described in connection with [Fig. 6] are implemented. In this initial state, all computer servers are assigned to a cluster. We further assume that the HP_K8Si priority cluster requires a resource additional computing server (in other words, in this example, J=l). Figure 8 shows the state of the cloud computing architecture clusters after step 105. After this step, the non-priority cluster LP_K8S has only one server, S1LP, and the server SPi is not assigned to any cluster. Note that the server SPi was initially assigned to the non-priority cluster LP_K8S with the reference S2LP (in other words, in this example, X=2). Figure 9 shows the final state of the cloud computing architecture clusters after step 107. In this final state, the priority cluster HP_K8Si now has three compute servers: S1i, S2i, and S3b. The latter server, S3i, was initially assigned to the non-priority cluster LP_K8S with the reference S2LP.
[0115] The main steps implemented by the allocation process, the administration process, and the identification process according to a third embodiment of the invention are now presented in relation to [Fig. 10]. The elements already described with reference to the preceding figures retain the same reference numerals.
[0116] As in the second embodiment of the invention, the AD administration device performs steps 100-103 while the AF_S computer server assignment device performs steps 150-153.
[0117] If no additional server has been allocated to the HP_K8Sj cluster (D=N0K), the AD administration appliance transmits, during a step 204, to the IDEN identification appliance, a GET request (LIST_Slp) in order to obtain a list of computer servers belonging to the non-priority LP_K8S cluster.
[0118] During a step 280, the IDEN identification device therefore receives said GET request (LIST_Slp).
[0119] During a step 281, the identification device IDEN obtains, for example by querying the LP_inv database, the LIST_Slp list of SLP servers in the non-priority cluster LP_K8S whose reservation index indicates that they are declared as being able to be reassigned to a priority cluster.
[0120] During a step 282, the IDEN identification device also obtains, for example from the LP_inv database, for each SLP server in the LIST_Slp list, the SO_SLP sum of the priority indices of the tasks or applications active on that SLP server. Thus, the SLP server with the lowest SO_SLP sum is the least important one in the non-priority LP_K8S cluster in terms of the criticality of the tasks or applications assigned to it.
[0121] During step 283, the IDEN identification device transmits the LIST_Slp list to the AD administration device after ordering it from the least critical server (the one with the lowest sum of priority indices) to the server the most critical (the one with the highest sum of priority indices). Alternatively, the IDEN identification device simultaneously transmits the LIST_SLp list and the sum of priority indices calculated for each server in the LIST_SLp list to the AD administration device.
[0122] During a step 205, the AD administration device therefore receives the LIST_Slp list, and possibly the sum of the priority indices calculated for each server in the LIST_Slp list.
[0123] During step 206, the AD administration appliance selects from the list the SXLP server it wants to reassign from the non-priority cluster LP_K8S to the priority cluster HP_K8Sj. For example, the AD administration appliance selects the SXLP server with the lowest sum of priority indices.
[0124] Alternatively, the AD administration device selects the SXLP server with the most significant hardware resources.
[0125] The AD administration appliance transmits, during step 207, a STOP(SXlp) request to decommission the SXLP compute server assigned to the non-priority cluster LP_K8S. In other words, the STOP(SXlp) request contains an identifier of the SXLP compute server.
[0126] During a step 254, the assignment device of a computer server AF_S therefore receives said STOP(SXlp) request identifying the server SXLP.
[0127] During a step 255, the AF_S computer server assignment device selects the SXLP computer server assigned to the non-priority cluster LP_K8S and identified by the STOP(SXlp) request identifier.
[0128] During step 256, the AF_S computer server assignment device deactivates the VM LP virtual machine on the SXLP computer server and sets the availability indicator of this VM LP virtual machine to the "OFF" state. At the end of this step 256, all virtual machines on this server have their availability indicator in the "OFF" state, indicating that these machines can be activated, and this server is now an SPi server available for subsequent cluster assignment.
[0129] During a step 257, the AF_S computer server assignment device transmits to the AD administration device an OK confirmation message that a computer server assigned to the non-priority cluster LP_K8S has been decommissioned and that consequently an SPi server is now available to be assigned to a cluster.
[0130] During a step 208, the AD administration device therefore receives the OK confirmation message.
[0131] During a step 209, the AD administration device transmits a new RAFF assignment request for an additional compute server to the HP_K8Sj priority cluster to the AF_S computer server assignment device.
[0132] During a step 258, the assignment device of a computer server AF_S therefore receives said new assignment request RAFF.
[0133] During a step 259, the AF_S computer server assignment device searches, similarly to the search carried out in step 151, whether there is a computer server SP not yet assigned to a cluster and identifies that this is the case of the SPi server which it selects.
[0134] During a step 260, the computer server assignment device AF_S assigns this computer server SPi to the HP_K8Sj cluster. To perform this assignment, the computer server assignment device AF_S activates the HPj virtual machine VM and sets the availability flag of this HPj virtual machine VM to the "ON" state.
[0135] During a step 261, the AF_S computer server assignment device transmits an OK confirmation message to the AD administration device that a new computer server has been assigned to the HP_K8Sj priority cluster.
[0136] During a step 210, the AD administration device therefore receives the OK confirmation message.
[0137] Fig. 11 is a flow diagram illustrating the messages exchanged according to the main steps described in Fig. 10.
[0138] It should also be noted that the invention is not limited to the embodiments described above. It will indeed be apparent to those skilled in the art that various modifications can be made to the embodiments described above, in light of the information just disclosed to them.
[0139] For example, in the third embodiment of the invention, the AD administration device can transmit to the IDEN identification device, not a request to obtain a list of computer servers belonging to the non-priority cluster LP_K8S, a list from which this AD administration device can subsequently select the computing server it wishes to reassign, but directly a request to obtain an identifier of a server to be reassigned, this server to be reassigned being selected directly by the IDEN identification device.
[0140] For example, the cloud computing architecture may include M-2 priority clusters HP_K8Si .... HP_K8SM2 and two non-priority clusters LP_K8Si and LP_K8S2.
[0141] In this case, in the second embodiment of the invention, the selection of the SXLP server by the AF_S computer server assignment device can be carried out in either of the two LP_K8Si and LP_K8S2 clusters. Alternatively, this selection can be carried out in only one of these two clusters.
[0142] Similarly, in the third embodiment of the invention, the IDEN identification device obtains, upon request from the AD administration device, the LIST_SLp list of SLP servers belonging to the two LP_K8Si and LP_K8S2 clusters whose reservation index indicates that they are declared as being able to be reassigned to a priority cluster before transmitting it to the AD administration device. Alternatively, the LIST_SLp is constructed by selecting only the servers in one of the two non-priority clusters.
[0143] Furthermore, in the cloud computing architecture examples described above, the nodes of the various clusters are compute servers. Obviously, some or all of these nodes could be, in a variant implementation of these architectures, mobile phones or residential gateways.
[0144] In the detailed presentation of the invention given above, the terms used shall not be interpreted as limiting the invention to the embodiments set forth in this description, but shall be interpreted as including all equivalents which can be foreseen by a person skilled in the art by applying their general knowledge to the implementation of the teaching which has just been disclosed to them.
Claims
Demands
1. Method of allocating a computer unit, referred to as the computer unit to be allocated, within a set of computer unit clusters comprising at least a first cluster (LP_K8S) and a second cluster of computer units (HP_K8Sj), said computer unit to be allocated comprising at least a first and a second virtual machine (VM LP, VM HPj), at most one of the two virtual machines, referred to as the active virtual machine, being active at any given time, said allocation method comprising: - stopping (156, 256) the first active virtual machine of said computer unit to be allocated, said first virtual machine being associated with the first cluster, and - allocating said computer unit to be allocated to the second cluster by means of activating (160) the second virtual machine of said computer unit to be allocated.
2. Assignment method according to the preceding claim further comprising the selection (155) of said computer unit to be assigned in the computer units assigned to the first cluster and which can be assigned to the second cluster.
3. Assignment method according to the preceding claim further comprising receiving (154) a stop request (STOP) from an active virtual machine of a computer unit assigned to the first cluster.
4. An assignment method according to the preceding claim in which the stop request (STOP) includes an identifier of said computer unit to be assigned and in which the selection (155) of said computer unit to be assigned is carried out from said identifier.
5. A method of assignment according to any one of claims 1 to 4 further comprising receiving (158) an assignment request (RAFF) from a computer unit to said second cluster.
6. A method for managing a set of computer unit clusters comprising at least a first cluster (LP_K8S) and a second cluster of computer units (HP_K8Sj), a computer unit being assigned to a cluster when said computer unit includes an active virtual machine associated with said cluster, said management method comprising:
7.
8. - the identification (100) of a need to increase the number of computer units in the second cluster, and - upon receipt (102), from an allocation device (AF_S), of a computer unit, of information of unavailability of a computer unit not allocated to a cluster and including an inactive virtual machine associated with the second cluster, the transmission (104, 207), to said allocation device (AF_S) of a computer unit, of a stop request (STOP) of an active virtual machine associated with said first cluster, said active virtual machine belonging to a computer unit, said computer unit to be made available, also including an inactive virtual machine associated with the second cluster and of an allocation request (RAFF) of a computer unit to the second cluster. A method for administering a set of clusters of computer units according to the preceding claim, further comprising: - the receipt (205) of a list of computer units assigned to the first cluster and including a virtual machine associated with the second cluster, - the selection (206) from said list of computer units of said computer unit to be made available, and in which the stop request (STOP) includes an identifier of said computer unit to be made available. A method for managing a set of computer unit clusters according to claim 6, wherein said set of computer unit clusters further comprises at least two clusters, referred to as non-priority and distinct from said second cluster, said method further comprising: - the receipt (205) of a list of computer units assigned to said at least two non-priority clusters and which may be assigned to said second cluster, and - the selection (206) from said list of computer units of said computer unit to be made available,
9.
10. and in which the stop request (STOP) includes an identifier of said computer unit to be made available, said first cluster being the non-priority cluster to which said computer unit to be made available is assigned when said selection is made. A method for identifying computer units within a set of computer unit clusters comprising at least a first cluster (LP_K8S) and a second cluster of computer units (HP_K8SJ), a computer unit being assigned to a cluster when said computer unit includes an active virtual machine associated with said cluster, said method comprising: - the reception (280), from an administration device (AD) of said set of computer unit clusters, of a request to obtain (GET(LIST_SLp)) a list of computer units assigned to a group of computer unit clusters and which can be assigned to said second cluster, said group of computer unit clusters comprising at least the first cluster, the second cluster not belonging to said group of clusters, - obtaining (281, 282) said list of computer units, and - the transmission (283) of said list of computer units to said administration device of said set of clusters of computer units. A computer allocation device (AF_S) for a computer unit, referred to as the computer unit to be allocated, within a set of computer unit clusters comprising at least one first cluster (LP_K8S) and one second computer unit cluster (HP_K8SJ), said computer unit to be allocated comprising at least one first and one second virtual machine (VM LP, VM HPJ), with at most one of the two virtual machines, referred to as the active virtual machine, being active at any given time, said allocation device comprising at least one processor configured to: - stop the first active virtual machine of said computing unit to be assigned, said first virtual machine being associated with the first cluster, and - assign said computer unit to be assigned to the second cluster by means of activating the second virtual machine of said computer unit to be assigned.
11. A management device (MD) for a set of computer unit clusters comprising at least one first cluster (LP_K8S) and one second computer unit cluster (HP_K8Sj), a computer unit being assigned to a cluster when said computer unit includes an active virtual machine associated with said cluster, said management device comprising at least one processor configured to: - identify a need to increase the number of computing units in the second cluster, and - upon receipt, from an allocation device (AF_S) of a computer unit, of information of unavailability of a computer unit not allocated to a cluster and including an inactive virtual machine associated with the second cluster, transmit, to said allocation device (AF_S) of a computer unit, a stop request (STOP) of an active virtual machine associated with said first cluster, said active virtual machine belonging to a computer unit, said computer unit to be made available, also including an inactive virtual machine associated with the second cluster and an allocation request (RAFF) of a computer unit to the second cluster.
12. A computer identification device (IDEN) within a set of computer clusters comprising at least a first cluster (LP_K8S) and a second cluster of computer units (HP_K8SJ), a computer unit being assigned to a cluster when said computer unit includes an active virtual machine associated with said cluster, said identification device comprising at least one processor configured to: - receive, from an administration device of said set of computer unit clusters, a request to obtain (GET(LIST_SLp)) a list of computer units (LIST_Slp) assigned to a group of computer unit clusters and which can be assigned to
13.
14. said second cluster, said group of computer unit clusters comprising at least the first cluster, the second cluster not belonging to said group of clusters, - obtain said list of computer units (LIST_Slp), and - transmit said list of computer units to said administration device of said set of clusters of computer units. System comprising an assignment device (AF_S) of a computer unit within a set of clusters of computer units according to claim 10 and an administration device (AD) of said set of clusters of computer units according to claim 11. Computer program comprising instructions for carrying out a method according to any one of claims 1 to 9 when this program is executed by a processor.
Citation Information
Patent Citations
System and method for automatically optimizing capacity between server clusters
US20190068506A1