(57)【特許請求の範囲】
【請求項１】
通信装置であって、
送信先アドレスを含むデータを外部装置から受信する受信手段と、
前記受信手段により受信されたデータを記憶する記憶手段と、
ユーザから、前記記憶手段に記憶されたデータの中からのデータの選択、及び当該選択されたデータに含まれている送信先アドレスをローカルループバックアドレスに変換させるための指示を受け付ける受付手段と、
前記受付手段が前記指示を受け付けた際に、前記選択されたデータに含まれている送信先アドレスがローカルループバックアドレスとは異なるアドレスであって前記通信装置を示すアドレスである場合には、当該送信先アドレスをローカルループバックアドレスに変更し、前記選択されたデータに含まれている送信先アドレスがローカルループバックアドレスとは異なるアドレスであって前記通信装置を示すアドレスでない場合には、当該送信先アドレスをローカルループバックアドレスに変更しない変更手段と、
前記変更手段により送信先アドレスがローカルループバックアドレスに変更されたデータを送信する送信手段と
を有することを特徴とする通信装置。
【請求項２】
前記受信手段により受信されたデータのうち、送信先アドレスが前記通信装置となっているデータを検索する検索手段を有し、
前記変更手段は、前記検索手段により検索されたデータに含まれている送信先アドレスをローカルループバックアドレスに変更することを特徴とする請求項１に記載の通信装置。
【請求項３】
特定のパケットデータを識別するための条件を設定する設定手段と、
前記受信手段により受信されたデータと、前記設定手段により設定された条件とを比較する比較手段と、
前記比較手段による比較の結果に従って、前記設定手段により設定された条件に合致するデータを記憶する記憶手段とを有し、
前記変更手段は、前記記憶手段に記憶されているデータに含まれている送信先アドレスをローカルループバックアドレスに変更することを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記設定手段により設定された条件は、ＩＰのヘッダに含まれている情報に関する条件、ＴＣＰのヘッダに含まれている情報に関する条件、印刷に関する条件のうちの少なくとも１つであることを特徴とする請求項３に記載の通信装置。
【請求項５】
前記変更手段は、前記受信手段により受信されたデータがＩＰｖ４のものであれば、当該データに含まれる送信先アドレスをＩＰｖ４におけるローカルループバックアドレスに変更し、前記受信手段により受信されたデータがＩＰｖ６のものであれば、当該データに含まれる送信先アドレスをＩＰｖ６におけるローカルループバックアドレスに変更することを特徴とする請求項１乃至４のいずれか１項に記載の通信装置。
【請求項６】
前記送信手段により送信されたデータを受信する第２の受信手段と、
前記第２の受信手段で受信したデータを解析するデータ解析手段と、
前記データ解析手段でデータを解析した後、当該データを破棄する破棄手段とを有することを特徴とする請求項１乃至５のいずれか１項に記載の通信装置。
【請求項７】
前記送信手段により送信されたデータを受信する第２の受信手段と、
前記第２の受信手段で受信したデータを変換するデータ変換手段と、
前記データ変換手段により変換された後のデータを破棄する破棄手段とを有することを特徴とする請求項１乃至５のいずれか１項に記載の通信装置。
【請求項８】
前記受信手段により受信されたデータを処理する際に、当該データに含まれる複数のレイヤーのうち一部のレイヤーを読み捨てて処理する処理手段を更に有することを特徴とする請求項１乃至７のいずれか１項に記載の通信装置。
【請求項９】
前記処理手段は、前記受信手段により受信されたデータに含まれている送信先アドレスがローカルループバックアドレスである場合には、当該データに含まれる複数のレイヤーのうち一部のレイヤーを読み捨てて処理し、前記受信手段により受信されたデータに含まれている送信先アドレスがローカルループバックアドレスでない場合には、当該データに含まれる複数のレイヤーのうち一部のレイヤーを読み捨てずに処理することを特徴とする請求項８に記載の通信装置。
【請求項１０】
ユーザの指示に従って、前記受信手段により受信されたデータに含まれている送信先アドレスがローカルループバックアドレスである場合に当該データに含まれる複数のレイヤーのうち一部のレイヤーを読み捨てて処理するか否か設定する設定手段を更に有することを特徴とする請求項８又は９に記載の通信装置。
【請求項１１】
ユーザの指示に従って、前記処理手段が読み捨てるレイヤーを選択する選択手段を更に有することを特徴とする請求項８乃至１０の何れか１項に記載の通信装置。
【請求項１２】
前記処理手段が読み捨てるレイヤーは、印刷アプリケーション層、画像データ変換層、画像データ投入層のうち何れか１つ以上であることを特徴とする請求項８乃至１１の何れか１項に記載の通信装置。
【請求項１３】
通信装置の制御方法であって、
送信先アドレスを含むデータを外部装置から受信する受信工程と、
前記受信工程により受信されたデータを記憶する記憶工程と、
ユーザから、前記記憶工程で記憶されたデータの中からのデータの選択、及び当該選択されたデータに含まれている送信先アドレスをローカルループバックアドレスに変換させるための指示を受け付ける受付工程と、
前記受付工程で前記指示を受け付けた際に、前記選択されたデータに含まれている送信先アドレスがローカルループバックアドレスとは異なるアドレスであって前記通信装置を示すアドレスである場合には、当該送信先アドレスをローカルループバックアドレスに変更し、前記選択されたデータに含まれている送信先アドレスがローカルループバックアドレスとは異なるアドレスであって前記通信装置を示すアドレスでない場合には、当該送信先アドレスをローカルループバックアドレスに変更しない変更工程と、
前記変更工程により送信先アドレスがローカルループバックアドレスに変更されたデータを送信する送信工程と
を有することを特徴とする制御方法。
【請求項１４】
通信装置に、
送信先アドレスを含むデータを外部装置から受信する受信工程と、
前記受信工程により受信されたデータを記憶する記憶工程と、
ユーザから、前記記憶工程で記憶されたデータの中からのデータの選択、及び当該選択されたデータに含まれている送信先アドレスをローカルループバックアドレスに変換させるための指示を受け付ける受付工程と、
前記受付工程で前記指示を受け付けた際に、前記選択されたデータに含まれている送信先アドレスがローカルループバックアドレスとは異なるアドレスであって前記通信装置を示すアドレスである場合には、当該送信先アドレスをローカルループバックアドレスに変更し、前記選択されたデータに含まれている送信先アドレスがローカルループバックアドレスとは異なるアドレスであって前記通信装置を示すアドレスでない場合には、当該送信先アドレスをローカルループバックアドレスに変更しない変更工程と、
前記変更工程により送信先アドレスがローカルループバックアドレスに変更されたデータを送信する送信工程と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
データを外部装置から受信する通信装置に関するものである。
【背景技術】
【０００２】
従来、ネットワークに流れるパケットデータを取得するソフトウェアを使用し、障害発生時のパケットデータを取得して解析することで、障害の原因究明をすることがあった。
【０００３】
また、取得したパケットデータを再びネットワークに流すことによって障害の発生を再現し、再現された障害を解析することによって障害の原因究明をすることがあった。
【０００４】
例えば、特許文献１では、ネットワーク上のパケットデータを監視し収集する装置が開示されている。特許文献１の発明では、収集したパケットデータを記憶装置に記憶し、そのパケットデータをネットワークに送信することにより障害を再現している。
【特許文献１】特開平８−１１６３３４
【発明の開示】
【発明が解決しようとする課題】
【０００５】
取得したパケットデータを再びネットワークに送信してパケットデータの送信を再現する方法では、不要なパケットデータがネットワークに流れてしまい、余計なネットワークトラフィックが引き起こされる可能性がある。また、障害の発生を再現しても影響のない時間帯を考慮しなければならないなど、パケットデータの送信を再現するのに手間がかかる。
【０００６】
一方、元のネットワーク環境でパケットデータの送信を再現するのではなく、擬似的にネットワーク環境を別途構築して、別のネットワーク環境にパケットデータを送信する方法も考えられる。この方法によれば、元のネットワーク環境では余計なネットワークトラフィックが引き起こる可能性がなくなる。しかし、擬似的なネットワーク環境では元のネットワーク環境とは異なるため、障害の発生が再現しなかったり、再現された障害の内容が異なったりする可能性がある。元のネットワーク環境に存在する装置に障害の原因がある場合には、その装置の代替品を使用した擬似的なネットワーク環境では障害の発生が再現されない可能性がある。また、このような擬似的なネットワーク環境を別途構築するのは大きな作業負荷を生むことにもなる。
【０００７】
そこで、本発明では、不要なネットワークトラフィックを抑えつつパケットデータの送信を再現できるようにする。
【課題を解決するための手段】
【０００８】
本発明に係る通信装置は、送信先アドレスを含むデータを外部装置から受信する受信手段と、前記受信手段により受信されたデータを記憶する記憶手段と、ユーザから、前記記憶手段に記憶されたデータの中からのデータの選択、及び当該選択されたデータに含まれている送信先アドレスをローカルループバックアドレスに変換させるための指示を受け付ける受付手段と、前記受付手段が前記指示を受け付けた際に、前記選択されたデータに含まれている送信先アドレスがローカルループバックアドレスとは異なるアドレスであって前記通信装置を示すアドレスである場合には、当該送信先アドレスをローカルループバックアドレスに変更し、前記選択されたデータに含まれている送信先アドレスがローカルループバックアドレスとは異なるアドレスであって前記通信装置を示すアドレスでない場合には、当該送信先アドレスをローカルループバックアドレスに変更しない変更手段と、前記変更手段により送信先アドレスがローカルループバックアドレスに変更されたデータを送信する送信手段とを有することを特徴とする。
【０００９】
また、本発明に係る制御方法では、送信先アドレスを含むデータを外部装置から受信する受信工程と、前記受信工程により受信されたデータを記憶する記憶工程と、ユーザから、前記記憶工程で記憶されたデータの中からのデータの選択、及び当該選択されたデータに含まれている送信先アドレスをローカルループバックアドレスに変換させるための指示を受け付ける受付工程と、前記受付工程で前記指示を受け付けた際に、前記選択されたデータに含まれている送信先アドレスがローカルループバックアドレスとは異なるアドレスであって前記通信装置を示すアドレスである場合には、当該送信先アドレスをローカルループバックアドレスに変更し、前記選択されたデータに含まれている送信先アドレスがローカルループバックアドレスとは異なるアドレスであって前記通信装置を示すアドレスでない場合には、当該送信先アドレスをローカルループバックアドレスに変更しない変更工程と、前記変更工程により送信先アドレスがローカルループバックアドレスに変更されたデータを送信する送信工程とを有することを特徴とする。
【００１０】
また、本発明に係るプログラムでは、送信先アドレスを含むデータを外部装置から受信する受信工程と、前記受信工程により受信されたデータを記憶する記憶工程と、ユーザから、前記記憶工程で記憶されたデータの中からのデータの選択、及び当該選択されたデータに含まれている送信先アドレスをローカルループバックアドレスに変換させるための指示を受け付ける受付工程と、前記受付工程で前記指示を受け付けた際に、前記選択されたデータに含まれている送信先アドレスがローカルループバックアドレスとは異なるアドレスであって前記通信装置を示すアドレスである場合には、当該送信先アドレスをローカルループバックアドレスに変更し、前記選択されたデータに含まれている送信先アドレスがローカルループバックアドレスとは異なるアドレスであって前記通信装置を示すアドレスでない場合には、当該送信先アドレスをローカルループバックアドレスに変更しない変更工程と、前記変更工程により送信先アドレスがローカルループバックアドレスに変更されたデータを送信する送信工程とを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、通信装置によって受信されたデータに含まれている特定の送信先アドレスを、通信装置自身を示すアドレスに変更して、変更後のデータを通信装置自身を示すアドレス宛に送信する。これにより、不要なネットワークトラフィックを抑えつつパケットデータの送信を再現できる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して本発明に係る実施の形態を説明する。
【００１３】
図１は本発明に係る通信装置１００のハードウェア構成を示す図である。通信装置の一例として印刷装置を説明する。
【００１４】
ＣＰＵ１０１は、通信装置１００を制御するソフトウェアプログラムを実行し、装置全体の制御を行う。ＲＯＭ１０２はリードオンリメモリであり、通信装置１００のブートプログラム、通信装置１００を制御する各種プログラム、固定パラメータ等を格納する。ＲＡＭ１０３はランダムアクセスメモリであり、ＣＰＵ１０１が通信装置１００を制御するに当たって必要な一時的なデータを格納する。
【００１５】
プリンタＩ／Ｆ制御部１０４は、ＣＰＵ１０１からの命令に従ってプリンタ部１１０を制御する。ＮＶＲＡＭ１０５は不揮発性メモリであり、通信装置１００の各種設定値を格納する。パネル制御部１０６は、ＣＰＵ１０１からの命令に従ってオペレーションパネル１０９を制御し、各種情報をオペレーションパネル１０９に表示させたり、使用者によって入力された指示をオペレーションパネル１０９から取得したりする。ネットワークＩ／Ｆ制御部１０７は、ＣＰＵ１０１からの命令に従ってＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１１３でのデータの送受信を制御する。
【００１６】
ＨＤＤ１０８はハードディスクドライブであり、印刷データ、その他の各種データを格納する。オペレーションパネル１０９は表示装置とボタンとを有し、各種情報を表示したり、ユーザからの指示を入力したりする。プリンタ部１１０は印刷データに基づく画像をシート上に印刷する。タイマ１１２は、タイマ処理における経過時間を計測する。
【００１７】
バス１１１には、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、プリンタＩ／Ｆ制御部１０４、ＮＶＲＡＭ１０５、パネル制御部１０６、ネットワークＩ／Ｆ制御部１０７、ＨＤＤ１０８、タイマ１１２が接続されている。バス１１１は、これらユニット間で制御信号やデータ信号を転送するシステムバスである。
【００１８】
ＬＡＮ１１３は、複数の通信装置間でデータ通信をするための通信媒体である。ＬＡＮ１１３は有線であっても無線であっても良い。
【００１９】
図２は、通信装置１００におけるソフトウェア構成を示す図である。プロトコルスタックモジュール（以下、プロトコルスタック）２０１は、パケットデータをＬＡＮ１１３を介して外部装置とやり取りする場合のネットワーク層を制御する。プロトコルスタック２０１はＴＣＰ／ＩＰトランスポートとイーサネット（登録商標）ハードウェアとの間で行われるやり取りを定義したり、上位のアプリケーション層に対してネットワーク通信に関するインタフェースを提供したりする。
【００２０】
プロトコルスタック２０１の上位層には、各種のネットワークアプリケーションが存在する。メール送受信部２０２は、プロトコルスタック２０１を介してメールの送受信を行う。メールの送受信を行うに当たって、ＰＯＰ３（Ｐｏｓｔ  Ｏｆｆｉｃｅ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ３）やＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）などのプロトコルを使う。印刷アプリケーション部２０３は、ポート番号９１００番を使用してプロトコルスタック２０１を介して印刷要求または印刷データを受信し、印刷要求または印刷データに基づく印刷を制御する。印刷アプリケーション部２０４は、ポート番号５１５番を使用してプロトコルスタック２０１を介して印刷要求または印刷データを受信し、印刷要求または印刷データに基づく印刷を制御する。上記のポート番号は一例であり、ユーザが番号を変更することも可能である。パケット解析部２０５は、本発明に係るパケットデータの解析を行う。
【００２１】
パケット解析部２０５はアプリケーション層に位置する。ただし、プロトコルスタックに対するソケットインタフェースでプロミスキャスモードを使用することにより、プロトコルスタック２０１内でパケットデータをフックして取得することができる。つまり、外部装置から印刷アプリケーション部２０３宛のパケットデータを印刷アプリケーション部２０３が取得するのと並行して、そのパケットデータをパケット解析部２０５は取得することができる。また、印刷アプリケーション部２０３から外部装置宛のパケットデータをも取得することができる。図２における点線の矢印はそれらのことを示している。
【００２２】
図３は図２のパケット解析部２０５のさらに詳細なソフトウェア構成を示す図である。パケット解析部２０５は、パケット制御部３０１、ユーザインターフェース部３０２、フィルタ判別部３０３、パケット管理部３０４を有する。図中、記憶装置３０５は、ＮＶＲＡＭ１０５及びＨＤＤ１０８のいずれかである。
【００２３】
パケット制御部３０１は、プロトコルスタック２０１との間でパケットデータのやり取りを行う。ユーザインターフェース部３０２は、パケットデータをフィルタリングする条件（以下、フィルタ条件）やパケットデータの取得機能の有効をユーザに設定させるための設定画面をオペレーションパネル１０９に表示させる。また、ユーザインターフェース部３０２はその設定画面で設定された内容を示す設定値を記憶装置３０５に記憶させたりする。
【００２４】
フィルタ判別部３０３は、ユーザによって設定されたフィルタ条件を記憶装置３０５から読み出し、パケットデータがフィルタ条件に該当するかどうかを判別する。パケット制御部３０１は、プロトコルスタック２０１からパケットデータを取得すると、そのパケットデータのＴＣＰ／ＩＰに関する情報（以下、ＴＣＰ／ＩＰ情報）をフィルタ判別部３０３に渡す。フィルタ判別部３０３は、そのＴＣＰ／ＩＰ情報に基づいて、パケットデータがフィルタ条件に該当するかどうかを判別し、その判別結果をパケット制御部３０１に伝える。パケット制御部３０１は、プロトコルスタック２０１から取得した全てのパケットデータを一旦はキャッシュに保持するが、フィルタ条件に該当しないパケットデータはキャッシュから破棄する。一方、フィルタ条件に該当するパケットデータは記憶装置３０５に記憶させる。
【００２５】
フィルタ条件としては、送信先ポート番号、送信元ポート番号、送信先ＩＰアドレス、送信元ＩＰアドレスが指定可能である。フィルタ条件の設定に関する説明は後述する。
【００２６】
パケット管理部３０４は、記憶装置３０５に記憶されているパケットデータの編集、送信、保存などを行う。パケットデータを編集する場合には、パケット管理部３０４はパケットデータを記憶装置３０５から読み出し、ユーザから指定された条件に従ってパケットデータの属性値を任意の値に編集する。パケット管理部３０４は、編集したパケットデータを再度記憶装置３０５に記憶させることができる。また、パケットデータを送信する場合には、パケット管理部３０４はパケットデータを記憶装置３０５から読み取り、パケット制御部３０１を介してパケットデータを送信する。
【００２７】
図１６及び図１７は、従来の、パケットデータの取得方法及び障害の再現方法を示す図である。クライアント装置１６０１、パケット取得用装置１６０２、クライアント装置１６０３及び印刷装置１６００は同一リンク内に存在する。クライアント装置１６０１は印刷要求を印刷装置１６００に送信する。パケット取得用装置１６０２は、ＬＡＮを流れているパケットデータを取得できるパケット取得ソフトウェアを実行することにより、リンク内を流れているパケットデータを取得することができる。
【００２８】
クライアント装置１６０３はパケット取得ソフトウェアを実行していないものの、クライアント装置１６０１と同一リンク内に存在していることから、クライアント装置１６０１からのパケットデータを一旦は受信する。ただし、パケットデータを受信した後、そのパケットデータの送信先ＩＰアドレスがクライアント装置１６０３ではないと判断するのに従って、パケットデータを破棄する。
【００２９】
例えば、クライアント装置１６０１が印刷要求を印刷装置１６００に送信したものの、ネットワーク障害が印刷装置１６００で発生した場合を想定する。この場合、パケット取得用装置１６０２は障害発生時のパケットデータを取得していて、それらのパケットデータを自身の記憶装置に記憶させている。ユーザやネットワーク管理者は、障害の原因を究明するためにクライアント装置１６０２の記憶装置に記憶されているパケットデータを解析する。
【００３０】
障害を再現する場合には、図１７のように、パケット取得用装置１６０２が、自身の記憶装置に記憶されているパケットデータを改めてパケットデータとしてＬＡＮ上に送信する。ただし、パケット取得用装置１６０２は障害発生時のパケットデータを無作為に取得していたため、障害の原因となったパケットデータの送信が再現されるとともに、その他のパケットデータの送信も再現されてしまう。また、障害に関係していると思われる印刷要求のパケットデータを印刷装置１６００が受信するだけでなく、クライアント装置１６０１やクライアント装置１６０３は不要なパケットデータを改めて受信してしまう。結果、無駄なＣＰＵ負荷が発生したり、不要なトラフィックがＬＡＮにて発生したりする可能性がある。
【００３１】
図４は、本発明に係るネットワークシステムを示す図である。クライアント装置４０１、クライアント装置４０２、クライアント装置４０３及び通信装置１００は同一リンク内に存在する。クライアント装置４０１やクライアント装置４０２は印刷要求または印刷データを通信装置１００に送信する。
【００３２】
図５は、パケット解析部２０５で行われるデータ処理を示すフローチャートである。例えば、クライアント装置４０１が印刷要求を通信装置１００に送信すると、プロトコルスタック２０１はその印刷要求に係るパケットデータをクライアント装置４０１から受信する。そして、プロトコルスタック２０１は、受信した印刷要求を印刷アプリケーション部２０３または２０４に転送する。印刷アプリケーション部２０３または２０４は、受信した印刷要求に基づいて印刷処理を実行し、クライアント装置４０１に応答を返す。一方、パケット解析部２０５はプロミスキャスモードで動作しているので、印刷要求に係るパケットデータをプロトコルスタック２０１から取得する。
【００３３】
図５にて、パケット制御部３０１は、パケットデータをプロトコルスタック２０１から取得したかどうかを判断する（ステップＳ５０１）。パケットデータを取得したと判断した場合には、パケット制御部３０１は、パケットデータの取得機能が有効（ＯＮ）になっているか否かを記憶装置３０５に記憶されている設定値に基づいて判断する（ステップＳ５０２）。ユーザは、ユーザインターフェース部３０２によってオペレーションパネル１０９に表示された設定画面において、パケットデータの取得機能の有効（ＯＮ）または無効（ＯＦＦ）を予め設定しておく。
【００３４】
パケットデータの取得機能が無効になっている場合には、パケット制御部３０１は、取得したパケットデータを破棄する（ステップＳ５０３）。
【００３５】
パケットデータの取得機能が有効になっている場合には、パケット制御部３０１はパケットデータのＴＣＰ／ＩＰ情報をフィルタ判別部３０３に渡す。フィルタ判別部３０３は、ＴＣＰ／ＩＰ情報とフィルタ条件とを比較し、パケットデータがフィルタ条件に合致するかどうかを判断する（ステップＳ５０４）。フィルタ条件の設定に関する説明は後述する。
【００３６】
フィルタ条件に合致しない場合には、パケット制御部３０１はその判別結果に従って、取得したパケットデータを破棄する（ステップＳ５０３）。
【００３７】
フィルタ条件に合致する場合には、パケット制御部３０１はその判別結果に従って、取得したパケットデータを記憶装置３０５に記憶させる（ステップＳ５０５）。
【００３８】
印刷アプリケーション部２０３や２０４等がパケットデータをプロトコルスタック２０１を介して外部装置に送信する場合も、パケット解析部２０５はパケットデータをプロトコルスタック２０１から取得して、図５に基づく処理を実行する。
【００３９】
図６は、記憶装置３０５に記憶されているパケットデータの一覧の一例を示す図である。ユーザインターフェース部３０２は記憶装置３０５に記憶されているパケットデータに基づいて、図６に示すような一覧をオペレーションパネル１０９に表示させる。パケットデータが記憶装置３０５に記憶されるときには、バイナリ形式や圧縮されたバイナリ形式で記憶される。しかし、パケットデータの内容をオペレーションパネル１０９に表示する場合には、パケットデータを人間が読める形式にして表示する。
【００４０】
図６において、「Ｎｏ」はパケットデータを識別する番号である。「Ｔｉｍｅ」はパケットデータを取得してからの経過時間である。「Ｓｏｕｒｃｅ」はパケットデータの送信元ＩＰアドレス、「Ｄｅｓｔｉｎａｔｉｏｎ」はパケットデータの送信先ＩＰアドレスである。「Ｐｒｏｔｏｃｏｌ」はパケットデータのプロトコル、「Ｉｎｆｏ」はパケットデータに付加されている付加的情報である。
【００４１】
図６において、Ｎｏ．２のパケットデータは、クライアント装置から通信装置１００へ送信されたＳＮＭＰのパケットデータであって、通信装置１００の属性の取得を求めるパケットデータである。Ｎｏ．３のパケットデータは、クライアント装置から通信装置１００へ送信された、印刷要求に係るパケットデータである。
【００４２】
ユーザは、あるパケットデータの詳細を確認したい場合には、一覧上でそのパケットデータを選択し、「編集／詳細」ボタンを押下する。すると、ユーザインターフェース部３０２は記憶装置３０５に記憶されているパケットデータに基づいて、パケットデータの詳細を示す詳細画面をオペレーションパネル１０９に表示させる。
【００４３】
ユーザが「取得開始」ボタンを押下すると、パケットデータの取得機能が有効（ＯＮ）になり、ユーザが「取得終了」ボタンを押下すると、パケットデータの取得機能が無効（ＯＦＦ）になる。
【００４４】
所望のパケットデータをネットワークに対して送信したい場合には、ユーザはパケットデータの一覧においてそのパケットデータを選択し、「送信」ボタンを押下する。所望のパケットデータを編集したい場合には、ユーザはパケットデータの一覧においてそのパケットデータを選択し、「編集／詳細」ボタンを押下する。そして、パケットデータの詳細画面の中でパケットデータの編集を行う。特定のパケットデータを記憶装置３０５から削除したい場合には、ユーザはパケットデータの一覧においてそのパケットデータを選択し、「削除」ボタンを押下する。「フィルタ条件設定」ボタンの説明は後述する。
【００４５】
図７はパケットの詳細を示す詳細画面の一例を示す図である。図７はＮｏ．３のパケットデータの一部を抜粋してその情報を示している。図７は、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ヘッダに関する情報、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）ヘッダに関する情報が表示されている。
【００４６】
図８は、パケット解析部２０５で行われるデータ処理を示すフローチャートである。図８に基づく処理では、記憶装置３０５に記憶されているパケットデータにおいて、通信装置１００宛の送信先ＩＰアドレスをローカルループバックアドレスに変換する。
【００４７】
ユーザは、図６が示すような画面において、所望のパケットデータを選択し、「ローカルループバックアドレス変換」ボタンを押下すると、図８に基づく処理が実行される。ユーザが選択するパケットデータは単一でも複数でも構わない。
【００４８】
例えば、図６が示す画面におけるＮｏ．２のパケットデータを通信装置１００が受信したら障害が発生したと仮定する。この場合、Ｎｏ．２のパケットデータを再び送信することで障害の再現が可能であるので、ユーザはＮｏ．２のパケットデータを選択して、Ｎｏ．２のパケットデータの送信先ＩＰアドレスをローカルループバックアドレスに変換する。Ｎｏ．１〜Ｎｏ．５のパケットデータを通信装置１００が受信している間に障害が発生した場合には、ユーザはＮｏ．１〜Ｎｏ．５のパケットデータを選択する。
【００４９】
図８において、パケット管理部３０４は、ユーザによって選択された１または複数のパケットデータのうちの１つを記憶装置３０５から読み出す（ステップＳ８０１）。次に、パケット管理部３０４は、読み出したパケットデータの送信先ＩＰアドレスが通信装置１００のＩＰアドレスに合致するかどうかを判断する（ステップＳ８０２）。このようにして、送信先ＩＰアドレスが通信装置１００のＩＰアドレスになっているパケットデータを検索する。通信装置１００のＩＰアドレスはＮＶＲＡＭ１０５に格納されているため、パケット管理部３０４はそこから通信装置１００のＩＰアドレスを取得する。パケットデータの送信先ＩＰアドレスは図７における「Ｄｅｓｔｉｎａｔｉｏｎ」に該当する。
【００５０】
送信先ＩＰアドレスが通信装置１００のＩＰアドレスに合致しない場合には、後述のステップＳ８０５に進む。
【００５１】
送信先ＩＰアドレスが通信装置１００のＩＰアドレスに合致する場合には、パケット管理部３０４は、通信装置１００におけるローカルループバックアドレスをＮＶＲＡＭ１０５から取得する（ステップＳ８０３）。ローカルループバックアドレスは自分自身を定義する特殊なアドレスである。ＩＰｖ４では、「１２７．０．０．１〜１２７．２５５．２５５．２５４」で定義され、ＩＰｖ６では、「：：１」で定義される。
【００５２】
パケット管理部３０４はローカルループバックアドレスを取得すると、読み出したパケットデータの送信先ＩＰアドレスを、取得したローカルループバックアドレスに変換する（ステップＳ８０４）。その上で、パケット管理部３０４は、変換後のパケットデータを記憶装置３０５に記憶させる。
【００５３】
その後、パケット管理部３０４は、ユーザによって選択された１または複数のパケットを全て記憶装置３０５から読み出したかを判断する（ステップＳ８０５）。全てのパケットデータを記憶装置３０５から読み出した場合には、図８に基づく処理を終了する。一方、全てのパケットデータを記憶装置３０５から読み出していない場合には、ステップＳ８０１に戻って、パケット管理部３０４は他のパケットデータを記憶装置３０５から読み出す。
【００５４】
通信装置１００のＩＰアドレスが「１９２．１６８．０．６」と仮定し、通信装置１００のローカルループバックアドレスが「１２７．０．０．１」及び「：：１」と仮定する。さらに、Ｎｏ．３のパケットデータがユーザによって選択されたものと仮定する。パケット管理部３０４がＮｏ．３のパケットデータの「Ｖｅｒｓｉｏｎ」を確認すると、「Ｖｅｒｓｉｏｎ」が４になっているので、パケットデータはＩＰｖ４のパケットデータであると判断する。そこで、パケット管理部３０４は、Ｎｏ．３のパケットデータの送信先ＩＰアドレス「１９２．１６８．０．６」を「１２７．０．０．１」に変更する。図９は、変更後のＮｏ．３のパケットデータの一部を示す図である。ＩＰヘッダ内の送信先ＩＰアドレス（「Ｄｅｓｔｉｎａｔｉｏｎ」）がローカルループバックアドレスに変更されているだけで、他の部分は変更されていない。
【００５５】
パケット管理部３０４がパケットデータの「Ｖｅｒｓｉｏｎ」を確認したところ「Ｖｅｒｓｉｏｎ」が６になっていれば、パケットデータがＩＰｖ６のパケットデータであると判断する。そこで、パケット管理部３０４は、パケットデータの送信先ＩＰアドレスを「：：１」に変更する。
【００５６】
フィルタ条件の設定を説明する。フィルタ条件を設定したい場合には、ユーザは図６に示す画面において「フィルタ条件設定」ボタンを押下する。すると、ユーザインターフェース部３０２は図１０に示すような設定画面をオペレーションパネル１０９に表示させる。図１０は、フィルタ条件を設定するための設定画面の一例を示す図である。
【００５７】
フィルタ条件を構成するフィルタ属性の一例として、「送信先ポート番号」、「送信元ポート番号」、「送信先ＩＰアドレス」、「送信元ＩＰアドレス」、「印刷データ形式」、「印刷部数」が挙げられる。それぞれのフィルタ属性で、「ＡＮＹ」と任意の値とを設定できるようになっている。「ＡＮＹ」は全ボート番号や全ＩＰアドレスなどを意味するワイルドカードである。
【００５８】
任意の値を設定したい場合には、ユーザは、例えば送信先ポート番号に「９１００」を設定し、送信先ＩＰアドレスに「１９２．１６８．０．６」を設定することができる。図１０の例では、送信元ポート番号と送信元ＩＰアドレスとのフィルタ属性では「ＡＮＹ」が設定され、それ以外のフィルタ属性では特定の値が設定されている。
【００５９】
図１０の例では、送信先ポート番号や送信先ＩＰアドレスのフィルタ属性において、単一の値しか設定されていないが、複数のＩＰアドレスやポート番号が指定可能であっても良く、また、範囲指定が可能であっても良い。
【００６０】
「印刷データ形式」と「印刷部数」とは、印刷プロトコルのパケットデータに対して意味のあるフィルタ属性である。「印刷データ形式」では、フィルタリングされるべきパケットデータに係る印刷データの形式を指定する。図１０の例では、ＰＳ形式の印刷データまたはＰＤＦ形式の印刷データに係るパケットデータがパケット制御部３０１によって記憶装置３０５に記憶される。一方、ＴＩＦＦ形式の印刷データに係るパケットデータが通信装置１００に受信されても、フィルタ条件に合致しないために、記憶装置３０５に記憶されない。ユーザが独自の拡張子を指定することにより、その他の印刷データ形式を指定できても良い。「印刷部数」では、フィルタリングされるべきパケットデータに係る印刷データの印刷部数を指定する。ユーザが「Ｄｏｎ’ｔ  ｃａｒｅ」を指定した場合には、印刷部数は無視される。図１０のように「５０部以上」が指定されている場合には、１０部印刷が指定された印刷要求または印刷データに係るパケットデータはフィルタ条件に合致しない。１００部印刷が指定された印刷要求または印刷データに係るパケットデータはフィルタ条件に合致する。
【００６１】
フィルタ属性は図１０に挙げられているもの以外でも良く、通信装置１００独自のフィルタ属性が用意されていても良い。例えば、「ページ数」、「用紙銘柄」、「給紙方法」、「カラー」、「白黒」、「印刷を実行したアプリケーション」等が他に挙げられる。
【００６２】
図１１は、図８の処理で編集されたパケットデータを送信して障害を再現する場合の様子を示した図である。図８の処理で編集されたパケットデータは、その送信先ＩＰアドレスがローカルループバックアドレスになっている。そのため、プロトコルスタック２０１はパケット解析部２０５からそのパケットデータを受信した後、ローカルループバックアドレス宛（通信装置１００自身宛）に送信する。つまり、そのパケットデータをＬＡＮ上には送信することなく、その一方で、そのパケットデータをドライバインターフェースを介して受信して、ＬＡＮから受信したかのように処理する。このとき、同一リンク内に存在するクライアント装置４０１、クライアント装置４０２及びクライアント装置４０３は不要なネットワークトラフィックの影響を受けることがない。よって、ネットワークトラフィックやユーザの作業負荷を抑えつつ障害の再現を実現することができる。
【００６３】
例えば、図６におけるＮｏ．３のパケットデータを図８の処理に従って編集した後に送信すると、印刷要求に係るパケットデータの送信が再現される。ただし、印刷要求に基づく印刷処理までも再現されてしまう。ユーザによっては、不要な印刷が行われるのを回避するために、パケットデータの送信だけを再現し、印刷要求に基づく印刷処理までは再現したくない場合がある。その場合には、以下に説明する読み捨てモードが有効である。
【００６４】
図１２は、読み捨てモードを設定するための設定画面の一例を示す図である。ユーザインターフェース部３０２が図１２に示すような設定画面をオペレーションパネル１０９に表示させる。読み捨てモードが有効（ＯＮ）になっていると、通信装置１００は印刷データに係るパケットデータを受信しても、ある段階で印刷データまたはその印刷データに基づく画像データを読み捨てるので、印刷データに基づく印刷は行われない。
【００６５】
図１２の設定画面では、読み捨てモードの詳細設定を行うことができる。特に印刷データまたは画像データを読み捨てるレイヤーを指定可能にすることにより、エラーの発生原因を特定しやすくなっている。例えば、印刷アプリケーション部２０３等のアプリケーション層とするか、印刷データをプリンタ部１１０で印刷可能な画像データに変換するレイヤーとするか、画像データをプリンタ部１１０に投入するレイヤーとするかを指定できる。これにより、ユーザはより効率的に障害の再現・評価を行うことができる。図１２の設定画面で設定された設定値はＮＶＲＡＭ１０５に記憶される。
【００６６】
図１３は、印刷アプリケーション部２０３または印刷アプリケーション部２０４で行われるデータ処理を示すフローチャートである。以下、印刷アプリケーション部２０３を例に説明する。プロトコルスタック２０１は、パケットデータの送信先ポート番号が印刷アプリケーション部２０３に対応するポート番号である場合には、受信データを印刷アプリケーション部２０３に渡す。このとき、パケットデータの送信先ＩＰアドレスがローカルループバックアドレスである場合には、その旨を印刷アプリケーション部２０３に通知する。
【００６７】
印刷アプリケーション部２０３は、受信データをプロトコルスタック２０１から受け取ると、その受信データの送信先ＩＰアドレスがローカルループバックアドレスであるかどうかを判断する（ステップＳ１３０１）。この判断は、プロトコルスタック２０１からの通知に基づいて行う。
【００６８】
送信先ＩＰアドレスがローカルループバックアドレスでない場合には、印刷アプリケーション部２０３は通常どおりに印刷処理を行う（ステップＳ１３０２）。通常どおりの印刷処理では、印刷アプリケーション部２０３は、受信データの解析を行い、受信データを画像データ変換部に渡す。画像データ変換部では、受信データをプリンタ部１１０で印刷可能な形式の画像データに変換し、画像データを画像データ投入部に転送する。画像データ投入部は画像データをプリンタ部１１０に投入する。プリンタ部１１０は、画像データが示す画像をシート上に印刷する。
【００６９】
送信先ＩＰアドレスがローカルループバックアドレスである場合には、印刷アプリケーション部２０３は、読み捨てモードが有効（ＯＮ）になっているか無効（ＯＦＦ）になっているかを判断する（ステップＳ１３０３）。この判断は、ＮＶＲＡＭ１０５に記憶されている設定値を読み出して、その設定値に基づいて行う。
【００７０】
読み捨てモードが無効（ＯＦＦ）になっている場合には、印刷アプリケーション部２０３は通常どおりに印刷処理を行う（ステップＳ１３０２）。一方、読み捨てモードが有効（ＯＮ）になっている場合には、印刷アプリケーション部２０３は、読み捨てるレイヤーが何になっているかを判断する（ステップＳ１３０４）。この判断は、ＮＶＲＡＭ１０５に記憶されている設定値を読み出して、その設定値に基づいて行う。
【００７１】
読み捨てるレイヤーが印刷アプリケーション層になっている場合には、印刷アプリケーション部２０３は、読み捨ての設定を自身に対して行う（ステップＳ１３０５）。その上で、印刷アプリケーション部２０３は、受信データの解析を行い、受信データを画像データ変換部に渡す前に、受信データを破棄する（ステップＳ１３０６）。例えばＳ１３０６において印刷エラーが発生すれば、受信データを解析する部分にエラー原因があると推測される。
【００７２】
読み捨てるレイヤーが画像データを変換するレイヤーになっている場合には、印刷アプリケーション部２０３は、読み捨ての指令を画像データ変換部に伝え、読み捨ての設定を画像データ変換部に対して行う（ステップＳ１３０７）。その上で、印刷アプリケーション部２０３は、受信データの解析を行い、受信データを画像データ変換部に渡す（ステップＳ１３０８）。画像データ変換部では、受信データをプリンタ部１１０で印刷可能な形式の画像データに変換する。ただし、画像データ変換部は画像データを画像データ投入部に転送する前に、画像データを破棄する。例えばＳ１３０８において印刷エラーが発生すれば、受信データを解析する部分または画像データ変換部にエラー原因があると推測される。
【００７３】
読み捨てるレイヤーが画像データをプリンタ部１１０に投入するレイヤーになっている場合には、印刷アプリケーション部２０３は、読み捨ての指令を画像データ投入部に伝え、読み捨ての設定を画像データ投入部に対して行う（ステップＳ１３０９）。その上で、印刷アプリケーション部２０３は、受信データの解析を行い、受信データを画像データ変換部に渡す（ステップＳ１３１０）。画像データ変換部では、受信データをプリンタ部１１０で印刷可能な形式の画像データに変換し、画像データを画像データ投入部に転送する。画像データ投入部は画像データをプリンタ部１１０に投入する前に画像データを破棄する。例えばＳ１３１０において印刷エラーが発生すれば、受信データを解析する部分、画像データ変換部、または画像データ投入部にエラー原因があると推測される。
【００７４】
また、Ｓ１３０２でのみ印刷エラーが発生するような場合には、プリンタ部１１０にエラー原因があると推測され、エラー原因がハードウェア的な要因に絞られる。
【００７５】
なお、画像データ変換部または画像データ投入部は印刷アプリケーション部２０３の一部になっていても、印刷アプリケーション部２０３とは別のソフトウェアあるいはハードウェアになっていても良い。
【００７６】
このように、読み捨てモードを設けることにより、不要な印刷を軽減するだけでなく、エラー原因の可能性がある個所を絞り込むことができる。
【００７７】
以下に、印刷要求に係るパケットデータ以外の例を示す。図１４は、図６におけるＮｏ．２のパケットデータの一部を示す図である。Ｎｏ．２のパケットデータはＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）に係るパケットデータである。図１５は、図８に基づく処理が施された後のＮｏ．２のパケットデータを示す図である。図１５では、送信先ＩＰアドレス（「Ｄｅｓｔｉｎａｔｉｏｎ」）がローカルループバックアドレス「１２７．０．０．１」になっている。
【００７８】
上記の説明では、パケットデータのアドレスはＩＰアドレスとして説明した。しかし、ＩＰアドレスに限るものではなく、自分自身を示すアドレスを有するその他のプロトコルに依存したアドレスであっても良い。
【００７９】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを読み出して実行することによっても達成され得る。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【００８０】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００８１】
プログラムを供給するための記録媒体としては、様々なものが使用できる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【００８２】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。その場合、ダウンロードされるのは、本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルであってもよい。
【００８３】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【００８４】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布する形態としても良い。その場合、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムが実行可能な形式でコンピュータにインストールされるようにする。
【００８５】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される形態以外の形態でも実現可能である。例えば、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００８６】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれるようにしてもよい。この場合、その後で、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００８７】
【図１】本発明に係る通信装置１００のハードウェア構成を示す図である。
【図２】通信装置１００におけるソフトウェア構成を示す図である。
【図３】パケット解析部２０５のさらに詳細なソフトウェア構成を示す図である。
【図４】本発明に係るネットワークシステムを示す図である。
【図５】パケット解析部２０５で行われる処理を示すフローチャートである。
【図６】記憶装置３０５に記憶されているパケットデータの一覧の一例を示す図である。
【図７】パケットの詳細を示す詳細画面の一例を示す図である。
【図８】パケット解析部２０５で行われる処理を示すフローチャートである。
【図９】変更後のパケットデータの一部を示す図である。
【図１０】フィルタ条件を設定するための設定画面の一例を示す図である。
【図１１】図８の処理で編集されたパケットデータを送信して障害を再現する場合の様子を示した図である。
【図１２】読み捨てモードを設定するための設定画面の一例を示す図である。
【図１３】印刷アプリケーション部２０３または印刷アプリケーション部２０４で行われる処理を示すフローチャートである。
【図１４】図６におけるＮｏ．２のパケットデータの一部を示す図である。
【図１５】図８に基づく処理が施された後のＮｏ．２のパケットデータを示す図である。
【図１６】従来のパケットデータの取得方法を示す図である。
【図１７】従来の障害の再現方法を示す図である。
【符号の説明】
【００８８】
１００  通信装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  プリンタＩ／Ｆ制御部
１０５  ＮＶＲＡＭ
１０６  パネル制御部
１０７  ネットワークＩ／Ｆ制御部
１０８  ＨＤＤ
１０９  オペレーションパネル
１１０  プリンタ部
１１１  バス
１１３  ＬＡＮ
【図１】
0005127314.tif 000002
【図２】
0005127314.tif 000003
【図３】
0005127314.tif 000004
【図４】
0005127314.tif 000005
【図５】
0005127314.tif 000006
【図６】
0005127314.tif 000007
【図７】
0005127314.tif 000008
【図８】
0005127314.tif 000009
【図９】
0005127314.tif 000010
【図１０】
0005127314.tif 000011
【図１１】
0005127314.tif 000012
【図１２】
0005127314.tif 000013
【図１３】
0005127314.tif 000014
【図１４】
0005127314.tif 000015
【図１５】
0005127314.tif 000016
【図１６】
0005127314.tif 000017
【図１７】
0005127314.tif 000018