(57)【特許請求の範囲】
【請求項１】
ファイル検索装置において、アプリケーションに関連するファイルを検索するファイル検索方法であって、
前記ファイル検索装置は、インターフェース、前記インターフェースに接続されるプロセッサ、及び、前記プロセッサに接続される記憶部を備え、
前記ファイル検索方法は、
前記アプリケーションの実行開始時刻及びファイルパスを含むプロセス情報を取得し、
前記取得されたファイルパスに基づいて、前記アプリケーションに関連するファイルを検索する起点となるディレクトリを特定し、
前記特定されたディレクトリを起点として、前記アプリケーションの実行開始時刻以降にアクセスされたファイルを検索し、
前記アプリケーションに関連するファイルを検索する起点となるディレクトリを特定する処理は、
前記取得されたファイルパスに基づいて、前記アプリケーションが格納されたディレクトリよりも上層のディレクトリを親ディレクトリとし、
前記親ディレクトリに作成され、前記取得されたファイルパスに含まれるディレクトリを子ディレクトリとし、
前記親ディレクトリに作成され、前記子ディレクトリ以外のディレクトリを兄弟ディレクトリとし、
前記子ディレクトリの作成時刻と、前記兄弟ディレクトリの作成時刻とを比較し、
前記兄弟ディレクトリが、前記子ディレクトリの作成時刻から所定の時間内にすべて作成されている場合には、前記親ディレクトリを前記アプリケーションに関連するファイルを検索する起点となるディレクトリとして特定し、
前記兄弟ディレクトリのすべてが、前記子ディレクトリの作成時刻から前記所定の時間内に作成されていない場合には、前記子ディレクトリを前記アプリケーションに関連するファイルを検索する起点となるディレクトリとして特定し、
前記兄弟ディレクトリの一部が、前記子ディレクトリの作成時刻から前記所定の時間内に作成されている場合には、前記子ディレクトリ及び前記子ディレクトリの作成時刻から前記所定の時間内に作成された兄弟ディレクトリを前記アプリケーションに関連するファイルを検索する起点となるディレクトリとして特定することを特徴とするファイル検索方法。
【請求項２】
前記所定の時間は、前記アプリケーションが実行されるオペレーティングシステムの種類に基づいて決定されることを特徴とする請求項１に記載のファイル検索方法。
【請求項３】
前記アプリケーションに関連するファイルを検索する起点となるディレクトリを特定する処理は、前記親ディレクトリが、別のアプリケーションに関連するファイルを検索する起点となるディレクトリであった場合には、前記子ディレクトリを前記アプリケーションに関連するファイルを検索する起点として特定することを特徴とする請求項１に記載のファイル検索方法。
【請求項４】
前記ファイル検索方法は、さらに、
前記アプリケーションに関連するファイルを検索する処理を実行する前に、前記起点となるディレクトリの下層に作成されたディレクトリ及び前記下層に作成されたディレクトリに格納されたファイルのアクセス日時を取得し、
前記取得されたアクセス日時に基づいて、前記アプリケーションに関連するファイルを検索する処理を実行し、
前記アプリケーションに関連するファイルを検索する処理が終了すると、前記起点となるディレクトリの下層に作成されたディレクトリ及び前記下層に作成されたディレクトリに格納されたファイルのアクセス日時を、前記取得されたアクセス日時に変更することを特徴とする請求項１に記載のファイル検索方法。
【請求項５】
前記記憶部は、前記アプリケーションが実行される計算機ごとの前記プロセス情報を含むアプリケーション構成情報を記憶し、
前記ファイル検索方法は、
前記アプリケーションの実行開始時刻及びファイルパスを、前記アプリケーションが実行される計算機から周期的に取得し、
前記アプリケーションが実行される計算機から取得されたプロセス情報と、前記アプリケーション構成情報に含まれるプロセス情報とを比較することによって、新たに起動されたアプリケーションを検出し、
前記検出されたアプリケーションに関連するファイルを検索することを特徴とする請求項１に記載のファイル検索方法。
【請求項６】
前記ファイル検索方法は、前記アプリケーションに関連するファイルを検索する処理を実行する場合に、以前に前記アプリケーションの検索が実行された後、前記アプリケーションの起動時刻が更新されていない場合には、前記アプリケーションに関連するファイルを検索する処理を実行しないことを特徴とする請求項１に記載のファイル検索方法。
【請求項７】
前記ファイル検索方法は、さらに、
前記検索されたファイルごとに、前記アプリケーションに関連する可能性を示す値を付与し、
前記アプリケーションに関連する可能性を示す値に基づいて、前記検索されたファイルを出力することを特徴とする請求項１に記載のファイル検索方法。
【請求項８】
前記ファイル検索方法は、さらに、前記検索されたファイルが前記アプリケーションに関連するか否かを確定する入力を受け付け、
前記検索されたファイルを出力する処理は、前記アプリケーションに関連することが確定したファイル、及び、前記アプリケーションに関連するか否かが確定していないファイルを出力することを特徴とする請求項７に記載のファイル検索方法。
【請求項９】
前記アプリケーションに関連する可能性を示す値は、前記検索されたファイル又は前記検索されたファイルを格納するディレクトリの名前に基づいて決定されることを特徴とする請求項７に記載のファイル検索方法。
【請求項１０】
前記アプリケーションに関連する可能性を示す値は、前記検索されたファイルの拡張子に基づいて決定されることを特徴とする請求項７に記載のファイル検索方法。
【請求項１１】
前記記憶部は、ファイルの拡張子と、当該ファイルが前記アプリケーションに関連する可能性を示す値とを含む拡張子情報を記憶し、
前記検索されたファイルを出力する処理は、前記検索されたファイルの拡張子が、前記拡張子情報に含まれるファイルと、前記拡張子情報に含まれていないファイルとを区別して出力することを特徴とする請求項１０に記載のファイル検索方法。
【請求項１２】
前記ファイル検索方法は、前記検索されたファイルの拡張子が前記拡張子情報に含まれていない場合には、さらに、前記検索されたファイルの拡張子に対応する情報の入力を受け付け、前記入力された情報を前記拡張子情報に追加することを特徴とする請求項１１に記載のファイル検索方法。
【請求項１３】
前記アプリケーションが実行される計算機は、新たに別のアプリケーションが起動されると、前記ファイル検索装置に新たに起動されたアプリケーションを通知し、
前記ファイル検索方法は、前記新たに起動されたアプリケーションに関連するファイルを検索することを特徴とする請求項１に記載のファイル検索方法。
【請求項１４】
前記アプリケーションは、複数の計算機でそれぞれ実行され、
前記ファイル検索方法は、
前記アプリケーションが実行される計算機ごとに、前記アプリケーションに関連するファイルが検索され、
前記アプリケーションが実行される計算機ごとの検索結果に共通するファイルを、共通しないファイルと区別して表示することを特徴とする請求項１に記載のファイル検索方法。
【請求項１５】
前記アプリケーションが実行される計算機には、前記検索されたファイルが前記アプリケーションに関連するか否かが判定された第１の計算機と、前記検索されたファイルが前記アプリケーションに関連するか否かが判定されていない第２の計算機とが含まれ、
前記第２の計算機で検索されたファイルは、前記第１の計算機における判定結果に基づいて、前記アプリケーションに関連するか否かが判定されることを特徴とする請求項１に記載のファイル検索方法。
【請求項１６】
アプリケーションに関連するファイルを検索するファイル検索装置であって、
インターフェース、前記インターフェースに接続されるプロセッサ、及び、前記プロセッサに接続される記憶部を備え、
前記プロセッサは、
前記アプリケーションの実行開始時刻及びファイルパスを含むプロセス情報を取得し、
前記取得されたファイルパスに基づいて、前記アプリケーションに関連するファイルを検索する起点となるディレクトリを特定し、
前記特定されたディレクトリを起点として、前記アプリケーションの実行開始時刻以降にアクセスされたファイルを検索し、
前記アプリケーションに関連するファイルを検索する起点となるディレクトリを特定する処理において、
前記取得されたファイルパスに基づいて、前記アプリケーションが格納されたディレクトリよりも上層のディレクトリを親ディレクトリとし、
前記親ディレクトリに作成され、前記取得されたファイルパスに含まれるディレクトリを子ディレクトリとし、
前記親ディレクトリに作成され、前記子ディレクトリ以外のディレクトリを兄弟ディレクトリとし、
前記子ディレクトリの作成時刻と、前記兄弟ディレクトリの作成時刻とを比較し、
前記兄弟ディレクトリが、前記子ディレクトリの作成時刻から所定の時間内にすべて作成されている場合には、前記親ディレクトリを前記アプリケーションに関連するファイルを検索する起点となるディレクトリとして特定し、
前記兄弟ディレクトリのすべてが、前記子ディレクトリの作成時刻から前記所定の時間内に作成されていない場合には、前記子ディレクトリを前記アプリケーションに関連するファイルを検索する起点となるディレクトリとして特定し、
前記兄弟ディレクトリの一部が、前記子ディレクトリの作成時刻から前記所定の時間内に作成されている場合には、前記子ディレクトリ及び前記子ディレクトリの作成時刻から前記所定の時間内に作成された兄弟ディレクトリを前記アプリケーションに関連するファイルを検索する起点となるディレクトリとして特定することを特徴とするファイル検索装置。
【請求項１７】
アプリケーションを実行する計算機、及び、前記アプリケーションに関連するファイルを検索するファイル検索装置を含む検索システムであって、
前記計算機は、前記ファイル検索装置に接続される第１のインターフェース、前記第１のインターフェースに接続される第１のプロセッサ、及び、前記第１のプロセッサに接続される第１の記憶部を備え、
前記第１の記憶部は、前記アプリケーションの実行によって生成されたプロセスに対応するプロセス情報を記憶し、
前記ファイル検索装置は、前記計算機に接続される第２のインターフェース、前記第２のインターフェースに接続される第２のプロセッサ、及び、前記第２のプロセッサに接続される第２の記憶部を備え、
前記計算機は、アプリケーションが起動されると、前記ファイル検索装置に起動されたアプリケーションを通知し、
前記ファイル検索装置は、
前記計算機から、前記プロセス情報に含まれる前記通知されたアプリケーションの実行開始時刻及びファイルパスを取得し、
前記取得されたファイルパスに基づいて、前記通知されたアプリケーションに関連するファイルを検索する起点となるディレクトリを特定し、
前記特定されたディレクトリを起点として、前記通知されたアプリケーションの実行開始時刻以降にアクセスされたファイルを検索し、
前記通知されたアプリケーションに関連するファイルを検索する起点となるディレクトリを特定する処理において、
前記取得されたファイルパスに基づいて、前記通知されたアプリケーションが格納されたディレクトリよりも上層のディレクトリを親ディレクトリとし、
前記親ディレクトリに作成され、前記取得されたファイルパスに含まれるディレクトリを子ディレクトリとし、
前記親ディレクトリに作成され、前記子ディレクトリ以外のディレクトリを兄弟ディレクトリとし、
前記子ディレクトリの作成時刻と、前記兄弟ディレクトリの作成時刻とを比較し、
前記兄弟ディレクトリが、前記子ディレクトリの作成時刻から所定の時間内にすべて作成されている場合には、前記親ディレクトリを前記通知されたアプリケーションに関連するファイルを検索する起点となるディレクトリとして特定し、
前記兄弟ディレクトリのすべてが、前記子ディレクトリの作成時刻から前記所定の時間内に作成されていない場合には、前記子ディレクトリを前記通知されたアプリケーションに関連するファイルを検索する起点となるディレクトリとして特定し、
前記兄弟ディレクトリの一部が、前記子ディレクトリの作成時刻から前記所定の時間内に作成されている場合には、前記子ディレクトリ及び前記子ディレクトリの作成時刻から前記所定の時間内に作成された兄弟ディレクトリを前記通知されたアプリケーションに関連するファイルを検索する起点となるディレクトリとして特定することを特徴とする検索システム。
【請求項１８】
アプリケーションに関連するファイルを検索するファイル検索装置で実行されるファイル検索プログラムであって、
前記アプリケーションの実行開始時刻及びファイルパスを含むプロセス情報を取得する手順と、
前記取得されたファイルパスに基づいて、前記アプリケーションに関連するファイルを検索する起点となるディレクトリを特定する手順と、
前記特定されたディレクトリを起点として、前記アプリケーションの実行開始時刻以降にアクセスされたファイルを検索する手順と、を前記ファイル検索装置に実行させ、
前記アプリケーションに関連するファイルを検索する起点となるディレクトリを特定する前記手順は、
前記取得されたファイルパスに基づいて、前記アプリケーションが格納されたディレクトリよりも上層のディレクトリを親ディレクトリとし、
前記親ディレクトリに作成され、前記取得されたファイルパスに含まれるディレクトリを子ディレクトリとし、
前記親ディレクトリに作成され、前記子ディレクトリ以外のディレクトリを兄弟ディレクトリとし、
前記子ディレクトリの作成時刻と、前記兄弟ディレクトリの作成時刻とを比較し、
前記兄弟ディレクトリが、前記子ディレクトリの作成時刻から所定の時間内にすべて作成されている場合には、前記親ディレクトリを前記アプリケーションに関連するファイルを検索する起点となるディレクトリとして特定し、
前記兄弟ディレクトリのすべてが、前記子ディレクトリの作成時刻から前記所定の時間内に作成されていない場合には、前記子ディレクトリを前記アプリケーションに関連するファイルを検索する起点となるディレクトリとして特定し、
前記兄弟ディレクトリの一部が、前記子ディレクトリの作成時刻から前記所定の時間内に作成されている場合には、前記子ディレクトリ及び前記子ディレクトリの作成時刻から前記所定の時間内に作成された兄弟ディレクトリを前記アプリケーションに関連するファイルを検索する起点となるディレクトリとして特定することを特徴とするファイル検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システムにおいて、アプリケーションに関連するファイルを検索する技術に関する。
【背景技術】
【０００２】
一般に、情報処理システムは、複数のアプリケーションによって構成される。例えば、オンラインの商品販売システムでは、顧客からのリクエストを受け付け、在庫確認等の計算処理を実行するミドルウェアアプリケーションと、顧客情報及び商品在庫情報の保存処理を実行するデータベースアプリケーションなどを組み合わせて一つのシステムを構築する。
【０００３】
各アプリケーションの動作に関する種々の設定は、通常、設定ファイルと呼ばれるファイルに記録される。設定ファイルは、可読性及び編集作業の容易さから、通常はｐｌａｉｎ／ｔｅｘｔ形式で記録され、バッファサイズ及びタイムアウト時間といったアプリケーションの動作に関する設定情報の他、他のアプリケーションとの接続に関連する情報などが記述される。
【０００４】
また、情報処理システムの動作を規定する設定ファイルの記述ミスはシステム障害に直結するため、情報処理システムの保守員にとって設定ファイルは重要な管理対象の一つである。保守員は、保守作業を円滑に進めるために、１）情報処理システム内に散在する多数の設定ファイルの配置場所、２）各設定ファイルがいずれのアプリケーションに関するものであるか、を正確に把握していなければならない。さらに、設定ファイルと同様に、ログファイル及び使用しているライブラリファイルの配置も正確に把握していることが望ましい。そこで、各種設定情報又はログ情報などを格納したファイルの格納位置情報を管理する技術が開示されている（特許文献１参照）。
【特許文献１】特開２００６−９２４０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示された技術では、各種設定ファイル及びログファイルなどは、あらかじめ格納場所が把握されていることが前提とされていた。実際には、すべてのアプリケーションで設定ファイルの配置をすべて把握しておくことは困難な場合がある。
【０００６】
このような場合に、アプリケーションに関連するファイルを発見する方法としては、オペレーティングシステムが提供するファイル検索機能を使う方法が挙げられる。ファイル検索機能にファイル名、ファイル拡張子、又は更新時間などの検索条件を付与し、条件に合致するファイルをファイルシステムから探し出すことができる。
【０００７】
ファイル検索機能は、多くのオペレーティングシステムに備わっており、また、検索条件を変更することによって目的のファイルを柔軟に検索できる利点がある。しかし、設定ファイルを過不足なく検索するためには、１）適切な検索条件を手作業で与えなければならない、２）検索した設定ファイルを手作業でアプリケーションと関連付けなければならない、といった問題点がある。さらに、これらの作業は、手作業で行う必要があり、情報処理システムを拡張するたびに同様の作業を繰り返す必要があるため、保守員に多大な負担を強いることとなる。また、アプリケーションごとに検索条件を適切に選択する必要があり、情報処理システムについての相応の知識を要する。保守作業のアウトソース化又はシステムに精通した保守員の確保が困難であるといった理由から、オペレーティングシステムの検索機能のみで保守することは現実的な手段とはいえない。
【０００８】
本発明は、アプリケーションごとに設定ファイルの検索条件を導出し、かつ、検索された設定ファイルとアプリケーションとを関連付け、保守員の負担を軽減することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の代表的な一形態では、ファイル検索装置において、アプリケーションに関連するファイルを検索するファイル検索方法であって、前記ファイル検索装置は、インターフェース、前記インターフェースに接続されるプロセッサ、及び、前記プロセッサに接続される記憶部を備え、前記ファイル検索方法は、前記アプリケーションの実行開始時刻及びファイルパスを含むプロセス情報を取得し、前記取得されたファイルパスに基づいて、前記アプリケーションに関連するファイルを検索する起点となるディレクトリを特定し、前記特定されたディレクトリを起点として、前記アプリケーションの実行開始時刻以降にアクセスされたファイルを検索し、前記アプリケーションに関連するファイルを検索する起点となるディレクトリを特定する処理は、前記取得されたファイルパスに基づいて、前記アプリケーションが格納されたディレクトリよりも上層のディレクトリを親ディレクトリとし、前記親ディレクトリに作成され、前記取得されたファイルパスに含まれるディレクトリを子ディレクトリとし、前記親ディレクトリに作成され、前記子ディレクトリ以外のディレクトリを兄弟ディレクトリとし、前記子ディレクトリの作成時刻と、前記兄弟ディレクトリの作成時刻とを比較し、前記兄弟ディレクトリが、前記子ディレクトリの作成時刻から所定の時間内にすべて作成されている場合には、前記親ディレクトリを前記アプリケーションに関連するファイルを検索する起点となるディレクトリとして特定し、前記兄弟ディレクトリのすべてが、前記子ディレクトリの作成時刻から前記所定の時間内に作成されていない場合には、前記子ディレクトリを前記アプリケーションに関連するファイルを検索する起点となるディレクトリとして特定し、前記兄弟ディレクトリの一部が、前記子ディレクトリの作成時刻から前記所定の時間内に作成されている場合には、前記子ディレクトリ及び前記子ディレクトリの作成時刻から前記所定の時間内に作成された兄弟ディレクトリを前記アプリケーションに関連するファイルを検索する起点となるディレクトリとして特定する。
【発明の効果】
【００１０】
本発明の一形態によれば、アプリケーションに精通していない利用者であっても、アプリケーションに関連するファイルの配置場所を容易に検索することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態を、図面を参照して説明する。
【００１２】
＜第１の実施の形態＞
（全体構成）
図１は、本発明の第１の実施の形態の検索システムの全体構成を示すブロック図である。
【００１３】
本発明の第１の実施の形態の検索システムは、表示・入力部１０、検索部１２、記憶部１４、及び、情報取得部１６を含む。
【００１４】
表示・入力部１０は、検索の対象とするアプリケーション及び計算機の指定を受け付ける。さらに、指定されたアプリケーション及び計算機の検索結果を表示する。検索部１２は、ファイル検索の条件を導出し、実際にファイル検索を実行する。記憶部１４は、検索処理に使用される各種表、又は、検索結果が記憶される。情報取得部１６は、検索対象の計算機上で稼動するオペレーティングシステムに保持される情報、又は、オペレーティングシステムのファイルシステムの情報を取得する。
【００１５】
表示・入力部１０に検索対象とするアプリケーションが入力されると、検索部１２は、入力されたアプリケーションを構成するプロセスに関連する情報をオペレーティングシステムから収集するように情報取得部１６に指示する。収集された情報は、記憶部１４に記憶される。続いて、検索部１２は、当該アプリケーションに関連する設定ファイルを検索するための検索条件を導出し、導出された検索条件でファイルを検索するように情報取得部１６に指示する。導出される検索条件は、例えば、検索を開始する起点となるディレクトリ、及び、拡張子などの検索対象のファイルの属性に関連する条件などである。
【００１６】
検索されたファイルには、指定されたアプリケーションに関連する可能性を示す確度が付与され、当該ファイルのファイルパスを記憶部１４に格納する。表示・入力部１０は、システムの利用者に検索結果を表示する。利用者は、検索されたファイルの確度を参照し、検索対象のアプリケーションと検索されたファイルとの関連を確定する。
【００１７】
（ハードウェア構成）
図２は、本発明の第１の実施の形態の検索計算機のハードウェア構成を示す図である。
【００１８】
本発明の第１の実施の形態の検索システムでは、一又は複数の検索対象アプリケーションが実行される計算機、及び、検索計算機１２０として一台の計算機によって構成される。なお、検索計算機１２０で検索対象のアプリケーションが実行されてもよい。
【００１９】
検索計算機１２０は、ＣＰＵ１２４、メモリ１２６、入力装置１２７、ディスプレイ１２８、通信インターフェース（Ｉ／Ｆ）１２９及びハードディスク１３０を備える。ハードディスク１３０には、オペレーティングシステム１３２及び検索プログラム１３４が格納される。
【００２０】
ＣＰＵ１２４は、メモリ１２６に記憶されたプログラムを実行することによって、各種処理を実行する。メモリ１２６は、ＣＰＵ１２４によって実行されるプログラム及び当該プログラムを実行するために必要なデータを記憶する。入力装置１２７は、プログラムの実行に必要な情報の入力を受け付ける。ディスプレイ１２８は、検索結果などを表示する。通信Ｉ／Ｆ１２９は、ネットワークに接続し、他の計算機と通信する。
【００２１】
図１に示した各部の処理は、検索プログラム１３４がＣＰＵ１２４によって実行されることによって実現される。また、記憶部１４は、メモリ１２６及びハードディスク１３０によって実現される。
【００２２】
具体的に説明すると、検索計算機１２０が起動されると、ハードディスク１３０に記憶されたオペレーティングシステム１３２がメモリ１２６にロードされる。ＣＰＵ１２４は、オペレーティングシステム１３２を実行する。また、検索プログラム１３４は、オペレーティングシステム１３２上で実行される。
【００２３】
図３は、本発明の第１の実施の形態の検索対象計算機１２２で実行されるアプリケーションの設定ファイルを検索する検索システムの構成を示す図である。
【００２４】
図３に示すように、検索計算機１２０及び検索対象計算機１２２は、同一のネットワーク（本発明の第１の実施の形態ではＬＡＮ）に接続されている。検索計算機１２０は、ネットワークを介して検索対象計算機１２２に保持されるファイルを検索する。
【００２５】
図４は、本発明の第１の実施の形態の検索対象計算機１２２のハードウェア構成を示す図である。
【００２６】
検索対象計算機１２２は、ＣＰＵ１２４、メモリ１２６、入力装置１２７、ディスプレイ１２８、通信Ｉ／Ｆ１２９及びハードディスク１３０を備える。ハードディスク１３０には、検索対象計算機１２２を制御するオペレーティングシステム１３２、及び、検索対象計算機１２２上で実行される一つ以上のアプリケーションプログラム１３６が格納される。
【００２７】
アプリケーションプログラム１３６の実行ファイル、ライブラリファイル、又は設定ファイルは、オペレーティングシステム１３２によってツリー構造でハードディスク１３０に格納される。ツリー構造の例を図５に示す。
【００２８】
図５は、本発明の第１の実施の形態の検索システムの検索対象となるディレクトリのツリー構造の一例を示す図である。
【００２９】
図５に示すツリー構造は、ｏｐｔディレクトリに、ａｐｐｌｉｃａｔｉｏｎ１ディレクトリ及びａｐｐｌｉｃａｔｉｏｎ２ディレクトリが作成されている。ａｐｐｌｉｃａｔｉｏｎ１ディレクトリ及びａｐｐｌｉｃａｔｉｏｎ２ディレクトリには、それぞれに対応するアプリケーションの実行ファイル及び設定ファイルなどが格納されている。ａｐｐｌｉｃａｔｉｏｎ２のアプリケーションプログラム１３６に対応する実行ファイルは、例えば、／ｏｐｔ／ａｐｐｌｉｃａｔｉｏｎ２／ｂｉｎ／ｐｒｏｇｒａｍ１のディレクトリに格納されている。
【００３０】
また、アプリケーションプログラム１３６は、オペレーティングシステム１３２上で動作するプロセス１３８として実行される。
【００３１】
図６は、本発明の第１の実施の形態のアプリケーションのプロセス化の一例を示す図である。
【００３２】
図６に示すように、アプリケーションプログラム１３６は、ＣＰＵ１２４によって、オペレーティングシステム１３２上で動作するプロセス１３８として実行される。図６では、アプリケーションプログラム１３６が単一のプロセス１３８として動作する場合について示しているが、複数のプロセス１３８によって構成されるグループとして動作する場合もある。
【００３３】
以降、本発明の第１の実施の形態の検索システムの各部の動作についてフローチャートを参照しながら説明する。まず、図１に示した各部の処理について説明する前に、各処理の前処理について説明する。
【００３４】
（前処理）
前処理では、検索計算機１２０が、検索対象計算機１２２のオペレーティングシステム上で実行されているアプリケーションを構成するプロセス１３８を取得する。検索対象計算機１２２では、実行されているプロセスを管理する情報をオペレーティングシステムが保持する。オペレーティングシステムが実行中のプロセスの情報を取得する技術は、従来技術であって、オペレーティングシステムの機能として実装されている。
【００３５】
前処理では、検索対象計算機１２２で実行されているプロセスに関する情報を検索計算機１２０が収集する。まず、図７を参照しながら、検索対象計算機１２２のオペレーティングシステムで保持されるプロセス表２００について説明する。
【００３６】
図７は、本発明の第１の実施の形態の検索対象計算機１２２でオペレーティングシステム１３２によって管理されるプロセス１３８の情報を格納するプロセス表２００である。
【００３７】
プロセス表２００は、検索対象計算機１２２に格納される。プロセス表２００は、プロセスＩＤ２０２、親プロセスＩＤ２０４、開始時刻２０６、実行ファイルパス２０８及びコマンドライン引数２１０を含む。
【００３８】
プロセスＩＤ２０２は、検索対象計算機１２２で実行されているプロセスを識別する識別子である。親プロセスＩＤ２０４は、当該プロセスを呼び出した親プロセスの識別子である。親プロセスが存在しない場合には、オペレーティングシステムのプロセスＩＤが格納される。
【００３９】
開始時刻２０６は、当該プロセスの開始時刻である。実行ファイルパス２０８は、当該プロセスに対応するアプリケーションプログラム１３６が格納されたディレクトリである。コマンドライン引数２１０は、当該プロセスの実行開始時に与えられた引数である。
【００４０】
検索計算機１２０は、図７に示すようなプロセス表２００を検索対象計算機１２２から取得し、アプリケーション構成表３００として格納する。
【００４１】
図８は、本発明の第１の実施の形態の検索対象計算機１２２で動作しているプロセス１３８の情報を収集したアプリケーション構成表３００を示す図である。
【００４２】
アプリケーション構成表３００は、検索計算機１２０の記憶部１４に格納される。アプリケーション構成表３００は、計算機インデックス３０１、アプリケーションインデックス３０２、アプリケーション名３０４及びプロセスＩＤ３０６を含む。
【００４３】
計算機インデックス３０１、アプリケーションインデックス３０２、アプリケーション名３０４及びプロセスＩＤ３０６を含む。
【００４４】
計算機インデックス３０１は、検索対象計算機１２２の識別子である。アプリケーションインデックス３０２は、アプリケーションを識別する識別子である。アプリケーション名３０４は、当該アプリケーションの名称である。プロセスＩＤ３０６は、当該アプリケーションを実行するプロセスの識別子である。
【００４５】
検索計算機１２０は、まず、図７に示したプロセス表２００から読み出された各検索対象計算機１２２のプロセス情報に基づいて、アプリケーションを構成するプロセス１３８をグループ化し、アプリケーション構成表３００に新たなエントリを作成する。
【００４６】
グループ化する方法としては、プロセス表２００のプロセスＩＤ２０２及び親プロセスＩＤ２０４に基づいて、親子関係にあるプロセス１３８を一つのグループとする。又は、実行ファイルパス２０８を参照し、実行ファイルが同一ディレクトリにあるプロセス同士をグループ化するといった方法がある。
【００４７】
検索計算機１２０は、プロセス１３８のグループに対して一つのエントリがアプリケーション構成表３００に作成され、同エントリにアプリケーションインデックス３０２、アプリケーション名３０４及びグループ内のすべてのプロセスＩＤ３０６を記録する。
【００４８】
（検索処理概略）
ここで、本発明の第１の実施の形態の設定ファイル検索処理の概要を説明する。
【００４９】
図９は、本発明の第１の実施の形態の設定ファイル検索処理の手順を示すフローチャートである。
【００５０】
本処理は、検索計算機１２０のＣＰＵ１２４によって検索プログラム１３４が処理されることによって実行される。
【００５１】
検索計算機１２０のＣＰＵ１２４は、アクセス時間条件を決定する（Ｓ０００１）。アクセス時間条件とは、検索対象の設定ファイルがアクセスされた時間に対する条件である。例えば、検索対象の設定ファイルを利用するアプリケーションが起動されてから当該設定ファイルにアクセスされるまでの時間を指定する。
【００５２】
次に、検索計算機１２０のＣＰＵ１２４は、検索範囲を絞り込むために、検索の起点となるディレクトリを決定する（Ｓ０００２）。なお、Ｓ０００１の処理とＳ０００２の処理は順不同である。
【００５３】
続いて、検索計算機１２０のＣＰＵ１２４は、Ｓ０００１の処理及びＳ０００２の処理で決定された検索条件に基づいて、ファイルシステムに対する実際の検索処理を実行し、検索条件に合致するファイル一覧を取得する（Ｓ０００３）。さらに、検索されたファイルの属性を評価し、確度を算出する（Ｓ０００４）。最後に、システムの利用者に対して検索されたファイルの一覧をＳ０００４の処理で算出された確度とともに表示し、システムの利用者によって検索結果の是非の入力を受け付け、検索結果の信頼性を向上させる（Ｓ０００５）。
【００５４】
以下、各ステップ（Ｓ０００１〜Ｓ０００５）の処理についてフローチャートを参照しながら詳細に説明する。
【００５５】
（アクセス時間条件の決定Ｓ０００１）
図１０は、本発明の第１の実施の形態のアクセス時間条件を決定する処理の手順を示すフローチャートである。
【００５６】
検索計算機１２０のＣＰＵ１２４は、まず、記憶部１４に格納されたアプリケーション構成表３００を読み出す。さらに、表示・入力部１０によって、検索対象計算機１２２ごとのアプリケーション一覧をシステム利用者に提示する。
【００５７】
検索計算機１２０のＣＰＵ１２４は、表示されたアプリケーション一覧から検索対象とするアプリケーションの指定を、表示・入力部１０を介してシステム利用者から受け付ける（Ｓ０１０１）。具体的には、指定されたアプリケーション及び当該アプリケーションが稼動する検索対象計算機１２２を入力として受け付ける。
【００５８】
検索計算機１２０のＣＰＵ１２４は、検索部１２によって、指定された検索対象計算機１２２及びアプリケーションに基づいて、記憶部１４に格納されたアプリケーション構成表３００から、アプリケーションを構成するすべてのプロセス１３８を取得する。さらに、検索計算機１２０のＣＰＵ１２４は、情報取得部１６を実行し、指定された検索対象計算機１２２で動作するオペレーティングシステム１３２によって管理されるプロセス表２００から、アプリケーションを構成する全プロセス１３８の開始時刻２０６を取得する。そして、取得されたプロセスの開始時刻２０６の中で、最も古い時刻をアプリケーションの開始時刻とする（Ｓ０１０２）。
【００５９】
検索計算機１２０のＣＰＵ１２４は、検索部１２を介して情報取得部１６によって、指定された検索対象計算機１２２で動作するオペレーティングシステム１３２が管理するプロセス表２００から、プロセスの実行ファイルパス２０８及びコマンドライン引数２１０を取得する。さらに、プロセス１３８の実行ファイルパスがｊａｖａ（登録商標）又はｐｅｒｌなどのインタプリタである場合には、コマンドライン引数で指定されたファイルのパスを取得し、当該プロセスの実行ファイルパスとする（Ｓ０１０３）。
【００６０】
検索計算機１２０のＣＰＵ１２４は、検索部１２を介して情報取得部１６によって、検索対象計算機１２２のオペレーティングシステム１３２に問い合わせ、プロセス１３８の実行ファイルが記録されたファイルシステムの種別を取得する（Ｓ０１０４）。
【００６１】
検索計算機１２０のＣＰＵ１２４は、Ｓ０１０４の処理で取得したファイルシステムの種別に基づいた時間（例えば、マイナス１時間、必要がなければ０時間）を、Ｓ０１０２の処理で取得されたアプリケーションの開始時刻に加算し、アクセス時間条件とする（Ｓ０１０５）。ファイルシステムによっては、アクセス時間を一定時間キャッシュし、キャッシュの有効期間内ではアクセス時間が即時反映されないため、検索に用いるアクセス時間条件をキャッシュの有効期間分だけ調整する必要がある。
【００６２】
（アクセス時間条件の決定の変形例）
ここで、図１０に示したアクセス時間条件を決定する処理の一部を変形した手順について説明する。
【００６３】
図１１は、本発明の第１の実施の形態のアクセス時間条件を決定する処理の手順の変形例を示すフローチャートである。
【００６４】
図１０に示した手順と相違する点は、Ｓ０１０５の処理をＳ０１０６の処理で置き換えた点である。他の手順については、図１０に示した手順と同じである。
【００６５】
検索計算機１２０のＣＰＵ１２４は、Ｓ０１０４で取得されたファイルシステムの種別に基づいて、必要であれば情報取得部１６を介して、検索対象計算機１２２のオペレーティングシステム１３２にファイルシステムの属性値キャッシュをフラッシュし、ハードディスクに書き戻すように指示する（Ｓ０１０６）。キャッシュの有効期間内にアクセス時間が即時反映されない場合に、キャッシュされている内容をファイルシステムに反映させることによって、アクセス時間条件の調整が不要になる。
【００６６】
（検索範囲ディレクトリの決定Ｓ０００２）
続いて、設定ファイルを検索する範囲を決定する手順について説明する。
【００６７】
図１２は、本発明の第１の実施の形態の設定ファイルを検索する対象のディレクトリを決定する手順を示すフローチャートである。
【００６８】
検索計算機１２０のＣＰＵ１２４は、情報取得部１６によって、検索対象計算機１２２のオペレーティングシステム１３２に問い合わせ、検索対象アプリケーションのインストールディレクトリがオペレーティングシステム１３２の管理データに存在するか否かを判定する（Ｓ０２０１）。オペレーティングシステム１３２の管理データとは、Ｌｉｎｕｘ（登録商標）であればｒｐｍのレコード、Ｗｉｎｄｏｗｓ（登録商標）であればレジストリに格納された情報である。なお、Ｓ０２０１の処理でインストールディレクトリの有無を判定するのは、設定ファイルがインストールディレクトリに格納される可能性が高いためである。
【００６９】
検索計算機１２０のＣＰＵ１２４は、管理データにインストールディレクトリが格納されていない場合には（Ｓ０２０１の結果が「Ｎｏ」）、図１２のＳ０１０３の処理と同様に、アプリケーションの実行ファイルパス及びコマンドライン引数を取得する（Ｓ０２０２）。
【００７０】
検索計算機１２０のＣＰＵ１２４は、検索部１２によって、検索範囲のルートディレクトリとはなり得ないと判断される除外ディレクトリを取得する（Ｓ０２０３）。具体的には、図１３にて後述するルート除外ディレクトリ表４００を、検索対象計算機１２２のオペレーティングシステム１３２の種別に基づいて、オペレーティングシステムインデックス４０１を特定し、該当するルート除外ディレクトリ４０２の一覧を取得する。
【００７１】
図１３は、本発明の第１の実施の形態の後述するルート除外ディレクトリ表４００を示す図である。
【００７２】
ルート除外ディレクトリ表４００は、検索計算機１２０のメモリ１２６に記憶される。ルート除外ディレクトリ表４００に格納されるデータは、管理者などによってあらかじめ入力される。
【００７３】
ルート除外ディレクトリ表４００は、オペレーティングシステムインデックス４０１及びルート除外ディレクトリ４０２を含む。オペレーティングシステムインデックス４０１は、オペレーティングシステムの識別子である。ルート除外ディレクトリ４０２は、オペレーティングシステムごとに定められた検索対象から除外されるディレクトリである。
【００７４】
ここで、図１２の設定ファイルを検索する対象のディレクトリを決定する手順の説明に戻る。
【００７５】
検索計算機１２０のＣＰＵ１２４は、Ｓ０２０２の処理で取得されたアプリケーションの実行ファイルパスと、Ｓ０２０３の処理で取得されたルート除外ディレクトリ４０２の一覧に基づいて、「親」「子」「兄弟」ディレクトリを特定する（Ｓ０２０４）。
【００７６】
親ディレクトリとは、下層にディレクトリを有するディレクトリである。本発明の第１の実施の形態では、アプリケーション実行ファイルのフルパス上にあるディレクトリであって、ルート除外ディレクトリに該当しないディレクトリである。
【００７７】
子ディレクトリとは、アプリケーション実行ファイルのフルパス上にあるディレクトリであって、親ディレクトリの直下に作成されたディレクトリである。兄弟ディレクトリとは、親ディレクトリの直下に作成され、アプリケーション実行ファイルのフルパス上にないディレクトリである。
【００７８】
親ディレクトリ、子ディレクトリ、及び兄弟ディレクトリの定義について、図１４を用いて補足説明する。
【００７９】
図１４は、本発明の第１の実施の形態の検索範囲を特定するためのディレクトリ構造を説明する図である。
【００８０】
図１４に示すディレクトリ構造の一例において、アプリケーション実行ファイルを図中の“ｐｒｏｇｒａｍ１”とすると、フルパスは“／ｏｐｔ／Ａ／Ｂ／ｂｉｎ／ｐｒｏｇｒａｍ１”である。また、Ｓ０２０３の処理で取得されたルート除外ディレクトリには、“／ｏｐｔ”が含まれていたものとする。
【００８１】
この場合、親ディレクトリは、“／ｏｐｔ／Ａ／Ｂ／ｂｉｎ”上にあり、かつ、“／ｏｐｔ”の子ディレクトリである“／ｏｐｔ／Ａ”となる。同様に、子ディレクトリは、“／ｏｐｔ／Ａ／Ｂ”となり、兄弟ディレクトリは、“／ｏｐｔ／Ａ／Ｃ”及び“／ｏｐｔ／Ａ／Ｄ”となる。
【００８２】
ここで、図１２の設定ファイルを検索する対象のディレクトリを決定する手順の説明に戻る。
【００８３】
検索計算機１２０のＣＰＵ１２４は、検索部１２を介して情報取得部１６によって、検索対象計算機１２２のオペレーティングシステム１３２から、子ディレクトリ及び兄弟ディレクトリの作成日時を取得する（Ｓ０２０５）。
【００８４】
検索計算機１２０のＣＰＵ１２４は、Ｓ０２０５の処理で取得された子ディレクトリ及び兄弟ディレクトリの作成日時を比較する（Ｓ０２０６）。
【００８５】
検索計算機１２０のＣＰＵ１２４は、子ディレクトリ及び兄弟ディレクトリの作成日時が一定時間内である場合には（Ｓ０２０６の結果が「すべて時間内」）、検索範囲ディレクトリ表５００に親ディレクトリが登録されているか否かを判定する（Ｓ０２０７）。具体的には、検索部１２によって、記憶部１４に格納された検索範囲ディレクトリ表５００を参照し、検索対象計算機１２２のインデックス及び親ディレクトリのパスに基づいて、計算機インデックス５０２及び起点ディレクトリ５０６が一致するエントリの有無を判定する。子ディレクトリ及び兄弟ディレクトリの作成日時が一定時間内である場合には、子ディレクトリを含むすべての兄弟ディレクトリが同時期に作成されているため、親ディレクトリがインストールディレクトリである可能性が高いと判断することができる。
【００８６】
検索範囲ディレクトリ表５００に親ディレクトリが登録されているか否かを判定することは、検索範囲ディレクトリ表５００に二重にアプリケーションが登録されることによって、検索時間が増大することを防ぐためである。なお、検索範囲ディレクトリ表５００については、図１５にて後述する。
【００８７】
図１５は、本発明の第１の実施の形態の検索範囲ディレクトリ表５００を示す図である。
【００８８】
検索範囲ディレクトリ表５００は、設定ファイルを検索する対象の検索対象計算機１２２で実行されるアプリケーションごとの検索の起点ディレクトリの候補を記録する。検索範囲ディレクトリ表５００は、記憶部１４に格納される。
【００８９】
検索範囲ディレクトリ表５００は、計算機インデックス５０２、アプリケーションインデクス５０４、起点ディレクトリ５０６及び確度５０８を含む。
【００９０】
計算機インデックス５０２は、検索対象計算機１２２の識別子である。アプリケーションインデクス５０４は、検索対象計算機１２２で実行されるアプリケーションの識別子である。起点ディレクトリ５０６は、設定ファイルを検索する起点となるディレクトリである。確度５０８は、アプリケーションと当該ディレクトリとが関連する可能性を示す値である。
【００９１】
ここで、図１２の設定ファイルを検索する対象のディレクトリを決定する手順の説明に戻る。
【００９２】
検索計算機１２０のＣＰＵ１２４は、検索範囲ディレクトリ表５００に親ディレクトリが登録されている場合には（Ｓ０２０７の結果が「Ｙｅｓ」）、親ディレクトリが別アプリケーションのインストールディレクトリとして登録されていることを示している。そこで、検索計算機１２０のＣＰＵ１２４は、子ディレクトリをインストールディレクトリとするように、検索範囲ディレクトリ表５００に、起点ディレクトリ５０６を子ディレクトリとする新規エントリを作成する（Ｓ０２０９）。また、子ディレクトリは、インストールディレクトリである可能性が高いため、確度５０８には高い点数を設定する。
【００９３】
検索計算機１２０のＣＰＵ１２４は、検索範囲ディレクトリ表５００に親ディレクトリが登録されていない場合には（Ｓ０２０７の結果が「Ｎｏ」）、検索範囲ディレクトリ表５００に、起点ディレクトリ５０６を親ディレクトリとする新規エントリを作成する（Ｓ０２０８）。また、親ディレクトリは、インストールディレクトリである可能性が高いため、確度５０８には高い点数を設定する。
【００９４】
検索計算機１２０のＣＰＵ１２４は、子ディレクトリの作成日時と、他の兄弟ディレクトリの作成日時との差がすべて一定時間内にない場合には（Ｓ０２０６の結果が「すべて時間外」）、前述したＳ０２０９の処理を実行する。兄弟ディレクトリが別の時期に作成されているため、兄弟ディレクトリは他のアプリケーションのインストールディレクトリとなっている可能性が高いため、子ディレクトリを起点ディレクトリとする。
【００９５】
検索計算機１２０のＣＰＵ１２４は、子ディレクトリの作成日時と、一部の兄弟ディレクトリのみの作成日時との差がすべて一定時間内にある場合には（Ｓ０２０６の結果が「一部時間内」）、子ディレクトリと作成日時が一定時間内にある兄弟ディレクトリを検索範囲ディレクトリ表５００に登録する。
【００９６】
まず、検索計算機１２０のＣＰＵ１２４は、記憶部１４に格納された検索範囲ディレクトリ表５００を参照し、計算機インデックス５０２及び起点ディレクトリ５０６を、検索対象計算機１２２のインデックス及び各兄弟ディレクトリのパスで検索し、該当するエントリの有無を調べる。既にエントリが存在する場合、当該兄弟ディレクトリは除外される（Ｓ０２１０）。
【００９７】
さらに、検索計算機１２０のＣＰＵ１２４は、検索範囲ディレクトリ表５００の新規エントリを作成し、起点ディレクトリ５０６として子ディレクトリ、及びＳ０２１０の処理で除外されなかった兄弟ディレクトリを書き込む（Ｓ０２１１）。子ディレクトリは、インストールディレクトリである可能性が高いため、確度５０８には、高い点数を設定する。兄弟ディレクトリは、インストールディレクトリである可能性が親ディレクトリ又は子ディレクトリよりも低いため、確度５０８には親ディレクトリ及び子ディレクトリよりも低い点数を設定する。
【００９８】
検索計算機１２０のＣＰＵ１２４は、管理データにインストールディレクトリが格納されている場合には（Ｓ０２０１の結果が「Ｙｅｓ」）、検索範囲ディレクトリ表５００にオペレーティングシステム１３２の管理データから取得されたアプリケーションのインストールディレクトリを起点ディレクトリ５０６とする新規エントリを作成する（Ｓ０２１２）。オペレーティングシステム１３２の管理データから得られたインストールディレクトリには、Ｓ０２０８、Ｓ０２０９、及びＳ０２１１の処理で親ディレクトリ及び子ディレクトリに対して付与された確度よりも高い点数を確度５０８に設定する。
【００９９】
（検索範囲ディレクトリの決定Ｓ０００２の第１の変形例）
ここで、図１２に示した検索範囲ディレクトリを決定する処理の一部を変形した手順について説明する。
【０１００】
図１６は、本発明の第１の実施の形態の設定ファイルを検索する対象のディレクトリを決定する手順の第１の変形例を示すフローチャートである。
【０１０１】
図１２に示したフローチャートと図１６に示すフローチャートとの相違点は、図１２のＳ０２０５の処理が、図１６ではＳ０３０５の処理に置き換わっている点である。
【０１０２】
検索計算機１２０のＣＰＵ１２４は、親ディレクトリの全子孫ディレクトリについて作成日時の差を計算し、差が一定時間以内である子孫ディレクトリの数が、全子孫ディレクトリ数の一定割合以上であるか否かを判定する（Ｓ０３０５）。
【０１０３】
検索計算機１２０のＣＰＵ１２４は、親ディレクトリの全子孫ディレクトリについて、作成日時の差が一定時間内である子孫ディレクトリ数が全子孫ディレクトリ数の一定割合以上である場合には（Ｓ０３０５の結果が「Ｙｅｓ」）、親ディレクトリがインストールディレクトリである可能性が高いと判断し、Ｓ０２０７の処理を実行する。
【０１０４】
検索計算機１２０のＣＰＵ１２４は、親ディレクトリの全子孫ディレクトリについて、作成日時の差が一定時間内である子孫ディレクトリ数が全子孫ディレクトリ数の一定割合未満である場合には（Ｓ０３０５の結果が「Ｎｏ」）、前述したＳ０２０６の処理を実行する。
【０１０５】
（検索範囲ディレクトリの決定Ｓ０００２の第２の変形例）
さらに、図１２に示した検索範囲ディレクトリを決定する処理の一部を変形した手順について説明する。
【０１０６】
図１７は、本発明の第１の実施の形態の設定ファイルを検索する対象のディレクトリを決定する手順の第２の変形例を示すフローチャートである。
【０１０７】
検索計算機１２０のＣＰＵ１２４は、検索部１２によって、アプリケーション構成表３００から検索対象計算機１２２についてのすべてのエントリを取得し、検索対象計算機１２２で稼働している全アプリケーションを特定する（Ｓ０４０１）。
【０１０８】
検索計算機１２０のＣＰＵ１２４は、検索対象計算機１２２のオペレーティングシステム１３２に保持されるプロセス表２００を参照し、Ｓ０４０１の処理で特定されたアプリケーションごとに実行ファイルパスを特定する（Ｓ０４０２）。なお、Ｓ０４０２の処理は、図１２のＳ０２０２の処理と同じであるため、説明を省略する。
【０１０９】
検索計算機１２０のＣＰＵ１２４は、Ｓ０４０２の処理で取得されたアプリケーションの実行ファイルパスに基づいて、親ディレクトリを導出する（Ｓ０４０３）。親ディレクトリを導出する方法については、図１２のＳ０２０４の処理と同じであるため、説明を省略する。導出した親ディレクトリを仮のインストールディレクトリとする。
【０１１０】
検索計算機１２０のＣＰＵ１２４は、Ｓ０４０３の処理で取得された各アプリケーションのインストールディレクトリに重複が存在するか否かを判定する（Ｓ０４０４）。
【０１１１】
検索計算機１２０のＣＰＵ１２４は、インストールディレクトリに重複が存在する場合には（Ｓ０４０４の結果が「Ｙｅｓ」）、インストールディレクトリが重複したアプリケーションそれぞれに対して、インストールディレクトリの重複を解消する（Ｓ０４０５）。
【０１１２】
インストールディレクトリの重複を解消する手順について具体的に説明すると、まず、検索計算機１２０のＣＰＵ１２４は、現在のインストールディレクトリを起点として、実行ファイルパス上で１階層深いディレクトリを新しいインストールディレクトリとする。例えば、“／ｏｐｔ／Ａ／Ｂ／Ｃ／ｂｉｎ／ｍａｉｎ．ｅｘｅ”を実行ファイルパスとし、現在のインストールディレクトリを“／ｏｐｔ／Ａ”とすると、そこから１階層深いディレクトリである、“／ｏｐｔ／Ａ／Ｂ”が新しいインストールディレクトリとなる。
【０１１３】
さらに、検索計算機１２０のＣＰＵ１２４は、再度、新たに設定されたインストールディレクトリの重複が存在するか否かを判定する（Ｓ０４０４）。新たに設定されたインストールディレクトリも重複する場合には、再度、Ｓ０４０５の処理を実行してディレクトリを調整する。
【０１１４】
検索計算機１２０のＣＰＵ１２４は、インストールディレクトリの重複が存在しない場合には（Ｓ０４０４の結果が「Ｎｏ」）、検索範囲ディレクトリ表５００に、各アプリケーションのインストールディレクトリを起点ディレクトリ５０６とする新たなエントリを追加する（Ｓ０４０６）。なお、アプリケーションについてのエントリが既に存在する場合には、当該アプリケーションについてはエントリを追加しない。
【０１１５】
本発明の第１の実施の形態では、以上のように、検索対象計算機１２２で実行されているアプリケーションのインストールディレクトリを取得し、設定ファイルの検索の起点ディレクトリとする。しかし、以上の手順によって設定された検索範囲が十分であるとは限らないため、検索範囲ディレクトリを修正する必要がある場合がある。そこで、検索範囲ディレクトリを表示し、修正を受け付ける画面の一例について説明する。
【０１１６】
図１８は、本発明の第１の実施の形態の検索範囲ディレクトリの表示画面の一例を示す図である。
【０１１７】
検索範囲ディレクトリ表示画面は、検索計算機１２０の表示・入力部１０によって表示される。検索範囲ディレクトリ表示画面は、計算機とアプリケーションの対応関係の表示部１０００、及び、インストールディレクトリの入力・修正部を含む。インストールディレクトリの入力・修正部は、インストールディレクトリの入力部１００１及び現在設定されているディレクトリ１００２を含む。
【０１１８】
計算機とアプリケーションの対応関係の表示部１０００は、計算機上で実行されているアプリケーションの一覧を表示する。当該画面の利用者が、検索範囲ディレクトリを表示したいアプリケーションを選択すると、現在設定されているディレクトリ１００２に、指定されたアプリケーションの検索範囲ディレクトリの一覧が表示される。現在設定されているディレクトリ１００２には、前述した検索範囲ディレクトリの決定処理によって取得されたディレクトリが表示されるが、利用者はインストールディレクトリ入力部１００１にディレクトリを手動で入力することも可能である。
【０１１９】
（ファイル検索処理Ｓ０００３）
続いて、設定ファイルを検索する手順について説明する。
【０１２０】
図１９は、本発明の第１の実施の形態のアプリケーションの設定ファイルを検索する手順を示すフローチャートである。
【０１２１】
ファイル検索処理Ｓ０００３は、Ｓ０００１及びＳ０００２の処理で決定されたファイル検索条件に基づいてファイルを検索し、検索結果を設定ファイル表６００へ記録する。設定ファイル表６００については、図２０に一例を示す。
【０１２２】
図２０は、本発明の第１の実施の形態の設定ファイル表６００を示す図である。
【０１２３】
設定ファイル表６００は、検索されたファイルごとにファイルシステムにおけるパスを記録する。設定ファイル表６００は、計算機インデックス６０２、アプリケーションインデックス６０４、ファイル種別６０６、設定ファイルパス６０８、確度６１０、確定フラグ６１２及びアクセス日時６１４を含む。
【０１２４】
計算機インデックス６０２は、アプリケーションが実行されている検索対象計算機１２２の識別子である。アプリケーションインデックス６０４は、アプリケーションの識別子である。
【０１２５】
ファイル種別６０６は、当該アプリケーションによって使用される設定ファイルの種類である。例えば、システム情報などの設定情報の場合には“ｃｏｎｆｉｇ”、ログ情報の場合には“ｌｏｇ”などの値が設定される。
【０１２６】
設定ファイルパス６０８は、設定ファイルのファイルパスが格納される。確度６１０は、記録されたファイルと当該アプリケーションとの関連の強さを示す値であって、記録されたファイルが当該アプリケーションの設定ファイルである可能性を示す値である。確定フラグ６１２は、記録されたファイルが当該アプリケーションの設定ファイルであることが確定したか否かを記録する。アクセス日時６１４は、当該設定ファイルがアクセスされた日時である。
【０１２７】
ここで、図１９のアプリケーションの設定ファイルを検索する手順の説明に戻る。
【０１２８】
検索計算機１２０のＣＰＵ１２４は、まず、Ｓ０００１の処理で決定されたファイル検索のアクセス時間条件を取得する（Ｓ０５０１）。さらに、Ｓ０００２の処理で決定された、検索の起点となるディレクトリ一覧を検索範囲ディレクトリ表５００から取得する（Ｓ０５０２）。
【０１２９】
検索計算機１２０のＣＰＵ１２４は、情報取得部１６によって、Ｓ０００１及びＳ０００２の処理で取得された条件に基づいて、検索対象計算機１２２のオペレーティングシステム１３２に検索要求を送信する。そして、検索結果として検索条件を満たすファイルパスのリストを取得する（Ｓ０５０３）。
【０１３０】
検索計算機１２０のＣＰＵ１２４は、後述する拡張子辞書７００を参照し、ファイル種別７０２とファイルの拡張子７０４との対応関係を取得する（Ｓ０５０４）。拡張子辞書７００は、図２１を参照しながら説明する。
【０１３１】
図２１は、本発明の第１の実施の形態のファイルの拡張子からファイル種別を取得するための拡張子辞書７００の一例を示す図である。
【０１３２】
拡張子辞書７００は、ファイル種別７０２及び拡張子７０４を含む。ファイルの拡張子７０４に基づいて、ファイル種別７０２を特定することができる。
【０１３３】
ここで、図１９のアプリケーションの設定ファイルを検索する手順の説明に戻る。
【０１３４】
検索計算機１２０のＣＰＵ１２４は、Ｓ０５０３の処理で取得されたファイルごとに、以下の処理を実行する（Ｓ０５０５）。
【０１３５】
検索計算機１２０のＣＰＵ１２４は、まず、設定ファイル表６００に新規エントリを追加し、計算機インデックス５０２に検索対象計算機１２２のインデックス、アプリケーションインデックス６０４に検索対象アプリケーションのインデックスを設定する。
【０１３６】
検索計算機１２０のＣＰＵ１２４は、次に、ファイルの拡張子を、Ｓ０５０４の処理で取得されたファイルの拡張子７０４と比較する。一致する拡張子７０４が存在する場合には、対応するファイル種別７０２を設定ファイル表６００のエントリのファイル種別６０６に記録する。いずれの拡張子７０４とも一致しない場合には、ファイル種別６０６に「不明」を示す情報を記録する。確度６１０に記録する値の計算方法は、次のステップ（Ｓ０００４）にて詳述する。アクセス日時６１４には、現時点における当該ファイルのアクセス日時属性の値を記録する。
【０１３７】
なお、Ｓ０５０３の処理とＳ０５０４の処理を同時に実行してもよい。例えば、Ｓ０５０４の処理で取得されるファイル拡張子のリストを、Ｓ０５０３の処理における検索条件に加えてファイルを検索してもよい。
【０１３８】
（確度計算Ｓ０００４）
確度計算処理（Ｓ０００４）では、Ｓ０００３の処理で作成された設定ファイル表６００のエントリの確度６１０に記録する値を計算する。確度６１０を計算するための基準を以下に示す。
【０１３９】
第１に、検索範囲ディレクトリ表５００のエントリに含まれる確度５０８を初期値とする。例えば、検索範囲ディレクトリ表５００に起点ディレクトリ５０６が“／Ａ／Ｂ／Ｃ”であって、かつ、確度５０８が“１０”であるエントリが含まれている。このとき、ファイル検索実行Ｓ０００３の処理において、当該エントリの起点ディレクトリ、すなわち、“／Ａ／Ｂ／Ｃ”を起点としてファイル検索を実行し、その結果、設定ファイル“／Ａ／Ｂ／Ｃ／Ｄ／ｅｅｅ．ｃｏｎｆ”が検索されたとする。この場合、取得された設定ファイルの確度の初期値は、検索の起点ディレクトリである“／Ａ／Ｂ／Ｃ”の確度、すなわち、“１０”となる。
【０１４０】
第２に、同一アプリケーションに対して複数回ファイル検索を実行し、共通して検索されたファイルの確度を高く設定する。ただし、検索時のおけるアプリケーションの起動時間が同時である場合は、同一の検索処理であるとみなす。
【０１４１】
第３に、検索されたファイルのパスに、特定のキーワードが含まれる場合、同ファイルの確度を高く設定する。例えば、パスに“ｃｏｎｆ”又は“ｃｏｎｆｉｇ”が含まれるファイルは設定ファイルである可能性が高いため、確度を高く設定する。
【０１４２】
第４に、検索されたファイルの種別が設定ファイルであって、かつ、アクセス日時と、アプリケーション起動時刻との時間差がごく短時間である場合に、同設定ファイルの確度を高く設定する。
【０１４３】
以下、前述した基準に基づいて、ファイルの確度を設定する手順について具体的に説明する。
【０１４４】
図２２は、本発明の第１の実施の形態の検索されたファイルの確度を計算する手順を示すフローチャートである。
【０１４５】
検索計算機１２０のＣＰＵ１２４は、検索対象のアプリケーションの設定ファイルの検索が実行済みか否かを判定する（Ｓ０６０１）。以前に検索されていた場合には、設定ファイル表６００に検索対象のアプリケーションに対応するエントリが存在するため、当該エントリが存在するか否かを判定すればよい。
【０１４６】
検索計算機１２０のＣＰＵ１２４は、検索対象のアプリケーションの設定ファイルの検索が実行済みでない場合には（Ｓ０６０１の結果が「Ｎｏ」）、新たに確度を計算する（Ｓ０６０２）。Ｓ０６０２の処理では、まず、前述した第１の基準に基づいて初期値を設定し、第３の基準に基づいて確度を計算する。
【０１４７】
Ｓ０６０２の処理を具体的に説明すると、まず、確度計算の対象となるファイルについて、設定ファイル表６００のエントリのファイル種別６０６を取得する。次に、取得されたファイル種別に基づいて、確度計算キーワード表８００のファイル種別８０２と一致する全エントリを取得する。なお、確度計算キーワード表８００については、図２３にて後述する。さらに、取得されたエントリのキーワード８０６が、確度計算対象ファイルのパスに含まれている場合、加減点８０４の内容に基づいて、設定ファイル表６００の確度６１０の値を更新する。
【０１４８】
図２３は、本発明の第１の実施の形態の確度計算キーワード表８００の一例を示す図である。
【０１４９】
確度計算キーワード表８００は、ファイル種別８０２、加減点８０４及びキーワード８０６を含む。
【０１５０】
ファイル種別８０２は、確度を計算する対象のファイルの種別である。ファイル種別８０２は、前述のように、ファイルの拡張子と対応して定められる。
【０１５１】
加減点８０４は、ファイル種別８０２が一致し、後述するキーワード８０６がファイルパスに含まれる場合に、確度に値が加算されるか減算されるかを記録する。なお、実際に加算又は減算される値そのものを設定してもよい。また、負の数を設定すれば、当該エントリに該当する場合に加減点８０４に設定された値を常に加算すればよい。
【０１５２】
キーワード８０６は、ファイルのパスに含まれる場合に、設定ファイルである可能性が高い又は低い文字列である。
【０１５３】
ここで、図２２の設定ファイルの確度を計算する手順の説明に戻る。
【０１５４】
検索計算機１２０のＣＰＵ１２４は、さらに、確度計算対象ファイルのアクセス日時と検索対象アプリケーションの起動時刻との差を計算し、差が一定時間以内であれば、設定ファイル表６００の対応するエントリの確度６１０に加点する（Ｓ０６０３）。Ｓ０６０３の処理における確度計算は、前述した第４の基準に相当する。
【０１５５】
検索計算機１２０のＣＰＵ１２４は、検索対象のアプリケーションの設定ファイルの検索が実行済みの場合には（Ｓ０６０１の結果が「Ｙｅｓ」）、検索対象のアプリケーションに対応する設定ファイル表６００のエントリのアクセス日時６１４と、当該設定ファイルのアクセス日時を比較する（Ｓ０６０４）。
【０１５６】
検索計算機１２０のＣＰＵ１２４は、設定ファイル表６００に検索対象のアプリケーションに対応するエントリのアクセス日時６１４と、Ｓ０００３の処理で検索された設定ファイルのアクセス日時が一致しない場合には（Ｓ０６０４の結果が「Ｙｅｓ」）、当該ファイルの確度６１０を加点する（Ｓ０６０５）。Ｓ０６０４の処理における確度計算は、前述した第２の基準に相当する。
【０１５７】
また、検索計算機１２０のＣＰＵ１２４は、設定ファイル表６００に検索対象のアプリケーションに対応するエントリのアクセス日時６１４と、Ｓ０００３の処理で検索された設定ファイルのアクセス日時が一致する場合には（Ｓ０６０４の結果が「Ｎｏ」）、本処理を終了する。
【０１５８】
（確度計算Ｓ０００４の変形例）
ここで、図２２に示したファイルの確度を計算する処理の一部を変形した手順について説明する。
【０１５９】
図２４は、本発明の第１の実施の形態の検索されたファイルの確度を計算する手順の変形例を示すフローチャートである。
【０１６０】
図２４に示す変形例では、複数の検索対象計算機１２２で同一のアプリケーションが実行されている場合に、各検索対象計算機１２２におけるファイル検索結果のうち、共通して検索されたファイルの確度を高く設定する。
【０１６１】
検索計算機１２０のＣＰＵ１２４は、アプリケーション構成表３００のアプリケーションインデックス３０２に基づいて、検索対象の計算機の他に検索対象のアプリケーションが実行されている計算機が存在するか否かを判定する（Ｓ０７０１）。該当する計算機が存在しない場合には（Ｓ０７０１の結果が「Ｎｏ」）、本処理を終了する。
【０１６２】
検索計算機１２０のＣＰＵ１２４は、検索対象の計算機の他に検索対象のアプリケーションが実行されている計算機が存在する場合には（Ｓ０７０１の結果が「Ｙｅｓ」）、検索対象アプリケーションに対応するエントリを設定ファイル表６００からすべて取得する（Ｓ０７０２）。
【０１６３】
検索計算機１２０のＣＰＵ１２４は、Ｓ０７０２の処理で取得されたエントリに基づいて、対象の設定ファイルの確度に加算する（Ｓ０７０３）。なお、Ｓ０７０２で取得したエントリが存在しない場合には、逆に確度を減算してもよい。また、Ｓ０７０２の処理で取得されたエントリの確定フラグ６１２を参照し、確定状態であれば、対象の設定ファイルに対応するエントリの確定フラグ６１２も同様に確定状態とする。
【０１６４】
（確認処理Ｓ０００５）
確認処理（Ｓ０００５）では、Ｓ０００３の処理で検索された設定ファイルをＳ０００４の処理で算出された確度とともにシステム利用者に提示する。さらに、システムの利用者によって検索結果の是非の入力を受け付け、検索結果の信頼性を向上させる。
【０１６５】
以下、確認処理の手順について具体的に説明する。
【０１６６】
図２５は、本発明の第１の実施の形態の検索されたファイルの確認処理の手順を示すフローチャートである。
【０１６７】
検索計算機１２０のＣＰＵ１２４は、まず、設定ファイル表６００から、表示の範囲にあるエントリをすべて取得する（Ｓ０８０１）。例えば、表示する範囲が特定計算機の特定アプリケーションであれば、設定ファイル表６００の計算機インデックス６０２及びアプリケーションインデックス６０４を参照し、対応するエントリを特定する。
【０１６８】
検索計算機１２０のＣＰＵ１２４は、次に、Ｓ０８０１の処理で取得されたエントリの内容をシステム利用者に表示する（Ｓ０８０２）。表示形式は、確定フラグ６１２、又は、確度６１０の内容に応じて変更する。例えば、確定フラグ６１２が未確定状態であるエントリと確定状態であるエントリを分けて表示する。または、確度６１０の値によって表示色を変更することによって、ファイルの確度が検索システム利用者に一見して把握できるように表示する。
【０１６９】
検索計算機１２０のＣＰＵ１２４は、検索対象のアプリケーションの設定ファイルが取得されているかについて、検索システム利用者から入力を受け付ける（Ｓ０８０３）。検索システム利用者は、Ｓ０８０２の処理によって表示された内容を参考に、必要なファイルを正しく発見できているか確認し、正しく発見されているファイルに対して確定入力（例えば、ＯＫボタンを操作）を行う。表示・入力部１０から確定入力を受け付けると、検索計算機１２０のＣＰＵ１２４は、対象のファイルの確定フラグ６１２を確定状態に更新する。
【０１７０】
最後に、検索計算機１２０のＣＰＵ１２４は、確定入力対象のファイルのファイル種別６０６が不明であった場合には、システム利用者にファイル種別６０６の指定を要求する（Ｓ０８０４）。同時に、拡張子辞書７００にエントリを作成し、指定されたファイル種別６０６と当該ファイルの拡張子を、それぞれファイル種別７０２及び拡張子７０４に記録する。このように処理することによって、拡張子辞書７００が強化され、次回以降の検索の際に対応することができる。
【０１７１】
図２６は、本発明の第１の実施の形態のシステム利用者による確定処理の入力画面の一例を示す図である。
【０１７２】
確定処理の入力画面は、図２５に示したフローチャートのＳ０８０３の処理で表示される画面である。確定処理の入力画面の画面構成要素には、検索対象計算機１２２とアプリケーションの対応関係表示部１０００、検索対象ファイル種別設定部１１００、及び関連ファイル設定部１１０１を含む。
【０１７３】
検索対象計算機１２２とアプリケーションの対応関係表示部１０００は、検索対象計算機と当該計算機上で実行されるアプリケーションとの対応関係を表示する。
【０１７４】
検索対象ファイル種別設定部１１００は、検索対象とするファイル種別の設定部及び検索実行ボタンを含む。ファイル種別の設定部には、既定のファイル種別を表示してもよいし、指定されたアプリケーションに対する検索の結果、発見された関連ファイルの一覧が表示されてもよい。ファイルの種別は、チェックボックスで指定される。検索実行ボタンを操作すると、検索対象ファイル種別設定部１１００で指定された種別のファイルを検索する。
【０１７５】
関連ファイル設定部１１０１は、検索が実行された結果、発見された各ファイルに対して確定入力ボックス１１０２を設ける。利用者は、確定入力ボックス１１０２にファイルがアプリケーションに関連するか（図中では「○」で表記）、関連しないのか（同じく「×」で表記）を入力し、最後に確定ボタン１１０３を操作して入力内容を確定させる。
【０１７６】
入力が確定すると、関連ファイル設定部１１０１には、アプリケーションに関連することが確定されたファイル、又は、確定されていないファイルが表示され、アプリケーションに関連しないことが確定されたファイルは表示されない。
【０１７７】
図２７は、本発明の第１の実施の形態の拡張子辞書７００の登録画面の一例を示す図である。
【０１７８】
拡張子辞書７００の登録画面は、図２５に示したフローチャートのＳ０８０４の処理で表示される。拡張子辞書７００の登録画面には、関連ファイル表１２００、及び、種別不明な拡張子表１２０１が表示される。
【０１７９】
関連ファイル表１２００には、表示指定されたアプリケーションに対するファイル検索の結果、取得されたファイルのうち、拡張子辞書７００に対応する拡張子が登録されているためにファイル種別が判明しているファイルが表示される。一方、不明な拡張子表１２０１には、検索の結果、取得されたファイルのうち、拡張子辞書７００に対応する拡張子が含まれていないものが表示される。種別不明な拡張子表１２０１は、ファイル種別が不明な拡張子に対してファイル種別を付与する候補となる。利用者は、種別不明な拡張子表１２０１から拡張子を選択し、登録可能なファイル種別一覧１２０２からファイル種別を選択して対応付ける。拡張子に対応するファイル種別が指定されると、当該拡張子を有するファイルを関連ファイル表１２００に追記して表示する。
【０１８０】
（複数の計算機を対象にファイル検索処理を実施する変形例）
ここまでに説明した本発明の第１の実施の形態では、検索対象計算機１２２ごとにファイルの検索を実行していたが、複数計算機に対するファイル検索処理をまとめて実行する手順について説明する。
【０１８１】
図２８は、本発明の第１の実施の形態の複数の計算機に格納された設定ファイルを検索する手順を示すフローチャートである。
【０１８２】
検索計算機１２０のＣＰＵ１２４は、複数の検索対象計算機１２２の指定を受け付け、受け付けられた検索対象計算機１２２の中からファイル検索を実行していない計算機を順に選択し、ファイル検索が実行されていない計算機が存在するか否かを判定する（Ｓ１１０１）。ファイル検索実行の有無は、例えば、アプリケーション構成表３００に当該検索対象計算機１２２に対応するエントリの有無で判断することができる。ファイル検索が実行されていない計算機が存在しない場合には（Ｓ１１０１の結果が「Ｎｏ」）、本処理を終了する。
【０１８３】
検索計算機１２０のＣＰＵ１２４は、Ｓ１１０１の処理で選択された検索対象計算機１２２に対し、前述した前処理を実行し、当該検索対象計算機１２２で稼動するアプリケーションに関する情報を取得し、アプリケーション構成表３００にエントリを作成する（Ｓ１１０２）。
【０１８４】
検索計算機１２０のＣＰＵ１２４は、Ｓ１１０２の処理で取得されたアプリケーション（以下、「自アプリケーション」）を一つ抽出し、抽出されたアプリケーションをキーとしてアプリケーション構成表３００を検索し、同種のアプリケーションが他の検索対象計算機１２２で実行されているか否かを判定する（Ｓ１１０３）。
【０１８５】
検索計算機１２０のＣＰＵ１２４は、同種のアプリケーションが他の検索対象計算機１２２で実行されている場合には（Ｓ１１０３の結果が「Ｙｅｓ」）、Ｓ１１０３の処理で取得された、別の検索対象計算機１２２上で稼動する同種のアプリケーション（以下、「他アプリケーション」）に関連するファイルの一覧を設定ファイル表６００から取得する。なお、同種のアプリケーションが他の検索対象計算機１２２で実行されている場合には、二台目以降の検索対象計算機１２２についてＳ１１０４の処理を実行する際には、後述するＳ１１０７の処理によって、既に当該アプリケーションを対象とするファイル検索処理が実行されている。
【０１８６】
検索計算機１２０のＣＰＵ１２４は、さらに、ファイル一覧に含まれる各ファイルについて、検索対象計算機１２２においてもファイル検索条件を満たすか、すなわち、ファイルが存在するか、自アプリケーションの起動時刻以降にアクセスされているかなどをチェックする（Ｓ１１０４）。
【０１８７】
検索計算機１２０のＣＰＵ１２４は、Ｓ１１０４の処理でチェック対象となった全ファイルのうちチェック条件を満たすファイルが一定割合以上であるか否かを評価する（Ｓ１１０５）。
【０１８８】
検索計算機１２０のＣＰＵ１２４は、チェック条件を満たすファイルが一定割合以上の場合には（Ｓ１１０５の結果が「Ｙｅｓ」）、Ｓ１１０４の処理でチェック条件を満たすファイルそれぞれについて、設定ファイル表６００にエントリを追加する（Ｓ１１０６）。エントリの追加は、他アプリケーションに関連するファイルについて設定ファイル表６００に記録されているエントリをコピーし、コピーされたエントリの計算機インデックス６０２を検索対象計算機１２２のインデックスに書き換える。
【０１８９】
検索計算機１２０のＣＰＵ１２４は、チェック条件を満たすファイルが一定割合以上の場合には（Ｓ１１０５の結果が「Ｎｏ」）、自アプリケーションと他アプリケーションが同種であるとした判定が誤っているものとみなす。
【０１９０】
そこで、検索計算機１２０のＣＰＵ１２４は、同種のアプリケーションが他の検索対象計算機１２２で実行されていない場合（Ｓ１１０３の結果が「Ｎｏ」）、又は、検索計算機１２０のＣＰＵ１２４は、チェック条件を満たすファイルが一定割合以上の場合には（Ｓ１１０５の結果が「Ｎｏ」）、検索対象のアプリケーションに対し、前述したファイル検索処理Ｓ０００３を実行する（Ｓ１１０７）。
【０１９１】
検索計算機１２０のＣＰＵ１２４は、Ｓ１１０７の処理におけるファイル検索処理の結果に対し、確認処理Ｓ０００５を実行する（Ｓ１１０８）。
【０１９２】
（ファイル属性の一時保存）
ファイルシステムによっては、ファイル検索によってファイルのアクセス日時が更新される場合がある。したがって、本発明によるファイル検索では、ファイル検索によるアクセスによってアクセス日時が更新されてしまう可能性がある。このようなファイルのアクセス日時の更新を回避するために、ファイル検索を開始時に、アクセスする可能性のあるファイルの属性情報を一時的に保存し、検索処理の終了後、保存しておいたファイルのアクセス日時をファイルシステムに書き戻す処理について説明する。
【０１９３】
図２９は、本発明の第１の実施の形態の設定ファイル検索時にファイルのアクセス時刻を保持する手順を示すフローチャートである。
【０１９４】
検索計算機１２０のＣＰＵ１２４は、アプリケーションの親ディレクトリ以下に配置されたすべてのファイル及びディレクトリの属性情報（ファイルパス、作成日時、アクセス日時など）を取得し、ファイル／ディレクトリごとに保存する（Ｓ１００１）。
【０１９５】
検索計算機１２０のＣＰＵ１２４は、Ｓ１００１の処理で保存されたファイル属性情報を使用してファイル検索処理（Ｓ０００２、Ｓ０００３）を実行する（Ｓ１００２）。
【０１９６】
最後に、検索計算機１２０のＣＰＵ１２４は、Ｓ１００１の処理で保存されたファイル／ディレクトリのアクセス日時を、元のファイルに書き戻す（Ｓ１００３）。
【０１９７】
各処理を実行するタイミングについて、さらに詳細に説明すると、ファイル属性情報の保存処理（Ｓ１００１）は、ファイルに対するアクセスの直前、例えば、図１２のＳ０２０４の処理の後に実行される。また、アクセス日時の書き戻し処理（Ｓ１００３）は、ファイル検索処理完了後、例えば、図１９のＳ０５０５の処理又は図２２のＳ０６０３の処理の後に実行される。
【０１９８】
（本発明の第１の実施の形態の効果）
本発明の第１の実施の形態によれば、アプリケーションのインストールディレクトリなどの関連するディレクトリを特定し、特定されたディレクトリから設定ファイルを検索することによって、効率的に設定ファイルを検索することができる。したがって、アプリケーションに精通していない利用者であっても、アプリケーションに関連するファイルの配置場所を容易に把握することができる。
【０１９９】
＜第２の実施の形態＞
本発明の第１の実施の形態では、検索計算機に検索処理を実行するプログラムがすべて含まれていたが、本発明の第２の実施の形態では、検索処理の一部が検索対象計算機で実行される構成となっている。
【０２００】
図３０は、本発明の第２の実施の形態の検索システムの全体構成を示すブロック図である。
【０２０１】
本発明の第２の実施の形態の検索システムは、検索計算機で実行される検索プログラムのマネージャ９００と、検索対象計算機で実行される検索プログラムのエージェント９０２とを含む。検索プログラム（マネージャ）９００と検索プログラム（エージェント）９０２は、いわゆるマネージャ−エージェント構成となっている。
【０２０２】
検索プログラムのマネージャ９００は、表示・入力部１０、検索部１２及び記憶部１４を含む。また、検索プログラムのエージェント９０２は、情報取得部１６を含む。表示・入力部１０、検索部１２、記憶部１４及び情報取得部１６は、図１に示された本発明の第１の実施の形態と同じである。
【０２０３】
本発明の第１の実施の形態では、表示・入力部１０、検索部１２、記憶部１４、及び情報取得部１６が単一の検索プログラムとして実装されているが、本発明の第２の実施の形態では、表示・入力部１０、検索部１２及び記憶部１４を検索プログラム（マネージャ）９００、情報取得部１６を検索プログラム（エージェント）９０２として、機能が分割されている。
【０２０４】
図３１Ａは、本発明の第２の実施の形態の検索計算機のハードウェア構成を示す図である。
【０２０５】
本発明の第２の実施の形態の検索計算機のハードウェア構成は、本発明の第１の実施の形態の検索計算機のハードウェア構成と同じである。図３０にて説明したように、ハードディスク１３０に記憶されている検索プログラムが、検索プログラム（マネージャ）９００となる点のみである。
【０２０６】
図３１Ｂは、本発明の第２の実施の形態の検索対象計算機のハードウェア構成を示す図である。
【０２０７】
本発明の第２の実施の形態の検索対象計算機のハードウェア構成は、本発明の第１の実施の形態の検索対象計算機のハードウェア構成と同じである。図３０にて説明したように、ハードディスク１３０に、新たに検索プログラム（エージェント）９０２が格納される点が相違する。
【０２０８】
なお、本発明の第２の実施の形態では、単一の検索プログラムがマネージャとエージェントに分割されたものであるため、プログラムの基本的な動作は、本発明の第１の実施の形態の場合と同様である。
【０２０９】
（プロセス監視からのファイル検索）
本発明の第１の実施の形態では、検索システムの利用者によって検索対象のアプリケーションが指定されることを想定している。一方、本発明の第２の実施の形態では、検索対象計算機１２２に検索プログラム（エージェント）９０２が常駐するため、新規アプリケーションの起動を定期的に監視する。したがって、新規アプリケーションが起動された場合には、即座に設定ファイルの検索を開始することが可能となる。具体的な処理手順を図３１に示す。
【０２１０】
図３２は、本発明の第２の実施の形態のプロセス監視によるファイル検索処理開始のフローチャートである。
【０２１１】
検索対象計算機１２２のＣＰＵ１２４は、検索プログラム（エージェント）９０２を実行することによって、検索対象計算機１２２のオペレーティングシステム１３２から当該計算機で稼動しているプロセスに関する情報を定期的に取得する（Ｓ０９０１）。
【０２１２】
検索対象計算機１２２のＣＰＵ１２４は、取得されたプロセス情報に基づいて、プロセスとアプリケーションとの対応関係を作成する。さらに、取得されたプロセス情報に対応するアプリケーションが、新規に起動されたアプリケーションであるか否かを判定する（Ｓ０９０２）。新規に起動されたアプリケーションであるか否かの判定は、アプリケーション構成表３００に、当該アプリケーションに対応するエントリが登録されているか否かによって判定できる。
【０２１３】
検索対象計算機１２２のＣＰＵ１２４は、アプリケーションが新規に起動されたものである場合には（Ｓ０９０２の結果が「Ｙｅｓ」）、検索計算機１２０に新規アプリケーションが起動された旨を通知し、検索の実行を依頼する（Ｓ０９０４）。新規アプリケーションの起動通知を受信した検索計算機１２０は、通知されたアプリケーションの設定ファイルを検索する処理を実行する。
【０２１４】
検索対象計算機１２２のＣＰＵ１２４は、アプリケーションが新規に起動されたものではない場合には（Ｓ０９０２の結果が「Ｎｏ」）、アプリケーション構成表３００に記録された当該アプリケーションに対応するプロセスＩＤ３０６の値を取得し、起動されたアプリケーションのプロセスＩＤと比較する（Ｓ０９０３）。
【０２１５】
検索対象計算機１２２のＣＰＵ１２４は、アプリケーション構成表３００から取得されたプロセスＩＤと起動されたアプリケーションのプロセスＩＤとが一致する場合には（Ｓ０９０３の結果が「Ｙｅｓ」）、アプリケーションに変更がなかったものとして本処理を終了する。一方、アプリケーション構成表３００から取得されたプロセスＩＤと起動されたアプリケーションのプロセスＩＤとが相違する場合には（Ｓ０９０３の結果が「Ｎｏ」）、アプリケーションに対して何らかの変更が加えられた可能性があるため、再度ファイル検索を実行するように、検索計算機１２０に検索の実行を依頼する（Ｓ０９０４）。
【０２１６】
なお、検索計算機１２０で通知されたアプリケーションを蓄積し、利用者の指示によって、蓄積されたアプリケーションに対して設定ファイルを検索するようにしてもよい。
【０２１７】
（本発明の第２の実施の形態の効果）
本発明の第２の実施の形態によれば、検索対象計算機でアプリケーションの起動を監視することによって、利用者が定期的にアプリケーションを指定して設定ファイルを検索する必要がなく、管理コストを削減することができる。
【０２１８】
また、本発明の第２の実施の形態によれば、構成が変更されたアプリケーションについても、検索対象計算機１２２によって通知されるため、常に最新の状態で設定ファイルの配置を把握することができる。
【産業上の利用可能性】
【０２１９】
本発明は、情報処理システムを管理するソフトウェア製品、又は、情報処理システムを管理する管理装置に適用可能である。
【図面の簡単な説明】
【０２２０】
【図１】本発明の第１の実施の形態の検索システムの全体構成を示す図である。
【図２】本発明の第１の実施の形態の検索計算機のハードウェア構成を示す図である。
【図３】本発明の第１の実施の形態の検索対象計算機で実行されるアプリケーションの設定ファイルを検索する検索システムの構成を示す図である。
【図４】本発明の第１の実施の形態の検索対象計算機の構成を示す図である。
【図５】本発明の第１の実施の形態の検索システムの検索対象となるディレクトリのツリー構造の一例を示す図である。
【図６】本発明の第１の実施の形態のアプリケーションのプロセス化の一例を示す図である。
【図７】本発明の第１の実施の形態の検索対象計算機でオペレーティングシステムによって管理されるプロセス情報を格納するプロセス表である。
【図８】本発明の第１の実施の形態の検索対象計算機で動作しているプロセスの情報を収集したアプリケーション構成表を示す図である。
【図９】本発明の第１の実施の形態の設定ファイル検索処理の手順を示すフローチャートである。
【図１０】本発明の第１の実施の形態のアクセス時間条件を決定する処理の手順を示すフローチャートである。
【図１１】本発明の第１の実施の形態のアクセス時間条件を決定する処理の手順の変形例を示すフローチャートである。
【図１２】本発明の第１の実施の形態の設定ファイルを検索する対象のディレクトリを決定する手順を示すフローチャートである。
【図１３】本発明の第１の実施の形態の後述するルート除外ディレクトリ表を示す図である。
【図１４】本発明の第１の実施の形態の検索範囲を特定するためのディレクトリ構造を説明する図である。
【図１５】本発明の第１の実施の形態の検索範囲ディレクトリ表を示す図である。
【図１６】本発明の第１の実施の形態の設定ファイルを検索する対象のディレクトリを決定する手順の第１の変形例を示すフローチャートである。
【図１７】本発明の第１の実施の形態の設定ファイルを検索する対象のディレクトリを決定する手順の第２の変形例を示すフローチャートである。
【図１８】本発明の第１の実施の形態の検索範囲ディレクトリの表示画面の一例を示す図である。
【図１９】本発明の第１の実施の形態の設定ファイルを検索する手順を示すフローチャートである。
【図２０】本発明の第１の実施の形態の設定ファイル表を示す図である。
【図２１】本発明の第１の実施の形態のファイルの拡張子からファイル種別を取得するための拡張子辞書の一例を示す図である。
【図２２】本発明の第１の実施の形態の検索されたファイルの確度を計算する手順を示すフローチャートである。
【図２３】本発明の第１の実施の形態の確度計算キーワード表の一例を示す図である。
【図２４】本発明の第１の実施の形態の検索されたファイルの確度を計算する手順の変形例を示すフローチャートである。
【図２５】本発明の第１の実施の形態の検索されたファイルの確認処理の手順を示すフローチャートである。
【図２６】本発明の第１の実施の形態のシステム利用者による確定処理の入力画面の一例を示す図である。
【図２７】本発明の第１の実施の形態の拡張子辞書の登録画面の一例を示す図である。
【図２８】本発明の第１の実施の形態の複数の計算機に格納された設定ファイルを検索する手順を示すフローチャートである。
【図２９】本発明の第１の実施の形態の設定ファイル検索時にファイルのアクセス時刻を保持する手順を示すフローチャートである。
【図３０】本発明の第２の実施の形態の検索システムの全体構成を示すブロック図である。
【図３１Ａ】本発明の第２の実施の形態の検索計算機のハードウェア構成を示す図である。
【図３１Ｂ】本発明の第２の実施の形態の検索対象計算機のハードウェア構成を示す図である。
【図３２】本発明の第２の実施の形態のプロセス監視によってファイル検索処理を実行する手順のフローチャートである。
【符号の説明】
【０２２１】
１０    表示・入力部
１２    検索部
１４    記憶部
１６    情報取得部
１２０    検索計算機
１２２    検索対象計算機
１２４    ＣＰＵ
１２６    メモリ
１２７    入力装置
１２８    ディスプレイ
１２９    通信インターフェース
１３０    ハードディスク
１３２    オペレーティングシステム
１３４    検索プログラム
１３６    アプリケーションプログラム
２００    プロセス表
３００    アプリケーション構成表
４００    ルート除外ディレクトリ表
５００    検索範囲ディレクトリ表
６００    設定ファイル表
７００    拡張子辞書
８００    確度計算キーワード表
９００    検索プログラム（マネージャ）
９０２    検索プログラム（エージェント）
【図１】
0005106062.tif 000002
【図２】
0005106062.tif 000003
【図３】
0005106062.tif 000004
【図４】
0005106062.tif 000005
【図５】
0005106062.tif 000006
【図６】
0005106062.tif 000007
【図７】
0005106062.tif 000008
【図８】
0005106062.tif 000009
【図９】
0005106062.tif 000010
【図１０】
0005106062.tif 000011
【図１１】
0005106062.tif 000012
【図１２】
0005106062.tif 000013
【図１３】
0005106062.tif 000014
【図１４】
0005106062.tif 000015
【図１５】
0005106062.tif 000016
【図１６】
0005106062.tif 000017
【図１７】
0005106062.tif 000018
【図１８】
0005106062.tif 000019
【図１９】
0005106062.tif 000020
【図２０】
0005106062.tif 000021
【図２１】
0005106062.tif 000022
【図２２】
0005106062.tif 000023
【図２３】
0005106062.tif 000024
【図２４】
0005106062.tif 000025
【図２５】
0005106062.tif 000026
【図２６】
0005106062.tif 000027
【図２７】
0005106062.tif 000028
【図２８】
0005106062.tif 000029
【図２９】
0005106062.tif 000030
【図３０】
0005106062.tif 000031
【図３１Ａ】
0005106062.tif 000032
【図３１Ｂ】
0005106062.tif 000033
【図３２】
0005106062.tif 000034