(57)【要約】  変更手順生成装置１０は、システムの構成要素の状態遷移と状態遷移が実行された後に構成要素が遷移する所定の状態との関係を表す事後状態制約が含まれる構成要素の状態間の関係を示す複数の状態間情報をシステムの構成要素間の関係ごとに記憶する記憶手段１１と、入力されたシステムの構成定義に含まれている構成要素間の関係に対応する状態間情報を用いて構成定義に構成要素の状態間の関係を付与する付与手段１２とを備える。
2018079224.tif 000002
【特許請求の範囲】
【請求項１】
システムの構成要素の状態遷移と前記状態遷移が実行された後に構成要素が遷移する所定の状態との関係を表す事後状態制約が含まれる構成要素の状態間の関係を示す複数の状態間情報をシステムの構成要素間の関係ごとに記憶する記憶手段と、
入力されたシステムの構成定義に含まれている構成要素間の関係に対応する状態間情報を用いて前記構成定義に構成要素の状態間の関係を付与する付与手段とを備える
ことを特徴とする変更手順生成装置。
【請求項２】
システムの構成定義に付与された事後状態制約をシステムの構成要素の所定の状態と前記構成要素が前記所定の状態に遷移した後に実行される状態遷移との関係を表す事前状態制約に変換する変換手段を備える
請求項１記載の変更手順生成装置。
【請求項３】
付与された事後状態制約が変換手段により変換されたシステムの構成定義を基に前記システムの構成変更が実現されるための変更手順を生成する生成手段を備える
請求項２記載の変更手順生成装置。
【請求項４】
変換手段は、事後状態制約を前記事後状態制約が示す状態遷移と所定の状態との間に追加される仮想的な状態と構成要素が前記仮想的な状態に遷移した後に実行される前記状態遷移との関係を表す事前状態制約に変換する
請求項２または請求項３記載の変更手順生成装置。
【請求項５】
変換手段は、事後状態制約が表す状態間の関係と前記事後状態制約が変換された事前状態制約が表す状態間の関係とが等しくなるようにシステムの構成定義に事前状態制約を追加する
請求項２から請求項４のうちのいずれか１項に記載の変更手順生成装置。
【請求項６】
状態間情報には、構成要素の状態間の関係の生成に用いられるルールが含まれ、
付与手段は、前記ルールを用いてシステムの構成定義に付与される構成要素の状態間の関係を生成する
請求項１から請求項５のうちのいずれか１項に記載の変更手順生成装置。
【請求項７】
システムの構成要素の状態遷移と前記状態遷移が実行された後に構成要素が遷移する所定の状態との関係を表す事後状態制約が含まれる構成要素の状態間の関係を示す複数の状態間情報をシステムの構成要素間の関係ごとに記憶し、
入力されたシステムの構成定義に含まれている構成要素間の関係に対応する状態間情報を用いて前記構成定義に構成要素の状態間の関係を付与する
ことを特徴とする変更手順生成方法。
【請求項８】
システムの構成定義に付与された事後状態制約をシステムの構成要素の所定の状態と前記構成要素が前記所定の状態に遷移した後に実行される状態遷移との関係を表す事前状態制約に変換する
請求項７記載の変更手順生成方法。
【請求項９】
コンピュータに、
システムの構成要素の状態遷移と前記状態遷移が実行された後に構成要素が遷移する所定の状態との関係を表す事後状態制約が含まれる構成要素の状態間の関係を示す複数の状態間情報をシステムの構成要素間の関係ごとに記憶する記憶処理、および
入力されたシステムの構成定義に含まれている構成要素間の関係に対応する状態間情報を用いて前記構成定義に構成要素の状態間の関係を付与する付与処理
を実行させるための変更手順生成プログラム。
【請求項１０】
コンピュータに、
システムの構成定義に付与された事後状態制約をシステムの構成要素の所定の状態と前記構成要素が前記所定の状態に遷移した後に実行される状態遷移との関係を表す事前状態制約に変換する変換処理を実行させる
請求項９記載の変更手順生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、変更手順生成装置、変更手順生成方法および変更手順生成プログラムに関する。
【背景技術】
【０００２】
変更管理の目的は、システムが変更される際に生じる変更対象のシステムの管理者の手間および変更作業者の手間と、変更対象のシステムの利用者に及ぶ影響を小さくすることである。【０００３】
変更対象のシステムが、例えば複数の部品で構成されるような複雑なシステムである場合、変更作業は複雑になる。変更作業が複雑になると、変更作業者の手間や、変更作業者の作業を監督する管理者の手間は増大する。すなわち、変更対象のシステムの利用者に及ぶ影響も増大する。【０００４】
特に、システムを構成する部品間に状態に関する制約（以下、状態制約という。）が存在する場合、各部品に対する変更作業の順序を考慮することが求められるため、変更作業が複雑になりやすい。部品間の状態制約は、例えば変更対象のシステムに部品Ａと部品Ｂが含まれる場合、部品Ａが正常に機能するためには部品Ｂが正常に機能することが求められるような、２つの要素間の関係である。【０００５】
上記の例の場合、部品Ａが正常に機能する条件は、事前に部品Ｂが正常に機能している状態であることになる。以下、上記の関係を事前状態制約と呼ぶ。部品Ａと部品Ｂとで構成されるシステムを構築する作業の手順には、最初に部品Ｂを構築し、次に部品Ａを構築するような順序性が求められる。【０００６】
さらに、部品に対する操作が別の部品に影響を及ぼす場合も、別の部品に及ぶ影響を踏まえた上で変更手順の順序性を考慮することが求められるため、変更作業が複雑になりやすい。【０００７】
例えば変更対象のシステムに部品Ｃと部品Ｄが含まれており部品Ｃが部品Ｄの上に配置されている場合、部品Ｄが交換される際には付随的に部品Ｃを移動させる手順を要することが考えられる。【０００８】
以下、上記の関係を事後状態制約と呼ぶ。その理由は、上記の関係は部品Ｄの交換に付随して事後的に部品Ｃの状態が変化することを表しているためである。【０００９】
上記のような事前状態制約および事後状態制約を考慮しつつ、システムの変更に要する作業の計画を自動的に作成するシステムを変更管理システムと呼ぶ。変更管理システムには、予め部品間の状態制約に関する情報、および部品に対する作業に関する情報が定義されている。【００１０】
上記の変更管理システムを用いることによって、管理者は、複雑な変更作業の実行に有効な作業手順を効率的に生成できる。また、作業者も、生成された有効な作業手順に従って、効率的に変更作業を実行できる。すなわち、変更管理システムが用いられると、変更対象のシステムの利用者に及ぶ影響も小さくなることが期待される。【００１１】
上記のような変更管理システムに関して、既に多くの関連研究や関連製品が知られている。例えば、特許文献１には、各部品の動作状態と動作状態間の事前状態制約を定義することによって変更作業の手順を生成する技術が記載されている。【００１２】
部品の状態と制約関係を状態遷移図で表現する手法では、一般的にシステムの設計情報と状態遷移図との相互変換の方法の選択が課題になる。特許文献２には、状態を有するモデルを容易に取り扱い可能な状態遷移図に効率的に変換する手法が記載されている。【００１３】
非特許文献１には、各部品の設定パラメータと設定行為の順序性が与えられると対象のシステムの設定変更を自動的に行う技術が記載されている。【００１４】
また、非特許文献２および非特許文献３には、システムの変更以外にシステムの構築にも用いられるライフサイクルフレームワークが規定されている。規定されているフレームワークでは、システムの変更手順が手動入力等の何らかの外部要因により与えられることが前提とされている。しかし、システム構成の管理と変更手順の導出を直接関連付けることは想定されていない。【００１５】
非特許文献４には、関連するAWS(Amazon Web Services(登録商標))リソースを予測可能な方法で予測および更新し、開発者やシステム管理者が容易にAWS リソースを作成および管理できる技術が記載されている。非特許文献４に記載されている技術を利用する利用者は、テンプレートを使用すること等によって、AWS リソースおよびAWS リソースのアプリケーションの実行に要する全ての依存関係や実行時のパラメータを記述できる。【００１６】
また、特許文献３には、２つ以上の変更手順間の整合性を確認し、不整合が確認された場合に正しいワークフローを提示する技術が記載されている。特許文献３に記載されている技術は、複数の異なる変更手順間に存在する競合を解決することを目的としており、単一の変更目的に対する変更手順の導出に寄与しない。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２０１５−２１５８８５号公報
【特許文献２】特開２０１５−２１５８８７号公報
【特許文献３】特許第５２２９２２３号公報
【非特許文献】
【００１８】
【非特許文献１】"An Overview of Chef" 、[online]、CHEF DOCUMENTS、[ 平成28年10月12日検索] 、インターネット<https://docs.chef.io/platform_overview.html>
【非特許文献２】"OASIS Topology and Orchestration Specification for Cloud Applications" 、[online]、OASIS 、[ 平成28年10月12日検索] 、インターネット<https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=tosca#overview>
【非特許文献３】"Network Functions Virtualisation (NFV); Management and Orchestration"、[online]、ETSI、[ 平成28年10月12日検索] 、インターネット<http://www.etsi.org/deliver/etsi_gs/NFV-MAN/001_099/001/01.01.01_60/gs_NFV-MAN001v010101p.pdf>
【非特許文献４】"AWS CloudFormation"、[online]、AWS 、[ 平成28年10月12日検索] 、インターネット<http://aws.amazon.com/cloudformation/>
【発明の概要】
【発明が解決しようとする課題】
【００１９】
特許文献１に記載されている技術および特許文献２に記載されている技術は、事前に定義された事前状態制約に基づいて、システムを利用者が要求する最終的な状態に変更するための手順を導出する技術である。しかし、特許文献１および特許文献２には、事後状態制約の扱い方に関して特に記載されていない。【００２０】
よって、利用者は、システム変更の際にしばしば定義することが求められる事後状態制約を特許文献１に記載されている技術または特許文献２に記載されている技術が適用された変更管理システムに入力できない。【００２１】
さらに、特許文献１に記載されている手順生成に関する技術および特許文献２に記載されている手順生成に関する技術は、事後状態制約を考慮する手順生成方法を用いて手順を計算しない。すなわち、特許文献１に記載されている技術および特許文献２に記載されている技術には、入力処理および計算処理の両方の部分において事後状態制約を扱う仕組みが不足している。【００２２】
また、非特許文献１に記載されている技術および非特許文献４に記載されている技術は、VM(Virtual Machine) とNIC(Network Interface Card) 間の関係等、具体的に指定された要素間の状態制約のみを扱う対象にする。すなわち、利用者は、非特許文献１に記載されている技術または非特許文献４に記載されている技術が適用された変更管理システムに任意の管理対象に関する状態制約を付与できない。【００２３】
また、非特許文献２に記載されている技術および非特許文献３に記載されている技術は、利用者が管理対象を適宜追加できる仕組みを有するが、状態制約が考慮された手順を生成する機能を有していない。【００２４】
すなわち、利用者には、非特許文献２に記載されている技術または非特許文献３に記載されている技術が適用された変更管理システムに手順そのものを手動で入力することが求められる。手動で変更手順が生成されるため、対応可能な変更パターンおよび変更量には上限がある。【００２５】
［発明の目的］
そこで、本発明は、上述した課題を解決する、任意の管理対象に関する事後状態制約が考慮されたシステム構成の変更手順を生成できる変更手順生成装置、変更手順生成方法および変更手順生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２６】
本発明による変更手順生成装置は、システムの構成要素の状態遷移と状態遷移が実行された後に構成要素が遷移する所定の状態との関係を表す事後状態制約が含まれる構成要素の状態間の関係を示す複数の状態間情報をシステムの構成要素間の関係ごとに記憶する記憶手段と、入力されたシステムの構成定義に含まれている構成要素間の関係に対応する状態間情報を用いて構成定義に構成要素の状態間の関係を付与する付与手段とを備えることを特徴とする。【００２７】
本発明による変更手順生成方法は、システムの構成要素の状態遷移と状態遷移が実行された後に構成要素が遷移する所定の状態との関係を表す事後状態制約が含まれる構成要素の状態間の関係を示す複数の状態間情報をシステムの構成要素間の関係ごとに記憶し、入力されたシステムの構成定義に含まれている構成要素間の関係に対応する状態間情報を用いて構成定義に構成要素の状態間の関係を付与することを特徴とする。【００２８】
本発明による変更手順生成プログラムは、コンピュータに、システムの構成要素の状態遷移と状態遷移が実行された後に構成要素が遷移する所定の状態との関係を表す事後状態制約が含まれる構成要素の状態間の関係を示す複数の状態間情報をシステムの構成要素間の関係ごとに記憶する記憶処理、および入力されたシステムの構成定義に含まれている構成要素間の関係に対応する状態間情報を用いて構成定義に構成要素の状態間の関係を付与する付与処理を実行させることを特徴とする。
【発明の効果】
【００２９】
本発明によれば、任意の管理対象に関する事後状態制約が考慮されたシステム構成の変更手順を生成できる。
【図面の簡単な説明】
【００３０】
【図１】本発明による変更手順生成装置１００の第１の実施形態の構成例を示すブロック図である。
【図２】入力装置２００に入力される入力情報の例を示す説明図である。
【図３】制約情報の生成に要する関係が定義されたタグの定義情報の例を示す説明図である。
【図４】状態制約生成部１３０が生成する状態制約の具体例を示す説明図である。
【図５】制約変換部１４０による事後状態制約の事前状態制約への変換処理の例を示す説明図である。
【図６】状態制約が付与されたシステム構成定義における事後状態制約の事前状態制約への変換例を示す説明図である。
【図７】手順生成部１５０に入力されるシステム構成定義と出力される変更手順の例を示す説明図である。
【図８】本実施形態の変更手順生成装置１００による変更手順生成処理の動作を示すフローチャートである。
【図９】本発明による変更手順生成装置１００の第１の実施形態の他の構成例を示すブロック図である。
【図１０】本発明による変更手順生成装置の概要を示すブロック図である。
【発明を実施するための形態】
【００３１】
＝＝第１の実施の形態＝＝
［構成の説明］
以下、本発明の実施形態を、図面を参照して説明する。図１は、本発明による変更手順生成装置１００の第１の実施形態の構成例を示すブロック図である。
【００３２】
図１に示すように、本実施形態の変更手順生成装置１００は、タグ管理部１１０と、構成入力部１２０と、状態制約生成部１３０と、制約変換部１４０と、手順生成部１５０とを備える。
【００３３】
また、図１に示すように、変更手順生成装置１００は、変更手順生成装置１００に情報を入力する入力装置２００と通信ネットワーク等を介して通信可能に接続されている。また、変更手順生成装置１００は、変更手順生成装置１００が生成した変更手順を出力する出力装置３００と通信ネットワーク等を介して通信可能に接続されている。
【００３４】
利用者は、変更手順の導出対象の構成変更で変更されるシステムがモデル化された構成要素群の定義であるシステム構成定義を示す情報を入力情報として入力装置２００に入力する。また、入力情報には、システムの構成変更の要件が反映されている。
【００３５】
タグ管理部１１０は、システム構成の要素間の関係を表すタグを管理する機能を有する。具体的には、タグ管理部１１０は、タグの定義情報を管理する。
【００３６】
構成入力部１２０は、入力装置２００から入力情報を受け取る機能を有する。構成入力部１２０は、受け取った入力情報を状態制約生成部１３０に渡す。
【００３７】
状態制約生成部１３０は、構成入力部１２０から受け取った入力情報とタグ管理部１１０で管理されているタグの定義情報を用いて状態制約を生成する機能を有する。状態制約生成部１３０は、生成された状態制約が付与されたシステム構成定義を制約変換部１４０に渡す。
【００３８】
制約変換部１４０は、受け取ったシステム構成定義に付与された状態制約を変換する機能を有する。制約変換部１４０は、付与された状態制約が変換されたシステム構成定義を手順生成部１５０に渡す。
【００３９】
手順生成部１５０は、受け取ったシステム構成定義を基にシステム構成の変更手順を生成する機能を有する。手順生成部１５０は、生成された変更手順を出力装置３００に入力する。
【００４０】
出力装置３００は、入力された変更手順を出力する機能を有する。出力装置３００は、例えば液晶ディスプレイ装置等の表示装置、またはプリンタ等の印刷装置である。
【００４１】
本実施形態の入力情報は、変更手順の導出対象の構成変更で変更されるシステムがモデル化された構成要素群を示す。個々の構成要素は、要素自体が取り得る状態を内包する。システム構成変更は、個々の構成要素の現在の状態および変更後の状態が、要素自体が取り得る状態とそれぞれ対応付けられることによって定義される。
【００４２】
図２は、入力装置２００に入力される入力情報の例を示す説明図である。図２に示す入力情報には、仮想マシンを表す要素と、アプリケーションを表す要素とが含まれる。図２に示す入力情報内の矩形が要素を表す。また、「VM」と記載された要素が仮想マシンを表し、「Application 」と記載された要素がアプリケーションを表す。
【００４３】
また、図２に示す要素内の楕円が、要素自体が取り得る状態を表す。楕円内の文字が、状態の名称である。また、状態間の矢印は、要素が実行可能な状態遷移を表す。すなわち、図２に示す各要素は、取り得る状態として状態"f" および状態"t" を有する。状態"f" は、要素が存在しない状態である。また、状態"t" は、要素が配備された状態である。
【００４４】
また、図２に示すように、二重線の楕円は、要素の現在の状態を表す。また、黒色の楕円は、要素の変更後の状態を表す。すなわち、図２に示す２つの要素の現在の状態は、共に状態"t" である。また、図２に示す２つの要素の変更後の状態は、共に状態"f" である。
【００４５】
図２に示す各要素の状態を変更するためには、対向要素の状態制約を満たすことが求められる。なお、対向要素は、要素に対するもう１つの要素である。具体的には、要素"Application" の対向要素は、要素"VM"である。また、要素"VM"の対向要素は、要素"Application" である。
【００４６】
変更手順を導出するためには、対向要素の状態制約を考慮することが求められる。しかし、図２に示す入力情報には状態制約に関する具体的な情報が含まれていない。具体的な情報の代わりに、図２に示す入力情報には、タグ「包含」が付与されている。
【００４７】
利用者は、タグ管理部１１０で管理されているタグのセットの中から変更されるシステムを構成する要素間の関係を表すタグを選択する。次いで、利用者は、選択されたタグの識別子をシステムの構成要素と合わせることによって入力情報を生成する。
【００４８】
利用者は、入力装置２００を介して生成された入力情報を変更手順生成装置１００に与える。図２に示す入力情報では、アプリケーションが仮想マシンにおいて動作するという関係がタグ「包含」で表現されている。
【００４９】
すなわち、タグ「包含」は、一方の要素がもう一方の要素に依存する関係を表す。図２に示すタグ「包含」は、要素"VM"が要素"Application" を包含している、すなわち要素"Application" が要素"VM"に依存している関係を表す。
【００５０】
なお、本実施形態のタグは図２に示す例に限定されない。本実施形態のタグの種類には「包含」の他に、共有リソースと共有リソースを一時的に占有する要素との関係を表す「割当」がある。タグ「割当」は、例えばIP(Internet Protocol) アドレスとIPアドレスが一時的に割り当てられる仮想マシンとの関係を表現できる。
【００５１】
また、本実施形態のタグの種類には他に、グループ内で常に１つの要素のみが有効になるという関係を表す「排他」がある。タグ「排他」は、例えばVRRP(Virtual Router Redundancy Protocol)の同一グループ内のルータ群と、ルータ群の中で唯一有効な代表ルータとの関係を表現できる。
【００５２】
本実施形態のタグは、上記の例以外にも様々な関係を表現できる。また、各タグの表現対象の要素は、仮想マシンやアプリケーション等の具体的な要素に限定されない。各タグは、様々な要素間の関係を表現できる。
【００５３】
また、図２に示す入力情報に付与されているタグは、利用者により付与されなくてもよい。例えば、構成入力部１２０が入力情報に含まれる要素間の関係を識別し、識別された関係を表すタグを入力情報に付与してもよい。
【００５４】
図３は、制約情報の生成に要する関係が定義されたタグの定義情報の例を示す説明図である。タグの定義情報には、タグが一意に識別される識別子と、制約情報の生成に利用される制約生成式とが含まれる。
【００５５】
図３に示す識別子は「包含」である。すなわち、図３は、図２に示すタグ「包含」の定義情報を示す。
【００５６】
制約生成式は、タグと関連付けられた要素に付与される具体的な状態制約が規定された数式である。図３に示す制約生成式は、取り得る状態として状態"f" と状態"t" の２つの状態を有する要素Ａおよび要素Ｂの２つの要素が含まれるシステム構成に適用される。
【００５７】
図３（ａ）は、要素Ａと要素Ｂの各構成を示す。なお、図３（ａ）に示す状態"ta"は、要素Ａの状態"t" である。また、状態"fa"は、要素Ａの状態"f" である。要素Ｂの各状態に関しても同様である。
【００５８】
図３に示す事前状態制約Cpre=[Tat,tb] は、状態遷移"Tat" が実行されるためには、すなわち要素Ａが状態"t" に遷移するためには、事前に状態"tb"であること、すなわち要素Ｂが状態"t" であることを要する関係を表現している。
【００５９】
また、図３に示す事後状態制約Cpos=[Tbf,fa] は、状態遷移"Tbf" が実行されると、すなわち要素Ｂが状態"f" に遷移すると、事後的に状態"fa"に遷移すること、すなわち要素Ａが状態"f" に遷移する関係を表現している。
【００６０】
図３（ｂ）は、上記の各関係が反映された要素Ａと要素Ｂの各構成を示す。図３（ｂ）に示すように、事前状態制約が状態遷移"Tat" から状態"tb"に対して指定されている。また、事後状態制約が状態遷移"Tbf" から状態"fa"に対して指定されている。
【００６１】
状態制約生成部１３０は、図２に示すような入力情報を構成入力部１２０から受け取ると、入力情報に記述されたタグの識別子に対応する図３に示すようなタグの定義情報をタグ管理部１１０から取得する。状態制約生成部１３０は、取得された入力情報とタグの定義情報を用いて具体的な状態制約を生成する。
【００６２】
図４は、状態制約生成部１３０が生成する状態制約の具体例を示す説明図である。図４に示す状態制約は、図２に示す入力情報と、図３に示すタグの定義情報が与えられた場合に状態制約生成部１３０が生成する状態制約である。
【００６３】
図２に示す入力情報を参照すると、状態制約生成部１３０は、包含要素が要素"VM"、被包含要素が要素"Application" であることが分かる。よって、状態制約生成部１３０は、タグの定義情報における要素Ａが要素"Application" 、要素Ｂが要素"VM"にそれぞれ対応することが分かる。
【００６４】
状態制約生成部１３０は、図３に示すタグの定義情報における制約生成式を、要素"VM"と要素"Application" の２つの要素に適用できる。適用することによって、状態制約生成部１３０は、図４に示す要素"Application" が状態"f" から状態"t" に遷移するためには要素"VM"が状態"t" であることを要するという事前状態制約を生成する。
【００６５】
次に、状態制約生成部１３０は、図４に示す要素"VM"が状態"t" から状態"f" に遷移した後に要素"Application" は状態"t" であれば状態"f" に遷移するという事後状態制約を生成する。状態制約生成部１３０は、具体的な状態制約が付与されたシステム構成定義を制約変換部１４０に渡す。
【００６６】
本実施形態の制約変換部１４０は、渡されたシステム構成定義に付与された事後状態制約を事前状態制約に変換する。図５は、制約変換部１４０による事後状態制約の事前状態制約への変換処理の例を示す説明図である。
【００６７】
図５（ａ）は、事後状態制約が付与されたシステム構成定義を示す。図５（ａ）に示す事後状態制約[Tbf,fa]は、状態遷移"Tbf" が実行されると要素Ａが状態"fa"に遷移することを表す。
【００６８】
図５（ａ）に示す事後状態制約を事前状態制約に変換するために、制約変換部１４０は、図５（ｂ）に示すように最初に要素Ａに新たな状態である状態"sa"を追加する。状態"sa"は、状態"ta"からのみ遷移可能な状態である。かつ、状態"sa"は、状態"fa"へのみ遷移可能な状態である。
【００６９】
また、図５（ｂ）に示す状態遷移"Tats"自体は、要素Ａの具体的な状態を何ら変更する状態遷移ではない。すなわち、利用者は、状態"sa"自体を遷移後の状態として要素Ａに入力しない。同様に、図５（ｂ）に示す状態遷移"Tasf"も、要素Ａの具体的な状態を何ら変更する状態遷移ではない。
【００７０】
すなわち、状態"sa"は、一連の変更作業の途中でのみ要素Ａが遷移し得る状態である。状態"sa"に遷移した要素Ａは、必ず状態"fa"に遷移する。すなわち、状態"sa"は、要素Ａの状態が事後的に状態"fa"に遷移することを表している。
【００７１】
また、手順生成部１５０が後で手順を生成する時に状態"sa"を経て状態"fa"に遷移する経路と直接状態"fa"に遷移する経路を選択できるように、制約変換部１４０は、各経路に対して重み付けを行う。
【００７２】
各経路に付される重みの値は、直接状態"fa"に遷移する経路より状態"sa"を経て状態"fa"に遷移する経路の方が小さくなるように適宜設定される。すなわち、状態"sa"を経て状態"fa"に遷移する経路の方が選択肢として好ましいため、選択された時のコストが小さくなるように重みの値が設定される。
【００７３】
制約変換部１４０は、事後状態制約[Tbf,fa]を新たに追加された状態"sa"が利用された事前状態制約[Tbf,sa]に差し替えることによって、事後状態制約を事前状態制約に変換する。
【００７４】
加えて、状態遷移"Tbf" が実行された後、すなわち要素Ｂが状態"f" に遷移した後、状態遷移"Tasf"が実行されるように、制約変換部１４０は、事前状態制約[Tasf,fb] もシステム構成定義に追加する。図５（ｂ）は、変換された事前状態制約が付与されたシステム構成定義を示す。
【００７５】
基本的な事後状態制約の変換方法は上述した通りであるが、要素間の関係を表すタグの種類に応じて状態制約の調整がさらに求められる場合を以下に説明する。
【００７６】
図６は、状態制約が付与されたシステム構成定義における事後状態制約の事前状態制約への変換例を示す説明図である。図６（ａ）は、図４に示す状態制約が付与された要素"Application" と要素"VM"が含まれるシステム構成を示す。
【００７７】
図６（ｂ）は、制約変換部１４０により付与された事後状態制約が事前状態制約に変換されたシステム構成を示す。図６（ｂ）を参照すると、図５に示す基本の変換処理により状態"sa"が追加され、事前状態制約[Tbf,sa]が生成されている。さらに、タグ「包含」固有の状態制約として事前状態制約[Tbf,fa]が追加されている。
【００７８】
１つの状態遷移に複数の事前状態制約が課されている場合、複数の事前状態制約の論理和（ＯＲ）がとられる。すなわち、課されている複数の事前状態制約のうちいずれか１つの事前状態制約が満たされていれば、状態遷移は実行される。
【００７９】
図６（ｂ）に示すように、同一の状態遷移"Tbf" に事前状態制約[Tbf,sa]と事前状態制約[Tbf,fa]の２つの状態制約が課されている。上記のように、本実施形態ではどちらか１つの事前状態制約が満たされていれば、状態遷移"Tbf" に課されている状態制約は満たされているとみなされる。
【００８０】
上記の２つの事前状態制約は、状態遷移"Tbf" が実行される際、すなわち要素"VM"が削除される際には、状態"fa"であるか状態"sa"であることを要することを表している。すなわち、要素"Application" が削除済みであるか、要素"Application" が必ず削除される状態であることを要することを表している。
【００８１】
事前状態制約[Tbf,fa]が追加される理由は、要素"Application" が削除済みであり問題なく要素"VM"が削除される状態であっても状態"sa"を経由する手順が導出されてしまうことを防止するためである。
【００８２】
制約変換部１４０は、上記のようなタグに固有の状態制約の調整ルールも管理している。制約変換部１４０は、図５に示す基本的な変換処理と、図６に示すタグに固有の変換処理とを併せて実行する。制約変換部１４０は、生成された事前状態制約のみが付与されたシステム構成定義を手順生成部１５０に渡す。
【００８３】
手順生成部１５０は、渡されたシステム構成定義を基にシステム構成の変更手順を計算する。手順生成部１５０が変更手順の計算に用いる手順計算方法は、特許文献１に記載されている方法等である。
【００８４】
手順生成部１５０は、システム構成の変更手順の生成問題を一般的な有向グラフに対する最短経路問題とみなすことによって求解できる。手順生成部１５０は、ダイクストラ法等の最短経路問題を解くための既存のアルゴリズムを用いて手順を計算する。手順生成部１５０が求解に用いるアルゴリズムは、最短経路問題を解くためのアルゴリズムであれば、特許文献１に記載されているアルゴリズム以外の任意のアルゴリズムでもよい。
【００８５】
手順生成部１５０は、生成された変更手順を出力装置３００に入力する。図７は、手順生成部１５０に入力されるシステム構成定義と出力される変更手順の例を示す説明図である。
【００８６】
図７（ａ）は、手順生成部１５０に入力されるシステム構成定義の例を示す。図７（ａ）に示すシステム構成定義は、図２に示す入力情報に対するシステム構成定義である。図７（ａ）に示すシステム構成定義は、図４に示すシステム構成定義に対して図６に示す事後状態制約の変換処理が行われた後のシステム構成定義である。
【００８７】
図７（ｂ）は、手順生成部１５０が生成する変更手順の例を示す。図７（ｂ）に示す変更手順は、要素"Application" を状態"ta"から状態"sa"へ遷移させる手順と、要素"VM"を状態"tb"から状態"fb"へ遷移させる手順と、要素"Application" を状態"sa"から状態"fa"へ遷移させる手順とで構成されている。
【００８８】
状態制約生成部１３０および制約変換部１４０で付与された状態制約に基づいて、手順生成部１５０は、上記のように要素"VM"と要素"Application" を削除するための手順を導出する。要素"VM"が先に削除されるため、要素"Application" に関して要素"Application" が直接削除される状態遷移"Taf" が実行される削除手順ではなく、状態"sa"が経由されることによって事後的に状態遷移"Tasf"が実行される受動的な削除手順が導出されている。
【００８９】
［動作の説明］
以下、本実施形態の変更手順生成装置１００の動作を図８を参照して説明する。図８は、本実施形態の変更手順生成装置１００による変更手順生成処理の動作を示すフローチャートである。
【００９０】
利用者は、変更手順生成装置１００のタグ管理部１１０に構成要素間の関係の類型ごとに、例えば事前状態制約を生成する式、および事後状態制約を生成する式を事前にそれぞれ登録する。
【００９１】
利用者は、構成要素群の定義が含まれる入力情報を入力装置２００に入力する（ステップS101）。入力装置２００は、入力された入力情報を構成入力部１２０に受け渡す（ステップS102）。
【００９２】
次いで、構成入力部１２０は、入力装置２００から受け渡された入力情報を状態制約生成部１３０に受け渡す（ステップS103）。次いで、状態制約生成部１３０は、構成入力部１２０から受け渡された入力情報が示すシステム構成定義に与えられているタグの識別子に対応するタグの定義情報をタグ管理部１１０から取得する（ステップS104）。
【００９３】
次いで、状態制約生成部１３０は、入力情報と取得されたタグの定義情報を用いてシステム構成定義に付与される状態制約を生成する（ステップS105）。状態制約生成部１３０は、状態制約が付与されたシステム構成定義を制約変換部１４０に渡す。
【００９４】
次いで、制約変換部１４０は、構成要素への状態の追加および制約条件の再設定を実行することによって、渡されたシステム構成定義に付与された状態制約のうち事後状態制約を事前状態制約に変換する（ステップS106）。制約変換部１４０は、事後状態制約が変換されることによって手順生成可能な定義に変換されたシステム構成定義を手順生成部１５０に渡す。
【００９５】
次いで、手順生成部１５０は、渡されたシステム構成定義内の変更要件に従って変更手順を生成する（ステップS107）。手順生成部１５０は、生成された変更手順を出力装置３００に入力する。
【００９６】
次いで、出力装置３００は、入力された変更手順を出力する（ステップS108）。変更手順が出力された後、変更手順生成装置１００は、変更手順生成処理を終了する。
【００９７】
以上の変更手順生成処理を実行する場合、変更手順生成装置１００は、システムの構成要素の状態遷移が実行された後で他の構成要素の状態に影響を及ぼす状態を含む構成要素群に対して、状態制約が満たされる変更計画を作成できる。
【００９８】
［効果の説明］
本実施形態の変更手順生成装置１００は、事前に定義されかつ具体的な対象に限定されない要素間の関係を利用者が任意に定義した要素間の関係を表すタグに割り当てることによって、事後状態制約が含まれる要素間の状態制約を生成する。さらに、変更手順生成装置１００は、事後状態制約を事前状態制約に変換し、システム構成の変更手順を生成する。
【００９９】
タグの定義情報には、そのタグに結び付けられた要素の各状態間の関係（状態制約）に関する情報が保有される。利用者が特定の仮想マシンやアプリケーション等の具体的な要素をタグに割り当てることによって、変更手順生成装置１００の状態制約生成部１３０は、状態間の具体的な関係を生成する。
【０１００】
事後状態制約を事前状態制約に変換する際、制約変換部１４０は、事後的に所定の状態に遷移する仮想的な状態を追加し、追加された状態に事前状態制約を設定する。さらに、制約変換部１４０は、追加された事前状態制約と設定済みの事前状態制約との間で整合性が保たれるように、タグの種類に応じた状態制約の調整を行う。
【０１０１】
本実施形態の変更手順生成装置１００は、利用者が任意に指定した複数の要素に関して、要素間の関係を容易に入力可能なタグで表現することによって、事後状態制約が含まれる状態制約を生成できる。また、変更手順生成装置１００は、事前状態制約のみが処理対象である手順計算方法を用いて、生成された事後状態制約が含まれる要素群の更新手順を導出できる。
【０１０２】
本実施形態の変更手順生成装置を利用する利用者は、システム構成の変更要件が反映されたシステム構成定義とシステム構成定義内の要素間の関係を表すタグを指定するだけで、システムの変更要件に応じた変更手順を生成できる。
【０１０３】
なお図９に示すように、本実施形態の変更手順生成装置１００は、手順生成部１５０を備えなくてもよい。図９は、本発明による変更手順生成装置１００の第１の実施形態の他の構成例を示すブロック図である。
【０１０４】
図９に示す変更手順生成装置１００は、システム構成定義に対して状態制約の付与および補完のみを行い、手順生成処理を行わない。すなわち、図９に示す変更手順生成装置１００の制約変換部１４０は、事後状態制約が変換されたシステム構成定義をそのまま外部装置３１０に入力する。
【０１０５】
外部装置３１０は、例えば、事前状態制約のみを扱うことができる手順導出装置である。すなわち、図９に示す変更手順生成装置１００は、生成されたシステム構成定義を他の手順導出装置に入力する装置である。
【０１０６】
図９に示す変更手順生成装置１００を利用する利用者は、システム構成の変更要件が反映されたシステム構成定義とシステム構成定義内の要素間の関係を表すタグを指定するだけで、事前状態制約のみを扱うことができる他の手順導出装置に、事後状態制約が考慮された手順を導出できるシステム構成定義を与えることができる。
【０１０７】
なお、本実施形態の変更手順生成装置１００は、例えば、記憶媒体に格納されているプログラムに従って処理を実行するCPU(Central Processing Unit)によって実現される。すなわちタグ管理部１１０、構成入力部１２０、状態制約生成部１３０、制約変換部１４０、および手順生成部１５０は、例えば、プログラム制御に従って処理を実行するCPU によって実現される。
【０１０８】
また、本実施形態の変更手順生成装置１００における各部は、ハードウェア回路によって実現されてもよい。一例として、タグ管理部１１０、構成入力部１２０、状態制約生成部１３０、制約変換部１４０、および手順生成部１５０が、それぞれLSI(Large Scale Integration)で実現される。また、それらが１つのLSI で実現されていてもよい。
【０１０９】
次に、本発明の概要を説明する。図１０は、本発明による変更手順生成装置の概要を示すブロック図である。本発明による変更手順生成装置１０は、システムの構成要素の状態遷移と状態遷移が実行された後に構成要素が遷移する所定の状態との関係を表す事後状態制約が含まれる構成要素の状態間の関係を示す複数の状態間情報（例えば、タグの定義情報）をシステムの構成要素間の関係ごとに記憶する記憶手段１１（例えば、タグ管理部１１０）と、入力されたシステムの構成定義に含まれている構成要素間の関係に対応する状態間情報を用いて構成定義に構成要素の状態間の関係を付与する付与手段１２（例えば、状態制約生成部１３０）とを備える。
【０１１０】
そのような構成により、変更手順生成装置は、任意の管理対象に関する事後状態制約が考慮されたシステム構成の変更手順を生成できる。
【０１１１】
また、変更手順生成装置１０は、システムの構成定義に付与された事後状態制約をシステムの構成要素の所定の状態と構成要素が所定の状態に遷移した後に実行される状態遷移との関係を表す事前状態制約に変換する変換手段（例えば、制約変換部１４０）を備えてもよい。
【０１１２】
そのような構成により、変更手順生成装置は、事前状態制約のみを処理できる手順計算方法を用いてシステム構成の変更手順を生成できる。
【０１１３】
また、変更手順生成装置１０は、付与された事後状態制約が変換手段により変換されたシステムの構成定義を基にシステムの構成変更が実現されるための変更手順を生成する生成手段（例えば、手順生成部１５０）を備えてもよい。
【０１１４】
そのような構成により、変更手順生成装置は、事前状態制約および事後状態制約が考慮されたシステム構成の変更手順を生成できる。
【０１１５】
また、変換手段は、事後状態制約を事後状態制約が示す状態遷移と所定の状態との間に追加される仮想的な状態と構成要素が仮想的な状態に遷移した後に実行される状態遷移との関係を表す事前状態制約に変換してもよい。
【０１１６】
そのような構成により、変更手順生成装置は、システムの構成定義が示す構成要素を変更せずに事後状態制約を事前状態制約に変換できる。
【０１１７】
また、変換手段は、事後状態制約が表す状態間の関係と事後状態制約が変換された事前状態制約が表す状態間の関係とが等しくなるようにシステムの構成定義に事前状態制約を追加してもよい。
【０１１８】
そのような構成により、変更手順生成装置は、無駄な手順が含まれていないシステム構成の変更手順を生成できる。
【０１１９】
また、状態間情報には、構成要素の状態間の関係の生成に用いられるルールが含まれ、付与手段１２は、ルールを用いてシステムの構成定義に付与される構成要素の状態間の関係を生成してもよい。
【０１２０】
そのような構成により、変更手順生成装置は、より多くの種類のシステムの構成変更に対応できる。
【０１２１】
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１２２】
この出願は、２０１６年１０月２６日に出願された日本特許出願２０１６−２０９４９０を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用の可能性】
【０１２３】
本発明は、変更や更新を自動的に行うシステム構成管理ツールに好適に適用される。また、本発明は、アプリケーションやサーバ等のシステム構成要素が組み合わせられるだけでシステム構成要素の動作に要するデプロイ操作を確定させデプロイを行うツール製品の応用例にも好適に適用される。
【符号の説明】
【０１２４】
１０、１００  変更手順生成装置
１１  記憶手段
１２  付与手段
１１０  タグ管理部
１２０  構成入力部
１３０  状態制約生成部
１４０  制約変換部
１５０  手順生成部
２００  入力装置
３００  出力装置
３１０  外部装置
【図１】
2018079224.tif 000003
【図２】
2018079224.tif 000004
【図３】
2018079224.tif 000005
【図４】
2018079224.tif 000006
【図５】
2018079224.tif 000007
【図６】
2018079224.tif 000008
【図７】
2018079224.tif 000009
【図８】
2018079224.tif 000010
【図９】
2018079224.tif 000011
【図１０】
2018079224.tif 000012
【国際調査報告】
2018079224.tif 000013
2018079224.tif 000014
2018079224.tif 000015