(57)【特許請求の範囲】
【請求項１】
移行元コンピュータで動作している対象プログラムが動作中に該移行元コンピュータのＯＳに対して発した情報をトレース情報として記録したトレースファイルに基づいて、前記対象プログラムが前記移行元コンピュータ以外のコンピュータ装置で動作可能か否かを判定するための移行検査プログラムを作成する移行検査プログラム作成装置であって、
前記トレースファイルの中からファイルの実行およびアクセスについての前記トレース情報を抽出するトレースファイル整形機能と、
抽出された前記トレース情報の内容と同様の前記ファイルの実行およびアクセスが他のコンピュータ装置においても可能であるか否かを判定するための前記移行検査プログラムを作成する移行検査プログラム生成機能と
を有することを特徴とする移行検査プログラム作成装置。
【請求項２】
動作環境情報記憶部を予め備え、前記トレースファイル整形機能が、前記トレース情報を実行環境に依存しない環境情報に変換して前記動作環境情報記憶部に保存することを特徴とする、請求項１に記載の移行検査プログラム作成装置。
【請求項３】
前記ファイルの実行に関するトレース情報が、当該実行ファイルのファイルパスについての情報を含み、
前記移行検査プログラム生成機能が、前記移行検査プログラムの中に前記実行ファイルのパスが正当に設定されているか否かを判定する処理を含めることを特徴とする、請求項１に記載の移行検査プログラム作成装置。
【請求項４】
前記ファイルのアクセスに関するトレース情報が、当該アクセス対象ファイルのパスおよびアクセス権についての情報を含み、
前記移行検査プログラム生成機能が、前記移行検査プログラムの中に前記アクセス対象ファイルのパスおよびアクセス権が正当に設定されているか否かを判定する処理を含めることを特徴とする、請求項１に記載の移行検査プログラム作成装置。
【請求項５】
移行元コンピュータで動作している対象プログラムが動作中に該移行元コンピュータのＯＳに対して発した情報をトレース情報として記録したトレースファイルに基づいて、前記対象プログラムが前記移行元コンピュータ以外のコンピュータ装置で動作可能か否かを判定するための移行検査プログラムを作成する移行検査プログラム作成装置が実行する移行検査プログラム作成方法であって、
前記トレースファイルの中からファイルの実行およびアクセスについての前記トレース情報を前記移行検査プログラム作成装置のトレースファイル整形機能が抽出し、
抽出された前記トレース情報の内容と同様の前記ファイルの実行およびアクセスが他のコンピュータ装置においても可能であるか否かを判定するための前記移行検査プログラムを前記移行検査プログラム作成装置の移行検査プログラム生成機能が作成する
ことを特徴とする移行検査プログラム作成方法。
【請求項６】
移行元コンピュータで動作している対象プログラムが動作中に該移行元コンピュータのＯＳに対して発した情報をトレース情報として記録したトレースファイルに基づいて、前記対象プログラムが前記移行元コンピュータ以外のコンピュータ装置で動作可能か否かを判定するための移行検査プログラムを作成する移行検査プログラム作成装置にあって、
前記移行検査プログラム作成装置が備えるコンピュータに、
前記トレースファイルの中からファイルの実行およびアクセスについての前記トレース情報を抽出する手順、
および抽出された前記トレース情報の内容と同様の前記ファイルの実行およびアクセスが他のコンピュータ装置においても可能であるか否かを判定するための前記移行検査プログラムを作成する手順
を実行させることを特徴とする移行検査プログラム作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は移行検査プログラム作成装置、移行検査プログラム作成方法および移行検査プログラム作成プログラムに関し、特にプログラムを動作させるコンピュータ装置を新しいものに置き換える作業を効率的に行うことを可能とする移行検査プログラム作成装置等に関する。
【背景技術】
【０００２】
企業、役所、学校などの組織では、多数のコンピュータ装置およびそれらが相互に接続されて構築されるコンピュータネットワークが、各々の業務の中核をなすものとして機能している。それらのコンピュータ装置では、各々の業務を遂行するために不可欠な情報を扱う多数のコンピュータプログラムが動作している。ハードウェアとしての耐用年数の経過、記憶装置の容量不足、および通信容量の増大などに伴うネットワークの構成変更などのような理由で、各々のプログラムを動作させるコンピュータ装置を新しいものに置き換える必要が生じる場合も当然ある。
【０００３】
その際、単に当該プログラムの実行ファイルを古い装置から新しい装置に移し替えるだけで正常に動作することは殆どない。多くの場合、新しい装置でそのプログラムを正しく動作させるためには、ライブラリファイルやログファイルなどの整備、ディレクトリの構成、およびアクセス権の設定などをやり直す必要がある。これらの設定は、同一のＯＳ（オペレーティングシステム）で動作するコンピュータ装置であっても、各々の装置ごと、あるいはバージョンごとに異なっていることが多い。
【０００４】
これに関連する技術文献として、以下の各々がある。その中でも特許文献１には、コンピュータプログラムが実行中にＯＳの機能を呼び出すシステムコールについて、複数のシステムコールをグループ化して扱うことによってそれらを容易にトレースするという技術が記載されている。
【０００５】
特許文献２には、コンピュータプログラムの動作時に記録されたトレース情報をカテゴライズおよび特定の情報を隠蔽して必要な情報のみを表示するという技術が記載されている。特許文献３には、被テストプログラムからスクリプトおよびテストデータを生成してテストを行うというコンピュータプログラムの自動テストシステムが記載されている。そして特許文献４には、コンピュータのハードウェアが変更された時にもテストプログラムの新規作成が不要であるという模擬アプリケーション試験装置等が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−１０１０２９号公報
【特許文献２】特開２００２−１０８６４９号公報
【特許文献３】特開２００２−３６６３８７号公報
【特許文献４】特開２００７−１５６８２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
各々のプログラムを動作させるコンピュータ装置を新しいものに置き換える場合、特にアプリケーションサーバなどのように多種多様なプログラムを実行させている装置である場合には、各々のプログラムについて一々動作環境の確認および整備を行うだけでも膨大な作業量になる。その整備作業の殆どが、該プログラムが動作中に実行させる他のプログラムファイルのパス、および動作中にアクセスする他ファイルのパスおよびアクセス権についての整備である。
【０００８】
そのプログラムの実行ファイルは、プログラム言語の文章が記述されているスクリプトファイルである場合もあれば、人間が読み書きすることを前提とせずに２進数のみで記述されたバイナリファイルである場合もある。
【０００９】
実行ファイルがスクリプトである場合には、その構文について１行ずつ静的解析を行うことによって動作環境の確認および整備を自動化できる可能性はあるが、動作環境の細かい点について確認できないことがある。実行ファイルがバイナリである場合には、そのような静的解析自体が極めて困難であるのに加えて、当該プログラムが実行時に必要とする動作環境や、処理途中で必要とする中間ファイルなどについて、マニュアルや仕様書などにも十分な記載がない場合が多いという問題点がある。
【００１０】
特に実行ファイルがバイナリである場合、移行先の装置で当該プログラムを実行させ、そのプログラムの実行中に発生したエラーを、エラーログを参照しながら１つずつ解消していくことによって、そのプログラムを新しい装置へ対応させる以外に有効な方法がない。これには多くの工数と時間がかかるため、特に多数のプログラムを実行させるアプリケーションサーバなどのような装置を新しいものに置き換える作業は困難なものとなる。
【００１１】
以上の問題を解決しうる構成は、前述の特許文献１〜４には記載されていない。これらの文献はいずれも、前述のような動作環境の確認および整備を効率的に行うことを目的にしたものではなく、またそれらを効率化しうる構成も記載されていない。
【００１２】
本発明の目的は、プログラムを動作させるコンピュータ装置を新しいものに置き換える作業を効率的に行うことを可能とする移行検査プログラム作成装置、移行検査プログラム作成方法および移行検査プログラム作成プログラムを提供することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明に係る移行検査プログラム作成装置は、移行元コンピュータで動作している対象プログラムが動作中に該移行元コンピュータのＯＳに対して発した情報をトレース情報として記録したトレースファイルに基づいて、対象プログラムが移行元コンピュータ以外のコンピュータ装置で動作可能か否かを判定するための移行検査プログラムを作成する移行検査プログラム作成装置であって、トレースファイルの中からファイルの実行およびアクセスについてのトレース情報を抽出するトレースファイル整形機能と、抽出されたトレース情報の内容と同様のファイルの実行およびアクセスが他のコンピュータ装置においても可能であるか否かを判定するための移行検査プログラムを作成する移行検査プログラム生成機能とを有することを特徴とする。
【００１４】
上記目的を達成するため、本発明に係る移行検査プログラム作成方法は、移行元コンピュータで動作している対象プログラムが動作中に該移行元コンピュータのＯＳに対して発した情報をトレース情報として記録したトレースファイルに基づいて、対象プログラムが移行元コンピュータ以外のコンピュータ装置で動作可能か否かを判定するための移行検査プログラムを作成する移行検査プログラム作成装置が実行する移行検査プログラム作成方法であって、トレースファイルの中からファイルの実行およびアクセスについてのトレース情報を移行検査プログラム作成装置のトレースファイル整形機能が抽出し、抽出されたトレース情報の内容と同様のファイルの実行およびアクセスが他のコンピュータ装置においても可能であるか否かを判定するための移行検査プログラムを移行検査プログラム作成装置の移行検査プログラム生成機能が作成する
ことを特徴とする。
【００１５】
上記目的を達成するため、本発明に係る移行検査プログラム作成プログラムは、移行元コンピュータで動作している対象プログラムが動作中に該移行元コンピュータのＯＳに対して発した情報をトレース情報として記録したトレースファイルに基づいて、対象プログラムが移行元コンピュータ以外のコンピュータ装置で動作可能か否かを判定するための移行検査プログラムを作成する移行検査プログラム作成装置にあって、移行検査プログラム作成装置が備えるコンピュータに、トレースファイルの中からファイルの実行およびアクセスについてのトレース情報を抽出する手順、および抽出されたトレース情報の内容と同様のファイルの実行およびアクセスが他のコンピュータ装置においても可能であるか否かを判定するための移行検査プログラムを作成する手順を実行させることを特徴とする。
【発明の効果】
【００１６】
本発明は、上述したように対象プログラムの実行状況を記録したトレースファイルから対象プログラムのファイルの実行およびアクセスに関するトレース情報を抽出して移行検査プログラムを作成する構成としたので、この移行検査プログラムを移行先のコンピュータ装置で実行するだけで、この装置が対象プログラムの実行に必要なライブラリファイルやログファイル、ディレクトリの構成、およびアクセス権の設定などが整備されているか否かを容易に確認することができる。
【００１７】
これによって、プログラムを動作させるコンピュータ装置を新しいものに置き換える作業を効率的に行うことが可能であるという優れた特徴を持つ移行検査プログラム作成装置、移行検査プログラム作成方法および移行検査プログラム作成プログラムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態に係る移行検査プログラム作成装置の構成について示す説明図である。
【図２】図１に示したトレースファイル整形機能の動作を示すフローチャートである。
【図３】図２のステップＳ２０１〜２０２で、トレースファイル整形機能がトレース情報記憶部から抽出するトレース情報の例を示す説明図である。
【図４】図２に示した処理によってトレースファイル整形機能が動作環境情報記憶部に記憶した環境情報データの一例について示す説明図である。
【図５】図１に示した移行検査プログラム生成機能の動作を示すフローチャートである。
【図６】図５の続きのフローチャートである。
【図７】図１に示した検査関数情報記憶部に記憶されている内容の一例について示す説明図である。
【図８】図５〜図６の動作を経て作成された移行検査プログラム、およびこれを移行先アプリケーションサーバで実行して得られる実行結果の一例を示す説明図である。
【発明を実施するための形態】
【００１９】
（第１の実施形態）
以下、本発明の第１の実施形態の構成について添付図１〜図３に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係る移行検査プログラム作成装置１０は、移行元コンピュータ（移行元アプリケーションサーバ２０）で動作する対象プログラム２５が動作中に該移行元コンピュータのＯＳに対して発した情報をトレース情報として記録したトレースファイル２４から、対象プログラムが移行元コンピュータ以外のコンピュータ装置（移行先アプリケーションサーバ３０）で動作可能か否かを判定するための移行検査プログラム１２０を作成する移行検査プログラム作成装置である。この移行検査プログラム作成装置１０は、トレースファイルの中からファイルの実行およびアクセスについてのトレース情報を抽出するトレースファイル整形機能１０２ａと、抽出されたトレース情報の内容と同様のファイルの実行およびアクセスが他のコンピュータ装置においても可能であるか否かを判定するための移行検査プログラム１２０を作成する移行検査プログラム生成機能１０２ｂとを有する。
【００２０】
ここで、トレースファイル整形機能１０２ａは、トレース情報を実行環境に依存しない環境情報に変換して予め備えられた動作環境情報記憶部１１２に保存する。
【００２１】
また、ファイル実行に関するトレース情報が、当該実行ファイルのファイルパスについての情報を含み、移行検査プログラム生成機能１０２ｂは、移行検査プログラムの中に実行ファイルのパスが正当に設定されているか否かを判定する処理を含める。さらに、ファイルアクセスに関するトレース情報が、当該アクセス対象ファイルのパスおよびアクセス権についての情報を含み、移行検査プログラム生成機能１０２ｂは、移行検査プログラムの中にアクセス対象ファイルのパスおよびアクセス権が正当に設定されているか否かを判定する処理を含める。
【００２２】
以上の構成を備えることにより、本実施形態の移行検査プログラム作成装置１０は対象プログラム２５を動作させるコンピュータ装置を新しいものに置き換える作業を効率的に行うことが可能となる。
以下、これをより詳細に説明する。
【００２３】
図１は、本発明の第１の実施形態に係る移行検査プログラム作成装置１０の構成について示す説明図である。移行検査プログラム作成装置１０は、一般的なコンピュータ装置としての構成を有する。即ち、コンピュータプログラムを実行する主体となる主演算制御手段（ＣＰＵ: Micro Processing Unit）１１と、データを記憶する記憶手段１２と、ネットワーク４０に接続して他のコンピュータとのデータ通信を行う通信手段１３と、ユーザからの操作を受け付けると共に主演算制御手段１１による処理結果をユーザに表示する入出力手段１４とを備える。
【００２４】
移行検査プログラム作成装置１０は、ネットワーク４０を介して、単数もしくは複数のコンピュータ装置である移行元アプリケーションサーバ２０および単数もしくは複数のコンピュータ装置である移行先アプリケーションサーバ３０とデータ通信を行っている。
【００２５】
移行元アプリケーションサーバ２０が備える主演算制御手段２１ａでは、移行対象となるコンピュータプログラム（以後対象プログラム２５という）を実行する対象プログラム実行部２２と、このプログラムの実行状況をトレースしてトレースファイル２４を作成するトレース部２３とがコンピュータプログラムとして各々の機能を実行されるように構成されている。
【００２６】
移行元アプリケーションサーバ２０は、これと同時に、トレースファイル２４および対象プログラム２５を記憶している記憶手段２１ｂと、ネットワーク４０を介して他のコンピュータ装置とデータ通信を行う通信手段２１ｃも備えている。そして、トレース部２３はトレースファイル２４を、ネットワーク４０を介して移行検査プログラム作成装置１０に送信する。移行元アプリケーションサーバ２０では、対象プログラム２５が正常に動作しうる環境はもちろん整えられている。
【００２７】
移行先アプリケーションサーバ３０は、移行検査プログラム作成装置１０が生成した移行検査プログラム１２０を実行可能なコンピュータ装置であり、最終的に対象プログラム２５を実行しようとしているコンピュータ装置である。なお、トレースファイル２４、対象プログラム２５、および移行検査プログラム１２０は、ネットワーク４０を経由して交換しなくても、たとえば光ディスクやフラッシュメモリなどのような記憶媒体を経由して交換するものとしてもよい。
【００２８】
移行検査プログラム作成装置１０の主演算制御手段１１では、移行元アプリケーションサーバ２０からトレースファイル２４を受信するトレースファイル収集部１０１と、受信および収集されたトレースファイル２４から移行検査プログラムを生成する移行検査プログラム生成部１０２とがコンピュータプログラムとして実行されるように構成されている。
【００２９】
移行検査プログラム生成部１０２はさらに、受信および収集されたトレースファイル２４から必要な情報を抽出するトレースファイル整形機能１０２ａと、そこから移行検査プログラム１２０を生成する移行検査プログラム生成機能１０２ｂとに分かれる。
【００３０】
そして、移行検査プログラム作成装置１０の記憶手段１２には、トレースファイル収集部１０１が収集したトレースファイル２４を記憶するトレース情報記憶部１１１と、トレースファイル整形機能１０２ａがトレースファイル２４から抽出した情報を記憶する動作環境情報記憶部１１２と、移行検査プログラム生成機能１０２ｂが移行検査プログラム１２０の生成に使用する情報を予め記憶している検査関数情報記憶部１１３とが、記憶領域として確保されている。
【００３１】
移行元アプリケーションサーバ２０で、トレース部２３は、たとえばＬｉｎｕｘにおけるｓｔｒａｃｅ、ＨＰ−ＵＸにおけるｔｕｓｃ、Ｓｏｌａｒｉｓにおけるｔｒｕｓｓなどのように、対象プログラム実行部２２で実行される対象プログラム２５が実行中にＯＳの機能を呼び出すために発したシステムコールを取得し、そのシステムコールの名前、引数、戻り値などのような情報を記憶手段２１ｂ上のトレースファイル２４に出力する。
【００３２】
トレース部２３は、出力の終わったトレースファイル２４をネットワーク４０（もしくは記憶媒体など）を介して移行検査プログラム作成装置１０に送信する。移行検査プログラム作成装置１０では、トレースファイル収集部１０１がこれを受信し、アプリケーション名をキーとしてトレース情報記憶部１１１に記憶する。
【００３３】
図２は、図１に示したトレースファイル整形機能１０２ａの動作を示すフローチャートである。トレースファイル整形機能１０２ａは、トレース情報記憶部１１１の中から、特定のアプリケーションに関するトレース情報を読み込み（ステップＳ２０１）、その中からファイル実行に関するトレース情報とファイルアクセスに関するトレース情報を抽出する（ステップＳ２０２）。
【００３４】
図３は、図２のステップＳ２０１〜２０２で、トレースファイル整形機能１０２ａがトレース情報記憶部１１１から抽出するトレース情報の例を示す説明図である。Ｕｎｉｘ（登録商標）を例に取れば、ｅｘｅｃシステムコールが「ファイル実行に関するトレース情報」に該当し、ｏｐｅｎシステムコールが「ファイルアクセスに関するトレース情報」に該当し、ステップＳ２０２で抽出される対象となる。
【００３５】
図２に戻って、トレースファイル整形機能１０２ａは、ステップＳ２０２で抽出したトレース情報の中から、実行に成功したものをさらに抽出し、そのトレースの中からトレース名（システムコール名）および必要な引数を抽出する（ステップＳ２０３）。ｅｘｅｃシステムコールの場合、トレース名は「ｅｘｅｃ」であり、必要な引数は「実行ファイルパス」である。ｏｐｅｎシステムコールの場合は、トレース名は「ｏｐｅｎ」であり、必要な引数は「オープンしようとした対象ファイルのファイルパス」および「当該ファイルのアクセス権」である。
【００３６】
トレースファイル整形機能１０２ａは、ステップＳ２０３で抽出した引数を、実行サーバのトレース情報に非依存な環境情報に変換する（ステップＳ２０４）。ここでいう環境情報とは、環境名１１２ｂと付随情報１１２ｃからなり、環境名１１２ｂはアプリケーションがどのような振舞いを示すかの仮想的な名称で、付随情報１１２ｃは環境に付随する情報である。この変換により、トレース部２３の種類によって異なるトレース情報の形式を統一することができる。
【００３７】
図３に示したｅｘｅｃシステムコールの場合、（ｅｘｅｃ，実行ファイルのファイルパス）といったデータは、「ｅｘｅｃ」が「ファイルの実行」という環境名１１２ｂであり、「実行ファイルのファイルパス」が付随情報１１２ｃである。ｏｐｅｎシステムコールの場合、（ｏｐｅｎ，ファイルパス，実行モード）といったデータは、「ｏｐｅｎ」が「ファイルアクセス」という環境名１１２ｂであり、「ファイルパス」および「実行モード」が付随情報１１２ｃである。
【００３８】
トレースファイル整形機能１０２ａは、ステップＳ２０２で抽出してステップＳ２０３〜２０４の処理を行ったトレース情報の中から、実行環境に特に関係ない既知のトレース情報を除外する（ステップＳ２０５）。ここで除外される対象となる「実行環境に特に関係ない既知のトレース情報」とは、たとえばテンポラリディレクトリへのアクセスや、対象プログラム２５に固有なものではない一般的なファイルもしくはディレクトリに対するアクセスである。
【００３９】
トレースファイル整形機能１０２ａは、ステップＳ２０５までの処理の完了したトレース情報の環境名１１２ｂおよび付随情報１１２ｃを、対象プログラム２５のアプリケーション名１１２ａをキーとして、動作環境情報記憶部１１２に記憶する（ステップＳ２０６）。トレースファイル整形機能１０２ａは最後に、トレース情報記憶部１１１に未参照のデータが残っているか否かを判断し（ステップＳ２０７）、残っていればステップＳ２０１に戻ってその未参照データに対してステップＳ２０２〜２０６の処理を繰り返す。残っていなければ処理を終了する。
【００４０】
図４は、図２に示した処理によってトレースファイル整形機能１０２ａが動作環境情報記憶部１１２に記憶した環境情報データの一例について示す説明図である。前述のように、動作環境情報記憶部１１２には、対象プログラム２５のアプリケーション名１１２ａに対応して、その対象プログラム２５の環境名１１２ｂおよび付随情報１１２ｃが記憶される。
【００４１】
図４に示した動作環境情報記憶部１１２に記憶されている環境情報データの例では、アプリケーション名１１２ａ「アプリケーションＡ」について、環境名１１２ｂ＝「ファイル実行」でかつ付随情報１１２ｃ＝「ファイルパスＸ」、環境名１１２ｂ＝「ファイルアクセス」でかつ付随情報１１２ｃ＝「ファイルパスＹ」および「アクセス権“読み込み”」というデータが記憶されている。
【００４２】
同様に、動作環境情報記憶部１１２には、アプリケーション名１１２ａ「アプリケーションＢ」について、環境名１１２ｂ＝「ファイルアクセス」でかつ付随情報１１２ｃ＝「ファイルパスＺ」および「アクセス権“書き込み／読み込み”」というデータも記憶されている。
【００４３】
図５〜図６（紙面の都合で２枚に分ける）は、図１に示した移行検査プログラム生成機能１０２ｂの動作を示すフローチャートである。移行検査プログラム生成機能１０２ｂが生成する移行検査プログラム１２０は、移行先アプリケーションサーバ３０で実行可能なプログラムである。本実施形態では、移行検査プログラム１２０はシェルスクリプトによって記述される。
【００４４】
図５〜図６で説明する各ステップの中には、移行検査プログラム生成機能１０２ｂがシェルスクリプトのコードを作成するものがあり、作成されたそれらのコードは一つのテキストファイルに追記され、これが最終的に移行検査プログラム１２０として出力される。具体的にはステップＳ３０１、３０２、３０６、３０８、および３１０の動作が、移行検査プログラム生成機能１０２ｂがコードを出力するものである。
【００４５】
移行検査プログラム生成機能１０２ｂはまず、移行検査プログラム１２０のヘッダを作成し（ステップＳ３０１）、引き続いて戻り値保存用の変数を「成功」に初期化するコードを作成する（ステップＳ３０２）。本実施形態ではシェルスクリプトを使用するので、ステップＳ３０１で作成されるヘッダは、たとえば「＃！／ｂｉｎ／ｓｈ」などのようになる。また、ステップＳ３０２で作成される戻り値保存用の変数は、たとえば「ｒｅｔ＝０」のように、成功を０、失敗を１で示すブーリアン変数となる。
【００４６】
初期値の生成が完了した移行検査プログラム生成機能１０２ｂは、引き続いて動作環境情報記憶部１１２から特定の対象プログラム２５のアプリケーション名１１２ａについての情報を読み込み（ステップＳ３０３）、その中から環境名１１２ｂおよび付随情報１１２ｃを読み込む（ステップＳ３０４）。
【００４７】
移行検査プログラム生成機能１０２ｂは、これに引き続いて、検査関数情報記憶部１１３から環境名１１２ｂをキーとして、これに対応する検査関数を読み出す（ステップＳ３０５）。図７は、図１に示した検査関数情報記憶部１１３に記憶されている内容の一例について示す説明図である。検査関数情報記憶部１１３には、環境名１１２ｂに対応した検査関数１１３ａが予め記憶されている。本実施形態では、検査関数１１３ａはシェルスクリプトの関数である。
【００４８】
検査関数１１３ａは、アプリケーション名１１２ａと付随情報１１２ｃとを引数として、その動作環境を検査し、アプリケーション名１１２ａで示される対象プログラム２５が動作しうるか否かを判定する関数である。動作しうる場合には「成功」を、そうでない場合には「失敗」とその「失敗理由」を出力する。
【００４９】
本実施形態では、検査関数１１３ａはシェルスクリプトの関数であるので、ｅｘｅｃシステムコールに対応した「ファイルの実行」の検査関数であるFile_exec_check{}関数と、ｏｐｅｎシステムコールに対応した「ファイルアクセス」の検査関数であるFile_access_check{}関数が記憶されている。
【００５０】
図５に戻って、移行検査プログラム生成機能１０２ｂは、ステップＳ３０５で読み出した検査関数１１３ａに、アプリケーション名１１２ａと付随情報１１２ｃとを引数として当てはめて、移行検査プログラム１２０の断片となるコードを作成する（ステップＳ３０６）。このコードでは、検査関数の戻り値が失敗の場合、ステップＳ３０２で初期化した戻り値保存用の変数を「ｒｅｔ＝１」のように失敗を意味する数値とする。
【００５１】
移行検査プログラム生成機能１０２ｂは、ステップＳ３０３で読み込んだアプリケーション名１１２ａについての情報の中で、処理していない環境名１１２ｂが残っているか否かを判断し（ステップＳ３０７）、残っていればその環境名１１２ｂに対してステップＳ３０４〜３０６の処理を繰り返す。残っていなければステップＳ３０８の処理に進む。
【００５２】
移行検査プログラム生成機能１０２ｂは、これに引き続いて戻り値保存用の変数が０であるか１であるか、即ち対象プログラム２５が移行先アプリケーションサーバ３０で動作しうるか否かを判断してこの判断結果を出力するコードを生成する（ステップＳ３０８）。
【００５３】
引き続いて動作環境情報記憶部１１２に他の対象プログラム２５のアプリケーション名１１２ａについての情報が未処理のまま残っているか否かについて判断し（ステップＳ３０９）、残っていればステップＳ３０３に戻ってその未参照データに対してステップＳ３０３〜３０８の処理を繰り返す。残っていなければ移行検査プログラム１２０のフッタを作成して（ステップＳ３１０）処理を終了する。本実施形態で使用するシェルスクリプトではフッタは特に必要ないが、他の言語で検査プログラムを生成したい場合にはフッタが必要となる場合もありうる。
【００５４】
図８は、図５〜図６の動作を経て作成された移行検査プログラム１２０、およびこれを移行先アプリケーションサーバ３０で実行して得られる実行結果１２１の一例を示す説明図である。前述のように図４に示した動作環境情報記憶部１１２には、アプリケーション名１１２ａ「アプリケーションＡ」について、環境名１１２ｂ＝「ファイル実行」でかつ付随情報１１２ｃ＝「ファイルパスＸ」、環境名１１２ｂ＝「ファイルアクセス」でかつ付随情報１１２ｃ＝「ファイルパスＹ」および「アクセス権“読み込みのみ”」という環境情報データが記憶されている。
【００５５】
また同様に、動作環境情報記憶部１１２には、アプリケーション名１１２ａ「アプリケーションＢ」について、環境名１１２ｂ＝「ファイルアクセス」でかつ付随情報１１２ｃ＝「ファイルパスＺ」および「アクセス権“書き込み／読み込み”」というデータも記憶されている。
【００５６】
そこで、移行検査プログラム生成機能１０２ｂは、移行検査プログラム１２０として、アプリケーション名１１２ａ「アプリケーションＡ」について、「ファイルパスＸの実行ファイルが存在するか否か」および「ファイルパスＹにアクセス権“読み込みのみ”のファイルが存在するか否か」を確認する処理、およびアプリケーション名１１２ａ「アプリケーションＢ」について「ファイルパスＺにアクセス権“書き込み／読み込み”のファイルが存在するか否か」を確認する処理を記述して出力する。
【００５７】
実行結果１２１は、移行先アプリケーションサーバ３０で移行検査プログラム１２０を実行して出力される結果である。図８で示される例では、「ファイルパスＸの実行ファイルが存在するか否か」の処理についてはこれに該当する実行ファイルは存在するが、「ファイルパスＹにアクセス権“読み込みのみ”のファイルが存在するか否か」の処理についてはこれに該当するファイルのアクセス権は“読み込みのみ”になっていない。そこで、移行検査プログラム１２０は「ＮＧ」、即ち「アプリケーションＡは移行先アプリケーションサーバ３０で動作し得ない」旨を出力する。移行検査プログラム１２０は、これと同時に失敗理由、即ち「読み込みのアクセス権限がない」ことを出力する。
【００５８】
同様に、「ファイルパスＺにアクセス権“書き込み／読み込み”のファイルが存在するか否か」の処理についてはこれに該当するファイルのアクセス権は“書き込み／読み込み”に正しく設定されているので、移行検査プログラム１２０は「ＯＫ」、即ち「アプリケーションＢは移行先アプリケーションサーバ３０で動作し得る」旨を出力する。
【００５９】
以上で記載した例でわかるように、複数の対象プログラム２５の動作環境を、１本の移行検査プログラム１２０でまとめてテストすることができる。ユーザ（コンピュータシステム管理者）は、従来は対象プログラム２５を移行先アプリケーションサーバ３０で実行させて発生するエラーを１つずつ解消していくしかなかったが、本実施形態によればこの実行結果１２１を見て、対象プログラム２５の動作についてエラーとなりうる点をまとめて解消することができるので、対象プログラム２５の移行先アプリケーションサーバ３０への移行を効率的に行うことができる。
【００６０】
（第１の実施形態の全体的な動作）
次に、上記の実施形態の全体的な動作について説明する。本実施形態に係る移行検査プログラム作成方法は、移行元コンピュータ（移行元アプリケーションサーバ２０）で動作する対象プログラム２５が動作中に該移行元コンピュータのＯＳに対して発した情報をトレース情報として記録したトレースファイル２４から、対象プログラムが移行元コンピュータ以外のコンピュータ装置（移行先アプリケーションサーバ３０）で動作可能か否かを判定する移行検査プログラムを作成する移行検査プログラム作成装置１０にあって、トレースファイルの中からファイルの実行およびアクセスについてのトレース情報をトレースファイル整形機能１０２ａが抽出し（図２・ステップＳ２０２〜２０６）、抽出されたトレース情報の内容と同様のファイルの実行およびアクセスが他のコンピュータ装置においても可能であるか否かを判定するための移行検査プログラムを移行検査プログラム生成機能１０２ｂが作成する（図５・ステップＳ３０３〜３０６）。
【００６１】
ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行するコンピュータである移行検査プログラム作成装置１０に実行させるようにしてもよい。本プログラムは、非一時的な記録媒体、例えば、ＤＶＤ、ＣＤ、フラッシュメモリ等に記録されてもよい。その場合、本プログラムは、記録媒体からコンピュータによって読み出され、実行される。
この動作により、本実施形態は以下のような効果を奏する。
【００６２】
本実施形態によれば、対象プログラム２５が移行元アプリケーションサーバ２０で動作する際に使用するライブラリファイルやログファイル、ディレクトリの構成、およびアクセス権の設定などを移行先アプリケーションサーバ３０上で一括して確認することができ、その結果として移行先アプリケーションサーバ３０での動作環境の整備を簡単に行うことができる。
【００６３】
特に、移行元アプリケーションサーバ２０から移行先アプリケーションサーバ３０に移行させねばならない対象プログラム２５が多数ある場合にも、移行検査プログラム１２０を一括して実行するだけでよいので、コンピュータ装置の移行にかかる工数と時間を大幅に削減することができる。
【００６４】
（実施形態の拡張）
以上で説明した第１の実施形態は、その趣旨を改変しない範囲で様々な拡張が考えられる。たとえば、移行検査プログラム作成装置１０と移行元アプリケーションサーバ２０とを同一のコンピュータ装置としてもよいし、また移行検査プログラム作成装置１０と移行先アプリケーションサーバ３０とを同一のコンピュータ装置としてもよい。
【００６５】
特に、移行検査プログラム作成装置１０と移行元アプリケーションサーバ２０とを同一のコンピュータ装置として、各々の移行元アプリケーションサーバ２０でトレースファイル２４から移行検査プログラム１２０を作成し、移行先アプリケーションサーバ３０で複数の移行元アプリケーションサーバ２０で作成された移行検査プログラム１２０を結合して一括して実行させるように構成することも可能である。
【００６６】
トレースファイル２４は、容量が巨大になることが多い。特に複数の対象プログラム２５を持つ移行元アプリケーションサーバ２０が複数ある場合、移行先アプリケーションサーバ３０に送信せねばならないデータの容量も膨大なものとなる。そのため、各々の移行元アプリケーションサーバ２０の側で移行検査プログラム１２０を作成することによって、移行先アプリケーションサーバ３０に送信するデータの容量を少なく抑えることが可能となる。
【００６７】
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。
【００６８】
上述した各々の実施形態について、その新規な技術内容の要点をまとめると、以下のようになる。なお、上記実施形態の一部または全部は、新規な技術として以下のようにまとめられるが、本発明は必ずしもこれに限定されるものではない。
【００６９】
（付記１）  移行元コンピュータで動作している対象プログラムが動作中に該移行元コンピュータのＯＳに対して発した情報をトレース情報として記録したトレースファイルに基づいて、前記対象プログラムが前記移行元コンピュータ以外のコンピュータ装置で動作可能か否かを判定するための移行検査プログラムを作成する移行検査プログラム作成装置であって、
前記トレースファイルの中からファイルの実行およびアクセスについての前記トレース情報を抽出するトレースファイル整形機能と、
抽出された前記トレース情報の内容と同様の前記ファイルの実行およびアクセスが他のコンピュータ装置においても可能であるか否かを判定するための前記移行検査プログラムを作成する移行検査プログラム生成機能と
を有することを特徴とする移行検査プログラム作成装置。
【００７０】
（付記２）  前記トレースファイル整形機能が、前記トレース情報を実行環境に依存しない環境情報に変換して予め備えられた動作環境情報記憶部に保存することを特徴とする、付記１に記載の移行検査プログラム作成装置。
【００７１】
（付記３）  前記ファイルの実行に関するトレース情報が、当該実行ファイルのファイルパスについての情報を含み、
前記移行検査プログラム生成機能が、前記移行検査プログラムの中に前記実行ファイルのパスが正当に設定されているか否かを判定する処理を含めることを特徴とする、付記１に記載の移行検査プログラム作成装置。
【００７２】
（付記４）  前記ファイルのアクセスに関するトレース情報が、当該アクセス対象ファイルのパスおよびアクセス権についての情報を含み、
前記移行検査プログラム生成機能が、前記移行検査プログラムの中に前記アクセス対象ファイルのパスおよびアクセス権が正当に設定されているか否かを判定する処理を含めることを特徴とする、付記１に記載の移行検査プログラム作成装置。
【００７３】
（付記５）  移行元コンピュータで動作している対象プログラムが動作中に該移行元コンピュータのＯＳに対して発した情報をトレース情報として記録したトレースファイルに基づいて、前記対象プログラムが前記移行元コンピュータ以外のコンピュータ装置で動作可能か否かを判定するための移行検査プログラムを作成する移行検査プログラム作成装置にあって、
前記トレースファイルの中からファイルの実行およびアクセスについての前記トレース情報をトレースファイル整形機能が抽出し、
抽出された前記トレース情報の内容と同様の前記ファイルの実行およびアクセスが他のコンピュータ装置においても可能であるか否かを判定するための前記移行検査プログラムを移行検査プログラム生成機能が作成する
ことを特徴とする移行検査プログラム作成方法。
【００７４】
（付記６）  移行元コンピュータで動作している対象プログラムが動作中に該移行元コンピュータのＯＳに対して発した情報をトレース情報として記録したトレースファイルに基づいて、前記対象プログラムが前記移行元コンピュータ以外のコンピュータ装置で動作可能か否かを判定するための移行検査プログラムを作成する移行検査プログラム作成装置にあって、
前記移行検査プログラム作成装置が備えるコンピュータに、
前記トレースファイルの中からファイルの実行およびアクセスについての前記トレース情報を抽出する手順、
および抽出された前記トレース情報の内容と同様の前記ファイルの実行およびアクセスが他のコンピュータ装置においても可能であるか否かを判定するための前記移行検査プログラムを作成する手順、
を実行させることを特徴とする移行検査プログラム作成プログラム。
【産業上の利用可能性】
【００７５】
移行元アプリケーションサーバから移行先アプリケーションサーバへ動作プログラムを移行させる用途に適用できる。
【符号の説明】
【００７６】
１０  移行検査プログラム作成装置
１１、２１ａ  主演算制御手段
１２、２１ｂ  記憶手段
１３、２１ｃ  通信手段
１４  入出力手段
２０  移行元アプリケーションサーバ
２２  対象プログラム実行部
２３  トレース部
２４  トレースファイル
２５  対象プログラム
３０  移行先アプリケーションサーバ
４０  ネットワーク
１０１  トレースファイル収集部
１０２  移行検査プログラム生成部
１０２ａ  トレースファイル整形機能
１０２ｂ  移行検査プログラム生成機能
１１１  トレース情報記憶部
１１２  動作環境情報記憶部
１１２ａ  アプリケーション名
１１２ｂ  環境名
１１２ｃ  付随情報
１１３  検査関数情報記憶部
１１３ａ  検査関数
１２０  移行検査プログラム
１２１  実行結果
【図１】
0005589722.tif 000002
【図２】
0005589722.tif 000003
【図３】
0005589722.tif 000004
【図４】
0005589722.tif 000005
【図５】
0005589722.tif 000006
【図６】
0005589722.tif 000007
【図７】
0005589722.tif 000008
【図８】
0005589722.tif 000009