JP2009118190A - 画像形成装置、解析方法、及びコンピュータプログラム - Google Patents

画像形成装置、解析方法、及びコンピュータプログラム Download PDF

Info

Publication number
JP2009118190A
JP2009118190A JP2007289047A JP2007289047A JP2009118190A JP 2009118190 A JP2009118190 A JP 2009118190A JP 2007289047 A JP2007289047 A JP 2007289047A JP 2007289047 A JP2007289047 A JP 2007289047A JP 2009118190 A JP2009118190 A JP 2009118190A
Authority
JP
Japan
Prior art keywords
packet
application
packets
execution
error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007289047A
Other languages
English (en)
Inventor
Hiroki Shono
広希 庄野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2007289047A priority Critical patent/JP2009118190A/ja
Priority to US12/264,824 priority patent/US8149443B2/en
Publication of JP2009118190A publication Critical patent/JP2009118190A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】 ネットワーク通信装置における障害を解析するために必要なパケットを可及的に過不足なく取得できるようにする。
【解決手段】 MFP101は、受信したパケットを印刷ジョブ単位でファイルとして一時的に保存すると共に、異常通信情報をログ(異常通信ログ)として保存する。MFP101は、保存したファイルの中で、アプリケーションでエラーが発生しないデータについては削除する。そして、MFP101は、任意の印刷ジョブの処理中にエラーが発生した場合、受信したパケットを記憶装置に保存し、且つエラーが発生したジョブパケットに含まれる異常通信と、受信した全ての印刷ジョブに関するパケットに含まれる異常通信とを比較する。そして、その比較の結果として、エラーが発生したジョブパケットにのみ含まれる異常通信を抽出し、抽出した結果が分かるようにログ化する。
【選択図】 図1

Description

本発明は、画像形成装置、解析方法、及びコンピュータプログラムに関し、特に、装置で発生したエラーの解析をパケット用いて行う技術に関する。
従来から、ネットワーク通信機器で障害が発生した場合に、ネットワーク(通信路)を流れるパケットを採取して障害の原因を調査する手法が存在している。その一般的な方法は、パケットの取得を行う専用の機器をHUB等の集線機器に接続して、LAN(Local Area Network)を流れるパケットを採取する。調査対象となるネットワーク通信機器が送受信しているパケットのデータの内容を、採取したパケットから解析して、規定外のデータを受信している箇所や、受信パケットに対する応答遅延が発生している箇所を特定する。そして、それらの箇所が障害の原因であるか否かを切り分けるために、同一のパケットをネットワーク通信機器に送信して障害が再現されるかどうかを確認することや、ネットワーク通信機器の通信を司るソースコードを解析するといった調査を行う。
このようなパケットの取得や解析作業を行う際に、パケットの取得機器の記憶領域を確保することと、パケットの解析作業の労力を削減することとを目的として、パケットのフィルタリング機能が用いられる。このフィルタリング機能を用いることで、特定の条件にマッチするパケットのみを取得することができる。これにより、取得するパケットの数を削減することができ、取得したパケットを記憶するメモリ領域や、取得したパケットを長期的に記憶するためのハードディスクの記憶領域を削減することができる。加えて解析に要する工数を削減することが可能となる。フィルタリングのルールは、一般的に、ネットワークプロトコルの要素で指定されることが多い。例えばIP(Internet Protocol)やARP(Address Resolution Protocol)等のように特定のプロトコルのみをフィルタリングして、それらのプロトコルのパケットのみを取得することが可能となる。また各々のプロトコルにおいても、より詳細な要素に分解したフィルタリングが可能である。例えば、IPプロトコルにおいて、特定のDSTアドレス(送信先アドレス)、特定のSRCアドレス(送信元アドレス)、特定の上位層のプロトコル等の条件を設定することで詳細なフィルタリングを行うことが可能になる。
また近年、パケットの取得機能が備わったネットワーク通信機器も普及し始めている。これにより、パケットの取得を行うための専用の機器を使用しなくてもパケットの取得が可能となる。このため、スイッチングHUBが導入された環境のように、専用機器を接続したとしてもパケットの取得を正しく行うことができないような環境であっても、パケットの取得が可能になった。加えて最近では、ネットワーク機器の用途や特徴に特化したフィルタリングが可能となっている。このフィルタリングは、前述のネットワークプロトコルの要素単位でのフィルタリングとは異なり、機器が持っている機能に特化してフィルタリングする。これにより、障害解析の効率をより向上させることが可能である。特許文献1には、ネットワークプリンタにおいて受信した印刷ジョブ単位でデータの保存する技術が開示されている。これにより、ネットワーク経由で受信した印刷ジョブの印刷時に発生した障害を解析するに際し、障害が発生した印刷ジョブのみを抽出することが可能となり、解析の効率を向上させることができる。
特開2004−362386号公報
しかしながら、前述した従来の技術には、以下のような問題点がある。
まず、フィルタリングを施したことにより、正常状態との比較ができなくなることが問題である。前述した従来の技術のように、印刷ジョブ単位でフィルタリングを施した場合、障害の解析者が得ることができるパケットは、障害が発生した印刷ジョブに関連したもののみである。したがって、取得したパケットの中に障害の原因となり得る異常通信が見つかったとしても、それが障害の原因であるか否かを判断することが困難である。例えば、取得した印刷ジョブにおいて、パケットの再送や送信のリトライといった、障害の原因になる可能性のある現象が発生していても、その現象が正常に印刷できる印刷ジョブでも発生しているならば、その現象が障害の原因である可能性は低い。しかしながら、従来の技術ではパケット内で発見された異常な通信を全て調査する必要があり、解析者の負担になっていた。
また、フィルタリングを施して相対的にパケットの数を減少させたとしても、絶対的なパケット数(データ数)が多い場合には、解析に多くの時間が必要とされることも問題である。近年のネットワークアプリケーションはより複雑化・多機能化しており、それに伴いネットワークを流れるデータサイズも増大している。従来の技術では、ネットワークプリンタが受信する印刷ジョブ単位でフィルタリングを行うが、近年のネットワークプリンタが受信する印刷ジョブは、そのデータサイズが1ギガバイトを超えることもある。そのような場合に、解析者が1ギガバイト分のパケットデータを解析するには多大な時間が必要とされる。
本発明は、このような問題点に鑑みてなされたものであり、全取得パケットの中から、異常通信を解析するために必要なパケットを過不足なく取得できるようにすることを目的とする。
本発明の画像形成装置は、ジョブの処理に用いるアプリケーションの実行に基づくパケットを取得する取得手段と、前記取得手段により取得されたパケットに異常があるか否かを判断する判断手段と、前記判断手段によりパケットに異常があると判断されると、当該パケットに関する情報を記憶媒体に記憶する記憶手段と、ジョブの処理に用いるアプリケーションの実行にエラーが発生した場合、当該アプリケーションの実行に基づき取得されるパケットの出現傾向と、当該アプリケーションが正常に実行された際に前記記憶手段に記憶された異常があると判断されたパケットの出現傾向とを比較する比較手段と、前記比較手段により、当該アプリケーションが正常に実行された際に前記記憶手段に記憶された異常があると判断されたパケットの出現傾向に対して、当該アプリケーションの実行に基づき取得されるパケットのうち異なる出現傾向を示すパケットの種類を検出する検出手段とを有することを特徴とする。
本発明の解析方法は、ジョブの処理に用いるアプリケーションの実行に基づくパケットを取得する取得工程と、前記取得工程により取得されたパケットに異常があるか否かを判断する判断工程と、前記判断工程によりパケットに異常があると判断されると、当該パケットに関する情報を記憶媒体に記憶する記憶工程と、ジョブの処理に用いるアプリケーションの実行にエラーが発生した場合、当該アプリケーションの実行に基づき取得されるパケットの出現傾向と、当該アプリケーションが正常に実行された際に前記記憶工程に記憶された異常があると判断されたパケットの出現傾向とを比較する比較工程と、前記比較工程により、当該アプリケーションが正常に実行された際に前記記憶工程に記憶された異常があると判断されたパケットの出現傾向に対して、当該アプリケーションの実行に基づき取得されるパケットのうち異なる出現傾向を示すパケットの種類を検出する検出工程とを有することを特徴とする。
本発明のコンピュータプログラムは、上記解析方法の工程をコンピュータに実行させることを特徴とする。
本発明によれば、ネットワークを介して取得された"ジョブに関するパケット"が異常通信であると、その異常通信の内容を記憶媒体に記憶しておく。そして、ジョブを処理するためのアプリケーションの実行にエラーが発生すると、そのアプリケーションの実行に関するパケットの異常通信の内容と、記憶しておいた異常通信の内容とを比較する。したがって、取得した全てのパケットを記憶しなくても、異常通信を解析することが可能になる。よって、異常通信を解析するために必要なパケットを可及的に過不足なく取得することができる。
(第1の実施形態)
以下に、図面を参照しながら、本発明の第1の実施形態について説明する。
図1は、ネットワークシステムの構成の一例を示すブロック図である。
ユーザ環境のネットワークはLAN(Local Area Network)103であり、LAN103は例えばEthernet(登録商標)である。LAN103には、以下に説明する"複数のネットワークインターフェイスを有するノード"が接続されている。
MFP(Multi Function Peripherals)101は複合機である。MFP101のハードウェアの詳細な説明は、図2にて後述する。
PC102、104は一般的なパーソナルコンピュータである。PC102、104のハードウェアを構成する主な装置を以下に示す。まず、中央演算装置としてCPU(Central Processing Unit)が存在する。また記憶装置として、RAM(Random Access Memory)、ROM(Read Only Memory)、及びHDD(Hard Disk Drive)が存在する。また外部記憶装置として、CD−ROM(Compact Disc Read Only Memory)ドライブ等が存在する。また外部インターフェイスとして、NIC(Network Interface Card)、及びUSB(Universal Serial Bus)ホストインターフェイス等が存在する。また、これらの装置やMFP101等を制御するための通信経路となるバスが備わっている。またPC102、104の本体に接続される周辺機器としては、マウス、CRTディスプレイ、及びキーボード等が存在する。
PC102、104に導入されている主なソフトウェアは、OS(Operating System(Software))や、ワードプロセッサや表計算ソフトといったオフィスソフトウェア等である。OSにはその機能の1つとして、LAN103等のネットワークを経由して、不図示のプリンタやMFP101に印刷データを送信するためのポートモニタが備わっている。また後述のメールサーバ105に電子メールを送信したり、電子メールを受信したりといった電子メール送受信を行うためのメーラもOSに導入されているものとする。
メールサーバ105は電子メールサーバであり、SMTP(Simple Mail Transfer Protocol)やPOP3(Post Office Protocol)を用いて電子メールの送受信を司るサーバである。メールサーバ105には、MFP101やPC102、104の電子メールアカウントが設定されており、夫々のノード(MFP101、PC102、104)がメールサーバ105を経由して電子メールを送信する事が可能な設定がなされているものとする。
図2は、MFP101のコントローラの主要部の構成の一例を示すブロック図である。
コントローラユニット2000には、画像入力デバイスであるスキャナ2070や画像出力デバイスであるプリンタ2095が接続される。コントローラユニット2000は、スキャナ2070で読み取られた画像データをプリンタ2095により印刷出力するコピー機能を実現するための制御を行う。また、コントローラユニット2000は、LAN103に接続することによって、画像情報やデバイス情報の入出力を行うための制御を行う。具体的にコントローラユニット2000は、CPU2001を有し、CPU2001は、ROM2003に格納されているブートプログラムによりOSを立ち上げる。そして、HDD2004に格納されているアプリケーションプログラムを、このOS上で実行することによって各種処理が実行される。このCPU2001の作業領域としてはRAM2002が用いられる。RAM2002は、作業領域と共に、画像データを一時記憶するための画像メモリ領域を提供する。HDD2004は、前記アプリケーションプログラムや、画像データ等を格納する。
CPU2001には、操作部IF(操作部インターフェイス)2006、ネットワークI/F(Interface)2010、モデム2050、及びイメージバスI/F2005が、システムバス2007を介して接続されている。操作部I/F2006は、タッチパネルを有する操作部2012とのインターフェイスであり、操作部2012に表示する画像データを操作部2012に対して出力する。また、操作部I/F2006は、操作部2012においてユーザにより入力された情報をCPU2001に送出する。次に、ネットワークI/F2010は、LAN103に接続され、LAN103を介してLAN103に接続された各装置との間で情報の入出力を行う。モデム2050は、不図示の公衆回線に接続され、情報の入出力を行う。イメージバスI/F2005は、システムバス2007と、画像データを高速で転送する画像バス2008とを相互に接続し、データ構造を変換するためのバスブリッジである。画像バス2008は、PCIバス又はIEEE1394から構成される。画像バス2008には、RIP(Raster image processor)2060、及びデバイスI/F2020が接続されている。この他、画像バス2008には、スキャナ画像処理部2080、プリンタ画像処理部2090、画像回転部2030、サムネイル作成部2035、及び画像圧縮部2040が接続されている。RIP2060は、PDL(Page Description Language)コードをビットマップイメージに展開するプロセッサである。デバイスI/F2020には、スキャナ2070及びプリンタ2095が接続され、デバイスI/F2020は、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部2080は、入力した画像データに対して、補正、加工、編集を行う。プリンタ画像処理部2090は、プリント出力する画像データに対して、補正、解像度変換等を行う。画像回転部2030は、画像データの回転を行う。画像圧縮部2040は、多値画像データをJPEGデータに、2値画像データをJBIG、MMR、MH等のデータに圧縮するとともに、その伸張処理を行う。
図3は、MFP101の主要な機能構成の一例を示すブロック図である。尚、図3に示す構成のうち、ネットワークI/F2010はハードウェアであり(図2を参照)、その他の構成は、ソフトウェアである。
MFP101は、Linux(登録商標)等の汎用OSを有している。アプリケーション(アプリケーションプログラム)301は、MFP101上で動作するネットワークアプリケーションの集合である。アプリケーション301に含まれる詳細なネットワークアプリケーションの説明は図4を用いて後述する。
ソケットI/F302は、OSによって提供されるソケットI/Fプログラムである。アプリケーション301に含まれるネットワークアプリケーションが通信を行うに際し、ソケットI/F302が呼び出されることによって、データの送信や受信といった処理が可能になる。ソケットI/F302は、ネットワークアプリケーションが通信を行う際に必ずしも必要なプログラムではない。しかしながら、OSの種類によらず汎用的なプログラム命令と処理フローを用いることができるため、ソケットI/F302によって、アプリケーション301の開発工数を削減することができる。そのため本実施形態では、ネットワークアプリケーションはソケットI/F302を呼び出してデータの送受信を行うこととする。
ネットワークスタック303はプロトコルスタック群である。ネットワークデバイスドライバ304は、ネットワークIF2010のデバイスドライバである。パケット取得アプリケーション305は、ネットワークI/F2010が送受信するネットワークパケットの取得やログの出力を行うアプリケーションである。パケット取得アプリケーション305は、ネットワークデバイスドライバ304からデータの取得を行うことによって、ネットワークI/F2010が受信した全てのパケットと、ネットワークIF2010が送信する全てのパケットとを取得する。アプリケーション301及びパケット取得アプリケーション305はアプリケーションスペースで動作しており、ソケットIF302、ネットワークスタック303、及びネットワークデバイスドライバ304はカーネルスペースで動作している。
図4は、アプリケーション301の構成の一例を詳細に示したブロック図である。
LPD(Line Printer Daemon)部401は、LPRプロトコルを使用して、LAN103等のネットワークを経由して印刷ジョブを受信するサーバプログラムである。例えばPC102がLPRプロトコルを使用して印刷ジョブをMFP101に送信すると、LPD部401が印刷ジョブのデータを受信する。LPD部401が受信した印刷ジョブデータは、PDL部402に転送される。PDL部402は印刷ジョブの展開を行うプログラムである。印刷ジョブデータはPDLと呼ばれる記述言語で記載される。この言語には、印刷データの他に印刷に必要な情報が付加されている。例えば用紙のサイズや部数といった情報がそれに当てはまる。PDL部402はPDLで記載された印刷ジョブデータを展開し、印刷データをビデオ画像に変換し、指定された印刷属性に従ってビデオデータを作成する。作成されたビデオデータはプリンタ2095に転送され、印刷処理が行われる。
データ送信アプリケーション404は、スキャナ2070でスキャンされた画像データを、LAN103等のネットワークを通じてメールサーバ105に送信する機能を有する。スキャナ2070でスキャンされた画像データは、JPEG(Joint Photographic Experts Group)やPDF(Portable Document Format)といった画像フォーマットでファイル化される。データ送信アプリケーション404は、その画像データのファイルを、SMTP部403を通じてメールサーバ105に転送する。SMTP部403は、SMTPプロトコルを用いてメールサーバ105に電子メールの送信を行うネットワークアプリケーションである。本実施形態においては、メールサーバ105に電子メールを送信する設定が予め為されているものとする。
図5は、通常状態におけるパケットを取得する際の動作の一例を説明するフローチャートである。MFP101にパケット取得機能が有効に設定されている場合には、図5の処理が常に行われる。
ステップS501において、パケット取得アプリケーション305は、ネットワークI/F2010における"パケットの送受信"の有無を監視する。そして、ネットワークI/F2010における"パケットの送信又は受信"がない場合には、ステップS502〜S504を省略して後述するステップS505に進む。一方、ネットワークI/F2010における"パケットの送信又は受信"を確認した場合には、ステップS502に進む。
ステップS502に進むと、パケット取得アプリケーション305は、送信又は受信されたパケットの数をプログラム内部で一時的に記憶する。
次に、ステップS503において、パケット取得アプリケーション305は、送信又は受信パケットに異常があるか否か(異常通信であるか否か)を判定する。この判定の結果、パケットに異常がない場合には、ステップS504を省略して後述するステップS505に進む。一方、パケットに異常がある場合には、ステップS503に進む。ステップS503に進むと、パケット取得アプリケーション305は、異常のあったパケットに関する情報をログ化する。
図6は、ステップS503において異常と判定すべき通信上の挙動の一例を示した図である。
図6では、異常と判定すべき通信上の挙動として、通信切断601、通信タイムアウト602、ビジー603、及び再送604を例示している。
まず、通信切断601について説明する。例えばTCP/IP(Transmission Control Protocol/Internet Protocol)では、通信を切断する場合にはRSTパケットを相手に送出する。RSTパケットは、TCP/IPによる正常な通信でも使用されるが、アプリケーションに異常が発生したとき等にも送信されることがある。このため、送信又は受信するパケットがRSTパケットであった場合には異常通信(通信異常)であると判断する。
通信タイムアウト602について説明する。例えば、TCP/IP等のコネクション指向プロトコルにおいて、一定時間以上パケットの応答が無かった場合、何らかの異常が発生している可能性がある。このため、一定時間以上パケットの応答が無かった場合には異常通信であると判断する。
ビジー603について説明する。例えば、TCP/IPでは、受信バッファの受け入れ可能スペースをWindowSizeとして通信先に通知する。アプリケーションに何らかの異常が発生して、受信バッファからデータの読み出しができない状態が続くと、受信バッファがフル状態になり、これ以上データの受信ができない状態になる。この状態をビジーと呼ぶ。ビジーは、アプリケーションの処理速度が遅い場合に発生することが多いが、アプリケーションに異常が発生している場合でも発生する可能性がある。このため、ビジーとなった場合には異常通信であると判断する。
再送604について説明する。例えば、TCP/IPでは、送信したデータに対する確認が一定時間ない場合、パケットは再送されることになる。したがって、パケットが再送された場合には、アプリケーションに異常が発生している場合でも発生する可能性がある。このため、パケットを再送した場合には異常通信であると判断する。
次に、受信したパケットに対して、異常通信の有無をチェックする仕組みの一例を、図7を用いて説明する。図7は、受信したパケットのデータグラムを可視化したものの一例を示す図である。
図7において、データ1501とデータ1502は、夫々受信パケットのデータグラムを表している。一例として、ビジー603の有無を検査する処理シーケンスを説明する。
パケット取得アプリケーション305は、受信した各々のパケットについてTCP/IPのWindowサイズの値を検査する。次に、パケット取得アプリケーション305は、データ1501のパケットデータグラムのEthernet(登録商標)ヘッダに含まれる次プロトコル情報1511を参照する。そして、次プロトコル情報1511がIPを示す0x0800であった場合、パケット取得アプリケーション305は、IPヘッダの次ヘッダ情報(プロトコル)1512を参照する。
IPヘッダの次ヘッダ情報1512がTCPを示す0x06であった場合、パケット取得アプリケーション305は、TCPのWindowサイズを参照する。パケットデータを示すデータ1501において、TCPのWindowサイズ1513は0x400aであるため、Windowサイズは0x400aバイトということになる。したがって、パケット取得アプリケーション305は、ビジーでないと判定する(異常通信でないと判定する)。
次に、パケット取得アプリケーション305は、次パケットとなるデータ1502を検査する。パケット取得アプリケーション305は、データ1501の場合と同様に、Windowサイズを参照する。データ1502において、Windowサイズ1514は0x0000である。この場合には、パケット取得アプリケーション305は、ビジーであると判断する。
図5の説明に戻り、前述したように、ステップS503において送信又は受信パケットに異常があると判定された場合には、ステップS504に進み、パケット取得アプリケーション305は、異常のあったパケットに関するログを生成する。ログはHDD2004に生成される。ログとして保存される情報には、取得日時、プロトコル情報、及び異常通信の種別が含まれる。プロトコル情報には、ネットワークアプリケーションを特定することができる情報が含まれる。以下の説明では、このログを必要に応じて異常通信ログと称する。
図8は、異常通信ログの一例を示す図である。
図8に示す例では、4パケット分の異常通信がログ化されており、夫々のログ内容701〜704が記載されている。フレームID710、ステータス711、送信元アドレス712、送信先アドレス713、サイズ714、相対時間715、デルタ時間716、絶対時間717、プロトコルサマリ718は、夫々のパケットに関する情報である。
フレームID710とは、送受信されたパケットを一意に示すIDであり、各々のパケットにユニークなIDが割り当てられる。ステータス711には、異常通信の内容が記載される。IPプロトコルであれば、送信元アドレス712には送信元のIPアドレスが記載され、送信先アドレス713には送信先のIPアドレスが記載される。サイズ714には、パケットのサイズが記載される。パケットのサイズの単位はバイトである。相対時間715には、パケットの取得を開始してからの経過時間が記載される。デルタ時間716には、前回のパケットの"送信時刻又は受信時刻"から経過した時間が記載される。
絶対時間717には、パケットを取得した日時が記載される。プロトコルサマリ718には、主にトランスポート層の情報が記載される。例えばTCPの場合には、送信先ポート、送信元ポート、オプションビット情報、シーケンス番号、データレングス、Windowサイズがプロトコルサマリ718に記載される。ポート番号を参照することによってネットワークアプリケーションを特定することが可能である。
図5の説明に戻り、ステップS505に進むと、パケット取得アプリケーション305は、取得したパケットを例えばHDD2004に保存する。パケット取得アプリケーション305は、取得したパケットのデータの全てをHDD2004にファイルとして所定のフォーマットで書き込む。尚、ファイルはジョブ単位で生成される。つまり、LPD部401が受信した"1つの印刷ジョブのデータ"に対応するパケットの集合が、1つのファイルとしてHDD2004に保存される。
図9は、ステップS505で生成されたファイルのデータの内容の一例を可視化した図である。
パケット取得アプリケーション305で取得されたパケットのデータは、取得(受信)された順序のままファイルに書き込まれる。ファイル中の"各パケットのデータ"は、フレームID、データレングス、パケットデータグラム、及び受信時間によって構成される。図9では、データ1401〜1403は、夫々パケットデータを表す。データ1401は、フレームIDを表すデータ1411と、データレングスを表すデータ1421と、パケットデータグラム1431と、パケットの受信時間を表す受信時間1441によって構成されている。フレームIDとは、ファイル中のパケットを一意に表すIDである。データレングスとは、1パケットのデータグラムのサイズであり、単位はオクテットである。パケットデータグラムとは、パケットのデータである。受信時間は、1970年からの経過時間であり、単位は1/100秒である。
図5の説明に戻り、ステップS506に進むと、アプリケーション301は、エラーが発生したか否かを判定する。具体的には、PDL部402やデータ送信アプリケーション404は、処理エラーの発生の有無を確認する。このステップS506の判定の結果、アプリケーション301でエラーが発生している場合には、ステップS509に進み、エラー解析処理が行われる。このエラー解析処理の詳細については、図10のフローチャートを用いて後述する。一方、アプリケーション301でエラーが発生していない場合には、ステップS507に進む。
ステップS507に進むと、パケット取得アプリケーション305は、アプリケーション301による印刷ジョブの処理が終了したか否かを判定する。具体的に説明すると、例えば、PDL部402やデータ送信アプリケーション404が処理した印刷ジョブが、エラーを発生することなく終了したか否かを判定する。このステップS507の判定の結果、アプリケーション301による印刷ジョブの処理が終了していない場合には、ステップS508を省略してステップS501に戻る。
一方、ステップS507において、アプリケーション301による印刷ジョブの処理が終了した場合には、ステップS508に進む。ステップS508に進むと、パケット取得アプリケーション305は、関連するパケットのファイルを削除する。そして、ステップS501に戻る。
具体的に説明すると、パケット取得アプリケーション305は、ステップS505においてジョブ単位で一時的に記憶されたパケットのデータのファイルを削除する。ここで削除されるデータは、ステップS506にてエラーが発生していないと判定された印刷ジョブに関連するパケットのファイルである。即ち、ネットワーク経由で問題なくパケットが送受信され、アプリケーション301の動作も問題がない場合には、関連するパケットは削除される。
以上のように、ステップS501〜S509の一連のフローによって、ネットワークI/F2010によって送受信されるパケットのうち、異常通信が発生したパケットについては、そのパケットに関するログが異常通信ログとしてHDD2004に記憶される。また、受信したパケットはジョブ単位でファイル化されHDD2004に記憶されるが、アプリケーション301でエラーが発生しない正常な印刷ジョブに関連するパケットについては、エラーが発生せずに終了したと判定された時点で削除される。
次に、図10のフローチャートを参照しながら、図5のステップS509におけるエラー解析処理の詳細を説明する。図10では、アプリケーションの一例としてPDL部402でエラーが発生した場合の処理を示す。
まず、PDL部402で発生するエラーの内容の具体例を説明する。図11は、LPD部401を経由して受信したPDLデータをPDL部402が処理する際に発生するエラー(PDLエラー)の内容と、そのエラーの原因となる可能性が考えられる"ネットワーク通信上の異常"との一例を表形式で対応させて示す図である。
MFP101は、図11の内容に相当する情報を内部的に予め保持しており、後述の処理にて使用する。
図11において、SYNTAXエラー901とは、PDLデータに文法的な間違い箇所が存在する場合に発生するエラーである。例えば、PDLデータの命令文として、下記が正しい文法であるものとする。
[50 100 moveto]
これに対して、例えば下記の命令のように、命令文の記載が間違ったデータをPDL部402が受信した場合にSYNTAXエラーが発生する。
[50 100 movet]
図11では、SYNTAXエラーを発生させる原因となるネットワーク上の異常通信911として、ビジーと通信タイムアウトを挙げている。ネットワーク上でビジーや通信タイムアウトが発生すると、PDL部402に代表される上位アプリケーションに一定時間データが転送されない現象が発生する。その場合に、PDL部402内で処理が進行して、不完全なPDLデータのまま処理されてしまう可能性がある。SYNTAXエラーは文法上の誤りであるため、データが不完全である場合にも発生する可能性がある。
デコードエラー902とは、PDLデータに含まれる画像書式から画像データを導き出す処理を施した際に、文法以外の誤りがあり、画像データへの複合化ができなかった場合のエラーを指す。例えば、PDLデータの命令文として、下記が正しい文法であるものとする。
[50 100 moveto]
この命令文の数値50を指定しているパラメータの上限値が1024であるにも関わらず、1025以上の値が指定された場合、複合処理ができなくなり、デコードエラーとして出力される。デコードエラーでは、ネットワーク上の異常通信の中で原因となるものが存在しないため、その旨をMFP101は記憶する。
文字化け903は、指定された文字コードセットに存在しない文字コードが指定された場合等に発生する。この場合も、ネットワーク上の異常通信の中で原因となるものが存在しないため、その旨をMFP101は記憶する。
ジョブタイムアウト904は、タイムアウトにより処理が中止又は中断する場合等に発生する。PDLの中には、PDLデータの受信開始後に一定の時間、PDLデータを受信しないブランク(期間)が存在すると、タイムアウトにより処理が中止又は中断してしまうものが存在する。その場合にネットワーク上の動作として疑うべき現象は、データの通信(送信又は受信)に一定時間のブランクが存在することである。このようなブランクが存在すると、PDL部402が受信(又は送信)する際にもブランクが発生するため、ジョブタイムアウトの原因となる可能性がある。
図5のステップS506において発生したと判定されるエラーは、図11に記載の何れかのエラーであるものとする。
図10のステップS801において、パケット取得アプリケーション305は、PDL部402でエラーが発生したPDLデータを送受信したパケットのデータから、エラーを発生させた印刷ジョブにおける異常通信を抽出する処理を行う。具体的に説明すると、パケット取得アプリケーション305は、HDD2004に保存されている"エラーを発生させたパケットのファイルをオープンし、異常通信を抽出する。尚、以下の説明では、エラーが発生したPDLデータを送受信したパケットを、必要に応じて、エラージョブパケットと称する。
次に、ステップS802において、パケット取得アプリケーション305は、エラージョブパケットの異常通信内容と比較する対象となる異常通信ログのパケット数を確認し、異常通信ログが比較可能な状態か否かを判定する。エラージョブパケットの異常通信内容と比較する対象となる異常通信ログのパケット数が少ない場合、互いの異常通信の内容を比較したとしても、比較結果から導き出されるエラーの原因の信頼性は高くない。そのため、比較の信頼性を確保できる状態になるまで異常通信ログの採取を続行する。本実施形態では、比較の信頼性を確保できる状態とは、エラージョブパケットのパケット数に対して、そのエラージョブパケットの異常通信内容と比較する対象となる異常通信ログのパケット数が閾値を超えた(例えば10倍を超えた)状態であるとする。これに対し、エラージョブパケットのパケット数に対して、そのエラージョブパケットの異常通信内容と比較する対象となる異常通信ログのパケット数が閾値以下(例えば10倍以下)の場合には、異常通信ログの採取を続行する。
このステップS802の判定の結果、異常通信ログが比較可能な状態である場合には、ステップS803を省略してステップS804に進む。一方、異常通信ログが比較可能な状態でない場合には、ステップS803に進む。ステップS803に進む。
ステップS802の処理をより具体的に説明すると、まず、パケット取得アプリケーション305は、エラージョブパケットのファイルから、パケットの総数を取得する。そして、パケット取得アプリケーション305は、取得したパケットの総数と、図5のステップS502にて内部的に確保しているパケットの総数とを比較する。この比較の結果、図5のステップS502にて内部的に確保しているパケットの総数が、エラージョブパケットのパケットの総数の10倍以上であるならば、ステップS803を省略してステップS804に進む。
一方、図5のステップS502にて内部的に確保しているパケットの総数が、エラージョブパケットのパケットの総数の10倍に達していない場合には、ステップS803に進む。ステップS803に進むと、パケット取得アプリケーション305は、パケットの取得を続行する。具体的に説明すると、ステップS803において、パケット取得アプリケーション305は、図5を用いて説明したのと同様に、異常通信ログを採取するステップを繰り返し行う。その後、エラージョブパケットのパケットの総数の10倍以上になったら、ステップS804へ移行する。
ステップS804に進むと、パケット取得アプリケーション305は、異常通信ログ内の異常通信内容と、エラージョブパケットのファイル内の異常通信内容とを比較する処理を行う。具体的に説明すると、パケット取得アプリケーション305は、異常通信ログと、エラージョブパケットのファイルとの各々において、異常通信が何回発生しているかを算出して、統計的に出現傾向に比べ、特異な結果が発生している箇所を抽出する。異常通信ログ内の異常通信内容から回数を算出する場合には、エラーが発生したアプリケーションと同一のアプリケーションによって通信されたログのみを抽出して算出する。
例えば、エラーが発生したアプリケーションがPDL部402であるとする。そうすると、PDL部402の下位層でネットワークサーバとして動作するアプリケーションはLPD部401である。したがって、パケット取得アプリケーション305は、LPD部401による通信で使用されたパケットのみを異常通信ログから抽出する。より具体的に説明すると、LPD部401のポート番号は515であるため、パケット取得アプリケーション305は、SRCポート及びDSTポートが515であるパケットを抽出する。加えて、パケット取得アプリケーション305は、抽出したパケットに関連したパケットも抽出する。関連したパケットとは、例えばARPパケットである。
そして、パケット取得アプリケーション305は、抽出したパケットに対して、夫々の異常通信の発生回数を算出して、統計的な出現傾向を抽出する。図12は、異常通信ログのパケット数とエラージョブパケットのパケット数と、特異性の有無との一例を、異常通信の内容毎に表形式で示した図である。
図12において、再送1001、通信切断1002、ビジー1003、通信タイムアウト1004が、異常通信(異常なパケット)の種類である。
異常通信ログ1010のパケットのうち、該当するエラー(再送1001、通信切断1002、ビジー1003、通信タイムアウト1004)が発生したパケットの個数が、異常通信ログ1010の列に示される。同様に、エラージョブパケット1020のパケットのうち、該当するエラーが発生したパケットの個数が、エラージョブパケット1020の列に示される。
対象パケット数1005は、対象となるパケット(異常通信ログ1010のパケット及びエラージョブパケット1020のパケット)の総数が示される。
特異性1030の列には、出現傾向の特異性の有無が示されている。
再送1001については、異常通信ログ1010の発生回数が898回であるのに対してエラージョブパケット1020の発生回数は2回である。ここで、対象パケット数1005の割合は略4500:1であるため、その割合を再送1001の発生回数に当てはめると、完全ではないが比例の相関関係にあることが分かる。通信切断1002とビジー1003についても同様に、異常通信ログ1010とエラージョブパケット1020の発生回数に相関関係がある。よってこれらはデータ上の特異性はないと判断できる。一方、通信タイムアウト1004については、異常通信ログ1010の発生回数に対してエラージョブパケット1020での発生回数が相対的に多いことが確認できる。そのため、通信タイムアウト1004については特異性があるものと判断される。このように、異常通信ログ1010とエラージョブパケット1020とを比較して異常通信に特異性が存在したと判断された場合には、特異性のある現象がアプリケーションエラーの発生に関連している可能性がある。
尚、上述では対象パケット数に対する各異常パケット数の割合の比較を行っていたが、出現傾向の特異性を求める手法はそれに限らない。例えば、異なる種類の異常パケット同士の関係同士を比較することにより、出現傾向の特異性を求めることができる。具体的には、異常通信ログ1010の再送、通信切断、通信タイムアウトの割合の比は略8:4:1である。それと比較して、エラージョブパケット1020は再送、通信切断、通信タイムアウトの割合の比は略2:1:50である。この場合、通信タイムアウトが相対的に出現傾向に特異性を含むことが判断できる。このように、エラーによっては、いくつかの異常パケットを抽出して、出現傾向の特異性を求めてもよい。
図10の説明に戻り、ステップS805に進むと、パケット取得アプリケーション305は、発生したアプリケーションのエラーから推測される異常通信を導き出す。PDLエラーに対応する異常通信としては、例えば、前述した図11に示すようなものである。パケット取得アプリケーション305は、内部的に保持している"図11に示す情報"から異常通信を抽出する。例えば、発生したPDLエラーがSYNTAXエラーであるとすると、PDLエラーの原因と推測できる異常通信(異常なパケット)の種類は、図11から、ビジーと通信タイムアウトであると検出できる。
以上のように本実施形態では、パケット取得アプリケーション305は、次のような処理を行う。すなわち、図12に示す情報を用いて、異常通信ログ1010における異常なパケットの出現傾向に対して、アプリケーション310の実行に基づいて取得されたパケットのうち異なる出現傾向を示すパケットの種類1001〜1004を検出する。
次に、ステップS806において、パケット取得アプリケーション305は、エラージョブパケットの異常通信のログ化処理を行う。具体的に説明すると、パケット取得アプリケーション305は、エラージョブパケットの全てのパケットに対して、図6に示した異常通信の発生の有無を抽出し、抽出した内容を、アプリケーションの異常通信ログとしてファイル化する。ログとして保存される情報は、例えば、ステップS504の処理と同様に、取得日時、プロトコル情報、及び異常通信の種別を含む。プロトコル情報には、ネットワークアプリケーションを特定することができる情報が含まれる。更に、パケット取得アプリケーション305は、ステップS804で抽出(推測)した特異性のある異常通信と、ステップS805で抽出したPDLエラーの原因と推測される異常通信とを、それらが分かるようにアプリケーションの異常通信ログに書き込む。図13は、アプリケーションの異常通信ログの一例を示す図である。
図13において、フレーム1101は異常通信である再送が発生しているためログ化されている。フレーム1102はビジーであったためログ化される。加えて、ビジーはステップS805において、PDLエラー(SYNTAXエラー)の原因である可能性があると抽出されているため、ログ中に下記のメッセージが含まれている。
[PDLエラー(SYNTAXエラー)との関連可能性あり]
また、フレーム1103はタイムアウトが発生しているためログ化される。加えて、タイムアウトはステップS805において、PDLエラー(SYNTAXエラー)の原因である可能性があると抽出されているため、ログ中に下記のメッセージが含まれている。
[PDLエラー(SYNTAXエラー)との関連可能性あり]
更に、タイムアウトは、ステップS804において、異常通信の発生個数において特異な結果が確認された現象である。このため、パケット取得アプリケーション305は、ステータスに「(特異現象)」メッセージを記載して、ログの解析者にその旨を促す。つまりフレーム1103のタイムアウトは、エラーの種類から類推される障害の原因となるパケットでもあり、PDLエラー発生時に統計的にも異常な発生頻度を示したものであることを解析者に容易に知らせることができる。このように本実施形態では、パケット取得アプリケーション305は、図13に示す情報を表示することにより、異常通信ログ(パケット)を表示する際に、ステップS805で検出された異常通信(異常なパケット)の種類を解析者が識別可能に表示する。
そして、解析者(例えばPC102、104)は、HDD2004に保存されている"PDLエラーを発生させたエラージョブパケットのファイル"と、ステップS806で作成したアプリケーションの異常通信ログとをMFP101から吸い上げる。これにより、障害解析を高速に行う事を可能とする。エラージョブパケットのファイルと、アプリケーションの異常通信ログとを吸い上げる手法は、例えばFTP(File Transfer Protocol)やSSH(Secure Shell)といったプロトコルによって実現される。
以上のように本実施形態では、MFP101は、受信したパケットを印刷ジョブ単位でファイルとして一時的に保存すると共に、異常通信情報をログ(異常通信ログ)として保存する。MFP101は、保存したファイルの中で、アプリケーションでエラーが発生しないデータについては削除する。そして、MFP101は、任意の印刷ジョブの処理中にエラーが発生した場合、受信したパケットを記憶装置に保存し、且つエラーが発生したジョブパケットに含まれる異常通信と、受信した全ての印刷ジョブに関するパケットに含まれる異常通信とを比較する。そして、その比較の結果として、エラーが発生したジョブパケットにのみ含まれる異常通信を抽出し、抽出した結果が分かるようにログ化する。また、エラーの内容から原因の可能性が疑われる異常通信を判断してログ化する。
以上のようにすることにより、機器(MFP101)が取得した全てのパケットを記憶装置に保存するのではなく、アプリケーションでエラーが発生したアプリケーションデータに関連したパケットのみを保存するため、記憶装置の容量削減が可能になる。また、アプリケーションでエラーが発生したデータのパケットと、通常時のパケットとに含まれる異常通信との発生頻度を比較してその結果をログ化することにより、異常通信の中で、特異な現象を抽出することができ、障害原因の調査の補助情報を提供できる。また、アプリケーションで発生したエラーの内容から、障害の原因である可能性が高い異常通信を導き、ログ化することにより障害原因の調査の補助情報を提供できる。
尚、本実施形態では、取得したパケットの全てを異常通信ログとするようにしたが、必ずしもこのようにする必要はない。例えば、取得したパケットのうち、アプリケーションによる処理の実行(ジョブの実行)が正常に終了したが、異常通信があったパケットのみを異常通信ログとして記憶するようにしてもよい。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。前述した第1の実施形態では、アプリケーションの一例としてPDL部402でエラーが発生した場合を例に挙げて説明した。これに対し、本実施形態では、データ送信アプリケーション404でエラーが発生した場合を例に挙げて説明する。このように本実施形態と前述した第1の実施形態とはエラーが発生したアプリケーションが異なるだけであるので、本実施形態の説明において、前述した第1の実施形態と同一の部分については、図1〜図13に付した符号を付すこと等により、詳細な説明を省略する。
図14は、データ送信アプリケーション404で発生するエラーの内容の一例を示す図である。
図14において、データ送信アプリケーションエラーの内容1210は、データ送信アプリケーション404がスキャンデータをメールサーバ105に送信する際に発生したエラーの内容の一例を示すものである。疑うべき異常通信1220は、エラーの原因として考えられるネットワークの異常通信の一例を示すものである。データ送信アプリケーション404がデータを送信中にエラーが発生した場合、図10に示したフローチャートに従って処理が進行する。ステップS801〜S804までの処理は、前述した第1の実施形態と基本的に同じであるため、ここでの説明は割愛する。
ステップS805に進むと、パケット取得アプリケーション305は、発生したデータ送信アプリケーション404のエラー(データ送信アプリケーションエラー)から推測される異常通信を導き出す。具体的に説明すると、パケット取得アプリケーション305は、内部的に保持している"図14に示す情報"から異常通信を抽出する。例えば、データ送信アプリケーションエラーが送信タイムアウトであるとすると、データ送信アプリケーションエラーの原因と推測できる異常通信は、図14から、通信切断と通信タイムアウトとビジーであると推測できる。
次に、ステップS806において、パケット取得アプリケーション305は、エラージョブパケットの異常通信のログ化処理を行う。具体的に説明すると、パケット取得アプリケーション305は、エラージョブパケットの全てのパケットに対して、図6に示した異常通信の発生の有無を抽出し、抽出した内容を、アプリケーション異常通信ログとしてファイル化する。ログとして保存される情報は、例えば、ステップS504の処理と同様に、取得日時、プロトコル情報、及び異常通信の種別を含む。プロトコル情報には、ネットワークアプリケーションを特定することができる情報を含む。更に、パケット取得アプリケーション305は、次の処理を行う。すなわち、ステップS804で抽出(推測)した特異性のある異常通信と、ステップS805で抽出したデータ送信アプリケーションエラーの原因と推測される異常通信とを、それらが分かるようにアプリケーション異常通信ログに書き込む。
以上のように、データ送信アプリケーション404でエラーが発生した場合にも、第1の実施形態で説明したのと同様の効果を得ることができる。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。前述した第1の実施形態では、図10のステップS802において、パケット数を比較して異常通信ログが比較可能な状態か否かを判定するようにした。これに対し本実施形態では、パケット数に加えて経過時間等も考慮して異常通信ログが比較可能な状態か否かを判定するようにした。このように本実施形態と前述した第1及び第2の実施形態とは、異常通信ログが比較可能な状態か否かを判定する際の動作が主として異なる。したがって、本実施形態の説明において、前述した第1及び第2の実施形態と同一の部分については、図1〜図14に付した符号を付すこと等により、詳細な説明を省略する。
図10のステップS802において、パケット取得アプリケーション305は、エラージョブパケットの異常通信内容と比較する対象となる異常通信ログのパケット数を確認する。エラージョブパケットの異常通信内容と比較する対象となる異常通信ログのパケット数が少ない場合、互いの異常通信の内容を比較したとしても、比較結果から導き出されるエラーの原因の信頼性は高くない。そのため、比較の信頼性を確保できる状態になるまで異常通信ログの採取を続行する。本実施形態においても、エラージョブパケットのパケット数に対して、そのエラージョブパケットの異常通信内容と比較する対象となる異常通信ログのパケット数が10倍を超えた場合に、比較の信頼性を確保できる状態であるとする。
ステップS802の処理をより具体的に説明すると、まず、パケット取得アプリケーション305は、エラージョブパケットのファイルから、パケットの総数を取得する。そして、パケット取得アプリケーション305は、取得したパケットの総数と、図5のステップS502にて内部的に確保しているパケットの総数とを比較する。この比較の結果、図5のステップS502にて内部的に確保しているパケットの総数が、エラージョブパケットのパケットの総数の10倍を超えたならば、ステップS803を省略してステップS804に進む。
一方、図5のステップS502にて内部的に確保しているパケットの総数が、エラージョブパケットのパケットの総数の10倍を超えていない場合には、ステップS803に進む。ステップS803に進むと、パケット取得アプリケーション305は、パケットの取得を続行する。ここで、パケットの取得を開始してからの経過時間が、一定時間を過ぎた場合には、内部的に確保するパケットの総数が規定値(10倍)を超えていない場合でも、パケットの取得を中止する。前記一定時間に到達する前に、受信したパケットの数がエラージョブパケットのパケット数の10倍を超えた場合には、ステップS804に進む。
以上のようにすることにより、第1及び第2の実施形態で説明した効果に加え、異常通信ログとエラージョブパケットとの比較(ステップS804)が行われない状態になることを防止することができる。
尚、本実施形態では、内部的に確保するパケットの総数が規定値に達していない場合でも、パケットを取得するための処理時間が一定時間を過ぎた場合には、パケットの取得を中止してステップS804に進むようにしたが、必ずしもこのようにする必要はない。例えば、内部的に確保するパケットの総数が規定値に達していない場合でも、通信サービス(例えば、印刷、スキャン、コピー等)の内容によって、パケットの取得を中止するようにしてもよい。このようにする場合、異常通信ログに、通信サービスに関する情報を含めるようにする。
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。本実施形態では、図5のステップS503における判定の判定基準(異常通信であるか否かの判断基準)を編集可能にするようにしている。このように本実施形態と前述した第1〜第3の実施形態に、図5のステップS503における判定の判定基準を編集する構成を付加したものになる。したがって、本実施形態の説明において、前述した第1〜第3の実施形態と同一の部分については、図1〜図14に付した符号を付すこと等により、詳細な説明を省略する。
パケット取得アプリケーション305は、起動時に、HDD2004の所定のディレクトリを確認し、そこにコンフィギュレーションファイルが存在しているか否かを判定する。この判定の結果、HDD2004の所定のディレクトリにコンフィギュレーションファイルがない場合、パケット取得アプリケーション305は、第1の実施形態で説明した"図6に示したルール"に従って、異常通信と判定すべき通信上の挙動を定義する。
一方、HDD2004の所定のディレクトリにコンフィギュレーションファイルが存在している場合、パケット取得アプリケーション305は、コンフィギュレーションファイルに示されているルールに従って、異常通信と判定すべき通信上の挙動を定義する。
図15は、コンフィギュレーションファイルの一例を示す図である。コンフィギュレーションファイルは、ユーザによって予め設定されるものである。
図15において、命令部1301は、図6に示した異常通信の各動作に対して、異常通信と見なすか否かを設定している部分である。各項目についてYES又はNOが指定されることによって、異常通信と判断する/しないが設定される。命令部1302は、より詳細なデータ指定を行うための部分である。パケットのデータを1バイト単位で指定していくことにより、指定されたパターンにマッチするパケットを受信した際に、それを異常通信と見なす。コンフィギュレーションファイルは、FTPやSSHといったプロトコルによってMFP101内にプットされる。
以上のようにすることにより、第1〜第3の実施形態で説明した効果に加え、特定のパターンを予めユーザが設定しておくことで、異常通信であるか否かをより柔軟に判定することができる。
(本発明の他の実施形態)
前述した本発明の実施形態における画像形成装置を構成する各手段、並びに解析方法の各ステップは、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図5、図10に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接、あるいは遠隔から供給するものを含む。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
尚、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の第1の実施形態を示し、ネットワークシステムの構成の一例を示すブロック図である。 本発明の第1の実施形態を示し、MFPのコントローラの主要部の構成の一例を示すブロック図である。 本発明の第1の実施形態を示し、MFPの主要な機能構成の一例を示すブロック図である。 本発明の第1の実施形態を示し、アプリケーションの構成の一例を詳細に示したブロック図である。 本発明の第1の実施形態を示し、通常状態におけるパケットを取得する際の動作の一例を説明するフローチャートである。 本発明の第1の実施形態を示し、ステップS503において異常と判定すべき通信上の挙動の一例を示した図である。 本発明の第1の実施形態を示し、受信したパケットのデータグラムを可視化したものの一例を示す図である。 本発明の第1の実施形態を示し、異常通信ログの一例を示す図である。 本発明の第1の実施形態を示し、ステップS505で生成されたファイルのデータの内容の一例を可視化した図である。 本発明の第1の実施形態を示し、図5のステップS509におけるエラー解析処理の詳細を説明するフローチャートである。 本発明の第1の実施形態を示し、LPD部を経由して受信したPDLデータをPDL部が処理する際に発生するエラーの内容と、そのエラーの原因となる可能性が考えられる"ネットワーク通信上の異常"との一例を表形式で対応させて示す図である。 本発明の第1の実施形態を示し、異常通信ログのパケット数とエラージョブパケットのパケット数と、特異性の有無との一例を、異常通信の内容毎に表形式で示した図である。 本発明の第1の実施形態を示し、アプリケーションの異常通信ログの一例を示す図である。 本発明の第2の実施形態を示し、データ送信アプリケーションで発生するエラーの内容の一例を示す図である。 本発明の第4の実施形態を示し、コンフィギュレーションファイルの一例を示す図である。
符号の説明
101 MFP
102、104 PC
103 LAN
105 メールサーバ
301 アプリケーション
302 ソケットI/F
303 ネットワークスタック
304 ネットワークデバイスドライバ
305 パケット取得アプリケーション

