(57)【要約】【課題】汎用性のあるレポート出力機能を実現することのできる電子機器、レポート作成方法及びレポート作成プログラムの提供を目的とする。【解決手段】複数のプログラムを実行可能な電子機器であって、前記プログラムより、レポートの出力対象とされる情報に応じてレポートの仕様が定義された仕様情報の登録を受け付け、管理する仕様管理手段と、前記出力対象とされる情報を取得し、前記仕様情報に従って当該情報に関する前記レポートを作成するレポート作成手段と、前記レポート作成手段によって作成された前記レポートを出力するレポート出力手段とを有することにより上記課題を解決する。【選択図】図６
2008147874.tif 000002
【特許請求の範囲】
【請求項１】
複数のプログラムを実行可能な電子機器であって、
前記プログラムより、レポートの出力対象とされる情報に応じてレポートの仕様が定義された仕様情報の登録を受け付け、管理する仕様管理手段と、
前記出力対象とされる情報を取得し、前記仕様情報に従って当該情報に関する前記レポートを作成するレポート作成手段と、
前記レポート作成手段によって作成された前記レポートを出力するレポート出力手段とを有することを特徴とする電子機器。
【請求項２】
前記仕様情報は、前記レポートのフォーマットを規定するフォーマット情報を含み、
前記レポート作成手段は、前記フォーマット情報が規定するフォーマットに従って前記レポートを作成することを特徴とする請求項１記載の電子機器。
【請求項３】
前記仕様情報には前記レポートを出力するタイミングが規定されており、
前記仕様管理手段は、当該電子機器において発生するイベントに応じ、管理されている前記仕様情報の中から前記タイミングが当該イベントに対応する仕様情報を検索し、
前記レポート作成手段は、検索された仕様情報に係るレポートを作成することを特徴とする請求項１又は２記載の電子機器。
【請求項４】
前記仕様情報には前記レポートの出力方法が規定されており、
前記出力手段は、前記出力方法に対応する出力先に前記レポートを出力することを特徴とする請求項１乃至３いずれか一項記載の電子機器。
【請求項５】
前記仕様情報には前記出力対象とされる情報の保存場所が示されており、
前記レポート作成手段は、前記保存場所より前記出力対象とされる情報を取得することを特徴とする請求項１乃至４いずれか一項記載の電子機器。
【請求項６】
複数のプログラムを実行可能な電子機器が実行するレポート作成方法であって、
前記プログラムより、レポートの出力対象とされる情報に応じてレポートの仕様が定義された仕様情報の登録を受け付け、管理する仕様管理手順と、
前記出力対象とされる情報を取得し、前記仕様情報に従って当該情報に関する前記レポートを作成するレポート作成手順と、
前記レポート作成手順において作成された前記レポートを出力するレポート出力手順とを有することを特徴とするレポート作成方法。
【請求項７】
前記仕様情報は、前記レポートのフォーマットを規定するフォーマット情報を含み、
前記レポート作成手順は、前記フォーマット情報が規定するフォーマットに従って前記レポートを作成することを特徴とする請求項６記載のレポート作成方法。
【請求項８】
前記仕様情報には前記レポートを出力するタイミングが規定されており、
前記仕様管理手順は、当該電子機器において発生するイベントに応じ、管理されている前記仕様情報の中から前記タイミングが当該イベントに対応する仕様情報を検索し、
前記レポート作成手順は、検索された仕様情報に係るレポートを作成することを特徴とする請求項６又は７記載のレポート作成方法。
【請求項９】
前記仕様情報には前記レポートの出力方法が規定されており、
前記出力手順は、前記出力方法に対応する出力先に前記レポートを出力することを特徴とする請求項６乃至８いずれか一項記載のレポート作成方法。
【請求項１０】
前記仕様情報には前記出力対象とされる情報の保存場所が示されており、
前記レポート作成手順は、前記保存場所より前記出力対象とされる情報を取得することを特徴とする請求項６乃至９いずれか一項記載のレポート作成方法。
【請求項１１】
複数のプログラムを実行可能な電子機器に、
前記プログラムより、レポートの出力対象とされる情報に応じてレポートの仕様が定義された仕様情報の登録を受け付け、管理する仕様管理手順と、
前記出力対象とされる情報を取得し、前記仕様情報に従って当該情報に関する前記レポートを作成するレポート作成手順と、
前記レポート作成手順において作成された前記レポートを出力するレポート出力手順とを実行させるためのレポート作成プログラム。
【請求項１２】
前記仕様情報は、前記レポートのフォーマットを規定するフォーマット情報を含み、
前記レポート作成手順は、前記フォーマット情報が規定するフォーマットに従って前記レポートを作成することを特徴とする請求項１１記載のレポート作成プログラム。
【請求項１３】
前記仕様情報には前記レポートを出力するタイミングが規定されており、
前記仕様管理手順は、当該電子機器において発生するイベントに応じ、管理されている前記仕様情報の中から前記タイミングが当該イベントに対応する仕様情報を検索し、
前記レポート作成手順は、検索された仕様情報に係るレポートを作成することを特徴とする請求項１１又は１２記載のレポート作成プログラム。
【請求項１４】
前記仕様情報には前記レポートの出力方法が規定されており、
前記出力手順は、前記出力方法に対応する出力先に前記レポートを出力することを特徴とする請求項１１乃至１３いずれか一項記載のレポート作成プログラム。
【請求項１５】
前記仕様情報には前記出力対象とされる情報の保存場所が示されており、
前記レポート作成手順は、前記保存場所より前記出力対象とされる情報を取得することを特徴とする請求項１１乃至１４いずれか一項記載のレポート作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、レポート作成方法及びレポート作成プログラムに関する。
【背景技術】
【０００２】
従来より、その動作状態等をレポートとして出力する機能（以下「レポート機能」という。）を有する機器が提供されている（例えば、特許文献１、特許文献２、特許文献３）。特に、ファクシミリ装置から送信履歴や不達レポート等が出力されるのはよく知られている。
【０００３】
他方において、近年の画像形成装置の中には、汎用的なコンピュータと同様にＣＰＵを備え、アプリケーションの制御によって各機能が実現されているものもある。更に、その出荷後にアプリケーションの追加（インストール）や削除（アンインストール）等が可能とされ、ユーザの利用環境に適したアプリケーションの実装により、カスタマイズが可能とされているものもある（例えば、特許文献４）。
【特許文献１】特開平１０−３２２５３５号公報
【特許文献２】特開平１０−１７３６９８号公報
【特許文献３】特開平１１−２９８６６２号公報
【特許文献４】特開２００５−２６９６１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のレポート機能は、レポートの対象となる情報が固定的であり、レポートの出力形式も固定的に実装されている。したがって、アプリケーションを追加し、当該アプリケーションに関してレポート機能を実現したい場合は、アプリケーションごとに当該アプリケーションに対応したレポー機能を実装しなければならないという問題があった。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、汎用性のあるレポート出力機能を実現することのできる電子機器、レポート作成方法及びレポート作成プログラムの提供を目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、本発明は、複数のプログラムを実行可能な電子機器であって、前記プログラムより、レポートの出力対象とされる情報に応じてレポートの仕様が定義された仕様情報の登録を受け付け、管理する仕様管理手段と、前記出力対象とされる情報を取得し、前記仕様情報に従って当該情報に関する前記レポートを作成するレポート作成手段と、前記レポート作成手段によって作成された前記レポートを出力するレポート出力手段とを有することを特徴とする。
【０００７】
このような電子機器では、汎用性のあるレポート出力機能を実現することができる。
【発明の効果】
【０００８】
本発明によれば、汎用性のあるレポート出力機能を実現することのできる電子機器、レポート作成方法及びレポート作成プログラムを提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における複合機のハードウェア構成の一例を示す図である。ここで、複合機とは、プリンタ、コピー、スキャナ、又はＦＡＸ等の複数の機能を一台の筐体において実現する画像形成装置をいう。複合機１のハードウェアとしては、コントローラ２０１と、オペレーションパネル２０２と、ファクシミリコントロールユニット（ＦＣＵ）２０３と、撮像部１２１と、印刷部１２２が存在する。
【００１０】
コントローラ２０１は、ＣＰＵ２１１、ＡＳＩＣ２１２、ＮＢ２２１、ＳＢ２２２、ＭＥＭ−Ｐ２３１、ＭＥＭ−Ｃ２３２、ＨＤＤ（ハードディスクドライブ）２３３、メモリカードスロット２３４、ＮＩＣ（ネットワークインタフェースコントローラ）２４１、ＵＳＢデバイス２４２、ＩＥＥＥ１３９４デバイス２４３、セントロニクスデバイス２４４により構成される。
【００１１】
ＣＰＵ２１１は、種々の情報処理用のＩＣである。ＡＳＩＣ２１２は、種々の画像処理用のＩＣである。ＮＢ２２１は、コントローラ２０１のノースブリッジである。ＳＢ２２２は、コントローラ２０１のサウスブリッジである。ＭＥＭ−Ｐ２３１は、複合機１のシステムメモリである。ＭＥＭ−Ｃ２３２は、複合機１のローカルメモリである。ＨＤＤ２３３は、複合機１のストレージである。メモリカードスロット２３４は、メモリカード２３５をセットするためのスロットである。ＮＩＣ２４１は、ＭＡＣアドレスによるネットワーク通信用のコントローラである。ＵＳＢデバイス２４２は、ＵＳＢ規格の接続端子を提供するためのデバイスである。ＩＥＥＥ１３９４デバイス２４３は、ＩＥＥＥ１３９４規格の接続端子を提供するためのデバイスである。セントロニクスデバイス２４４は、セントロニクス仕様の接続端子を提供するためのデバイスである。オペレーションパネル２０２は、オペレータが複合機１に入力を行うためのハードウェア（操作部）であると共に、オペレータが複合機１から出力を得るためのハードウェア（表示部）である。
【００１２】
図２は、本発明の実施の形態における複合機のソフトウェア構成例を示す図である。図２に示されるソフトウェアは、例えば、ＭＥＭ−Ｃ２３２に格納され、ＣＰＵ２１１によって処理されることによりその機能を複合機に実行させる。
【００１３】
図２に示されるように、複合機１におけるソフトウェアは、ユーザインタフェース層１０、コントロール層２０、アプリケーションロジック層３０、デバイスサービス層４０、及びデバイス制御層５０等より構成される。なお、図中における各層の上下関係は、層間の呼び出し関係に基づいている。すなわち、基本的に図中において上にある層が下の層を呼び出す。
【００１４】
ユーザインタフェース層１０は、各種サービス（例えば、コピー、印刷、スキャン、ＦＡＸ送信）の実行要求を受け付けるための機能が実装されている部分であり、例えば、通信サーバ部１１及びローカルＵＩ部１２等のプログラムが含まれる。通信サーバ部１１は、例えば、非図示のクライアントＰＣ（Personal Computer）等からネットワーク経由で要求を受け付ける。ローカルＵＩ部１２は、例えば、オペレーションパネル２０２を介して入力される要求を受け付ける。ユーザインタフェース層１０において受け付けられた要求は、コントロール層２０に伝えられる。
【００１５】
コントロール層２０は、要求されたサービスを実現するための処理を制御するための機能が実装されている部分であり、例えば、リクエスト管理部２１、機内監視部２２及びプラグイン管理部２３等のプログラムが含まれる。リクエスト管理部２１は、例えば、オペレーションパネル２０２を介してその実行が要求されたサービスを実現するための処理を制御する。機内監視部２２は、複合機１の内部において発生するイベント（状態の変化等）を監視し、当該イベントの検知に応じてサービスを実現するための処理を制御する。プラグイン管理部２３は、アプリケーションロジック層３０における各種のソフトウェア（プログラム）の管理を行う。当該管理としては、当該各種のソフトウェアのインストール又はアンインストール等が含まれる。
【００１６】
アプリケーションロジック層３０は、複合機１によって提供されるサービスを実現するアプリケーション又は当該アプリケーションの一部の機能を実現する部品群等が実装されている部分である。
【００１７】
複合機１においてサービスを実現するアプリケーションに相当するソフトウェアは、「アクティビティ」と呼ばれる。図中では、アクティビティの一例として、コピーアクティビティ３３１、プリンタアクティビティ３３２、及びレポートアクティビティ３３３等が示されている。各アクティティティは、アプリケーションロジック層３０における一つ以上の部品の組み合わせ（接続）によって構成される。本実施の形態では、各部品を「フィルタ」と呼ぶ。これは、複合機１のソフトウェアアーキテクチャが「パイプ＆フィルタ」と呼ばれる考え方に基づくことによる。
【００１８】
図３は、パイプ＆フィルタの概念を説明するための図である。図３において、「Ｆ」はフィルタを示し、「Ｐ」はパイプを示す。図中に示されるように、各フィルタはパイプによって接続される。フィルタは、入力されたデータに対して変換を施し、その結果を出力する。パイプは、フィルタから出力されたデータを次のフィルタに伝達する。
【００１９】
すなわち、本実施の形態における複合機１では、各サービスをドキュメント(画像データ)に対する「変換」の連続として捉える。複合機の各サービスは、ドキュメントの入力、加工、及び出力によって構成されるものとして一般化することができる。そこで「入力」、「加工」、及び「出力」を「変換」として捉え、一つの「変換」を実現するソフトウェア部品がフィルタとして構成される。入力を実現するフィルタを特に「入力フィルタ」という。また、加工を実現するフィルタを特に「加工フィルタ」という。更に、出力を実現するフィルタを特に「出力フィルタ」という。なお、各フィルタは独立しており、フィルタ間における依存関係（呼び出し関係）は基本的に存在しない。したがって、フィルタ単位で追加（インストール）又は削除（アンインストール）が可能とされている。なお、パイプは、例えば、メモリやハードディスク等の記憶領域が用いられる。
【００２０】
図２では、入力フィルタとして、読取フィルタ３０１、保管文書読出フィルタ３０２、メール受信フィルタ３０３、ＦＡＸ受信フィルタ３０４、ＰＣ文書受信フィルタ３０５、レポートフィルタ３０６等が含まれている。
【００２１】
読取フィルタ３０１は、スキャナによる画像データの読み取りを制御し、読み取られた画像データを出力する。保管文書読出フィルタ３０２は、複合機１のＨＤＤ２３３に保管されている文書データ（画像データ）を読み出し、読み出されたデータを出力する。メール受信フィルタ３０３は、電子メールを受信し、当該電子メールに含まれているデータを出力する。ＦＡＸ受信フィルタ３０４は、ＦＡＸ受信を制御し、受信されたデータを出力する。ＰＣ文書受信フィルタ３０５は、非図示のクライアントＰＣから画像データを受信し、受信された画像データを出力する。レポートフィルタ３０６は、複合機１の各種の設定情報や管理情報、及び各ソフトウェアコンポーネントより出力される履歴情報等を、所定の形式に整形されたレポートとして出力する。
【００２２】
加工フィルタとしては、文書加工フィルタ３１１及びマーキング生成フィルタ３１２等が含まれている。文書加工フィルタ３１１は、入力されたデータに所定の画像変換処理（集約、拡大、又は縮小等）を施し、出力する。マーキング生成フィルタ３１２は、画像データに対して合成するバーコード等のマーキングデータを生成する。
【００２３】
出力フィルタとしては、印刷フィルタ３２１、保管文書登録フィルタ３２２、メール送信フィルタ３２３、ＦＡＸ送信フィルタ３２４、ＰＣ文書送信フィルタ３２５、プレビューフィルタ３２６、及びマーキング解析フィルタ３２７等が含まれている。
【００２４】
印刷フィルタ３２１は、入力されたデータをプロッタに出力（印刷）させる。保管文書登録フィルタ３２２は、入力されたデータを複合機１のＨＤＤ２３３に保存する。メール送信フィルタ３２３は、入力されたデータを電子メールに添付して送信する。ＦＡＸ送信フィルタ３２４は、入力されたデータをＦＡＸ送信する。ＰＣ文書送信フィルタ３２５は、入力されたデータをクライアントＰＣに送信する。プレビューフィルタ３２６は、入力されたデータを、複合機１のオペレーションパネル２０２にプレビュー表示させる。マーキング解析フィルタ３２７は、入力された画像データよりマーキングデータを検出し、当該マーキングデータによって表現されているデータを出力する。
【００２５】
上記したように、各アクティティは、これらのフィルタの接続によって構成される。例えば、コピーアクティビティ３３１は、読み取りフィルタ３０１、文書加工フィルタ３１１、及び印刷フィルタ３２１の接続によって構成される。したがって、コピーアクティビティ３３１は、撮像部１２１に原稿からの画像データの読み取りを実行させ、必要に応じて当該画像データに対して画像処理を実行した後、印刷部１２２に当該画像データの印刷を実行させる。
【００２６】
また、プリンタアクティビティ３３２は、ＰＣ文書受信フィルタ３０５、文書加工フィルタ３１１、及び印刷フィルタ３２１の接続によって構成される。したがって、プリンタアクティビティ３３２は、クライアントＰＣから画像データを受信し、必要に応じて当該画像データに対して画像処理を実行した後、印刷部１２２に当該画像データの印刷を実行させる。
【００２７】
また、レポートアクティビティ３３３は、図４に示されるように構成される。図４は、レポートアクティビティの構成例を示す図である。図４に示されるように、レポートアクティビティ３３３は、入力フィルタとしてのレポートフィルタ３０６と、出力フィルタとの接続によって構成される。図中において、出力フィルタについて特定されていないのは、出力形態によって出力フィルタが異なるからである。例えば、レポートを紙文書として出力する場合は、印刷フィルタ３２１が出力フィルタとして用いられる。また、レポートをメールによって送信する場合は、メール送信フィルタ３２３が出力フィルタとして用いられる。斯かる構成によって、レポートアクティビティ３３３は、複合機１の各種のコンポーネント等に対する設定情報や、各種のコンポーネントによって管理されている管理情報、及び各種のコンポーネント等の処理に応じて記録される履歴情報等をユーザに対して報告するためのレポートを出力するサービス（以下「レポートサービス」という。）を提供する。すなわち、複合機１において、レポートの出力機能は、コンポーネント毎ではなく、レポートアクティビティ３３３によって統合的に実現される。
【００２８】
なお、アプリケーション層３０における新たなアクティビティの追加は、フィルタの接続によって実現することができる。また、当該新たなアクティビティに適したフィルタが存在しない場合は、当該フィルタを新たにインストールし、当該フィルタを他のフィルタと接続することで新たなアクティビティの追加を実現することができる。
【００２９】
図２に戻る。デバイスサービス層４０は、アプリケーションロジック層３０における各フィルタから共通に利用される下位機能が実装されている部分であり、例えば、画像パイプ４１、データ管理部４２、及びレポート定義部４３等が含まれる。画像パイプ４１は、上述したパイプの機能を実現する。すなわち、或るフィルタからの出力データを次のフィルタに伝達する。データ管理部４２は、例えば、ユーザ情報が登録されたデータベースや、文書又は画像データ等が蓄積されるデータベース等の他、上記の管理情報、設定情報又は履歴情報等の管理を行う。レポート定義部４３については後述する。
【００３０】
なお、アプリケーションロジック層３０は、アクティビティ若しくはフィルタの追加又は削除等の変更が可能な部分であるのに対し、デバイスサービス層４０は、少なくともコンポーネントの削除は制限される固定的な部分である。
【００３１】
デバイス制御層５０は、デバイス（ハードウェア）を制御するドライバと呼ばれるプログラムモジュール群が実装されている部分であり、例えば、スキャナ制御部５１、プロッタ制御部５２、ストレージ制御部５３、ＦＣＵ制御部５４、及びネットワーク制御部５５等が含まれる。各制御部は、当該制御部の名前に付けられているデバイスを制御する。
【００３２】
複合機１のレポートサービスについて更に詳しく説明する。図５は、レポートサービスに関する各コンポーネントのクラス構成例を示す図である。図５では、アプリケーションロジック層３０におけるレポートフィルタ３０６と、デバイスサービス層４０におけるレポート定義部４３とのクラス構成が示されている。
【００３３】
レポート定義部４３は、レポート定義書クラス４３１、レポートフォーマットクラス４３２、レポートアイテムクラス４３３、論理レポートクラス４３４、及びレポート定義管理クラス４３５等より構成される。レポート定義書クラス４３１は、「レポート定義書」を表現するクラスであり、レポート定義書ごとにインスタンス（レポート定義書オブジェクト４３１Ｉ）が生成される。ここで、「レポート定義書」とは、レポートの仕様が定義された情報をいい、レポートの出力対象とされる情報（以下「レポートソース情報」という。）ごとに作成され、レポート定義部４３に登録される。換言すれば、レポートサービスを利用するコンポーネントは、当該コンポーネントが所望する仕様を定義したレポート定義書（すなわち、レポート定義書クラス４３１のインスタンス）を作成し、レポート定義部４３に予め登録しておく必要がある。
【００３４】
レポート定義書に定義される情報としては、例えば、レポート名、レポートフォーマット、出力方法、出力タイミング、レポートソース情報の保存場所等がある。レポート名は、レポートの名前である。レポートフォーマットは、レポートの出力形式を規定する情報である。レポートフォーマットには、例えば、設定情報や履歴情報等のレポートソース情報とレポートとのマッピング情報が定義される。より詳しくは、レポートソース情報を構成する各項目をレポート上どのような配置（レイアウト）で出力するか等が、例えばＸＭＬ形式で定義されている。出力方法は、印刷、メール送信、ＦＡＸ送信の別等、レポートの出力方法（出力先）を規定する情報である。出力タイミングは、レポートを出力するタイミングを規定する情報である。出力タイミングは、例えば、各種のイベント（ユーザによるレポートの出力指示、複合機１の異常発生）の発生や、レポートソース情報の蓄積量が所定量に到達したときといったような条件によって設定される。レポートソース情報の保存場所は、レポートソース情報の保存場所を識別するための情報であり、例えば、ファイル名やＵＲＬ等が相当する。なお、レポート定義書は、レポートＩＤによって一意に識別される。したがって、レポート定義書クラス４３１の各インスタンス（レポート定義書オブジェクト４３１Ｉ）は、レポートＩＤと関連付けられて管理され、当該レポートＩＤによって識別される。
【００３５】
レポートフォーマットクラス４３２は、上記におけるレポートフォーマットを表現するクラスであり、レポートフォーマットごとにインスタンス（レポートフォーマットオブジェクト４３２Ｉ）が生成される。レポートアイテムクラス４３３は、レポートを構成する各項目（アイテム）を表現するクラスであり、当該項目ごとにインスタンス（レポートアイテムオブジェクト４３３Ｉ）が生成される。論理レポートクラス４３４は、レポートを表現するクラスであり、出力されるレポートごとにそのインスタンス（論理レポートオブジェクト４３４Ｉ）が生成される。論理レポートオブジェクト４３４Ｉは、レポート定義書オブジェクト４３１Ｉによってレポート定義書に従って生成される。生成された論理レポートオブジェクト４３４Ｉは、画像データに変換され、レポート定義書の出力方法に従って出力方法で出力される。
【００３６】
レポート定義管理クラス４３５は、レポート定義書（厳密には、レポート定義書を表現するレポート定義書オブジェクト４３１Ｉ）の登録を受け付け、管理するクラスであり、そのインスタンス（レポート定義管理オブジェクト４３５Ｉ）は、レポート定義部４３に一つ存在する。
【００３７】
一方、レポートフィルタ３０６は、レポートフィルタクラス３０６１、レポートフィルタジョブ３０６２及びレポート動作条件クラス３０６３等より構成される。レポートフィルタクラス３０６１は、レポートフィルタ３０６を表現するクラスである。レポートフィルタジョブクラス３０６２は、レポートフィルタ３０６の処理（ジョブ）の制御を行うクラスである。レポート動作条件クラス３０６３は、レポートフィルタ３０６のジョブに関する動作条件を保持するクラスである。例えば、レポート動作条件クラス３０６３は、処理対象とされるレポートを識別する情報としてレポートＩＤを保持する。
【００３８】
なお、図５において、コンポーネント３４０は、アプリケーション層３０においてレポートサービスを利用するコンポーネント（フィルタ）の一例である。コンポーネント３４０は、コンクリートレポートアイテムクラス３４１、コンクリートレポートフォーマットクラス３４２、及びコンクリートレポート定義書クラス３４３を含む。これらは、それぞれ、レポートアイテムクラス４３３、レポートフォーマットクラス４３２、レポート定義書クラス４３１を継承したクラスであり、コンポーネント３４０用に拡張されている。すなわち、レポートアイテムクラス４３３，レポートフォーマットクラス４３２、及びレポート定義書クラス４３１は、レポートサービスを利用するコンポーネントにおいて必要に応じて拡張することが可能である。クラスの拡張によって、レポート定義書によって設定可能な範囲を超えて、レポートの形式等のカスタマイズが可能となる。但し、レポートサービスを利用するコンポーネントにおいて、これらのクラスの継承及び拡張は必ずしも必要ではない。
【００３９】
以下、複合機１の処理手順について説明する。図６は、複合機におけるレポートの作成及び出力処理を説明するためのシーケンス図である。図６において、コンポーネント３５０は、レポートサービスを利用するコンポーネント（プログラム）の一例であり、例えば、アプリケーションロジック層３０におけるフィルタであったり、コントロール層２０におけるコンポーネントであったりする。コンポーネント３５０は、その機能を実行するたびに記録される履歴情報、又はその機能を実行するための管理情報若しくは設定情報（レポートソース情報）を所定の形式でデータ管理部４２に登録している。データ管理部４２は、例えば、当該レポートソース情報をストレージ制御部５３を介してＨＤＤ２３３にファイルとして保存する。図６では、係るレポートソース情報に基づいてレポートを作成し、出力するための処理について説明する。
【００４０】
例えば、複合機１に電源が投入され、複合機１が起動すると、プラグイン管理部２２は、アプリケーションロジック層３０における各フィルタ等の初期化を行う。コンポーネント３５０についても、プラグイン管理部２２より初期化が指示される（Ｓ１０１）。初期化の指示に応じ、コンポーネント３５０は、レポート定義書オブジェクト４３１Ｉを生成する（Ｓ１０２）。この際、コンポーネント３５０は、レポート名、出力方法、及び出力タイミング等をレポート定義書オブジェクト４３１Ｉに設定する。
【００４１】
続いて、コンポーネント３５０は、レポートフォーマットオブジェクト４３２Ｉを生成する（Ｓ１０３）。この際、コンポーネント３５０は、レポートソース情報を構成する各項目の配置情報等を含むマッピング情報をレポートフォーマットオブジェクト４３２Ｉに登録する。続いて、コンポーネント３５０は、レポートフォーマットオブジェクト４３２Ｉを、レポート定義書オブジェクト４３１Ｉに登録した後、レポート定義書オブジェクト４３１ＩをそのレポートＩＤと共にレポート定義管理オブジェクト４３５Ｉに登録する（Ｓ１０４）。レポート定義管理オブジェクト４３５Ｉは、レポートＩＤとレポート定義書オブジェクト４３１Ｉとを関連付けて管理する。なお、厳密には、レポートソース情報を構成する項目毎にレポートアイテムオブジェクト４３３Ｉが生成され、当該レポートアイテムオブジェクト４３３Ｉがレポート定義書オブジェクト４３１Ｉに登録されるが、図中では便宜上省略されている。
【００４２】
以上によって、コンポーネント３５０のレポート定義書は、レポート定義部４３に登録されたことになる。なお、他のフィルタ等についても、レポートサービスを利用するものは、コンポーネント３５０と同様の処理を実行する。したがって、レポートソース情報に応じて、各種のレポート定義書がレポート定義部４３に登録され得る。
【００４３】
その後、複合機１が利用される過程において、機器内（のシステム）において何らかのイベントが発生すると、当該イベントはレポートアクティビティ３３３に通知される（Ｓ１０５−１）。また、オペレーションパネル２０２を介した操作によって、ユーザから明示的にレポートの出力が要求された場合、その要求イベントはレポートアクティビティ３３３に通知される（Ｓ１０５−２）。これらのイベントの通知に応じ、レポートアクティビティ３３３は、通知されたイベントを出力タイミングに関する検索条件として、レポート定義書の検索をレポート定義管理オブジェクト４３５Ｉに要求する（Ｓ１０６）。
【００４４】
レポート定義管理オブジェクト４３５Ｉは、登録されているレポート定義書オブジェクト４３１Ｉの中から、検索条件に指定されたイベントを出力タイミングとするものを検索する（Ｓ１０７）。例えば、ステップＳ１０５−１において発生したイベントが「ＦＡＸ送信の完了」であり、コンポーネント３５０によって登録されたレポート定義書オブジェクト４３１Ｉに係る出力タイミングが「ＦＡＸ送信の完了」である場合、当該レポート定義書オブジェクト４３１Ｉが検索される。また、コンポーネント３５０によって登録されたレポート定義書オブジェクト４３１Ｉに係る出力タイミングが「ＦＡＸ送信の１０件分の完了」である場合、今回のＦＡＸ送信が、前回のレポートの出力後から１０件目であれば当該レポート定義書オブジェクト４３１Ｉが検索される。
【００４５】
また、ステップＳ１０５−２において、ユーザから明示的に出力対象とするレポートが指定された場合、ステップＳ１０７では、当該指定されたレポートに係るレポート定義書４３１Ｉが検索される。
【００４６】
いずれの場合も、レポート定義管理オブジェクト４３５Ｉは、検索されたレポート定義書オブジェクト４３１Ｉに関連付けられているレポートＩＤをレポートアクティビティ３３３に返却する。なお、該当するレポート定義書オブジェクト４３１Ｉが存在しなかった場合は、その旨が返却され、その後の処理（レポートの作成及び出力）は実行されない。
【００４７】
レポート定義管理オブジェクト４３５ＩよりレポートＩＤが返却されると、レポートアクティビティ３３３は、当該レポートＩＤを指定してレポート作成処理の実行を、レポートフィルタ３０６に要求する（Ｓ１０９）。当該要求に指定されたレポートＩＤは、レポートフィルタ３０６のレポート動作条件オブジェクト３０６３Ｉに登録される。
【００４８】
レポートフィルタ３０６は、レポートＩＤを指定して、レポートの作成をレポート定義管理オブジェクト４３５Ｉに要求する（Ｓ１１０）。レポート定義管理オブジェクト４３５Ｉは、指定されたレポートＩＤに関連付けられているレポート定義書オブジェクト４３１Ｉに対し、レポートの作成を要求する（Ｓ１１１）。レポート定義書オブジェクト４３１Ｉは、レポート定義書を構成する情報として自らに設定されている「レポートソース情報の保存場所」を指定して、レポートソース情報の取得をデータ管理部４２に要求する（Ｓ１１２）。データ管理部４２は、指定された保存場所（ファイル等）よりレポートソース情報（例えば、ＦＡＸ送信フィルタ２２４によって蓄積されている送信履歴）を取得し、レポート定義書オブジェクト４３１に返却する（Ｓ１１３）。
【００４９】
レポートソース情報を入手したレポート定義書オブジェクト４３１Ｉは、当該レポートソース情報を、自らに登録されているレポートフォーマットオブジェクト４３２Ｉに設定する（Ｓ１１４）。続いて、レポート定義書オブジェクト４３１Ｉは、コンポーネントごとに任意の形式によるレポートソース情報を、レポートフォーマットオブジェクト４３２Ｉに定義されたフォーマットに変換（整形）する（Ｓ１１５）。具体的には、レポートソース情報にレポートフォーマットオブジェクト４３２Ｉに定義されたフォーマットを適用した結果として、論理レポートオブジェクト４３４Ｉを生成する（Ｓ１１６）。したがって、生成された論理レポートオブジェクト４３４Ｉは、レポートとして出力する項目毎にその値と、配置位置等を示す情報（以下「レポート情報」という。）を保持する。
【００５０】
続いて、レポートフィルタ３０６は、論理レポートオブジェクト４３４Ｉに対し、画像データへの変換を指示する（Ｓ１１７）。論理レポートオブジェクト４３４Ｉは、自らに設定されているレポート情報に基づいて、レポートの画像データを生成する（Ｓ１１８）。レポートフィルタ３０６は、生成された画像データを画像パイプ４１に出力する（Ｓ１１９）。
【００５１】
出力フィルタ３２０は、画像パイプ４１への画像データの入力を検知すると、当該画像データを画像パイプ４１より読み込み（Ｓ１２０）、出力する（Ｓ１２１）。例えば、出力フィルタ３２０が、印刷フィルタ３２１である場合、画像データは、印刷部１２２によって印刷される。なお、出力フィルタは、レポート定義書における出力方法に応じて選択される。
【００５２】
図７は、レポートの出力イメージの第一の例を示す図である。図７では、複合機１で管理されているアドレス帳の内容がレポートとして出力された例が示されている。当該レポートでは、アドレス帳に登録されているレコードごとに、登録番号、ユーザ名、ファクス番号又はメールアドレス等が出力されている。これは、アドレス帳として所定の形式で記録されている情報が、当該アドレス帳に対応するレポート定義書のフォーマットに従って出力されたものである。
【００５３】
図８は、レポートの出力イメージの第二の例を示す図である。図８の例では、印刷フィルタ３２１が、画像データの印刷の際に発生したエラー情報を記録したエラー履歴が出力された例が示されている。当該レポートでは、エラーが発生したジョブごとに、ＩＤ、ユーザＩＤ又はユーザ名、文書名、作成日時／開始日時が出力されている。これは、エラー履歴として所定の形式で記録されている情報が、当該エラー履歴に対応するレポート定義書のフォーマットに従って出力されたものである。
【００５４】
上述したように、本発明の実施の形態における複合機１は、レポートサービスを利用する各コンポーネント（プログラム）にレポート定義書を登録させ、当該レポート定義書に従ってレポートを作成することのできる汎用的なレポート作成機能を有する。したがって、各コンポーネントは、レポート定義書を定義すればよく、コンポーネントごとにレポートを作成及び出力するためのロジックを実装する必要はない。斯かる事情は、新たに追加されるコンポーネントについても同様であり、新たなコンポーネントの追加に対しても柔軟に対応することができる。
【００５５】
また、レポート定義書にはレポートのフォーマットが定義され、当該フォーマットに従ってレポートが作成されるため、汎用的でありながら、レポートソース情報に応じて異なったフォーマットでレポートを出力することができる。
【００５６】
また、アプリケーションロジック層３０におけるレポートフィルタ３０６は、アンインストールが可能であるところ、複合機１においてレポート定義書の登録及び管理を行うためのコンポーネント（レポート定義部４３）は、レポートフィルタ３０６内ではなく、固定的な部分であるデバイスサービス層４０に実装されている。したがって、各コンポーネントはレポートフィルタ３０６に対して依存関係を持つことなくレポートサービスを利用することができる。よって、レポートフィルタ３０６がアンインストールされた場合であっても、各コンポーネントの動作に不具合が発生したり、各コンポーネントのソースコードのコンパイルが通らなくなったりすることを回避することができる。
【００５７】
なお、本実施の形態では、複合機（画像形成装置）を電子機器の一例として説明したが、画像形成装置以外でも、複数のプログラムを実行可能であり、レポートソース情報が記録されるような電子機器であれば本発明を有効に適用することができる。
【００５８】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施の形態における複合機のハードウェア構成の一例を示す図である。
【図２】本発明の実施の形態における複合機のソフトウェア構成例を示す図である。
【図３】パイプ＆フィルタの概念を説明するための図である。
【図４】レポートアクティビティの構成例を示す図である。
【図５】レポートサービスに関する各コンポーネントのクラス構成例を示す図である。
【図６】複合機におけるレポートの作成及び出力処理を説明するためのシーケンス図である。
【図７】レポートの出力イメージの第一の例を示す図である。
【図８】レポートの出力イメージの第二の例を示す図である。
【符号の説明】
【００６０】
１          複合機
１０        ユーザインタフェース層
１１        通信サーバ部
１２        ローカルＵＩ部
２０        コントロール層
２１        リクエスト管理部
２２        機内監視部
２３        プラグイン管理部
３０        アプリケーションロジック層
４０        デバイスサービス層
４１        画像パイプ
４２        データ管理部
４３        レポート定義部
５０        デバイス制御層
５１        スキャナ制御部
５２        プロッタ制御部
５３        ストレージ制御部
５４        ＦＣＵ制御部
５５        ネットワーク制御部
２０１      コントローラ
２０２      オペレーションパネル
２０３      ファクシミリコントロールユニット
２１１      ＣＰＵ
２１２      ＡＳＩＣ
２２１      ＮＢ
２２２      ＳＢ
２３１      ＭＥＭ−Ｐ
２３２      ＭＥＭ−Ｃ
２３３      ＨＤＤ
２３４      メモリカードスロット
２３５      メモリカード
２４１      ＮＩＣ
２４２      ＵＳＢデバイス
２４３      ＩＥＥＥ１３９４デバイス
２４４      セントロニクスデバイス
３０１      読取フィルタ
３０２      保管文書読出フィルタ
３０３      メール受信フィルタ
３０４      ＦＡＸ受信フィルタ
３０５      ＰＣ文書受信フィルタ
３０６      レポートフィルタ
３１１      文書加工フィルタ
３１２      マーキング生成フィルタ
３２１      印刷フィルタ
３２２      保管文書登録フィルタ
３２３      メール送信フィルタ
３２４      ＦＡＸ送信フィルタ
３２５      ＰＣ文書送信フィルタ
３２６      プレビューフィルタ
３２７      マーキング解析フィルタ
４３１      レポート定義書クラス
４３２      レポートフォーマットクラス
４３３      レポートアイテムクラス
４３４      論理レポートクラス
４３５      レポート定義管理クラス
３０６１    レポートフィルタクラス
３０６２    レポートフィルタジョブ
３０３６    レポート動作条件クラス
【図１】
2008147874.tif 000003
【図２】
2008147874.tif 000004
【図３】
2008147874.tif 000005
【図４】
2008147874.tif 000006
【図５】
2008147874.tif 000007
【図６】
2008147874.tif 000008
【図７】
2008147874.tif 000009
【図８】
2008147874.tif 000010