(57)【要約】【課題】障害パケットの解析における効率性を向上させるデータ制御装置を提供する。【解決手段】予め定められた期間においてネットワークから取得した複数のパケットデータを格納する。その複数のパケットデータをデータ処理装置を宛先としてネットワークに送信し、障害を検出したかを判定する。障害を検出したと判定された場合、予め定められた期間を更新し、更新された期間に対応する複数のパケットデータをネットワークに送信する。障害を検出しなかったと判定された場合、障害の原因となるパケットデータを含む複数のパケットデータを抽出する。【選択図】図６
2012238926.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続可能なデータ処理装置であって、
予め定められた期間において前記ネットワークから取得した複数のパケットデータを格納する格納手段と、
前記格納手段により格納された複数のパケットデータを、前記データ処理装置を宛先として前記ネットワークに送信する送信手段と、
前記送信手段により送信された複数のパケットデータを受信し、当該受信において障害を検出したか否かを判定する判定手段と、
前記判定手段により障害を検出したと判定された場合に、前記予め定められた期間を更新し、当該更新された期間に対応する複数のパケットデータを前記ネットワークに送信するように前記送信手段を制御する制御手段と、
前記判定手段により障害を検出しなかったと判定された場合に、障害の原因となるパケットデータを含む複数のパケットデータを抽出する抽出手段と
を備えることを特徴とするデータ処理装置。
【請求項２】
前記抽出手段により抽出された複数のパケットデータのうち、予め定められた条件を満たすパケットデータを抽出するパケットフィルタ手段をさらに備えることを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記予め定められた条件とは、（ａ）予め定められたＭＡＣアドレス又はＩＰアドレスが設定されたパケットデータであるか、（ｂ）予め定められたネットワークプロトコルが設定されたパケットデータであるか、（ｃ）予め定められたブロードキャストパケットデータ又はマルチキャストパケットデータであるか、のいずれかであることを特徴とする請求項２に記載のデータ処理装置。
【請求項４】
ネットワークに接続可能なデータ処理装置において実行されるデータ処理方法であって、
前記データ処理装置の格納手段が、予め定められた期間において前記ネットワークから取得した複数のパケットデータを格納する格納工程と、
前記データ処理装置の送信手段が、前記格納工程において格納された複数のパケットデータを、前記データ処理装置を宛先として前記ネットワークに送信する送信工程と、
前記データ処理装置の判定手段が、前記送信工程において送信された複数のパケットデータを受信し、当該受信において障害を検出したか否かを判定する判定工程と、
前記データ処理装置の制御手段が、前記判定工程において障害を検出したと判定された場合に、前記予め定められた期間を更新し、当該更新された期間に対応する複数のパケットデータを前記ネットワークに送信するように前記送信工程を制御する制御工程と
前記データ処理装置の抽出手段が、前記判定工程において障害を検出しなかったと判定された場合に、障害の原因となるパケットデータを含む複数のパケットデータを抽出する抽出工程と
を有することを特徴とするデータ処理方法。
【請求項５】
請求項４に記載の方法の各工程をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害解析を行うデータ制御装置、データ制御装置におけるデータ制御方法およびプログラムに関する。
【背景技術】
【０００２】
従来、ネットワーク通信機器で障害が発生した場合に、ネットワーク通信路を流れるパケットを採取して障害の原因を調査する手法が知られている。その一般的な方法として、パケット取得を行う専用の機器をＨＵＢ等の集線機器に接続し、ＬＡＮ等のネットワーク上を流れるパケットを採取する。そして、その採取したパケットから、調査対象となるネットワーク通信機器が送受信しているパケットのデータの内容を解析して、規定外のデータを受信している箇所や、受信パケットに対する応答遅延が発生している箇所を特定するというものである。その方法においては、それらの箇所が傷害の原因であるか否かを切り分けるために、同一のパケットをネットワーク機器に送信することによる障害の再現確認や、ネットワーク機器の通信を司るソースコードの解析等により原因調査が行われる。
【０００３】
近年、そのようなパケット取得機能を備えたネットワーク通信機器も普及し始めている。これによって、パケットの採取を行うための専用の機器を使用しなくても、パケットの取得が可能となっている。その結果、スイッチングＨＵＢが導入された環境において専用機器を接続してパケットの採取を正しく行うことができない場合においてもパケット採取が可能となり、パケットの情報調査を行うことが可能となってきている。
【０００４】
しかしながら、顧客に納入した機器に障害が発生した場合に、取得したパケット全てを納入元に持ち帰って障害解析を行うことは、セキュリティや情報保護の観点からして極めて難しい。その結果、発生した障害が顧客の操作ミスや設定ミスに起因するのか、機器の故障やソフトバグに起因するのかの判断が困難となっている。
【０００５】
これに対する改善策として、例えばパケット取得時に取得パケット量を最小化するという方法を用いて、より少ない情報を納入元に持ち帰って詳細解析することが考えられる（特許文献１）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−１０３０９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
パケット取得時に取得パケット量を最小化するという方法では、障害とは関係のないパケットのみを持ち帰り、解析結果が不明のまま再度パケットを取得し直さなければならない場合もある。従って、障害に関連するパケットを特定するために、障害発生時に機器が受信したパケットと同様の条件でパケットをジェネレートし、発生した障害に関連しているかを判定する作業が必要となる。
【０００８】
しかしながら、そのような作業を納入先で行うためには、一般にパケットジェネレータ機能を搭載している機器が必要となる。また、パケットジェネレータを使用した場合であっても、障害に関連するパケットを特定する作業は手作業となり障害解析の効率性を低減してしまう。
【０００９】
本発明の目的は、このような従来の問題点を解決することにある。本発明は、上記の点に鑑み、障害パケットの解析における効率性を向上させるデータ制御装置、データ制御装置におけるデータ制御方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明に係るデータ制御装置は、ネットワークに接続可能なデータ処理装置であって、
予め定められた期間において前記ネットワークから取得した複数のパケットデータを格納する格納手段と、
前記格納手段により格納された複数のパケットデータを、前記データ処理装置を宛先として前記ネットワークに送信する送信手段と、
前記送信手段により送信された複数のパケットデータを受信し、当該受信において障害を検出したか否かを判定する判定手段と、
前記判定手段により障害を検出したと判定された場合に、前記予め定められた期間を更新し、当該更新された期間に対応する複数のパケットデータを前記ネットワークに送信するように前記送信手段を制御する制御手段と、
前記判定手段により障害を検出しなかったと判定された場合に、障害の原因となるパケットデータを含む複数のパケットデータを抽出する抽出手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、障害パケットの解析における効率性を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】画像形成装置を含むシステムの全体構成を示す図である。
【図２】画像形成装置のハードウェア構成を示すブロック図である。
【図３】画像形成装置のソフトウェア構成を示すブロック図である。
【図４】パケットジェネレートアプリケーションの構成を示す図である。
【図５】フィルタ条件の一例を示す図である。
【図６】本実施例におけるパケットジェネレート処理の手順を示す図である。
【図７】Ｓ６１４の処理の詳細な手順を示す図である。
【図８】Ｓ７１７の処理の詳細な手順を示す図である。
【図９】ユーザインタフェースの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明の好適な実施例を詳しく説明する。尚、以下の実施例は特許請求の範囲に係る本発明を限定するものでなく、また本実施例で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【００１４】
［実施例１］
図１は、本発明に係る画像形成装置１０１を含むシステムの全体構成を示す図である。画像形成装置１０１とＰＣ１０２とがネットワーク１０３を介して接続可能であり、相互に通信可能となっている。画像形成装置１０１は例えばプリンタであり、本実施例においてはパケットデータ（以下、単にパケットという）をジェネレートしてネットワーク１０３に送信するデータ制御装置として機能する。
【００１５】
図２は、画像形成装置１０１のハードウェア構成を示すブロック図である。画像形成装置１０１は、情報処理部２１０及びＮＩＣ２２０を含む。情報処理部２１０は、ＮＩＣ２２０を介してネットワーク１０３に接続されている。ＣＰＵ２１１は、情報処理部２１０のソフトウェアプログラムを実行し、画像形成装置１０１全体の制御を行う。ＲＡＭ２１４は、ランダム・アクセス・メモリであり、ＣＰＵ２１１が本装置を制御する際に、一時的なデータの格納などに使用される。ＲＯＭ２１３は、リード・オンリー・メモリであり、装置のブートプログラムや固定パラメータ等を格納する。ＨＤＤ２１５は、ハードディスク・ドライブであり、様々なデータの格納に使用される。ＮＶＲＡＭ２１６は、不揮発性のメモリであり、情報処理部２１０の各種設定値を保存する。操作部Ｉ／Ｆ（インタフェース）２１７は操作部２３０を制御し、操作部２３０に備えられた液晶パネルに各種操作画面を表示させるとともに、操作画面を介して入力されたユーザからの指示をＣＰＵ２１１に伝達する。スキャナＩ／Ｆ２１８は、スキャナ２４０を制御する。スキャナ２４０は、原稿上の画像を読み取って画像データを生成する。プリンタＩ／Ｆ２１９は、プリンタ２５０を制御する。プリンタ２５０は、画像データに基づく画像を記録媒体上に印刷する。拡張Ｉ／Ｆ２１２は、ＮＩＣ２２０を介してネットワーク１０３上の外部装置（ＰＣ１０２）とにおいて行われるデータ通信を制御する。
【００１６】
図３は、画像形成装置１０１の主要部分に関する主なソフトウェア構成を示すブロック図である。画像形成装置１０１は汎用ＯＳで構成されている。ネットワークドライバ３０１は、ＮＩＣ２２０のデバイスドライバである。ネットワークスタック３０２は、プロトコルスタック群である。ＳｏｃｋｅｔＩ／Ｆ３０３は、ＯＳによって提供されるＳｏｃｋｅｔＩ／Ｆプログラムである。アプリケーション３０４は、画像形成装置１０１上で動作するネットワーク・アプリケーションの集合である。アプリケーション３０４に含まれるネットワークアプリケーションが通信を行う場合、ＳｏｃｋｅｔＩ／Ｆ３０３を呼び出すことによって、データの送受信の処理が可能となる。ＳｏｃｋｅｔＩ／Ｆ３０３はネットワークアプリケーションが通信を行う際に必ずしも必要なプログラムではない。しかしながら、ＯＳの種類によらず汎用的なプログラム命令と処理フローを用いることができるので、アプリケーションの開発工数を削減することができる。そのために、ネットワークアプリケーションがＳｏｃｋｅｔＩ／Ｆ３０３を呼び出してデータの送受信を行うことが一般的に行われている。
【００１７】
パケット取得アプリケーション３０５は、ＮＩＣ２２０が送受信するネットワークパケットを取得し、ＨＤＤ２１５に格納するアプリケーションである。パケット取得アプリケーション３０５は、ネットワークドライバ３０１からデータ取得を行うことによって、ＮＩＣ２２０が受信した全てのパケットと、ＮＩＣ２２０がネットワーク上に送信する全てのパケットを取得する。また、パケット取得アプリケーション３０５は、ネットワークパケットを取得した際、取得時のタイムスタンプと併せてネットワークパケットをＨＤＤ２１５に格納する。パケットジェネレートアプリケーション３０６は、パケット取得アプリケーション３０５が取得してＨＤＤ２１５に格納したネットワークパケットを読み出し、ＳｏｃｋｅｔＩ／Ｆ３０３を通じてネットワーク１０３に送信する機能を有する。アプリケーション３０４、パケット取得アプリケーション３０５及びパケットジェネレートアプリケーション３０６はアプリケーションスペースで動作する。また、ＳｏｃｋｅｔＩ／Ｆ３０３、ネットワークスタック３０２及びネットワークドライバ３０１は、カーネルスペースで動作する。
【００１８】
図４は、パケットジェネレートアプリケーション３０６の詳細なソフトウェア構成を示す図である。パケットジェネレート管理部４０１は、パケットジェネレート処理を行うために種々の処理を各処理部に命令し、また、画像形成装置１０１の操作部２３０上のユーザインタフェースからパケットジェネレート処理の命令と設定とを受け取り管理する。ユーザインタフェースについては、図９において後述する。さらに、パケットジェネレート管理部４０１は、障害発生時にＯＳや各アプリケーションからのコールバック関数呼出しやイベントシグナル、メッセージ通信等により通知を受けることが可能である。例えば、パケットジェネレート管理部４０１は、ＯＳや各アプリケーションからＥｘｃｅｐｔｉｏｎやＳＩＧＳＥＧＶ等により障害が発生した場合における通知を受けることができる。パケット解析／フィルタ部４０２は、パケットジェネレート管理部４０１からパケット解析／フィルタ命令を受けるとその命令に応じたパケット解析／フィルタ処理を行う。ジェネレートパケット生成部４０３は、パケットジェネレート管理部４０１からパケット生成命令を受けると、パケット解析／フィルタ部４０２でフィルタしたパケットを使用して画像形成装置１０１自身に送信するためのパケットを生成する。パケットジェネレート部４０４は、パケットジェネレート管理部４０１からパケットジェネレート命令を受けると、ジェネレートパケット生成部４０３が生成したパケットを送信する。送信するパケットは、ＰＦ＿ＰＡＣＫＥＴ用のＳｏｃｋｅｔを生成して送信することによって、ジェネレートパケット生成部４０３が生成したパケットをネットワークスタック３０２で処理させずに送信する。
【００１９】
図５は、パケット解析／フィルタ部４０２において行われるフィルタ条件の一例を示す図である。条件Ａは、パケット取得アプリケーション３０５が取得している全てのパケットのうち、特定の日時と日時との間に画像形成装置１０１が受信した全てのネットワークパケットのみを抽出し、それ以外のネットワークパケットをフィルタする。特定の日時の設定は、画像形成装置１０１のユーザインタフェース等を介して外部から指定されるとする。条件Ｂは、パケット取得アプリケーション３０５が取得している全てのパケットのうち、特定の日時から特定の時間分、画像形成装置１０１が受信した全てのネットワークパケットのみを抽出し、それ以外のネットワークパケットをフィルタする。特定の日時と特定の時間の設定は、画像形成装置１０１のユーザインタフェース等を介して外部から指定されるとする。
【００２０】
条件Ｃは、パケット取得アプリケーション３０５が取得している全てのパケットのうち、特定の送信元ＭＡＣアドレスが同一であるネットワークパケットのみを抽出し、それ以外のネットワークパケットをフィルタする。特定の送信元ＭＡＣアドレスの設定は、画像形成装置１０１のユーザインタフェース等を介して外部から指定されるとする。条件Ｄは、パケット取得アプリケーション３０５が取得している全てのパケットのうち、特定の送信元ＩＰアドレスが同一であるネットワークパケットのみを抽出し、それ以外のネットワークパケットをフィルタする。特定の送信元ＩＰアドレスの設定は、画像形成装置１０１のユーザインタフェース等を介して外部から指定されるとする。条件Ｅは、パケット取得アプリケーション３０５が取得している全てのパケットのうち、特定のネットワークプロトコルが同一であるネットワークパケットのみを抽出し、それ以外のネットワークパケットをフィルタする。実際にフィルタ処理を行う場合には、パケット内のＴＣＰポート番号、もしくはＵＤＰポート番号をチェックして行う。特定のネットワークプロトコルの設定は、画像形成装置１０１のユーザインタフェース等を介して外部から指定されるとする。
【００２１】
条件Ｆは、パケット取得アプリケーション３０５が取得している全てのパケットのうち、ブロードキャストパケットデータ（以下、単にブロードキャストパケットという）のみを抽出し、それ以外のネットワークパケットをフィルタする。実際にフィルタ処理を行う場合には、送信先ＭＡＣアドレスや送信先ＩＰアドレスがブロードキャストアドレスか否かをチェックして行う。条件Ｇは、パケット取得アプリケーション３０５が取得している全てのパケットのうち、マルチキャストパケットデータ（以下、単にマルチキャストパケットという）のみを抽出し、それ以外のネットワークパケットをフィルタする。実際にフィルタ処理を行う場合には、送信先ＭＡＣアドレスや送信先ＩＰアドレスがマルチキャストアドレスか否かをチェックして行う。パケット解析／フィルタ部４０２は、パケットジェネレート管理部４０１からの指示によって上記の各条件を組み合わせてフィルタ処理を行う。
【００２２】
図６は、本実施例におけるデータ処理（パケットジェネレート処理）の手順を示すフローチャートである。本図における各処理は、例えば、画像形成装置１０１のＣＰＵ２１１により実行される。画像形成装置１０１のユーザインタフェースを介してパケットジェネレート処理の指示を受付けると、本処理が開始される。Ｓ６０１において、パケットジェネレート管理部４０１は、設定された各種フィルタ条件や、パケットジェネレート処理に関連する各種設定が正しく行われているかをチェックする。Ｓ６０２において、各種フィルタ条件や各種設定が正常でない場合には、パケットジェネレート管理部４０１は、本処理を終了する。一方、各種フィルタ条件や各種設定が正常の場合には、Ｓ６０３において、パケットジェネレート管理部４０１は、ＨＤＤ２１５に格納されているパケットを取得する。そして、パケット解析／フィルタ部４０２に対して、パケットのフィルタ処理（条件Ａもしくは条件Ｂ）を要求する。その場合に、パケットジェネレート管理部４０１は、たとえユーザインタフェースから設定されたフィルタ条件が複数設定されていたとしても、条件Ａもしくは条件Ｂのみによるフィルタ処理を要求する。これは、パケットジェネレート管理部４０１は、多数格納しているパケットに対して日時、時間を基にしたフィルタ処理を他のフィルタ条件よりも優先して行うからである。本例においては、まず条件Ａによってフィルタ処理を行うとする。
【００２３】
本実施例においては、パケットジェネレート管理部４０１は、まず日時及び時間を基にしたフィルタ処理を行った結果として抽出されたパケットに対して、その他の詳細なフィルタ処理を要求する。パケット解析／フィルタ部４０２は、パケットジェネレート管理部４０１からの指示に合わせて、フィルタ条件Ａのみによってフィルタ処理を行う。Ｓ６０４において、パケットジェネレート管理部４０１は、パケット解析／フィルタ部４０２によるそのフィルタ処理の結果として予め定められた期間に絞り込んだパケットがあるか否かを判定する。ここで、ないと判定された場合には、パケットジェネレート管理部４０１は、Ｓ６１０の処理を行う。一方、絞り込んだパケットがあると判定された場合には、Ｓ６０５において、パケットジェネレート管理部４０１は、ジェネレートパケット生成部４０３に対して、ネットワークパケットの生成要求を行う。そして、ジェネレートパケット生成部４０３は、パケット解析／フィルタ部４０２が行ったフィルタ処理の結果として絞り込まれたパケットを使用して画像形成装置１０１自身に送信するためのネットワークパケットを生成する。Ｓ６０６において、パケットジェネレート管理部４０１は、パケットジェネレート部４０４に対してパケット送信を要求する。パケットジェネレート部４０４は、ジェネレートパケット生成部４０３が生成したネットワークパケットをネットワーク１０３に順に送信する。
【００２４】
Ｓ６０７において、パケットジェネレート管理部４０１は、パケット送信された結果として障害が発生したか否かを判定する。その障害の発生有無は、ＥｘｃｅｐｔｉｏｎやＳＩＧＳＥＧＶ等の障害発生時にその通知を受けるための仕組みを使用することによってパケットジェネレート管理部４０１により判定される。障害が発生したと判定された場合に、Ｓ６０８において、パケットジェネレート管理部４０１は、パケットジェネレート部４０４にパケット送信の停止を要求する。そして、パケットジェネレート部４０４は、自身がパケット送信を停止したパケットに対して、パケット取得アプリケーション３０５が本パケットを取得した時のタイムスタンプをパケット送信終了位置（終了日時）として設定する。また、パケットジェネレート管理部４０１は、Ｓ６０６において最初に送信したパケットに対して、パケット取得アプリケーション３０５がそのパケットを取得した時のタイムスタンプをパケット送信開始位置（開始日時）として設定する。パケットジェネレート管理部４０１は、送信終了位置と送信開始位置との差分を２で割った時間を送信開始位置に加算することによってパケット送信開始位置を更新する。本実施例においては、以上のようにして障害検出に起因するパケットを含む複数のパケットを時間的に絞り込んでいく。
【００２５】
Ｓ６０９において、パケットジェネレート管理部４０１は、その更新したパケット送信開始位置が送信終了位置を超えていないか否かを判定する。その更新したパケット送信開始位置が送信終了位置を超えていると判定された場合、パケットジェネレート管理部４０１は、送信終了位置と更新したパケット開始位置との差分を２で割った時間を送信開始位置から減算することでパケット送信開始位置を更新する。一方、更新したパケット送信開始位置が送信終了位置を超えていないと判定された場合に、パケットジェネレート管理部４０１は、更新したパケット送信開始位置をフィルタ条件Ａの新たな送信開始位置として設定し、Ｓ６０３以降の処理を行う。Ｓ６０３以降においては、新たな送信開始位置と送信終了位置との間に対応するパケットについて処理を行っていく。
【００２６】
Ｓ６０７において障害が検知されなかった場合に、Ｓ６１０において、パケットジェネレート管理部４０１は、前回のパケット送信時に障害を検出したか否かを判定する。ここで、前回のパケット送信時に障害を検出していると判定された場合には、前回送信したパケットは、今回のＳ６０３〜Ｓ６０９の処理により、日時、時間的な条件で最低減の絞り込みが行われたということである。その場合には、さらに詳細なフィルタ処理を行うために、Ｓ６１４に進む。以下、一例を説明する。例えば、Ｓ６０２において１／１〜１／３１について、Ｓ６０５、Ｓ６０６の処理を行ったとする。Ｓ６０７において、１／２０に対応するパケットが障害検出されたとする。その際に、Ｓ６０８において、期間が１／１０〜１／２０に更新されて再び、Ｓ６０３からの処理を行う。そのように繰り返していくうちに、期間が１／１９〜１／２０となったとする。ここで、障害検出されるパケットは１／２０に対応するパケットであっても、動作的には１／１８、１／１９に対応するパケットと組み合わされることにより障害が検出される場合がある。そのような場合には、１／１９〜１／２０に期間が更新されると、Ｓ６０７の判定は、「障害検出なし」となる。そのような場合に、１／１９〜１／２０のパケットのうち障害の原因であり障害検出されるべきパケット（即ち、１／１９分のパケット）と１／１８に対応するパケットとについて、他のフィルタ処理（Ｓ６１４）を使って絞り込んでいく。以上のような場合が、Ｓ６０７で検出されないと判定されてＳ６１０に進む一例である。
【００２７】
再び、Ｓ６１０を説明する。前回のパケット送信時に障害を検出していないと判定された場合には、Ｓ６１１においてパケットジェネレート管理部４０１は、まだ実行されていないフィルタ条件Ｂがユーザインタフェースにおいて設定されているか否かを判定する。フィルタ条件ＡとＢは、相互に排他的な設定であり、いずれか１つのみが有効な設定となる。ユーザインタフェースにおいてフィルタ条件Ｂが設定されていないと判定された場合には、条件Ａで指定された期間の日時では障害が検出できなかったので、パケットジェネレート管理部４０１は、本処理を終了する。また、まだ実行されていないフィルタ条件Ｂが設定されていないと判定された場合にも本処理を終了する。これは、例えば、条件ＡによりＳ６０３以降の処理を行い、Ｓ６１１からＳ６０３を介して条件Ｂを行い、再び、Ｓ６１１の処理に進んだ場合である。
【００２８】
Ｓ６１１においてまだ実行されていないフィルタ条件Ｂが設定されていると判定された場合、Ｓ６１２において、パケットジェネレート管理部４０１は、ユーザインタフェースから設定された単位時間を送信開始時間に加算してパケット送信開始位置を更新する。Ｓ６１３において、パケットジェネレート管理部４０１は、その更新した送信開始位置が、パケット取得アプリケーション３０５が取得した最後のパケットのタイムスタンプであるパケット取得終了日時を超えていないか否かを判定する。ここで、更新した送信開始位置がパケット取得終了日時を超えていると判定された場合には、フィルタ条件Ｂを使用しても障害検出ができないということである。従って、パケットジェネレート管理部４０１は、本処理を終了する。一方、更新した送信開始位置がパケット取得終了日時を超えていないと判定された場合に、パケットジェネレート管理部４０１は、更新したパケット送信開始位置をフィルタ条件Ｂにおける送信開始位置としてＳ６０３以降の処理を行う。
【００２９】
Ｓ６１４において、パケットジェネレート管理部４０１は、最後に更新される前のパケット送信開始位置からパケット送信終了位置までのパケットを取得する。そしてパケットジェネレート管理部４０１は、その取得したパケットを使用して日時及び時間以外のフィルタ条件を基にして、より詳細な絞り込み処理を行う。
【００３０】
図７（ａ）は、図６に示すＳ６１４の処理の詳細な手順を示すフローチャートである。本処理においては、フィルタ条件Ｃ、Ｄ、Ｅ、Ｆ、Ｇに関するフィルタ処理とパケット送信処理が行われる。Ｓ７０１において、パケットジェネレート管理部４０１は、ユーザインタフェースから設定されたフィルタ条件ＦもしくはＧがあるか否かを判定する。後述するが、フィルタ条件ＦとＧは排他的に設定され、いずれか１つのみが有効な設定となる。ここで、フィルタ条件ＦもＧもないと判定された場合には、Ｓ７０５に進む。一方、フィルタ条件ＦもしくはＧがあると判定された場合には、Ｓ７０２において、パケットジェネレート管理部４０１は、フィルタ条件ＦもしくはＧに基づきフィルタ設定する。ここで、前回フィルタ処理を行ったフィルタ条件ＡもしくはＢのいずれかに追加する形によりフィルタ条件ＦもしくはＧに基づきフィルタ設定する。Ｓ７０３において、パケットジェネレート管理部４０１は、その設定されたフィルタ条件を使用してパケットフィルタ及び送信処理を行う。Ｓ７０４において、パケットジェネレート管理部４０１は、パケットフィルタ及び送信処理の結果、障害が検出されたか否かを判定する。ここで、障害が検出されなかったと判定された場合には、これまでの複数回によるパケットフィルタ及び送信処理において障害が検知されたにも関わらず、今回のパケットフィルタ及び送信処理では検知されなかったことを意味する。つまり、Ｓ７０３の処理によって、障害に起因するパケットがフィルタされたということが分かる。従って、前回送信時のパケットの中に障害に起因するパケットが存在していることになるので、パケットジェネレート管理部４０１は前回送信時のパケットを最終的な絞り込みパケットとして保存し、Ｓ６１４の処理を終了する。一方、障害が検出されたと判定された場合には、Ｓ７０５に進む。
【００３１】
Ｓ７０５において、パケットジェネレート管理部４０１は、ユーザインタフェースから設定されたフィルタ条件Ｅがあるか否かを判定する。ここで、フィルタ条件Ｅがないと判定された場合には、Ｓ７０９に進む。一方、フィルタ条件Ｅがあると判定された場合には、Ｓ７０６において、パケットジェネレート管理部４０１は、フィルタ条件Ｅに基づきフィルタ設定する。ここで、前回フィルタ処理を行ったフィルタ条件に追加する形によりフィルタ条件Ｅに基づきフィルタ設定する。Ｓ７０７において、パケットジェネレート管理部４０１は、その設定されたフィルタ条件を使用してパケットフィルタ及び送信処理を行う。Ｓ７０８において、パケットジェネレート管理部４０１は、パケットフィルタ及び送信処理の結果、障害が検出されたか否かを判定する。ここで、障害が検出されなかったと判定された場合には、これまでの複数回によるパケットフィルタ及び送信処理において障害が検出されたにも関わらず、今回のパケットフィルタ及び送信処理では検出されなかったことを意味する。つまり、Ｓ７０７の処理によって、障害に起因するパケットがフィルタされたということが分かる。従って、前回送信時のパケットの中に障害に起因するパケットが存在していることになるので、パケットジェネレート管理部４０１は前回送信時のパケットを最終的な絞り込みパケットとして保存し、Ｓ６１４の処理を終了する。一方、障害が検出されたと判定された場合には、Ｓ７０９に進む。
【００３２】
Ｓ７０９において、パケットジェネレート管理部４０１は、ユーザインタフェースから設定されたフィルタ条件Ｄがあるか否かを判定する。ここで、フィルタ条件Ｄがないと判定された場合には、Ｓ７１３に進む。一方、フィルタ条件Ｄがあると判定された場合には、Ｓ７１０において、パケットジェネレート管理部４０１は、フィルタ条件Ｄに基づきフィルタ設定する。ここで、前回フィルタ処理を行ったフィルタ条件に追加する形によりフィルタ条件Ｄに基づきフィルタ設定する。Ｓ７１１において、パケットジェネレート管理部４０１は、その設定されたフィルタ条件を使用してパケットフィルタ及び送信処理を行う。Ｓ７１２において、パケットジェネレート管理部４０１は、パケットフィルタ及び送信処理の結果、障害が検出されたか否かを判定する。ここで、障害が検出されなかったと判定された場合には、これまでの複数回によるパケットフィルタ及び送信処理において障害が検出されたにも関わらず、今回のパケットフィルタ及び送信処理では検出されなかったことを意味する。つまり、Ｓ７１１の処理によって、障害に起因するパケットがフィルタされたことが分かる。従って、前回送信時のパケットの中に障害に起因するパケットが存在していることになるので、パケットジェネレート管理部４０１は前回送信時のパケットを最終的な絞り込みパケットとして保存し、Ｓ６１４の処理を終了する。一方、障害が検出されたと判定された場合には、Ｓ７１３に進む。
【００３３】
Ｓ７１３において、パケットジェネレート管理部４０１は、ユーザインタフェースから設定されたフィルタ条件Ｃがあるか否かを判定する。ここで、フィルタ条件Ｃがないと判定された場合には、Ｓ６１４の処理を終了する。一方、フィルタ条件Ｃがあると判定された場合には、Ｓ７１４において、パケットジェネレート管理部４０１は、フィルタ条件Ｃに基づきフィルタ設定する。ここで、前回フィルタ処理を行ったフィルタ条件に追加する形によりフィルタ条件Ｃに基づきフィルタ設定する。Ｓ７１５において、パケットジェネレート管理部４０１は、その設定したフィルタ条件を使用してパケットフィルタ及び送信処理を行う。ここで、障害が検出されなかった場合には、これまでの複数回によるパケットフィルタ及び送信処理において障害が検出されたにも関わらず、今回のパケットフィルタ及び送信処理では検出されなかったことを意味する。つまり、Ｓ７１５の処理によって、障害に起因するパケットがフィルタされたことが分かる。従って、前回送信時のパケットの中に障害に起因するパケットが存在していることになるので、パケットジェネレート管理部４０１は前回送信時のパケットを最終的な絞り込みパケットとして保存し、Ｓ６１４の処理を終了する。
【００３４】
図７（ｂ）は、Ｓ７０３、Ｓ７０７、Ｓ７１１の処理の手順を示すフローチャートである。Ｓ７１６において、パケットジェネレート管理部４０１は、Ｓ７０３、Ｓ７０７、Ｓ７１１それぞれで設定したフィルタ条件を使用してパケット解析／フィルタ部４０２にパケットフィルタ処理を要求する。パケット解析／フィルタ部４０２は、パケットジェネレート管理部４０１から指定されたフィルタ条件とフィルタ元パケットを使用してパケットのフィルタ処理を行う。Ｓ７１７において、パケットジェネレート管理部４０１は、パケットフィルタ処理の結果、送信するパケットがあるか否かを判定する。ここで、送信するパケットがないと判定された場合には、本処理を終了する。一方、送信するパケットがあると判定された場合には、Ｓ７１８において、パケットジェネレート管理部４０１は、フィルタ処理したパケットを使用してジェネレートパケット生成部４０３にジェネレートパケットの生成要求を行う。ジェネレートパケット生成部４０３は、パケットジェネレート管理部４０１から指定されたパケットから実際にジェネレートするためのパケットを生成する。Ｓ７１９において、パケットジェネレート管理部４０１は、ジェネレートパケット生成部４０３によって生成されたパケットを使用してパケットジェネレート部４０４にパケット送信要求を行う。パケットジェネレート部４０４は、パケットジェネレート管理部４０１から指定されたパケットを送信する。
【００３５】
図８は、パケット解析／フィルタ部４０２が行うＳ７１６の詳細な処理の手順を示すフローチャートである。Ｓ８０１において、パケット解析／フィルタ部４０２は、パケットジェネレート管理部４０１から指定されたネットワークパケットに、画像形成装置１０１から送信されたパケットが存在するかをチェックする。ここで、画像形成装置１０１から送信されたパケットが存在する場合にはそれらのパケットをフィルタしてそれら以外のパケットに絞り込む。本処理を行う理由は、例えば、画像形成装置１０１から他の送信先に送信したパケットがその送信先に届かずに返信されたＰＯＲＴ−ＵＮＲＥＡＣＨＡＢＬＥパケットを除外するためである。ＰＯＲＴ−ＵＮＲＥＡＣＨＡＢＬＥパケットは、送信先が受信ポートを開くことによりパケット受信待ちになっていない場合に、画像形成装置１０１に返信するパケットである。ＰＯＲＴ−ＵＮＲＥＡＣＨＡＢＬＥパケットは、障害再現時の対象でないパケットであるので本処理により除外する。
【００３６】
Ｓ８０２において、パケット解析／フィルタ部４０２は、パケットジェネレート管理部４０１から指定されたフィルタ条件をチェックする。ここで、フィルタ条件Ａが指定されている場合には、パケット解析／フィルタ部４０２は、ユーザインタフェースで指定された開始日時から終了日時までのパケット以外をフィルタして（除外して）パケットを絞り込む。また、フィルタ条件Ｂが指定されている場合には、パケット解析／フィルタ部４０２は、ユーザインタフェースで指定された開始日時から単位時間までのパケット以外をフィルタしてパケットを絞り込む。本実施例においては、フィルタ条件ＡとＢは、排他的に設定する。日時や時間的にフィルタする場合には、フィルタ条件ＡとＢの両方を同時設定可能にすることは意味がないからである。フィルタ条件ＡまたはＢでパケットを絞り込んだ後もしくはフィルタ条件ＡとＢのいずれも設定されていない場合には、Ｓ８０５に進む。
【００３７】
Ｓ８０５において、パケット解析／フィルタ部４０２は、パケットジェネレート管理部４０１から指定されたフィルタ条件Ｃが設定されているか否かを判定する。フィルタ条件Ｃが設定されていないと判定された場合には、Ｓ８０７に進む。一方、フィルタ条件Ｃが設定されていると判定された場合、Ｓ８０６において、パケット解析／フィルタ部４０２は、ユーザインタフェースで指定された送信元ＭＡＣアドレスと異なる送信元ＭＡＣアドレスからのパケットをフィルタしてパケットを絞り込む。
【００３８】
Ｓ８０７において、パケット解析／フィルタ部４０２は、パケットジェネレート管理部４０１から指定されたフィルタ条件Ｄが設定されているか否かを判定する。フィルタ条件Ｄが設定されていないと判定された場合には、Ｓ８０９に進む。一方、フィルタ条件Ｄが設定されていると判定された場合、Ｓ８０８において、パケット解析／フィルタ部４０２は、ユーザインタフェースにおいて指定された送信元ＩＰアドレスと異なる送信元ＩＰアドレスからのパケットをフィルタしてパケットを絞り込む。
【００３９】
Ｓ８０９において、パケット解析／フィルタ部４０２は、パケットジェネレート管理部４０１から指定されたフィルタ条件Ｅが設定されているか否かを判定する。フィルタ条件Ｅが設定されていないと判定された場合には、Ｓ８１１に進む。一方、フィルタ条件Ｅが設定されていると判定された場合には、Ｓ８１０において、パケット解析／フィルタ部４０２は、ユーザインタフェースにおいて指定されたネットワークプロトコルと異なるプロトコルに関するパケットをフィルタしてパケットを絞り込む。ここで、ネットワークプロトコルが異なっているか否かについては、パケット内の宛先ポート番号をチェックすることで判定する。
【００４０】
Ｓ８１１において、パケット解析／フィルタ部４０２は、パケットジェネレート管理部４０１から指定されたフィルタ条件Ｆもしくは条件Ｇが設定されているか否かを判定する。フィルタ条件Ｆが設定されていると判定された場合には、Ｓ８１２において、パケット解析／フィルタ部４０２は、ブロードキャスト以外のパケットをフィルタしてパケットを絞り込む。また、フィルタ条件Ｇが設定されていると判定された場合には、Ｓ８１３において、パケット解析／フィルタ部４０２は、マルチキャスト以外のパケットをフィルタしてパケットを絞り込む。また、フィルタ条件ＦとＧのいずれも設定されていないと判定された場合もしくはＳ８１２／Ｓ８１３での絞り込み処理が終了した場合には、全てのパケットフィルタ処理が完了したことになるので、本処理を終了する。
【００４１】
図９は、パケットジェネレート処理において用いられるユーザインタフェースを示す図である。表示９０１は、フィルタが行われた結果絞り込まれたパケットの出力先を入力するための画面を表示するためのボタンである。表示９０２は、その絞り込まれたパケットの出力先を表示する。ここで、本画面のユーザが表示９０１（出力先ボタン）を押下して入力したフィルタパケットの出力先が表示される。表示９０３は、パケットフィルタ開始日時を入力する画面を表示するためのボタンである。表示９０４は、パケットフィルタ開始日時を表示する。ここで、本画面のユーザが表示９０３（開始日時入力ボタン）を押下して入力したパケットフィルタ開始日時が表示される。開始日時は、必須入力項目である。表示９０５は、パケットフィルタ終了日時を入力する画面を表示するためのボタンである。表示９０６は、パケットフィルタ終了日時を表示する。ここで、本画面のユーザが表示９０５（終了日時入力ボタン）を押下して入力したパケットフィルタ終了日時が表示される。
【００４２】
表示９０７は、フィルタ開始日時からフィルタ処理を終了するまでの単位時間を入力する画面を表示するためのボタンである。表示９０８は、単位時間を表示する。ここで、本画面のユーザが表示９０７（単位時間入力ボタン）を押下して入力した単位時間が表示される。表示９０９は、送信元ＭＡＣアドレスを入力する画面を表示するためのボタンである。表示９１０は、送信元ＭＡＣアドレスを表示する。ここで、本画面のユーザが表示９０９（送信元ＭＡＣアドレス入力ボタン）を押下して入力した送信元ＭＡＣアドレスが表示される。表示９１１は、送信元ＩＰアドレスを入力する画面を表示するためのボタンである。表示９１２は、送信元ＩＰアドレスを表示する。ここで、本画面のユーザが表示９１１（送信元ＩＰアドレス入力ボタン）を押下して入力した送信元ＩＰアドレスが表示される。表示９１３は、ネットワークプロトコルを入力する画面を表示するためのボタンである。表示９１４は、ネットワークプロトコルを表示する。ここで、本画面のユーザが表示９１３（ネットワークプロトコル入力ボタン）を押下して入力したネットワークプロトコルがポート番号と合わせて表示される。
【００４３】
表示９１５は、パケットフィルタのためのフィルタ条件Ａを設定するためのボタンである。本画面のユーザが本ボタンを押下してフィルタ処理を開始すると、パケットジェネレート管理部４０１は、設定されたパケットフィルタ開始日時からパケットフィルタ終了日時までのパケット以外をフィルタしてパケットを絞り込む。表示９１６は、パケットフィルタのためのフィルタ条件Ｂを設定するためのボタンである。本画面のユーザが本ボタンを押下してフィルタ処理を開始すると、パケットジェネレート管理部４０１は、設定されたパケットフィルタ開始日時から単位時間分までのパケット以外をフィルタしてパケットを絞り込む。フィルタＡボタンとフィルタＢボタンは排他的となっており、いずれか１つのみを押下可能である。
【００４４】
表示９１７は、パケットフィルタのためのフィルタ条件Ｃを設定するためのボタンである。本画面のユーザが本ボタンを押下してフィルタ処理を開始すると、パケットジェネレート管理部４０１は、設定された送信元ＭＡＣアドレスを持つパケット以外をフィルタしてパケットを絞り込む。表示９１８は、パケットフィルタのためのフィルタ条件Ｄを設定するためのボタンである。本画面のユーザが本ボタンを押下してフィルタ処理を開始すると、パケットジェネレート管理部４０１は、設定された送信元ＩＰアドレスを持つパケット以外をフィルタしてパケットを絞り込む。表示９１９は、パケットフィルタのためのフィルタ条件Ｅを設定するためのボタンである。本画面のユーザが本ボタンを押下してフィルタ処理を開始すると、パケットジェネレート管理部４０１は、設定されたネットワークプロトコルのパケット以外をフィルタしてパケットを絞り込む。表示９２０は、パケットフィルタのためのフィルタ条件Ｆを設定するためのボタンである。本画面のユーザが本ボタンを押下してフィルタ処理を開始すると、パケットジェネレート管理部４０１は、ブロードキャストパケット以外をフィルタしてパケットを絞り込む。表示９２１は、パケットフィルタのためのフィルタ条件Ｇを設定するためのボタンである。本画面のユーザが本ボタンを押下してフィルタ処理を開始すると、パケットジェネレート管理部４０１は、マルチキャストパケット以外をフィルタしてパケットを絞り込む。フィルタＦボタンとフィルタＧボタンは排他的となっており、いずれか１つのみを押下可能である。
【００４５】
上記の各フィルタボタンは、一部の排他的に指定するボタンを除き、複数種類を押下することが可能である。本画面のユーザが複数種類のフィルタボタンを押下した場合には、パケットジェネレート管理部４０１は、各フィルタ条件をＡＮＤ条件としてパケットフィルタ処理する。ボタン９２２は、本画面のユーザによって押下された各フィルタ条件に基づきフィルタ処理とパケットジェネレート処理を開始するためのボタンである。本画面のユーザが本ボタンを押下すると、パケットジェネレート管理部４０１は、各フィルタ条件に基づいてフィルタ処理及びパケットジェネレート処理を開始する。表示９２３は、ジェネレート処理の終了後に実際にパケットジェネレートを行ったパケットを保存するためのボタンである。本画面のユーザが本ボタンを押下するとパケットジェネレート管理部４０１は、フィルタして絞り込んだパケットの出力先に対してパケットジェネレートを行ったパケットを保存する。表示９２４は、表示９２２（パケットジェネレート開始ボタン）と表示９２３（フィルタパケット保存ボタン）を押下時の処理結果やエラーのメッセージを表示する。ここで、本画面のユーザがパケットジェネレート処理やフィルタパケット保存処理を行った際の結果やエラーのメッセージが表示される。
以上説明したように、本実施例によれば、特殊な機器(例えばパケットジェネレータ)が無くてもパケットデータのパケットジェネレートが可能になる。また、自装置が送出したパケットの削除を機器内で行うため、パケット編集の時間の短縮が可能であり、また専門知識を持った技術者がいなくても再現試験の実施が可能となる。更には、障害の現象を再現させることができ、且つパケットデータを最小化することが可能となる。
【００４６】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012238926.tif 000003
【図２】
2012238926.tif 000004
【図３】
2012238926.tif 000005
【図４】
2012238926.tif 000006
【図５】
2012238926.tif 000007
【図６】
2012238926.tif 000008
【図７】
2012238926.tif 000009
【図８】
2012238926.tif 000010
【図９】
2012238926.tif 000011