Claims (13)

  1. ジョブの処理に用いるアプリケーションの実行に基づくパケットを取得する取得手段と、
    前記取得手段により取得されたパケットに異常があるか否かを判断する判断手段と、
    前記判断手段によりパケットに異常があると判断されると、当該パケットに関する情報を記憶媒体に記憶する記憶手段と、
    ジョブの処理に用いるアプリケーションの実行にエラーが発生した場合、当該アプリケーションの実行に基づき取得されるパケットの出現傾向と、当該アプリケーションが正常に実行された際に前記記憶手段に記憶された異常があると判断されたパケットの出現傾向とを比較する比較手段と、
    前記比較手段により、当該アプリケーションが正常に実行された際に前記記憶手段に記憶された異常があると判断されたパケットの出現傾向に対して、当該アプリケーションの実行に基づき取得されるパケットのうち異なる出現傾向を示すパケットの種類を検出する検出手段とを有することを特徴とする画像形成装置。
  2. 前記検出手段は、アプリケーションの実行で発生したエラーの種類に応じて、当該エラーの原因の可能性があるパケットの種類を検出する特徴とする請求項1に記載の画像形成装置。
  3. 前記記憶手段に記憶されたパケットを表示する際、前記検出手段により検出された種類のパケットを識別可能に表示する表示手段を有することを特徴とする請求項1または2に記載の画像形成装置。
  4. 前記比較手段は、ジョブの処理に用いるアプリケーションの実行にエラーが発生した際に前記記憶手段に記憶された当該アプリケーションの実行に基づくパケットの数が閾値以下の場合は比較を行わず、前記記憶手段に記憶された当該アプリケーションの実行に基づくパケットの数が当該閾値を超えた場合に比較を行うことを特徴とする請求項1乃至3の何れか1項に記載の画像形成装置。
  5. 前記比較手段は、ジョブの処理に用いるアプリケーションの実行にエラーが発生した際に前記記憶手段に記憶された当該アプリケーションの実行に基づくパケットの数が閾値以下の場合は比較を行わず、予め定められた時間が経過した場合に比較を行うことを特徴とする請求項1乃至4の何れか1項に記載の画像形成装置。
  6. 前記取得手段により取得されたパケットをジョブ単位で記憶媒体に保存する保存手段と、
    前記保存手段により保存されたパケットに関連するジョブが正常に終了すると、そのパケットを削除する削除手段とを有することを特徴とする請求項1乃至5の何れか1項に記載の画像形成装置。
  7. ジョブの処理に用いるアプリケーションの実行に基づくパケットを取得する取得工程と、
    前記取得工程により取得されたパケットに異常があるか否かを判断する判断工程と、
    前記判断工程によりパケットに異常があると判断されると、当該パケットに関する情報を記憶媒体に記憶する記憶工程と、
    ジョブの処理に用いるアプリケーションの実行にエラーが発生した場合、当該アプリケーションの実行に基づき取得されるパケットの出現傾向と、当該アプリケーションが正常に実行された際に前記記憶工程に記憶された異常があると判断されたパケットの出現傾向とを比較する比較工程と、
    前記比較工程により、当該アプリケーションが正常に実行された際に前記記憶工程に記憶された異常があると判断されたパケットの出現傾向に対して、当該アプリケーションの実行に基づき取得されるパケットのうち異なる出現傾向を示すパケットの種類を検出する検出工程とを有することを特徴とする解析方法。
  8. 前記検出工程は、アプリケーションの実行で発生したエラーの種類に応じて、当該エラーの原因の可能性があるパケットの種類を検出する特徴とする請求項7に記載の解析方法。
  9. 前記記憶工程に記憶されたパケットを表示する際、前記検出工程により検出された種類のパケットを識別可能に表示するための制御を行う制御工程を有することを特徴とする請求項7または8に記載の解析方法。
  10. 前記比較工程は、ジョブの処理に用いるアプリケーションの実行にエラーが発生した際に前記記憶工程に記憶された当該アプリケーションの実行に基づくパケットの数が閾値以下の場合は比較を行わず、前記記憶工程に記憶された当該アプリケーションの実行に基づくパケットの数が当該閾値を超えた場合に比較を行うことを特徴とする請求項7乃至9の何れか1項に記載の解析方法。
  11. 前記比較工程は、ジョブの処理に用いるアプリケーションの実行にエラーが発生した際に前記記憶工程に記憶された当該アプリケーションの実行に基づくパケットの数が閾値以下の場合は比較を行わず、予め定められた時間が経過した場合に比較を行うことを特徴とする請求項7乃至10の何れか1項に記載の解析方法。
  12. 前記取得工程により取得されたパケットをジョブ単位で記憶媒体に保存する保存工程と、
    前記保存工程により保存されたパケットに関連するジョブが正常に終了すると、そのパケットを削除する削除工程とを有することを特徴とする請求項7乃至11の何れか1項に記載の解析方法。
  13. 請求項7乃至12の何れか1項に記載の解析方法の工程をコンピュータに実行させることを特徴とするコンピュータプログラム。
