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