Management platform, program, information processing system, and management method

The management infrastructure optimally allocates GPU memory resources by selecting systems with the fewest running applications, addressing inefficiencies in multi-server environments and reducing execution delays.

JP2025144344APending Publication Date: 2025-10-02SOFTBANK CORPORATION
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024044080
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-19
Publication Date
2025-10-02

AI Technical Summary

Technical Problem

Existing technologies lack an automated method for optimally allocating GPU memory resources, particularly in systems utilizing both CPU and GPU memory, leading to inefficiencies and increased allocation wait times when executing GPU applications.

Method used

A management infrastructure that selects information processing infrastructures based on the fewest number of running applications, free memory resources, and allocated resource amounts to execute applications, incorporating selection conditions to minimize wait times and resource disparities.

Benefits of technology

Automated memory resource allocation reduces execution delays and wait times by evenly distributing applications across available resources, optimizing the use of CPU and GPU memory in multi-server environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025144344000001_ABST
    Figure 2025144344000001_ABST
Patent Text Reader

Abstract

To provide a management platform for selecting an information processing platform having the smallest number of applications being executed from among a plurality of information processing platforms.SOLUTION: In a system 10, a management platform that manages a plurality of information processing platforms having memory resources acquires free memory resource amount information indicating the amount of free memory resource of each information processing platform and application count information indicating the number of applications running on each information processing platform, accepts application execution requests, and selects, from among a plurality of information processing platforms, an information processing platform with the fewest number of applications currently running as an information processing platform on which to run the target application based on allocated resource amount information included in the execution request and indicating an allocated memory resource amount required to execute the target application, free memory resource amount information, and application count information.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a management base, a program, an information processing system, and a management method. [Background technology]

[0002] As described in Patent Document 1, a technique relating to an InfiniBand switch has been proposed in recent years. [Prior art document] [Patent documents] [Patent Document 1] JP 2019-028859 A Summary of the Invention [Means for solving the problem]

[0003] According to one embodiment of the present invention, there is provided a management infrastructure for managing information processing infrastructures having memory resources including a GPU memory and a CPU memory. The management infrastructure may include an acquisition unit that acquires free memory resource amount information indicating the amount of free memory resource of each of the plurality of information processing infrastructures and application count information indicating the number of applications currently running on each of the plurality of information processing infrastructures. The management infrastructure may include a reception unit that accepts an application execution request. The management infrastructure may include a selection unit that selects, from the plurality of information processing infrastructures, an information processing infrastructure with the fewest number of currently running applications as the information processing infrastructure on which to execute the target application, based on allocated resource amount information indicating the amount of allocated memory resource that needs to be allocated to execute the target application, the free memory resource amount information, and the application count information, all of which are included in the execution request.

[0004] In the management infrastructure, the selection unit may determine whether the free resource amount of the memory resources of the information processing infrastructure with the fewest number of running applications is greater than or equal to the allocated resource amount, and if it determines that the free resource amount of the memory resources of the information processing infrastructure with the fewest number of running applications is greater than or equal to the allocated resource amount, it may select the information processing infrastructure with the fewest number of running applications as the information processing infrastructure on which to execute the application to be executed, and if it determines that the free resource amount of the memory resources of the information processing infrastructure with the fewest number of running applications is less than the allocated resource amount, it may select multiple information processing infrastructures including the information processing infrastructure with the fewest number of running applications as the information processing infrastructure on which to execute the application to be executed.

[0005] In any of the management platforms, when there are multiple information processing platforms with the fewest number of running applications, and the selection unit determines that the free resource amount of the memory resources of at least two of the multiple information processing platforms with the fewest number of running applications is equal to or greater than the allocated resource amount, the selection unit may select the information processing platform with the least free resource amount of the memory resources from the at least two information processing platforms as the information processing platform on which to execute the application to be executed.

[0006] In any of the management platforms, when the selection unit determines that the amount of free memory resources of the information processing platform with the fewest number of running applications is less than the allocated resource amount, it may select the information processing platform with the fewest number of running applications and the information processing platform with the second fewest number of running applications as the information processing platform on which to execute the application to be executed.

[0007] In any of the management infrastructures, when there are multiple information processing infrastructures with the fewest number of running applications, if the selection unit determines that the free resource amount of the memory resources of each of the multiple information processing infrastructures with the fewest number of running applications is less than the allocated resource amount, the selection unit may further determine whether or not the total free resource amount of the memory resources of the multiple information processing infrastructures with the fewest number of running applications is equal to or greater than the allocated resource amount, and if the selection unit determines that the total free resource amount of the memory resources of the multiple information processing infrastructures with the fewest number of running applications is equal to or greater than the allocated resource amount, As the information processing infrastructure on which the application to be executed is to be executed, at least two information processing infrastructures among the plurality of information processing infrastructures having the fewest number of running applications may be selected so that the total amount of free memory resources is equal to or greater than the allocated resource amount, and if it is determined that the total amount of free memory resources of the plurality of information processing infrastructures having the fewest number of running applications is less than the allocated resource amount, the information processing infrastructures among the plurality of information processing infrastructures having the fewest number of running applications and the information processing infrastructure having the second fewest number of running applications may be selected as the information processing infrastructure on which the application to be executed is to be executed.

[0008] In any of the management platforms, the selection unit may select the at least two information processing platforms so that the total amount of free resource of the memory resources is equal to or greater than the allocated resource amount and the number of information processing platforms is the smallest.

[0009] In any one of the management infrastructures, the acquisition unit acquires the free memory resource amount information including free GPU memory resource amount information indicating a free resource amount of the GPU memory of each of the information processing infrastructures of the plurality of information processing infrastructures, and free CPU memory resource amount information indicating a free resource amount of the CPU memory of each of the information processing infrastructures of the plurality of information processing infrastructures; The selection unit may select, from the plurality of information processing platforms, an information processing platform with the smallest number of applications currently running as the information processing platform on which to execute the application to be executed, based on the allocated resource amount information, the free GPU memory resource amount information and the CPU memory resource amount information included in the free memory resource amount information, and the application count information.

[0010] In any of the management platforms, when there are multiple information processing platforms with the fewest number of running applications, and the free resource amount of the memory resources of at least two of the multiple information processing platforms with the fewest number of running applications is equal to or greater than the allocated resource amount, the selection unit may select, from the at least two information processing platforms, as the information processing platform on which to execute the application to be executed, an information processing platform in which at least one of the free resource amount of the GPU memory and the free resource amount of the CPU memory is equal to or greater than the allocated resource amount.

[0011] Any one of the management infrastructures may further include an instruction unit that instructs the information processing infrastructure selected by the selection unit to deploy a virtualization infrastructure that executes the application to be executed.

[0012] According to one embodiment of the present invention, there is provided a program that, when executed by a computer, causes the computer to function as any one of the management infrastructures.

[0013] According to one embodiment of the present invention, there is provided an information processing system, the information processing system may include any one of the management infrastructures described above, or the information processing system may include a plurality of the information processing infrastructures described above.

[0014] According to one embodiment of the present invention, there is provided a management method executed by a management infrastructure that manages information processing infrastructures having memory resources including GPU memory and CPU memory. The management method may include an acquisition step of acquiring free memory resource amount information indicating the amount of free memory resource of each of the plurality of information processing infrastructures and application count information indicating the number of applications currently running on each of the plurality of information processing infrastructures. The management method may include a reception step of accepting an application execution request. The management method may include a selection step of selecting, from the plurality of information processing infrastructures, an information processing infrastructure with the fewest number of currently running applications as the information processing infrastructure on which to execute the target application, based on allocated resource amount information indicating the allocated amount of memory resource that needs to be allocated to execute the target application, the free memory resource amount information, and the application count information, all of which are included in the execution request.

[0015] The above summary of the invention does not list all of the necessary features of the present invention, and subcombinations of these features may also constitute inventions. [Brief explanation of the drawings]

[0016] [Figure 1] An example of a system 10 is shown schematically. [Figure 2] FIG. 2 is an explanatory diagram for explaining an example of a processing flow of the system 10. [Figure 3] FIG. 2 is an explanatory diagram for explaining an example of a processing flow of the system 10. [Figure 4] FIG. 2 is an explanatory diagram for explaining an example of a processing flow of the system 10. [Figure 5] FIG. 2 is an explanatory diagram for explaining an example of a processing flow of the system 10. [Figure 6] FIG. 2 is an explanatory diagram for explaining an example of a processing flow of the system 10. [Figure 7]FIG. 2 is an explanatory diagram for explaining an example of a processing flow of the system 10. [Figure 8] FIG. 2 is an explanatory diagram for explaining an example of a processing flow of the system 10. [Figure 9] FIG. 2 is an explanatory diagram for explaining an example of a processing flow of the system 10. [Figure 10] 1 shows an example of a functional configuration of a management base 100. [Figure 11] 2 shows an example of a functional configuration of an information processing infrastructure 200. [Figure 12] 2 is an explanatory diagram illustrating an example of a processing flow of the management board 100. FIG. [Figure 13] 2 is an explanatory diagram illustrating an example of a processing flow of the management board 100. FIG. [Figure 14] 1 shows an example of a hardware configuration of a computer 1200 that functions as the management infrastructure 100 or the information processing infrastructure 200. DETAILED DESCRIPTION OF THE INVENTION

[0017] Traditionally, GPU applications using GPUs required dedicated GPU memory separate from the CPU's main memory. GPU memory was typically built into the GPU chip. For example, one GPU chip might have 40 GB of GPU memory, while another might have 80 GB of GPU memory. GPU applications, which are virtualized software such as virtual machines and containers, typically run by deploying programs and data to the GPU memory. While a single GPU traditionally ran one or multiple GPU applications, recent advances in GPU technology have led to the emergence of technologies that use the CPU's main memory as GPU memory, allowing a GPU server equipped with both the CPU's main memory and GPU memory to directly run a GPU application. Furthermore, technologies have emerged that allow multiple GPU servers equipped with GPU memory to run a single GPU application by connecting them via Ethernet (registered trademark) or InfiniBand. The advent of these new GPU technologies has made it possible to use CPU main memory and GPU memory without any speed difference when executing GPU applications, and to increase the amount of GPU memory resources, which tend to be insufficient when executing GPU applications. However, currently, no technology has been established that automatically performs optimal allocation of GPU memory resources taking these new GPU technologies into account. Therefore, when optimally allocating GPU memory resources taking these new GPU technologies into account, a human must theoretically calculate the optimal allocation of GPU memory resources and then instruct the GPU server to deploy a virtualization platform using the GPU memory resources. In the system according to this embodiment, for example, a mechanism is adopted in which CPU main memory and GPU memory resources are pooled and a GPU server that will execute a GPU application is selected according to the following conditions 1, 2, and 3 in descending order of priority. Condition 1, which has the highest priority, is to select a GPU server that is running the fewest GPU workloads (GPU workloads may also be referred to as GPU applications).Condition 2, which has the second highest priority, is to select multiple GPU servers so that the GPU application is executed on fewer servers when multiple GPU servers are running the GPU application.Condition 3, which has the third highest priority, is to select a GPU server with less free GPU resources.

[0018] The present invention will be described below through embodiments of the invention, but the following embodiments do not limit the scope of the invention as claimed. Furthermore, not all of the combinations of features described in the embodiments are necessarily essential to the solution of the invention.

[0019] 1 schematically illustrates an example of a system 10. The system 10 may include a management infrastructure 100. The system 10 may include multiple information processing infrastructures 200. In the system 10 according to this embodiment, for example, the management infrastructure 100 and the multiple information processing infrastructures 200 may cooperate to control a Radio Access Network (RAN) 300 and perform AI (Artificial Intelligence) processing. The system 10 may be an example of an information processing system.

