Information processing device, virtualization infrastructure system, and control program
An orchestrator device balances processing loads by switching virtualization platforms based on load information, addressing imbalances in virtualization infrastructure systems.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-27
- Publication Date
- 2026-04-02
AI Technical Summary
Existing virtualization infrastructure systems lack unified management and resource sharing between different virtualization platforms, leading to imbalanced processing loads among nodes.
An orchestrator device that controls multiple clusters across various virtualization infrastructures, acquiring load information and instructing nodes to switch virtualization platforms to balance load.
Balances processing loads across nodes with different virtualization platforms, enhancing resource utilization and operational efficiency.
Smart Images

Figure JP2024034688_02042026_PF_FP_ABST
Abstract
Description
Information Processing Apparatus, Virtualization Infrastructure System, and Control Program
[0001] One aspect of the present invention relates to an information processing apparatus, a virtualization infrastructure system, and a control program.
[0002] Conventionally, a virtualization infrastructure such as IaaS (Infrastructure as a Service) that operates virtual machines, which are units of virtual computers, in a cluster configured by one or more physical servers is known. Also, Kubernetes (registered trademark), which is open source for realizing the platform of the virtualization infrastructure in CaaS (Containers as a Service), and products such as VMware (registered trademark) for realizing the platform of the virtualization infrastructure in IaaS are known. In one aspect of the virtualization infrastructure, the execution environment of an application is virtually partitioned by a unit called a container. Patent Document 1 discloses a multi-layer cluster control device that enables appropriate placement of nodes of a plurality of clusters operating on a container cluster.
[0003] Japanese Patent Application Laid-Open No. 2024-101663
[0004] Although it is possible to manage multiple clusters on each of the platforms of Kubernetes or VMware described above, there is currently no technology for unified management of software clusters and the like of each other. Also, for example, there is currently no solution for changing the role of a physical server according to demand between a Kubernetes cluster that has introduced a tool for providing a specific service and a cluster that has not introduced it.
[0005] Therefore, there is a problem that resources cannot be lent to each other even if there is a bias in the processing load among nodes such as physical servers that execute different virtualization infrastructures. [[ID=十六]] [[ID=十七]]
[0006] One aspect of the present invention has been made in view of the above problems, and an object thereof is to eliminate the bias in the processing load among nodes that execute different virtualization infrastructures.
[0007] To solve the above problems, an information processing device according to one aspect of the present invention is an information processing device that operates as an orchestrator that controls two or more clusters corresponding to each virtualization infrastructure, wherein each virtualization infrastructure is executed by one or more nodes in the cluster corresponding to the virtualization infrastructure, and at least one of the clusters has two or more nodes, and comprises an acquisition unit that acquires information indicating the processing load at each node executing each virtualization infrastructure, and a communication unit that transmits an instruction corresponding to the information indicating the processing load, which instructs to change the virtualization infrastructure executed by one of the nodes in the cluster having two or more nodes to another virtualization infrastructure.
[0008] To solve the above problems, a virtualization infrastructure system according to one aspect of the present invention is a virtualization infrastructure system comprising an information processing device that operates as an orchestrator that controls two or more clusters corresponding to each virtualization infrastructure, and nodes that have been set up in the cluster, wherein each virtualization infrastructure is executed by one or more nodes that have been set up in the cluster corresponding to the virtualization infrastructure, and at least one of the clusters has two or more nodes, and the information processing device comprises an acquisition unit that acquires information indicating the processing load at each node that executes each virtualization infrastructure, and a communication unit that transmits an instruction corresponding to the information indicating the processing load, which instructs a node in the cluster having two or more nodes to change the virtualization infrastructure it is executing to another virtualization infrastructure, and the node changes the virtualization infrastructure it is executing to another virtualization infrastructure in accordance with the instruction received from the information processing device.
[0009] Each aspect of the present invention may be implemented by a computer, in which case a control program that enables the computer to implement the information processing device or node by operating the computer as each part (software element) of the information processing device or node, and a computer-readable recording medium on which the program is recorded, also fall within the scope of the present invention.
[0010] Furthermore, the control program may use various machine learning techniques in the process of operating the computer as a part of the control block or in other processes. In this case, the program using machine learning techniques may run on the information processing device or on other devices (for example, an edge computer or a cloud server).
[0011] According to one aspect of the present invention, it is possible to eliminate the imbalance in processing load between nodes running separate virtualization infrastructures.
[0012] This is an example of a diagram showing the configuration of a virtualization infrastructure system. This is an example of a diagram showing the configuration of a cluster. This is an example of a flowchart showing the processing flow performed by the virtualization infrastructure system. This is an example of a diagram used to explain an example of processing by the virtualization infrastructure system.
[0013] One embodiment of the present invention will be described in detail below.
[0014] [1. Example of Virtualization Infrastructure System Configuration] Figure 1 is an example of a diagram showing the configuration of the virtualization infrastructure system 1 according to this disclosure. The virtualization infrastructure system 1 comprises a plurality of physical servers 20a to 20g and one or more information processing devices 10.
[0015] In the virtualization infrastructure system 1 illustrated in Figure 1, multiple virtualization infrastructures 90a and 90b are each executed by one or more physical servers 20a to 20c and 20d to 20g. Hereinafter, when virtualization infrastructures 90a and 90b are not distinguished, one or both of them will be referred to as virtualization infrastructure 90. Similarly, when physical servers 20a to 20g are not distinguished, at least one or all of them will be referred to as physical servers 20.
[0016] In Figure 1, the Kubernetes virtualization platform 90a and the IaaS virtualization platform 90b are examples of virtualization platforms. However, in Figure 1, each virtualization platform 90 and each physical server 20 that runs on the virtualization platform 90 are shown as separate blocks. Furthermore, running the virtualization platform 90 can be rephrased as performing predetermined processing to realize the virtualization platform 90.
[0017] Kubernetes, a type of tool for providing specific services, provides services such as container workloads. A container is a unit that packages an application and the middleware, such as libraries, that the application uses. Other examples of the aforementioned tools include NVCF from NVIDIA®. OpenShift® is an example of a product related to the virtualization platform of Kubernetes, and VMware is an example of a product related to the virtualization platform of IaaS.
[0018] Each physical server 20 runs one of the virtualization infrastructures 90, either individually or in conjunction with others. A group of physical servers 20 running the same virtualization infrastructure 90 is also called a cluster. In the example in Figure 1, physical servers 20a to 20c form a cluster running virtualization infrastructure 90a, and physical servers 20d to 20g form a cluster running virtualization infrastructure 90b. Thus, each virtualization infrastructure 90 is run by one or more physical servers 20 in the cluster corresponding to that virtualization infrastructure 90, and at least one of the clusters has two or more physical servers 20. In Figure 1, "k8s" written within a physical server 20 indicates that the physical server 20 is running the Kubernetes virtualization infrastructure 90a, and "IaaS" indicates that the physical server 20 is running the IaaS virtualization infrastructure 90b. Within each physical server 20, a sequential number corresponding to the virtualization infrastructure 90 being executed is indicated in parentheses. In this disclosure, the physical servers 20 that constitute the cluster may also be referred to as physical servers 20 belonging to the cluster, or physical servers 20 owned by the cluster.
[0019] The physical server 20 is an example of a node in this disclosure and is a device comprising a control unit 21, a storage unit 28, and a communication unit 29.
[0020] The control unit 21 is a control device such as a CPU or GPU that manages the entire physical server 20.
[0021] The storage unit 28 is a storage device such as memory that stores various types of information, at least temporarily. The storage unit 28 stores programs that operate the physical server 20 as an agent that runs each virtualization infrastructure 90. The physical server 20 operates as the agent when the control unit 21 executes the program.
[0022] The communication unit 29 is an interface that performs communication processing with other devices.
[0023] The information processing device 10 is a device that operates as an orchestrator, controlling two or more clusters corresponding to each virtualization infrastructure 90. Here, the orchestrator is the entity that controls the creation or deletion of virtual servers (virtual machines) or containers deployed in memory by the physical servers 20 of each cluster.
[0024] The cluster and containers described above will be further explained with reference to Figure 2. Figure 2 is an example of a diagram showing the configuration of a cluster. In the example in Figure 2, the cluster 30 is composed of three physical servers 20. Each physical server 20 manages containers in units called Pods. A Pod usually contains one container, but it may contain two or more containers. In the example in Figure 2, each Pod 32 contains one or two containers 34. In addition, each container 34 packages and manages an application 36 and middleware 37.
[0025] Furthermore, the process of generating the aforementioned virtual servers or containers, or the process of deploying an application to be executable on a container, is also called deployment. In addition, control over the cluster may be interchanged with control over the virtualization infrastructure 90 or control over the physical server 20. In the example in Figure 1, the information processing device 10 is shown to perform the process of deploying a container to the virtualization infrastructure 90a and the process of deploying a virtual server to the virtualization infrastructure 90b in response to a deployment request made from an external device (not shown).
[0026] The information processing device 10 includes a control unit 11, a storage unit 18, and a communication unit 19.
[0027] The control unit 11 is a control device such as a CPU or GPU that oversees the entire information processing device 10, and also operates as an acquisition unit 13 and a determination unit 14.
[0028] The acquisition unit 13 acquires information indicating the processing load on each physical server 20 that runs each virtualization infrastructure 90. Here, the information indicating the processing load may be the CPU or GPU usage rate, memory usage rate, or communication bandwidth usage rate on the physical server 20, or the absolute amount of these usages, or a combination thereof.
[0029] The determination unit 14 performs the determination described later regarding changes to the virtualization infrastructure 90 executed by the physical server 20.
[0030] The storage unit 18 is a storage device such as memory that stores various types of information, at least temporarily. For example, the storage unit 18 stores a program for operating the information processing device 10 as an orchestrator, the specifications of each physical server 20, the first and second reference values to be applied to each physical server 20 (described later), and a set of instructions for the physical servers 20. The information processing device 10 operates as an orchestrator when the control unit 11 executes the program.
[0031] Furthermore, the aforementioned instruction set includes instructions corresponding to information indicating the processing load of the physical server 20, which include instructions to change the virtualization infrastructure 90 executed by the physical server 20 to another virtualization infrastructure 90. From another perspective, the orchestrator or information processing device 10 in this disclosure is configured to send instructions to the physical server 20 to change the virtualization infrastructure 90 executed by the physical server 20 to another virtualization infrastructure 90. These instructions can also be rephrased as instructions to change the cluster to which the physical server 20 belongs and which is the recipient of the resources to another cluster.
[0032] Generally speaking, the information processing device 10 sends an instruction to change the virtualization infrastructure 90 running on the low-load physical server 20 to the virtualization infrastructure 90 corresponding to the cluster to which the high-load physical server 20 belongs, in order to level out the processing load on each physical server 20.
[0033] The communication unit 19 is an interface that performs communication processing with other devices.
[0034] Furthermore, in the example shown in Figure 1, the information processing device 10 and the physical servers 20a to 20g are connected to the same L2 (Layer 2) switch 93. This contributes to simplifying the configuration of the virtualization infrastructure system 1. It should also be noted that the devices may be connected wirelessly, or the information processing device 10 or any of the physical servers 20 may be equipped with a RIC (RAN Intelligent Controller) to control the RAN (Radio Access Network).
[0035] The above describes an example of the configuration of the virtualization infrastructure system 1. In addition, each part included in the virtualization infrastructure system 1 has the function of executing the processes described below.
[0036] [2. Example of Processing by the Virtualization Infrastructure System] Next, the processing flow performed by the virtualization infrastructure system 1 will be explained. Figure 3 is an example of a flowchart showing the processing flow. Figure 4 is an example of a diagram for explaining the processing in this example based on the configuration shown in Figure 1.
[0037] At the start of the flowchart in Figure 3, it is assumed that the deployment of the virtualization infrastructure 90, etc., on each cluster is complete, and that applications are running on each container.
[0038] In step S1, the acquisition unit 13 of the information processing device 10 acquires information indicating the processing load on each physical server 20 that runs each virtualization infrastructure 90 from each physical server 20 via the communication unit 19. The term "processing load" in Figure 4 corresponds to the processing in step S1.
[0039] In S2, the determination unit 14 refers to the information indicating the processing load acquired by the acquisition unit 13 and determines whether there is a combination of physical servers 20 that satisfies the following conditions (1) to (5). In the determination in S2 and S3 described later, the determination unit 14 may also refer to information indicating the specifications of each physical server 20.
[0040] (1) The processing load in at least any one of the physical servers 20 is a load equal to or higher than a first reference value regarded as a high load. In the present disclosure, the physical server 20 that satisfies the condition (1) is also simply referred to as "the physical server 20 with a high load".
[0041] (2) The processing load in at least any one of the other physical servers 20 is a load equal to or lower than a second reference value regarded as a low load. Usually, the second reference value is a value lower than the first reference value. In the present disclosure, the physical server 20 that satisfies the condition (2) is also simply referred to as "the physical server 20 with a low load".
[0042] (3) The physical server 20 with a high load that satisfies the condition (1) and the physical server 20 with a low load that satisfies the condition (2) belong to different clusters from each other.
[0043] (4) Two or more physical servers 20 including the physical server 20 that satisfies the condition (2) belong to the cluster to which the physical server 20 with a low load belongs.
[0044] (5) Even if the virtualization infrastructure 90 executed by the physical server 20 with a low load that satisfies the condition (2) is changed to another virtualization infrastructure 90, it is presumed that the other physical servers 20 belonging to the original cluster to which the physical server 20 belonged before the change will not become highly loaded.
[0045] When the determination unit 14 determines that all of the above conditions (1) to (5) are satisfied (S2: YES), the process of S3 is subsequently executed. Also, when the determination unit 14 determines that at least any one of the conditions (1) to (5) is not satisfied (S2: NO), the process shown in the flowchart of FIG. 3 ends.
[0046] In S3, the determination unit 14 determines a physical server 20 that changes the virtualization infrastructure 90 to be executed to another virtualization infrastructure 90, and the other virtualization infrastructure 90 that is the destination of the change. For example, when the information indicating the processing load indicates that any of the physical servers 20 executing the first virtualization infrastructure 90 is under high load and any of the physical servers 20 executing the second virtualization infrastructure 90 is under low load, the determination unit 14 determines to change the virtualization infrastructure 90 executed by the low-load physical server 20 executing the second virtualization infrastructure 90 to the first virtualization infrastructure 90.
[0047] In S4, the communication unit 19 transmits an instruction to change the virtualization infrastructure 90 to be executed to the determined other virtualization infrastructure 90 to the determined physical server 20. Also, the physical server 20 receives the instruction transmitted from the information processing apparatus 10. The description "change instruction" in FIG. 4 corresponds to the processing of S4.
[0048] In S5, the control unit 21 of the physical server 20 that has received the instruction performs a process of changing the virtualization infrastructure 90 executed by the own device to another virtualization infrastructure 90 according to the instruction. Also, the process can be equivalently described as switching the program executed by the control unit 21 to operate the physical server 20 as an agent to a program corresponding to the virtualization infrastructure 90 of the change destination. Along with the process, the cluster to which the physical server 20 belongs is also changed. In the example of FIG. 4, the physical server 20d performs a process of changing the virtualization infrastructure 90 to be executed from the virtualization infrastructure 90b to the virtualization infrastructure 90a according to the instruction received from the information processing apparatus 10 in S4.
[0049] After performing the process of S5, the virtualization infrastructure system 1 ends the process shown in the flowchart of FIG. 3. Also, the process shown in the flowchart of FIG. 3 is repeatedly executed at regular intervals, when a predetermined condition is satisfied, or unconditionally during the execution of the virtualization infrastructure 90. Here, the predetermined condition is a condition satisfied, for example, when there is a request from an external device to the information processing apparatus 10 or when the information processing apparatus 10 performs a new deployment.
[0050] The processing flow executed by the virtualization infrastructure system 1 has been described above. According to this example, it is possible to control the virtualization infrastructure 90 running on a low-load physical server 20 to the virtualization infrastructure 90 corresponding to the cluster to which a high-load physical server 20 belongs. This eliminates the imbalance in processing load between physical servers 20 running different virtualization infrastructures 90.
[0051] Furthermore, according to the processing in this example, even if an error occurs in one of the physical servers 20 and it becomes non-functional, it becomes possible to have another physical server 20 belonging to a different cluster execute the virtualization infrastructure 90 that the physical server 20 should be executing, thereby contributing to an improvement in the operational rate of the virtualization infrastructure system 1.
[0052] [3. Additional Notes] The number of virtualization infrastructures 90 executed in the virtualization infrastructure system 1 is not limited to two, but may be three or more.
[0053] Furthermore, the determination unit 14 may determine which physical server 20 will change the virtualization infrastructure 90 it is currently running to another virtualization infrastructure 90, and which other virtualization infrastructure 90 will be the target of the change, according to the degree of processing load on the physical server 20 belonging to each cluster. For example, if four virtualization infrastructures 90 are running in the virtualization infrastructure system 1, and the processing load on the physical servers 20 is higher in the order of the first to fourth clusters, the virtualization infrastructure 90 running on any physical server 20 belonging to the fourth cluster may be changed to the virtualization infrastructure 90 corresponding to the first cluster, and the virtualization infrastructure 90 running on any physical server 20 belonging to the third cluster may be changed to the virtualization infrastructure 90 corresponding to the second cluster.
[0054] Furthermore, while the aforementioned configuration is desirable for the determination of S2 in the flowchart of Figure 3, where the system transitions to "YES" when it is determined that all of conditions (1) to (5) are met, condition (5) is not a necessary condition for transitioning to "YES" when leveling the processing load on each physical server 20. In other words, the disclosure also includes a configuration in which the system transitions to "YES" when all of conditions (1) to (4) are met and condition (5) is not met.
[0055] Furthermore, the information processing device 10 may send instructions to multiple physical servers 20 to change the virtualization infrastructure 90 being executed, either almost simultaneously or in succession. For example, the information processing device 10 may send instructions to two or more physical servers 20 belonging to different clusters to change the virtualization infrastructure 90 being executed, depending on the processing load.
[0056] Furthermore, some or all of the physical server 20 may be a virtual server, which is an example of a node. In other words, some or all of the reference to physical server 20 in this disclosure may be read as a virtual server or as a node.
[0057] Furthermore, the virtualization infrastructure 90 executed in the virtualization infrastructure system 1 is not limited to CaaS and IaaS, but may also be PaaS (Platform as a Service), SaaS (Software as a Service), or a virtualization infrastructure equivalent thereto. Also, the virtualization infrastructure 90 executed in the virtualization infrastructure system 1 may be any of IaaS, CaaS, PaaS, and SaaS that do not overlap with each other. This makes it possible to eliminate the imbalance in processing load among physical servers 20 that are running different types of virtualization infrastructure 90.
[0058] Furthermore, the specifications of each physical server 20 may or may not be uniform. Also, the first and second reference values may be set for each physical server 20, or they may be updated at any time when predetermined conditions regarding the virtualization infrastructure 90, etc., are met. In addition, if a service is operated that provides the virtualization infrastructure 90 to customers, the first and second reference values may be set according to the virtualization infrastructure 90 corresponding to the content of the service or the fee structure, etc.
[0059] Furthermore, the first and second reference values may be set and changed by the user through input to the information processing device 10. For example, if particular priority is given to leveling the processing load on each physical server 20, and it is acceptable for the virtualization infrastructure 90 executed by the physical server 20 to be changed a relatively large number of times, the first reference value may be set relatively low and the second reference value may be set relatively high.
[0060] Furthermore, the information processing device 10 may be configured to be provided by any of the physical servers 20. This configuration also includes the case where any of the physical servers 20 have the functions of the information processing device 10. In other words, any of the physical servers 20 may also operate as an orchestrator. This contributes to cost reduction by reducing the number of devices included in the virtualization infrastructure system 1.
[0061] Furthermore, the control unit 21 of the physical server 20 may perform a determination equivalent to that of the determination unit 14 and determine that its own device is under high load or low load, and the information processing device 10 may start the process shown in the flowchart of Figure 3 as a result of receiving information indicating this from the physical server 20. Also, if the number of operating physical servers 20 included in the virtualization infrastructure system 1 changes during the execution of each virtualization infrastructure 90, the information processing device 10 may start the process shown in the flowchart of Figure 3 as a result of receiving information indicating this from any of the physical servers 20.
[0062] [4. Software Implementation Example] The functions of the information processing device 10 and the physical server 20 (hereinafter referred to as "devices") can be realized by programs that cause the devices to function as computers, and by programs that cause the devices to function as computers, in each control block, etc. (especially each part included in the control unit 11 or control unit 21).
[0063] In this case, the device includes a computer having at least one control device (e.g., a processor) and at least one storage device (e.g., memory) as hardware for executing the program. By executing the program using this control device and storage device, the functions described in each of the embodiments are realized.
[0064] The above program may be recorded on one or more computer-readable recording media, not temporary ones. These recording media may or may not be provided by the above device. In the latter case, the program may be supplied to the above device via any wired or wireless transmission medium.
[0065] Furthermore, some or all of the functions of each of the above control blocks can also be realized by logic circuits. For example, an integrated circuit in which logic circuits functioning as each of the above control blocks are formed is also included in the scope of the present invention. In addition, it is also possible to realize the functions of each of the above control blocks by, for example, a quantum computer.
[0066] Furthermore, each process described in the above embodiments may be performed by AI (Artificial Intelligence). In this case, the AI may operate on the control device described above, or it may operate on another device (for example, an edge computer or a cloud server).
[0067] The present invention is not limited to the embodiments described above, and various modifications are possible within the scope of the claims. Embodiments obtained by appropriately combining the technical means disclosed in different embodiments are also included in the technical scope of the present invention.
[0068] The present invention is not limited to the embodiments described above, and various modifications are possible within the scope of the claims. Embodiments obtained by appropriately combining the technical means disclosed in different embodiments are also included in the technical scope of the present invention. Furthermore, new technical features can be formed by combining the technical means disclosed in each embodiment.
[0069] 1 Virtualization infrastructure system 10 Information processing device (orchestrator) 11 Control unit 13 Acquisition unit 14 Judgment unit 18 Storage unit 19 Communication unit 20, 20a-20g Physical server (node) 21 Control unit 28 Storage unit 29 Communication unit 30 Cluster 34 Container 36 Application 37 Middleware 90, 90a, 90b Virtualization infrastructure 93 L2 switch
Claims
1. An information processing device that operates as an orchestrator to control two or more clusters corresponding to each virtualization infrastructure, wherein each virtualization infrastructure is executed by one or more nodes in the cluster corresponding to the virtualization infrastructure, and at least one of the clusters has two or more nodes, and the information processing device comprises: an acquisition unit that acquires information indicating the processing load at each node executing each virtualization infrastructure; and a communication unit that transmits an instruction corresponding to the information indicating the processing load, which instructs to change the virtualization infrastructure executed by one of the nodes in the cluster having two or more nodes to another virtualization infrastructure.
2. The information processing apparatus according to claim 1, wherein the communication unit transmits an instruction to change the virtualization infrastructure executed by the node executing the second virtualization infrastructure whose processing load is less than or equal to the second reference value to the first virtualization infrastructure when the information indicating the processing load indicates that the processing load of any node executing the first virtualization infrastructure is greater than or equal to a first reference value and the processing load of any node executing the second virtualization infrastructure is less than or equal to a second reference value.
3. The information processing device according to claim 1 or 2, wherein the information processing device is provided in any of the nodes.
4. The information processing apparatus according to claim 1 or 2, wherein each virtualization platform is one of IaaS (Infrastructure as a Service), CaaS (Containers as a Service), PaaS (Platform as a Service), and SaaS (Software as a Service), which do not overlap with each other.
5. The information processing apparatus according to claim 1 or 2, wherein each node running each virtualization infrastructure is a physical server connected to the same switch.
6. A virtualization infrastructure system comprising an information processing device that operates as an orchestrator to control two or more clusters corresponding to each virtualization infrastructure, and nodes belonging to the cluster, wherein each virtualization infrastructure is executed by one or more nodes belonging to the cluster corresponding to the virtualization infrastructure, and at least one of the clusters has two or more nodes, the information processing device comprises an acquisition unit that acquires information indicating the processing load at each node executing each virtualization infrastructure, and a communication unit that transmits an instruction corresponding to the information indicating the processing load, which instructs to change the virtualization infrastructure executed by any node in the cluster having two or more nodes to another virtualization infrastructure, and the node changes the virtualization infrastructure it is executing to another virtualization infrastructure in accordance with the instruction received from the information processing device.
7. A control program for causing a computer to function as an information processing device according to claim 1, wherein the computer functions as the acquisition unit and the communication unit.
Citation Information
Patent Citations
Orchestrating computing resources between different computing environments
US20190097942A1