Layout plan exploration device, computer system, and layout plan exploration method

The described solution addresses the challenge of managing microservices across multiple base systems by using a device and method that determine required resource allocations and search for suitable arrangement plans based on user-specified target performance, ensuring efficient and effective microservice arrangement.

JP7682823B2Active Publication Date: 2025-05-26HITACHI VANTARA LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2022041062
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-03-16
Publication Date
2025-05-26
Estimated Expiration
2042-03-16

AI Technical Summary

Technical Problem

Existing techniques struggle to efficiently manage the arrangement of microservices across multiple base systems, particularly in handling differences in execution environments and resource status across these systems.

Method used

A device and method for searching an arrangement plan of microservices across multiple base systems, utilizing a storage unit to store performance information correlating service performance with hardware resource amounts, and a processor to determine required resource allocations and search for suitable arrangement plans based on user-specified target performance.

Benefits of technology

Enables effective and appropriate searching for arrangement plans of microservices across multiple base systems, ensuring optimal performance and resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007682823000001
    Figure 0007682823000001
  • Figure 0007682823000002
    Figure 0007682823000002
  • Figure 0007682823000003
    Figure 0007682823000003
Patent Text Reader

Abstract

To enable an appropriate search of a placement plan of a plurality of micro services in a plurality foothold systems.SOLUTION: In an application platform 100, an application performance model 1000 in a plurality of foothold systems and a data store performance model 1300 in the plurality of foothold systems 200 are stored. A processor receives target performance information, determines an application allocation resource amount for the plurality of foothold systems based on the application performance model 1000, determines a required performance of data stores for the plurality of foothold systems, determines a data store allocation resource amount for the plurality of foothold systems based on the data store performance model 1000, and searches for an application that can realize the application allocation resource amount and the data store allocation resource amount and a placement plan of the data stores in the plurality of foothold systems.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 technique for exploring an arrangement plan of a plurality of microservices (for example, an application and a data store for storing data used by the application, etc.) that constitute a service for handling data in a plurality of base systems.

Background Art

[0002] In AI (Artificial Intelligence) and data analysis, data stored in distributed bases is utilized. In order to perform data analysis in consideration of costs and performance at distributed bases, it is necessary to set the amount of resources allocated to an analysis application (simply referred to as an app) by a data analyst, select a base where a container for executing the analysis app is deployed, etc., and the man-hours increase.

[0003] For example, as a technique for allocating HW resources within a base, a technique for controlling calculation resources allocated to a VM that executes an application is known (see, for example, Patent Document 1).

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] For example, when there are a plurality of bases, differences in the execution environments of applications in each base and the resource status in each base, etc. must be considered, and the technique disclosed in Patent Document 1 cannot cope with this.

[0006] The present invention has been made in view of the above circumstances, and an object thereof is to provide a technique capable of appropriately searching for an arrangement plan of microservices in a plurality of base systems.

Means for Solving the Problems

[0007] To achieve the above object, an arrangement plan search device according to one aspect is an arrangement plan search device that searches for an arrangement plan of a plurality of microservices that constitute a service that handles data in a plurality of base systems, and has a storage unit and a processor connected to the storage unit. The storage unit stores service resource amount performance information capable of specifying a correspondence relationship between the performance of the service in the plurality of base systems and information on the amount of hardware resources for the plurality of microservices capable of realizing the performance of the service. The processor receives target performance information capable of specifying a target performance by the service from a user, determines, for the plurality of base systems, a micro-service allocation resource amount that is the amount of hardware resources of the plurality of microservices required to realize the performance of the service specified by the target performance information based on the service resource amount performance information, and searches for an arrangement plan of the plurality of microservices in the plurality of base systems capable of realizing the micro-service allocation resource amount.

Effects of the Invention

[0008] According to the present invention, in a plurality of base systems, an arrangement plan of a plurality of microservices can be appropriately searched for.

Brief Description of the Drawings

[0009]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

Figure 20

Figure 21

Figure 22

Figure 23

Figure 24

Figure 25

Figure 26

Figure 27

Figure 28

Figure 29

Figure 30

Embodiments for Carrying Out the Invention

[0010] Some embodiments will be described with reference to the drawings. It should be noted that the embodiments described below do not limit the invention according to the claims, and not all of the elements and their combinations described in the embodiments are essential for the solution means of the invention.

[0011] In the following description, the "program" may be used as the subject of operations for explanation. However, the program is executed by a processor (e.g., CPU (Central Processing Unit)) to perform defined operations while appropriately using storage resources (e.g., memory) and / or communication interface devices (e.g., NIC (Network Interface Card)). Therefore, the subject of the operations may be the processor. The operations described with the program as the subject may also be operations performed by a computer having a processor.

[0012] Also, in the following description, information may be described in terms of an "AAA table". However, the information may be represented in any data structure. That is, in order to indicate that the information is independent of the data structure, the "AAA table" may be referred to as "AAA information".

[0013] FIG. 1 is an overall configuration diagram of a computer system according to the first embodiment.

[0014] The computer system 1 includes an application platform 100, a host 150, and a plurality of base systems 200 (200-1, 200-2, 200-3, etc.) as an example of a layout plan search device.

[0015] The application platform 100, the host 150, and the base system 200 are connected via a network 10. The network 10 is, for example, a network such as a WAN (Wide Area Network) or a LAN (Local Area Network).

[0016] The host 150 is composed of, for example, a computer, receives various inputs from an administrator, and executes processing with the application platform 100. The host 150 has a memory 160. The memory 160 stores a client processing program (PG) 161. The client processing program 161 receives, for example, instructions from the administrator (instructions to calculate the placement plan of a container for executing an application (which may be abbreviated as an app) to be executed and a data store for storing data used by the application in a plurality of site systems 200, instructions to deploy the container and the data store). The client processing program 161 receives, for example, information (target performance information: for example, KPI (Key Performance Indicator)) that can specify the target performance for the application in the instruction to calculate the placement plan, and transmits the target performance information to the application platform 100. Further, the client processing program 161 acquires various information from the application platform 100 and displays it on the screen of the host 150.

[0017] The application platform 100 is composed of, for example, a computer (node 101 (see FIG. 2)). The application platform 100 has a memory 110 as an example of a storage unit. The memory 110 stores an inter-site placement optimization program 111, a performance model management program 123, a distributed metadata management program 124, a resource management table 400, an inter-site network management table 500, an execution environment management table 600, a performance model correction rate management table 700, an app management table 800, an app performance model management table 900, an app performance model 1000, a data store management table 1100, a data store performance model management table 1200, and a data store performance model 1300.

[0018] The site - to - site placement optimization program 111 performs a process of searching for an appropriate placement of a container that executes an application and a data store that stores data used by the application in a plurality of site systems 200. The performance model management program 123 performs a process of creating and managing an application performance model 1000 and a data store performance model 1300.

[0019] The distributed metadata management program 124 manages metadata related to the data store 252 that is distributed and managed in a plurality of site systems 200. For example, the distributed metadata management program 124 has a function of searching a metadata database (DB) 300 in a plurality of site systems 200.

[0020] The computer system 1 according to the present embodiment has site systems 200 - 1, site systems 200 - 2, site systems 200 - 3, etc. as site systems 200. The site system 200 - 1 is, for example, an edge, the site system 200 - 2 is, for example, an on - premise cloud, and the site system 200 - 3 is, for example, a public cloud. Since the site systems 200 have the same configuration, the site system 200 - 1 will be described as an example here.

[0021] The site system 200 is composed of one or more nodes 201 (see FIG. 2), allocates resources to a container that executes a program and a data store that manages data used by the program, and executes them. The site system 200 has a memory 210. The memory 210 stores a deployment control program 211, an execution infrastructure processing program 212, an inter - site data control program 213, a distributed metadata management program 214, a metadata DB 300, applications 251 (251 - A, 251 - B, etc.), and data stores 252 (252 - A, 252 - B, etc.).

[0022] The deployment control program 211 receives the deployment requests for the containers and data stores that execute the applications corresponding to the layout plans from the inter-site layout optimization program 111, and instructs the execution of the containers and data stores on the execution platform. The execution platform processing program 212 configures an execution platform for executing containers by the nodes 201 that make up the site system 200, and based on the setting of the allocation amount of the hardware resources corresponding to the layout plan from the application platform 100, controls the amount of resources allocated to the containers that execute the application and the containers that execute the data store, and acquires the execution logs in the execution platform. Note that in this embodiment, as the execution form of the application in the execution platform, the container is taken as an example for explanation, but the present invention is not limited to this, and it may be a VM (virtual machine), a process, or the like. The inter-site data control program 213 receives the data transfer requests corresponding to the layout plans from the inter-site layout optimization program 111, and performs data transfer between the site systems 200 corresponding to the data transfer requests. The distributed metadata management program 214 manages the metadata regarding the data stores 252 that are distributed and managed in the plurality of site systems 200. For example, the distributed metadata management program 214 has a function of searching the metadata DB 300 in the plurality of site systems 200.

[0023] The application 251 is executed in a container and issues an IO request (read request, write request, etc.) to the data store 252. The data store 252 is executed in a container, stores the data used by the application 251, receives the IO request from the application 251, and executes the IO process corresponding to the IO request. Here, in this embodiment, for example, the application 251 and the data store 252 respectively correspond to microservices, and the service is configured by the application 251 and the data store 252.

[0024] Figure 2 is a hardware configuration diagram of the computer system according to the first embodiment.

[0025] Host 150 includes a CPU 152, a memory 153, a NIC 154, and a disk 155.

[0026] The NIC 154 is an interface such as a wired LAN card or a wireless LAN card, and communicates with other devices (e.g., the application platform 100, the base system 200, etc.) via the network 10.

[0027] The CPU 152 executes various processes according to programs stored in the memory 153 and / or the disk 155.

[0028] The memory 153 is, for example, a RAM (RANDOM ACCESS MEMORY), and stores programs executed by the CPU 152 and necessary information. In this embodiment, the memory 153 is the memory 160 shown in FIG. 1.

[0029] The disk 155 is, for example, a hard disk or a flash memory, and stores programs executed by the CPU 152 and data used by the CPU 152.

[0030] Node 101 includes a CPU 102 as an example of a processor, a memory 103 as an example of a storage unit, a NIC 104, and a disk 105.

[0031] The NIC 104 is an interface such as a wired LAN card or a wireless LAN card, and communicates with other devices (e.g., the host 150, the base system 200, etc.) via the network 10.

[0032] The CPU 102 executes various processes according to programs stored in the memory 103 and / or the disk 105.

[0033] The memory 103 is, for example, a RAM, and stores programs executed by the CPU 102 and necessary information. In this embodiment, the memory 103 is the memory 110 shown in FIG. 1.

[0034] The disk 105 is, for example, a hard disk or a flash memory, and stores programs executed by the CPU 102 and data used by the CPU 102.

[0035] The node 201 includes a CPU 202, a memory 203, a NIC 204, and a disk 205.

[0036] The NIC 204 is an interface such as a wired LAN card or a wireless LAN card, and communicates with other devices (for example, the host 150, the application platform 100, other nodes 201, etc.) via the network 10.

[0037] The CPU 202 executes various processes according to programs stored in the memory 203 and / or the disk 205.

[0038] The memory 203 is, for example, a RAM, and stores programs executed by the CPU 202 and necessary information. In this embodiment, the memory 203 of one or more nodes 201 corresponds to the memory 210 shown in FIG. 1.

[0039] The disk 205 is, for example, a hard disk or a flash memory, and stores programs executed by the CPU 202 and data used by the CPU 202.

[0040] FIG. 3 is a configuration diagram of the metadata database according to the first embodiment. Note that the set values in the metadata database in FIG. 3 are an example of the set values of the metadata database 300 of the base system 200 of site 1.

[0041] The metadata database (DB) 300 is provided for each base system 200 and stores entries for each data unit (file, object) managed by the base system 200. The entries in the metadata database 300 include fields such as a data store ID 301, a data ID 302, a date and time 303, a type 304, a path 305, a size 306, a replica source base 307, whether it can be moved within the country 308, and whether it can be moved overseas 309. Note that the entries may include information such as labels indicating the contents of files that can be used for search.

[0042] The data store ID 301 stores the identifier (data store ID) of the data store in which the data unit corresponding to the entry is stored. The data ID 302 stores the identifier (data ID) of the data unit corresponding to the entry. The date and time 303 stores the date and time related to the data unit corresponding to the entry. For example, when the data unit is a snapshot, the date and time of the snapshot is stored, and when the data unit is a replica, the date and time of replication is stored. The type 304 stores the type of the data unit. Examples of the type of data unit include original, which is normal data, snapshot, and replica. The path 305 stores the path of the storage destination where the data unit corresponding to the entry is stored. The path may be the URL of the storage destination of the data unit, the URL of the database storing the data unit, or the table name storing the data unit. The size 306 stores the data size of the data unit corresponding to the entry. The replica source base 307 stores the base name of the base that is the replica source of the data unit when the type of the data unit corresponding to the entry is a replica. Whether it can be moved within the country 308 stores whether the data unit corresponding to the entry can be moved to another base within the country. Whether it can be moved overseas 309 stores whether the data unit corresponding to the entry can be moved to a base overseas.

[0043] FIG. 4 is a configuration diagram of the resource management table according to the first embodiment.

[0044] The resource management table 400 is a table for managing the resources of the site system 200 of a site. The resource management table 400 stores an entry for each site system 200. The entry of the resource management table 400 includes fields of a site ID 401, a country 402, an execution environment ID 403, the number of cores 404, memory 405, CPU usage 406, memory usage 407, the number of node cores 408, node memory 409, cost 410, power 411, data transfer cost (In) 412, and data transfer cost (Out) 413.

[0045] The site ID 401 stores the ID (site ID) of the site where the site system 200 corresponding to the entry is located. The country 402 stores the identification information of the country where the site system 200 corresponding to the entry is located. The execution environment ID 403 stores the ID (execution environment ID) of the execution environment in the site system 200 corresponding to the entry. Here, there are cases where the execution environments of the site systems 200 are the same even if the sites are different. In the site systems 200 with the same execution environment, the same model can be used as the performance model of the application. Therefore, in this embodiment, the type of the execution environment for the site system 200 is managed.

[0046] The number of cores 404 stores the number of cores of the CPU 202 in the base system 200 corresponding to the entry. The memory 405 stores the memory capacity of the memory 203 in the base system 200 corresponding to the entry. The CPU usage rate 406 stores the usage rate of the CPU in the base system 200 corresponding to the entry. The memory usage rate 407 stores the usage rate of the memory in the base system 200 corresponding to the entry. The number of node cores 408 stores the number of cores of the CPU 202 in one node 201 of the base system 200 corresponding to the entry. The node memory 409 stores the memory capacity in one node 201 of the base system 200 corresponding to the entry. The cost 410 stores the cost required for one node 201 in the base system 200 corresponding to the entry. The power 411 stores the amount of power used by one node 201 in the base system 200 corresponding to the entry. The data transfer cost (In) 412 stores the cost required for transferring data to the base system 200 corresponding to the entry. The data transfer cost (Out) 413 stores the cost required for transferring data from the base system 200 corresponding to the entry.

[0047] FIG. 5 is a configuration diagram of an inter-site network management table according to the first embodiment.

[0048] The inter-site network management table 500 manages information regarding the network 10 between sites in the computing system 1. The inter-site network management table 500 includes a network bandwidth management table 510 and a network latency management table 520.

[0049] The network bandwidth management table 510 is a table that manages the bandwidth of the network between sites. In each row of the source site 511 of the network bandwidth management table 510, the name of the source site is stored, and in each column of the destination site 512, the name of the destination site is stored. In the cell corresponding to the name of the source site of the source site 511 and the name of the destination site of the destination site 512, the bandwidth of the network between the source site and the destination site is stored.

[0050] The network latency management table 520 is a table for managing the latency of the network between sites. In each row of the source site 521 of the network latency management table 520, the name of the source site is stored, and in each column of the destination site 522, the name of the destination site is stored. In the cell corresponding to the name of the source site of the source site 521 and the name of the destination site of the destination site 522, the latency of the network between the source site and the destination site is stored.

[0051] Figure 6 is a configuration diagram of the execution environment management table according to the first embodiment.

[0052] The execution environment management table 600 is a table for managing the execution environment of an application and a data store. The execution environment management table 600 stores entries for each execution environment. The entry of the execution environment management table 600 includes fields of an execution environment ID 601, a type 602, a CPU type 603, a CPU frequency 604, and a memory type 605.

[0053] In the execution environment ID 601, the ID of the execution environment corresponding to the entry is stored. In the type 602, the type of the execution environment corresponding to the entry is stored. In the CPU type 603, the type of the CPU in the execution environment corresponding to the entry is stored. In the CPU frequency 604, the frequency of the CPU in the execution environment corresponding to the entry is stored. In the memory type 605, the type of the memory in the execution environment corresponding to the entry is stored.

[0054] Figure 7 is a configuration diagram of the performance model correction rate management table according to the first embodiment. Note that Figure 7 is a table for managing the correction rate for correcting the number of CPU cores in the application store performance model and the data store performance model.

[0055] The performance model correction rate management table 700 is an example of the first correction information, the second correction information, and the third correction information, and an example of the application resource amount performance information, the application data store performance information, the data store resource amount performance information, and the service resource amount performance information, and is a table for managing the correction rate and margin of the performance model between execution environments. In the row of the source execution environment 701 of the performance model correction rate management table 700, the source execution environment ID is stored, and in the column of the target execution environment 702, the target execution environment ID is stored. In the cell corresponding to the source execution environment ID of the source execution environment 701 and the target execution environment ID of the target execution environment 702, the correction rate of the resource (CPU core in the example of FIG. 7) between the source execution environment and the target execution environment and the margin considering the error in the correction are stored. Note that N / A (Not Available) is set in the cell corresponding to the source execution environment ID and the target execution environment ID for which conversion by the correction rate is not applicable to the performance model. Note that the performance model correction rate management table 700 may include a table for managing the correction rate for correcting the resources of each performance model of resources other than the CPU core (for example, memory, NIC bandwidth, block IO (bandwidth of IO of a disk device), data store, etc.). Also, the performance model correction rate management table 700 may be provided as a separate table for the application and the data store, or may be provided for each application.

[0056] FIG. 8 is a configuration diagram of the application management table according to the first embodiment.

[0057] The application management table 800 is a table for managing applications executed on the execution infrastructure of the base system 200. The application management table 800 stores entries for each application. The entry of the application management table 800 includes fields of an application ID 801, a description 803, and an execution-disabled site 804.

[0058] In the application ID 801, the ID of the application corresponding to the entry is stored. In the description 803, the description of the processing content of the application corresponding to the entry is stored. In the non-executable site 804, the site name of the site where the application corresponding to the entry cannot be executed is stored.

[0059] FIG. 9 is a configuration diagram of an application performance model management table according to the first embodiment.

[0060] The application performance model management table 900 is provided for each application and manages a performance model (an example of application resource amount performance information) indicating the correspondence between the performance of the application and the resources allocated to the application, and a performance model (an example of application data store performance information) indicating the correspondence between the performance of the application and the performance of the data store allocated to the application. The application performance model management table 900 includes fields of an application ID 901, an execution environment 902, a performance index 910, an allocated resource 920, and an allocated data store performance 930.

[0061] In the application ID 901, the ID of the application corresponding to the application performance model management table 900 is stored. In the execution environment 902, the name of the execution environment corresponding to the performance model managed in the application performance model management table 900 is stored. In the performance index 910, the performance index of the application targeted by the performance model in the application performance model management table 900 is stored.

[0062] The allocated resource 920 stores performance models for one or more allocatable resources. The allocated resource 920 includes fields for the CPU 921, the memory 922, the NIC bandwidth 923, and the block IO 924. The CPU 921 stores a performance model indicating the correspondence between the performance of the application and the number of cores of the allocated CPU. The memory 922 stores a performance model indicating the correspondence between the performance of the application and the memory amount of the allocated memory. The NIC bandwidth 923 stores a performance model indicating the correspondence between the performance of the application and the bandwidth of the allocated NIC. The block IO 924 stores a performance model indicating the correspondence between the performance of the application and the allocated block IO.

[0063] The allocated data store performance 930 stores a performance model indicating the correspondence between the performance of the application and the data store performance allocated to the application. The allocated data store performance 930 includes fields for the data store type 931, the IO operation 932, and the performance model 934. The data store type 931 stores the type of the allocated data store. The IO operation 932 stores the type of the IO operation executed on the allocated data store. The IO operation refers to the IO operation on the data store. For example, if the data store is a File data store, it is sequential Read / Write, random Read / Write, metadata operation (e.g., file creation / deletion, directory creation / deletion, etc.). If the data store is a NoSQL data store, it refers to data insertion, deletion, search, etc. into the DB (Data Base). The performance model 934 stores a performance model indicating the correspondence between the performance of the application and the performance of the data store in the execution of the IO operation of the IO operation 932 in the data store of the data store type 931.

[0064] Here, the creation and registration of the application performance model will be described.

[0065] FIG. 10 is a diagram showing an overview of the application performance model according to the first embodiment.

[0066] To create an application performance model, for example, as shown in FIG. 10, a graph 1001 of the performance of an application with respect to a change in the amount of allocated resources (the number of CPU cores in FIG. 10) may be created, and the equation of the approximate curve of the graph, y = f1(x), may be used as the application performance model. Here, y represents the performance of the application per node, and x represents the amount of allocated resources per node. y can be calculated by dividing the result of performance measurement by the performance management program 123 (the overall performance of the application) by the number of nodes on which the application is executed. In other words, multiplying y by the number of nodes of the application gives the overall performance of the application. The creation of the graph and the derivation of the approximate curve equation in creating the application performance model can be realized by using existing spreadsheet software, programs, etc.

[0067] FIG. 11 is a configuration diagram of the data store management table according to the first embodiment.

[0068] The data store management table 1100 is a table for managing data stores executed on the execution infrastructure of the base system 200. The data store management table 1100 stores entries for each data store. The entry of the data store management table 1100 includes fields of a data store ID 1101 and a type 1102.

[0069] The data store ID 1101 stores the ID of the data store corresponding to the entry. The type 1102 stores the type of the data store corresponding to the entry. Examples of the type of data store include File indicating a data store that handles files, Object indicating a data store that handles objects, and (SQL) indicating a data store that handles SQL.

[0070] FIG. 12 is a configuration diagram of the data store performance model management table according to the first embodiment.

[0071] The data store performance model management table 1200 is provided for each data store and manages a performance model (an example of data store resource amount performance information) indicating the correspondence between the performance of the data store and the resources allocated to the data store. The data store performance model management table 1200 includes fields for a data store ID 1201, an execution environment 1202, an IO operation 1211, a CPU 1212, a memory 1213, a NIC bandwidth 1214, and a block IO 1215.

[0072] The data store ID 1201 stores the ID of the data store corresponding to the data store performance model management table 1200. The execution environment 1202 stores the execution environment ID corresponding to the performance model managed by the data store performance model management table 1200.

[0073] The IO operation 1211 stores the type of IO operation targeted by the performance model of the data store. The CPU 1212 stores a performance model indicating the correspondence between the performance of the data store for the type of IO operation of the IO operation 1211 corresponding to this field and the number of CPU cores allocated. The memory 1213 stores a performance model indicating the correspondence between the performance of the data store for the type of IO operation of the IO operation 1211 corresponding to this field and the amount of memory allocated. The NIC bandwidth 1214 stores a performance model indicating the correspondence between the performance of the data store for the type of IO operation of the IO operation 1211 corresponding to this field and the bandwidth of the NIC allocated. The block IO 1215 stores a performance model indicating the correspondence between the performance of the data store for the type of IO operation of the IO operation 1211 corresponding to this field and the block IO allocated.

[0074] Here, the creation and registration of the data store performance model will be described.

[0075] FIG. 13 is a diagram showing an overview of a data store performance model according to the first embodiment.

[0076] To create a data store performance model, for example, as shown in FIG. 13, a graph 1301 of the performance of the data store with respect to changes in the allocated resource amount may be created, and the equation of the approximate curve of the graph, y = h1(x), may be used as the data store performance model. Here, y represents the performance of the data store per node, and x represents the allocated resource amount per node. y can be calculated by dividing the result of performance measurement by the performance model management program 123 (the overall performance of the data store) by the number of nodes in the data store. In other words, multiplying y by the number of nodes in the data store gives the overall performance of the data store. The creation of the graph and the derivation of the approximate curve equation in creating the data store performance model can be realized by using existing spreadsheet software, programs, etc.

[0077] Here, in this embodiment, the application resource amount performance information, the application data store performance information, and the data store resource amount performance information correspond to the service resource amount performance information.

[0078] Next, the data store performance model creation process S600 for creating a data store performance model will be described. The data store performance model creation process S600 is executed, for example, when newly registering a data store in the base system 200.

[0079] FIG. 14 is a flowchart of the data store performance model creation process according to the first embodiment.

[0080] In the data store performance model creation process of this embodiment, a data store performance model is created for each type of operation of the data store. Also, in this embodiment, a data store performance model for each type of operation is created for each hardware resource. Here, the hardware resources are the CPU, memory, NIC bandwidth, block I / O, etc. According to this data store performance model creation process, a data store performance model indicating the relationship between the allocation amount of each resource and the performance of the data store at that allocation amount is created for each type of operation.

[0081] First, the performance model management program 123 (strictly speaking, the CPU 102 that executes the performance model management program 123) checks whether data store performance models have been created for all types of operations of the data store (step S602). As a result, if performance models have been created for all types of operations (step S602: Yes), the performance model management program 123 ends the data store performance model creation process S600.

[0082] On the other hand, if data store performance models have not been created for all types of operations (step S602: No), the performance model management program 123 creates a data store performance model for the types of operations that have not been created. Here, the target type of operation is referred to as the target operation type.

[0083] First, the performance model management program 123 checks whether data store performance models for all resources to be targeted for creating a data store performance model have been created for the target operation type (step S603).

[0084] As a result, if data store performance models for all targeted resources have been created for the target operation type (step S603: Yes), the performance model management program 123 advances the process to step S602.

[0085] On the other hand, when the data store performance model for all target resources has not been created (step S603: No), the performance model management program 123 creates a data store performance model for the uncreated resource (referred to as the target resource). Here, when creating the data store performance model for the target resource, for resources other than the target resource, an equivalent amount that does not become a bottleneck for the performance of the target resource is set, and the data store performance model is created by gradually changing the resource equivalent amount of the target resource.

[0086] First, the performance model management program 123 changes the amount of resources allocated to the data store (step S604). The change in the resource equivalent amount in the data store is carried out in cooperation with the execution base processing program 212 of the base system 200. Specifically, the performance model management program 123 sends the resource equivalent amount for the data store to the execution base processing program 212 of the base system 200. Thereby, the execution base processing program 212 receives the resource equivalent amount and allocates the resources of the received resource equivalent amount to the data store. The allocation of resources in the node 201 of the base system 200 can be realized by existing programs and software. For example, in the case of the Linux (registered trademark) operating system, the resource allocation function called Cgroups can be used. By using this Cgroups, a desired amount of resources can be allocated to a program operating on the Linux operating system.

[0087] Next, the performance model management program 123 executes performance measurement for the target operation type of the data store (step S605).

[0088] Next, the performance model management program 123 determines whether a data store performance model can be created, specifically, whether the number of performance measurements required to create the data store performance model has been performed (step S606).

[0089] As a result, when the number of measurements required for creating the data store performance model has not been performed (step S606: No), the performance model management program 123 advances the process to step S604, and repeats the change of the resource allocation amount and the execution of the performance measurement. Note that the number of times of performing the performance measurement for creating the data store performance model and the resource allocation amount to be changed for each performance measurement are determined in advance.

[0090] On the other hand, when the number of measurements required for creating the data store performance model has been performed (step S606: Yes), the performance model management program 123 creates a data store performance model based on a plurality of measurement results, registers the created data store performance model in the data store performance model management table 1200 (step S607), and advances the process to step S603.