[0020] The RAN 300 may be a virtualized vRAN (Virtual RAN), and the system 10 may control the vRAN. The RAN 300 may be a physical RAN, and the system 10 may control the physical RAN. In this embodiment, a case where the RAN 300 is a vRAN will be mainly described as an example.

[0021] In System 10, for example, the functions of RAN 300 can be run on a high-performance GPU server instead of a general-purpose server, allowing the surplus computing resources to be utilized for AI processing. Types of AI processing include AI processing related to RAN control (sometimes referred to as RAN control AI processing) and AI processing not related to RAN control (sometimes referred to as non-RAN control AI processing).

[0022] An example of RAN control AI processing is the RAN Intelligent Controller (RIC). RIC is a technology that uses AI to optimize radio resources in the RAN 300 and automate RAN operations. RICs include Non-RT RICs and Near-Real Time RICs (Near-RT RICs). Non-RT RICs are sometimes called Centralized RICs. Non-RT RICs are located inside the Service Management and Orchestration (SMO), which manages and orchestrates the RAN 300. Non-RT RICs generate and notify policies related to the control of the RAN 300 and send information to Near-RT RICs. For example, Non-RT RICs perform machine learning using data collected from the RAN 300 to generate trained models for RAN control and send them to Near-RT RICs. Near-RT RICs are sometimes called Distributed RICs. Compared to Non-RT RICs, Near-RT RICs are located closer to RAN nodes (RU (Radio Unit), DU (Distributed Unit), CU (Central Unit)) and control RAN nodes, resources, etc. Compared to Non-RT RICs, Near-RT RICs perform processing with higher real-time performance. For example, Near-RT RICs perform inference processing related to the control of RAN 300 using trained models acquired from Non-RT RICs. RAN control AI processing is not limited to RICs.

[0023] The non-RAN controlled AI processing may correspond to a so-called MEC (Multi-access Edge Computing) application. Examples of the non-RAN controlled AI processing include, but are not limited to, a monitoring AI execution processing that determines the situation within the imaging range of an input captured image, and a response AI execution processing that outputs a response to an input user inquiry.

[0024] The AI ​​processing performed by the system 10 may include RAN-controlled AI processing (sometimes referred to as RAN_AI). The AI ​​processing performed by the system 10 may include non-RAN-controlled AI processing (sometimes referred to as non-RAN_AI).

[0025] The information processing infrastructure 200 may be a data center located in various locations. The information processing infrastructure 200 may be configured with multiple devices. The information processing infrastructure 200 may be realized on a virtualization infrastructure made up of multiple devices. The information processing infrastructure 200 may also be realized by a single device. In other words, the information processing infrastructure 200 may be an information processing device.

[0026] The information processing infrastructure 200 is placed, for example, on a core network, which may include both inside and outside the core network.

[0027] The core network may be compliant with any mobile communication system. For example, the core network may be compliant with a 5G (5th Generation) communication system. The core network may be compliant with a 6G (6th Generation) communication system or later mobile communication system. The core network may be compliant with a 3G (3rd Generation) communication system or an LTE (Long Term Evolution) communication system.

[0028] The management infrastructure 100 may be a data center that manages multiple information processing infrastructures 200. The management infrastructure 100 may be configured with multiple devices. The management infrastructure 100 may be realized on a virtualization platform made up of multiple devices. The management infrastructure 100 may also be realized by a single device. In other words, the management infrastructure 100 may be a management device.

[0029] The management infrastructure 100 is placed on, for example, a core network. If the management infrastructure 100 is a management device, it may be placed on the Internet.

[0030] A data center may include multiple physical servers, for example, about 100 physical servers.

[0031] The data center is, for example, a micro data center, but may also be any other data center.

[0032] The management infrastructure 100 may be called a Core Brain, and the information processing infrastructure 200 may be called a Regional Brain. While FIG. 1 illustrates an example in which a single-layer information processing infrastructure 200 is arranged below the management infrastructure 100, this is not limiting. The information processing infrastructure 200 may have multiple layers. For example, when a two-layer information processing infrastructure 200 is arranged below the management infrastructure 100, the management infrastructure 100 may be called a Core Brain, the information processing infrastructure 200 at the layer below that may be called a Regional Brain, and the information processing infrastructure 200 at the layer below that may be called a Sub-Regional Brain.

[0033] The information processing infrastructure 200 may be provided with one or more computational resources 220. For example, the information processing infrastructure 200 may be provided with one or more CPUs 222. For example, the information processing infrastructure 200 may be provided with one or more GPUs 224. The information processing infrastructure 200 may be provided with a plurality of super chips, each of which has a CPU 222 and a GPU 224 connected via an interconnect. The interconnect may have memory coherency and may be capable of achieving high bandwidth and low latency. In this way, the information processing infrastructure 200 may have CPU resources and GPU resources as computational resources.

[0034] The information processing infrastructure 200 may be provided with one or more memory resources 240. For example, the information processing infrastructure 200 may be provided with one or more CPU memories 242. For example, the information processing infrastructure 200 may be provided with one or more GPU memories 244. In this way, the information processing infrastructure 200 may have the CPU memory 242 and the GPU memory 244 as the memory resources 240.

[0035] The multiple information processing infrastructures 200 may be connected via a switch 280. The switch 280 is, for example, an L2 switch. The switch 280 is, for example, an InfiniBand switch. In this way, by connecting the multiple information processing infrastructures 200 via the switch 280, the multiple information processing infrastructures 200 can execute a single application in a cooperative manner.

[0036] The management infrastructure 100 manages, for example, an information processing infrastructure 200 having memory resources 240 including a GPU memory 244 and a CPU memory 242. The management infrastructure 100 manages, for example, a plurality of information processing infrastructures 200.

[0037] The management infrastructure 100, for example, acquires usage status information indicating the usage status of each of the multiple information processing infrastructures 200, and manages the information processing infrastructures 200 based on the acquired usage status information. The management infrastructure 100, for example, acquires the usage status information of each information processing infrastructure 200 by receiving the usage status information of the information processing infrastructure 200 from each of the multiple information processing infrastructures 200. The usage status information is, for example, data in a table format.

[0038] The usage information includes, for example, used memory resource amount information indicating the amount of used resource that each information processing infrastructure 200 of the multiple information processing infrastructures 200 is using in the memory resource 240. The usage information includes, for example, free memory resource amount information indicating the amount of free resource that each information processing infrastructure 200 of the multiple information processing infrastructures 200 is using in the memory resource 240. The usage information includes, for example, application count information indicating the number of applications currently running on each information processing infrastructure 200 of the multiple information processing infrastructures 200.

[0039] The applications running on the information processing infrastructure 200 include, for example, GPU applications. The applications running on the information processing infrastructure 200 include, for example, CPU applications. Therefore, the number of applications running on the information processing infrastructure 200 indicated by the application count information may be the sum of the number of GPU applications running on the information processing infrastructure 200 and the number of CPU applications running on the information processing infrastructure 200.

[0040] Each of the information processing infrastructures 200 of the multiple information processing infrastructures 200 executes, for example, an application. Each of the information processing infrastructures 200 executes the application by using, for example, the computing resources 220. Each of the information processing infrastructures 200 executes the application by using, for example, the memory resources 240.

[0041] Each information processing infrastructure 200 executes, for example, a GPU application. Each information processing infrastructure 200 executes, for example, a GPU application using the GPU memory 244. Each information processing infrastructure 200 executes, for example, a GPU application using the CPU memory 242. Each information processing infrastructure 200 executes, for example, a GPU application using both the GPU memory 244 and the CPU memory 242. Each information processing infrastructure 200 may execute a CPU application.

[0042] Each information processing infrastructure 200 executes an application by, for example, deploying a virtualization infrastructure that executes the application. The virtualization infrastructure is, for example, a virtual machine-type virtualization infrastructure. The virtualization infrastructure is, for example, a container-type virtualization infrastructure.

[0043] Each information processing infrastructure 200 has, for example, an execution unit including a RAN control function that controls the functions of the RAN 300. The RAN control function controls the functions of the RAN 300 by, for example, executing RAN_AI. The RAN control function may also control the functions of the RAN 300 by executing any other processing.

[0044] The RAN control function controls, for example, the radio base stations 40 that constitute the RAN 300. The RAN control function controls, for example, the radio base stations 40 so as to form a radio communication area using an antenna and provide mobile communication services to communication terminals 50 within the radio communication area.

[0045] The communication terminal 50 is a mobile phone such as a smartphone. The communication terminal 50 may be a tablet terminal, a PC (Personal Computer), or the like. The communication terminal 50 may be a so-called IoT (Internet of Things) device. The communication terminal 50 may include anything that falls under the so-called IoE (Internet of Everything).

[0046] Here, an example will be described in which the management infrastructure 100 manages the information processing infrastructure 200. Here, it is assumed that the management infrastructure 100 manages the information processing infrastructure 200 based on information about the amount of free memory resources and information about the number of applications of each of the multiple information processing infrastructures 200.

[0047] The management infrastructure 100 receives, for example, an application execution request from a user of the system 10. The execution request includes, for example, allocated resource amount information indicating the allocated resource amount of the memory resource 240 that needs to be allocated to execute the application to be executed.

[0048] A user of the system 10 is, for example, an administrator of the RAN 300. A user of the system 10 may also be any other user.

[0049] The management infrastructure 100 selects an information processing infrastructure 200 that will execute the application to be executed from among the multiple information processing infrastructures 200 managed by the management infrastructure 100, based on, for example, allocated resource amount information, free memory resource amount information, and application count information included in the execution request. The management infrastructure 100 selects, for example, the information processing infrastructure 200 that has the fewest number of running applications as the information processing infrastructure 200 that will execute the application to be executed. The management infrastructure 100 selects, for example, the information processing infrastructure 200 that has the fewest number of running applications and whose free resource amount of the memory resource 240 is equal to or greater than the allocated resource amount as the information processing infrastructure 200 that will execute the application to be executed.

[0050] The management infrastructure 100 may instruct the selected information processing infrastructure 200 to deploy a virtualization infrastructure that executes the application to be executed. The information processing infrastructure 200 may deploy the virtualization infrastructure in accordance with the instruction from the management infrastructure 100 and execute the application to be executed.

[0051] Previously, the only memory resource available for running GPU applications was GPU memory. As a result, there has been a tendency for memory resources available for running GPU applications to be insufficient. However, recent technological innovations have enabled GPUs to access CPU main memory at high speed, making it possible to use both GPU memory and CPU main memory when running GPU applications. Furthermore, recent technological innovations have made it possible to connect GPU-equipped servers via high-speed, wide-bandwidth networks, making it possible to run a single GPU application using the GPU memory of multiple servers. These technological innovations are expected to increase the memory resources available for GPU applications.

[0052] However, when executing GPU applications incorporating the above-mentioned technological innovations, memory resource allocation becomes more complicated than conventional memory resource allocation. Currently, there is no established method for automatically and appropriately allocating memory resources when executing GPU applications incorporating the above-mentioned technological innovations. Therefore, it is desirable to automatically and appropriately allocate memory resources when executing GPU applications incorporating the above-mentioned technological innovations.

