(57)【特許請求の範囲】
【請求項１】
印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションを複数搭載可能とし、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行うプログラムとを備え、前記アプリケーションと前記プログラムはそれぞれプロセスとして動作し、プロセス間通信を行うことによって前記画像情報処理を行う画像情報処理装置であって、
プロセス間通信に関する通信情報の取得条件を定めた制御情報を格納した記憶手段と、
前記アプリケーションのプロセスまたは前記プログラムのプロセスを含む複数のプロセス間で共有される共有メモリと、
前記アプリケーションおよび前記プログラムの各プロセス内部で起動され、前記アプリケーション同士または前記プログラム同士もしくは前記アプリケーションと前記プログラムの間のプロセス間通信によって受信した通信情報から、前記制御情報に基づいて前記通信情報を抽出して前記共有メモリに格納する通信情報取得手段と、
を備えたことを特徴とする画像情報処理装置。
【請求項２】
前記制御情報は、前記プログラムまたは前記アプリケーションの中から前記通信情報の取得対象プロセスを指定したものであり、
前記通信情報取得手段は、前記取得対象プロセスにおける前記通信情報を抽出して前記共有メモリに格納することを特徴とする請求項１に記載の画像情報処理装置。
【請求項３】
前記制御情報は、前記取得対象プロセスにおけるプロセス間通信の相手先プロセスをさらに指定したものであり、
前記通信情報取得手段は、前記相手先プロセスからの通信情報のみを抽出して前記共有メモリに格納することを特徴とする請求項２に記載の画像情報処理装置。
【請求項４】
前記制御情報は、前記画像情報処理にかかるユーザサービスの中から一または複数のユーザサービスを指定したものであり、
前記通信情報取得手段は、前記制御情報で指定された前記ユーザサービスを提供する際に実行される前記アプリケーションおよび前記プログラムのすべてのプロセスを選定して、選定されたプロセスで受信した前記通信情報を抽出して前記共有メモリに格納することを特徴とする請求項１〜３のいずれか一つに記載の画像情報処理装置。
【請求項５】
前記通信情報取得手段は、前記通信情報のデータ種別またはプロセス情報を含むヘッダ情報のみを前記通信情報として抽出して前記共有メモリに格納することを特徴とする請求項１〜４のいずれか一つに記載の画像情報処理装置。
【請求項６】
前記共有メモリに格納された前記通信情報を一定時間ごとに取得し、取得した前記通信情報を記録した通信履歴情報を生成する通信履歴生成手段をさらに備えたことを特徴とする請求項１〜５のいずれか一つに記載の画像情報処理装置。
【請求項７】
前記通信履歴生成手段は、さらに前記通信履歴情報を、ネットワークに接続されて複数の画像情報処理装置を管理する管理装置に送信することを特徴とする請求項６に記載の画像情報処理装置。
【請求項８】
印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションを複数搭載可能とし、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行うプログラムとを備え、前記アプリケーションと前記プログラムはそれぞれプロセスとして動作し、プロセス間通信を行うことによって前記画像情報処理を行う画像情報処理装置であって、
プロセス間通信に関する通信情報の取得条件を定めた制御情報を格納した記憶手段と、
前記アプリケーションのプロセスまたは前記プログラムのプロセスを含む複数のプロセス間で共有される共有メモリと、
前記アプリケーションおよび前記プログラムのプロセスの中で起動され、前記アプリケーション同士または前記プログラム同士もしくは前記アプリケーションと前記プログラムの間のプロセス間通信により受信した通信情報を前記共有メモリに格納する通信情報取得手段と、
一定時間ごとに、前記共有メモリから前記制御情報に基づいて前記通信情報を抽出し、抽出した前記通信情報を記録した通信履歴情報を生成する通信履歴生成手段と、
を備えたことを特徴とする画像情報処理装置。
【請求項９】
前記制御情報は、前記プログラムまたは前記アプリケーションの中から前記通信情報の取得対象プロセスを指定したものであり、
前記通信履歴生成手段は、前記取得対象プロセスにおける前記通信情報を抽出して前記通信履歴情報を生成することを特徴とする請求項８に記載の画像情報処理装置。
【請求項１０】
前記制御情報は、前記取得対象プロセスにおけるプロセス間通信の相手先プロセスをさらに指定したものであり、
前記通信履歴生成手段は、前記相手先プロセスからの前記通信情報のみを抽出して前記通信履歴情報を生成することを特徴とする請求項９に記載の画像情報処理装置。
【請求項１１】
前記制御情報は、前記画像情報処理にかかるユーザサービスの中から一または複数のユーザサービスを指定したものであり、
前記通信履歴生成手段は、前記制御情報で指定された前記ユーザサービスを提供する際に実行される前記アプリケーションおよび前記プログラムのすべてのプロセスにおける前記通信情報を抽出して前記通信履歴情報を生成することを特徴とする請求項８〜１０のいずれか一つに記載の画像情報処理装置。
【請求項１２】
前記通信履歴生成手段は、前記通信情報のデータ種別またはプロセス情報を含むヘッダ情報のみを前記通信情報として抽出して前記通信履歴情報を生成することを特徴とする請求項８〜１１のいずれか一つに記載の画像情報処理装置。
【請求項１３】
通信履歴開始要求があったときに、プロセス間通信に関する通信情報の取得要求を前記アプリケーションまたは前記プログラムのプロセスに送信する通信履歴管理手段をさらに備え、
前記通信情報取得手段は、前記アプリケーションおよび前記プログラムのプロセスが前記取得要求を受信したときに起動されることを特徴とする請求項１〜１２のいずれか一つに記載の画像情報処理装置。
【請求項１４】
前記アプリケーションおよび前記プログラムは、前記通信情報取得手段をプロセス内部で起動する起動関数を有し、
前記通信履歴管理手段は、前記起動関数の呼び出しにより、前記取得対象の前記アプリケーションのプロセスおよび前記プログラムのプロセスに前記取得要求を行うことを特徴とする請求項１３に記載の画像情報処理装置。
【請求項１５】
前記通信履歴管理手段は、さらに前記制御情報を受信し、受信した前記制御情報を前記記憶手段に格納することを特徴とする請求項１３または１４に記載の画像情報処理装置。
【請求項１６】
前記プログラムは、画像情報処理装置で動作するプロセスの制御およびオペレーションパネルの制御を行うシステムコントロールサービスを備え、
前記システムコントロールサービスは、前記通信履歴開始要求と前記制御情報を受信し、受信した前記通信履歴開始要求と前記制御情報を前記通信履歴管理手段に転送することを特徴とする請求項１３〜１５のいずれか一つに記載の画像情報処理装置。
【請求項１７】
前記システムコントロールサービスは、前記通信履歴開始要求と前記制御情報を、ネットワークに接続された複数の画像情報処理装置を管理する管理装置から受信することを特徴とする請求項１６に記載の画像情報処理装置。
【請求項１８】
前記システムコントロールサービスは、前記通信履歴開始要求と前記制御情報を、ネットワークに接続されたクライアント端末から受信することを特徴とする請求項１６に記載の画像情報処理装置。
【請求項１９】
前記共有メモリは、前記通信情報の取得対象である前記プログラムまたは前記アプリケーションの各プロセスごとに別個に設けられていることを特徴とする請求項１〜１８のいずれか一つに記載の画像情報処理装置。
【請求項２０】
印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションを複数搭載可能とし、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行うプログラムとを備え、前記アプリケーションと前記プログラムはそれぞれプロセスとして動作し、プロセス間通信を行うことによって前記画像情報処理を行う画像情報処理装置と、前記画像情報処理装置とネットワークによって接続され、前記画像情報処理装置を管理する管理サーバとを備えた画像情報処理システムであって、
前記画像情報処理装置は、
プロセス間通信に関する通信情報の取得条件を定めた制御情報を格納した記憶手段と、
前記アプリケーションおよび前記プログラムの各プロセス内部で起動され、前記アプリケーション同士または前記プログラム同士もしくは前記アプリケーションと前記プログラムの間のプロセス間通信によって受信した通信情報から、前記制御情報に基づいて前記通信情報を抽出する通信情報取得手段と、
前記通信情報取得手段によって抽出された前記通信情報を、前記管理サーバに送信する送信手段と、を備え、
前記管理サーバは、
前記画像情報処理装置から前記通信情報を受信し、受信した前記通信情報を記録した通信履歴情報を生成する通信履歴生成手段
を備えたことを特徴とする画像情報処理システム。
【請求項２１】
前記画像情報処理装置は、
前記アプリケーションのプロセスまたは前記プログラムのプロセスを含む複数のプロセス間で共有される共有メモリを備え、
前記通信情報取得手段は、さらに抽出した前記通信情報を、前記共有メモリに格納し、
前記送信手段は、前記共有メモリに格納された前記通信情報を一定時間ごとに取得して、取得した前記通信情報を前記管理サーバに送信することを特徴とする請求項２０に記載の画像情報処理システム。
【請求項２２】
印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションを複数搭載可能とし、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行うプログラムとを備え、前記アプリケーションと前記プログラムはそれぞれプロセスとして動作し、プロセス間通信を行うことによって前記画像情報処理を行う画像情報処理装置と、前記画像情報処理装置とネットワークによって接続され、前記画像情報処理装置を管理する管理サーバとを備えた画像情報処理システムであって、
前記画像情報処理装置は、
前記アプリケーションおよび前記プログラムのプロセスの中で起動され、前記アプリケーション同士または前記プログラム同士もしくは前記アプリケーションと前記プログラムの間のプロセス間通信により受信した通信情報を取得する通信情報取得手段と、
前記通信情報取得手段により取得した前記通信情報を、前記管理サーバに送信する送信手段と、を備え、
前記管理サーバは、
プロセス間通信に関する通信情報の取得条件を定めた制御情報を格納した記憶手段と、
前記画像情報処理装置から前記通信情報を受信し、受信した前記通信情報から前記制御情報に基づいて前記通信情報を抽出して通信履歴情報を生成する通信履歴生成手段と、
を備えたことを特徴とする画像情報処理システム。
【請求項２３】
前記画像情報処理装置は、
前記アプリケーションのプロセスまたは前記プログラムのプロセスを含む複数のプロセス間で共有される共有メモリをさらに備え、
前記通信情報取得手段は、さらに取得した前記通信情報を前記共有メモリに格納し、
前記送信手段は、一定時間ごとに、前記共有メモリから前記通信情報を取得して、取得した前記通信情報を前記管理サーバに送信することを特徴とする請求項２２に記載の画像情報処理システム。
【請求項２４】
前記管理サーバは、さらに前記通信履歴情報を、ネットワークに接続されて前記画像情報処理装置の動作情報を管理する遠隔集中管理装置に送信する遠隔送信手段をさらに備えたことを特徴とする請求項２０〜２３のいずれか一つに記載の画像情報処理システム。
【請求項２５】
印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションを複数搭載可能とし、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行うプログラムとを備え、前記アプリケーションと前記プログラムはそれぞれプロセスとして動作し、プロセス間通信を行うことによって前記画像情報処理を行う画像情報処理装置で行われるプロセス間通信に関する通信情報を取得するプロセス間通信情報取得方法であって、
前記アプリケーションおよび前記プログラムの各プロセス内部で、前記アプリケーション同士または前記プログラム同士もしくは前記アプリケーションと前記プログラムの間のプロセス間通信による通信情報から、前記通信情報の取得条件を定めた制御情報に基づいて前記通信情報を抽出して前記共有メモリに格納する通信情報取得ステップ
を含んだことを特徴とするプロセス間通信情報取得方法。
【請求項２６】
前記通信情報取得ステップは、前記制御情報により指定された前記通信情報の取得対象プロセスにおける前記通信情報を抽出して前記共有メモリに格納することを特徴とする請求項２５に記載のプロセス間通信情報取得方法。
【請求項２７】
前記通信情報取得ステップは、前記制御情報により指定された前記取得対象プロセスにおけるプロセス間通信の相手先プロセスからの前記通信情報のみを抽出して前記共有メモリに格納することを特徴とする請求項２６に記載のプロセス間通信情報取得方法。
【請求項２８】
前記通信情報取得ステップは、前記制御情報で指定された一または複数の前記ユーザサービスを提供する際に実行される前記アプリケーションおよび前記プログラムのすべてのプロセスにおける前記通信情報を抽出して前記共有メモリに格納することを特徴とする請求項２５〜２７のいずれか一つに記載のプロセス間通信情報取得方法。
【請求項２９】
前記通信情報取得ステップは、前記通信情報のデータ種別またはプロセス情報を含むヘッダ情報のみを前記通信情報として抽出して前記共有メモリに格納することを特徴とする請求項２５〜２８のいずれか一つに記載のプロセス間通信情報取得方法。
【請求項３０】
前記共有メモリに格納された前記通信情報を一定時間ごとに取得し、取得した前記通信情報を記録した通信履歴情報を生成する通信履歴生成ステップをさらに含んだことを特徴とする請求項２５〜２９のいずれか一つに記載のプロセス間通信情報取得方法。
【請求項３１】
前記通信履歴生成ステップは、前記通信履歴情報を、ネットワークに接続されて複数の画像情報処理装置を管理する管理装置に送信する送信ステップを含んだことを特徴とする請求項３０に記載のプロセス間通信情報取得方法。
【請求項３２】
印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションを複数搭載可能とし、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行うプログラムとを備え、前記アプリケーションと前記プログラムはそれぞれプロセスとして動作し、プロセス間通信を行うことによって前記画像情報処理を行う画像情報処理装置で行われるプロセス間通信に関する通信情報を取得するプロセス間通信情報取得方法であって、
前記アプリケーションおよび前記プログラムの各プロセス内部で、プロセス間通信によって受信した通信情報を共有メモリに格納する通信情報取得ステップと、
一定時間ごとに、前記共有メモリから、前記アプリケーション同士または前記プログラム同士もしくは前記アプリケーションと前記プログラムの間のプロセス間通信に関する通信情報の取得条件を定めた制御情報に基づいて前記通信情報を抽出し、抽出した前記通信情報を記録した通信履歴情報を生成する通信履歴生成ステップと、
を含んだことを特徴とするプロセス間通信情報取得方法。
【請求項３３】
前記通信履歴生成ステップは、前記制御情報により指定された前記通信情報の取得対象プロセスにおける前記通信情報を抽出して、前記通信履歴情報を生成することを特徴とする請求項３２に記載のプロセス間通信情報取得方法。
【請求項３４】
前記通信履歴生成ステップは、前記制御情報により指定された前記取得対象プロセスにおけるプロセス間通信の相手先プロセスからの通信情報のみを抽出して、前記通信履歴情報を生成することを特徴とする請求項３３に記載のプロセス間通信情報取得方法。
【請求項３５】
前記通信履歴生成ステップは、前記制御情報で指定された一または複数の前記ユーザサービスを提供する際に実行される前記アプリケーションおよび前記プログラムのすべてのプロセスにおける前記通信情報を抽出して、前記通信履歴情報を生成することを特徴とする請求項３２〜３４のいずれか一つに記載のプロセス間通信情報取得方法。
【請求項３６】
前記通信履歴生成ステップは、前記通信情報のデータ種別またはプロセス情報を含むヘッダ情報のみを前記通信情報として抽出して、前記通信履歴情報を生成することを特徴とする請求項３２〜３５のいずれか一つに記載のプロセス間通信情報取得方法。
【請求項３７】
通信履歴開始要求があったときに、プロセス間通信に関する通信情報の取得要求を前記アプリケーションまたは前記プログラムのプロセスに送信する通信情報取得要求ステップをさらに備え、
前記通信情報取得ステップは、前記アプリケーションおよび前記プログラムのプロセスが前記取得要求を受信したときに実行されることを特徴とする請求項２５〜３６のいずれか一つに記載のプロセス間通信情報取得方法。
【請求項３８】
前記アプリケーションおよび前記プログラムは、前記通信情報取得ステップをプロセス内部で実行する起動関数を有しており、
前記通信情報取得要求ステップは、前記起動関数の呼び出しにより、前記取得対象の前記アプリケーションのプロセスおよび前記プログラムのプロセスに前記取得要求を行うことを特徴とする請求項３７に記載のプロセス間通信情報取得方法。
【請求項３９】
前記通信情報取得要求ステップは、さらに前記制御情報を受信し、受信した前記制御情報を記憶手段に格納することを特徴とする請求項３７または３８に記載のプロセス間通信情報取得方法。
【請求項４０】
前記通信情報取得要求ステップは、前記通信履歴開始要求と前記制御情報を、ネットワークに接続された複数の画像情報処理装置を管理する管理装置から受信することを特徴とする請求項３９に記載のプロセス間通信情報取得方法。
【請求項４１】
前記通信情報取得要求ステップは、前記通信履歴開始要求と前記制御情報を、ネットワークに接続されたクライアント端末から受信することを特徴とする請求項３９に記載のプロセス間通信情報取得方法。
【請求項４２】
請求項２５〜４１のいずれか一つに記載された方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コピー、プリンタ、スキャナおよびファクシミリなどの画像情報処理にかかるユーザサービスを提供する際に行われるプロセス間通信によって各プロセスで受信したされるデータ（プロセス間通信に関する通信情報）をデバッグのために取得することができる画像情報処理装置、画像情報処理システム、このようなプロセス間通信情報取得方法およびその方法をコンピュータに実行させるプログラムに関するものである。
【０００２】
【従来の技術】
近年、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を１つの筐体内に収納した画像形成装置（以下、「複合機」という。）が一般的に知られている。この複合機は、１つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応する３種類のソフトウェアを設け、ソフトウェアの切り替えによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
【０００３】
このような複合機では、プリンタ、コピー、ファクシミリ、スキャナなどの各機能単位でプロセスとして動作するアプリケーションプログラムを開発しているため、各機能単位のプロセスが複合機上で正常に動作しているか否かを、プロセス単位で調査するデバッグ作業を行っていた。
【０００４】
このような従来の複合機では、コピー、プリンタ、スキャナおよびファクシミリなどの大きな機能単位でプロセスが実行されているため、プロセス間のデータの送受信などはさほど発生せず、従来のようなプロセスごとに行うデバッグ作業によって障害原因を容易に検出することが可能であった。たとえば、コピー動作に障害が生じた場合には、コピー機能を実現するコピープログラムのプロセスが正常動作しているか否かを、プリンタプログラムなど他の機能を実現するプロセスとは別個に検証すれば、障害の原因を容易に把握することができた。
【０００５】
【発明が解決しようとする課題】
このような従来の複合機では、プリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェアをそれぞれ別個に設けているため、各ソフトウェアの開発に多大の時間を要する。このため、出願人は、表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも２つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを備えた画像形成装置（複合機）を発明した。この複合機によれば、アプリケーションの少なくとも２つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行うプラットホームを備えた構成とすることによって、ソフトウェア開発の効率化を図るとともに、装置全体としての生産性を向上させることが可能となる。
【０００６】
このような新規な複合機では、アプリケーションのプロセスが機能ごとに複数存在するばかりか、アプリケーションの少なくとも２つが共通的に必要とするサービスを提供するコントロールサービスのプロセスが存在し、複合機内部には、従来の複合機に比べて非常に多くのプロセスが互いにプロセス間通信を行いながら並列実行されている。また、各プロセス内部には、複数のスレッドが起動されており、スレッドレベルでの並列実行を実現しながら他のプロセスとプロセス間通信を行ってユーザサービスの機能を実現している。さらには、かかる複合機では、コントロールサービスのプロセスは、複数のアプリケーションが共通に必要とするサービスを提供するという位置づけにあるため、各コントロールサービスは多数のアプリケーションのプロセスとの間でデータ送受信が発生する。加えて、アプリケーションのプロセスとの間ばかりではなく、コントロールサービス同士のプロセス間においてもデータの送受信が生じる。
【０００７】
このように、出願人が発明をした新規な複合機は、多数のプロセスやスレッドが複雑に絡み合って協働することによりコピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するという特徴的な構成となっている。このため、従来の複合機のように、各プロセスごとにデバッグ作業を行うだけでは、プロセス間通信で送受信されるデータを正確に把握することができず、デバッグ作業が困難になるという問題がある。
【０００８】
特に、複合機の開発においては、通常のコンピュータ上で動作するソフトウェア開発と異なり、コピー動作、プリンタ動作、スキャナ動作あるいはファクシミリ送信動作が正常でない場合に、その障害原因がスキャナエンジン、プリンタエンジンなどのエンジン部分であるハードウェアにあるのか、このようなエンジン部分を制御するソフトウェアにあるのかを障害調査の初期段階で切り分ける必要がある。上述の出願人が発明した新規な複合機では、かかるエンジン部分の制御は、コントロールサービスのプロセスによって行われており、このコントロールサービスはアプリケーションの下位の層に位置づけらている。このため、複数のコントロールサービスのプロセス間、またはコントロールサービスとアプリケーションのプロセス間の通信が正常に動作しているか否かを正確かつ容易に判断することが、ハードウェア障害とソフトウェア障害の切り分けに必要となるという新規な複合機に特有の問題が生じてくる。
【０００９】
また、この複合機では、アプリケーションとコントロールサービスとを別個に設けているため、複合機の出荷後にユーザもしくは第三者であるサードベンダが新規なアプリケーションを開発して複合機に搭載可能な構成となっている。このため、新規に開発したアプリケーションのプロセスが、既存のコントロールサービスのプロセスや他の既存のアプリケーションのプロセスと正常にプロセス間通信を行っているか否かを正確かつ容易に判断しなければならないという、従来の複合機開発では問題にならなかった新規な課題が生じている。
【００１０】
この発明は上記に鑑みてなされたもので、多数のプロセスが動作する環境でプロセス間通信情報を取得して、デバッグ作業を正確かつ容易に行うことができる画像情報処理装置、画像情報処理システム、プロセス間通信情報取得方法およびこれらの方法をコンピュータに実行させるプログラムを得ることを目的とする。
【００１１】
【課題を解決するための手段】
上記目的を達成するため、請求項１にかかる発明は、印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションを複数搭載可能とし、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行うプログラムとを備え、前記アプリケーションと前記プログラムはそれぞれプロセスとして動作し、プロセス間通信を行うことによって前記画像情報処理を行う画像情報処理装置であって、プロセス間通信に関する通信情報の取得条件を定めた制御情報を格納した記憶手段と、前記アプリケーションのプロセスまたは前記プログラムのプロセスを含む複数のプロセス間で共有される共有メモリと、前記アプリケーションおよび前記プログラムの各プロセス内部で起動され、前記アプリケーション同士または前記プログラム同士もしくは前記アプリケーションと前記プログラムの間のプロセス間通信によって受信した通信情報から、前記制御情報に基づいて前記通信情報を抽出して前記共有メモリに格納する通信情報取得手段と、を備えたことを特徴とする。
【００１２】
この請求項１にかかる発明によれば、アプリケーションおよびプログラムの各プロセス内部で起動される通信情報取得手段によって、アプリケーションまたはプログラムのプロセス間通信によって受信した通信情報から、通信情報の取得条件を定めた制御情報に基づいて通信情報を抽出して共有メモリに格納することで、アプリケーションとプログラム間、アプリケーション間、およびプログラム間など、多数のプロセスが複雑に絡み合ってプロセス間通信を行う特徴的な構成の画像情報処理装置において必要なプロセス間通信情報を取得条件に従って容易に抽出して取得することができ、プロセス数が少ない従来の画像情報処理装置に比べて、デバッグ作業を効率的に行うことができる。また、このようなデバッグ作業の効率化によって結果的に画像情報処理装置の品質を向上させることができる。
【００１３】
また、この請求項１にかかる発明によれば、通信情報取得手段によって、必要なプロセス間通信に関する通信情報を容易に取得でき、デバッグ作業を効率的に行えるので、アプリケーションおよびプログラムの開発ばかりか、サードベンダなどの第三者による新規アプリケーションの開発を促進することができる。
【００１４】
さらに、この請求項１にかかる発明によれば、通信情報取得手段によって、取得した通信情報を、アプリケーションまたはプログラムのプロセスを含む複数のプロセスで共有される共有メモリに格納しているので、他のプロセスから共有メモリを利用したプロセス間通信によって通信情報を取得することが可能となる。このため、当該他のプロセスとして、通信情報からログを生成したり、表示するなどの処理を行うプロセスを設け、デバッグ作業の形態に応じた形式で通信情報を加工することも可能となり、デバッグ作業におけるユーザビリティを向上させることができる。
【００１５】
加えて、この請求項１にかかる発明によれば、通信情報取得手段がアプリケーションおよびプログラムのプロセス内部で起動されており、このプロセス内部で、受信した通信情報から必要な通信情報を抽出してから共有メモリに格納しているので、共有メモリから通信情報を読み出してログ生成やログ表示などを行う場合に、ログ生成処理段階またはログ表示処理段階で通信情報を抽出する場合に比べ、ログ生成やログ表示時における抽出処理の負荷がかからず、ログ生成またはログ表示の処理効率を向上させることができる。
【００１６】
この請求項１の発明における通信情報取得手段は、アプリケーションおよびプログラムのプロセス内部で起動されるものであれば良く、プロセス間通信による受信データを監視する監視スレッドの内部で実行する他、受信データの監視と通信情報の取得とを並列実行するために、当該監視スレッドと別スレッドで構成してもよい。
【００１７】
また、この請求項１の発明における共有メモリは、複数のアプリケーションおよび複数のプログラムの各プロセスごとに設ける構成としたり、資源節約のため、すべてのプロセスで共有可能な単一の共有メモリとすることもできる。ただし、後者の場合には、プロセスの並列実行により通信情報の分断が生じる可能性があるため、各プロセスに対して共有メモリの排他制御を行う機構（たとえば、セマフォやクリティカル・セクションなどの同期メカニズムを利用した共有メモリの排他制御）を設けることが好ましい。
【００１８】
この請求項１の発明における通信情報は、プロセス間通信に関する情報であればよく、イベントや通知などのメッセージや、関数呼び出しなどプロセス間通信を担う情報の他、プロセス識別情報やプロセスの生成または消滅に関する情報を通信情報に含めることもできる。
【００１９】
この請求項１の発明における制御情報は、必要とする通信情報を抽出するための取得条件が指定されたものであればよく、具体的な取得条件については本発明では限定しない。また、制御情報には、このような取得条件の他、デバッグ作業を行うユーザの便宜を図るために、さらにプロセスの生成や消滅などのプロセス自体に関する情報なども取得条件として含めても良い。また、制御情報は、ハードディスクなどの記憶手段に格納されていればよく、フラッシュカードなどの記憶媒体から入力した記憶手段に格納する他、オペレーションパネルなどの操作部から入力したり、ネットワーク経由で受信して記憶手段に格納した場合も含まれる。
【００２０】
また、請求項２にかかる発明は、請求項１に記載の画像情報処理装置において、前記制御情報は、前記プログラムまたは前記アプリケーションの中から前記通信情報の取得対象プロセスを指定したものであり、前記通信情報取得手段は、前記取得対象プロセスにおける前記通信情報を抽出して前記共有メモリに格納することを特徴とする。
【００２１】
この請求項２にかかる発明によれば、通信情報取得手段によって、制御情報で指定された取得対象プロセスにおける通信情報を抽出することで、画像情報処理装置で動作するアプリケーションおよびプログラムの全てのプロセスにおけるプロセス間通信情報を希望しない場合に、必要なプロセスのみのプロセス間通信情報を取得することができ、通信情報取得の処理効率を向上させることができる。また、新規アプリケーションを開発した場合など、デバッグ作業に必要なアプリケーションやプログラムにおける通信情報だけを得ることができるので、デバッグ作業をより効率的に行うことができる。
【００２２】
また、請求項３にかかる発明は、請求項２に記載の画像形成装置において、前記制御情報は、前記取得対象プロセスにおけるプロセス間通信の相手先プロセスをさらに指定したものであり、前記通信情報取得手段は、前記相手先プロセスからの通信情報のみを抽出して前記共有メモリに格納することを特徴とする。
【００２３】
この請求項３にかかる発明によれば、通信情報取得手段によって、制御情報に指定された、取得対象プロセスにおけるプロセス間通信の相手先プロセスからの通信情報のみを抽出することで、アプリケーション、プログラムの中で、特定のプロセス間通信の通信情報だけを得ることができる。このため、画像情報処理装置のデバッグ作業において、障害が生じていると予想されるコンポーネント間のプロセス間通信だけを集中して検証することができ、デバッグ作業をより効率的に行うことができる。
【００２４】
また、請求項４にかかる発明は、請求項１〜３のいずれか一つに記載の画像情報処理装置において、前記制御情報は、前記画像情報処理にかかるユーザサービスの中から一または複数のユーザサービスを指定したものであり、前記通信情報取得手段は、前記制御情報で指定された前記ユーザサービスを提供する際に実行される前記アプリケーションおよび前記プログラムのすべてのプロセスを選定して、選定されたプロセスで受信した前記通信情報を抽出して前記共有メモリに格納することを特徴とする。
【００２５】
この請求項４にかかる発明における「ユーザサービス」とは、コピー、プリンタ、スキャナ、ファクシミリなどの画像情報処理にかかるサービスをいい、例えばアプリケーションを追加することにより新たにサービスが提供可能になった場合には、かかる新たなユーザサービスも含まれる。
【００２６】
この請求項４にかかる発明によれば、通信情報取得手段によって、制御情報で指定されたユーザサービスを提供する際に実行されるアプリケーションおよびプログラムのすべてのプロセスを選定して、選定されたプロセスで受信した通信情報を抽出して共有メモリに格納することで、特定のユーザサービスの機能だけを検証する際に、当該機能に関連するアプリケーションやプログラムを知らなくても制御情報にはユーザサービスのみを指定すれば自動的に必要とされるすべてのプロセスの通信情報を得ることができる。このため、デバッグ作業における制御情報の設定が容易になるとともに、画像情報処理装置のコンポーネント構造を熟知していないユーザでもデバッグ作業を容易に行うことができる。また、デバッグ対象のアプリケーション、プログラムの指定の漏れをなくして、より確実なデバッグ作業を行うことができる。
【００２７】
また、請求項５にかかる発明は、請求項１〜４のいずれか一つに記載の画像情報処理装置において、前記通信情報取得手段は、前記通信情報のデータ種別またはプロセス情報を含むヘッダ情報のみを前記通信情報として抽出して前記共有メモリに格納することを特徴とする。
【００２８】
この請求項５にかかる発明によれば、通信情報取得手段によって、通信情報のデータ種別またはプロセス情報を含むヘッダ情報のみを通信情報として抽出することで、画像情報処理装置のデバッグ作業において、簡易な検証だけを希望する場合にヘッダ情報だけの通信情報を取得することができるので、受信データのすべてを共有メモリに格納する場合に比べ、格納されるデータ量に制限のある共有メモリ資源の節約を図ることができる。
【００２９】
また、請求項６にかかる発明は、請求項１〜５のいずれか一つに記載の画像形成装置において、前記共有メモリに格納された前記通信情報を一定時間ごとに取得し、取得した前記通信情報を記録した通信履歴情報を生成する通信履歴生成手段をさらに備えたことを特徴とする。
【００３０】
この請求項６にかかる発明によれば、通信履歴生成手段によって、共有メモリに格納された通信情報を一定時間ごとに取得して、この通信情報を記録した通信履歴情報を生成することで、多数のプロセス間で複雑に行われるプロセス間通信の状況を把握して障害の原因究明を行うことができ、デバッグ作業をより効率的に行うことができる。
【００３１】
この請求項６にかかる発明における通信履歴情報は、通信情報を記録したものであればよく、通信情報を時系列順にソートして通信履歴情報としたり、プロセスごとに分類して通信履歴情報とすることができる。
【００３２】
また、単に通信情報を収集するだけで、ソートや分類などを行わずに通信履歴情報としても良い。この場合には、デバッグ作業を行うユーザの便宜のために、例えば、通信履歴情報を表示または印刷などの出力処理を行う際に、別プロセスあるいは上記出力処理を行うＰＣなどで通信履歴情報の中の通信情報を時系列順にソートしたり、プロセスごとに分類するなどの加工処理を行うようにしても良い。
【００３３】
また、請求項７にかかる発明は、請求項６に記載の画像情報処理装置において、前記通信履歴生成手段は、さらに前記通信履歴情報を、ネットワークに接続されて複数の画像情報処理装置を管理する管理装置に送信することを特徴とする。
【００３４】
この請求項７にかかる発明によれば、通信履歴生成手段によって、通信履歴情報をネットワークに接続された、複数の画像情報処理装置を管理する管理装置に送信することで、生成された通信履歴情報を管理装置側で参照したり集計するなどの処理を行うことが可能となり、管理装置によって通信履歴情報に基づいた画像情報処理装置の適切な管理を行うことができる。
【００３５】
この請求項７の発明における管理装置には、画像情報処理装置の管理を行う管理サーバの他、複数の画像情報処理装置の動作情報や障害情報を収集して一括管理する遠隔集中管理装置も含まれる。
【００３６】
また、本発明の他の態様としては、請求項６または７に記載の画像情報処理装置において、前記通信履歴生成手段は、さらに前記通信履歴情報を、ネットワークに接続されたクライアント端末に送信することを特徴とするものがあげられる。
【００３７】
この態様の発明によれば、通信履歴生成手段によって、通信履歴情報をネットワークに接続されたクライアント端末に送信することで、生成された通信履歴情報を画像情報処理装置内ばかりか、クライアント端末側で保存しておくことができ、通信履歴情報による集計や加工などが必要に応じて可能となり、通信履歴情報の有効利用を図ることができる。
【００３８】
また、請求項８にかかる発明は、印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションを複数搭載可能とし、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行うプログラムとを備え、前記アプリケーションと前記プログラムはそれぞれプロセスとして動作し、プロセス間通信を行うことによって前記画像情報処理を行う画像情報処理装置であって、プロセス間通信に関する通信情報の取得条件を定めた制御情報を格納した記憶手段と、前記アプリケーションのプロセスまたは前記プログラムのプロセスを含む複数のプロセス間で共有される共有メモリと、前記アプリケーションおよび前記プログラムのプロセスの中で起動され、前記アプリケーション同士または前記プログラム同士もしくは前記アプリケーションと前記プログラムの間のプロセス間通信により受信した通信情報を前記共有メモリに格納する通信情報取得手段と、一定時間ごとに、前記共有メモリから前記制御情報に基づいて前記通信情報を抽出し、抽出した前記通信情報を記録した通信履歴情報を生成する通信履歴生成手段と、を備えたことを特徴とする。
【００３９】
この請求項８にかかる発明によれば、アプリケーションおよびプログラムのプロセスの中で起動される通信情報取得手段によって、アプリケーションおよびプログラムにおけるプロセス間通信により受信した通信情報を共有メモリに格納し、通信履歴生成手段によって、一定時間ごとに共有メモリから、通信情報の取得条件を定めた制御情報に基づいて、通信情報を抽出し、抽出した通信情報を記録した通信履歴情報を生成することで、多数のプロセスが動作している特徴的な構成の画像情報処理装置において必要なプロセス間通信情報を取得条件に従って容易に抽出して通信履歴情報を生成することができ、プロセス間通信の状況を容易に把握してデバッグ作業を効率的に行うことができる。
【００４０】
また、この請求項８にかかる発明によれば、制御情報に基づいた通信情報の抽出を、共有メモリへの格納段階ではなく、共有メモリからの読み出し段階で行っているので、通信履歴情報の生成の際のデータ量が減少し、データ転送効率を向上させることができる。
【００４１】
また、請求項９にかかる発明は、請求項８に記載の画像情報処理装置において、前記制御情報は、前記プログラムまたは前記アプリケーションの中から前記通信情報の取得対象プロセスを指定したものであり、前記通信履歴生成手段は、前記取得対象プロセスにおける前記通信情報を抽出して前記通信履歴情報を生成することを特徴とする。
【００４２】
この請求項９にかかる発明によれば、通信履歴生成手段によって、制御情報で指定された取得対象プロセスにおける通信情報を抽出することで、画像情報処理装置で動作するアプリケーションおよびプログラムの全てのプロセスにおけるプロセス間通信情報を希望しない場合に、必要なプロセスのみのプロセス間通信情報を取得することができ、通信情報取得の処理効率を向上させることができる。また、新規アプリケーションを開発した場合など、デバッグ作業に必要なアプリケーションやプログラムにおける通信情報だけを得ることができるので、デバッグ作業をより効率的に行うことができる。
【００４３】
また、請求項１０にかかる発明は、請求項９に記載の画像情報処理装置において、前記制御情報は、前記取得対象プロセスにおけるプロセス間通信の相手先プロセスをさらに指定したものであり、前記通信履歴生成手段は、前記相手先プロセスからの前記通信情報のみを抽出して前記通信履歴情報を生成することを特徴とする。
【００４４】
この請求項１０にかかる発明によれば、通信履歴生成手段によって、制御情報に指定された、取得対象プロセスにおけるプロセス間通信の相手先プロセスからの通信情報のみを抽出することで、アプリケーション、プログラムの中で、特定のプロセス間通信の通信情報だけを得ることができる。このため、画像情報処理装置のデバッグ作業において、障害が生じていると予想されるコンポーネント間のプロセス間通信だけを集中して検証することができ、デバッグ作業をより効率的に行うことができる。
【００４５】
また、請求項１１にかかる発明は、請求項８〜１０のいずれか一つに記載の画像情報処理装置において、前記制御情報は、前記画像情報処理にかかるユーザサービスの中から一または複数のユーザサービスを指定したものであり、前記通信履歴生成手段は、前記制御情報で指定された前記ユーザサービスを提供する際に実行される前記アプリケーションおよび前記プログラムのすべてのプロセスにおける前記通信情報を抽出して前記通信履歴情報を生成することを特徴とする。
【００４６】
この請求項１１にかかる発明によれば、通信履歴生成手段によって、制御情報で指定されたユーザサービスを提供する際に実行されるアプリケーションおよびプログラムのすべてのプロセスを選定して、選定されたプロセスで受信した通信情報を抽出して通信履歴情報を生成することで、特定のユーザサービスの機能だけを検証する際に、当該機能に関連するアプリケーションやプログラムを知らなくても制御情報にはユーザサービスのみを指定すれば自動的に必要とされるすべてのプロセスの通信情報を得ることができる。このため、デバッグ作業における制御情報の設定が容易になるとともに、画像情報処理装置のコンポーネント構造を熟知していないユーザでもデバッグ作業を容易に行うことができる。また、デバッグ対象のアプリケーション、プログラムの指定の漏れをなくして、より確実なデバッグ作業を行うことができる。
【００４７】
また、請求項１２にかかる発明は、請求項８〜１１のいずれか一つに記載の画像情報処理装置において、前記通信履歴生成手段は、前記通信情報のデータ種別またはプロセス情報を含むヘッダ情報のみを前記通信情報として抽出して前記通信履歴情報を生成することを特徴とする。
【００４８】
この請求項１２にかかる発明によれば、通信履歴生成手段によって、通信情報のデータ種別またはプロセス情報を含むヘッダ情報のみを通信情報として抽出することで、画像情報処理装置のデバッグ作業において、簡易な検証だけを希望する場合にヘッダ情報だけの通信情報を取得することができるので、受信データのすべてを通信履歴情報として記録する場合に比べ、ハードディスクなどの資源の節約を図ることができる。
【００４９】
また、請求項１３にかかる発明は、請求項１〜１２のいずれか一つに記載の画像情報処理装置において、通信履歴開始要求があったときに、プロセス間通信に関する通信情報の取得要求を前記アプリケーションまたは前記プログラムのプロセスに送信する通信履歴管理手段をさらに備え、前記通信情報取得手段は、前記アプリケーションおよび前記プログラムのプロセスが前記取得要求を受信したときに起動されることを特徴とする。
【００５０】
この請求項１３にかかる発明によれば、通信履歴開始要求があったときに、通信履歴管理手段によって、通信情報の取得要求をアプリケーションまたはプログラムのプロセスに送信し、アプリケーションおよびプログラムのプロセスがこの取得要求を受信したときに通信情報取得手段を起動することで、通信情報の取得や通信履歴情報の生成を、画像情報処理装置の再起動なしに、通信履歴開始要求に応じて動的に開始することができ、デバッグ作業を効率的に開始することができる。
【００５１】
この請求項１３の発明における通信履歴管理手段は、実行時のメモリ資源の節約のために、通信履歴生成手段と兼用した構成とすることができる。
【００５２】
また、請求項１４にかかる発明は、請求項１３に記載の画像情報処理装置において、前記アプリケーションおよび前記プログラムは、前記通信情報取得手段をプロセス内部で起動する起動関数を有し、前記通信履歴管理手段は、前記起動関数の呼び出しにより、前記取得対象の前記アプリケーションのプロセスおよび前記プログラムのプロセスに前記取得要求を行うことを特徴とする。
【００５３】
この請求項１４にかかる発明によれば、通信履歴管理手段によって、アプリケーションおよびプログラムで用意された起動関数呼び出しにより、取得対象のアプリケーションのプロセスおよびプログラムのプロセスに取得要求を行うことで、アプリケーションおよびプログラムも起動関数を用意しておけば、通信履歴管理手段による関数呼び出しという簡易なプロセス間通信を利用して前記取得要求を行うことができ、プログラム開発労力の軽減を図ることができる。
【００５４】
また、請求項１５にかかる発明は、請求項１３または１４に記載の画像情報処理装置において、前記通信履歴管理手段は、さらに前記制御情報を受信し、受信した前記制御情報を前記記憶手段に格納することを特徴とする。
【００５５】
この請求項１５にかかる発明によれば、通信履歴管理手段によって、制御情報を受信し、受信した制御情報を記憶手段に格納することで、制御情報に設定された取得条件の変更などが生じた場合でも、取得条件変更に応じて動的に通信情報の取得や通信履歴の生成を行うことができ、制御情報の変更があるたびに画像情報処理装置を再起動させる必要がなく、デバッグ作業をより効率的に行うことができる。
【００５６】
また、請求項１６にかかる発明は、請求項１３〜１５のいずれか一つに記載の画像情報処理装置において、前記プログラムは、画像情報処理装置で動作するプロセスの制御およびオペレーションパネルの制御を行うシステムコントロールサービスを備え、前記システムコントロールサービスは、前記通信履歴開始要求と前記制御情報を受信し、受信した前記通信履歴開始要求と前記制御情報を前記通信履歴管理手段に転送することを特徴とする。
【００５７】
この請求項１６にかかる発明によれば、システムコントロールサービスによって、通信履歴開始要求と制御情報を受信し、受信した通信履歴開始要求と制御情報を通信履歴管理手段に転送することで、ユーザ操作によるオペレーションパネルからの通信履歴開始要求やネットワーク経由での通信履歴開始要求と制御情報の変更などを、システムコントロールサービスで一括して処理することができ、通信履歴開始要求や制御情報の送信先に応じて別個のコンポーネントを設ける必要がなく、実行時に必要なリソースの削減を図ることができる。
【００５８】
また、請求項１７にかかる発明は、請求項１６に記載の画像情報処理装置において、前記システムコントロールサービスは、前記通信履歴開始要求と前記制御情報を、ネットワークに接続された複数の画像情報処理装置を管理する管理装置から受信することを特徴とする。
【００５９】
この請求項１７にかかる発明によれば、システムコントロールサービスによって、通信履歴開始要求と制御情報を、ネットワーク経由で管理装置から受信することで、管理装置からの要求に応じた通信情報の取得や通信履歴情報の生成が可能となり、管理装置による画像情報処理装置の集中管理に拡張性を持たせることができる。
【００６０】
この請求項１７の発明における管理装置には、画像情報処理装置の管理を行う管理サーバの他、複数の画像情報処理装置の動作情報や障害情報を収集して一括管理する遠隔集中管理装置も含まれる。
【００６１】
また、請求項１８にかかる発明は、請求項１６に記載の画像情報処理装置において、前記システムコントロールサービスは、前記通信履歴開始要求と前記制御情報を、ネットワークに接続されたクライアント端末から受信することを特徴とする。
【００６２】
この請求項１８にかかる発明によれば、システムコントロールサービスによって、通信履歴開始要求と制御情報をネットワークに接続されたクライアント端末から受信することで、デバッグ作業を画像情報処理装置から離れた場所で行うことができ、デバッグ作業をより効率的に行うことができる。
【００６３】
また、請求項１９にかかる発明は、請求項１〜１８のいずれか一つに記載の画像情報処理装置において、前記共有メモリは、前記通信情報の取得対象である前記プログラムまたは前記アプリケーションの各プロセスごとに別個に設けられていることを特徴とする。
【００６４】
この請求項１９にかかる発明によれば、共有メモリが通信情報の取得対象であるプログラムまたはアプリケーションの各プロセスごとに別個に設けられているので、プログラムまたはアプリケーションの複数のプロセスの並列実行時にＣＰＵに占有されるプロセスの切り替えが生じた場合でも、各共有メモリに格納される通信情報に分断が生じることがなく、プロセスの並列実行時における通信情報の取得元プロセスの判別が常に可能となる。
【００６５】
また、請求項２０にかかる発明は、印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションを複数搭載可能とし、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行うプログラムとを備え、前記アプリケーションと前記プログラムはそれぞれプロセスとして動作し、プロセス間通信を行うことによって前記画像情報処理を行う画像情報処理装置と、前記画像情報処理装置とネットワークによって接続され、前記画像情報処理装置を管理する管理サーバとを備えた画像情報処理システムであって、前記画像情報処理装置は、プロセス間通信に関する通信情報の取得条件を定めた制御情報を格納した記憶手段と、前記アプリケーションおよび前記プログラムの各プロセス内部で起動され、前記アプリケーション同士または前記プログラム同士もしくは前記アプリケーションと前記プログラムの間のプロセス間通信によって受信した通信情報から、前記制御情報に基づいて前記通信情報を抽出する通信情報取得手段と、前記通信情報取得手段によって抽出された前記通信情報を、前記管理サーバに送信する送信手段と、を備え、前記管理サーバは、前記画像情報処理装置から前記通信情報を受信し、受信した前記通信情報を記録した通信履歴情報を生成する通信履歴生成手段を備えたことを特徴とする。
【００６６】
この請求項２０にかかる発明によれば、画像情報処理装置の通信情報取得手段によって、受信した通信情報から制御情報に基づいて通信情報を抽出し、抽出した通信情報を、送信手段によって管理サーバに送信し、管理サーバの通信履歴生成手段によって、画像情報処理装置から受信した通信情報から通信履歴情報を生成することで、管理サーバ側で複数の画像情報処理装置のプロセス間通信情報の通信履歴情報を一括して管理することができ、複数の画像情報処理装置の通信状況を一カ所で容易に把握することができる。
【００６７】
この請求項２０の発明において、画像情報処理装置の送信手段は、通信情報取得手段と同一プロセス内に設けてもよい。この場合には、通信情報を取得した時点で直ちに管理サーバに送信することが可能となる。また、送信手段と通信情報取得手段とを別プロセスとして設けることも可能である。この場合にはメッセージ送信や共有メモリを利用したプロセス間通信によって通信情報を通信情報取得手段から送信手段に受け渡す必要がある。
【００６８】
また、請求項２１にかかる発明は、請求項２０に記載の画像情報処理システムにおいて、前記画像情報処理装置は、前記アプリケーションのプロセスまたは前記プログラムのプロセスを含む複数のプロセス間で共有される共有メモリを備え、前記通信情報取得手段は、さらに抽出した前記通信情報を、前記共有メモリに格納し、前記送信手段は、前記共有メモリに格納された前記通信情報を一定時間ごとに取得して、取得した前記通信情報を前記管理サーバに送信することを特徴とする。
【００６９】
この請求項２１にかかる発明によれば、画像情報処理装置がアプリケーションのプロセスまたはプログラムのプロセスを含む複数のプロセス間で共有される共有メモリを備え、通信情報取得手段によって抽出した通信情報を、共有メモリに格納し、送信手段によって共有メモリに格納された通信情報を一定時間ごとに取得して管理サーバに送信することで、共有メモリを介したプロセス間通信によって通信情報を通信情報取得手段から送信手段に受け渡すことができる。このため、送信手段を通信情報取得手段とは別プロセスとし、収集した通信情報を一括して管理サーバに送信することができ、通信情報を取得するたびに管理サーバに送信する場合に比べて、ネットワークの負荷を軽減することができる。
【００７０】
また、請求項２２にかかる発明は、印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションを複数搭載可能とし、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行うプログラムとを備え、前記アプリケーションと前記プログラムはそれぞれプロセスとして動作し、プロセス間通信を行うことによって前記画像情報処理を行う画像情報処理装置と、前記画像情報処理装置とネットワークによって接続され、前記画像情報処理装置を管理する管理サーバとを備えた画像情報処理システムであって、前記画像情報処理装置は、前記アプリケーションおよび前記プログラムのプロセスの中で起動され、前記アプリケーション同士または前記プログラム同士もしくは前記アプリケーションと前記プログラムの間のプロセス間通信により受信した通信情報を取得する通信情報取得手段と、前記通信情報取得手段により取得した前記通信情報を、前記管理サーバに送信する送信手段と、を備え、前記管理サーバは、プロセス間通信に関する通信情報の取得条件を定めた制御情報を格納した記憶手段と、前記画像情報処理装置から前記通信情報を受信し、受信した前記通信情報から前記制御情報に基づいて前記通信情報を抽出して通信履歴情報を生成する通信履歴生成手段と、を備えたことを特徴とする。
【００７１】
この請求項２２にかかる発明によれば、画像情報処理装置の通信情報取得手段によって、プロセス間通信により受信した通信情報を取得して、送信手段によって、取得した通信情報を管理サーバに送信し、管理サーバのログ生成手段によって受信した通信情報から制御情報に基づいて通信情報を抽出して通信履歴情報を生成することで、管理サーバ側で複数の画像情報処理装置のプロセス間通信情報の通信履歴情報を一括して生成することができ、複数の画像情報処理装置の通信状況を一カ所で容易に把握することができる。
【００７２】
この請求項２２の発明においても、画像情報処理装置の送信手段は、通信情報取得手段と同一プロセス内に設けてもよい。この場合には、通信情報を取得した時点で直ちに管理サーバに送信することが可能となる。また、送信手段と通信情報取得手段とを別プロセスとして設けることも可能である。この場合にはメッセージ送信や共有メモリを利用したプロセス間通信によって通信情報を通信情報取得手段から送信手段に受け渡す必要がある。
【００７３】
また、請求項２３にかかる発明は、請求項２２に記載の画像情報処理システムにおいて、前記画像情報処理装置は、前記アプリケーションのプロセスまたは前記プログラムのプロセスを含む複数のプロセス間で共有される共有メモリをさらに備え、前記通信情報取得手段は、さらに取得した前記通信情報を前記共有メモリに格納し、前記送信手段は、一定時間ごとに、前記共有メモリから前記通信情報を取得して、取得した前記通信情報を前記管理サーバに送信することを特徴とする。
【００７４】
この請求項２３にかかる発明によれば、画像情報処理装置がアプリケーションのプロセスまたはプログラムのプロセスを含む複数のプロセス間で共有される共有メモリをさらに備え、通信情報取得手段によって、取得した通信情報を共有メモリに格納し、送信手段によって、一定時間ごとに共有メモリから通信情報を取得して管理サーバに送信することで、共有メモリを介したプロセス間通信によって通信情報を通信情報取得手段から送信手段に受け渡すことができる。このため、送信手段を通信情報取得手段とは別プロセスとし、収集した通信情報を一括して管理サーバに送信することができ、通信情報を取得するたびに管理サーバに送信する場合に比べて、ネットワークの負荷を軽減することができる。
【００７５】
また、請求項２４にかかる発明は、請求項２０〜２３のいずれか一つに記載の画像情報処理システムにおいて、前記管理サーバは、さらに前記通信履歴情報を、ネットワークに接続されて前記画像情報処理装置の動作情報を管理する遠隔集中管理装置に送信する遠隔送信手段をさらに備えたことを特徴とする。
【００７６】
この請求項２４にかかる発明によれば、管理サーバの遠隔送信手段によって、生成された通信履歴情報をネットワークに接続された遠隔集中管理装置に送信することで、遠隔集中管理装置は通信履歴情報に基づいて画像情報処理装置の障害情報の詳細を把握することができ、遠隔集中管理装置による画像情報処理装置の障害対応を的確に行うことができる。
【００７７】
また、請求項２５にかかる発明は、印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションを複数搭載可能とし、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行うプログラムとを備え、前記アプリケーションと前記プログラムはそれぞれプロセスとして動作し、プロセス間通信を行うことによって前記画像情報処理を行う画像情報処理装置で行われるプロセス間通信に関する通信情報を取得するプロセス間通信情報取得方法であって、前記アプリケーションおよび前記プログラムの各プロセス内部で、前記アプリケーション同士または前記プログラム同士もしくは前記アプリケーションと前記プログラムの間のプロセス間通信による通信情報から、前記通信情報の取得条件を定めた制御情報に基づいて前記通信情報を抽出して前記共有メモリに格納する通信情報取得ステップを含んだことを特徴とする。
【００７８】
この請求項２５にかかる発明によれば、通信情報取得ステップによって、アプリケーションまたはプログラムのプロセス間通信で受信した通信情報から、通信情報の取得条件を定めた制御情報に基づいて通信情報を抽出して共有メモリに格納することで、アプリケーションとプログラム間、アプリケーション間、およびプログラム間など、多数のプロセスが複雑に絡み合ってプロセス間通信を行う特徴的な構成の画像情報処理装置において必要なプロセス間通信情報を取得条件に従って容易に抽出して取得することができ、プロセス数が少ない従来の画像情報処理装置のデバッグ作業に比べて、デバッグ作業を効率的に行うことができる。また、デバッグ作業の効率化によって結果的に画像情報処理装置の品質を向上させることができる。
【００７９】
また、この請求項２５にかかる発明によれば、必要なプロセス間通信に関する通信情報を容易に取得でき、デバッグ作業を効率的に行えるので、アプリケーションおよびプログラムの開発ばかりか、サードベンダなどの第三者による新規アプリケーションの開発を促進することができる。
【００８０】
さらに、この請求項２５にかかる発明によれば、通信情報取得ステップによって、取得した通信情報を共有メモリに格納しているので、他のプロセスから共有メモリを利用したプロセス間通信によって通信情報を取得することが可能となる。このため、通信ログを生成したり、表示するなどの処理を行うプロセスによって共有メモリ中の通信情報を利用することも容易に可能となり、デバッグ作業の形態に応じた形式で通信情報を利用することができ、デバッグ作業におけるユーザビリティを向上させることができる。
【００８１】
加えて、この請求項２５にかかる発明によれば、通信情報取得ステップがアプリケーションおよびプログラムのプロセス内部で実行され、このプロセス内部で、受信した通信情報から必要な通信情報を抽出してから共有メモリに格納しているので、共有メモリから通信情報を読み出してログ生成やログ表示などを行う場合に、ログ生成処理段階またはログ表示処理段階で通信情報を抽出する場合に比べ、ログ生成やログ表示時における抽出処理の負荷がかからず、ログ生成またはログ表示の処理効率を向上させることができる。
【００８２】
また、請求項２６にかかる発明は、請求項２５に記載のプロセス間通信情報取得方法において、前記通信情報取得ステップは、前記制御情報により指定された前記通信情報の取得対象プロセスにおける前記通信情報を抽出して前記共有メモリに格納することを特徴とする。
【００８３】
この請求項２６にかかる発明によれば、通信情報取得ステップによって、制御情報で指定された取得対象プロセスにおける通信情報を抽出することで、画像情報処理装置で動作するアプリケーションおよびプログラムの全てのプロセスにおけるプロセス間通信情報を希望しない場合に、必要なプロセスのみのプロセス間通信情報を取得することができ、通信情報取得の処理効率を向上させることができる。また、新規アプリケーションを開発した場合など、デバッグ作業に必要なアプリケーションやプログラムにおける通信情報だけを得ることができるので、デバッグ作業をより効率的に行うことができる。
【００８４】
また、請求項２７にかかる発明は、請求項２６に記載のプロセス間通信情報取得方法において、前記通信情報取得ステップは、前記制御情報により指定された前記取得対象プロセスにおけるプロセス間通信の相手先プロセスからの前記通信情報のみを抽出して前記共有メモリに格納することを特徴とする。
【００８５】
この請求項２７にかかる発明によれば、通信情報取得ステップによって、制御情報に指定された、取得対象プロセスにおけるプロセス間通信の相手先プロセスからの通信情報のみを抽出することで、アプリケーション、プログラムの中で、特定のプロセス間通信の通信情報だけを得ることができる。このため、画像情報処理装置のデバッグ作業において、障害が生じていると予想されるコンポーネント間のプロセス間通信だけを集中して検証することができ、デバッグ作業をより効率的に行うことができる。
【００８６】
また、請求項２８にかかる発明は、請求項２５〜２７のいずれか一つに記載のプロセス間通信情報取得方法において、前記通信情報取得ステップは、前記制御情報で指定された一または複数の前記ユーザサービスを提供する際に実行される前記アプリケーションおよび前記プログラムのすべてのプロセスにおける前記通信情報を抽出して前記共有メモリに格納することを特徴とする。
【００８７】
この請求項２８にかかる発明によれば、通信情報取得ステップによって、制御情報で指定されたユーザサービスを提供する際に実行されるアプリケーションおよびプログラムのすべてのプロセスを選定して、選定されたプロセスで受信した通信情報を抽出して共有メモリに格納することで、特定のユーザサービスの機能だけを検証する際に、当該機能に関連するアプリケーションやプログラムを知らなくても制御情報にはユーザサービスのみを指定すれば自動的に必要とされるすべてのプロセスの通信情報を得ることができる。このため、デバッグ作業における制御情報の設定が容易になるとともに、画像情報処理装置のコンポーネント構造を熟知していないユーザでもデバッグ作業を容易に行うことができる。また、デバッグ対象のアプリケーション、プログラムの指定の漏れをなくして、より確実なデバッグ作業を行うことができる。
【００８８】
また、請求項２９にかかる発明は、請求項２５〜２８のいずれか一つに記載のプロセス間通信情報取得方法において、前記通信情報取得ステップは、前記通信情報のデータ種別またはプロセス情報を含むヘッダ情報のみを前記通信情報として抽出して前記共有メモリに格納することを特徴とする。
【００８９】
この請求項２９にかかる発明によれば、通信情報取得ステップによって、通信情報のデータ種別またはプロセス情報を含むヘッダ情報のみを通信情報として抽出することで、画像情報処理装置のデバッグ作業において、簡易な検証だけを希望する場合にヘッダ情報だけの通信情報を取得することができるので、受信データのすべてを共有メモリに格納する場合に比べ、格納されるデータ量に制限のある共有メモリ資源の節約を図ることができる。
【００９０】
また、請求項３０にかかる発明は、請求項２５〜２９のいずれか一つに記載のプロセス間通信情報取得方法において、前記共有メモリに格納された前記通信情報を一定時間ごとに取得し、取得した前記通信情報を記録した通信履歴情報を生成する通信履歴生成ステップをさらに含んだことを特徴とする。
【００９１】
この請求項３０にかかる発明によれば、通信履歴生成ステップによって、共有メモリに格納された通信情報を一定時間ごとに取得して、この通信情報を記録した通信履歴情報を生成することで、多数のプロセス間で複雑に行われるプロセス間通信の状況を把握して障害の原因究明を行うことができ、デバッグ作業をより効率的に行うことができる。
【００９２】
また、請求項３１にかかる発明は、請求項３０に記載のプロセス間通信情報取得方法において、前記通信履歴生成ステップは、前記通信履歴情報を、ネットワークに接続されて複数の画像情報処理装置を管理する管理装置に送信する送信ステップを含んだことを特徴とする。
【００９３】
この請求項３１にかかる発明によれば、遠隔送信ステップによって、通信履歴情報をネットワークに接続された、複数の画像情報処理装置の動作情報を収集する管理装置に送信することで、生成された通信履歴情報を管理装置側で参照したり集計するなどの処理を行うことが可能となり、管理装置によって通信履歴情報に基づいた画像情報処理装置の適切な管理を行うことができる。
【００９４】
本発明の別の態様としては、請求項３０または３１に記載のプロセス間通信情報取得方法において、前記通信履歴生成ステップは、前記通信履歴情報を、ネットワークに接続されたクライアント端末に送信する端末送信ステップを含んだことを特徴とする。
【００９５】
この発明によれば、端末送信ステップによって、通信履歴情報をネットワークに接続されたクライアント端末に送信することで、生成された通信履歴情報を画像情報処理装置内ばかりか、クライアント端末側で保存しておくことができ、通信履歴情報による集計や加工などが必要に応じて可能となり、通信履歴情報の有効利用を図ることができる。
【００９６】
また、請求項３２にかかる発明は、印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションを複数搭載可能とし、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行うプログラムとを備え、前記アプリケーションと前記プログラムはそれぞれプロセスとして動作し、プロセス間通信を行うことによって前記画像情報処理を行う画像情報処理装置で行われるプロセス間通信に関する通信情報を取得するプロセス間通信情報取得方法であって、前記アプリケーションおよび前記プログラムの各プロセス内部で、プロセス間通信によって受信した通信情報を共有メモリに格納する通信情報取得ステップと、一定時間ごとに、前記共有メモリから、前記アプリケーション同士または前記プログラム同士もしくは前記アプリケーションと前記プログラムの間のプロセス間通信に関する通信情報の取得条件を定めた制御情報に基づいて前記通信情報を抽出し、抽出した前記通信情報を記録した通信履歴情報を生成する通信履歴生成ステップと、を含んだことを特徴とする。
【００９７】
この請求項３２にかかる発明によれば、アプリケーションおよびプログラムのプロセス内部で実行される通信情報取得ステップによって、アプリケーションおよびプログラムにおけるプロセス間通信により受信した通信情報を共有メモリに格納し、通信履歴生成ステップによって、一定時間ごとに共有メモリから、通信情報の取得条件を定めた制御情報に基づいて、通信情報を抽出し、抽出した通信情報を記録した通信履歴情報を生成することで、多数のプロセスが動作している特徴的な構成の画像情報処理装置において必要なプロセス間通信情報を取得条件に従って容易に抽出して通信履歴情報を生成することができ、プロセス間通信の状況を容易に把握してデバッグ作業を効率的に行うことができる。
【００９８】
また、この請求項３２にかかる発明によれば、制御情報に基づいた通信情報の抽出を、共有メモリへの格納段階ではなく、共有メモリからの読み出し段階で行っているので、通信履歴情報の生成の際のデータ量が減少し、データ転送効率を向上させることができる。
【００９９】
また、請求項３３にかかる発明は、請求項３２に記載のプロセス間通信情報取得方法において、前記通信履歴生成ステップは、前記制御情報により指定された前記通信情報の取得対象プロセスにおける前記通信情報を抽出して、前記通信履歴情報を生成することを特徴とする。
【０１００】
この請求項３３にかかる発明によれば、通信履歴生成ステップによって、制御情報で指定された取得対象プロセスにおける通信情報を抽出することで、画像情報処理装置で動作するアプリケーションおよびプログラムの全てのプロセスにおけるプロセス間通信情報を希望しない場合に、必要なプロセスのみのプロセス間通信情報を取得することができ、通信情報取得の処理効率を向上させることができる。また、新規アプリケーションを開発した場合など、デバッグ作業に必要なアプリケーションやプログラムにおける通信情報だけを得ることができるので、デバッグ作業をより効率的に行うことができる。
【０１０１】
また、請求項３４にかかる発明は、請求項３３に記載のプロセス間通信情報取得方法において、前記通信履歴生成ステップは、前記制御情報により指定された前記取得対象プロセスにおけるプロセス間通信の相手先プロセスからの通信情報のみを抽出して、前記通信履歴情報を生成することを特徴とする。
【０１０２】
この請求項３４にかかる発明によれば、通信履歴生成ステップによって、制御情報に指定された、取得対象プロセスにおけるプロセス間通信の相手先プロセスからの通信情報のみを抽出することで、アプリケーション、プログラムの中で、特定のプロセス間通信の通信情報だけを得ることができる。このため、画像情報処理装置のデバッグ作業において、障害が生じていると予想されるコンポーネント間のプロセス間通信だけを集中して検証することができ、デバッグ作業をより効率的に行うことができる。
【０１０３】
また、請求項３５にかかる発明は、請求項３２〜３４のいずれか一つに記載のプロセス間通信情報取得方法において、前記通信履歴生成ステップは、前記制御情報で指定された一または複数の前記ユーザサービスを提供する際に実行される前記アプリケーションおよび前記プログラムのすべてのプロセスにおける前記通信情報を抽出して、前記通信履歴情報を生成することを特徴とする。
【０１０４】
この請求項３５にかかる発明によれば、通信履歴生成ステップによって、制御情報で指定されたユーザサービスを提供する際に実行されるアプリケーションおよびプログラムのすべてのプロセスを選定して、選定されたプロセスで受信した通信情報を抽出して通信履歴情報を生成することで、特定のユーザサービスの機能だけを検証する際に、当該機能に関連するアプリケーションやプログラムを知らなくても制御情報にはユーザサービスのみを指定すれば自動的に必要とされるすべてのプロセスの通信情報を得ることができる。このため、デバッグ作業における制御情報の設定が容易になるとともに、画像情報処理装置のコンポーネント構造を熟知していないユーザでもデバッグ作業を容易に行うことができる。また、デバッグ対象のアプリケーション、プログラムの指定の漏れをなくして、より確実なデバッグ作業を行うことができる。
【０１０５】
また、請求項３６にかかる発明は、請求項３２〜３５のいずれか一つに記載のプロセス間通信情報取得方法において、前記通信履歴生成ステップは、前記通信情報のデータ種別またはプロセス情報を含むヘッダ情報のみを前記通信情報として抽出して、前記通信履歴情報を生成することを特徴とする。
【０１０６】
この請求項３６にかかる発明によれば、通信履歴生成ステップによって、通信情報のデータ種別またはプロセス情報を含むヘッダ情報のみを通信情報として抽出することで、画像情報処理装置のデバッグ作業において、簡易な検証だけを希望する場合にヘッダ情報だけの通信情報を取得することができるので、受信データのすべてを通信履歴情報として記録する場合に比べ、ハードディスクなどの資源の節約を図ることができる。
【０１０７】
また、請求項３７にかかる発明は、請求項２５〜３６のいずれか一つに記載のプロセス間通信情報取得方法において、通信履歴開始要求があったときに、プロセス間通信に関する通信情報の取得要求を前記アプリケーションまたは前記プログラムのプロセスに送信する通信情報取得要求ステップをさらに備え、前記通信情報取得ステップは、前記アプリケーションおよび前記プログラムのプロセスが前記取得要求を受信したときに実行されることを特徴とする。
【０１０８】
この請求項３７にかかる発明によれば、通信履歴開始要求があったときに、通信情報取得要求ステップによって、通信情報の取得要求をアプリケーションまたはプログラムのプロセスに送信し、アプリケーションおよびプログラムのプロセスがこの取得要求を受信したときに通信情報取得ステップが実行されることで、通信情報の取得や通信履歴情報の生成を、画像情報処理装置の再起動なしに、通信履歴開始要求に応じて動的に開始することができ、デバッグ作業を効率的に開始することができる。
【０１０９】
また、請求項３８にかかる発明は、請求項３７に記載のプロセス間通信情報取得方法において、前記アプリケーションおよび前記プログラムは、前記通信情報取得ステップをプロセス内部で実行する起動関数を有しており、前記通信情報取得要求ステップは、前記起動関数の呼び出しにより、前記取得対象の前記アプリケーションのプロセスおよび前記プログラムのプロセスに前記取得要求を行うことを特徴とする。
【０１１０】
この請求項３８にかかる発明によれば、通信情報取得要求ステップによって、アプリケーションおよびプログラムで用意された起動関数呼び出しにより、取得対象のアプリケーションのプロセスおよびプログラムのプロセスに取得要求を行うことで、アプリケーションおよびプログラムも起動関数を用意しておけば、通信情報取得要求ステップによる関数呼び出しという簡易なプロセス間通信を利用して前記取得要求を行うことができ、プログラム開発労力の軽減を図ることができる。
【０１１１】
また、請求項３９にかかる発明は、請求項３７または３８に記載のプロセス間通信情報取得方法において、前記通信情報取得要求ステップは、さらに前記制御情報を受信し、受信した前記制御情報を記憶手段に格納することを特徴とする。
【０１１２】
この請求項３９にかかる発明によれば、通信情報取得要求ステップによって、制御情報を受信し、受信した制御情報を記憶手段に格納することで、制御情報に設定された取得条件の変更などが生じた場合でも、取得条件変更に応じて動的に通信情報の取得や通信履歴の生成を行うことができ、制御情報の変更があるたびに画像情報処理装置を再起動させる必要がなく、デバッグ作業をより効率的に行うことができる。
【０１１３】
また、請求項４０にかかる発明は、請求項３９に記載のプロセス間通信情報取得方法において、前記通信情報取得要求ステップは、前記通信履歴開始要求と前記制御情報を、ネットワークに接続された複数の画像情報処理装置を管理する管理装置から受信することを特徴とする。
【０１１４】
この請求項４０にかかる発明によれば、通信情報取得要求ステップによって、通信履歴開始要求と制御情報を、ネットワーク経由で管理装置から受信することで、管理装置からの要求に応じた通信情報の取得や通信履歴情報の生成が可能となり、管理装置による画像情報処理装置の集中管理に拡張性を持たせることができる。
【０１１５】
また、請求項４１にかかる発明は、請求項３９に記載のプロセス間通信情報取得方法において、前記通信情報取得要求ステップは、前記通信履歴開始要求と前記制御情報を、ネットワークに接続されたクライアント端末から受信することを特徴とする。
【０１１６】
この請求項４１にかかる発明によれば、通信情報取得要求ステップによって、通信履歴開始要求と制御情報をネットワークに接続されたクライアント端末から受信することで、デバッグ作業を画像情報処理装置から離れた場所で行うことができ、デバッグ作業をより効率的に行うことができる。
【０１１７】
また、請求項４２にかかる発明は、請求項２５〜４１のいずれか一つに記載された方法をコンピュータに実行させるプログラムであるので、請求項２５〜４１のいずれか一つの動作をコンピュータによって実行することができる。
【０１１８】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる画像情報処理装置、画像情報処理システム、プロセス間通信情報取得方法およびその方法をコンピュータに実行させるプログラムの好適な実施の形態を詳細に説明する。
【０１１９】
（実施の形態１）
図１は、この発明の実施の形態１である画像形成装置（以下、「複合機」という）の機能的構成を示すブロック図である。図１に示すように、複合機１００は、白黒ラインプリンタ（B&W LP）１０１と、カラーラインプリンタ（Color LP）１０２と、スキャナ、ファクシミリ、ハードディスク、メモリ、ネットワークインタフェースなどのハードウェアリソース１０３を有するとともに、プラットホーム１２０とアプリケーション１３０とから構成されるソフトウェア群１１０とを備えている。
【０１２０】
プラットホーム１２０は、アプリケーション１３０からの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ（ＳＲＭ）１２３と、汎用ＯＳ１２１と、ログ生成部１１７とを有する。
【０１２１】
コントロールサービスは、複数のサービスモジュールから形成され、ＳＣＳ（システムコントロールサービス）１２２と、ＥＣＳ（エンジンコントロールサービス）１２４と、ＭＣＳ（メモリコントロールサービス）１２５と、ＯＣＳ（オペレーションパネルコントロールサービス）１２６と、ＦＣＳ（ファックスコントロールサービス）１２７と、ＮＣＳ（ネットワークコントロールサービス）１２８とから構成される。なお、このプラットホーム１２０は、あらかじめ定義された関数により前記アプリケーション１３０から処理要求を受信可能とするアプリケーションプログラムインタフェース（ＡＰＩ）を有する。
【０１２２】
汎用ＯＳ１２１は、ＵＮＩＸ(登録商標)などの汎用オペレーティングシステムであり、プラットホーム１２０並びにアプリケーション１３０の各ソフトウェアをそれぞれプロセスとして並列実行する。
【０１２３】
ＳＲＭ１２３のプロセスは、ＳＣＳ１２２とともにシステムの制御およびリソースの管理を行うものである。ＳＲＭ１２３のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、ＨＤＤファイル、ホストＩ／Ｏ（セントロＩ／Ｆ、ネットワークＩ／Ｆ、ＩＥＥＥ１３９４  Ｉ／Ｆ、ＲＳ２３２Ｃ  Ｉ／Ｆなど）のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。
【０１２４】
具体的には、このＳＲＭ１２３は、要求されたハードウェア資源が利用可能であるか（他の要求により利用されていないかどうか）を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、ＳＲＭ１２３は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容（例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など）を直接実施している。
【０１２５】
ＳＣＳ１２２のプロセスは、アプリ管理、操作部制御、システム画面表示、ＬＥＤ表示、リソース管理、割り込みアプリ制御などを行う。
【０１２６】
ＥＣＳ１２４のプロセスは、白黒ラインプリンタ（B&W LP）１０１、カラーラインプリンタ（Color LP）１０２、スキャナ、ファクシミリなどからなるハードウェアリソース１０３のエンジンの制御を行う。
【０１２７】
ＭＣＳ１２５のプロセスは、画像メモリの取得および解放、ハードディスク装置（ＨＤＤ）の利用、画像データの圧縮および伸張などを行う。
【０１２８】
ＦＣＳ１２７のプロセスは、システムコントローラの各アプリ層からＰＳＴＮ／ＩＳＤＮ網を利用したファクシミリ送受信、ＢＫＭ（バックアップＳＲＡＭ）で管理されている各種ファクシミリデータの登録／引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのＡＰＩを提供する。
【０１２９】
ＮＣＳ１２８のプロセスは、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。具体的には、ftpd、httpd、lpd、snmpd、telnetd、smtpdなどのサーバデーモンや、同プロトコルのクライアント機能などを有している。
【０１３０】
ＯＣＳ１２６は、オペレータ（ユーザ）と本体制御間の情報伝達手段となるオペレーションパネル（操作パネル）２１０の制御を行う。ＯＣＳ１２６は、オペレーションパネル２１０からキー押下をキーイベントとして取得し、取得したキーに対応したキーイベント関数をＳＣＳ１２２に送信するＯＣＳプロセスの部分と、アプリケーション１３０またはコントロールサービスからの要求によりオペレーションパネル２１０に各種画面を描画出力する描画関数やその他オペレーションパネル２１０に対する制御を行う関数などがあらかじめ登録されたＯＣＳ関数ライブラリの部分とから構成される。なお、ＯＣＳ１２６のすべてをプロセスとして動作させるように構成しても良く、あるいはＯＣＳ１２６のすべてをＯＣＳ関数ライブラリとして構成しても良い。
【０１３１】
アプリケーション１３０は、ページ記述言語（ＰＤＬ）、ＰＣＬおよびポストスクリプト（ＰＳ）を有するプリンタ用のアプリケーションであるプリンタアプリ１１１と、コピー用アプリケーションであるコピーアプリ１１２と、ファクシミリ用アプリケーションであるファックスアプリ１１３と、スキャナ用アプリケーションであるスキャナアプリ１１４と、ネットワークファイル用アプリケーションであるネットファイルアプリ１１５と、工程検査用アプリケーションである工程検査アプリ１１６とを有している。これらのアプリケーション１３０はいずれも複合機１００の起動時に初期化部（図示せず）によりプロセスとして生成され、動作する。
【０１３２】
各アプリケーション１３０と各コントロールサービスには、本発明の通信情報取得手段を構成するロギングハンドラが設けられている。このロギングハンドラは、自プロセスが他のプロセスからメッセージや関数呼び出しなどのデータを受信した場合、受信データに応じた処理を実行する前に、後述する制御情報に基づいて受信データからプロセス間通信情報を抽出して、抽出した通信情報を各プロセスごとに確保された共有メモリに書き込む処理を行う。
【０１３３】
ログ生成部１１７は、コントロールサービス層でプロセスとして動作し、アプリケーション１３０とコントロールサービスにより共有メモリに書き込まれた通信情報から、かかる通信情報を記録した通信ログファイルを生成するものであり、本発明における通信履歴生成手段を構成する。ここで、通信ログファイルは本発明における通信履歴情報を構成する。なお、ロギングハンドラとログ生成部１１７の詳細な動作については後述する。
【０１３４】
このように、実施の形態１にかかる複合機１００には、複数のアプリケーション１３０および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション１３０に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いに協調動作を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。
【０１３５】
また、複合機１００では、サードベンダーなどの第三者がコントロールサービス層の上のアプリケーション層に新規なアプリケーションを開発して搭載することが可能となっている。
【０１３６】
なお、実施の形態１にかかる複合機１００では、複数のアプリケーション１３０のプロセスと複数のコントロールサービスのプロセスとが動作しているが、アプリケーション１３０とコントロールサービスのプロセスがそれぞれ単一の構成とすることも可能である。また、アプリケーション１３０が全く存在せず、コントロールサービスのプロセスと汎用ＯＳ１２１とハードウェア資源だけを設け、アプリケーション１３０をＮＣＳ１２８により接続されたネットワークを介して新規アプリケーションをネットワーク経由で搭載可能な構成とすることもできる。また、各アプリケーション１３０は、アプリケーションごとに追加または削除することができる。
【０１３７】
図２は、図１に示した実施の形態１の複合機１００のハードウェア構成図である。図２に示すように、この複合機１００は、ＣＰＵ２０２、ＳＤＲＡＭ２０３、ＳＲＡＭ２０８、フラッシュメモリ（フラッシュＲＯＭ）２０４、フラッシュカードインタフェース部２０６およびＨＤ２０５などをＡＳＩＣ２０１に接続したコントローラボード２００と、オペレーションパネル２１０と、ファックスコントロールユニット（ＦＣＵ）２２０と、ＵＳＢ２３０と、ＩＥＥＥ1394 ２４０と、プリンタ２５０とから構成されている。オペレーションパネル２１０はＡＳＩＣ２０１に直接接続され、ＦＣＵ２２０、ＵＳＢ２３０、ＩＥＥＥ1394 ２４０およびプリンタ２５０はＰＣＩバスを介してＡＳＩＣ２０１に接続されている。
【０１３８】
フラッシュカードインタフェース部２０６は、フラッシュカード２０７を挿入して、フラッシュカード２０７とデータのやりとりを行うインタフェースである。このフラッシュカードインタフェース部２０６によって、プロセス間通信情報の取得条件を設定した制御情報を記録したフラッシュカード２０７を読み込むことができるようになっている。
【０１３９】
ＳＤＲＡＭ２０３には、各アプリケーション１３０や各コントロールサービスごとに、これらの各プロセスがログ生成部１１７のプロセスとの間で、通信情報の送受信を行う際にアクセスされる共有メモリが確保される。また、ＳＤＲＡＭ２０３には、ユーザにより入力された制御情報を、アプリケーション１３０およびコントロールサービスの各プロセスと、ログ生成部１１７のプロセスから参照される制御情報用の共有メモリが確保される。
【０１４０】
ＨＤ２０５には、ログ生成部１１７によってアプリケーション１３０やコントロールサービスの通信情報からなる通信ログファイルが生成される。
【０１４１】
オペレーションパネル２１０は、利用者のキー入力、ボタン押下などのキー操作を入力する操作部と、ボタン、ウィンドウ、各種画面などの描画データを表示する表示部とから構成される。
【０１４２】
図３は、実施の形態１にかかる複合機１００において、プロセス間通信情報取得処理および通信ログ生成処理を実行するプロセスの全体構成を示したブロック図である。なお、図３は、コピーアプリ１１２とＭＣＳ１２５のそれぞれを対象として、各プロセスのプロセス間通信による受信データからプロセス間通信情報を取得し、通信ログファイル３０７を生成する例を示している。
【０１４３】
図３に示すように、実施の形態１の複合機１００によるプロセス間通信情報の取得および通信ログファイルの生成処理においては、複数の共有メモリ３０３，３０４ａ，３０４ｂが生成される。共有メモリには、ユーザが入力した制御ファイルの内容が制御情報として設定される制御情報用の共有メモリ３０３と、各アプリケーション１３０および各コントロールサービスの各プロセスごとに生成される通信情報用の共有メモリ３０４ａ，３０４ｂが、ログ生成部１１７のプロセスによって生成される。
【０１４４】
制御情報用の共有メモリ３０３は、本発明における記憶手段を構成する。この制御情報用の共有メモリ３０３には、ユーザが入力した制御ファイル３０２の設定内容がログ生成部１１７によって制御情報３０５として書きまれる。そして、この制御情報用の共有メモリ３０３に格納された制御情報３０５がログ生成部１１７と、各アプリケーション１３０および各コントロールサービスのプロセスによって参照される。
【０１４５】
図４（ａ）は、実施の形態１の複合機１００で使用される制御ファイル３０２の内容を示す説明図である。制御ファイル３０２は、フラッシュカード２０７に記録して、フラッシュカードインタフェース部２０６によってフラッシュカード２０７から読み込まれる他、ＨＤ２０５の汎用ＯＳ１２１のシステムディレクトリに格納するように構成しても良い。
【０１４６】
図４（ａ）に示すように、制御ファイル３０２は、ログ生成部１１７による通信情報の取得タイミングを設定した「取得制御」ブロックと、通信情報を取得する対象プロセスを設定した「取得対象」ブロックとから構成される。
【０１４７】
図４（ａ）に示すように、制御ファイル３０２の中の「取得制御」ブロックは、ログ生成部１１７による通信情報用の共有メモリ３０４ａ，３０４ｂへのアクセスタイミングを指定する「ポーリング間隔」フィールドと、プロセスの生成および消滅情報を取得するために通信情報用の共有メモリ３０４ａ，３０４ｂにアクセスするタイミングを指定する「プロセス生成・消滅情報出力間隔」フィールドと、プロセス名とプロセスＩＤの対応情報を取得するために通信情報用の共有メモリ３０４ａ，３０４ｂにアクセスするタイミングを指定する「プロセス名・プロセスＩＤ対応情報出力間隔」フィールドと、通信ログファイル３０７の最大サイズを指定する「通信ログファイル最大サイズ」フィールドから構成される。
【０１４８】
制御ファイル３０２の取得対象ブロックは、通信ログファイル３０７に受信データのヘッダのみを記録するか、すべての受信データの情報を記録するかを指定する「ヘッダ」フィールドと、通信情報を取得する対象のプロセスを指定する「対象プロセス」フィールドと、この対象プロセスで指定されたプロセスまたは機能指定で関連するプロセスの受信データから特定のプロセスからの受信データのみを抽出する場合にその特定のプロセスを指定する「相手先プロセス」フィールドと、通信情報を取得するプロセスを複合機１００で提供されるコピー、プリンタ、スキャナ、ファクシミリなどのユーザサービス名で指定する「機能指定」フィールドから構成される。
【０１４９】
「対象プロセス」フィールドは、さらに対象とするプロセス名（たとえば、図４（ａ）に示すように、コピーアプリ、ＭＣＳなど）と、指定されたアプリまたはコントロールサービスのプロセスに対して確保される通信情報用の共有メモリ３０４ａ，３０４ｂを識別する共有メモリキーＩＤと、確保する通信制御用の共有メモリ３０４ａ，３０４ｂのサイズとを指定するようになっている。
【０１５０】
「相手先プロセス」フィールドには、「対象プロセス」フィールドで指定したプロセスが通信情報として取得する受信データの送信元のプロセス名を対象プロセスごとに指定される。図４（ａ）の例では、コピーアプリ１１２におけるＥＣＳ１２４からの受信データを、ＭＣＳ１２５におけるＥＣＳ１２４からの受信データのみを通信情報として取得することを指定している。
【０１５１】
「機能指定」フィールドには、「コピー」、「プリンタ」、「スキャナ」、「ファクシミリ送信」、「ファクシミリ受信」、「ＰＣファクシミリ」などのユーザサービス名が指定される。
【０１５２】
通信情報用の共有メモリ３０４ａ，３０４ｂは、コピーアプリ１１２やＭＣＳ１２５などの各プロセスごとにログ生成部１１７によってＳＤＲＡＭ２０３上に生成され、さらにログ生成部１１７によって各共有メモリ内部に、通信情報を格納するＦＩＦＯ（First-In First-Out）キュー３０６ａ，３０６ｂが生成される。このＦＩＦＯキュー３０６ａ，３０６ｂは、通信情報を格納順に読み出し可能となっている。このため、ＦＩＦＯキューに格納された通信情報は時系列に読み出されることになる。このように共有メモリ３０４ａ，３０４ｂを各プロセスごとに生成しているのは、以下の理由による。すべてのプロセスで書き込み可能な単一の共有メモリを設けて通信情報を書き込むと、コピーアプリ１１２などのアプリケーションのプロセス、ＭＣＳ１２５などのコントロールサービスのプロセスは、汎用ＯＳ１２１のカーネルの管理下で並列に実行されているため、共有メモリに書き込まれる通信情報が並列実行の状況によって分断されてしまい、どのプロセスから書き込まれた通信情報であるかを判別不可能となってしまうからである。実施の形態１の複合機１００では、図３に示すように、各プロセスごとに別個の共有メモリ３０４ａ，３０４ｂを設けて通信情報を書き込むように構成しているので、通信情報の書き込み元のプロセスを容易に判別することが可能となっている。
【０１５３】
コピーアプリ１１２のプロセスとＭＣＳ１２５のプロセスの内部には、ロギングハンドラ３０１が起動される。このロギングハンドラ３０１は、制御情報３０５の設定内容を解析し、その設定内容に従って受信したデータから通信情報を抽出し、抽出された通信情報を、各プロセスごとの共有メモリのＦＩＦＯキュー３０６ａ，３０６ｂに格納する。
【０１５４】
図５は、実施の形態１にかかる複合機１００のアプリケーション１３０およびコントロールサービスのプロセス内部の状態を示すブロック図である。アプリケーション１３０およびコントロールサービスのプロセスには、ディスパッチャ５０１と、関数ハンドラ５０２と、メッセージハンドラ５０３と、エラーハンドラ５０４と、ロギングハンドラ３０１が動作している。
【０１５５】
ディスパッチャ５０１は、他のプロセスのスレッドからの関数呼び出しおよびメッセージの受信を監視するスレッドである。ディスパッチャ５０１は、そのスレッド上で、関数ハンドラ５０２、メッセージハンドラ５０３、エラーハンドラ５０４およびロギングハンドラ３０１を起動する。関数ハンドラ５０２は、他のプロセスから呼び出された関数の具体的な処理を実行するものであり、実際には関数ごとに複数存在する。ディスパッチャ５０１は、他のプロセスから関数呼び出しを受信すると、受信データのデータ種別を判定し、受信データが関数データである場合には、受信した関数に対応する関数ハンドラ５０２を呼び出す。そして、呼び出された関数ハンドラ５０２によって要求された処理を実行し、その関数戻り値を関数呼び出しを行ったプロセスへ返信する。
【０１５６】
メッセージハンドラ５０３は、受信したメッセージに対する処理を行うものである。ディスパッチャ５０１は、受信データのデータ種別を判定し、受信データがメッセージの場合には、メッセージハンドラ５０３を呼び出すようになっている。エラーハンドラ５０４は、ディスパッチャ５０１の実行中にエラーが発生した場合に呼び出され、エラー通知などのエラー処理を行う。
【０１５７】
ロギングハンドラ３０１は、プロセスの起動時に、ログ生成部１１７のプロセスが存在している場合にのみ起動される。ロギングハンドラ３０１が起動された場合には、ディスパッチャ５０１が関数呼び出しやメッセージを受信したときに、上述のように関数ハンドラ５０２またはメッセージハンドラ５０３を直ちに呼び出すことはせず、先にロギングハンドラ３０１を呼び出して受信した関数呼び出しやメッセージを一旦ロギングハンドラ３０１に受け渡す。このとき、ロギングハンドラ３０１は受け渡された関数呼び出しやメッセージの受信データから、制御情報３０５の指定に従って通信情報を抽出して、共有メモリ３０４ａ，３０４ｂのＦＩＦＯキュー３０６ａ，３０６ｂに通信情報を書き込み、ディスパッチャ５０１に復帰する処理を行う。この後、ディスパッチャ５０１により関数ハンドラ５０２やメッセージハンドラ５０３が呼び出される。
【０１５８】
ログ生成部１１７は、ユーザがフラッシュカード２０７により入力した制御情報３０５を格納するための制御情報用の共有メモリ３０３やアプリケーション１３０およびコントロールサービスの各プロセスがプロセス間通信情報を格納するための通信情報用の共有メモリ３０４ａ，３０４ｂをＳＤＲＡＭ２０３に確保する。また、ログ生成部１１７は、一定時間ごとに各共有メモリ３０４ａ，３０４ｂ内のＦＩＦＯキュー３０６ａ，３０６ｂを参照して、通信情報が格納されているか否かをチェックする。そして、ＦＩＦＯキュー３０６ａ，３０６ｂに通信情報が格納されている場合には、通信情報を読み出して、ＨＤ２０５に通信ログファイル３０７を生成する。さらに生成された通信ログファイル３０７をＮＣＳ１２８に送信し、これによってＬＡＮなどネットワークに接続されたＰＣ（Personal Computer）などのデバッグ作業用のクライアント端末と、公衆回線などのネットワークに接続された遠隔集中管理装置に送信する。なお、送信処理は、ＦＴＰなどのプロトコルを利用したファイル転送あるいは電子メールなどによってＮＣＳ１２８により行われる。
【０１５９】
図９は、通信ログファイル３０７の一レコードのフォーマットを示すデータ構造図である。図９に示すように、通信ログファイル３０７の一レコードは、取得時刻と、データ種別と、データ長と、発信元プロセスＩＤと、固有データとから構成される。取得時刻は、後述するようにロギングハンドラ３０１によって通信情報として取得した時刻が付与される。データ種別には、メッセージの識別情報であるメッセージＩＤ（Ｍｎｎ）または関数の識別情報である関数ＩＤ（Ｆｎｎ）が格納される。固有データは、具体的なメッセージのデータあるいは関数データが格納される。通信ログファイル３０７は、このようなフォーマットの複数のレコードが時系列に連結されて構成される。
【０１６０】
実施の形態１にかかる複合機１００で実行されるプロセス間通信情報取得および通信ログ生成プログラムは（ロギングハンドラ３０１およびログ生成部１１７のプログラム）は、ソフトウェア開発キット（ＳＤＫ：Ｓｏｆｔｗａｒｅ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｋｉｔ）などの開発用ツールキットの一部または全部として、ＣＤ−ＲＯＭまたはＦＤなどの記憶媒体に実行可能な形式またはインストール可能な形式のファイルで提供される。また、このような実行可能な形式またはインストール可能な形式のファイルを、ネットワーク経由でＮＣＳ１２８を介して（あるいはＮＣＳ１２８を介さずに直接ダウンロードするなど）取得可能な方法で提供するようにしても良い。
【０１６１】
次に、以上のように構成された実施の形態１にかかる複合機１００によるプロセス間通信情報取得処理および通信ログファイル生成処理について説明する。図６は、複合機１００の起動時におけるプロセス間通信情報取得のための初期化処理の手順を示すフローチャートである。
【０１６２】
複合機１００のフラッシュカードインタフェース部２０６に制御ファイル３０２を記録したフラッシュカード２０７を挿入した状態で、複合機１００の電源を投入すると、ハードウェア資源の診断および初期化を行った後、初期化部（図示せず）により汎用ＯＳ１２１が起動され、その次にログ生成部１１７が起動され（ステップＳ６０１）、制御はログ生成部１１７に移行する。
【０１６３】
ログ生成部１１７は、まずフラッシュカード２０７の中の制御ファイル３０２をオープンして、制御情報用の共有メモリ３０３をＳＤＲＡＭ２０３上に生成する（ステップＳ６０２）。そして、制御ファイル３０２の内容を解析して、制御情報３０５として制御情報用の共有メモリ３０３に設定する（ステップＳ６０３）。
【０１６４】
ここで、制御ファイル３０２の解析および制御情報３０５の書き込みは次のように行われる。制御ファイル３０２の取得制御ブロックすべてと、取得対象ブロックの「対象プロセス」および「相手先プロセス」はそのまま制御情報３０５として共有メモリ３０３に書き込まれる。一方、取得対象ブロックの「機能指定」の設定内容は、指定されたユーザサービスを提供する際に実行されるアプリケーション１３０およびコントロールサービスのプロセス名に展開され、さらに展開されたアプリケーション１３０およびコントロールサービスごとに共有メモリキーＩＤ、共有メモリサイズを自動的に決定して「対象プロセス」フィールドに書き込まれる。プロセス名への展開は、あらかじめユーザサービスに対応して実行されるプロセス名の一覧を記述した機能別プロセスリストを参照して行われる。この機能別プロセスリストは、ログ生成部１１７で保持しておく。このような機能別プロセスリストの例としては、たとえば、「コピー：コピーアプリ、ＥＣＳ、ＭＣＳ、ＳＲＭ」、「プリンタ：プリンタアプリ、ＥＣＳ、ＭＣＳ、ＮＣＳ、ＳＲＭ」、「ファクシミリ送信：ファックスアプリ、ＦＣＳ、ＥＣＳ、ＭＣＳ、ＳＲＭ」などを記録したファイルなどがあげられる。このように、共有メモリ３０３に設定された制御情報の一例を図４（ｂ）に示す。図４（ｂ）に示すように、図４（ａ）の制御ファイル中の「機能指定」の設定内容は、制御情報の「対象プロセス」に展開されている。
【０１６５】
次に、ログ生成部１１７は、ＨＤ２０５に通信情報を書き込むための通信ログファイル３０７を生成し、その先頭レコードにスタートレコードを書き込む（ステップＳ６０４）。このスタートレコードは、通信ログファイル３０７の存在を示すものである。
【０１６６】
次に、ログ生成部１１７は、制御情報用の共有メモリ３０３の中の制御情報３０５に設定されている「対象プロセス」を参照して、対象プロセスごとに指定された通信情報用の共有メモリ３０４ａ，３０４ｂをＳＤＲＡＭ２０３上に生成し、さらにその中にＦＩＦＯキュー３０６ａ，３０６ｂを生成する（ステップＳ６０５）。そして、制御情報３０５で指定された共有メモリキーＩＤを生成した各共有メモリ３０３に付与した後、制御を初期化部に戻す。その後、初期化部は、コントロールサービス、アプリケーション１３０の各プロセスを起動する（ステップＳ６０６）。
【０１６７】
起動されたコントロールサービスおよびアプリケーションの各プロセスでは、まずディスパッチャ５０１によって関数ハンドラ５０２、メッセージハンドラ５０３、エラーハンドラ５０４およびロギングハンドラ３０１を起動する（ステップＳ６０７）。そして、ログ生成部１１７のプロセスが存在するか否かをチェックする（ステップＳ６０８）。そして、ログ生成部１１７のプロセスが存在する場合には、制御情報用の共有メモリ３０３に格納されている制御情報３０５を参照する。一方、ログ生成部１１７のプロセスが存在しない場合には、通信情報の取得は行わないので、制御情報３０５の参照は行わない。
【０１６８】
そして、ログ生成部１１７のプロセスが存在する場合には、制御情報３０５により自プロセスが対象となっているか否かを判断する（ステップＳ６０９）。ここで、自プロセスが対象となっているか否かは、制御情報の「対象プロセス」に自プロセス名が設定されているか否かで判断する。
【０１６９】
そして、アプリケーション１３０、コントロールサービスにおけるこのような判断の結果、自プロセスが対象となっている場合には、制御情報で指定されたキーＩＤの共有メモリ３０３を自プロセスの仮想メモリ領域に割り当てることによって、共有メモリ３０３の割付けを行う（ステップＳ６１０）。一方、自プロセスが対象となっていない場合には、通信情報の取得は行わないものとする。
【０１７０】
図７は、アプリケーション１３０およびコントロールサービスのプロセスによる通信情報の取得処理の手順を示すフローチャートである。ディスパッチャ５０１が関数呼び出しやメッセージなどのデータを受信すると（ステップＳ７０１）、ディスパッチャ５０１はまずロギングハンドラ３０１を呼び出す（ステップＳ７０２）。
【０１７１】
ロギングハンドラ３０１は、まず制御情報３０５を参照し（ステップＳ７０３）、自プロセスが「対象プロセス」として指定されているか否かをチェックする（ステップＳ７０４）。そして対象として指定されている場合には、さらに制御情報３０５の「相手先プロセス」の設定の有無をチェックし（ステップＳ７０５）、設定されていない場合には制御情報３０５の「ヘッダ」の設定内容のチェックを行う（ステップＳ７０７）。
【０１７２】
一方、「相手先プロセス」が設定されている場合には、設定されている相手先プロセスと受信したデータのプロセスＩＤに対応するプロセス名とを比較し（ステップＳ７０６）、一致する場合にのみ受信データから通信情報の取得を行うこととする。
【０１７３】
次に、ロギングハンドラ３０１は、制御情報の「ヘッダ」の設定内容をチェックする（ステップＳ７０７）。そして、「ヘッダ」に「ヘッダのみ」が設定されている場合には、受信データから、データ種別（メッセージまたは関数）、発信元プロセスＩＤ、データ長などのヘッダ情報のみを通信情報として抽出する（ステップＳ７０８）。一方、「ヘッダ」に「全部」が設定されている場合には受信データのすべてを通信情報とする（ステップＳ７０９）。そして、現在時刻をシステム関数などで取得し、抽出した通信情報に取得した現在時刻を取得時刻として付加する（ステップＳ７１０）。そして、通信情報を自プロセス用の共有メモリ３０４ａ，３０４ｂのＦＩＦＯキュー３０６ａ，３０６ｂに書き込み（ステップＳ７１１）、ディスパッチャ５０１に復帰する。
【０１７４】
なお、実施の形態１の複合機１００では、現在時刻を取得時刻として付与しているが、デバッグ作業においてはプロセス間通信により送受信されるデータのタイミング（相対時間）がわかればよいため、取得時刻として通信情報の取得処理開始からの経過時間を取得時刻として通信情報に付加するように構成してもよい。
【０１７５】
ここで、ＦＩＦＯキュー３０６ａ．３０６ｂへの通信情報の書き込み処理は次のように行われる。ＦＩＦＯキュー３０６ａ，３０６ｂは、読み出し開始位置を示すリードポインタと、書き込み開始位置を示すライトポインタを有している。ＦＩＦＯキュー３０６ａ．３０６ｂへの書き込み処理では、このライトポインタの示す位置から通信情報を書き始め、全ての通信情報の書き込みが終了した後で、ライトポインタを最終の通信情報を書き込んだ位置に更新する。このため、ＦＩＦＯキュー３０６ａ，３０６ｂのリードポインタとライトポインタの位置が異なっている場合には、ＦＩＦＯキュー３０６ａ，３０６ｂに通信情報が存在していることになる。
【０１７６】
従って、通信情報のＦＩＦＯキュー３０６ａ，３０６ｂへの書き込み処理中に、アプリケーション１３０またはコントロールサービスのプロセスの並列実行に伴うプロセス切り替えが生じた場合でも、ライトポインタはまだ更新されていない。このため、後述するログ生成部１１７のプロセスがＦＩＦＯキュー３０６ａ，３０６ｂを参照して通信情報の存在チェックを行った場合でも、通信情報は格納されていないと判断され、書き込み途中の不完全な通信情報が読み込まれることはなく、通信情報の連続性が保証されることになる。
【０１７７】
ディスパッチャ５０１では、ロギングハンドラ３０１による処理が終了すると、受信データのデータ種別に対応したハンドラを呼び出し（ステップＳ７１２）、各ハンドラにより通常の受信データに応じた処理が行われる（ステップＳ７１３）。たとえば、受信データが関数呼び出しである場合には関数ハンドラ５０２が呼び出され、メッセージである場合にはメッセージハンドラ５０３が呼び出されて各ハンドラの処理が実行される。
【０１７８】
図８は、ログ生成部１１７による通信ログファイル生成処理の手順を示すフローチャートである。ログ生成部１１７は、共有メモリ３０４ａ，３０４ｂのＦＩＦＯキュー３０６ａ，３０６ｂを一定時間ごとにポーリング（参照）し（ステップＳ８０１）、ＦＩＦＯキュー３０６ａ，３０６ｂに有効な通信情報が格納されているか否かをチェックする（ステップＳ８０２）。そして、通信情報が格納されている場合にはＦＩＦＯキュー３０６ａ，３０６ｂに格納されているすべての通信情報を繰り返し読み込む（ステップＳ８０３、Ｓ８０４）。
【０１７９】
ここで、ＦＩＦＯキュー３０６ａ，３０６ｂに有効な通信情報が格納されているか否かの判断は、上述したリードポインタの位置とライトポインタの位置が異なっているか否かをチェックすることにより行われる。すなわち、ＦＩＦＯキュー３０６ａ，３０６ｂのリードポインタの位置とライトポインタの位置が異なっている場合には、ＦＩＦＯキュー３０６ａ，３０６ｂに有効な通信情報が格納されていると判断し、両ポインタの位置が同一である場合には、ＦＩＦＯキュー３０６ａ，３０６ｂに通信情報は格納されていないと判断する。
【０１８０】
そして、ログ生成部１１７は、読み込んだ通信情報をＨＤ２０５の通信ログファイル３０７に書き込む（ステップＳ８０５）。さらに、このようにして生成された通信ログファイルをＮＣＳ１２８経由でネットワークに接続されたデバッグ作業用ＰＣ、遠隔集中管理装置あるいは管理サーバに送信する（ステップＳ８０６）。このようなステップＳ８０１からＳ８０５までの処理を、プロセスごとに存在するすべての共有メモリ３０４ａ，３０４ｂのＦＩＦＯキュー３０６ａ，３０６ｂに対して行う（ステップＳ８０７）。このようにして生成された通信ログファイル３０７の一例を図１０に示す。なお、図１０では、通信ログファイル３０７の理解の都合上、ログ内容を文字列で示しているが、実際には数値データとして記録される。
【０１８１】
ここで、ＰＣ、遠隔集中管理装置あるいは管理サーバへの通信ログファイル３０７の送信について説明する。図１１は、実施の形態１の複合機１００を含む遠隔集中管理システムの構成を示すブロック図である。この遠隔集中管理システムは、遠隔集中管理装置１１００および管理サーバ１１１０と、複数の複合機１００とが公衆回線によって接続された構成となっている。また、遠隔集中管理装置１１００と管理サーバ１１１０は、ＬＡＮ１１１１などのネットワークにより接続されている。ここで、管理サーバ１１１０および遠隔集中管理装置１１００は、本発明における管理装置を構成する。
【０１８２】
遠隔集中管理装置１１００は、公衆回線によって接続された複数の複合機１００から通信ログファイル３０７などの動作状況を収集し、一括して管理するものである。この遠隔集中管理装置１１００は、システム全体の制御を実行するコンピュータ１１０１と、光磁気ディスク、磁気テープ、フレキシブルディスク（ＦＤ）、ＩＣカード等の外部記憶装置１１０２と、多チャネル型の多チャネル通信制御装置（ＣＣＵ）１１０３とにより構成されている。
【０１８３】
管理サーバ１１１０は、公衆回線に接続された複数の複合機１００から通信ログファイル３０７を収集して、ＬＡＮ１１１１経由で遠隔集中管理装置１１００に送信するものであり、多チャネル通信制御装置（ＣＣＵ）１１０３に接続されている。
【０１８４】
遠隔集中管理装置１１００および管理サーバ１１１０の各多チャネル通信制御装置１１０３には、公衆回線網１１０４が接続され、通信アダプタ１１０５を介して、キーカード装置１１０６および複合機１００が複数組接続されている。さらに、複合機１００には、ＬＡＮなどのネットワークによりプリンタクライアントとなるＰＣ(Personal Computer)１１０７がクライアント端末として接続されている。
【０１８５】
また、キーカード装置１１０６は、顧客先に配置された複写機１００ごとに接続され、複合機１００の使用情報、障害情報などを通信アダプタ１１０５に出力するように構成されている。この通信アダプタ１１０５は、顧客先のキーカード装置１１０６および複合機１００の近傍に配置されている。さらに、通信アダプタ１１０５は、顧客先のファクシミリ装置あるいは一般電話器と接続され、該ファクシミリ装置あるいは一般電話器の未使用時（回線の空き状態）に、多チャネル通信制御装置１１０３および通信アダプタ１１０５の間で公衆回線網１１０４を介してデータ通信（オフトーク通信方式）が可能に構成されている。
【０１８６】
従って、ログ生成部１１７は、生成した通信ログファイル３０７を、ＮＣＳ１２８によってキーカード装置１１０６および通信アダプタ１１０５を経由して公衆回線網１１０４を利用して遠隔集中管理装置１１００または管理サーバ１１１０に送信するとともに、クライアント端末であるＰＣ１１０７にＬＡＮ経由で送信する。管理サーバ１１１０は、通信ログファイル３０７を受信した場合には、この通信ログファイル３０７を遠隔集中管理装置１１００に送信する。
【０１８７】
このように実施の形態１にかかる複合機１００では、アプリケーション１３０およびコントロールサービスの各プロセス内部で起動されるロギングハンドラ３０１によって、アプリケーション１３０またはコントロールサービスのプロセス間通信によって受信したすべての通信情報から、制御情報３０５に基づいて通信情報を抽出して共有メモリ３０４ａ，３０４ｂに格納しているので、多数のプロセスが動作し、かつ複雑に絡み合ってプロセス間通信を行っている場合でも、必要なプロセス間通信情報を制御情報３０５の設定内容に従って容易に抽出して取得することができ、プロセス数が少ない従来の複合機１００に比べて、デバッグ作業を効率的に行うことができる。また、このようにデバッグ作業を効率的に行えるので、例えばサードベンダなどの第三者がアプリケーション層に追加する新規アプリケーションの開発が容易となり、この結果、新規アプリケーション開発の促進を図ることができる。
【０１８８】
また、実施の形態１にかかる複合機１００では、ログ生成部１１７によって、共有メモリ３０４ａ，３０４ｂに格納された通信情報を一定時間ごとに取得して、通信ログファイル３０７をＨＤ２０５に生成しているので、多数のプロセス間で複雑に行われるプロセス間通信の状況を把握することができ、障害の原因究明を容易に行うことができる。
【０１８９】
さらに、実施の形態１にかかる複合機１００では、ロギングハンドラ３０１が受信した通信情報から必要な通信情報を抽出してから共有メモリ３０４ａ，３０４ｂに格納しているので、ログ生成部１１７による通信ログファイル生成時に抽出処理を行う必要がなく、処理効率を向上させることができる。
【０１９０】
（実施の形態２）
実施の形態１の複合機１００は、通信情報の抽出および取得処理をアプリケーション１３０およびコントロールサービスのプロセス側で行っていたが、この実施の形態２にかかる複合機１００は、通信情報の抽出および取得処理をログ生成部１１７によって行うものである。
【０１９１】
実施の形態２の複合機１００の機能的構成、ハードウェア構成、プロセス間通信情報取得処理および通信ログ生成処理を実行するプロセスの全体構成は、実施の形態１の複合機１００で説明した図１、図２および図３に示す構成と同様である。
【０１９２】
実施の形態２にかかる複合機１００では、コントロールサービスおよびアプリケーション１３０のプロセス内部で動作するロギングハンドラ３０１は、実施の形態１におけるロギングハンドラ３０１と同様に本発明における通信情報取得手段を構成し、プロセスの起動時に、ログ生成部１１７のプロセスが存在している場合にのみ起動され、ディスパッチャ５０１が関数呼び出しやメッセージを受信したとき、関数ハンドラ５０２またはメッセージハンドラ５０３より先に呼び出される。しかし、実施の形態２では、ロギングハンドラ３０１はディスパッチャ５０１から受け渡された関数呼び出しやメッセージの受信データのすべてに現在時刻を付加して、共有メモリ３０４ａ，３０４ｂのＦＩＦＯキュー３０６ａ，３０６ｂに書き込み、受信データから通信情報の抽出処理は行わない。
【０１９３】
一方、実施の形態２の複合機１００では、ログ生成部１１７は、本発明における通信履歴生成手段を構成し、実施の形態１と同様に、制御情報用の共有メモリ３０３、通信情報用の共有メモリ３０４ａ，３０４ｂの確保、および一定時間ごとに各共有メモリ３０４ａ，３０４ｂ内のＦＩＦＯキュー３０６ａ，３０６ｂを参照する。しかし、実施の形態２では、ログ生成部１１７は、ＦＩＦＯキュー３０６ａ，３０６ｂから読み出した受信データから制御情報３０５の設定内容に従って通信情報を抽出して、ＨＤ２０５に通信ログファイル３０７を生成する。なお、ログ生成部１１７は、実施の形態１と同様に生成された通信ログファイル３０７を、ＬＡＮ上のリモートＰＣおよび公衆回線などに接続された遠隔集中管理装置に送信する。
【０１９４】
次に、このように構成された実施の形態２にかかる複合機１００によるプロセス間通信情報取得処理および通信ログファイル生成処理について説明する。実施の形態２の複合機１００では、複合機起動時におけるプロセス間通信情報取得のための初期化処理は、実施の形態１と同様の手順で行われるが、アプリケーション１３０およびコントロールサービスのプロセスによる通信情報の取得処理、およびログ生成部１１７による通信ログファイル生成処理の手順が実施の形態１の複合機１００と異なっている。
【０１９５】
図１２は、アプリケーション１３０およびコントロールサービスのプロセスによる通信情報の取得処理の手順を示すフローチャートである。ディスパッチャ５０１が関数呼び出しやメッセージなどのデータを受信すると（ステップＳ１２０１）、まずロギングハンドラ３０１を呼び出し、受信データを受け渡す（ステップＳ１２０２）。
【０１９６】
ロギングハンドラ３０１は、現在時刻をシステム関数などで取得し、取得時刻として受信データに付加する（ステップＳ１２０３）。そして受信データのすべてを自プロセス用の共有メモリ３０４ａ，３０４ｂのＦＩＦＯキュー３０６ａ，３０６ｂに書き込み（ステップＳ１２０４）、ディスパッチャ５０１に復帰する。
【０１９７】
ディスパッチャ５０１では、ロギングハンドラ３０１による処理が終了すると、受信データのデータ種別に対応したハンドラを呼び出し（ステップＳ１２０５）、各ハンドラにより通常の受信データに応じた処理が行われる（ステップＳ１２０６）。
【０１９８】
図１３は、ログ生成部１１７による通信ログファイル生成処理の手順を示すフローチャートである。ログ生成部１１７は、まず共有メモリ３０３から制御情報３０５を読み込む（ステップＳ１３０１）。そして、共有メモリ３０４ａ，３０４ｂのＦＩＦＯキュー３０６ａ，３０６ｂを一定時間ごとに参照し（ステップＳ１３０２）、ＦＩＦＯキュー３０６ａ，３０６ｂに有効な受信データが格納されているか否かをチェックする（ステップＳ１３０３）。そして、受信データが格納されている場合には、その受信データを読み込み（ステップＳ１３０４）、現在アクセスしている共有メモリ３０４ａを割り付けているプロセスが、制御情報３０５の「対象プロセス」として指定されているか否かをチェックする（ステップＳ１３０５）。そして対象として指定されている場合には、さらに制御情報３０５の「相手先プロセス」の設定の有無をチェックし（ステップＳ１３０６）、設定されていない場合には制御情報３０５の「ヘッダ」の設定内容のチェックを行う。一方、「相手先プロセス」が設定されている場合には、設定されている相手先プロセスと受信したデータのプロセスＩＤに対応するプロセス名とを比較し（ステップＳ１３０７）、一致する場合にのみ受信データから通信情報の取得を行うこととする。
【０１９９】
次に、ログ生成部１１７は、制御情報３０５の「ヘッダ」の設定内容をチェックする（ステップＳ１３０８）。そして、「ヘッダ」に「ヘッダのみ」が設定されている場合には、受信データから、データ種別（メッセージまたは関数）、発信元プロセスＩＤ、データ長などのヘッダ情報のみを通信情報として抽出する（ステップＳ１３０９）。一方、「ヘッダ」に「全部」が設定されている場合には受信データのすべてを通信情報とする（ステップＳ１３１０）。
【０２００】
そして、ＦＩＦＯキュー３０６ａ，３０６ｂに格納されているすべての受信データを繰り返し読み込み（ステップＳ１３１１）、全受信データからの通信情報の取得を完了したら、読み込んだ通信情報をＨＤ２０５の通信ログファイル３０７に書き込み（ステップＳ１３１２）、さらに生成された通信ログファイル３０７をＮＣＳ１２８経由でネットワークに接続されたデバッグ作業用ＰＣおよび遠隔集中管理装置に送信する（ステップＳ１３１３）。
【０２０１】
このようなステップＳ１３０２からＳ１３１３までの処理を、全ての通信情報用の共有ファイル３０４ａ，３０４ｂに対して行い（ステップＳ１３１４）、通信ログ生成処理を完了する。
【０２０２】
このように実施の形態２にかかる複合機１００では、ロギングハンドラ３０１によって、アプリケーション１３０およびコントロールサービスにおけるプロセス間通信により受信したすべての通信情報を共有メモリ３０４ａ，３０４ｂに格納し、ログ生成部１１７によって、一定時間ごとに、制御情報３０５に基づいて共有メモリ３０４ａ，３０４ｂから通信情報を抽出して、通信ログファイル３０７を生成しているので、多数のプロセスが動作している複合機１００において必要なプロセス間通信情報を制御情報３０５の設定内容に従って容易に抽出して、プロセス間通信の状況を容易に把握してデバッグ作業を効率的に行うことができる。
【０２０３】
また、実施の形態２にかかる複合機１００では、制御情報３０５に基づいた通信情報の抽出を、共有メモリ３０４ａ，３０４ｂへの格納段階ではなく、共有メモリ３０４ａ，３０４ｂからの読み出し段階で行っているので、通信ログファイル３０７の生成の際のデータ量が減少し、データ転送効率を向上させることができる。
【０２０４】
（実施の形態３）
実施の形態１および２にかかる複合機１００は、いずれも複合機１００の起動時にログ生成部１１７およびロギングハンドラ３０１を起動させていたが、この実施の形態３にかかる複合機１００は、起動後のコピー、プリンタ、スキャナ、ファクシミリなどのユーザサービスを実行中に、ロギング開始要求がユーザなどから通知された場合に、ロギングハンドラ３０１およびログ生成部１１７を動的に起動させて、通信情報の取得および通信ログの生成を行うものである。また、実施の形態３にかかる複合機１００は、通信情報の取得処理をコントロールサービス、アプリケーション１３０側で行うものである。
【０２０５】
実施の形態３の複合機１００の機能的構成、ハードウェア構成は、実施の形態１の複合機１００で説明した図１および図２に示す構成と同様である。
【０２０６】
図１４は、実施の形態３の複合機１００におけるプロセス間通信情報取得処理および通信ログ生成処理を実行するプロセスの全体構成を示すブロック図である。実施の形態３にかかる複合機１００では、ログ生成部１１７、ロギングハンドラ３０１の他、ＳＣＳ１２２、ＯＣＳ１２６もプロセス間通信情報取得処理および通信ログ生成処理を行うために使用される。
【０２０７】
複合機１００の稼働中に、ユーザが通信ログファイルの生成を依頼する場合には、ロギング開始要求と制御情報を複合機１００に入力する。ユーザによるロギング開始要求および制御情報の入力は、オペレーションパネル２１０から入力する場合と、ＬＡＮ上のリモートＰＣからＲＰＣ（リモートプロシージャコール）などの手段によるネットワーク経由のロギング開始要求およびＦＴＰなどのプロトコルを利用した制御情報の送信を行う場合がある。
【０２０８】
オペレーションパネル２１０からロギング開始要求および制御情報が入力される場合には、ＯＣＳ１２６のプロセスで入力したキー操作によるキーイベントが取得され、ＳＣＳ１２２にロギング開始要求および制御情報のキーイベントが送信される。また、リモートＰＣからロギング開始要求と制御情報を送信した場合には、ロギング開始要求と制御情報をＮＣＳ１２８で受信して、ＳＣＳ１２２に送信されるようになっている。
【０２０９】
また、公衆回線などのネットワークに接続された複数の複合機や複写機あるいはプリンタなどを管理する管理サーバ、あるいはこれらの複合機などの動作情報、障害情報などを管理する遠隔集中管理装置から、ロギング開始要求および制御情報が送信されてくる場合もある。このような場合には、実施の形態１の複合機１００で説明した通信アダプタ１１０５によってロギング開始要求および制御情報を受信し、さらにＮＣＳ１２８によってロギング開始要求および制御情報がＳＣＳ１２２に送信される。
【０２１０】
ＳＣＳ１２２は、このようにＯＣＳ１２６またはＮＣＳ１２８からロギング開始要求および制御情報を受信すると、ログ生成部１１７を起動し、受信したロギング開始要求と制御情報をログ生成部１１７に転送する。
【０２１１】
ログ生成部１１７は、本発明における通信履歴生成手段と通信履歴管理手段とを構成するものであり、ＳＣＳ１２２からロギング開始要求と制御情報を受信したときに、実施の形態１の複合機１００と同様に、制御情報の解析を行い、対象プロセスごとに共有メモリ３０４ａ，３０４ｂの確保を行う。また、ログ生成部１１７は、通信情報の取得要求のため後述する起動関数の呼び出しを、対象プロセスとなるコントロールサービスおよびアプリケーション１３０のプロセスに対して行う。また、ログ生成部１１７は、実施の形態１と同様に、通信ログファイル３０７の生成および送信処理を行う。
【０２１２】
ロギングハンドラ３０１は、本発明における通信情報取得手段を構成するものであり、コントロールサービスおよびアプリケーション１３０のプロセスがログ生成部１１７から起動関数呼び出しを受けたときに、コントロールサービスおよびアプリケーション１３０のプロセス内部で起動される。すなわち、アプリケーション１３０およびコントロールサービスのそれぞれは、起動関数やその他各種関数を登録した関数ライブラリとリンク（結合）して生成されている。この関数ライブラリは、他のプロセスをクライアントプロセスとしたサーバプロセスとして、当該クライアントプロセスに対してＡＰＩを利用して提供する各種サービスを関数として登録したものであり、この関数ライブラリの中に、プロセス内部でロギングハンドラ３０１を起動する起動関数が登録されている。従って、ログ生成部１１７のプロセスからアプリケーション１３０またはコントロールサービスのプロセスに対して、起動関数呼び出しを行うことにより、ロギングハンドラ３０１が起動される。また、ロギングハンドラ３０１は、実施の形態１と同様に、受信データから制御情報の設定内容に従って通信情報の取得処理を行う。
【０２１３】
次に、このように構成された実施の形態３の複合機１００において、ロギング開始要求があった場合の通信情報取得の初期化処理について説明する。図１５は、通信情報取得の初期化処理の手順を示すフローチャートである。
【０２１４】
ユーザによるオペレーションパネル２１０のキー操作により、あるいはリモートＰＣ１１０７や遠隔集中管理装置からロギング開始要求および制御情報をＳＣＳ１２２が受信すると（ステップＳ１５０１）、ＳＣＳ１２２は、ログ生成部１１７のプロセスを生成して起動する（ステップＳ１５０２）。そして、ＳＣＳ１２２は、受信したロギング開始要求と制御情報をログ生成部１１７に送信する（ステップＳ１５０３）。
【０２１５】
ログ生成部１１７では、ロギング開始要求と制御情報をＳＣＳ１２２から受信すると、ＨＤ２０５に通信ログファイル３０７を生成し、この通信ログファイル３０７にスタートレコードを書き込む（ステップＳ１５０４）。そして、ＳＣＳ１２２から受信した制御情報を解析して、制御情報に指定されている「対象プロセス」ごとに、共有メモリ３０４ａ，３０４ｂを生成し、各共有メモリ３０４ａ，３０４ｂにＦＩＦＯキュー３０６ａ，３０６ｂを生成する（ステップＳ１５０５）。そして、「機能指定」の設定内容を、実施の形態１と同様に該当するプロセス名に展開した形式で制御情報を共有メモリ３０３に設定する（ステップＳ１５０６）。そして、ログ生成部１１７は、制御情報３０５に設定されている対象プロセスに対して、起動関数呼び出しを行う（ステップＳ１５０７）。
【０２１６】
制御情報で対象プロセスとして設定されているコントロールサービス、アプリケーション１３０のプロセスでは、ログ生成部１１７から起動関数呼び出しを受けると、ロギングハンドラ３０１を起動する（ステップＳ１５０８）。そして、ログ生成部１１７のプロセスを存在をチェックし（ステップＳ１５０９）、存在している場合には、共有メモリ３０３の制御情報３０５を参照して、自プロセスが「対象プロセス」に指定されているか否かを確認する（ステップＳ１５１０）。そして、対象プロセスとして指定されている場合には、共有メモリ３０４ａ，３０４ｂを自プロセスの仮想メモリ領域に割り付ける（ステップＳ１５１１）。これにより、初期化処理が完了する。
【０２１７】
なお、ロギングハンドラ３０１による通信情報取得処理およびログ生成部１１７による通信ログファイル生成処理については、実施の形態１の複合機１００と同様の手順で行われる。
【０２１８】
次に、通信情報の取得処理および通信ログファイル３０７の生成処理が行われているときに、ユーザのオペレーションパネル２１０からの操作、またはリモートＰＣ１１０７や遠隔集中管理装置から新たな制御情報を受信した場合に、新たな制御情報に基づいて現在の取得条件を動的に変更する処理について説明する。図１６は、新たな制御情報を受信した場合の処理の手順を示すフローチャートである。
【０２１９】
ＳＣＳ１２２は新たな制御情報を受信すると（ステップＳ１６０１）、すべてのコントロールサービスとアプリケーション１３０のプロセスに条件変更通知メッセージを送信する（ステップＳ１６０２）。そして、受信した新たな制御情報を共有メモリ３０３に上書きする（ステップＳ１６０３）。
【０２２０】
各コントロールサービスおよび各アプリケーション１３０は条件変更通知を受信し、新たな制御情報３０５を共有メモリ３０３から読み込んで解析を行う（ステップＳ１６０４）。そして、新たな制御情報３０５の設定内容に従って取得条件を変更して、通信情報の取得を行う（ステップＳ１６０５）。例えば、新たな制御情報３０５により、自プロセスが対象プロセスでなくなった場合には、通信情報の取得を開始する。また、新たな制御情報３０５により、自プロセスが対象プロセスとなった場合には、通信情報の取得を停止する。あるいは、制御情報３０５の「ヘッダ」の設定内容が変更された場合には、抽出する通信情報を、「ヘッダ」の設定内容に従って変更する。
【０２２１】
なお、以降のロギングハンドラ３０１による通信情報取得処理およびログ生成部１１７による通信ログファイル生成処理については、実施の形態１の複合機１００と同様の手順で行われる。
【０２２２】
このように実施の形態３にかかる複合機１００では、ロギング開始要求があったときに、ログ生成部１１７によって、ロギングハンドラ３０１の起動関数呼び出しを行ってロギングハンドラ３０１を起動させているので、通信情報の取得および通信ログファイル３０７の生成を、複合機１００の再起動を行うことなく動的に行うことができ、デバッグ作業を効率的に開始することができる。
【０２２３】
（実施の形態４）
実施の形態３にかかる複合機１００は、稼働中にロギング開始要求、制御情報を受信した場合に、動的にロギングハンドラ３０１およびログ生成部１１７を起動させ、あるいは動的に制御情報を更新し、ロギングハンドラ３０１により通信情報の抽出および取得処理を行っていたが、この実施の形態４にかかる複合機１００は、稼働中にロギング開始要求、制御情報を受信した場合に、動的にログ生成部１１７により通信情報の抽出および取得処理を開始し、または新たな取得条件で通信情報の抽出および取得処理を行うものである。
【０２２４】
実施の形態４の複合機１００の機能的構成、ハードウェア構成は、実施の形態２の複合機１００で説明した図１および図２に示す構成と同様である。また、プロセス間通信情報取得処理および通信ログ生成処理を実行するプロセスの全体構成は、実施の形態３で説明した図１４に示す構成と同様である。
【０２２５】
実施の形態４にかかる複合機１００では、ログ生成部１１７は、本発明における通信履歴生成手段と通信履歴管理手段とを構成し、ＳＣＳ１２２から制御情報を受信したときに、実施の形態２の複合機１００と同様に、制御情報の解析を行い、対象プロセスごとに共有メモリ３０４ａ，３０４ｂの確保を行う。また、ログ生成部１１７は、起動関数呼び出しを、対象プロセスとなるコントロールサービスおよびアプリケーション１３０のプロセスに対して行う。また、ログ生成部１１７は、実施の形態２と同様に、制御情報の設定内容に従って受信データから通信情報の抽出を行い、通信ログファイル３０７の生成および送信処理を行う。
【０２２６】
ロギングハンドラ３０１は、本発明における通信情報取得手段を構成し、コントロールサービスおよびアプリケーション１３０のプロセスがログ生成部１１７から起動関数呼び出しを受けたときに、コントロールサービスおよびアプリケーション１３０のプロセス内部で起動される。
【０２２７】
次に、通信情報の取得処理および通信ログファイル３０７の生成処理が行われているときに、ユーザのオペレーションパネル２１０からの操作、またはリモートＰＣ１１０７や遠隔集中管理装置から新たな制御情報を受信した場合に、新たな制御情報に基づいて現在の取得条件を動的に変更する処理について説明する。なお、ロギング開始要求があった場合の通信情報取得の初期化処理については、実施の形態３にかかる複合機１００で説明した図１５に示す手順と同様である。
【０２２８】
図１７は、新たな制御情報を受信した場合の処理の手順を示すフローチャートである。ＳＣＳ１２２は新たな制御情報を受信すると（ステップＳ１７０１）、ログ生成部１１７のプロセスに条件変更通知メッセージを送信する（ステップＳ１７０２）。そして、受信した新たな制御情報を共有メモリ３０５に上書きする（ステップＳ１７０３）。
【０２２９】
ログ生成部１１７は条件変更通知を受信し、新たな制御情報３０５を共有メモリ３０３から読み込んで解析を行う（ステップＳ１７０４）。そして、新たな制御情報３０５の設定内容に従って取得条件を変更して、通信情報の取得を行う（ステップＳ１７０５）。
【０２３０】
なお、以降のログ生成部１１７による通信情報取得処理および通信ログファイル生成処理については、実施の形態２の複合機１００と同様の手順で行われる。
【０２３１】
このように実施の形態４にかかる複合機１００は、ロギング開始要求があったときに、ログ生成部１１７によって、ロギングハンドラ３０１の起動関数呼び出しを行ってロギングハンドラ３０１を起動させているので、通信情報の取得および通信ログファイル３０７の生成を、複合機１００の再起動を行うことなく動的に行うことができ、デバッグ作業を効率的に開始することができる。
【０２３２】
なお、実施の形態３および４にかかる複合機１００では、ログ生成部１１７が、本発明における通信履歴管理手段と通信履歴生成手段とを兼用するように構成されているが、例えばログ管理部などをログ生成部１１７とは別個に設け、このログ管理部を通信履歴管理手段として構成しても良い。
【０２３３】
（実施の形態５）
実施の形態１〜４にかかる複合機１００は、複合機１００内のログ生成部１１７によって通信ログファイル３０７を生成した後に、遠隔集中管理装置１１００または管理サーバに送信していたが、この実施の形態５にかかる複合機１９００は、通信ログファイルの生成処理を管理サーバで行うものである。
【０２３４】
図１８は、実施の形態５にかかる複合機１９００を含む画像形成システムの構成を示すブロック図である。図１８に示すように、実施の形態５にかかる画像形成システムは、管理サーバ１８１０と複数組の複合機１９００が公衆回線網１１０４によって接続された構成となっている。また、管理サーバ１８１０は、ＬＡＮ１１１１などのネットワークによって遠隔集中管理装置１８００と接続されている。
【０２３５】
管理サーバ１８１０は、多チャネル通信制御装置（ＣＣＵ）１１０３に接続されており、公衆回線に接続された複数の複合機１００から通信情報を収集して、収集した通信情報を記録した通信ログファイル２００７を生成する。そして、管理サーバ１８１０は、生成された通信ログファイル２００７をＬＡＮ１１１１経由で遠隔集中管理装置１１００に送信する。
【０２３６】
管理サーバ１１１０の各多チャネル通信制御装置１１０３には、公衆回線網１１０４が接続され、通信アダプタ１１０５を介して、キーカード装置１１０６および複合機１９００が複数組接続されている。また、実施の形態１と同様に、複合機１９００には、ＬＡＮなどのネットワークによりプリンタクライアントとなるＰＣ１１０７がクライアント端末として接続されている。
【０２３７】
遠隔集中管理装置１８００は、管理サーバ１８１０から通信ログファイル２００７などの動作状況を収集し、一括して管理するものである。この遠隔集中管理装置１８００は、システム全体の制御を実行するコンピュータ１８０１と、光磁気ディスク、磁気テープ、フレキシブルディスク（ＦＤ）、ＩＣカード等の外部記憶装置１８０２とにより構成されている。
【０２３８】
なお、多チャネル通信制御装置１８０３、キーカード装置１１０６、通信アダプタ１１０５のそれぞれの機能は、実施の形態１で説明した多チャネル通信制御装置、キーカード装置、通信アダプタと同様である。
【０２３９】
図１９は、実施の形態５の複合機１９００の機能的構成を示すブロック図である。また、図２０は、実施の形態５にかかる画像形成システムにおける複合機１９００と管理サーバ１８１０の構成を示すブロック図である。なお、複合機１９００のハードウェア構成は、実施の形態１の複合機１００で説明した図２に示す構成と同様である。
【０２４０】
図１９および図２０に示すように、実施の形態５にかかる複合機１９００は、アプリケーション１３０およびコントロールサービスのプロセスの内部で起動されるロギングハンドラ２００１と、ログ管理部１９１０のプロセスとを備えている。この複合機１９００では、実施の形態１〜４の複合機１００と異なり、ログ生成部１１７が存在せず、このため、複合機１９００では制御情報３０５の設定内容に従った通信情報の取得のみを行い、通信情報からの通信ログファイル２００７の生成は管理サーバ１８１０で行う。
【０２４１】
ロギングハンドラ２００１は、実施の形態１と同様に、各プロセスにおけるプロセス間通信によって受信した通信情報から、制御情報３０５の設定内容に従った通信情報を抽出し、共有メモリ３０４ａ，３０４ｂに格納するものである。ロギングハンドラ２００１は本発明における通信情報取得手段を構成する。
【０２４２】
ログ管理部１９１０は、各共有メモリ３０３、３０４ａ、３０４ｂの生成、制御ファイル３０２の解析、共有メモリ３０４ａ、３０４ｂからの通信情報の取得および管理サーバ１８１０への送信を行うものである。なお、ログ管理部１９１０とＮＣＳ１２８は、本発明における送信手段を構成する。
【０２４３】
管理サーバ１８１０は、ログ生成部２００２とログ送信部２００３とＨＤ２００４とを備えている。ログ生成部２００２は、複数の複合機１９００から通信情報を受信して、通信ログファイル２００７を生成するものであり、本発明における通信履歴生成手段を構成する。
【０２４４】
このように実施の形態５にかかる画像形成システムでは、管理サーバ１８１０のログ生成部２１０２によって通信ログファイル２００７を生成している。
【０２４５】
ログ送信部２００３は、生成された通信ログファイル２００７を遠隔集中管理装置にｆｔｐなどのプロトコルによって送信するものであり、本発明における遠隔送信手段を構成する。
【０２４６】
次にこのように構成された実施の形態５にかかる画像形成システムによる通信情報の取得および通信ログファイル２００７の生成処理について説明する。まず、複合機１９００の起動時においては、実施の形態１の複合機１００におけるログ生成部１１７と同様に、ログ管理部１９１０が制御ファイル３０２の設定内容に従って各共有メモリ３０３、３０４ａ、３０４ｂの生成およびＦＩＦＯキュー３０６ａ，３０６ｂの生成を行う。そして、制御ファイル３０２を解析して制御情報３０５として共有メモリ３０３に格納する。
【０２４７】
アプリケーション１３０、コントロールサービスの各プロセスでは、ロギングハンドラ２００１が各プロセス内部で起動される。そして、プロセス間通信によって通信情報を受信すると、受信した通信情報から、制御情報３０５の設定内容に従って通信情報を抽出し、各プロセスに対応する共有メモリ３０４ａ，３０４ｂのＦＩＦＯキュー３０６ａ，３０６ｂに格納する。
【０２４８】
一方、ログ管理部１９１０は、一定時間ごとに共有メモリ３０４ａ，３０４ｂにアクセスを行い、ＦＩＦＯキュー３０６ａ，３０６ｂに有効な通信情報が格納されている場合にはその通信情報を読み出す。ただし、実施の形態１のログ生成部１１７と異なり、ログ管理部１９１０は、複合機１９００内で通信ログファイル２００７を生成しない。その代わりに、ログ管理部１９１０は、各共有メモリ３０４ａ，３０４ｂから収集した通信情報をＮＣＳ１２８を介して、公衆回線１１０４に接続された管理サーバ１８１０に送信する。
【０２４９】
管理サーバ１８１０では、ログ生成部２００２によっては、複合機１９００から送信された通信情報を受信する。そして、ログ生成部２００２は、受信した通信情報を収集して通信ログファイル２００７を生成し、ＨＤ２００４に格納する。次に、ログ送信部２００３は、ログ生成部２００２によって生成された通信ログファイル２００７を、ｆｔｐなどのプロトコルを利用してＬＡＮ１１１１経由で遠隔集中管理装置１８００に送信する。
【０２５０】
なお、複合機１９００のログ管理部１９１０による制御ファイルの解析、ロギングハンドラ２００１による通信情報の抽出、ログ管理部１９１０による共有メモリ３０４ａ，３０４ｂからの通信情報の取得の各処理の具体的な手順は、実施の形態１の複合機１００で説明した処理手順と同様である。また、管理サーバ１９００のログ生成部２００２による通信ログファイル２００７の生成処理の手順も実施の形態１の複合機１００で説明した処理手順と同様である。
【０２５１】
このように実施の形態５にかかる画像形成システムでは、複合機１９００のロギングハンドラ２００１によって、受信した通信情報から制御情報３０５に基づいて通信情報を抽出し、抽出した通信情報を、ログ管理部１９１０よって管理サーバ１８１０に送信し、管理サーバ１８１０のログ生成部２００２で受信した通信情報から通信ログファイ２００３を生成しているので、管理サーバ１８１０側で複数の複合機１９００のプロセス間通信情報の通信ログファイル２００７を一括して管理することができ、複数の複合機１９００の通信状況を一カ所で容易に把握することができる。
【０２５２】
なお、実施の形態５にかかる複合機１９００では、抽出した通信情報を共有メモリ３０４ａ，３０４ｂに一旦格納して、ログ管理部１９１０およびＮＣＳ１２８によって管理サーバ１８１０に送信しているが、図２０の破線矢印に示すように、ロギングハンドラ２００１から直接、管理サーバ１８１０に通信情報を送信する構成としても良い。この場合には、ログ管理部１９１０のプロセスや共有メモリ３０４ａ，３０４ｂを生成する必要がなくなり、リソースの削減が図られるという利点がある。
【０２５３】
（実施の形態６）
実施の形態５にかかる画像形成システムでは、制御情報に基づいた通信情報の抽出処理を複合機１９００内で行っていたが、この実施の形態６にかかる画像形成システムは、制御情報に基づいた通信情報の抽出処理を管理サーバ１８１０内で行うものである。
【０２５４】
図２１は、実施の形態６にかかる画像形成システムにおける複合機１９００と管理サーバ１８１０の構成を示すブロック図である。なお、実施の形態６にかかる画像形成システムの全体構成は、実施の形態５で説明した図１８に示す構成と同様である。また、実施の形態６にかかる複合機１９００の機能的構成は、実施の形態５で説明した図２０に示す構成と同様であり、複合機１９００の機能的構成は、実施の形態１で説明した図２に示す構成と同様である。
【０２５５】
図２１に示すように、実施の形態６にかかる複合機１９００は、アプリケーション１３０およびコントロールサービスのプロセスの内部で起動されるロギングハンドラ２１０１と、ログ管理部１９１０のプロセスとを備えている。
【０２５６】
ロギングハンドラ２１０１は、実施の形態２と同様に、各プロセスにおけるプロセス間通信によって受信した通信情報を共有メモリ３０４ａ，３０４ｂに格納するものである。ロギングハンドラ２１０１は本発明における通信情報取得手段を構成する。
【０２５７】
ログ管理部１９１０は、各共有メモリ３０３、３０４ａ、３０４ｂの生成、制御ファイル３０２の解析、共有メモリ３０４ａ、３０４ｂからの通信情報の取得および管理サーバ１８１０への送信を行うものである。なお、ログ管理部１９１０とＮＣＳ１２８は、本発明における送信手段を構成する。
【０２５８】
管理サーバ１８１０は、ログ生成部２１０２とログ送信部２００３とＨＤ２００４とを備えている。ＨＤ２００４には、通信情報の取得条件を設定した制御ファイル２１０３が格納されている。この制御ファイル２１０３は、例えば管理サーバ１８１０のシステム管理者などが作成してＨＤ２００４に格納する。また、この制御ファイル２１０３は、ログ生成部２１０２によって実施の形態１と同様に解析されて、制御情報２１０４としてＨＤ２００４に格納される。この制御ファイル２１０３および制御情報２１０４のデータ構造は、実施の形態１で説明した図４（ａ）および（ｂ）に示す構造と同様である。
【０２５９】
ログ生成部２１０２は、制御ファイル２１０３の解析を行って制御情報２１０４を生成するとともに、複数の複合機１９００から通信情報を受信して、受信した通信情報の中から制御情報２１０４の設定内容に従って通信情報を抽出し、抽出した通信情報から通信ログファイル２００７を生成する。このログ生成部２１０２は、本発明における通信履歴生成手段を構成する。
【０２６０】
ログ送信部２００３は、生成された通信ログファイル３０７を遠隔集中管理装置１８００にｆｔｐなどのプロトコルによって送信するものであり、本発明における遠隔送信手段を構成する。
【０２６１】
このように実施の形態６にかかる画像形成システムでは、管理サーバ１８１０のログ生成部２１０２によって通信情報の抽出を行っている。
【０２６２】
次にこのように構成された実施の形態６にかかる画像形成システムによる通信情報の取得および通信ログファイルの生成処理について説明する。まず、ログ管理部１９１０は、複合機１９００の起動時に、アプリケーション１３０およびコントロールサービスの各プロセスごとに、各共有メモリ３０３、３０４ａ、３０４ｂおよびＦＩＦＯキュー３０６ａ，３０６ｂの生成を行う。
【０２６３】
アプリケーション１３０、コントロールサービスの各プロセスでは、ロギングハンドラ２００１が各プロセス内部で起動される。そして、プロセス間通信によって通信情報を受信すると、受信した通信情報を各プロセスに対応する共有メモリ３０４ａ，３０４ｂのＦＩＦＯキュー３０６ａ，３０６ｂに格納する。
【０２６４】
一方、ログ管理部１９１０は、一定時間ごとに共有メモリ３０４ａ，３０４ｂにアクセスを行い、ＦＩＦＯキュー３０６ａ，３０６ｂに有効な通信情報が格納されている場合にはその通信情報を読み出す。そして、ログ管理部１９１０は、各共有メモリ３０４ａ，３０４ｂから収集した通信情報をＮＣＳ１２８を介して、公衆回線１１０４に接続された管理サーバ１８１０に送信する。
【０２６５】
管理サーバ１８１０では、まず、ログ生成部２１０２によってＨＤ２００４に格納された制御ファイル２１０３の解析が行われ、制御情報２１０４としてＨＤ２００４に格納される。
【０２６６】
ログ生成部２１０２が複合機１９００から通信情報を受信すると、ログ生成部２１０２は、ＨＤ２００４の制御情報２１０４を読み込んで、受信した通信情報の中から、制御情報２１０４の設定内容に従って通信情報を抽出する。そして、抽出した通信情報から通信ログファイル２１０７を生成し、ＨＤ２００４に格納する。
【０２６７】
次に、ログ送信部２００３は、ログ生成部２１０２によって生成された通信ログファイル２１０７を、ｆｔｐなどのプロトコルを利用してＬＡＮ１１１１経由で遠隔集中管理装置１８００に送信する。
【０２６８】
なお、複合機１９００のロギングハンドラ２１０１による通信情報の取得、ログ管理部１９１０による共有メモリ３０４ａ，３０４ｂからの通信情報の取得の各処理の具体的な手順は、実施の形態２の複合機１００で説明した処理手順と同様である。また、管理サーバ１９００のログ生成部２１０２による制御ファイル２１０３の解析処理、通信情報の抽出および通信ログファイル３０７の生成処理の手順は実施の形態２の複合機１００で説明した処理手順と同様である。
【０２６９】
このように実施の形態６にかかる画像形成システムでは、複合機１９００のロギングハンドラ２１０１によって、プロセス間通信により受信した通信情報を取得してログ管理部１９１０により管理サーバ１８１０に送信し、管理サーバ１８１０のログ生成部２１０２によって受信した通信情報から制御情報２１０４の設定内容に従って通信情報を抽出して通信ログファイル２００７を生成しているので、管理サーバ１８１０側で複数の複合機１９００のプロセス間通信情報の通信履歴情報を一括して生成することができ、複数の複合機１９００の通信状況を一カ所で容易に把握することができる。
【０２７０】
なお、実施の形態６にかかる複合機１９００では、受信した通信情報を共有メモリ３０４ａ，３０４ｂに一旦格納して、ログ管理部１９１０およびＮＣＳ１２８によって管理サーバ１８１０に送信しているが、図２１の破線矢印に示すように、ロギングハンドラ２１０１から直接、管理サーバ１８１０に通信情報を送信する構成としても良い。この場合には、ログ管理部１９１０のプロセスや共有メモリ３０４ａ，３０４ｂを生成する必要がなくなり、リソースの削減が図られるという利点がある。
【０２７１】
また、以上説明した実施の形態１〜６にかかる複合機１００、１９００では、コピーアプリ１１２のプロセスとＭＣＳ１２５のプロセスを例に挙げて説明したが、他のアプリケーション１３０、他のコントロールサービスのプロセス間通信に対しても同様の処理が行われる。
【０２７２】
また、実施の形態１〜５にかかる複合機１００、１９００では、制御情報３０５を共有メモリ３０３に格納しているが、ＨＤ２０５にファイルとして格納する構成としてもよい。
【０２７３】
また、実施の形態１〜６にかかる複合機１００、１９００では、通信情報を格納する共有メモリ３０４ａ，３０４ｂを各プロセスごとに別個に設けているが、アプリケーション１３０とコントロールサービスのすべてのプロセスに共有される単一の共有メモリを通信情報用として設けても良い。この場合、プロセス並列実行に伴うＣＰＵ占有時間のプロセス切り替えによって、共有メモリに書き込み中の一レコード分の通信情報が分断されることを防止するため、セマフォやクリティカル・セクションなどの同期メカニズムを利用して、共有メモリの排他制御を行うように構成する必要がある。
【０２７４】
また、実施の形態１〜６では、通信ログファイルを生成する際に通信情報に現在時刻を付加しているが、さらにこの現在時刻を利用して時系列順にソートしたり、あるいは対象プロセスごとに分類する処理を行って通信ログファイルを生成しても良い。
【０２７５】
【発明の効果】
以上説明したように、請求項１にかかる発明によれば、多数のプロセスが複雑に絡み合ってプロセス間通信を行う構成の画像情報処理装置において必要なプロセス間通信情報を取得条件に従って容易に抽出して取得することができ、デバッグ作業を効率的に行うことができるという効果を奏する。また、これにより画像情報処理装置の品質を向上させることができるという効果を奏する。
【０２７６】
また、この請求項１にかかる発明によれば、サードベンダなどの第三者による新規アプリケーションの開発を促進することができるという効果を奏する。
【０２７７】
さらに、この請求項１にかかる発明によれば、他のプロセスから共有メモリを利用したプロセス間通信によって通信情報を取得することができるので、デバッグ作業の形態に応じた形式で通信情報を加工することも可能となり、デバッグ作業におけるユーザビリティを向上させることができるという効果を奏する。
【０２７８】
加えて、この請求項１にかかる発明によれば、共有メモリから通信情報を読み出してログ生成やログ表示などを行う場合の処理効率を向上させることができるという効果を奏する。
【０２７９】
また、請求項２にかかる発明によれば、必要なプロセスのみのプロセス間通信情報を取得することができ、通信情報取得の処理効率を向上させることができるという効果を奏する。また、デバッグ作業に必要なアプリケーションやプログラムにおける通信情報だけを得ることができ、デバッグ作業をより効率的に行えるという効果を奏する。
【０２８０】
また、請求項３にかかる発明によれば、画像情報処理装置のデバッグ作業において、障害が生じていると予想されるコンポーネント間のプロセス間通信だけを集中して検証することができ、デバッグ作業をより効率的に行えるという効果を奏する。
【０２８１】
また、請求項４にかかる発明によれば、デバッグ作業における制御情報の設定が容易になるとともに、画像情報処理装置のコンポーネント構造を熟知していないユーザでもデバッグ作業を容易に行えるという効果を奏する。また、デバッグ対象のアプリケーション、プログラムの指定の漏れをなくして、より確実なデバッグ作業を行えるという効果を奏する。
【０２８２】
また、請求項５にかかる発明によれば、格納データ量に制限のある共有メモリ資源の節約を図ることができるという効果を奏する。
【０２８３】
また、請求項６にかかる発明によれば、多数のプロセス間で複雑に行われるプロセス間通信の状況を把握して障害の原因究明を行うことができ、デバッグ作業をより効率的に行えるという効果を奏する。
【０２８４】
また、請求項７にかかる発明によれば、遠隔集中管理装置によって通信履歴情報に基づいた画像情報処理装置の適切な管理を行えるという効果を奏する。
【０２８５】
また、請求項８にかかる発明によれば、多数のプロセスが動作している構成の画像情報処理装置において、プロセス間通信の状況を容易に把握でき、デバッグ作業を効率的に行えるという効果を奏する。
【０２８６】
また、この請求項９にかかる発明によれば、通信履歴情報の生成の際のデータ量が減少し、データ転送効率を向上させることができるという効果を奏する。
【０２８７】
また、請求項９にかかる発明によれば、必要なプロセスのみのプロセス間通信情報を取得することができ、通信情報取得の処理効率を向上させることができるという効果を奏する。また、デバッグ作業に必要なアプリケーションやプログラムにおける通信情報だけを得ることができ、デバッグ作業をより効率的に行えるという効果を奏する。
【０２８８】
また、請求項１０にかかる発明によれば、画像情報処理装置のデバッグ作業において、障害が生じていると予想されるコンポーネント間のプロセス間通信だけを集中して検証することができ、デバッグ作業をより効率的に行えるという効果を奏する。
【０２８９】
また、請求項１１にかかる発明によれば、デバッグ作業における制御情報の設定が容易になるとともに、画像情報処理装置のコンポーネント構造を熟知していないユーザでもデバッグ作業を容易に行えるという効果を奏する。また、デバッグ対象のアプリケーション、プログラムの指定の漏れをなくして、より確実なデバッグ作業を行えるという効果を奏す。
【０２９０】
また、請求項１２にかかる発明によれば、ハードディスクなどの資源の節約を図ることができるという効果を奏する。
【０２９１】
また、請求項１３にかかる発明によれば、通信情報の取得や通信履歴情報の生成を、画像情報処理装置の再起動なしに、通信履歴開始要求に応じて動的に開始することができ、デバッグ作業を効率的に開始することができるという効果を奏する。
【０２９２】
また、請求項１４にかかる発明によれば、関数呼び出しという簡易なプロセス間通信を利用して取得要求を行うことができ、プログラム開発労力の軽減を図ることができるという効果を奏する。
【０２９３】
また、請求項１５にかかる発明によれば、取得条件の変更に応じて動的に通信情報の取得や通信履歴の生成を行うことができ、デバッグ作業をより効率的に行えるという効果を奏する。
【０２９４】
また、請求項１６にかかる発明によれば、通信履歴開始要求や制御情報の送信先に応じて別個のコンポーネントを設ける必要がなく、実行時に必要なリソースの削減を図ることができるという効果を奏する。
【０２９５】
また、請求項１７にかかる発明によれば、遠隔集中管理装置による画像情報処理装置の集中管理に拡張性を持たせることができるという効果を奏する。
【０２９６】
また、請求項１８にかかる発明によれば、デバッグ作業を画像情報処理装置から離れた場所で行うことができ、デバッグ作業をより効率的に行えるという効果を奏する。
【０２９７】
また、請求項１９にかかる発明によれば、プロセスの並列実行時における通信情報の分断を回避して、通信情報の取得元プロセスの判別が常に可能となるという効果を奏する。
【０２９８】
また、請求項２０にかかる発明によれば、管理サーバ側で複数の画像情報処理装置のプロセス間通信情報の通信履歴情報を一括して管理することができ、複数の画像情報処理装置の通信状況を一カ所で容易に把握することができるという効果を奏する。
【０２９９】
また、請求項２１にかかる発明によれば、送信手段を通信情報取得手段とは別プロセスとし、収集した通信情報を一括して管理サーバに送信することができ、ネットワークの負荷を軽減することができるという効果を奏する。
【０３００】
また、請求項２２にかかる発明によれば、管理サーバ側で複数の画像情報処理装置のプロセス間通信情報の通信履歴情報を一括して生成することができ、複数の画像情報処理装置の通信状況を一カ所で容易に把握することができるという効果を奏する。
【０３０１】
また、請求項２３にかかる発明によれば、送信手段を通信情報取得手段とは別プロセスとし、収集した通信情報を一括して管理サーバに送信することができ、ネットワークの負荷を軽減することができるという効果を奏する。
【０３０２】
また、請求項２４にかかる発明によれば、遠隔集中管理装置による画像情報処理装置の障害対応を的確に行うことができるという効果を奏する。
【０３０３】
また、請求項２５にかかる発明によれば、多数のプロセスが複雑に絡み合ってプロセス間通信を行う構成の画像情報処理装置において必要なプロセス間通信情報を取得条件に従って容易に抽出して取得することができ、デバッグ作業を効率的に行うことができるという効果を奏する。また、これにより画像情報処理装置の品質を向上させることができるという効果を奏する。
【０３０４】
また、この請求項２５にかかる発明によれば、サードベンダなどの第三者による新規アプリケーションの開発を促進することができるという効果を奏する。
【０３０５】
さらに、この請求項２５にかかる発明によれば、他のプロセスから共有メモリを利用したプロセス間通信によって通信情報を取得することができるので、デバッグ作業の形態に応じた形式で通信情報を加工することも可能となり、デバッグ作業におけるユーザビリティを向上させることができるという効果を奏する。
【０３０６】
加えて、この請求項２５にかかる発明によれば、共有メモリから通信情報を読み出してログ生成やログ表示などを行う場合の処理効率を向上させることができるという効果を奏する。
【０３０７】
また、請求項２６にかかる発明によれば、必要なプロセスのみのプロセス間通信情報を取得することができ、通信情報取得の処理効率を向上させることができるという効果を奏する。また、デバッグ作業に必要なアプリケーションやプログラムにおける通信情報だけを得ることができ、デバッグ作業をより効率的に行えるという効果を奏する。
【０３０８】
また、請求項２７にかかる発明によれば、画像情報処理装置のデバッグ作業において、障害が生じていると予想されるコンポーネント間のプロセス間通信だけを集中して検証することができ、デバッグ作業をより効率的に行えるという効果を奏する。
【０３０９】
また、請求項２８にかかる発明によれば、デバッグ作業における制御情報の設定が容易になるとともに、画像情報処理装置のコンポーネント構造を熟知していないユーザでもデバッグ作業を容易に行えるという効果を奏する。また、デバッグ対象のアプリケーション、プログラムの指定の漏れをなくして、より確実なデバッグ作業を行えるという効果を奏する。
【０３１０】
また、請求項２９にかかる発明によれば、格納データ量に制限のある共有メモリ資源の節約を図ることができるという効果を奏する。
【０３１１】
また、請求項３０にかかる発明によれば、多数のプロセス間で複雑に行われるプロセス間通信の状況を把握して障害の原因究明を行うことができ、デバッグ作業をより効率的に行えるという効果を奏する。
【０３１２】
また、請求項３１にかかる発明によれば、遠隔集中管理装置によって通信履歴情報に基づいた画像情報処理装置の適切な管理を行えるという効果を奏する。
【０３１３】
また、請求項３２にかかる発明によれば、多数のプロセスが動作している構成の画像情報処理装置において、プロセス間通信の状況を容易に把握でき、デバッグ作業を効率的に行えるという効果を奏する。また、この請求項２９にかかる発明によれば、通信履歴情報の生成の際のデータ量が減少し、データ転送効率を向上させることができるという効果を奏する。
【０３１４】
また、請求項３３にかかる発明によれば、必要なプロセスのみのプロセス間通信情報を取得することができ、通信情報取得の処理効率を向上させることができるという効果を奏する。また、デバッグ作業に必要なアプリケーションやプログラムにおける通信情報だけを得ることができ、デバッグ作業をより効率的に行えるという効果を奏する。
【０３１５】
また、請求項３４にかかる発明によれば、画像情報処理装置のデバッグ作業において、障害が生じていると予想されるコンポーネント間のプロセス間通信だけを集中して検証することができ、デバッグ作業をより効率的に行えるという効果を奏する。
【０３１６】
また、請求項３５にかかる発明によれば、デバッグ作業における制御情報の設定が容易になるとともに、画像情報処理装置のコンポーネント構造を熟知していないユーザでもデバッグ作業を容易に行えるという効果を奏する。また、デバッグ対象のアプリケーション、プログラムの指定の漏れをなくして、より確実なデバッグ作業を行えるという効果を奏する。
【０３１７】
また、請求項３６にかかる発明によれば、ハードディスクなどの資源の節約を図ることができるという効果を奏する。
【０３１８】
また、請求項３７にかかる発明によれば、通信情報の取得や通信履歴情報の生成を、画像情報処理装置の再起動なしに、通信履歴開始要求に応じて動的に開始することができ、デバッグ作業を効率的に開始することができるという効果を奏する。
【０３１９】
また、請求項３８にかかる発明によれば、関数呼び出しという簡易なプロセス間通信を利用して取得要求を行うことができ、プログラム開発労力の軽減を図ることができるという効果を奏する。
【０３２０】
また、請求項３９にかかる発明によれば、取得条件の変更に応じて動的に通信情報の取得や通信履歴の生成を行うことができ、デバッグ作業をより効率的に行えるという効果を奏する。
【０３２１】
また、請求項４０にかかる発明によれば、遠隔集中管理装置による画像情報処理装置の集中管理に拡張性を持たせることができるという効果を奏する。
【０３２２】
また、請求項４１にかかる発明によれば、デバッグ作業を画像情報処理装置から離れた場所で行うことができ、デバッグ作業をより効率的に行えるという効果を奏する。
【０３２３】
また、請求項４２にかかる発明によれば、請求項２５〜４１のいずれか一つの動作をコンピュータによって実行することができるという効果を奏する。
【図面の簡単な説明】
【図１】実施の形態１にかかる複合機の機能的構成を示すブロック図である。
【図２】実施の形態１にかかる複合機のハードウェア構成図である。
【図３】実施の形態１にかかる複合機において、プロセス間通信情報取得処理および通信ログ生成処理を実行するプロセスの全体構成を示したブロック図である。
【図４】図４（ａ）は、実施の形態１の複合機で使用される制御ファイルの一例を示す説明図である。図４（ｂ）は、共有メモリに設定された制御情報の一例を示す説明図である。
【図５】実施の形態１にかかる複合機のアプリケーションおよびコントロールサービスのプロセス内部の状態を示すブロック図である。
【図６】実施の形態１にかかる複合機の起動時におけるプロセス間通信情報取得のための初期化処理の手順を示すフローチャートである。
【図７】実施の形態１にかかる複合機のアプリケーションおよびコントロールサービスのプロセスによる通信情報の取得処理の手順を示すフローチャートである。
【図８】実施の形態１にかかる複合機のログ生成部による通信ログファイル生成処理の手順を示すフローチャートである。
【図９】実施の形態１にかかる複合機で生成される通信ログファイルの一レコードのフォーマットを示すデータ構造図である。
【図１０】実施の形態１にかかる複合機で生成される通信ログファイルの一例を示す説明図である。
【図１１】実施の形態１の複合機を含む遠隔集中管理システムの構成を示すブロック図である。
【図１２】実施の形態２にかかる複合機のアプリケーションおよびコントロールサービスのプロセスによる通信情報の取得処理の手順を示すフローチャートである。
【図１３】実施の形態２にかかる複合機のログ生成部による通信ログファイル生成処理の手順を示すフローチャートである。
【図１４】実施の形態３にかかる複合機のプロセス間通信情報取得処理および通信ログ生成処理を実行するプロセスの全体構成を示すブロック図である。
【図１５】実施の形態３にかかる複合機における通信情報取得の初期化処理の手順を示すフローチャートである。
【図１６】実施の形態３にかかる複合機において、新たな制御情報を受信した場合の処理の手順を示すフローチャートである。
【図１７】実施の形態４にかかる複合機において、新たな制御情報を受信した場合の処理の手順を示すフローチャートである。
【図１８】実施の形態５にかかる複合機を含む画像形成システムの構成を示すブロック図である。
【図１９】実施の形態５にかかる複合機の機能的構成を示すブロック図である。
【図２０】実施の形態５にかかる画像形成システムにおける複合機と管理サーバの構成を示すブロック図である。
【図２１】実施の形態６にかかる画像形成システムにおける複合機と管理サーバの構成を示すブロック図である。
【符号の説明】
１００，１９００  複合機
１０１  白黒ラインプリンタ
１０２  カラーラインプリンタ
１０３  ハードウェアリソース
１１０  ソフトウェア群
１１１  プリンタアプリ
１１２  コピーアプリ
１１３  ファックスアプリ
１１４  スキャナアプリ
１１５  ネットファイルアプリ
１１６  工程検査アプリ
１１７  ログ生成部
１２０  プラットホーム
１２１  汎用ＯＳ
１２２  ＳＣＳ
１２３  ＳＲＭ
１２４  ＥＣＳ
１２５  ＭＣＳ
１２６  ＯＣＳ
１２７  ＦＣＳ
１２８  ＮＣＳ
１３０  アプリケーション
２００  コントローラボード
２０１  ＡＳＩＣ
２０２  ＣＰＵ
２０３  ＳＤＲＡＭ（ＲＡＭ）
２０４  フラッシュメモリ（ＲＯＭ）
２０５  ＨＤ
２０６  フラッシュカードインタフェース部
２０７  フラッシュカード
２０８  ＳＲＡＭ
２１０  オペレーションパネル
２３０  ＵＳＢ
２４０  ＩＥＥＥ１３９４
２５０  プリンタ
３０１，２００１，２１０１  ロギングハンドラ
３０２，２１０３  制御ファイル
３０３  制御情報用共有メモリ
３０４ａ，３０４ｂ  通信情報用共有メモリ
３０５，２１０４  制御情報
３０６ａ，３０６ｂ  ＦＩＦＯキュー
３０７，２００７  通信ログファイル
５０１  ディスパッチャ
５０２  関数ハンドラ
５０３  メッセージハンドラ
５０４  エラーハンドラ
１１００，１８００  遠隔集中管理装置
１１０１，１８０１  コンピュータ
１１０２，１８０２  外部記憶装置
１１０３，１８０３  多チャネル通信制御装置
１１０４  公衆回線網
１１０５  通信アダプタ
１１０６  キーカード装置
１１０７  リモートＰＣ
１１１０，１８１０  管理サーバ
１１１１，１８１１  ＬＡＮ
１９１０  ログ管理部
２００２，２１０２  ログ生成部
２００３  ログ送信部
２００４  ハードディスク（ＨＤ）
【図１】
0003798682.tif 000002
【図２】
0003798682.tif 000003
【図３】
0003798682.tif 000004
【図４】
0003798682.tif 000005
【図５】
0003798682.tif 000006
【図６】
0003798682.tif 000007
【図７】
0003798682.tif 000008
【図８】
0003798682.tif 000009
【図９】
0003798682.tif 000010
【図１０】
0003798682.tif 000011
【図１１】
0003798682.tif 000012
【図１２】
0003798682.tif 000013
【図１３】
0003798682.tif 000014
【図１４】
0003798682.tif 000015
【図１５】
0003798682.tif 000016
【図１６】
0003798682.tif 000017
【図１７】
0003798682.tif 000018
【図１８】
0003798682.tif 000019
【図１９】
0003798682.tif 000020
【図２０】
0003798682.tif 000021
【図２１】
0003798682.tif 000022