(57)【要約】  システム構成定義の作成において、システム構成に含まれる要素、例えば、装置、アプリケーションプログラム、をグループ化し、グループ構成に基づいて当該要素のパラメータ決定を柔軟に行う装置は、システムの構成を定義する設定項目に設定されたパラメータである要素を、複数含むシステム構成定義を格納する構成定義格納手段と、第一と第二の設定項目の識別子を含むルールを格納するルール格納手段と、要素を、当該要素の第二の設定項目のパラメータに基づいてグループ分けするグループ化手段と、グループ内の各要素の第一の設定項目に、グループ内同一、または、グループ内一意のパラメータを設定して出力する割当実行手段と、を備える。
2016189834.tif 000002
【特許請求の範囲】
【請求項１】
システムの構成を定義する設定項目に設定されたパラメータである要素を、複数含むシステム構成定義を格納する構成定義格納手段と、
第一と第二の前記設定項目の識別子を含むルールを格納するルール格納手段と、
前記要素を、当該要素の前記第二の設定項目の前記パラメータに基づいてグループ分けするグループ化手段と、
グループ内の各々の前記要素の前記第一の設定項目に、前記グループ内同一、または、前記グループ内一意のパラメータを設定して出力する割当実行手段と、を備えるパラメータ決定装置。
【請求項２】
前記ルールは、候補パラメータ集合、および、スコープの指定を更に包含し、
前記割当実行手段は、前記ルールの前記スコープにしたがって、ａ）前記候補パラメータ集合からグループごとに一意のパラメータを選択し、選択した当該パラメータを前記グループ内の各々の前記要素の前記第一の設定項目に設定、または、ｂ）前記候補パラメータ集合から前記グループ内の前記要素ごとに一意のパラメータを選択し、選択した当該パラメータを当該要素の前記第一の設定項目に設定する、請求項１のパラメータ決定装置。
【請求項３】
前記ルールは、割当方法の指定を更に包含し、
前記割当実行手段は、前記ルールの前記割当方法にしたがって、前記候補パラメータ集合の各々の前記パラメータを順次、サイクリックに選択、昇順に選択、または、降順に選択する、請求項２のパラメータ決定装置。
【請求項４】
前記ルール格納手段は、前記ルールを複数包含し、
前記システム構成定義を参照して、複数の前記ルールの中から前記第二の設定項目の前記パラメータが設定されている前記ルールを選択して、選択した前記ルールを前記グループ化手段と前記割当実行手段に出力して処理させ、前記割当実行手段が前記要素の前記第一の設定項目に設定した前記パラメータを前記要素に追加する記述を前記システム構成定義に追記する決定順序制御手段を、さらに備える、請求項１乃至請求項３の何れか一項のパラメータ決定装置。
【請求項５】
前記割当実行手段は、前記第一の設定項目に前記パラメータが設定されている前記要素を検出すると、当該パラメータが既に他の前記要素に使用中であるかを判定し、使用中でなければ、前記候補パラメータ集合から新たな前記パラメータの選択を行わず、当該パラメータの当該要素への設定を継続させる、請求項１乃至請求項４の何れか一項のパラメータ決定装置。
【請求項６】
システムの構成を定義する設定項目に設定されたパラメータである要素を、複数含むシステム構成定義を記憶し、
第一と第二の設定項目の識別子を含むルールを記憶し、
前記要素を、当該要素の前記第二の設定項目の前記パラメータに基づいてグループ分けし、
グループ内の各々の前記要素の前記第一の設定項目に、前記グループ内同一、または、前記グループ内一意の前記パラメータを設定して出力する、パラメータ決定方法。
【請求項７】
前記ルールは、候補パラメータ集合、および、スコープの指定を更に包含し、
前記ルールの前記スコープにしたがって、ａ）前記候補パラメータ集合から前記グループごとに一意の前記パラメータを選択し、選択した当該パラメータを前記グループ内の各々の前記要素の前記第一の設定項目に設定、または、ｂ）前記候補パラメータ集合から前記グループ内の前記要素ごとに一意の前記パラメータを選択し、選択した当該パラメータを当該要素の前記第一の設定項目に設定する、請求項６のパラメータ決定方法。
【請求項８】
前記ルールは、割当方法の指定を更に包含し、
前記ルールの前記割当方法にしたがって、前記候補パラメータ集合の各々の前記パラメータを順次、サイクリックに選択、昇順に選択、または、降順に選択する、請求項７のパラメータ決定方法。
【請求項９】
システムの構成を定義する設定項目に設定されたパラメータである要素を、複数含むシステム構成定義を記憶する処理と、
第一と第二の設定項目の識別子を含むルールを記憶する処理と、
前記要素を、当該要素の前記第二の設定項目の前記パラメータに基づいてグループ分けする処理と、
グループ内の各々の前記要素の前記第一の設定項目に、前記グループ内同一、または、前記グループ内一意のパラメータを設定して出力する割当実行処理と、をコンピュータに実行させるプログラムを格納する記憶媒体。
【請求項１０】
前記ルールは、候補パラメータ集合、および、スコープの指定を更に包含し、
コンピュータに、前記ルールの前記スコープにしたがって、ａ）前記候補パラメータ集合から前記グループごとに一意の前記パラメータを選択し、選択した当該パラメータを前記グループ内の各々の前記要素の前記第一の設定項目に設定、または、ｂ）前記候補パラメータ集合から前記グループ内の前記要素ごとに一意の前記パラメータを選択し、選択した当該パラメータを当該要素の前記第一の設定項目に設定する前記割当実行処理を実行させる前記プログラムを格納する請求項９の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パラメータ決定装置、パラメータ決定方法、および、プログラム、特に、システム構成定義のパラメータを決定する装置、方法、及び、プログラムに関する。
【背景技術】
【０００２】
近年、情報システムの構成情報を構造化文書として記述し管理する動きがある。特に、仮想サーバやネットワークなどの情報システムの構成要素に関する情報をＸＭＬ（Extensible Markup Language）やＪＳＯＮ（JavaScript(登録商標) Object Notation）で記述し、情報システムの構成定義ファイルとして管理することが広く行われている。このような管理をおこなう目的は、クラウド基盤への仮想サーバのデプロイである。【０００３】
これらの構成定義ファイルは構造化文書であるため、構造化文書一般の取り扱い上の利点、例えば部分的な切り出し／コピー／再利用が容易、を持つ。そのため、類型化されたシステム設計（デザインパターン）を組み合わせることで、比較的容易に個別の要件に合わせた複雑な情報システムを構築することが可能となる。【０００４】
しかし、単純に構造化を行っただけでは、一部の項目の変更に起因して他の項目に変更が発生した場合、それらの変更点すべてを確認し適切な変更作業（パラメータ決定）を人出で行うことが必要となる。この変更作業は、システムの各要素間の依存関係を完全に把握した作業者が注意深く行う必要がある。さらに、多数の設定項目を持つ複数の構成要素が依存関係を持っているシステムを対象とした場合、この変更作業は、非常に負荷の高い作業となってしまう。また、システムの規模が一定以上に大きい場合や変更を複数回繰り返す必要がある場合は作業量が膨大となり、そもそも作業自体が困難となる。そのため、この変更作業は、既存構成定義の組み合わせによる再利用の実施を阻害する要因となっている。【０００５】
この作業を軽減するためには、いかにシステム変更後の設定値間の整合性を変更回数や変更の規模に影響を受けずに維持できるかが課題となる。この課題の解決には設定項目（パラメータ）間の依存関係とその内容を定義し、必要に応じてパラメータを再計算する手法が必要となる。【０００６】
特許文献１は、設定項目間の依存関係を定義する手法を開示している。具体的に、特許文献１は、ソフトウェア開発に関する定義情報内のパラメータへパラメータ間の依存関係をルールとして割り付けることで、定義情報の変更後に特定の変更パターンにおける依存項目の自動変更や変更必要箇所の提示を、行う技術を開示する。【０００７】
依存関係の内容を定義する表現としては参照モデルを用いた参照表現が、特許文献１のほか、一般的なプログラミング言語や表計算ソフトウェアで広く用いられている。例えば、依存関係が、パラメータＡがパラメータＢと同じ値であるという場合、パラメータＡの設定値として、現在のパラメータＢと同じ設定値を記述する代わりに「＝Ｂ」などと「パラメータＢの設定値と同じ」という抽象表現が用いられる。これにより、パラメータＢが変更された際に、パラメータＡの再設定が自動化される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平５−０８１００１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
情報システムの構成情報設定ファイルにおいて、特定の構成要素群をグループ化しそのグループ内で一意となるパラメータを割り振りたいという要件が多く存在する。例えば、サーバに付与するＩＰ(Internet Protocol)アドレスは通信を行うサーバ群の中で一意である必要がある。この場合、サーバ群が１つのクループとなり、ＩＰアドレスがグループ内で一意に設定したい対象のパラメータとなる。【００１０】
また、同時に特定の構成要素群をグループ化し、そのグループ内で同一のパラメータを割り振りたいという要件も多く存在する。例えば、通信を行うサーバ群にごとにＶＬＡＮを用いたネットワーク隔離を行う場合における、ＶＬＡＮ−ＩＤの採番がこの例に該当する。【００１１】
これらのグループに対するパラメータ決定問題は、ある設定項目の設定値を参照したり加工したりすることだけでは解決できない。すなわち、この決定問題は、グループ化するための基準やグループ化対象の範囲指定などが必要となるため、特許文献１のように、単純に参照モデルを用いた表現のみを用いただけでは解決できない。【００１２】
また、グループ化条件を指定して各要素に連番を割当てる為に、一部のＲＤＢＭＳ（Relational Database Management System）は、専用の関数表現をＳＱＬ（Structured Query Language）の一部として提供している。この関数は、典型的にはRow numberといった名称で提供されている。例えば「select row number() over ( partition by col1 order by id) as col2 from tbl;」というＳＱＬは、テーブルtblの列col1ごとに行をグループ化して、列idでソートした順に連番（１,2,3,,,）を列col2に出力することを記述する。この機能を利用することで、テーブル化された設定パラメータ群に対しては特定の列のパラメータ値ごとにグループ化を行い、グループごとに同一のパラメータ値を設定するということが可能となる。【００１３】
しかし、この手法は、システム構成情報の設定に関するグループ化とその要素のパラメータを決定する課題を解決できない。その理由は、割り振るパラメータが連番に限定され、設定パラメータごとにＳＱＬのプログラミングが必要である、からである。この手法では、そもそもＲＤＢデータ化することで、構造化文書としてシステム構成データを扱うことの利点が失われてしまう。【００１４】
本発明は、上述の課題を解決するためのパラメータ決定装置、パラメータ決定方法、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の一実施の形態のパラメータ決定装置は、システムの構成を定義する設定項目に設定されたパラメータである要素を、複数含むシステム構成定義を格納する構成定義格納手段と、第一と第二の設定項目の識別子を含むルールを格納するルール格納手段と、要素を、当該要素の前記第二の設定項目のパラメータに基づいてグループ分けするグループ化手段と、グループ内の各要素の前記第一の設定項目に、グループ内同一、または、グループ内一意のパラメータを設定して出力する割当実行手段と、を備える。【００１６】
本発明の一実施の形態のパラメータ決定方法は、システムの構成を定義する設定項目に設定されたパラメータである要素を、複数含むシステム構成定義を記憶し、第一と第二の設定項目の識別子を含むルールを記憶し、要素を、当該要素の前記第二の設定項目のパラメータに基づいてグループ分けし、グループ内の各要素の前記第一の設定項目に、グループ内同一、または、グループ内一意のパラメータを設定して出力する。【００１７】
本発明の一実施の形態のプログラムは、システムの構成を定義する設定項目に設定されたパラメータである要素を、複数含むシステム構成定義を記憶する処理と、第一と第二の設定項目の識別子を含むルールを記憶する処理と、要素を、当該要素の前記第二の設定項目のパラメータに基づいてグループ分けする処理と、グループ内の各要素の前記第一の設定項目に、グループ内同一、または、グループ内一意のパラメータを設定して出力する割当実行処理と、をコンピュータに実行させる。
【発明の効果】
【００１８】
本発明にかかるパラメータ決定装置は、システム構成定義の作成において、システム構成に含まれる要素、例えば、装置、アプリケーションプログラム、をグループ化し、グループ構成に基づいて当該要素のパラメータ決定を柔軟に行うことが出来る。
【図面の簡単な説明】
【００１９】
【図１】図１は、第一の実施形態のパラメータ決定装置１０の構成図である。
【図２】図２は、実施形態のパラメータ決定装置１０の動作フローチャートである。
【図３】図３は、情報システムの構成例を示す図である。
【図４】図４は、図３の構成例を記述したシステム構成定義の例を示す図である。
【図５】図５は、ルールの構成図である。
【図６】図６は、決定順序制御部１１が行うルールの処理順序決定処理フローチャートである。
【図７】図７は、図４のシステム構成定義例について、図５の最後のルール（割当対象項目をＶＬＡＮ＿ＩＤとするルール）に基づくグループ化の結果を示す図である。
【図８】図８は、割当実行部１３の割当実行処理フローチャートである。
【図９】図９は、図４システム構成定義に関して、図５の最後のルールに基づいて、設定項目ＶＬＡＮ＿ＩＤのパラメータ決定を行った結果を示す。
【図１０】図１０は、図４システム構成定義に関して、図５の最初のルールに基づいて、設定項目act/sbyのパラメータ決定を行った結果を示す。
【図１１】図１１は、図４のシステム構成定義に、パラメータ決定装置により設定された設定要素が追記されたあとの様子を示す。
【図１２】図１２は、コンピュータ装置２０の構成図である。
【図１３】図１２は、第三の実施形態のパラメータ決定装置１０の構成図である。
【発明を実施するための形態】
【００２０】
＜第一の実施の形態＞
図１は、本発明の第一の実施形態のパラメータ決定装置１０の構成図である。本実施の形態のパラメータ決定装置１０は、決定順序制御部１１、グループ化部１２、割当実行部１３、ルール格納部１４、および、構成定義格納部１５を含む。また、端末装置３０が、パラメータ決定装置１０に接続されている。
【００２１】
図２は、実施形態のパラメータ決定装置１０の動作フローチャートである。パラメータ決定装置１０は、まず、パラメータ（設定値）決定を行いたいシステム構成定義、および、決定のためのルールを受け付けて記憶する（Ｓ１）。ここで、決定順序制御部１１は、例えば、端末装置３０からシステム構成定義とルールを受信して、システム構成定義を構成定義格納部１５に、ルールをルール格納部１４に格納する。
【００２２】
次いで、決定順序制御部１１は、ルールの適用順序、即ち、決定するパラメータの順序を決定し、決定した順番にしたがってグループ化部１２、および、割当実行部１３を起動してルールを実行していく（Ｓ２、Ｓ３，Ｓ４の繰り返し）。
【００２３】
具体的には、決定順序制御部１１は、後述する方法で実行するルールを選択する（Ｓ２）。次いで、グループ化部１２が、システム構成定義から後述する要素を抽出して、当該ルールで指定されるパラメータに基づいて要素をグループ化する（Ｓ３）。そして、割当実行部１３が、グループ毎に要素のパラメータ決定を行う（Ｓ４）。決定したパラメータは、構成定義格納部１５部内のシステム構成定義に追記される。追記されたパラメータは、次のルールの実行時に要素のグループ分けに使用されても良い。
【００２４】
すべてのルールを実行した後、決定順序制御部１１は、構成定義格納部１５から完成したシステム構成定義を取り出して、端末装置３０やＶＭのデプロイ先システムに送信する（Ｓ５）。
【００２５】
なお、システム構成定義、および、決定のためのルールは、構成定義格納部１５、および、ルール格納部１４に予め格納されていても良い。この場合、ステップＳ１は不要である。さらに、ＶＭがデプロイされるシステムが構成定義格納部１５を共有し、決定順序制御部１１はシステム定義を構成定義格納部１５内で完成させたところで動作を終了しても良い。この場合、ステップＳ５は不要である。
【００２６】
ここで、決定順序制御部１１、グループ化部１２、および、割当実行部１３は、論理回路で構成される。ルール格納部１４、および、構成定義格納部１５は、ディスク装置、または、半導体記憶装置等の記憶装置である。
【００２７】
なお、パラメータ決定装置１０は、コンピュータ装置２０により実現されても良い。図１２は、コンピュータ装置２０の構成図である。コンピュータ装置２０は、バス２４で相互に接続された、ＰＵ２１（Processing Unit）、主記憶装置２２、および、補助記憶装置２５を備える。ＰＵ２１は、バス２４を経由して、主記憶装置２２、および、補助記憶装置２５に対してデータの読み書きを行う。また、ＰＵ２１は、主記憶装置２２に格納されているプログラム２３を実行する。なお、プログラム２３は、当初補助記憶装置２５に格納されており、コンピュータ装置２０の初期設定時に、ＰＵ２１が補助記憶装置２５から主記憶装置２２にロードしても良い。
【００２８】
ここで、主記憶装置２２は半導体メモリ装置である。補助記憶装置２５はディスク装置、または、半導体記憶装置等の記憶装置である。
【００２９】
ＰＵ２１は、プログラム２３を実行することにより、決定順序制御部１１、グループ化部１２、および、割当実行部１３として機能する。すなわち、ＰＵ２１は、プログラム２３を実行することにより、決定順序制御部１１、グループ化部１２、および、割当実行部１３が行う処理を実行する。補助記憶装置２５は、ルール格納部１４、および、構成定義格納部１５として機能する。
【００３０】
システム構成定義は、構造化文書で記述された、情報システムの構成を表現した定義ファイルである。システム構成定義は、複数の設定要素を含んでいる。設定要素は、例えば、設定項目の識別子（以降、項目ＩＤと略記）と設定値（パラメータ）の組である。
【００３１】
システム構成定義において、設定要素は入れ子やリスト構造をとっており、例えば、ＸＭＬやＪＳＯＮで記述されている。ここで、入れ子は設定値として設定要素が入っている構造であり、リストは設定値が複数の値や設定要素となる構造である。
【００３２】
図３は、情報システムの構成例を示す図である。図４は、図３の構成例を記述したシステム構成定義の例を示す図である。
【００３３】
図３の情報システムは、イーサネット（登録商標）で相互に接続されたＡ、Ｂ、Ｃの３台のサーバコンピュータ（図中ではServerと略記）を包含する。サーバコンピュータＡでは、Ｘ、Ｙ、Ｚの３つのアプリケーションプログラム（図中ではapp.と略記）が稼働している。サーバコンピュータＢではＸ、Ｙの２つのアプリケーションプログラムが、サーバコンピュータＣではアプリケーションプログラムＸが、稼働している。
【００３４】
サーバコンピュータＡにおいて、アプリケーションプログラムＸとＹは、ＮＩＣ(Network Interface Card)のｅｔｈ０とｅｔｈ１を利用して通信を行う。アプリケーションプログラムＺは、ＮＩＣのｅｔｈ２を利用して通信を行う。サーバコンピュータＢにおいて、アプリケーションプログラムＸは、ＮＩＣのｅｔｈ０とｅｔｈ１を利用して通信を行う。アプリケーションプログラムＹは、ＮＩＣのｅｔｈ２を利用して通信を行う。サーバコンピュータＣにおいて、アプリケーションプログラムＸは、ＮＩＣのｅｔｈ０とｅｔｈ１を利用して通信を行う。
【００３５】
図４のシステム構成定義例は、上述した情報システムの構成を構造化文書で記述している。このシステム構成定義例において、例えば、「Server : A」、「NIC : eth 0」、および、「application : X」が設定要素である。１行目の設定要素「Server : A」は、設定項目serverにパラメータＡが設定され、サーバコンピュータＡを定義する。２行目の設定要素「NIC : eth 0」は、設定項目ＮＩＣにパラメータｅｔｈ０が設定され、ＮＩＣのｅｔｈ０を定義する。３行目の設定要素「application : X」は、設定項目applicationにパラメータＸが設定され、アプリケーションプログラムＸを定義する。
【００３６】
また、図４のシステム構成定義例は、インデントで設定要素の入れ子を、インデントなしの改行によってリストを表現している。例えば、このシステム構成定義例において、サーバコンピュータＡに、ＮＩＣのｅｔｈ０、ｅｔｈ１、および、ｅｔｈ２が入れ子で定義されている。これは、サーバコンピュータＡがＮＩＣのｅｔｈ０、ｅｔｈ１、とｅｔｈ２を備えていることを表す。さらに、ＮＩＣのｅｔｈ０にアプリケーションプログラムＸとＹが、ＮＩＣのｅｔｈ１にアプリケーションプログラムＸとＹが、ＮＩＣのｅｔｈ２にアプリケーションプログラムＺが各々入れ子で定義されている。これは、サーバコンピュータＡにおいて、ＮＩＣのｅｔｈ０とｅｔｈ１がアプリケーションプログラムＸとＹにより使用され、ＮＩＣのｅｔｈ２がアプリケーションプログラムＺにより使用されていることを定義している。サーバコンピュータＢとＣについても、同様に、図３の状態が記載されている。
【００３７】
システム構成定義において、設定要素が設定しているパラメータの組み合わせを要素と呼ぶ。図４のシステム構成定義例における要素は、サーバコンピュータ設定項目のパラメータ、ＮＩＣ設定項目のパラメータ、アプリケーションプログラム設定項目のパラメータの組み合わせである。具体的には、図４のシステム構成定義例は、（Ａ、ｅｈｔ０、Ｘ）、（Ａ、ｅｈｔ０、Ｙ）、（Ｂ、ｅｈｔ０、Ｘ）、（Ｃ、ｅｈｔ０、Ｙ）、（Ａ、ｅｈｔ１、Ｘ）、（Ａ、ｅｈｔ１、Ｙ）、（Ｂ、ｅｈｔ１、Ｘ）、（Ｃ、ｅｈｔ１、Ｙ）、（Ａ、ｅｈｔ２、Ｚ）、（Ｂ、ｅｈｔ２、Ｙ）の１０個の要素を含んでいる。
【００３８】
すなわち、システム構成定義は要素を複数定義しているといえる。なお、システム構成定義は、複数の要素を定義できるのであれば、図４に示す例と異なる記述形式で記述されても良い。例えば、システム構成定義は、複数の要素のリストであっても良い。なお、要素は、項目ＩＤを含んでいても良い。
【００３９】
図５は、本実施の形態のパラメータ決定装置１０が扱うルールの構成図である。ルールは、パラメータの割当対象となる項目ＩＤ（図中、割当対象項目ＩＤと記載）、および、要素をグループ化するときの基準となる項目ＩＤ（図中、グループ化基準項目ＩＤと記載）を包含する。さらに、ルールは、候補パラメータ集合、割当方法、および、スコープの指定を含む。
【００４０】
ここで、候補パラメータ集合は、割当対象項目ＩＤで示される設定項目に割当てるパラメータの集合であり、例えば、値の範囲、要素の列挙、集合名称で指定される。図５の例において、「1->254」は１以上２５４以下の自然数の集合、「Class C」はクラスCのＩＰアドレスの集合、「”act”,”sby” 」は当該２値を要素とする集合、「100->200」は１００以上２００以下の自然数の集合を意味する。
【００４１】
また、割当方法は、候補パラメータ集合からどのようにパラメータを払い出してくるかを定義する。図５の例において、「循環」は集合の要素を順次サイクリックに払い出すことを、「降順」は未割当の候補パラメータのうち最大の候補値を、「昇順」は未割当の候補パラメータのうち最小の候補値を払い出すことを意味する。
【００４２】
また、スコープは、要素のグループごとに、各要素に同一パラメータを設定するのか（global）、または、グループ内の各要素にグループ内一意のパラメータを設定するのか（local）を指定する。
【００４３】
図５において、例えば、最後のルールは、パラメータ設定を行う設定項目は「ＶＬＡＮ＿ＩＤ」であり、ＮＩＣ設定項目で要素をグループ化することを指定している。このルールの実行でグループ化された要素のグループは、図７に示されている。さらに、このルールは、グループごとに、１００から始まる候補パラメータのうち最小の未割当候補値を払い出し、グループ内の各要素に同じ当該値を設定することも定義している。なお、この設定は、図９に示されている。
【００４４】
図５において、例えば、最初のルールは、パラメータ設定を行う設定項目は「act/sby」（現用／予備）であり、サーバコンピュータ設定項目とアプリケーションプログラム設定項目のパラメータの組み合わせで要素をグループ化することを指定している。さらに、このルールは、グループ内の要素に、交互にact（現用）とsby（予備）を設定することも指定している。なお、このグループと設定は、図１０に示されている。
【００４５】
さらに、図５において、３番目のルールは、パラメータ設定を行う設定項目は「ホストＩＰアドレス」であり、２番目のルールにより決定されたサブネットＩＰアドレス設定項目のパラメータで要素をグループ化することを指定している。さらに、このルールは、グループ内の要素に、１以上２５４以下の自然数の集合から、割当が実行される度に２５４、２５３、２５２、、と順次払い出して設定することを定義している。
【００４６】
なお、上述のことから明らかなように、３番目のルールは、２番目のルールの実行後でないと実行できない。決定順序制御部１１が、この状況を判断し、ルールの実行順序を調整する。
【００４７】
＜図２のステップＳ２で実行される処理について＞
図６は、決定順序制御部１１が行うルールの処理順序決定処理フローチャートである。これは、図２のステップＳ２で実行される。
【００４８】
決定順序制御部１１は、本図にしたがって実行すべきルールを選択する。上述したように、ルールの中には他のルールの実行後でないと実行できないものが有る。すなわち、ルールが指定しているグループ化基準項目ＩＤが示す設定項目に未決定の設定項目が含まれているとき、その時点では当該ルールを用いたパラメータ決定が行えない。そこで、決定順序制御部１１は、この順序決定処理により、当該ルールの実行を、グループ化基準項目ＩＤで指定している設定項目のパラメータ決定後に遅らせる。
【００４９】
まず、決定順序制御部１１は、ルール格納部１４からルールのリストを取得し（Ｓ２１）、そのリストのルールを１つ取り出す（Ｓ２２）。そして、決定順序制御部１１は、ルールのグループ化基準項目ＩＤが示す設定項目が、パラメータ決定済みの項目のみで構成されているか確認する（Ｓ２３）。
【００５０】
このとき決定順序制御部１１は、利用者から与えられたシステム構成定義上であらかじめパラメータまで決まっているものは初めからパラメータ決定済みの設定項目として扱う。図４のシステム構成定義例では、サーバコンピュータ設定項目「Server」、ＮＩＣ設定項目「ＮＩＣ」、および、アプリケーションプログラム設定項目「application」が、処理開始時からの決定済み設定項目となる。
【００５１】
決定順序制御部１１は、割当実行部１３がパラメータ決定を行った設定項目を、割当実行部１３から受け取って要素に追加していく。こうすることで、実行が送らされたルールも、やがて実行可能となる。
【００５２】
決定順序制御部１１は、要素に追加されたパラメータを、システム構成定義に追記する。具体的には、決定順序制御部１１は、例えば、決定されたパラメータを含む設定要素を、システム構成定義の最初の要素を表した設定要素から一段深く入れ子にして追加する。図１１は、図４のシステム構成定義に、パラメータ決定装置１０により追加された設定要素が追記されたあとの様子を示す。例えば、図５の最初のルールによって追加された設定要素「act/sby: act」は、設定要素「application: X」の一段深い入れ子にされている。但し、新たな設定要素は、どの要素に追加されたものかが判別できるのであれば、他の記載形式で追記されても良い。
【００５３】
取り出したルールのグループ化基準項目ＩＤが示す設定項目が、パラメータ決定済みの項目のみで構成されている場合（Ｓ２３でＹ）、決定順序制御部１１は、当該ルールを出力する。決定順序制御部１１は、当該ルールを、例えば、グループ化部１２、および、割当実行部１３に送信する（Ｓ２４）。
【００５４】
取り出したルールのグループ化基準項目ＩＤが示す設定項目が、パラメータ決定済みの項目のみで構成されていない場合（Ｓ２３でＮ）、決定順序制御部１１は、Ｓ２２へ戻り別のルールを取り出し、再度Ｓ２３を実行する。図５のルール例では、２番目のルールは最初のルールが実行されてact/sby設定項目のパラメータが決定されるまで待たされ、３番目のルールは２番目のルールが実行されて、サブネットＩＰアドレス設定項目が決定されるまで待たされる。
【００５５】
＜図２のステップＳ３で実行される処理について＞
図２のステップＳ３で示されるグループ化処理では、グループ化部１２が、決定順序制御部１１から受信したルールに基づいて、システム構成定義から抽出された要素をグループ化する。グループ化対象となる要素は、例えば、システム構成定義で最も入れ子が深いところまでの設定項目の組み合わせである。図４のシステム構成定義例では、要素は、サーバコンピュータ設定項目のパラメータ、ＮＩＣ設定項目のパラメータ、アプリケーションプログラム設定項目のパラメータの組み合わせである。
【００５６】
図７は、図４のシステム構成定義例について、図５の最後のルール（割当対象項目をＶＬＡＮ＿ＩＤとするルール）に基づくグループ化の結果を示す図である。本図において、３つの枠がつながった長方形１つ１つがグループ化対象の要素である。枠内は、左から順に、サーバコンピュータ設定項目、ＮＩＣ設定項目、アプリケーションプログラム接敵項目の各パラメータを表している。
【００５７】
図５の最後のルールのグループ化基準項目ＩＤが示す設定項目がＮＩＣ設定項目であるため、図７が示すようにＮＩＣのパラメータ値ごとにグループが作成された。図７において、左から順に、ＮＩＣ設定項目のパラメータがｅｔｈ０、ｅｔｈ１、ｅｔｈ２である要素からなるグループである。
【００５８】
＜図２のステップＳ４で実行される処理について＞
グループ化部１２でグループ化された要素群は割当実行部１３へ渡され、図２のステップＳ４で割当実行処理が実行される。図８は、割当実行部１３の割当実行処理フローチャートである。
【００５９】
割当実行処理ではまず、割当実行部１３は要素のグループを１つ取りだし（Ｓ４１）、パラメータ決定ルールのスコープを判定する（Ｓ４２）。スコープがglobalだった場合（Ｓ４２でglobal）、割当実行部１３はパラメータ決定ルールの割当方法を参照し、候補パラメータ集合から該当する割当方法でパラメータを払出す（Ｓ４３）。そして、割当実行部１３は、払い出したパラメータをグループ内のすべての要素に設定する（Ｓ４４）。未取出のグループがあれば（Ｓ４５で有）、割当実行部１３は、もう一度Ｓ４１へ戻り別のグループの要素にパラメータを割り当てる。割当実行部１３は、全てのグループへパラメータを割当る（Ｓ４５で無）までこの一連の処理をグループごとに繰り返して行う。
【００６０】
スコープがlocalだった場合（Ｓ４２でlocal）、割当実行部１３は、グループから要素を１つ取り出し（S４６）、候補パラメータ集合からルールの割当方法でパラメータを払出し（Ｓ４７）、取り出した要素に払い出したパラメータを設定（Ｓ４８）する。割当実行部１３は、これらの一連の処理をグループ内に未取出の要素が無くなる（S４９で無）まで、要素ごとに繰り返して行う。
【００６１】
割当実行部１３は、払い出しを行う度に払い出し済み候補値を記憶し、次の払出をする際にはその払い出し済み候補値以外から払い出しを行う。この払い出し済み候補値の消去は、グループ内に未取出の要素が無くなり（S４９で無）、割当対象のグループを切り替える際に実行される。
【００６２】
但し、割当実行部１３は、割当方法が「循環」であれば、払い出しを行う度に払い出した候補値を記憶し、次の払出をする際にはその循環する順番における次の候補値の払い出しを行う。この払い出し済み候補値の記憶の消去は、グループ内に未取出の要素が無くなり（S４９で無）、割当対象のグループを切り替える際に実行される。
【００６３】
なお、スコープがglobalの場合、１回の割当実行処理内では継続して、払い出し済み候補値は保存される。
【００６４】
図９は、図４システム構成定義に関して、図５の最後のルールに基づいて、設定項目ＶＬＡＮ＿ＩＤのパラメータ決定を行った結果を示す。前述したように、図７が当該ルールにより振り分けられた要素のグループを示している。当該ルールにおいて、スコープがglobal、候補パラメータ集合および割当方法が１００から昇順である。したがって、割当実行部１３は、ＮＩＣ設定項目のパラメータがｅｔｈ０、ｅｔｈ１、ｅｔｈ２の各グループにたいしてパラメータとして１００、１０１、１０２を払い出し、グループ内の各要素のＶＬＡＮ＿ＩＤ設定項目には同一値を割り当てる。
【００６５】
図１０は、図４システム構成定義に関して、図５の最初のルールに基づいて、設定項目act/sbyのパラメータ決定を行った結果を示す。
【００６６】
当該ルールにおいて、グループ化基準項目は、ServerとApplicationの２つの設定項目の組み合わせである。したがって、グループ化部１２は、当該２つの設定項目のパラメータのバリエーション（Ａ、Ｘ）、（ＡＹ）、（ＡＺ）、（Ｂ、Ｘ）、（Ｂ、Ｙ）、および、（Ｃ、Ｘ）ごとに要素をグループ化する。さらに、当該ルールにおいて、スコープがlocal、候補パラメータ集合および割当方法が”act”と”sby”の循環、即ち交互割当である。したがって、割当実行部１３は、各グループの要素に、”act”と”sby”を交互に割り当てる。すなわち、割当実行部１３は、グループ内の設定要素が２つの場合は”act”と”sby”を１つずつ、１つの場合は”act”を割当てる。
【００６７】
＜図２のステップＳ５で実行される処理について＞
ルール格納部１４に格納されているすべてのルールを実行した後、決定順序制御部１１は、構成定義格納部１５から完成したシステム構成定義を取り出して外部に出力する（Ｓ５）。図１１は、図４のシステム構成定義と図５のルールが入力された場合に、決定順序制御部１１が出力するシステム構成定義である。
【００６８】
＜効果＞
本実施の形態のパラメータ決定装置１０は、ネットワークアドレスやクラスタリングに代表される特定の装置、プログラム等のグループごとに設定値（パラメータ）を割当てる必要がある情報システムに関し、柔軟なパラメータ決定を可能とする。具体的には、パラメータ決定装置１０は、システム構成定義の作成において、システム構成に含まれる要素をグループ化し、グループ構成に基づいてグループ内の要素のパラメータ決定を柔軟に行うことが出来る。
【００６９】
その第一の理由は、グループ化部１２が、システム構成定義から抽出された要素を、様々な設定項目のパラメータに基づいてグループ化し、種々の候補パラメータ集合から種々の方法で値を取り出して、パラメータを決定するからである。
【００７０】
第二の理由は、利用者がパラメータ決定のバリエーションをルールとして定義し、パラメータ決定装置１０が当該ルールに従って、パラメータの決定を行うからである。利用者は、対象とする情報システムに合わせて、ルールを定義すればよい。
【００７１】
第三の理由は、決定順序制御部１１が、パラメータの決定過程で、ルールの実行順序を適切に制御するからである。このため、利用者は、初期状態のシステム構成定義では、まだ決定されていないパラメータに基づくグループ化を、ルールに記述することが出来る。
【００７２】
＜第２の実施形態＞
本発明の第２の実施形態のパラメータ決定装置１０は、パラメータ決定済みのシステム構成定義に変更を加える際に、割当済みのパラメータをできるだけ変更することなく、新規に決定する必要のあるパラメータの決定を行う。
【００７３】
ここで、本実施の形態のパラメータ決定装置１０に入力されるシステム構成定義は、既に一度、当該装置で処理されたもので良い。また、幾つかのルールは、最初のパラメータ決定時にルール格納部１４に格納されており、今回は新たなルールだけが入力されてルール格納部１４に追加されても良い。
【００７４】
決定順序制御部１１は、図２のステップＳ１とＳ２の間で、システム構成定義とルール格納部１４のルールを照らし合わせる。決定順序制御部１１は、システム構成定義中に、何れかのルールの割当対象項目ＩＤで指定されている設定項目にパラメータが既に割り当てられていることを判別すると、その情報を記憶する。
【００７５】
割当実行部１３は、パラメータを払い出す時（図８のステップＳ４４、及び、ステップＳ４７）にこの情報を参照し、割当対象の要素に割当済みのパラメータを払い出す。すなわち、割当実行部１３は、候補パラメータ集合から新たなパラメータの払い出しは行わず、もともと割当てられていたパラメータの割当を継続させる。但し、この時、割当実行部１３は、下記のチェックを行う。
ア）当該パラメータが既に他の要素に割当済みでないこと。
イ）当該パラメータが実行中のルールが指定する候補パラメータ集合に含まれていること。
【００７６】
当該パラメータが、上記条件を満足しないとき、割当実行部１３は、通常の割当方法で決定されるパラメータ値を払い出す。
【００７７】
その他の処理は、第１の実施の形態のパラメータ決定装置１０と同じである。
【００７８】
＜効果＞
本実施の形態のパラメータ決定装置１０は、パラメータ決定したシステムに変更を加えた際、必要最小限のパラメータ変更で変更後のパラメータを決定できる。その理由は、割当実行部１３が、割当対象の要素に割当済みのパラメータが有る場合は、当該パラメータを払い出すからである。
【００７９】
＜第３の実施形態＞
図１２は、本発明の第三の実施形態のパラメータ決定装置１０の構成図である。本実施の形態のパラメータ決定装置１０は、グループ化部１２、割当実行部１３、ルール格納部１４、および、構成定義格納部１５を含む。
【００８０】
構成定義格納部１５は、システムの構成を定義する設定項目に設定されたパラメータである要素を、複数含むシステム構成定義を格納する。ルール格納部１４は、第一と第二の設定項目の識別子を含むルールを格納する。
【００８１】
グループ化部１２は、要素を、当該要素の第二の設定項目のパラメータに基づいてグループ分けする。割当実行部１３は、グループ内の各要素の第一の設定項目に、グループ内同一、または、グループ内一意のパラメータを設定して出力する。
【００８２】
本実施の形態のパラメータ決定装置１０は、ネットワークアドレスやクラスタリングに代表される特定の装置、プログラム等のグループごとに設定値（パラメータ）を割当てる必要がある情報システムに関し、柔軟なパラメータ決定を可能とする。具体的には、パラメータ決定装置１０は、システム構成定義の作成において、システム構成に含まれる要素をグループ化し、グループ構成に基づいてグループ内の要素のパラメータ決定を柔軟に行うことが出来る。
【００８３】
その第一の理由は、グループ化部１２が、システム構成定義から抽出された要素を、様々な設定項目のパラメータに基づいてグループ化し、種々の候補パラメータ集合から種々の方法で値を取り出して、パラメータを決定するからである。
【００８４】
第二の理由は、利用者がパラメータ決定のバリエーションをルールとして定義し、パラメータ決定装置１０が当該ルールに従って、パラメータの決定を行うからである。利用者は、対象とする情報システムに合わせて、ルールを定義すればよい。
【００８５】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００８６】
この出願は、2015年05月25日に出願された日本出願特願2015-105111を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００８７】
１０    パラメータ決定装置
１１    決定順序制御部
１２    グループ化部
１３    割当実行部
１４    ルール格納部
１５    構成定義格納部
２０    コンピュータ装置
２１    ＰＵ
２２    主記憶装置
２３    プログラム
２４    バス
２５    補助記憶装置
３０    端末装置
【図１】
2016189834.tif 000003
【図２】
2016189834.tif 000004
【図３】
2016189834.tif 000005
【図４】
2016189834.tif 000006
【図５】
2016189834.tif 000007
【図６】
2016189834.tif 000008
【図７】
2016189834.tif 000009
【図８】
2016189834.tif 000010
【図９】
2016189834.tif 000011
【図１０】
2016189834.tif 000012
【図１１】
2016189834.tif 000013
【図１２】
2016189834.tif 000014
【図１３】
2016189834.tif 000015
【手続補正書】
【提出日】平成29年10月20日(2017.10.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
システムの構成を定義する設定項目に設定されたパラメータである要素を、複数含むシステム構成定義を格納する構成定義格納手段と、
第一と第二の前記設定項目の識別子を含むルールを格納するルール格納手段と、
前記要素を、当該要素の前記第二の設定項目の前記パラメータに基づいてグループ分けするグループ化手段と、
グループ内の各々の前記要素の前記第一の設定項目に、前記グループ内同一、または、前記グループ内一意のパラメータを設定して出力する割当実行手段と、を備えるパラメータ決定装置。
【請求項２】
前記ルールは、候補パラメータ集合、および、スコープの指定を更に包含し、
前記割当実行手段は、前記ルールの前記スコープにしたがって、ａ）前記候補パラメータ集合からグループごとに一意のパラメータを選択し、選択した当該パラメータを前記グループ内の各々の前記要素の前記第一の設定項目に設定、または、ｂ）前記候補パラメータ集合から前記グループ内の前記要素ごとに一意のパラメータを選択し、選択した当該パラメータを当該要素の前記第一の設定項目に設定する、請求項１のパラメータ決定装置。
【請求項３】
前記ルールは、割当方法の指定を更に包含し、
前記割当実行手段は、前記ルールの前記割当方法にしたがって、前記候補パラメータ集合の各々の前記パラメータを順次、サイクリックに選択、昇順に選択、または、降順に選択する、請求項２のパラメータ決定装置。
【請求項４】
前記ルール格納手段は、前記ルールを複数包含し、
前記システム構成定義を参照して、複数の前記ルールの中から前記第二の設定項目の前記パラメータが設定されている前記ルールを選択して、選択した前記ルールを前記グループ化手段と前記割当実行手段に出力して処理させ、前記割当実行手段が前記要素の前記第一の設定項目に設定した前記パラメータを前記要素に追加する記述を前記システム構成定義に追記する決定順序制御手段を、さらに備える、請求項２乃至請求項３の何れか一項のパラメータ決定装置。
【請求項５】
前記割当実行手段は、前記第一の設定項目に前記パラメータが設定されている前記要素を検出すると、当該パラメータが既に他の前記要素に使用中であるかを判定し、使用中でなければ、前記候補パラメータ集合から新たな前記パラメータの選択を行わず、当該パラメータの当該要素への設定を継続させる、請求項２乃至請求項４の何れか一項のパラメータ決定装置。
【請求項６】
システムの構成を定義する設定項目に設定されたパラメータである要素を、複数含むシステム構成定義を記憶し、
第一と第二の設定項目の識別子を含むルールを記憶し、
前記要素を、当該要素の前記第二の設定項目の前記パラメータに基づいてグループ分けし、
グループ内の各々の前記要素の前記第一の設定項目に、前記グループ内同一、または、前記グループ内一意の前記パラメータを設定して出力する、パラメータ決定方法。
【請求項７】
前記ルールは、候補パラメータ集合、および、スコープの指定を更に包含し、
前記ルールの前記スコープにしたがって、ａ）前記候補パラメータ集合から前記グループごとに一意の前記パラメータを選択し、選択した当該パラメータを前記グループ内の各々の前記要素の前記第一の設定項目に設定、または、ｂ）前記候補パラメータ集合から前記グループ内の前記要素ごとに一意の前記パラメータを選択し、選択した当該パラメータを当該要素の前記第一の設定項目に設定する、請求項６のパラメータ決定方法。
【請求項８】
前記ルールは、割当方法の指定を更に包含し、
前記ルールの前記割当方法にしたがって、前記候補パラメータ集合の各々の前記パラメータを順次、サイクリックに選択、昇順に選択、または、降順に選択する、請求項７のパラメータ決定方法。
【請求項９】
システムの構成を定義する設定項目に設定されたパラメータである要素を、複数含むシステム構成定義を記憶する処理と、
第一と第二の設定項目の識別子を含むルールを記憶する処理と、
前記要素を、当該要素の前記第二の設定項目の前記パラメータに基づいてグループ分けする処理と、
グループ内の各々の前記要素の前記第一の設定項目に、前記グループ内同一、または、前記グループ内一意のパラメータを設定して出力する割当実行処理と、をコンピュータに実行させるプログラム。
【請求項１０】
前記ルールは、候補パラメータ集合、および、スコープの指定を更に包含し、
コンピュータに、前記ルールの前記スコープにしたがって、ａ）前記候補パラメータ集合から前記グループごとに一意の前記パラメータを選択し、選択した当該パラメータを前記グループ内の各々の前記要素の前記第一の設定項目に設定、または、ｂ）前記候補パラメータ集合から前記グループ内の前記要素ごとに一意の前記パラメータを選択し、選択した当該パラメータを当該要素の前記第一の設定項目に設定する前記割当実行処理を実行させる請求項９のプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】変更
【補正の内容】
【００３７】
システム構成定義において、設定要素が設定しているパラメータの組み合わせを要素と呼ぶ。図４のシステム構成定義例における要素は、サーバコンピュータ設定項目のパラメータ、ＮＩＣ設定項目のパラメータ、アプリケーションプログラム設定項目のパラメータの組み合わせである。具体的には、図４のシステム構成定義例は、（Ａ、ｅｔｈ０、Ｘ）、（Ａ、ｅｔｈ０、Ｙ）、（Ｂ、ｅｔｈ０、Ｘ）、（Ｃ、ｅｔｈ０、Ｘ）、（Ａ、ｅｔｈ１、Ｘ）、（Ａ、ｅｔｈ１、Ｙ）、（Ｂ、ｅｔｈ１、Ｘ）、（Ｃ、ｅｔｈ１、Ｘ）、（Ａ、ｅｔｈ２、Ｚ）、（Ｂ、ｅｔｈ２、Ｙ）の１０個の要素を含んでいる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００７９
【補正方法】変更
【補正の内容】
【００７９】
＜第３の実施形態＞
図１３は、本発明の第三の実施形態のパラメータ決定装置１０の構成図である。本実施の形態のパラメータ決定装置１０は、グループ化部１２、割当実行部１３、ルール格納部１４、および、構成定義格納部１５を含む。
【国際調査報告】
2016189834.tif 000016
2016189834.tif 000017