JP2007289047A 2007-11-06 2007-11-06 画像形成装置、解析方法、及びコンピュータプログラム Pending JP2009118190A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007289047A JP2009118190A (ja) 2007-11-06 2007-11-06 画像形成装置、解析方法、及びコンピュータプログラム
US12/264,824 US8149443B2 (en) 2007-11-06 2008-11-04 Image forming apparatus and analysis method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007289047A JP2009118190A (ja) 2007-11-06 2007-11-06 画像形成装置、解析方法、及びコンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2009118190A true JP2009118190A (ja) 2009-05-28

Family

ID=40589375

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007289047A Pending JP2009118190A (ja) 2007-11-06 2007-11-06 画像形成装置、解析方法、及びコンピュータプログラム

Country Status (2)

Country Link
US (1) US8149443B2 (ja)
JP (1) JP2009118190A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010212961A (ja) * 2009-03-10 2010-09-24 Canon Inc 処理装置、その制御方法、及びプログラム
JP2019087944A (ja) * 2017-11-09 2019-06-06 コニカミノルタ株式会社 サーバー、再現用データ生成方法および再現用データ生成プログラム
JP2019134336A (ja) * 2018-01-31 2019-08-08 コニカミノルタ株式会社 通信システム、通信装置、通信装置の制御方法、プログラム
JP7120678B1 (ja) * 2021-05-06 2022-08-17 Necプラットフォームズ株式会社 通信処理装置、通信処理システム、障害通知方法及び障害通知プログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5383344B2 (ja) * 2009-06-24 2014-01-08 キヤノン株式会社 情報処理装置及び情報処理装置の制御方法、並びにプログラム
JP5355288B2 (ja) * 2009-08-04 2013-11-27 キヤノン株式会社 データ処理装置、制御方法、及びプログラム
JP5546189B2 (ja) * 2009-09-18 2014-07-09 キヤノン株式会社 画像形成装置、画像形成装置の制御方法及びプログラム
JP6335527B2 (ja) * 2014-01-28 2018-05-30 キヤノン株式会社 システム、システムの制御方法およびコンピュータプログラム
JP6921487B2 (ja) * 2016-06-07 2021-08-18 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04119421A (ja) * 1990-09-10 1992-04-20 Nec Off Syst Ltd プリンタ制御装置
US7068386B2 (en) * 2000-05-16 2006-06-27 Canon Kabushiki Kaisha Image processing system, image data processing method, and storage medium
JP4695814B2 (ja) * 2002-02-08 2011-06-08 株式会社日立グローバルストレージテクノロジーズ データ復号方法・回路及びこれを用いた情報記録再生装置
JP4135395B2 (ja) * 2002-04-26 2008-08-20 日本電気株式会社 符号化パケット伝送受信方法およびその装置ならびにプログラム
JP2004362386A (ja) 2003-06-06 2004-12-24 Ricoh Co Ltd ネットワークプリンタ
WO2006035753A1 (ja) * 2004-09-29 2006-04-06 Pioneer Corporation 無線受信装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010212961A (ja) * 2009-03-10 2010-09-24 Canon Inc 処理装置、その制御方法、及びプログラム
JP2019087944A (ja) * 2017-11-09 2019-06-06 コニカミノルタ株式会社 サーバー、再現用データ生成方法および再現用データ生成プログラム
JP2019134336A (ja) * 2018-01-31 2019-08-08 コニカミノルタ株式会社 通信システム、通信装置、通信装置の制御方法、プログラム
US10659652B2 (en) 2018-01-31 2020-05-19 Konica Minolta, Inc. Communication system, communication device, method of controlling communication device, and program
JP7120678B1 (ja) * 2021-05-06 2022-08-17 Necプラットフォームズ株式会社 通信処理装置、通信処理システム、障害通知方法及び障害通知プログラム