[0053] In contrast, in the system 10 according to the present embodiment, the management infrastructure 100 selects the information processing infrastructure 200 with the fewest running applications from among the multiple information processing infrastructures 200 managed by the management infrastructure 100 as the information processing infrastructure 200 that will execute the execution target application of the execution request, based on the allocated resource amount information, free memory resource amount information, and application count information included in the received execution request. By setting a selection condition of selecting the information processing infrastructure 200 with the fewest running applications, the management infrastructure 100 can automatically allocate memory resources when executing a GPU application by incorporating the above-described technological innovation. Then, by having the information processing infrastructure 200 with the fewest running applications execute the execution target application, the management infrastructure 100 can further reduce the allocation wait time, which is the wait time until resources are allocated to the execution target application. Furthermore, by having the target application executed on the information processing infrastructure 200 with the fewest number of running applications, the management infrastructure 100 can equalize the number of running applications among the multiple information processing infrastructures 200, thereby suppressing an increase in allocation wait time caused by a disparity in the number of running applications among the multiple information processing infrastructures 200. Reducing the allocation wait time reduces execution delays when the target application is executed, allowing the management infrastructure 100 to appropriately allocate memory resources when incorporating the above-described technological innovation to execute a GPU application. As a result, the system 10 according to this embodiment can automatically and appropriately allocate memory resources when incorporating the above-described technological innovation to execute a GPU application.

[0054] 2 to 9 are explanatory diagrams illustrating an example of the processing flow of the system 10. Here, it is assumed that the management infrastructure 100 manages three information processing infrastructures, namely, information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3, which have the same functions as the information processing infrastructure 200.

[0055] First, an example of the processing flow of the system 10 will be outlined with reference to Fig. 2. The management infrastructure 100 stores, for example, performance information indicating the performance of the information processing infrastructure 200. The performance information is, for example, data in a table format.

[0056] The performance information includes, for example, a platform ID that identifies the information processing platform 200. The performance information includes, for example, CPU memory performance information that indicates the performance of the CPU memory 242. The performance information includes, for example, GPU memory performance information that indicates the performance of the GPU memory 244. The performance information includes, for example, memory resource performance information that indicates the performance of the memory resource 240. In the example shown in FIG. 2, the management platform 100 stores the following performance information:

[0057] The information processing infrastructure 1 with the infrastructure ID "0001" has a CPU memory 242 performance of "200GB", a GPU memory 244 performance of "100GB", and a memory resource 240 performance of "200GB + 100GB = 300GB". The information processing infrastructure 2 with the infrastructure ID "0002" has a CPU memory 242 performance of "300GB", a GPU memory 244 performance of "100GB", and a memory resource 240 performance of "300GB + 100GB = 400GB". The information processing infrastructure 3 with the infrastructure ID "0003" has a CPU memory 242 performance of "100GB", a GPU memory 244 performance of "50GB", and a memory resource 240 performance of "100GB + 50GB = 150GB".

[0058] The management infrastructure 100 stores, for example, executed application information indicating an application currently being executed by the information processing infrastructure 200. The executed application information includes, for example, an application ID that identifies an application currently being executed by the information processing infrastructure 200. The executed application information includes, for example, allocated resource amount information that indicates the allocated resource amount of the memory resource 240 that is allocated to the application currently being executed by the information processing infrastructure 200. The executed application information is, for example, data in a table format.

[0059] For example, when the management infrastructure 100 receives a request to execute an application from a user 400, it selects an information processing infrastructure 200 that will execute the application to be executed from among a plurality of information processing infrastructures 200 in accordance with the following selection conditions 1, 2, and 3, and instructs the selected information processing infrastructure 200 to deploy a virtualization infrastructure that will execute the application to be executed. Of the following selection conditions 1, 2, and 3, selection condition 1 is the selection condition with the highest priority, selection condition 2 is the selection condition with the second highest priority, and selection condition 3 is the selection condition with the third highest priority.

[0060] Selection condition 1, which is the selection condition with the highest priority, is to select the information processing infrastructure 200 with the fewest number of running applications as the information processing infrastructure 200 that will execute the application to be executed. Selection condition 2, which is the selection condition with the second highest priority, is to select the information processing infrastructure 200 so that the number of information processing infrastructures 200 that will execute the application to be executed is the fewest. Selection condition 3, which is the selection condition with the third highest priority, is to select the information processing infrastructure 200 with the least amount of free resource in the memory resource 240 as the information processing infrastructure 200 that will execute the application to be executed.

[0061] By setting selection condition 1 for the information processing infrastructure 200 that will execute the application to be executed, the management infrastructure 100 can further reduce the allocation wait time. By setting selection condition 2 for the information processing infrastructure 200 that will execute the application to be executed, the management infrastructure 100 can further reduce the risk that execution of the application will be stopped due to a failure or the like that occurs in the information processing infrastructure 200. By setting selection condition 3 for the information processing infrastructure 200 that will execute the application to be executed, the management infrastructure 100 can further suppress the subdivision of free resources in the memory resource 240, and as a result, can promote the selection of information processing infrastructures 200 that will execute the application to be executed so that the number of information processing infrastructures 200 is reduced.

[0062] Next, an example of the processing flow of the system 10 will be described in detail with reference to Figures 3 to 9. Here, a state in which the information processing infrastructure 1, the information processing infrastructure 2, and the information processing infrastructure 3 are not executing any applications is taken as a starting state.

[0063] 3, the management infrastructure 100 receives an application execution request from the user 400. Here, the description will be continued assuming that the allocated resource amount indicated by the allocated resource amount information included in the execution request is 250 GB.

[0064] 3, the management infrastructure 100 selects from information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3 an information processing infrastructure that will execute the application to be executed for the execution request received in Step 1 shown in Fig. 3. For example, the management infrastructure 100 selects the information processing infrastructure with the fewest number of running applications in accordance with selection condition 1. In Step 2 shown in Fig. 3, since the number of running applications is zero for all of information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3, the management infrastructure 100 selects information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3 in accordance with selection condition 1.

[0065] Next, the management infrastructure 100 selects, in accordance with selection condition 2, from information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3 selected by selection condition 1, an information processing infrastructure that will execute the target application in the smallest number of information processing infrastructures. The management infrastructure 100 selects an information processing infrastructure that will execute the target application in the smallest number of information processing infrastructures, for example, by comparing the free resource amount and allocated resource amount of the memory resource 240 of each information processing infrastructure. In Step 2 shown in FIG. 3 , the free resource amount of the memory resource 240 of information processing infrastructure 1 is 300 GB, and the free resource amount of the memory resource 240 of information processing infrastructure 2 is 400 GB. Therefore, the free resource amount of the memory resource 240 of information processing infrastructure 1 and the free resource amount of the memory resource 240 of information processing infrastructure 2 are greater than the allocated resource amount of 250 GB. On the other hand, the free resource amount of the memory resource 240 of information processing infrastructure 3 is 150 GB, so the free resource amount of the memory resource 240 of information processing infrastructure 3 is less than the allocated resource amount of 250 GB. Therefore, when the information processing infrastructure 1 or the information processing infrastructure 2 executes the application to be executed, the application to be executed can be executed on the fewest number of information processing infrastructures, so the management infrastructure 100 selects the information processing infrastructure 1 and the information processing infrastructure 2 according to the selection condition 2.

[0066] Thereafter, the management infrastructure 100 selects, in accordance with selection condition 3, the information processing infrastructure with the smallest amount of free memory resources 240 from among information processing infrastructure 1 and information processing infrastructure 2 selected by selection condition 1 and selection condition 2, as the information processing infrastructure on which to execute the application to be executed. In Step 2 shown in Fig. 3, the free resource amount of the memory resources 240 of information processing infrastructure 1 is 300 GB, and the free resource amount of the memory resources 240 of information processing infrastructure 2 is 400 GB. Therefore, the management infrastructure 100 selects information processing infrastructure 1 with the smallest amount of free memory resources 240 as the information processing infrastructure on which to execute the application to be executed.

[0067] In Step 3 shown in Fig. 3, the management infrastructure 100 instructs the information processing infrastructure 1 selected in Step 2 shown in Fig. 3 to deploy a virtualization infrastructure that executes the application to be executed. In Step 4 shown in Fig. 3, the information processing infrastructure 1 deploys the virtualization infrastructure in accordance with the instruction from the management infrastructure 100 and executes the application to be executed.

[0068] The management infrastructure 100 may update the executed application information and the usage status information in response to an instruction to deploy a virtualization infrastructure that executes the application to be executed on an information processing infrastructure selected as an information processing infrastructure that executes the application to be executed in the execution request. The management infrastructure 100 updates the executed application information and the usage status information, for example, by assigning an application ID to the application to be executed. In response to an instruction to deploy the virtualization infrastructure to the information processing infrastructure 1 in Step 3 shown in FIG. 3, the management infrastructure 100 may update the executed application information and the usage status information as shown in FIG. 3. Here, the explanation will continue assuming that the management infrastructure 100 assigns the application ID "0001" to the application to be executed.

[0069] The management infrastructure 100 may update the executed application information to indicate that "250 GB" of memory resources 240 are allocated to the application with application ID "0001." The management infrastructure 100 may update the usage status information to indicate that, when the information processing infrastructure 1 with infrastructure ID "0001" executes the application with application ID "0001" using the memory resource 240 with "250 GB," the number of running applications on the information processing infrastructure 1 increases from "0" to "1," and the amount of free resource in the memory resource 240 of the information processing infrastructure 1 decreases from "300 GB" to "50 GB."

[0070] 4, the management infrastructure 100 receives an application execution request from the user 400. Here, the explanation will be continued assuming that the allocated resource amount indicated by the allocated resource amount information included in the execution request is 150 GB.

[0071] 4, the management infrastructure 100 selects from information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3 an information processing infrastructure that will execute the application for which the execution request was received in Step 5 shown in Fig. 4 is to be executed. For example, the management infrastructure 100 selects the information processing infrastructure with the fewest number of running applications in accordance with selection condition 1. In Step 6 shown in Fig. 4, the number of running applications on information processing infrastructure 2 and information processing infrastructure 3 is 0, and the number of running applications on information processing infrastructure 1 is 1, so the management infrastructure 100 selects information processing infrastructure 2 and information processing infrastructure 3 in accordance with selection condition 1.

[0072] Next, the management infrastructure 100 selects, in accordance with selection condition 2, from the information processing infrastructure 2 and the information processing infrastructure 3 selected according to selection condition 1, an information processing infrastructure that will execute the target application in the fewest number of information processing infrastructures. In Step 6 shown in FIG. 4 , the free resource amount of the memory resource 240 of the information processing infrastructure 2 is 400 GB, and the free resource amount of the memory resource 240 of the information processing infrastructure 3 is 150 GB, so the free resource amount of the memory resource 240 of the information processing infrastructure 2 and the free resource amount of the memory resource 240 of the information processing infrastructure 3 are equal to or greater than the allocated resource amount of 150 GB. Therefore, when the information processing infrastructure 2 or the information processing infrastructure 3 executes the target application, the target application can be executed on the fewest number of information processing infrastructures, so the management infrastructure 100 selects the information processing infrastructure 2 and the information processing infrastructure 3 according to selection condition 2.

[0073] Thereafter, the management infrastructure 100 selects, in accordance with selection condition 3, the information processing infrastructure with the smallest amount of free memory resources 240 from among information processing infrastructures 2 and 3 selected by selection condition 1 and selection condition 2, as the information processing infrastructure on which to execute the application to be executed. In Step 6 shown in Fig. 4, the free resource amount of the memory resources 240 of information processing infrastructure 2 is 400 GB, and the free resource amount of the memory resources 240 of information processing infrastructure 3 is 150 GB. Therefore, the management infrastructure 100 selects information processing infrastructure 3 with the smallest amount of free memory resources 240 as the information processing infrastructure on which to execute the application to be executed.

[0074] In Step 7 shown in Fig. 4, the management infrastructure 100 instructs the information processing infrastructure 3 selected in Step 6 shown in Fig. 4 to deploy a virtualization infrastructure that executes the application to be executed. In Step 8 shown in Fig. 4, the information processing infrastructure 3 deploys the virtualization infrastructure in accordance with the instruction from the management infrastructure 100 and executes the application to be executed.

[0075] In response to instructing the information processing infrastructure 3 to deploy a virtualization infrastructure that executes the application to be executed in Step 7 shown in Fig. 4, the management infrastructure 100 may update the executed application information and usage status information as shown in Fig. 4. Here, the explanation will continue assuming that the management infrastructure 100 has assigned the application ID "0002" to the application to be executed.

[0076] The management infrastructure 100 may update the executed application information to indicate that "150 GB" of memory resources 240 are allocated to the application with application ID "0002." The management infrastructure 100 may update the usage status information to indicate that, when the information processing infrastructure 3 with infrastructure ID "0003" uses the memory resource 240 with "150 GB" to execute the application with application ID "0002," the number of running applications on the information processing infrastructure 3 increases from "0" to "1," and the amount of free resource in the memory resource 240 of the information processing infrastructure 3 decreases from "150 GB" to "0 GB."

[0077] 5, the management infrastructure 100 receives an application execution request from the user 400. Here, the explanation will be continued assuming that the allocated resource amount indicated by the allocated resource amount information included in the execution request is 300 GB.

[0078] 5, the management infrastructure 100 selects from information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3 an information processing infrastructure that will execute the application for which the execution request was received in Step 9 shown in Fig. 5 is to be executed. The management infrastructure 100 selects the information processing infrastructure with the fewest number of running applications, for example, in accordance with selection condition 1. In Step 10 shown in Fig. 5, the number of running applications on information processing infrastructure 2 is 0, and the number of running applications on information processing infrastructure 1 and information processing infrastructure 3 is 1, so the management infrastructure 100 selects information processing infrastructure 2 in accordance with selection condition 1.

[0079] Next, when selecting the information processing infrastructure 2 selected by selection condition 1 as the information processing infrastructure on which to execute the application to be executed in accordance with selection condition 2, the management infrastructure 100 selects an information processing infrastructure so that the number of information processing infrastructures on which to execute the application to be executed is the smallest. In Step 10 shown in Fig. 5, the amount of free resource in the memory resource 240 of the information processing infrastructure 2 is 400 GB, which is more than the allocated resource amount of 300 GB, so the management infrastructure 100 determines that the information processing infrastructure 2 can execute the application to be executed alone. Therefore, when the information processing infrastructure 2 executes the application to be executed alone, the application to be executed can be executed on the smallest number of information processing infrastructures, so the management infrastructure 100 selects the information processing infrastructure 2 as the information processing infrastructure on which to execute the application to be executed.

[0080] In Step 11 shown in Fig. 5, the management infrastructure 100 instructs the information processing infrastructure 2 selected in Step 10 shown in Fig. 5 to deploy a virtualization infrastructure that executes the application to be executed. In Step 12 shown in Fig. 5, the information processing infrastructure 2 deploys the virtualization infrastructure in accordance with the instruction from the management infrastructure 100 and executes the application to be executed.

[0081] In response to instructing the information processing infrastructure 2 to deploy a virtualization infrastructure that executes the application to be executed in Step 11 shown in Fig. 5, the management infrastructure 100 may update the executed application information and usage status information as shown in Fig. 5. Here, the explanation will continue assuming that the management infrastructure 100 has assigned the application ID "0003" to the application to be executed.

[0082] The management infrastructure 100 may update the executed application information to indicate that "300 GB" of memory resources 240 are allocated to the application with application ID "0003." The management infrastructure 100 may update the usage information to indicate that, when the information processing infrastructure 2 with infrastructure ID "0002" uses the memory resource 240 with "300 GB" to execute the application with application ID "0003," the number of running applications on the information processing infrastructure 2 increases from "0" to "1," and the amount of free resource in the memory resource 240 of the information processing infrastructure 2 decreases from "400 GB" to "100 GB."

[0083] 6, the management infrastructure 100 receives an application execution request from the user 400. Here, the description will be continued assuming that the allocated resource amount indicated by the allocated resource amount information included in the execution request is 150 GB.

[0084] 6, the management infrastructure 100 selects from information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3 an information processing infrastructure that will execute the application to be executed for the execution request received in Step 13 shown in Fig. 6. For example, the management infrastructure 100 selects the information processing infrastructure with the fewest number of running applications in accordance with selection condition 1. In Step 14 shown in Fig. 6, since the number of running applications on each of information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3 is 1, the management infrastructure 100 selects information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3 in accordance with selection condition 1.

[0085] Next, the management infrastructure 100 selects, in accordance with selection condition 2, from information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3 selected by selection condition 1, an information processing infrastructure that minimizes the number of information processing infrastructures that will execute the target application. In Step 14 shown in FIG. 6, the free resource amount of the memory resource 240 of information processing infrastructure 1 is 50 GB, the free resource amount of the memory resource 240 of information processing infrastructure 2 is 100 GB, and the free resource amount of the memory resource 240 of information processing infrastructure 3 is 0 GB. Therefore, the free resource amount of the memory resource 240 of information processing infrastructure 1, the free resource amount of the memory resource 240 of information processing infrastructure 2, and the free resource amount of the memory resource 240 of information processing infrastructure 3 are all less than the allocated resource amount of 150 GB. Therefore, the management infrastructure 100 determines that none of information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3 can independently execute the target application.

[0086] When there are multiple information processing infrastructures selected according to selection condition 1, and the management infrastructure 100 determines that the free resource amount of the memory resources 240 of each of the multiple information processing infrastructures selected according to selection condition 1 is less than the allocated resource amount, the management infrastructure 100 may determine whether the total free resource amount of the memory resources 240 of the information processing infrastructures selected according to selection condition 1 is equal to or greater than the allocated resource amount. In Step 14 shown in FIG. 6 , the total of the free resource amount of the memory resources 240 of information processing infrastructure 1, the free resource amount of the memory resources 240 of information processing infrastructure 2, and the free resource amount of the memory resources 240 of information processing infrastructure 3 is 150 GB. Therefore, the management infrastructure 100 determines that the total of the free resource amount of the memory resources 240 of information processing infrastructure 1, the free resource amount of the memory resources 240 of information processing infrastructure 2, and the free resource amount of the memory resources 240 of information processing infrastructure 3 is equal to or greater than the allocated resource amount of 150 GB.

[0087] When the management infrastructure 100 determines that the total free resource amount of the memory resources 240 of the information processing infrastructures selected according to selection condition 1 is the allocated resource amount, the management infrastructure 100 selects at least two information processing infrastructures as the information processing infrastructures on which the application to be executed is to be executed, such that the total free resource amount of the memory resources 240 is equal to or greater than the allocated resource amount and the number of information processing infrastructures is minimized. In Step 14 shown in FIG. 6 , when two information processing infrastructures, information processing infrastructure 1 and information processing infrastructure 2, are selected, the total free resource amount of the memory resources 240 of information processing infrastructure 1 and information processing infrastructure 2 is 150 GB. Therefore, the total free resource amount of the memory resources 240 of information processing infrastructure 1 and information processing infrastructure 2 is equal to or greater than the allocated resource amount of 150 GB. Therefore, when information processing infrastructure 1 and information processing infrastructure 2 execute the application to be executed, the application to be executed can be executed on the fewest number of information processing infrastructures. Therefore, the management infrastructure 100 selects information processing infrastructure 1 and information processing infrastructure 2 as the information processing infrastructures on which the application to be executed is to be executed.

[0088] In Step 15 shown in Fig. 6, the management infrastructure 100 instructs the information processing infrastructure 1 and the information processing infrastructure 2 selected in Step 14 shown in Fig. 6 to deploy a virtualization infrastructure that executes the application to be executed. In Step 16 shown in Fig. 6, the information processing infrastructure 1 and the information processing infrastructure 2 deploy the virtualization infrastructure in accordance with the instruction from the management infrastructure 100 and execute the application to be executed.

[0089] In response to instructing the information processing infrastructure 1 and the information processing infrastructure 2 to deploy a virtualization infrastructure that executes the application to be executed in Step 15 shown in Fig. 6, the management infrastructure 100 may update the executed application information and usage status information as shown in Fig. 6. Here, the explanation will continue assuming that the management infrastructure 100 has assigned the application ID "0004" to the application to be executed.

[0090] The management infrastructure 100 may update the executed application information to indicate that "150 GB" of memory resources 240 are allocated to the application having the application ID "0004." The management infrastructure 100 may update the usage information to indicate that, when the information processing infrastructure 1 having the infrastructure ID "0001" uses the memory resource 240 of "50 GB" and the information processing infrastructure 2 having the infrastructure ID "0002" uses the memory resource 240 of "100 GB" to execute the application having the application ID "0004," the number of running applications on the information processing infrastructure 1 increases from "1" to "2" and the amount of free resource in the memory resource 240 of the information processing infrastructure 1 decreases from "100 GB" to "0 GB," and the number of running applications on the information processing infrastructure 2 increases from "1" to "2" and the amount of free resource in the memory resource 240 of the information processing infrastructure 2 decreases from "50 GB" to "0 GB."

[0091] 7, the management infrastructure 100 receives a request to suspend an application having an application ID of "0004" from the user 400. In Step 18 shown in Fig. 7, the management infrastructure 100 instructs the information processing infrastructure 1 and the information processing infrastructure 2, which are executing the application to be suspended in response to the suspension request received in Step 17 shown in Fig. 7, to suspend the application to be suspended. In Step 19 shown in Fig. 7, the information processing infrastructure 1 and the information processing infrastructure 2 suspend the application to be suspended in accordance with the instruction from the management infrastructure 100.

[0092] When an application is suspended, the application may be resumed after the suspension. Therefore, when an application is suspended, the management infrastructure 100 does not need to update the running application information and the usage status information as shown in FIG.

[0093] In Step 20 shown in Fig. 8, the management infrastructure 100 receives a request to terminate an application having an application ID of "0002" from the user 400. In Step 21 shown in Fig. 8, the management infrastructure 100 instructs the information processing infrastructure 3, which is executing the application to be terminated in accordance with the termination request received in Step 20 shown in Fig. 8, to terminate the application to be terminated. In Step 22 shown in Fig. 8, the information processing infrastructure 3 terminates the application to be terminated in accordance with the instruction from the management infrastructure 100.

[0094] When an application is terminated, the application execution is not resumed after the application is terminated. Therefore, when an application is terminated, the management infrastructure 100 may update the running application information and the usage status information as shown in FIG.

[0095] The management infrastructure 100 may update the executed application information to delete information about the application with application ID "0002." The management infrastructure 100 may update the usage status information to indicate that the number of running applications on the information processing infrastructure 3 has decreased from "1" to "0" and the amount of free resource in the memory resource 240 of the information processing infrastructure 3 has increased from "0 GB" to "150 GB" as a result of the information processing infrastructure 3 with infrastructure ID "0003" ending execution of the application with application ID "0002."

[0096] 9, the management infrastructure 100 receives a request to resume an application having an application ID of "0004" from the user 400. In Step 24 shown in FIG. 9, the management infrastructure 100 selects from among information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3 an information processing infrastructure that executes the application to be resumed in the resume request received in Step 23 shown in FIG. 9. The management infrastructure 100 selects the information processing infrastructure with the fewest number of running applications, for example, in accordance with selection condition 1. In Step 24 shown in FIG. 9, the number of running applications on information processing infrastructure 3 is 0, and the number of running applications on information processing infrastructure 1 and information processing infrastructure 2 is 1, so the management infrastructure 100 selects information processing infrastructure 3 in accordance with selection condition 1.

