WO2018230352A1 - 変更手順生成装置、変更手順生成方法および変更手順生成プログラム - Google Patents

変更手順生成装置、変更手順生成方法および変更手順生成プログラム Download PDF

Info

Publication number
WO2018230352A1
WO2018230352A1 PCT/JP2018/021041 JP2018021041W WO2018230352A1 WO 2018230352 A1 WO2018230352 A1 WO 2018230352A1 JP 2018021041 W JP2018021041 W JP 2018021041W WO 2018230352 A1 WO2018230352 A1 WO 2018230352A1
Authority
WO
WIPO (PCT)
Prior art keywords
component
information
configuration information
state
configuration
Prior art date
Application number
PCT/JP2018/021041
Other languages
English (en)
French (fr)
Inventor
智史 山崎
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2019525304A priority Critical patent/JP6766962B2/ja
Priority to US16/620,945 priority patent/US11429398B2/en
Publication of WO2018230352A1 publication Critical patent/WO2018230352A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Definitions

  • the present invention relates to a change procedure generation device, a change procedure generation method, and a change procedure generation program, and in particular, a change procedure generation device, a change procedure generation method,
  • the present invention relates to a change procedure generation program.
  • Dependency between modules represents, for example, an order relationship of setting of two elements such that module B is required to function correctly in order for module A to function correctly.
  • An administrator who is responsible for preventing the occurrence of a system failure in the middle of changing the system configuration is required to always consider the order relationship as described above.
  • a system that automatically generates a work plan required to change the system while taking into account the above dependencies is called a change management system.
  • the change management system for example, information about dependency between parts and information about work on parts are defined in advance.
  • an administrator can efficiently generate an effective work procedure for executing a complicated change work. Also, the worker can efficiently perform work based on the generated effective work procedure. If the change procedure is executed using the work procedure generated by the change management system, the work will be executed efficiently without taking extra time, so there will be little impact on the users of the changed system. Is expected to be.
  • Patent Literature 1 describes a change planning system that defines the dependency between each operation state of each component and generates a change procedure required for the change work.
  • the change planning system described in Patent Document 1 can handle an application running on a physical machine or a virtual machine, and an application setting file as components constituting the system.
  • the change planning system described in Patent Document 1 can also handle operations related to cloud infrastructure software and communication network settings for constructing a virtual machine infrastructure as components constituting the system.
  • the interface description method between components and the information propagation processing method are used, the input information described in Patent Document 1 is described more simply.
  • the system configuration change operation includes an operation of redeploying a virtual machine to a physical machine different from the physical machine on which the virtual machine was running, such as virtual machine migration.
  • Patent Document 2 describes a method for efficiently executing virtual machine migration.
  • the change planning system described in Patent Document 1 compares the current system configuration information before the change with the system configuration information for the change purpose, and calculates information having different component part names as difference information. Next, the change planning system described in Patent Literature 1 searches for a change procedure using the calculated difference information.
  • an administrator who uses the change planning system described in Patent Document 1 includes not only information indicating a new physical machine to which a virtual machine is redeployed, but also the name of a component. It is required to explicitly state that it operates on a new physical machine.
  • the administrator is required to describe redundant information. Further, even when the system construction method using the change planning system described in Patent Document 1 is used using the information propagation method described above, the administrator is required to describe redundant information.
  • Patent Document 2 can migrate a virtual machine without using useless information. However, it is difficult for the method described in Patent Document 2 to execute migration at the same time as a detailed setting change of a communication network or application.
  • the present invention provides a change procedure generation device, a change procedure generation method, and a change procedure generation program that can generate a procedure for changing a system configuration based on simple input information, which solves the above-described problems. Objective.
  • the change procedure generation apparatus includes first configuration information that is information indicating a configuration before the change target system is changed and second configuration information that is information indicating a change target configuration of the change target system.
  • An extraction unit that extracts the components of the system to be changed included in both the first configuration information and the second configuration information from the first configuration information and the second configuration information, respectively, and the two extracted components
  • a generating unit that generates a state element representing each state of the two components according to a predetermined condition.
  • the change procedure generation method includes first configuration information that is information indicating a configuration before a change target system is changed and second configuration information that is information indicating a change target configuration of the change target system.
  • first configuration information that is information indicating a configuration before a change target system is changed
  • second configuration information that is information indicating a change target configuration of the change target system.
  • the change procedure generation program is a first configuration information that is information indicating a configuration before the change of the system to be changed is stored in the computer, and a second configuration that is information indicating the configuration of the change target system of the change target system.
  • Information, and an extraction process for extracting the components of the system to be changed included in both the first configuration information and the second configuration information from the first configuration information and the second configuration information, respectively, and the two extracted A generation process for generating a state element representing each state of two constituent elements according to a predetermined condition based on the constituent elements is executed.
  • a procedure for changing the system configuration can be generated based on simple input information.
  • each component transmits (outputs) information required for the other components.
  • the operation of the embodiment of the present invention is not limited to the above operation.
  • an embodiment of the present invention may include a storage unit (not shown).
  • each configuration may store generated (calculated) information or received information in a storage unit, and read information necessary for processing from the storage unit.
  • FIG. 1 is a block diagram showing a configuration example of a first embodiment of a system configuration management apparatus according to the present invention.
  • the system configuration management apparatus 100 does not clearly indicate that the deployment destination is changed in response to an operation of changing the deployment destination of the component, such as migration of a virtual machine in system construction or configuration change.
  • a work procedure is generated using the information.
  • the system configuration management apparatus 100 can generate a procedure for changing a deployment destination such as migration of a virtual machine based on simple input information. Further, the system configuration management apparatus 100 can handle many types of system configuration change procedures.
  • the system configuration management apparatus 100 includes a component calculation unit 110, an identifier comparison unit 120, a comparison policy processing unit 130, a procedure planning unit 140, a component information database 150, and the like. Is provided.
  • the system configuration management apparatus 100 receives current system configuration information and target system configuration information as input information.
  • the system configuration management apparatus 100 calculates operation information required for the configuration change based on the difference information regarding the target system among the difference information between the current system configuration information and the target system configuration information.
  • the system configuration management apparatus 100 generates state model information in which operation information required for configuration change is modeled. Next, the system configuration management apparatus 100 generates configuration change procedure information based on the generated state model information. The system configuration management apparatus 100 outputs the generated configuration change procedure information.
  • the component calculation unit 110 acquires current system configuration information, target system configuration information, component part information, component element detailed information, and comparison policy information.
  • the provider of the current system configuration information, target system configuration information, component part information, component element detailed information, and comparison policy information acquired by the component element calculation unit 110 is not particularly limited.
  • the user of the system configuration management apparatus 100 may transmit each of the above information to the system configuration management apparatus 100 via an input device (not shown). Further, the user may operate the system configuration management apparatus 100 to directly input each piece of information to the system configuration management apparatus 100.
  • the component calculation unit 110 has a function of calculating the component included in the system and the value of the component variable based on the current system configuration information and the target system configuration information.
  • An example in which the component calculation unit 110 calculates the component is shown in FIG.
  • FIG. 2 is an explanatory diagram illustrating an example of a component calculation process performed by the component calculation unit 110 according to the first embodiment.
  • the system configuration information includes two components, a virtual machine VM1 and an application AP.
  • a rounded rectangle in the system configuration information shown in FIG. 2 represents a component.
  • the component calculation unit 110 refers to the component information and the component detail information stored in the component information database 150, and lists the components included in each component in the system configuration information.
  • the component calculation unit 110 lists components called osBoot from the component VM1VM.
  • the component element calculation unit 110 lists the component element “package ⁇ ⁇ ” and the component element “service ⁇ ⁇ ” from the component AP.
  • the rectangle in the information of the system component group shown in FIG. 2 represents the component.
  • each listed component is given an identifier (ID).
  • ID of the present embodiment is a character string in which the name of the component and the name of the component to which the component belongs are combined.
  • the ID of the component osBoot belonging to the component VM1VM shown in FIG. 2 is “VM1.osBoot”.
  • the character string in the rectangle representing the component shown in FIG. 2 is the component ID.
  • the component calculation unit 110 may give a specific value indicated by the set value information to the calculated component. For example, in order to reflect that the component AP and the component VM1 are associated with each other in the system configuration information, the component calculation unit 110 adds information “the operation base is VM1” to the component AP.package. It may be given.
  • VM1 in the upper right rectangle of the component AP.package shown in FIG. 2 and “VM1” in the upper right rectangle of the component AP.service indicate the setting value information given to the component, respectively. It is a specific value.
  • the component calculation unit 110 may assign a specific value indicated by the set value information to the component in the information propagation processing method described above.
  • FIG. 3 is an explanatory diagram illustrating an example of system configuration information according to the first embodiment.
  • the system configuration information is described in, for example, DSL (Domain Specific Language).
  • the system configuration information may be described in JSON (JavaScript (registered trademark) ⁇ Object Notation) or the like.
  • FIG. 3A shows the current system configuration information.
  • FIG. 3B shows target system configuration information corresponding to the current system configuration information shown in FIG.
  • a system named “TargetSystem” is defined as the target system. Also, the system configuration information shown in FIG. 3 describes a component “component” of the system “TargetSystem”.
  • the current system configuration information of TargetSystem shown in FIG. 3A corresponds to the system configuration information shown in FIG. In other words, the current system configuration information shown in FIG. 3A describes the component VM1 and the component AP.
  • each component part a set value or a connection relationship with other component parts is described.
  • IP Internet Protocol
  • VM Virtual Machine image ID
  • the component AP describes that there is a connection relationship between the interface os and the interface osAnsible of the component VM1.
  • the connection relationship may be propagated by the information propagation processing method described above.
  • each notation of the target system configuration information shown in FIG. 3B is the same as the meaning of each notation corresponding to the current system configuration information shown in FIG.
  • FIG. 4 is an explanatory diagram illustrating an example of component information according to the first embodiment.
  • a template of a component called App used when the component AP is defined by the system configuration information shown in FIG. 3 is defined.
  • the values of variables and the information on the components included in the component are described.
  • variable packageName represents the name of the application used when the service is started.
  • variable port represents a TCP (TransmissionTransControl Protocol) port used in the service.
  • the component information App shown in FIG. 4 describes a component package whose type is OSPackage and a component service whose type is OSService. Each component includes a specific value of the variable and a dependency relationship.
  • the component service name of the component information App ⁇ ⁇ shown in FIG. 4 a variable port and a variable name are described.
  • the component service describes a restriction that the component service cannot be changed from the state f ⁇ to the state t ⁇ ⁇ ⁇ unless the component package is in the state t.
  • the state t of the component package indicates the state in which the package represented by package is installed. Further, the state f and the state t of the component service respectively represent a state where the service represented by service is stopped and a state where the service represented by service is operating.
  • the description “reference OS” of the component information App ⁇ shown in FIG. 4 represents an OS (Operating System) interface with other components.
  • the component package and the component service are registered in packages and services, which are OS interfaces. By being registered, information may be propagated to other component parts, and the propagated information may be used for providing information indicating an execution base.
  • FIG. 5 is an explanatory diagram illustrating an example of detailed component information according to the first embodiment.
  • a template of the component is defined.
  • the component element detailed information shown in FIG. 5 describes information required for executing a command for changing the configuration.
  • arguments and variables to be passed to the execution command or program are described as property.
  • the component detailed information OSService IV shown in FIG. 5A describes a variable port and a variable name.
  • the name of the command or program that executes the configuration change based on the detailed information on the component elements, or the path of the source code is described in agent IV.
  • the component calculation unit 110 may assign a value to a specific component by setting the initial value of agent to null (undefined) and using the information propagation method described above.
  • the component calculation unit 110 changes the agent Ansible to VM1.
  • Information may be given to the component VM1 to be used for deployment of
  • the variables used in the agent An called Ansible ⁇ ⁇ may be collectively defined as property, as in the definition information of the component element detailed information Ansible ⁇ ⁇ shown in FIG.
  • a configuration management tool AnsibleAn may be used as an agent and a program for use corresponding to the state transition of the component may be generated in advance.
  • FIG. 6 is an explanatory diagram illustrating an example of comparison policy information according to the first embodiment.
  • FIG. 7 is an explanatory diagram illustrating another example of the comparison policy information according to the first embodiment.
  • FIG. 6 and FIG. 7 describe mergePolicy IV that is comparison policy information used when a state element is generated based on a comparison target component pair.
  • mergePolicy ⁇ named osServicePolicy is described.
  • FIG. 7 describes mergePolicy named osFilePolicy.
  • OsServicePolicy shown in Fig. 6 describes OSService as the type of component to be compared. Further, in osServicePolicy shown in Fig. 6, a conditional expression (condition) is described.
  • the property describes each property of the component (Before) in the current system configuration information and the component (After) ⁇ in the target system configuration information. Also, as shown in FIG. 6, a plurality of state element generation methods according to specific values set in the property of agent are described.
  • the state element of the present embodiment is a model in which information about the current state (current) and information about the desired state (require) are given to the constituent elements. For example, when a service is newly started, the current state of the state element representing the service is “f (the service is stopped)”, and the target state of the state element representing the service is “t (the service is running). ).
  • agent IV is associated with an execution command for starting the service.
  • the information described in agent ⁇ ⁇ ⁇ ⁇ in the program is, for example, a state transition from state f ⁇ to state t.
  • obtaining the state transition execution order for all state elements to transition to the target state is equivalent to obtaining a procedure for making a configuration change.
  • osServicePolicy IV shown in FIG. 6 the property value of hostName of each agent IV of the component service (serviceBefore) in the current system configuration information and the component service (serviceAfter) in the target system configuration information is compared.
  • AP.service that is a comparison target component pair is added as two different state elements of AP.serviceBefore and AP.serviceAfter according to the comparison policy information shown in FIG. .
  • the reason why it is added as a different status element is that the hostName of the agent ⁇ of AP.service is VM1 ⁇ as a component in the current system configuration information and VM2 ⁇ as a component in the target system configuration information.
  • the current state of each state element added to the state model information shown in FIG. 9 is the state described in beforeStates shown in FIG. 6, and the target state of each state element is the state described in afterStates IV.
  • the current state of state element AP.serviceBefore is state t
  • the target state is state f
  • the current state of state element AP.serviceAfterservice is state f
  • the target state is state t.
  • the comparison policy processing unit 130 adds one state element to the state model information. ("Element: same" shown in FIG. 6).
  • each notation of the comparison policy information shown in FIG. 7 is the same as the meaning of each notation corresponding to the comparison policy information shown in FIG.
  • the identifier comparison unit 120 has a function of enumerating comparison target component pairs and adding state elements based on the current system component group and the target system component group calculated by the component calculation unit 110.
  • the identifier comparison unit 120 checks whether or not a component having the same identifier as that of each component included in the target system component group is currently included in the system component group. If included, the identifier comparison unit 120 holds the corresponding two components as a comparison target component pair. If not included, the identifier comparison unit 120 adds the component as a state element to the state model information.
  • FIG. 8 is an explanatory diagram illustrating an example of comparison target component pair extraction processing by the identifier comparison unit 120 of the first embodiment.
  • the current system component group shown in FIG. 8 includes a component VM1.osBoot related to the operation and stop of the virtual machine VM1.
  • the current system component group shown in FIG. 8 includes a component AP.package related to installation and uninstallation of a package for the application AP, and a component AP.service related to operation and stop of the service provided by the application AP. ing.
  • the target system component group shown in FIG. 8 includes a component VM2.osBoot related to the operation and stop of the virtual machine VM2.
  • the target system configuration element group illustrated in FIG. 8 includes a configuration element AP.package related to installation and uninstallation of a package with respect to the application AP, and a configuration element AP.service related to operation and stop of the service provided by the application AP. ing.
  • the identifier comparison unit 120 converts the component AP.package and the component AP.service having the same identifier between the current system component group and the target system component group into both system component groups. Detect from each. After detection, the identifier comparison unit 120 lists two comparison target component pairs.
  • the identifier comparison unit 120 describes each component having the same identifier included in the current system component group and the target system component group in each comparison target component pair.
  • the component VM1.osBoot and the component VM2.osBoot that are not included in the comparison target component pair are added to the state model information.
  • the comparison policy processing unit 130 has a function of generating state model information based on each comparison target component pair obtained by the identifier comparison unit 120.
  • the comparison policy processing unit 130 considers the components to be the same or separates the components according to the rules described in the comparison policy information corresponding to each component.
  • FIG. 9 is an explanatory diagram illustrating an example of a state element generation process performed by the comparison policy processing unit 130 according to the first embodiment.
  • the comparison policy processing unit 130 generates state elements based on the comparison target component pairs illustrated in FIG. 8 enumerated by the identifier comparison unit 120. Further, the comparison policy processing unit 130 adds the generated state element to the state model information.
  • the comparison policy processing unit 130 generates the state element AP.serviceBefore and the state element AP.serviceAfter according to the comparison policy information of the osServicePolicy shown in FIG. 6 based on the comparison target component pair related to the component AP.service. Yes.
  • the generated state element is added to the state model information.
  • the host name (hostName) that the component AP.service currently included in the system component group has as a variable of agent is VM1.
  • the host name that the component AP.service included in the target system component group has as a variable of the agent is VM2.
  • state element AP.serviceBefore and state element AP.serviceAfter are added to the state model information. If the host names are the same, the comparison policy processing unit 130 adds one state element having both the current state and the target state to the state model information.
  • the AP deployment destination is changed from VM1 to VM2.
  • the comparison policy information similar to osServicePolicy is also prepared in the component information database 150 for the comparison target component pair related to AP.package.
  • the comparison policy processing unit 130 generates a state element AP.packageBefore and a state element AP.packageAfterpackage according to the prepared comparison policy information.
  • the state element VM1.osBoot and the state element VM2.osBoot described in the state model information shown in FIG. 9 are state elements generated by the identifier comparison unit 120 in the process of the comparison target component pair extraction process shown in FIG. It is.
  • the procedure planning unit 140 has a function of deriving a procedure for changing the system configuration without causing a failure by using the state model information as an input.
  • the procedure planning unit 140 outputs configuration change procedure information indicating the derived procedure.
  • the procedure planning unit 140 may have the same function as the function of the route search unit described in Patent Document 1.
  • the system configuration management apparatus 100 is configured to calculate a component including specific operation command information required for configuration change from the system configuration information with the current system configuration information and target system configuration information of the target system as inputs.
  • An element calculation unit 110 is provided.
  • the identifier comparison unit 120 included in the system configuration management apparatus 100 compares the identifier of the component included in the current system configuration information with the identifier of the component included in the target system configuration information, and compares the current system configuration information with the target system.
  • the constituent elements having the same identifier in the configuration information are listed as comparison target constituent element pairs.
  • the identifier comparison unit 120 adds a component that exists only in either the current system configuration information or the target system configuration information to the state model information as a state element.
  • system configuration management apparatus 100 refers to the comparison policy information corresponding to each component based on the comparison target component pair, generates a state element required for deriving the execution order of the procedures, and generates the generated state element Is added to the state model information. Further, the system configuration management apparatus 100 includes a procedure planning unit 140 that derives an execution order of procedures by searching each state of the state element described in the state model information.
  • FIG. 10 is a flowchart illustrating the overall operation of the configuration change procedure derivation process performed by the system configuration management apparatus 100 according to the first embodiment.
  • the component calculation unit 110 of the system configuration management apparatus 100 calculates the current system component group from the current system configuration information and the target system component group from the target system configuration information (step S110).
  • the identifier comparison unit 120 compares the current system component group and the target system component group, and adds a pair of components having the same identifier included in both to the comparison target component pair group. Further, the identifier comparison unit 120 adds a component included only in one of the system component groups to the state model information as a state element (step S120).
  • the comparison policy processing unit 130 generates state elements based on all comparison target component pairs.
  • the comparison policy processing unit 130 adds the generated state element to the state model information (step S130).
  • the procedure planning unit 140 uses the state model information as an input to derive a configuration change procedure that is a procedure for changing the current system configuration to the target system configuration (step S140).
  • the procedure planning unit 140 outputs information indicating the configuration change procedure. After the output, the system configuration management apparatus 100 ends the configuration change procedure derivation process.
  • FIG. 11 is a flowchart illustrating the operation of the component element calculation process performed by the component element calculator 110 according to the first embodiment. Note that the component element calculation process illustrated in FIG. 11 corresponds to the process of step S110 illustrated in FIG.
  • the component element calculation unit 110 inputs all the component parts included in each system configuration information by using the current system configuration information and the target system configuration information as inputs (step S111).
  • the component calculation unit 110 lists the components included in each component listed with reference to the component information (step S112).
  • the component element calculation unit 110 assigns setting information and comparison policy information to each listed component element (step S113). As a result, the component calculation unit 110 calculates a current system component group and a target system component group, respectively. After the calculation, the component element calculation unit 110 ends the component element calculation process.
  • FIG. 12 is a flowchart illustrating the operation of the comparison target component pair extraction process performed by the identifier comparison unit 120 according to the first embodiment.
  • the comparison target component pair extraction process illustrated in FIG. 12 corresponds to the process of step S120 illustrated in FIG.
  • the identifier comparison unit 120 lists all the constituent elements of the target system that are constituent elements included in the target system constituent element group (step S121).
  • the identifier comparison unit 120 confirms whether there is a component of the target system that has not been searched yet (step S122). If there is a component of the target system that has not yet been searched (Yes in step S122), the identifier comparison unit 120 extracts one component of the target system that has not been searched yet.
  • the identifier comparison unit 120 searches for a component having the same ID as the ID of the component of the target system extracted from the components included in the current system component group (step S124).
  • the identifier comparison unit 120 compares the component of the current system and the component of the target system having the same ID as one comparison target component pair. It adds to a component pair group (step S127). After the addition, the identifier comparison unit 120 performs the process of step S122.
  • the identifier comparison unit 120 adds the extracted component of the target system to the state model information (step S126). After the addition, the identifier comparison unit 120 performs the process of step S122.
  • the identifier comparison unit 120 repeatedly executes the processing from step S124 to step S127 until there are no components of the target system that have not been searched yet.
  • the identifier comparison unit 120 adds all the components of the current system that have not been searched in the process of step S124 to the state model information as state elements. (Step S123). After the addition, the identifier comparison unit 120 ends the comparison target component pair extraction process.
  • FIG. 13 is a flowchart illustrating the operation of the state element generation process performed by the comparison policy processing unit 130 according to the first embodiment. Note that the state element generation process illustrated in FIG. 13 corresponds to the process of step S130 illustrated in FIG.
  • the comparison policy processing unit 130 checks whether or not there is a comparison target component pair that has not yet been searched among all the comparison target component pairs calculated by the identifier comparison unit 120 (step S131).
  • the comparison policy processing unit 130 extracts one corresponding comparison target component pair from the comparison target component pair group (step S132). ).
  • the comparison policy processing unit 130 generates a state element based on the comparison target component pair extracted according to the comparison policy information (step S133).
  • the comparison policy processing unit 130 adds the state element generated in step S133 to the state model information (step S134).
  • the comparison policy processing unit 130 repeatedly executes the processing from step S132 to step S134 until there are no comparison target component pairs that have not been searched yet. If there is no comparison target component pair that has not yet been searched (No in step S131), the comparison policy processing unit 130 ends the state element generation processing.
  • the system configuration management apparatus 100 is configured to calculate a component including specific operation command information required for configuration change from the system configuration information with the current system configuration information and target system configuration information of the target system as inputs.
  • An element calculation unit 110 is provided.
  • the identifier comparison unit 120 included in the system configuration management apparatus 100 compares the identifier of the component included in the current system configuration information with the identifier of the component included in the target system configuration information, and compares the current system configuration information with the target system.
  • the constituent elements having the same identifier in the configuration information are listed as comparison target constituent element pairs.
  • the identifier comparison unit 120 adds a component that exists only in either the current system configuration information or the target system configuration information to the state model information as a state element.
  • system configuration management apparatus 100 refers to the comparison policy information corresponding to each component based on the comparison target component pair, generates a state element required for deriving the execution order of the procedures, and generates the generated state element Is added to the state model information. Further, the system configuration management apparatus 100 includes a procedure planning unit 140 that derives an execution order of procedures by searching each state of the state element described in the state model information.
  • the system configuration management apparatus 100 includes, for example, an execution command group for changing from the current system configuration to the target system configuration based on the current system configuration information and the target system configuration information without manual intervention.
  • the configuration change procedure information describing the correct execution order of the execution commands can be generated.
  • the component calculation unit 110 calculates the components included in each system based on the current system configuration information, target system configuration information, component detailed information, component information, and comparison policy information.
  • the identifier comparison unit 120 compares the identifier of the component of the current system with the identifier of the component of the target system, and adds the component that exists only in either the current system or the target system to the state model information. .
  • the identifier comparison unit 120 lists comparison target component pairs whose method for importing for the procedure search into the state model is undetermined as a comparison target component pair group.
  • the comparison policy processing unit 130 generates a state element representing the redeployment of the application from the comparison target component pair group according to the comparison policy information.
  • the comparison policy processing unit 130 adds the generated state element to the state model information.
  • the comparison policy processing unit 130 can generate an appropriate state model corresponding to a case where an application or the like is redeployed to a different deployment destination.
  • the procedure planning unit 140 can generate configuration change procedure information based on the generated state model.
  • the system configuration management apparatus 100 receives the target system configuration information whose component part reference information has been changed as an input, and moves software, files, and the like to deployment destinations such as different physical machines or virtual machines and cloud platforms Can be derived.
  • the system configuration management apparatus 100 can generate a procedure for changing the deployment destination of a machine, such as virtual machine migration, based on simple input information.
  • the system configuration management apparatus 100 can handle many types of components.
  • the system configuration management apparatus 100 can simplify input information required for deriving a procedure for changing a deployment destination, such as migration of a virtual machine.
  • the reason is that the identifier comparison unit 120 and the comparison policy processing unit 130 can automatically generate the state model required for the procedure search based on the input information using the information stored in the component information database 150. is there.
  • the operation administrator who uses the system configuration management apparatus 100 of the present embodiment independently generates the current system configuration and the target system configuration, and then changes the deployment destination of the application when the system configuration is changed. Redeployment procedure can be derived without being aware of whether or not.
  • FIG. 14 is an explanatory diagram showing a hardware configuration example of the system configuration management apparatus according to the present invention.
  • the system configuration management apparatus 100 shown in FIG. 14 includes a CPU (Central Processing Unit) 21, a main storage unit 22, and an auxiliary storage unit 23. Moreover, you may provide the input part 24 for a user to operate, and the output part 25 for showing a process result or progress of a process content to a user.
  • a CPU Central Processing Unit
  • main storage unit 22 main storage unit 22
  • auxiliary storage unit 23 auxiliary storage unit 23
  • system configuration management apparatus 100 illustrated in FIG. 14 may include a DSP (Digital Signal Processor) instead of the CPU 21.
  • the system configuration management apparatus 100 illustrated in FIG. 14 may include a CPU 21 and a DSP.
  • the main storage unit 22 is used as a data work area and a temporary data save area.
  • the main storage unit 22 is, for example, a RAM (Random Access Memory).
  • the auxiliary storage unit 23 is a tangible storage medium that is not temporary.
  • the non-temporary tangible storage medium include a magnetic disk, a magneto-optical disk, a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), and a semiconductor memory.
  • the input unit 24 has a function of inputting data and processing instructions.
  • the input unit 24 is an input device such as a keyboard or a mouse.
  • the output unit 25 has a function of outputting data.
  • the output unit 25 is a display device such as a liquid crystal display device or a printing device such as a printer.
  • each component is connected to the system bus 26.
  • the auxiliary storage unit 23 stores, for example, programs for realizing the component calculation unit 110, the identifier comparison unit 120, the comparison policy processing unit 130, and the procedure planning unit 140.
  • system configuration management apparatus 100 may be realized by the CPU 21 that executes processing in accordance with a program stored in a non-temporary storage medium, for example. That is, the system configuration management apparatus 100 according to the present embodiment may be realized by software.
  • the CPU 21 When realized by software, the CPU 21 loads a program stored in the auxiliary storage unit 23 to the main storage unit 22 and executes the program, thereby controlling the operation of the system configuration management apparatus 100, whereby each function is performed by software. Realized. That is, the component calculation unit 110, the identifier comparison unit 120, the comparison policy processing unit 130, and the procedure planning unit 140 are realized by, for example, the CPU 21 that executes processing according to program control.
  • component element information database 150 may be realized by a RAM, for example.
  • each component may be realized by a general-purpose circuit (circuitry IV), a dedicated circuit, a processor, or a combination thereof. These may be configured by a single chip or may be configured by a plurality of chips connected via a bus. Part or all of each component may be realized by a combination of the above-described circuit and the like and a program.
  • each unit in the system configuration management apparatus 100 may be realized by a hardware circuit.
  • the component calculation unit 110, the identifier comparison unit 120, the comparison policy processing unit 130, the procedure planning unit 140, and the component element information database 150 are each realized by an LSI (Large Scale Integration). Further, they may be realized by a single LSI.
  • the plurality of information processing devices and circuits may be centrally arranged or distributedly arranged.
  • the information processing apparatus, the circuit, and the like may be realized as a form in which each is connected via a communication network, such as a client and server system and a cloud computing system.
  • FIG. 15 is a block diagram showing an outline of a change procedure generation apparatus according to the present invention.
  • the change procedure generation device 10 includes first configuration information that is information indicating a configuration before the change target system is changed, and second configuration information that is information indicating a configuration of the change target system.
  • an extraction unit 11 for example, an identifier comparison unit 120
  • a generation unit 12 for example, a comparison policy processing unit 130
  • the change procedure generation device can generate a procedure for changing the system configuration based on simple input information.
  • the change procedure generation device can generate a procedure for changing the deployment destination of a machine.
  • the two constituent elements each have a variable designated under a predetermined condition, and the generation unit 12 generates two state elements based on two constituent elements having different variable values, and the variable value is One state element may be generated based on two identical components.
  • the change procedure generation device can reduce the number of generated state elements.
  • the extraction unit 11 may generate a state element that represents the state of the component based on the component of the system to be changed that is included only in either the first configuration information or the second configuration information.
  • the change procedure generation device can generate a state element based on all the configuration elements included in each configuration information.
  • the change procedure generation device 10 changes the state of the state element from the current state based on the state model that is a model composed of the state element generated by the generation unit 12 and the state element generated by the extraction unit 11. You may provide the plan part (for example, procedure plan part 140) which plans the procedure made to change to a state.
  • the plan part for example, procedure plan part 140
  • the change procedure generation device can derive a procedure for changing the configuration of the system to be changed.
  • the change procedure generation device 10 receives the first configuration information and the second configuration information as inputs, and the first configuration element group and the second configuration that are sets of components of the system to be changed included in the first configuration information.
  • a calculation unit (for example, the component calculation unit 110) that calculates a second component group that is a set of components of the system to be changed included in the information, and the calculation unit calculates the calculated first component group And the calculated second component group may be input to the extraction unit 11.
  • the change procedure generation device can more easily extract a pair of components having the same identifier.
  • the change procedure generation device 10 includes a storage unit (for example, the component element information database 150) that stores component element information regarding the components of the system to be changed, and the calculation unit is based on the stored component element information.
  • the first component group and the second component group may be calculated respectively.
  • the change procedure generation device can calculate a component group based on the component detail information and component information.
  • the present invention is preferably applied to an application for generating a correct execution order of commands, programs, scripts, and the like executed when middleware and application software are redeployed to a deployment destination different from the current deployment destination.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

変更手順生成装置10は、変更対象のシステムの変更される前の構成を示す情報である第1構成情報と変更対象のシステムの変更目的の構成を示す情報である第2構成情報とを入力とし、第1構成情報と第2構成情報の両方に含まれる変更対象のシステムの構成要素を第1構成情報と第2構成情報からそれぞれ抽出する抽出部11と、抽出された2つの構成要素を基に所定の条件に従って2つの構成要素の各状態を表す状態要素を生成する生成部12とを備える。

Description

変更手順生成装置、変更手順生成方法および変更手順生成プログラム
 本発明は、変更手順生成装置、変更手順生成方法および変更手順生成プログラムに関し、特に仮想マシンのマイグレーション等のアプリケーションを異なる配備先に再配備する手順を生成できる変更手順生成装置、変更手順生成方法および変更手順生成プログラムに関する。
 ソフトウェアまたはシステムの構成変更が効率的かつ短期間に実行されるためには、システムが変更される際のシステムの管理者の手間および変更作業者の手間と、システムが変更される際に生じる変更されるシステムの利用者に及ぶ影響を少なくすることが求められる。
 また、様々なシステム要件を満たすシステムを構築するためには、システムを構成する多くの種類のモジュールや、多くの種類の構成変更の操作を準備することが求められる。
 また、システムを構成するモジュール間に依存性が存在する場合、各モジュールに対する変更作業の順序が所定の条件を満たすことが求められる。すなわち、依存性が存在しない場合に比べて、変更作業が複雑になる。
 モジュール間の依存性は、例えば、モジュールAが正しく機能するためにはモジュールBが正しく機能していることが求められるような、2つの要素の設定の順序関係を表す。システム構成の変更途中でシステム障害が発生することを未然に防ぐ責任がある管理者には、上記のような順序関係を常に考慮することが求められる。
 上記のような依存性を考慮しつつ、システムの変更に要する作業の計画を自動的に生成するシステムを変更管理システムと呼ぶ。変更管理システムには、例えば部品間の依存性に関する情報、および部品に対する作業に関する情報が予め定義されている。
 上記の変更管理システムを用いると、管理者は、複雑な変更作業を実行する上で効果的な作業手順を効率的に生成できる。また、作業者も、生成された効果的な作業手順に基づいて、効率的に作業を実行できる。変更管理システムが生成した作業手順が使用されて変更作業が実行されると、余計な時間が掛けられずに効率的に作業が実行されるため、変更されるシステムの利用者に及ぶ影響も少なくなることが期待される。
 上記のような変更管理システムに関して、既に多数の関連研究や関連製品が知られている。例えば、特許文献1には、各部品の動作状態と動作状態間に存在する依存性を定義し、変更作業に要する変更手順を生成する変更計画システムが記載されている。
 さらに、特許文献1に記載されている変更計画システムは、物理マシンまたは仮想マシンにおいて稼働するアプリケーション、およびアプリケーションの設定ファイルを、システムを構成する部品として扱うことができる。
 また、特許文献1に記載されている変更計画システムは、仮想マシンの基盤を構築するクラウド基盤ソフトウェアや通信ネットワーク設定に関係する操作も、システムを構成する部品として扱うことができる。構成部品間のインタフェースの記述方法、および情報伝播処理方法が利用されると、特許文献1に記載されている入力情報は、より簡潔に記載される。
 また、システム構成の変更操作には、仮想マシンのマイグレーションのような、仮想マシンが稼働していた物理マシンと異なる物理マシンに仮想マシンを再配備する操作も含まれる。例えば、特許文献2には、仮想マシンのマイグレーションを効率的に実行する方法が記載されている。
