(57)【要約】【課題】障害の解析に有用な情報を効率よく収集することができる通信装置を提供する。【解決手段】アプリケーションを実行するアプリケーション部３０４と、ネットワーク１０３を介して送信されるパケットの取得開始の指示を受けてパケット取得を開始し、取得終了の指示を受けてパケット取得を終了するパケット取得部３０２とを備える。また、パケットの取得開始の指示を受けてから取得終了の指示を受けるまでにパケット取得部３０２が取得したパケットを宛先情報及びプロトコルごとに保持するパケット保持部３０３を備える。アプリケーション部３０４は、データ通信が正常に終了したか否かをパケット取得部３０２に通知する。パケット保持部３０３は、データ通信が正常に終了しなかった場合に、正常パケットデータを検索し、異常パケットデータとグルーピングして保持する。【選択図】図３
2010220021.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続された外部装置とデータ通信を行う通信装置であって、
前記外部装置とのデータ通信が正常に終了したか否かを判定する判定手段と、
前記判定手段により、前記外部装置とのデータ通信が正常に終了したと判定された場合に、当該データ通信において前記外部装置との間で送受信されたデータを保持する第１の保持手段と、
前記判定手段により、前記外部装置とのデータ通信が正常に終了しなかったと判定された場合に、当該データ通信において前記外部装置との間で送受信されたデータを、前記第１の保持手段により前もって保持されているデータと関連付けて保持する第２の保持手段と、
を備えることを特徴とする通信装置。
【請求項２】
前記外部装置との間で送受信されるデータの中から、特定の宛先情報または特定のプロトコルに関連するデータを抽出する抽出手段を更に備え、
前記第１の保持手段は、前記抽出手段により抽出されたデータを保持することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記第２の保持手段は、前記外部装置とのデータ通信が正常に終了しなかったと判定された場合に、当該データ通信で使用された宛先情報またはプロトコルに基づいて前記第１の保持手段に保持されているデータを検索し、当該検索によって得られたデータを、正常に終了にしなかったと判定された前記データ通信において送受信されたデータとともに保持することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記第２の保持手段は、正常に終了しなかったと判定された前記データ通信において送受信されたデータと、前記第１の保持手段により前もって保持されているデータとを、同一のフォルダ内に格納して保持することを特徴とする請求項１から３のいずれか１項に記載の通信装置。
【請求項５】
前記外部装置とのデータ通信が正常に終了したと判定された場合に、当該データ通信で使用された宛先情報及びプロトコルと同一の宛先情報及びプロトコルに対応するデータが既に第１の保持手段により保持されているか否かを判断する判断手段を更に備え、
前記判断手段により、正常に終了したと判定された前記データ通信で使用された宛先情報及びプロトコルと同一の宛先情報及びプロトコルに対応するデータが第１の保持手段により保持されていないと判断された場合に、前記第１の保持手段が、正常に終了したと判定された前記データ通信において送受信されたデータを保持することを特徴とする請求項１から４のいずれか１項に記載の通信装置。
【請求項６】
前記判断手段により、正常に終了したと判定された前記データ通信で使用された宛先情報及びプロトコルと同一の宛先情報及びプロトコルに対応するデータが既に第１の保持手段により保持されていると判断された場合に、前記第１の保持手段が、正常に終了したと判定された前記データ通信において送受信されたデータと前記既に保持されているデータとのうち、サイズがより小さい方のデータを保持することを特徴とする請求項５に記載の通信装置。
【請求項７】
原稿の画像を読み取って当該画像に基づく画像データを生成する読取手段を更に備え、
前記外部装置とのデータ通信とは、前記読取手段が生成した画像データを前記外部装置に対して送信するためのデータ通信であることを特徴とする請求項１から６のいずれか１項に記載の通信装置。
【請求項８】
ネットワークを介して接続された外部装置とデータ通信を行う通信装置の制御方法であって、
前記外部装置とのデータ通信が正常に終了したか否かを判定する判定工程と、
前記判定工程で、前記外部装置とのデータ通信が正常に終了したと判定された場合に、当該データ通信において前記外部装置との間で送受信されたデータを保持する第１の保持工程と、
前記判定工程で、前記外部装置とのデータ通信が正常に終了しなかったと判定された場合に、当該データ通信において前記外部装置との間で送受信されたデータを、前記第１の保持工程で前もって保持されているデータと関連付けて保持する第２の保持工程と、
を備えることを特徴とする通信装置の制御方法。
【請求項９】
請求項８に記載の通信装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して接続された外部装置とデータ通信を行う通信装置及びその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、企業のネットワークには、パーソナルコンピュータ（ＰＣ）を始め複写機やプリンタといったさまざまな通信装置が接続されている。さらに、複数の異なるネットワーク同士が相互に接続されるようになり、ネットワークの規模もますます大きくなってきている。
【０００３】
しかしその一方で、ひとたびネットワーク障害が発生すると多くの通信装置が影響を受け、業務に支障をきたす事態を引き起こす可能性がある。ネットワーク障害の原因は、装置自体の設定ミスや、トラフィック過多等さまざまであり、障害発生時には迅速に原因を特定し、それに応じて適切な対応を行うことが必要である。
【０００４】
そこで、障害の原因を特定するための有効な手段の一つとして、ネットワークパケットを取得しその内容を解析することが知られている。従来、ネットワークパケットを取得するためには、専用のＰＣを用意して問題がありそうなネットワークのハブに接続し、パケット取得ソフトウェアを実行することが必要であった。
【０００５】
しかし近年では、ネットワークに接続された通信装置自体にパケット取得機能が備えられ、自動的に通信パケットを取得して保持することが可能となっている。
【０００６】
例えば、特許文献１においては、プリンタや複写機等の情報処理装置がパケット取得機能を備え、一定時間の間にネットワーク上を流れるパケットを取得して解析し、情報処理装置のネットワーク設定に使用する技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−２７４８０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、上述したような従来のパケット取得技術においては、通信装置に関わるネットワーク障害を解析するのに必要な正常データと異常データのセットを効率よく取得、保存することが難しいという問題があった。
【０００９】
一例として、通信装置がネットワーク上のサーバに画像データを送信しようとするときに送信が毎回失敗する、という障害が発生した場合について説明する。この場合、一旦画像送信が失敗すると、それ以降は送信が毎回失敗してしまう。従って、障害が発生した後にパケット取得を開始したとしても、送信が失敗する場合のパケットしか得ることができず、送信が成功する場合に送受信されるパケットを取得することは困難である。つまり、正常な場合と異常な場合との比較を行うことができず、障害の原因を解析するために手間がかかってしまう。
【００１０】
一方、上述した特許文献１のように、任意の期間に送受信されたパケットを前もって取得しておくことも考えられるが、この場合、装置内で保持すべきパケットが膨大な量となってしまう。そのため、メモリリソースが不足してしまうという問題がある。また、これに加えて、保持している膨大な量のパケットの中から、障害が発生したときに取得したパケットの比較対象とすべきパケットを特定することは複雑な作業を必要とする。
【００１１】
本発明の目的は、障害の解析に有用な情報を効率よく収集することができる通信装置及びその制御方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本発明の通信装置は、ネットワークを介して接続された外部装置とデータ通信を行う通信装置であって、前記外部装置とのデータ通信が正常に終了したか否かを判定する判定手段と、前記判定手段により、前記外部装置とのデータ通信が正常に終了したと判定された場合に、当該データ通信において前記外部装置との間で送受信されたデータを保持する第１の保持手段と、前記判定手段により、前記外部装置とのデータ通信が正常に終了しなかったと判定された場合に、当該データ通信において前記外部装置との間で送受信されたデータを、前記第１の保持手段により前もって保持されているデータと関連付けて保持する第２の保持手段と、を備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、障害の解析に有用な情報を効率よく収集することができる。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１５】
（第１の実施の形態）
図１は、通信装置の一例として原稿の画像を読み取る画像形成装置を使用したネットワークシステムの構成図である。
【００１６】
図１において、画像形成装置１０１とホストコンピュータ１０２がネットワーク１０３を介して接続され、相互に通信可能となっている。画像形成装置１０１は、スキャナでスキャンした画像データを、ネットワーク１０３を介してホストコンピュータ１０２に送信する機能を備えている。
【００１７】
図２は、図１における画像形成装置１０１のハードウェア構成を示すブロック図である。
【００１８】
図２の画像形成装置１０１において、ＣＰＵ２０１は、ＲＯＭ２０３のプログラムＲＯＭまたは外部記憶装置２１１に記憶された制御プログラムに基づいてシステムバス２０４に接続される各種のデバイスとのアクセスを総括的に制御する。
【００１９】
また、ＣＰＵ２０１は、印刷インターフェース２０７を介して接続されるプリントエンジン２１０に出力情報としての画像信号を出力し、読取インターフェース２１２を介して接続されるスキャナ２１３から入力される画像信号を制御する。
【００２０】
また、このＲＯＭ２０３のプログラムＲＯＭには、ＣＰＵ２０１が実行可能な制御プログラム等を記憶する。さらに、ＲＯＭ２０３のフォントＲＯＭには、上記出力情報を生成する際に使用するフォントデータ（アウトラインフォントデータを含む）等を記憶する。ＲＯＭ２０３のデータＲＯＭには、ホストコンピュータ１０２上で利用される情報等を記憶している。
【００２１】
ＣＰＵ２０１は、ＬＡＮコントローラ２０６を介してネットワーク１０３上のホストコンピュータ１０２や他の画像形成装置との間でデータ通信を実行することが可能となっている。
【００２２】
ＲＡＭ２０２は、主としてＣＰＵ２０１の主メモリ、ワークエリア等として機能し、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。
【００２３】
ハードディスク（ＨＤＤ）、ＩＣカード等の外部記憶装置２１１は、ディスクコントローラ（ＤＫＣ）２０８によりアクセスが制御される。外部記憶装置２１１は、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶し、あるいはプリントジョブを一時的にスプールし、スプールされたジョブを外部から制御するためのジョブ格納領域として使用される。
【００２４】
またさらに、外部記憶装置２１１は、スキャナ２１３から読み取った画像データやプリントジョブの画像データをＢＯＸデータとして保持し、ネットワーク１０３から参照する。あるいは外部記憶装置２１１は、印刷を行うＢＯＸデータ格納領域としても使用される。
【００２５】
操作パネル２０５は、ユーザがソフトウェアキーから各種情報を入力することが可能である。外部記憶装置２１１は、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。不揮発性メモリ２０９は、操作パネル２０５から設定される各種設定情報を記憶している。
【００２６】
また、図示していないが、画像形成装置１０１には、さらにオプションで、ステープルやソート機能を行うフィニッシャや、両面印刷機能を実現するための両面装置等各種拡張装置を装着することが可能となっている。それらの動作はＣＰＵ２０１から制御される。
【００２７】
図３は、画像形成装置１０１のソフトウェア構成を示すブロック図である。
【００２８】
図３において、パケット送受信部３０１は、ホストコンピュータ１０２との間でデータ通信を実行する際に、ホストコンピュータ１０２との間のパケット送受信を制御する。尚、ここでのデータ通信とは、例えばスキャナ２１３から入力された画像データを、アプリケーション部３０４からの指示に従って、ホストコンピュータ１０２に送信するための通信である。パケット取得部３０２は、アプリケーション部３０４やＵＩ部３０５の指示に従って制御される。
【００２９】
また、パケット取得部３０２は、パケット送受信部３０１がネットワーク１０３を介して送受信するパケットを取得して、パケット保持部３０３にパケットファイルとして保持する。さらに、パケット取得部３０２は、パケット取得の際にフィルタをかけて、条件に合致したパケットのみを抽出して取得することも可能である。
【００３０】
パケット保持部３０３は、データ通信の結果（正常終了または異常終了）、宛先情報（ＩＰアドレス）、使用プロトコルを区別してサブディレクトリを作成してパケットファイルを保持する。また、パケット保持部３０３は、全保持データの中から特定の宛先情報やプロトコルに関連するデータを検索することが可能である。また、パケット保持部３０３は、ＵＩ部３０５で指定された最大保持件数を上回るパケットファイルを保持することはない。
【００３１】
図３で示した各ソフトウェアブロックはすべて外部記憶装置２１１またはＲＯＭ２０３に記憶されており、画像形成装置１０１が起動する際に、ＲＡＭ２０２に実行可能プログラムとしてロードされる。その後は、各ソフトウェアブロックは、ＣＰＵ２０１により並行して実行される。
【００３２】
図４は、図２における操作パネル２０５に表示される画像データ送信の送信先情報を設定する画面例を示す図である。
【００３３】
図４において、ホストコンピュータ１０２に対して画像データを送信するために必要な情報として、ホスト名、パス、ユーザ名、パスワード、プロトコルを設定可能である。ホスト名としては、ＩＰアドレス形式でなくてもよい。
【００３４】
入力されたホスト名がＩＰアドレス形式でなかった場合には、ＤＮＳ等の仕組みを利用してＩＰアドレスに変換を行う。プロトコルとしては、ＳＭＢ、ＦＴＰ、ＷｅｂＤＡＶ等が選択可能であり、ボタン４０１を押下すると選択可能なプロトコルがリスト表示される。
【００３５】
図５は、図２における操作パネル２０５に表示される正常データと異常データの保存件数を設定する画面例を示す図である。
【００３６】
正常データ（正常パケットデータ）と異常データ（異常パケットデータ）の保存件数は、図５のように予め設定しておき、その件数は領域５０１で設定することが可能である。
【００３７】
図６は、図３におけるアプリケーション部３０４からの通知を受けてパケットを取得する際の処理を示すシーケンス図である。
【００３８】
図６において、アプリケーション部３０４は、処理を開始すると（Ｓ６０１）、パケット取得部３０２へ処理開始を通知する（Ｓ６０２）。アプリケーション部３０４からの通知を受けたパケット取得部３０２は、パケット取得を開始する（Ｓ６０３）。その後、アプリケーション部３０４は、パケット送受信部３０１へ送信する画像データを指示して（Ｓ６０４）、パケット送受信部３０１は、画像データ送信を開始する（Ｓ６０５）。
【００３９】
その後、パケット送受信部３０１は、通信を終了し（Ｓ６０６）、アプリケーション部３０４へ通信結果を送る（Ｓ６０７）。アプリケーション部３０４は、処理を終了すると（Ｓ６０８）、処理終了をパケット取得部３０２へ通知する（Ｓ６０９）。アプリケーション部３０４からの通知を受けたパケット取得部３０２は、パケット取得を終了する（Ｓ６１０）。そして、パケット取得部３０２は、パケット保持部３０３へ取得データを送る（Ｓ６１１）。
【００４０】
即ち、パケット取得部３０２は、アプリケーション部３０４によりパケット取得の開始指示を受けてパケット取得を開始し、パケット取得の終了指示を受けてパケット取得を終了する。
【００４１】
図７は、図３におけるパケット送受信部３０１の処理の手順を示すフローチャートである。尚、本フローチャートの主体は、すべてパケット送受信部３０１である。各処理ステップには符号Ｓを付す（図８以下のフローチャートも同様）。
【００４２】
Ｓ７０１において、パケット送受信部３０１は、アプリケーション部３０４から送信データを受け取る。Ｓ７０２において、パケット送受信部３０１は、外部装置とのデータ通信を開始する。Ｓ７０３において、パケット送受信部３０１は、外部装置とのデータ通信を終了する。Ｓ７０４において、パケット送受信部３０１は、アプリケーション部３０４へ通信結果を送る。
【００４３】
図８は、図３におけるアプリケーション部３０４の処理の手順を示すフローチャートである。尚、本フローチャートの主体は、すべてアプリケーション部３０４である。
【００４４】
Ｓ８０１において、アプリケーション部３０４は処理を開始する。Ｓ８０２において、アプリケーション部３０４は、パケット取得部３０２へ処理開始をフィルタリング条件と共に通知する。ここで、フィルタリング条件とは宛先情報とプロトコルである。
【００４５】
Ｓ８０３において、アプリケーション部３０４は、パケット送受信部３０１へ送信データを送る。Ｓ８０４において、アプリケーション部３０４は、パケット送受信部３０１から通信結果を受け取る。Ｓ８０５において、アプリケーション部３０４は、処理を終了する。Ｓ８０６において、アプリケーション部３０４は、パケット取得部３０２へ処理終了をアプリケーション終了結果と共に通知する。
【００４６】
図９は、図３におけるアプリケーション部３０４がパケット取得部３０２へ処理開始通知と共に通知するフィルタリング条件を示す図である。
【００４７】
図９のように、アプリケーション部３０４は、処理開始通知と共に宛先情報とプロトコルをパケット取得部３０２に通知する。パケット取得部３０２は、ネットワークを介して受信されるパケットの中から、フィルタリング条件に基づいて必要なパケットを抽出して取得する。
【００４８】
図１０は、図３におけるアプリケーション部３０４がパケット取得部３０２へ処理終了通知と共に通知するアプリケーション終了結果を示す図である。
【００４９】
図１０のように、処理終了通知と共にアプリケーション終了結果が正常か異常かを通知する。
【００５０】
図１１は、図３におけるパケット取得部３０２の処理の手順を示すフローチャートである。尚、本フローチャートの主体は、すべてパケット取得部３０２である。
【００５１】
Ｓ１１０１において、パケット取得部３０２は、アプリケーション部３０４から処理開始通知をフィルタリング条件と共に受信する。ここで、フィルタリング条件は宛先ＩＰとプロトコルである。Ｓ１１０２において、パケット取得部３０２は、パケット取得を開始する。
【００５２】
Ｓ１１０３において、パケット取得部３０２は、アプリケーション部３０４から処理終了通知をアプリケーション終了結果と共に受信する。Ｓ１１０４において、パケット取得部３０２は、パケット取得を終了する。Ｓ１１０５において、パケット取得部３０２は、パケット保持部３０３へ取得データをアプリケーション終了結果と共に送る。
【００５３】
図１２は、図３におけるパケット保持部３０３がパケットファイルを保持する階層構造を示す図である。
【００５４】
最上位の階層は、ｒｏｏｔディレクトリであり、その下にサブディレクトリが生成される。正常データ（データ通信が正常に終了したときに取得されたパケット）を保存するときは、正常データを保存するためのディレクトリを生成する。このディレクトリを以後、正常ディレクトリと呼ぶ。また、異常データ（データ通信が正常に終了しなかったときに取得されたパケット）を保存するときは、異常データを保存するためのディレクトリを生成する。このディレクトリを以後、異常ディレクトリと呼ぶ。
【００５５】
正常データ保存の場合は、正常ディレクトリの下にプロトコルごと、宛先情報ごとにサブディレクトリが生成され、その下にパケットファイルが保持される。異常データ保存の場合は、異常ディレクトリの下にプロトコルごと、宛先情報ごとにサブディレクトリが生成され、その下にパケットファイルが保持される。
【００５６】
この際、正常ディレクトリから同じプロトコル、宛先情報のパケットファイルを検索して同じディレクトリにコピーする。尚、各パケットファイルはパケット取得を行った時刻がファイル名として設定され、ファイル名が重複することはない。
【００５７】
図１３は、図３におけるパケット保持部３０３の処理の手順を示すフローチャートである。尚、本フローチャートの主体は、すべてパケット保持部３０３である。
【００５８】
Ｓ１３０１において、パケット保持部３０３は、パケット取得部３０２から取得データをアプリケーション終了結果と共に受け取る。Ｓ１３０２において、パケット保持部３０３は、アプリケーション処理結果が正常か異常かを判断し、正常の場合は、Ｓ１３０３において、宛先情報とプロトコルが同じである保持データが既に存在するかどうか、正常ディレクトリを検索する。
【００５９】
Ｓ１３０３において、該当するデータが存在しない場合は、パケット保持部３０３は、Ｓ１３０５において、正常ディレクトリに取得データを保持する。Ｓ１３０３において、該当するデータが存在する場合は、Ｓ１３０４において、パケット保持部３０３は、取得データと保持データのファイルサイズを比較する。
【００６０】
Ｓ１３０４において、取得データの方が小さい場合は、Ｓ１３０５において、パケット保持部３０３は、ファイルサイズの大きい保持データを廃棄し、代わりに正常ディレクトリに取得データを保持する。Ｓ１３０４において、保持データが取得データ以下の場合は、Ｓ１３０６において、パケット保持部３０３は、取得データを廃棄する。
【００６１】
Ｓ１３０２において、アプリケーション終了結果が異常の場合は、Ｓ１３０７において、パケット保持部３０３は、宛先情報とプロトコルが同じである保持データが既に存在するかどうか、正常ディレクトリを検索する。
【００６２】
Ｓ１３０７において、宛先情報とプロトコルが同じである保持データが存在する場合は、Ｓ１３０８において、パケット保持部３０３は、保持データを異常ディレクトリにコピーし、Ｓ１３０９において、同じ異常ディレクトリに取得データを保持する。
【００６３】
Ｓ１３０７において、宛先情報とプロトコルが同じである保持データが存在しない場合は、Ｓ１３１０において、パケット保持部３０３は、宛先情報のみ同じである保持データが存在するかどうか、正常ディレクトリを検索する。
【００６４】
Ｓ１３１０において、宛先情報のみ同じである保持データが存在する場合は、Ｓ１３０８において、パケット保持部３０３は、保持データを異常ディレクトリにコピーし、Ｓ１３０９において、異常ディレクトリに取得データを保持する。
【００６５】
Ｓ１３１０において、宛先情報のみ同じである保持データが存在しない場合は、Ｓ１３０９において、パケット保持部３０３は、異常ディレクトリに取得データを保持する。
【００６６】
本実施の形態において、パケット保持部３０３における正常パケットデータの検索条件は、パケット取得部３０２のフィルタリング条件と同じである。
【００６７】
また、パケット保持部３０３は、正常パケットデータの検索結果が一致するデータが存在しないとき、検索条件の数を減らして再検索を行う。
【００６８】
また、パケット保持部３０３は、アプリケーションの終了結果が正常のときに、宛先ごとに保持された正常パケットデータを検索し、取得データと保持データのデータサイズを比較する。そして、取得データのデータサイズが保持データより小さいときに取得データと保持データを置き換えて保持する。
【００６９】
以上説明したように、第１の実施の形態では、データ通信が正常に終了しなかった場合に、当該データ通信において送受信されたデータを、データ通信が正常に終了したときに前もって取得しておいたデータと関連付けて保持する。これにより、取得したデータ（送受信パケット）を用いて障害の原因を分析する際に、正常な状態で取得したデータと異常な状態で取得したデータとを比較することができ、作業の効率を向上させることができる。
【００７０】
（第２の実施の形態）
次に、一回の手順で複数の宛先に同時に画像データを送信する場合に、各宛先に対するパケットを取得するための手順を説明する。
【００７１】
図１４は、第２の実施の形態における画像形成装置１０１のソフトウェア構成を示すブロック図である。
【００７２】
パケット取得部親プロセス１４０１は、アプリケーション部３０４から処理開始通知を受信するたびに、子プロセス１４０２を生成する。つまり、親プロセス１４０１は、パケット取得部３０２を複数生成する。このとき子プロセス１４０２の識別のためにプロセスＩＤを付与する。子プロセス１４０２は、それぞれがパケット取得を行う。
【００７３】
その後、親プロセス１４０１がアプリケーション部３０４から処理終了通知を受信すると、子プロセス１４０２へ処理終了通知を送信する。子プロセス１４０２は、処理終了通知を受信すると、パケット取得を終了し、取得データをパケット保持部３０３へ送る。
【００７４】
その後、子プロセス１４０２は、親プロセス１４０１へキャプチャ終了通知を送信して、親プロセスから消去される。尚、本実施の形態でのパケット保持部３０３のフローチャートは第１の実施の形態として説明した図１３と同じである。
【００７５】
よって、本実施の形態によれば、同時に画像を送信する宛先の数だけ子プロセスが生成され、各子プロセスがパケット取得を行うことで、各宛先のパケットを取得することが可能となる。
【００７６】
図１５は、図１４におけるパケット取得部親プロセス１４０１の処理の手順を示すフローチャートである。尚、本フローチャートの主体は、すべてパケット取得部親プロセス１４０１である。
【００７７】
Ｓ１５０１において、親プロセス１４０１は、イベントを受信する。Ｓ１５０２において、親プロセス１４０１は、受信したイベントがアプリケーション部３０４からの処理開始通知であるかを判定する。
【００７８】
Ｓ１５０２において、アプリケーション部３０４からの処理開始通知である場合は、Ｓ１５０３において、親プロセス１４０１は、子プロセス１４０２にプロセスＩＤを付与して生成し、Ｓ１５０４において、子プロセス１４０２へ処理開始通知を送信する。
【００７９】
Ｓ１５０２において、アプリケーション部３０４からの処理開始通知でない場合は、Ｓ１５０５において、親プロセス１４０１は、アプリケーション部３０４からの処理終了通知であるかを判定する。
【００８０】
Ｓ１５０５において、アプリケーション部３０４からの処理終了通知である場合は、Ｓ１５０６において、親プロセス１４０１は、子プロセス１４０２へ処理終了通知を送信する。Ｓ１５０５において、アプリケーション部３０４からの処理終了通知でない場合は、Ｓ１５０７において、親プロセス１４０１は、子プロセス１４０２からのキャプチャ終了通知であるかを判定する。
【００８１】
Ｓ１５０７において、子プロセス１４０２からのキャプチャ終了通知である場合は、Ｓ１５０８において、親プロセス１４０１は、子プロセス１４０２を消去する。Ｓ１５０７において、子プロセス１４０２からのキャプチャ終了通知でない場合は、親プロセス１４０１は、再びイベントの受信を待つ。
【００８２】
図１６は、図１４におけるパケット取得部子プロセス１４０２の処理の手順を示すフローチャートである。尚、本フローチャートの主体は、すべてパケット取得部子プロセス１４０２である。
【００８３】
Ｓ１６０１において、子プロセス１４０２は、親プロセス１４０１から処理開始通知を受信し、Ｓ１６０２において、パケット取得を開始する。その後、Ｓ１６０３において、親プロセス１４０１から処理終了通知を受信する。
【００８４】
Ｓ１６０４において、子プロセス１４０２は、パケット取得を終了する。Ｓ１６０５において、子プロセス１４０２は、パケット保持部３０３へ取得データを送り、Ｓ１６０６において、親プロセス１４０１へキャプチャ終了通知を送信する。
【００８５】
以上の通り、第１及び第２の実施の形態によれば、外部装置との通信が正常に終了したときと正常に終了しなかったときでパケットデータの保存方法を分類する。そして、宛先情報及びプロトコルが一致する正常パケットデータと異常パケットデータとを同一フォルダ内にグルーピングして保存する。このことにより、障害の解析に有用な情報を効率よく収集することが可能となる。
【００８６】
本発明の通信装置は、外部装置とのデータ通信が正常に終了したか否かを判定する。そして外部装置とのデータ通信が正常に終了したと判定された場合に、当該データ通信において外部装置との間で送受信されたデータを保持する（第１の保持手段）。また、外部装置とのデータ通信が正常に終了しなかったと判定された場合に、当該データ通信において外部装置との間で送受信されたデータを、以下のように保持する。即ち、第１の保持手段により前もって保持されているデータと関連付けて保持する（第２の保持手段）。
【００８７】
また、本発明の通信装置は、外部装置とのデータ通信が正常に終了したと判定された場合に、以下の処理を実施する。即ち、当該データ通信で使用された宛先情報及びプロトコルと同一の宛先情報及びプロトコルに対応するデータが既に第１の保持手段により保持されているか否かを判断する。
【００８８】
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。
【００８９】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【図面の簡単な説明】
【００９０】
【図１】本発明の実施の形態に係る画像形成装置を使用したネットワークシステムの構成図である。
【図２】図１における画像形成装置１０１のハードウェア構成を示すブロック図である。
【図３】図２の画像形成装置１０１のソフトウェア構成を示すブロック図である。
【図４】図２における操作パネル２０５に表示される画像データ送信の送信先情報を設定する画面例を示す図である。
【図５】図２における操作パネル２０５に表示される正常データと異常データの保存件数を設定する画面例を示す図である。
【図６】図３におけるアプリケーション部３０４からの通知を受けてパケットを取得する際の処理を示すシーケンス図である。
【図７】図３におけるパケット送受信部３０１の処理の手順を示すフローチャートである。
【図８】図３におけるアプリケーション部３０４の処理の手順を示すフローチャートである。
【図９】図３におけるアプリケーション部３０４がパケット取得部３０２へ処理開始通知と共に通知するフィルタリング条件を示す図である。
【図１０】図３におけるアプリケーション部３０４がパケット取得部３０２へ処理終了通知と共に通知するアプリケーション終了結果を示す図である。
【図１１】図３におけるパケット取得部３０２の処理の手順を示すフローチャートである。
【図１２】図３におけるパケット保持部３０３がパケットファイルを保持する階層構造を示す図である。
【図１３】図３におけるパケット保持部３０３の処理の手順を示すフローチャートである。
【図１４】図２の画像形成装置１０１のソフトウェア構成を示すブロック図である。
【図１５】図１４におけるパケット取得部親プロセス１４０１の処理の手順を示すフローチャートである。
【図１６】図１４におけるパケット取得部子プロセス１４０２の処理の手順を示すフローチャートである。
【符号の説明】
【００９１】
３０１  パケット送受信部
３０２  パケット取得部
３０３  パケット保持部
３０４  アプリケーション部
３０５  ＵＩ部
【図１】
2010220021.tif 000003
【図２】
2010220021.tif 000004
【図３】
2010220021.tif 000005
【図４】
2010220021.tif 000006
【図５】
2010220021.tif 000007
【図６】
2010220021.tif 000008
【図７】
2010220021.tif 000009
【図８】
2010220021.tif 000010
【図９】
2010220021.tif 000011
【図１０】
2010220021.tif 000012
【図１１】
2010220021.tif 000013
【図１２】
2010220021.tif 000014
【図１３】
2010220021.tif 000015
【図１４】
2010220021.tif 000016
【図１５】
2010220021.tif 000017
【図１６】
2010220021.tif 000018