Cloud environment construction support system, cloud environment construction support method
The cloud environment construction support system addresses inefficiencies in multi-cloud environments by generating feature model data aligned with customer requirements and cloud services, enhancing system configuration efficiency.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-08-05
- Publication Date
- 2026-03-10
AI Technical Summary
Existing cloud environment construction systems struggle to accommodate customer-specific non-functional requirements and multi-cloud vendor scenarios, requiring separate design documents and feature models for each vendor, leading to inefficiencies in system configuration.
A cloud environment construction support system that generates feature model data based on customer non-functional requirements and cloud services, converting it into a user-editable format for system engineers to align with desired cloud services, reducing manual effort and supporting multi-cloud environments.
The system effectively supports cloud environment construction that reflects customer needs by integrating non-functional requirements and cloud services, reducing manual design hours and addressing multi-cloud complexities.
Smart Images

Figure 0007827583000001 
Figure 0007827583000002 
Figure 0007827583000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a cloud environment construction support system and a cloud environment construction support method. [Background technology]
[0002]
[0003] Patent Literature 1 describes an environment construction support system 100 that includes a memory unit 101 that stores a constant design document 125 for an information processing device (hereinafter referred to as "device") to be constructed, a definition file template 126 that defines settings for the device, and a construction script template 127 that describes a series of environment construction commands to be executed for the device, and a calculation unit 104 that converts the constant design document 125 into a constant setting value file 130 using a predetermined tool 110, executes a predetermined environment construction tool 140 using the constant setting value file 130 as input, generates a definition file 131 and a construction script 132 that set predetermined items in the constant design document 125 in the definition file template 126 and the construction script template 127, distributes the definition file 131 and the construction script 132 to the device, executes the construction script 132 on the device, and constructs a predetermined environment defined in the constant design document 125 on the device. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2020-017053 Summary of the Invention [Problem to be solved by the invention]
[0004] In Patent Document 1, in order to build a system environment for a financial system, construction scripts, parameters, etc. are automatically generated based on a manually created constant design document for the target system. However, when building a system environment on the cloud, numerous changes are made to the feature model, which is a model that determines the system configuration by selecting some of the system elements (features) defined in a hierarchical structure, and the constant design document, depending on the non-functional requirements of various customers who will be system users. Furthermore, even for the same system environment, systems must be built using different cloud vendors depending on customer requests. In this case, constant design documents and feature models must be created separately for each cloud vendor.
[0005] The present invention aims to provide technology that can support the construction of a cloud environment that better reflects customer requirements by creating a feature model that takes into account the customer's non-functional requirements and cloud services provided by different cloud vendors. [Means for solving the problem]
[0006] The cloud environment construction support system of the present invention is a cloud environment construction support system that supports the construction of a system in a cloud environment using a computer having a processor and memory, wherein the processor generates feature model data that constitutes the system of the cloud environment based on feature model basic data that defines the general configuration of cloud services and non-functional requirements provided by different cloud vendors, a non-functional requirement list that indicates means for realizing the non-functional requirements for each type of non-functional requirement, cloud data that stores options available for cloud services provided by the cloud vendor, non-functional requirement selection data that stores the non-functional requirements selected by a user, and cloud selection data that stores the cloud service selected by the user, converts the generated feature model data into a specified format that can be edited by the user, and outputs the user-editable feature model data converted into the specified format to a user terminal. [Effects of the Invention]
[0007] According to the present invention, by creating a feature model that takes into account the non-functional requirements of the customer and cloud services provided by different cloud vendors, it is possible to support the construction of a cloud environment that better reflects the customer's needs. Problems, configurations, and effects other than those described above will become clear from the following description of the embodiment of the invention. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 illustrates an example of a configuration of a cloud environment construction support system according to an embodiment of the present invention. [Figure 2] FIG. 1 is a diagram illustrating an example of a schematic configuration of a computer. [Figure 3] 10 is a flowchart showing a processing procedure of a process (feature model data generation process) performed by a feature model data generation unit. [Figure 4] FIG. 10 is a diagram illustrating an example of feature model basic data. [Figure 5] FIG. 10 is a diagram illustrating an example of a non-functional requirement list. [Figure 6] FIG. 10 is a diagram illustrating an example of non-functional requirement selection data. [Figure 7] FIG. 10 is a diagram illustrating an example of feature model data. [Figure 8] FIG. 10 is a diagram illustrating an example of cloud data. [Figure 9] FIG. 10 is a diagram illustrating an example of cloud selection data. [Figure 10] 10 is a flowchart showing a processing procedure of a process (feature model conversion process) performed by a feature model conversion unit. [Figure 11] FIG. 10 is a diagram for explaining how the feature model conversion unit outputs feature model data for user editing, which is a file in JSON format. [Figure 12] 10 is a flowchart showing a processing procedure of a process (feature model editing process) performed by a feature model editing unit. [Figure 13] FIG. 10 is a diagram showing an example of a screen (feature model editing screen) displayed on a user terminal. DETAILED DESCRIPTION OF THE INVENTION
[0009] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. The following description and drawings are examples for explaining the present invention, and some omissions and simplifications have been made as appropriate for clarity of explanation. The present invention can be implemented in various other forms. Unless otherwise specified, each component may be singular or plural.
[0010] In order to facilitate understanding of the invention, the position, size, shape, range, etc. of each component shown in the drawings may not represent the actual position, size, shape, range, etc. Therefore, the present invention is not necessarily limited to the position, size, shape, range, etc. disclosed in the drawings.
[0011] In the following explanation, various types of information may be described using expressions such as "database," "table," and "list," but the various types of information may also be expressed in data structures other than these. To indicate that the information is not dependent on the data structure, "XX table," "XX list," etc. may be referred to as "XX information." When describing identification information, expressions such as "identification information," "identifier," "name," "ID," and "number" are used, and these are interchangeable.
[0012] When there are multiple components with the same or similar functions, they may be described using the same reference numeral with different subscripts. However, when there is no need to distinguish between these multiple components, the subscripts may be omitted.
[0013] Furthermore, in the following description, processing performed by executing a program may be described, but the program is executed by a processor (e.g., a CPU or a GPU (Graphics Processing Unit)) to perform the specified processing while appropriately using storage resources (e.g., memory) and / or interface devices (e.g., communication ports), and therefore the processor may be the subject of the processing. Similarly, the subject of the processing performed by executing a program may be a controller, device, system, computer, or node having a processor. The subject of the processing performed by executing a program may be any computing unit, and may include a dedicated circuit (e.g., an FPGA (Field-Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit)) that performs specific processing.
[0014] A program may be installed on a device such as a computer from a program source. The program source may be, for example, a program distribution server or a computer-readable storage medium. If the program source is a program distribution server, the program distribution server may include a processor and storage resources for storing the program to be distributed, and the processor of the program distribution server may distribute the program to be distributed to other computers. Also, in the following description, two or more programs may be realized as one program, and one program may be realized as two or more programs.
[0015] An embodiment of a cloud environment construction support system and a cloud environment construction support method according to the present invention will be described below.
[0016] Fig. 1 is a diagram showing an example of the configuration of a cloud environment construction support system in this embodiment. As shown in Fig. 1, in the cloud environment construction support system 1000, a cloud environment construction support device 100 for supporting the construction of a system environment in the cloud and a user terminal 300 operated by a system engineer who is a user are connected via a general network N such as the Internet.
[0017] The cloud environment construction support device 100 is a server that supports the construction of various cloud environment systems in response to customer requests. The cloud environment construction support device 100 includes a feature model data generation unit 101 that generates feature model data 206 using a non-functional requirement list 201, cloud data 202, non-functional requirement selection data 203, cloud selection data 204, and feature model basic data 205, a feature model conversion unit 102 that converts the feature model data 206 into user-editable feature model data 207 in JSON format, and a feature model editing unit 103 that edits the user-editable feature model data 207. JSON is a data exchange format and data description language that uses the object notation of JavaScript (registered trademark). In this example, the feature model data 206 is converted into a user-editable JSON format, but other formats may also be used.
[0018] Specifically, as will be described later, the feature model data generation unit 101 processes the feature model basic data 205 and generates the feature model data 206 based on the results of the user's determination of the non-functional requirements and cloud.
[0019] Functional requirements are functional requirements that customers need when building a system, while non-functional requirements are requirements other than the functional requirements that customers need. Examples of types of non-functional requirements include system availability, system performance and scalability, system operation and maintainability, system migration, system security, and system environment and ecology. Here, we assume that non-functional requirements are the requirements listed above, but of course they can also include other general requirements that are defined as non-functional requirements.
[0020] Availability refers to requirements for the continued use of a system, including definitions of, for example, redundancy of equipment such as servers and terminals, operation schedules, and recovery methods in the event of a failure. Performance and scalability refer to requirements related to the processing performance and expansion of a system, including definitions of, for example, the number of transactions to be processed by the system to be constructed, the number of users, and the load on the system. Operation and maintainability refer to requirements related to the operation and maintenance of a system, including definitions of, for example, system monitoring methods, backup methods, and operational structures. Portability refers to requirements related to the transition from the current system, including definitions of transition plans such as the transition period, transition structure, and transition rehearsals for transitioning to the new system. Security refers to requirements related to ensuring the safety of a system, including definitions of, for example, access restrictions and methods for monitoring unauthorized access. Environment and ecology refer to requirements related to the environment and ecology in which the system is installed, including definitions of, for example, system configurations that reduce environmental impact such as earthquake resistance and noise, and the suitability of systems to reduce CO2 emissions and energy consumption.
[0021] The feature model conversion unit 102 converts the generated feature model data 206 into user-editable feature model data 207 in a predetermined format such as JSON, and transmits the converted data to the user terminal 300. In the user terminal 300, the display output unit 301 displays the converted data on the screen by starting a browser, for example, and the input unit 302 accepts input from the user and generates a feature model, a constant design document, a construction script, parameters, etc. The following illustrates an example of editing a feature model, but the same applies to constant design documents, construction scripts, parameters, etc.
[0022] The feature model editing unit 103 saves and outputs a new feature model edited by a user through operation on the user terminal 300 .
[0023] The specific contents of the non-functional requirements list 201, cloud data 202, non-functional requirements selection data 203, cloud selection data 204, feature model basic data 205, feature model data 206, and feature model data for user editing 207 will be explained together with the processing of this system using a flowchart.
[0024] The user terminal 300 is a terminal used by a user who builds a cloud environment. The user terminal 300 has a display output unit 301 and an input unit 302. The display output unit 301 is, for example, a display, and displays various information related to the execution of the processes described below on the screen. The input unit 302 is, for example, a keyboard or a mouse, and accepts input of various information related to the execution of the processes described below.
[0025] The cloud environment construction support device 100 and user terminal 300 used in this system can be realized, for example, by a general computer 1600, as shown in Figure 2 (schematic computer diagram), which has a CPU 1601, memory 1602, an external storage device 1603 such as an HDD (Hard Disk Drive), a reading / writing device 1607 for reading and writing information from a portable storage medium 1608 such as a CD (Compact Disk) or USB memory, an input device 1606 such as a keyboard or mouse, an output device 1605 such as a display, a communication device 1604 such as a NIC (Network Interface Card) for connecting to a communication network, and an internal communication line (referred to as a system bus) 1609 such as a system bus that connects these.
[0026] Furthermore, various data stored in each terminal or server or used for processing can be realized by the CPU 1601 reading and using the data from the memory 1602 or the external storage device 1603. Furthermore, each functional unit (e.g., the feature model data generation unit 101, the feature model conversion unit 102, and the feature model editing unit 103) of the cloud environment construction support device 100 or the user terminal 300 can be realized by the CPU 1601 loading a predetermined program stored in the external storage device 1603 into the memory 1602 and executing it.
[0027] The above-mentioned predetermined program may be stored (downloaded) into the external storage device 1603 from the storage medium 1608 via the reading / writing device 1607 or from a network via the communication device 1604, and then loaded onto the memory 1602 and executed by the CPU 1601. Alternatively, the program may be directly loaded onto the memory 1602 from the storage medium 1608 via the reading / writing device 1607 or from a network via the communication device 1604, and then executed by the CPU 1601.
[0028] In the following, we will explain an example in which the cloud environment construction support device 100 is configured by a single computer, but all or part of these functions may be distributed across one or more computers, such as a cloud, and similar functions may be realized by communicating with each other via a network.
[0029] FIG. 3 is a flowchart showing the procedure of the process (feature model data generation process) performed by the feature model data generation unit 101.
[0030] As shown in FIG. 3, the feature model data generation unit 101 extracts one table from one or more feature model basic data 205 (S301), and extracts one row of record from the extracted table (S302).
[0031] 4 is a diagram showing an example of feature model basic data 205. The feature model basic data 205 is a table that defines a general configuration of cloud services and non-functional requirements when creating a feature model. The feature model basic data 205 is defined in advance by, for example, a system administrator.
[0032] As shown in Figure 4, the feature model basic data 205 stores an ID for uniquely identifying each record, levels 1 to n indicating the names of features at the 1st to nth levels, the options that the record can take, option types indicating the types of constraints on the selection state when the options are incorporated into the feature model, cloud service types indicating the names of services provided in the cloud, and a non-functional requirement selection data ID list indicating the IDs of non-functional requirements allowed by the level described in the record, in association with each other.
[0033] In Figure 4, for example, the record identified by ID "3" is the basic data for a feature model with "AP" (application server) as layer 1 and "middleware" as layer 2. The record indicates that the "JBOSS" application is a possible middleware option for the feature model. The record also indicates that the "JBOSS" application must be included. The option types are "Required," which requires a choice; "Selection," which requires one of the options to be selected; and "Optional," which allows for optional selection. However, for records with a "Non-functional Requirement Selection Data ID List" defined, the option type is left blank because it will be updated in a process described below. The cloud service type indicates that the name of the service provided on the cloud is determined by the "instance type." The cloud service type is a name that is not affected by the "cloud type" defined in cloud data 202.
[0034] Next, the feature model data generation unit 101 extracts one line of records from the non-functional requirement list 201 (S303).
[0035] 5 is a diagram showing an example of the non-functional requirements list 201. The non-functional requirements list 201 is a list that lists, in tabular form, means for realizing each non-functional requirement and options for those means, for each type of non-functional requirement. As shown in FIG. 5, the non-functional requirements list 201 stores, in association with each other, an ID for uniquely identifying each non-functional requirement, a non-functional requirement type indicating the type of non-functional requirement to be achieved, a non-functional requirement realization means indicating the means for realizing the non-functional requirement described in the non-functional requirement type, a realization means option list indicating the options that the non-functional requirement realization means can take, and option types similar to those of the feature model basic data 205.
[0036] In Figure 5, for example, the record identified by ID "3" is a non-functional requirement represented by the non-functional type "security," and the means to realize this non-functional requirement is to select either "HTTPS" or "SSL / TSL" for encryption.
[0037] Next, the feature model data generation unit 101 determines whether the "non-functional requirement selection data ID list" of the row extracted from the feature model basic data 205 in S302 includes the "ID" of the row extracted from the non-functional requirement list 201 (S304).
[0038] If the feature model data generation unit 101 determines in S302 that the "non-functional requirement selection data ID list" of the row extracted from the feature model basic data 205 includes the "ID" of the row extracted from the non-functional requirement list 201 (S304; Yes), it proceeds to S305.
[0039] For example, if the feature model data generation unit 101 extracts a record with ID "1" from the feature model basic data 205 shown in Fig. 4 in S302 and extracts a record with ID "1" from the non-functional requirement list 201 shown in Fig. 5 in S303, the record with ID "1" from the non-functional requirement list 201 is included among the IDs "1" and "3" listed in the "Non-functional requirement selection data ID list" of the record in the feature model basic data 205. Therefore, the feature model data generation unit 101 determines "Yes" in S304 and proceeds to S305. In this example, the same applies to the case where a record with ID "3" is extracted from the non-functional requirement list 201.
[0040] On the other hand, if the feature model data generation unit 101 determines in S302 that the "non-functional requirement selection data ID list" of the row extracted from the feature model basic data 205 does not include the "ID" of the row extracted from the non-functional requirement list 201 (S304; No), it proceeds to S307.
[0041] Furthermore, the feature model data generation unit 101 determines whether or not a selection flag exists in a row of the non-functional requirement selection data 203 described below that has a "non-functional requirement selection ID" that matches the "ID" of the row extracted from the non-functional requirement list 201 (S305).
[0042] 6 is a diagram showing an example of non-functional requirement selection data 203. Non-functional requirement selection data 203 is data that stores which non-functional requirements the user selected from one or more non-functional requirements. As shown in FIG. 6, non-functional requirement selection data 203 stores a non-functional requirement ID indicating the ID of non-functional requirement list 201 in association with a selection flag indicating whether the non-functional requirement ID was selected.
[0043] 6 shows that the user has selected non-functional requirements with non-functional requirement IDs "1" and "3" for the feature model to be created. The setting of the selection flag can be realized, for example, by the user terminal 300 displaying the non-functional requirement selection data 203 shown in FIG. 6 on the display output unit 301, the input unit 302 accepting the selection of the selection flag corresponding to the non-functional requirement ID from the user, and transmitting the result to the cloud environment construction support device 100 as the non-functional requirement selection data 203.
[0044] In this example, since the non-functional requirement IDs "1" and "3" are selected in the non-functional requirement selection data 203, the feature model data generation unit 101 determines "Yes" in S305 and proceeds to S306. On the other hand, if it determines in S305 that there is no selection flag in the row having a "non-functional requirement selection ID" that matches the "ID" of the row extracted from the non-functional requirement list 201 (S305; No), the process proceeds to S307.
[0045] The feature model data generation unit 101 adds the non-functional requirement realization means, realization means option list, and option type of the record extracted from the non-functional requirements list 201 in S303 to the record extracted from the feature model basic data 205 in S302, and writes it as a new row in the feature model data 206 (S306).
[0046] FIG. 7 is a diagram showing an example of feature model data 206. The feature model data 206 is data storing a feature model that configures a system environment on the cloud by adding non-functional requirements selected by a user to the feature model basic data 205. As shown in FIG. 7, the feature model data 206 stores, in the same manner as the feature model basic data 205 shown in FIG. 4, an ID for uniquely identifying each record, levels 1 to n indicating the names of features in the first to nth levels, options that the record can take, and option types indicating the constraint types of the options, all associated with each other. In addition, selection results indicating the non-functional requirements selected by the user in the non-functional requirement selection data 203 are stored associated with each of these items.
[0047] In Figure 7, for example, the record identified by ID "2" indicates that, based on the feature model basic data 205, "HTTPS" is selected as a feature model among the means for realizing the non-functional requirement represented by the non-functional type "security."
[0048] The feature model data generation unit 101 determines whether or not all records in the non-functional requirement list 201 have been processed (S307). If it is determined that all records have been processed (S307; Yes), the process proceeds to S308. On the other hand, if the feature model data generation unit 101 determines that all records in the non-functional requirement list 201 have not been processed (S307; No), the process returns to S303 and repeats the subsequent processes.
[0049] The feature model data generation unit 101 performs the process of adding the daily functional requirements selected by the user to the feature model basic data 205 in the process up to S307, and then extracts one line of record from the cloud data 202 (S308).
[0050] 8 is a diagram showing an example of cloud data 202. Cloud data 202 is a table storing options available for cloud services provided by a cloud vendor. As shown in FIG. 8, cloud data 202 stores, in association with each other, an ID for uniquely identifying each record, a cloud type indicating the name of the cloud vendor, a cloud service type indicating the name of a service provided by the cloud of that cloud type, a cloud service indicating the name of a service that realizes a cloud service of that cloud service type, cloud service options indicating options available for the cloud service type in that cloud service, and, similar to non-functional requirements list 205, option types indicating constraints on the selection state when incorporated into a feature model.
[0051] In Figure 8, for example, the record identified by ID "1" indicates that the AWS cloud is provided by an EC2 instance, and one (or more) of the specifications defined in the cloud service options, including "m5.xlarge," must be selected.
[0052] The feature model data generation unit 101 determines whether the "cloud service type" of the row extracted from the feature model basic data 205 in S302 matches the "cloud service type" of the row extracted from the cloud data 202 (S309).
[0053] If the feature model data generation unit 101 determines in S302 that the "cloud service type" of the row extracted from the feature model basic data 205 matches the "cloud service type" of the row extracted from the cloud data 202 (S309; Yes), it proceeds to S310.
[0054] For example, in S302, when the feature model data generation unit 101 extracts a record with ID "2" from the feature model basic data 205 shown in Fig. 4, it reads the "instance type" written in the "cloud service type" of the record in the feature model basic data 205. Because the "cloud service type" of the record with ID "1" in the cloud data 202 is "instance type," the feature model data generation unit 101 determines "Yes" in S308 and proceeds to S310.
[0055] On the other hand, if the feature model data generation unit 101 determines in S302 that the "cloud service type" of the row extracted from the feature model basic data 205 does not match the "cloud service type" of the row extracted from the cloud data 202 (S309; No), it proceeds to S312.
[0056] Furthermore, the feature model data generation unit 101 determines whether or not a selection flag exists in a row of the cloud selection data 204 described below that has a "cloud data ID" that matches the "ID" of the row extracted from the cloud data 202 (S310).
[0057] Fig. 9 is a diagram showing an example of cloud selection data 204. The cloud selection data 204 is data that stores which cloud service the user has selected from one or more cloud services. As shown in Fig. 8, the cloud selection data 204 stores a cloud data ID indicating the ID of the cloud data 206 and a selection flag indicating whether the cloud data ID has been selected, in association with each other.
[0058] 9 shows that the user has selected a cloud service with cloud data ID "1" for the feature model to be created. The selection flag can be set, for example, by the user terminal 300 displaying the cloud selection data 204 shown in FIG. 9 on the display output unit 301, the input unit 302 accepting the selection of the selection flag corresponding to the cloud data ID from the user, and transmitting the result as the cloud selection data 204 to the cloud environment construction support device 100.
[0059] In this example, since the cloud data ID "1" is selected in the cloud selection data 204, the feature model data generation unit 101 determines "Yes" in S310 and proceeds to S311. On the other hand, if it determines in S310 that there is no selection flag in the row having the "cloud data ID" that matches the "ID" of the row extracted from the cloud data 202 (S310; No), the process proceeds to S312.
[0060] The feature model data generation unit 101 adds the cloud service and cloud service options of the record extracted from the cloud data 202 in S308 to the record extracted from the feature model basic data 205 in S302, and writes it as a new row in the feature model data 206 (S311).
[0061] In the feature model data 206 shown in Figure 7, in addition to the record with ID "2" added in S307, the record with ID "3" shows that a cloud service with specifications of "m5.xlarge", which is an AWS cloud provided by an EC2 instance based on the feature model basic data 205, has been added as feature model data 206.
[0062] The feature model data generation unit 101 determines whether or not processing has been performed for all the cloud data 202 (S312), and if it is determined that processing has been performed for all the cloud data 202 (S312; Yes), the process proceeds to S313. On the other hand, if the feature model data generation unit 101 determines that processing has not been performed for all the cloud data 202 (S312; No), the process returns to S308 and repeats the subsequent processes.
[0063] Furthermore, the feature model data generation unit 101 determines whether or not all records of the feature model basic data 205 extracted in S302 have been processed (S313), and if it determines that all records of the feature model basic data 205 extracted in S302 have been processed (S313; Yes), the process proceeds to S314. On the other hand, if the feature model data generation unit 101 determines that all records of the feature model basic data 205 extracted in S302 have not been processed (S313; No), the process returns to S302 and repeats the subsequent processes.
[0064] Furthermore, the feature model data generation unit 101 determines whether or not all tables in the feature model basic data 205 to be extracted in S301 have been processed (S314), and if it determines that all tables in the feature model basic data 205 to be extracted in S301 have been processed (S314; Yes), it ends this processing.On the other hand, if the feature model data generation unit 101 determines that all tables in the feature model basic data 205 to be extracted in S301 have not been processed (S314; No), it returns to S301 and repeats the subsequent processing.
[0065] By performing this type of feature model data generation processing, the feature model data generation unit 101 can process the feature model basic data and generate feature model data based on the non-functional requirements and cloud services selected by the user.
[0066] FIG. 10 is a flowchart showing the procedure of the process (feature model conversion process) performed by the feature model conversion unit 102.
[0067] As shown in FIG. 10, the feature model conversion unit 102 extracts one table from one or more feature model data 206 generated by the feature model data generation unit 101 (S1001), and extracts one row of record from the extracted table (S1002).
[0068] Furthermore, the feature model conversion unit 102 extracts one "layer" from the record extracted in S1002 (S1003), and determines whether the content of the extracted "layer" is blank or not (S1004).
[0069] If the feature model conversion unit 102 determines that the content of the extracted "hierarchy" is not blank (S1004; No), the process proceeds to S1005. On the other hand, if the feature model conversion unit 102 determines that the content of the extracted "hierarchy" is blank (S1004; Yes), the process proceeds to S1008.
[0070] Furthermore, the feature model conversion unit 102 determines whether the content of the "layer" extracted in S1003 has already been written out (S1005). If the feature model conversion unit 102 determines that the content of the "layer" extracted in S1003 has not already been written out (S1005; No), it outputs the content of "layer N" as the value of "name" and a serial number as the value of "id" to the feature model data for user editing 207 (S1006). On the other hand, if the feature model conversion unit 102 determines that the content of the "layer" extracted in S1003 has already been written out (S1005; Yes), it proceeds to S1007 without doing anything.
[0071] In S1006, the feature model conversion unit 102 outputs the contents of "Layer N" to the user-edited feature model data 207 with the value of "name" and the value of a serial number in "id," and then determines whether or not all the contents of that layer have been processed (S1007), and if it determines that all the contents of that layer have been processed (S1007; Yes), proceeds to S1008. On the other hand, if the feature model conversion unit 102 determines that all the contents of that layer have not been processed (S1007; No), return to S1003 and repeat the subsequent processes.
[0072] The feature model conversion unit 102 outputs the content of the "option" corresponding to the layer processed in S1007 as the value of "item," the content of the option type as the value of "option," and the content of the selection result as the value of "selection" to the feature model data for user editing 207 (S1008).
[0073] FIG. 11 is a diagram illustrating how the feature model conversion unit 102 outputs JSON-formatted feature model data 207 for user editing. As shown in FIG. 11, in S1006, the feature model conversion unit 102 outputs the contents set for each layer (layer 1 and layer 2 in this example) of a record (the record with ID "1" in this example) stored in the feature model data 206 generated by the feature model data generation unit 101 to the feature model data 207 for user editing. In FIG. 11, "AP" set for layer 1 and "region" set for layer 2 are output as the values of "name," respectively (S1101, S1102). In addition, the feature model conversion unit 102 sets serial numbers "1" and "2" to "id."
[0074] Furthermore, in S1008, the feature model conversion unit 102 sets the content of the "option" of the record with ID "1" stored in the feature model data 206 output in S1101 and S1102, that is, "single, multi", as the value of "item", sets the content of the option type, that is, "selection", as the value of "option", and outputs the content of the selection result, that is, "single", as the value of "selection" to the feature model data 207 for user editing (S1103, S1104, S1105).
[0075] 10, the feature model conversion unit 102 determines whether all records of the table extracted in S1001 have been processed (S1009), and if it is determined that all records of the table extracted in S1001 have been processed (S1009; Yes), the process proceeds to S1010. On the other hand, if the feature model conversion unit 102 determines that all records of the table extracted in S1001 have not been processed (S1009; No), the process returns to S1002 and repeats the subsequent processes.
[0076] Furthermore, the feature model conversion unit 102 determines whether or not all tables in the feature model data 206 to be extracted in S1001 have been processed (S1010), and if it determines in S1001 that all tables in the feature model data 206 to be extracted have been processed (S1010; Yes), this processing ends. On the other hand, if the feature model data generation unit 101 determines in S1001 that all tables in the feature model data 206 to be extracted have not been processed (S1010; No), the process returns to S1001 and repeats the subsequent processing.
[0077] By performing this type of feature model conversion processing, the feature model conversion unit 102 can output feature model data 207 for user editing, which is a file in a specified format such as JSON format, from feature model data that includes non-functional requirements and cloud services selected by the user.
[0078] 12 is a flowchart showing the processing procedure of processing (feature model editing processing) performed by feature model editing unit 103. In this example, it is assumed that feature model editing unit 103 reads one piece of user-edited feature model data 207 converted by feature model conversion unit 102 and transmits the read user-edited feature model data 207 to user terminal 300. It is also assumed that user terminal 300 displays editing data (e.g., data in a browser display format) including each item stored in the user-edited feature model data 207 on display output unit 301, that input unit 302 accepts editing of a feature model configured by the user-edited feature model data 207, and that data of the selected feature and user-edited feature model data 207 are transmitted to cloud environment construction support device 100.
[0079] As shown in FIG. 12, when the save button is pressed on the user terminal 300, the feature model editing unit 103 receives the data of the selected feature and the user edit feature model data 207 from the user terminal 300 (S1201).
[0080] The feature model editing unit 103 selects one selected feature from one or more selected features received from the user terminal 300, and updates the value of "selection" at the corresponding location in the feature model data 207 for user editing received from the user terminal 300 in S1201 to the value of the selected feature (S1202).
[0081] The feature model editing unit 103 determines whether or not the one or more selected features received from the user terminal 300 have been processed (S1203), and if it determines that the one or more selected features received from the user terminal 300 have been processed (S1203; Yes), it ends this processing. On the other hand, if the feature model editing unit 103 determines that the one or more selected features received from the user terminal 300 have not been processed (S1203; No), it returns to S1202 and continues processing.
[0082] Fig. 13 is a diagram showing an example of a screen (feature model editing screen) displayed on the user terminal 300. As shown in Fig. 13, the feature model editing screen 1300 includes a read button 1301 for reading the editing data, a save button 1302 for reflecting each item of the editing data edited in the editing area 1303 in the user-edited feature model data 207, and an editing area 1303 indicating an area for the user to edit the user-edited feature model data 207.
[0083] 13, the items S1101 to S1105 output from the feature model data 206 shown in FIG. 11 to the user-edited feature model data 207 are displayed in the left column of the editing area 1303. For example, "AP," which was set as layer 1 in S1101, is set as item 1304, and "Region," which was set as layer 2 in S1102, is set as item 1305. Furthermore, "single, multi," which was set as an option in S1103, is set as item 1306, and among these, the selection result "single," which was set in S1105, is checked.
[0084] 13, the display output unit 301 of the user terminal 300 displays a feature model editing screen as shown in FIG. 13, and the input unit 302 accepts edits to the displayed content from the user. For example, if the user determines that a "multiple" feature model should be generated rather than a "single" feature model for the "region" set as layer 2 in light of customer requests, the user checks "multiple" on the screen and presses the save button 1302. When the input unit 302 accepts the press of the save button 1302, the display output unit 301 outputs the selected features including the items entered, updated, or changed on the edited screen, and transmits the output data and user-edited feature model data 207 to the cloud environment construction support device 100.
[0085] The feature model editing unit 103 reflects each item of the newly edited editing data received from the user terminal 300 in the feature model data for user editing 207, as described above.
[0086] As described above, the cloud environment construction support system in this embodiment is a cloud environment construction support system 1000 that supports system construction of a cloud environment by a computer having a processor and a memory, and the processor (for example, CPU 1601) executes the feature model data generation unit 101 (program) to generate feature model basic data 205 that defines general configurations of cloud services and non-functional requirements provided by different cloud vendors, a non-functional requirement list 201 that represents means for realizing the non-functional requirements for each type of the non-functional requirement, and a cloud data list that stores options that can be taken by the cloud services provided by the cloud vendor. The system generates feature model data 206 constituting the cloud environment system based on the user-defined feature model data 202, non-functional requirement selection data 203 storing the non-functional requirements selected by the user, and cloud selection data 204 storing the cloud service selected by the user. The system then executes a feature model conversion unit 102 (program) to convert the generated feature model data into user-editable feature model data 207 in a predetermined user-editable format (e.g., JSON format). The system then executes a feature model editing unit 103 (program) to output the feature model data converted into the predetermined format to a user terminal 300. This creates a feature model that takes into account the customer's non-functional requirements and cloud services offered by different cloud vendors, thereby supporting the creation of a cloud environment that better reflects customer needs. Conventionally, addressing non-functional requirements and supporting multi-cloud environments required significant system design man-hours. However, the present system reduces these man-hours and automatically addresses non-functional requirements and multi-cloud environments by aligning the system engineer's desired cloud services and non-functional requirements with a common feature model.
[0087] 13 and other figures, the processor executes the feature model editing unit 103 to reflect the feature model edited on the user terminal in the generated user-edited feature model data stored in the computer, thereby allowing the editing content desired by the user to be reflected in the user-edited feature model.
[0088] 11 and other figures, the processor executes the feature model conversion unit 102 to convert the generated feature model data by selecting the JSON format as the predetermined format, thereby enabling editing of feature models in the JSON format from among multiple other formats.
[0089] 3, 5, etc., the processor includes definitions of at least system availability, system performance and scalability, system operation and maintainability, system migration, system security, and system environment and ecology as non-functional requirements to be stored in the feature model basic data when executing the feature model data generation unit 101. This allows the processor to generate a feature model taking these non-functional requirements into consideration.
[0090] The present invention is not limited to the above-described embodiments as they are, and in the implementation stage, the components can be modified and embodied within the scope of the gist of the present invention, or multiple components disclosed in the above-described embodiments can be appropriately combined. [Explanation of symbols]
[0091] 1000 Cloud environment construction support system 100 Cloud environment construction support device 101 Feature model data generation unit 102 Feature model conversion part 103 Feature Model Editorial Department 201 Non-functional Requirements List 202 Cloud Data 203 Non-functional requirements selection data 204 Cloud Selected Data 205 Feature Model Basic Data 206 Feature Model Data 207 Feature model data for user editing 300 User Terminals 301 Display output unit 302 Input section N Network
Claims
1. A cloud environment construction support system that supports system construction of a cloud environment using a computer having a processor and a memory, The processor: Generate feature model data that configures a system in the cloud environment based on feature model basic data that defines a general configuration of cloud services and non-functional requirements provided by different cloud vendors, a non-functional requirement list that indicates means for realizing the non-functional requirements for each type of non-functional requirement, cloud data that stores options that can be taken by cloud services provided by the cloud vendor, non-functional requirement selection data that stores the non-functional requirements selected by a user, and cloud selection data that stores the cloud services selected by the user; converting the generated feature model data into a predetermined format that is editable by a user; When the user-edited feature model data converted into the predetermined format is output to a user terminal, The non-functional requirements to be stored in the feature model basic data include at least definitions regarding system availability, system performance and scalability, system operation and maintainability, system migration, system security, and system environment and ecology. A cloud environment construction support system characterized by:
2. the processor reflects the features selected by editing on the user terminal in the generated user-edited feature model data stored in the computer; 2. The cloud environment construction support system according to claim 1.
3. the processor converts the generated feature model data by selecting a json format as the predetermined format; 2. The cloud environment construction support system according to claim 1.
4. A cloud environment construction support method performed by a cloud environment construction support system that supports system construction of a cloud environment using a computer having a processor and a memory, comprising: Generate feature model data that configures a system in the cloud environment based on feature model basic data that defines a general configuration of cloud services and non-functional requirements provided by different cloud vendors, a non-functional requirement list that indicates means for realizing the non-functional requirements for each type of non-functional requirement, cloud data that stores options that can be taken by cloud services provided by the cloud vendor, non-functional requirement selection data that stores the non-functional requirements selected by a user, and cloud selection data that stores the cloud services selected by the user; converting the generated feature model data into a predetermined format that is editable by a user; When the user-edited feature model data converted into the predetermined format is output to a user terminal, The non-functional requirements to be stored in the feature model basic data include at least definitions regarding system availability, system performance and scalability, system operation and maintainability, system migration, system security, and system environment and ecology. A cloud environment construction support method comprising:
5. reflecting the features selected by editing on the user terminal in the generated user-edited feature model data stored in the computer; 5. The cloud environment construction support method according to claim 4.
6. converting the generated feature model data by selecting a json format as the predetermined format; 5. The cloud environment construction support method according to claim 4.
Citation Information
Patent Citations
Environment construction support system and environment construction support method
JP2020017053A
Management system and resource scheduling method
WO2017208431A1