(57)【要約】【課題】業務サーバ上で動作する任意のアプリケーションに対し、より正確にアプリケーションの名称を特定する。【解決手段】業務サーバ１０２から取得したプロセス情報から、業務サーバ１０２上で動作するプロセスについて、対応する実行ファイルの絶対パス名とコマンドラインを求める。そして、標準プロセス判定部１２１がＯＳ標準プロセスを判定し、インタプリタ判定部１２２がコマンドラインからインタプリタ名を判定し、共用ディレクトリ１２３が共用ディレクトリの直下にある実行ファイル名を判定し、サブディレクトリ判定部１２４が実行ファイルの絶対パス名から実行ファイルディレクトリの親子関係を判定することで、アプリケーション名特定部１２５により、アプリケーションの名称を正しく特定する。【選択図】図１１
2010117957.tif 000002
【特許請求の範囲】
【請求項１】
業務クライアントに提供するサービスを実現するアプリケーションプログラムを動作させることにより生成したプロセスを記憶して管理する業務サーバと通信可能に接続され、前記業務サーバから取得した前記プロセスに基づいて前記アプリケーションプログラムの名称を特定する構成管理サーバにおいて、
少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバにて生成したプロセスの実行ファイルの絶対パス名と、前記プロセスのプロセス名と、を対応付けて含むプロセス情報と、
少なくとも、下位に複数の実行ファイルが存在する共用ディレクトリの絶対パス名を含む共用ディレクトリ絶対パス名情報と、
を記憶する記憶部と、
外部から取得した業務サーバ識別情報に基づいて、前記プロセス情報から、前記業務サーバ識別情報に対応する実行ファイルの絶対パス名を抽出し、
前記抽出した実行ファイルの絶対パス名と、前記共用ディレクトリ絶対パス名情報に含まれる共用ディレクトリの絶対パス名とを比較することで、当該実行ファイルが前記共用ディレクトリの下位に存在するか否かを判定し、
前記判定により、前記実行ファイルが前記共用ディレクトリの下位に存在する場合には、前記実行ファイルの実行ファイル名または前記プロセスのプロセス名を用いて、前記取得した業務サーバ識別情報で識別される業務サーバにおいて動作するアプリケーションプログラムの名称を特定する、
制御を実行する制御部と、を有する
ことを特徴とする構成管理サーバ。
【請求項２】
業務クライアントに提供するサービスを実現するアプリケーションプログラムを動作させることにより生成したプロセスを記憶して管理する業務サーバと通信可能に接続され、前記業務サーバから取得した前記プロセスに基づいて前記アプリケーションプログラムの名称を特定する構成管理サーバにおいて、
少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバにて生成したプロセスの実行ファイルの絶対パス名と、前記プロセスのコマンドラインと、を対応付けて含むプロセス情報と、
少なくとも、インタプリタ処理系のプロセス名を含むインタプリタ名情報と、
を記憶する記憶部と、
外部から取得した業務サーバ識別情報に基づいて、前記プロセス情報から、前記業務サーバ識別情報に対応する実行ファイルの絶対パス名を抽出し、
前記抽出した実行ファイルの絶対パス名と、前記インタプリタ名情報に含まれるインタプリタ処理系のプロセス名とを比較することで、当該実行ファイルに係るプロセスがインタプリタ処理系のプロセスであるか否かを判定し、
前記判定により、前記実行ファイルに係るプロセスがインタプリタ処理系のプロセスである場合には、当該コマンドラインから求められ、前記インタプリタ処理系で処理されるスクリプトファイルまたは中間言語ファイルの絶対パス名を用いて、前記取得した業務サーバ識別情報で識別される業務サーバにおいて動作するアプリケーションプログラムの名称を特定する、
制御を実行する制御部と、を有する
ことを特徴とする構成管理サーバ。
【請求項３】
業務クライアントに提供するサービスを実現するアプリケーションプログラムを動作させることにより生成したプロセスを記憶して管理する業務サーバと通信可能に接続され、前記業務サーバから取得した前記プロセスに基づいて前記アプリケーションプログラムの名称を特定する構成管理サーバにおいて、
少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバにて生成したプロセスの実行ファイルの絶対パス名と、を対応付けて含むプロセス情報と、
少なくとも、実行ファイルが存在するディレクトリの相対パス名を含む実行ディレクトリ相対パス名情報と、
少なくとも、既に特定した前記アプリケーションプログラムの名称と、前記アプリケーションプログラムが存在するディレクトリの絶対パス名である第１のディレクトリ絶対パス名と、を対応付けて含む特定済アプリケーションプログラム名情報と、
を記憶する記憶部と、
外部から取得した業務サーバ識別情報に基づいて、前記プロセス情報から、前記業務サーバ識別情報に対応する実行ファイルの絶対パス名を抽出し、前記抽出した実行ファイルの絶対パス名から前記実行ファイルが存在するディレクトリの絶対パス名を求め、
前記求めたディレクトリの絶対パス名の末尾と、前記実行ディレクトリ相対パス名情報に含まれるディレクトリの相対パス名が合致すれば、前記求めたディレクトリの絶対パス名から前記末尾を除去し、前記末尾を除去したものを第２のディレクトリ絶対パス名とし、
前記第１のディレクトリ絶対パス名と、前記第２のディレクトリ絶対パス名とを比較することで、前記第１のディレクトリ絶対パス名と前記第２のディレクトリ絶対パス名との間にディレクトリの親子関係が成立するか否かを判定し、
前記判定により、ディレクトリの親子関係が成立する場合には、前記第１のディレクトリ絶対パス名および前記第２のディレクトリ絶対パス名のうち、前記親子関係において親ディレクトリを構成するものを用いて、前記取得した業務サーバ識別情報で識別される業務サーバにおいて動作するアプリケーションプログラムの名称を特定する、
制御を実行する制御部と、を有する
ことを特徴とする構成管理サーバ。
【請求項４】
前記記憶部は、
少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバで使用されるオペレーティングシステムと、前記オペレーティングシステムのバージョンと、を対応付けて含む業務サーバ情報と、
少なくとも、前記業務サーバで使用されるオペレーティングシステムと、前記オペレーティングシステムのバージョンと、前記オペレーティングシステムの標準プロセスの実行ファイルの絶対パス名と、を対応付けて含むオペレーティングシステム標準プロセス情報と、
を記憶し、
前記制御部は、
外部から取得した業務サーバ識別情報に基づいて、前記業務サーバ情報から、前記業務サーバで使用されるオペレーティングシステムおよび前記オペレーティングシステムのバージョンを抽出するとともに、前記オペレーティングシステム標準プロセス情報から、前記抽出したオペレーティングシステムおよびバージョンと合致する標準プロセスの実行ファイルの絶対パス名を抽出し、
前記プロセス情報から抽出した実行ファイルの絶対パス名が、前記オペレーティングシステム標準プロセス情報から抽出した標準プロセスの実行ファイルの絶対パス名と一致するか否かを判定し、
前記判定により、一致する場合には、当該業務サーバから取得したプロセスについて、前記アプリケーションプログラムの名称を特定する処理を省略する
ことを特徴とする請求項１から請求項３の何れかに記載の構成管理サーバ。
【請求項５】
業務クライアントに提供するサービスを実現するアプリケーションプログラムを動作させることにより生成したプロセスを記憶して管理する業務サーバと通信可能に接続され、前記業務サーバから取得した前記プロセスに基づいて前記アプリケーションプログラムの名称を特定する構成管理サーバにおける名称特定方法において、
前記構成管理サーバは、
少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバにて生成したプロセスの実行ファイルの絶対パス名と、前記プロセスのプロセス名と、を対応付けて含むプロセス情報と、
少なくとも、下位に複数の実行ファイルが存在する共用ディレクトリの絶対パス名を含む共用ディレクトリ絶対パス名情報と、
を記憶する記憶部を有し、
前記構成管理サーバの制御部は、
外部から取得した業務サーバ識別情報に基づいて、前記プロセス情報から、前記業務サーバ識別情報に対応する実行ファイルの絶対パス名を抽出するステップと、
前記抽出した実行ファイルの絶対パス名と、前記共用ディレクトリ絶対パス名情報に含まれる共用ディレクトリの絶対パス名とを比較することで、当該実行ファイルが前記共用ディレクトリの下位に存在するか否かを判定するステップと、
前記判定により、前記実行ファイルが前記共用ディレクトリの下位に存在する場合には、前記実行ファイルの実行ファイル名または前記プロセスのプロセス名を用いて、前記取得した業務サーバ識別情報で識別される業務サーバにおいて動作するアプリケーションプログラムの名称を特定するステップと、
を実行する
ことを特徴とする名称特定方法。
【請求項６】
業務クライアントに提供するサービスを実現するアプリケーションプログラムを動作させることにより生成したプロセスを記憶して管理する業務サーバと通信可能に接続され、前記業務サーバから取得した前記プロセスに基づいて前記アプリケーションプログラムの名称を特定する構成管理サーバにおける名称特定方法において、
前記構成管理サーバは、
少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバにて生成したプロセスの実行ファイルの絶対パス名と、前記プロセスのコマンドラインと、を対応付けて含むプロセス情報と、
少なくとも、インタプリタ処理系のプロセス名を含むインタプリタ名情報と、
を記憶する記憶部を有し、
前記構成管理サーバの制御部は、
外部から取得した業務サーバ識別情報に基づいて、前記プロセス情報から、前記業務サーバ識別情報に対応する実行ファイルの絶対パス名を抽出するステップと、
前記抽出した実行ファイルの絶対パス名と、前記インタプリタ名情報に含まれるインタプリタ処理系のプロセス名とを比較することで、当該実行ファイルに係るプロセスがインタプリタ処理系のプロセスであるか否かを判定するステップと、
前記判定により、前記実行ファイルに係るプロセスがインタプリタ処理系のプロセスである場合には、当該コマンドラインから求められ、前記インタプリタ処理系で処理されるスクリプトファイルまたは中間言語ファイルの絶対パス名を用いて、前記取得した業務サーバ識別情報で識別される業務サーバにおいて動作するアプリケーションプログラムの名称を特定するステップと、
を実行する
ことを特徴とする名称特定方法。
【請求項７】
業務クライアントに提供するサービスを実現するアプリケーションプログラムを動作させることにより生成したプロセスを記憶して管理する業務サーバと通信可能に接続され、前記業務サーバから取得した前記プロセスに基づいて前記アプリケーションプログラムの名称を特定する構成管理サーバにおける名称特定方法において、
前記構成管理サーバは、
少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバにて生成したプロセスの実行ファイルの絶対パス名と、を対応付けて含むプロセス情報と、
少なくとも、実行ファイルが存在するディレクトリの相対パス名を含む実行ディレクトリ相対パス名情報と、
少なくとも、既に特定した前記アプリケーションプログラムの名称と、前記アプリケーションプログラムが存在するディレクトリの絶対パス名である第１のディレクトリ絶対パス名と、を対応付けて含む特定済アプリケーションプログラム名情報と、
を記憶する記憶部を有し、
前記構成管理サーバの制御部は、
外部から取得した業務サーバ識別情報に基づいて、前記プロセス情報から、前記業務サーバ識別情報に対応する実行ファイルの絶対パス名を抽出し、前記抽出した実行ファイルの絶対パス名から前記実行ファイルが存在するディレクトリの絶対パス名を求めるステップと、
前記求めたディレクトリの絶対パス名の末尾と、前記実行ディレクトリ相対パス名情報に含まれるディレクトリの相対パス名が合致すれば、前記求めたディレクトリの絶対パス名から前記末尾を除去し、前記末尾を除去したものを第２のディレクトリ絶対パス名とするステップと、
前記第１のディレクトリ絶対パス名と、前記第２のディレクトリ絶対パス名とを比較することで、前記第１のディレクトリ絶対パス名と前記第２のディレクトリ絶対パス名との間にディレクトリの親子関係が成立するか否かを判定するステップと、
前記判定により、ディレクトリの親子関係が成立する場合には、前記第１のディレクトリ絶対パス名および前記第２のディレクトリ絶対パス名のうち、前記親子関係において親ディレクトリを構成するものを用いて、前記取得した業務サーバ識別情報で識別される業務サーバにおいて動作するアプリケーションプログラムの名称を特定するステップと、
を実行する
ことを特徴とする名称特定方法。
【請求項８】
前記記憶部は、
少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバで使用されるオペレーティングシステムと、前記オペレーティングシステムのバージョンと、を対応付けて含む業務サーバ情報と、
少なくとも、前記業務サーバで使用されるオペレーティングシステムと、前記オペレーティングシステムのバージョンと、前記オペレーティングシステムの標準プロセスの実行ファイルの絶対パス名と、を対応付けて含むオペレーティングシステム標準プロセス情報と、
を記憶し、
前記制御部は、
外部から取得した業務サーバ識別情報に基づいて、前記業務サーバ情報から、前記業務サーバで使用されるオペレーティングシステムおよび前記オペレーティングシステムのバージョンを抽出するとともに、前記オペレーティングシステム標準プロセス情報から、前記抽出したオペレーティングシステムおよびバージョンと合致する標準プロセスの実行ファイルの絶対パス名を抽出するステップと、
前記プロセス情報から抽出した実行ファイルの絶対パス名が、前記オペレーティングシステム標準プロセス情報から抽出した標準プロセスの実行ファイルの絶対パス名と一致するか否かを判定するステップと、
を実行し、
前記判定により、一致する場合には、当該業務サーバから取得したプロセスについて、前記アプリケーションプログラムの名称を特定する処理を省略する
ことを特徴とする請求項５から請求項７の何れかに記載の名称特定方法。
【請求項９】
業務クライアントに提供するサービスを実現するアプリケーションプログラムを動作させることにより生成したプロセスを記憶して管理する業務サーバと通信可能に接続され、前記業務サーバから取得した前記プロセスに基づいて前記アプリケーションプログラムの名称を特定する構成管理サーバにおける名称特定方法を、
少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバにて生成したプロセスの実行ファイルの絶対パス名と、前記プロセスのプロセス名と、を対応付けて含むプロセス情報と、
少なくとも、下位に複数の実行ファイルが存在する共用ディレクトリの絶対パス名を含む共用ディレクトリ絶対パス名情報と、
を記憶する記憶部を有する前記構成管理サーバのコンピュータに実行させる名称特定プログラムにおいて、
前記構成管理サーバの制御部に、
外部から取得した業務サーバ識別情報に基づいて、前記プロセス情報から、前記業務サーバ識別情報に対応する実行ファイルの絶対パス名を抽出する処理と、
前記抽出した実行ファイルの絶対パス名と、前記共用ディレクトリ絶対パス名情報に含まれる共用ディレクトリの絶対パス名とを比較することで、当該実行ファイルが前記共用ディレクトリの下位に存在するか否かを判定する処理と、
前記判定により、前記実行ファイルが前記共用ディレクトリの下位に存在する場合には、前記実行ファイルの実行ファイル名または前記プロセスのプロセス名を用いて、前記取得した業務サーバ識別情報で識別される業務サーバにおいて動作するアプリケーションプログラムの名称を特定する処理と、
を実行させる
ことを特徴とする名称特定プログラム。
【請求項１０】
業務クライアントに提供するサービスを実現するアプリケーションプログラムを動作させることにより生成したプロセスを記憶して管理する業務サーバと通信可能に接続され、前記業務サーバから取得した前記プロセスに基づいて前記アプリケーションプログラムの名称を特定する構成管理サーバにおける名称特定方法を、
少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバにて生成したプロセスの実行ファイルの絶対パス名と、前記プロセスのコマンドラインと、を対応付けて含むプロセス情報と、
少なくとも、インタプリタ処理系のプロセス名を含むインタプリタ名情報と、
を記憶する記憶部を有する前記構成管理サーバのコンピュータに実行させる名称特定プログラムにおいて、
前記構成管理サーバの制御部に、
外部から取得した業務サーバ識別情報に基づいて、前記プロセス情報から、前記業務サーバ識別情報に対応する実行ファイルの絶対パス名を抽出する処理と、
前記抽出した実行ファイルの絶対パス名と、前記インタプリタ名情報に含まれるインタプリタ処理系のプロセス名とを比較することで、当該実行ファイルに係るプロセスがインタプリタ処理系のプロセスであるか否かを判定する処理と、
前記判定により、前記実行ファイルに係るプロセスがインタプリタ処理系のプロセスである場合には、当該コマンドラインから求められ、前記インタプリタ処理系で処理されるスクリプトファイルまたは中間言語ファイルの絶対パス名を用いて、前記取得した業務サーバ識別情報で識別される業務サーバにおいて動作するアプリケーションプログラムの名称を特定する処理と、
を実行させる
ことを特徴とする名称特定プログラム。
【請求項１１】
業務クライアントに提供するサービスを実現するアプリケーションプログラムを動作させることにより生成したプロセスを記憶して管理する業務サーバと通信可能に接続され、前記業務サーバから取得した前記プロセスに基づいて前記アプリケーションプログラムの名称を特定する構成管理サーバにおける名称特定方法を、
少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバにて生成したプロセスの実行ファイルの絶対パス名と、を対応付けて含むプロセス情報と、
少なくとも、実行ファイルが存在するディレクトリの相対パス名を含む実行ディレクトリ相対パス名情報と、
少なくとも、既に特定した前記アプリケーションプログラムの名称と、前記アプリケーションプログラムが存在するディレクトリの絶対パス名である第１のディレクトリ絶対パス名と、を対応付けて含む特定済アプリケーションプログラム名情報と、
を記憶する記憶部を有する前記構成管理サーバのコンピュータに実行させる名称特定プログラムにおいて、
前記構成管理サーバの制御部に、
外部から取得した業務サーバ識別情報に基づいて、前記プロセス情報から、前記業務サーバ識別情報に対応する実行ファイルの絶対パス名を抽出し、前記抽出した実行ファイルの絶対パス名から前記実行ファイルが存在するディレクトリの絶対パス名を求める処理と、
前記求めたディレクトリの絶対パス名の末尾と、前記実行ディレクトリ相対パス名情報に含まれるディレクトリの相対パス名が合致すれば、前記求めたディレクトリの絶対パス名から前記末尾を除去し、前記末尾を除去したものを第２のディレクトリ絶対パス名とする処理と、
前記第１のディレクトリ絶対パス名と、前記第２のディレクトリ絶対パス名とを比較することで、前記第１のディレクトリ絶対パス名と前記第２のディレクトリ絶対パス名との間にディレクトリの親子関係が成立するか否かを判定する処理と、
前記判定により、ディレクトリの親子関係が成立する場合には、前記第１のディレクトリ絶対パス名および前記第２のディレクトリ絶対パス名のうち、前記親子関係において親ディレクトリを構成するものを用いて、前記取得した業務サーバ識別情報で識別される業務サーバにおいて動作するアプリケーションプログラムの名称を特定する処理と、
を実行させる
ことを特徴とする名称特定プログラム。
【請求項１２】
前記記憶部は、
少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバで使用されるオペレーティングシステムと、前記オペレーティングシステムのバージョンと、を対応付けて含む業務サーバ情報と、
少なくとも、前記業務サーバで使用されるオペレーティングシステムと、前記オペレーティングシステムのバージョンと、前記オペレーティングシステムの標準プロセスの実行ファイルの絶対パス名と、を対応付けて含むオペレーティングシステム標準プロセス情報と、
を記憶し、
前記制御部に、
外部から取得した業務サーバ識別情報に基づいて、前記業務サーバ情報から、前記業務サーバで使用されるオペレーティングシステムおよび前記オペレーティングシステムのバージョンを抽出するとともに、前記オペレーティングシステム標準プロセス情報から、前記抽出したオペレーティングシステムおよびバージョンと合致する標準プロセスの実行ファイルの絶対パス名を抽出する処理と、
前記プロセス情報から抽出した実行ファイルの絶対パス名が、前記オペレーティングシステム標準プロセス情報から抽出した標準プロセスの実行ファイルの絶対パス名と一致するか否かを判定する処理と、
を実行させ、
前記判定により、一致する場合には、当該業務サーバから取得したプロセスについて、前記アプリケーションプログラムの名称を特定する処理を省略させる
ことを特徴とする請求項８から請求項１１の何れかに記載の名称特定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主に、ネットワークを利用した複数の計算機を含む情報処理システムにおいて実行される業務システムの管理方法として、前記業務システムを構成するアプリケーションの名称を特定する技術に関する。
【背景技術】
【０００２】
ネットワークに接続された業務サーバ群と業務クライアント群があり、業務サーバ上でアプリケーションを動作させて業務クライアントにサービスを提供する計算機システムがある。この計算機システムにおいて、どのような名称のアプリケーションがどの業務サーバ上で動作しているのか、という情報を知ることは、業務システムを安定運用する上で重要である。
【０００３】
このようなアプリケーション名を知る方法の一つとして、アプリケーション名とＴＣＰ（Transmission Control Protocol）・ＵＤＰ（User Datagram Protocol）の待受ポートの関連を情報として持っておいたり、アプリケーション固有の管理プロトコルで通信したりすることで、業務サーバ上で動作するアプリケーションの名称を特定する方法が考えられている（非特許文献１）。
【０００４】
また、業務サーバ上にインストールされた実行ファイルのディレクトリ名そのものを、インストールされているアプリケーションの名称として求める方法が考えられている（非特許文献２）。
【非特許文献１】「ＩＢＭ  Ｔｉｖｏｌｉ  Ａｐｐｌｉｃａｔｉｏｎ  Ｄｅｐｅｎｄｅｎｃｙ  Ｄｉｓｃｏｖｅｒｙ  Ｍａｎａｇｅｒ」、[online]、２００８年１０月、http://www-01.ibm.com/software/tivoli/products/taddm/
【非特許文献２】InstList ２００２年、http://www.forest.impress.co.jp/lib/sys/instmng/softmng/instlist.html
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記の従来の技術は、次の点で問題がある。
アプリケーション名とＴＣＰ・ＵＤＰの待受ポートの関連を情報として持っておいたり、アプリケーション固有の管理プロトコルで通信したりする方法では、アプリケーション毎に、またアプリケーションのバージョン毎に、待ち受けポートや管理プロトコルが異なる場合があるため、新種のアプリケーションや、バージョンアップしたアプリケーションの名称が特定できない問題がある。
【０００６】
これを解決するには、前記したように実行ファイルのディレクトリ名を使う方法がある。実行ファイルのディレクトリ名を使えば、どんなバージョンのどんなアプリケーションであっても、アプリケーションの名称を求めることができる。だが残念ながら、実行ファイルのディレクトリ名を使う方式では、求めたアプリケーション名が正確でない場合が多々ある。例えば、実行ファイルを複数のディレクトリに分けてインストールするアプリケーションがあったときに、このアプリケーションが独立した複数のアプリケーションとして特定されてしまう。近年の商用アプリケーションは、一部がＪａｖａ（登録商標）で、残りが通常の実行ファイルとして実装されている場合が多く、この場合Ｊａｖａの処理系を格納するディレクトリと、通常の実行ファイルを格納するディレクトリが異なるため、前記した問題が起きる。
【０００７】
また、／ｕｓｒ／ｂｉｎ／、／ｕｓｒ／ｌｏｃａｌ／ｂｉｎ／等のディレクトリ（共用ディレクトリ）には、複数のアプリケーションの実行ファイルが置かれる（格納される）。これらディレクトリに置かれた実行ファイルから成るプロセスは、本来は別々のアプリケーションであるにも関わらず全て同じアプリケーション名として特定され、しかもその名称がアプリケーション名と全く違う名前となってしまう。
【０００８】
そこで本発明の目的は、業務サーバ上で動作する任意のアプリケーションに対し、より正確にアプリケーションの名称を特定することである。
【課題を解決するための手段】
【０００９】
本発明の代表的な一例を示せば以下の通りである。
最初に、業務サーバ上で動作するプロセスについて、対応する実行ファイルの絶対パス名とコマンドラインを求める。求めたプロセスが、ＯＳ（Operating System）インストール直後に動作しているものであったり、アプリケーション名を求める必要の無いものであったりするときは、当該プロセスについてアプリケーション名を求めない。
【００１０】
次に、プロセスの実行ファイルが、ｐｅｒｌ、ｐｙｔｈｏｎ、ｓｈ等のスクリプト処理系となるときは、当該プロセスのコマンドラインに渡されたスクリプトのディレクトリ名ないしファイルから、アプリケーション名を求める。
【００１１】
続いて、実行ファイルが、／ｕｓｒ／ｂｉｎ／、／ｕｓｒ／ｌｏｃａｌ／ｂｉｎ／等の共用ディレクトリ直下にあるときは、実行ファイルのファイル名からアプリケーション名を求める。なお、実行ファイルが共用ディレクトリの直下ではなく、その下位にある場合であっても、アプリケーション名を求めても良い。
【００１２】
上記に合致しないときは、実行ファイルの絶対パス名からディレクトリの絶対パス名を取り出す。その末尾が、／ｂｉｎ／、／ｔｏｏｌｓ／等、実行ファイルを直下に置く典型的なディレクトリ名であったときは、それを取り除いた上で、特定済のアプリケーション名と、それに対応するディレクトリ名とを比較する。もし、片方がもう片方のサブディレクトリとなるようであれば、それらのうち、より短いほうのディレクトリ名から、アプリケーション名を求める。
【００１３】
上記全てに合致しないときは、ディレクトリ名からアプリケーション名を求める。
詳細は、後記する。
【発明の効果】
【００１４】
本発明によれば、業務サーバ上で動作する任意のアプリケーションに対し、より正確にアプリケーションの名称を特定することができる。
【発明を実施するための最良の形態】
【００１５】
＜第１の実施の形態＞
〔構成〕
以下、本発明の第１の実施の形態について図面を参照しながら説明する。
図１は、本発明の第１の実施の形態の情報処理システムの全体構成を表す図の一例である。情報処理システムは、構成管理サーバ１０１、業務サーバ１０２、業務クライアント１０３を備える。業務サーバ１０２は、自サーバ上でアプリケーションプログラム（以下、単に、「アプリケーション」と称する場合がある。）を動作させることで、業務クライアント１０３へサービスを提供する。
【００１６】
構成管理サーバ１０１と業務サーバ１０２は、管理用ネットワーク１０４に、リンク１０９を介して接続される。業務サーバ１０２と業務クライアント１０３は、業務用ネットワーク１０５に、リンク１０９を介して接続される。リンク１０９は、有線または無線の接続方式であり、サブネットワークを含んでいても良い。構成管理サーバ１０１、業務サーバ１０２、業務クライアント１０３は、それぞれ異なる方式で、管理用ネットワーク１０４ないし業務用ネットワーク１０５に接続されていても良い。管理用ネットワーク１０４および業務用ネットワーク１０５が同一のネットワークとなっていても良い。
【００１７】
業務サーバ１０２および業務クライアント１０３は、それぞれ２台を例示するが、それぞれ１台または複数台となっていても良い。また、構成管理サーバ１０１、業務サーバ１０２、業務クライアント１０３は、そのどれか２つ以上が、同一の筐体ないし同一の仮想マシン（ＶＭ：Virtual Machine）となっていても良い。
【００１８】
業務サーバ１０２は、業務サーバ１０２で保持される実行ファイルの内容を、業務サーバ１０２の主記憶にプログラムとして格納し、当該プログラムが業務サーバ１０２のプロセッサで実行されることでプロセスを生成する。業務サーバ１０２は、アプリケーションプログラムを実行して一つ以上のプロセスを生成することで、業務クライアント１０３にサービスを提供する。
【００１９】
業務サーバ１０２は、プロセス管理部１０６、ネットワーク管理部１０７およびコマンド実行部１０８を備える。
プロセス管理部１０６は、業務サーバ１０２上で生成したプロセスの情報を保持している。
ネットワーク管理部１０７は、前記プロセスが使用するＴＣＰないしＵＤＰの待受ポートの情報を保持している。
コマンド実行部１０８は、例えば、業務クライアント１０３といった外部のコンピュータから入力されたコマンドを実行する。
なお、プロセス管理部１０６、ネットワーク管理部１０７およびコマンド実行部１０８は、業務サーバ１０２の主記憶にプログラムを格納して、当該プログラムが業務サーバ１０２のプロセッサで実行されても良い。また、プロセス管理部１０６およびネットワーク管理部１０７、コマンド実行部１０８が集積回路化されてハードウェアによって実現されても良い。
【００２０】
構成管理サーバ１０１は、プロセス情報収集部１２０、標準プロセス判定部１２１、インタプリタ判定部１２２、共用ディレクトリ判定部１２３、サブディレクトリ判定部１２４、アプリケーション名特定部１２５、特殊アプリケーション名特定部１２６を備える。なお、標準プロセス判定部１２１、インタプリタ判定部１２２、共用ディレクトリ判定部１２３、サブディレクトリ判定部１２４、アプリケーション名特定部１２５、特殊アプリケーション名特定部１２６のうち、少なくとも１つ以上が存在しなくても良い。構成管理サーバ１０１は図２で詳しく説明する。
【００２１】
図２は、構成管理サーバ１０１の構成を表す図の一例である。構成管理サーバ１０１はプロセッサ２００（制御部）、主記憶２０１（記憶部）、入力装置２０３、出力装置２０４、外部記憶装置インターフェース２０５、通信インターフェース２０６および記憶装置１１０（記憶部）を備え、それらが相互に通信できるよう接続されている。
【００２２】
主記憶２０１に格納された、プロセス情報収集プログラム２０２０、標準プロセス判定プログラム２０２１、インタプリタ判定プログラム２０２２、共用ディレクトリ判定プログラム２０２３、サブディレクトリ判定プログラム２０２４、アプリケーション名特定プログラム２０２５、特殊アプリケーション名特定プログラム２０２６等の各種プログラム２０２をプロセッサ２００が実行することで、プロセス情報収集部１２０、標準プロセス判定部１２１、インタプリタ判定部１２２、共用ディレクトリ判定部１２３、サブディレクトリ判定部１２４、アプリケーション名特定部１２５および特殊アプリケーション名特定部１２６等の各部における処理を行う。
【００２３】
なお、プロセス情報収集プログラム２０２０、標準プロセス判定プログラム２０２１、インタプリタ判定プログラム２０２２、共用ディレクトリ判定プログラム２０２３、サブディレクトリ判定プログラム２０２４、アプリケーション名特定プログラム２０２５、特殊アプリケーション名特定プログラム２０２６等の各種プログラム２０２のうち、少なくとも１つ以上が存在しなくても良い。
【００２４】
各種プログラム２０２をプロセッサ２００で実行する代わりに、プロセス情報収集部１２０、標準プロセス判定部１２１、インタプリタ判定部１２２、共用ディレクトリ判定部１２３、サブディレクトリ判定部１２４、アプリケーション名特定部１２５、特殊アプリケーション名特定部１２６を、各処理を行う処理部として集積回路化する等してハードウェアで実現してもよい。以下、説明を簡単にするため、主記憶２０１上にある各種プログラム２０２をプロセッサ２００が実行することで実現される各処理部を、各処理の主体として説明する。
【００２５】
外部記憶装置インターフェース２０５は記憶装置１１０に接続される。記憶装置１１０は構成管理サーバ１０１の外部に備わっていても良く、構成管理サーバ１０１の内部に備わっていても良い。記憶装置１１０は、収集済プロセス一覧２１０（プロセス情報）、業務サーバ一覧２２０（業務サーバ情報）、ＯＳ標準プロセス一覧２３０（オペレーティングシステム標準プロセス情報）、インタプリタ名一覧２４０（インタプリタ名情報）、共用ディレクトリ絶対パス名一覧２５０（共用ディレクトリ絶対パス名情報）、実行ディレクトリ相対パス名一覧２６０（実行ディレクトリ相対パス名情報）、アプリケーション名取得方法一覧２７０、特定済アプリケーション名一覧２８０（特定済アプリケーションプログラム名情報）等を含む各種情報２０７を保持する。
【００２６】
収集済プロセス一覧２１０、業務サーバ一覧２２０、ＯＳ標準プロセス一覧２３０、インタプリタ名一覧２４０、共用ディレクトリ絶対パス名一覧２５０、実行ディレクトリ名相対パス一覧２６０、アプリケーション名取得方法一覧２７０、特定済アプリケーション名一覧２８０のうち、少なくとも１つ以上が存在しなくても良い。また、記憶装置１１０が保持する各種情報２０７のうち、１つ以上の情報が主記憶２０１に格納されていても良い。各種情報２０７については、図３から図９で詳しく説明する。
【００２７】
通信インターフェース２０６は、管理用ネットワーク１０４に接続されている。通信インターフェース２０６と外部記憶装置インターフェース２０５は同一のインターフェースとなっていても良い。
【００２８】
〔データ構造〕
図３は、収集済プロセス一覧２１０の構造と内容および具体例を示す図である。収集済プロセス一覧２１０は表形式となっており、一つ以上の行から成る。全ての行は５つの列を含んでいる。ここで５つの列とは、業務サーバ名２１１、プロセスＩＤ（Identification）２１２、実行ファイル絶対パス名２１３、コマンドライン２１４、待受ポート一覧２１５である。図示していないが、収集済プロセス一覧２１０の各行は、これ以外の列を含んでいても良い。
【００２９】
収集済プロセス一覧２１０には、情報処理システムにおいて存在する各業務サーバ１０２上で動作しているプロセスにつき、一行の情報が格納される。すなわち、業務サーバ１０２のホスト名を業務サーバ名２１１に、前記プロセスを識別するプロセスＩＤをプロセスＩＤ２１２に、プロセスの実行ファイルの絶対パス名を実行ファイル絶対パス名２１３に、プロセスのコマンドライン（プロセス名を含む）をコマンドライン２１４に、プロセスが待ち受けしているＴＣＰないしＵＤＰのポートを待受ポート一覧２１５に格納する。
【００３０】
業務サーバ名２１１に格納する情報は、図３で説明した業務サーバ１０２のホスト名を求めるのと同じ方法で取得できる。すなわち、当該業務サーバ１０２上でｈｏｓｔｎａｍｅコマンドを実行したときの実行結果や、ＷＭＩのＷｉｎ３２＿ＣｏｍｐｕｔｅｒＳｙｓｔｅｍクラスのインスタンスの情報から取得できる。
【００３１】
プロセスＩＤ２１２、プロセスの実行ファイル絶対パス名２１３、プロセスのコマンドライン２１４は、業務サーバ１０２内のプロセス管理部１０６から取得できる。例えば、当該業務サーバ１０２上でｐｓコマンドないしｌｓｏｆコマンドを実行したときの実行結果や、／ｐｒｏｃ／ファイルシステム以下にあるファイルの内容、またはＷＭＩ（Windows（登録商標） Management Infrastructure）のＷｉｎ３２＿Ｐｒｏｃｅｓｓクラスのインスタンスのプロパティを参照すれば、プロセス管理部１０６からこれらの情報を取得できる。これら以外の方法を使って、プロセスＩＤ２１２、プロセスの実行ファイル絶対パス名２１３、プロセスのコマンドライン２１４の情報を取得しても良い。
【００３２】
待受ポート一覧２１５に格納する情報は、業務サーバ１０２内のネットワーク管理部１０７から取得する。例えば、当該業務サーバ１０２上でｎｅｔｓｔａｔコマンドないしｌｓｏｆコマンドを実行したときの実行結果を参照すれば、ネットワーク管理部１０７からこれらの情報を取得できる。これら以外の方法をつかって、待受ポート一覧２１５の情報を取得しても良い。
【００３３】
収集済プロセス一覧２１０に格納された情報は、各種プログラム２０２の全てにおいて利用される。収集済プロセス一覧２１０の情報は、情報処理システムのシステム管理者が手作業で作成しても、または何らかのツールやユーティリティを用いて作成しても良い。
【００３４】
なお、後記するようなアプリケーション名取得方法一覧２７０を使ってアプリケーション名を求める処理を特殊アプリケーション名特定部１２６で行わないのであれば、収集済プロセス一覧２１０に待受ポート一覧２１５を含まなくても良い。また、インタプリタ名一覧２４０を使ってコマンドライン２１４からディレクトリ名やスクリプト名を求める処理を、インタプリタ判定部１２２で行わないのであれば、収集済プロセス一覧２１０にコマンドライン２１４を含まなくても良い。
【００３５】
図４は、業務サーバ一覧２２０の構造と内容および具体例を示す図である。業務サーバ一覧２２０は表形式となっており、一つ以上の行から成る。全ての行は３つの列を含んでいる。ここで３つの列とは、業務サーバ名２２１、ＯＳ名２２２に、ＯＳバージョン２２３である。図示していないが、業務サーバ一覧２２０の各行は、これ以外の列を含んでいても良い。
【００３６】
業務サーバ一覧２２０には、情報処理システムにおいて存在する各業務サーバ１０２につき、一行の情報が格納される。すなわち、業務サーバ１０２のホスト名が業務サーバ名２２１に、当該業務サーバ１０２上で動作するＯＳ（例えば、Ｗｉｎｄｏｗｓ）の名称とバージョンが、それぞれＯＳ名２２２、ＯＳバージョン２２３に格納される。
【００３７】
このうち業務サーバ名２２１は、当該業務サーバ１０２上でｈｏｓｔｎａｍｅコマンドを実行したときの実行結果や、ＷＭＩのＷｉｎ３２＿ＣｏｍｐｕｔｅｒＳｙｓｔｅｍクラスのインスタンスの情報から取得できる。
ＯＳ名２２２、ＯＳバージョン２２３は、例えば当該業務サーバ１０２上でｕｎａｍｅコマンドを実行したときの実行結果や、ＷＭＩのＷｉｎ３２＿ＯｐｅｒａｔｉｏｎＳｙｓｔｅｍクラスのインスタンスの情報から取得できる。
【００３８】
業務サーバ一覧２２０格納された情報は、標準プロセス判定部１２１において利用される。業務サーバ一覧２２０格納された情報は、情報処理システムのシステム管理者が手作業で作成しても、あるいは何らかのツールやユーティリティを用いて作成しても良い。
【００３９】
図５は、ＯＳ標準プロセス一覧２３０の構造と内容および具体例を示す図である。ＯＳ標準プロセス一覧２３０は表形式となっており、一つ以上の行から成る。全ての行は３つの列を含んでいる。ここで３つの列とは、ＯＳ名２３１、ＯＳバージョン２３２、実行ファイル絶対パス名２３３である。図示していないが、ＯＳ標準プロセス一覧２３０の各行は、これ以外の列を含んでいても良い。
【００４０】
ＯＳ標準プロセス一覧２３０は、ＯＳインストール直後に動作しているプロセスの実行ファイルの絶対パス名や、アプリケーション名を特定する必要のないプロセスの実行ファイルの絶対パス名についての情報が、ＯＳ名、ＯＳバージョンと共に、それぞれ実行ファイル絶対パス名２３３、ＯＳ名２３１、ＯＳバージョン２３２に格納されている。ＯＳインストール直後に動作しているプロセスの実行ファイルの絶対パス名は、例えば任意の計算機にＯＳをインストールし、インストールが完了した直後に、当該計算機上でｐｓコマンドやｌｓｏｆコマンドを実行したときの実行結果や、ＷＭＩのＷｉｎ３２＿Ｐｒｏｃｅｓｓクラスのインスタンスの情報から取得できる。ＯＳ名、ＯＳバージョンは、当該計算機上でｕｎａｍｅコマンドを実行したときの実行結果や、ＷＭＩのＷｉｎ３２＿ＯｐｅｒａｔｉｎｇＳｙｓｔｅｍクラスのインスタンスの情報から取得できる。
【００４１】
ＯＳ標準プロセス一覧２３０に格納された情報は、標準プロセス判定部１２１において利用される。ＯＳ標準プロセス一覧２３０に格納される情報は、情報処理システムのシステム管理者が手作業で作成しても、あるいは何らかのツールやユーティリティを用いて作成しても良い。
【００４２】
図６は、インタプリタ名一覧２４０の構造と内容および具体例を示す図である。インタプリタ名一覧２４０は表形式となっており、一つ以上の行から成る。全ての行は１つの列を含んでいる。ここで１つの列とは、インタプリタ名２４１である。図示していないが、インタプリタ名一覧２４０の各行は、これ以外の列を含んでいても良い。
【００４３】
インタプリタ名一覧２４０は、ｐｅｒｌ、ｐｙｔｈｏｎ、ｓｈなど、スクリプト言語を処理するインタプリタ処理系のプロセス名や、ｊａｖａ等の中間言語を処理するインタプリタ（言語）処理系のプロセス名がインタプリタ名２４１に格納されている。
【００４４】
インタプリタ名一覧２４０に格納された情報は、インタプリタ判定部１２２において利用される。インタプリタ名一覧２４０に格納される情報は、情報処理システムのシステム管理者が手作業で作成しても、あるいは何らかのツールやユーティリティを用いて作成しても良い。
【００４５】
図７は、共用ディレクトリ絶対パス名一覧２５０の構造と内容および具体例を示す図である。共用ディレクトリ絶対パス名一覧２５０は表形式となっており、一つ以上の行から成る。全ての行は１つの列を含んでいる。ここで１つの列とは、共用ディレクトリ絶対パス名２５１である。図示していないが、共用ディレクトリ絶対パス名一覧２５０の各行は、これ以外の列を含んでいても良い。
【００４６】
共用ディレクトリ絶対パス名一覧２５０は、／ｕｓｒ／ｂｉｎ／、／ｕｓｒ／ｌｏｃａｌ／ｂｉｎ／、／ｏｐｔ／、ｃ：￥、ｃ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥、等といった、そのディレクトリより下に複数のアプリケーションの実行ファイルを格納するディレクトリのディレクトリ名（絶対パス名）が共用ディレクトリ絶対パス名２５１に格納されている。
【００４７】
共用ディレクトリ絶対パス名一覧２５０に格納された情報は、共用ディレクトリ判定部１２３において利用される。共用ディレクトリ絶対パス名一覧２５０に格納される情報は、情報処理システムのシステム管理者が手作業で作成しても、あるいは何らかのツールやユーティリティを用いて作成しても良い。
【００４８】
図８は、実行ディレクトリ相対パス名一覧２６０の構造と内容および具体例を示す図である。実行ディレクトリ相対パス名一覧２６０は表形式となっており、一つ以上の行から成る。全ての行は１つの列を含んでいる。ここで１つの列とは、実行ディレクトリ相対パス名２６１である。図示していないが、実行ディレクトリ相対パス名一覧２６０の各行は、これ以外の列を含んでいても良い。
【００４９】
実行ディレクトリ相対パス名一覧２６０は、／ｂｉｎ／、／ｔｏｏｌｓ／等、直下またはより下位に実行ファイルが置かれる可能性の高いサブディレクトリ名が実行ディレクトリ相対パス名２６１に格納されている。
【００５０】
実行ディレクトリ名一覧２６０に格納された情報は、サブディレクトリ判定部１２４、アプリケーション名特定部１２５において利用される。実行ディレクトリ相対パス名一覧２６０に格納される情報は、情報処理システムのシステム管理者が手作業で作成しても、あるいは何らかのツールやユーティリティを用いて作成しても良い。
【００５１】
図９は、アプリケーション名取得方法一覧２７０の構造と内容および具体例を示す図である。アプリケーション名取得方法一覧２７０は表形式となっており、一つ以上の行から成る。全ての行は３つの列を含んでいる。ここで３つの列とは、待受ポート番号２７１、使用プロトコル２７２、取得方法２７３である。図示していないが、アプリケーション名取得方法一覧２７０の各行は、これ以外の列を含んでいても良い。
【００５２】
アプリケーション名取得方法一覧２７０には、ディレクトリ名からアプリケーション名を求める以外の方法として、どのプロトコルを使って、どのような情報をアプリケーションから取得すれば、アプリケーションの名称が特定できるのかが格納されている。具体的には、アプリケーションに対する待受ポート番号を待受ポート番号２７１に、使用するプロトコルを使用プロトコル２７２に、使用するプロトコルに応じたデータの取得方法（例えば、使用するプロトコルがｈｔｔｐであれば、取得するデータはＨＴＴＰ文書である。詳細は後記する。）を取得方法２７３に格納する。
【００５３】
アプリケーション名取得方法一覧２７０に格納された情報は、特殊アプリケーション名特定部１２６において利用される。実行ディレクトリ名一覧２６０に格納される情報は、情報処理システムのシステム管理者が手作業で作成しても、あるいは何らかのツールやユーティリティを用いて作成しても良い。
【００５４】
図１０は、特定済アプリケーション名一覧２８０の構造と内容および具体例を示す図である。特定済アプリケーション名一覧２８０は表形式となっており、一つ以上の行から成る。全ての行は３つの列を含んでいる。ここで３つの列とは、絶対パス名２８１、プロセスＩＤ一覧２８２、アプリケーション名２８３である。図示していないが、特定済アプリケーション名一覧２８０の各行は、これ以外の列を含んでいても良い。
【００５５】
特定済アプリケーション名一覧２８０には、本実施の形態で特定したアプリケーションの名称と、それに関連する情報が格納されている。具体的には、特定したアプリケーションのインストール先となるディレクトリの絶対パス名を絶対パス名２８１に、当該プロセスのプロセスＩＤをプロセスＩＤ一覧２８２に、特定されたアプリケーションの名称をアプリケーション名２８３に格納する。
【００５６】
特定済アプリケーション名一覧２８０に格納された情報は、インタプリタ判定部１２２、共用ディレクトリ判定部１２３、サブディレクトリ判定部１２４、アプリケーション名特定部１２５において利用される。特定済アプリケーション名一覧２８０に格納される情報は、情報処理システムのシステム管理者が手作業で作成しても、あるいは何らかのツールやユーティリティを用いて、作業の一部または全部を自動化して作成しても良い。
【００５７】
〔処理の概要〕
図１１は、本発明の第１の実施の形態において、構成管理サーバ１０１内にある標準プロセス判定部１２１、インタプリタ判定部１２２、共用ディレクトリ判定部１２３、サブディレクトリ判定部１２４、アプリケーション名特定部１２５、特殊アプリケーション名特定部１２６といった各処理部における、おおまかな処理の流れと、記憶装置１１０に格納された業務サーバ一覧２１０、収集済プロセス一覧２２０、ＯＳ標準プロセス一覧２３０、インタプリタ名一覧２４０、共用ディレクトリ絶対パス名一覧２５０、実行ディレクトリ名相対パス一覧２６０、アプリケーション名取得方法一覧２７０、特定済アプリケーション名一覧２８０などの各種情報２０７と各処理部との間のデータの流れを示す図である。各処理部での処理の詳細は、図１２から図１４で説明する。図１１中、実線矢印がおおまかな処理の流れを、破線矢印がデータの流れを示す。
【００５８】
最初に、プロセス情報収集部１２０に業務サーバ名１３０が入力される。ここで入力される業務サーバ名１３０は、例えば、当該業務サーバ１０２で動作しているアプリケーションの名称を特定したいと考えているユーザにより構成管理サーバ１０１の入力装置２０３から入力されたものである。プロセス情報収集部１２０は、業務サーバ名１３０に対応した業務サーバ１０２で動作するプロセスの一覧を、収集済プロセス一覧２１０から取得する。なお、収集済プロセス一覧２１０の情報は、業務サーバ１０２内にあるプロセス管理部１０６とネットワーク管理部１０７から取得される。これ以外の方法を使って情報を取得し、収集済プロセス一覧２２０に格納しても良い。また、プロセス情報収集部１２０がプロセス管理部１０６とネットワーク管理部１０７から直接取得しても良い。
【００５９】
次に、取得したプロセスのそれぞれを入力として、標準プロセス判定部１２１、インタプリタ判定部１２２、共用ディレクトリ判定部１２３、サブディレクトリ判定部１２４で処理を行い、アプリケーション名特定部１２５、特殊アプリケーション名特定部１２６では、アプリケーション名を特定する。
【００６０】
なお、標準プロセス判定部１２１、インタプリタ判定部１２２、共用ディレクトリ判定部１２３、サブディレクトリ判定部１２４、特殊アプリケーション名特定部１２６のうち、少なくとも一つ以上の処理部が存在しなくても良い。
【００６１】
標準プロセス判定部１２１では、プロセス情報収集部１２０で求めたプロセスについて、アプリケーション名を特定する必要があるかどうかを判定する。これは、当該業務サーバ１０２のＯＳ名およびＯＳバージョンを業務サーバ一覧２２０から取得し、入力されたプロセスが当該ＯＳ名および当該ＯＳバージョンに対するＯＳ標準プロセスであるかどうかを、ＯＳ標準プロセス一覧２３０を調べることで行う。なお、業務サーバのＯＳ名およびＯＳバージョンは、標準プロセス判定部１２１が業務サーバ１０２から直接取得しても良い。
【００６２】
標準プロセス判定部１２１での処理により、特に名称を特定する必要の無いＯＳとしてのアプリケーションやそのバージョン別のもの等を除外することにより、非常に沢山のアプリケーション名を求めてしまうことが無くなり、業務システムに直接関係のあるアプリケーションに絞ってアプリケーション名を求めることができるようになる。
【００６３】
インタプリタ判定部１２２では、インタプリタ名一覧２４０を参照することで、プロセス情報収集部１２０で求めたプロセスがＪａｖａやｐｅｒｌ、ｓｈ等のインタプリタ処理系のプロセス（インタプリタプロセス）であるか判定する。これらインタプリタは、異なるアプリケーションから使われる場合がある。その場合、インタプリタプロセスについて、ディレクトリ名からアプリケーション名を求めると、異なるアプリケーションが同じアプリケーション名となってしまう。そこで、プロセスがインタプリタプロセスであると判定したときは、プロセスの実行ファイルのディレクトリ名ではなく、コマンドラインからアプリケーション名を特定する。
【００６４】
インタプリタ判定部１２２での処理により、インタプリタプロセスについて、より正確にアプリケーション名を特定できるようになる。
【００６５】
共用ディレクトリ判定部１２３では、共用ディレクトリ絶対パス名一覧２５０を参照することで、プロセス情報収集部１２０で求めたプロセスの実行ファイルが共用ディレクトリ直下に存在するのかを判定する。共用ディレクトリとは、／ｕｓｒ／ｂｉｎ／、／ｕｓｒ／ｌｏｃａｌ／ｂｉｎ／等、直下に多数のアプリケーション（より詳しく言えば、これらのアプリケーションを実現したり、当該プロセスを実現したりする実行ファイル）が置かれるディレクトリである。このディレクトリ直下に置かれる実行ファイルから成るプロセスについて、プロセスの実行ファイルのディレクトリ名からアプリケーション名を求めると、異なるアプリケーションが同じアプリケーション名となってしまう。そこで、プロセスが共用ディレクトリ直下の実行ファイルから成ると判定したときは、実行ファイル名からアプリケーション名を求めるようにする。
【００６６】
共用ディレクトリ判定部１２３での処理により、共用ディレクトリ直下に置かれる実行ファイルから成るプロセスについて、より正確にアプリケーション名を特定できるようになる。
【００６７】
サブディレクトリ判定部１２４では、実行ディレクトリ相対パス名一覧２６０を参照することで、プロセスの実行ファイルのディレクトリ名が異なるが、同一のアプリケーションとみなすことができるプロセスであるか否かを判定する。例えば、「c:\myapp\」にインストールされたアプリケーションがあり、プロセスＡのディレクトリが「c:\myapp\bin\」で、プロセスＢのディレクトリが「c:\myapp\tools\」であったとする。これらプロセスについて、実行ファイルのディレクトリ名からアプリケーション名を求めると、本来は同じアプリケーションであるはずなのに、それぞれ別のアプリケーション名となってしまう。そこで、実行ファイルが良く置かれるディレクトリの相対パス名を実行ディレクトリ相対パス名一覧２６０として持ち、プロセスの実行ファイルのディレクトリ名の末端がそれに合致する場合は、それを除外する。そして、複数のプロセスについて除外したディレクトリ名同士で比較をし、ディレクトリ名が一致するか、あるいは片方がもう片方のサブディレクトリとなるようなプロセス同士を同一アプリケーションとみなす処理をする。
【００６８】
サブディレクトリ判定部１２４での処理により、インストール先ディレクトリよりも、より深い複数のディレクトリに実行ファイルをインストールするアプリケーションについて、より正確にアプリケーション名を特定できるようになる。
【００６９】
アプリケーション名特定部１２５では、プロセスの情報のみからアプリケーション名を求める。インタプリタ判定部１２２でプロセスがインタプリタと判断されたときは、コマンドラインからアプリケーション名を求める。共用ディレクトリ判定部１２３でプロセスの実行ファイルが共用ディレクトリ直下にあると判定されたときは、実行ファイル名からアプリケーション名を求める。それ以外のときは、プロセスの実行ファイルのディレクトリ名からアプリケーション名を求める。
【００７０】
ディレクトリ名からアプリケーション名を求めるときは、ディレクトリ名の末尾が実行ディレクトリ相対パス名一覧２６０に合致するか調べ、合致するときはそれを除外した上で、ディレクトリ名からアプリケーション名を求める。つまり、サブディレクトリ判定部１２４でプロセスの実行ファイルのディレクトリ名が異なる同一のアプリケーションにおいて、ディレクトリに親子関係が存在すると判定されたときは、親ディレクトリ名からアプリケーション名を求める。
【００７１】
アプリケーション名特定部１２５での処理により、当該業務サーバ１０２上で動作する任意のアプリケーションについてアプリケーション名を特定することができる。
【００７２】
特殊アプリケーション名特定部１２６は、プロセスの情報ではなく、ＨＴＭＬやＪＳＲ７７など、複数種類のアプリケーションで共通して使えるプロトコルを使ってアプリケーション名を求める。プロセスの待受ポートが、アプリケーション名取得方法一覧２７０内のある行で示された待受ポートつまり、待受ポート番号２７１に登録された値に合致するときに、その行で示されたプロトコル、つまり使用プロトコル２７２に登録された値を使ってアプリケーション名を求める。
【００７３】
特殊アプリケーション名特定部１２６での処理により、一部のアプリケーションについて、アプリケーション名特定部１２５で求めたアプリケーション名よりも、より正確にアプリケーション名を特定することができる。
【００７４】
以上の処理を行うと、入力された業務サーバ名１３０に対応した業務サーバ１０２上で動作するアプリケーション名の一覧が特定済みアプリケーション名一覧２８０に格納される。その内容は、ディスプレイやプリンタ等の出力装置２０４を介して出力することができる。
【００７５】
〔処理の詳細〕
図１２、図１３（図１３Ａおよび図１３Ｂの総称）および図１４を用いて本発明の第１の実施の形態における、アプリケーション名の特定方法の処理の詳細について説明する。
図１２は、本発明の第１の実施の形態における、プロセス情報収集部１２０での処理（ステップ４０１、ステップ４０２）と、標準プロセス判定部１２１での処理（ステップ４０３、ステップ４０４）、アプリケーション名特定部１２５での処理（ステップ４０８からステップ４１３）を示す流れ図である。図１２の処理は、業務サーバ名を引数として受け取って処理を開始する。
【００７６】
まず、プロセス情報収集部１２０は、受け取った業務サーバ名をキーとして、収集済プロセス一覧２１０内の各行を取得する（ステップ４０１）。もし取得する行があれば（ステップ４０１で「繰り返し」）、それを変数Ｐに格納してステップ４０２へ進む。もし取得する行がもはや無く、各行に対する処理が済めば（ステップ４０１で「繰り返し後」）その後、図１４のステップ４４１へ進む。なお、プロセス情報収集部１２０が、実際の業務サーバ１０１内のプロセス管理部１０６とネットワーク管理部１０７からプロセス情報を直接取得し、変数Ｐに格納しても良い。また、図１４のステップ４４１へ進む代わりに、ここで処理を終了しても良い。
【００７７】
次に、変数Ｐ中の実行ファイル絶対パス名（２１０；図３参照）から、ディレクトリ名の部分とディレクトリ名を含まない、変数Ｐの実行ファイル名を取り出し、前者を変数Ｐのディレクトリ絶対パス名として変数Ｄに、後者を変数Ｅに格納する（ステップ４０２）。変数Ｄ、Ｅに格納した後、ステップ４０３に進む。
【００７８】
次に、標準プロセス判定部１２１は、受け取った業務サーバ名に合致する、業務サーバ一覧２２０の行を探す。そして、その行からＯＳ名（２２２；図４参照）とＯＳバージョン（２２３；図４参照）を取得する（ステップ４０３）。なお、業務サーバのＯＳ名およびＯＳバージョンは、標準プロセス判定部１２１が業務サーバ１０２から直接取得しても良い。取得した後、ステップ４０４に進む。
【００７９】
次に、ステップ４０３で取得したＯＳ名とＯＳバージョン、変数Ｐに格納された実行ファイル絶対パス名に合致する行が、ＯＳ標準プロセス一覧２３０に存在するか調べる。つまり、その行がＯＳ名２３１、ＯＳバージョン２３２、実行ファイル絶対パス名２３３の値と一致するか否か判定する（ステップ４０４）。もし存在するときは（ステップ４０４でＹｅｓ）、ステップ４０１に戻り、存在しないときは（ステップ４０４でＮｏ）、図１３のステップ４２０へ進む。
なお、標準プロセス判定部１２１での処理（ステップ４０３、ステップ４０４）を省略して、ステップ４０２の次に図１３のステップ４２０を実行しても良い。
【００８０】
次に、インタプリタ判定部１２２、共用ディレクトリ判定部１２３、サブディレクトリ判定部１２４のいずれかの処理（詳細は後記）の後、アプリケーション名特定部１２５は、変数Ａ（後記ステップ４２６参照）の文字列値の先頭部分が、共用ディレクトリ絶対パス名一覧２５０中の共用ディレクトリ絶対パス名２５１のどれかと合致するか調べる（ステップ４０８）。もし合致するのでれば（ステップ４０８でＹｅｓ）、変数Ａの文字列値の先頭部分から、合致した共用ディレクトリ絶対パス名２５１を除去する（ステップ４０９）。その後、変数Ａの文字列値から、ディレクトリの区切り文字（／または￥）を空白文字に置換する（ステップ４１０）。一方、合致することが無ければ（ステップ４０８でＮｏ）、ステップ４０９をスキップしてステップ４１０に進む。
【００８１】
続いて、変数Ｄの値と同じ絶対パス名２８１を持つ行（「行Ｘ」とする。）が、特定済アプリケーション名一覧２８０に存在するか調べる（ステップ４１１）。もし存在しなければ（ステップ４１１でＮｏ）、変数Ｄの値を絶対パス名２８１、変数Ｐ中のプロセスＩＤをプロセスＩＤ一覧２８２、変数Ａの値をアプリケーション名２８３として、特定済アプリケーション名一覧２８０に行を追加する（ステップ４１２）。もし存在すれば（ステップ４１１でＹｅｓ）、特定済アプリケーション名一覧２８０中の行Ｘについて、変数Ｐ中のプロセスＩＤをプロセスＩＤ一覧２８２に追加し、変数Ａの値をアプリケーション名２８３に格納して、行Ｘを更新する（ステップ４１３）。ステップ４１２、ステップ４１３の双方とも、次はステップ４０１に戻る。
【００８２】
図１３は、本発明の第１の実施の形態における、インタプリタ判定部１２２での処理（ステップ４２０〜ステップ４２６）、共用ディレクトリ判定部１２３での処理（ステップ４２７〜ステップ４３０）、サブディレクトリ判定部１２４での処理（ステップ４３１〜ステップ４３７）を示す流れ図である。
【００８３】
まず、インタプリタ判定部１２２は、変数Ｉにｆａｌｓｅを代入し（ステップ４２０）、続いて、変数Ｅの値に合致するインタプリタ名２４１が、インタプリタ名一覧２４０に存在するか調べる（ステップ４２１）。もし存在しなければ（ステップ４２１でＮｏ）、ステップ４２６へ進む。もし存在したら（ステップ４２１でＹｅｓ）、ステップ４２２へ進む。
【００８４】
次に、変数Ｅで示される実行ファイル名がＪａｖａか調べる（ステップ４２２）。Ｊａｖａと判定したときは（ステップ４２２でＹｅｓ）、変数Ｐ中のコマンドラインから中間言語ファイルの絶対パス名を求め、求めた中間言語ファイルの絶対パス名を変数Ｓに格納する（ステップ４２３）。格納した後、ステップ４２５に進む。一方、Ｊａｖａではないと判定したときは（ステップ４２２でＮｏ）、変数Ｐ中のコマンドラインからスクリプトファイルの絶対パス名を求め、求めたスクリプトファイルの絶対パス名を変数Ｓに格納する（ステップ４２４）。格納した後、ステップ４２５に進む。
【００８５】
次に、変数Ｓの絶対パス名から、ディレクトリ名の部分とディレクトリ名を含まない、変数Ｓの実行ファイル名を取り出し、前者を変数Ｓのディレクトリ絶対パス名として変数Ｄに、後者を変数Ｅに格納し、さらに、変数Ｉにｔｒｕｅを代入する（ステップ４２５）。これらの格納や代入をした後、変数Ａに変数Ｄの値を代入する（ステップ４２６）。その代入の後、ステップ４２７に進む。なお、インタプリタ判定部１２２での処理の一部（ステップ４２１からステップ４２５まで）を省略して、ステップ４２０からステップ４２６へ進んでも良い。また、Ｊａｖａ以外に中間言語を使う処理系について、ステップ４２２からステップ４２３に相当する処理を、ステップ４２２とステップ４２４の間に付け加えても良い。
【００８６】
ステップ４２３でｊａｖａの中間言語ファイルの絶対パス名を求める方法の一例は次の通りである。Ｊａｖａの場合、コマンドラインの最初の方に処理系自身に渡されるコマンドラインオプションがあり、その次に実行すべきクラス名ないしｊａｒファイル名がある。
【００８７】
コマンドラインオプションの次にクラス名があったときは、コマンドラインオプション−ｃｐまたは−ｃｌａｓｓｐａｔｈ、あるいは環境変数ＣＬＡＳＳＰＡＴＨで指定されたクラスパスを求める。クラスパス中に「．」があるときは、プロセスのカレントワーキングディレクトリを取得し、「．」と置き換える。そして、図１２の処理開始時に受け取った業務サーバ名に対応した業務サーバ１０２のファイルシステム上で、クラスパスで示されたディレクトリ、ないしクラスパスで示されたｊａｒファイル中のどこに、当該クラス名に対応したｃｌａｓｓファイルが存在するか調べる。もし、ディレクトリ上に求めるｃｌａｓｓファイルが存在したときは、当該ｃｌａｓｓファイルの絶対パス名を求め、それを中間言語ファイルの絶対パス名とする。もし、ｊａｒファイル中に求めるｃｌａｓｓファイルが存在したときは、そのｊａｒファイルの絶対パス名を求め、それを中間言語ファイルの絶対パス名とする。
【００８８】
コマンドラインオプションの次にｊａｒファイル名があったときは、そのｊａｒファイルの絶対パス名を求め、それをスクリプトの絶対パス名とする。ｊａｒファイル名が相対パスのときは、プロセスに設定されたカレントワーキングディレクトリを求め、そこからの相対パスとみなして絶対パスを求め、スクリプトのファイル名とみなす。プロセスに設定されたカレントワーキングディレクトリや環境変数は、業務サーバ１０２内のプロセス管理部１０６に問い合わせれば取得できる。
【００８９】
ステップ４２４でスクリプトファイルの絶対パス名を求める方法の一例は次の通りである。コマンドラインからスクリプトファイルの絶対パス名を求める方法は、インタプリタ処理系によって異なる。ｐｅｒｌ、ｐｙｔｈｏｎ、ｓｈなど、スクリプト言語を処理するインタプリタ処理系については通常、コマンドラインの最初の方に「−」で始まる処理系自身に渡されるコマンドラインオプションが０個以上あり、その次に実行すべきスクリプトのファイル名があるので、それを取得する。スクリプトのファイル名が相対パスであったときは、当該プロセスのカレントワーキングディレクトリを求め、そこからの相対パスとみなして、スクリプトファイルの絶対パスを求める。プロセスに設定されたカレントワーキングディレクトリは、業務サーバ１０２内のプロセス管理部１０６に問い合わせれば取得できる。
【００９０】
次に、共用ディレクトリ判定部１２３は、変数Ｄの値に合致する、共用ディレクトリ絶対パス名２５１が、共用ディレクトリ絶対パス名一覧２５０に存在するか調べる（ステップ４２７）。もし存在しなければ（ステップ４２７でＮｏ）、ステップ４３１へ進む。もし存在すれば（ステップ４２７でＹｅｓ）、変数Ｉがｆａｌｓｅで、かつ、変数Ｐ中の実行ファイル名が変数Ｐ中のプロセス名に等しいか調べる（ステップ４２８）。実行ファイル名は、Ｐ中の実行ファイル絶対パス名の中からディレクトリ名を除外したものであり、プロセス名は、Ｐ中のコマンドライン文字列を空白で区切った最初の文字列である。ステップ４２８の条件に合致したときは（ステップ４２８でＹｅｓ）、変数Ａに変数Ｐ中のプロセス名を代入し（ステップ４２９）、その後、図１２のステップ４０８へ進む。前記条件に合致しないときは（ステップ４２８でＮｏ）、変数Ａに、変数Ｄの値の文字列と変数Ｅの値の文字列とを連結したもの（Ｄ＋Ｅ）を格納し（ステップ４３０）、図１２のステップ４０８へ進む。なお、共用ディレクトリ判定部１２３での処理（ステップ４２７からステップ４３０まで）を省略して、ステップ４２６からステップ４３１へ進んでも良い。
【００９１】
次に、サブディレクトリ判定部１２４は、変数Ｄで示されるディレクトリ絶対パス名の末尾のサブディレクトリ名が、実行ディレクトリ相対パス名一覧２６０中の実行ディレクトリ相対パス名２６１のいずれかに合致するか、つまり、前記サブディレクトリ名に合致する実行ディレクトリ相対パス名２６１が存在するか調べる（ステップ４３１）。例えば実行ディレクトリ相対パス名２６１が「ｂｉｎ」ただ一つであったときに、変数Ｄの値が「／ｏｐｔ／ｓｏｍｅａｐｐ／ｂｉｎ／」であれば合致すると判定し、「／ｏｐｔ／ｓｏｍｅａｐｐ／ｓｂｉｎ／」のときは合致しないと判定する。もし合致するものがあったときは（ステップ４３１でＹｅｓ）、その合致する実行ディレクトリ相対パス名を、変数Ｄの末尾から除去する（ステップ４３２）。除去した後、ステップ４３３に進む。一方、合致するものがなかったときは（ステップ４３１でＮｏ）、そのままステップ４３３に進む。
【００９２】
次に、特定済アプリケーション名一覧２８０の各行のうち、絶対パス名２８１がディレクトリ名となる行を取得する（ステップ４３３）。もし取得する行があれば（ステップ４３３で「繰り返し」）、それを変数Ｃに格納してステップ４３４へ進む。もし取得する行がもはや無く、各行に対する処理が済めば（ステップ４３３で「繰り返し後」）その後、図１２のステップ４０８へ進む。
【００９３】
次に、変数Ｃで示される絶対パス名が、変数Ｄで示されるディレクトリ名のサブディレクトリ名となるか調べる（ステップ４３４）。もしそうであれば（ステップ４３４でＹｅｓ）、特定済アプリケーション一覧２８０中の、変数Ｃに対応する行に対して、絶対パス名２８１を変数Ｄの値に置き換え、図１２のステップ４０８へ進む（ステップ４３５）。そうでなければ（ステップ４３４でＮｏ）、ステップ４３６へ進む。
【００９４】
次に、変数Ｄで示されるディレクトリ名が変数Ｃで示される絶対パス名と同一であるか、または変数Ｃで示されるディレクトリ名のサブディレクトリ名となるか調べる（ステップ４３６）。もしそうであれば（ステップ４３６でＹｅｓ）、変数Ｄに変数Ｃの値を、さらに、変数Ａに変数Ｃ中のアプリケーション名２８３を格納する（ステップ４３７）。格納した後、図１２のステップ４０８へ進む。一方、そうでなければ（ステップ４３６でＮｏ）、ステップ４３３へ戻る。
【００９５】
なお、サブディレクトリ判定部１２４での処理（ステップ４３１からステップ４３７まで）を省略し、ステップ４２７から図１２のステップ４０８へ進んでも良い。また、サブディレクトリ判定部１２４での処理の一部（ステップ４３３からステップ４３７まで）を省略し、ステップ４３１、ステップ４３２から図１２のステップ４０８へ進んでも良い。
【００９６】
図１４は、本発明の第１の実施の形態における、特殊アプリケーション名特定部１２６の処理（ステップ４４１〜ステップ４４９）を示す流れ図である。
【００９７】
まず、特殊アプリケーション名特定部１２６は、特定済アプリケーション名一覧２８０の各行を取得する（ステップ４４１）。もし取得する行があれば（ステップ４４１で「繰り返し」）、その行の内容を変数Ｐに格納してステップ４４２へ進む。もし取得する行がもはや無く、各行に対する処理が済めば（ステップ４４１で「繰り返し後」）、処理を終了する。
【００９８】
次に、アプリケーション名取得方法一覧２７０の各行を取得する（ステップ４４２）。もし取得する行があれば（ステップ４４２で「繰り返し」）、その行の内容を変数Ｇに格納してステップ４４３へ進む。もし取得する行がもはや無く、各行に対する処理が済めば（ステップ４４２で「繰り返し後」）その後、ステップ４４１へ戻る。
【００９９】
次に、変数Ｇの待受ポート番号（２７１；図９参照）が、変数Ｐの待受ポート一覧（２１５；図３参照）中に存在するか調べる（ステップ４４３）。つまり、待受ポート番号２７１に格納された値と待受ポート一覧２１５に格納された値とが一致するか否かを判定する。もし存在すれば（ステップ４４３でＹｅｓ）ステップ４４４へ進み、存在しなければ（ステップ４４３でＮｏ）ステップ４４２へ戻る。
【０１００】
次に、変数Ｇで示される取得方法（２７３；図９参照）がＨＴＭＬであるか否か調べる（ステップ４４４）。ＨＴＭＬであるときは（ステップ４４４でＹｅｓ）、当該業務サーバ１０２に対して、変数Ｇで示されるポート（待受ポート番号２７１の値）およびプロトコル（使用プロトコル２７２の値）を使って、ＨＴＭＬ文書を取得する。本発明の第１の実施の形態では、“GET/HTTP/1.0”のリクエストを送ることで、/にあるＨＴＭＬ文書を取得し、その中のTITLE要素の内容を変数Ａに格納して、ステップ４４９に進む（ステップ４４５）。この他に、/index.phpや、/index.jsp、/index.do、/index.cgi等からＨＴＭＬ文書を取得しても良い。一方、ＨＴＭＬでないときは（ステップ４４４でＮｏ）、ステップ４４６に進む。
【０１０１】
次に、変数Ｇで示される取得方法がＪＳＲ７７であるか否か調べる（ステップ４４６）。ＪＳＲ７７であるときは（ステップ４４６でＹｅｓ）、当該業務サーバ１０２に対して、変数Ｇで示されるポート（待受ポート番号２７１の値）およびプロトコル（使用プロトコル２７２の値）を使って、ＪＳＲ７７で示される方法に従って、Ｊ２ＥＥアプリケーション名（Application Object:OBJECT＿NAME）を取得し、それを変数Ａに格納してステップ４４９へ進む（ステップ４４７）。一方、ＪＳＲ７７でないときは（ステップ４４６でＮｏ）、ステップ４４８に進む。
【０１０２】
次に、ＨＴＭＬまたはＪＳＲ７７以外の取得方法のときは、それぞれの取得方法に従ったプロトコルを用いてアプリケーション名を取得し、それを変数Ａに格納する（ステップ４４８）。そして、変数Ｐに対応する特定済アプリケーション名一覧２８０の行に対して、変数Ａの内容をアプリケーション名２８３に格納し（ステップ４４９）、ステップ４４１に戻る。
【０１０３】
ＪＳＲ７７は、http://www.jcp.org/en/jsr/detail?id=77に詳しい。使用プロトコルがｉｉｏｐ（Internet Inter-ORB Protocol）のときは、当該業務サーバ上で動作するＭＥＪＢ（Management EJB）コンポーネントに対してｉｉｏｐプロトコルで通信し、Ｊ２ＥＥ（Java 2 Enterprise Edition）ＡｐｐｌｉｃａｔｉｏｎＯｂｊｅｃｔを取得し、そのＯＢＪＥＣＴ＿ＮＡＭＥ属性の値がアプリケーション名となる。
また、使用プロトコルがｓｎｍｐ（Simple Network Management Protocol）のときは、当該業務サーバ上で動作するＳＮＭＰエージェントに対してＳＮＭＰプロトコルで通信し、iso.org.dod.internet.private.enterpirises.sun.jcp.j2ee.j2eeMIB.j2eeObjects.j2eeMoGroup.j2eeAppTableのＭＩＢ（Management Information Base）で示される情報を取得し、その中のJ2EEAppMoNameの値がＪ２ＥＥアプリケーション名となる。
また、使用プトロコルがｈｔｔｐ（HyperText Transfer Protocol）ないしｈｔｔｐｓ（HyperText Transfer Protocol Security）のときは、当該業務サーバ上で動作するＣＩＭＯＭ（Common Information Model Object Manager）に対して、ｈｔｔｐないしｈｔｔｐｓを使った、ＸＭＬ−ＣＩＭプロトコルで通信し、J2EE_DeployedObjectオブジェクトを取得し、その中のNameプロパティ値がアプリケーション名となる。なお、ＸＭＬ−ＣＩＭプロトコルについては、http://www.dmtf.org/standards/wbem/CIM-XML に詳しい。
【０１０４】
本発明の第１の実施の形態によって、情報処理システムのシステム管理者は、特定済アプリケーション名一覧２８０を見ることで、業務サーバ１０２で動作するアプリケーションの名称を知ることができるようになる。特に、インタプリタ判定部１２２での処理により、インタプリタ処理系を使うアプリケーションについて、アプリケーション名がより正しく特定できるようになる。また、共用ディレクトリ判定部１２３での処理により、共用ディレクトリ直下に置かれる実行ファイルに対応したアプリケーションについて、アプリケーション名がより正しく特定できるようになる。そして、サブディレクトリ判定部１２４の処理により、異なる複数のディレクトリに実行ファイルをインストールするアプリケーションについて、ディレクトリ毎に独立したアプリケーション名を特定するのではなく、一つのアプリケーション名として特定することができるようになる。さらに、特殊アプリケーション名特定部１２６での処理により、ディレクトリ名からアプリケーション名を特定するよりも、より正確なアプリケーション名称が特定できるようになる。
【０１０５】
また、従来では、各ベンダにて、そのベンダが顧客に提供しているアプリケーションに固有のノウハウを用いることにより、アプリケーションの名称を特定していた。しかし、そのように特定された名称には汎用性が無く、当該アプリケーションのバージョンアップ等がなされると、前記ノウハウの保守作業が煩雑化するという問題があった。そこで、本発明のような、実行ファイルのディレクトリ名をアプリケーションの名称とする技術において、ＯＳから標準取得できる情報や、ＯＳごとのノウハウ、周知のインタプリタに関する情報等といった、汎用性のある情報だけを用いることで、前記保守作業が簡易化される。
【０１０６】
＜第２の実施の形態＞
以下、本発明の第１の実施の形態を改良した、第２の実施の形態について説明する。
第２の実施の形態では、第１の実施の形態で求めたアプリケーション名を、図１２の処理に引数で渡された当該業務サーバの表示名として扱う。もし複数のアプリケーション名が特定されたときは、それらを空白等で結合することで、当該業務サーバの表示名を求める。
【０１０７】
同様に、図１２の処理に引数で渡された当該業務サーバが仮想環境上で動作しているときは、当該サーバの表示名の代わりに当該サーバの仮想マシン名（ＶＭ名）として扱っても良い。
【０１０８】
本発明の第２の実施形態によって、情報処理システムのシステム管理者は、当該業務サーバの表示名を見るだけで、あるいは、仮想環境上で動作する当該業務サーバに対応する仮想マシン名を見るだけで、当該業務サーバ上でどのようなアプリケーションが動作しているのかが一目でわかるようになる。
【０１０９】
＜第３の実施の形態＞
以下、本発明の第１の実施の形態を改良した、第３の実施の形態について説明する。
第３の実施の形態では、第１の実施で求めたアプリケーション名を、図１２の処理に引数で渡された当該業務サーバのホスト名として設定する。もし複数のアプリケーション名が特定されたときは、それらを単純に結合したり、間に「−」や「．」等を挟んで結合したりすることで、サーバのホスト名を求める。ホスト名には規定された文字しか使えないので、使えない文字は削除したり、「−」に置換したりすると良い。また、ホスト名の長さには最大値があるので、最大値を超えた文字列は削除すると良い。ホスト名に使える文字や、ホスト名の長さの最大値については、ＲＦＣ９５２、またはＲＦＣ１１２３に詳しい。
【０１１０】
同様に、図１２の処理に引数で渡された当該業務サーバが仮想環境上で動作しているときは、当該仮想環境に対応したディスクイメージのファイル名を、求めたアプリケーション名にリネームしても良い。ファイル名もホスト名同様、使えない文字や最大文字数があるので、これらもホスト名と同様に対処すると良い。
【０１１１】
本発明の第３の実施形態によって、情報処理システムのシステム管理者は、当該業務サーバのホスト名、ないし、仮想環境上で動作する当該業務サーバに対応するディスクイメージのファイル名を見るだけで、当該業務サーバ上でどのようなアプリケーションが動作しているのかが一目でわかるようになる。
【０１１２】
＜その他＞
以上本発明の実施形態についての一例を示したが、本発明は、これに限定されず、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【０１１３】
例えば、本実施形態では、基本的には、
（Ａ）：標準プロセス判定部１２１での処理（ステップ４０３、ステップ４０４）
→（Ｂ）：インタプリタ判定部１２２での処理（ステップ４２０〜ステップ４２６）
→（Ｃ）：共用ディレクトリ判定部１２３での処理（ステップ４２７〜ステップ４３０）
→（Ｄ）：サブディレクトリ判定部１２４での処理（ステップ４３１〜ステップ４３７
といった手順を経てアプリケーションの名称を特定するようにした（アプリケーション名特定部１２５での処理（ステップ４０８からステップ４１３））。しかし、この手順を、（Ａ）→（Ｃ）→（Ｂ）→（Ｄ）、（Ａ）→（Ｄ）→（Ｂ）→（Ｃ）、・・・等のように変更してアプリケーションの名称を特定することも可能である。このとき、名称の特定性能に差が生じうるが、名称を特定したいアプリケーションの性質に応じて最適な手順を選択することができる。
【０１１４】
また、（Ａ）〜（Ｄ）の少なくとも一つを用いて（より好ましくは（Ｂ）〜（Ｄ）の少なくとも一つを用いて）アプリケーションの名称を特定することも可能である。
【０１１５】
その他、ハードウェア、ソフトウェア、各フローチャートなどの具体的な構成について、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【図面の簡単な説明】
【０１１６】
【図１】本発明の第１の実施の形態の情報処理システムの全体構成を表す図の一例である。
【図２】構成管理サーバ１０１の構成を表す図の一例である。
【図３】収集済プロセス一覧２１０の構造と内容および具体例を示す図である。
【図４】業務サーバ一覧２２０の構造と内容および具体例を示す図である。
【図５】ＯＳ標準プロセス一覧２３０の構造と内容および具体例を示す図である。
【図６】インタプリタ名一覧２４０の構造と内容および具体例を示す図である。
【図７】共用ディレクトリ絶対パス名一覧２５０の構造と内容および具体例を示す図である。
【図８】実行ディレクトリ相対パス名一覧２６０の構造と内容および具体例を示す図である。
【図９】アプリケーション名取得方法一覧２７０の構造と内容および具体例を示す図である。
【図１０】特定済アプリケーション名一覧２８０の構造と内容および具体例を示す図である。
【図１１】本発明の第１の実施の形態における、各処理部と各種情報２０７との間のデータの流れを示す図である。
【図１２】本発明の第１の実施の形態における、アプリケーション名の特定方法を示す流れ図である。流れ図は図１３および図１４へ続いている。
【図１３Ａ】図１２から続く、アプリケーション名の特定方法を示す流れ図である。
【図１３Ｂ】図１２から続く、アプリケーション名の特定方法を示す流れ図である。
【図１４】図１２から続く、アプリケーション名の特定方法を示す流れ図である。
【符号の説明】
【０１１７】
１０１  構成管理サーバ
１０２  業務サーバ
１０４  管理用ネットワーク
１０５  業務用ネットワーク
１０６  プロセス管理部
１０７  ネットワーク管理部
１０８  コマンド実行部
１２２  インタプリタ判定部
１２３  共用ディレクトリ判定部
１２４  サブディレクトリ判定部
２１０  収集済プロセス一覧
２２０  業務サーバ一覧
２３０  ＯＳ標準プロセス一覧
２４０  インタプリタ名一覧
２５０  共用ディレクトリ絶対パス名一覧
２６０  実行ディレクトリ相対パス名一覧
２７０  アプリケーション名取得方法一覧
２８０  特定済アプリケーション名一覧
【図１】
2010117957.tif 000003
【図２】
2010117957.tif 000004
【図３】
2010117957.tif 000005
【図４】
2010117957.tif 000006
【図５】
2010117957.tif 000007
【図６】
2010117957.tif 000008
【図７】
2010117957.tif 000009
【図８】
2010117957.tif 000010
【図９】
2010117957.tif 000011
【図１０】
2010117957.tif 000012
【図１１】
2010117957.tif 000013
【図１２】
2010117957.tif 000014
【図１３Ａ】
2010117957.tif 000015
【図１３Ｂ】
2010117957.tif 000016
【図１４】
2010117957.tif 000017