特開2015-215885号公報 特許第5305040号公報
 特許文献1に記載されている変更計画システムが利用されたシステム構築では、アプリケーションや設定ファイルの配備先を変更するための手順の実行順序を導出するための変更計画システムへの入力情報の記載内容が複雑になる。
 特許文献1に記載されている変更計画システムは、変更される前の現在のシステム構成情報と変更目的のシステム構成情報とを比較して、構成部品名が異なる情報を差分情報として算出する。次いで、特許文献1に記載されている変更計画システムは、算出された差分情報を用いて変更手順を探索する。
 特許文献1に記載されている変更計画システムを用いる管理者には、仮想マシンがマイグレーションされる場合、仮想マシンの再配備先である新しい物理マシンを表す情報の他に、構成部品の名称にも新しい物理マシンで動作することを明示的に記載することが求められる。
 すなわち、管理者には、冗長な情報を記載することが求められる。また、上記の情報伝播方法を用いて特許文献1に記載されている変更計画システムによるシステム構築方法を利用する場合であっても、管理者には、冗長な情報を記載することが求められる。
 特許文献2に記載されている方法は、無駄な情報を使用せずに仮想マシンをマイグレーションできる。しかし、特許文献2に記載されている方法が、通信ネットワークやアプリケーションの細かな設定変更と併せてマイグレーションを一度に実行することは困難である。
