(57)【要約】【課題】業務サーバ上で動作ないしインストールされているアプリケーションを特定する【解決手段】構成管理サーバが，管理サーバのプロセス情報，ファイル情報を収集することで，アプリケーションに属するプロセスを特定し，アプリケーションの名称を推論する。【選択図】図１
2008305289.tif 000002
【特許請求の範囲】
【請求項１】
計算機システムに備わる業務サーバで動作する，あるいは業務サーバにインストールされているアプリケーションを発見するアプリケーション発見方法であって，
前記計算機システムは，前記業務サーバと，前記業務サーバ上の構成情報を管理する構成管理サーバとを備え，
前記方法は，
前記計算機上で動作するプロセスの情報，あるいは記計算機上に存在する実行ファイル名を取得する第１ステップと，
前記プロセス，あるいは前記実行ファイル名に関連する前記計算機上の実行ファイルの情報を取得する第２ステップと，
前記実行ファイルの情報のうち，実行ファイルのパス名あるいは実行ファイルのコマンドラインをもとに，前記アプリケーションと前記プロセスあるいは前記実行ファイル名を関連付ける第３ステップと，
を含むことを特徴とする，アプリケーション発見方法
【請求項２】
前記アプリケーション発見方法は，前記プロセスの情報，および／または，前記実行ファイルの情報を参照することで，前期アプリケーションの名称を推論する第４ステップと，
をさらに含むことを特徴とする，請求項１記載のアプリケーション発見方法
【請求項３】
前記プロセスの情報には，コマンドラインを含み，
前記第４ステップは，前記コマンドラインを参照することで，前期アプリケーションの名称を推論する第５ステップと，
を含むことを特徴とする，請求項２記載のアプリケーション発見方法
【請求項４】
前記ファイルの情報には，前記実行ファイルのパス名を含み，
前記第４ステップは，前記パス名を元に，前期アプリケーションの名称を推論する第６ステップと，
を含むことを特徴とする，請求項２記載のアプリケーション発見方法
【請求項５】
前記ファイルの情報には，前記実行ファイルに含まれるメタデータを含み，
前記第４ステップは，前記メタデータを参照することで，前期アプリケーションの名称を推論する第７ステップと，
を含むことを特徴とする，請求項２記載のアプリケーション発見方法
【請求項６】
前記アプリケーション発見方法は，
前記第３のステップで関連付けた，前記アプリケーションと前記プロセスあるいは前記実行ファイル名の情報，及び前記第４のステップで推論した前記アプリケーションの名称をユーザに提示する第８ステップと，
前記提示内容の修正情報をユーザから受け取る第９ステップと，
をさらに含むことを特徴とする，請求項２記載のアプリケーション発見方法
【請求項７】
前記第９ステップは，前記正しいアプリケーションの情報を，前記構成管理サーバが保持する構成情報に履歴情報として保存する第１０ステップを含み，
前記アプリケーション発見方法は，前記構成管理サーバが保持する構成情報から，履歴情報を取得する第１１ステップと，
前記実行ファイルの情報と，前記履歴情報と比較することで，前記アプリケーションと前記プロセスあるいは前記実行ファイル名を関連付ける第１２ステップと，
をさらに含むことを特徴とする，請求項６記載のアプリケーション発見方法
【請求項８】
前記第１２ステップは，前記比較した履歴情報から，前期アプリケーションの名称を推論する第１３ステップと，
を含むことを特徴とする，請求項７記載のアプリケーション発見方法
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ上でアプリケーションを動作させ運用する業務システムに適用させる，アプリケーションの発見方法に関する。
【背景技術】
【０００２】
ネットワークに接続された業務サーバ群と業務クライアント群があり，業務サーバ上でアプリケーションを動作させて業務クライアントにサービスが提供される業務動作環境がある。この環境において，管理者が，どのような構成でサービスが動作しているのかという構成情報を知るためには，管理者が動作プロセス一覧などの情報を業務サーバから収集するのが一般的である。
【０００３】
プロセスの情報を取得するには，管理者が管理サーバからｔｅｌｎｅｔやｓｓｈ等のコマンドを使って業務サーバにログインする。そして，管理者がログインした当該業務サーバ上に標準的にインストールされているコマンド（例えば，ｐｓ）が幾つか業務サーバ上で実行されることによって，構成情報が収集される。
【０００４】
しかし，プロセスの情報は構成情報として粒度が細かいため，プロセスの情報のみでは業務システムを運用管理しにくい。そこで，プロセスの情報に加えて，業務サーバ上でどのようなアプリケーションが動作しているのかを特定する事で，運用管理を容易にすることが考えられる。
【０００５】
業務サーバ上で動作するアプリケーションを特定するには，監視者自身が身に着けたノウハウを使って，プロセスとアプリケーションとの対応付けを行う方法がある。だが，この方法では時間がかかり，また監視者自身がノウハウを身に付ける必要があるという問題がある。そこで，アプリケーションのインストール時に，実行ファイルなどアプリケーションの実行に必要となるファイルと，アプリケーションを関連付けておくことで，アプリケーションを特定する方法が考えられている（特許文献１）。また，アプリケーション固有の管理プロトコルを使うことで，動作アプリケーションを特定する方法が考えられている（非特許文献１）。
【０００６】
【特許文献１】特開２００５−１２９０６３号公報
【非特許文献１】「ＩＢＭ  Ｔｉｖｏｌｉ  Ａｐｐｌｉｃａｔｉｏｎ  Ｄｅｐｅｎｄｅｎｃｙ  Ｄｉｓｃｏｖｅｒｙ  Ｍａｎａｇｅｒ」，[online]，２００６年９月，インターネット〈ＵＲＬ：http://www-306.ibm.com/software/tivoli/products/taddm/〉
【発明の開示】
【発明が解決しようとする課題】
【０００７】
前記動作アプリケーションを求める方法には，それぞれ課題がある。インストール時に，アプリケーションの実行に必要となるファイルとアプリケーションを関連付けておく方法では，オペレーティングシステムが標準提供するインストール方法でアプリケーションがインストールされている必要がある。そのため，前記以外の方法でインストールされたアプリケーションが特定できない点が課題となる。さらに，アプリケーション固有の管理プロトコルを使うことで，動作アプリケーションを特定する方法では，アプリケーション毎に，又はアプリケーションのバージョン毎に発見方法を用意する必要がある。そのため，未知のアプリケーションや，新規バージョンのアプリケーションが特定できない点が課題となる。
【０００８】
そこで本発明は，アプリケーション毎の発見方法を使わずに，あるアプリケーションに属するプロセスを特定し，そのアプリケーションの名前を推論することによって，これら課題を解決することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の代表的な一例を示せば以下の通りである。すなわち，
計算機システムに備わる業務サーバで動作する，あるいは業務サーバにインストールされているアプリケーションを発見する方法であって，
前記計算機システムは，前記業務サーバと，前記業務サーバ上の構成情報を管理する構成管理サーバとを備え，
前記方法は，
前記計算機上で動作するプロセスの情報，あるいは記計算機上に存在する実行ファイル名を取得し，
前記プロセス，あるいは前記実行ファイル名に関連する前記計算機上の実行ファイルの情報を取得し，
前記実行ファイルの情報のうち，実行ファイルのパス名あるいは実行ファイルのコマンドラインをもとに，前記アプリケーションと前記プロセスあるいは前記実行ファイル名を関連付ける。
【００１０】
また，前記プロセスの情報，および／または，前記実行ファイルの情報を参照することで，前期アプリケーションの名称を推論する。
【発明の効果】
【００１１】
本発明の一形態によると，オペレーティングシステムが標準提供するインストール方法でインストールされていないアプリケーションを発見できる。また，アプリケーション毎に，あるいはアプリケーションのバージョン毎に発見方法を用意しなくても，アプリケーションを発見できる。
【発明を実施するための最良の形態】
【００１２】
以下，本発明の実施の形態について図面を参照しながら説明する。
【実施例１】
【００１３】
図１は，本発明の第１の実施の形態のシステム構成を表す図の一例である。アプリケーション発見システムは，構成管理サーバ１０１，管理用ネットワーク１０２，業務サーバ１０５，業務用ネットワーク１０３及び業務クライアント１０６を備える。
【００１４】
管理用ネットワーク１０２には，構成管理サーバ１０１及び業務サーバ１０５が接続される。業務サーバ１０５は，業務クライアント１０６に業務サービスを提供する。業務用ネットワーク１０３には，業務サーバ１０５及び業務クライアント１０６が接続される。
【００１５】
業務サーバ１０５及び業務クライアント１０６は，２台を例示するが，それぞれ一台または複数台備わっていても良い。また，業務サーバ１０５が業務クライアント１０６と同一のサーバとなっていても良い。また，１０５，及び１０６の符号は異なっていても良い。また，業務用ネットワーク１０３及び管理用ネットワーク１０２が同一のネットワークとなっていてもよい。また，業務サーバ１０５が業務クライアント１０６を兼ねていてもよい。
【００１６】
業務サーバ１０５は，プロセス管理部１０７及びファイル管理部１０８を備える。
【００１７】
業務サーバ１０５は，業務サーバ１０５で保持される実行ファイルの内容を，業務サーバ１０５のメモリにプログラムとして格納し，当該プログラムが業務サーバ１０５のプロセッサで実行されることでプロセスを生成する。プロセス管理部１０７は，このプロセスの情報を管理している。ファイル管理部１０８は，業務サーバ１０５で保持されるファイルの情報を管理している。なお，プロセス管理部１０７及びファイル管理部１０８は，業務サーバ１０５のメモリにプログラムを格納して，当該プログラムが業務サーバ１０５のプロセッサで実行されてもよい。また，プロセス管理部１０７及びファイル管理部１０８が集積回路化されてハードウェアによって実現されてもよい。
【００１８】
構成管理サーバ１０１は，プロセス情報収集部１０９，ファイル情報収集部１１０，アプリケーション特定部１１１，アプリケーション訂正部１１２を備える。なお，構成管理サーバ１０１には記憶装置１１３が接続されているが，構成管理サーバ１０１内に記憶装置１１３が備わっても良い。構成管理サーバ１０１は，業務サーバ１０５のプロセス管理部及１０７びファイル管理部１０８から，当該業務サーバ１０５上で動作するプロセスと，当該プロセスに関連するファイルの情報を取得する。そして，取得したプロセスの情報と，ファイルの情報から，当該業務サーバ１０５上で動作するアプリケーションに属するプロセスを特定し，当該アプリケーションに名称を推論する。なお，構成管理サーバ１０１は図２で詳しく説明する。
【００１９】
図２は，構成管理サーバ１０１の構成を表す図の一例である。構成管理サーバ１０１はプロセッサ２０１，メモリ２０２，ディスプレイインターフェース２０３，ディスクインターフェース２０４，通信インターフェース２０５，入力インターフェース２０６を備える。なお，それぞれバス２０７で接続されている。
【００２０】
プロセッサ２０１は，メモリ２０２に格納されたプログラムを実行する。メモリ２０２は，プロセス情報収集部１０９，ファイル情報収集部１１０，アプリケーション特定部１１１及びアプリケーション訂正部１１２で処理されるプログラムを格納する。なお，本発明の第１の実施の形態では，各処理のプログラムがプロセッサ２０１で実行されることにより実現されるが，処理部として集積回路化されてハードウェアで実現されてもよい。
【００２１】
ディスプレイインターフェース２０３は，画面表示装置２０８に接続される。また，ディスクインターフェース２０４は，ハードディスク等の記憶装置１１３に接続される。記憶装置１１３は，業務サーバテーブル２１２，プロセステーブル２１３，アプリケーションテーブル２１４を備える。なお，各テーブルについては，図３から図５で詳しく説明する。また，通信インターフェース２０５は，管理用ネットワーク１０２に接続される。また，入力インターフェース２０６は，キーボード２０９及びマウス２１０に接続される。
【００２２】
以下，説明を簡単にするため，メモリ２０２上にある各プログラムをプロセッサ２０１が実行することで，実現される各処理部を，各処理の主体として説明する。
【００２３】
図３は，本発明の第１の実施の形態のプロセステーブル２１３の一例である。プロセステーブル２１３は，業務サーバ１０５上から収集したプロセスの一覧を管理するために使われる。
【００２４】
プロセステーブル２１３は，ＩＰアドレス３０１，アプリケーションＩＤ３０２，実行ファイル名３０３及びコマンドライン３０４を含む。ＩＰアドレス３０１は，業務サーバ１０５のＩＰアドレスである。また，アプリケーションＩＤ３０２は，業務サーバ１０５上で動作するアプリケーションを区別するための識別子であり，プロセスが属するアプリケーションを示す。また，実行ファイル名３０３は，プロセスの実行ファイル名である。また，コマンドライン３０４は，プロセスのコマンドラインである。
【００２５】
図４は，本発明の第１の実施の形態のアプリケーションテーブル２１４の一例である。アプリケーションテーブル２１４は，業務サーバ１０５上で動作するアプリケーションの一覧を管理するために使われる。
【００２６】
アプリケーションテーブル２１４は，ＩＰアドレス３１１，アプリケーションＩＤ３１２，アプリケーション名３１３を含む。ＩＰアドレス３１１は，業務サーバ１０５のＩＰアドレスである。また，アプリケーションＩＤ３１２は，業務サーバ１０５上で動作するアプリケーションを区別するための識別子である。また，アプリケーション名３１３は，構成管理サーバ１０１が推定した，業務サーバ１０５上で動作するアプリケーションの名称である。
【００２７】
図５は，本発明の第１の実施の形態における構成管理サーバ１０１のアプリケーション発見のフローチャートの一例である。アプリケーション発見処理は，管理者が，業務サーバ１０５のＩＰアドレスを構成管理サーバ１０１に入力して，当該業務サーバ１０５上で動作するアプリケーションを発見するよう指示することで開始する。あるいは，業務サーバ１０５のＩＰアドレス一覧を構成管理サーバ１０１が保持し，それらＩＰアドレス一覧に対応した業務サーバを定期的に発見するようにしても良い。
【００２８】
まず，プロセス情報収集部１０９が，業務サーバ１０５上で動作する全プロセスの情報を，当該業務サーバ１０５のプロセス管理部１０７から収集する。収集する情報としては，例えばコマンドラインや，プロセスの実行ファイルのパスなどがある（ステップ４０１）。
【００２９】
次に，ファイル情報収集部１１０が，前記プロセスに関連するファイルの情報を，当該業務サーバ１０５のファイル管理部１０７から収集する。収集する情報としては，例えばプロセスの実行ファイルに含まれるバージョン情報などのメタデータがある（ステップ４０２）。
【００３０】
次に，アプリケーション特定部１１１が，ステップ４０１で収集した各プロセス情報について（ステップ４０３），プロセスが属するアプリケーションの特定と，当該アプリケーションの名称を推論する（ステップ４０４，４０５，４０６，４０７）処理を繰り返す。
【００３１】
ステップ４０４は，ステップ４０３で選んだプロセス情報と類似した要素が，プロセステーブル２１１内にあるか調べる処理である。これは，ステップ４０３で選んだプロセス情報と，プロセステーブル２１１の情報を文字列操作等により比較することで行う。例えば，実行ファイル名ないしコマンドラインと，プロセステーブル２１１内の要素を文字列比較して，全体ないし一部が一致する要素があるか調べる。類似した要素があればステップ４０５へ，そうでなければステップ４０６へ進む。
【００３２】
ステップ４０５は，ステップ４０３で選んだプロセス情報に対応したプロセスが属するアプリケーションと，当該アプリケーションの名称を特定する処理である。ステップ４０４で見つけたプロセステーブル２１１内の類似した要素から，ＩＰアドレス３０１とアプリケーションＩＤ３０２を取り出す。そして，それらをキーとしてアプリケーションテーブル２１４を検索し，その結果得られたアプリケーション名３１３を得る。ステップ４０３で選んだプロセス情報に対応したプロセスは，前記アプリケーション名３１３のアプリケーションに属すると特定し，また，当該アプリケーションの名称は前記アプリケーション名３１３と推論する。
【００３３】
ステップ４０６は，ステップ４０３で選んだプロセス情報に対応したプロセスが属するアプリケーションを特定する処理である。この処理は，ステップ４０１で取得したプロセスの情報とファイルの情報を元に行う。例えば，前記プロセスの実行ファイルのパス名が一緒となるプロセスがあったときは，それらプロセスは同一アプリケーションに属するとする。あるいは，前記プロセスのコマンドラインが一緒となるプロセスがあったときは，それらプロセスは同一アプリケーションに属するとする。
【００３４】
ステップ４０７は，ステップ４０６で特定したアプリケーションの名称を推論する。この推論は，ステップ４０１で取得したプロセスの情報とファイルの情報を元に行う。例えば，例えばコマンドラインや，プロセスの実行ファイルのパス，実行ファイルのバージョン情報などのメタデータから推論する。
【００３５】
ステップ４０３で処理を繰り返した後，ステップ４０８へ進む。
【００３６】
次に，アプリケーション訂正部１１２が，アプリケーション特定部１１１で特定した各アプリケーションについて（ステップ４０８），属するプロセスの一覧と，アプリケーションの名称を，管理者に提示し（ステップ４０９），管理者から訂正情報を受け取って（ステップ４１０），その内容をプロセステーブル２１３と，アプリケーションテーブル２１４に書き込む（ステップ４１１）処理を繰り返す。ステップ４０８で処理を繰り返した後，アプリケーション発見処理を終了する。
【００３７】
図６は，本発明の第１の実施の形態における発見アプリケーション訂正用の入力インターフェースの一例である。
【００３８】
訂正用ウィンドウ６０１は，画面表示装置２０８などに表示される。
【００３９】
訂正用ウィンドウ６０１は，ＩＰアドレス６０２，アプリケーション名６０３，プロセス一覧６０４及び決定ボタン６０５を含む。プロセス一覧６０４は，一つないし一つ以上のプロセス情報６１０を含む。プロセス情報６１０は，チェックボックス６１１，実行ファイル名６１２，コマンドライン６１３を含む。
【００４０】
ＩＰアドレス６０２は，業務サーバ１０５のＩＰアドレスである。また，アプリケーション名６０３は，ステップ４０８で選択したアプリケーションの名称である。アプリケーション名６０３は，テキスト入力ボックスになっている。また，プロセス一覧６０４は，ステップ４０１で収集したプロセスの情報の一覧であり，ステップ４０１で収集したプロセス情報と，プロセス情報６１０として含む。
【００４１】
プロセス情報６１０のうち，チェックボックス６１１はアプリケーションに属するか否かを，実行ファイル名６１２はプロセスの実行ファイル名を，コマンドライン６１３はプロセスのコマンドラインを示す。アプリケーション名６０３のアプリケーションに属するプロセス情報６１０については，チェックボックス６１１がチェック状態になっており，それ以外のプロセス情報６１０については，チェックボックス６１１が非チェック状態になっている。なお，プロセス情報６１０には，実行ファイル名６１２またはコマンドライン６１３のいずれか片方のみを含んでも良く，また実行ファイル名６１２とコマンドライン６１３以外の情報を含んでも良い。
【００４２】
管理者はキーボード２０９やマウス２１０などを使って，アプリケーション名６０３のテキストボックスの内容を訂正できる。また，管理者はキーボード２０９やマウス２１０等を使って，プロセス情報６１０のチェックボックス６１１のチェック状態を変更できる。管理者が決定ボタン６０５を押すと，訂正処理が終了する。
【００４３】
本発明の第１の実施形態によって，管理者は，業務サーバ１０５で動作するアプリケーションの名称と，それらアプリケーションに属するプロセスを知ることができるようになる。また，構成管理サーバ１０１が発見したアプリケーションの情報を管理者が訂正し，訂正内容を履歴として保存して，次回のアプリケーション発見の際に履歴を参照することで，構成管理サーバ１０１が推論するアプリケーションの名称の推論精度を向上させることができる。
【実施例２】
【００４４】
本発明の第１の実施の形態では，業務サーバ１０５から収集したプロセスの情報を使用していた。一方，本発明の第２の実施の形態では，プロセスの情報のかわりに，業務サーバ１０５上に存在する実行ファイル名を使用する。
【００４５】
プロセス情報収集部１０９では，業務サーバ１０５のプロセス管理部１０７からプロセスの情報を収集するかわりに，業務サーバ１０５のファイル管理部１０８から業務サーバ１０５上に存在する実行ファイル名を収集する。
【００４６】
本発明の第２の実施形態によって，管理者は，業務サーバ１０５上インストールされているアプリケーションの名称と，それらアプリケーションに属する実行ファイル名を知ることができる。
【実施例３】
【００４７】
本発明の第１の実施の形態を一部変更した本発明の第３の実施の形態について説明する。
【００４８】
プロセス情報収集部１０９で，業務サーバ１０５上で動作する全プロセスの情報を取得する際に，プロセスの通信状況についても取得する。例えばｎｅｔｓｔａｔコマンドを使えば，各プロセスについてのｔｃｐプロトコルやｕｄｐプロトコルを使った通信状況が取得できる。そして，ある業務サーバ１０５内のプロセス同士の情報，あるいは複数の業務サーバ１０５のプロセス同士の情報と，前記通信状況を関連付けることで，どの業務サーバ１０５上のどのプロセス同士が通信しているのかを特定する。
【００４９】
次に，アプリケーション特定部１１１で，前記取得したプロセス同士の通信と，プロセスが属するアプリケーションとの情報を関連付けることで，アプリケーション同士の通信状況を求める。
【００５０】
本発明の第３の実施形態によって，管理者は，ある業務サーバ１０５上で動作するアプリケーション同士，あるいは複数の業務サーバ１０５上で動作するアプリケーション同士で，どのような通信が起きているのかを知ることができる。
【実施例４】
【００５１】
本発明の第１の実施の形態を一部変更した本発明の第４の実施の形態について説明する。
【００５２】
図７は，本発明の第４の実施の形態のシステム構成を表す図の一例である。第１の実施の形態の業務サーバ１０５として，シャーシ１１４に格納されたブレードサーバ１１５を使用する。ブレードサーバを使った業務システムを運用する場合，複数のサーバで同一のハードウェアを使用して，同一のオペレーティングシステムを搭載し，同一のアプリケーションを動作させる場合が多い。従って，アプリケーション発見の際に履歴を参照することで，より高い精度でアプリケーションの名称が推論できるようになる。
【００５３】
本発明の第４の実施形態によって，構成管理サーバ１０１が推論するアプリケーションの名称の推論精度をより向上させることができる。
【図面の簡単な説明】
【００５４】
【図１】第１の実施の形態を示すシステムの全体構成図。
【図２】構成管理サーバの構成図。
【図３】プロセステーブルの説明図。
【図４】アプリケーションテーブルの説明図。
【図５】構成管理サーバで行う処理の一例を示すフローチャート。
【図６】発見アプリケーション訂正用の入力インターフェースの説明図。
【図７】第４の実施の形態を示すシステムの全体構成図。
【符号の説明】
【００５５】
１０１        構成管理サーバ
１０５        業務管理サーバ
１０６        業務クライアント
１０９        プロセス情報収集部
１１０        ファイル情報収集部
１１１        アプリケーション特定部
１１２        アプリケーション訂正部
１１５        ブレードサーバ
２１１        プロセステーブル
２１２        アプリケーションテーブル
６０１        訂正用ウィンドウ６０１
【図１】
2008305289.tif 000003
【図２】
2008305289.tif 000004
【図３】
2008305289.tif 000005
【図４】
2008305289.tif 000006
【図５】
2008305289.tif 000007
【図６】
2008305289.tif 000008
【図７】
2008305289.tif 000009