(57)【要約】【課題】ネットワークにおいて障害が発生した場合に、障害を解析するために有効なパケットデータを容易に取得する情報処理装置を提供する。【解決手段】本情報処理装置は、開発者等が作成するフィルタ設定データに定義された記憶条件の妥当性を評価し、妥当でないルールが存在すると、妥当な候補を複数表示し、サービスパーソンに選択させる。さらに、情報処理装置は、サービスパーソンの入力や、妥当なフィルタ設定データに基づき、フィルタを生成し、生成したフィルタを用いてパケットデータを取得する。【選択図】図４
2010287189.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して外部装置と接続された情報処理装置であって、
前記ネットワークを流れるパケットデータから必要なパケットデータをログデータとして記憶するための記憶条件が定義されたフィルタ設定データを受信する受信手段と、
受信された前記フィルタ設定データに定義された記憶条件が妥当であるか否かを判定する判定手段と、
前記記憶条件が妥当でないと判定されると、妥当でない前記記憶条件に関する複数の候補を含む表示画面を表示部に表示する表示制御手段と、
前記表示画面を介して操作者から入力された情報に従って前記フィルタ設定データに定義された前記記憶条件を変更する変更手段と、
前記フィルタ設定データに従ってフィルタを生成する生成手段と、
生成された前記フィルタを用いて前記パケットデータを取得する取得手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記表示制御手段は、さらに、前記複数の候補の中で妥当である可能性が高い順序を示す優先度を前記表示部に表示することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判定手段は、前記情報処理装置が保持している自装置のネットワーク設定の情報と、前記フィルタ設定データの記憶条件とを比較して、前記記憶条件がそれぞれ妥当であるか否かを判定することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記判定手段は、前記情報処理装置が前記外部装置との間で送受信しているパケットデータに関する情報と、前記フィルタ設定データの記憶条件とを比較して、前記記憶条件がそれぞれ妥当であるか否かを判定することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項５】
前記記憶条件は、前記パケットデータの送信元又は送信先を示すＩＰアドレス、前記パケットデータの送信元又は送信先を示すＭＡＣアドレス、前記パケットデータの送信元又は送信先を示すポート番号、及び、ネットワークプロトコル名のうち、少なくとも１つの情報を含むことを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記判定手段は、
前記ＩＰアドレス、前記ＭＡＣアドレス、及びポート番号の少なくとも１つの値と比較対象の値とを比較することにより、前記記憶条件がそれぞれ妥当であるか否かを判定し、
前記ネットワークプロトコル名の文字列と比較対象の文字列とを比較することにより、前記記憶条件がそれぞれ妥当であるか否かを判定することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
ネットワークを介して外部装置と接続された情報処理装置の制御方法であって、
受信手段が、前記ネットワークを流れるパケットデータから必要なパケットデータをログデータとして記憶するための記憶条件が定義されたフィルタ設定データを受信する受信ステップと、
判定手段が、受信された前記フィルタ設定データに定義された記憶条件が妥当であるか否かを判定する判定ステップと、
表示制御手段が、前記記憶条件が妥当でないと判定されると、妥当でない前記記憶条件に関する複数の候補を含む表示画面を表示部に表示する表示制御ステップと、
変更手段が、前記表示画面を介して操作者から入力された情報に従って前記フィルタ設定データに定義された前記記憶条件を変更する変更ステップと、
生成手段が、前記フィルタ設定データに従ってフィルタを生成する生成ステップと、
取得手段が、生成された前記フィルタを用いて前記パケットデータを取得する取得ステップと
を実行することを特徴とする情報処理装置の制御方法。
【請求項８】
請求項７に記載の情報処理装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部装置と通信を行う情報処理装置及びその制御方法に関するものである。
【背景技術】
【０００２】
従来から、ネットワーク通信機器で障害が発生した場合に、ネットワーク通信路を流れるパケットを取得して障害の原因を調査する手法が知られている。その一般的な方法は、パケット取得を行う専用の機器をＨＵＢなどの集線機器に接続して、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）上を流れるパケットを取得し、当該パケットのデータ内容を解析して障害を特定する。また、取得したパケットをログデータとしてメモリ等に保存し、保存されたログデータを解析することにより障害を特定してもよい。ネットワークパケット等のログデータを保存する機能において最も重要なことは、「障害が発生した前後のタイミング、又はログデータを取得したいタイミングで必要なデータを、正しく、正しい順番で、正しいサイズで保存する。」ことにある。
【０００３】
一般に市場において、機器の不具合等が発生した場合、その機器の販売元は市場のユーザからの連絡を受け、市場障害対応を行う。このとき、その機器毎に取得したネットワークパケットをユーザの了承のもと、販売元のサービスパーソンが全て販売元へ持ち帰り、開発側でその解析処理を行うことによって障害の原因究明を行う。市場から持ち帰るネットワークパケットは障害発生前から常時取得し続けている場合もあれば、サービスパーソンが現地を訪問し、ユーザから事情聴取を行い、障害を再現させ、そのときに流れているネットワークパケットを取得して持ち帰る場合もある。このような方法でパケットを取得することによって問題となるのが、障害が発生するまで長時間ネットワークパケットを取得し続けることによって、障害には直接関係のない多くのパケットも同時に取得、保存されることにある。市場毎のネットワーク環境にもよるが、調査対象となる機器を取り巻くネットワーク上には大変多くのパケットが流れている。これらのパケットを全て取得していると、数十分程度で数百〜数ギガＢｙｔｅの保存領域が必要となる。また、これら多くのパケットを取得し続けることによって、機器の限られたリソースを長時間使用し続けることになり、機器のパフォーマンスの低下にもつながる。さらに、取得したパケットの中の多くが市場障害とは無関係のものであると、サービスパーソンからデータを受け取った開発側の障害解析時間が無駄に増大することになり、迅速な市場障害対応の妨げとなる。したがって、市場のネットワーク環境で、発生する障害に対して有効なパケットを効率良く取得することが必要となる。このような課題に対して、一般的に行われている対策として、フィルタを使用してパケットを取得する方法がある。
【０００４】
パケットフィルタとは、ネットワークパケットの取得において、後のデータ解析に必要な部分のみを取得し、それ以外を全て取得非対象データとする方法である。取得対象データと非対象データの区別は、一般に特定のネットワークプロトコル名やプロトコルバージョン、データ送信元／送信先のＩＰアドレスやポート番号によって行う。調査対象機器の管理者や現地に訪問したサービスパーソンが取得対象／非対象データの設定を行うことになる。市場のネットワーク環境で発生する障害に対して有効なパケットを効率良く取得するために、どのようなフィルタ定義を設定するかは専門知識が必要となり、開発者とは無関係の機器管理者やサービスパーソンがフィルタ設定を行うことは困難である。したがって、現状は設計者側が個々の障害毎にフィルタ設定を作成し、それをファイルとしてサービスパーソンに提供する。サービスパーソンはこのファイルを現地で調査対象機器にロードし、フィルタ設定を適用させることでネットワークパケットの取得を行っている。しかし、この方法では、フィルタ設定内に間違いや矛盾が存在した場合には、本来行うべきフィルタ設定が適用されず、有効なデータが取得できないという問題がある。そこで、特許文献１では、ネットワークパケットの取得／非取得を対象としたフィルタリングではないが、ファイアウォールとしてネットワークパケットの通過を許可／非許可する方法が提案されている。この方法では、設定されているパケットフィルタの登録順にフィルタ設定をチェックし、相反するルールを検出した時点でその情報を出力し、どちらのルールを適用するかを入力させるようにしている。これにより、フィルタ設定における設定間の矛盾を検出し、本来行うべきフィルタ処理を正しく行うことができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−３３３０８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来技術では、フィルタ設定における設定間の矛盾を解消するのみであり、以下の問題がある。例えば、開発者側が作成したフィルタ設定が、有効なネットワークパケットの取得処理に有効でない場合に、サービスパーソンが調査に不必要なパケットのみを現地から持ち帰る可能性がある。この場合、機器開発者がパケットデータの検証を行った時点でパケットの再取得必要性を認識することになり、市場障害対応が遅延することになる。つまり、市場障害対応に有効な調査パケットを正確に取得できたかどうかは、実際に取得したパケットを検証しない限り、切り分けがつかないため、パケット取得作業を行ったサービスパーソン側で有効な調査パケットの取得成功／不成功は認識できない。一方、ネットワークの専門知識が少ないサービスパーソンが、市場毎の動的なネットワーク環境で発生する市場障害に対して現地でフィルタ設定を行うことは、作業に時間を要したり、フィルタ設定の間違いにもつながることから容易ではない。したがって、従来技術による障害対応では、時間とコストを浪費してしまい、顧客からの信頼を失うことになってしまう。
【０００７】
本発明は、上述の問題に鑑みて成されたものであり、ネットワークにおいて障害が発生した場合に、障害を解析するために有効なパケットデータを容易に取得する情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、例えば、ネットワークを介して外部装置と接続された情報処理装置として実現できる。情報処理装置は、ネットワークを流れるパケットデータから必要なパケットデータをログデータとして記憶するための記憶条件が定義されたフィルタ設定データを受信する受信手段と、受信されたフィルタ設定データに定義された記憶条件が妥当であるか否かを判定する判定手段と、記憶条件が妥当でないと判定されると、妥当でない記憶条件に関する複数の候補を含む表示画面を表示部に表示する表示制御手段と、表示画面を介して操作者から入力された情報に従ってフィルタ設定データに定義された記憶条件を変更する変更手段と、フィルタ設定データに従ってフィルタを生成する生成手段と、生成されたフィルタを用いてパケットデータを取得する取得手段とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明は、例えば、ネットワークにおいて障害が発生した場合に、障害を解析するために有効なパケットデータを容易に取得する情報処理装置を提供できる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態に係る情報処理システム１００の全体構成を示す図である。
【図２】第１の実施形態に係るＭＦＰ１０１の制御構成を示すブロック図である。
【図３】第１の実施形態に係るＭＦＰ１０１のソフトウェア構成を示すブロック図である。
【図４】第１の実施形態に係るパケット取得アプリケーション３０５の制御を説明するための図である。
【図５】第１の実施形態に係るフィルタ定義を生成する処理手順を示すフローチャートである。
【図６】第１の実施形態に係るＳ６０４の詳細な処理手順を示すフローチャートである。
【図７】第１の実施形態に係るＳ６０５の詳細な処理手順を示すフローチャートである。
【図８】第１の実施形態に係るＳ８１１に続く詳細な処理手順を示すフローチャートである。
【図９】第１の実施形態に係るＳ６０６の詳細な処理手順を示すフローチャートである。
【図１０】第１の実施形態に係る生成された候補を表示するユーザインタフェースの一例を示す図である。
【図１１】第２の実施形態に係るパケットデータの取得方法を説明するための図である。
【発明を実施するための形態】
【００１１】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念及び下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００１２】
＜第１の実施形態＞
まず、図１を参照して、本実施形態に係る情報処理システムについて説明する。情報処理システム１００では、Ｅｔｈｅｒｎｅｔ（登録商標）を採用するＬＡＮ１０３によりネットワークが構築されている。また、情報処理システム１００は、情報処理装置であるＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ Ｐｅｒｉｐｈｅｒａｌ）１０１、ＰＣ１０２、１０４、及びメールサーバ１０５を有する。ＭＦＰ１０１は、外部装置であるＰＣ１０２、１０４及びメールサーバ１０５とＬＡＮ１０３を介して、パケットデータを送受信する。ＭＦＰ１０１のハードウェアの詳細については、図２を用いて後述する。
【００１３】
ＰＣ１０２及びＰＣ１０４は一般的なパーソナルコンピュータである。ＰＣ１０２、１０４には、ハードウェア構成として、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＨＤＤ、ＣＤ−ＲＯＭドライブ、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）、ＵＳＢホストインタフェースを備える。また、ＰＣ１０２、１０４には、これらの装置や後述の周辺装置を制御するためのバスが備わっている。ＰＣ１０２、１０４に接続される周辺機器としては、マウス、ＣＲＴディスプレイ、キーボード等が存在する。ＰＣ１０２に導入されているソフトウェアの主な機能としては、ＯＳ、ワードプロセッサや表計算ソフトといったオフィスソフトウェアが備わっている。ＯＳにはその一機能として印刷データをプリンタやＭＦＰ１０１にネットワークを経由して送信するためのポートモニタが備わっている。また、メールサーバ１０５に電子メールを送信したり、メールサーバ１０５から電子メールを受信したりといった電子メール送受信を行なうためのメーラが導入されている。
【００１４】
メールサーバ１０５は、電子メールサーバであり、ＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）やＰＯＰ３（Ｐｏｓｔ  Ｏｆｆｉｃｅ  Ｐｒｏｔｏｃｏｌ）を用いて電子メールの送受信を司るサーバである。メールサーバ１０５には、ＭＦＰ１０１やＰＣ１０２、１０４の電子メールアカウントが設定されており、それぞれのノードがメールサーバ１０５を経由して電子メールを送信するための設定がなされているものとする。
【００１５】
次に、図２を参照して、ＭＦＰ１０１の制御構成について説明する。図２に示すように、コントローラユニット２００には、画像入力デバイスであるスキャナ２７０や画像出力デバイスであるプリンタ２９５が接続されている。コントローラユニット２００は、スキャナ２７０で読み取られた画像データをプリンタ２９５により印刷出力するコピー機能を実現するための制御を行う。また、コントローラユニット２００は、ＬＡＮ１０３に接続することによって、画像情報やデバイス情報の入出力を行うための制御を行う。
【００１６】
コントローラユニット２００は、ＣＰＵ２０１を備える。ＣＰＵ２０１は、ＲＯＭ２０３に格納されているブートプログラムによりオペレーションシステム（ＯＳ）を立ち上げ、このＯＳ上でＨＤＤ２０４に格納されているアプリケーションプログラムを実行することによって各種処理を実行する。ＣＰＵ２０１の作業領域としてはＲＡＭ２０２が用いられる。ＲＡＭ２０２は、作業領域とともに、画像データを一時的に記憶するための画像メモリ領域を提供する。ＨＤＤ２０４は、上記アプリケーションプログラムとともに、画像データを格納する。
【００１７】
ＣＰＵ２０１には、システムバス２０７を介して、操作部ＩＦ２０６、ネットワークＩＦ２１０、モデム２５０及びイメージバスＩＦ２０５が接続されている。操作部ＩＦ２０６は、タッチパネルを有する操作部２１２とのインタフェースであり、操作部２１２に表示する画像データを操作部２１２に対して出力する。また、操作部ＩＦ２０６は、操作部２１２においてユーザにより入力された情報をＣＰＵ２０１に送出する。ネットワークＩＦ２１０は、ＬＡＮ１０３に接続され、ＬＡＮ１０３を介してＬＡＮ１０３上の各装置との間で情報の入出力を行う。モデム２５０は、公衆回線（図示せず）に接続され、情報の入出力を行う。イメージバスＩＦ２０５は、システムバス２０７と画像データを高速で転送する画像バス２０８を接続し、データ構造を変換するためのバスブリッジである。画像バス２０８は、ＰＣＩバス又はＩＥＥＥ１３９４から構成される。
【００１８】
画像バス２０８上には、ラスタイメージプロセッサ（以下、ＲＩＰという）２６０、デバイスＩＦ２２０、スキャナ画像処理部２８０、プリンタ画像処理部２９０、画像回転部２３０、及び画像圧縮部２４０が備わる。ＲＩＰ２６０は、ＰＤＬコードをビットマップイメージに展開するプロセッサである。デバイスＩＦ２２０には、スキャナ２７０及びプリンタ（図示せず）が接続され、デバイスＩＦ２２０は、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部２８０は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部２９０は、プリント出力画像データに対してプリンタの補正、解像度変換などを行う。画像回転部２３０は、画像データの回転を行う。画像圧縮部２４０は、多値画像データをＪＰＥＧデータに、２値画像データをＪＢＩＧ、ＭＭＲ、ＭＨなどのデータに圧縮するとともに、その伸張処理を行う。
【００１９】
次に、図３を参照して、ＭＦＰ１０１のソフトウェア構成について説明する。ＭＦＰ１０１はＬｉｎｕｘなどの汎用ＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）で構成されている。アプリケーション３０１は、ＭＦＰ１０１上で動作するネットワークアプリケーションの集合である。ソケットＩＦ３０２は、ＯＳによって提供されるソケットＩＦプログラムである。アプリケーション３０１に含まれるネットワークアプリケーションが通信を行う場合、ソケットＩＦ３０２を呼び出すことによって、データの送信や受信といった処理が可能になる。ソケットＩＦ３０２は、ネットワークアプリケーションが通信を行う際に必ずしも必要なプログラムではないが、ＯＳの種類によらず汎用的なプログラム命令と処理フローを用いることができるため、アプリケーションの開発工数を削減することができる。そのため、ネットワークアプリケーションは、ソケットＩＦ３０２を呼び出してデータの送受信を行なうことが一般的である。
【００２０】
ネットワークスタック３０３は、プロトコルスタック群である。ネットワークデバイスドライバ３０４は、ネットワークＩＦ２１０のデバイスドライバである。パケット取得アプリケーション３０５は、ネットワークＩＦ２１０が送受信するネットワークパケットの取得やログ出力を行うアプリケーションである。ネットワークデバイスドライバ３０４からデータ取得を行うことによって、ネットワークＩＦ２１０が受信した全てのパケットと、ネットワークＩＦ２１０が送信する全てのパケットを取得する。パケット取得アプリケーション３０５の詳細な処理内容と利用するハードウェアの構成は図４を用いて後述する。アプリケーション３０１及びパケット取得アプリケーション３０５はアプリケーションスペースで動作しており、ソケットＩＦ３０２、ネットワークスタック３０３、そしてネットワークデバイスドライバ３０４はカーネルスペースで動作している。また、各アプリケーションは、ソフトウェア、ハードウェア、又は、それらの組み合わせによって実現されてもよい。
【００２１】
次に、図４を参照して、パケット取得アプリケーション３０５の制御について説明する。図４では、ＭＦＰ１０１のパケット取得アプリケーション３０５がフィルタ設定に関連するデータを取得し、ロードする流れを示している。４０１はフィルタ設定データを示す。一般に機器開発者は、市場現地調査を行っているサービスパーソン（操作者）から調査対象機器の状況を取得し、ネットワーク障害の可能性があると判断した場合、調査に関連する情報（ＩＰアドレス、ポート番号、プロトコル名等）からフィルタ設定データ４０１を作成する。
【００２２】
ＭＦＰ１０１は、接続されたＬＡＮ１０３上で動作するために自装置のネットワーク設定としてＭＡＣアドレスやＩＰアドレスを保持する。また、ＭＦＰ１０１は、セキュリティの観点から特定のＭＡＣアドレスやＩＰアドレスからのアクセスをブロックする機能を有しており、それらに関する内容も併せてネットワーク設定部４０３に保持している。さらに、ＭＦＰ１０１は、自装置が有する機能に合わせて、様々なネットワークプロトコルを保持する。ネットワークプロトコルには、個々の通信を行うために定められた特定のネットワークポート番号が存在し、ＭＦＰ１０１はこのポート番号もネットワーク設定部４０３に保持する。
【００２３】
パケット取得アプリケーション３０５は、ＬＡＮ１０３上を流れるネットワークパケットを取得し、取得したパケットをＨＤＤ等、不揮発性メモリに保存する。しかし、ＬＡＮ１０３上を流れる全てのパケットを取得し、保存すると、調査や解析に不必要なパケットも多く含まれることから、有限の保存領域を無駄に消費することにつながる。例えば、４０６はＭＦＰ１０１と同じＬＡＮ１０３に接続されているＭＦＰである。ＬＡＮ１０３上にはＰＣ１０２やＭＦＰ４０６に関連するネットワークパケットも流れており、ＭＦＰ１０１のパケット取得アプリケーション３０５は、フィルタ設定なしでパケットを取得すると、ＰＣ１０２やＭＦＰ４０６に関連し、ＭＦＰ１０１に関連しないネットワークパケットなども併せて取得、保存してしまう。これを回避するために、パケット取得アプリケーション３０５は、外部からのフィルタ関連情報に基づき、フィルタ定義を生成し、その定義に従って取得したキャプチャデータをフィルタリングし、必要なデータのみを保存する。
【００２４】
４０７の矢印は、パケット取得アプリケーション３０５へフィルタ設定データ４０１をロードするロード処理（読込処理）を示す。一般に、フィルタ設定データ４０１は、機器開発者から作成され、市場現地対応を行うサービスパーソンによってロードされる。フィルタ設定データ４０１をロードする方法は、メモリカード等の不揮発性メモリを使用して、ＭＦＰ１０１へ直接転送させる方法や、ネットワークを使用して各種ネットワークプロトコルでＭＦＰ１０１に転送する方法がある。
【００２５】
４０８の矢印は、パケット取得アプリケーション３０５がネットワーク設定部４０３に保持されている情報を取得する処理を示す。４０９の矢印は、パケット取得アプリケーション３０５が、自装置が接続しているＬＡＮ上を流れるパケットデータを取得する処理を示す。パケット取得アプリケーション３０５は、４０７乃至４０９の処理により取得した３種類のデータを使用してパケットフィルタ定義を生成する。ここで、パケットフィルタ定義とは、ロードしたフィルタ設定データ４０１が妥当であるか否かを判定した後に、必要に応じて変更したデータを示す。上記３種類のデータの使用方法については後述する。
【００２６】
次に、フィルタ設定データ４０１の詳細について説明する。フィルタ設定データ４０１には、パケット取得アプリケーション３０５がパケットをフィルタ処理するために必要となる記憶条件として、パケットデータの送信元又は送信先を示すＩＰアドレス、ＭＡＣアドレス、ポート番号や、ネットワークプロトコル名等が記述されている。また、フィルタ設定データ４０１には、これらの情報を使用してどのようにフィルタを生成するかを示すフィルタ定義式も記述されている。
【００２７】
５０２乃至５０７はフィルタルールデータ（記憶条件）を示す。フィルタルールデータ５０２は、ネットワークパケットの送信元ＩＰアドレスを示す。フィルタルールデータ５０３は、ネットワークパケットの送信先ＩＰアドレスを示す。フィルタルールデータ５０４は、ネットワークパケットの送信元ポート番号を示す。フィルタルールデータ５０５は、ネットワークパケットの送信先ポート番号を示す。フィルタルールデータ５０６は、ネットワークプロトコル名を示す。フィルタルールデータ５０７は、ネットワークパケットの全ＩＰアドレスを示す。５０８は、前記フィルタルールデータを用いて、フィルタ処理を行うためのフィルタ定義式を示す。フィルタ定義式５０８は、「送信元ＩＰアドレス：１９２．１６８．０．２の機器から送信先ＩＰアドレス：１９２．１６８．１．３の機器に対して送信元ポート番号８０００で通信しているＨＴＴＰプロトコル」のみフィルタし、保存することを示す。
【００２８】
次に、図５を参照して、パケット取得アプリケーション３０５がフィルタ定義を生成する処理手順について説明する。なお、以下で説明する処理は、パケット取得アプリケーション３０５によって統括的に制御される。また以下で示すＳに続く番号は、フローチャートにおけるステップ番号を示す。
【００２９】
Ｓ６０１において、パケット取得アプリケーション３０５は、フィルタ設定データ４０１をロードする。Ｓ６０２において、パケット取得アプリケーション３０５は、フィルタ定義式５０８をチェックし、フィルタ処理対象となっている個々のフィルタルール（記憶条件）について、その種別（プロトコル名、ＭＡＣ／ＩＰアドレス、ポート番号）を解析する。Ｓ６０３において、パケット取得アプリケーション３０５は、解析されたフィルタルール種別を判定する。フィルタルールの種別がプロトコル名の場合、パケット取得アプリケーション３０５は、Ｓ６０４に進み、プロトコル名によるフィルタ定義を生成する。また、フィルタルールの種別がＭＡＣ／ＩＰアドレスの場合、パケット取得アプリケーション３０５は、Ｓ６０５に進み、ＭＡＣ／ＩＰアドレスによるフィルタ定義を生成する。また、フィルタルールの種別がポート番号の場合、パケット取得アプリケーション３０５は、Ｓ６０６に進み、ポート番号によるフィルタ定義を生成する。フィルタ定義を生成すると、Ｓ６０７に進み、パケット取得アプリケーション３０５は、フィルタ定義式５０８を再度チェックし、フィルタ処理対象となっている次のフィルタルールが存在するか否かを判定する。存在する場合は、該当するルールに対して上記Ｓ６０２以降の処理を実行する。存在しない場合、パケット取得アプリケーション３０５は、処理を終了する。その後、パケット取得アプリケーション３０５は、生成されたフィルタ定義を用いて、ＬＡＮ１０３を流れるパケットデータを取得する。
【００３０】
次に、図６を参照して、図５に示すＳ６０４における詳細な処理手順について説明する。Ｓ７０１において、パケット取得アプリケーション３０５は、ネットワーク設定部４０３からＭＦＰ１０１上でサポートしているネットワークプロトコル名を取得する。この取得したプロトコル名が比較対象となる。Ｓ７０２において、パケット取得アプリケーション３０５は、Ｓ７０１で取得したプロトコル名がＭＦＰ１０１上で現在動作している設定かどうかを判定する。動作していない設定の場合、Ｓ７０７に進む。
【００３１】
一方、動作している設定の場合、Ｓ７０３に進み、パケット取得アプリケーション３０５は、取得したプロトコル名とフィルタルールに記述されているプロトコル名とを文字列比較する。これにより、パケット取得アプリケーション３０５は、フィルタルールの妥当性を検証する。ここで、ネットワーク設定部４０３から取得したプロトコル名はＭＦＰ１０１内で固有に定義した名前である。Ｓ７０４において、パケット取得アプリケーション３０５は、文字列比較の結果、プロトコル名が一致したか否かを判定する。一致した場合、Ｓ７１６に進む。
【００３２】
一方、プロトコル名が一致しない場合、Ｓ７０５おいて、パケット取得アプリケーション３０５は、フィルタルールに記述されているプロトコル名を含む文字列が存在するか否かを判定する。プロトコル名が含まれる文字列が存在しない場合、Ｓ７０７に進む。一方、プロトコル名が含まれる文字列が存在する場合、Ｓ７０６において、パケット取得アプリケーション３０５は、そのプロトコルをフィルタ処理対象のプロトコルの第１候補として設定する。
【００３３】
次に、Ｓ７０７において、パケット取得アプリケーション３０５は、ネットワーク設定部４０３に保持されている次のネットワークプロトコルが存在するか否かを判定する。存在すれば、Ｓ７０１に戻る。一方、存在しない場合、Ｓ７０８に進み、パケット取得アプリケーション３０５は、ＭＦＰ１０１が接続されているＬＡＮ１０３上を流れるネットワークパケットを一定時間取得する。続いて、Ｓ７０９において、パケット取得アプリケーション３０５は、取得したパケットを解析し、プロトコル種別を判別する。
【００３４】
次に、Ｓ７１０において、パケット取得アプリケーション３０５は、解析したパケットが自装置に対する通信に関連しているかどうかを判定する。この判定は、ＭＡＣアドレスやＩＰアドレスを使用して行われる。このとき自装置に関連するアドレスとして、ブロードキャストアドレスやマルチキャストアドレスへの送信パケットも含む。自装置に関連する通信でない場合は、Ｓ７１７に進む。
【００３５】
一方、自装置に関連する通信の場合、Ｓ７１１に進み、パケット取得アプリケーション３０５は、該当するプロトコルと同じプロトコルの名前をＭＦＰ１０１に設定している固有値から取得する。続いて、Ｓ７１２において、パケット取得アプリケーション３０５は、固有値から取得した比較対象となるプロトコル名とフィルタルールに記述されているプロトコル名とを文字列比較する。Ｓ７１３において、文字列比較の結果、プロトコル名が一致した場合、Ｓ７１６に進み、パケット取得アプリケーション３０５は、そのプロトコル名をフィルタ対象プロトコルとして設定し、処理を終了する。
【００３６】
一方、プロトコル名が一致しない場合、Ｓ７１８おいて、パケット取得アプリケーション３０５は、フィルタルールに記述されているプロトコル名を含む文字列が存在するか否かを判定する。プロトコル名を含む文字列が存在しない場合、Ｓ７１７に進む。一方、プロトコル名を含む文字列が存在する場合、Ｓ７１５において、パケット取得アプリケーション３０５は、そのプロトコルをフィルタ処理対象のプロトコルの第２候補として設定する。フィルタ処理対象のプロトコル候補は、ネットワーク設定部４０３から生成したプロトコル候補の方がフィルタ処理を行う可能性が高いため、優先候補とし、パケットを取得することによって生成したプロトコル候補は次優先候補とする。
【００３７】
Ｓ７１７において、パケット取得アプリケーション３０５は、次に解析すべきパケットが存在するか否かを判定する。存在する場合、Ｓ７０９の処理に戻る。一方、存在しない場合、Ｓ７１８に進み、パケット取得アプリケーション３０５は、表示制御手段として機能し、生成されたプロトコル名の候補をユーザインタフェース（表示部）上に優先度に従って表示する。同じ優先度の候補が複数存在する場合は、候補生成を行った順序で表示する。
【００３８】
次に、図７を参照して、図５のＳ６０５における詳細な処理手順について説明する。Ｓ８０１において、パケット取得アプリケーション３０５は、ネットワーク設定部４０３からＭＦＰ１０１上で設定しているネットワークアドレスを取得する。ここで、ネットワークアドレスとは、ＩＰアドレスやＭＡＣアドレスなどを示す。ＭＦＰ１０１は、自装置が接続されているＬＡＮ上で動作するために自装置のネットワークアドレスや、ホスト／ドメイン名の名前解決を行うサーバのネットワークアドレスなどを保持している。また、ＭＦＰ１０１は、セキュリティの観点から特定のネットワークアドレスからのアクセスをブロックする機能を有しており、それらに関する情報も併せてネットワーク設定部４０３に保持している。さらにこれら以外で、ＭＦＰ１０１は、自装置がサポートしている機能毎に通信先のネットワークアドレス情報を保持している。図５のＳ６０５における処理では、これら全てのネットワークアドレス情報を比較対象とする。
【００３９】
次に、Ｓ８０２において、パケット取得アプリケーション３０５は、取得したネットワークアドレスをサブネット毎に分割する。ＩＰアドレスを例にすると「Ａ．Ｂ．Ｃ．Ｄ」というアドレス体系に対して、Ａ、Ｂ、Ｃ、Ｄというようにサブネット毎で分割する。同様に、フィルタルールに記述されているＩＰアドレスもサブネット毎で分割する。フィルタルールに記述されているＩＰアドレスを例にすると「ａ．ｂ．ｃ．ｄ」というアドレス体系に対して、ａ、ｂ、ｃ、ｄというようにサブネット毎で分割する。さらにＳ８０２において、パケット取得アプリケーション３０５は、取得したネットワークアドレスとフィルタルールに記述されているネットワークアドレスとの個々のサブネットのアドレスに対してその値を比較する。具体的には、１度目の比較処理においてアドレスＡとアドレスａを比較し、２度目の比較処理においてアドレスＢとアドレスｂを比較する。これらの比較処理を全てのサブネットごとに行う。これにより、パケット取得アプリケーション３０５は、フィルタルールの妥当性を検証する。
【００４０】
次に、Ｓ８０３において、パケット取得アプリケーション３０５は、個々のアドレスが一致したか否かを判定する。個々のアドレスが一致した場合、Ｓ８０４に進み、パケット取得アプリケーション３０５は、当該ネットワークアドレスに対する優先度カウンタをインクリメントする。最終的に優先度カウンタの値が大きいネットワークアドレスが高優先アドレスとして扱われる。一方、個々のアドレスが一致しなかった場合、Ｓ８０５に進み、パケット取得アプリケーション３０５は、まずＭＦＰ１０１のサブネットマスクを参照する。さらに、パケット取得アプリケーション３０５は、個々のアドレスのサブネットとして割り当てられている部分アドレスが一致するか否かを判定する。例えば、ＭＦＰ１０１のサブネットマスクが「０ｘＦＦ．０ｘＦＦ．０ｘＦＣ．０ｘ００」（１６進数表記）である場合に、アドレスＣとアドレスｃを比較する場合を考える。この場合、アドレス部のサブネットマスクは「０ｘＦＣ」であることから、アドレスＣとアドレスが一致しない場合、パケット取得アプリケーション３０５は、それぞれのアドレスに対してサブネットマスク「０ｘＦＣ」をＡＮＤ演算する。演算の結果、パケット取得アプリケーション３０５は、得られたそれぞれの値を部分アドレスとして、これらの値を比較する。
【００４１】
Ｓ８０６において、パケット取得アプリケーション３０５は、部分アドレスが一致するか否かを判定する。部分アドレスが一致する場合、Ｓ８０７に進み、パケット取得アプリケーション３０５は、このネットワークアドレスに対する優先度カウンタをインクリメントして、Ｓ８０８に進む。一方、部分アドレスが一致しない場合は、Ｓ８０８に進む。
【００４２】
Ｓ８０８において、パケット取得アプリケーション３０５は、次のサブネットのアドレスが存在するか否かを判定する。次のサブネットのアドレスが存在する場合はＳ８０２の処理に戻る。一方、次のサブネットのアドレスが存在しない場合、フィルタルールに記述されているネットワークアドレスとＭＦＰ１０１が保持している１つのネットワークアドレスとの比較処理を終了し、Ｓ８０９に進む。
【００４３】
Ｓ８０９において、パケット取得アプリケーション３０５は、分割した個々のアドレスが全て完全一致しているか否かを判定する。完全一致している場合、Ｓ８１０に進み、パケット取得アプリケーション３０５は、フィルタルールに記述されているネットワークアドレスをフィルタ対象アドレスとして設定し、処理を終了する。一方、完全一致していない場合、Ｓ８１１に進み、パケット取得アプリケーション３０５は、ネットワーク設定部４０３からＭＦＰ１０１上で保持している次のネットワークアドレスを取得する。ここで、取得するネットワークアドレスが存在する場合、Ｓ８０１に処理を戻す。一方、存在しない場合、次処理を行う。次処理については、図８を用いて後述する。
【００４４】
続いて、図８を参照して、図７の次処理の部分における詳細な処理手順について説明する。Ｓ９０１において、パケット取得アプリケーション３０５は、ＭＦＰ１０１が接続されているＬＡＮ上を流れるネットワークパケットを一定時間取得する。Ｓ９０２において、パケット取得アプリケーション３０５は、取得したパケットを解析し、ネットワークアドレスを比較対象として取得する。Ｓ９０３において、パケット取得アプリケーション３０５は、取得したネットワークアドレスをサブネット毎に分割する。Ｓ９０４において、パケット取得アプリケーション３０５は、個々のアドレスが一致するか否かを判定する。個々のアドレスが一致した場合、Ｓ９０５に進み、パケット取得アプリケーション３０５は、このネットワークアドレスに対する優先度カウンタをインクリメントする。最終的に優先度カウンタの値が大きいネットワークアドレスが高優先アドレスとして扱われる。
【００４５】
一方、Ｓ９０４で個々のアドレスが一致しなかった場合、Ｓ９０６に進み、パケット取得アプリケーション３０５は、まずＭＦＰ１０１のサブネットマスクを参照する。続いて、Ｓ９０７において、パケット取得アプリケーション３０５は、個々のアドレスのサブネットとして割り当てられている部分アドレスが一致する否かを判定する。部分アドレスが一致する場合、Ｓ９０８に進み、パケット取得アプリケーション３０５は、このネットワークアドレスに対する優先度カウンタをインクリメントし、Ｓ９０９に進む。一方、前記部分アドレスが一致しない場合、Ｓ９０９に進む。
【００４６】
Ｓ９０９において、パケット取得アプリケーション３０５は、次のサブネットのアドレスが存在する否かを判定する。次のサブネットのアドレスが存在する場合、Ｓ９０３の処理に戻る。一方、次のサブネットのアドレスが存在しない場合、フィルタルールに記述されているネットワークアドレスとパケットから取得したネットワークアドレスとの比較処理を終了し、Ｓ９１０に進む。
【００４７】
Ｓ９１０において、パケット取得アプリケーション３０５は、分割した個々のアドレスが全て完全一致しているか否かを判定する。完全一致している場合、Ｓ９１１に進み、パケット取得アプリケーション３０５は、フィルタルールに記述されているネットワークアドレスをフィルタ対象アドレスとして設定し、処理を終了する。完全一致していない場合、Ｓ９１２に進み、パケット取得アプリケーション３０５は、解析すべきパケットが存在するかチェックする。存在する場合、Ｓ９０２に処理を戻す。
【００４８】
一方、存在しない場合、Ｓ９１３に進み、パケット取得アプリケーション３０５は、処理したネットワークアドレスをユーザインタフェース上に優先度に従って表示する。この優先度は、ネットワークアドレス毎に割り当てられる優先度カウンタの大きい順に高優先とする。同じ優先度の候補が複数存在する場合、ネットワークアドレスがＭＦＰ１０１のネットワーク設定部４０３から候補生成されたものか、一定時間取得したパケット内から候補生成されたものかを判定する。この場合、ＭＦＰ１０１のネットワーク設定部４０３から候補生成されたネットワークアドレスを高優先とし、一定時間取得したパケット内から候補生成されたネットワークアドレスを低優先として処理する。２つ候補生成条件に関して、生成条件も同じ、かつ同じ優先度で生成されたネットワークアドレスは、候補生成を行った順序で表示する。
【００４９】
次に、図９を参照して、図５のＳ６０６における詳細な処理手順について説明する。Ｓ１００１において、パケット取得アプリケーション３０５は、ネットワーク設定部４０３からＭＦＰ１０１上でサポートしているポート番号を比較対象として取得する。Ｓ１００２において、パケット取得アプリケーション３０５は、Ｓ１００１で取得したポート番号のネットワークプロトコルがＭＦＰ１０１上で現在動作している設定か否かを判定する。動作していない設定の場合、Ｓ１００７に進む。
【００５０】
一方、動作している設定の場合、Ｓ１００３に進み、取得したポート番号とフィルタルールに記述されているポート番号とを比較する。これにより、パケット取得アプリケーション３０５は、フィルタルールの妥当性を検証する。ここで、ネットワーク設定部４０３から取得したポート番号はＭＦＰ１０１内で固有に定義された番号である。Ｓ１００４において、パケット取得アプリケーション３０５は、比較の結果に従ってポート番号が一致するか否かを判定する。ポート番号が一致した場合、Ｓ１０１５に進む。
【００５１】
一方、ポート番号が一致しない場合、Ｓ１００５に進み、パケット取得アプリケーション３０５は、フィルタルールに記述されているポート番号を含む文字列が存在するか否かを判定する。ポート番号を含む文字列が存在しない場合、Ｓ１００７に進む。一方、ポート番号を含む文字列が存在する場合、Ｓ１００６に進み、パケット取得アプリケーション３０５は、そのポート番号をフィルタ処理対象ポートの第１候補として設定する。
【００５２】
次に、Ｓ１００７において、パケット取得アプリケーション３０５は、ネットワーク設定部４０３から取得するポート番号が存在するか否かを判定する。存在すれば、Ｓ１００１に戻る。一方、存在しない場合、Ｓ１００８に進み、パケット取得アプリケーション３０５は、ＭＦＰ１０１が接続されているＬＡＮ上を流れるネットワークパケットを一定時間取得する。続いて、Ｓ１００９において、取得したパケットを解析し、ポート番号を判別する。その後、Ｓ１０１０において、パケット取得アプリケーション３０５は、解析したパケットが自装置に対する通信に関連しているか否かを判定する。この判定においては、ＭＡＣアドレスやＩＰアドレスが使用される。このとき自装置に関連するアドレスとして、ブロードキャストアドレスやマルチキャストアドレスへの送信パケットも含む。自装置に関連する通信でない場合、Ｓ１０１６に進む。
【００５３】
一方、自装置に関連する通信である場合、Ｓ１０１１に進み、パケット取得アプリケーション３０５は、パケットから取得したポート番号とフィルタルールに記述されているポート番号とを比較する。続いて、Ｓ１０１２において、パケット取得アプリケーション３０５は、比較の結果、ポート番号が一致するか否かを判定する。ポート番号が一致する場合、Ｓ１０１５に進む。一方、ポート番号が一致しない場合、Ｓ１０１３に進み、パケット取得アプリケーション３０５は、フィルタルールに記述されているポート番号を含む文字列が存在するか否かを判定する。ポート番号を含む文字列が存在しない場合、Ｓ１０１６に進む。
【００５４】
一方、ポート番号を含む文字列が存在する場合、Ｓ１０１４において、パケット取得アプリケーション３０５は、そのプロトコルをフィルタ処理対象ポートの第２候補として設定する。フィルタ処理対象ポートの候補は、ネットワーク設定部４０３から生成したポート候補の方がフィルタ処理を行う可能性が高いため、優先候補とし、パケットを取得することによって生成したポートの候補は次優先候補とする。
【００５５】
Ｓ１０１５において、パケット取得アプリケーション３０５は、一致したポート番号をフィルタ対象ポートとし、処理を終了する。また、Ｓ１０１６において、パケット取得アプリケーション３０５は、解析すべきパケットが存在するか否かを判定する。存在する場合、Ｓ１００９に戻る。一方、存在しない場合、Ｓ１０１７に進み、パケット取得アプリケーション３０５は、生成されたポートの候補をユーザインタフェース上に優先度に従って表示する。同じ優先度の候補が複数存在する場合は、候補生成を行った順序で表示する。
【００５６】
次に、図１０を参照して、パケット取得アプリケーション３０５が生成した候補を優先度の高い順に表示するユーザインタフェースの一例について説明する。１１０１は、パケット取得アプリケーション３０５によって生成された候補を優先度の高い順に表示した表示画面を示す。１１０２は、パケット取得アプリケーション３０５がチェックしたフィルタルールの種別である。ここでは、チェックしたフィルタルール種別をＩＰアドレスとして、表示している。
【００５７】
１１０３は、チェックしたフィルタルール種別１１０２に対するフィルタルールの内容である。ここでは、パケット取得アプリケーション３０５によって、フィルタルールとして設定されているＩＰアドレス「１７２．０２４．１６０．２３３」が、フィルタルールとしては不適当であると判定し、サービスパーソンに確認を求めるために表示したことを示す。１１０４は、不適当と判定されたフィルタルールの修正候補を表示している。フィルタルール修正候補１１０４は、パケット取得アプリケーション３０５による候補生成処理に基づいて、優先度の高い順に表示されている。
【００５８】
１１０５は、直接編集ボタンである。直接編集ボタン１１０５は、設定するフィルタルールのＩＰアドレスがフィルタルール１１０３でもなく、そのフィルタルール修正候補１１０４にも表示されていない場合に押下される。これにより、パケット取得アプリケーション３０５は、ユーザ入力に従ってＩＰアドレスを直接編集する。１１０６は、全フィルタ実行ボタンである。本内容の詳細は第２の実施形態で後述する。１１０７は、表示画面１１０１のキャンセルボンタンである。パケット取得アプリケーション３０５のフィルタ処理を中断する場合、キャンセルボンタン１１０７が使用される。１１０８は表示画面１１０１のＯＫボタンである。フィルタルール修正候補１１０４は選択可能となっており、フィルタルール修正候補１１０４を選択されるか、直接編集ボタンに１１０５よってＩＰアドレスを直接入力されるか、無変更のままのいずれかでＯＫボタン１１０８が押下されることにより、フィルタルールが確定される。その後、パケット取得アプリケーション３０５は、確定されたフィルタルールに従ってネットワークを流れるパケットデータを取得する。具体的には、パケット取得アプリケーション３０５は、例えば、表示画面１１０１において、第１候補である「１７２．０２４．１６０．０８９」が選択されると、当該ＩＰアドレスを送信先又は送信元とするパケットデータのみを取得する。なお、これらの候補は複数選択されてもよい。
【００５９】
以上説明したように、本実施形態に係る情報処理装置であるＭＦＰ１０１は、開発者等が作成するフィルタ設定データに定義された記憶条件の妥当性を評価し、妥当でないルールが存在すると、妥当な候補を複数表示し、サービスパーソンに選択させる。さらに、ＭＦＰ１０１は、サービスパーソンの入力や、妥当なフィルタ設定データに基づき、フィルタを生成し、生成したフィルタを用いてパケットデータを取得する。これにより、本実施形態では、市場で障害が発生した場合に、障害を解析するためのログデータを効率良く取得することができる。また、本実施形態によれば、市場で動作している装置のネットワーク設定が動的に変更される環境であっても、有効なフィルタ設定を推測、選択することが可能となり、障害発生時の有効なパケットを取得することができる。よって、本実施形態では、サービスパーソンが再度現地を訪問し、フィルタ設定、ログデータ取得処理の作業をやり直すことによる時間的コストと市場障害対応の遅延を低減することができる。
【００６０】
＜第２の実施形態＞
次に、図１１を参照して、第２の実施形態について説明する。本実施形態は第１の実施形態と異なり、現地対応を行うサービスパーソンが、パケット取得を行うためのフィルタルールについて認識していない場合や、フィルタルールを作成した開発側からその詳細情報を聴取できない場合に有効である。図１１を参照して、図１０の全フィルタ実行ボタン１１０６が押下された場合における、パケット取得アプリケーション３０５のフィルタ処理の実行例について説明する。
【００６１】
１２０６は、磁気ディスクなど、ＭＦＰ１０１内で使用される不揮発性メモリである。１２０７の矢印は、ＭＦＰ１０１がＬＡＮ１０３上を流れるネットワークパケットデータを取得するときのデータの流れを示す。図１０の全フィルタ実行ボタン１１０６が押下されると、パケット取得アプリケーション３０５は、ＬＡＮ１０３上を流れるパケットデータを一定時間取得する。
【００６２】
１２０８は、パケット取得アプリケーション３０５が取得したパケットデータを示す。１２０９の各矢印は、パケット取得アプリケーション３０５が、パケットデータ１２０８をフィルタ処理したときのパケットデータの流れを示す。パケット取得アプリケーション３０５は、取得したパケットデータ１２０８を、表示画面１１０１に表示されているフィルタルール１１０３とフィルタルール修正候補１１０４に従ってそれぞれ個別にフィルタ処理する。フィルタルール１１０３とフィルタルール修正候補１１０４の例によると、パケット取得アプリケーション３０５は取得したパケットデータ１２０８を、６種類のＩＰアドレス毎にフィルタ処理する。
【００６３】
１２１０は、パケット取得アプリケーション３０５がフィルタルール毎に個別にフィルタ処理して生成したフィルタパケットデータを示す。１２１１の各矢印は、パケット取得アプリケーション３０５が生成したフィルタパケットデータ１２１０の流れを示す。パケット取得アプリケーション３０５は、フィルタルール毎に個別にフィルタ処理して生成したフィルタパケットデータ１２１０を不揮発性メモリ１２０６に格納する。１２１２は、パケット取得アプリケーション３０５が生成したフィルタパケットデータを不揮発性メモリ１２０６にファイルとして個別に格納した様子を示す。これによりサービスパーソンは、開発側が取得したいパケットの詳細情報を認識していなくても全フィルタ実行ボタン１１０６を押下することによって、表示画面１１０１に表示された候補に該当するパケットデータを全て取得する。これにより、本実施形態におけるＭＦＰ１０１によれば、サービスパーソンが必要な情報を有していなくとも、必要なパケットを取得することが可能となる。
【００６４】
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【図１】
2010287189.tif 000003
【図２】
2010287189.tif 000004
【図３】
2010287189.tif 000005
【図４】
2010287189.tif 000006
【図５】
2010287189.tif 000007
【図６】
2010287189.tif 000008
【図７】
2010287189.tif 000009
【図８】
2010287189.tif 000010
【図９】
2010287189.tif 000011
【図１０】
2010287189.tif 000012
【図１１】
2010287189.tif 000013