この発明は、ポリシー変更処理プログラム、ポリシー変更処理方法、ポリシー変更処理装置に関する。
従来より、複数のポリシー(運用指針)によって制御(ポリシーベース制御)されるシステムがある。このシステムにおいては、互いに矛盾を起こさないようにポリシーの内容が規定されており、システムについてのポリシーを変更する場合にも、このポリシー変更によって互いに矛盾を起こさないようにポリシーが変更される必要がある。
ここで、このようなポリシーベース制御を用いたシステムにおけるポリシーは、システムにとって制御プログラムと同様であり、システムは、ポリシーが間違っていると(矛盾を含むと)、ポリシーに規定された間違ったやり方に従って動作する。このため、ポリシーが適切かどうかを事前に(ポリシー変更を行う前に)検証する必要があり、様々な取り組みがなされている。
例えば、非特許文献1および非特許文献2では、複数のポリシー間で矛盾がないかなどの検証を行い、ポリシーが適切かどうかを事前に検証する方法が提案されている。また、例えば、非特許文献3では、ポリシーに従ってシステムを制御した場合に、目標とする状態に達するか否かを調べて、ポリシーが適切か否かを検証するモデル検知などの方法も提案されている。なお、例えば、非特許文献2では、これらの検証には一般に膨大な計算量が必要であることから、事前に検証する方法や、検証するための式を工夫することで計算量を減らして動的に対応する方法なども提案されている。
また、上記したような技術の他に、判断規則ツリーを修正する場合に、すべてのパラメータを修正の対象とするのではなく、誤った判断規則から判断規則ツリーを正解に繋がる分岐まで遡り、その分岐以下の判断規則のみを修正する方法や(特許文献1)、入力情報を検証するためのプログラムの規模を削減するために、入力情報を検証するための定義を変更および/または追加することによって対応する方法も提案されている(特許文献2)。
E. C. Lupu, M. S. Sloman, "Conflicts in Policy-Based Distributed Systems Management",IEEE Transactions on Software Engineering - Special Issue on Inconsistency Management, 1999
Nicole Dunlop, Jadwiga Indulska, Kerry Raymond, "Dynamic Conflict Detection in Policy-Based Management Systems", 2002
EM Clarke, O. Grumberg, and D. Peled. Model Checking. MIT Press, 1999
特開2000−155680号公報(第1−3頁、第3図)
特開2005−311654号公報(第1−4頁、第2図)
ところで、上記した従来の技術は、ポリシー内容を変更しようとする場合に、そのポリシー変更がどのようなポリシー変更であっても(例えば、そのポリシー変更が、些細なポリシー変更であっても)、その他の全てのポリシーとの間で矛盾を起こすか否かをそれぞれ検証しなければならないという課題があった。言い換えれば、ポリシー変更に際して他の全てのポリシーとの間で矛盾を検証する必要があるか否かを把握することはできないので、いかなる場合も検証作業を不要にはできず、常に検証作業を行わなければならないという課題があった。
この課題について具体的に説明する。ポリシーベース制御では、システムについての運用指針を変更するために(例えば、システムをより適切に動作させるために、運用指針を変更する場合など)、この変更に対応するためのポリシー変更を行う。ここで、このポリシー変更には様々な変更内容があることから、その中には、些細なポリシー変更もある。具体的には、ポリシーの一部分を少し変更するものなどである。一例を挙げて説明すると、「応答時間閾値超えのアラートが『3回』連続した場合に、異常処理を行う」というポリシーを運用していると、誤った異常処理を行う場合が多い場合に、異常処理を行うアラート回数を5回に増やすことによって誤った異常処理を減らすために(システムをより適切に動作させるために)、「応答時間閾値超えのアラートが『5回』連続した場合に、異常処理を行う」と変更(3回を5回に変更)するようなポリシー変更などである。
そして、このような些細なポリシー変更であっても、その他のポリシーとの間で矛盾が生じるか否かは事前にはわからない。これは、例えば、部分的なポリシー変更であっても全体に影響を及ぼし、その他のポリシーと矛盾を生じる事があるからである。一例を挙げて説明すると、異常処理を行うためのアラート回数を定めるポリシー変更(アラート回数を増加する変更)を行うと、システム全体についてのSLA(Service Level Agreement)に違反(矛盾)してしまう場合などである。このため、ポリシー変更を行う場合に、そのポリシー変更がどのようなポリシー変更であっても(例えば、些細なポリシー変更であっても)、他の全てのポリシーとの間で矛盾を検証しなければならないという課題があった。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、ポリシー変更に際して他の全てのポリシーとの間で矛盾を検証する必要があるか否かを把握することが可能であり、場合によって検証作業を不要にすることも可能なポリシー変更処理プログラム、ポリシー変更処理方法、ポリシー変更処理装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明によれば、システムを制御するために用いられ、互いに矛盾を起こさないようにポリシー内容が規定される複数のポリシーについて前記ポリシー内容の変更を処理する方法をコンピュータに実行させるポリシー変更処理プログラムであって、前記複数のポリシーごとに、他の全てのポリシーとの間で矛盾を起こさずにポリシー内容を変更できる範囲を示す変更可能範囲を所定の記憶部に保持する変更可能範囲保持手順と、所定のポリシーについて変更対象として受け付けたポリシー内容が、前記変更可能範囲保持手順によって保持された当該所定のポリシーの変更可能範囲内であるか否かを判定する変更可能範囲判定手順と、をコンピュータに実行させることを特徴とする。
また、本発明によれば、上記の発明において、前記複数のポリシーは、グループに区分けされるものであって、前記変更可能範囲保持手順は、前記変更可能範囲の他に、前記複数のポリシーごとに、各ポリシーが属するグループ以外の全てのポリシーとの間で矛盾を起こさずにポリシー内容を変更できる範囲を示すグループ外変更可能範囲をさらに保持し、前記変更可能範囲判定手順は、前記変更可能範囲内であるか否かを判定する他に、前記所定のポリシーについて変更対象として受け付けたポリシー内容が、前記変更可能範囲保持手順によって保持された当該所定のポリシーのグループ外変更可能範囲内であるか否かをさらに判定することを特徴とする。
また、本発明によれば、上記の発明において、前記複数のポリシーごとに、ポリシー内容を所定の記憶部に保持するポリシー保持手順と、前記複数のポリシーごとに、他のいずれのポリシーとの間で矛盾を起こし得る関連があるかを示す関連情報を所定の記憶部に保持する関連情報保持手順と、前記複数のポリシーごとに、前記関連情報保持手順によって保持された関連情報から当該ポリシーとの間で矛盾を起こし得る他のポリシーを導き出し、当該導き出した他のポリシーのポリシー内容を前記ポリシー保持手順から読み出して、前記変更可能範囲および/またはグループ外変更可能範囲を算出する範囲算出手順と、をさらにコンピュータに実行させ、前記変更可能範囲保持手順は、前記範囲算出手順によって算出された変更可能範囲および/またはグループ外変更可能範囲を保持することを特徴とする。
また、本発明によれば、上記の発明において、前記ポリシー保持手順は、前記ポリシー内容として、等式および/または不等式で規定されたポリシー内容を所定の記憶部に保持し、前記範囲算出手順は、前記ポリシー保持手順から読み出した他のポリシーの等式および/または不等式を連立させることで、前記変更可能範囲および/またはグループ外変更可能範囲を算出することを特徴とする。
また、本発明によれば、上記の発明において、前記範囲算出手順は、前記ポリシー保持手順によって保持されたいずれかのポリシーについてポリシー内容が変更された場合に、当該ポリシー内容が変更されたポリシーとの間で矛盾を起こし得る他のポリシーを導き出して、前記変更可能範囲および/またはグループ外変更可能範囲を算出することを特徴とする。
また、本発明によれば、上記の発明において、前記変更可能範囲判定手順によって判定された判定結果を所定の出力部に出力する判定結果出力手順をさらにコンピュータに実行させることを特徴とする。
また、本発明によれば、システムを制御するために用いられ、互いに矛盾を起こさないようにポリシー内容が規定される複数のポリシーについて前記ポリシー内容の変更を処理する方法であるポリシー変更処理方法であって、前記複数のポリシーごとに、他の全てのポリシーとの間で矛盾を起こさずにポリシー内容を変更できる範囲を示す変更可能範囲を保持する変更可能範囲保持工程と、所定のポリシーについて変更対象として受け付けたポリシー内容が、前記変更可能範囲保持工程によって保持された当該所定のポリシーの変更可能範囲内であるか否かを判定する変更可能範囲判定工程と、を含むことを特徴とする。
また、本発明によれば、システムを制御するために用いられ、互いに矛盾を起こさないようにポリシー内容が規定される複数のポリシーについて前記ポリシー内容の変更を処理するポリシー変更処理装置であって、前記複数のポリシーごとに、他の全てのポリシーとの間で矛盾を起こさずにポリシー内容を変更できる範囲を示す変更可能範囲を保持する変更可能範囲保持手段と、所定のポリシーについて変更対象として受け付けたポリシー内容が、前記変更可能範囲保持手段によって保持された当該所定のポリシーの変更可能範囲内であるか否かを判定する変更可能範囲判定手段と、を備えたことを特徴とする。
本発明によれば、複数のポリシーごとに、変更可能範囲を所定の記憶部に保持し、所定のポリシーについて変更対象として受け付けたポリシー内容が、当該所定のポリシーの変更可能範囲内であるか否かを判定するので、ポリシー変更に際して他の全てのポリシーとの間で矛盾を検証する必要があるか否かを把握することが可能であり、場合によって検証作業を不要にすることも可能である。つまり、変更対象として受け付けたポリシー内容が変更可能範囲内である旨の判定結果が得られれば、他の全てのポリシーとの間で矛盾を検証する作業を行うことなく、迅速にポリシー変更を行うことが可能である。
また、本発明によれば、変更可能範囲の他に、グループ外変更可能範囲をさらに保持し、変更可能範囲内であるか否かを判定する他に、所定のポリシーについて変更対象として受け付けたポリシー内容が、当該所定のポリシーのグループ外変更可能範囲内であるか否かをさらに判定するので、ポリシー変更に際して同一グループ内でのみ矛盾を検証する必要があるか否かを把握することが可能であり、場合によって検証作業を削減することも可能である。つまり、変更対象として受け付けたポリシー内容がグループ外変更可能範囲内である旨の判定結果が得られれば、他の全てのポリシーとの間で矛盾を検証する作業を行うことなく、同一グループ内でのみ検証作業を行えばよく、迅速にポリシー変更を行うことが可能である。
また、本発明によれば、複数のポリシーごとに、ポリシー内容を所定の記憶部に保持し、複数のポリシーごとに、関連情報を所定の記憶部に保持し、複数のポリシーごとに、関連情報から当該ポリシーとの間で矛盾を起こし得る他のポリシーを導き出し、当該導き出した他のポリシーのポリシー内容を読み出して、変更可能範囲および/またはグループ外変更可能範囲を算出して保持するので、変更可能範囲やグループ外変更可能範囲を自動で算出することができ、ポリシー変更の作業を迅速化することが可能である。
また、本発明によれば、ポリシー内容として、等式および/または不等式で規定されたポリシー内容を所定の記憶部に保持し、読み出した他のポリシーの等式および/または不等式を連立させることで、変更可能範囲および/またはグループ外変更可能範囲を算出するので、各ポリシー間における関係を数理的関係として規定することができ、変更可能範囲やグループ外変更可能範囲を数式処理で簡便に算出することが可能である。
また、本発明によれば、保持されたいずれかのポリシーについてポリシー内容が変更された場合に、当該ポリシー内容が変更されたポリシーとの間で矛盾を起こし得る他のポリシーを導き出して、変更可能範囲および/またはグループ外変更可能範囲を算出するので、ポリシー変更が実行されると直ちに、変更可能範囲やグループ外変更可能範囲が改めて算出される結果、ポリシー変更の作業を続けて実行することが可能である。
また、本発明によれば、判定結果を所定の出力部に出力するので、ポリシー変更によって生じる影響を提示することができ、また、再検証が必要なポリシー変更を提示することができ、ポリシー変更の不要な試行を削減することが可能である。
以下に添付図面を参照して、この発明に係るポリシー変更処理プログラム、ポリシー変更処理方法およびポリシー変更処理装置の実施例を詳細に説明する。なお、以下では、本実施例に係るポリシー変更処理装置の概要および特徴、ポリシー変更処理装置の構成および処理の流れを順に説明する。
[用語の説明]
まず最初に、本実施例で用いる主要な用語を説明する。本実施例で用いる「ポリシー(特許請求の範囲に記載の「ポリシー」に対応する。)」とは、処理単位や処理内容などからポリシーを任意に分割したものである。例えば、ソフトウェアごとに(例えば、運用管理ソフトウェア、資源管理ソフトウェア、サービス品質管理ソフトウェアごとになど)ポリシーを分割したものである。
また、本実施例で用いるポリシーには、宣言型と規則型とがある。宣言型とは、系のあるべき状態を示す目標(Goal)や、系が必ず守らなければならない状態を示す制約(Constraint)を表し、例えば、不等式で表される。例を挙げれば、「初期サーバ配備台数 a=1」というポリシーは、「初期サーバ配備台数を表す変数aは1に等しくなければならない」という制約を表す。一方、規則型とは、IF−THEN形式で表され、IFで記述された条件(Condition)を満たしたときにTHENで記述された処置(Action)を実行せよ、という規則を表し、例えば、条件を不等式で表され、処置を何らかのパラメータ操作で表される。例を挙げれば、「IF(サーバプール使用台数 d<5 && 応答時間[s]e>1)THEN [増設処理,d++]」というポリシーは、「サーバプール使用台数を表す変数dは5未満で、かつ、応答時間[s]を表す変数eが1より大きいならば、“増設処理”を実行し、変数dを1増やせ」という規則を表す。
[ポリシー変更処理装置の概要および特徴]
まず最初に、図1を用いて、実施例1に係るポリシー変更処理装置の概要および特徴を説明する。図1は、実施例1に係るポリシー変更処理装置の概要および特徴を説明するための図である。
同図に示すように、複数のポリシー(運用指針)によって制御(ポリシーベース制御)されるシステムがある。このシステムにおいては、互いに矛盾を起こさないようにポリシーの内容が規定されている。例えば、図1に示すシステムでは、運用管理ソフトウェアAにおけるポリシーAと運用管理ソフトウェアBにおけるポリシーBと運用管理ソフトウェアCにおけるポリシーCとが連携することによって、サーバとストレージとネットワークとから構成されるシステムは制御され、また、ポリシーAとポリシーBとポリシーCとは互いに矛盾を起こさないようにポリシー内容が規定されている。
ここで、実施例1に係るポリシー変更処理装置は、システムを制御するために用いられ、互いに矛盾を起こさないようにポリシー内容が規定される複数のポリシーについて、ポリシー内容の変更について処理する装置である。そして、このような概要を有するポリシー変更処理装置は、以下で説明するように、ポリシー変更に際して他の全てのポリシーとの間で矛盾を検証する必要があるか否かを把握することが可能であり、場合によって検証作業を不要にすることも可能である点に主たる特徴がある。
すなわち、実施例1に係るポリシー変更処理装置は、複数のポリシーごとに、他の全てのポリシーとの間で矛盾を起こさずにポリシー内容を変更できる範囲を示す変更可能範囲を記憶する。例えば、図1に示すように、ポリシーとして「ポリシーA(例 a=1)」、「ポリシーB(例 b=5)」および「ポリシーC(例 c=100)」を有し、各ポリシーごとに、関連情報である「ポリシー関連情報」から変更可能範囲である「スコープ1(a≦5、5≦b≦25、c≦100)」を記憶する。
そして、実施例1に係るポリシー変更処理装置は、所定のポリシーについて変更対象として受け付けたポリシー内容が、所定のポリシーの変更可能範囲内であるか否かを判定する。具体的には、受付けたポリシー変更(例えば、「a=4」)が所定のポリシー変更可能範囲(例えば、「a≦5」)内であると判定した場合には(図1の(2)参照)、検証する必要なしと判定し、ポリシーを変更する(図1の(8)参照)。つまり、他のポリシーと矛盾を起こさないかを検証することなく、ポリシーを変更する。
一方、実施例1に係るポリシー変更処理装置は、受付けたポリシー変更(例えば、「a=9」)が所定のポリシー変更可能範囲(例えば、「a≦5」)内にないと判定した場合には(図1の(3)参照)、検証する必要ありと判定し、そのほかのポリシーと矛盾を起こさないかを検証する(図1の(4)参照)。なお、矛盾が生じるかについての検証は、実施例1に係るポリシー変更処理装置が行ってもよく(例えば、検証機能を内蔵する場合など)、実施例1に係るポリシー変更処理装置が行わなくてもよい(例えば、外部の装置や手動によって検証される場合など)。
そして、実施例1に係るポリシー変更処理装置は、検証の結果、矛盾が生じるポリシー変更である場合には(例えば、「a=100」)、ポリシー変更を行わず(図1の(7)参照)、一方、矛盾が生じないポリシー変更である場合には(例えば、「a=9」)、ポリシー変更する(図1の(8)参照)。そして、ポリシー変更を行うと、システムが有するポリシー(例えば、運用管理ソフトウェアAにおけるポリシーAと、運用管理ソフトウェアBにおけるポリシーBと、運用管理ソフトウェアCにおけるポリシーC)を更新する(図1の(9)参照)。
このようなことから、実施例1に係るポリシー変更処理装置は、上記した主たる特徴の如く、ポリシー変更に際して他の全てのポリシーとの間で矛盾を検証する必要があるか否かを把握することが可能であり、場合によって検証作業を不要にすることも可能である。つまり、変更対象として受け付けたポリシー内容が変更可能範囲内である旨の判定結果が得られれば、他の全てのポリシーとの間で矛盾を検証する作業を行うことなく、迅速にポリシー変更を行うことが可能である。
[ポリシー変更処理装置の構成]
次に、図2を用いて、実施例1に係るポリシー変更処理装置の構成を説明する。図2は、実施例1におけるポリシー変更処理装置の構成を示すブロック図である。同図に示すように、このポリシー変更処理装置は、入力部11と、出力部12と、入出力制御IF部20と、制御部30と、記憶部40とから構成される。
入力部11は、各種の情報の入力を受付け、例えば、キーボードやマウス、マイクなどが相当し、本発明と関連するものとしては、ポリシー変更などを受け付けて入力する。また、出力部12は、各種の情報を出力し、例えば、モニタ(若しくはディスプレイ、タッチパネル)やスピーカなどが相当し、本発明と関連するものとしては、後述する変更可能範囲判定結果などを表示して出力する。また、入出力制御IF部20は、ポリシー変更処理装置においてやり取りする各種情報に関する通信を制御し、本発明と関連するものとしては、入力部11から入力されたポリシー変更を後述する制御部30へ送信する通信を制御する。
記憶部40は、各種処理に必要なデータおよびプログラムを格納する。そして、本発明に密接に関連するものとしては、図2に示すように、ポリシー記憶部41と、ポリシー関連情報記憶部42と、変更可能範囲記憶部43とを備える。なお、ポリシー記憶部41は、特許請求の範囲に記載の「ポリシー保持手順」に対応し、ポリシー関連情報記憶部42は、特許請求の範囲に記載の「関連情報保持手順」に対応し、変更可能範囲記憶部43は、特許請求の範囲に記載の「変更可能範囲保持手順」に対応する。
ポリシー記憶部41は、複数のポリシーごとに、等式および/または不等式で規定されたポリシー内容を記憶する。具体的には、図3に示すように、ポリシーを一意に識別する「ポリシー番号」と、ポリシーの種別を示す「ポリシー種別」と、ポリシーの内容を示す「ポリシーの内容」とを対応付けて記憶する。
例えば、図3に示す例では、ポリシー記憶部41は、「ポリシー番号」、「ポリシー種別」および「ポリシーの内容」として、「1」と「宣言型」と「初期サーバ配備台数a=1」とを対応付けて記憶し、「5」と「規則型」と「IF (サーバプール使用台数 d<5 && 応答時間[s] e>1)THEN[増設処理,d++ ]」とを対応付けて記憶する。なお、図3は、実施例1におけるポリシー記憶部に記憶されるポリシーの一例を示す図である。
ポリシー関連情報記憶部42は、複数のポリシーごとに、他のいずれのポリシーとの間で矛盾を起こし得る関連があるかを示す関連情報を記憶する。具体的には、図4に示すように、関連情報を一意に識別する「順番」と、他のいずれのポリシーとの間で矛盾を起こしうる関連があるポリシーを示す「関連するポリシー番号」と、関連があるポリシー間における関連の仕方を示す「どのように関連するか」とを対応付けて記憶する。
例えば、図4に示す例では、ポリシー関連情報記憶部42は、「順番」、「関連するポリシー番号」および「どのように関連するか」として、「1」と「1、2」と「a≦b」とを対応付けて記憶するとともに、「2」と「2,3」と「c≦b*20」とを対応付けて記憶する。なお、図4は、実施例1におけるポリシー関連情報記憶部に記憶されるポリシー関連情報の一例を示す図である。
変更可能範囲記憶部43は、複数のポリシーごとに、他の全てのポリシーとの間で矛盾を起こさずにポリシー内容を変更できる範囲を示す変更可能範囲を記憶する。具体的には、後述する変更可能範囲算出部31によって算出された変更可能範囲を記憶する。より詳細には、図5に示すように、「ポリシー番号」と、変更可能範囲を示す「スコープ1」とを対応付けて記憶する。
例えば、図5に示す例では、変更可能範囲記憶部43は、「ポリシー番号」および「スコープ1」として、「1」と「a≦5」とを対応付けて記憶するとともに、「2」と「5≦b≦25」とを対応付けて記憶する。なお、図5は、実施例1における変更可能範囲記憶部に記憶される変更可能範囲の一例を示す図である。
制御部30は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行してポリシー変更処理装置を制御する。そして、本発明に密接に関連するものとしては、図2に示すように、変更可能範囲算出部31と、変更可能範囲判定部32と、変更可能範囲出力部33と、変更検証部34と、ポリシー更新部35とを備える。なお、変更可能範囲算出部31は、特許請求の範囲に記載の「範囲算出手順」に対応し、変更可能範囲判定部32は、特許請求の範囲に記載の「変更可能範囲判定手順」に対応し、変更可能範囲出力部33は、特許請求の範囲に記載の「判定結果出力手順」に対応する。
変更可能範囲算出部31は、複数のポリシーごとに、ポリシー関連情報記憶部42によって記憶された関連情報からポリシーとの間で矛盾を起こし得る他のポリシーを導き出し、導き出した他のポリシーのポリシー内容をポリシー記憶部41から読み出して、変更可能範囲を算出する。具体的には、ポリシー記憶部41から読み出した他のポリシーの等式および/または不等式を連立させることで、変更可能範囲を算出する。なお、変更可能範囲算出部31による処理の詳細は、後に図7を用いて説明する。
変更可能範囲判定部32は、所定のポリシーについて変更対象として受け付けたポリシー内容が、変更可能範囲記憶部43によって記憶された所定のポリシーの変更可能範囲内であるか否かを判定する。具体的には、ポリシー変更を受付けると(例えば、「a=4」、「a=9」など)、受付けたポリシー変更が所定の変更範囲(例えば「a≦5」など)内にあるかどうかを判定し、所定のポリシー変更可能範囲内にあると判定した場合には、検証する必要なしと判定し、受付けたポリシー変更(例えば、「a=9」など)が所定のポリシー変更可能範囲(例えば、「a≦5」)内にないと判定した場合には、その他全てのポリシーとの間で矛盾を起こすか否かについて検証する必要ありと判定する。そして、例えば、後述する変更可能範囲出力部33に判定結果を送信する。
変更可能範囲出力部33は、変更可能範囲判定部32によって判定された判定結果を出力部12に出力する。例えば、図6に示すように、変更可能範囲判定部32から判定結果を受信した場合に、変更可能範囲判定部32による判定結果と、ポリシー変更を受付けて表示するフィールド(つまり、「ポリシー番号」と「ポリシー変更内容」)と、受付けたポリシーと関連するポリシーと、受付けたポリシーについての変更可能範囲と、変更処理を受付けるボタンである「はい」と、変更処理を行わずに処理を終了するボタンである「いいえ」とからなる画面データを出力部12を介して表示する。
例えば、図6に示す例では、変更可能範囲出力部33は、判定結果として「即時変更可能」と、ポリシー変更を受付けて表示するフィールドに「4」と、受付けたポリシー変更と関連するポリシーとして「1、2」と、受付けたポリシーについての変更可能範囲を「5以下」とからなる画面を表示する。なお、図6は、実施例1におけるポリシー変更判定処理の結果を示す画面の一例を示す図である。
変更検証部34は、ポリシー変更を行う指示を受付けた場合に、ポリシー更新部35によってポリシー変更を行わせるかどうかを検証する。具体的には、ポリシー変更を行う指示を受付けた場合には(例えば、図6に示す例では、「はい」指示を受付けた場合には)、変更可能範囲判定部32によって、受付けたポリシー変更が検証する必要なしと判定されている場合には、ポリシー更新部35に変更指示を行いポリシー変更させ、処理を終了する。また、変更可能範囲判定部32によって、受付けたポリシー変更がその他全てのポリシーとの間で矛盾を起こすか否かについて検証する必要ありと判定されている場合には、検証を実行する。そして、検証の結果、問題なしと(矛盾を起こさないと)判定された場合には、ポリシー更新部35に変更指示を行いポリシー変更させて、処理を終了し、また、問題ありと(矛盾を起こすと)判定された場合には、変更できない旨使用者に通知し、処理を終了する。一方、ポリシー変更を行う指示を受付けなかった場合には(例えば、図6に示す例では、「いいえ」指示を受付けた場合には)、処理を終了する。
ポリシー更新部35は、変更検証部34によって変更指示を受付けると、入力部11から入力されたポリシー変更の内容を、ポリシー記憶部41に記憶されているポリシーに反映して更新する。例えば、図6に示す例では、「ポリシー1」の「a=1」を「a=4」にするポリシー変更を行う。
なお、このポリシー変更処理装置は、既知のパーソナルコンピュータやワークステーションなどの情報処理装置に、上記した各部の機能を搭載することによって実現することもできる。
[ポリシー変更処理装置による変更範囲算出処理]
次に、図7を用いて、実施例1における変更範囲算出処理を説明する。図7は、実施例1における変更可能範囲算出の処理を示すフローチャートである。
図7に示すように、変更可能範囲算出部31は、システムが最初に起動すると、ポリシー記憶部41に記憶されたポリシーを一つ選択し(ステップS101)、選択したポリシーが宣言型か規則型かを判定する(ステップS102)。そして、宣言型のポリシーである場合には(ステップS102肯定)、このポリシーにおける不等式および/または等式の定数を「x」と置く(ステップS103)。また、宣言型でない場合には(ステップS102否定)、つまり、規則型のポリシーの場合には、このポリシーにおける条件内にある不等式および/または等式の定数を「x」と置く(ステップS104)。例えば、「ポリシー番号:1」および「ポリシー内容:初期サーバ配備台数a=1」というポリシーを選択した場合、このポリシーは宣言型であり、「初期サーバ配備台数 a = x」とする。
そして、変更可能範囲算出部31は、選択したポリシーに関連するすべてのポリシーを、ポリシー関連情報記憶部42から取得する(ステップS105)。例えば、「ポリシー番号:1」および「ポリシー内容:初期サーバ配備台数a=1」というポリシーを選択した場合、「ポリシー番号:1」と関連するポリシー番号である「ポリシー番号:2」を取得する(図4参照)。そして「ポリシー番号:2」に対応する「ポリシー内容」である「サーバプール上限台数b=5」を取得する(図3参照)。
そして、変更可能範囲算出部31は、取得したすべてのポリシーについての等式および/または不等式を取得する(ステップS106)。例えば、「ポリシー番号:2」というポリシーを取得した場合、「サーバプール上限台数b=5」を取得する(図3参照)。そして、選択したポリシーについて、ポリシー関連情報記憶部42に記憶されている「どのように関連するか」を取得する(ステップS107)。例えば、「a≦b」を取得する(図4参照)。
そして、変更可能範囲算出部31は、取得したすべての等式および/または不等式が成立すると仮定し(ステップS108)、「x」の取りうる範囲を算出する(ステップS109)。例えば、「a=x」と「b=5」と「a≦b」とが成立すると仮定して「x」を算出することにより、「a≦5」が算出される(図3および図4参照)。
そして、変更可能範囲算出部31は、全てのポリシーについて変更可能範囲を算出した場合には(ステップS110肯定)、算出した変更可能範囲をスコープ1として変更可能範囲記憶部43に記録して処理を終了し(ステップS111)、全てのポリシーについて変更可能範囲を算出していない場合には(ステップS110否定)、他のポリシーを選択して、変更可能範囲を算出する(ステップS101〜S109)。
[ポリシー変更処理装置によるポリシー変更判定処理]
次に、図8を用いて、実施例1における変更範囲判定処理を説明する。図8は、実施例1における変更可能範囲判定の処理を示すフローチャートである。
図8に示すように、変更可能範囲判定部32は、ポリシー変更(例えば、「a=4」、「a=9」など)を受付けると(ステップS201肯定)、受付けたポリシー変更とスコープ1(例えば「a≦5」など)とが一致するかを判定する(ステップS202)。つまり、受付けたポリシー変更が所定の変更可能範囲内にあるかどうかを判定する。
そして、変更可能範囲判定部32は、受付けたポリシー変更(例えば、「a=4」など)がスコープ1(例えば、「a≦5」)と一致すると判定した場合には(ステップS202肯定)、検証する必要なしと判定し(ステップS203)、受付けたポリシー変更(例えば、「a=9」など)がスコープ1と一致しないと判定した場合には(ステップS202否定)、その他全てのポリシーとの間で矛盾を起こすか否かについて検証する必要ありと判定する(ステップS204)。
そして、変更可能範囲出力部33は、変更可能範囲判定部32によって判定された判定結果を通知する(ステップS205)。つまり、例えば、図6に示す例では、変更可能範囲出力部33は、判定結果(例えば、「即時変更可能」や「検証必要」など)や変更可能範囲(例えば、「5以下」など)などを表示して通知する。
そして、変更検証部34は、ポリシー変更を行う指示を受付けた場合には(ステップS206肯定)、ポリシー更新部35によってポリシー変更を行わせるかどうかを検証する(ステップS207)。一方、ポリシー変更を行う指示を受付けなかった場合には(ステップS206否定)、処理を終了する。
ここで、変更検証部34は、変更可能範囲判定部32によって、受付けたポリシー変更が検証する必要なしと判定されている場合には(ステップS207否定)、ポリシー更新部35に変更指示を行いポリシー変更させる(ステップS211)。また、変更可能範囲判定部32によって、受付けたポリシー変更がその他全てのポリシーとの間で矛盾を起こすか否かについて検証する必要ありと判定されている場合には(ステップS207肯定)、検証を実行する(ステップS208)。そして、検証の結果、問題なしと(矛盾を起こさないと)判定された場合には(ステップS209肯定)、ポリシー更新部35に変更指示を行いポリシー変更させ(ステップS211)、また、問題ありと(矛盾を起こすと)判定された場合には(ステップS209否定)、変更できない旨使用者に通知し、処理を終了する(ステップS210)。
[実施例1の効果]
上記したように、実施例1によれば、ポリシー変更処理装置は、複数のポリシーごとに変更可能範囲を記憶し、所定のポリシーについて変更対象として受け付けたポリシー内容が、当該所定のポリシーの変更可能範囲内であるか否かを判定するので、ポリシー変更に際して他の全てのポリシーとの間で矛盾を検証する必要があるか否かを把握することが可能であり、場合によって検証作業を不要にすることも可能である。つまり、変更対象として受け付けたポリシー内容が変更可能範囲内である旨の判定結果が得られれば、他の全てのポリシーとの間で矛盾を検証する作業を行うことなく、迅速にポリシー変更を行うことが可能である。
また、実施例1によれば、ポリシー変更処理装置は、複数のポリシーごとに、ポリシー内容を記憶し、複数のポリシーごとに、関連情報を記憶し、複数のポリシーごとに、関連情報から当該ポリシーとの間で矛盾を起こし得る他のポリシーを導き出し、当該導き出した他のポリシーのポリシー内容を読み出して、変更可能範囲および/またはグループ外変更可能範囲を算出して保持するので、変更可能範囲やグループ外変更可能範囲を自動で算出することができ、ポリシー変更の作業を迅速化することができる。
また、実施例1によれば、ポリシー変更処理装置は、ポリシー内容として、等式および/または不等式で規定されたポリシー内容を記憶し、読み出した他のポリシーの等式および/または不等式を連立させることで、変更可能範囲および/またはグループ外変更可能範囲を算出するので、各ポリシー間における関係を数理的関係として規定することができ、変更可能範囲やグループ外変更可能範囲を数式処理で簡便に算出することが可能である。
また、実施例1によれば、ポリシー変更処理装置は、判定結果を所定の出力部に出力するので、ポリシー変更によって生じる影響を提示することができ、また、再検証が必要なポリシー変更を提示することができ、ポリシー変更の不要な試行を削減することが可能である。
さて、これまで、実施例1として、他の全てのポリシーとの間で矛盾を起こないポリシー変更か否かのみを判定する場合について説明したが、本発明はこれに限定されるものではなく、所属するグループ以外のポリシーとの間で矛盾を起こさないポリシー変更か否かを判定してもよい。
そこで、以下では、実施例2として、所属するグループ以外のポリシーとの間で矛盾を起こさないポリシー変更か否かも判定する場合について説明する。なお、以下では、実施例1に係るポリシー変更処理装置と同様の点については、簡単に説明することにする。
[実施例2に係るポリシー変更処理装置の特徴]
まず最初に、図9を用いて、実施例2に係るポリシー変更処理装置の特徴を説明する。図9は、実施例2に係るポリシー変更処理装置の特徴を説明するための図である。
同図に示すように、実施例2に係るポリシー変更処理装置は、システムを制御するために用いられる複数のポリシーを任意のグループに区分けして記憶する。例えば、図9に示す例では、ポリシーグループ1とポリシーグループ2とポリシーグループ3とポリシーグループ4とに区分けして記憶する。
そして、実施例2に係るポリシー変更処理装置は、実施例1で説明した変更可能範囲の他に、複数のポリシーごとに、各ポリシーが属するグループ以外の全てのポリシーとの間で矛盾を起こさずにポリシー内容を変更できる範囲を示すグループ外変更可能範囲をさらに記憶する。例えば、図9に示す例では、「スコープ1」(変更可能範囲)として「5≦b≦25」を記憶し、「スコープ2」(グループ外変更可能範囲)として「b≦25」をさらに記憶する。
そして、実施例2に係るポリシー変更処理装置は、変更可能範囲内であるか否かを判定する他に、所定のポリシーについて変更対象として受け付けたポリシー内容が、グループ外変更可能範囲内であるか否かをさらに判定する。具体的には、受付けたポリシー変更(例えば、「b=2」、「b=100」)が所定のポリシーについての変更可能範囲(例えば、図9に示す例では、「スコープ1(5≦b≦25)」)内にないと判定した場合に、(図9の(3)参照)、所定のグループ外変更可能範囲(図9に示す例では、「スコープ2(b≦25)」)内であるかを判定する。
そして、実施例2に係るポリシー変更処理装置は、受付けたポリシー変更が(例えば、「b=2」)、所定のグループ外変更可能範囲(図9に示す例では、「スコープ2(b≦25)」)内にあると判定した場合には(図9の(4)参照)、所属するポリシーグループ(例えば、「ポリシーグループ1」)についてのみ検証する必要ありと判定し(図9の(6)参照)、所属するポリシーグループについてのみ矛盾を起こさないかを検証する。また、受付けたポリシー変更が(例えば、「b=100」)、所定のグループ外変更可能範囲内にないと判定した場合には(図9の(5)参照)、他の全てのポリシーについて検証する必要ありと判定し(図9の(7)参照)、すべてのポリシーについて矛盾を起こさないかを検証する。
そして、実施例2に係るポリシー変更処理装置は、検証対象となるポリシーを検証した結果、矛盾が生じるポリシー変更(例えば、「b=100」)である場合には(図1の(9)参照)、ポリシー変更を行わず(図1の(10)参照)、一方、矛盾が生じないポリシー変更である場合には(図1の(8)参照)、ポリシー変更する(図1の(11)参照)。
このようなことから、実施例2に係るポリシー変更処理装置は、ポリシー変更を行う場合に、矛盾を起こすか否かについて検証するポリシーの範囲を限定することができ、迅速なポリシー変更をすることが可能であるので、変更対象として受け付けたポリシー内容がグループ外変更可能範囲内である旨の判定結果が得られれば、各ポリシーが属するグループ以外の全てのポリシーとの間で矛盾を検証する作業を行うことなく、迅速にポリシー変更を行うことが可能である。
なお、上記したポリシーグループは、一つのポリシーが単数または複数のポリシーグループに属してよい。例えば、図9に示す例では、ポリシー1がポリシーグループ1にのみ属する場合について説明したが、本発明はこれに限定されるものではなく、ポリシー1が、ポリシーグループ1およびポリシーグループ2に属する場合などでもよい。
[実施例2に係るポリシー変更処理装置の構成]
次に、図10を用いて、実施例2に係るポリシー変更処理装置の構成を説明する。図10は、実施例2におけるポリシー変更処理装置の構成を示すブロック図である。同図に示すように、実施例2に係るポリシー変更処理装置は、入力部11と、出力部12と、入出力制御IF部20と、制御部30と、記憶部40とから構成される。
ここで、実施例1と同様の動作をするものについては、同じ番号を付して説明を省略し、以下では、変更可能範囲算出部31bと、変更可能範囲判定部32bと、変更検証部34bと、変更可能範囲記憶部43bと、ポリシーグループ記憶部44とについてのみ説明を行う。
ポリシーグループ記憶部44は、複数のポリシーが区分けされるグループを記憶する。具体的には、図11に示すように、ポリシーグループを一意に識別する「ポリシーグループ」と、単数または複数の「ポリシー番号」とを対応付けて記憶する。例えば、図11に示す例では、ポリシーグループ記憶部44は、「ポリシーグループ」および「ポリシー番号」として、「1」と「1、2、3」とを対応づけて記憶し、「2」と「4」とを対応付けて記憶する。なお、図11は、実施例2におけるポリシーグループ記憶部に記憶されるポリシーグループの一例を示す図である。
変更可能範囲記憶部43bは、変更可能範囲(スコープ1)を記憶する他に、複数のポリシーごとに、各ポリシーが属するグループ以外の全てのポリシーとの間で矛盾を起こさずにポリシー内容を変更できる範囲を示すグループ外変更可能範囲をさらに記憶する。具体的には、変更可能範囲(スコープ1)を記憶する他に、図12に示すように、「ポリシー番号」と、グループ外変更可能範囲を示す「スコープ2」とを対応付けて記憶する。例えば、図12に示す例では、「ポリシー番号」および「スコープ2」として、「2」と「b≦25」とを対応付けて記憶し、「5」と「d<5」とを対応付けて記憶する。なお、図12は、実施例2における変更可能範囲記憶部に記憶されるグループ外変更可能範囲の一例を示す図である。
変更可能範囲算出部31bは、変更可能範囲(スコープ1)を算出する他に、複数のポリシーごとに、ポリシー関連情報記憶部42によって記憶された関連情報からポリシーとの間で矛盾を起こし得る他のポリシーを導き出し、導き出した他のポリシーのポリシー内容をポリシー記憶部41から読み出して、グループ外変更可能範囲を算出する。具体的には、ポリシー記憶部41から読み出した他のポリシーの等式および/または不等式を連立させることで、グループ外変更可能範囲を算出する。なお、変更可能範囲算出部31bによる処理の詳細は、後に図13を用いて説明する。
変更可能範囲判定部32bは、変更可能範囲内であるか否かを判定する他に、所定のポリシーについて変更対象として受け付けたポリシー内容が、変更可能範囲記憶部43bによって記憶された所定のポリシーのグループ外変更可能範囲内であるか否かをさらに判定する。
具体的には、変更可能範囲判定部32bは、ポリシー変更を受付けて(例えば、「b=4」、「b=5」、「b=100」など)、受付けたポリシー変更が所定の変更範囲(例えば「5≦b≦25」など)内にないと判定すると、受付けたポリシー変更がグループ外変更可能範囲(例えば、「b≦25」など)内にあるか否かを判定する。そして、受付けたポリシー変更がグループ外変更可能範囲内にあると判定した場合には(例えば、「b=4」の場合)、所属するグループ内についてのみ検証する必要があると判定し、受付けたポリシー変更がグループ外変更可能範囲内にないと判定した場合には(例えば、「b=100」の場合)、その他全てのポリシーとの間で矛盾を起こすか否かについて検証する必要ありと判定する。
変更検証部34bは、ポリシー変更を行う指示を受付けた場合に、ポリシー更新部35によってポリシー変更を行わせるかどうかを検証する。具体的には、変更可能範囲判定部32bによって、受付けたポリシー変更が検証する必要なしと判定されている場合には、ポリシー更新部35に変更指示を行いポリシー変更させ、処理を終了する。
そして、変更検証部34bは、変更可能範囲判定部32bによって、所属するポリシーグループについてのみ検証する必要ありと判定されている場合には、所属するポリシーグループについてのみ矛盾を起こさないかを検証し、また、受付けたポリシー変更がその他全てのポリシーとの間で矛盾を起こすか否かについて検証する必要ありと判定されている場合には、すべてのポリシーについて矛盾を起こさないか検証する。その後、検証の結果、問題なしと(矛盾を起こさないと)判定された場合には、ポリシー更新部35に変更指示を行いポリシー変更させ、また、問題ありと(矛盾を起こすと)判定された場合には、変更できない旨使用者に通知し、処理を終了する。
[実施例2に係るポリシー変更処理装置による変更範囲算出処理]
次に、図13を用いて、実施例2におけるグループ外変更可能範囲算出処理を説明する。なお、図13は、実施例2におけるグループ外変更可能範囲算出の処理を示すフローチャートである。
図13に示すように、変更可能範囲算出部31bは、システムが最初に起動すると、ポリシー記憶部41に記憶されたポリシーを一つ選択し(ステップS301)、選択したポリシーが宣言型か規則型かを判定する(ステップS302)。そして、宣言型のポリシーである場合には(ステップS302肯定)、このポリシーにおける不等式および/または等式の定数を「x」と置く(ステップS303)。また、宣言型でない場合には(ステップS302否定)、つまり、規則型のポリシーの場合には、このポリシーにおける条件内にある不等式および/または等式の定数を「x」と置く(ステップS304)。例えば、「ポリシー番号:2」および「ポリシー内容:サーバプール上限台数b=5」というポリシーを選択した場合(図3参照)、このポリシーは宣言型であり、「サーバプール上限台数b=x」とする。
そして、変更可能範囲算出部31bは、選択したポリシーに関連するすべてのポリシーを、ポリシー関連情報記憶部42から取得する(ステップS305)。例えば、「ポリシー番号:2」および「ポリシー内容:サーバプール上限台数b=5」というポリシーを選択した場合、「ポリシー番号:2」と関連するポリシー番号である「ポリシー番号:1、3、5、6、8」を取得する(図4参照)。そして、取得した「ポリシー番号」に対応する「ポリシー内容」を取得する。
そして、変更可能範囲算出部31bは、選択したポリシーの属するポリシーグループに属するポリシーを除外する(ステップS306)。つまり、例えば、図11に示す例では、「ポリシー番号:2」についてのポリシーを選択した場合、このポリシーが属しているポリシーグループは「1」であり、「ポリシー番号:1、3」についてのポリシーを除外する。そして、取得した残ったポリシーである「ポリシー番号:5、6、8」についての等式および/または不等式を取得する(ステップS307)。例えば、「b=x」と「d<5&&[s]e>1」と「d==5&&e>1」と「s=25」とを取得する(図3参照)。そして、選択したポリシーについて、ポリシー関連情報記憶部42に記憶されている「どのように関連するか」を取得する(ステップS308)。例えば、「d<b」「d≦b」と「b≦s」とを取得する(図4参照)。
そして、変更可能範囲算出部31bは、取得したすべての等式および/または不等式が成立すると仮定し(ステップS309)、「x」の取りうる範囲を算出する(ステップS310)例えば、「b=x」と「d<5&&[s]e>1」と「d==5&&e>1」と「s=25」と、「d<b」と「d≦b」と「b≦s」とが成立すると仮定して「x」を算出することにより、「b≦25」が算出される。
そして、変更可能範囲算出部31bは、全てのポリシーについて変更可能範囲を算出した場合には(ステップS311肯定)、算出した変更可能範囲をスコープ2として変更可能範囲記憶部43bに記録して処理を終了する(ステップS312)。一方、全てのポリシーについて変更可能範囲を算出していない場合には(ステップS311否定)、他のポリシーを選択して、変更可能範囲を算出する(ステップS301〜S310)。
[実施例2に係るポリシー変更処理装置によるポリシー変更判定処理]
次に、図14を用いて、実施例2におけるグループ外変更可能範囲判定の処理を説明する。なお、図14は、実施例2におけるグループ外変更可能範囲判定の処理を示すフローチャートである。
図14に示すように、変更可能範囲判定部32bは、ポリシー変更(例えば、「b=2」、「b=10」、「b=100」など)を受付けると(ステップS401肯定)、受付けたポリシー変更とスコープ1(例えば、「5≦b≦25」)とが一致するかを判定する(ステップS402)。つまり、受付けたポリシー変更が所定の変更可能範囲(例えば「a≦5」など)内にあるかどうかを判定する。
そして、変更可能範囲判定部32bは、スコープ1(例えば、「5≦b≦25」)と一致する場合には(ステップS402肯定)、つまり、受付けたポリシー変更(例えば、「b=9」など)が所定のポリシー変更可能範囲内にあると判定した場合には、検証する必要なしと判定する(ステップS403)。一方、スコープ1と一致しない場合には(ステップS402否定)、つまり、受付けたポリシー変更(例えば、「b=10」や「b=100」など)が所定のポリシー変更可能範囲内にないと判定した場合には、スコープ2と一致するかを判定する(ステップS404)。
そして、変更可能範囲判定部32bは、スコープ1と一致せず、スコープ2と一致する場合には(ステップS402否定およびS404肯定)、つまり、受付けたポリシー変更(例えば、「b=2」など)が所定のグループ外変更可能範囲内(例えば、「b≦25」)にあると判定した場合には、所属するポリシーグループについてのみ検証する必要ありと判定する(ステップS405)。
そして、一方、変更可能範囲判定部32bは、スコープ1と一致せず、スコープ2とも一致しない場合には(ステップS402否定およびS404否定)、つまり、受付けたポリシー変更(例えば、「b=100」など)が所定のグループ外変更可能範囲内(例えば、「b≦25」)にないと判定した場合には、全体を(すべてのポリシーを)検証する必要ありと判定する(ステップS406)。
そして、変更可能範囲出力部33は、変更可能範囲判定部32bによって判定された判定結果を通知する(ステップS407)。つまり、例えば、スコープ1と一致した場合には(ステップS402肯定)、図6に示すように、判定結果として「即時変更可能です」などからなる画面データを出力して通知し、また、スコープ1と一致せず、スコープ2と一致する場合には(ステップS402否定およびS404肯定)、図15に示すように、判定結果として「グループ内検証が必要です」などからなる画面データを表示して通知し、また、スコープ1と一致せず、スコープ2とも一致しない場合には(ステップS402否定およびS404否定)、図16に示すように、判定結果として「全体検証が必要です」などからなる画面データを出力して通知する。なお、図15および図16は、実施例2におけるポリシー変更判定処理の結果を示す画面の一例を示す図である。
そして、変更検証部34bは、ポリシー変更を行う指示を受付けた場合には(ステップS408肯定)、ポリシー更新部35によってポリシー変更を行わせるかどうかを検証する(ステップS409)。一方、ポリシー変更を行う指示を受付けなかった場合には(ステップS408否定)、処理を終了する。
ここで、変更検証部34bは、変更可能範囲判定部32bによって、受付けたポリシー変更が検証する必要なしと判定されている場合には(ステップS409否定)、ポリシー更新部35に変更指示を行いポリシーを変更させる(ステップS415)。
そして、変更検証部34bは、変更可能範囲判定部32bによって、所属するポリシーグループについてのみ検証する必要ありと判定されている場合には(ステップS409肯定およびS410肯定)、所属するポリシーグループについてのみ矛盾を起こさないかを検証し(ステップS412)、また、受付けたポリシー変更がその他全てのポリシーとの間で矛盾を起こすか否かについて検証する必要ありと判定されている場合には(ステップS409肯定およびS410否定)、すべてのポリシーについて矛盾を起こさないか検証する(ステップS411)。その後、検証の結果、問題なしと(矛盾を起こさないと)判定された場合には(ステップS413肯定)、ポリシー更新部35に変更指示を行いポリシー変更させ(ステップS415)、また、問題ありと(矛盾を起こすと)判定された場合には(ステップS413否定)、変更できない旨使用者に通知し、処理を終了する(ステップS414)。
[実施例2の効果]
上記したように、実施例2によれば、ポリシー変更処理装置は、変更可能範囲の他に、グループ外変更可能範囲をさらに記憶し、変更可能範囲内であるか否かを判定する他に、所定のポリシーについて変更対象として受け付けたポリシー内容が、当該所定のポリシーのグループ外変更可能範囲内であるか否かをさらに判定するので、ポリシー変更に際して同一グループ内でのみ矛盾を検証する必要があるか否かを把握することが可能であり、場合によって検証作業を削減することも可能である。つまり、変更対象として受け付けたポリシー内容がグループ外変更可能範囲内である旨の判定結果が得られれば、他の全てのポリシーとの間で矛盾を検証する作業を行うことなく、同一グループ内でのみ検証作業を行えばよく、迅速にポリシー変更を行うことが可能である。
ところで、これまで実施例1および2に係るポリシー変更処理装置について説明してきたが、この発明は上記した実施例以外にも種々の異なる形態にて実施されてよいものである。そこで、以下では、実施例3に係るポリシー変更処理装置として、異なる実施例を説明する。
(1)変更可能範囲等算出タイミング
上記の実施例においては、システムが最初に起動すると、変更可能範囲および/またはグループ外変更可能範囲を算出する場合について説明したが、本発明はこれに限定されるものではなく、ポリシーが変更された場合に算出してもよい。
具体的には、ポリシー変更処理装置は、所定の記憶部に記憶されたいずれかのポリシーについてポリシー内容が変更された場合に、ポリシー内容が変更されたポリシーとの間で矛盾を起こし得る他のポリシーを導き出して、変更可能範囲および/またはグループ外変更可能範囲を算出する。
より詳細には、図17に示すように、ポリシー変更処理装置は、ポリシー更新部35によって、図8や図14で説明したポリシー変更があると(ステップS501肯定)、つまり、入力部11から入力されたポリシー変更の内容を、ポリシー記憶部41に記憶されているポリシーに反映して更新されると、変更可能範囲および/またはグループ外変更可能範囲を再度算出する(ステップS502)。なお、図17は、実施例3における変更可能範囲再算出の処理を示すフローチャートである。
このように、ポリシー内容が変更された場合に、変更可能範囲および/またはグループ外変更可能範囲を算出するので、ポリシー変更が実行されると直ちに、変更可能範囲やグループ外変更可能範囲が改めて算出される結果、ポリシー変更の作業を続けて実行することが可能である。
なお、ポリシー変更処理装置は、ポリシー変更を行うと、全てのポリシーについて変更可能範囲および/またはグループ外変更可能範囲を再度算出してもよいし、ポリシー変更によって影響をうける(変更するポリシーと関連する)ポリシーについてのみ再算出するなどしてもよい。ここで例をあげて説明すると、図4に示す例では、「ポリシー1」について、「a=1」から「a=4」へと変更するポリシー変更を行うと、「ポリシー1」に関連するポリシーである「ポリシー2」についてのみ再度算出してもよいし、また、他の全てのポリシーについて再度算出するなどしてもよい。
なお、上記の実施例においては、システムが最初に起動した場合や、ポリシー変更がされた場合に、変更可能範囲および/またはグループ外変更可能範囲を算出する場合について説明したが、本発明はこれに限定されるものではなく、例えば、使用者による任意のタイミングや一定期間ごとに行ってもよい。
(2)変更可能範囲等算出方法
また、上記の実施例においては、変更可能範囲やグループ外変更可能範囲を数理的に算出する場合について説明したが、本発明はこれに限定されるものではなく、値を一つずつシミュレーション的に試行することによって算出してもよい。
(3)システム
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる(例えば、ポリシー更新を自動で行うなど)。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報(例えば、図1,3,4,5,6,9,11,12,15,16など)については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる(例えば、図2における変更可能範囲算出部31と変更可能範囲判定部32を結合し、または、ポリシー更新部35を分離して構成するなど)。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、上記の実施例においては、ポリシー変更処理装置が独立した装置として存在してポリシーベース制御によりシステムを制御する場合について説明したが、本発明はこれに限定されるものではなく、ポリシー変更処理装置が独立して存在した装置として存在しなくてもよい。例えば、図18に示すように、それぞれの各システムの内部に本発明に係るポリシー変更処理装置を備え、それぞれが連携することによって本発明を実施してもよい。なお、図18は、本発明を用いたコンピュータシステムの例を示す図である。
(4)ポリシー変更処理プログラム
ところで、上記実施例1では、ハードウェアロジックによって各種の処理を実現する場合を説明したが、本発明はこれに限定されるものではなく、予め用意されたプログラムをコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図19を用いて、上記の実施例1に示したポリシー変換処理装置と同様の機能を有するポリシー変更処理プログラムを実行するコンピュータの一例を説明する。なお、図19は、実施例1におけるポリシー変更処理装置のプログラムを示す図である。
同図に示すように、ポリシー変更処理装置は、マウス2101、キーボード2102、ディスプレイ2103、通信制御インターフェイス2104、CPU2110、ROM2111、RAM2112、HDD2113をバス2109などで接続して構成されている。
ROM2111には、上記の実施例1で示した制御部30、入出力制御IF部20と同様の機能を発揮する制御プログラムおよび入出力制御プログラム、つまり、図19に示すように、変更可能範囲算出プログラム2111aと、変更可能範囲判定プログラム2111bと、変更可能範囲出力プログラム2111cと、変更検証プログラム2111dと、ポリシー更新プログラム2111eと、入出力制御プログラム2111fとが予め記憶されている。なお、これらのプログラム2111a〜2111fについては、図2に示したポリシー変更処理装置の各構成要素と同様、適宜統合または分離してもよい。
そして、CPU2110が、これらのプログラム2111a〜2111fをROM2111から読み出して実行することにより、図19に示すように、各プログラム2111a〜2111fについては、変更可能範囲算出プロセス2110aと、変更可能範囲判定プロセス2110bと、変更可能範囲出力プロセス2110cと、変更検証プロセス2110dと、ポリシー更新プロセス2110eと、入出力制御プロセス2110fとして機能するようになる。なお、各プロセス2110a〜2110fは、図2に示した、変更可能範囲算出部31、変更可能範囲判定部32、変更可能範囲出力部33、変更検証部34、ポリシー更新部35、入出力制御IF部20にそれぞれ対応する。
そして、CPU2110は、RAM2112に格納されたポリシーデータ2112aと、ポリシー関連情報データ2112bと、変更可能範囲データ2112cとに基づいてポリシー変更処理プログラムを実行する。
なお、本実施例で説明した各プログラム2111a〜2111fについては、必ずしも最初からROMに記憶させておく必要はなく、例えばポリシー変更処理装置に挿入されるメモリーカード、フレキシブルディスク、CD−ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」、または、ポリシー変更処理装置の内外に備えられるHDDなどの「固定用の物理媒体」、さらには、公衆回線、インターネット、LAN、WANなどを介してポリシー変更処理装置に接続される「他のコンピュータ(またはサーバ)」などに各プログラムを記憶させておき、ポリシー変更処理装置がこれらから各プログラムを読みだして実行するようにしてもよい。
以上のように、本発明に係るポリシー変更処理プログラム、ポリシー変更処理方法およびポリシー変更処理装置は、システムを制御するために用いられ、互いに矛盾を起こさないようにポリシー内容が規定される複数のポリシーについてポリシー内容の変更を処理する場合に有用であり、特に、ポリシー変更に際して他の全てのポリシーとの間で矛盾を検証する必要があるか否かを把握することが可能であり、場合によって検証作業を不要にすることに適する。
図1は、実施例1に係るポリシー変更処理装置の概要および特徴を説明するための図である。
図2は、実施例1におけるポリシー変更処理装置の構成を示すブロック図である。
図3は、実施例1におけるポリシー記憶部に記憶されるポリシーの一例を示す図である。
図4は、実施例1におけるポリシー関連情報記憶部に記憶されるポリシー関連情報の一例を示す図である。
図5は、実施例1における変更可能範囲記憶部に記憶される変更可能範囲の一例を示す図である。
図6は、実施例1におけるポリシー変更判定処理の結果を示す画面の一例を示す図である。
図7は、実施例1における変更可能範囲算出の処理を示すフローチャートである。
図8は、実施例1における変更可能範囲判定の処理を示すフローチャートである。
図9は、実施例2に係るポリシー変更処理装置の特徴を説明するための図である。
図10は、実施例2におけるポリシー変更処理装置の構成を示すブロック図である。
図11は、実施例2におけるポリシーグループ記憶部に記憶されるポリシーグループの一例を示す図である。
図12は、実施例2における変更可能範囲記憶部に記憶されるグループ外変更可能範囲の一例を示す図である。
図13は、実施例2におけるグループ外変更可能範囲算出の処理を示すフローチャートである。
図14は、実施例2におけるグループ外変更可能範囲判定の処理を示すフローチャートである。
図15は、実施例2におけるポリシー変更判定処理の結果を示す画面の一例を示す図である。
図16は、実施例2におけるポリシー変更判定処理の結果を示す画面の一例を示す図である。
図17は、実施例3における変更可能範囲再算出の処理を示すフローチャートである。
図18は、本発明を用いたコンピュータシステムの例を示す図である。
図19は、実施例1におけるポリシー変更処理装置のプログラムを示す図である。
11 入力部
12 出力部
20 入出力制御IF部
30 制御部
31 変更可能範囲算出部
32 変更可能範囲判定部
33 変更可能範囲出力部
34 変更検証部
35 ポリシー更新部
40 記憶部
41 ポリシー記憶部
42 ポリシー関連情報記憶部
43 変更可能範囲記憶部
44 ポリシーグループ記憶部