[0097] Next, when selecting the information processing infrastructure 3 selected by selection condition 1 as the information processing infrastructure on which to execute the application to be resumed in accordance with selection condition 2, the management infrastructure 100 selects the information processing infrastructures so that the number of information processing infrastructures on which to execute the application to be resumed is the smallest. In Step 24 shown in Fig. 9 , the amount of free resource in the memory resource 240 of the information processing infrastructure 3 is 150 GB, which is equal to or greater than 150 GB of the allocated resource amount of the application to be resumed, so the management infrastructure 100 determines that the information processing infrastructure 3 can execute the application to be resumed alone. Therefore, when the information processing infrastructure 3 executes the application to be resumed alone, the application to be resumed can be executed with the smallest number of information processing infrastructures, so the management infrastructure 100 selects the information processing infrastructure 3 as the information processing infrastructure on which to execute the application to be resumed.

[0098] 9, the management infrastructure 100 instructs the information processing infrastructure 1 and the information processing infrastructure 2 to migrate the virtualization infrastructure that executes the application to be resumed to the information processing infrastructure 3 selected in Step 24 shown in Fig. 9. In Step 26 shown in Fig. 9, the information processing infrastructure 1 and the information processing infrastructure 2 change the virtualization infrastructure to the information processing infrastructure 3 in accordance with the instruction from the management infrastructure 100. Thereafter, the information processing infrastructure 3 executes the application to be resumed.

[0099] The management infrastructure 100 may update the usage information as shown in Figure 9 in response to instructing the information processing infrastructure 1 and the information processing infrastructure 2 in Step 25 shown in Figure 9 to migrate the virtualization infrastructure running the application to be resumed to the information processing infrastructure 3. The management infrastructure 100 may update the usage information to indicate that, by migrating the virtualization infrastructures on which the information processing infrastructure 1 with infrastructure ID "0001" and the information processing infrastructure 2 with infrastructure ID "0002" execute the application with application ID "0004" to the information processing infrastructure 3, the number of running applications on the information processing infrastructure 1 decreases from "2" to "1" and the amount of free resources in the memory resources 240 of the information processing infrastructure 1 increases from "0GB" to "50GB", the number of running applications on the information processing infrastructure 2 decreases from "2" to "1" and the amount of free resources in the memory resources 240 of the information processing infrastructure 2 increases from "0GB" to "100GB", and the number of running applications on the information processing infrastructure 3 increases from "0" to "1" and the amount of free resources in the memory resources 240 of the information processing infrastructure 3 decreases from "150GB" to "0GB".

[0100] 10 shows an example of the functional configuration of the management infrastructure 100. The management infrastructure 100 includes a storage unit 102, an acquisition unit 104, a reception unit 106, a selection unit 108, and an instruction unit 110. Note that it is not essential for the management infrastructure 100 to include all of these components.

[0101] The storage unit 102 stores various types of information. For example, the storage unit 102 stores performance information of each of the multiple information processing infrastructures 200. For example, the storage unit 102 associates an infrastructure ID with CPU memory performance information, GPU memory performance information, and memory resource performance information, and stores the information as performance information of each information processing infrastructure 200.

[0102] The storage unit 102 stores, for example, the execution application information of each information processing infrastructure 200. The storage unit 102 stores, for example, an application ID and allocated resource amount information in association with each other as the execution application information of each information processing infrastructure 200.

[0103] The storage unit 102 stores, for example, usage status information of each information processing infrastructure 200. The storage unit 102 associates, for example, the infrastructure ID of each information processing infrastructure 200, information on the number of applications of each information processing infrastructure 200, the application ID of an application running on each information processing infrastructure 200, information on the amount of used memory resources of each information processing infrastructure 200, and information on the amount of free memory resources of each information processing infrastructure 200, and stores the information as usage status information of each information processing infrastructure 200.

[0104] The memory resource usage information of each information processing infrastructure 200 includes, for example, GPU memory resource usage information indicating the amount of resources used by each information processing infrastructure 200 using the GPU memory 244. The memory resource usage information of each information processing infrastructure 200 includes, for example, CPU memory resource usage information indicating the amount of resources used by each information processing infrastructure 200 using the CPU memory 242.

[0105] The free memory resource amount information of each information processing infrastructure 200 includes, for example, free GPU memory resource amount information indicating the free resource amount of the GPU memory 244 of each information processing infrastructure 200. The free memory resource amount information of each information processing infrastructure 200 includes, for example, free CPU memory resource amount information indicating the free resource amount of the CPU memory 242 of each information processing infrastructure 200.

[0106] The acquiring unit 104 acquires various types of information and may store the acquired information in the storage unit 102.

[0107] The acquisition unit 104 acquires various pieces of information from, for example, the information processing infrastructure 200. The acquisition unit 104 acquires various pieces of information from, for example, each of the information processing infrastructures 200.

[0108] The acquisition unit 104 acquires various information via, for example, a core network. The acquisition unit 104 may acquire various information via the Internet.

[0109] The acquiring unit 104 acquires, for example, information on the amount of free memory resources of each information processing infrastructure 200. The acquiring unit 104 acquires, for example, information on the number of applications of each information processing infrastructure 200. The acquiring unit 104 acquires, for example, information on the usage status of each information processing infrastructure 200.

[0110] The reception unit 106 receives various requests. The reception unit 106 receives various requests, for example, by receiving the various requests. The reception unit 106 receives various requests, for example, via a core network. The reception unit 106 receives various requests, for example, via the Internet. The reception unit 106 receives various requests, for example, from a communication device owned by the user 400. The reception unit 106 may receive various requests via an input unit included in the management infrastructure 100.

[0111] The reception unit 106 receives, for example, an execution request for an application. The execution request includes, for example, allocated resource amount information for the application to be executed. The execution request includes, for example, processing content information indicating processing content for the application to be executed. The processing content for the application to be executed indicates, for example, that the processing speed when the GPU memory 244 is used is faster than the processing speed when the CPU memory 242 is used. The processing content for the application to be executed indicates, for example, that the processing speed when the CPU memory 242 is used is faster than the processing speed when the GPU memory 244 is used.

[0112] The receiving unit 106 receives, for example, a request to suspend an application. The receiving unit 106 receives, for example, a request to terminate an application. The receiving unit 106 may also receive a request to resume an application.

[0113] The selection unit 108 selects an information processing infrastructure 200 from among a plurality of information processing infrastructures 200 that are managed by the management infrastructure 100. For example, the selection unit 108 selects an information processing infrastructure 200 when the reception unit 106 receives various requests.

[0114] The selection unit 108 selects the information processing infrastructure 200 based on, for example, various information stored in the storage unit 102. The selection unit 108 selects the information processing infrastructure 200 by ranking the multiple information processing infrastructures 200 in descending order of the number of applications currently running based on, for example, application count information stored in the storage unit 102.

[0115] For example, when the receiving unit 106 receives an execution request for an application, the selecting unit 108 selects an information processing infrastructure 200 based on the allocated resource amount information included in the execution request and the memory resource amount information and application count information stored in the storage unit 102. For example, the selecting unit 108 selects, from among the multiple information processing infrastructures 200, the information processing infrastructure 200 with the fewest number of running applications as the information processing infrastructure 200 that will execute the application to be executed.

[0116] The selection unit 108 selects the information processing infrastructure 200 that will execute the application to be executed by, for example, determining whether the amount of free resource in the memory resources 240 of the information processing infrastructure 200 with the fewest number of running applications is equal to or greater than the allocated resource amount indicated by the allocated resource amount information included in the execution request. For example, when the selection unit 108 determines that the amount of free resource in the memory resources 240 of the information processing infrastructure 200 with the fewest number of running applications is equal to or greater than the allocated resource amount, the selection unit 108 selects the information processing infrastructure 200 with the fewest number of running applications as the information processing infrastructure 200 that will execute the application to be executed. In this case, the selection unit 108 selects one information processing infrastructure 200 as the information processing infrastructure 200 that will execute the application to be executed. For example, when there are multiple information processing infrastructures 200 with the fewest number of running applications, and the selection unit 108 determines that the amount of free resource in the memory resources 240 of at least two of the multiple information processing infrastructures 200 with the fewest number of running applications is equal to or greater than the allocated resource amount, the selection unit 108 selects the information processing infrastructure 200 with the least amount of free resource in the memory resources 240 from the at least two information processing infrastructures 200 as the information processing infrastructure 200 that will execute the application to be executed.

[0117] On the other hand, when the selection unit 108 determines that the amount of available memory resources 240 of the information processing infrastructure 200 with the fewest number of running applications is less than the amount of allocated resources, the selection unit 108 selects, as the information processing infrastructure 200 that will execute the application to be executed, multiple information processing infrastructures 200 including the information processing infrastructure 200 with the fewest number of running applications. For example, when the selection unit 108 determines that the amount of available memory resources 240 of the information processing infrastructure 200 with the fewest number of running applications is less than the amount of allocated resources, the selection unit 108 selects, as the information processing infrastructures 200 that will execute the application to be executed, the information processing infrastructure 200 with the fewest number of running applications and the information processing infrastructure 200 with the second fewest number of running applications.

[0118] When there are multiple information processing infrastructures 200 with the fewest number of running applications and the selection unit 108 determines that the amount of free memory resources in each of the information processing infrastructures 200 with the fewest number of running applications is less than the allocated resource amount, the selection unit 108 may select the information processing infrastructures 200 that will execute the application to be executed by determining whether the total amount of free memory resources in the memory resources 240 of the multiple information processing infrastructures 200 with the fewest number of running applications is equal to or greater than the allocated resource amount. For example, when the selection unit 108 determines that the total amount of free memory resources in the memory resources 240 of the multiple information processing infrastructures 200 with the fewest number of running applications is equal to or greater than the allocated resource amount, the selection unit 108 selects at least two of the multiple information processing infrastructures 200 with the fewest number of running applications as the information processing infrastructures 200 that will execute the application to be executed, such that the total amount of free memory resources in the memory resources 240 is equal to or greater than the allocated resource amount. In this case, the selection unit 108 may select the at least two information processing infrastructures 200 such that the total free resource amount of the memory resources 240 is equal to or greater than the allocated resource amount and the number of information processing infrastructures 200 is the smallest. For example, when there are multiple combinations of information processing infrastructures 200 in which the total free resource amount of the memory resources 240 is equal to or greater than the allocated resource amount and the number of information processing infrastructures 200 is the smallest, the selection unit 108 selects, as the at least two information processing infrastructures 200, the combination of information processing infrastructures 200 in which the free resource amount of the memory resources 240 is the smallest from among the combinations of information processing infrastructures 200. On the other hand, when the selection unit 108 determines that the total free resource amount of the memory resources 240 of the multiple information processing infrastructures 200 in which the fewest number of applications are running is less than the allocated resource amount, the selection unit 108 selects, as the information processing infrastructures 200 that will execute the application to be executed, the multiple information processing infrastructures 200 in which the fewest number of applications are running and the information processing infrastructure 200 with the second-smallest number of applications running.