Also Published As

Publication number Publication date
US8149443B2 (en) 2012-04-03
US20090119550A1 (en) 2009-05-07

Similar Documents

Publication Publication Date Title
JP2009118190A (ja) 画像形成装置、解析方法、及びコンピュータプログラム
JP5094543B2 (ja) 情報処理装置、制御方法、及びプログラム
US9026642B2 (en) Processing apparatus, control method thereof, and storage medium
JP2006315401A (ja) 印刷装置でエラーをトラブルシュートする手法
JP2006345318A (ja) 画像処理システム及び画像処理方法
JP2001168950A (ja) エラー通知装置およびエラー通知方法
JP2009276936A (ja) データ処理装置、データ処理方法、及びコンピュータプログラム
US20110134758A1 (en) Information processing apparatus, control method thereof and computer program
JP2004355634A (ja) ネットワーク電子機器の遠隔制御方法及び装置
JP5893294B2 (ja) 画像処理装置及びその制御方法、並びにプログラム
JP2007323162A (ja) クライアント装置及びサーバ装置及びプログラム
JP5274203B2 (ja) データ処理装置、方法、プログラム、並びに、データ処理システム
JP5132444B2 (ja) 通信装置、その制御方法およびプログラム
JP2004356849A (ja) ファクシミリ装置
JP2003177901A (ja) 情報処理装置、情報処理サービス方法、その方法を実行させるためのプログラム、及びプログラムを記録した情報記録媒体
JP4861099B2 (ja) 画像形成装置、画像処理方法、プログラム
JP2006202217A (ja) 印刷システム
JP4948623B2 (ja) 画像処理システム、画像処理システムの制御方法およびプログラム
JP2004005174A (ja) 電子メールシステム、およびこれを用いた画像形成装置の管理システム
JP2004005173A (ja) ネットワーク画像形成装置
JP2004050550A (ja) プリンタ装置
JP2010005820A (ja) 画像形成装置、そのデータ処理方法、プログラム及び記憶媒体
JP2009159196A (ja) 画像形成装置
JP2004088300A (ja) データ通信装置及び方法
JP2006159761A (ja) 画像形成装置