WO2014020771A1 - テンプレート生成プログラム、テンプレート生成方法およびテンプレート生成装置 - Google Patents
テンプレート生成プログラム、テンプレート生成方法およびテンプレート生成装置 Download PDFInfo
- Publication number
- WO2014020771A1 WO2014020771A1 PCT/JP2012/069908 JP2012069908W WO2014020771A1 WO 2014020771 A1 WO2014020771 A1 WO 2014020771A1 JP 2012069908 W JP2012069908 W JP 2012069908W WO 2014020771 A1 WO2014020771 A1 WO 2014020771A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- script
- template
- existing system
- information
- component
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Definitions
- the present invention relates to a template generation program, a template generation method, and a template generation apparatus.
- a system is operated on each of a large number of physical servers, or a virtual machine (virtual machine) is operated on the physical server, and each system is operated on a virtual machine.
- a virtual machine virtual machine
- Such a large-scale system is configured by a number of components such as hardware of each server and various software operating on the server.
- Open Source Software that realizes automation of the operation management work of the components constituting the system and software that realizes automation of operation management for which products are being developed Is based on a script and automates operation management work using templates.
- a template is a description in which configuration information relating to components constituting the system is described.
- the template describes various settings related to the constituent elements and scripts used for operations such as starting and stopping.
- the “template” is called in various ways depending on the software, and may be called “manifest”, “recipe”, “pattern”, or the like.
- the software that realizes the automation of the operation management describes the script used for each operation work in the template suitable for the target system, and realizes the automation of the operation by executing each script according to the situation.
- a conventional technique in which a software script included in a template used in an existing system is stored and used when creating a new template used in a new system.
- a conventional technique for generating a script from a policy description and a conventional technique for generating a script from the configuration of a business program used in a business system are known (see, for example, Patent Document 1 and Patent Document 2).
- the stored script may be used.
- the script of the new system is created by diverting the script of another product or another version.
- the created script does not work properly because it is not known where to modify the diverted script.
- the conventional technology for generating a script from the policy description or business program configuration has to store the script in advance corresponding to the policy description or business program, and there is a case where a script corresponding to a new system cannot be generated.
- An object of the present invention is to provide a template generation program, a template generation method, and a template generation apparatus that can generate a template suitable for a new system.
- a template generation program includes a common part and a non-common part of a script for each similar constituent element from a plurality of templates in which a script relating to each constituent element constituting an existing system is described in a computer. Execute the process to identify. Further, the template generation program causes the computer to execute a process of generating a general-purpose script in which the specified common part is described for each similar component and the non-common part is an item indicating the fluctuation of the description. Then, the template generation program uses the existing system script for the same component as the existing system, and generates a new system template using the same general-purpose script for the new component. Is executed.
- a template suitable for a new system can be generated.
- FIG. 1 is a diagram illustrating an example of a system configuration according to the first embodiment.
- FIG. 2 is a diagram schematically showing an example of a template.
- FIG. 3 is a diagram illustrating an example of a functional configuration of the template generation device.
- FIG. 4 is a diagram schematically showing the configuration of management information.
- FIG. 5 is a diagram schematically illustrating an example of a flow of generating a general-purpose script from an existing system script.
- FIG. 6 is a diagram for explaining calculation of costs.
- FIG. 7 is a diagram for explaining the calculation of the cost for changing an existing system script to a new system script.
- FIG. 8 is a diagram illustrating an example of calculating the cost of changing a script for each existing system.
- FIG. 1 is a diagram illustrating an example of a system configuration according to the first embodiment.
- FIG. 2 is a diagram schematically showing an example of a template.
- FIG. 3 is a diagram illustrating an example of a functional configuration of the template generation
- FIG. 9 is a diagram schematically illustrating an example of a flow for generating a script corresponding to a new component from a general-purpose script.
- FIG. 10 is a flowchart showing the procedure of the registration process.
- FIG. 11 is a flowchart showing the procedure of the generation process.
- FIG. 12 is a diagram illustrating a computer that executes a template generation program.
- FIG. 1 is a diagram illustrating an example of a system configuration according to the first embodiment.
- the system 10 according to the present embodiment includes a terminal device 11, a template generation device 12, a configuration management device 13, and a verification device 14.
- the terminal device 11, the template generation device 12, the configuration management device 13, and the verification device 14 are communicably connected via the network 15.
- the network 15 there is an arbitrary communication network such as a local area network (LAN) or a virtual private network (VPN) regardless of whether it is wired or wireless.
- LAN local area network
- VPN virtual private network
- the terminal device 11 is a computer used by a user who requests generation of a new template, for example, a client computer.
- the template generation device 12 is a computer that generates a template, for example, a server computer.
- the configuration management device 13 is a computer that manages configuration management information, and is, for example, a server computer.
- the verification device 14 is a computer that performs template verification, for example, a server computer.
- the configuration management device 13 stores configuration management information of an existing system.
- the configuration management information stores various types of information related to the execution environment in which the existing system operates.
- the configuration management information stores hardware that operates an existing system, software such as an operating system (OS), various setting information such as an IP address, and the like.
- OS operating system
- IP address IP address
- the template generation device 12 transmits image information of various operation screens to the terminal device 11 to display various operation screens, and receives information indicating operation contents and operation information indicating various registered information from the terminal device 11. By doing so, various operations from the terminal device 11 are possible.
- a plurality of templates that have an operation record used for operation management of an existing system and software information related to software constituting the existing system are registered from the terminal device 11.
- Each template describes configuration information relating to components that constitute an existing system.
- the template describes various settings related to the constituent elements and scripts used for operation management such as starting and stopping.
- the template stores information such as software connection relationships.
- the template generation apparatus 12 is instructed by the terminal apparatus 11 to generate a template by designating components such as hardware and software constituting a new system.
- the template generation apparatus 12 When the template generation apparatus 12 is instructed to generate a template, the template generation apparatus 12 generates a template to be used for operation management of a new system from a template of an existing system registered in advance.
- the verification device 14 can control various resources 16 such as hardware such as server devices, network devices, and storage devices, and software such as applications (AP) and middleware (MW) via the network 15. .
- the verification device 14 is configured to control various resources 16 to construct a system and to verify a template generated by the template generation device 12.
- FIG. 2 is a diagram schematically showing an example of a template.
- the template 20 shown in FIG. 2 includes information about Interstage Application Server V10 and Symfoware Server V10 as software constituting the system.
- a link 21 indicates that the Interstage Application Server V10 and Symfoware Server V10 are connected.
- the template 20 includes a script 22 used for operation management such as starting and stopping of Interstage Application Server V10 and Symfoware Server V10.
- FIG. 3 is a diagram illustrating an example of a functional configuration of the template generation device.
- the template generation device 12 includes a communication I / F unit 30, a storage unit 31, and a control unit 32.
- the communication I / F unit 30 is an interface that performs communication control with other devices such as the terminal device 11, the configuration management device 13, and the verification device 14. For example, the communication I / F unit 30 receives template data and software information of an existing system registered from the terminal device 11. Further, the communication I / F unit 30 receives an instruction for generating a template used for operation management of the new system, together with data related to components such as hardware and software constituting the new system, from the terminal device 11. Further, the communication I / F unit 30 transmits a request for referring to the configuration management information to the configuration management device 13 and receives data of the requested configuration management information from the configuration management device 13.
- the communication I / F unit 30 transmits the data of the template to be verified to the verification device 14 and receives the verification result from the verification device 14.
- a network interface card such as a LAN card can be employed.
- the storage unit 31 is a storage device such as a semiconductor memory element such as a flash memory, a hard disk, or an optical disk.
- the storage unit 31 is not limited to the above-mentioned type of storage device, and may be a Random Access Memory (RAM) or a Read Only Memory (ROM).
- RAM Random Access Memory
- ROM Read Only Memory
- the storage unit 31 stores an OS executed by the control unit 32 and various programs used for generating a template. Furthermore, the storage unit 31 stores various data used in programs executed by the control unit 32. For example, the storage unit 31 stores template data 31a, software information 31b, management information 31c, condition information 31d, and new template data 31e.
- the template data 31a is template data with a performance record used for operation management of an existing system.
- the template data 31a is registered by the registration unit 50, which will be described later, with the template registered by the terminal device 11 and received by the communication I / F unit 30.
- the template data 31a is referred to by a later-described replacement unit 51 in order to generate a general-purpose script.
- the software information 31b is data in which information related to software such as the type and version of each software constituting the existing system is stored.
- the software information 31b is registered by the registration unit 50, which will be described later, after being registered by the terminal device 11 and received by the communication I / F unit 30.
- the software information 31b is referred to by a replacement unit 51 described later when generating a general-purpose script.
- the management information 31c is data for managing, in a tree structure, a general-purpose script obtained by generalizing a common part of a script for each constituent element or similar constituent element.
- the management information 31c is registered with a script in which information unique to the execution environment is replaced by a replacement unit 51 described later or a general-purpose script generated by a first generation unit 54 described later.
- the management information 31c is referred to by a calculation unit 56 and a second generation unit 57 described later when generating a new system template.
- FIG. 4 is a diagram schematically showing the configuration of management information.
- the example of FIG. 4 shows a case where software scripts of Application Server (AS) and DataBase (DB) are managed as components constituting the system.
- AS Application Server
- DB DataBase
- the management information 31c scripts are managed in a hierarchical tree structure so that similar components are close to each other.
- scripts of the constituent elements are stored in correspondence with the constituent elements of the node at the end in the tree structure.
- the management information 31c stores general-purpose scripts that generalize common portions of scripts of lower-level component elements in correspondence with the middle part of the tree structure and the component elements of the highest-level node.
- the AS and DB software are classified by software type and software product, respectively, and further classified by version. Versions are classified into major versions that have undergone significant revisions, and are further classified into minor versions that have undergone minor revisions for each major version.
- Apache Tomcat Tomcat
- WebSphere Application Server WAS
- IAS Interstage Application Server
- Tomcat V6.0 is stored as the Tomcat version
- WAS V8 is stored as the WAS version
- IAS V8, IAS V9, and IAS V10 are stored as the IAS versions.
- WAS V8.0 and WAS V8.1 are stored as minor versions of WAS V8.
- IAS V8.0 is stored as a minor version of IAS V8.
- IAS V9.1 is stored as a minor version of IAS V9.
- IAS V10.0 and IAS V10.1 are stored as minor versions of IAS V10.
- Relational Data Base (RDB) and Key Value Store (KVS) are stored as DB types.
- MySQL, DB2, and Symfoware Server (Symfoware) are stored as RDBs.
- MySQL V5.5 is stored as the MySQL version
- DB2 V9.7 is stored as the DB2 version.
- Symware V9 and Symfire V10 are stored as Symware versions.
- MySQL V5.5.0 and MySQL V5.5.2 are stored as minor versions of MySQL V5.5.
- DB2 V9.7.0 is stored as a minor version of DB2 V9.7.
- Symware V9.0 and Symfire V9.1 are stored as minor versions of Symfire V9.
- Symfire V10.0 is stored as a minor version of Symfire V10.
- condition information 31d is data in which information related to the components constituting the new system is stored.
- information indicating components constituting a new system is registered by the receiving unit 55 described later.
- the condition information 31d is referred to by a calculation unit 56 and a second generation unit 57 described later when generating a new system template.
- the new template data 31e is template data generated for use in the operation management of a new system.
- information indicating components constituting the new system is registered by the verification unit 58 described later.
- the control unit 32 has an internal memory for storing programs defining various processing procedures and control data, and executes various processes using these.
- the control unit 32 functions as various processing units by operating various programs.
- the control unit 32 includes a registration unit 50, a replacement unit 51, a management unit 52, a specifying unit 53, a first generation unit 54, a reception unit 55, and a calculation unit 56.
- the second generation unit 57 and the verification unit 58 are included.
- the registration unit 50 is a processing unit that registers various data in the storage unit 31.
- the registration unit 50 registers the template data 31a and the software information 31b in the storage unit 31.
- the registration unit 50 stores the received template in the storage unit 31. Is registered as template data 31a.
- the registration unit 50 registers the received software information as software information 31b in the storage unit 31 in association with the received template.
- the replacement unit 51 is a processing unit that performs data replacement.
- the replacement unit 51 replaces information specific to the execution environment included in the script described in each template stored as template data 31a in the storage unit 31 with generalized common information.
- the replacement unit 51 is configured to show a configuration of a system in which operation management is performed by the template from the configuration management apparatus 13 via the communication I / F unit 30 for each template stored as the template data 31a in the storage unit 31.
- Read management information includes various types of information regarding the execution environment in which the system operates.
- the management unit 52 replaces information specific to the execution environment included in the script described in the template with each generalized predetermined standard information. To do.
- the replacement unit 51 replaces information specific to the execution environment included in the script with a predetermined character string indicating standard information for each type.
- the management unit 52 is a processing unit that manages scripts.
- the management unit 52 manages the script that has been replaced by the replacement unit 51 and a general-purpose script that will be described later in a tree structure. For example, the management unit 52 extracts a script for each software from the template in which information specific to the execution environment is replaced with a predetermined character string by the replacement unit 51. Based on the software information 31b, the management unit 52 specifies the type and version of the software that is extracted by the extracted script. Then, the replacement unit 51 registers the script in correspondence with the node corresponding to the type and version of the software specified in the management information 31c.
- the management unit 52 associates a general-purpose script and description fluctuation information generated by the first generation unit 54, which will be described later, with an upper node of the node where the script that is the basis of the general-purpose script of the management information 31c is registered. And register.
- the identification unit 53 is a processing unit that performs various types of identification.
- the specifying unit 53 specifies common parts and non-common parts of scripts registered in the management information 31c. For example, when the script is registered in the lower nodes for the middle part and the highest node of the tree structure, the specifying unit 53 specifies the common part and the non-common part of the script from the script of the lower node. For example, when there are scripts of the same type and major version but different minor versions, the identifying unit 53 compares the scripts having different minor versions and identifies a common part and a non-common part of the scripts.
- the specifying unit 53 compares the scripts for each kind of general-purpose scripts registered in the intermediate node, and specifies common parts and non-common parts of the same general-purpose scripts. For example, when there are general-purpose scripts of the same type and different major versions for the software, the specifying unit 53 compares the general-purpose scripts with different major versions, and specifies common parts and non-common parts of the general-purpose scripts. In addition, when there is one script of the lower node, the specifying unit 53 specifies a part in which information for classifying the lower node is described as a non-common part and specifies other parts as a common part in the script of the lower node. .
- the specifying unit 53 specifies a part in which information indicating the minor version is described in the script of the minor version node as a non-common part, and specifies the other part as a common part.
- the first generation unit 54 is a processing unit that generates a general-purpose script from the specified common part and non-common part.
- the first generation unit 54 describes a script of the common part specified by the specification unit 53, and generates a general-purpose script having the non-common part as an item indicating the fluctuation of the description.
- the first generation unit 54 extracts a common part specified by the specification unit 53 and generates a general-purpose script in which the non-common part is a predetermined character string indicating the fluctuation of the description.
- the first generation unit 54 also extracts the common part between the general-purpose scripts for each similar component for the intermediate part and the highest node, and sets the non-common part as a predetermined character string indicating the fluctuation of the description.
- a generic script that is more common between the generic scripts is generated.
- generation part 54 produces
- FIG. 5 is a diagram schematically showing an example of a flow for generating a general-purpose script from an existing system script.
- the script 60a is a script used for operation management of the software “ASa V9”.
- the script 60b is a script used for operation management of the software “ASa V10”.
- software information 61a and 61b of the scripts 60a and 60b and information 62a and 62b related to the execution environment are shown.
- the name of the software to be processed is “ASa V9”, the vendor is “XYZ”, the product group is “ASa”, and the version is “9”.
- the script 60a has an execution environment IP address of “192.168.0.10”, a host name of “hoge”, and an OS of “RHEL (Red Hat Enterprise). Linux (registered trademark)) 5.6 ".
- the script 60a indicates that the OS product group is “RHEL”, the central processing unit (CPU) of the execution environment is “Xeon 3 GHz ⁇ 4”, and the memory is “4 GB”.
- the replacement unit 51 searches the script 60a for information specific to the execution environment stored in the software information 61a and the information 62a related to the execution environment, and replaces the information specific to the execution environment included in the script 60a with a predetermined character string. . Further, the replacement unit 51 searches the script 60b for information specific to the execution environment stored in the software information 61b and the information 62b related to the execution environment, and sets the information specific to the execution environment included in the script 60b to a predetermined character string. Replace. Scripts 63a and 63b in FIG. 5 show the results of replacement with standard information.
- a predetermined character string indicating standard information is a character string enclosed in triple ⁇ . However, if it does not overlap with a keyword used in a system or software in advance, such as a reserved word, Such a character string may be used.
- the management unit 52 registers the replaced script in the management information 31c according to the type and version of the software to be processed by the script.
- the script 63a in FIG. 5 is registered in the management information 31c in association with the node of the version “V9” of the software “ASa”.
- the script 63b in FIG. 5 is registered in the management information 31c in association with the node of the version “V10” of the software “ASa”.
- the identifying unit 53 compares the scripts 63a and 63b to identify a common part and a non-common part.
- the first generation unit 54 describes a script of the specified common part, and generates a general-purpose script with the non-common part as an item indicating the fluctuation of the description.
- a general-purpose script 64 generated by comparing the scripts 63a and 63b is shown.
- a script common to the scripts 63a and 63b is described.
- the non-common part of the scripts 63a and 63b is described as an item indicating the fluctuation of the description.
- FIG. 5 a general-purpose script 64 generated by comparing the scripts 63a and 63b is shown.
- the general-purpose script 64 a script common to the scripts 63a and 63b is described.
- the non-common part of the scripts 63a and 63b is described as an item indicating the fluctuation of the description.
- the management unit 52 registers the general-purpose script and the description fluctuation information in correspondence with the upper node of the node where the script that is the basis of the general-purpose script of the management information 31c is registered.
- the management unit 52 registers the general-purpose script 64 and the description shake information in FIG. 5 in association with the upper node of the node in which the scripts 60a and 60b are registered.
- the receiving unit 55 is a processing unit that receives various instructions.
- the accepting unit 55 accepts a template generation instruction from the terminal device 11.
- the accepting unit 55 accepts a template generation instruction from the terminal device 11 together with information indicating components such as hardware and software constituting a new system.
- the receiving unit 55 stores information indicating the components constituting the received new system in the storage unit 31 as the condition information 31d.
- the calculation unit 56 is a processing unit that performs various calculations. When there are new components among the components constituting the new system stored in the condition information, the calculation unit 56 generates a general-purpose script that has been generalized from similar components of the existing system. Calculate the cost of changing to the script.
- FIG. 6 is a diagram for explaining calculation of costs.
- FIG. 6 shows a general-purpose script 64.
- the general-purpose script 64 shown in FIG. 6 has “ ⁇ $ 1 ⁇ ” to “ ⁇ $ 3 ⁇ ” as items indicating fluctuation of the description.
- FIG. 6 shows an example of the setting contents described in the item indicating the fluctuation of the description according to the versions of V8 to V11.
- the calculation unit 56 specifies the information of the setting content that appears most frequently as the default for each item indicating the fluctuation of the description.
- the calculation unit 56 specifies that there is no default when all pieces of setting content information are different or when there are a plurality of setting content items that appear most frequently.
- the item $ 1 indicating the fluctuation of the description is set to no default (“-”) because all pieces of setting content information are different.
- the item $ 2 indicating the fluctuation of the description is defaulted to “ ⁇ OS ⁇ , which appears most frequently
- the item $ 3 indicating the fluctuation of the description is the most frequent“ echo. ⁇ ⁇ ⁇ Is the default.
- the calculation unit 56 calculates the cost for changing the script information.
- the calculation unit 56 employs the Levenshtein distance calculation method, where the insertion / deletion cost is 1 and the replacement cost is 2, and the cost is calculated as follows for each item indicating the fluctuation of the description. ⁇ If the default and setting contents are the same, it is considered that there is no change and the cost is set to zero. -If the default is empty and the setting content is other than empty, it is regarded as insertion and the cost is 1. ⁇ If the default is non-empty and the setting is empty, it is considered to be deleted and the cost is 1. ⁇ If the settings are different from the default, it is regarded as replacement and the cost is 2. -If there is no default and there is a setting, it is regarded as a replacement and the cost is 2.
- the calculation unit 56 calculates the cost of changing the item indicating the fluctuation of the description to the script information of the lower node for each general-purpose script registered in the management information 31c. Then, the calculation unit 56 calculates the cost of changing the script of the existing system to the script of the new system for each existing system based on the tree structure indicated by the management information 31c. For example, for the new component that does not exist in the existing system, the calculation unit 56, based on the tree structure indicated by the management information 31c, adds a similar component of the existing system to the general-purpose script closest to the new component. Calculate the cost of changing the script.
- FIG. 7 is a diagram for explaining the calculation of the cost of changing an existing system script to a new system script.
- a numerical value indicating the cost of changing each general-purpose script to a script of a lower node is shown in association with the tree structure.
- a combination of software constituting the existing system is indicated by a one-dot chain line 70.
- the existing system indicates that there is a combination of Tomcat V6.0 and Symfire V9.0.
- WAS V8.0 and Symfire V9.1 as an existing system.
- WAS V8.1 and DB2 V9.7.0 shows that there exists a combination of IAS V8.0 and MySQL V5.5.2 as an existing system.
- the calculation unit 56 changes the cost of changing the script of a similar component of the existing system to a general-purpose script closest to the new component for a new component that does not exist in the existing system. Is calculated.
- the cost of changing the script of the similar component of the existing system to the upper general script 72 closest to IAS V9.1 and the upper general script 73 closest to Symfoire V10.0 is calculated.
- FIG. 8 is a diagram showing an example of calculating the cost of changing the script for each existing system.
- AS change cost indicates the cost of changing the AS software script.
- DB change cost indicates a cost for changing a DB software script.
- Total cost indicates the sum of the AS change cost and the DB change cost.
- Primary indicates the priority of existing systems in ascending order of cost. For example, in the case of an existing system that combines IAS V10.1 and Symfire V9.1, the cost of changing the script 74 of IAS V10.1 is “55”. The cost of changing the Symfoire V9.1 script 75 is “20”. For this reason, the total cost of changing the script of the existing system that combines IAS V10.1 and Symfire V9.1 is calculated as “75”.
- the second generation unit 57 is a processing unit that generates a template used for operation management work of a new system.
- the second generation unit 57 determines the priorities of the existing systems in order of the calculated cost in ascending order. Then, the second generation unit 57 changes the script of the existing system in descending order of priority, and generates a new system template. For example, the second generation unit 57 generates a template using a script of the same component of the existing system for the same component as the existing system.
- the second generation unit 57 generates a template for a new component that does not exist in the existing system using a similar component of the existing system and a general-purpose script that is generalized from the new component.
- the second generation unit 57 uses a general-purpose script of the lowest node common to the similar software of the existing system and the new software in the tree structure indicated by the management information 31c. Is generated. For example, in the tree structure shown in FIG. 7, when the new software is Symvware V10.0 and the similar software of the existing system is MySQL V5.5.2, the second generation unit 57 sets the general-purpose script 76. To create a template. In addition, when the script includes a predetermined character string indicating standard information, the second generation unit 57 generates a template by replacing the script with information specific to the execution environment of the new system.
- FIG. 9 is a diagram schematically showing an example of a flow for generating a script corresponding to a new component from a general-purpose script.
- a general-purpose script 64 generalized for the software “ASa” is shown.
- the general-purpose script 64 includes “ ⁇ Vendor ⁇ ”, “ ⁇ family ⁇ ”, “ ⁇ IPAddr ⁇ ” and a character string indicating standard information. Further, the general-purpose script 64 includes items “ ⁇ $ 1 ⁇ ”, “ ⁇ $ 2 ⁇ ”, and “ ⁇ $ 3 ⁇ ” indicating the fluctuation of the description.
- the second generation unit 57 uses the configuration management apparatus 13 to use the new system component via the communication I / F unit 30 based on the information related to the component specified as the new system indicated by the condition information 31d.
- the read configuration management information includes various types of information related to the execution environment in which the new system operates.
- FIG. 9 shows an example of information 80 related to the execution environment.
- FIG. 9 also shows an example of information 81 regarding the software “ASa” designated as a new system.
- the second generation unit 57 replaces the standard information included in the general-purpose script with information specific to the execution environment based on the information 80 regarding the execution environment and the information 81 regarding the software “ASa”. For example, the second generation unit 57 replaces character strings indicating standard information included in the script with information specific to the execution environment.
- the script 65 in FIG. 9 shows the result of replacement with information specific to the execution environment.
- the second generation unit 57 replaces “ ⁇ Vendor ⁇ ” with “XYZ”, replaces “ ⁇ family ⁇ ” with “ASa”, and “ ⁇ IPAddr ⁇ ⁇ ”Is replaced with“ 192.168.0.10 ”.
- the second generation unit 57 replaces the item indicating the fluctuation of the description included in the script with information corresponding to the software. For example, the second generation unit 57 sets “ ⁇ $ 1 ⁇ ”, “ ⁇ $ 2 ⁇ ”, “ ⁇ $ 3 ⁇ ” included in the script 65 according to software. Replace with the information.
- Information corresponding to the software set in the item indicating the description fluctuation may be specified by the user from the terminal device 11 or may be set in advance as description fluctuation information by the administrator or the like. Further, the information corresponding to the software may be estimated and set from information of other versions of the same software. For example, if the information of the item indicating the fluctuation of the description of each version is the same as the version information, the new software version information may be set.
- the information corresponding to the software may be default information stored in the description fluctuation information.
- the script 66 in FIG. 9 shows the result of setting information according to the software in the item indicating the fluctuation of the description.
- the second generation unit 57 converts “ ⁇ $ 1 ⁇ ”, “ ⁇ $ 2 ⁇ ”, and “ ⁇ $ 3 ⁇ ” included in the script 65 into the version V8. Replace with the appropriate information.
- the second generation unit 57 generates a template describing the script 66 for the new system.
- the verification unit 58 is a processing unit that verifies the generated script.
- the verification unit 58 verifies the generated script using the verification device 14.
- the verification unit 58 verifies whether the generated template is executed by the verification device 14 to operate correctly and whether a predetermined performance can be obtained. If there is a problem as a result of the verification by the verification unit 58, the second generation unit 57 generates a template generated from the script of the existing system with the next highest priority.
- the template generation apparatus 12 can modify any part of the script by generating a general-purpose script in which the common part of the script of the existing system is described and the non-common part is an item indicating the fluctuation of the description. Can be identified. For this reason, the template generation apparatus 12 is suitable for automating operation management work even for a new system by using an existing system script and generating a template for a new component using a general-purpose script. A template can be generated.
- a template that can be operated stably can be generated by changing the script of the existing system and generating a template of a new system in the order of the cost of changing from the script of the existing system.
- a template that operates stably can be generated by verifying the generated template.
- FIG. 10 is a flowchart showing the procedure of the registration process. This registration process is executed, for example, when the template data and software information of an existing system registered from the terminal device 11 are received.
- the registration unit 50 registers the received template data and software information in the storage unit 31 as template data 31a and software information 31b (S10).
- the replacement unit 51 replaces information specific to the execution environment included in the script described in each template stored as the template data 31a in the storage unit 31 with a predetermined character string indicating standard information (S11).
- the management unit 52 extracts a script for each software from the replaced template (S12).
- the management unit 52 determines whether or not the processing for all the extracted scripts has been completed (S13). If the processing for all scripts is completed (Yes at S13), the processing is terminated.
- the management unit 52 selects a script from the unprocessed scripts (S14). Based on the software information 31b, the management unit 52 identifies the type and version of software to be processed by the selected script, and registers the script corresponding to the terminal node corresponding to the identified type and version of software. (S15).
- the management unit 52 determines whether or not the current node in which the script is registered is the highest node (S16). If it is the highest node (Yes at S16), the process proceeds to S13 described above.
- the management unit 52 proceeds to processing of the upper node of the current node (S17).
- the specifying unit 53 specifies a common part and a non-common part of the script from the script of the lower node (S18).
- the first generation unit 54 describes the script of the common part specified by the specification unit 53, and generates a general-purpose script having the non-common part as an item indicating the fluctuation of the description (S19). Then, when the item indicating the general script and description fluctuation is specified, the management unit 52 registers the description fluctuation information in association with the current node of the management information 31c (S20), and proceeds to S16 described above.
- FIG. 11 is a flowchart showing the procedure of the generation process. This generation process is executed, for example, when a template generation instruction is received from the terminal device 11 together with information indicating the components constituting the new system.
- the calculation unit 56 obtains the cost for changing the item indicating the fluctuation of the description into the information of the lower script (S30). Then, the calculation unit 56 calculates the cost for changing the script of the existing system to the script of the new system for each existing system (S31).
- the second generation unit 57 determines the priorities of the existing systems in the order of the low cost (S32). Then, the second generation unit 57 changes the script of the existing system in descending order of priority, replaces the standard information included in the script with information specific to the execution environment, and generates a template of the new system (S33). .
- the verification unit 58 verifies whether the generated template is executed by the verification device 14 and operates correctly, and whether the generated system has a predetermined performance (S34).
- the verification unit 58 determines whether or not the script operates normally and the generated system has a predetermined performance as a result of the verification by the verification device 14 (S35). If the script does not operate normally or the predetermined performance cannot be obtained (No at S35), the process proceeds to S33 described above. On the other hand, when the script operates normally and a predetermined performance is obtained (Yes in S35), the generated template is stored in the storage unit 31 (S36), and the process is terminated.
- the template generation device 12 specifies a common part and a non-common part of the script for each similar constituent element from a plurality of templates in which scripts relating to the constituent elements constituting the existing system are described. Further, the template generation device 12 generates a general-purpose script in which the specified common part is described for each similar component, and the non-common part is an item indicating the fluctuation of the description.
- the template generation device 12 uses the same component script of the existing system for the same component as the existing system, and uses the same general-purpose script for the new component to create a new system template. Generate. Thereby, the template production
- the template generation device 12 stores management information 31c for managing general-purpose scripts and existing system scripts in a tree structure for each similar component in the storage unit 31. Based on the tree structure indicated by the management information 31c, the template generation device 12 calculates the cost for changing the script of the existing system to the script of the new system for each existing system. The template generation device 12 determines the priorities of the existing systems in the order of the low cost. And the template production
- the template generation device 12 replaces the execution environment-specific information included in the script having the operation record with predetermined standard information based on the software information about the software configuring the system and the configuration management information about the system. And the template production
- the template generation device 12 When the standard information is included in the script, the template generation device 12 generates a template by replacing the standard information with information specific to the execution environment of the new system. Thereby, even when there is information specific to the execution environment included in the script, the template generation device 12 can generate a general-purpose script that can change the information specific to the execution environment to the information according to the execution environment. Further, the template generation apparatus 12 can generate a template that matches the execution environment of the new system by replacing the standard information included in the script with information specific to the execution environment of the new system and generating a template.
- the template generation device 12 may not perform verification of the generated template.
- the template generation device 12 obtains an existing system with a lower change cost, uses an existing system script for the same component as the existing system, and uses a general-purpose script for a new component.
- a template may be generated.
- the existing system script has high operation reliability and is highly reliable. For this reason, the template generation device 12 can generate a template that can be stably and easily operated by generating a template for a new system from a script for an existing system that is less expensive to change from the script for the existing system.
- the template generation apparatus 12 uses the script of the existing system for the same component as the existing system, and uses the general-purpose script of the closest node in the tree structure for the new component, to create a template for the new system. May be generated.
- the general-purpose script of the closest node includes many common parts with the script used for the new component. For this reason, the template generation device 12 can generate a template suitable for a new system by generating a template for a new system using a general-purpose script of the closest node for a new component.
- the template generation device 12 may store configuration management information indicating the configuration of an existing system in the storage unit 31.
- the template generation device 12 may read software information of an existing system from an external device.
- each component of each illustrated apparatus is functionally conceptual and does not necessarily need to be physically configured as illustrated.
- the specific state of distribution / integration of each device is not limited to the one shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured.
- Each processing unit of the verification unit 58 may be appropriately integrated.
- each processing function performed in each processing unit is realized in whole or in part by a central processing unit (CPU) and a program that is analyzed and executed by the CPU, or hardware by wired logic. It can be realized as wear.
- CPU central processing unit
- FIG. 12 is a diagram illustrating a computer that executes a template generation program.
- the computer 300 includes a CPU 310, a read only memory (ROM) 320, a hard disk drive (HDD) 330, and a random access memory (RAM) 340. These units 310 to 340 are connected via a bus 400.
- ROM read only memory
- HDD hard disk drive
- RAM random access memory
- the ROM 320 stores in advance a template generation program 320a that exhibits the same function as each processing unit of the above embodiment.
- a template generation program 320a that exhibits the same function as each processing unit of the above embodiment.
- the template generation program 320a that exhibits the same function as the verification unit 58 is stored. Note that the template generation program 320a may be separated as appropriate.
- the HDD 330 stores various data.
- the HDD 330 stores various data used for generating an OS and a template.
- the CPU 310 reads the template generation program 320a from the ROM 320 and executes it, thereby executing the same operation as each processing unit of the first embodiment. That is, the template generation program 320a includes the registration unit 50, the replacement unit 51, the management unit 52, the specifying unit 53, the first generation unit 54, the reception unit 55, the calculation unit 56, and the first embodiment. 2 The same operation as that of the generation unit 57 and the verification unit 58 is executed.
- the template generation program 320a described above does not necessarily need to be stored in the ROM 320 from the beginning.
- the template generation program 320a may be stored in the HDD 330.
- a program is stored in a “portable physical medium” such as a flexible disk (FD), Compact Disk Read Only Memory (CD-ROM), Digital Versatile Disk (DVD), magneto-optical disk, or IC card inserted into the computer 300.
- FD flexible disk
- CD-ROM Compact Disk Read Only Memory
- DVD Digital Versatile Disk
- IC card inserted into the computer 300.
- the computer 300 may read and execute the program from these.
- the program is stored in “another computer (or server)” connected to the computer 300 via a public line, the Internet, a LAN, a WAN, or the like. Then, the computer 300 may read and execute the program from these.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
テンプレート生成装置(12)は、特定部(53)と、第1生成部(54)と、第2生成部(57)とを有する。特定部(53)は、既存のシステムを構成する各構成要素に関するスクリプトが記述された複数のテンプレートから同類の構成要素毎にスクリプトの共通部分および非共通部分を特定する。第1生成部(54)は、同類の構成要素毎に、特定された共通部分が記述され、非共通部分を記述の揺れを示す項目とした汎用スクリプトを生成する。第2生成部(57)は、既存のシステムと同一の構成要素については既存のシステムの同一の構成要素のスクリプトを用い、新規の構成要素については同類の汎用スクリプトを用いて新規のシステムのテンプレートを生成する。
Description
本発明は、テンプレート生成プログラム、テンプレート生成方法およびテンプレート生成装置に関する。
近年、クラウドに代表される大規模システムが運用されている。例えば、データセンタは、多数の物理サーバ上でそれぞれシステムが運用され、あるいは物理サーバ上でVirtual Machine(仮想マシン)を動作させ、仮想マシン上でそれぞれシステムが運用されている。このような大規模システムは、各サーバのハードウェアや、サーバ上で動作する各種のソフトウェアなど多数の構成要素により構成される。
このような大規模システムを効率的に運用するため、システムを構成する構成要素の運用管理作業の自動化を実現するOpen Source Software(OSS)や製品が開発されている運用管理の自動化を実現するソフトウェアは、スクリプトベースで成り立っており、テンプレートを用いて運用管理作業の自動化を実現する。テンプレートとは、システムを構成する構成要素に関する構成情報が記述されたものである。例えば、テンプレートには、構成要素に関する各種の設定や、起動、停止などの運用に用いるスクリプトが記述されている。この「テンプレート」は、ソフトウェアによって呼び方が様々であり、「マニフェスト」、「レシピ」、「パターン」などと呼ばれる場合もある。これら運用管理の自動化を実現するソフトウェアは、対象のシステムに合ったテンプレートに各運用作業に用いるスクリプトを記述し、状況に応じてそれぞれのスクリプトを実行することにより運用の自動化を実現する。
ところで、運用管理作業の自動化を実現するためには、対象システムで動作させるソフトウェアの組み合わせに合ったテンプレートを事前に用意することが求められる。しかし、対象システムで動作が保証されたテンプレートを用意することは、困難な場合がある。システムを構成する構成要素の組み合わせは、様々ある。このため、実際の構成要素の組み合わせで正しく動作するスクリプトを作成しようとすると非常に時間がかかり、作成したスクリプトが実際に正しく動作しないケースがある。
そこで、スクリプト作成の負担を軽減する次のような従来技術が知られている。例えば、既存のシステムで用いたテンプレートに含まれるソフトウェアのスクリプトを保管しておき、新規のシステムで用いる新規のテンプレート作成時に流用する従来技術が知られている。また、ポリシ記述からスクリプトを生成する従来技術や業務システムに用いる業務プログラムの構成からスクリプトを生成する従来技術が知られている(例えば、特許文献1および特許文献2参照)。
既存のシステムで用いたスクリプトを流用する従来技術では、新規のシステムが既存のシステムと同じソフトウェアの同じ版数を使用する場合は、保管されたスクリプトを用いればよい。一方、新規のシステムが既存のシステムと異なるソフトウェアあるいは同じソフトウェアの異なる版数を使用する場合は、他の製品あるいは他の版数のスクリプトを流用して新規のシステムのスクリプトを作成する。しかし、流用したスクリプトのどこを修正すればよいかわからず、作成したスクリプトが正しく動作しないケースがある。
また、ポリシ記述や業務プログラムの構成からスクリプトを生成する従来技術は、ポリシ記述や業務プログラムに対応して予めスクリプトを記憶させねばならず、新規のシステムに対応したスクリプトを生成できないケースがある。
一側面では、新規のシステムに適したテンプレートを生成できるテンプレート生成プログラム、テンプレート生成方法およびテンプレート生成装置を提供することを目的とする。
本発明の一側面によれば、テンプレート生成プログラムは、コンピュータに、既存のシステムを構成する各構成要素に関するスクリプトが記述された複数のテンプレートから同類の構成要素毎にスクリプトの共通部分および非共通部分を特定する処理を実行させる。また、テンプレート生成プログラムは、コンピュータに、同類の構成要素毎に、特定された共通部分が記述され、非共通部分を記述の揺れを示す項目とした汎用スクリプトを生成する処理を実行させる。そして、テンプレート生成プログラムは、コンピュータに、既存のシステムと同一の構成要素については既存のシステムのスクリプトを用い、新規の構成要素については同類の汎用スクリプトを用いて新規のシステムのテンプレートを生成する処理を実行させる。
本発明の一様態によれば、新規のシステムに適したテンプレートを生成できる。
以下に、本発明にかかるテンプレート生成プログラム、テンプレート生成方法およびテンプレート生成装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
実施例1について説明する。実施例1では、システムの運用管理の自動化に適したテンプレートの生成を行うシステム10について説明する。図1は、実施例1に係るシステムの構成の一例を示す図である。本実施例に係るシステム10は、端末装置11と、テンプレート生成装置12と、構成管理装置13と、検証装置14とを有する。端末装置11と、テンプレート生成装置12と、構成管理装置13と、検証装置14との間は、ネットワーク15を介して通信可能に接続される。かかるネットワーク15の一態様としては、有線または無線を問わず、Local Area Network(LAN)やVirtual Private Network(VPN)などの任意の通信網が挙げられる。
端末装置11は、新規のテンプレートの生成を依頼するユーザが用いるコンピュータであり、例えば、クライアントコンピュータである。テンプレート生成装置12は、テンプレートの生成を行うコンピュータであり、例えば、サーバコンピュータである。構成管理装置13は、構成管理情報を管理するコンピュータであり、例えば、サーバコンピュータである。検証装置14は、テンプレートの検証を行うコンピュータであり、例えば、サーバコンピュータである。
構成管理装置13は、既存のシステムの構成管理情報を記憶する。構成管理情報には、既存のシステムが動作する実行環境に関する各種情報が記憶されている。例えば、構成管理情報には、既存のシステムが動作するハードウェアやOperating System(OS)などのソフトウェア、IPアドレス等の各種の設定情報などが記憶されている。
テンプレート生成装置12は、各種の操作画面の画像情報を端末装置11へ送信して各種の操作画面を表示させ、端末装置11から操作内容を示す情報や登録された各種の情報示す操作情報を受信することにより、端末装置11からの各種操作が可能とされている。
例えば、テンプレート生成装置12は、既存のシステムの運用管理に用いた動作実績があるテンプレートおよび当該既存のシステムを構成するソフトウェアに関するソフトウェア情報が端末装置11から複数登録される。各テンプレートには、それぞれ既存のシステムを構成する構成要素に関する構成情報が記述されている。例えば、テンプレートには、構成要素に関する各種の設定や、起動、停止などの運用管理に用いられるスクリプトが記述されている。また、テンプレートには、ソフトウェアの接続関係などの情報が記憶されている。
また、例えば、テンプレート生成装置12は、新規のシステムを構成するハードウェアやソフトウェアなどの構成要素を指定してテンプレートの生成が端末装置11から指示される。テンプレート生成装置12は、テンプレートの生成が指示された場合、予め登録された既存のシステムのテンプレートから、新規のシステムの運用管理に用いるテンプレートの生成を行う。
検証装置14は、ネットワーク15を介してサーバ装置、ネットワーク機器、ストレージ装置等のハードウェアや、アプリケーション(AP)、ミドルウェア(MW)等のソフトウェアなど、各種のリソース16の制御が可能とされている。検証装置14は、各種のリソース16を制御してシステムを構築し、テンプレート生成装置12により生成されるテンプレートの検証を行うことが可能とされている。
図2は、テンプレートの一例を模式的に示した図である。図2に示すテンプレート20は、システムを構成するソフトウェアとして、Interstage Application Server V10とSymfoware Server V10に関する情報が含まれている。リンク21は、Interstage Application Server V10とSymfoware Server V10とが接続関係にあることを示す。また、テンプレート20には、Interstage Application Server V10とSymfoware Server V10の起動、停止などの運用管理に用いられるスクリプト22が含まれている。
図3は、テンプレート生成装置の機能的な構成の一例を示す図である。図3に示すように、テンプレート生成装置12は、通信I/F部30と、記憶部31と、制御部32とを有する。
通信I/F部30は、他の装置、例えば、端末装置11や構成管理装置13、検証装置14との間で通信制御を行うインタフェースである。例えば、通信I/F部30は、端末装置11から登録された既存のシステムのテンプレートのデータおよびソフトウェア情報を受信する。また、通信I/F部30は、端末装置11から新規のシステムを構成するハードウェアやソフトウェアなどの構成要素に関するデータと共に、新規のシステムの運用管理に用いるテンプレートの生成の指示を受信する。また、通信I/F部30は、構成管理情報の参照の要求を構成管理装置13へ送信し、要求した構成管理情報のデータを構成管理装置13から受信する。また、通信I/F部30は、検証対象のテンプレートのデータを検証装置14へ送信し、検証結果を検証装置14から受信する。かかる通信I/F部30の一態様としては、LANカードなどのネットワークインタフェースカードを採用できる。
記憶部31は、フラッシュメモリなどの半導体メモリ素子、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部31は、上記の種類の記憶装置に限定されるものではなく、Random Access Memory(RAM)、Read Only Memory(ROM)であってもよい。
記憶部31は、制御部32で実行されるOSやテンプレートの生成に用いる各種プログラムを記憶する。さらに、記憶部31は、制御部32で実行されるプログラムで用いられる各種データを記憶する。例えば、記憶部31は、テンプレートデータ31aと、ソフトウェア情報31bと、管理情報31cと、条件情報31dと、新規テンプレートデータ31eとを記憶する。
テンプレートデータ31aは、既存のシステムの運用管理に用いた動作実績があるテンプレートのデータである。一例として、テンプレートデータ31aは、端末装置11によって登録が行われて通信I/F部30によって受信されたテンプレートが後述の登録部50によって登録される。他の一例として、テンプレートデータ31aは、汎用スクリプトを生成するために、後述の置換部51によって参照される。
ソフトウェア情報31bは、既存のシステムを構成する各ソフトウェアの種類やバージョンなどソフトウェアに関する情報が記憶されたデータである。一例として、ソフトウェア情報31bは、端末装置11によって登録が行われて通信I/F部30によって受信されたソフトウェア情報が後述の登録部50によって登録される。他の一例として、ソフトウェア情報31bは、汎用スクリプトを生成する際に、後述の置換部51によって参照される。
管理情報31cは、各構成要素のスクリプトや同類の構成要素毎にスクリプトの共通部分を汎用化した汎用スクリプトをツリー構造で管理するデータである。一例として、管理情報31cは、後述の置換部51によって実行環境特有の情報が置換されたスクリプトや後述の第1生成部54によって生成された汎用スクリプトが登録される。他の一例として、管理情報31cは、新規のシステムのテンプレートを生成する際に、後述の算出部56および第2生成部57によって参照される。
図4は、管理情報の構成を模式的に示した図である。なお、図4の例は、システムを構成する構成要素として、Application Server(AS)および DataBase(DB)のソフトウェアのスクリプトを管理している場合を示している。管理情報31cは、類似する構成要素同士が近いノードになるように階層的なツリー構造でスクリプトが管理されている。管理情報31cは、ツリー構造で末端となるノードの構成要素にそれぞれ対応させて、当該構成要素のスクリプトが記憶されている。また、管理情報31cは、ツリー構造の中間部分および最上位となるノードの構成要素にそれぞれ対応させて、下位の構成要素のスクリプトの共通部分を汎用化した汎用スクリプトが記憶されている。図4の例では、ASおよびDBのソフトウェアがそれぞれソフトウェアの種類やソフトウェアの製品毎に分類され、さらにバージョン毎に分類されている。また、バージョンについては、大幅な改訂がおこなわれたメジャーバージョンに分類し、さらに、メジャーバージョン毎に小幅な改訂がおこなわれたマイナーバージョンに分類されている。
例えば、図4の例では、ASとして、Apache Tomcat(Tomcat)、WebSphere Application Server(WAS)、Interstage Application Server(IAS)が記憶されている。そして、図4の例では、Tomcatのバージョンとして、Tomcat V6.0が記憶され、WASのバージョンとして、WAS V8が記憶され、IASのバージョンとして、IAS V8、IAS V9、IAS V10が記憶されている。また、図4の例では、WAS V8のマイナーバージョンとして、WAS V8.0、WAS V8.1が記憶されている。また、図4の例では、IAS V8のマイナーバージョンとして、IAS V8.0が記憶されている。また、図4の例では、IAS V9のマイナーバージョンとして、IAS V9.1が記憶されている。また、図4の例では、IAS V10のマイナーバージョンとして、IAS V10.0、IAS V10.1が記憶されている。
また、図4の例では、DBの種類として、Relational Data Base(RDB)とKey Value Store(KVS)が記憶されている。そして、図4の例では、RDBとして、MySQL、DB2、Symfoware Server(Symfoware)が記憶されている。そして、図4の例では、MySQLのバージョンとして、MySQL V5.5が記憶され、DB2のバージョンとして、DB2 V9.7が記憶されている。また、図4の例では、Symfowareのバージョンとして、Symfoware V9、Symfoware V10が記憶されている。そして、図4の例では、MySQL V5.5のマイナーバージョンとして、MySQL V5.5.0、MySQL V5.5.2が記憶されている。また、図4の例では、DB2 V9.7のマイナーバージョンとして、DB2 V9.7.0が記憶されている。また、図4の例では、Symfoware V9のマイナーバージョンとして、Symfoware V9.0、Symfoware V9.1が記憶されている。また、図4の例では、Symfoware V10のマイナーバージョンとして、Symfoware V10.0が記憶されている。
図3に戻り、条件情報31dは、新規のシステムを構成する構成要素に関する情報が記憶されたデータである。一例として、条件情報31dは、後述の受付部55によって新規のシステムを構成する構成要素を示す情報が登録される。他の一例として、条件情報31dは、新規のシステムのテンプレートを生成する際に、後述の算出部56および第2生成部57によって参照される。
新規テンプレートデータ31eは、新規のシステムの運用管理に用いるために生成されたテンプレートのデータである。一例として、新規テンプレートデータ31eは、後述の検証部58によって新規のシステムを構成する構成要素を示す情報が登録される。
制御部32は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部32は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部32は、図3に示すように、登録部50と、置換部51と、管理部52と、特定部53と、第1生成部54と、受付部55と、算出部56と、第2生成部57と、検証部58とを有する。
登録部50は、記憶部31へ各種のデータの登録を行う処理部である。登録部50は、記憶部31へテンプレートデータ31aおよびソフトウェア情報31bの登録を行う。例えば、端末装置11で登録された、既存のシステムの運用管理に用いられたテンプレートおよびソフトウェア情報が通信I/F部30によって受信された場合、登録部50は、受信されたテンプレートを記憶部31にテンプレートデータ31aとして登録する。また、登録部50は、受信されたソフトウェア情報を、受信されたテンプレートと関連付けて記憶部31にソフトウェア情報31bとして登録する。
置換部51は、データの置換を行う処理部である。置換部51は、記憶部31にテンプレートデータ31aとして記憶された各テンプレートに記述されたスクリプトに含まれる実行環境特有の情報を、一般化した共通情報に置換する。例えば、置換部51は、記憶部31にテンプレートデータ31aとして記憶されたテンプレート毎に、通信I/F部30を介して構成管理装置13から当該テンプレートにより運用管理が行われるシステムの構成を示す構成管理情報を読み出す。この読み出した構成管理情報には、システムが動作する実行環境に関する各種情報が含まれている。そして、管理部52は、読み出した構成管理情報およびテンプレートに関連付けられたソフトウェア情報31bに基づき、テンプレートに記述されたスクリプトに含まれる実行環境特有の情報を、それぞれ一般化した所定の標準情報に置換する。例えば、置換部51は、スクリプトに含まれる実行環境特有の情報を種類毎にそれぞれ標準情報を示す所定の文字列に置換する。
管理部52は、スクリプトの管理を行う処理部である。管理部52は、置換部51により置換が行われたスクリプトおよび後述する汎用化された汎用スクリプトをツリー構造で管理する。例えば、管理部52は、置換部51により実行環境特有の情報が所定の文字列に置換されたテンプレートからソフトウェア毎のスクリプトを抽出する。管理部52は、ソフトウェア情報31bに基づき、抽出されたスクリプトが処理対象とするソフトウェアの種類およびバージョンを特定する。そして、置換部51は、管理情報31cの特定されたソフトウェアの種類およびバージョンに応じたノードに対応させてスクリプトを登録する。また、管理部52は、後述する第1生成部54により生成された汎用スクリプトおよび記述揺れ情報を、管理情報31cの汎用スクリプトの元となったスクリプトが登録されていたノードの上位ノードに対応させて登録する。
特定部53は、各種の特定を行う処理部である。特定部53は、管理情報31cに登録されたスクリプトの共通部分および非共通部分を特定する。例えば、特定部53は、ツリー構造の中間部分および最上位のノードについて、それぞれ下位のノードにスクリプトが登録されている場合、下位のノードのスクリプトからスクリプトの共通部分および非共通部分を特定する。例えば、特定部53は、ソフトウェアについて種類およびメジャーバージョンが同じで、マイナーバージョンが異なるスクリプトがある場合、マイナーバージョンの異なるスクリプト同士を比較して、スクリプトの共通部分および非共通部分を特定する。また、特定部53は、中間部分のノードに登録された汎用スクリプトについても、同類毎にスクリプト同士を比較して、同類の汎用スクリプトの共通部分および非共通部分を特定する。例えば、特定部53は、ソフトウェアについて種類が同じでメジャーバージョンの異なる汎用スクリプトがある場合、メジャーバージョンの異なる汎用スクリプト同士を比較して、汎用スクリプトの共通部分および非共通部分を特定する。なお、特定部53は、下位ノードのスクリプトが1つの場合、下位ノードのスクリプトにおいて、下位ノードを分類する情報が記述された部分を非共通部分と特定し、その他の部分を共通部分と特定する。例えば、メジャーバージョンとマイナーバージョンで階層的にノードを分類しており、メジャーバージョンのノードにマイナーバージョンのノードが1つのみの場合を想定する。この場合、特定部53は、マイナーバージョンのノードのスクリプトでマイナーバージョンを示す情報が記述された部分を非共通部分と特定し、その他の部分を共通部分と特定する。
第1生成部54は、特定された共通部分および非共通部分から汎用スクリプトを生成する処理部である。第1生成部54は、特定部53により特定された共通部分のスクリプトを記述し、非共通部分を記述の揺れを示す項目とした汎用スクリプトを生成する。例えば、第1生成部54は、特定部53により特定された共通部分を抜き出し、非共通部分をそれぞれ記述の揺れを示す所定の文字列とした汎用スクリプトを生成する。また、第1生成部54は、中間部分および最上位のノードについても、同類の構成要素毎に、汎用スクリプト同士の共通部分を抜き出し、非共通部分をそれぞれ記述の揺れを示す所定の文字列として、汎用スクリプト同士でさらに共通する汎用スクリプトを生成する。また、第1生成部54は、非共通部分毎に、非共通部分のそれぞれの設定内容を示す記述揺れ情報を生成する。
図5は、既存のシステムのスクリプトから汎用スクリプトを生成する流れの一例を模式的に示した図である。図5の例では、既存のシステムの2つのスクリプト60a、60bが示されている。スクリプト60aは、ソフトウェア「ASa V9」の運用管理に用いられたスクリプトである。スクリプト60bは、ソフトウェア「ASa V10」の運用管理に用いられたスクリプトである。また、図5の例では、スクリプト60a、60bのソフトウェア情報61a、61bおよび実行環境に関する情報62a、62bがそれぞれ示されている。例えば、ソフトウェア情報61aによれば、スクリプト60aは、処理対象とするソフトウェアの名称が「ASa V9」であり、ベンダーが「XYZ」であり、製品群が「ASa」であり、バージョンが「9」であることを示す。また、実行環境に関する情報62aによれば、スクリプト60aは、実行環境のIPアドレスが「192.168.0.10」であり、ホスト名が「hoge」であり、OSが「RHEL(Red Hat Enterprise Linux(登録商標))5.6」であることを示す。また、スクリプト60aは、OSの製品群が「RHEL」であり、実行環境のCentral Processing Unit(CPU)が「Xeon 3GHz×4」であり、メモリが「4GB」であることを示す。
置換部51は、ソフトウェア情報61aおよび実行環境に関する情報62aに記憶された実行環境特有の情報をスクリプト60a内から検索し、スクリプト60aに含まれる実行環境特有の情報をそれぞれ所定の文字列に置換する。また、置換部51は、ソフトウェア情報61bおよび実行環境に関する情報62bに記憶された実行環境特有の情報をスクリプト60b内から検索し、スクリプト60bに含まれる実行環境特有の情報をそれぞれ所定の文字列に置換する。図5のスクリプト63a、63bは、標準情報への置換が行われた結果を示している。例えば、置換部51は、スクリプト60aに記述された「INSTDIR=/opt/XYZ/ASa/V9/」からベンダーを示す「XYZ」および製品群を示す「ASa」を検索する。そして、置換部51は、「XYZ」を「{{{Vendor}}}」に置換し、「ASa」を「{{{Family}}}」に置換する。これにより、スクリプト63aは、「INSTDIR=/opt/{{{Vendor}}}/{{{Family}}}/V9/」と記述が変化している。本実施例では、標準情報を示す所定の文字列を3重の{}で括った文字列とした場合について説明したが、予約語など予めシステムやソフトウェアで使用されるキーワードと重複しなければどのような文字列を用いてもよい。
管理部52は、スクリプトが処理対象とするソフトウェアの種類およびバージョンに応じて、置換後のスクリプトを管理情報31cに登録する。例えば、図5のスクリプト63aは、ソフトウェア「ASa」のバージョン「V9」のノードに対応させて管理情報31cに登録する。また、図5のスクリプト63bは、ソフトウェア「ASa」のバージョン「V10」のノードに対応させて管理情報31cに登録する。
特定部53は、スクリプト63a、63b同士を比較して、共通部分および非共通部分を特定する。第1生成部54は、特定された共通部分のスクリプトを記述し、非共通部分を記述の揺れを示す項目とした汎用スクリプトを生成する。図5の例では、スクリプト63a、63b同士を比較して生成された汎用スクリプト64が示されている。汎用スクリプト64は、スクリプト63a、63bの共通部分のスクリプトが記述されている。また、汎用スクリプト64は、スクリプト63a、63bの非共通部分が記述の揺れを示す項目として記述されている。図5の例では、「{{{$1}}}」、「{{{$2}}}」、「{{{$3}}}」が記述の揺れを示す項目を示す。また、図5の例では、記述揺れ情報として記憶される、記述の揺れを示す項目「{{{$1}}}」、「{{{$2}}}」、「{{{$3}}}」に記述された非共通部分の設定内容が示されている。
管理部52は、汎用スクリプトおよび記述揺れ情報を、管理情報31cの汎用スクリプトの元となったスクリプトが登録されていたノードの上位ノードに対応させて登録する。例えば、管理部52は、図5の汎用スクリプト64および記述揺れ情報を、スクリプト60a、60bが登録されていたノードの上位ノードに対応させて登録する。
図3に戻り、受付部55は、各種の指示を受け付ける処理部である。受付部55は、端末装置11からテンプレートの生成の指示を受け付ける。例えば、受付部55は、新規のシステムを構成するハードウェアやソフトウェアなどの構成要素を示す情報と共に、テンプレートの生成の指示を端末装置11から受け付ける。受付部55は、受け付けた新規のシステムを構成する構成要素を示す情報を条件情報31dとして記憶部31に記憶させる。
算出部56は、各種算出を行う処理部である。算出部56は、条件情報に記憶された新規のシステムを構成する構成要素に新規の構成要素がある場合、それぞれ既存のシステムの同類の構成要素から汎用化された汎用スクリプトを、新規の構成要素のスクリプトに変更するコストを算出する。
ここで、スクリプトを変更するコストの算出について説明する。図6は、コストの算出を説明するための図である。図6には、汎用スクリプト64が示されている。図6に示す汎用スクリプト64は、記述の揺れを示す項目として「{{{{$1}}}」~「{{{$3}}}」を有する。また、図6には、V8~V11のバージョンに応じて記述の揺れを示す項目に記述する設定内容の一例が示されている。
算出部56は、記述の揺れを示す項目について、それぞれ最も頻出する設定内容の情報をデフォルトと特定する。なお、算出部56は、設定内容の情報が全て異なる場合や、最も頻出する設定内容が複数ある場合、デフォルトを無しと特定する。図6の例では、記述の揺れを示す項目$1は、設定内容の情報が全て異なるため、デフォルトが無し(「-」)とされている。また、記述の揺れを示す項目$2は、最も頻出する「{{{{OS}}}}がデフォルトとされている。また、記述の揺れを示す項目$3は、最も頻出する「echo・・・」がデフォルトとされている。
そして、算出部56は、スクリプトの情報を変更するコストを算出する。例えば、算出部56は、レーベンシュタイン距離の計算方法を採用し、挿入・削除のコストを1、置換のコストを2として、記述の揺れを示す項目毎に以下のようにコストを求める。
・デフォルトと設定内容が同じ場合は、変更なしとみなし、コストを0とする。
・デフォルトが空で設定内容が空以外の場合は、挿入とみなし、コストを1とする。
・デフォルトが空以外で設定内容が空の場合は、削除とみなし、コストを1とする。
・デフォルトと設定内容が異なる場合は、置換とみなし、コストを2とする。
・デフォルトが無しで設定内容がある場合は、置換とみなし、コストを2とする。
・デフォルトと設定内容が同じ場合は、変更なしとみなし、コストを0とする。
・デフォルトが空で設定内容が空以外の場合は、挿入とみなし、コストを1とする。
・デフォルトが空以外で設定内容が空の場合は、削除とみなし、コストを1とする。
・デフォルトと設定内容が異なる場合は、置換とみなし、コストを2とする。
・デフォルトが無しで設定内容がある場合は、置換とみなし、コストを2とする。
図6の例では、算出部56は、記述の揺れを示す項目をそれぞれのバージョンの設定内容に変更するコストを加算して、汎用スクリプト64をそれぞれのバージョンのスクリプトに変更するコストを算出する。例えば、汎用スクリプト64をバージョンV8のスクリプトに変更する場合、記述の揺れを示す項目$1は、デフォルトが無しで設定内容があるため、コストが2となる。また、記述の揺れを示す項目$2は、デフォルトが空以外で設定内容が空であるため、コストが1となる。また、記述の揺れを示す項目$3は、デフォルトと設定内容が同じであるため、コストが0となる。よって、汎用スクリプト64をバージョンV8のスクリプトに変更するコストは、2+1+0=3と算出される。
算出部56は、管理情報31cに登録された各汎用スクリプトについて、記述の揺れを示す項目をそれぞれ下位のノードのスクリプトの情報に変更するコストを算出する。そして、算出部56は、管理情報31cにより示されるツリー構造に基づき、既存のシステム毎に、既存のシステムのスクリプトを新規のシステムのスクリプトに変更するコストを算出する。例えば、算出部56は、既存のシステムに無い新規の構成要素について、管理情報31cにより示されるツリー構造に基づき、当該新規の構成要素に最も近い上位の汎用スクリプトに既存のシステムの同類の構成要素のスクリプトを変更するコストを算出する。
図7は、既存のシステムのスクリプトを新規のシステムのスクリプトに変更するコストの算出を説明するための図である。図7の例では、ツリー構造に対応させて、各汎用スクリプトをそれぞれ下位のノードのスクリプトに変更するコストを示す数値が示されている。また、図7の例では、既存のシステムを構成する各ソフトウェアの組み合わせを一点鎖線70により示している。図7の例では、既存のシステムとしては、Tomcat V6.0とSymfoware V9.0との組み合わせがあることを示す。また、既存のシステムとしては、WAS V8.0とSymfoware V9.1との組み合わせがあることを示す。また、既存のシステムとしては、WAS V8.1とDB2 V9.7.0との組み合わせがあることを示す。また、既存のシステムとしては、IAS V8.0とMySQL V5.5.2との組み合わせがあることを示す。また、既存のシステムとしては、IAS V10.1とSymfoware V9.1との組み合わせがあることを示す。
例えば、構成要素としてIAS V9.1とSymfoware V10.0を含む新規のシステムのテンプレートの生成が指示されたものとする。図7の例では、新規のシステムを構成する各ソフトウェアの組み合わせを破線71により示している。
算出部56は、既存のシステム毎に、既存のシステムに無い新規の構成要素について、当該新規の構成要素に最も近い上位の汎用スクリプトに、既存のシステムの同類の構成要素のスクリプトを変更するコストを算出する。図7の例では、IAS V9.1に最も近い上位の汎用スクリプト72と、Symfoware V10.0に最も近い上位の汎用スクリプト73に既存のシステムの同類の構成要素のスクリプトを変更するコストを算出する。例えば、既存のシステムがIAS V10.1とSymfoware V9.1との組み合わせである場合、算出部56は、IAS V10.1のスクリプト74を汎用スクリプト72に変更するコストを35+20=55と算出する。また、算出部56は、Symfoware V9.1のスクリプト75を汎用スクリプト73に変更するコストを15+5=20と算出する。
図8は、既存のシステム毎にスクリプトを変更するコストを算出した一例を示す図である。「AS変更コスト」は、ASのソフトウェアのスクリプトを変更するコストを示す。「DB変更コスト」は、DBのソフトウェアのスクリプトを変更するコストを示す。「合計コスト」は、AS変更コストとDB変更コストの合計を示す。「優先順位」はコストの少ない順に既存のシステムの優先順位を示す。例えば、IAS V10.1とSymfoware V9.1との組み合わせた既存のシステムの場合、IAS V10.1のスクリプト74を変更するコストは、「55」である。また、Symfoware V9.1のスクリプト75を変更するコストは、「20」である。このため、IAS V10.1とSymfoware V9.1との組み合わせた既存のシステムのスクリプトを変更する合計のコストは、「75」と算出される。
図3に戻り、第2生成部57は、新規のシステムの運用管理作業に用いるテンプレートを生成する処理部である。第2生成部57は、算出されたコストの少ない順に既存のシステムの優先順位を定める。そして、第2生成部57は、優先順位の高い順に、既存のシステムのスクリプトを変更して、新しいシステムのテンプレートを生成する。例えば、第2生成部57は、既存のシステムと同一の構成要素については既存のシステムの同一の構成要素のスクリプトを用いてテンプレートを生成する。また、第2生成部57は、既存のシステムに無い新規の構成要素については、既存のシステムの同類の構成要素と当該新規の構成要素から汎用化された汎用スクリプトを用いてテンプレートを生成する。例えば、第2生成部57は、新規のソフトウェアについては、管理情報31cにより示されるツリー構造において、既存のシステムの同類のソフトウェアと新規のソフトウェアで共通する最も下位のノードの汎用スクリプトを用いてテンプレートを生成する。例えば、図7に示すツリー構造において、新規のソフトウェアがSymfoware V10.0であり、既存のシステムの同類のソフトウェアがMySQL V5.5.2である場合、第2生成部57は、汎用スクリプト76を用いてテンプレートを生成する。また、第2生成部57は、スクリプトに標準情報を示す所定の文字列が含まれる場合、新規のシステムの実行環境特有の情報に置換してテンプレートを生成する。
図9は、汎用スクリプトから新しい構成要素に対応したスクリプトを生成する流れの一例を模式的に示した図である。図9の例では、ソフトウェア「ASa」について汎用化された汎用スクリプト64が示されている。汎用スクリプト64には、「{{{Vendor}}}」、「{{{family}}}」、「{{{IPAddr}}}」と標準情報を示す文字列が含まれる。また、汎用スクリプト64には、記述の揺れを示す項目「{{{$1}}}」、「{{{$2}}}」、「{{{$3}}}」が含まれる。
第2生成部57は、条件情報31dにより示される新規のシステムとして指定された構成要素に関する情報に基づき、通信I/F部30を介して構成管理装置13から新規のシステムで使用される構成要素に関する構成管理情報を読み出す。この読み出した構成管理情報には、新規のシステムが動作する実行環境に関する各種情報が含まれている。図9には、実行環境に関する情報80の一例が示されている。また、図9には、新規のシステムとして指定されたソフトウェア「ASa」に関する情報81の一例も示されている。
第2生成部57は、実行環境に関する情報80およびソフトウェア「ASa」に関する情報81に基づき、汎用スクリプトに含まれる標準情報を実行環境特有の情報に置換する。例えば、第2生成部57は、スクリプトに含まれる標準情報を示す文字列をそれぞれ実行環境特有の情報に置換する。
図9のスクリプト65は、実行環境特有の情報への置換が行われた結果を示している。例えば、第2生成部57は、「{{{Vendor}}}」を「XYZ」に置換し、「{{{family}}}」を「ASa」に置換し、「{{{IPAddr}}}」を「192.168.0.10」に置換する。これにより、スクリプト65は、例えば、「NSTDIR=/opt/XYZ/ASa/{{{$1}}}/」と記述が変化している。
また、第2生成部57は、スクリプトに含まれる記述の揺れを示す項目をソフトウェアに応じた情報に置換する。例えば、第2生成部57は、スクリプト65に含まれる「{{{$1}}}」、「{{{$2}}}」、「{{{$3}}}」をソフトウェアに応じた情報に置換する。この記述の揺れを示す項目に設定するソフトウェアに応じた情報は、端末装置11からユーザが指定してもよく、また、管理者等が予め記述揺れ情報として設定しておいてもよい。また、ソフトウェアに応じた情報は、同じソフトウェアの他のバージョンの情報から推定して設定してもよい。例えば、各バージョンの記述の揺れを示す項目の情報がバージョンの情報と同じ場合は、新規のソフトウェアのバージョンの情報を設定してもよい。また、ソフトウェアに応じた情報は、記述揺れ情報に記憶されたデフォルトの情報としてもよい。
図9のスクリプト66は、記述の揺れを示す項目にソフトウェアに応じた情報を設定した結果を示している。例えば、第2生成部57は、スクリプト65に含まれる「{{{$1}}}」、「{{{$2}}}」、「{{{$3}}}」をバージョンV8に応じた情報に置換する。これにより、スクリプト66は、例えば、「NSTDIR=/opt/XYZ/ASa/V8/」と記述が変化している。
第2生成部57は、新規のシステムについて、スクリプト66が記述されたテンプレートを生成する。
図3に戻り、検証部58は、生成されたスクリプトの検証を行う処理部である。検証部58は、生成したスクリプトを検証装置14を利用して検証する。検証部58は、生成されたテンプレートを検証装置14で実行させて正しく動作するか、および所定の性能が得られるかを検証する。第2生成部57は、検証部58による検証の結果、問題があった場合は次に優先順位の高い既存のシステムのスクリプトから生成されたテンプレートを生成する。
このように、テンプレート生成装置12は、既存のシステムのスクリプトの共通部分が記述され、非共通部分を記述の揺れを示す項目とした汎用スクリプトを生成することにより、スクリプトのどこを修正すればよいか特定できる。このため、テンプレート生成装置12は、既存のシステムのスクリプトを用い、新規の構成要素については汎用スクリプトを用いてテンプレートを生成することにより、新規のシステムであっても運用管理作業の自動化に適したテンプレートを生成できる。
また、既存のシステムのスクリプトは、動作実績があるため、信頼性が高い。このため、既存のシステムのスクリプトからの変更コストが少ない順に、既存のシステムのスクリプトを変更して、新しいシステムのテンプレートを生成することにより、安定して動作しやすいテンプレートを生成できる。また、生成したテンプレートの検証を行うことにより、安定して動作するテンプレートを生成できる。
次に、本実施例に係るテンプレート生成装置12が既存のシステムのテンプレートに含まれるスクリプトを管理情報31cに登録する登録処理の流れを説明する。図10は、登録処理の手順を示すフローチャートである。この登録処理は、例えば、端末装置11から登録された既存のシステムのテンプレートのデータおよびソフトウェア情報を受信した場合に実行される。
図10に示すように、登録部50は、受信されたテンプレートのデータおよびソフトウェア情報をテンプレートデータ31aおよびソフトウェア情報31bとして記憶部31に登録する(S10)。置換部51は、記憶部31にテンプレートデータ31aとして記憶された各テンプレートに記述されたスクリプトに含まれる実行環境特有の情報をそれぞれ標準情報を示す所定の文字列に置換する(S11)。管理部52は、置換されたテンプレートからソフトウェア毎のスクリプトを抽出する(S12)。管理部52は、抽出した全スクリプトへの処理が完了したか否か判定する(S13)。全スクリプトへの処理が完了した場合(S13肯定)、処理を終了する。
一方、全スクリプトへの処理が完了していない場合(S13否定)、管理部52は、未処理のスクリプトからスクリプトを選択する(S14)。管理部52は、ソフトウェア情報31bに基づき、選択したスクリプトが処理対象とするソフトウェアの種類およびバージョンを特定し、特定されたソフトウェアの種類およびバージョンに応じた末端のノードに対応させてスクリプトを登録する(S15)。
管理部52は、スクリプトを登録した現ノードが最上位ノードか否か判定する(S16)。最上位ノードである場合(S16肯定)、上述のS13へ移行する。
一方、最上位ノードではない場合(S16否定)、管理部52は、現ノードの上位ノードの処理へ移行する(S17)。特定部53は、下位ノードのスクリプトからスクリプトの共通部分および非共通部分を特定する(S18)。第1生成部54は、特定部53により特定された共通部分のスクリプトを記述し、非共通部分を記述の揺れを示す項目とした汎用スクリプトを生成する(S19)。そして、管理部52は、汎用スクリプトおよび記述の揺れを示す項目を特定した場合は記述揺れ情報を管理情報31cの現ノードに対応させて登録し(S20)、上述のS16へ移行する。
次に、本実施例に係るテンプレート生成装置12が新規のシステムのテンプレートを生成する生成処理の流れを説明する。図11は、生成処理の手順を示すフローチャートである。この生成処理は、例えば、端末装置11から新規のシステムを構成する構成要素を示す情報と共に、テンプレートの生成の指示を受信した場合に実行される。
図11に示すように、算出部56は、各汎用スクリプトについて、記述の揺れを示す項目を下位のスクリプトの情報に変更するコストを求める(S30)。そして、算出部56は、既存のシステム毎に、既存のシステムのスクリプトを新規のシステムのスクリプトに変更するコストを算出する(S31)。
第2生成部57は、算出されたコストの少ない順に既存のシステムの優先順位を定める(S32)。そして、第2生成部57は、優先順位の高い順に、既存のシステムのスクリプトを変更し、スクリプトに含まれる標準情報を実行環境特有の情報に置換して新規システムのテンプレートを生成する(S33)。
検証部58は、生成されたテンプレートを検証装置14で実行させて正しく動作するか、および生成されるシステムが所定の性能が得られるかを検証する(S34)。検証部58は、検証装置14による検証の結果、スクリプトが正常に動作しかつ生成されるシステムが所定の性能が得られたか否か判定する(S35)。スクリプトが正常に動作しない又は所定の性能が得られない場合(S35否定)、上述のS33へ移行する。一方、スクリプトが正常に動作しかつ所定の性能が得られた場合(S35肯定)、生成されたテンプレートを記憶部31へ記憶させ(S36)、処理を終了する。
このように、テンプレート生成装置12は、既存のシステムを構成する各構成要素に関するスクリプトが記述された複数のテンプレートから同類の構成要素毎にスクリプトの共通部分および非共通部分を特定する。また、テンプレート生成装置12は、同類の構成要素毎に、特定された共通部分が記述され、非共通部分を記述の揺れを示す項目とした汎用スクリプトを生成する。そして、テンプレート生成装置12は、既存のシステムと同一の構成要素については既存のシステムの同一の構成要素のスクリプトを用い、新規の構成要素については同類の汎用スクリプトを用いて新規のシステムのテンプレートを生成する。これにより、テンプレート生成装置12は、新規のシステムに適したテンプレートを生成できる。
また、テンプレート生成装置12は、同類の構成要素毎に、汎用スクリプトおよび既存のシステムのスクリプトをツリー構造で管理する管理情報31cを記憶部31に記憶させる。テンプレート生成装置12は、管理情報31cにより示されるツリー構造に基づき、既存のシステム毎に、既存のシステムのスクリプトを新規のシステムのスクリプトに変更するコストを算出する。テンプレート生成装置12は、算出されたコストの少ない順に既存のシステムの優先順位を定める。そして、テンプレート生成装置12は、優先順位の高い順に、既存のシステムと同一の構成要素については既存のシステムのスクリプトを用い、新規の構成要素については、汎用スクリプトを用いてテンプレートを生成する。そして、テンプレート生成装置12は、生成されたテンプレートによる動作を検証する。これにより、テンプレート生成装置12は、安定して動作するテンプレートを生成できる。
また、テンプレート生成装置12は、システムを構成するソフトウェアに関するソフトウェア情報および当該システムに関する構成管理情報に基づき、動作実績があるスクリプトに含まれる実行環境特有の情報をそれぞれ所定の標準情報に置換する。そして、テンプレート生成装置12は、実行環境特有の情報が標準情報に置換された複数のテンプレートから同類の構成要素毎にスクリプトの共通部分および非共通部分を特定する。そして、テンプレート生成装置12は、スクリプトに標準情報が含まれる場合、新規のシステムの実行環境特有の情報に置換してテンプレートを生成する。これにより、テンプレート生成装置12は、スクリプトに含まれる実行環境特有の情報がある場合でも、実行環境特有の情報を実行環境に合わせて情報に変更可能な汎用スクリプトを生成できる。また、テンプレート生成装置12は、スクリプトに含まれる標準情報を新規のシステムの実行環境特有の情報に置換してテンプレートを生成することにより、新規のシステムの実行環境に合わせたテンプレートを生成できる。
さて、これまで開示の装置に関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
上記の実施例では、既存のシステムからの変更コストの少ない順に優先順位を定め、優先順位の高い順にテンプレートを生成して検証を行う場合について説明したが、開示の装置はこれに限定されない。例えば、テンプレート生成装置12は、生成されたテンプレートの検証を行わなくてもよい。例えば、テンプレート生成装置12は、変更コストのより少ない既存のシステムを求め、当該既存のシステムと同一の構成要素については既存のシステムのスクリプトを用い、新規の構成要素については、汎用スクリプトを用いてテンプレートを生成してもよい。既存のシステムのスクリプトは、動作実績があるため、信頼性が高い。このため、テンプレート生成装置12は、既存のシステムのスクリプトからの変更コストが少ない既存のシステムのスクリプトから新しいシステムのテンプレートを生成することにより、安定して動作しやすいテンプレートを生成できる。
また、上記の実施例では、変更コストが少ない順に既存のシステムのスクリプトから新規システムのテンプレートを生成する場合について説明したが、開示の装置はこれに限定されない。例えば、テンプレート生成装置12は、既存のシステムと同一の構成要素については既存のシステムのスクリプトを用い、新規の構成要素についてはツリー構造において同類の最も近いノードの汎用スクリプトを用いて新規システムのテンプレートを生成してもよい。最も近いノードの汎用スクリプトは、新規の構成要素に用いられるスクリプトと共通部分を多く含んでいる。このため、テンプレート生成装置12は、新規の構成要素については最も近いノードの汎用スクリプトを用いて新規のシステムのテンプレートを生成することにより、新規のシステムに適したテンプレートを生成できる。
上記の実施例では、既存のシステムの構成を示す構成管理情報を構成管理装置13から読み出す場合について説明したが、開示の装置はこれに限定されない。テンプレート生成装置12は、既存のシステムの構成を示す構成管理情報を記憶部31に記憶してもよい。
上記の実施例では、既存のシステムを構成するソフトウェアに関するソフトウェア情報が端末装置11から送信される場合について説明したが、開示の装置はこれに限定されない。テンプレート生成装置12は、外部の装置から既存のシステムのソフトウェア情報を読み出してもよい。
また、上記の実施例では、ソフトウェアの制御を行うスクリプトを生成する場合について説明したが、開示の装置はこれに限定されない。ハードウェアの制御を行うスクリプトについても同様に生成できる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図3に示す登録部50と、置換部51と、管理部52と、特定部53と、第1生成部54と、受付部55と、算出部56と、第2生成部57と、検証部58の各処理部が適宜統合されてもよい。また、各処理部にて行なわれる各処理機能は、その全部または任意の一部が、Central Processing Unit(CPU)および当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[テンプレート生成プログラム]
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図12は、テンプレート生成プログラムを実行するコンピュータを示す図である。
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図12は、テンプレート生成プログラムを実行するコンピュータを示す図である。
図12に示すように、コンピュータ300は、CPU310、Read Only Memory(ROM)320、Hard Disk Drive(HDD)330、Random Access Memory(RAM)340を有する。これら310~340の各部は、バス400を介して接続される。
ROM320には上記実施例の各処理部と同様の機能を発揮するテンプレート生成プログラム320aが予め記憶される。例えば、上記実施例1の登録部50と、置換部51と、管理部52と、特定部53と、第1生成部54と、受付部55と、算出部56と、第2生成部57と、検証部58と同様の機能を発揮するテンプレート生成プログラム320aを記憶させる。なお、テンプレート生成プログラム320aについては、適宜分離しても良い。
HDD330には、各種データを記憶する。例えば、HDD330は、OSやテンプレートの生成に用いる各種データを記憶する。
そして、CPU310が、テンプレート生成プログラム320aをROM320から読み出して実行することで、実施例1の各処理部と同様の動作を実行する。すなわち、テンプレート生成プログラム320aは、実施例1の登録部50と、置換部51と、管理部52と、特定部53と、第1生成部54と、受付部55と、算出部56と、第2生成部57と、検証部58と同様の動作を実行する。
なお、上記したテンプレート生成プログラム320aについては、必ずしも最初からROM320に記憶させることを要しない。テンプレート生成プログラム320aはHDD330に記憶させてもよい。
例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、Compact Disk Read Only Memory(CD-ROM)、Digital Versatile Disk(DVD)、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などにプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
10 システム
11 端末装置
12 テンプレート生成装置
13 構成管理装置
14 検証装置
20 テンプレート
22 スクリプト
30 通信I/F部
31 記憶部
31a テンプレートデータ
31b ソフトウェア情報
31c 管理情報
31d 条件情報
31e 新規テンプレートデータ
32 制御部
50 登録部
51 置換部
52 管理部
53 特定部
54 第1生成部
55 受付部
56 算出部
57 第2生成部
58 検証部
11 端末装置
12 テンプレート生成装置
13 構成管理装置
14 検証装置
20 テンプレート
22 スクリプト
30 通信I/F部
31 記憶部
31a テンプレートデータ
31b ソフトウェア情報
31c 管理情報
31d 条件情報
31e 新規テンプレートデータ
32 制御部
50 登録部
51 置換部
52 管理部
53 特定部
54 第1生成部
55 受付部
56 算出部
57 第2生成部
58 検証部
Claims (6)
- コンピュータに、
既存のシステムを構成する各構成要素に関するスクリプトが記述された複数のテンプレートから同類の構成要素毎にスクリプトの共通部分および非共通部分を特定し、
同類の構成要素毎に、特定された共通部分が記述され、非共通部分を記述の揺れを示す項目とした汎用スクリプトを生成し、
既存のシステムと同一の構成要素については既存のシステムの同一の構成要素のスクリプトを用い、新規の構成要素については同類の汎用スクリプトを用いて新規のシステムのテンプレートを生成する
各処理を実行させることを特徴とするテンプレート生成プログラム。 - コンピュータに、
同類の構成要素毎に、前記汎用スクリプトおよび前記既存のシステムのスクリプトをツリー構造で管理する管理情報を記憶部に記憶させ、
前記管理情報により示されるツリー構造に基づき、既存のシステム毎に、既存のシステムのスクリプトを新規のシステムのスクリプトに変更するコストを算出する各処理をさらに実行させ、
前記生成する処理は、算出されたコストのより少ない既存のシステムを求め、当該既存のシステムと同一の構成要素については当該既存のシステムの同一の構成要素のスクリプトを用い、新規の構成要素については、既存のシステムの同類の構成要素と当該新規の構成要素から汎用化された汎用スクリプトを用いてテンプレートを生成する
ことを特徴とする請求項1記載のテンプレート生成プログラム。 - 前記生成する処理は、算出されたコストの少ない順に既存のシステムの優先順位を定め、優先順位の高い順に、既存のシステムと同一の構成要素については既存のシステムの同一の構成要素のスクリプトを用い、新規の構成要素については、既存のシステムの同類の構成要素と当該新規の構成要素から汎用化された汎用スクリプトを用いてテンプレートを生成し、
コンピュータに、
生成されたテンプレートによる動作を検証する処理をさらに実行させる
ことを特徴とする請求項2記載のテンプレート生成プログラム。 - コンピュータに、
前記システムを構成するソフトウェアに関するソフトウェア情報および当該システムに関する構成管理情報に基づき、前記既存のシステムのスクリプトに含まれる実行環境特有の情報を、それぞれ所定の標準情報に置換する処理をさらに実行させ、
前記特定する処理は、実行環境特有の情報が前記標準情報に置換された複数のテンプレートから同類の構成要素毎にスクリプトの共通部分および非共通部分を特定し、
前記生成する処理は、スクリプトに前記標準情報が含まれる場合、新規のシステムの実行環境特有の情報に置換して前記テンプレートを生成する
ことを特徴とする請求項1~3の何れか1つに記載のテンプレート生成プログラム。 - コンピュータが、
既存のシステムを構成する各構成要素に関するスクリプトが記述された複数のテンプレートから同類の構成要素毎にスクリプトの共通部分および非共通部分を特定し、
同類の構成要素毎に、特定された共通部分が記述され、非共通部分を記述の揺れを示す項目とした汎用スクリプトを生成し、
既存のシステムと同一の構成要素については既存のシステムの同一の構成要素のスクリプトを用い、新規の構成要素については同類の汎用スクリプトを用いて新規のシステムのテンプレートを生成する
各処理を実行することを特徴とするテンプレート生成方法。 - 既存のシステムを構成する各構成要素に関するスクリプトが記述された複数のテンプレートから同類の構成要素毎にスクリプトの共通部分および非共通部分を特定する特定部と、
同類の構成要素毎に、特定された共通部分が記述され、非共通部分を記述の揺れを示す項目とした汎用スクリプトを生成する第1生成部と、
既存のシステムと同一の構成要素については既存のシステムの同一の構成要素のスクリプトを用い、新規の構成要素については同類の汎用スクリプトを用いて新規のシステムのテンプレートを生成する第2生成部と、
を有することを特徴とするテンプレート生成装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014527936A JP5971338B2 (ja) | 2012-08-03 | 2012-08-03 | テンプレート生成プログラム、テンプレート生成方法およびテンプレート生成装置 |
EP12882436.4A EP2881856A4 (en) | 2012-08-03 | 2012-08-03 | PRESENTATION GENERATION PROCESS, PRESENTATION GENERATION METHOD AND PRESERVATION GENERATION DEVICE |
PCT/JP2012/069908 WO2014020771A1 (ja) | 2012-08-03 | 2012-08-03 | テンプレート生成プログラム、テンプレート生成方法およびテンプレート生成装置 |
US14/609,829 US9575730B2 (en) | 2012-08-03 | 2015-01-30 | Template generating method and template generating apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/069908 WO2014020771A1 (ja) | 2012-08-03 | 2012-08-03 | テンプレート生成プログラム、テンプレート生成方法およびテンプレート生成装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/609,829 Continuation US9575730B2 (en) | 2012-08-03 | 2015-01-30 | Template generating method and template generating apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014020771A1 true WO2014020771A1 (ja) | 2014-02-06 |
Family
ID=50027495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/069908 WO2014020771A1 (ja) | 2012-08-03 | 2012-08-03 | テンプレート生成プログラム、テンプレート生成方法およびテンプレート生成装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9575730B2 (ja) |
EP (1) | EP2881856A4 (ja) |
JP (1) | JP5971338B2 (ja) |
WO (1) | WO2014020771A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101831430B1 (ko) | 2015-10-27 | 2018-02-22 | 삼성에스디에스 주식회사 | 인프라의 설치와 구성을 자동화하는 장치 및 그 방법 |
JP2020017053A (ja) * | 2018-07-25 | 2020-01-30 | 株式会社日立製作所 | 環境構築支援システムおよび環境構築支援方法 |
CN113590219A (zh) * | 2021-07-28 | 2021-11-02 | 北京百度网讯科技有限公司 | 一种数据处理方法、装置、电子设备以及存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102015210498A1 (de) * | 2015-06-09 | 2016-12-15 | Siemens Aktiengesellschaft | Verfahren zum rechnergestützten Erzeugen einer graphischen Modellierungssprache |
WO2017017836A1 (ja) * | 2015-07-30 | 2017-02-02 | 株式会社日立製作所 | 運用自動化装置及び方法並びに記憶媒体 |
CN105389301A (zh) * | 2015-11-11 | 2016-03-09 | 深圳市华阳国际工程设计股份有限公司 | 基于bim数据生成运维表单的方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0196731A (ja) * | 1987-10-08 | 1989-04-14 | Fujitsu Ltd | システム情報の設定方式 |
JPH0816368A (ja) * | 1994-06-29 | 1996-01-19 | Fujitsu Ltd | セットアップ情報処理装置 |
JP2000227855A (ja) | 1999-02-05 | 2000-08-15 | Nippon Telegr & Teleph Corp <Ntt> | スクリプト記述生成方法及び装置及びスクリプト記述生成プログラムを格納した記憶媒体 |
JP2008021111A (ja) | 2006-07-12 | 2008-01-31 | Hitachi Ltd | 業務システム構成変更方法、管理コンピュータ、および、業務システム構成変更方法のプログラム |
JP2011060035A (ja) | 2009-09-10 | 2011-03-24 | Hitachi Solutions Ltd | アプリケーションデプロイシステム、アプリケーションデプロイ方法及びプログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003001365A1 (en) * | 2001-06-22 | 2003-01-03 | Wonderware Corporation | A process control script development and execution facility supporting multiple user-side programming languages |
WO2006043012A1 (en) * | 2004-10-22 | 2006-04-27 | New Technology/Enterprise Limited | Data processing system and method |
GB0500150D0 (en) * | 2005-01-06 | 2005-02-16 | Ibm | Method, and aggregation component for aggregating application components |
US7895566B2 (en) * | 2005-03-10 | 2011-02-22 | Research In Motion Limited | System and method for building a deployable component based application |
US8051405B2 (en) * | 2006-01-11 | 2011-11-01 | Oracle International Corporation | System and method for build script generation in a software development environment |
-
2012
- 2012-08-03 JP JP2014527936A patent/JP5971338B2/ja not_active Expired - Fee Related
- 2012-08-03 EP EP12882436.4A patent/EP2881856A4/en not_active Withdrawn
- 2012-08-03 WO PCT/JP2012/069908 patent/WO2014020771A1/ja active Application Filing
-
2015
- 2015-01-30 US US14/609,829 patent/US9575730B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0196731A (ja) * | 1987-10-08 | 1989-04-14 | Fujitsu Ltd | システム情報の設定方式 |
JPH0816368A (ja) * | 1994-06-29 | 1996-01-19 | Fujitsu Ltd | セットアップ情報処理装置 |
JP2000227855A (ja) | 1999-02-05 | 2000-08-15 | Nippon Telegr & Teleph Corp <Ntt> | スクリプト記述生成方法及び装置及びスクリプト記述生成プログラムを格納した記憶媒体 |
JP2008021111A (ja) | 2006-07-12 | 2008-01-31 | Hitachi Ltd | 業務システム構成変更方法、管理コンピュータ、および、業務システム構成変更方法のプログラム |
JP2011060035A (ja) | 2009-09-10 | 2011-03-24 | Hitachi Solutions Ltd | アプリケーションデプロイシステム、アプリケーションデプロイ方法及びプログラム |
Non-Patent Citations (1)
Title |
---|
See also references of EP2881856A4 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101831430B1 (ko) | 2015-10-27 | 2018-02-22 | 삼성에스디에스 주식회사 | 인프라의 설치와 구성을 자동화하는 장치 및 그 방법 |
US9996333B2 (en) | 2015-10-27 | 2018-06-12 | Samsung Sds Co., Ltd. | Apparatus and method for automating the installation and configuration of infrastructure |
JP2020017053A (ja) * | 2018-07-25 | 2020-01-30 | 株式会社日立製作所 | 環境構築支援システムおよび環境構築支援方法 |
JP7025298B2 (ja) | 2018-07-25 | 2022-02-24 | 株式会社日立製作所 | 環境構築支援システムおよび環境構築支援方法 |
CN113590219A (zh) * | 2021-07-28 | 2021-11-02 | 北京百度网讯科技有限公司 | 一种数据处理方法、装置、电子设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP2881856A4 (en) | 2015-07-29 |
US20150143331A1 (en) | 2015-05-21 |
US9575730B2 (en) | 2017-02-21 |
EP2881856A1 (en) | 2015-06-10 |
JPWO2014020771A1 (ja) | 2016-07-11 |
JP5971338B2 (ja) | 2016-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11979285B2 (en) | System and method for generic configuration management system application programming interface | |
US10802951B2 (en) | Systems and methods of integrated testing and deployment in a continuous integration continuous deployment (CICD) system | |
CN107003906B (zh) | 云计算技术部件的类型到类型分析 | |
JP5971338B2 (ja) | テンプレート生成プログラム、テンプレート生成方法およびテンプレート生成装置 | |
US9996333B2 (en) | Apparatus and method for automating the installation and configuration of infrastructure | |
JP7502386B2 (ja) | Sddcにおけるマルチセグメントアプリケーションを定義する階層型api | |
US10901804B2 (en) | Apparatus and method to select services for executing a user program based on a code pattern included therein | |
US9183062B2 (en) | Automated application reconfiguration | |
US10936308B2 (en) | Multi-tenant collaborative learning | |
US20160132314A1 (en) | Remote configuration management of applications | |
US11144292B2 (en) | Packaging support system and packaging support method | |
WO2020156268A1 (en) | Method and system for cloud application and service integration using pattern-based discovery | |
US20090248596A1 (en) | Configuration information management apparatus, configuration information management program, and configuration information management method | |
US11449579B2 (en) | File-based software application discovery | |
US10664248B2 (en) | Systems and methods for comparing computer scripts | |
US8468116B2 (en) | Rule creation method and rule creating apparatus | |
US20210311843A1 (en) | System verification program generation device, system verification program generation method, and recording medium storing system verification program generation program | |
US20230153166A1 (en) | Systems and methods for pattern-based software applications | |
US11695624B1 (en) | Outcome-based workload configurations for information technology environments | |
US12026491B2 (en) | System architecture for pattern-based software applications | |
US20230297918A1 (en) | Drift remediation of outcome-based configurations for information technology environments | |
US20230275925A1 (en) | Outcome-based compliance and security configurations for information technology environments | |
EP3220263A1 (en) | Evaluation framework for cloud readiness of virtual appliances to enforce the suitability for automated self-provisioning | |
US20240004932A1 (en) | Automated query modification using graphical query representations | |
JP2017068758A (ja) | 検索制御プログラム、検索制御方法および検索サーバ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12882436 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2014527936 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012882436 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |