(57)【要約】変更要求を表す状態要素における現在状態の再定義先の状態を判別できる状態管理システムを提供する。本発明の一態様に係る状態管理システム１０は、変更前のシステムの第１設定値が設定されている構成要素の状態を表す第１状態要素と変更後のシステムの第２設定値が設定されている構成要素の状態を表す第２状態要素とに基づいて第１状態要素から第２状態要素への変更要求を表す状態要素を生成する生成部１１を備え、第１状態要素が示す現在状態は、第２状態要素が示す現在状態であり、生成部１１は、現在状態が要求状態であり、第１設定値と第２設定値との差異に応じた状態が現在状態であり、第２設定値が変更後の設定値であることを示す変更要求を表す状態要素を生成することを特徴とする。
2017150434.tif 000002
【特許請求の範囲】
【請求項１】
変更前のシステムの第１設定値が設定されている構成要素の状態を表す第１状態要素と変更後の前記システムの第２設定値が設定されている前記構成要素の状態を表す第２状態要素とに基づいて前記第１状態要素から前記第２状態要素への変更要求を表す状態要素を生成する生成手段を備え、
前記第１状態要素が示す現在状態は、前記第２状態要素が示す現在状態であり、
前記生成手段は、前記現在状態が要求状態であり、前記第１設定値と前記第２設定値との差異に応じた状態が前記現在状態であり、前記第２設定値が変更後の設定値であることを示す前記変更要求を表す前記状態要素を生成する
ことを特徴とする状態管理システム。
【請求項２】
前記状態要素に関する固定的な情報を示す状態要素型を記憶する記憶手段を備え、
前記生成手段は、前記第１状態要素および前記第２状態要素に対応する前記状態要素型を前記記憶手段から抽出し、抽出された前記状態要素型が示す前記第１設定値と前記第２設定値との差異と状態との対応関係に基づいて前記変更要求を表す前記状態要素を生成する
請求項１記載の状態管理システム。
【請求項３】
前記記憶手段は、前記状態要素を記憶し、
前記生成手段は、入力された前記第２状態要素に対応する前記第１状態要素を前記記憶手段から抽出し、抽出された前記第１状態要素と前記第２状態要素とに基づいて前記変更要求を表す前記状態要素を生成する
請求項２記載の状態管理システム。
【請求項４】
前記生成手段は、生成された前記変更要求を表す前記状態要素を、変更手順を生成する手順生成手段に入力する
請求項１から請求項３のうちのいずれか１項に記載の状態管理システム。
【請求項５】
変更前のシステムの第１設定値が設定されている構成要素の状態を表す第１状態要素と変更後の前記システムの第２設定値が設定されている前記構成要素の状態を表す第２状態要素とに基づいて前記第１状態要素から前記第２状態要素への変更要求を表す状態要素を生成し、
前記第１状態要素が示す現在状態は、前記第２状態要素が示す現在状態であり、
前期状態要素の生成において、前記現在状態が要求状態であり、前記第１設定値と前記第２設定値との差異に応じた状態が前記現在状態であり、前記第２設定値が変更後の設定値であることを示す前記変更要求を表す前記状態要素を生成する
ことを特徴とする状態管理方法。
【請求項６】
記憶されている、前記状態要素に関する固定的な情報を示す状態要素型のうち、前記第１状態要素および前記第２状態要素に対応する前記状態要素型を抽出し、
抽出された前記状態要素型が示す前記第１設定値と前記第２設定値との差異と状態との対応関係に基づいて前記変更要求を表す前記状態要素を生成する
請求項５記載の状態管理方法。
【請求項７】
記憶されている前記状態要素のうち入力された前記第２状態要素に対応する前記第１状態要素を抽出し、
抽出された前記第１状態要素と前記第２状態要素とに基づいて前記変更要求を表す前記状態要素を生成する
請求項５または請求項６記載の状態管理方法。
【請求項８】
コンピュータに、
変更前のシステムの第１設定値が設定されている構成要素の状態を表す第１状態要素と変更後の前記システムの第２設定値が設定されている前記構成要素の状態を表す第２状態要素とに基づいて前記第１状態要素から前記第２状態要素への変更要求を表す状態要素を生成する生成処理を実行させ、
前記第１状態要素が示す現在状態は、前記第２状態要素が示す現在状態であり、
前記生成処理は、前記現在状態が要求状態であり、前記第１設定値と前記第２設定値との差異に応じた状態が前記現在状態であり、前記第２設定値が変更後の設定値であることを示す前記変更要求を表す前記状態要素を生成する
状態管理プログラムを記憶する記憶媒体。
【請求項９】
前記生成処理は、記憶されている、前記状態要素に関する固定的な情報を示す状態要素型のうち、前記第１状態要素および前記第２状態要素に対応する前記状態要素型を抽出し、抽出された前記状態要素型が示す前記第１設定値と前記第２設定値との差異と状態との対応関係に基づいて前記変更要求を表す前記状態要素を生成する
前記状態管理プログラムを記憶する請求項８記載の記憶媒体。
【請求項１０】
前記生成処理は、記憶されている前記状態要素のうち入力された前記第２状態要素に対応する前記第１状態要素を抽出し、抽出された前記第１状態要素と前記第２状態要素とに基づいて前記変更要求を表す前記状態要素を生成する
前記状態管理プログラムを記憶する請求項８または請求項９記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、状態管理システム、状態管理方法および状態管理プログラムを記憶する記憶媒体に関する。
【背景技術】
【０００２】
システムが変更される際、システムの管理者は、システムを構成する部品の状態が、要求された状態に変更される、変更手順書を作成する。変更作業者は、作成された変更手順書に従って、変更作業を実行する。変更作業が実行されることによって、システムが変更される。【０００３】
全ての変更作業が正しく完了されるためには、各変更作業が正しい順序で実行されることが求められる。変更作業の正しい順序は、システムを構成する部品の特性や部品の組み合わせに依存する。変更手順書を作成するにあたって、管理者には、変更対象のシステムおよびシステムを構成する部品に関する多様な知識が求められる。すなわち、変更手順書の作成には、高度な専門技術と多くの時間を要する。【０００４】
上記のような部品の状態を変更する要件は、例えば状態要素および状態要素間に存在する依存関係で形式的に表現される。【０００５】
状態要素は、システムを構成する１つの部品を表す情報である。状態要素は、部品の状態や部品の状態を変更する方法に関する情報を示す。状態要素には、例えば、状態要素のid（identification）、状態要素の属性値、状態要素の取り得る状態、状態間で実行される状態遷移、現在状態、および要求状態が含まれる。【０００６】
図２５は、状態要素の例を示す説明図である。図２５に示すように、本明細書に添付される図面において状態要素は角丸四角形で表される。【０００７】
また、状態要素の図において、角丸四角形の左上の矩形内の文字が、状態要素のidを表す。図２５に示す状態要素のidは、”e”である。【０００８】
また、状態要素の図において、角丸四角形の右上の矩形内の文字が、状態要素に設定される設定値を表す。図２５に示す状態要素”e”に設定されている設定値は、”P”である。【０００９】
また、状態要素の図において、角丸四角形内の楕円が状態要素の取り得る状態を表し、楕円内の文字が状態名を表す。図２５に示す状態要素”e”は、状態”s1”、状態”s2”、及び、状態”s3”のいずれかの状態を取り得る。【００１０】
また、状態要素の図において、二重線の楕円は現在状態を表し、黒色の楕円は要求状態を表す。図２５に示す状態要素”e”において、状態”s1”が現在状態であり、状態”s2”が要求状態である。なお、状態”s3”は、設定値を除いて状態”s1”と同じ状態である。状態”s3”では、状態”s1”で設定されている設定値”P”と異なる設定値が設定されている。【００１１】
また、状態要素の図において、楕円を結ぶ矢印が状態遷移を表す。図２５に示す状態要素”e”の状態間において、状態遷移”t1”、状態遷移”t2”、状態遷移”t3”、状態遷移”t4”、および状態遷移”r1”が実行される。【００１２】
状態遷移”t1”〜状態遷移”t4”は、システムに対する変更要求を実現する状態遷移である。状態要素の図において、変更要求を実現する状態遷移は、実線の矢印で表される。【００１３】
また、状態遷移”r1”は、現在状態を再定義する状態遷移である。状態要素の図において、現在状態を再定義する状態遷移は、二重線の矢印で表される。【００１４】
図２５に示す状態要素は、部品”e”の設定値を”P”に設定し、かつ部品”e”の状態を状態”s1”から状態”s2”に変更する変更要求を表す。また、図２５を参照すると、状態”s1”から状態”s2”への遷移は、状態遷移”t1”に相当する。すなわち、状態要素に基づいて変更手順を生成する変更手順生成システムは、図２５に示す情報を基に変更手順”t1”を導出できる。【００１５】
変更手順生成システムが図２５に示すような状態要素を複数用いる場合、状態要素間に依存関係が定義されると、変更手順生成システムは、正しい変更手順を導出できる。【００１６】
図２６は、状態要素の他の例を示す説明図である。図２６に示す例では、システムの変更要件が複数の状態要素で表現されている。図２６に示す状態要素に基づいて、システムの構成要素の起動順序が導出される。【００１７】
図２６は、状態要素”VM”と状態要素”MW”を示す。状態要素”VM”は、仮想マシン（VM: Virtual Machine、以下VMとも呼ぶ。）を表す。状態要素”MW”は、状態要素”VM”が表す仮想マシンに搭載されたミドルウェア（MW: MiddleWare、以下MWとも呼ぶ。）を表す。また、図２６に示すように、状態要素”VM”および状態要素”MW”に対する変更要求の設定値は、それぞれ”P”である。【００１８】
また、図２６に示すように、状態要素”VM”および状態要素”MW”は、いずれも状態”F”、状態”T”、状態”U”のいずれかの状態を取り得る。状態”F”は、停止状態を意味する。また、状態”T”は、稼働状態を意味する。【００１９】
また、状態”U”は、稼働状態であり、かつ状態要素に変更要求の設定値が設定されていない状態を意味する。図２６に示す例における状態要素の状態”U”は、状態要素が設定値”P”と異なる値が設定された上で稼働している状態を表す。図２６に示すように、状態要素”VM”および状態要素”MW”は、いずれも現在状態が状態”F”であり、要求状態が状態”T”である。【００２０】
また、図２６に示すように、状態要素”VM”における状態”F”から状態”T”への遷移は、状態遷移”start”に相当する。すなわち、状態遷移”start”は、VMの起動操作に対応する。また、状態要素”VM”における状態”T”から状態”F”への遷移および状態”U”から状態”F”への遷移は、状態遷移”stop”に相当する。すなわち、状態遷移”stop”は、VMの停止操作に対応する。【００２１】
また、状態要素”VM”における状態”U”から状態”T”への遷移は、状態遷移”reload”に相当する。すなわち、状態遷移”reload”は、設定値の読み込み操作に対応する。また、状態”T”から状態”U”への遷移は、設定値に基づいて現在状態を再定義する状態遷移である。【００２２】
また、図２６に示すように、状態要素”MW”における状態”F”から状態”T”への遷移は、状態遷移”start”に相当する。すなわち、状態遷移”start”は、MWによるサービスの提供の開始に対応する。また、状態要素”MW”における状態”T”から状態”F”への遷移は、状態遷移”stop”に相当する。すなわち、状態遷移”stop”は、MWによるサービスの提供の停止に対応する。【００２３】
上述したように、MWはVMに搭載されている。すなわち、MWによるサービスの提供の開始および停止の実行には、VMが起動状態であることが求められる。VMが停止状態である時にMWの状態遷移を実行する手順は、誤った手順である。【００２４】
上記のようなシステム変更における制約条件が図２６に定義されている。状態要素の図において、破線の矢印が制約条件を表し、白丸は制約条件が適用される状態遷移を表す。【００２５】
図２６において、状態要素”MW”における状態遷移”start”から状態要素”VM”における状態”T”に対して、制約条件が定義されている。すなわち、図２６は、状態要素”MW”における状態”F”から状態”T”への状態遷移は、状態要素”VM”が状態”T”であるという制約条件の下で実行されることを示す。【００２６】
また、図２６において、状態要素”MW”における状態遷移”stop”から状態要素”VM”における状態”T”に対して、制約条件が定義されている。すなわち、図２６は、状態要素”MW”における状態”T”から状態”F”への状態遷移は、状態要素”VM”が状態”T”であるという制約条件の下で実行されることを示す。【００２７】
状態要素を用いる変更手順生成システムは、制約条件に起因する依存性を満たしつつ、全ての状態要素の状態が現在状態から要求状態へ変更される状態遷移の実行順序を導出できる。図２６に示す例の場合、変更手順生成システムは、最初に状態要素”VM”の状態を状態”F”から状態”T”に遷移させ、次いで状態要素”MW”の状態を状態”F”から状態”T”に遷移させる手順を導出する。【００２８】
すなわち、変更手順生成システムは、VMの起動が実行された後にMWの起動が実行される変更手順を導出できる。特許文献１および非特許文献１には、上記のような状態要素に基づいてシステムの変更手順を導出する手法が記載されている。【００２９】
ところで、図２５および図２６に示す状態要素は、異なる３つの段階においてそれぞれ定義される情報で構成されている。【００３０】
例えば、状態要素が取り得る状態、状態要素に設定可能な設定値、変更要求を実現する状態遷移、および、変更要求に対応するように状態要素の現在状態を再定義する状態遷移は、状態要素の特性に依存する情報である。すなわち、状態要素の特性に依存する情報は、状態要素自体が定義されると定義される固定的な情報である。【００３１】
また、現在状態および要求状態は、状態要素が表すシステムの構成部品の状況に依存する要素である。要求状態は、システムの管理者等により定義される流動的な情報である。また、現在状態は、変更作業が実行されたことによって他の状態に変更された後も継続的に管理される情報である。【００３２】
すなわち、各状態要素には、通常、現在状態だけが保持されている。また、変更要求では、通常、要求状態だけが指定される。現在状態を含む状態要素と要求状態を含む状態要素とを基に、変更要求を表す状態要素が合成される。以下、変更要求を表す状態要素の生成例を説明する。【００３３】
図２７は、変更要求を表す状態要素の生成例を示す説明図である。図２７に示す状態要素”e”は、図２５に示す状態要素”e”と同じ状態要素である。【００３４】
図２７（ａ）は、状態が変更される前の部品”e”を表す状態要素である。図２７（ａ）に示す状態要素”e”の現在状態は状態”s1”である。また、図２７（ｂ）は、状態が変更された後の部品”e”を表す状態要素である。図２７（ｂ）に示す状態要素”e”の現在状態は状態”s2”である。【００３５】
図２７（ｃ）は、状態の変更要求を表す状態要素である。図２７（ｃ）は、変更前後で部品の現在状態が異なるような変更要求を表す。【００３６】
図２７（ａ）に示す状態要素と図２７（ｂ）に示す状態要素を比較すると、部品”e”の現在状態が状態”s1”から状態”s2”に変更されている。よって、図２７（ｃ）に示すように、状態の変更要求を表す状態要素の現在状態は状態”s1”に設定され、要求状態は状態”s2”に設定される。【００３７】
また、図２７（ａ）に示す状態要素の設定値、および、図２７（ｂ）に示す状態要素の設定値は、共に”P”である。よって、図２７（ｃ）に示すように、状態の変更要求を表す状態要素に設定される変更要求の設定値は”P”になる。上記のように、変更要求を表す状態要素が導出される。【００３８】
図２８は、変更要求を表す状態要素の他の生成例を示す説明図である。図２８に示す生成例は、VMの状態を停止状態から起動状態に変更する要求を表す状態要素が生成される例である。また、図２８は、図２７に示す生成例に具体的な値が代入された例である。【００３９】
なお、図２８に示す状態要素”VM”は、図２６に示す状態要素”VM”と同じ状態要素である。また、図２８に示す状態要素”VM”の左上の矩形内には、「VM:vm1」と記載されている。すなわち、図２８に示す状態要素は、名称がvm1であるVMを表す状態要素である。【００４０】
また、図２８に示す状態要素”VM”の右上の矩形内には、「ip:192.168.10.1」と記載されている。「ip」はip（internet protocol）アドレスを意味する。すなわち、図２８に示す状態要素”VM”には、設定値としてipアドレスが設定されている。【００４１】
図２８（ａ）は、状態が変更される前の状態要素”VM”を示す。図２８（ａ）に示すように、ipアドレスが”192.168.10.1”に設定されている。また、現在状態は状態”F”、すなわち停止状態である。【００４２】
図２８（ｂ）は、状態が変更された後の状態要素”VM”を示す。図２８（ｂ）に示すように、ipアドレスが”192.168.10.1”に設定されている。また、現在状態は状態”T”、すなわち稼働状態である。【００４３】
図２８（ｃ）は、状態の変更要求を表す状態要素である。図２８（ａ）に示す状態要素と図２８（ｂ）に示す状態要素を比較すると、状態が変更される前のvm1の状態は状態”F”であり、状態が変更された後のvm1の状態は状態”T”である。よって、図２８（ｃ）に示すように、状態の変更要求を表す状態要素の現在状態は状態”F”に設定され、要求状態は状態”T”に設定される。【００４４】
また、図２８（ａ）に示す状態要素に設定されているipアドレス、および図２８（ｂ）に示す状態要素に設定されているipアドレスは、共に”192.168.10.1”である。よって、図２８（ｃ）に示すように、状態の変更要求を表す状態要素に設定される変更要求のipアドレスは”192.168.10.1”になる。上記のように、変更要求を表す状態要素が導出される。【００４５】
図２９は、変更要求を表す状態要素の他の生成例を示す説明図である。図２９に示す生成例は、状態の変更前後で現在状態が一致し設定値だけが異なる変更要求を表す状態要素が生成される例である。図２９に示す変更要求を表す状態要素では、現在状態が再定義されている。なお、図２９に示す状態要素”e”は、図２５に示す状態要素”e”と同じ状態要素である。【００４６】
図２９（ａ）は、状態が変更される前の部品”e”を表す状態要素である。また、図２９（ｂ）は、状態が変更された後の部品”e”を表す状態要素である。図２９（ａ）に示す状態要素”e”の現在状態、および図２９（ｂ）に示す状態要素”e”の現在状態は、共に状態”s1”である。【００４７】
また、図２９（ａ）に示す状態要素の設定値は”P”である。図２９（ｂ）に示す状態要素の設定値は、図２９（ａ）に示す状態要素の設定値と異なり、”P’”である。【００４８】
図２９（ｃ）は、状態の変更要求を表す状態要素である。図２９（ｃ）に示すように、上記の場合状態の変更要求を表す状態要素の現在状態は、状態”s1”と設定値が異なる状態”s3”に再定義される。また、要求状態は状態”s1”に設定され、変更要求の設定値は”P’”に設定される。上記のように、変更要求を表す状態要素が導出される。【００４９】
図３０は、変更要求を表す状態要素の他の生成例を示す説明図である。図３０に示す生成例は、VMのipアドレスをリロードする変更要求を表す状態要素が生成される例である。また、図３０は、図２９に示す生成例に具体的な値が代入された例である。【００５０】
なお、図３０に示す状態要素”VM”は、図２６に示す状態要素”VM”と同じ状態要素である。また、図３０に示す状態要素は、名称がvm1であるVMを表す状態要素である。また、図３０に示す状態要素”VM”には、設定値としてipアドレスが設定されている。【００５１】
図３０（ａ）は、状態が変更される前の状態要素”VM”を示す。図３０（ａ）に示すように、ipアドレスが”192.168.10.1”に設定されている。また、現在状態は状態”T”である。すなわち、図３０（ａ）は、ipアドレスが”192.168.10.1”に設定された上で稼働するvm1を表す。【００５２】
図３０（ｂ）は、状態が変更された後の状態要素”VM”を示す。図３０（ｂ）に示すように、ipアドレスが”192.168.10.2”に設定されている。また、現在状態は状態”T”である。すなわち、図３０（ｂ）は、ipアドレスが”192.168.10.2”に設定された上で稼働するvm1を表す。【００５３】
図３０（ｃ）は、状態の変更要求を表す状態要素である。図２９に示す生成例を踏まえると、変更要求を表す状態要素の現在状態は、図３０（ｃ）に示すように、稼働状態であり変更要求の設定値が設定されていない状態”U”に再定義される。【００５４】
また、図３０（ｃ）に示すように、要求状態は稼働状態である状態”T”に設定される。また、変更要求の設定値は、図３０（ｂ）に示す状態が変更された後の状態要素に設定されているipアドレスである”192.168.10.2”に設定される。上記のように、変更要求を表す状態要素が導出される。【００５５】
図２９および図３０に示すように、変更前後で状態要素の現在状態が同一であり、状態要素の設定値が異なる場合に、現在状態を再定義する手法が知られている。
【先行技術文献】
【特許文献】
【００５６】
【特許文献１】特開２０１５−２１５８８７号公報
【非特許文献】
【００５７】
【非特許文献１】S.Hangen and A. Kemper, "Model-based planning for state-related changes to infrastructure and software as a service instances in large data centers," 2010 IEEE 3rd International Conference on Cloud Computing (CLOUD), 2010, pp. 11-18.
【発明の概要】
【発明が解決しようとする課題】
【００５８】
変更要求を表す状態要素が導出される際、現在状態の再定義先の状態が複数存在する場合を考える。【００５９】
図３１は、変更要求を表す状態要素の他の生成例を示す説明図である。図３１に示す状態要素は、名称がvm1であるVMを表す状態要素である。また、図３１に示す状態要素には、設定値としてipアドレスと、vm1が稼働する場所（以下、ホストと呼ぶ。）が設定されている。図３１に示すlocationに設定されている値が、ホストを表す。【００６０】
図３１（ａ）は、状態が変更される前の状態要素”VM”を示す。図３１（ａ）に示すように、ipアドレスが”192.168.10.1”に、locationが”host1”にそれぞれ設定されている。また、現在状態は状態”S1”である。【００６１】
図３１（ｂ）は、状態が変更された後の状態要素”VM”を示す。図３１（ｂ）に示すように、ipアドレスが”192.168.10.1”に、locationが”host2”にそれぞれ設定されている。また、現在状態は状態”S1”である。すなわち、図３１（ａ）に示す状態要素と図３１（ｂ）に示す状態要素は、ホストだけ異なる。【００６２】
図３１（ｃ）は、状態の変更要求を表す状態要素である。図３１（ａ）〜図３１（ｃ）に示す各状態要素に定義されている状態”U2”は、vm1を他のホストで稼働させるためのマイグレーション処理の導出に要する、稼働状態であり変更要求の設定値が設定されていない状態である。【００６３】
すなわち、図３１（ａ）および図３１（ｂ）に示すようにipアドレスの設定値が変更されておらずlocationの設定値だけが変更されている場合、変更要求を表す状態要素の現在状態は、図３１（ｃ）に示すように状態”U2”に再定義されることが想定される。現在状態が状態”U2”に再定義されることによって、設定されたホストへvm1をマイグレーションする処理が導出される。【００６４】
また、図３１（ａ）〜図３１（ｃ）に示す各状態要素に定義されている状態”U1”は、vm1のipアドレスのリロード処理の導出に要する、稼働状態であり変更要求の設定値が設定されていない状態である。【００６５】
すなわち、locationの設定値が変更されておらずipアドレスの設定値だけが変更されている場合、変更要求を表す状態要素の現在状態は、状態”U1”に再定義されることが想定される。現在状態が状態”U1”に再定義されることによって、vm1のipアドレスをリロードする処理が導出される。【００６６】
上記のように、図３１に示す例は、現在状態の再定義先の状態が変更前の設定値と変更後の設定値との差異に依存する例である。しかし、変更前の設定値と変更後の設定値との差異に基づいて現在状態の再定義先の状態を選択できる手法は、特許文献１および非特許文献１に記載されていない。図３１に示す例の場合、既存の現在状態の再定義手段は、現在状態を状態”U1”と状態”U2”のどちらに再定義すればよいか判別できない。【００６７】
そこで、本発明は、変更要求を表す状態要素における現在状態の再定義先の状態を判別できる状態管理システム、状態管理方法および状態管理プログラムを提供することを目的の１つとする。
【課題を解決するための手段】
【００６８】
本発明の一態様に係る状態管理システムは、変更前のシステムの第１設定値が設定されている構成要素の状態を表す第１状態要素と変更後の前記システムの第２設定値が設定されている前記構成要素の状態を表す第２状態要素とに基づいて前記第１状態要素から前記第２状態要素への変更要求を表す状態要素を生成する生成手段を備え、前記第１状態要素が示す現在状態は、前記第２状態要素が示す現在状態であり、前記生成手段は、前記現在状態が要求状態であり、前記第１設定値と前記第２設定値との差異に応じた状態が前記現在状態であり、前記第２設定値が変更後の設定値であることを示す前記変更要求を表す前記状態要素を生成することを特徴とする。【００６９】
本発明の一態様に係る状態管理方法は、変更前のシステムの第１設定値が設定されている構成要素の状態を表す第１状態要素と変更後の前記システムの第２設定値が設定されている前記構成要素の状態を表す第２状態要素とに基づいて前記第１状態要素から前記第２状態要素への変更要求を表す状態要素を生成し、前記第１状態要素が示す現在状態は、前記第２状態要素が示す現在状態であり、前期状態要素の生成において、前記現在状態が要求状態であり、前記第１設定値と前記第２設定値との差異に応じた状態が前記現在状態であり、前記第２設定値が変更後の設定値であることを示す前記変更要求を表す前記状態要素を生成することを特徴とする。【００７０】
本発明の一態様に係る記憶媒体は、コンピュータに、変更前のシステムの第１設定値が設定されている構成要素の状態を表す第１状態要素と変更後の前記システムの第２設定値が設定されている前記構成要素の状態を表す第２状態要素とに基づいて前記第１状態要素から前記第２状態要素への変更要求を表す状態要素を生成する生成処理を実行させ、前記第１状態要素が示す現在状態は、前記第２状態要素が示す現在状態であり、前記生成処理は、前記現在状態が要求状態であり、前記第１設定値と前記第２設定値との差異に応じた状態が前記現在状態であり、前記第２設定値が変更後の設定値であることを示す前記変更要求を表す前記状態要素を生成する状態管理プログラムを記憶する。本発明の一態様は、その記録媒体が記憶する状態管理プログラムによっても実現できる。
【発明の効果】
【００７１】
本発明によれば、変更要求を表す状態要素における現在状態の再定義先の状態を判別できる。
【図面の簡単な説明】
【００７２】
【図１】本発明の第１の実施形態に係る状態管理システム１００の構成例を示すブロック図である。
【図２】本実施形態の状態要素型の例を示す説明図である。
【図３】テキスト形式で記述された状態要素型の例を示す説明図である。
【図４】本実施形態の状態要素の例を示す説明図である。
【図５】テキスト形式で記述された状態要素の例を示す説明図である。
【図６】本実施形態の状態要素の他の例を示す説明図である。
【図７】テキスト形式で記述された状態要素の他の例を示す説明図である。
【図８】本実施形態の状態要素型の他の例を示す説明図である。
【図９】テキスト形式で記述された状態要素型の他の例を示す説明図である。
【図１０】本実施形態の状態要素の他の例を示す説明図である。
【図１１】テキスト形式で記述された状態要素の他の例を示す説明図である。
【図１２】本実施形態の状態要素の他の例を示す説明図である。
【図１３】テキスト形式で記述された状態要素の他の例を示す説明図である。
【図１４】本実施形態の状態要素の他の例を示す説明図である。
【図１５】テキスト形式で記述された状態要素の他の例を示す説明図である。
【図１６】本実施形態の状態要素の他の例を示す説明図である。
【図１７】テキスト形式で記述された状態要素の他の例を示す説明図である。
【図１８】本実施形態の状態要素の他の例を示す説明図である。
【図１９】テキスト形式で記述された状態要素の他の例を示す説明図である。
【図２０】本実施形態の状態要素の他の例を示す説明図である。
【図２１】テキスト形式で記述された状態要素の他の例を示す説明図である。
【図２２】本実施形態の状態管理システム１００による生成処理の動作を示すフローチャートである。
【図２３】状態比較計算部１２０による状態比較処理の動作を示すフローチャートである。
【図２４】本発明の第２の実施形態に係る状態管理システムの構成を示すブロック図である。
【図２５】状態要素の例を示す説明図である。
【図２６】状態要素の他の例を示す説明図である。
【図２７】変更要求を表す状態要素の生成例を示す説明図である。
【図２８】変更要求を表す状態要素の他の生成例を示す説明図である。
【図２９】変更要求を表す状態要素の他の生成例を示す説明図である。
【図３０】変更要求を表す状態要素の他の生成例を示す説明図である。
【図３１】変更要求を表す状態要素の他の生成例を示す説明図である。
【図３２】本発明の実施形態に係る状態管理システムの各々を実現するコンピュータのハードウェア構成の例を示す図である。
【発明を実施するための形態】
【００７３】
＜＜第１の実施形態＞＞
［構成の説明］
以下、本発明の実施形態を、図面を参照して説明する。図１は、本発明の第１の実施形態に係る状態管理システム１００の構成例を示すブロック図である。図１に示すように、本実施形態の状態管理システム１００は、構成状態記憶部１１０と、状態比較計算部１２０とを含む。また、本実施形態の状態管理システム１００は、外部の状態要素入出力部２００と通信可能に接続されている。
【００７４】
構成状態記憶部１１０は、状態が変更される前のシステムを構成する部品の現在状態を表す状態要素を記憶する機能を有する。なお、構成状態記憶部１１０は、他の種類の状態要素等を記憶してもよい。
【００７５】
状態比較計算部１２０は、変更要求を表す状態要素を生成する機能を有する。状態比較計算部１２０は、状態要素入出力部２００と通信ネットワーク等を介して通信可能に接続されている。状態比較計算部１２０は、構成状態記憶部１１０から取得した状態要素と、状態要素入出力部２００から受け付けた状態要素とを比較することによって、変更要求を表す状態要素を生成する。
【００７６】
状態要素入出力部２００は、状態要素を入出力する機能を有する。状態要素入出力部２００は、利用者または他の装置が定義した、状態が変更された後のシステムを構成する部品の現在状態を表す状態要素を、利用者または他の装置から受け付ける。また、状態要素入出力部２００は、状態管理システム１００が生成した、変更要求を表す状態要素を受け付ける。
【００７７】
本実施形態の状態管理システム１００は、状態が変更される前のシステムを構成する部品を表す状態要素と状態が変更された後のシステムを構成する部品を表す状態要素とを比較し、変更された設定値に基づいて、状態が変更される前の現在状態を再定義する。状態管理システム１００は、再定義された現在状態を含む、変更要求を表す状態要素を生成する。
【００７８】
本実施形態の部品を表す状態要素は、部品の取り得る状態、部品の状態間で実行される状態遷移、部品の設定値、及び、部品のidに加えて、再解釈条件を保持する。
【００７９】
部品の現在状態を表す状態要素は、部品の現在状態と部品の現在状態での設定値とを保持する。また、部品の変更要求を表す状態要素は、部品の現在状態、部品の要求状態、および、部品の要求状態での設定値を保持する。
【００８０】
また、本実施形態の、部品の状態間で実行される状態遷移には、上述したシステムの変更要求を実現する状態遷移が含まれる。また、状態が変更される前のシステムを構成する部品を表す状態要素と状態が変更された後のシステムを構成する部品を表す状態要素との比較結果を基に状態が変更される前の現在状態が再解釈されることによって生じる、現在状態を再定義する状態遷移が含まれる。
【００８１】
図２は、本実施形態の状態要素型の例を示す説明図である。状態要素型は、部品の特性に基づいた、部品の固定的な情報を示す。また、本実施形態の状態要素は、複数の状態、状態の変更方法、および、複数の設定値を含む。
【００８２】
図２に示す状態要素型は、部品の特性に基づいた固定的な情報を含む。図２に示すように、状態要素型は、角丸四角形で表される。
【００８３】
また、角丸四角形の左上の矩形内の文字が、状態要素型のid、すなわち部品のidを表す。図２に示す状態要素型のidは”E”である。
【００８４】
また、角丸四角形の右上の矩形内の文字が、部品の設定値の名称を表す。図２は、部品”E”に設定される設定値に”para1”と”para2”の２つの設定値が存在することを示す。
【００８５】
また、角丸四角形内の楕円が部品の取り得る状態を表し、楕円内の文字が状態名を表す。図２に示す部品”E”は、状態”S1”、状態”S2”、状態”U1”、状態”U2”のいずれかの状態を取り得る。状態”U1”と状態”U2”は、状態”S1”が再解釈された状態である。
【００８６】
また、楕円を結ぶ矢印が状態遷移を表す。図２に示す状態遷移には、状態”S1”から状態”S2”への状態遷移”t1”、状態”S2”から状態”S1”への状態遷移”t2”、状態”U1”から状態”S1”への状態遷移”t3”、状態”U2”から状態”S1”への状態遷移”t4”、状態”U1”から状態”S2”への状態遷移”t5”、および状態”U2”から状態”S2”への状態遷移”t6”が含まれる。また、状態”S1”から状態”U1”への状態遷移”r1”と、状態”S1”から状態”U2”への状態遷移”r2”も含まれる。
【００８７】
状態間で実行される状態遷移には、現在状態から要求状態への変更要求を実現する状態遷移と、構成が変更される前の状態と構成が変更された後の状態との比較結果に基づいて現在状態を再定義する状態遷移がある。
【００８８】
楕円を結ぶ矢印のうち実線の矢印は、システムに対する変更要求を実現する状態遷移を表す。すなわち、図２に示す状態遷移”t1”〜状態遷移”t6”は、システムに対する変更要求を実現する状態遷移を表す。
【００８９】
楕円を結ぶ矢印のうち二重線の矢印は、状態が変更される前のシステムを構成する部品の現在状態が再解釈されることによって生じる、現在状態を再定義する状態遷移を表す。すなわち、図２に示す状態遷移”r1”と状態遷移”r2”は、状態が変更される前のシステムを構成する部品の現在状態が再解釈されることによって生じる状態遷移を表す。
【００９０】
また、角丸四角形と破線の矢印で連結されている矩形内の文字が、比較結果に基づいた変更要求を表す状態要素の生成条件を示す。
【００９１】
図２に示す変更要求を表す状態要素の生成条件には、変更される前の現在状態と変更された後の現在状態が状態”S1”で共通であり、かつ設定値”para1”が変更されている場合、再解釈により状態遷移”r1”が実行されることが示されている。また、変更される前の現在状態と変更された後の現在状態が状態”S1”で共通であり、かつ設定値”para2”が変更されている場合、再解釈により状態遷移”r2”が実行されることが示されている。
【００９２】
図２に示す部品の特性に基づいた固定的な情報を含む状態要素型がテキスト形式で記述された例を図３に示す。図３は、テキスト形式で記述された状態要素型の例を示す説明図である。なお、図３に示すテキスト形式は、JSON(JavaScript(登録商標) Object Notation)形式である。また、図３の左端に示す数字は行番号であり、他の図においても同様である。
【００９３】
図３に示す”状態要素型”の項目は、図３に示すテキストデータが固定的な情報を含む状態要素型が記述されたテキストデータであることを示す。
【００９４】
図３に示す”型名”の項目は、図３に示す状態要素型が表す部品の名称を示す。図３に示す”取り得る状態”の項目は、図３に示す状態要素型が取り得る状態を示す。
【００９５】
図３に示す”設定値”の項目は、図３に示す状態要素型に設定される設定値を示す。図３に示す”設定名”の項目は、図３に示す状態要素型に設定される設定値の名称を示す。
【００９６】
図３に示す”再解釈”の項目は、状態が変更される前のシステムを構成する部品の現在状態が再解釈されることによって発生する状態遷移を示す。
【００９７】
図３に示す”再解釈”の項目の内部の”id”の項目は、再解釈されることによって生じる状態遷移の識別子を示す。また、”from”の項目は、再解釈される前の部品の現在状態を示す。また、”to”の項目は、再解釈された後の部品の現在状態を示す。また、”処理”の項目は、状態遷移の際に実行される処理を示す。
【００９８】
また、図３に示す”再解釈”の項目の内部の”再解釈条件”の項目は、再解釈が実行される条件を示す。”再解釈条件”の項目の内部の”different”および”same”の項目には、例えば”設定名”で定義された値が入力される。
【００９９】
”different”の項目は、入力された値が示す設定値が変更されると再解釈が実行されることを示す項目である。また、”same”の項目は、入力された値が示す設定値が変更されていないと再解釈が実行されることを示す項目である。
【０１００】
なお、再解釈条件は、”different”と”same”の両方の項目が定義されることによって表現されてもよい。両方の項目が定義された場合、両方の項目が示す条件がどちらも満たされた場合のみ、再解釈が実行される。
【０１０１】
図３における９行目から１７行目までの内容は、再解釈により発生する状態遷移”r1”に関する次の内容を示す。すなわち、状態遷移”r1”は、状態が変更される前と状態が変更された後の現在状態が共に状態”S1”であり、かつ設定値”para1”が変更されている場合、処理”task1”が実行されることによって現在状態が状態”S1”から状態”U1”に遷移する状態遷移である。
【０１０２】
同様に、図３における１８行目から２７行目までの内容は、再解釈により発生する状態遷移”r2”に関する次の内容を示す。すなわち、状態遷移”r2”は、状態が変更される前と状態が変更された後の現在状態が共に状態”S1”であり、かつ設定値”para1”が変更されておらず、かつ設定値”para2”が変更されている場合、処理”task2”が実行されることによって現在状態が状態”S1”から状態”U2”に遷移する状態遷移である。
【０１０３】
図３に示す”状態遷移”の項目は、システムに対する変更要求を実現する状態遷移を示す。”状態遷移”の項目の内部の”id”の項目は、システムに対する変更要求を実現する状態遷移の識別子を示す。また、”from”の項目は、部品の遷移元の状態を示す。また、”to”の項目は、部品の遷移先の状態を示す。
【０１０４】
また、図３に示す”状態遷移”の項目の内部の”処理”の項目は、状態遷移の際に実行される処理を示す。”処理”の項目には、処理の実行に要する情報が記載される。処理の実行に要する情報として、例えば、部品の状態、または部品の状態と設定値が記載される。
【０１０５】
図３における３０行目から４１行目までの内容は、状態遷移”t1”が、処理”task3”が実行されることによって、状態が状態”S1”から状態”S2”へ遷移する状態遷移であることを示す。また、この内容は、状態遷移”t2”が、処理”task4”が実行されることによって、状態が状態”S2”から状態”S1”へ遷移する状態遷移であることを示す。
【０１０６】
また、図３における４２行目から４７行目までの内容は、状態遷移”t3”が、設定値”para1”に現在状態を示す情報から得られる設定値が代入され、処理”task5”が実行されることによって、状態が状態”U1”から状態”S1”へ遷移する状態遷移であることを示す。
【０１０７】
また、図３における４８行目から５３行目までの内容は、状態遷移”t4”が、設定値”para2”に現在状態を示す情報から得られる設定値が代入され、処理”task6”が実行されることによって、状態が状態”U2”から状態”S1”へ遷移する状態遷移であることを示す。
【０１０８】
また、図３における５４行目から５９行目までの内容は、状態遷移”t5”が、設定値”para1”に現在状態を示す情報から得られる設定値が代入され、処理”task7”が実行されることによって、状態が状態”U1”から状態”S2”へ遷移する状態遷移であることを示す。
【０１０９】
また、図３における６０行目から６５行目までの内容は、状態遷移”t6”が、設定値”para2”に現在状態を示す情報から得られる設定値が代入され、処理”task8”が実行されることによって、状態が状態”U2”から状態”S2”へ遷移する状態遷移であることを示す。
【０１１０】
図４は、本実施形態の状態要素の例を示す説明図である。図４に示す状態要素は、図２に示す状態要素型に含まれる固定的な情報に基づいた、部品の現在状態を表す状態要素である。
【０１１１】
図４に示す状態要素のidは”E:e1”である。すなわち、図４に示す状態要素は、部品名が”e1”の部品”E”を表す。また、図４に示す状態要素の設定値”para1”には”p1”が、設定値”para2”には”p2”がそれぞれ設定されている。
【０１１２】
また、二重線の楕円は現在状態を表す。図４に示す状態要素の現在状態は状態”S1”である。
【０１１３】
図４に示す、状態要素型に含まれる固定的な情報に基づいた、部品の現在状態を表す状態要素がテキスト形式で記述された例を、図５に示す。図５は、テキスト形式で記述された状態要素の例を示す説明図である。なお、図５に示すテキスト形式は、JSON形式である。
【０１１４】
図５に示す”状態要素”の項目は、図５に示すテキストデータが、固定的な情報に基づいた部品の現在状態を表す状態要素が記述されたテキストデータであることを示す。
【０１１５】
図５に示す”型名”の項目は、図５に示す状態要素が表す部品の名称を示す。また、図５に示す”id”の項目は、図５に示す情報を基に定義される部品の現在状態を表す状態要素の識別子を示す。
【０１１６】
また、図５に示す”状態”の項目は、図５に示す情報を基に定義される状態要素の現在状態を示す。また、図５に示す”設定値”の項目は、図５に示す現在状態での状態要素の設定値を示す。
【０１１７】
図５は、識別子”e1”で管理される部品”E”の現在状態が状態”S1”であり、かつ設定値”para1”の値が”p1”であり、かつ設定値”para2”の値が”p2”であることを示す。
【０１１８】
図６は、本実施形態の状態要素の他の例を示す説明図である。図６に示す状態要素は、図２に示す状態要素型に含まれる固定的な情報に基づいた、部品の変更要求を表す状態要素である。
【０１１９】
図６に示す状態要素のidは、図４に示す状態要素のidと同様である。また、図６に示す状態要素の設定値は、図４に示す状態要素の設定値と同様である。
【０１２０】
また、二重線の楕円は現在状態を表し、黒色の楕円は要求状態を表す。図６に示す状態要素の現在状態は状態”S1”であり、要求状態は状態”S2”である。
【０１２１】
図６に示す状態要素型に含まれる固定的な情報に基づいた、部品の変更要求を表す状態要素がテキスト形式で記述された例を図７に示す。図７は、テキスト形式で記述された状態要素の他の例を示す説明図である。なお、図７に示すテキスト形式は、JSON形式である。
【０１２２】
図７に示す”変更要求”の項目は、図７に示すテキストデータが、固定的な情報に基づいた部品の変更要求を表す状態要素が記述されたテキストデータであることを示す。
【０１２３】
図７に示す”型名”の項目は、図７に示す状態要素が表す部品の名称を示す。また、図７に示す”id”の項目は、図７に示す情報を基に定義される部品の変更要求を表す状態要素の識別子を示す。
【０１２４】
また、図７に示す”現在状態”の項目は、状態が変更される前の部品の現在状態を示す。また、”要求状態”の項目は、状態が変更された後の部品の現在状態を示す。
【０１２５】
すなわち、図７に示す状態要素が表す変更要求は、”現在状態”から”要求状態”へ部品の状態を遷移させる要求に相当する。また、図７に示す”設定値”の項目は、図７に示す要求状態での状態要素の設定値を示す。
【０１２６】
図７に示す状態要素が表す変更要求では、識別子”e1”で管理される部品”E”の現在状態が状態”S1”から状態”S2”へ遷移され、遷移された後に設定値”para1”の値が”p1”に設定され、設定値”para2”の値が”p2”に設定されることが要求されている。
【０１２７】
以下、VMが稼働する場所であるホストを変更するマイグレーション作業を要求する変更要求を表す状態要素、および、ホストを変更せずにVMのipアドレスを変更し設定値を反映させるリロード作業を要求する変更要求を表す状態要素を、設定値を考慮して導出する処理を説明する。
【０１２８】
図８は、本実施形態の状態要素型の他の例を示す説明図である。図８に示す状態要素型は、VMの特性に基づいた固定的な情報を含む。図８に示すように、状態要素型は、図２と同様に角丸四角形で表される。図８には、変更要求を表す状態要素の生成条件が、上述のように二重矢印によって角丸四角形と接続された矩形の内容によって示されている。
【０１２９】
図８に示す角丸四角形の右上の矩形内の”ip”は、VMに設定されるipアドレスを表す。また、右上の矩形内の”location”は、VMが稼働するホストを表す。
【０１３０】
図８に示すように、部品”VM”は、状態”T”、状態”F”、状態”U1”、状態”U2”のいずれかの状態を取り得る。状態”F”は、VMの停止状態を意味する。また、状態”T”は、VMの稼働状態を意味する。
【０１３１】
また、図８に示す変更要求を表す状態要素の生成条件は、状態”U1”が、システムが変更される前と変更された後のVMの現在状態が状態”T”で共通であり、かつ設定値”location”が変更されている場合に現在状態が再定義される先の状態であることを示す。
【０１３２】
また、図８に示す変更要求を表す状態要素の生成条件は、状態”U2”が、システムが変更される前と変更された後のVMの現在状態が状態”T”で共通であり、かつ設定値”location”が変更されておらず、かつ設定値”ip”が変更されている場合に現在状態が再定義される先の状態であることを示す。
【０１３３】
図８には、状態”T”から状態”F”への状態遷移”t1”、状態”F”から状態”T”への状態遷移”t2”、状態”U1”から状態”T”への状態遷移”t3”、状態”U2”から状態”T”への状態遷移”t4”、状態”U1”から状態”F”への状態遷移”t5”、および状態”U2”から状態”F”への状態遷移”t6”が示されている。状態遷移”t1”〜状態遷移”t6”は、システムに対する変更要求を実現する状態遷移を表す。
【０１３４】
また、図８には、状態”T”から状態”U1”への状態遷移”r1”と、状態”T”から状態”U2”への状態遷移”r2”とが示されている。状態遷移”r1”と状態遷移”r2”は、状態が変更される前のシステムを構成する部品の現在状態が再解釈されることによって生じる状態遷移を表す。
【０１３５】
図８に示す、VMの特性に基づいた固定的な情報を含む状態要素型が、テキスト形式で記述された例を図９に示す。図９は、テキスト形式で記述された状態要素型の他の例を示す説明図である。なお、図９に示すテキスト形式は、JSON形式である。
【０１３６】
以下、図９に示す設定内容を説明する。VMのマイグレーション操作は、例えば移行先のホストが指定され、マイグレーションコマンドが発行されることによって実行される。
【０１３７】
本例において、変更要求がマイグレーション処理の実行を要求しているという再解釈が行われる場合は、状態が変更される前と変更された後の現在状態が共に「稼働中」であり、かつ設定値”location”の値が異なる場合である。設定値”ip”が変更されているか否かに関わらず、マイグレーション処理の実行を要求していると再解釈される。
【０１３８】
上記の場合、状態比較計算部１２０は、状態が変更される前のシステムを構成する部品の現在状態を状態”U1”に再定義する。再定義処理において状態比較計算部１２０は、VMに対して処理を行わない。よって、図９に示すように、現在状態が再解釈されることによって生じる状態遷移”r1”の”処理”の項目には、処理を実行しない値として定義される”noop”が入力される。
【０１３９】
また、VMの設定値をリロードするリロード操作は、例えば稼働中のVMの設定値が変更され、リロード実施コマンドが発行されることによって実行される。
【０１４０】
本例において、変更要求がリロード処理の実行を要求しているという再解釈が行われる場合は、状態が変更される前と変更された後の現在状態が共に「稼働中」であり、かつ設定値”ip”の値が異なる場合である。
【０１４１】
上記の場合、状態比較計算部１２０は、状態が変更される前のシステムを構成する部品の現在状態を状態”U2”に再定義する。再定義処理において状態比較計算部１２０は、VMに対して処理を行わない。よって、図９に示すように、現在状態が再解釈されることによって生じる状態遷移”r2”の”処理”の項目には、処理を実行しない値として定義される”noop”が入力される。
【０１４２】
また、状態遷移”t1”は、VMの状態が稼働状態から停止状態へ遷移する状態遷移である。状態遷移”t1”を実行する処理装置は、VMに対して停止処理を実行する。よって、図９における３５行目の状態遷移”t1”の”処理”の項目には、VMに対する処理の実行を意味する”service vm”と、VMを停止させる処理を意味する”state=stop”が入力される。
【０１４３】
また、状態遷移”t2”は、VMの状態が停止状態から稼働状態へ遷移する状態遷移である。状態遷移”t2”を実行する処理装置は、VMに対して起動処理を実行する。よって、図９における４１行目の状態遷移”t2”の”処理”の項目には、VMに対する処理の実行を意味する”service vm”と、VMを起動させる処理を意味する”state=start”が入力される。
【０１４４】
また、状態遷移”t3”は、VMの状態が設定値と異なるホストで稼働している状態から設定値が示すホストで稼働している状態へ遷移する状態遷移である。状態遷移”t3”を実行する処理装置は、VMに対してマイグレーション処理を実行する。
【０１４５】
よって、図９における４７行目の状態遷移”t3”の”処理”の項目には、VMに対する処理の実行を意味する”service vm”が入力される。また、その”処理”の項目には、更に、VMを設定値が示す場所である”location”で稼働させ、ipアドレスを”ip”に設定するマイグレーション処理を意味する”state=migaration,ip={ip},location={location}”が入力される。
【０１４６】
また、状態遷移”t4”は、VMの状態が、設定値が示すipアドレスと異なるipアドレスがVMに設定され設定値が示すホストでVMが稼働している状態から、設定値が示すipアドレスがVMに設定されて同じホストでVMが稼働している状態へ遷移する状態遷移である。状態遷移”t4”を実行する処理装置は、VMに設定されているipアドレスを変更し、設定値を読み込むリロード処理を実行する。
【０１４７】
よって、図９における５３行目の状態遷移”t4”の”処理”の項目には、VMに対する処理の実行を意味する”service vm”が入力される。また、その”処理”の項目には、更に、VMが稼働するホストを変更せずにipアドレスを”ip”に変更し設定値を読み込むリロード処理を意味する”state=reload,ip={ip}”が入力される。
【０１４８】
また、状態遷移”t5”は、VMの状態が、設定値が示すホストと異なるホストでVMが稼働している状態から、停止状態へ遷移する状態遷移である。状態遷移”t5”を実行する処理装置は、VMに対して停止処理を実行する。よって、図９における５９行目の状態遷移”t5”の”処理”の項目には、VMに対する処理の実行を意味する”service vm”と、VMを停止させる処理を意味する”state=stop”が入力される。
【０１４９】
また、状態遷移”t6”は、VMの状態が、設定値が示すipアドレスと異なるipアドレスがVMに設定されて設定値が示すホストでVMが稼働している状態から、停止状態へ遷移する状態遷移である。状態遷移”t6”を実行する処理装置は、VMに対して停止処理を実行する。よって、図９における６５行目の状態遷移”t6”の”処理”の項目には、VMに対する処理の実行を意味する”service vm”と、VMを停止させる処理を意味する”state=stop”が入力される。
【０１５０】
以下、図８に示す状態要素型に基づいた、状態が変更される前の部品を表す状態要素、および、図８に示す状態要素型に基づいた、状態が変更された後の部品を表す状態要素から導出される、変更要求を表す状態要素の例を示す。
【０１５１】
図１０は、本実施形態の状態要素の他の例を示す説明図である。図１０に示す状態要素は、図８に示す状態要素型に含まれるVMの固定的な情報に基づいた、状態が変更される前の部品の現在状態を表す状態要素である。図１０は、マイグレーション処理が実行される前の部品の現在状態を表す。
【０１５２】
図１０は、状態が変更される前の識別子”vm1”で管理される部品”VM”の現在状態が状態”T”であることを示す。また、図１０は、ipアドレスが”10.56.42.43”に設定されていることを示す。また、図１０は、識別子”vm1”で管理される部品”VM”が、ホスト”host1”で稼働していることを示す。
【０１５３】
図１０に示す状態要素が、テキスト形式で記述された例を図１１に示す。図１１は、テキスト形式で記述された、状態要素の他の例を示す説明図である。なお、図１１に示すテキスト形式は、JSON形式である。
【０１５４】
図１２は、本実施形態の状態要素の他の例を示す説明図である。図１２に示す状態要素は、図８に示す状態要素型に含まれる、VMの固定的な情報に基づいた、状態が変更された後の部品の現在状態を表す状態要素である。図１２は、マイグレーション処理が実行された後の部品の現在状態を表す。
【０１５５】
図１２は、状態が変更された後の識別子”vm1”で管理される部品”VM”の現在状態が状態”T”であることを示す。また、図１２は、ipアドレスが”10.56.42.43”に設定されていることを示す。また、図１２は、識別子”vm1”で管理される部品”VM”が、ホスト”host2”で稼働していることを示す。なお、”host1”および”host2”は、例えば物理マシンである。
【０１５６】
図１２に示す状態要素がテキスト形式で記述された例を図１３に示す。図１３は、テキスト形式で記述された、状態要素の他の例を示す説明図である。なお、図１３に示すテキスト形式は、JSON形式である。
【０１５７】
図１０に示す状態要素と図１２に示す状態要素から導出される変更要求を表す状態要素を図１４に示す。図１４は、本実施形態の状態要素の他の例を示す説明図である。図１４に示す状態要素に基づいて、マイグレーション処理が導出される。
【０１５８】
図１４は、変更が要求された識別子”vm1”で管理される部品”VM”の現在状態が状態”U1”であり、要求状態が状態”T”であることを示す。また、図１４は、状態が変更された後にipアドレスが”10.56.42.43”に設定されることを示す。また、図１４は、vm1が、状態が変更された後にホスト”host2”で稼働することを示す。
【０１５９】
図１４に示す状態要素がテキスト形式で記述された例を図１５に示す。図１５は、テキスト形式で記述された、状態要素の他の例を示す説明図である。なお、図１５に示すテキスト形式は、JSON形式である。
【０１６０】
状態管理システム１００の状態比較計算部１２０は、図１０に示す状態要素における状態および設定値と、図１２に示す状態要素における状態および設定値とをそれぞれ比較することによって、図１４に示す状態要素を生成する。状態比較計算部１２０は、生成された変更要求を表す状態要素を、状態要素入出力部２００に転送する。
【０１６１】
状態要素入出力部２００は、例えば、受け付けた変更要求を表す状態要素と、状態要素が表す部品の固定的な情報を示す状態要素型を処理実行部（図示せず）に転送する。処理実行部は、転送された情報を用いて処理手順を生成し、生成された手順に沿って処理を実行する。
【０１６２】
以下、図８に示す状態要素型に基づいた、状態が変更される前の部品を表す状態要素、および図８に示す状態要素型に基づいた、状態が変更された後の部品を表す状態要素から導出される、変更要求を表す状態要素の他の例を示す。
【０１６３】
図１６は、本実施形態の状態要素の他の例を示す説明図である。図１６に示す状態要素は、図８に示す状態要素型に含まれる、VMの固定的な情報に基づいた、状態が変更される前の部品の現在状態を表す状態要素である。図１６は、リロード処理が実行される前の部品の現在状態を表す。
【０１６４】
図１６は、状態が変更される前の識別子”vm1”で管理される部品”VM”の現在状態が状態”T”であることを示す。また、図１６は、ipアドレスが”10.56.42.43”に設定されていることを示す。また、図１６は、識別子”vm1”で管理される部品”VM”が、ホスト”host1”で稼働していることを示す。
【０１６５】
図１６に示す状態要素がテキスト形式で記述された例を図１７に示す。図１７は、テキスト形式で記述された、状態要素の他の例を示す説明図である。なお、図１７に示すテキスト形式は、JSON形式である。
【０１６６】
図１８は、本実施形態の状態要素の他の例を示す説明図である。図１８に示す状態要素は、図８に示す状態要素型に含まれる、VMの固定的な情報に基づいた、状態が変更された後の部品の現在状態を表す状態要素である。図１８は、リロード処理が実行された後の部品の現在状態を表す。
【０１６７】
図１８は、状態が変更された後の識別子”vm1”で管理される部品”VM”の現在状態が状態”T”であることを示す。また、図１８は、ipアドレスが”10.56.42.53”に設定されていることを示す。また、図１８は、識別子”vm1”で管理される部品”VM”が、ホスト”host1”で稼働していることを示す。なお、”host1”によって示されるホストは、例えば物理マシンである。
【０１６８】
図１８に示す状態要素がテキスト形式で記述された例を図１９に示す。図１９は、テキスト形式で記述された、状態要素の他の例を示す説明図である。なお、図１９に示すテキスト形式は、JSON形式である。
【０１６９】
図１６に示す状態要素と図１８に示す状態要素とから導出される変更要求を表す状態要素を、図２０に示す。図２０は、本実施形態の状態要素の他の例を示す説明図である。図２０に示す状態要素に基づいて、リロード処理が導出される。
【０１７０】
図２０は、変更が要求された識別子”vm1”で管理される部品”VM”の現在状態が状態”U2”であり、要求状態が状態”T”であることを示す。また、図２０は、状態が変更された後にipアドレスが”10.56.42.53”に設定されることを示す。また、図２０は、vm1が、状態が変更された後にホスト”host1”で稼働することを示す。
【０１７１】
図２０に示す状態要素がテキスト形式で記述された例を図２１に示す。図２１は、テキスト形式で記述された、状態要素の他の例を示す説明図である。なお、図２１に示すテキスト形式は、JSON形式である。
【０１７２】
状態管理システム１００の状態比較計算部１２０は、図１６に示す状態要素における状態および設定値と、図１８に示す状態要素における状態および設定値とを、それぞれ比較することによって、図２０に示す状態要素を生成する。状態比較計算部１２０は、生成された変更要求を表す状態要素を、状態要素入出力部２００に転送する。
【０１７３】
状態要素入出力部２００は、例えば、受け付けた変更要求を表す状態要素と、状態要素が表す部品の固定的な情報を示す状態要素型とを、処理実行部に転送する。処理実行部は、転送された情報を用いて処理手順を生成し、生成された手順に沿って処理を実行する。
【０１７４】
なお、状態要素入出力部２００が、変更要求を表す状態要素と部品の固定的な情報を示す状態要素型とを用いて処理手順を生成してもよい。また、状態管理システム１００が、処理実行部に相当する構成要素を備えていてもよい。
【０１７５】
［動作の説明］
以下、本実施形態の状態管理システム１００の変更要求を表す状態要素を生成する動作を、図２２を参照して説明する。図２２は、本実施形態の状態管理システム１００による生成処理の動作を示すフローチャートである。
【０１７６】
状態比較計算部１２０は、状態要素入出力部２００から、状態が変更された後のシステムを構成する部品を表す状態要素を受け付ける。次いで、状態比較計算部１２０は、構成状態記憶部１１０に記憶されている部品を表す状態要素のうち、受け付けられた状態要素と同一の識別子を有する、状態が変更される前のシステムを構成する部品を表す状態要素を取得する（ステップＳ１１０）。
【０１７７】
次いで、状態比較計算部１２０は、ステップＳ１１０で取得された状態が変更される前の状態要素における状態および設定値と、状態が変更された後の状態要素における状態および設定値とを、それぞれ比較する状態比較処理を行う（ステップＳ１２０）。
【０１７８】
状態比較処理を行うことによって、状態比較計算部１２０は、部品の状態の変更を要求する変更要求を表す状態要素を生成する。状態比較計算部１２０は、生成された変更要求を表す状態要素を状態要素入出力部２００に受け渡す。受け渡した後、状態管理システム１００は、生成処理を終了する。
【０１７９】
図１４に示すマイグレーション処理を要求する変更要求を表す状態要素を生成する場合、状態比較計算部１２０は、例えば図１３に示す識別子”vm1”で管理される部品”VM”を表す状態要素が記述されたテキストデータを、状態要素入出力部２００から受け付ける。次いで、状態比較計算部１２０は、例えば図１１に示す識別子”vm1”で管理される部品”VM”を表す状態要素が記述されたテキストデータを、構成状態記憶部１１０から取得する。
【０１８０】
状態要素を取得した後、状態比較計算部１２０は、２つの状態要素を比較することによって、図１５に示すような識別子”vm1”で管理される部品”VM”に対してマイグレーション処理を要求する変更要求を表す状態要素が記述されたテキストデータを生成する。状態比較計算部１２０は、生成されたテキストデータを状態要素入出力部２００に受け渡す。
【０１８１】
同様に、図２０に示すリロード処理を要求する変更要求を表す状態要素を生成する場合、状態比較計算部１２０は、例えば図１９に示す状態要素が記述されたテキストデータを、状態要素入出力部２００から受け付ける。次いで、状態比較計算部１２０は、例えば図１７に示す状態要素が記述されたテキストデータを、構成状態記憶部１１０から取得する。
【０１８２】
状態要素を取得した後、状態比較計算部１２０は、２つの状態要素を比較することによって、図２１に示すようなリロード処理を要求する変更要求を表す状態要素が記述されたテキストデータを生成する。状態比較計算部１２０は、生成されたテキストデータを状態要素入出力部２００に受け渡す。
【０１８３】
以下、状態比較計算部１２０が、状態が変更される前の現在状態を表す状態要素と状態が変更された後の現在状態を表す状態要素を比較することによって、現在状態を再定義し、変更要求を表す状態要素を生成する、ステップＳ１２０の状態比較処理を説明する。図２３は、状態比較計算部１２０による状態比較処理の動作を示すフローチャートである。
【０１８４】
状態比較計算部１２０は、ステップＳ１１０で取得された状態が変更される前の状態要素の現在状態と、状態が変更された後の状態要素の現在状態とを比較し、両者が一致するか否かを確認する（ステップＳ１２１）。
【０１８５】
状態が変更される前の現在状態と状態が変更された後の現在状態とが一致しない場合（ステップＳ１２１におけるＮｏ）、状態比較計算部１２０は、変更要求を表す状態要素を生成する（ステップＳ１２４）。状態比較計算部１２０は、状態要素入出力部２００から受け付けた状態要素の現在状態を、変更要求を表す状態要素の要求状態に設定する。
【０１８６】
また、状態比較計算部１２０は、構成状態記憶部１１０が記憶する状態要素の現在状態を、変更要求を表す状態要素の現在状態に設定する。また、状態比較計算部１２０は、状態要素入出力部２００から受け付けた状態要素の設定値を、変更要求を表す状態要素の設定値に設定する。以上のように変更要求を表す状態要素を生成した後、状態比較計算部１２０は、状態比較処理を終了する。
【０１８７】
状態が変更される前の現在状態と状態が変更された後の現在状態とが一致する場合（ステップＳ１２１におけるＹｅｓ）、状態比較計算部１２０は、状態が変更される前の状態要素の設定値と状態が変更された後の状態要素の設定値とを比較する。比較することによって、状態比較計算部１２０は、両者が異なるか否かを確認する（ステップＳ１２２）。
【０１８８】
状態が変更される前の状態要素の設定値と状態が変更された後の状態要素の設定値とが同じ値である場合（ステップＳ１２２におけるＮｏ）、状態比較計算部１２０は、変更要求を表す状態要素を生成する（ステップＳ１２４）。状態比較計算部１２０は、現在状態と要求状態とが同一である変更要求を表す状態要素を定義する。
【０１８９】
また、状態比較計算部１２０は、状態要素入出力部２００から受け付けた状態要素の設定値を、変更要求を表す状態要素の設定値に設定する。以上のように変更要求を表す状態要素を生成した後、状態比較計算部１２０は、状態比較処理を終了する。
【０１９０】
状態が変更される前の状態要素の設定値と状態が変更された後の状態要素の設定値とが異なる場合（ステップＳ１２２におけるＹｅｓ）、状態比較計算部１２０は、再解釈条件が満たされるか否かを判断する（ステップＳ１２３）。
【０１９１】
再解釈条件が満たされない場合（ステップＳ１２３におけるＮｏ）、状態比較計算部１２０は、変更要求を表す状態要素を生成する（ステップＳ１２４）。状態比較計算部１２０は、生成される状態要素に関連する状態要素型が示す固定的な情報に定義されている再解釈情報に基づいて、変更要求を表す状態要素の現在状態を再定義する。再解釈情報は、状態要素型が示す固定的な情報のうち再解釈条件に関連しない情報である。
【０１９２】
また、状態比較計算部１２０は、状態要素入出力部２００から受け付けた状態要素の現在状態を、変更要求を表す状態要素の要求状態に設定する。また、状態比較計算部１２０は、状態要素入出力部２００から受け付けた状態要素の設定値を、変更要求を表す状態要素の設定値に設定する。以上のように変更要求を表す状態要素を生成した後、状態比較計算部１２０は、状態比較処理を終了する。
【０１９３】
再解釈条件が満たされる場合（ステップＳ１２３におけるＹｅｓ）、状態比較計算部１２０は、変更要求を表す状態要素を生成する（ステップＳ１２４）。状態比較計算部１２０は、ステップＳ１２２で比較された２つの設定値の差異が適合する、生成される状態要素に関連する状態要素型が示す固定的な情報に定義されている再解釈情報に基づいて、変更要求を表す状態要素の現在状態を再定義する。
【０１９４】
また、状態比較計算部１２０は、状態要素入出力部２００から受け付けた状態要素の現在状態を、変更要求を表す状態要素の要求状態に設定する。また、状態比較計算部１２０は、状態要素入出力部２００から受け付けた状態要素の設定値を、変更要求を表す状態要素の設定値に設定する。以上のように変更要求を表す状態要素を生成した後、状態比較計算部１２０は、状態比較処理を終了する。
【０１９５】
図１４に示すマイグレーション処理を要求する変更要求を表す状態要素を生成する場合、状態比較計算部１２０は、例えば図１１に示す状態が変更される前の状態要素が記述されたテキストデータと図１３に示す状態が変更された後の状態要素が記述されたテキストデータとを比較する。図１１に示すテキストデータの５行目の状態要素の”状態”と図１３に示すテキストデータの５行目の状態要素の”状態”は、共に”T”であり、一致している（ステップＳ１２１におけるＹｅｓ）。
【０１９６】
また、図１１に示すテキストデータの７行目の設定値の”ip”と図１３に示すテキストデータの７行目の設定値の”ip”は、共に”10.56.42.43”である。すなわち、状態が変更される前のipアドレスと状態が変更された後のipアドレスは、同じ値である。
【０１９７】
また、図１１に示すテキストデータの８行目の設定値の”location”は”host1”であり、図１３に示すテキストデータの８行目の設定値の”location”は”host2”である。すなわち、状態が変更される前のホストと状態が変更された後のホストとは異なる（ステップＳ１２２におけるＹｅｓ）。
【０１９８】
ステップＳ１２３の処理までに、状態比較計算部１２０は、状態が変更される前の状態要素と状態が変更された後の状態要素とを比較した結果、現在状態が状態”T”で共通であり、”location”の設定値が異なり、”ip”の設定値が同じ値であることを導出する。
【０１９９】
図９に示す、VMの固定的な情報を含むテキストデータの１５行目と２４行目に、再解釈条件が存在する。状態比較計算部１２０は、上記の処理で導出された設定値の差異が、図９における１５行目に存在する再解釈条件に適合すると判断する（ステップＳ１２３におけるＹｅｓ）。
【０２００】
よって、状態比較計算部１２０は、図９に示す再解釈条件に基づいて、変更要求を表す状態要素の現在状態を状態”U1”に再定義し、要求状態を状態”T”に設定する。また、変更要求を表す状態要素の”ip”の設定値を”10.56.42.43”に、”location”の設定値を”host2”にそれぞれ設定し、状態比較計算部１２０は、図１５に示す、状態要素を示すテキストデータを生成する（ステップＳ１２４）。
【０２０１】
次いで、変更処理を実行する処理実行部が、ステップＳ１２４で生成された変更要求を表す状態要素と、固定的な情報を示す状態要素型とに基づいて、処理手順を導出し、導出された処理手順に沿って変更処理を実行する。
【０２０２】
具体的には、変更処理を実行する処理実行部は、図９に示すテキストデータと図１５に示すテキストデータとを受け取り、例えばVMのマイグレーション処理を実行するためのコマンド”virsh migrate vm host2”を発行する。
【０２０３】
図２０に示す、リロード処理を要求する変更要求を表す状態要素を生成する場合、状態比較計算部１２０は、マイグレーション処理を要求する変更要求を表す状態要素を生成する場合と同様に、ステップＳ１２１の処理とステップＳ１２２の処理とをそれぞれ実行する。
【０２０４】
状態比較計算部１２０は、図１７に示す、状態が変更される前の状態要素が記述されたテキストデータと、図１９に示す、状態が変更された後の状態要素が記述されたテキストデータとを比較する。ステップＳ１２３の処理までに、状態比較計算部１２０は、状態が変更される前の状態要素と状態が変更された後の状態要素とを比較した結果、現在状態が状態”T”で共通であり、”ip”の設定値が異なり、”location”の設定値が同じ値であることを導出する。
【０２０５】
次いで、状態比較計算部１２０は、ステップＳ１２３の処理までに導出された結果と、図９における２４行目に示す再解釈条件とに基づいて、変更要求を表す状態要素を生成する。具体的には、状態比較計算部１２０は、変更要求を表す状態要素の現在状態を状態”U2”に再定義し、要求状態を状態”T”に設定する。
【０２０６】
また、変更要求を表す状態要素の、”ip”の設定値を”10.56.42.53”に、”location”の設定値を”host1”にそれぞれ設定し、状態比較計算部１２０は、図２１に示すテキストデータを生成する（ステップＳ１２４）。
【０２０７】
次いで、変更処理を実行する処理実行部が、マイグレーション処理を要求する変更要求と同様に、導出された、図２１に示すテキストデータに記述された変更要求を表す状態要素と、固定的な情報を示す状態要素型とに基づいて、処理手順を導出し、導出された処理手順に沿って変更処理を実行する。
【０２０８】
具体的には、変更処理を実行する処理実行部は、図９に示すテキストデータと図２１に示すテキストデータとを受け取り、例えばVMのipアドレスを変更しリロードするリロード処理を実行するためのコマンド”service networking restart”を発行する。
【０２０９】
［効果の説明］
本実施形態の状態管理システム１０は、システムの状態が変更される前の部品の状態とシステムの状態が変更された後の部品の状態を比較し、変更された設定値に基づいて現在状態を再定義することによって、変更要求を表す状態要素を導出する。本実施形態の状態管理システム１０は、状態変更における設定値の変更内容に基づいて、変更要求を表す状態要素における現在状態の再定義先の状態を判別できる。
【０２１０】
その理由は、本実施形態の状態管理システム１０は、システムを構成する部品の状態の変更手順が宣言的に記述される状態要素で表現される変更方法を柔軟に定義できるためである。すなわち、状態要素における各状態に再解釈条件が定義されているため、状態比較計算部１２０が、定義されている再解釈条件を参照すると設定値を用いて現在状態の再定義先の状態を選択できるためである。よって、再定義先の状態が複数存在する場合であっても、現在状態が一意に再定義される。
【０２１１】
なお、本実施形態の状態管理システム１００は、例えば、記憶媒体に格納されているプログラムに従って処理を実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のプロセッサによって実現される。すなわち状態比較計算部１２０は、例えば、プログラム制御に従って処理を実行するＣＰＵによって実現される。
【０２１２】
また、構成状態記憶部１１０は、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリで実現される。
【０２１３】
また、本実施形態の状態管理システム１００における各部は、ハードウェア回路によって実現されてもよい。
【０２１４】
＜＜第２の実施形態＞＞
次に、本発明の第２の実施形態について説明する。図２４は、本実施形態に係る状態管理システムの構成を示すブロック図である。本実施形態の状態管理システム１０は、生成部１１を含む。生成部１１は、例えば、状態比較計算部１２０に対応する。生成部１１は、第１状態要素と第２状態要素とに基づいて第１状態要素から第２状態要素への変更要求を表す状態要素を生成する。第１状態要素は、変更前のシステムの第１設定値が設定されている構成要素の状態を表す。第２状態要素は、変更後のシステムの第２設定値が設定されている構成要素の状態を表す。本実施形態では、第１状態要素が示す現在状態は、第２状態要素が示す現在状態である。そして、生成部１１は、現在状態が要求状態であり、第１設定値と第２設定値との差異に応じた状態が現在状態であり、第２設定値が変更後の設定値であることを示す変更要求を表す状態要素を生成する。
【０２１５】
そのような構成により、状態管理システム１０は、変更要求を表す状態要素における現在状態の再定義先の状態を判別できる。
【０２１６】
また、状態管理システム１０は、状態要素に関する固定的な情報を示す状態要素型を記憶する記憶部（例えば、構成状態記憶部１１０）を含んでいてもよい。記憶部は、例えば、構成状態記憶部１１０に対応する。生成部１１は、第１状態要素および第２状態要素に対応する状態要素型を記憶部から抽出し、抽出された状態要素型が示す第１設定値と第２設定値との差異と状態との対応関係に基づいて変更要求を表す状態要素を生成してもよい。
【０２１７】
そのような構成により、状態管理システム１０は、状態要素型に定義されている再解釈条件を用いて、変更要求を表す状態要素における現在状態の再定義先の状態を判別できる。
【０２１８】
また、記憶部は、状態要素を記憶していてもよい。生成部１１は、入力された第２状態要素に対応する第１状態要素を記憶手段から抽出し、抽出された前記第１状態要素と前記第２状態要素とに基づいて変更要求を表す状態要素を生成してもよい。
【０２１９】
そのような構成により、状態管理システム１０は、ユーザから入力された変更後のシステムを構成する部品の状態を表す状態要素に基づいて変更要求を表す状態要素を生成できる。
【０２２０】
また、生成部１１は、生成された変更要求を表す状態要素を、変更手順を生成する手順生成部に入力してもよい。
【０２２１】
そのような構成により、状態管理システム１０は、生成された変更要求を表す状態要素から変更手順を生成できる。
【０２２２】
また、状態要素が示す状態は離散値で定義され、状態要素が示す設定値は複数の連続値で定義されてもよい。
【０２２３】
［他の実施形態］
本発明の実施形態に係る状態管理システムの各々は、上述のように、プログラムがロードされたメモリと、メモリにロードされたプログラムを実行するプロセッサとを含む、コンピュータによって実現できる。本発明の実施形態に係る状態管理システムの各々は、回路等の、専用のハードウェアによって実現できる。本発明の実施形態に係る状態管理システムは、上述のコンピュータと、専用のハードウェアとの組合せによっても実現できる。
【０２２４】
図３２は、本発明の実施形態に係る状態管理システム（状態管理システム１００及び状態管理システム１０）を実現できるコンピュータのハードウェア構成を表すブロック図である。図３２を参照すると、コンピュータ１０００は、プロセッサ１００１と、メモリ１００２と、記憶装置１００３と、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）インタフェース１００４とを含む。また、コンピュータ１０００は、記憶媒体１００５にアクセスすることができる。メモリ１００２と記憶装置１００３は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ハードディスクなどの記憶装置である。記憶媒体１００５は、例えば、ＲＡＭ、ハードディスクなどの記憶装置、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、可搬記憶媒体である。記憶装置１００３が記憶媒体１００５であってもよい。プロセッサ１００１は、メモリ１００２と、記憶装置１００３に対して、データやプログラムの読み出しと書き込みを行うことができる。プロセッサ１００１は、Ｉ／Ｏインタフェース１００４を介して、例えば、状態要素入出力部２００などにアクセスすることができる。プロセッサ１００１は、記憶媒体１００５にアクセスできる。
【０２２５】
記憶媒体１００５には、コンピュータ１０００を、例えば、状態管理システム１００として動作させるプログラムが格納されていてもよい。言い換えると、記憶媒体１００５は、例えば、構成状態記憶部１１０及び状態比較計算部１２０の機能を実現するプログラムを記憶していてもよい。プロセッサ１００１は、記憶媒体１００５に格納されているプログラムを、メモリ１００２にロードする。そして、プロセッサ１００１が、メモリ１００２にロードされたプログラムを実行する。そして、コンピュータ１０００は、状態管理システム１００として動作する。即ち、構成状態記憶部１１０及び状態比較計算部１２０は、それぞれ、上述のプログラムがロードされたメモリ１００２と、そのプログラムを実行するプロセッサ１００１とにより実現できる。構成状態記憶部１１０及び状態比較計算部１２０は、それぞれ、専用の回路によっても実現できる。構成状態記憶部１１０及び状態比較計算部１２０は、それぞれ、上述のプロセッサ１００１及びメモリ１００２と、専用の回路との組合せによっても実現できる。
【０２２６】
記憶媒体１００５には、コンピュータ１０００を、例えば、状態管理システム１０として動作させるプログラムが格納されていてもよい。言い換えると、記憶媒体１００５は、例えば、生成部１１の機能を実現するプログラムを記憶していてもよい。プロセッサ１００１は、記憶媒体１００５に格納されているプログラムを、メモリ１００２にロードする。そして、プロセッサ１００１が、メモリ１００２にロードされたプログラムを実行する。そして、コンピュータ１０００は、状態管理システム１０として動作する。即ち、生成部１１は、上述のプログラムがロードされたメモリ１００２と、そのプログラムを実行するプロセッサ１００１とにより実現できる。生成部１１は、それぞれ、専用の回路によっても実現できる。生成部１１は、それぞれ、上述のプロセッサ１００１及びメモリ１００２と、専用の回路との組合せによっても実現できる。
【０２２７】
以上、実施形態を参照して本発明を説明したが、本願発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０２２８】
この出願は、２０１６年３月３日に出願された日本出願特願２０１６−０４０７６７を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０２２９】
１１    生成部
１０、１００    状態管理システム
１１０    構成状態記憶部
１２０    状態比較計算部
２００    状態要素入出力部
１０００    コンピュータ
１００１    プロセッサ
１００２    メモリ
１００３    記憶装置
１００４    Ｉ／Ｏインタフェース
１００５    記憶媒体
【図１】
2017150434.tif 000003
【図２】
2017150434.tif 000004
【図３】
2017150434.tif 000005
【図４】
2017150434.tif 000006
【図５】
2017150434.tif 000007
【図６】
2017150434.tif 000008
【図７】
2017150434.tif 000009
【図８】
2017150434.tif 000010
【図９】
2017150434.tif 000011
【図１０】
2017150434.tif 000012
【図１１】
2017150434.tif 000013
【図１２】
2017150434.tif 000014
【図１３】
2017150434.tif 000015
【図１４】
2017150434.tif 000016
【図１５】
2017150434.tif 000017
【図１６】
2017150434.tif 000018
【図１７】
2017150434.tif 000019
【図１８】
2017150434.tif 000020
【図１９】
2017150434.tif 000021
【図２０】
2017150434.tif 000022
【図２１】
2017150434.tif 000023
【図２２】
2017150434.tif 000024
【図２３】
2017150434.tif 000025
【図２４】
2017150434.tif 000026
【図２５】
2017150434.tif 000027
【図２６】
2017150434.tif 000028
【図２７】
2017150434.tif 000029
【図２８】
2017150434.tif 000030
【図２９】
2017150434.tif 000031
【図３０】
2017150434.tif 000032
【図３１】
2017150434.tif 000033
【図３２】
2017150434.tif 000034
【国際調査報告】
2017150434.tif 000035
2017150434.tif 000036