[発明の目的]
 そこで、本発明は、上述した課題を解決する、システム構成を変更するための手順を簡易な入力情報を基に生成できる変更手順生成装置、変更手順生成方法および変更手順生成プログラムを提供することを目的とする。
 本発明による変更手順生成装置は、変更対象のシステムの変更される前の構成を示す情報である第1構成情報と変更対象のシステムの変更目的の構成を示す情報である第2構成情報とを入力とし、第1構成情報と第2構成情報の両方に含まれる変更対象のシステムの構成要素を第1構成情報と第2構成情報からそれぞれ抽出する抽出部と、抽出された2つの構成要素を基に所定の条件に従って2つの構成要素の各状態を表す状態要素を生成する生成部とを備えることを特徴とする。
 本発明による変更手順生成方法は、変更対象のシステムの変更される前の構成を示す情報である第1構成情報と変更対象のシステムの変更目的の構成を示す情報である第2構成情報とを入力とし、第1構成情報と第2構成情報の両方に含まれる変更対象のシステムの構成要素を第1構成情報と第2構成情報からそれぞれ抽出し、抽出された2つの構成要素を基に所定の条件に従って2つの構成要素の各状態を表す状態要素を生成することを特徴とする。
 本発明による変更手順生成プログラムは、コンピュータに、変更対象のシステムの変更される前の構成を示す情報である第1構成情報と変更対象のシステムの変更目的の構成を示す情報である第2構成情報とを入力とし、第1構成情報と第2構成情報の両方に含まれる変更対象のシステムの構成要素を第1構成情報と第2構成情報からそれぞれ抽出する抽出処理、および抽出された2つの構成要素を基に所定の条件に従って2つの構成要素の各状態を表す状態要素を生成する生成処理を実行させることを特徴とする。
 本発明によれば、システム構成を変更するための手順を簡易な入力情報を基に生成できる。
本発明によるシステム構成管理装置の第1の実施形態の構成例を示すブロック図である。 第1の実施形態の構成要素算出部110による構成要素算出処理の例を示す説明図である。 第1の実施形態のシステム構成情報の例を示す説明図である。 第1の実施形態の構成部品情報の例を示す説明図である。 第1の実施形態の構成要素詳細情報の例を示す説明図である。 第1の実施形態の比較ポリシ情報の例を示す説明図である。 第1の実施形態の比較ポリシ情報の他の例を示す説明図である。 第1の実施形態の識別子比較部120による比較対象構成要素対抽出処理の例を示す説明図である。 第1の実施形態の比較ポリシ処理部130による状態要素生成処理の例を示す説明図である。 第1の実施形態のシステム構成管理装置100による構成変更手順導出処理の全体動作を示すフローチャートである。 第1の実施形態の構成要素算出部110による構成要素算出処理の動作を示すフローチャートである。 第1の実施形態の識別子比較部120による比較対象構成要素対抽出処理の動作を示すフローチャートである。 第1の実施形態の比較ポリシ処理部130による状態要素生成処理の動作を示すフローチャートである。 本発明によるシステム構成管理装置のハードウェア構成例を示す説明図である。 本発明による変更手順生成装置の概要を示すブロック図である。
 以下、本発明の実施形態を、図面を参照して説明する。なお、各図面は、本発明の実施形態を説明する。ただし、本発明は、各図面の記載内容に限られない。また、各図面の同様の構成には同じ番号を付し、その繰り返しの説明を省略する場合がある。
 また、以下の説明で用いられる図面において、本発明の説明に関係しない部分の構成の記載を省略し、図示しない場合もある。
 また、以下の説明において、各構成は、他の構成に求められる情報を送信(出力)する。ただし、本発明の実施形態の動作は、上記のような動作に限られない。例えば、本発明の実施形態には、図示しない記憶部が含まれてもよい。また、各構成は、生成(算出)された情報または受信された情報を記憶部に保存し、処理に要する情報を記憶部から読み出してもよい。