[0119] When selecting the information processing infrastructure 200 with the second fewest number of running applications as the information processing infrastructure 200 on which the application to be executed is to be executed, the selection unit 108 may select the information processing infrastructure 200 on which the application to be executed is to be executed by determining whether the sum of the amount of free resource of the memory resources 240 of the information processing infrastructure 200 with the fewest number of running applications and the amount of free resource of the memory resources 240 of the information processing infrastructure 200 with the second fewest number of running applications is equal to or greater than the amount of allocated resource. For example, when the selection unit 108 determines that the sum of the amount of free resource of the memory resources 240 of the information processing infrastructure 200 with the fewest number of running applications and the amount of free resource of the memory resources 240 of the information processing infrastructure 200 with the second fewest number of running applications is equal to or greater than the amount of allocated resource, the selection unit 108 selects the information processing infrastructure 200 with the fewest number of running applications and the information processing infrastructure 200 with the second fewest number of running applications as the information processing infrastructures 200 on which the application to be executed is to be executed, such that the sum of the amount of free resource of the memory resources 240 is equal to or greater than the amount of allocated resource.

[0120] On the other hand, when the selection unit 108 determines that the sum of the free resource amounts of the memory resources 240 of the information processing infrastructure 200 with the fewest number of running applications and the free resource amount of the memory resources 240 of the information processing infrastructure 200 with the second fewest number of running applications is less than the allocated resource amount, the selection unit 108 may further select, in ascending order of the number of running applications, information processing infrastructures 200 with the third fewest or fewer running applications as the information processing infrastructures 200 that will execute the application to be executed, until the sum of the free resource amounts of the memory resources 240 of the information processing infrastructures 200 becomes equal to or greater than the allocated resource amount. When the selection unit 108 determines that the sum of the free resource amounts of all information processing infrastructures 200 managed by the management infrastructure 100 is less than the allocated resource amount, the selection unit 108 may determine that the application to be executed cannot be executed.

[0121] For example, when the receiving unit 106 receives an execution request for an application, the selecting unit 108 selects, from the multiple information processing infrastructures 200, the information processing infrastructure 200 with the fewest number of running applications as the information processing infrastructure 200 that will execute the application to be executed, based on the allocated resource amount information included in the execution request, and the free GPU memory resource amount information, CPU memory resource amount information, and application count information included in the free memory resource amount information stored in the storage unit 102. For example, when there are multiple information processing infrastructures 200 with the fewest number of running applications and the free resource amount of the memory resources 240 of at least two of the multiple information processing infrastructures 200 with the fewest number of running applications is equal to or greater than the allocated resource amount, the selecting unit 108 selects, from the at least two information processing infrastructures 200, as the information processing infrastructure 200 that will execute the application to be executed, the information processing infrastructure 200 in which at least one of the free resource amount of the GPU memory 244 and the free resource amount of the CPU memory 242 is equal to or greater than the allocated resource amount. For example, the selection unit 108 selects, from the at least two information processing infrastructures 200, the information processing infrastructure 200 on which the application to be executed is to be executed, the information processing infrastructure 200 on which the amount of free resources in the GPU memory 244 is equal to or greater than the amount of allocated resources. The selection unit 108 may also select, from the at least two information processing infrastructures 200, the information processing infrastructure 200 on which the application to be executed is to be executed, the information processing infrastructure 200 on which the amount of free resources in the CPU memory 242 is equal to or greater than the amount of allocated resources.

[0122] The selection unit 108, for example, further based on the processing content information included in the execution request, selects the information processing infrastructure 200 with the fewest number of running applications from the multiple information processing infrastructures 200 as the information processing infrastructure 200 that will execute the application to be executed. For example, when there are multiple information processing infrastructures 200 with the fewest number of running applications and the amount of free resource of the memory resources 240 of at least two of the multiple information processing infrastructures 200 with the fewest number of running applications is equal to or greater than the allocated resource amount, the selection unit 108 selects, from the at least two information processing infrastructures 200, the information processing infrastructure 200 whose amount of free resource of the GPU memory 244 is equal to or greater than the allocated resource amount as the information processing infrastructure 200 that will execute the application to be executed whose processing speed when the application to be executed is executed using the GPU memory 244 is faster than the processing speed when the application to be executed using the CPU memory 242. For example, when there are multiple information processing infrastructures 200 with the fewest number of running applications, and the amount of free resource in the memory resources 240 of at least two of the multiple information processing infrastructures 200 with the fewest number of running applications is equal to or greater than the allocated resource amount, the selection unit 108 selects, from the at least two information processing infrastructures 200, the information processing infrastructure 200 whose amount of free resource in the CPU memory 242 is equal to or greater than the allocated resource amount, as the information processing infrastructure 200 that will execute the application to be executed, the processing speed of which when the application to be executed is executed using the CPU memory 242 is faster than the processing speed when the application to be executed is executed using the GPU memory 244.

[0123] For example, when the receiving unit 106 receives a request to resume an application, the selecting unit 108 selects an information processing infrastructure 200 that executes the application to be resumed in the resume request from among the plurality of information processing infrastructures 200. The selecting unit 108 may select the information processing infrastructure 200 that executes the application to be resumed in the resume request in the same manner as when selecting the information processing infrastructure 200 that executes the application to be executed in the execution request.

[0124] The instruction unit 110 instructs the information processing infrastructure 200 to execute various processes. The management infrastructure 100 instructs the information processing infrastructure 200 to execute various processes, for example, via a core network. The management infrastructure 100 may instruct the information processing infrastructure 200 to execute various processes via the Internet.

[0125] For example, when the receiving unit 106 receives a request to execute an application, the instruction unit 110 instructs the information processing infrastructure 200 selected by the selection unit 108 to deploy a virtualization infrastructure that executes the application to be executed. For example, when the receiving unit 106 receives a request to suspend an application, the instruction unit 110 instructs the information processing infrastructure 200 currently executing the application to be suspended in the suspension request to suspend the application to be suspended. For example, when the receiving unit 106 receives a request to terminate an application, the instruction unit 110 instructs the information processing infrastructure 200 currently executing the application to be terminated in the termination request to terminate the application to be terminated. For example, when the receiving unit 106 receives a request to resume an application, the instruction unit 110 instructs the information processing infrastructure 200 that was executing the application to be resumed in the resume request before it was suspended to resume the application. For example, when the receiving unit 106 receives a request to resume an application, the instruction unit 110 instructs the information processing infrastructure 200 that was executing the application to be resumed in the resume request before it was interrupted to migrate the virtualization infrastructure that executes the application to be resumed to the information processing infrastructure 200 selected by the selection unit 108.

[0126] The instruction unit 110 updates various pieces of information stored in the storage unit 102, for example, in response to an instruction to the information processing infrastructure 200 to execute various processes. The instruction unit 110 updates the executed application information and the usage status information stored in the storage unit 102, for example, in response to an instruction to the information processing infrastructure 200 to deploy a virtualization infrastructure that executes an application that is the target of execution of an execution request. The instruction unit 110 updates the executed application information and the usage status information stored in the storage unit 102, for example, in response to an instruction to the information processing infrastructure 200 to terminate an application that is the target of termination of a termination request. The instruction unit 110 updates the usage status information stored in the storage unit 102, for example, in response to an instruction to the information processing infrastructure 200 to migrate a virtualization infrastructure that executes an application that is the target of resume of a resume request to the information processing infrastructure 200 selected by the selection unit 108.

[0127] 11 shows an example of the functional configuration of the information processing infrastructure 200. The information processing infrastructure 200 includes a reception unit 202, an execution unit 204, and a notification unit 208. Note that it is not essential that the information processing infrastructure 200 include all of these components.

[0128] The reception unit 202 receives a request to execute various processes. The reception unit 202 receives a request to execute various processes from the management board 100, for example.

[0129] The reception unit 202 receives instructions to execute various processes via, for example, a core network. The reception unit 202 may also receive instructions to execute various processes via the Internet.

[0130] The receiving unit 202 receives, for example, an instruction to deploy a virtualization platform that executes an application to be executed in an application execution request. The receiving unit 202 receives, for example, an instruction to suspend an application to be suspended in a suspension request. The receiving unit 202 receives, for example, an instruction to terminate an application to be terminated in a termination request. The receiving unit 202 receives, for example, an instruction to resume an application to be resumed in a resume request. The receiving unit 202 receives, for example, an instruction to migrate the virtualization platform that executes an application to be resumed in a resume request to another information processing platform 200.

[0131] The execution unit 204 executes various processes. For example, when the reception unit 202 receives an instruction to execute various processes, the execution unit 204 executes various processes.

[0132] For example, when the receiving unit 202 receives an instruction to deploy a virtualization platform that executes the application to be executed in an application execution request, the executing unit 204 deploys the virtualization platform that executes the application to be executed. For example, when the receiving unit 202 receives an instruction to suspend the application to be suspended in a suspension request, the executing unit 204 suspends the application to be suspended. For example, when the receiving unit 202 receives an instruction to terminate the application to be terminated in a termination request, the executing unit 204 terminates the application to be terminated. For example, when the receiving unit 202 receives an instruction to resume the application to be resumed in a resume request, the executing unit 204 resumes the application to be resumed. For example, when the receiving unit 202 receives an instruction to migrate the virtualization platform that executes the application to be resumed in the resume request to another information processing infrastructure 200, the receiving unit 202 migrates the virtualization platform to the other information processing infrastructure 200.

[0133] The execution unit 204 includes, for example, a RAN control function 205 and an application execution function 207. The RAN control function 205 and the application execution function 207 may use the same computational resource 220. The RAN control function 205 and the application execution function 207 may use the same memory resource 240.

[0134] The RAN control function 205 controls the functions of the RAN 300. The RAN control function 205 controls the functions of the RAN 300, for example, by deploying a virtualization infrastructure that executes applications for controlling the functions of the RAN 300.

[0135] The application execution function 207 executes other applications different from the applications for controlling the functions of the RAN 300. The application execution function 207 executes other applications, for example, by deploying a virtualization infrastructure for executing the other applications.

[0136] The other application may be, for example, an AI application. The other application may be, for example, a non-RAN_AI application.

[0137] The notification unit 208 notifies various types of information. The notification unit 208 notifies the management board 100 of various types of information, for example.

[0138] The notification unit 208 notifies various pieces of information periodically, for example, or in response to the reception unit 202 receiving a request to execute various processes.

[0139] The notification unit 208 notifies various pieces of information via, for example, a core network. The notification unit 208 may also notify various pieces of information via the Internet.

[0140] The notification unit 208, for example, notifies performance information of the information processing infrastructure 200. The notification unit 208, for example, notifies information about the amount of free memory resources of the information processing infrastructure 200. The notification unit 208, for example, notifies information about the number of applications of the information processing infrastructure 200. The notification unit 208, for example, notifies usage status information of the information processing infrastructure 200.

[0141] 12 and 13 are explanatory diagrams illustrating an example of the processing flow of the management substrate 100. Here, a state in which the management substrate 100 is not accepting an application execution request is taken as the start state.

[0142] 12, the receiving unit 106 receives a request to execute an application. In S104 shown in FIG. 12, the acquiring unit 104 acquires usage status information of each of the multiple information processing infrastructures 200.

[0143] 12, the selection unit 108 ranks the multiple information processing infrastructures 200 in descending order of the number of applications currently running, based on the application count information included in the usage status information acquired by the acquisition unit 104 in S104 shown in Fig. 12. The selection unit 108 assigns the highest rank to the information processing infrastructure 200 with the fewest number of applications currently running, the second highest rank to the information processing infrastructure 200 with the second fewest number of applications currently running, ..., and assigns the nth highest rank to the information processing infrastructure 200 with the nth fewest number of applications currently running, where n is a natural number.

