(57)【要約】【課題】コンピュータシステム全体の状況に応じて、より最適なポリシーを選択する。【解決手段】Ｗｅｂサーバ２は、当該Ｗｅｂサーバにおいて発生した事象の通知を受け付ける受付ステップと、ポリシー記述に基づいて受け付けた事象に対応する操作を特定する第１の特定ステップと、特定した操作が問い合わせ操作の場合、要求メッセージを管理装置１へ送信する第１の送信ステップと、を行う。管理装置１は、Ｗｅｂサーバ２から要求メッセージを受信する受信ステップと、ポリシー記述に基づいて要求メッセージとＤＢサーバ３の稼動状態とに対応する、Ｗｅｂサーバ２が実行すべき操作を特定する第２の特定ステップと、特定した操作をＷｅｂサーバ２に通知するための返信メッセージを送信する第２の送信ステップと、を行う。【選択図】  図１
2006092291.tif 000002
【特許請求の範囲】
【請求項１】
第１の情報処理装置と、第２の情報処理装置とを有するコンピュータシステムの制御方法であって、
前記第１の情報処理装置は、第１の処理部と、前記第１の情報処理装置において発生した事象毎に実行すべき操作を記述した第１のポリシー記述が記憶された第１の記憶部と、を有し、
前記第１の処理部は、
前記第１の情報処理装置において発生した事象の通知を受け付ける受付ステップと、
前記第１のポリシー記述を読み出して、前記受け付けた事象に対応する操作を特定する第１の特定ステップと、
前記特定した操作が前記第２の情報処理装置への問い合わせ操作の場合、前記受け付けた事象を含む要求メッセージを前記第２の情報処理装置へ送信する第１の送信ステップと、を行い、
前記第２の情報処理装置は、第２の処理部と、前記第１の情報処理装置において発生した事象、および、前記第１の情報処理装置以外の装置の稼動状態毎に、実行すべき操作を記述した第２のポリシー記述が記憶された第２の記憶部と、を有し、
前記第２の処理部は、
前記第１の情報処理装置から前記要求メッセージを受信する受信ステップと、
前記第２のポリシー記述を読み出して、前記要求メッセージに含まれる前記事象と、前記第１の情報処理装置以外の装置の稼動状態とに対応する、前記第１の情報処理装置が実行すべき操作を特定する第２の特定ステップと、
前記特定した操作を前記第１の情報処理装置に通知するための返信メッセージを送信する第２の送信ステップと、を行うこと
を特徴とするコンピュータシステムの制御方法。  
【請求項２】
請求項１記載のコンピュータシステムの制御方法であって、
前記コンピュータシステムは、第３の情報処理装置をさらに有し、
前記第２の情報処理装置の第２の処理部は、
前記第２の特定ステップにおいて、前記第３の情報処理装置の稼動状態を収集するための問い合わせメッセージを前記第３の情報処理装置に送信し、前記第３の情報処理装置から前記稼動状態を受信し、前記要求メッセージに含まれる前記事象と、前記第３の情報処理装置の稼動状態とに基づいて、前記第１の情報処理装置が実行すべき操作を特定すること、  
を特徴とするコンピュータシステムの制御方法。  
【請求項３】
請求項１記載のコンピュータシステムの制御方法であって、
前記第１の送信ステップにおいて送信される要求メッセージには、前記第１の情報処理装置の稼動情報が、さらに含まれ、
前記第２の情報処理装置の第２の処理部は、
前記第２の特定ステップにおいて、前記要求メッセージに含まれる前記事象および前記第１の情報処理装置の稼動情報と、前記第１の情報処理装置以外の装置の稼動状態とに基づいて、前記第１の情報処理装置が実行すべき操作を特定すること
を特徴とするコンピュータシステムの制御方法。  
【請求項４】
請求項１記載のコンピュータシステムの制御方法であって、
前記第１の情報処理装置の第１の処理部は、
前記第１の送信ステップにおいて、前記受け付けた事象が発生した場合に実行可能な複数の操作を前記第１のポリシー記述から特定し、当該特定した実行可能な複数の操作を含む要求メッセージを前記第２の情報処理装置へ送信すること
を特徴とするコンピュータシステムの制御方法。  
【請求項５】
請求項１記載のコンピュータシステムの制御方法であって、
前記第１の記憶部は、装置毎に当該装置の宛先を記憶した宛先テーブルを、さらに記憶し、
前記第１の情報処理装置の第１の処理部は、
前記第１の送信ステップにおいて、前記宛先テーブルを参照し、前記第２の情報処理装置に要求メッセージを送信すること
を特徴とするコンピュータシステムの制御方法。  
【請求項６】
第１の情報処理装置と、第２の情報処理装置とを有するコンピュータシステムであって、
前記第１の情報処理装置は、
前記第１の情報処理装置において発生した事象毎に実行すべき操作を記述した第１のポリシー記述が記憶された第１の記憶手段と、
前記第１の情報処理装置において発生した事象の通知を受け付ける受付手段と、
前記第１のポリシー記述を読み出して、前記受付手段が受け付けた事象に対応する操作を特定する第１の特定手段と、
前記第１の特定手段が特定した操作が前記第２の情報処理装置への問い合わせ操作の場合、前記受け付けた事象を含む要求メッセージを前記第２の情報処理装置へ送信する第１の送信手段と、を有し、
前記第２の情報処理装置は、
前記第１の情報処理装置において発生した事象、および、前記第１の情報処理装置以外の装置の稼動状態毎に、実行すべき操作を記述した第２のポリシー記述が記憶された第２の記憶手段と、
前記第１の情報処理装置から前記要求メッセージを受信する受信手段と、
前記第２のポリシー記述を読み出して、前記要求メッセージに含まれる前記事象と、前記第１の情報処理装置以外の装置の稼動状態とに対応する、前記第１の情報処理装置が実行すべき操作を特定する第２の特定手段と、
前記特定した操作を前記第１の情報処理装置に通知するための返信メッセージを送信する第２の送信手段と、を有すること
を特徴とするコンピュータシステム。  
【請求項７】
情報処理装置が行う、コンピュータシステムの制御を行うための制御プログラムであって、
前記情報処理装置は、処理部と、前記情報処理装置において発生した事象毎に実行すべき操作を記述したポリシー記述が記憶された記憶部と、を有し、
前記処理部に、
前記情報処理装置において発生した事象の通知を受け付ける受付ステップと、
前記ポリシー記述を読み出して、前記受け付けた事象に対応する操作を特定する特定ステップと、
前記特定した操作が他の装置への問い合わせ操作の場合、前記受け付けた事象を含む要求メッセージを前記他の装置へ送信する送信ステップと、を実行させること
を特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ポリシーを用いてコンピュータシステムを制御する技術に関する。
【背景技術】
【０００２】
特許文献１には、他の論理区画のシステムの故障を検出した際にとるべき動作を規定したポリシーを備え、他の論理区画のシステムが故障した場合に故障したシステムのリセット処理を行う区画制御装置が記載されている。
【０００３】
また、特許文献２には、障害監視装置が、監視対象のコンピュータシステムの障害を検知した場合、障害時の復旧動作を定義した規則に基づいて、障害復旧処理を行う自動障害復旧方法が記載されている。
【０００４】
【特許文献１】特開平５−１８１８２３号公報
【特許文献２】特開２００３−１１４８１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
さて、ポリシーは、ある事象が発生した場合に、実施すべき操作（対処作業）を定めた規則である。ポリシーを用いてコンピュータシステムを自律的に制御する場合、システム管理者は、想定される各事象と、当該想定される事象毎に実行すべき操作とをあらかじめ記述しておく必要がある。
【０００６】
しかしながら、想定される事象に対応する操作が複数存在する場合などに適切な操作を特定することは困難である。すなわち、同じ事象が発生した場合であっても、当該事象が発生した際のコンピュータシステムの稼動状態に応じて、実行すべき操作は異なる場合がある。
【０００７】
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、所定の事象が発生した際に、コンピュータシステムの稼動状態に応じて、より適切な操作を選定することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明では、事象の発生通知を受け付けた第１の情報処理装置が、第２の情報処理装置に適切な操作の選択を依頼するためのメッセージを送信する。
【０００９】
例えば、第１の情報処理装置と、第２の情報処理装置とを有するコンピュータシステムの制御方法であって、第１の情報処理装置は、第１の処理部と、第１の情報処理装置において発生した事象毎に実行すべき操作を記述した第１のポリシー記述が記憶された第１の記憶部と、を有する。そして、第１の処理部は、第１の情報処理装置において発生した事象の通知を受け付ける受付ステップと、第１のポリシー記述を読み出して、受け付けた事象に対応する操作を特定する第１の特定ステップと、特定した操作が第２の情報処理装置への問い合わせ操作の場合、受け付けた事象を含む要求メッセージを第２の情報処理装置へ送信する第１の送信ステップと、を行う。また、第２の情報処理装置は、第２の処理部と、第１の情報処理装置において発生した事象、および、第１の情報処理装置以外の装置の稼動状態毎に、実行すべき操作を記述した第２のポリシー記述が記憶された第２の記憶部と、を有する。そして、第２の処理部は、第１の情報処理装置から要求メッセージを受信する受信ステップと、第２のポリシー記述を読み出して、要求メッセージに含まれる事象と、第１の情報処理装置以外の装置の稼動状態とに対応する、第１の情報処理装置が実行すべき操作を特定する第２の特定ステップと、特定した操作を第１の情報処理装置に通知するための返信メッセージを送信する第２の送信ステップと、を行う。
【発明の効果】
【００１０】
本発明では、ある事象が発生した場合、当該事象を検知した情報処理装置以外の情報処理装置の稼動状態を加味することで、より適切な操作を選択することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について説明する。
【００１２】
図１は、本発明の一実施形態が適用されたポリシー制御システムの全体構成図である。図示するように、本実施形態のポリシー制御システムは、管理装置１と、Ｗｅｂサーバ２と、データベースサーバ（以下、「ＤＢサーバ」）３と、を有する。そして、これらの装置１〜３は、インターネット、イントラネット、ＬＡＮなどのネットワーク４により接続されている。
【００１３】
管理装置１は、Ｗｅｂサーバ２およびＤＢサーバ３を管理する装置である。管理装置１は、管理対象の各装置２、３からメッセージを受け付けて最適なポリシールールを通知する。管理装置１は、図示するように、ポリシー処理部１１を有する。なお、ポリシー処理部１１については後述する
Ｗｅｂサーバ２は、Ｗｅｂ３層構造のプレゼンテーション層およびアプリケーション層の処理を行う装置である。すなわち、Ｗｅｂサーバ２は、クライアント（不図示）からの要求を受け付けて、各種の業務処理を行う。Ｗｅｂサーバ２は、図示するように、ポリシー処理部２１と、プレゼンテーション層の処理を行う受付処理部２２と、アプリケーション層の処理を行う業務処理部２３と、を有する。なお、ポリシー処理部２１については、後述する。
【００１４】
ＤＢサーバ３は、Ｗｅｂ３層構造のデータベース層の処理を行う装置である。すなわち、ＤＢサーバ３は、Ｗｅｂサーバ２に各種のデータを提供する装置である。ＤＢサーバ３は、図示するように、ポリシー処理部３１と、データ管理部３２と、データベース３３とを有する。データ管理部３２は、データベース３３を管理し、Ｗｅｂサーバ２からのデータアクセス要求に応じて所定のデータを提供する。なお、ポリシー処理部３１については、後述する。
【００１５】
次に、図１に示す管理装置１、Ｗｅｂサーバ２およびＤＢサーバ３のポリシー処理部１１、２１、３１について説明する。
【００１６】
図２は、ポリシー処理部１１、２１、３１の概略構成図である。ポリシー処理部は、図示するように、ポリシー監視部５１と、ポリシー制御部５２と、ポリシー記憶部５３と、インタラクション管理部５６と、を有する。
【００１７】
ポリシー監視部５１は、当該ポリシー処理部の制御対象システムにおける障害や稼動状態を監視する。本実施形態では、Ｗｅｂサーバ２のポリシー処理部２１の制御対象システムは、Ｗｅｂサーバ２である。したがって、Ｗｅｂサーバ２のポリシー監視部５１は、Ｗｅｂサーバ２のＣＰＵ利用率、所定の業務の応答時間（レスポンスタイム）、ネットワークの状態、障害の発生などの稼動状態を監視する。
【００１８】
また、ＤＢサーバ３のポリシー処理部３１の制御対象システムは、ＤＢサーバ３である。したがって、ＤＢサーバ３のポリシー監視部５１は、ＤＢサーバ３のＣＰＵ利用率、所定の業務の応答時間（レスポンスタイム）、ネットワークの状態、データベースのコネクション数、障害の発生などの稼動状態を監視する。
【００１９】
そして、ポリシー監視部５１各々は、これら所定の稼動状態が、あらかじめ定められた閾値を超えた場合、または、障害が発生した場合に、ポリシー制御部５２に通知する。
【００２０】
ポリシー制御部５２は、ポリシー監視部５１が通知（検知）した情報を受け付けて、ポリシー記憶部５３に記憶された所定の処理を行う。
【００２１】
ポリシー記憶部５３には、ポリシー記述５４と、アクションフロー５５と、が記憶されている。ポリシー記述５４は、少なくとも１つの事象（イベント）と、当該事象が発生した場合に自律的に実行すべき操作名（対処名）とが記述されている。なお、ポリシー記述５４については、後述する。
【００２２】
アクションフロー５５は、コンピュータシステムを制御するプログラムであり、ポリシー記述５４に記述されている操作名毎に、当該操作名の具体的な処理内容を記述したものである。例えば、ポリシー記述５４には、所定の業務の応答時間が閾値を超える事象が発生した場合、実行すべき操作名として「サーバ追加処理」が記述されているものとする。そして、「サーバ追加処理」のアクションフロー５５には、所定の業務を実行しているサーバを１台追加するための具体的な処理手順が記述されている。
【００２３】
インタラクション管理部５６は、当該インタラクション管理部５６を有するポリシー処理部以外の他のポリシー処理部とメッセージを送受信する。これにより、自ポリシー処理部が制御するシステムの事象および稼動状態だけでなく、他のポリシー処理部が制御するシステムの事象および稼動情報も考慮して最適なポリシーを選定することができる。
【００２４】
インタラクション管理部５６は、図示するように、メッセージ送受信部５６１と、メッセージ管理部５６２と、テーブル管理部５６３と、インタラクション記憶部５６４と、を有する。
【００２５】
メッセージ送受信部５６１は、後述するインタラクションメッセージを作成し、送受信する。メッセージ管理部は、インタラクションメッセージを管理する。テーブル管理部は、インタラクション記憶部５６４に記憶された宛先テーブル５６５を管理する。
【００２６】
インタラクション記憶部５６４には、インタラクションメッセージの送信先の住所（例えば、ＵＲＬ）が記憶された宛先テーブル５６５と、他のインタラクション管理部５６から通知された各種のイベントや稼動状態などの状態情報５６６と、が記憶されている。
【００２７】
以上説明した、管理装置１、Ｗｅｂサーバ２、および、ＤＢサーバ３は、いずれも例えば図３に示すようなＣＰＵ９０１と、メモリ９０２と、ＨＤＤ等の外部記憶装置９０３と、キーボードやマウスなどの入力装置９０４と、ディスプレイやプリンタなどの出力装置９０５と、ネットワーク接続するための通信制御装置９０６と、これらの各装置を接続するバス９０７と、を備えた汎用的なコンピュータシステムを用いることができる。
【００２８】
このコンピュータシステムにおいて、ＣＰＵ９０１がメモリ９０２上にロードされた所定のプログラムを実行することにより、各装置の各機能が実現される。例えば、管理装置１、Ｗｅｂサーバ２、および、ＤＢサーバ３の各機能は、管理装置１用のプログラムの場合は管理装置１のＣＰＵ９０１が、Ｗｅｂサーバ２用のプログラムの場合はＷｅｂサーバ２のＣＰＵ９０１が、そして、ＤＢサーバ３用のプログラムの場合はＤＢサーバ３のＣＰＵ９０１が、それぞれ実行することにより実現される。
【００２９】
なお、各装置１、２、３が有するポリシー処理部１１、２１、３１のポリシー記憶部５３およびインタラクション記憶部５６４には、各装置１、２、３のメモリ９０２または外部記憶装置９０３が用いられる。
【００３０】
次に、各装置１、２、３のポリシー記憶部５３に記憶されたポリシー記述５４について、それぞれ説明する。
【００３１】
図４は、Ｗｅｂサーバ２のポリシー処理部２１が有するポリシー記述５４Ａの一例を示したものである。ポリシー記述５４Ａは、図示するように、少なくとも１つのイベント（事象）４１と、各事象に対応する操作名（対処名）４２とが記述されている。
【００３２】
図示する例では、「負荷平準化処理イベント」４１ａの場合、「ＣＰＵ負荷超過イベント抑制」４２ａの操作を実行することを示している。なお、「ＣＰＵ負荷超過イベント抑制」４２ａの具体的な処理内容は、対応するアクションフロー５５に記述されている。また、「負荷平準化処理」は、Ｗｅｂサーバ２の数を増やすことでＷｅｂサーバ群全体のパフォーマンスを向上させている場合（すなわち、スケールアウトしている場合）、各Ｗｅｂサーバの性能を考慮して均等に負荷を分散する処理である。そして、「負荷平準化処理イベント」は、このような負荷平準化処理を実行中に発生されるイベントである。ポリシー監視部５１は、負荷平準化処理の実行を検知し、ポリシー制御部５２に通知する。
【００３３】
また、「ＣＰＵ負荷超過イベント抑制」については、ポリシー制御部５２がポリシー監視部５１から通知された「ＣＰＵ負荷超過イベント」を無視する操作である。なお、「ＣＰＵ負荷超過イベント」は、ＣＰＵ利用率が所定の閾値を超えた場合にポリシー監視部５１が検知し、ポリシー制御部５２に通知するイベントである。
【００３４】
また、図示する例では、「ＣＰＵ負荷超過イベント」および「負荷平準化未処理状態」のイベント４１ｂの場合、「負荷平準化処理」４２ｂの操作を実行することを示している。「負荷平準化未処理状態」は、前述の負荷平準化処理をまだ実行していない状態である。なお、負荷平準化処理を実行済みか否かは、負荷平準化処理イベントが発生（通知）されたか否かにより判別される。負荷平準化処理イベントが発生（通知）した場合、負荷平準化処理済状態のフラグがポリシー記憶部５３に記憶されるものとする。
【００３５】
また、図示する例では、「ＣＰＵ負荷超過イベント」および「負荷平準化処理済状態」のイベント４１ｃの場合、「インタラクション送信」４２ｃの操作を行うことを示している。なお、「インタラクション送信」は、Ｗｅｂサーバ２のポリシー処理部２１以外の他のポリシー処理部に適切な操作の選定を依頼するものである。そして、操作名４２が「インタラクション送信」４２ｃの場合、インタラクション先識別情報４３、および、選択可能な複数の操作名の一覧である操作名リスト４４の２つのパラメータが記述されている。
【００３６】
図示する例では、インタラクション識別情報４３には「管理装置のポリシー処理部」が、操作名リスト４４には、「Ｗｅｂサーバ追加」および「アクセス制限」が記述されている。「Ｗｅｂサーバ追加」は、Ｗｅｂサーバ２を一台追加してスケールアウトする操作である。「アクセス制限」は、クライアントからのアクセスを制限する操作である。
【００３７】
図５は、ＤＢサーバ３のポリシー処理部３１が有するポリシー記述５４Ｂの一例を示したものである。ポリシー記述５４Ｂには、図４と同様に、少なくとも１つのイベント４１と、各イベント４１に対応する操作名４２とが記述されている。
【００３８】
図示する例では、「ＣＰＵ負荷超過イベント」または「レスポンスタイム遅延イベント」の事象４１の場合、「ＤＢサーバ飽和状態通知」４２の操作を実行することを示している。「レスポンスタイム遅延イベント」は、平均的な応答時間が所定の閾値を超えた場合にポリシー監視部５１がポリシー制御部５２に通知するイベントである。「ＤＢサーバ飽和状態通知」は、ＤＢサーバ３のＣＰＵ利用率または平均レスポンスタイム（応答時間）が閾値を超えた場合に、ＤＢサーバ３の処理能力が飽和状態であることを管理装置１に通知する操作である。
【００３９】
図６は、管理装置１のポリシー処理部１１が有するポリシー記述５４Ｃの一例を示したものである。ポリシー記述５４Ｃには、図４と同様に、少なくとも１つのイベント４１と、各イベント４１に対応する操作名４２とが記述されている。
【００４０】
図示する例では、Ｗｅｂサーバ２からの「インタラクション送信イベント」が発生し、かつ、「ＤＢサーバ飽和状態未通知」のイベント４１ａ場合、「問合せ処理」４２ａの操作を実行することを示している。なお、「問合せ処理」の操作（アクションフロー）については後述する。
【００４１】
また、図示する例では、Ｗｅｂサーバ２からの「インタラクション送信イベント」が発生し、かつ、「ＤＢサーバ飽和状態通知済」のイベント４１ｂ場合、「インタラクション返信」４２ｂの操作を実行することを示している。「インタラクション返信」は、「インタラクション送信」の送信元のポリシー処理部に、適切な操作名を返信する処理である。なお、「インタラクション返信」４２ｂの場合、操作名４５のパラメータが記述されている。
【００４２】
次に、図６に示す問合せ処理４２ａのアクションフロー５５について説明する。
【００４３】
図７は、問合せ処理のアクションフローの一例を示したものである。図示する例では、まず、ＤＢサーバ３のポリシー処理部３１に、インタラクション問合せを行うことを記述している。インタラクション問合せは、他の装置の稼動状態を問い合わせる処理である。  すなわち、管理装置１のポリシー処理部１１は、ＤＢサーバ３のポリシー処理部３１にＣＰＵ利用率または平均レスポンスタイムなどの稼動状態を問い合わせる。そして、管理装置１のポリシー処理部１１は、ＤＢサーバ３のポリシー処理部３１からＤＢサーバ３の稼動状態を受信し、当該稼動状態にもとづいてＤＢサーバ３が飽和状態か否かを判別する。たとえば、ＤＢサーバ３のＣＰＵ利用率または平均レスポンスタイムが、閾値を超えている場合、管理装置１のポリシー処理部１１は、ＤＢサーバ３が飽和状態であると判別する。
【００４４】
そして、図示するアクションフローには、ＤＢサーバ飽和状態の場合、「アクセス制限」の操作名を設定したインタラクション返信の操作を実行することが記述されている。また、図示するアクションフローには、ＤＢサーバ飽和状態以外の場合、「リソース追加」の操作名を設定したインタラクション返信の操作を実行することが記述されている。
【００４５】
以上説明したポリシー記述およびアクションフローにより（図４〜図７）、Ｗｅｂサーバ２のＣＰＵ利用率が閾値を超えた場合、管理装置１のポリシー処理部１１は、ＤＢサーバ３の稼動状態に応じてＷｅｂサーバ２が実行すべき適切な操作名を、Ｗｅｂサーバ２に通知することができる。
【００４６】
具体的には、Ｗｅｂサーバ２のＣＰＵ利用率が閾値を超えている場合であって、ＤＢサーバ３が飽和状態でない場合（ＤＢサーバのキャパシティを超えていない場合）は、Ｗｅｂサーバ２がボトルネックである。したがって、この場合にＷｅｂサーバ２が実行すべき適切な操作は、Ｗｅｂサーバ２の追加である。また、Ｗｅｂサーバ２のＣＰＵ利用率が閾値を超えている場合であって、ＤＢサーバ３が飽和状態の場合（ＤＢサーバのキャパシティを超えている場合）は、Ｗｅｂサーバ２のみを追加しても、システム全体としての性能は向上しない。したがって、この場合にＷｅｂサーバ２が実行すべき適切な操作は、クライアントからのアクセスを制限することである。
【００４７】
次に、ポリシー処理部のインタラクション記憶部５６４に記憶されている宛先テーブル５６５について説明する。
【００４８】
図８は、宛先テーブル５６５の一例を示したものである。宛先テーブル５６５は、図示するように、インタラクション先識別情報８１と、当該インタラクション先識別情報８１に対応する宛先８２と、を有する。宛先８２は、ネットワーク上に存在する各装置の住所であって、例えばＵＲＬ（Uniform Resource Locator）などが用いられる。
【００４９】
次に、インタラクション処理およびインタラクションメッセージについて説明する。インタラクション処理には、インタラクション送信処理、インタラクション問合せ処理、および、インタラクション返信処理がある。インタラクション送信処理は、自ポリシー処理部が制御するシステムのイベントおよび稼動状態にもとづいて、最適なポリシーの選択ができない場合に、他のポリシー処理部に最適なポリシーの選択を依頼する処理である。
【００５０】
インタラクション問合せ処理は、他のポリシー処理部に、当該他のポリシー処理部が制御するシステムの稼動状況を問い合わせる処理である。インタラクション返信処理は、インタラクション送信処理、または、インタラクション問合せ処理に対する回答を返信する処理である。以下に、インタラクション処理を具体的に説明する。
【００５１】
図９は、インタラクション処理を模式的に示した図である。図示する例は、Ｗｅｂサーバ２が、管理装置１に対し、インタラクション送信処理を行った場合のインタラクションメッセージの流れを示したものである。
【００５２】
まず、Ｗｅｂサーバ２のポリシー処理部２１は、インタラクション送信処理により、管理装置１にインタラクション送信メッセージ９１を送信する。インタラクション送信メッセージ９１は、図示するようにヘッダと、イベント情報と、操作名リストとを含む。ヘッダは、インタラクション先識別情報と、インタラクション元識別情報と、メッセージ識別情報と、を有する。
【００５３】
インタラクション先識別情報には、インタラクション送信メッセージの送信先を識別するための情報が設定される。図示する場合は、管理装置１のポリシー処理部１１の識別情報（ポリシー記述に記載されたインタラクション先識別情報４３）が設定される。インタラクション元識別情報には、インタラクション送信メッセージの送信元の識別情報が設定される。図示する場合は、Ｗｅｂサーバ２のポリシー処理部２１の識別情報が設定される。メッセージ識別情報には、各インタラクションメッセージを識別するための情報（シーケンス番号など）が設定される。
【００５４】
また、イベント情報には、インタラクション送信メッセージ９１を送信する際のイベントおよび稼動状態（ポリシー記述に記述されたイベント４１）が設定される。また、操作名リストには、選択可能な複数の操作名（ポリシー記述に記載された操作名リスト４４）が設定される。
【００５５】
そして、管理装置１のポリシー管理部１１は、インタラクション送信メッセージ９１を受信し、次に、インタラクション問合せメッセージ９２をＤＢサーバ３に送信する。インタラクション問合せメッセージ９２は、図示するようにヘッダを含む。ヘッダは、インタラクション送信メッセージ９１のヘッダと同様である。図示する場合、インタラクション先識別情報にはＤＢサーバ３のポリシー処理部３１の識別情報が設定され、インタラクション元識別情報には、管理装置１のポリシー処理部１１が設定される。
【００５６】
そして、ＤＢサーバ３のポリシー処理部３１は、管理装置１のポリシー処理部１１にインタラクション返信メッセージ９３を送信する。インタラクション返信メッセージ９３は、図示するようにヘッダと、稼動情報とを含む。ヘッダは、インタラクション問合せメッセージ９３のヘッダと同様である。稼動情報には、ＤＢサーバ３の稼動情報が設定される。
【００５７】
そして、管理装置１のポリシー制御部１１は、Ｗｅｂサーバ２に、インタラクション返信メッセージ９４を送信する。インタラクション返信メッセージ９４は、図示するようにヘッダと操作名とを含む。ヘッダは、インタラクション送信メッセージ９１のヘッダと同様である。操作名には、ＤＢサーバ３の稼動情報を考慮して選定した操作名が設定される。
【００５８】
次に、図９に示すインタラクション処理を例に、管理装置１、Ｗｅｂサーバ２およびＤＢサーバ３の処理を詳細に説明する。
【００５９】
図１０は、Ｗｅｂサーバ２の処理フローである。まず、Ｗｅｂサーバ２のポリシー監視部５１は、イベントの発生を検知し、ポリシー制御部５２に通知する（Ｓ１０１）。そして、ポリシー制御部５２は、ポリシー記憶部５３に記憶されたポリシー記述５４を読み出し、通知されたイベントに対応する操作名を特定する（Ｓ１０２）。なお、ポリシー制御部５２は、必要に応じてＷｅｂサーバ２の稼動情報を考慮して、通知されたイベントに対応する操作名を特定する。
【００６０】
そして、ポリシー制御部５２は、特定した操作名がインタラクション処理か否かを判別する（Ｓ１０３）。特定した操作名がインタラクション処理以外の場合（Ｓ１０３：ＮＯ）、ポリシー制御部５２は、特定した操作名のアクションフローをポリシー記憶部５３から読み出し、当該アクションフローの処理を実行する（Ｓ１０４）。
【００６１】
一方、特定した操作名がインタラクション処理の場合（Ｓ１０３：ＹＥＳ）、ポリシー制御部５２は、インタラクション管理部５６にインタラクション処理の実行を指示する（Ｓ１０５）。この場合、ポリシー制御部５２は、通知されたイベントおよび稼動状態（ポリシー記述に記述されたイベント４１）と、ポリシー記述５４に記述されたインタラクション処理のパラメータ（インタラクション先識別情報、操作名リスト）と、をインタラクション管理部５６に通知する。
【００６２】
そして、インタラクション管理部５６のメッセージ送受信部５６１は、インタラクション送信メッセージ（図９参照）を作成する（Ｓ１０６）。すなわち、メッセージ送受信部５６１は、ポリシー制御部５２から通知されたインタラクション先識別情報と、あらかじめ定められたＷｅｂサーバ２のポリシー処理部２１識別情報（インタラクション元識別情報）と、メッセージ管理部５６２が設定したメッセージ識別情報と、を設定したヘッダを作成する。そして、メッセージ送受信部５６１は、ヘッダと、ポリシー制御部５２から通知されたイベント情報および操作名リストとを設定したインタラクション送信メッセージ（図９参照）を作成する。
【００６３】
そして、メッセージ送受信部５６１は、作成したインタラクション送信メッセージを送信する（Ｓ１０７）。すなわち、メッセージ送信部５６１は、宛先テーブル５６５を読み出し、ヘッダのインタラクション先識別情報に対応する宛先を特定する。そしてメッセージ送受信部５６１は、特定した宛先にインタラクション送信メッセージを送信する。なお、図９に示す場合、メッセージ送受信部５６１は、管理装置１のポリシー処理部１１に送信する。そして、メッセージ管理部５６２は、送信したインタラクション送信メッセージをインタラクション記憶部５６４の履歴テーブル（不図示）に記憶する。
【００６４】
そして、メッセージ送信部５６１は、管理装置１からインタラクション返信メッセージ（図９参照）を受信する（Ｓ１０８）。なお、管理装置１の処理については後述する。そして、メッセージ管理部５６２は、インタラクション返信メッセージのメッセージ識別情報に基づいて、履歴テーブルに記憶されたインタラクション送信メッセージとの対応付けを行う。そして、メッセージ管理部５６２は、履歴テーブルから受信したインタラクション返信メッセージに対応する（同一のメッセージ識別情報有する）インタラクション送信メッセージを削除する。  
そして、メッセージ送受信部５６１は、インタラクション返信メッセージに含まれる操作名を取得し、当該操作名をポリシー制御部５２に通知する（Ｓ１０９）。そして、ポリシー制御部５２は、通知された操作名のアクションフロー５５をポリシー記憶部５３から読み出し、当該アクションフローの処理を実行する（Ｓ１１０）。
【００６５】
次に、管理装置１の処理について説明する。
【００６６】
図１１は、Ｗｅｂサーバ２からインタラクション送信メッセージを受信した管理装置１の処理フローである。
【００６７】
管理装置１のポリシー処理部１１のメッセージ送受信部５６１は、インタラクション送信メッセージを受信する（Ｓ１１１）。そして、メッセージ送受信部５６１は、インタラクション記憶部５６４に記憶された状態情報５６６を読み出す。状態情報５６６には、他の装置から通知された各種の稼動情報が記憶されている。そして、メッセージ送受信部５
６１は、インタラクション送信メッセージと、読み出した状態情報を、ポリシー制御部５２に通知する。
【００６８】
そして、ポリシー制御部５２は、管理装置のポリシー記述５４を読み出し、インタラクション送信メッセージのイベント情報および読み出した状態情報５６６に対応する操作名を特定する（Ｓ１１２）。例えば、図６に示すポリシー記述５４の場合であって、状態情報５６６にはＤＢサーバ飽和状態通知が受け付けられていない場合（記憶されていない場合）、ポリシー制御部５２は、「問合せ処理」の操作名４２ａを特定する。一方、状態情報５６６にはＤＢサーバ飽和状態通知が受け付けられている場合（記憶されている場合）、ポリシー制御部５２は、「インタラクション返信」の操作名４２ｂを特定する。
【００６９】
そして、特定した操作名がインタラクション返信の場合（Ｓ１１３：ＹＥＳ）、ポリシー制御部５２は、インタラクション管理部５６にインタラクション返信処理の実行を指示する（Ｓ１１４）。そして、インタラクション管理部５６のメッセージ送受信部５６１は、インタラクション返信メッセージ（図９参照）を作成する（Ｓ１１５）。すなわち、メッセージ送受信部５６１は、受信したインタラクション送信メッセージと同様のヘッダに、ポリシー記述５４に記述されたインタラクション返信のパラメータ（選択した操作名）を設定したインタラクション返信メッセージを作成する。
【００７０】
そして、メッセージ送受信部５６１は、作成したインタラクション返信メッセージを送信する（Ｓ１１６）。すなわち、メッセージ送信部５６１は、宛先テーブル５６５を読み出し、ヘッダのインタラクション元識別情報（Ｗｅｂサーバ２のポリシー処理部２１）に対応する宛先を特定する。そしてメッセージ送受信部５６１は、特定した宛先にインタラクション返信メッセージを送信する。なお、メッセージ管理部５６２は、受信したインタラクション送信メッセージおよび送信したンタラクション返信メッセージを管理する。
【００７１】
一方、特定した操作名がインタラクション返信以外の場合（Ｓ１１３：ＮＯ）、ポリシー制御部５２は、特定した操作名のアクションフローをポリシー記憶部５３から読み出し、当該アクションフローの処理を実行する（Ｓ１１７）。特定した操作名のアクションフローが図７に示す「問合せ処理」のアクションフローの場合について、以下に説明する。
【００７２】
図１２は、「問合せ処理」のアクションフロー（図７参照）の場合の図１１におけるＳ１１７の処理フローである。
【００７３】
まず、管理装置１のポリシー制御部５２は、図７に示すアクションフローを読み出し、「インタラクション問合せ」の操作を検知する。そして、ポリシー制御部５２は、インタラクション管理部５６にインタラクション問合せ処理の実行を指示する（Ｓ１２１）。この場合、ポリシー制御部５２は、アクションフローに記述されたインタラクション先識別情報をインタラクション管理部５６に通知する。
【００７４】
そして、インタラクション管理部５６のメッセージ送受信部５６１は、インタラクション問合せメッセージ（図９参照）を作成する（Ｓ１２２）。すなわち、メッセージ送受信部５６１は、ポリシー制御部５２から通知されたインタラクション先識別情報と、あらかじめ定められた管理装置１のポリシー処理部１１の識別情報（インタラクション元識別情報）と、メッセージ管理部５６２が設定したメッセージ識別情報と、を設定したヘッダを作成する。
【００７５】
そして、メッセージ送受信部５６１は、作成したインタラクション問合せメッセージを送信する（Ｓ１２３）。すなわち、メッセージ送信部５６１は、宛先テーブル５６５を読み出し、ヘッダのインタラクション先識別情報に対応する宛先を特定し、当該宛先にインタラクション問合せメッセージを送信する。なお、図１２に示す場合は、ＤＢサーバ３のポリシー処理部３１に送信する。なお、メッセージ管理部５６２は、インタラクション問合せメッセージおよびインタラクション返信メッセージを管理する。
【００７６】
そして、ＤＢサーバのメッセージ送受信部５６１は、インタラクション問合せメッセージを受信する。そして、ポリシー制御部５２が、ポリシー監視部５１を介してＤＢサーバ３の稼動状態（例えば、ＣＰＵ利用率、平均レスポンスタイムなど）を収集する（Ｓ１２４）。
【００７７】
そして、メッセージ送受信部５６１は、インタラクション返信メッセージ（図９参照）を作成し、送信する（Ｓ１２５、Ｓ１２６）。すなわち、メッセージ送受信部５６１は、インタラクション問合せメッセージと同様のヘッダと、収集した稼動情報とを設定したインタラクション返信メッセージを作成する。そして、メッセージ送受信部５６１は、宛先テーブル５６５を用いて、管理装置１のポリシー処理部１１に、インタラクション返信メッセージを送信する。
【００７８】
そして、管理装置１のメッセージ送受信部５６１は、ＤＢサーバ３からインタラクション返信メッセージを受信する。そして、図１１のＳ１１５およびＳ１１６と同様に、インタラクション返信メッセージを作成し、送信する（Ｓ１２７、Ｓ１２８）。
【００７９】
具体的には、インタラクション返信メッセージの稼動情報（例えば、ＣＰＵ利用率、平均レスポンスタイムなど）に基づいて、ＤＢサーバ３が飽和状態であるか否かを判別する。ＤＢサーバ３が飽和状態と判別した場合、メッセージ送受信部５６１は、操作名に「アクセス制限」を設定したインタラクション返信メッセージを作成し送信する。また、ＤＢサーバ３が飽和状態でないと判別した場合、メッセージ送受信部５６１は、操作名に「リソース追加」を設定したインタラクション返信メッセージを作成し送信する。
【００８０】
次に、宛先テーブル５６５の検索および変更処理について説明する。
【００８１】
テーブル管理部５６３は、入力装置９０４からの入力された検索指示および変更指示を受け付けて、宛先テーブル５６５に記憶されたデータを検索および変更する。例えば、システム管理者は、ポリシー記述５４またはアクションフロー５５に、新たなインタラクション送信処理またはインタラクション問合せ処理の操作を追加する際に、インタラクション先識別情報を記述する。この場合、システム管理者は、宛先テーブル５６５に記述すべきインタラクション先識別情報の宛先が登録されているか否かを検索する。すなわち、システム管理者は、インタラクション先識別情報を指定して検索指示を入力する。
【００８２】
テーブル管理部５６３は、検索指示を受け付けて宛先テーブル５６５を読み出し、指定されたインタラクション先識別情報の宛先を検索する。指定されたインタラクション先識別情報が宛先テーブル５６５に記憶されている場合、テーブル管理部５６３は、検索した宛先を出力装置９０５に出力する。この場合、指定したインタラクション先識別情報は宛先テーブル５６５に既に登録されているので、システム管理者は、宛先テーブルを変更することなく、ポリシー記述５４等にインタラクション先識別情報を記述する。
【００８３】
指定されたインタラクション先識別情報が宛先テーブル５６５に記憶されていない場合、テーブル管理部５６３は、当該インタラクション先識別情報が宛先テーブル５６５に記憶されていない旨を出力装置９０５に出力する。この場合、システム管理者は、インタラクション先識別情報および宛先を指定した登録指示を、入力装置９０５を用いて、入力する。テーブル管理部５６３は、登録指示を受け付けて、入力されたインタラクション先識別情報および宛先を宛先テーブル５６５に追加する。システム管理者は、宛先テーブル５６５に登録後、ポリシー記述５４等に、インタラクション先識別情報を記述する。
【００８４】
このように、宛先テーブル５６５にインタラクション先識別情報各々の宛先を記憶することにより、ポリシー記述５４等にはインタラクション先識別情報のみを記述する。これにより、ポリシー記述５４等の記述を簡略化（容易に）することができる。
【００８５】
また、インタラクション先識別情報の宛先が変更した場合、宛先テーブル５６５のみを変更し、ポリシー記述５４は変更する必要がない。そのため、メンテナンスが容易である。特に、インタラクション先が時間とともに変化する場合、有効である。
【００８６】
以上で本実施形態について説明した。
【００８７】
上記の実施形態では、所定のイベント（事象）が発生した場合、当該事象を検知したポリシー処理部が制御するシステム以外の他のシステムの稼動状態を加味し、より適切な操作を選択することができる。
【００８８】
すなわち、Ｗｅｂサーバ２のポリシー処理部２１は、イベントが発生した際に、Ｗｅｂサーバ２内の稼動状態のみで最適な操作を特定できる場合は、部分的に（Ｗｅｂサーバ２内での）最適な操作を特定・実行する。一方、Ｗｅｂサーバ２内の稼動状態のみで最適な操作を特定できない場合、Ｗｅｂサーバ２のポリシー処理部２１は、管理装置１のポリシー制御部１１に最適な操作の特定を依頼する。そして、管理装置１のポリシー制御部１１は、ＤＢサーバ３の稼動状態を考慮してシステム全体として最適的なポリシーを選定し、Ｗｅｂサーバ２のポリシー処理部２１に通知することができる。
【００８９】
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【００９０】
例えば、上記の実施形態では、Ｗｅｂサーバ２が管理装置１にインタラクション送信メッセージを送信し、管理装置１がＤＢサーバ３の稼動状態を考慮してポリシーを選択する。しかしながら、本発明はこれに限定されず、ＤＢサーバ３が管理装置１にインタラクション送信メッセージを送信し、管理装置１がＷｅｂサーバ２の稼動状態を考慮してポリシーを選択してもよい。
【００９１】
また、上記実施形態では管理装置１を有し、当該管理装置１が、インタラクション送信メッセージを受け付けて、送信元の装置にインタラクション返信メッセージを送信する。しかしながら、本発明はこれに限定されず、Ｗｅｂサーバ２は、管理装置１を介すことなく直接、ＤＢサーバ３にインタラクション送信メッセージを送信することとしてもよい。この場合、ＤＢサーバ３のポリシー処理部３１は、自ＤＢサーバ３の稼動状態を考慮して最適なポリシーを選択し、Ｗｅｂサーバ２にインタラクション返信メッセージを送信する。なお、同様に、ＤＢサーバ３が、直接、Ｗｅｂサーバ２にインタラクション送信メッセージを送信することとしてもよい。
【００９２】
また、本実施形態では、各装置がそれぞれ１つのポリシー処理部を有する。しかしながら、各装置は、複数のポリシー処理部を有することとしてもよい。この場合、１つの装置内で、各インタラクション処理を行うこととなる。
【００９３】
また、本実施形態では、インタラクション送信メッセージを受信した管理装置１が、最適な操作名を選定する。しかしながら、管理装置１は、インタラクション送信メッセージに含まれる選択可能な操作名の一覧である操作名リストを出力装置９０５に出力する。そして、システム管理者が、出力された操作名リストを参照し、最適な操作名を指示することとしても良い。
【００９４】
また、図７に示すアクションフロー（問合せ処理）では、ＤＢサーバ３に稼動状態を問い合わせるインタラクション処理を行う。しかしながら、これに限定されず、様々な問合せ処理を行うこととしても良い。例えば、アクションフローに記述された各処理を実行するか否かをシステム管理者に逐次問い合わせるための問合せインタラクション処理を行うこととしてもよい。この場合、管理装置１などの出力装置９０５に「実行ボタン」および「実行中止ボタン」を表示するなどにより、システム管理者の指示を受け付ける。
【００９５】
また、各ポリシー処理部は、インタラクション送信メッセージを作成する際に、ログ情報を出力装置９０５に出力することとしても良い。これにより、システム管理者は、ログ情報を参照することにより、何か問題が発生した場合に迅速な対応をとることができる。
【図面の簡単な説明】
【００９６】
【図１】本発明の一実施形態が適用されたポリシー制御システムの全体構成図。
【図２】ポリシー処理部の概略構成図。
【図３】各装置のハードウェア構成例を示す図。
【図４】Ｗｅｂサーバのポリシー記述の一例を示す図。
【図５】ＤＢサーバのポリシー記述の一例を示す図。
【図６】管理装置のポリシー記述の一例を示す図。
【図７】問合せ処理のアクションフローの一例を示す図。
【図８】宛先テーブルの一例を示す図。
【図９】インタラクション処理を模式的に示す図。
【図１０】Ｗｅｂサーバの処理フロー図。
【図１１】管理装置の処理フロー図。
【図１２】管理装置およびＤＢサーバの処理フロー図。
【符号の説明】
【００９７】
１：管理装置、２：Ｗｅｂサーバ、３：ＤＢサーバ、４：ネットワーク、１１、２１、３１：ポリシー処理部、５１：ポリシー監視部、５２：ポリシー制御部、５３：ポリシー記憶部、５４：ポリシー記述、５６：アクションフロー、５６：インタラクション管理部、５６１：メッセージ送受信部、５６２：メッセージ管理部、５６３：テーブル管理部、５６４：インタラクション記憶部、５６５：宛先テーブル、５６６：状態情報
【図１】
2006092291.tif 000003
【図２】
2006092291.tif 000004
【図３】
2006092291.tif 000005
【図４】
2006092291.tif 000006
【図５】
2006092291.tif 000007
【図６】
2006092291.tif 000008
【図７】
2006092291.tif 000009
【図８】
2006092291.tif 000010
【図９】
2006092291.tif 000011
【図１０】
2006092291.tif 000012
【図１１】
2006092291.tif 000013
【図１２】
2006092291.tif 000014