<第1の実施形態>
[構成の説明]
 次に、本発明の第1の実施形態を、図面を参照して説明する。図1は、本発明によるシステム構成管理装置の第1の実施形態の構成例を示すブロック図である。
 本実施形態のシステム構成管理装置100は、システム構築や構成変更における仮想マシンのマイグレーション等の構成部品の配備先が変更される作業に対して、配備先が変更されることが明記されていない入力情報を用いて作業手順を生成する。
 本実施形態のシステム構成管理装置100は、仮想マシンのマイグレーションのような配備先を変更するための手順を簡易な入力情報を基に生成できる。また、システム構成管理装置100は、多くの種類のシステム構成変更手順を扱うことができる。
 図1に示すように、本実施形態のシステム構成管理装置100は、構成要素算出部110と、識別子比較部120と、比較ポリシ処理部130と、手順計画部140と、構成要素情報データベース150とを備える。
 図1に示すように、システム構成管理装置100は、現在システム構成情報と目的システム構成情報とが入力情報として入力される。システム構成管理装置100は、現在システム構成情報と目的システム構成情報との差分情報のうち、対象システムに関する差分情報を基に構成変更に要する操作情報を算出する。
 次いで、システム構成管理装置100は、構成変更に要する操作情報がモデル化された状態モデル情報を生成する。次いで、システム構成管理装置100は、生成された状態モデル情報を基に構成変更手順情報を生成する。システム構成管理装置100は、生成された構成変更手順情報を出力する。
 次に、図1を参照してシステム構成管理装置100の各構成要素を説明する。なお、各構成要素の説明において、関連する情報も図面を参照して説明する。
 最初に、構成要素算出部110を説明する。図1に示すように、構成要素算出部110は、現在システム構成情報と、目的システム構成情報と、構成部品情報と、構成要素詳細情報と、比較ポリシ情報とを取得する。
 なお、構成要素算出部110が取得する現在システム構成情報、目的システム構成情報、構成部品情報、構成要素詳細情報、および比較ポリシ情報の提供元は、特に制限されない。
 例えば、システム構成管理装置100のユーザが、入力装置(図示せず)を介してシステム構成管理装置100に上記の各情報を送信してもよい。また、ユーザが、システム構成管理装置100を操作して、上記の各情報をシステム構成管理装置100に直接入力してもよい。
 構成要素算出部110は、現在システム構成情報と目的システム構成情報とを基に、システムに含まれる構成要素および構成要素の変数の値を算出する機能を有する。構成要素算出部110が構成要素を算出する例を図2に示す。図2は、第1の実施形態の構成要素算出部110による構成要素算出処理の例を示す説明図である。
 図2に示すように、システム構成情報に仮想マシンVM1 とアプリケーションAPという2つの構成部品が記載されている。図2に示すシステム構成情報内の角丸四角形が、構成部品を表す。
 構成要素算出部110は、構成要素情報データベース150に格納されている構成部品情報と構成要素詳細情報とを参照して、システム構成情報内の各構成部品に含まれている構成要素を列挙する。
 図2に示す例では、構成要素算出部110は、構成部品VM1 からosBootという構成要素を列挙する。また、構成要素算出部110は、構成部品APからpackage という構成要素と、service という構成要素を列挙する。図2に示すシステム構成要素群の情報内の矩形が、構成要素を表す。
 なお、列挙された各構成要素には、識別子(ID:Identifier) が与えられる。本実施形態のIDは、構成要素の名称と、構成要素が属している構成部品の名称が結合された文字列である。例えば、図2に示す構成部品VM1 に属している構成要素osBootのIDは、「VM1.osBoot」になる。図2に示す構成要素を表す矩形内の文字列が、構成要素のIDである。
 また、構成要素算出部110は、算出された構成要素に、設定値情報が示す具体的な値を付与してもよい。例えば、システム構成情報で構成部品APと構成部品VM1 が関係付けられていたことを反映させるために、構成要素算出部110は、構成要素AP.packageに「動作基盤がVM1 である」という情報を付与してもよい。
 例えば、図2に示す構成要素AP.packageの右上の矩形内の「VM1 」、および構成要素AP.serviceの右上の矩形内の「VM1 」が、それぞれ構成要素に付与された設定値情報が示す具体的な値である。構成要素算出部110は、例えば上述した情報伝播処理方法で設定値情報が示す具体的な値を構成要素に付与してもよい。
 次に、構成要素算出部110に関連する情報を説明する。最初に、システム構成情報を説明する。
 現在システム構成情報には、構成変更に要する操作およびコマンドと、変数の値とを含む構成要素が配列形式で記載されている。図3は、第1の実施形態のシステム構成情報の例を示す説明図である。
 図3に示すように、システム構成情報は、例えばDSL(Domain Specific Language) で記載される。なお、システム構成情報は、JSON(JavaScript(登録商標) Object Notation)等で記載されてもよい。
 図3(a)には、現在システム構成情報が記載されている。また、図3(b)には、図3(a)に示す現在システム構成情報に対応する、目的システム構成情報が記載されている。
 図3に示すシステム構成情報では、「TargetSystem」という名称のシステム(system)が対象システムとして定義されている。また、図3に示すシステム構成情報には、システム「TargetSystem」の構成部品(component) が記載されている。
 図3(a)に示すTargetSystemの現在システム構成情報は、図2に示すシステム構成情報に対応している。すなわち、図3(a)に示す現在システム構成情報には、構成部品VM1 、構成部品APが、それぞれ記載されている。
 また、各構成部品の箇所において、設定値、または他の構成部品との接続関係が記述されている。図3(a)に示すように、例えば、構成部品VM1 には、IP(Internet Protocol) アドレス(ip)と、VM(Virtual Machine) イメージID(imageId) とが記載されている。
 また、図3(a)に示すように、構成部品APには、osというインタフェースと、構成部品VM1 のosAnsible というインタフェースとの間に接続関係があることが記載されている。接続関係は、例えば上記の情報伝播処理方法で伝搬されてもよい。
 なお、図3(b)に示す目的システム構成情報の各表記の意味は、上述した図3(a)に示す現在システム構成情報の対応する各表記の意味と同様である。
 次に、構成部品情報を説明する。図4は、第1の実施形態の構成部品情報の例を示す説明図である。
 図4に示す構成部品情報には、図3に示すシステム構成情報で構成部品APが定義される際に利用されたApp という構成部品の雛形が定義されている。図4に示す構成部品情報には、構成部品に含まれる変数の値および構成要素の情報が記載されている。
 図4に示す構成部品情報App には、構成変更を行うためのコマンドで利用される変数がproperty、構成部品に含まれる構成要素がelement としてそれぞれ記載されている。例えば、変数であるpackageName は、サービスが起動される時に使用されるアプリケーションの名称を表す。また、変数であるportは、サービスで利用されるTCP(Transmission Control Protocol)ポートを表す。
 また、図4に示す構成部品情報App には、型がOSPackage である構成要素package と、型がOSService である構成要素service とが記載されている。各構成要素には、変数の具体的な値、および依存関係が記載されている。
 図4に示す構成部品情報App の構成要素service には、変数portと変数nameとが記載されている。また、構成要素service には、構成要素package が状態t でないと構成要素service が状態f から状態t に状態遷移できないという制約が記載されている。
 なお、構成要素package の状態t は、package が表すパッケージがインストールされている状態を表す。また、構成要素service の状態f と状態t はそれぞれ、service が表すサービスが停止している状態と、service が表すサービスが稼働している状態を表す。
 また、図4に示す構成部品情報App の「reference OS」という記述は、他の構成部品とのOS(Operating System)のインタフェースを表す。図4に示す「reference OS」では、構成要素package と構成要素service がOSのインタフェースであるpackages、servicesにそれぞれ登録されている。登録されることによって、他の構成部品に情報が伝播され、伝播された情報が実行基盤を示す情報の付与に利用されてもよい。
 次に、構成要素詳細情報を説明する。図5は、第1の実施形態の構成要素詳細情報の例を示す説明図である。
 図5に示す構成要素詳細情報には、構成要素の雛形が定義されている。また、図5に示す構成要素詳細情報には、構成変更を行うためのコマンドが実行されるために要する情報が記載されている。
 例えば、図5に示す構成要素詳細情報には、実行コマンドまたはプログラムに渡される引数および変数が、propertyとして記載されている。例えば、図5(a)に示す構成要素詳細情報OSService には、変数であるportと変数であるnameとが記載されている。
 また、構成要素詳細情報に基づいて構成変更を実行するコマンドまたはプログラムの名称、またはソースコードのパスは、agent に記載されている。なお、構成要素算出部110は、agent の初期値をnull(未定義)にしておき、上述した情報伝播方法を利用することによって、特定の構成部品に値を付与してもよい。
 例えば、図2に示すシステム構成情報の例では、構成要素算出部110は、構成部品APに含まれている構成要素AP.serviceが構成部品VM1 に渡された後、agent であるAnsible がVM1 への配備に利用されるように構成部品VM1 に情報を付与してもよい。
 なお、Ansible というagent で利用される変数は、図5(b)に示す構成要素詳細情報Ansible の定義情報のように、propertyとしてまとめて定義されてもよい。すなわち、図2に示す例では、構成要素算出部110は、構成部品VM1 に「hostName=VM1」という情報を有するagent の定義情報を記載し、上述した情報伝播方法で構成部品APから譲渡された構成要素に情報を付与するようにagent で定義される変数を使用すればよい。
 なお、特許文献1に記載されている変更計画システムのように、構成管理ツールAnsible をagent として構成要素の状態遷移に対応させて利用するためのプログラムが事前に生成されてもよい。
 次に、比較ポリシ情報を説明する。図6は、第1の実施形態の比較ポリシ情報の例を示す説明図である。また、図7は、第1の実施形態の比較ポリシ情報の他の例を示す説明図である。
 図6および図7には、比較対象構成要素対を基に状態要素が生成される際に使用される比較ポリシ情報であるmergePolicy が記載されている。図6には、osServicePolicy という名称のmergePolicy が記載されている。また、図7には、osFilePolicyという名称のmergePolicy が記載されている。
 図6に示すosServicePolicy には、比較対象である構成要素の型としてOSService が記載されている。また、図6に示すosServicePolicy には、条件式(condition) が記載されている。
 図6に示すように、condition には、現在システム構成情報における構成要素(Before)、および目的システム構成情報における構成要素(After) が有する各propertyが記載されている。また、図6に示すように、agent のpropertyに設定される具体的な値に応じた状態要素の生成方法が複数記載されている。
 本実施形態の状態要素は、構成要素に現在の状態(current) の情報と、目的の状態(require) の情報とが付与されたモデルである。例えば、新規にサービスが起動される場合、サービスを表す状態要素の現在の状態は「f (サービスが停止している状態)」、サービスを表す状態要素の目的の状態は「t (サービスが稼働している状態)」である。
 また、agent に記載される情報には、サービスが起動されるための実行コマンドが対応付けられる。プログラムにおいてagent に記載される情報は、例えば状態f から状態t への状態遷移である。よって、全ての状態要素が目的の状態に遷移するための状態遷移の実行順序を求めることは、構成変更を行うための手順を求めることに相当する。
 図6に示すosServicePolicy では、現在システム構成情報における構成要素service(serviceBefore)と、目的システム構成情報における構成要素service(serviceAfter) の各agent のhostNameというpropertyの値同士が比較されている。
 hostNameが異なっている場合(図6に示す「!=」)、比較ポリシ処理部130は、状態要素をBeforeとAfter で分けて生成する(図6に示す「element: different」)。次いで、比較ポリシ処理部130は、生成された状態要素を状態モデル情報に追記する。
 例えば、図9に示す状態モデル情報には、比較対象構成要素対であるAP.serviceが、図6に示す比較ポリシ情報に従ってAP.serviceBeforeとAP.serviceAfter の異なる2つの状態要素として追記されている。異なる状態要素として追記されている理由は、AP.serviceのagent のhostNameが現在システム構成情報における構成要素でVM1 、目的システム構成情報における構成要素でVM2 であり、両者で異なるためである。
 また、図9に示す状態モデル情報に追記された状態要素各々の現在状態は図6に示すbeforeStatesに記載された状態、状態要素各々の目的状態はafterStates に記載された状態である。具体的には、状態要素AP.serviceBeforeの現在状態は状態t 、目的状態は状態f である。また、状態要素AP.serviceAfter の現在状態は状態f 、目的状態は状態t である。
 なお、現在システム構成情報における構成要素のagent のhostNameと、目的システム構成情報における構成要素のagent のhostNameが同じである場合、比較ポリシ処理部130は、1つの状態要素を状態モデル情報に追記する(図6に示す「element: same 」)。
 なお、図7に示す比較ポリシ情報の各表記の意味は、上述した図6に示す比較ポリシ情報の対応する各表記の意味と同様である。
 次に、図1を参照して識別子比較部120を説明する。識別子比較部120は、構成要素算出部110で算出された現在システム構成要素群と目的システム構成要素群とを基に、比較対象構成要素対の列挙と状態要素の追加を行う機能を有する。
 識別子比較部120は、目的システム構成要素群に含まれている各構成要素の識別子と同じ識別子を有する構成要素が、現在システム構成要素群に含まれているか否かを確認する。含まれていた場合、識別子比較部120は、該当する2つの構成要素を比較対象構成要素対として保持する。含まれていない場合、識別子比較部120は、構成要素を状態要素として状態モデル情報に追記する。
 図8は、第1の実施形態の識別子比較部120による比較対象構成要素対抽出処理の例を示す説明図である。図8に示す現在システム構成要素群には、仮想マシンVM1 の稼働および停止に関する構成要素VM1.osBootが含まれている。
 また、図8に示す現在システム構成要素群には、アプリケーションAPに対するパッケージのインストールおよびアンインストールに関する構成要素AP.package、およびアプリケーションAPが提供するサービスの稼働および停止に関する構成要素AP.serviceが含まれている。
 また、図8に示す目的システム構成要素群には、仮想マシンVM2 の稼働および停止に関する構成要素VM2.osBootが含まれている。また、図8に示す目的システム構成要素群には、アプリケーションAPに対するパッケージのインストールおよびアンインストールに関する構成要素AP.package、およびアプリケーションAPが提供するサービスの稼働および停止に関する構成要素AP.serviceが含まれている。
 よって、図8に示す例において、識別子比較部120は、現在システム構成要素群と目的システム構成要素群で識別子が同一である構成要素AP.package、および構成要素AP.serviceを両システム構成要素群からそれぞれ検出する。検出した後、識別子比較部120は、2つの比較対象構成要素対を列挙する。
 図8に示すように、識別子比較部120は、各比較対象構成要素対に、現在システム構成要素群および目的システム構成要素群に含まれる識別子が同一の各構成要素を記載する。なお、比較対象構成要素対に含まれない構成要素VM1.osBoot、および構成要素VM2.osBootは、状態モデル情報に追記される。
 次に、図1を参照して比較ポリシ処理部130を説明する。比較ポリシ処理部130は、識別子比較部120で得られた各比較対象構成要素対を基に状態モデル情報を生成する機能を有する。比較ポリシ処理部130は、各構成要素に対応する比較ポリシ情報に記載されている規則に従って、構成要素を同一とみなしたり、構成要素を分離したりする。
 図9は、第1の実施形態の比較ポリシ処理部130による状態要素生成処理の例を示す説明図である。図9に示す例において、比較ポリシ処理部130は、識別子比較部120が列挙した図8に示す比較対象構成要素対を基に状態要素を生成している。また、比較ポリシ処理部130は、生成された状態要素を状態モデル情報に追記している。
 例えば、比較ポリシ処理部130は、構成要素AP.serviceに関する比較対象構成要素対を基に、図6に示すosServicePolicy の比較ポリシ情報に従って、状態要素AP.serviceBeforeと状態要素AP.serviceAfter を生成している。生成された状態要素は、状態モデル情報に追記されている。
 現在システム構成要素群に含まれる構成要素AP.serviceがagent の変数として有するホスト名(hostName)は、VM1 である。また、目的システム構成要素群に含まれる構成要素AP.serviceがagent の変数として有するホスト名は、VM2 である。
 すなわち、両ホスト名が異なるため、状態要素AP.serviceBeforeと状態要素AP.serviceAfter の2つの状態要素が状態モデル情報に追記されている。もしホスト名が同一である場合、比較ポリシ処理部130は、現在状態と目的状態が共に状態t である1つの状態要素を状態モデル情報に追記する。
 また、図8に示す例では、APの配備先がVM1 からVM2 に変更される。さらに、AP.packageに関する比較対象構成要素対に関しても、osServicePolicy と同様の比較ポリシ情報が構成要素情報データベース150に用意されている。図9に示すように比較ポリシ処理部130は、用意された比較ポリシ情報に従って、状態要素AP.packageBeforeと状態要素AP.packageAfter を生成している。
 なお、図9に示す状態モデル情報に記載されている状態要素VM1.osBoot、状態要素VM2.osBootは、図8に示す比較対象構成要素対抽出処理の過程で識別子比較部120が生成した状態要素である。
 次に、図1を参照して手順計画部140を説明する。手順計画部140は、状態モデル情報を入力として、障害を発生させずにシステムの構成変更を行うための手順を導出する機能を有する。手順計画部140は、導出された手順を示す構成変更手順情報を出力する。なお、手順計画部140は、特許文献1に記載されている経路探索部が有する機能と同様の機能を有してもよい。
 本実施形態のシステム構成管理装置100は、対象システムの現在システム構成情報と目的システム構成情報とを入力として、システム構成情報から構成変更に要する具体的な操作コマンド情報を含む構成要素を算出する構成要素算出部110を備える。
 また、システム構成管理装置100が備える識別子比較部120は、現在システム構成情報に含まれる構成要素の識別子と目的システム構成情報に含まれる構成要素の識別子とを比較し、現在システム構成情報と目的システム構成情報とで識別子が同一である構成要素を比較対象構成要素対として列挙する。また、識別子比較部120は、現在システム構成情報と目的システム構成情報のいずれかにのみ存在する構成要素を状態要素として状態モデル情報に追記する。
 また、システム構成管理装置100は、比較対象構成要素対を基に各構成要素に対応する比較ポリシ情報を参照して、手順の実行順序の導出に要する状態要素を生成し、生成された状態要素を状態モデル情報に追記する比較ポリシ処理部130を備える。また、システム構成管理装置100は、状態モデル情報に記載された状態要素の各状態を探索することによって手順の実行順序を導出する手順計画部140を備える。