[0144] In S108 shown in Fig. 12, the selection unit 108 determines whether the information processing infrastructure 200 that was assigned the highest rank in S106 shown in Fig. 12 can independently execute the application to be executed for the execution request received by the reception unit 106 in S102 shown in Fig. 12. The selection unit 108 determines whether the information processing infrastructure 200 with the highest rank can independently execute the application to be executed by determining, for example, whether the amount of free resource in the memory resource 240 of the information processing infrastructure 200 with the highest rank is equal to or greater than the allocated resource amount indicated by the allocated resource amount information included in the execution request. For example, if the selection unit 108 determines that the amount of free resource in the memory resource 240 of the information processing infrastructure 200 with the highest rank is equal to or greater than the allocated resource amount, the selection unit 108 determines that the information processing infrastructure 200 with the highest rank can independently execute the application to be executed. On the other hand, if the selection unit 108 determines that the amount of free memory resources 240 of the highest-ranked information processing infrastructure 200 is less than the amount of allocated resources, it determines that the highest-ranked information processing infrastructure 200 cannot execute the application to be executed alone.

[0145] If the selection unit 108 determines that the highest-ranked information processing infrastructure 200 can independently execute the target application, the process proceeds to S110 shown in Fig. 12. If the selection unit 108 determines that the highest-ranked information processing infrastructure 200 cannot independently execute the target application, the process proceeds to S114 shown in Fig. 13.

[0146] In S110 shown in Fig. 12, the selection unit 108 determines whether there are multiple information processing infrastructures 200 that are highest ranked and can independently execute the application to be executed. If the selection unit 108 determines that there are multiple information processing infrastructures 200 that are highest ranked and can independently execute the application to be executed, the process proceeds to S112 shown in Fig. 12. If the selection unit 108 determines that there is only one information processing infrastructure 200 that is highest ranked and can independently execute the application to be executed, the selection unit 108 selects the information processing infrastructure 200 that is highest ranked and can independently execute the application to be executed as the information processing infrastructure 200 that will execute the application to be executed. Then, the process proceeds to S130 shown in Fig. 12.

[0147] 12 , the selection unit 108 selects the information processing infrastructure 200 that executes the application to be executed from among the plurality of information processing infrastructures 200 that have the highest rank and are capable of independently executing the application to be executed. For example, the selection unit 108 selects, as the information processing infrastructure 200 that executes the application to be executed, the information processing infrastructure 200 that has the least amount of free resource in the memory resource 240 from among the plurality of information processing infrastructures 200 that have the highest rank and are capable of independently executing the application to be executed.

[0148] In S114 shown in Fig. 13, the selection unit 108 determines whether there are multiple highest-ranked information processing infrastructures 200. If the selection unit 108 determines that there are multiple highest-ranked information processing infrastructures 200, the process proceeds to S116 shown in Fig. 13. If the selection unit 108 determines that there is only one highest-ranked information processing infrastructure 200, the process proceeds to S120 shown in Fig. 13.

[0149] 13, the selection unit 108 determines whether the plurality of highest-ranked information processing infrastructures 200 are capable of executing the execution target applications of the execution request received by the reception unit 106 in S102 shown in FIG. 12. The selection unit 108 determines whether the plurality of highest-ranked information processing infrastructures 200 are capable of executing the execution target applications by, for example, determining whether the total free resource amount of the memory resources 240 of each of the plurality of highest-ranked information processing infrastructures 200 is equal to or greater than the allocated resource amount indicated by the allocated resource amount information included in the execution request. For example, when the selection unit 108 determines that the total free resource amount of the memory resources 240 of each of the plurality of highest-ranked information processing infrastructures 200 is equal to or greater than the allocated resource amount, the selection unit 108 determines that the plurality of highest-ranked information processing infrastructures 200 are capable of executing the execution target applications. On the other hand, if the selection unit 108 determines that the total amount of free resource of the memory resources 240 of each of the information processing infrastructures 200 with the highest ranking is less than the allocated resource amount, it determines that the multiple information processing infrastructures 200 with the highest ranking cannot execute the application to be executed.

[0150] If the selection unit 108 determines that the plurality of highest-ranked information processing infrastructures 200 can execute the target application, the process proceeds to S118 shown in Fig. 13. If the selection unit 108 determines that the plurality of highest-ranked information processing infrastructures 200 cannot execute the target application, the process proceeds to S120 shown in Fig. 13.

[0151] 13, the selection unit 108 selects at least two information processing infrastructures 200 from the highest-ranked information processing infrastructures 200 as the information processing infrastructures 200 that will execute the application to be executed, such that the total amount of free resource in the memory resource 240 is equal to or greater than the allocated resource amount. Then, the process proceeds to S130 shown in FIG.

[0152] 13, the selection unit 108 determines whether the multiple information processing infrastructures 200, from the highest-ranked information processing infrastructure 200 to the k-th highest-ranked information processing infrastructure 200, are able to execute the application to be executed in the execution request received by the reception unit 106 in S102 shown in Fig. 12. The selection unit 108 determines whether the multiple information processing infrastructures 200, from the highest-ranked information processing infrastructure 200 to the k-th highest-ranked information processing infrastructure 200, are able to execute the application to be executed, for example, by determining whether the total amount of available memory resources 240 of each of the multiple information processing infrastructures 200, from the highest-ranked information processing infrastructure 200 to the k-th highest-ranked information processing infrastructure 200, is equal to or greater than the allocated resource amount indicated by the allocated resource amount information included in the execution request. For example, if the selection unit 108 determines that the total free resource amount of the memory resources 240 of each of the multiple information processing infrastructures 200 from the highest-ranked information processing infrastructure 200 to the k-th highest-ranked information processing infrastructure 200 is equal to or greater than the allocated resource amount, the selection unit 108 determines that the multiple information processing infrastructures 200 from the highest-ranked information processing infrastructure 200 to the k-th highest-ranked information processing infrastructure 200 are capable of executing the target application. On the other hand, if the selection unit 108 determines that the total free resource amount of the memory resources 240 of each of the multiple information processing infrastructures 200 from the highest-ranked information processing infrastructure 200 to the k-th highest-ranked information processing infrastructure 200 is less than the allocated resource amount, the selection unit 108 determines that the multiple information processing infrastructures 200 from the highest-ranked information processing infrastructure 200 to the k-th highest-ranked information processing infrastructure 200 are unable to execute the target application. Note that k is a natural number satisfying k≦n.

[0153] If the selection unit 108 determines that the multiple information processing infrastructures 200 from the highest-ranked information processing infrastructure 200 to the k-th highest-ranked information processing infrastructure 200 can execute the application to be executed, the process proceeds to S122 shown in Fig. 13. If the selection unit 108 determines that the multiple information processing infrastructures 200 from the highest-ranked information processing infrastructure 200 to the k-th highest-ranked information processing infrastructure 200 cannot execute the application to be executed, the process proceeds to S124 shown in Fig. 13.

[0154] 13, the selection unit 108 selects, as the information processing infrastructures 200 that will execute the application to be executed, a plurality of information processing infrastructures 200 from the highest ranked information processing infrastructure 200 to the k-th highest ranked information processing infrastructure 200 such that the total amount of available resource in the memory resources 240 is equal to or greater than the allocated resource amount. In this case, the selection unit 108 first selects the highest ranked information processing infrastructure 200 to the k-1th highest ranked information processing infrastructure 200, and then selects the k-th highest ranked information processing infrastructure 200. Thereafter, the process proceeds to S130 shown in FIG.

[0155] In S124 shown in Fig. 13, the selection unit 108 determines whether k is smaller than n. If the selection unit 108 determines that k is smaller than n, the process proceeds to S126 shown in Fig. 13. If the selection unit 108 determines that k is equal to n, the process proceeds to S128 shown in Fig. 13.

[0156] 13, the selection unit 108 sets k=k+1, and then returns to S120 shown in FIG.

[0157] Here, an example will be described in which, when k=2, the selection unit 108 determines in S120 shown in Fig. 13 that the multiple information processing infrastructures 200 from the highest-ranked information processing infrastructure 200 to the second-highest-ranked information processing infrastructure 200 cannot execute the application to be executed, and the selection unit 108 determines in S124 shown in Fig. 13 that k is smaller than n. In this case, in S126 shown in Fig. 13, the selection unit 108 sets k=2+1=3. Thereafter, the process returns to S120 shown in Fig. 13, and the selection unit 108 determines whether the multiple information processing infrastructures 200 from the highest-ranked information processing infrastructure 200 to the third-highest-ranked information processing infrastructure 200 can execute the application to be executed.

[0158] 13, the selection unit 108 determines that the application to be executed cannot be executed, and then the processing of the management board 100 ends.

[0159] 12, the instruction unit 110 instructs the information processing infrastructure 200 selected by the selection unit 108 as the information processing infrastructure 200 that will execute the application to be executed to deploy a virtualization infrastructure that will execute the application to be executed. Thereafter, the processing of the management infrastructure 100 ends.

[0160] 14 schematically illustrates an example of the hardware configuration of a computer 1200 that functions as the management infrastructure 100 or the information processing infrastructure 200. A program installed on the computer 1200 can cause the computer 1200 to function as one or more "units" of an apparatus according to the present embodiment, or can cause the computer 1200 to perform operations associated with the apparatus according to the present embodiment or one or more "units," and / or can cause the computer 1200 to perform a process according to the present embodiment or steps of the process. Such a program can be executed by the CPU 1212 to cause the computer 1200 to perform specific operations associated with some or all of the blocks in the flowcharts and block diagrams described herein.

[0161] The computer 1200 according to this embodiment includes a CPU 1212, a RAM 1214, and a graphics controller 1216, which are interconnected by a host controller 1210. The computer 1200 also includes input / output units such as a communications interface 1222, a storage device 1224, a DVD drive 1226, and an IC card drive, which are connected to the host controller 1210 via an input / output controller 1220. The DVD drive 1226 may be a DVD-ROM drive, a DVD-RAM drive, or the like. The storage device 1224 may be a hard disk drive, a solid-state drive, or the like. The computer 1200 also includes a ROM 1230 and legacy input / output units such as a keyboard, which are connected to the input / output controller 1220 via an input / output chip 1240.

[0162] The CPU 1212 operates according to programs stored in the ROM 1230 and the RAM 1214, thereby controlling each unit. The graphics controller 1216 acquires image data generated by the CPU 1212 into a frame buffer or the like provided in the RAM 1214 or into the graphics controller itself, and causes the image data to be displayed on the display device 1218.

[0163] The communication interface 1222 communicates with other electronic devices via a network. The storage device 1224 stores programs and data used by the CPU 1212 in the computer 1200. The DVD drive 1226 reads programs or data from a DVD-ROM 1227 or the like and provides them to the storage device 1224. The IC card drive reads programs and data from an IC card and / or writes programs and data to an IC card.

[0164] The ROM 1230 stores therein a boot program or the like that is executed by the computer 1200 upon activation, and / or programs that depend on the hardware of the computer 1200. The input / output chip 1240 may also connect various input / output units to the input / output controller 1220 via a USB port, a parallel port, a serial port, a keyboard port, a mouse port, etc.

[0165] The programs are provided by a computer-readable storage medium such as a DVD-ROM 1227 or an IC card. The programs are read from the computer-readable storage medium, installed in the storage device 1224, RAM 1214, or ROM 1230, which are also examples of computer-readable storage media, and executed by the CPU 1212. Information processing described in these programs is read by the computer 1200, and causes cooperation between the programs and the various types of hardware resources described above. An apparatus or method may be configured by implementing operations or processing of information in accordance with the use of the computer 1200.

[0166] For example, when communication is performed between the computer 1200 and an external device, the CPU 1212 may execute a communication program loaded into the RAM 1214 and instruct the communication interface 1222 to perform communication processing based on the processing described in the communication program. Under the control of the CPU 1212, the communication interface 1222 reads transmission data stored in a transmission buffer area provided in the RAM 1214, the storage device 1224, the DVD-ROM 1227, or a recording medium such as an IC card, and transmits the read transmission data to the network, or writes reception data received from the network to a reception buffer area or the like provided on the recording medium.

[0167] Furthermore, the CPU 1212 may cause all or a necessary portion of a file or database stored in an external recording medium such as the storage device 1224, the DVD drive 1226 (DVD-ROM 1227), an IC card, etc. to be read into the RAM 1214, and may perform various types of processing on the data on the RAM 1214. The CPU 1212 may then write back the processed data to the external recording medium.

[0168] Various types of information, such as various types of programs, data, tables, and databases, may be stored on the recording medium and may undergo information processing. The CPU 1212 may perform various types of processing on data read from the RAM 1214, including various types of operations, information processing, conditional judgment, conditional branching, unconditional branching, information search / replacement, etc., as described throughout this disclosure and specified by the instruction sequences of the programs, and write the results back to the RAM 1214. The CPU 1212 may also search for information in a file, database, etc. on the recording medium. For example, if multiple entries, each having an attribute value of a first attribute associated with an attribute value of a second attribute, are stored on the recording medium, the CPU 1212 may search for an entry whose attribute value of the first attribute matches a specified condition from among the multiple entries, read the attribute value of the second attribute stored in the entry, and thereby obtain the attribute value of the second attribute associated with the first attribute that satisfies a predetermined condition.

[0169] The above-described programs or software modules may be stored in a computer-readable storage medium on or near the computer 1200. A recording medium such as a hard disk or RAM provided in a server system connected to a dedicated communication network or the Internet can also be used as a computer-readable storage medium, thereby providing the programs to the computer 1200 via the network.

[0170] The blocks in the flowcharts and block diagrams in the present embodiments may represent stages of a process in which an operation is performed or "parts" of an apparatus responsible for performing the operation. Particular stages and "parts" may be implemented by dedicated circuitry, programmable circuitry provided with computer-readable instructions stored on a computer-readable storage medium, and / or a processor provided with computer-readable instructions stored on a computer-readable storage medium. The dedicated circuitry may include digital and / or analog hardware circuits, including integrated circuits (ICs) and / or discrete circuits. The programmable circuitry may include reconfigurable hardware circuits, such as field programmable gate arrays (FPGAs) and programmable logic arrays (PLAs), including AND, OR, XOR, NAND, NOR, and other logical operations, flip-flops, registers, and memory elements.

[0171] A computer-readable medium may include any tangible device capable of storing instructions that are executed by a suitable device, such that the computer-readable medium having instructions stored thereon comprises an article of manufacture containing instructions that can be executed to create means for performing the operations specified in the flowcharts or block diagrams. Examples of computer-readable media may include electronic, magnetic, optical, electromagnetic, and semiconductor storage media. More specific examples of computer-readable media may include floppy disks, diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), electrically erasable programmable read-only memory (EEPROM), static random access memory (SRAM), compact disc read-only memory (CD-ROM), digital versatile disc (DVD), Blu-ray disc, memory stick, integrated circuit card, and the like.

[0172] The computer readable instructions may include either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk®, JAVA®, C++, etc., and conventional procedural programming languages ​​such as the “C” programming language or similar programming languages.

[0173] The computer-readable instructions may be provided to a processor or programmable circuit of a programmable data processing device, such as a computer, locally or via a wide area network (WAN) such as a local area network (LAN) or the Internet, and the computer-readable instructions may be executed to create means for performing the operations specified in the flowcharts or block diagrams. Here, the computer may be a personal computer (PC), a tablet computer, a smartphone, a workstation, a server computer, a general-purpose computer, a special-purpose computer, or the like, or may be a computer system in which multiple computers are connected. Such a computer system in which multiple computers are connected is also called a distributed computing system, and is a broad definition of computer. In a distributed computing system, the multiple computers collectively execute a program by each executing a portion of the program and passing data between the computers as needed during program execution.

[0174] Examples of processors include a computer processor, a central processing unit (CPU), a processing unit, a microprocessor, a digital signal processor, a controller, a microcontroller, etc. A computer may have one or more processors. In a multiprocessor system with multiple processors, each processor executes a portion of a program and passes data between processors as needed during program execution, allowing the multiple processors to collectively execute the program. For example, in multitasking, each of the multiple processors may execute a portion of each task in small chunks by switching tasks at time slice intervals. In this case, which portion of a program each processor executes changes dynamically. Which portion of a program each of the multiple processors executes may also be statically determined by multiprocessor-aware programming.

[0175] Although the present invention has been described above using the embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It will be apparent to those skilled in the art that various modifications and improvements can be made to the above embodiments. It is clear from the claims that such modifications and improvements can also be included within the technical scope of the present invention.

[0176] It should be noted that the execution order of each process, such as operations, procedures, steps, and stages, in the devices, systems, programs, and methods shown in the claims, specifications, and drawings is not specifically stated as "before," "prior to," etc., and that the processes can be performed in any order unless the output of a previous process is used in a later process. Even if the operational flow in the claims, specifications, and drawings is described using "first," "next," etc. for convenience, this does not mean that the processes must be performed in this order. [Explanation of symbols]

[0177] 10 System, 40 Radio base station, 50 Communication terminal, 100 Management infrastructure, 102 Storage unit, 104 Acquisition unit, 106 Reception unit, 108 Selection unit, 110 Instruction unit, 200 Information processing infrastructure, 202 Reception unit, 204 Execution unit, 205 RAN control function, 207 Application execution function, 208 Notification unit, 220 Computational resources, 222 CPU, 224 GPU, 240 Memory resources, 242 CPU memory, 244 GPU memory, 280 Switch, 300 RAN, 400 User, 1200 Computer, 1210 Host controller, 1212 CPU, 1214 RAM, 1216 Graphics controller, 1218 Display device, 1220 Input / output controller, 1222 Communication interface, 1224 Storage device, 1226 DVD drive, 1227 DVD-ROM, 1230 ROM, 1240 I / O chip

Claims

1. A management platform that manages an information processing platform having memory resources including a GPU (Graphics Processing Unit) memory and a CPU (Central Processing Unit) memory, an acquisition unit that acquires free memory resource amount information indicating the free resource amount of the memory resource of each of the plurality of information processing platforms and application number information indicating the number of applications currently running on each of the plurality of information processing platforms; a reception unit that receives an application execution request; a selection unit that selects, from the plurality of information processing infrastructures, an information processing infrastructure with the smallest number of applications currently being executed as an information processing infrastructure on which to execute the application to be executed, based on allocated resource amount information indicating an allocated resource amount of memory resources that needs to be allocated to execute the application to be executed, the free memory resource amount information, and the application count information, which are included in the execution request; A management infrastructure that provides:

2. The selection unit determining whether the free resource amount of the memory resource of the information processing infrastructure with the fewest number of running applications is equal to or greater than the allocated resource amount; when it is determined that the free resource amount of the memory resource of the information processing infrastructure with the smallest number of running applications is equal to or greater than the allocated resource amount, selecting the information processing infrastructure with the smallest number of running applications as the information processing infrastructure that will execute the application to be executed; when it is determined that the free resource amount of the memory resource of the information processing infrastructure with the fewest number of running applications is less than the allocated resource amount, selecting a plurality of information processing infrastructures including the information processing infrastructure with the fewest number of running applications as the information processing infrastructure on which the application to be executed is to be executed. The management platform according to claim 1 .

3. when there are a plurality of information processing infrastructures with the fewest number of running applications, and when it is determined that the free resource amount of the memory resource of at least two of the plurality of information processing infrastructures with the fewest number of running applications is equal to or greater than the allocated resource amount, the selection unit selects, from the at least two information processing infrastructures, the information processing infrastructure with the smallest free resource amount of the memory resource as the information processing infrastructure that will execute the application to be executed; The management platform according to claim 2 .

4. The management infrastructure described in claim 2, wherein when the selection unit determines that the free resource amount of the memory resources of the information processing infrastructure with the fewest number of running applications is less than the allocated resource amount, it selects the information processing infrastructure with the fewest number of running applications and the information processing infrastructure with the second fewest number of running applications as the information processing infrastructure on which to execute the application to be executed.

5. The selection unit When there are a plurality of information processing platforms with the fewest number of running applications, if it is determined that the free resource amount of the memory resource of each of the plurality of information processing platforms with the fewest number of running applications is less than the allocated resource amount, it is further determined whether or not the total free resource amount of the memory resource of the plurality of information processing platforms with the fewest number of running applications is equal to or greater than the allocated resource amount; when it is determined that the total free resource amount of the memory resources of the plurality of information processing platforms with the fewest number of running applications is equal to or greater than the allocated resource amount, selecting at least two information processing platforms from the plurality of information processing platforms with the fewest number of running applications as the information processing platforms that will execute the application to be executed, so that the total free resource amount of the memory resources is equal to or greater than the allocated resource amount; when it is determined that the total amount of available memory resources of the plurality of information processing platforms with the fewest number of running applications is less than the allocated resource amount, selecting the plurality of information processing platforms with the fewest number of running applications and the information processing platform with the second fewest number of running applications as the information processing platforms that will execute the application to be executed. The management platform according to claim 2 .

6. The management infrastructure according to claim 5 , wherein the selection unit selects the at least two information processing infrastructures so that the total amount of free resource of the memory resources is equal to or greater than the allocated resource amount and the number of the information processing infrastructures is the smallest.

7. the acquiring unit acquires the free memory resource amount information including free GPU memory resource amount information indicating a free resource amount of the GPU memory of each of the information processing infrastructures among the plurality of information processing infrastructures, and free CPU memory resource amount information indicating a free resource amount of the CPU memory of each of the information processing infrastructures among the plurality of information processing infrastructures; the selection unit selects, from the plurality of information processing infrastructures, an information processing infrastructure having the smallest number of applications currently running as an information processing infrastructure on which to execute the application to be executed, based on the allocated resource amount information, the free GPU memory resource amount information and the CPU memory resource amount information included in the free memory resource amount information, and the application count information. The management platform according to claim 1 .

8. The management infrastructure described in claim 7, wherein, when there are multiple information processing infrastructures with the fewest number of running applications, and the free resource amount of the memory resources of at least two of the multiple information processing infrastructures with the fewest number of running applications is equal to or greater than the allocated resource amount, the selection unit selects, from the at least two information processing infrastructures, as the information processing infrastructure on which to execute the application to be executed, an information processing infrastructure in which at least one of the free resource amount of the GPU memory and the free resource amount of the CPU memory is equal to or greater than the allocated resource amount.

9. an instruction unit that instructs the information processing infrastructure selected by the selection unit to deploy a virtualization infrastructure that executes the application to be executed; The management infrastructure according to claim 1 , further comprising:

10. A program that, when executed by a computer, causes the computer to function as the management infrastructure according to any one of claims 1 to 8.

11. The management base according to any one of claims 1 to 8; the plurality of information processing platforms; An information processing system comprising:

12. A management method executed by a management platform that manages an information processing platform having memory resources including a GPU memory and a CPU memory, comprising: an acquisition step of acquiring free memory resource amount information indicating the free resource amount of the memory resource of each of the plurality of information processing platforms and application number information indicating the number of applications currently running on each of the plurality of information processing platforms; an acceptance stage for accepting an application execution request; a selection step of selecting, from the plurality of information processing infrastructures, an information processing infrastructure with the fewest number of applications currently being executed as an information processing infrastructure on which to execute the application to be executed, based on allocated resource amount information indicating an allocated resource amount of memory resources that needs to be allocated to execute the application to be executed, which is included in the execution request, the free memory resource amount information, and the application count information; A management method comprising: