(57)【要約】【課題】サービスの依存関係を自動検出する処理の実装に必要な作業量を少なくすること。【解決手段】すべてのサービスを起動させた状態でサービス停止部１３が第１のサービスを停止させ、サービス状態監視部１２が残りのサービスの動作状態を監視して当該第１のサービスの停止の影響を受けて停止している第２のサービスを検出し、依存関係判定部がこれらの第１のサービスおよび第２のサービスが依存関係にあると判定する。【選択図】図１
2007207059.tif 000002
【特許請求の範囲】
【請求項１】
並列して動作するサービス間の依存関係を検出する検出システムであって、
すべてのサービスを起動させた状態で第１のサービスを停止させ、残りのサービスの動作状態を監視して当該第１のサービスの停止の影響を受けて停止している第２のサービスを検出し、これらの第１のサービスおよび第２のサービスが依存関係にあると判定することを特徴とする検出システム。
【請求項２】
並列して動作するサービス間の依存関係を検出する検出システムであって、
データを記憶する状態記憶部と、
データを記憶する依存関係記憶部と、
依存関係を判定したい対象のサービス群がすべて起動している状態で、前記サービス群が正しく起動しているかどうかを調査し、結果を前記状態記憶部に記憶し、さらにサービス停止手段のサービス停止後に前記サービス群が正しく起動しているかどうかを調査し、結果を前記状態記憶部に記憶するサービス状態監視手段と、
前記サービス群の中の一つのサービスを停止する前記サービス停止手段と、
前記状態記憶部に記憶した前記サービス群の起動状態を比較し、正しく起動していないサービスがあった場合、そのサービスが前記停止したサービスに依存していると判断し、依存情報を前記依存関係記憶部に保存する依存関係判定手段と
を備え、
前記サービス群の中の一つのサービスを停止しながら、その前後で他のサービスの状態を調査し保存することを、前記サービス群のすべてに対して繰り返し行い依存関係を判断することを特徴とする検出システム。
【請求項３】
特定のサービスの停止・起動やサービスの状態を監視することを別のコンピュータに対して行うことによって複数のコンピュータ上で動作するサービス間での依存関係を判定することを特徴とする請求項１または２記載の検出システム。
【請求項４】
並列して動作するサービス間の依存関係を検出するデータ処理装置であって、
依存関係を判定したい対象のサービス群がすべて起動している状態で、前記サービス群が正しく起動しているかどうかを調査し、結果を状態記憶部に記憶し、さらにサービス停止手段のサービス停止後に前記サービス群が正しく起動しているかどうかを調査し、結果を状態記憶部に記憶するサービス状態監視手段と、
前記サービス群の中の一つのサービスを停止する前記サービス停止手段と、
前記状態記憶部に記憶した前記サービス群の起動状態を比較し、正しく起動していないサービスがあった場合、そのサービスが前記停止したサービスに依存していると判断し、依存情報を依存関係記憶部に保存する依存関係判定手段と
を備え、
前記サービス群の中の一つのサービスを停止しながら、その前後で他のサービスの状態を調査し保存することを、前記サービス群のすべてに対して繰り返し行い依存関係を判断することを特徴とするデータ処理装置。
【請求項５】
特定のサービスの停止・起動やサービスの状態を監視することを別のコンピュータに対して行うことによって複数のコンピュータ上で動作するサービス間での依存関係を判定することを特徴とする請求項４記載のデータ処理装置。
【請求項６】
並列して動作するサービス間の依存関係を検出する検出方法であって、
すべてのサービスを起動させた状態で第１のサービスを停止させ、残りのサービスの動作状態を監視して当該第１のサービスの停止の影響を受けて停止している第２のサービスを検出し、これらの第１のサービスおよび第２のサービスが依存関係にあると判定することを特徴とする検出方法。
【請求項７】
並列して動作するサービス間の依存関係を検出する検出方法であって、
サービス状態監視手段が、依存関係を判定したい対象のサービス群がすべて起動している状態で、前記サービス群が正しく起動しているかどうかを調査し、結果を状態記憶部に記憶するステップと、
前記サービス停止手段が、前記サービス群の中の一つのサービスを停止するステップと、
サービス状態監視手段が、前記サービス停止手段のサービス停止後に前記サービス群が正しく起動しているかどうかを調査し、結果を前記状態記憶部に記憶するステップと、
依存関係判定手段が、前記状態記憶部に記憶した前記サービス群の起動状態を比較し、正しく起動していないサービスがあった場合、そのサービスが前記停止したサービスに依存していると判断し、依存情報を前記依存関係記憶部に保存するステップと
を有し、
前記サービス群の中の一つのサービスを停止しながら、その前後で他のサービスの状態を調査し保存することを、前記サービス群のすべてに対して繰り返し行い依存関係を判断することを特徴とする検出方法。
【請求項８】
特定のサービスの停止・起動やサービスの状態を監視することを別のコンピュータに対して行うことによって複数のコンピュータ上で動作するサービス間での依存関係を判定することを特徴とする請求項６または７記載の検出方法。
【請求項９】
コンピュータに請求項１から５のいずれか１項に記載の機能を実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムの提供するサービスプログラムの依存関係を自動的に検出する技術に関する。
【背景技術】
【０００２】
コンピュータが正しく動作していることを監視する場合、コンピュータ上で動作するサービスプログラムが正しく起動しているかどうかを監視することが重要である。
【０００３】
そのため、様々な運用監視ツールがサービスを監視し、必要であればサービスを自動的に停止したり起動したりする機能を提供している。
【０００４】
ここで、サービスを停止したり起動したりするときには、サービスの依存関係の把握が重要となる。なぜなら、依存関係を考慮せずサービスを停止・起動すると、停止したサービスに依存する他のサービスの動作に支障を与える可能性があるからである。
【０００５】
従来は、サービスの依存関係を調査する場合には、サービスの起動順序や停止順序を記述した情報を解析したり、例えば、特許文献１に開示されているように、サービスを呼び出すトランザクションを検出したりしていた。
【特許文献１】特開２００５−１９０２７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来例においては次のような問題点があった。
【０００７】
サービスの起動順序や停止順序を記述した情報を解析する方法では、起動順序や停止順序を記述した情報がオペレーティングシステムごとに異なるため、オペレーティングシステムごとに異なる解析ロジックを持つ必要があり、実装するために必要とする作業量が大きくなっていた。
【０００８】
また、特許文献１に開示されている方法では、トランザクションの検出の難易度が高く検出手順も複雑になるため、実装するために必要とする作業量が大きくなっていた。
【０００９】
本発明は、以上説明した事情に鑑みてなされたものであり、その目的は、より簡易な方式でサービスの依存関係を調査することによって、実装に要する作業量を小さくすることにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明は、並列して動作するサービス間の依存関係を検出する検出システムであって、
すべてのサービスを起動させた状態で第１のサービスを停止させ、残りのサービスの動作状態を監視して当該第１のサービスの停止の影響を受けて停止している第２のサービスを検出し、これらの第１のサービスおよび第２のサービスが依存関係にあると判定する検出システムを提供する。
【００１１】
また、本発明は、並列して動作するサービス間の依存関係を検出する検出システムであって、
データを記憶する状態記憶部と、
データを記憶する依存関係記憶部と、
依存関係を判定したい対象のサービス群がすべて起動している状態で、前記サービス群が正しく起動しているかどうかを調査し、結果を前記状態記憶部に記憶し、さらにサービス停止手段のサービス停止後に前記サービス群が正しく起動しているかどうかを調査し、結果を前記状態記憶部に記憶するサービス状態監視手段と、
前記サービス群の中の一つのサービスを停止する前記サービス停止手段と、
前記状態記憶部に記憶した前記サービス群の起動状態を比較し、正しく起動していないサービスがあった場合、そのサービスが前記停止したサービスに依存していると判断し、依存情報を前記依存関係記憶部に保存する依存関係判定手段と
を備え、
前記サービス群の中の一つのサービスを停止しながら、その前後で他のサービスの状態を調査し保存することを、前記サービス群のすべてに対して繰り返し行い依存関係を判断する検出システムを提供する。
【００１２】
また、本発明は、並列して動作するサービス間の依存関係を検出するデータ処理装置であって、
依存関係を判定したい対象のサービス群がすべて起動している状態で、前記サービス群が正しく起動しているかどうかを調査し、結果を状態記憶部に記憶し、さらにサービス停止手段のサービス停止後に前記サービス群が正しく起動しているかどうかを調査し、結果を状態記憶部に記憶するサービス状態監視手段と、
前記サービス群の中の一つのサービスを停止する前記サービス停止手段と、
前記状態記憶部に記憶した前記サービス群の起動状態を比較し、正しく起動していないサービスがあった場合、そのサービスが前記停止したサービスに依存していると判断し、依存情報を依存関係記憶部に保存する依存関係判定手段と
を備え、
前記サービス群の中の一つのサービスを停止しながら、その前後で他のサービスの状態を調査し保存することを、前記サービス群のすべてに対して繰り返し行い依存関係を判断するデータ処理装置を提供する。
【００１３】
また、本発明は、並列して動作するサービス間の依存関係を検出する検出方法であって、
すべてのサービスを起動させた状態で第１のサービスを停止させ、残りのサービスの動作状態を監視して当該第１のサービスの停止の影響を受けて停止している第２のサービスを検出し、これらの第１のサービスおよび第２のサービスが依存関係にあると判定する検出方法を提供する。
【００１４】
また、本発明は、並列して動作するサービス間の依存関係を検出する検出方法であって、
サービス状態監視手段が、依存関係を判定したい対象のサービス群がすべて起動している状態で、前記サービス群が正しく起動しているかどうかを調査し、結果を状態記憶部に記憶するステップと、
前記サービス停止手段が、前記サービス群の中の一つのサービスを停止するステップと、
サービス状態監視手段が、前記サービス停止手段のサービス停止後に前記サービス群が正しく起動しているかどうかを調査し、結果を前記状態記憶部に記憶するステップと、
依存関係判定手段が、前記状態記憶部に記憶した前記サービス群の起動状態を比較し、正しく起動していないサービスがあった場合、そのサービスが前記停止したサービスに依存していると判断し、依存情報を前記依存関係記憶部に保存するステップと
を有し、
前記サービス群の中の一つのサービスを停止しながら、その前後で他のサービスの状態を調査し保存することを、前記サービス群のすべてに対して繰り返し行い依存関係を判断する検出方法を提供する。
【発明の効果】
【００１５】
本発明によれば、サービスの依存関係を自動検出する処理の実装に必要な作業量を少なくすることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の第１の実施の形態について図面を参照して詳細に説明する。
【００１７】
図１を参照すると、本実施の形態における検出システムは、プログラム制御により動作するデータ処理装置１と、情報を記憶する記憶装置２と、対象となるサービス群を含む。
【００１８】
記憶装置２は、依存関係記憶部２１と、状態記憶部２２とを備えている。
【００１９】
依存関係記憶部２１は、サービスの依存関係を記憶する。
【００２０】
状態記憶部２２は、特定の時点でのサービスの状態を記憶する。
【００２１】
データ処理装置１は、依存関係判定部１１と、サービス状態監視部１２と、サービス停止部１３と、サービス起動部１４とを備える。
【００２２】
依存関係判定部１１は、サービス状態監視部１２、サービス停止部１３、サービス起動部１４を用いてサービスの状態を判定し、依存関係記憶部２１に記憶する。
【００２３】
サービス状態監視部１２は、特定の時点でのサービスの状態を監視し、サービスの状態を状態記憶部２２に記憶する。
【００２４】
サービス停止部１３はサービスを停止する機能を有している。
【００２５】
サービス起動部１４はサービスを起動する機能を有している。
【００２６】
次に、図１および図２を参照して本実施の形態における動作のフローについて詳細に説明する。
【００２７】
依存関係判定部１１は、最初にサービス状態監視部１２を用いて、対象となるサービス群の個々のサービスの状態を状態記憶部２１に保存する（ステップＡ１）。
【００２８】
最初の時点で対象となるサービス群の中に停止しているサービスがある場合は、サービス起動部１４を用いて起動する（ステップＡ３）。
【００２９】
依存関係判定部１１は、サービス停止部１３を用いて対象となるサービス群の中の一つのサービスを停止する（ステップＡ５）。
【００３０】
その後サービス状態監視部１２を用いて、対象となるサービス群の個々のサービスの状態を状態記憶部２１に保存する（ステップＡ６）。
【００３１】
依存関係判定部１１は、状態記憶部２１に記憶された個々のサービスの状態を比較し、サービス停止部１３を用いて停止したサービス以外のサービスが正常に起動しているかどうかを調査する（ステップＡ７）。
【００３２】
正常に起動していないサービスがあれば、そのサービスはサービス停止部１３を用いて停止したサービスに依存していると判定し、結果を依存関係記憶部２２に記憶する（ステップＡ８）。
【００３３】
依存関係判定部１１は、対象となるサービス群の中のサービス全てを、サービス停止部１３を用いて停止したかどうかを判断（ステップＡ９）し、サービス停止部１３を用いて停止していなければ最初に戻る。すべてのサービスを停止していれば終了する。
【００３４】
上記の本実施の形態によれば、サービスの依存関係を自動検出する処理の実装に必要な作業量を低減することができる。その理由は、サービスの状態を監視する方法は、従来の依存関係検出のための方法よりもオペレーティングシステムの種別に依存しづらく、また、サービスを呼び出すトランザクションを検出する方法よりも検出手順が単純だからである。
【００３５】
次に、本発明の第２の実施の形態について図面を参照して説明する。
【００３６】
図３を参照すると、本実施の形態は、対象となるサービス群がデータ処理装置１や記憶装置２と異なるコンピュータ上にある点が上記の第１の実施の形態とは異なる。
【００３７】
サービス状態監視部１２、サービス停止部１３、サービス起動部１４が、異なるコンピュータ上のサービスを監視・操作することによって実現する。
【００３８】
これによって一台のコンピュータ上だけでなく、複数のコンピュータ上で動作するサービス間の依存関係を自動検出できる。
【００３９】
なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。例えば、上記の各実施の形態におけるデータ処理装置１と、記憶装置２の機能を実現するためのプログラムを各装置に読込ませて実行することにより各装置の機能を実現する処理を行ってもよい。さらに、そのプログラムは、コンピュータ読み取り可能な記録媒体であるＣＤ−ＲＯＭまたは光磁気ディスクなどを介して、または伝送媒体であるインターネット、電話回線などを介して伝送波により他のコンピュータシステムに伝送されてもよい。
【００４０】
上述する各実施の形態は、データ処理装置１および記憶装置２が別個に接続されているシステム構成について説明したが、各機能が１つのコンピュータシステムとして実現されている構成や機能毎に複数の装置などが追加された構成にも適用可能であることはもちろんである。
【図面の簡単な説明】
【００４１】
【図１】本発明の第１の実施形態における検出システムの構成を示す図である。
【図２】本発明の第１の実施形態における処理動作を示すフローチャートである。
【図３】本発明の第２の実施形態における検出システムの構成を示す図である。
【符号の説明】
【００４２】
１    データ処理装置
１１    依存関係判定部
１２    サービス状態監視部
１３    サービス停止部
１４    サービス起動部
２    記憶装置
２１    依存関係記憶部
２２    状態記憶部
【図１】
2007207059.tif 000003
【図２】
2007207059.tif 000004
【図３】
2007207059.tif 000005