Search methods for computer systems and environments

The system addresses the challenge of finding a suitable cloud environment by searching for candidate environments that meet constraints and modifying requirements, ensuring a system is found that satisfies both conditions to the best extent possible.

JP7756603B2Active Publication Date: 2025-10-20HITACHI VANTARA LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2022103487
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-06-28
Publication Date
2025-10-20
Estimated Expiration
2042-06-28

AI Technical Summary

Technical Problem

Existing systems fail to provide an environment that satisfies both environmental requirements and deployment constraints when no suitable cloud system is available.

Method used

A computer system that searches for candidate environments by executing a first environment search process to find a system that meets constraints and, if unsuccessful, modifies environmental requirements and executes a second search process to find a system that satisfies the modified requirements.

Benefits of technology

The system presents a cloud system that meets constraints and satisfies environmental requirements as much as possible, even when no initial system meets both conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007756603000001
    Figure 0007756603000001
  • Figure 0007756603000002
    Figure 0007756603000002
  • Figure 0007756603000003
    Figure 0007756603000003
Patent Text Reader

Abstract

To solve the problem that an environment in which an object is to be deployed cannot be presented if there is no environment that satisfies both environmental requirements and constraints.SOLUTION: A computer system that searches for candidates for an environment in which an object is to be deployed is configured to: connect to a plurality of infrastructure systems for providing the environment; receive a search request including environmental requirements which are conditions required for the environment in which the object is to be deployed, and constraints which are conditions to be observed in deploying the object; perform a first environment search process to search for the environment that satisfies the constraints and the environmental requirements; modify, if there is no environment in which the object can be deployed as a result of the first environment search process, the environmental requirements; and perform a second environment search process to search for the environment that satisfies the constraints and the modified environmental requirements.SELECTED DRAWING: Figure 12
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a technology for deploying objects such as applications and software in a multi-cloud environment. [Background technology]

[0002] The use of multi-cloud, which operates business systems using multiple cloud services, is becoming more widespread. The technology described in Patent Document 1 is known as a technology for deploying applications, data, etc. for implementing the services of a business system in an environment where the cloud system is implemented.

[0003] Patent document 1 states that "the deployment device 60 comprises a memory unit 61 that stores deployment destination information including information indicating the system environment in which the system operates and information indicating deployment targets that can be deployed to the system environment, and a selection unit 62 that selects deployment destination information that indicates the system environment in which the input deployment target can be deployed from the deployment destination information stored in the memory unit 61."

[0004] In this specification, applications, data, etc. that are placed in an environment are referred to as objects. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Japanese Patent Application Laid-Open No. 2017-174131 Summary of the Invention [Problem to be solved by the invention]

[0006] In the prior art, an environment that satisfies the requirements for the environment in which an object is to be placed (environmental requirements) and the constraints for the placement of the object is presented. If there is no environment that satisfies both the environmental requirements and the constraints, the prior art cannot present an environment in which to place the object.

[0007] The present invention realizes a system that, when no environment exists that satisfies both the environmental requirements and the constraints, presents an environment that satisfies the constraints and also satisfies the environmental requirements as much as possible. [Means for solving the problem]

[0008] A representative example of the invention disclosed in the present application is as follows: A computer system that searches for candidate environments for deploying an object includes at least one computer having a processor, a storage device connected to the processor, and a network interface connected to the processor, and is connected to a plurality of infrastructure systems that provide the environments, the at least one computer receives a search request including environmental requirements that are conditions required for the environment in which the object is deployed and constraints that are conditions that must be met when deploying the object, executes a first environment search process that searches for an environment that satisfies the constraints and the environmental requirements, and, if the result of the first environment search process shows that there is no environment in which the object can be deployed, modifies the environmental requirements and executes a second environment search process that searches for an environment that satisfies the constraints and the modified environmental requirements. [Effects of the Invention]

[0009] According to the present invention, when there is no cloud system that satisfies both the environmental requirements and the constraints, the computer system can present a cloud system that satisfies the constraints and also satisfies the environmental requirements as much as possible as an environment candidate. Problems, configurations, and effects other than those described above will become clear from the description of the following embodiments. [Brief explanation of the drawings]

[0010] [Figure 1] FIG. 1 illustrates an example of a system configuration according to a first embodiment. [Figure 2] FIG. 2 is a diagram illustrating an example of a configuration of a computer according to a first embodiment. [Figure 3] FIG. 2 is a diagram illustrating an example of a software configuration of the environment candidate search system according to the first embodiment. [Figure 4A] FIG. 10 is a diagram illustrating an example of information stored in an application DB according to the first embodiment. [Figure 4B] FIG. 10 is a diagram illustrating an example of information stored in an application DB according to the first embodiment. [Figure 4C] FIG. 10 is a diagram illustrating an example of information stored in an application DB according to the first embodiment. [Figure 5] FIG. 10 is a diagram illustrating an example of information stored in a base system DB according to the first embodiment. [Figure 6] FIG. 4 is a diagram illustrating an example of information stored in an operation history DB according to the first embodiment. [Figure 7] FIG. 10 is a diagram illustrating an example of information stored in a setting item DB according to the first embodiment. [Figure 8] FIG. 10 is a diagram illustrating an example of information stored in a setting item change pattern DB according to the first embodiment. [Figure 9] FIG. 2 is a diagram illustrating an example of a screen presented by the environment candidate search system according to the first embodiment. [Figure 10A] FIG. 10 is a diagram illustrating an example of information stored in a change risk DB according to the first embodiment. [Figure 10B] FIG. 10 is a diagram illustrating an example of information stored in a change risk DB according to the first embodiment. [Figure 11] 10 is a flowchart illustrating an example of an application information update process executed by the environment candidate search system according to the first embodiment. [Figure 12] 10 is a flowchart illustrating an example of a candidate environment search process executed by the candidate environment search system according to the first embodiment. [Figure 13] FIG. 2 is a diagram illustrating an example of a screen presented by the environment candidate search system according to the first embodiment. [Figure 14] FIG. 2 is a diagram illustrating an example of a candidate environment list output by the candidate environment search system according to the first embodiment. [Figure 15] FIG. 2 is a diagram illustrating an example of a screen presented by the environment candidate search system according to the first embodiment. [Figure 16] 10 is a flowchart illustrating an example of a first environment search process executed by the environment candidate search system of the first embodiment. [Figure 17]10 is a flowchart illustrating an example of an environmental requirement change process executed by the environment candidate search system according to the first embodiment. [Figure 18A] 10 is a flowchart illustrating an example of a second environment search process executed by the environment candidate search system of the first embodiment. [Figure 18B] 10 is a flowchart illustrating an example of a second environment search process executed by the environment candidate search system of the first embodiment. [Figure 19] 10 is a flowchart illustrating an example of a candidate environment search process executed by the candidate environment search system according to the second embodiment. [Figure 20] 10 is a flowchart illustrating an example of a third environment search process executed by the environment candidate search system according to the second embodiment. [Figure 21] 11 is a flowchart illustrating an example of a third environment search process executed by the environment candidate search system according to the third embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0011] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention should not be construed as being limited to the description of the embodiments shown below. Those skilled in the art will readily understand that the specific configuration can be changed without departing from the spirit or intent of the present invention.

[0012] In the configuration of the invention described below, the same or similar configurations or functions are denoted by the same reference numerals, and redundant explanations will be omitted.

[0013] In this specification, the terms "first," "second," "third," etc. are used to identify components and do not necessarily limit the number or order.

[0014] To facilitate understanding of the invention, the position, size, shape, range, etc. of each component shown in the drawings etc. may not represent the actual position, size, shape, range, etc. Therefore, the present invention is not limited to the position, size, shape, range, etc. disclosed in the drawings etc. [Example]

[0015] Fig. 1 is a diagram illustrating an example of a system configuration according to the first embodiment. Fig. 2 is a diagram illustrating an example of a computer configuration according to the first embodiment.

[0016] The system of the first embodiment is composed of an environment candidate search system 100, an application catalog management system 101, a deployment control system 102, and multiple infrastructure systems (cloud systems) 103. The environment candidate search system 100, the application catalog management system 101, the deployment control system 102, and the multiple infrastructure systems 103 are connected to one another via a network 104 such as a LAN (Local Area Network) or a WAN (Wide Area Network). The network 104 may be connected via either a wired or wireless method.

[0017] The system may also include a terminal for inputting various types of information and receiving the output of various types of information.

[0018] The infrastructure system 103 is a computer system that provides an environment for executing the application 110. The environment provided by the infrastructure system 103 includes the application 110 and a DB 120.

[0019] The application catalog management system 101 manages an application catalog, which is information about the applications 110 .

[0020] The environment candidate search system 100 searches for an environment (infrastructure system 103) in which to place objects such as an application 110 and data, based on environmental requirements and constraints. In this embodiment, the application 110 is described as an object to be placed. Note that data may also be an object.

[0021] The environmental requirements represent the conditions required for the environment in which the object is deployed, such as the software, protocols, and amount of resources required for deploying the object, etc. The constraints represent the conditions that must be observed when deploying the object, such as the location and users of the object.

[0022] The deployment control system 102 deploys objects in an environment based on the information of the environment candidate searched by the environment candidate search system 100 and selected by the user.

[0023] Each of the environment candidate search system 100, the application catalog management system 101, the deployment control system 102, and the infrastructure system 103 is configured, for example, by a computer 200 as shown in FIG.

[0024] The computer 200 includes a processor 201, a main memory device 202, a secondary memory device 203, a network interface 204, an input device 205, and an output device 206. The hardware elements are connected to each other via a bus 207. Note that the computer 200 does not necessarily have to include the input device 205 and the output device 206.

[0025] The processor 201 executes a program stored in the main memory device 202. The processor 201 functions as a functional unit (module) by executing processing in accordance with the program. In the following description, when processing is described using the functional unit as the subject, this indicates that the processor 201 is executing a program that realizes the functional unit.

[0026] The main storage device 202 is a memory or the like, and stores the programs executed by the processor 201 and information used by the programs. The main storage device 202 also includes a work area that is temporarily used by the programs.

[0027] The secondary storage device 203 is a hard disk drive (HDD) or a solid state drive (SSD), and permanently stores large amounts of data. The programs and information stored in the main storage device 202 may be stored in the secondary storage device 203. In this case, the processor 201 reads the programs and information from the secondary storage device 203 and loads them into the main storage device 202.

[0028] The network interface 204 communicates with external devices via a network. The input device 205 is a keyboard, a mouse, a touch panel, etc. The output device 206 is a display, etc.

[0029] FIG. 3 is a diagram illustrating an example of the software configuration of the environment candidate search system 100 according to the first embodiment.

[0030] The environment candidate search system 100 includes an object information management unit 301, an infrastructure system information management unit 302, an environment candidate search unit 303, an environment evaluation unit 304, an environmental requirement change unit 305, an environment candidate presentation unit 306, and an application monitoring unit 307. The environment candidate search system 100 also stores an application DB 311, an infrastructure system DB 312, an operation history DB 313, a setting item DB 314, a setting item change pattern DB 315, and a change risk DB 316.

[0031] The application DB 311 is a database for managing information related to the application 110. The infrastructure system DB 312 is a database for managing information related to the infrastructure system 103. The operation history DB 313 is a database for managing the operation history of the deployed application 110.

[0032] The setting item DB 314 is a database for managing setting items that define environmental requirements. The setting item change pattern DB 315 is a database for managing change patterns of setting items (setting item change patterns). The change risk DB 316 is a database for managing information related to risks associated with changes to setting items.

[0033] An object information management unit 301 collects object information and registers it in an application DB 311. An infrastructure system information management unit 302 collects information on the infrastructure system 103 and registers it in an infrastructure system DB 312. An application monitoring unit 307 monitors the deployment and termination of the application 110 and registers the monitoring results in an operation history DB 313.

[0034] The environment candidate search unit 303 searches for environments (environment candidate) that satisfy the environmental requirements and constraints. The environment evaluation unit 304 evaluates the placement of objects in the environment. For example, the processing time and cost involved in placing the objects in the environment are evaluated. The environment requirement change unit 305 changes the environmental requirements based on the setting item change pattern. The environment candidate presentation unit 306 presents the searched environment candidate.

[0035] It should be noted that with regard to each functional unit of the environment candidate search system 100, multiple functional units may be combined into one functional unit, or one functional unit may be divided into multiple functional units.

[0036] 4A, 4B, and 4C are diagrams illustrating an example of information stored in the application DB 311 according to the first embodiment.

[0037] The application DB 311 stores three tables: a table 400 (FIG. 4A), a table 410 (FIG. 4B), and a table 420 (FIG. 4C).

[0038] 4A is information corresponding to the catalog of the application 110. Note that the application DB 311 stores a plurality of tables 400, and each table 400 is given a name (catalog name).

[0039] The table 400 stores entries each including an application ID 401, an application name 402, a repository 403, a version 404, an owner 405, and a fee 406. There is one entry for each application 110. Note that the fields included in an entry are not limited to those described above. An entry may not include any of the above fields, or may include other fields.

[0040] App ID 401 is a field that stores the ID of the application 110. The ID of the application 110 stored in app ID 401 is treated as identification information of the entry. App Name 402 is a field that stores the name of the application 110. Repository 403 is a field that stores information about the repository in which the entity of the application 110 is stored. In repository 403, for example, a link is stored. Version 404 is a field that stores the version of the application 110. Owner 405 is a field that stores the owner of the application 110. Fee 406 is a field that stores the usage fee for the application 110.

[0041] 4B is information for managing requirements related to software and resources included in the environmental requirements of the application 110. Note that the environmental requirements may also include cooperation between the application 110, a communication method, and the like.

[0042] The table 410 stores entries each including an application ID 411, platform software 412, CPU 413, memory 414, and storage 415. There is one entry for each application 110. Note that the fields included in an entry are not limited to those described above. An entry may not include any of the above fields, or may include other fields.

[0043] The application ID 411 is the same field as the application ID 401. The ID of the application 110 stored in the application ID 411 is treated as identification information of the entry. The platform software 412 is a field that stores information about software that should be implemented in the deployment environment. The CPU 413, memory 414, and storage 415 are fields that store the amount of resources required for deploying the application 110.

[0044] Table 420 in FIG. 4C is information for managing the constraints of application 110.

[0045] The table 420 stores entries each including an application ID 421, a user 422, and a location 423. One entry exists for each application 110. Note that the fields included in an entry are not limited to those described above. An entry may not include any of the above fields, or may include other fields.

[0046] The application ID 421 is the same field as the application ID 401. 421 The ID of the application 110 stored in is treated as identification information of the entry. User 422 is a field for storing information of a user who can use the application 110. Location 423 is a field for storing a location such as a country or region where the environment in which the application 110 can be deployed is located.

[0047] FIG. 5 is a diagram illustrating an example of information stored in the infrastructure system DB 312 according to the first embodiment.

[0048] The infrastructure system DB 312 stores a table 500. The table 500 stores entries including an environment ID 501, an environment name 502, a cluster name 503, infrastructure software 504, resources 505, and users 506. One entry exists for one environment. Note that the fields included in an entry are not limited to those described above. An entry may not include any of the above-described fields, or may include other fields.

[0049] The environment ID 501 is a field that stores the ID of the environment. The environment ID stored in the environment ID 501 is treated as identification information for the entry. The environment name 502 is a field that stores the name of the environment. The cluster name 503 is a field that stores the name of the cluster that constitutes the environment. In this embodiment, one or more clusters are configured in the infrastructure system 103, and one environment is realized using one cluster.

[0050] Platform software 504 is a field that stores information about software implemented in the environment. Resources 505 is a group of fields for managing the resources of the environment. Resources 505 includes fields that store the total amount of CPU, free CPU capacity, total amount of memory, free memory capacity, etc. Users 506 is a field that stores information about users who can use the environment.

[0051] FIG. 6 is a diagram illustrating an example of information stored in the operation history DB 313 according to the first embodiment.

[0052] The operation history DB 313 stores a table 600. The table 600 stores entries including an object ID 601, an environment ID 602, a catalog name 603, an application ID 604, a user 605, a resource 606, a start time 607, an end time 608, a schedule 609, and a movement 610. One entry exists for one object. Note that the fields included in an entry are not limited to those described above. An entry may not include any of the above-described fields, or may include other fields.

[0053] The object ID 601 is a field that stores the ID of a deployed object. The ID of the object stored in the object ID 601 is treated as identification information of the entry. Since multiple copies of the same application 110 may be deployed in the environment, the object ID is used to identify the deployed application 110.

[0054] The environment ID 602 ​​is the same field as the environment ID 501. The catalog name 603 is a field that stores the name of the table 400 that manages information about the application 110 corresponding to the object. The application ID 604 is a field that stores the ID of the application 110.

[0055] User 605 is a field that stores information about the user who uses the object. Resource 606 is a group of fields that stores the amount of resources allocated when the object is deployed. Resource 606 includes a group of fields that store the number of CPUs, memory capacity, storage capacity, etc.

[0056] The start time 607 is a field that stores the time when the object was deployed to the environment. The end time 608 is a field that stores the time when the object was deleted from the environment.

[0057] The schedule 609 is a field for storing the usage period of the application 110. The move 610 is a field for storing whether or not an object can be moved.

[0058] FIG. 7 is a diagram illustrating an example of information stored in the setting item DB 314 according to the first embodiment.

[0059] The setting item DB 314 stores a table 700. The table 700 stores entries each including a setting item ID 701, an object ID 702, and a setting item 703. There is one entry for each combination of an application 110 and a setting item. Note that the fields included in an entry are not limited to those described above. An entry may not include any of the above fields, or may include other fields.

[0060] The setting item ID 701 is a field for storing an ID used as identification information for an entry. The object ID 702 is a field for storing identification information for an object to be deployed. The setting item 703 is a field for storing the value of a setting item that defines an environmental requirement.

[0061] Fig. 8 is a diagram illustrating an example of information stored in the setting item change pattern DB 315 according to the first embodiment. Fig. 9 is a diagram illustrating an example of a screen presented by the environment candidate search system 100 according to the first embodiment.

[0062] The setting item change pattern DB 315 stores a table 800. The table 800 stores entries including a pattern ID 801, an item type 802, a setting item (before change) 803, a setting item (after change) 804, a count 805, and an approver 806. One entry exists for one setting item change pattern. Note that the fields included in an entry are not limited to those described above. An entry may not include any of the above fields, or may include other fields.

[0063] The pattern ID 801 is a field that stores the ID of a setting item change pattern. The ID stored in the pattern ID 801 is treated as identification information of the entry. The item type 802 is a field that stores the type of the setting item. The setting item (before change) 803 is a field that stores the value of the setting item before change. The setting item (after change) 804 is a field that stores the value of the setting item. After the change The number of times 805 is a field that stores the number of times the setting item change pattern has been used. The approver 806 is a field that stores the approver who obtains approval when applying the setting item change pattern. If the approver 806 is blank, it indicates that approval is not required.

[0064] The setting item change pattern is set using, for example, a screen 900 as shown in Fig. 9. The screen 900 includes input fields 901, 902, and 903, operation buttons 904 and 905, and a display field 906.

[0065] An input field 901 is a field for inputting an item type, an input field 902 is a field for inputting a value of a setting item before change, and an input field 903 is a field for inputting a value of a setting item after change.

[0066] Operation button 904 is an operation button for registering an entry including the values ​​input in input fields 901, 902, and 903 in setting item change pattern DB 315. Operation button 905 is an operation button for canceling the registration of an entry in setting item change pattern DB 315.

[0067] A display field 906 is a field that displays entries registered in the setting item change pattern DB 315. The display field 906 may display all entries registered in the setting item change pattern DB 315, or may display only entries registered by the user.

[0068] 10A and 10B are diagrams illustrating an example of information stored in the change risk DB 316 according to the first embodiment.

[0069] The change risk DB 316 stores two tables: a table 1000 (FIG. 10A) and a table 1010 (FIG. 10B).

[0070] Table 1000 in Fig. 10A is information for managing risk values ​​that indicate the magnitude of risk of changes corresponding to setting item change patterns. Table 1000 stores entries each including a risk ID 1001, an item type 1002, and a risk value 1003. One entry exists for each setting item type. Note that the fields included in an entry are not limited to those described above. An entry may not include any of the above-described fields, or may include other fields.

[0071] The risk ID 1001 is a field that stores an ID that is treated as identification information for the entry. The item type 1002 is a field that stores the type of the setting item. The risk value 1003 is a field that stores a risk value that indicates the magnitude of the risk of changing the setting item classified as the item type 1002.

[0072] Table 1010 in Fig. 10B is information for managing risk coefficients that indicate the extent of impact and the magnitude of impact due to changes corresponding to setting item change patterns. Table 1010 stores entries that include a risk coefficient ID 1011, an impact extent 1012, and a risk coefficient 1013. One entry exists for one impact extent. Note that the fields included in an entry are not limited to those described above. Any of the above fields may be omitted, or other fields may be included.

[0073] The risk coefficient ID 1011 is a field for storing an ID that is treated as identification information for the entry. The impact range 1012 is a field for storing the impact range caused by a change corresponding to a setting item change pattern. The risk coefficient 1013 is a field for storing a risk coefficient.

[0074] FIG. 11 is a flowchart illustrating an example of an application information update process executed by the environment candidate search system 100 according to the first embodiment.

[0075] The environment candidate search system 100 monitors the deployment and termination of the application 110, and when detecting either the deployment or termination of the application 110, executes the process described below.

[0076] A possible method for monitoring the deployment of the application 110 is to receive a deployment notification from the deployment control system 102. The notification includes the object ID, the catalog name, the ID of the application 110, and the like. A possible method for monitoring the termination of the application 110 is to receive a termination notification from the infrastructure system 103. The notification includes the object ID, and the like. Note that the present invention is not limited to the method for monitoring the deployment and termination of the application 110.

[0077] When the application monitoring unit 307 receives a notification from either the deployment control system 102 or the infrastructure system 103 (step S101), it determines whether the notification is related to the deployment of the application 110 (step S102).

[0078] If the received notification is a notification regarding the deployment of the application 110 (YES in step S102), the application monitoring unit 307 acquires information about the deployed application 110 (step S103). For example, the application monitoring unit 307 acquires information about the application 110 from the environment in which the application 110 is deployed.

[0079] The application monitor 307 updates the operation history DB 313 based on information about the deployed application 110 (step S104).

[0080] Specifically, the application monitoring unit 307 adds an entry to the operation history DB 313 and sets an ID in the object ID 601 of the added entry. The application monitoring unit 307 sets values ​​in the environment ID 602, catalog name 603, application ID 604, user 605, resource 606, schedule 609, and movement 610 of the added entry based on information about the deployed application 110. The application monitoring unit 307 also sets the current time in the start time 607 of the added entry. Note that the start time 607 may be set to the time when the deployment control system 102 deployed the application 110.

[0081] The application monitor 307 updates the setting item DB 314 based on the information about the deployed application 110 (step S105), and ends the application information update process.

[0082] Specifically, the application monitoring unit 307 extracts the environmental requirements from information about the deployed application 110. The application monitoring unit 307 adds an entry to the setting item DB 314 for each setting item of the extracted environmental requirements.

[0083] If it is determined in step S102 that the received notification is a notification of the termination of the application 110 (NO in step S102), the application monitoring unit 307 acquires information about the terminated application 110 (step S106). For example, the application monitoring unit 307 acquires information about the application 110 from the environment in which the application 110 is deployed.

[0084] The application monitor 307 updates the operation history DB 313 based on information about the deployed application 110 (step S107).

[0085] Specifically, the application monitoring unit 307 refers to the operation history DB 313 and searches for an entry in which the ID of the object included in the notification is set in the object ID 601. The application monitoring unit 307 sets the current time in the end time 608 of the searched entry. Note that the end time 608 may also be set to the time when the application 110 was stopped in the environment.

[0086] The application monitor 307 updates the infrastructure system DB 312 (step S108), and ends the application information update process.

[0087] Specifically, the application monitoring unit 307 acquires information about resources from the environment in which the terminated application 110 was deployed. The application monitoring unit 307 refers to the infrastructure system DB 312 and updates the resource 505 of the entry corresponding to the environment.

[0088] Fig. 12 is a flowchart showing an example of a candidate environment search process executed by the candidate environment search system 100 of the first embodiment. Fig. 13 is a diagram showing an example of a screen presented by the candidate environment search system 100 of the first embodiment. Fig. 14 is a diagram showing an example of a candidate environment list output by the candidate environment search system 100 of the first embodiment. Fig. 15 is a diagram showing an example of a screen presented by the candidate environment search system 100 of the first embodiment.

[0089] The environment candidate search system 100 presents a screen 1300 to a user who wishes to deploy an application 110. The screen 1300 includes input fields 1301, 1302, 1303, 1304, 1305, 1306, 1307, and 1308, radio buttons 1309 and 1310, and an operation button 1311.

[0090] Input fields 1301 and 1302 are fields for inputting values ​​that specify the application 110 to be deployed. A field for inputting a version may also be provided. Input field 1303 is a field for inputting a KPI (Key Performance Indicator). In input field 1303, for example, "cost," "performance," and "power consumption" are displayed in a pull-down format. Input field 1304 is a field for inputting the time required for deployment requested by the user. Input field 1305 is a field for inputting the deadline for deployment of the application 110.

[0091] The input fields 1306 and 1307 are fields for inputting a date and time for specifying the usage period of the application 110. The input field 1308 is a field for inputting whether the application 110 can be moved.

[0092] Radio buttons 1309 and 1310 are radio buttons for controlling whether or not to allow an additional search to be performed when an environment that satisfies the environmental requirements and constraints does not exist. Radio button 1309 is operated to allow the execution of an additional search, and radio button 1310 is operated to not allow the execution of an additional search.

[0093] In the first embodiment, the candidate environment search process when execution of an additional search is permitted will be described.

[0094] The operation button 1311 is an operation button for instructing execution of the environment candidate search process. When the user presses the operation button 1311, a search request including the various values ​​input on the screen 1300 is sent to the environment candidate search system 100.

[0095] The environment candidate search unit 303 refers to the tables 400, 410, and 420 based on the information of the application 110 included in the execution request, and acquires the environmental requirements and constraints (step S201). Note that the execution request may include information on the environmental requirements and constraints.

[0096] The environment candidate search unit 303 acquires information on each of the infrastructure systems 103 from the infrastructure system DB 312 (step S202).

[0097] The environment candidate search unit 303 executes a first environment search process (step S203) to search for an environment that satisfies the constraints and environmental requirements based on the information of the infrastructure system 103. Details of the first environment search process will be described with reference to FIG.

[0098] The environment candidate search unit 303 determines whether or not there is an environment (environment candidate) in which the application 110 can be placed, based on the result of the first environment search process (step S204).

[0099] If there are environment candidates (YES in step S204), the environment candidate search unit 303 presents the environment candidates (step S208), and ends the environment candidate search process.

[0100] If no environment candidate exists (step S204: NO), the environment candidate search unit 303 instructs the environment requirement change unit 305 to execute an environment requirement change process (step S205). The environment requirement change process changes the environment requirements. Details of the environment requirement change process will be described with reference to FIG. 17.

[0101] The environment candidate search unit 303 executes a second environment search process to search for an environment that satisfies the constraints and the changed environment requirements based on the information of the infrastructure system 103 (step S206 The second environment search process will be described in detail with reference to FIGS. 18A and 18B.

[0102] When the second environment search process finds candidate environments, a candidate environment list 1400 as shown in FIG. 14 is output.

[0103] The environment candidate list 1400 stores entries including a candidate ID 1401, an application ID 1402, an environment ID 1403, a KPI achievement level 1404, a cost 1405, setting item change details 1406, and a total risk value 1407. One entry exists for one environment candidate. Note that the fields included in an entry are not limited to those described above. An entry may not include any of the above-described fields, or may include other fields.

[0104] The candidate ID 1401 is a field for storing the ID of an entry. The application ID 1402 is a field for storing the ID of the application 110 to be deployed. The environment ID 1403 is a field for storing the ID of an environment candidate.

[0105] KPI achievement level 1404 is a field for storing the KPI achievement level. In this embodiment, the ratio of the actual deployment time to the deployment request time is used as the KPI achievement level. Cost 1405 is a field for storing the cost required to use the deployed application 110.

[0106] The setting item change content 1406 is a field for storing the content of the changed setting item. The total risk value 1407 is a field for storing the risk value associated with the change of the setting item.

[0107] The environment candidate search unit 303 determines whether or not there is an environment (environment candidate) in which the application 110 can be placed, based on the result of the second environment search process (step S207).

[0108] If there are environment candidates (YES in step S207), the environment candidate search unit 303 presents the environment candidates (step S208), and ends the environment candidate search process.

[0109] 15 via the environment candidate presentation unit 306. The screen 1500 includes a list 1501 and operation buttons 1502.

[0110] List 1501 is a list of searched environment candidates. List 1501 is displayed based on environment candidate list 1400. The user refers to list 1501 and presses the radio button of one of the environment candidate. Operation button 1502 is an operation button for instructing deployment of application 110 to the selected environment candidate. When operation button 1502 is pressed, environment candidate search unit 303 transmits a deployment request including information on the selected environment candidate and application 110 to the deployment control system 102.

[0111] If no environment candidate exists (step S207: NO), the environment candidate search unit 303 notifies the user of an error (step S209) and ends the environment candidate search process. For example, a notification is given that no environment candidate exists.

[0112] If execution of an additional search is not permitted and the determination result in step S204 is NO, the environment candidate search unit 303 proceeds to step S209.

[0113] FIG. 16 is a flowchart illustrating an example of the first environment search process executed by the environment candidate search system 100 according to the first embodiment.

[0114] The environment candidate search unit 303 refers to the infrastructure system DB 312 to identify an environment in which the infrastructure software required for the application 110 is implemented and which can provide the amount of resources required for the application 110 (step S301).

[0115] The environment candidate search unit 303 starts a loop process of the identified environments (step S302) The environment candidate search unit 303 selects one environment from the identified environments.

[0116] The environment candidate search unit 303 determines whether the selected environment satisfies the environmental requirements and constraints (step S303).

[0117] If the selected environment does not satisfy the environmental requirements and constraints (NO in step S303), the environment candidate search unit 303 proceeds to step S305.

[0118] If the selected environment satisfies the environmental requirements and constraints (YES in step S303), the environment candidate search unit 303 registers the selected environment in the environment candidate list 1400 (step S304), and then proceeds to step S305. At this time, the environment candidate search unit 303 instructs the environment assessment unit 304 to calculate the KPI achievement level and cost. The setting item change details 1406 and total risk value 1407 of the entry added to the environment candidate list 1400 are left blank.

[0119] In step S305, the environment candidate search unit 303 determines whether or not the process has been completed for all the identified environments (step S305).

[0120] If the processing has not been completed for all of the identified environments, the environment candidate search unit 303 returns to step S302.

[0121] When the processing for all identified environments is completed, the environment candidate search unit 303 ends the first environment search process. Note that the environment candidate search unit 303 may sort and thin out the searched environment candidates based on a KPI specified by the user.

[0122] FIG. 17 is a flowchart illustrating an example of an environmental requirement change process executed by the environment candidate search system 100 according to the first embodiment.

[0123] The environmental requirement change unit 305 extracts setting items related to the application 110 to be deployed based on the environmental requirements (step S401). At this time, the environmental requirement change unit 305 identifies the type of the setting item based on the extracted setting item.

[0124] The environmental requirement change unit 305 starts a loop process of the types of setting items (step S402). The environmental requirement change unit 305 selects one type of setting item from the identified types of setting items.

[0125] The environmental requirement change unit 305 refers to the setting item change pattern DB 315 and acquires a setting item change pattern corresponding to the type of the selected setting item (step S403). Specifically, the environmental requirement change unit 305 acquires an entry in which the type of the selected setting item is stored in the item type 802 and the same value as the value included in the current environmental item is stored in the setting item (before change) 803.

[0126] The environmental requirement change unit 305 determines whether or not the processing has been completed for all the types of the specified setting items (step S404).

[0127] If the processing has not been completed for all the types of the specified setting items, the environmental requirement change unit 305 returns to step S402.

[0128] When the processing for all the identified setting item types is completed, the environmental requirement modification unit 305 modifies the environmental requirements using the acquired setting item modification pattern (step S405), and then ends the environmental requirement modification process. The environmental requirement modification unit 305 outputs a completion notice including the modified environmental requirements to the environment candidate search unit 303.

[0129] Specifically, the environmental requirement modification unit 305 modifies at least one setting item included in the environmental requirements based on a setting item modification pattern. Here, it is assumed that multiple modified environmental requirements are generated. The environmental requirement modification unit 305 associates the ID of the used setting item modification pattern with the modified environmental requirement.

[0130] It is assumed that the number of setting items to be changed and the number of environmental requirements to be generated are set in advance. Also, a priority order may be set for the setting items to be changed.

[0131] 18A and 18B are flowcharts illustrating an example of the second environment search process executed by the environment candidate search system 100 according to the first embodiment.

[0132] The environment candidate search unit 303 starts a loop process of the environmental requirements changed by the environmental requirement change unit 305 (step S501). The environment candidate search unit 303 selects one environmental requirement from the plurality of changed environmental requirements.

[0133] The environment candidate search unit 303 refers to the infrastructure system DB 312 to identify an environment in which the infrastructure software required for the application 110 is implemented and which can provide the amount of resources required for the application 110 (step S502). The processing in step S502 is the same as the processing in step S301.

[0134] The environment candidate search unit 303 starts a loop process of the identified environments (step S503) The environment candidate search unit 303 selects one environment from the identified environments.

[0135] The environment candidate search unit 303 determines whether the selected environment satisfies the environmental requirements and constraints (step S504).

[0136] If the selected environment does not satisfy the environmental requirements and constraints (NO in step S504), the environment candidate search unit 303 proceeds to step S506.

[0137] If the selected environment satisfies the environmental requirements and constraints (YES in step S504), the environment candidate search unit 303 registers the selected environment in the environment candidate list 1400 (step S505), and then proceeds to step S506.

[0138] At this time, the environment candidate search unit 303 sets the change content of the environmental requirement in the setting item change content 1406 of the entry, and sets the total risk value in the total risk value 1407 .

[0139] The total risk value is calculated as follows: The environment candidate search unit 303 identifies the changed setting items and the scope of impact caused by the change to the setting items based on the changes to the environmental requirements. The environment candidate search unit 303 obtains the value of the risk value 1003 of the entry corresponding to the type of changed setting item from table 1000. The environment candidate search unit 303 also obtains the value of the risk coefficient 1013 of the entry corresponding to the identified scope of impact from table 1010. The environment candidate search unit 303 calculates a value by multiplying the risk value by the risk coefficient for each changed setting item. The environment candidate search unit 303 calculates the total risk value as the sum of the calculated values ​​for each changed setting item.

[0140] In step S506, the environment candidate search unit 303 determines whether or not the process has been completed for all the identified environments (step S506).

[0141] If the processing has not been completed for all of the identified environments, the environment candidate search unit 303 returns to step S503.

[0142] When the process has been completed for all identified environments, the environment candidate search unit 303 determines whether the process has been completed for all changed environmental requirements (step S507).

[0143] If the processing has not been completed for all the changed environmental requirements, the environment candidate search unit 303 returns to step S501.

[0144] When the processing for all changed environmental requirements is completed, the environment candidate search unit 303 starts a loop process of the environment candidates (step S508). The environment candidate search unit 303 selects one entry from the environment candidate list 1400.

[0145] The environment candidate search unit 303 determines whether approval is required for the change of the setting item (step S509).

[0146] The environment candidate search unit 303 determines whether a value is set in the approver 806 of the setting item change pattern associated with the selected entry. If a value is set in the approver 806 of the setting item change pattern, the environment candidate search unit 303 determines that approval is required for the change of the setting item.

[0147] If approval is not required for the change of the setting item (NO in step S509), the environment candidate search unit 303 proceeds to step S513.

[0148] If approval is required for the change of the setting item (YES in step S509), the environment candidate search unit 303 issues an approval request to the user (step S510). The environment candidate search unit 303 enters a waiting state until an input from the user is received.

[0149] When an input from the user is obtained, the environment candidate search unit 303 determines whether approval has been obtained (step S511).

[0150] If approval is obtained (YES in step S511), the environment candidate search unit 303 proceeds to step S513.

[0151] If approval is not obtained (NO in step S511), the potential environment search unit 303 deletes the selected potential environment from the potential environment list 1400 (step S512), and then proceeds to step S513.

[0152] In step S513, the environment candidate search unit 303 determines whether or not the process has been completed for all environment candidates (step S513).

[0153] If the process has not been completed for all the environment candidates, the environment candidate search unit 303 returns to step S508.

[0154] When the process has been completed for all the environment candidates, the environment candidate search unit 303 ends the second environment search process.

[0155] In the first embodiment, the application 110 is described as an example of an object to be placed, but the present invention is not limited to the object to be placed.

[0156] When the application 110 is composed of multiple tasks, the environment candidate search system 100 searches for an environment for each object that realizes the task, and registers the combination of the environments of each object in the environment candidate list 1400 .

[0157] As described above, according to the first embodiment, if there is no environment candidate that satisfies the constraints and the environmental requirements, the environment candidate search system 100 changes the environmental requirements within the scope in which the application 110 operates. Furthermore, the environment candidate search system 100 can search for and present environment candidates based on the constraints and the changed environmental requirements.

[0158] By presenting the changes to the environmental requirements along with the search results for the candidate environments, it is possible to improve user convenience. [Example]

[0159] The contents of the environment candidate search process are partially different in the second embodiment. The second embodiment will be described below, focusing on the differences from the first embodiment.

[0160] The configuration of the system of the second embodiment is the same as that of the first embodiment. The configuration of the environment candidate search system 100 of the second embodiment is the same as that of the first embodiment.

[0161] FIG. 19 is a flowchart illustrating an example of a candidate environment search process executed by the candidate environment search system 100 according to the second embodiment.

[0162] The processes from step S601 to step S606, step S608, and step S611 are the same as the processes from step S201 to step S206, step S208, and step S209.

[0163] If it is determined in step S607 that no environment candidate exists (NO in step S607), the environment candidate search unit 303 executes a third environment search process (step S609).

[0164] The environment candidate search unit 303 determines whether or not there is an environment (environment candidate) in which the application 110 can be placed, based on the result of the third environment search process (step S610).

[0165] If there are environment candidates (YES in step S610), the environment candidate search unit 303 presents the environment candidates (step S608), and ends the environment candidate search process.

[0166] If no environment candidate exists (NO in step S610), the environment candidate search unit 303 notifies the user of an error (step S611), and ends the environment candidate search process.

[0167] FIG. 20 is a flowchart illustrating an example of the third environment search process executed by the environment candidate search system 100 according to the second embodiment.

[0168] The environment candidate search unit 303 refers to the infrastructure system DB 312 to identify an environment in which infrastructure software required for the application 110 is implemented (step S701). Here, the amount of resources is not taken into consideration.

[0169] The environment candidate search unit 303 starts a loop process of the identified environments (step S702) The environment candidate search unit 303 selects one environment from the identified environments.

[0170] The environment candidate search unit 303 refers to the operation history DB 313 and searches for a destination environment for the application 110 (mobile application 110) that operates in the selected environment and is movable (step S703).

[0171] Specifically, the environment candidate search unit 303 executes a first environment search process on the mobile application 110. This makes it possible to search for an environment to which the mobile application 110 will be moved. Note that the mobile application 110 can be identified based on the migration 610 in the operation history DB 313.

[0172] The environment candidate search unit 303 determines whether or not there is an environment to which the mobile application 110 is to be moved (step S704).

[0173] If there is no environment to which the mobile application 110 can be moved (NO in step S704), the environment candidate search unit 303 proceeds to step S707.

[0174] If an environment to which the mobile application 110 is to be moved exists (YES in step S704), the environment candidate search unit 303 determines whether the environment after the mobile application 110 is moved satisfies the environmental requirements and constraints (step S705).

[0175] If the environment after the mobile application 110 is moved does not satisfy the environmental requirements and constraints (NO in step S705), the environment candidate search unit 303 proceeds to step S707.

[0176] If the environment after moving the mobile application 110 satisfies the environmental requirements and constraints (YES in step S705), the environment candidate search unit 303 registers the selected environment in the environment candidate list 1400 (step S706), and then proceeds to step S707.

[0177] In step S707, the environment candidate search unit 303 determines whether or not the process has been completed for all the identified environments (step S707).

[0178] If the processing has not been completed for all of the identified environments, the environment candidate search unit 303 returns to step S702.

[0179] When the process has been completed for all identified environments, the environment candidate search unit 303 ends the third environment search process.

[0180] According to the second embodiment, the deployed application 110 can be moved to increase the number of environments in which the application can be deployed. [Example]

[0181] The contents of the environment candidate search process are partially different in the third embodiment. The third embodiment will be described below, focusing on the differences from the first embodiment.

[0182] The configuration of the system of the third embodiment is the same as that of the first embodiment. The configuration of the environment candidate search system 100 of the third embodiment is the same as that of the first embodiment.

[0183] In the third embodiment, the same environment candidate search process as in the second embodiment is executed. However, in the third embodiment, the content of the third environment search process is different from that in the second embodiment.

[0184] FIG. 21 is a flowchart showing an example of the third environment search process executed by the environment candidate search system 100 according to the third embodiment.

[0185] The processes in steps S701 and S702 in the third embodiment are the same as those in the second embodiment. The processes in steps S706 and S707 in the third embodiment are the same as those in the second embodiment.

[0186] The environment candidate search unit 303 references the operation history DB 313 and generates predicted operation information for the selected environment (step S751).

[0187] Specifically, the environment candidate search unit 303 acquires the usage period and deployment deadline of the application 110 to be deployed. The environment candidate search unit 303 calculates the time before the deployment deadline from the start time of the usage period. At this time, a value obtained by adding an offset to the deployment deadline may be used. Based on the usage period of the application 110 in the selected environment, the environment candidate search unit 303 identifies the application 110 that will be running in that environment at the calculated time, and also calculates the amount of available resources in that environment. The environment candidate search unit 303 outputs the results of the above processing as predicted operation information.

[0188] The environment candidate search unit 303 determines whether the environment after a predetermined time has elapsed from the present satisfies the environmental requirements and constraints based on the predicted operation information (step S752).

[0189] If the environment after the predetermined time has elapsed from the present does not satisfy the environmental requirements and constraints (NO in step S752), the environment candidate search unit 303 proceeds to step S707. If the environment after the predetermined time has elapsed from the present satisfies the environmental requirements and constraints (NO in step S752), YES ), the environment candidate search unit 303 proceeds to step S706.

[0190] According to the third embodiment, although there are no environment candidates at present, it is possible to present environment candidates in which deployment is possible before the application 110 starts to be used.

[0191] The present invention is not limited to the above-described embodiments, but includes various modifications. For example, the above-described embodiments are provided to explain the present invention in detail, and the present invention is not necessarily limited to those including all of the described configurations. Furthermore, some of the configurations of each embodiment can be added to, deleted from, or replaced with other configurations.

[0192] Furthermore, the above-described configurations, functions, processing units, processing means, etc. may be partially or entirely implemented in hardware, for example, by designing them as integrated circuits. The present invention can also be realized by software program code that implements the functions of the embodiments. In this case, a storage medium on which the program code is recorded is provided to a computer, and a processor included in the computer reads the program code stored in the storage medium. In this case, the program code itself read from the storage medium implements the functions of the above-described embodiments, and the program code itself and the storage medium on which it is stored constitute the present invention. Examples of storage media for providing such program code include flexible disks, CD-ROMs, DVD-ROMs, hard disks, solid-state drives (SSDs), optical disks, magneto-optical disks, CD-Rs, magnetic tapes, non-volatile memory cards, and ROMs.

[0193] Furthermore, the program code that realizes the functions described in this embodiment can be implemented in a wide range of program or script languages, such as assembler, C / C++, perl, Shell, PHP, Python, and Java (registered trademark).

[0194] Furthermore, the program code of the software that realizes the functions of the embodiments may be distributed via a network and stored in a storage means such as a computer's hard disk or memory, or in a storage medium such as a CD-RW or CD-R, and the processor of the computer may read and execute the program code stored in the storage means or storage medium.

[0195] In the above-described embodiment, the control lines and information lines are those that are considered necessary for the explanation, and not all control lines and information lines are necessarily shown in the product. All components may be interconnected. [Explanation of symbols]

[0196] 100 Environmental candidate search system 101 Application Catalog Management System 102 Deployment Control System 103 Infrastructure System 104 Network 110 Applications 120 DB 200 calculator 201 processor 202 Main storage 203 Secondary storage device 204 Network Interface 205 Input Device 206 Output Device 207 Bus 301 Object Information Management Unit 302 Infrastructure System Information Management Department 303 Environment Candidate Search Unit 304 Environmental Assessment Department 305 Environmental Requirements Change Division 306 Environmental candidate presentation section 307 Application Monitoring Department 311 Application DB 312 Infrastructure System DB 313 Operation History DB 314 Setting item DB 315 Setting item change pattern DB 316 Change Risk DB 900, 1300, 1400 screen 1400 Environmental Candidate List

Claims

1. A computer system that searches for candidate environments for deploying an object, comprising: at least one computer having a processor, a storage device connected to the processor, and a network interface connected to the processor; Connecting to a plurality of infrastructure systems that provide the environment, The at least one computer receiving a search request including environmental requirements, which are conditions required for the environment in which the object is to be deployed, and constraints, which are conditions that must be observed when deploying the object; executing a first environment search process for searching for the environment that satisfies the constraints and the environmental requirements; If the first environment search process finds that the environment in which the object can be deployed does not exist, modifying the environment requirements; a computer system that executes a second environment search process that searches for the environment that satisfies the constraints and the changed environment requirements;

2. 2. The computer system of claim 1, the environmental requirements include values ​​of a plurality of types of setting items; the computer system holds setting item change pattern information for managing a plurality of types of change methods for the setting items; The computer system is characterized in that the at least one computer changes the value of the setting item included in the received environmental requirements based on the setting item change pattern information.

3. 3. The computer system according to claim 2, storing change risk information for evaluating risks associated with changes to the plurality of types of setting items; the at least one computer calculates a risk value representing a magnitude of risk associated with a change in the value of the setting item included in the received environmental requirement based on the change risk information; A computer system that presents the environments searched for by the second environment search process and the risk values.

4. 3. The computer system according to claim 2, A computer system characterized in that, in the second environment search process, when approval is required to change the value of the setting item included in the received environmental requirements, the at least one computer searches for an environment that satisfies the constraints and the approval and that satisfies the changed environmental requirements.

5. 2. The computer system of claim 1, The at least one computer is characterized in that, if the result of the second environment search process indicates that there is no environment in which the object can be deployed, the at least one computer executes a third environment search process to search for an environment that satisfies the environmental requirements and constraints when the movable object is moved.

6. 2. The computer system of claim 1, The at least one computer If the second environment search process does not find an environment in which the object can be deployed, predicting the operating states of the environments a predetermined time before the start time of use of the object; a computer system that executes a third environment search process that searches for the environment that satisfies the environmental requirements and the constraints based on the result of the prediction;

7. A method for searching for an environment to deploy an object to be executed by a computer system, comprising: The computer system at least one computer having a processor, a storage device connected to the processor, and a network interface connected to the processor; Connecting to a plurality of infrastructure systems that provide the environment, The environment search method includes: a first step in which the at least one computer receives a search request including environmental requirements, which are conditions required for the environment in which the object is deployed, and constraints, which are conditions that must be observed when deploying the object; a second step in which the at least one computer searches for the environment that satisfies the constraints and the environment requirements; a third step of modifying the environment requirements by the at least one computer if the environment in which the object can be deployed does not exist; a fourth step in which the at least one computer searches for the environment that satisfies the constraints and the changed environment requirements.

8. The environment search method according to claim 7, the environmental requirements include values ​​of a plurality of types of setting items; the computer system holds setting item change pattern information for managing a plurality of types of change methods for the setting items; The third step is characterized in that the at least one computer changes the value of the setting item included in the received environmental requirement based on the setting item change pattern information.

9. The environment search method according to claim 8, the computer system holds change risk information for evaluating risks associated with changes to a plurality of types of setting items; The fourth step includes: a step of calculating, by the at least one computer, a risk value representing a magnitude of risk associated with a change in the value of the setting item included in the received environmental requirement based on the change risk information; a step of the at least one computer presenting the searched environment and the risk value.

10. The environment search method according to claim 8, The fourth step is a method for searching for an environment, characterized in that, when approval is required to change the value of the setting item included in the received environmental requirement by the at least one computer, the method includes a step of searching for an environment that satisfies the constraints and the changed environmental requirement and for which approval has been obtained.

11. The environment search method according to claim 7, An environment search method characterized by including a step in which, if the at least one computer determines as a result of execution of the fourth step that an environment in which the object can be deployed does not exist, it searches for an environment that satisfies the environmental requirements and the constraints when the movable object is deployed.

12. The environment search method according to claim 7, a step in which the at least one computer predicts, when the environment in which the object can be deployed does not exist as a result of execution of the fourth step, the operating states of the plurality of environments a predetermined time before the start time of use of the object; and a step in which the at least one computer searches for the environment that satisfies the environmental requirements and the constraints based on the result of the prediction.

Citation Information

Patent Citations

  • Repository management system and management method

    JP2016143363A

  • Arrangement device, arrangement method, and arrangement program

    JP2017174131A

  • Rule-based assignment of event-driven application

    US20210294665A1

  • Application allocation system, application allocation method, and application allocation program

    WO2010095579A1