[0091] Next, the application performance model creation process S700 for creating an application performance model will be described. The application performance model creation process S700 is executed, for example, when a new application is registered in the base system 200.

[0092] FIG. 15 is a flowchart of the application performance model creation process according to the first embodiment.

[0093] In the application performance model creation process of the present embodiment, an application performance model is created for each type of operation in the application. When a plurality of algorithms are selectively executed in the application, an application performance model for each algorithm may be created for one application, and when the application has a plurality of processing phases, an application performance model for each processing phase may be created. Further, when there are a plurality of types of data that the application can process, an application performance model may be created for each type of data. Examples of the type of data include data in a database, files, block data, image files, video files, audio files, and the like. Further, a performance model may be created for each combination of a configuration file and an analysis target file.

[0094] First, the performance model management program 123 (strictly speaking, the CPU 102 that executes the performance model management program 123) causes the execution base processing program 212 to execute an instruction to execute the application for which the performance model is to be created, thereby causing the application to execute (step S702).

[0095] The performance model management program 123 acquires the types of operations that occur in the executed application (step S703).

[0096] Next, the performance model management program 123 checks whether an application performance model has been created for all performance indicators of the application (step S704). As a result, if performance models have been created for all performance indicators (step S704: Yes), the performance model management program 123 ends the application performance model creation process S700.

[0097] On the other hand, if an application performance model has not been created for a performance indicator (step S704: No), the performance model management program 123 creates an application performance model for the uncreated performance indicator. Here, the performance indicator to be targeted is referred to as the target performance indicator.

[0098] First, the performance model management program 123 checks whether all application performance models of resources, etc. (resource and data store performance) for which the application performance model is to be created have been created for the target performance indicator (step S705).

[0099] As a result, if all application performance models of the targeted resources, etc. have been created for the target performance indicator (step S705: Yes), the performance model management program 123 advances the process to step S704.

[0100] On the other hand, when the application performance model for all the target resources etc. has not been created (step S705: No), the performance model management program 123 creates the application performance model for the uncreated resources etc. (referred to as target resources etc.). Here, when creating the application performance model for the target resources etc., for the resources etc. other than the target resources etc., an equivalent amount that does not become a bottleneck for the performance of the target resources etc. is set, and the application performance model is created by gradually changing the equivalent amount of the target resources etc.

[0101] First, the performance model management program 123 changes the amount of resources allocated to the data store (allocated resource amount) or the performance of the data store to be allocated (allocated data store performance) (step S706). The change in the allocated resource amount or the allocated data store performance in the data store is performed by cooperating with the execution infrastructure processing program 212 of the base system 200. Specifically, the performance model management program 123 transmits the equivalent amount for the application and / or the equivalent amount for the data store to the execution infrastructure processing program 212 of the base system 200. Here, for the allocated data store performance, the performance model management program 123 specifies the amount of resources of the data store that realizes the allocated data store performance based on the data store performance model 1300 in the data store performance model management table 1200, and sets that amount of resources as the equivalent amount for the data store. As a result, the execution infrastructure processing program 212 receives the equivalent amount and allocates the resources etc. of the received equivalent amount to the data store. The allocation of resources etc. in the node 201 of the base system 200 can be realized by an existing program or software. For example, in the case of the Linux (registered trademark) operating system, the allocation function called Cgroups can be used. By using this Cgroups, a desired amount of resources can be allocated to a program operating on the Linux operating system.

[0102] Next, the performance model management program 123 executes performance measurement for the target performance indicators of the application (step S707).

[0103] Next, the performance model management program 123 determines whether it is possible to create an application performance model, specifically, whether the required number of performance measurements for creating the application performance model has been performed (step S708).

[0104] As a result, if the required number of measurements for creating the application performance model has not been performed (step S708: No), the performance model management program 123 advances the process to step S706 and repeats the change of the allocation amount and the execution of the performance measurement. Note that the number of performance measurements for creating the application performance model and the allocation amount to be changed for each performance measurement are determined in advance.

[0105] On the other hand, if the required number of measurements for creating the application performance model has been performed (step S708: Yes), the performance model management program 123 creates an application performance model based on a plurality of measurement results, registers the created application performance model in the application performance model management table 900 (step S709), and advances the process to step S705.

[0106] Next, the performance model correction rate measurement process S800 for measuring the correction rate of the performance model due to differences in the execution environment will be described. The performance model correction rate measurement process S800 is executed, for example, when a new execution environment is registered in the computer system 1.

[0107] FIG. 16 is a flowchart of the performance model correction rate measurement process according to the first embodiment.

[0108] First, the performance model management program 123 (strictly speaking, the CPU 102 that executes the performance model management program 123) checks whether application performance models for all of the applications (sample applications) prepared as samples have been created in the new execution environment (referred to as the new execution environment) (step S802). As a result, if application performance models for all the sample applications have been created (step S802: Yes), the performance model management program 123 advances the process to step S804.

[0109] On the other hand, when the application performance models for all sample applications have not been created (step S802: No), the performance model management program 123 executes an application performance model creation process (S700) for creating an application performance model for the sample applications that have not been created (step S803), and advances the process to step S802.

[0110] In step S804, the performance model management program 123 determines whether or not the correction rate of the performance model has been determined for the new execution environment with respect to all other execution environments. As a result, when it is determined that the correction rate of the performance model has been determined for the new execution environment with respect to all other execution environments (step S804: Yes), the performance model management program 123 ends the performance model correction rate measurement process.

[0111] On the other hand, when it is determined that the correction rate of the performance model has not been determined for the new execution environment with respect to all other execution environments (step S804: No), the performance model management program 123 executes the processes after step S805 for the other execution environments for which the correction rate has not been determined. Here, the other execution environment to be processed is referred to as the target execution environment.

[0112] The performance model management program 123 determines whether or not the correction rate of the performance model has been determined for all resources and data store performance (resources, etc.) of the target execution environment for the new execution environment (step S805).

[0113] As a result, when it is determined that the correction rate of the performance model has been determined for all resources and data store performance of the target execution environment (step S805: Yes), the performance model management program 123 advances the process to step S804.

[0114] If it is determined that the correction rate of the performance model for all resources and data store performance in the target execution environment has not been determined (step S805: No), the performance model management program 123 uses any one of the resources for which the correction rate has not been determined as the processing target and executes the processing from step S806 onward.

[0115] In step S806, the performance model management program 123 compares the performance models of the new execution environment and the target execution environment for the target resources and the like (step S806). Note that the performance model of the target execution environment was created in the past performance model correction rate measurement process S800 executed when the target execution environment was newly created and is stored in the application platform 100.

[0116] Next, the performance model management program 123 determines the correction rate that minimizes the error between these performance models (step S807), and calculates the error that occurs when applying the determined correction rate (step S808). Here, the error may be the arithmetic mean or the geometric mean.

[0117] Next, the performance model management program 123 determines whether the error is less than or equal to the threshold value (step S809). Here, the error used for comparison may be the average error or the maximum error.

[0118] As a result, if the error is less than or equal to the threshold value (step S809: Yes), the performance model management program 123 determines the margin value at the time of correction from the error (step S810), and advances the process to step S805. For example, when the error after correction is 10%, the magnification obtained by adding a 10% margin to the value may be used as the margin value.

[0119] On the other hand, if the error is not less than or equal to the threshold value (step S809: No), the performance model management program 123 registers N / A indicating non-correction as the corresponding correction rate in the performance model correction rate management table 700 (step S811), and advances the process to step S805.

[0120] According to the above-described performance model correction rate measurement process, the correction rate of the performance model between the new execution environment and the existing execution environment can be determined and registered in the performance model correction rate management table 700. Thereby, based on the correction rate in the performance model correction rate management table 700, it is possible to easily and appropriately grasp the amount of resources required in other execution environments from the amount of resources required by the performance model in a certain execution environment.

[0121] Next, the distributed site metadata search process S900 will be described. The distributed site metadata search process S900 is executed, for example, when the application platform 100 receives a search request from the host 150 for data by the user.

[0122] FIG. 17 is a flowchart of the distributed site metadata search process according to the first embodiment.

[0123] The distributed metadata management program 124 (strictly, the CPU 102 that executes the distributed metadata management program 124) issues a search query to the metadata DB 300 of each site system 200 based on the received search request (step S902). In the site system 200 that is the destination of the issued search query, when the search query is received, an in-site metadata search process S950 (see FIG. 18) described later will be executed.

[0124] Next, the distributed metadata management program 124 receives the search results of each metadata DB 300 based on each search query from each site (step S903), and the distributed metadata management program 124 aggregates the search results received from each site and responds to the host 150 that sent the search request, that is, transmits the aggregated search results (see FIG. 19) (step S904).

[0125] According to this distributed-site metadata search process S900, a search result corresponding to the user's search request is returned to the host 150, and the user can appropriately grasp the desired data.

[0126] Next, the in-site metadata search process S950 will be described. The in-site metadata search process S950 is executed, for example, when the site system 200 receives a search query from the application platform 100.

[0127] FIG. 18 is a flowchart of the in-site metadata search process according to the first embodiment.

[0128] The distributed metadata management program 214 of the site system 200 that has acquired the search query (strictly speaking, the CPU 202 that executes the distributed metadata management program 214) extracts records corresponding to the conditions of the search query from the metadata DB 300 (step S952).

[0129] Next, the distributed metadata management program 214 deletes records of metadata that the user of the search request does not have access rights to from the extracted records (step S953).

[0130] Next, the distributed metadata management program 214 responds to the application platform 100 that issued the search query with the remaining records as search results (step S954).

[0131] According to this in-site metadata search process, the search result of the search query for the metadata DB 300 in the site system 200 is returned to the issuer of the search query.

[0132] Next, the search result 350 of the distributed-site metadata search process S900 will be described.

[0133] FIG. 19 is a configuration diagram of the search result of the distributed-site metadata search process according to the first embodiment.

[0134] The search result 350 includes entries about the data obtained by the search. The entries of the search result 350 include fields of a data ID 351, a date and time 352, a size 353, whether it can be moved within the country 354, whether it can be moved overseas 355, a base 356, a data store ID 357, a type 358, and a path 359.

[0135] The data ID 351 stores an identifier (data ID) of the data unit corresponding to the entry. In this embodiment, the same data ID is also used for the data unit of a snapshot or replica of a certain data unit. The date and time 352 stores the date and time related to the data unit corresponding to the entry. For example, when the data unit is a snapshot, the date and time of the snapshot is stored, and when the data unit is a replica, the date and time of replication is stored. The size 353 stores the data size of the data unit corresponding to the entry. Whether it can be moved within the country 354 stores whether the data unit corresponding to the entry can be moved to another base within the country. Whether it can be moved overseas 355 stores whether the data unit corresponding to the entry can be moved to a base overseas. The base 356 stores the base name of the base where the data unit corresponding to the entry is stored. The data store ID 357 stores an identifier (data store ID) of the data store where the data unit corresponding to the entry is stored. The type 358 stores the type of the data unit. Examples of the type of the data unit include original which is normal data, snapshot, and replica. The path 359 stores the path of the storage destination where the data unit corresponding to the entry is stored.

[0136] Next, the app deployment process S100 will be described. The app deployment process S100 is executed, for example, when the host 150 receives a creation request for a container for executing an app from a user and a layout plan (container - data layout plan) for a data store for storing the app's data.

[0137] Figure 20 is a flowchart of the application deployment process according to the first embodiment.

[0138] When the client processing program 161 of the host 150 receives a request to create a container - data placement plan from the user via, for example, the placement plan calculation request screen 1400 (see FIG. 21), according to the creation request, it creates a placement plan creation request to the application platform 100 (step S102), and transmits the created placement plan creation request to the application platform 100 (step S103).

[0139] When the inter - site placement optimization program 111 of the application platform 100 receives a placement plan creation request from the host 150, it executes a placement plan creation process S200 to create a placement plan corresponding to the placement plan creation request, and transmits the created placement plan to the host 150 (step S104).

[0140] The client processing program 161 of the host 150 receives the placement plan transmitted from the application platform 100 and displays and outputs the placement plan. Here, the displayed placement plan may include, for example, the site ID of the site system 200 of the site system 200 that deploys the container for running the application and the data store for managing the application data, the amount of hardware resources allocated to the container, the amount of hardware resources allocated to the data store, the value of the achievable KPI, etc. Next, the client processing program 161 receives a selection of the placement plan to be applied from the user, and instructs the application platform 100 to perform a deployment according to the placement plan (step S105). If there is a problem with the placement plan, the process may be restarted from step S102 according to the user's instruction.

[0141] The optimal placement program 111 between the bases of the application platform 100 instructs the base system 200 storing the data to transfer the data necessary for the execution of the application according to the instructed placement plan (step S106). As a result, the inter-base data control program 213 of the base system 200 transfers the data necessary for the execution of the application to the base system 200 according to the placement plan in accordance with the instruction.

[0142] Next, the application platform 100 creates a setting (resource allocation setting) for allocating resources to each of the container for executing the application and the data store according to the placement plan (step S107), and sends an instruction (deployment instruction) to deploy the container and the data store according to the resource allocation setting to the base system 200 of the base included in the placement plan (step S108). As a result, the deployment control program 211 of the base system 200 that has received the instruction deploys the application container and the data store according to the resource allocation setting.

[0143] Next, the placement plan calculation request screen 1400 will be described.

[0144] FIG. 21 is a diagram showing an example of a placement plan calculation request screen according to the first embodiment.

[0145] The placement plan calculation request screen 1400 is displayed, for example, by the client processing program 161 of the host 150. The placement plan calculation request screen 1400 has an application selection column 1410, a target data designation column 1420, a KPI designation column 1430, and a send button 1440.

[0146] In the application selection column 1410, at least one of the applications registered in the application management table 800 is displayed so as to be selectable. The user selects the application to be used in the application selection column 1410.

[0147] In the target data specification field 1420, a selection column 1421 for selecting target data to be used in the application and an add button 1422 are displayed. In the selection column 1421, for example, information about data included in the search results obtained by performing a search request (e.g., data ID, date and time when the data is a snapshot, size, etc.) may be displayed. The add button 1422 is a button that accepts an instruction to add new data to the selection column 1421. When the add button 1422 is pressed, a screen or the like for specifying the data to be added to the selection column 1421 is displayed.

[0148] The KPI specification field 1430 has a restriction selection column 1431, a restriction lower limit specification column 1432, a priority specification column 1433, a tolerance relaxation width specification column 1434, a restriction add button 1435, and an optimization method specification column 1436. The combination of the restriction selection column 1431, the restriction lower limit specification column 1432, the priority specification column 1433, and the tolerance relaxation width specification column 1434 is provided for each restriction specified as a KPI.

[0149] In the restriction selection column 1431, the types of KPIs to be restricted are displayed so as to be selectable. Examples of the types of KPIs to be restricted include execution time, cost, power consumption, throughput, response time, etc. In the restriction lower limit specification column 1432, the value of the loosest restriction desired by the user for the restricted KPI (an example of target performance information and lower limit information) can be input. For example, when the KPI is the execution time, the upper limit value of the execution time can be input in the restriction lower limit specification column 1432. In the priority specification column 1433, the priorities among a plurality of restricted KPIs are displayed so as to be selectable. When there are restrictions on a plurality of KPIs, the KPI to be relaxed is determined according to this priority. In the tolerance relaxation width specification column 1434, the width (an example of relaxation range information) that can be tolerated for the restriction when there is no layout plan that satisfies the lower limit of the restricted KPI can be input.

[0150] The restriction addition button 1435 is a button for adding a type of restriction. When the restriction addition button 1535 is pressed, a restriction selection column 1431, a restriction lower limit specification column 1432, a priority specification column 1433, and a tolerance relaxation width specification column 1434 for specifying a new restriction are displayed. In the example of the layout plan calculation request screen 1400 in FIG. 21, only restriction 1 is displayed, but when the restriction addition button 1535 is pressed once, a restriction selection column 1431, a restriction lower limit specification column 1432, a priority specification column 1433, and a tolerance relaxation width specification column 1434 for specifying restriction 2 are displayed.

[0151] In the optimization method specification column 1436, a method (optimization method) for determining the optimal layout plan among the layout plans that satisfy the restrictions is selectably displayed.

[0152] The transmission button 1440 is a button that receives an instruction to calculate a layout plan based on the content specified in the application selection column 1410, the target data specification column 1420, and the KPI specification column 1430. When the transmission button 1440 is pressed, the host 150 transmits a layout plan creation request including the content specified in the application selection column 1410, the target data specification column 1420, and the KPI specification column 1430 to the application platform 100.

[0153] Next, the layout plan creation process S200 will be described.

[0154] FIG. 22 is a flowchart of the layout plan creation process according to the first embodiment. Note that the layout plan creation process in FIG. 22 shows an example in which an upper limit of the processing time is set as a restriction of the KPI and cost minimization is set as the optimization method.

[0155] The inter-site layout optimization program 111 of the application platform 100 (strictly speaking, the CPU 102 that executes the inter-site layout optimization program 111) executes an optimal layout plan calculation process S300 (see FIG. 23) for calculating an optimal layout plan (step S202).

[0156] Next, the inter-site placement optimization program 111 determines whether a placement plan that satisfies the KPI limit (the lower limit of the KPI) included in the placement plan creation request has been obtained through the optimal placement plan calculation process (step S203).

[0157] As a result, if it is determined that a placement plan that satisfies the KPI limit has been obtained (step S203: Yes), the inter-site placement optimization program 111 transmits the obtained placement plan as a response to the host 150 (step S204), and ends the placement plan creation process.

[0158] On the other hand, if it is determined that a placement plan that satisfies the KPI limit has not been obtained (step S203: No), the inter-site placement optimization program 111 determines whether there are any KPIs that can be relaxed based on the placement plan creation request (step S205).

[0159] As a result, if it is determined that there are remaining KPIs that can be relaxed (step S205: Yes), the inter-site placement optimization program 111 determines the KPI to be relaxed based on the priority of the limit of each KPI included in the placement plan creation request (step S206).

[0160] Next, the inter-site placement optimization program 111 executes a KPI search process S500 (see FIG. 28) to search for the value of the KPI that can achieve the placement plan within the relaxation range specified in the placement plan creation request and the placement plan for the determined KPI to be relaxed (step S207).

[0161] Next, the inter-site placement optimization program 111 determines whether the relaxed KPI and the placement plan that can achieve the KPI have been obtained through the KPI search process S500 (step S208). If it is determined that the relaxed KPI and the placement plan that can achieve the KPI have been obtained (step S208: Yes), the process proceeds to step S204. On the other hand, if it is determined that the relaxed KPI and the placement plan that can achieve the KPI have not been obtained (step S208: No), the process proceeds to step S205.

[0162] On the other hand, if it is determined in step S205 that there are no KPIs that can be relaxed (step S205: No), the inter-site placement optimization program 111 transmits to the host 150 that no placement plan could be obtained as a response (step S209), and ends the placement plan creation process.

[0163] Next, the optimal placement plan calculation process S300 will be described.

[0164] FIG. 23 is a flowchart of the optimal placement plan calculation process according to the first embodiment.

[0165] The inter-site placement optimization program 111 of the application platform 100 (strictly speaking, the CPU 102 that executes the inter-site placement optimization program 111) calculates the target performance of the application required for the limitation (lower limit of the KPI) of the KPI included in the placement plan creation request (step S302). A specific example of the method for calculating the target performance of the application will be described later.

[0166] Next, the inter-site placement optimization program 111 calculates the amount of resources (an example of the application allocation resource amount) of one or more resources that need to be allocated to the application (the container that executes the application) in order to make the application have the target performance (step S303). A specific example of the method for calculating the amount of resources that need to be allocated to the application (application allocation resource calculation method 1700) will be described later.

[0167] Next, the inter-site placement optimization program 111 calculates the amount of resources (an example of the data store allocation resource amount) that need to be allocated to the data store in order to make the application have the target performance (step S304). A specific example of the method for calculating the amount of resources that need to be allocated to the data store (data store allocation resource calculation method 1800) will be described later.

[0168] Next, the inter-site placement optimization program 111 determines whether the surplus resource amount of each site system 200 is sufficient for the allocated amount of the resource amount for the calculated applications and data stores (step S305). In this determination, other conditions that can determine that it is not possible to create a placement plan relatively easily without considering a specific placement plan, for example, conditions such as inability to move data domestically or abroad, may be determined.

[0169] As a result, when it is determined that the surplus resource amount of each site system 200 is sufficient for the resource amount allocated to the calculated applications and data stores (step S305: Yes), the inter-site placement optimization program 111 derives a placement plan (preferably an optimal placement plan) that satisfies these based on the surplus resources of each site system 200, the allocated resource amount for the applications and data stores, information such as whether the applications / data can be moved, etc. (step S306). As a method for deriving the optimal placement plan, a solver for mathematical programming methods may be used, or a model trained with machine learning may be used.

[0170] Next, the inter-site placement optimization program 111 determines whether a placement plan that satisfies the requirements has been obtained (step S307). As a result, when a placement plan has been obtained (step S307: Yes), the inter-site placement optimization program 111 responds with the obtained placement plan to the call source of the process (step S308) and ends the optimal placement plan calculation process.

[0171] On the other hand, when it is determined that the surplus resource amount of each site system 200 is not sufficient for the resource amount allocated to the calculated applications and data stores (step S305: No), or when no placement plan has been obtained (step S307: No), the inter-site placement optimization program 111 responds to the call source of the process that no placement plan has been obtained (step S309) and ends the optimal placement plan calculation process.

[0172] Next, the application allocation resource calculation method 1700 will be described.

[0173] FIG. 24 is a diagram for explaining a specific example of the application allocation resource calculation method according to the first embodiment. Note that FIG. 24 shows an example of calculating the resource amount (number of cores) of a CPU, which is an example of a resource, but the resource amount of other resources can also be calculated by the same process.

[0174] Based on the application execution time received as the lower limit of the KPI and the size of the data to be processed, the inter-site placement optimization program 111 calculates the processing performance (target performance) of the application that satisfies the lower limit of the KPI (corresponding to step S302 in FIG. 23). In the example of FIG. 24, the inter-site placement optimization program 111 calculates the application processing performance (300 MB / s) as the target performance by dividing the data size to be processed (360 GB) by the application execution time (20 min) (FIG. 24(1)).

[0175] Next, the inter-site placement optimization program 111 calculates the resource amount (allocation resource amount) to be allocated in each execution environment that realizes the target performance of the application (FIG. 24(2)). Here, for an execution environment having an application performance model, the inter-site placement optimization program 111 may calculate the resource amount in the execution environment that realizes the target performance of the application using the application performance model. Further, for an execution environment in which the correction rate between the execution environment in which the allocation resource amount is calculated (execution environment 1 in the example of FIG. 24) and the execution environment (execution environment 2 in the example of FIG. 24) is managed in the performance model correction rate management table 700, the allocation resource amount calculated for one execution environment (execution environment 1 as an example) may be used to calculate the allocation resource amount of other execution environments using the correction rate (or margin) between the execution environments in the performance model correction rate management table 700 (FIG. 24(3)).

[0176] Next, the data store allocation resource calculation method 1800 will be described.

[0177] FIG. 25 is a diagram for explaining a specific example of the data store allocation resource calculation method according to the first embodiment.

[0178] The inter-site placement optimization program 111 inputs the target performance of the application (Fig. 25(1)) and calculates the performance of the data store required to achieve this target performance (in the example of Fig. 25, the performance of sequential reads) (Fig. 25(2)). Specifically, the inter-site placement optimization program 111 uses the performance model of the allocated data store performance 930 in the application performance model management table 900 to calculate the performance (required performance) of the data store for achieving the target performance of the application.

[0179] Next, the inter-site placement optimization program 111 calculates the amount of resources to be allocated (allocated resource amount) in each execution environment that realizes the required performance of the data store (Fig. 25(3)). Here, for an execution environment having a data store performance model, the inter-site placement optimization program 111 may calculate the amount of resources in the execution environment that realizes the target performance of the data store using the data store performance model. Also, for an execution environment in which the correction rate between the execution environment in which the allocated resource amount is calculated (in the example of Fig. 25, execution environment 1) and the execution environment managed in the performance model correction rate management table 700 (in the example of Fig. 25, execution environment 2) is managed, for the allocated resource amount calculated for one execution environment, the correction rate (or margin) between the execution environments in the performance model correction rate management table 700 may be used to calculate the allocated resource amount of the other execution environment (Fig. 25(4)).

[0180] Next, the KPI search process S400 will be described.

[0181] Fig. 26 is a flowchart of the KPI search process according to the first embodiment.

[0182] The inter-site placement optimization program 111 divides the range of the allowable relaxation width with respect to the lower limit of the KPI into a plurality (for example, at equal intervals), and sets the endpoints of each divided section as the relaxed KPI (relaxed KPI) (step S402).

[0183] Next, the inter-site placement optimization program 111 executes the process of loop 1 (step S404) for each set relaxation KPI. In this embodiment, the process of loop 1 for each relaxation KPI is executed in parallel, but it is not necessary to execute it in parallel. If it is executed in parallel, a placement plan that satisfies each relaxation KPI can be calculated at an early stage and presented to the user at an early stage.

[0184] In the process of loop 1, the inter-site placement optimization program 111 executes an optimal placement plan calculation process S300 for calculating a placement plan for realizing the relaxation KPI for the target relaxation KPI (step S404).

[0185] Next, after the inter-site placement optimization program 111 executes the process of loop 1 for all relaxation KPIs, it ends the KPI search process.

[0186] Next, a specific example of a method for determining the KPI for which the placement plan is to be calculated will be described.

[0187] FIG. 27 is a diagram for explaining a specific example of a method for determining the KPI for which the placement plan is to be calculated according to the first embodiment.

[0188] In the example of FIG. 27, an example is shown in which the upper limit of the application execution time is specified as 20 min as the lower limit of the KPI, and the allowable relaxation width for the application execution time is specified as 20 min.

[0189] In this case, the range obtained by adding the relaxation allowable width of 20 min to the upper limit of 20 min of the application execution time, that is, the range of 20 to 40 min, becomes the range of the relaxation KPI. Here, the inter-site placement optimization program 111 divides 20 to 40 min at equal intervals (for example, 5 min), and sets each of 25, 30, 35, and 40 min, which are the endpoints of the divided intervals, as the relaxation KPI.

[0190] Next, a computer system according to the second embodiment will be described. Note that the computer system according to the second embodiment differs from the computer system according to the first embodiment only in the function of the inter-site placement optimization program 111, and the description will focus on the different parts of the function of the inter-site placement optimization program 111. For the reference numerals used, for convenience, the reference numerals used in the computer system 1 of the first embodiment will be used for the description.

[0191] The inter-site placement optimization program 111 of the computer system according to the second embodiment executes a KPI search process S500 (see FIG. 28) instead of the KPI search process S400.

[0192] FIG. 28 is a flowchart of the KPI search process according to the second embodiment.

[0193] The inter-site placement optimization program 111 determines the range of the allowable relaxation width with respect to the lower limit of the KPI as the search range for searching for a higher KPI for which a placement plan can be calculated (step S502).

[0194] Next, the inter-site placement optimization program 111 divides the determined search range into a plurality (for example, at equal intervals), and sets the endpoints of each divided section as the KPI (target KPI) for which a placement plan is to be calculated (step S503).

[0195] Next, the inter-site placement optimization program 111 executes the process of loop 2 (step S505) for each set target KPI. In this embodiment, the process of loop 2 for each target KPI is executed in parallel, but it is not necessary to execute it in parallel.

[0196] In the process of loop 2, the inter-site placement optimization program 111 executes an optimal placement plan calculation process S300 for calculating a placement plan for realizing the target KPI for the target KPI (step S505).

[0197] Next, the inter-site placement optimization program 111 determines whether there is a calculated placement plan (step S507). If there is no calculated placement plan (step S507: No), it indicates that there is no KPI for which a placement plan can be calculated within the allowable relaxation range. It responds to the call source of the process that no placement plan was obtained (step S508) and ends the KPI search process.

[0198] On the other hand, if there is a calculated placement plan (step S507: Yes), the inter-site placement optimization program 111 sets the next search range between the KPIs that could not be calculated and the highest KPI for which a placement plan has been calculated (step S509).

[0199] Next, the inter-site placement optimization program 111 determines whether the size of the search range is less than or equal to a predetermined reference value (step S510).

[0200] As a result, if the size of the search range is less than or equal to the reference value (step S510: Yes), the inter-site placement optimization program 111 returns the calculated KPIs and the placement plan to the call source of the process (step S511) and ends the KPI search process.

[0201] On the other hand, if the size of the search range is not less than or equal to the reference value (step S510: No), the inter-site placement optimization program 111 calculates the surplus resource amount of each site when the calculated placement plan is applied for each KPI for which a placement plan could be calculated (step S512).

[0202] Next, the inter-site placement optimization program 111 predicts the KPI that will exhaust the resources based on the change in the surplus resource amount for the KPI (step S513).

[0203] Next, the inter-site placement optimization program 111 determines whether the predicted KPI is within the search range (step S514). As a result, if the predicted KPI is not within the search range (step S514: NO), the inter-site placement optimization program 111 advances the process to step S503.

[0204] On the other hand, when the predicted KPI is within the search range (step S514: Yes), the inter-site placement optimization program 111 sets a plurality of KPIs for which calculation of a placement plan is to be attempted around the predicted KPI (step S515), and executes the processing of loop 2 for each of the set target KPIs. By executing the processing of this loop 2, it becomes possible to identify a higher KPI for which a placement plan can be calculated.

[0205] According to the above-described KPI search process, until the search range of the KPI becomes equal to or less than the reference value, a higher KPI for which a placement plan can be calculated is identified, and a placement plan at that KPI can be calculated.

[0206] A specific example of a method for predicting a KPI that uses up surplus resources in step S512 and step S513 will be described.

[0207] FIG. 29 is a diagram for explaining a specific example of a method for predicting a KPI that uses up surplus resources according to the second embodiment.

[0208] First, in step S512, the inter-site placement optimization program 111 calculates the amount of surplus resources at each site when the calculated placement plan is applied for each KPI (execution time in FIG. 29) for which a placement plan could be calculated. In the example of FIG. 29, when the execution time is 30 min and when the execution time is 40 min, there are placement plans, and the amount of surplus resources in each site system 200 when the placement plan is applied is as shown in the figure.

[0209] The inter-site placement optimization program 111 predicts a KPI that uses up surplus resources, that is, the highest KPI for which a placement plan may be searchable, based on the change in the execution time. For example, in the case shown in FIG. 29, since the surplus resources at site 1 decrease when the processing time changes from 40 min to 30 min, the execution time at the point where the surplus resources at site 1 are used up is predicted based on the reduction rate of this surplus resources.

[0210] Thus, when it is possible to predict the KPI that uses up the surplus resources shown in FIG. 29, in step S515, the inter-site placement optimization program 111 sets a plurality of KPIs for which placement plans are to be calculated around the predicted KPI.

[0211] In FIG. 29, an example where the CPU becomes a performance bottleneck is shown. However, when other resources become bottlenecks, the same processing may be performed for those resources. For example, when the KPI is specified as cost, the amount of surplus resources may be regarded as surplus cost.

[0212] According to the method for predicting the KPI that uses up the surplus resources described above, it becomes possible to search for a higher KPI (closer to the lower limit of the specified KPI) that can satisfy the placement plan.

[0213] Next, a computer system according to the third embodiment will be described. The computer system according to the third embodiment differs from the computer system according to the first embodiment only in the function of the inter-site placement optimization program 111, and will be mainly described with respect to the different parts of the function of the inter-site placement optimization program 111. Note that, for convenience of explanation, the reference numerals used in the computer system 1 of the first embodiment will be used.

[0214] The inter-site placement optimization program 111 of the computer system according to the third embodiment executes a placement plan creation process S1000 (see FIG. 30) instead of the placement plan creation process S200.

[0215] FIG. 30 is a flowchart of the arrangement plan creation process according to the third embodiment. Note that the arrangement plan creation process in FIG. 30 shows an example in the case where an upper limit of cost is set as a restriction regarding KPI, and maximization of processing performance is set as an optimization method. Here, since the cost changes depending on the arrangement of containers, there may be a case where the resource allocation amount cannot be uniquely determined for a specific cost. Therefore, by checking the change in cost when changing the performance of the application, an arrangement plan that maximizes the processing performance while using up the cost is searched for.

[0216] The inter-site placement optimization program 111 determines a search range for searching for KPIs for the processing performance capable of calculating an arrangement plan (step S1002). The search range may be determined based on, for example, the upper limit performance when creating a performance model, or KPIs corresponding to the average performance grasped based on the logs in the actual arrangement.

[0217] Next, the inter-site placement optimization program 111 divides the determined search range into a plurality (for example, at equal intervals), and sets the endpoints of each divided section as KPIs (target KPIs) for which to try to calculate an arrangement plan (step S1003).

[0218] Next, the inter-site placement optimization program 111 executes the processing of loop 3 (step S1005) for each set target KPI. In this embodiment, the processing of loop 3 for each target KPI is executed in parallel, but it does not have to be executed in parallel.

[0219] In the processing of loop 3, the inter-site placement optimization program 111 executes an optimal placement plan calculation process S300 for calculating an arrangement plan for realizing the target KPI for the target KPI (step S1005).

[0220] Next, the inter-site placement optimization program 111 determines whether a placement plan that satisfies the target KPI has been calculated (step S1007). If it is determined that no placement plan has been calculated (step S1007: No), the inter-site placement optimization program 111 moves the search range in the direction of relaxing the KPI conditions and so that it does not overlap with the current search range (step S1008), and proceeds with the process to step S1003. As a result, a placement plan will be calculated for a KPI with more relaxed conditions.

[0221] On the other hand, if it is determined that a placement plan has been calculated (step S1007: Yes), the inter-site placement optimization program 111 determines whether a placement plan has been calculated for all target KPIs (step S1009).

[0222] As a result, if it is determined that a placement plan has been calculated for all target KPIs (step S1009: Yes), the inter-site placement optimization program 111 moves the search range in the direction of making the KPI conditions stricter and so that it does not overlap with the current search range (step S1010), and proceeds with the process to step S1013.

[0223] On the other hand, if it is determined that a placement plan has not been calculated for all target KPIs (step S1009: NO), the inter-site placement optimization program 111 sets the range between the target KPIs for which a placement plan has been calculated and the target KPIs for which a placement plan has not been calculated as the search range for the next KPI (step S1011).

[0224] Next, the inter-site placement optimization program 111 determines whether the size of the search range is equal to or less than a predetermined reference value (step S1012).

[0225] As a result, if the size of the search range is equal to or less than the reference value (step S1012: Yes), the inter-site placement optimization program 111 returns the calculated KPI and placement plan to the calling source of the process (step S1017), and ends the placement plan creation process.

[0226] On the other hand, when the size of the search range is not less than the reference value (step S1012: No), the inter-site placement optimization program 111 advances the process to step S1013.

[0227] In step S1013, for each KPI for which a placement plan could be calculated, the inter-site placement optimization program 111 calculates the surplus resource amount and cost of each site when the calculated placement plan is applied (step S1013).

[0228] Next, the inter-site placement optimization program 111 predicts the KPI that uses up resources and costs from the change in the surplus resource amount for the KPI (step S1014).

[0229] Next, the inter-site placement optimization program 111 determines whether the predicted KPI is within the search range (step S1015). As a result, if the predicted KPI is not within the search range (step S1015: NO), the inter-site placement optimization program 111 advances the process to step S1003.

[0230] On the other hand, when the predicted KPI is within the search range (step S1015: Yes), the inter-site placement optimization program 111 sets a plurality of KPIs for which to try calculating a placement plan around the predicted KPI (step S1016), and executes the processing of loop 3 for each set target KPI. Note that the processing of steps S1013 to S1016 is the same as the processing shown in FIG. 29.

[0231] According to the above-described KPI search process, until the search range of the KPI becomes less than or equal to the reference value, a higher KPI for which a placement plan can be calculated is specified, and a placement plan for that KPI can be calculated.

[0232] Note that the present invention is not limited to the above-described embodiments, and can be appropriately modified and implemented without departing from the spirit of the present invention.

[0233] For example, in the above embodiment, as target performance information, the lower limit of the target performance is received, and an input of a relaxation range that can be tolerated in the case where there is no arrangement plan that satisfies the lower limit is received, and when there is no arrangement plan that satisfies the lower limit of the target performance, an arrangement plan that satisfies the allowable range is searched for. However, the present invention is not limited to this. For example, as target performance information, target performance range information that can specify the range of the target performance (target performance range: for example, the upper limit and the lower limit) may be received, and an arrangement plan that also satisfies the performance within the target performance range may be searched for. In this case, in the process in the above embodiment, the term "lower limit of the target performance" may be read as "upper limit of the target performance range", and the terms "relaxation range" and "allowable relaxation width" may be read as "target performance range". Further, in this case, even when there is an arrangement plan corresponding to the upper limit of the target performance range, the KPI search process S207 (S400, S500) for searching for an arrangement plan within the target performance range may be executed.

[0234] Also, in the above embodiment, the application platform 100 has a configuration different from that of the base system, but the present invention is not limited to this. The function of the application platform 100 may be provided in any one of the base systems 200, or may be distributed and provided in a plurality of base systems 200.

[0235] Also, in the above embodiment, by storing an application performance model corresponding to at least one type of execution environment and a correction rate regarding the application performance model between types of execution environments, the correspondence between the performance of the application in each base system and the performance of the resources capable of realizing the performance of the application, and the correspondence between the performance of the application and the performance of the data store capable of realizing the performance of the application can be specified. However, the present invention is not limited to this. For example, an application performance model corresponding to each base system may be stored.

[0236] In the above embodiment, by storing a data store performance model corresponding to at least one type of execution environment and a correction rate regarding the data store performance model between types of execution environments, it is possible to specify the correspondence between the performance of the data store in each site system and the performance of the resources capable of realizing the performance of the data store. However, the present invention is not limited to this. For example, a data store performance model corresponding to each site system may be stored.

[0237] In the above embodiment, the correction rate due to the difference in the execution environment is calculated by actually executing a sample application and measuring it. However, the present invention is not limited to this. For example, the correction rate may be determined based on specifications such as the CPU frequency ratio between execution environments.

[0238] In the above embodiment, when deploying an application, a container in which the application is executed is deployed. However, the present invention is not limited to this. For example, a VM (virtual machine) in which the application is executed may be deployed, or a process in which the application is executed may be deployed.

[0239] In the above embodiment, part or all of the processing performed by the CPU may be performed by a hardware circuit. Also, the program in the above embodiment may be installed from a program source. The program source may be a program distribution server or a recording medium (for example, a portable recording medium).

Description of Reference Numerals

[0240] 1... computer system, 100... application platform, 101... node, 150... host, 200, 200-1, 200-2, 200-3... site systems, 201... node, 1000... application performance model, 1300... data store performance model

Claims

1. A placement plan searching device that searches for placement plans for services that handle data in a plurality of base systems, comprising: A storage unit and a processor connected to the storage unit, The service includes an application that performs processing using data and a data store that stores data used by the application; The storage unit is storing service resource amount performance information capable of identifying a correspondence relationship between the performance of the service and information on the amount of hardware resources for the service capable of realizing the performance of the service in the plurality of base systems; The processor, receiving target performance information capable of identifying a target performance of the service from a user; determining, for the plurality of base systems, a service allocation resource amount, which is a resource amount of hardware for the service required to realize the performance of the service specified by the target performance information, based on the service resource amount performance information; As an arrangement plan for the service, a base system capable of realizing the amount of resource allocated to the service in one base system is searched for from among the plurality of base systems. Layout plan search device.

2. The storage unit is storing types of execution environments of the plurality of base systems; The service resource amount performance information includes information for identifying a correspondence relationship between the performance of the service and the performance of the hardware capable of realizing the performance of the service for at least one of the types of the execution environment, and correction information for the correspondence relationship between the performance of the service and the performance of the hardware capable of realizing the performance of the service depending on the type of the execution environment, The processor, determining, for the plurality of base systems, a service allocation resource amount, which is a resource amount of hardware for the service required to realize the performance of the service specified by the target performance information, based on the service resource amount performance information including the correction information; The layout plan searching device according to claim 1 .

3. The service resource amount performance information application resource amount performance information capable of identifying a correspondence relationship between the performance of the application and information on the amount of hardware resources capable of realizing the performance of the application in the plurality of base systems; application data store performance information capable of identifying a correspondence relationship between the performance of the application and the performance of the data store capable of realizing the performance of the application in the plurality of base systems; data store resource amount performance information capable of identifying a correspondence relationship between the performance of the data store and information on the amount of hardware resources capable of realizing the performance of the data store in the plurality of base systems; The processor, receiving, as the target performance information, information capable of identifying a target performance of the application; determining, for the plurality of base systems, an application allocation resource amount, which is a hardware resource amount necessary to realize the performance of the application specified by the target performance information, based on the application resource amount performance information; determining, for the plurality of base systems, required performance, which is performance of a data store required to realize the performance of an application specified by the target performance information, based on the application data store performance information; determining, for the plurality of base systems, a data store allocation resource amount, which is a hardware resource amount necessary to realize the required performance, based on the data store resource amount performance information; A placement plan of the application and the data store in the plurality of base systems that can realize the application resource allocation amount and the data store resource allocation amount is searched for. The layout plan searching device according to claim 1 .

4. the target performance information includes target performance range information capable of identifying a target performance range of the application, The processor, A placement plan that satisfies the performance of the target performance range specified by the target performance range information is searched for. The layout plan searching device according to claim 3.

5. The processor, A placement plan that satisfies a plurality of performances in a target performance range corresponding to the target performance range information is searched for in parallel.

5. The layout plan searching device according to claim 4.

6. The processor, Search for a layout plan that provides higher performance within the target performance range. The layout plan searching device according to claim 5.

7. The processor, Searching for placement plans for a plurality of performances in a target performance range corresponding to the target performance range information; A placement plan that provides higher performance within the target performance range is searched for by searching for placement plans for a performance between the performance for which the placement plan can be searched and the performance for which the placement plan cannot be searched. The layout plan searching device according to claim 6.

8. The processor, Searching for placement plans for a plurality of performances in a target performance range corresponding to the target performance range information; A surplus resource amount that will be generated when the placement plan is applied to the performance for which the placement plan can be found is calculated, and performance for which a placement plan can be found is predicted based on the surplus resource amount, and placement plans are searched for a plurality of performances in the vicinity of the predicted performance, thereby searching for a placement plan that will provide higher performance within the target performance range. The layout plan searching device according to claim 7.

9. The storage unit is storing types of execution environments of the plurality of base systems; the application resource amount performance information includes information for identifying a correspondence relationship between the performance of the application and the performance of the hardware capable of realizing the performance of the application for at least one of the types of execution environments, and first correction information of the correspondence relationship between the performance of the application and the performance of the hardware capable of realizing the performance of the application depending on the type of execution environment, The application data store performance information includes information for identifying a correspondence relationship between the performance of the application and the performance of the data store capable of realizing the performance of the application, for at least one of the types of the execution environment, and second correction information for the correspondence relationship between the performance of the application and the performance of the data store capable of realizing the performance of the application, depending on the type of the execution environment; the data store resource amount performance information includes information capable of identifying a correspondence relationship between the performance of the data store and information on the resource amount of hardware capable of realizing the performance of the data store for at least one of the types of execution environments, and third correction information of the correspondence relationship between the performance of the data store according to the type of execution environment and information on the resource amount of hardware capable of realizing the performance of the data store, The processor, determining, for the plurality of base systems, an application allocation resource amount, which is a hardware resource amount necessary to realize the performance of the application specified by the target performance information, based on the application resource amount performance information including the first correction information; determining required performance for the plurality of base systems, the required performance being the performance of a data store required to realize the performance of an application specified by the target performance information, based on the application data store performance information including the second correction information; A data store allocation resource amount, which is a resource amount of hardware required to realize the required performance, is determined for the plurality of base systems based on the data store resource amount performance information including the third correction information. The layout plan searching device according to claim 3.

10. The processor, Present the layout plan that was searched for The layout plan searching device according to claim 1 .

11. The processor, The service is placed according to the placement plan found. The layout plan searching device according to claim 1 .

12. The processor, receiving target cost information capable of identifying a target cost for the service from a user; The target performance information is the target performance information received from a user or a predetermined target performance information, determining, for the plurality of base systems, a service allocation resource amount, which is a resource amount of hardware for the service required to realize the performance of the service specified by the target performance information, based on the service resource amount performance information; A placement plan for the service in the plurality of base systems that satisfies a target cost corresponding to the target cost information and can realize the service resource allocation amount is searched for. The layout plan searching device according to claim 1 . Layout plan search device.

13. A computer system including a plurality of base systems and a placement plan searching device that searches for placement plans for services that handle data in the plurality of base systems, The layout plan searching device includes: A storage unit and a processor connected to the storage unit, The service includes an application that performs processing using data and a data store that stores data used by the application; The storage unit is storing service resource amount performance information capable of identifying a correspondence relationship between the performance of the service in the plurality of base systems and information on the amount of hardware resources for the service capable of realizing the performance of the service; The processor, receiving target performance information capable of identifying a target performance of the service from a user; determining, for the plurality of base systems, a service allocation resource amount, which is a resource amount of hardware for the service required to realize the performance of the service specified by the target performance information, based on the service resource amount performance information; As an arrangement plan for the service, a base system capable of realizing the amount of resource allocated to the service in one base system is searched for from among the plurality of base systems. Computer system.

14. A placement plan searching method by a placement plan searching device that searches for placement plans for services that handle data in a plurality of base systems, comprising: The service includes an application that performs processing using data and a data store that stores data used by the application; The layout plan searching device includes: storing service resource amount performance information capable of identifying a correspondence relationship between the performance of the service in the plurality of base systems and information on the amount of hardware resources for the service capable of realizing the performance of the service; receiving target performance information capable of identifying a target performance of the service from a user; determining, for the plurality of base systems, a service allocation resource amount, which is a resource amount of hardware for the service required to realize the performance of the service specified by the target performance information, based on the service resource amount performance information; As an arrangement plan for the service, a base system capable of realizing the amount of resource allocated to the service in one base system is searched for from among the plurality of base systems. How to search for layout plans.

Citation Information

Patent Citations

  • Program, method, and device for dispersing load

    JP2006332825A

  • Virtual server

    JP2009265778A

  • Load balancing program, load balancing device, and load balancing method

    JP2011018167A

  • System and service control method

    JP2019211955A

  • Computer system and operation management method for computer system

    JP2021196922A