[動作の説明]
 以下、本実施形態のシステム構成管理装置100の構成変更手順を導出する動作を図10~図13を参照して説明する。図10は、第1の実施形態のシステム構成管理装置100による構成変更手順導出処理の全体動作を示すフローチャートである。
 最初に、システム構成管理装置100の構成要素算出部110は、現在システム構成情報から現在システム構成要素群を、および目的システム構成情報から目的システム構成要素群をそれぞれ算出する(ステップS110)。
 次いで、識別子比較部120は、現在システム構成要素群と目的システム構成要素群とを比較して、両者に含まれる識別子が同一である構成要素の対を比較対象構成要素対群に追加する。また、識別子比較部120は、いずれかのシステム構成要素群にのみ含まれる構成要素を、状態要素として状態モデル情報に追記する(ステップS120)。
 次いで、比較ポリシ処理部130は、全ての比較対象構成要素対を基に状態要素を生成する。比較ポリシ処理部130は、生成された状態要素を状態モデル情報に追記する(ステップS130)。
 次いで、手順計画部140は、状態モデル情報を入力として、現在システム構成を目的システム構成に変更するための手順である構成変更手順を導出する(ステップS140)。次いで、手順計画部140は、構成変更手順を示す情報を出力する。出力した後、システム構成管理装置100は、構成変更手順導出処理を終了する。
 次に、構成変更手順導出処理を構成する副処理をそれぞれ説明する。最初に、構成要素算出部110の構成要素を算出する動作を図11を参照して説明する。図11は、第1の実施形態の構成要素算出部110による構成要素算出処理の動作を示すフローチャートである。なお、図11に示す構成要素算出処理は、図10に示すステップS110の処理に相当する。
 最初に、構成要素算出部110は、現在システム構成情報と目的システム構成情報とを入力として、各システム構成情報に含まれる構成部品を全て列挙する(ステップS111)。
 次いで、構成要素算出部110は、構成部品情報を参照して列挙された各構成部品に含まれる構成要素を列挙する(ステップS112)。
 次いで、構成要素算出部110は、列挙された各構成要素に設定情報と比較ポリシ情報とを付与する(ステップS113)。付与することによって、構成要素算出部110は、現在システム構成要素群および目的システム構成要素群をそれぞれ算出する。算出した後、構成要素算出部110は、構成要素算出処理を終了する。
 次に、識別子比較部120の比較対象構成要素対を抽出する動作を図12を参照して説明する。図12は、第1の実施形態の識別子比較部120による比較対象構成要素対抽出処理の動作を示すフローチャートである。なお、図12に示す比較対象構成要素対抽出処理は、図10に示すステップS120の処理に相当する。
 最初に、識別子比較部120は、目的システム構成要素群に含まれる構成要素である目的システムの構成要素を全て列挙する(ステップS121)。
 次いで、識別子比較部120は、未だ探索されていない目的システムの構成要素が有るか否かを確認する(ステップS122)。未だ探索されていない目的システムの構成要素が有る場合(ステップS122におけるYes )、識別子比較部120は、未だ探索されていない目的システムの1つの構成要素を取り出す。
 次いで、識別子比較部120は、現在システム構成要素群に含まれる構成要素の中から取り出された目的システムの構成要素が有するIDと同じIDを有する構成要素を探索する(ステップS124)。
 同じIDを有する構成要素が探索された場合(ステップS125におけるYes )、識別子比較部120は、同じIDを有する現在システムの構成要素および目的システムの構成要素を1つの比較対象構成要素対として比較対象構成要素対群に追加する(ステップS127)。追加した後、識別子比較部120は、ステップS122の処理を行う。
 同じIDを有する構成要素が探索されなかった場合(ステップS125におけるNo)、識別子比較部120は、取り出された目的システムの構成要素を状態モデル情報に追記する(ステップS126)。追記した後、識別子比較部120は、ステップS122の処理を行う。
 未だ探索されていない目的システムの構成要素がなくなるまで、識別子比較部120は、ステップS124~ステップS127の処理を繰り返し実行する。
 未だ探索されていない目的システムの構成要素がない場合(ステップS122におけるNo)、識別子比較部120は、ステップS124の処理で探索されなかった現在システムの構成要素を全て状態要素として状態モデル情報に追記する(ステップS123)。追記した後、識別子比較部120は、比較対象構成要素対抽出処理を終了する。
 次に、比較ポリシ処理部130の状態要素を生成する動作を図13を参照して説明する。図13は、第1の実施形態の比較ポリシ処理部130による状態要素生成処理の動作を示すフローチャートである。なお、図13に示す状態要素生成処理は、図10に示すステップS130の処理に相当する。
 最初に、比較ポリシ処理部130は、識別子比較部120が算出した全ての比較対象構成要素対の中で未だ探索されていない比較対象構成要素対が有るか否かを確認する(ステップS131)。
 未だ探索されていない比較対象構成要素対が有る場合(ステップS131におけるYes )、比較ポリシ処理部130は、比較対象構成要素対群の中から該当する1つの比較対象構成要素対を取り出す(ステップS132)。
 次いで、比較ポリシ処理部130は、比較ポリシ情報に従って取り出された比較対象構成要素対を基に状態要素を生成する(ステップS133)。次いで、比較ポリシ処理部130は、ステップS133で生成された状態要素を状態モデル情報に追記する(ステップS134)。
 未だ探索されていない比較対象構成要素対がなくなるまで、比較ポリシ処理部130は、ステップS132~ステップS134の処理を繰り返し実行する。未だ探索されていない比較対象構成要素対がない場合(ステップS131におけるNo)、比較ポリシ処理部130は、状態要素生成処理を終了する。
[効果の説明]
 以下、第1の実施形態の効果を説明する。本実施形態のシステム構成管理装置100は、対象システムの現在システム構成情報と目的システム構成情報とを入力として、システム構成情報から構成変更に要する具体的な操作コマンド情報を含む構成要素を算出する構成要素算出部110を備える。
 また、システム構成管理装置100が備える識別子比較部120は、現在システム構成情報に含まれる構成要素の識別子と目的システム構成情報に含まれる構成要素の識別子とを比較し、現在システム構成情報と目的システム構成情報とで識別子が同一である構成要素を比較対象構成要素対として列挙する。また、識別子比較部120は、現在システム構成情報と目的システム構成情報のいずれかにのみ存在する構成要素を状態要素として状態モデル情報に追記する。
 また、システム構成管理装置100は、比較対象構成要素対を基に各構成要素に対応する比較ポリシ情報を参照して、手順の実行順序の導出に要する状態要素を生成し、生成された状態要素を状態モデル情報に追記する比較ポリシ処理部130を備える。また、システム構成管理装置100は、状態モデル情報に記載された状態要素の各状態を探索することによって手順の実行順序を導出する手順計画部140を備える。
 上述した通り、システム構成管理装置100は、人手を介さずに、現在システム構成情報と目的システム構成情報とを基に、例えば現在のシステム構成から目的のシステム構成に変更するための実行コマンド群と、実行コマンドの正しい実行順序が記載された構成変更手順情報を生成できる。
 具体的には、構成要素算出部110は、現在システム構成情報、目的システム構成情報、構成要素詳細情報、構成部品情報、および比較ポリシ情報を基に、各システムに含まれる構成要素を算出する。
 次いで、識別子比較部120は、現在システムの構成要素の識別子と目的システムの構成要素の識別子とを比較して、現在システムまたは目的システムのいずれかにのみ存在する構成要素を状態モデル情報に追記する。また、識別子比較部120は、状態モデルへの手順探索のための取り込み方法が未定な比較対象構成要素対を、比較対象構成要素対群として列挙する。
 次いで、比較ポリシ処理部130は、比較ポリシ情報に従って、比較対象構成要素対群からアプリケーションの再配備を表す状態要素を生成する。比較ポリシ処理部130は、生成された状態要素を状態モデル情報に追記する。
 すなわち、比較ポリシ処理部130は、アプリケーション等が異なる配備先に再配備される場合に対応した適切な状態モデルを生成できる。手順計画部140は、生成された状態モデルを基に構成変更手順情報を生成できる。
 従って、本実施形態のシステム構成管理装置100は、構成部品の参照情報が変更された目的システム構成情報を入力として、異なる物理マシンまたは仮想マシン、クラウド基盤等の配備先へソフトウェアやファイル等を移動させる手順を導出できる。
 本実施形態のシステム構成管理装置100は、仮想マシンのマイグレーションのようなマシンの配備先を変更するための手順を簡易な入力情報を基に生成できる。また、システム構成管理装置100は、多くの種類の構成部品を扱うことができる。
 本実施形態のシステム構成管理装置100は、仮想マシンのマイグレーション等、配備先を変更する手順の導出に要する入力情報を簡素化できる。その理由は、識別子比較部120および比較ポリシ処理部130が、入力情報を基に手順探索に要する状態モデルを、構成要素情報データベース150に記憶されている情報を用いて自動的に生成できるからである。
 従って、本実施形態のシステム構成管理装置100を利用する運用管理者は、現在のシステム構成および目的のシステム構成を独立に生成した後、システム構成が変更される際にアプリケーションの配備先が変更されるか否かを意識せずに再配備手順を導出できる。
 以下、本実施形態のシステム構成管理装置100のハードウェア構成の具体例を説明する。図14は、本発明によるシステム構成管理装置のハードウェア構成例を示す説明図である。
 図14に示すシステム構成管理装置100は、CPU(Central Processing Unit )21と、主記憶部22と、補助記憶部23とを備える。また、ユーザが操作するための入力部24や、ユーザに処理結果または処理内容の経過を提示するための出力部25を備えてもよい。
 なお、図14に示すシステム構成管理装置100は、CPU21の代わりにDSP(Digital Signal Processor)を備えてもよい。または、図14に示すシステム構成管理装置100は、CPU21とDSPとを併せて備えてもよい。
 主記憶部22は、データの作業領域やデータの一時退避領域として用いられる。主記憶部22は、例えばRAM(Random Access Memory)である。
 補助記憶部23は、一時的でない有形の記憶媒体である。一時的でない有形の記憶媒体として、例えば磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory )、DVD-ROM(Digital Versatile Disk Read Only Memory )、半導体メモリが挙げられる。
 入力部24は、データや処理命令を入力する機能を有する。入力部24は、例えばキーボードやマウス等の入力デバイスである。
 出力部25は、データを出力する機能を有する。出力部25は、例えば液晶ディスプレイ装置等の表示装置、またはプリンタ等の印刷装置である。
 また、図14に示すように、システム構成管理装置100において、各構成要素は、システムバス26に接続されている。
 補助記憶部23は、例えば、構成要素算出部110、識別子比較部120、比較ポリシ処理部130、および手順計画部140を実現するためのプログラムを記憶している。
 なお、本実施形態のシステム構成管理装置100は、例えば、非一時的な記憶媒体に格納されているプログラムに従って処理を実行するCPU21によって実現されてもよい。すなわち、本実施形態のシステム構成管理装置100は、ソフトウェアにより実現されてもよい。
 ソフトウェアにより実現される場合、CPU21が補助記憶部23に格納されているプログラムを、主記憶部22にロードして実行し、システム構成管理装置100の動作を制御することによって、各機能がソフトウェアにより実現される。すなわち、構成要素算出部110、識別子比較部120、比較ポリシ処理部130、および手順計画部140は、例えば、プログラム制御に従って処理を実行するCPU21によって実現される。
 また、構成要素情報データベース150は、例えばRAMで実現されてもよい。
 また、各構成要素の一部または全部は、汎用の回路(circuitry )または専用の回路、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
 例えば、本実施形態のシステム構成管理装置100における各部は、ハードウェア回路によって実現されてもよい。一例として、構成要素算出部110、識別子比較部120、比較ポリシ処理部130、手順計画部140、および構成要素情報データベース150が、それぞれLSI(Large Scale Integration)で実現される。また、それらが1つのLSI で実現されていてもよい。
 各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
 次に、本発明の概要を説明する。図15は、本発明による変更手順生成装置の概要を示すブロック図である。本発明による変更手順生成装置10は、変更対象のシステムの変更される前の構成を示す情報である第1構成情報と変更対象のシステムの変更目的の構成を示す情報である第2構成情報とを入力とし、第1構成情報と第2構成情報の両方に含まれる変更対象のシステムの構成要素を第1構成情報と第2構成情報からそれぞれ抽出する抽出部11(例えば、識別子比較部120)と、抽出された2つの構成要素を基に所定の条件に従って2つの構成要素の各状態を表す状態要素を生成する生成部12(例えば、比較ポリシ処理部130)とを備える。
 そのような構成により、変更手順生成装置は、システム構成を変更するための手順を簡易な入力情報を基に生成できる。例えば、変更手順生成装置は、マシンの配備先を変更するための手順を生成できる。
 また、2つの構成要素は、所定の条件で指定された変数をそれぞれ有し、生成部12は、変数の値が異なる2つの構成要素を基に2つの状態要素を生成し、変数の値が同一である2つの構成要素を基に1つの状態要素を生成してもよい。
 そのような構成により、変更手順生成装置は、生成される状態要素の数をより少なくすることができる。
 また、抽出部11は、第1構成情報と第2構成情報のいずれかにのみ含まれる変更対象のシステムの構成要素を基に構成要素の状態を表す状態要素を生成してもよい。
 そのような構成により、変更手順生成装置は、各構成情報に含まれる全ての構成要素を基に状態要素を生成できる。
 また、変更手順生成装置10は、生成部12で生成された状態要素と抽出部11で生成された状態要素とで構成されたモデルである状態モデルを基に状態要素の状態を現在状態から目的状態へ遷移させる手順を計画する計画部(例えば、手順計画部140)を備えてもよい。
 そのような構成により、変更手順生成装置は、変更対象のシステムの構成を変更するための手順を導出できる。
 また、変更手順生成装置10は、第1構成情報と第2構成情報とを入力とし、第1構成情報に含まれる変更対象のシステムの構成要素の集合である第1構成要素群と第2構成情報に含まれる変更対象のシステムの構成要素の集合である第2構成要素群をそれぞれ算出する算出部(例えば、構成要素算出部110)を備え、算出部は、算出された第1構成要素群と算出された第2構成要素群とを抽出部11に入力してもよい。
 そのような構成により、変更手順生成装置は、同一の識別子を有する構成要素の対をより容易に抽出できる。
 また、変更手順生成装置10は、変更対象のシステムの構成要素に関する構成要素情報を記憶する記憶部(例えば、構成要素情報データベース150)を備え、算出部は、記憶されている構成要素情報に基づいて第1構成要素群と第2構成要素群をそれぞれ算出してもよい。
 そのような構成により、変更手順生成装置は、構成要素詳細情報および構成部品情報を基に構成要素群を算出できる。
 以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2017年6月14日に出願された日本特許出願2017-116729を基礎とする優先権を主張し、その開示の全てをここに取り込む。
産業上の利用の可能性
 本発明は、ミドルウェアおよびアプリケーションソフトウェアが現在の配備先と異なる配備先に再配備される際に実行されるコマンド、プログラム、およびスクリプト等の正しい実行順序を生成する用途に好適に適用される。
10 変更手順生成装置
11 抽出部
12 生成部
21 CPU
22 主記憶部
23 補助記憶部
24 入力部
25 出力部
26 システムバス
100 システム構成管理装置
110 構成要素算出部
120 識別子比較部
130 比較ポリシ処理部
140 手順計画部
150 構成要素情報データベース

Claims (10)

  1.  変更対象のシステムの変更される前の構成を示す情報である第1構成情報と前記変更対象のシステムの変更目的の構成を示す情報である第2構成情報とを入力とし、前記第1構成情報と前記第2構成情報の両方に含まれる前記変更対象のシステムの構成要素を前記第1構成情報と前記第2構成情報からそれぞれ抽出する抽出部と、
     抽出された2つの構成要素を基に所定の条件に従って前記2つの構成要素の各状態を表す状態要素を生成する生成部とを備える
     ことを特徴とする変更手順生成装置。
  2.  2つの構成要素は、所定の条件で指定された変数をそれぞれ有し、
     生成部は、前記変数の値が異なる2つの構成要素を基に2つの状態要素を生成し、前記変数の値が同一である2つの構成要素を基に1つの状態要素を生成する
     請求項1記載の変更手順生成装置。
  3.  抽出部は、第1構成情報と第2構成情報のいずれかにのみ含まれる変更対象のシステムの構成要素を基に前記構成要素の状態を表す状態要素を生成する
     請求項2記載の変更手順生成装置。
  4.  生成部で生成された状態要素と抽出部で生成された状態要素とで構成されたモデルである状態モデルを基に状態要素の状態を現在状態から目的状態へ遷移させる手順を計画する計画部を備える
     請求項3記載の変更手順生成装置。
  5.  第1構成情報と第2構成情報とを入力とし、前記第1構成情報に含まれる変更対象のシステムの構成要素の集合である第1構成要素群と前記第2構成情報に含まれる前記変更対象のシステムの構成要素の集合である第2構成要素群をそれぞれ算出する算出部を備え、
     前記算出部は、算出された第1構成要素群と算出された第2構成要素群とを抽出部に入力する
     請求項1から請求項4のうちのいずれか1項に記載の変更手順生成装置。
  6.  変更対象のシステムの構成要素に関する構成要素情報を記憶する記憶部を備え、
     算出部は、記憶されている構成要素情報に基づいて第1構成要素群と第2構成要素群をそれぞれ算出する
     請求項5記載の変更手順生成装置。
  7.  変更対象のシステムの変更される前の構成を示す情報である第1構成情報と前記変更対象のシステムの変更目的の構成を示す情報である第2構成情報とを入力とし、前記第1構成情報と前記第2構成情報の両方に含まれる前記変更対象のシステムの構成要素を前記第1構成情報と前記第2構成情報からそれぞれ抽出し、
     抽出された2つの構成要素を基に所定の条件に従って前記2つの構成要素の各状態を表す状態要素を生成する
     ことを特徴とする変更手順生成方法。
  8.  2つの構成要素は、所定の条件で指定された変数をそれぞれ有し、
     前記変数の値が異なる2つの構成要素を基に2つの状態要素を生成し、
     前記変数の値が同一である2つの構成要素を基に1つの状態要素を生成する
     請求項7記載の変更手順生成方法。
  9.  コンピュータに、
     変更対象のシステムの変更される前の構成を示す情報である第1構成情報と前記変更対象のシステムの変更目的の構成を示す情報である第2構成情報とを入力とし、前記第1構成情報と前記第2構成情報の両方に含まれる前記変更対象のシステムの構成要素を前記第1構成情報と前記第2構成情報からそれぞれ抽出する抽出処理、および
     抽出された2つの構成要素を基に所定の条件に従って前記2つの構成要素の各状態を表す状態要素を生成する生成処理
     を実行させるための変更手順生成プログラム。
  10.  2つの構成要素は、所定の条件で指定された変数をそれぞれ有し、
     コンピュータに、
     生成処理で、前記変数の値が異なる2つの構成要素を基に2つの状態要素を生成させ、前記変数の値が同一である2つの構成要素を基に1つの状態要素を生成させる
     請求項9記載の変更手順生成プログラム。
PCT/JP2018/021041 2017-06-14 2018-05-31 変更手順生成装置、変更手順生成方法および変更手順生成プログラム WO2018230352A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019525304A JP6766962B2 (ja) 2017-06-14 2018-05-31 変更手順生成装置、変更手順生成方法および変更手順生成プログラム
US16/620,945 US11429398B2 (en) 2017-06-14 2018-05-31 Change procedure generation device, change procedure generation method, and change procedure generation program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017116729 2017-06-14
JP2017-116729 2017-06-14

Publications (1)

Publication Number Publication Date
WO2018230352A1 true WO2018230352A1 (ja) 2018-12-20

Family

ID=64660951

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/021041 WO2018230352A1 (ja) 2017-06-14 2018-05-31 変更手順生成装置、変更手順生成方法および変更手順生成プログラム

Country Status (3)

Country Link
US (1) US11429398B2 (ja)
JP (1) JP6766962B2 (ja)
WO (1) WO2018230352A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023233451A1 (ja) * 2022-05-30 2023-12-07 日本電気株式会社 システム運用計画装置、表示装置、システム運用計画方法および記録媒体

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015215887A (ja) * 2014-05-09 2015-12-03 日本電気株式会社 変更管理システム、変更管理方法および変更管理プログラム
JP2016126693A (ja) * 2015-01-08 2016-07-11 富士通株式会社 制御手順方法、制御手順プログラム及び制御手順装置
WO2017033441A1 (ja) * 2015-08-27 2017-03-02 日本電気株式会社 システム構築支援システム、方法および記憶媒体

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6098098A (en) * 1997-11-14 2000-08-01 Enhanced Messaging Systems, Inc. System for managing the configuration of multiple computer devices
US6598069B1 (en) * 1999-09-28 2003-07-22 International Business Machines Corporation Method and apparatus for assigning resources to logical partition clusters
GB2374687A (en) * 2001-04-19 2002-10-23 Ibm Managing configuration changes in a data processing system
US9009698B2 (en) * 2002-10-15 2015-04-14 Rpx Corporation System and method for providing computer upgrade information
JP5305040B2 (ja) 2010-05-28 2013-10-02 株式会社日立製作所 サーバ計算機の切替方法、管理計算機及びプログラム
US20120109900A1 (en) * 2010-11-03 2012-05-03 Microsoft Corporation Marketization analysis
JP2014142678A (ja) * 2013-01-22 2014-08-07 Hitachi Ltd 仮想サーバ移行計画作成方法およびシステム
US9298847B1 (en) * 2013-12-20 2016-03-29 Emc Corporation Late bound, transactional configuration system and methods
US20150242284A1 (en) * 2014-02-25 2015-08-27 Ca, Inc. Two-algorithm sort during backup and recovery
JP2015191523A (ja) * 2014-03-28 2015-11-02 富士通株式会社 構成管理装置、構成管理システム、および構成管理プログラム
US10664350B2 (en) * 2016-12-14 2020-05-26 Vmware, Inc. Failure handling for lifecycle blueprint workflows
CN109214037B (zh) * 2017-06-29 2023-06-06 沃尔沃汽车公司 用于车辆平台验证的方法和***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015215887A (ja) * 2014-05-09 2015-12-03 日本電気株式会社 変更管理システム、変更管理方法および変更管理プログラム
JP2016126693A (ja) * 2015-01-08 2016-07-11 富士通株式会社 制御手順方法、制御手順プログラム及び制御手順装置
WO2017033441A1 (ja) * 2015-08-27 2017-03-02 日本電気株式会社 システム構築支援システム、方法および記憶媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KURODA, TAKAYUKI ET AL.: "Adding exchangeability of deployment agent to template-based provisioning", IPSJ SIG TECHNICAL REPORTS, vol. 2016-IOT-32, no. 25, 25 February 2016 (2016-02-25), pages 1 - 8, ISSN: 2188-8787 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023233451A1 (ja) * 2022-05-30 2023-12-07 日本電気株式会社 システム運用計画装置、表示装置、システム運用計画方法および記録媒体

Also Published As

Publication number Publication date
US11429398B2 (en) 2022-08-30
US20200210208A1 (en) 2020-07-02
JPWO2018230352A1 (ja) 2020-04-09
JP6766962B2 (ja) 2020-10-14

Similar Documents

Publication Publication Date Title
CN109286653B (zh) 智能云工程平台
CN108205463B (zh) 应用生命周期管理***
JP6291134B2 (ja) サーバ選択装置、サーバ選択方法及びサーバ選択プログラム
US11172022B2 (en) Migrating cloud resources
US10901804B2 (en) Apparatus and method to select services for executing a user program based on a code pattern included therein
JP6888295B2 (ja) プログラム、情報処理装置、および情報処理方法
US20180309630A1 (en) Automated constraint-based deployment of microservices to cloud-based server sets
US11385892B1 (en) Optimal software architecture recommendations by an application modernization service
JP5976946B2 (ja) 仮想マシンテストシステム、仮想マシンテスト方法
WO2015126411A1 (en) Migrating cloud resources
US10705895B2 (en) Device based automated tool integration for lifecycle management platform
WO2018230352A1 (ja) 変更手順生成装置、変更手順生成方法および変更手順生成プログラム
US20160212068A1 (en) Information processing system and method for controlling information processing system
US11403270B2 (en) System configuration derivation device, method, and program
US20210182165A1 (en) Distributed application resource determination based on performance metrics
US9736035B2 (en) Method and apparatus for providing information for selecting clouds
JP2014174609A (ja) ハードウェア構成見積システム、ハードウェア構成見積方法及びハードウェア構成見積プログラム
US20210311843A1 (en) System verification program generation device, system verification program generation method, and recording medium storing system verification program generation program
JP2014164545A (ja) デプロイメント方法およびプログラム
JP6705482B2 (ja) システム構築パラメータ管理装置、システム構築パラメータ管理システム、システム構築パラメータ管理方法、及び、システム構築パラメータ管理プログラム
WO2018221175A1 (ja) 半順序手順計画装置、半順序手順計画方法および半順序手順計画プログラム
JP6920501B1 (ja) 情報処理システム、プログラム、及び情報処理方法
US10180830B2 (en) Information processing device, deployment method, and recording medium
WO2018230298A1 (ja) 半順序手順生成装置、半順序手順生成方法および半順序手順生成プログラム
JP6385304B2 (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: 18817831

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019525304

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18817831

Country of ref document: EP

Kind code of ref document: A1