(57)【要約】【課題】  履歴情報を適時利用できるようにして、先課金のような課金処理をも実現可能な画像形成装置を提供する。【解決手段】  本発明の画像形成装置は、画像形成処理を実行させるためのソフトウェアを有し、そのソフトウェアを、機能に応じて複数のコンポーネントに区分し、各コンポーネントをＣＰＵに実行させ、複数の画像処理手段として機能させる。画像処理手段により実行される処理から、その処理に関する履歴情報を収集して記憶する履歴処理を切り離し、画像処理手段により実行される処理の指定された時点で切り離した処理を実行させる履歴ブロック２５１と、履歴処理により更新される履歴情報を監視し、設定されたタイミングで履歴情報を読み出す処理を実行させる履歴監視ブロック２５２とを含むコンポーネントを新たに構成し、履歴処理手段および履歴監視手段として機能させる。【選択図】  図２
2008160542.tif 000002
【特許請求の範囲】
【請求項１】
画像形成処理を行う画像形成装置であって、
機能に応じて区分され、各々が前記画像形成処理の一部の処理を実行する複数の画像処理手段と、
前記画像処理手段により実行される処理から切り離された該処理に関する履歴情報を収集し、記憶手段に記憶する履歴処理を、前記画像処理手段により実行される処理の指定された時点で実行する履歴処理手段と、
前記履歴情報を使用して処理を行うために、前記履歴処理により更新される前記履歴情報を監視し、設定されたタイミングで前記記憶手段から前記履歴情報を読み出す履歴監視手段とを含む、画像形成装置。
【請求項２】
前記履歴監視手段は、前記履歴処理手段からの前記履歴情報を更新したことを示す更新通知の受信に応答して、前記記憶手段から前記履歴情報を読み出す、請求項１に記載の画像形成装置。
【請求項３】
前記履歴監視手段は、前記履歴処理によって更新され、通知される更新通知の回数を前記タイミングの設定情報として保持し、前記履歴処理手段からの前記更新通知の数をカウントし、前記回数に達した場合に、前記記憶手段から前記履歴情報を読み出す、請求項１に記載の画像形成装置。
【請求項４】
前記履歴監視手段は、前記履歴情報を読み出す時間間隔を前記タイミングの設定情報として保持し、前記時間間隔ごとに前記記憶手段から読み出す、請求項１に記載の画像形成装置。
【請求項５】
前記履歴監視手段は、ユーザからの前記タイミングの設定情報の受信に応答して、前記タイミングの設定を変更する、請求項１に記載の画像形成装置。
【請求項６】
前記履歴監視手段は、前記履歴処理手段が収集する項目を含む履歴のフォーマット情報を保持し、前記記憶手段から読み出した前記履歴情報が前記フォーマット情報に適合するか否かを判定する、請求項１に記載の画像形成装置。
【請求項７】
前記履歴監視手段は、前記履歴処理により更新された前記履歴情報が前記フォーマット情報の対応する前記項目に適合するか否かを判定する、請求項６に記載の画像形成装置。
【請求項８】
前記履歴監視手段は、複数の前記画像処理手段により実行される複数の処理の処理順および組み合わせに関する処理手順情報を保持し、前記記憶手段から読み出した前記複数の処理に関する履歴情報が前記処理手順情報に適合するか否かを判定する、請求項６に記載の画像形成装置。
【請求項９】
前記画像形成装置は、前記履歴処理手段が取得した前記履歴情報を使用して、課金を行う課金手段をさらに含む、請求項１に記載の画像形成装置。
【請求項１０】
前記課金手段は、処理と料金との対応を示す料金テーブルを保持し、料金テーブルを使用して課金額を計算する、請求項９に記載の画像形成装置。
【請求項１１】
前記履歴監視手段は、前記課金に関する情報を保持し、前記記憶手段から読み出した前記履歴情報に、前記課金に関する情報が含まれる場合、前記課金手段に前記課金額を計算させ、前記課金額とユーザが投入した投入金額とを比較して投入金額が不足するか否かを判定する、請求項１０に記載の画像形成装置。
【請求項１２】
画像形成処理を行う画像形成装置における制御方法を該画像形成装置に実行させるプログラムであって、
前記画像形成処理を行うために複数の処理を実行するステップと、
前記複数の処理のうちの一部の処理から切り離された該一部の処理に関する履歴情報を収集し、記憶手段に記憶する履歴処理を、前記一部の処理の指定された時点で実行するステップと、
前記履歴情報を使用して処理を行うために、前記履歴処理により更新される前記履歴情報を監視し、設定されたタイミングで前記記憶手段から前記履歴情報を読み出すステップとを前記装置に実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャナ、コピー、ファクシミリ、プリンタ等の機能を有する画像形成装置およびその画像形成装置における制御を実現するためのプログラムに関する。
【背景技術】
【０００２】
プリンタ、コピー機、ファクシミリ装置等の画像形成装置において、これらの機能を１つの筐体内に収納した複合機が普及している。この複合機は、起動部と、ハードウェア資源と、ソフトウェア群とを含んで構成されている（例えば、特許文献１参照）。
【０００３】
起動部は、ハードディスク装置（ＨＤＤ）等の記憶手段からソフトウェア群に含まれるアプリケーション層およびプラットフォーム内のプログラムを読み出し、読み出した各プログラムをメモリ領域に転送して起動する。
【０００４】
ハードウェア資源は、プリンタやスキャナ等の各機能を実現するハードウェアリソース、ＣＰＵ、ローカルメモリやシステムメモリ、ＨＤＤ、オペレーションパネル、エンジン等を備える。
【０００５】
ソフトウェア群は、プリンタに関する処理を実行するプリンタアプリケーション、コピーに関する処理を実行するコピーアプリケーション、ファックスに関する処理を実行するファックスアプリケーション、スキャナに関する処理を実行するスキャナアプリケーションを含むアプリケーション層を含む。また、アプリケーション層からの処理要求を解釈してハードウェア資源の獲得要求を発生するコントロールサービス層と、１つ以上のハードウェア資源の管理を行い、コントロールサービス層からの獲得要求を調停するシステムリソースマネージャ（ＳＲＭ）と、ＳＲＭからの獲得要求に応じてハードウェア資源の管理を行うハンドラ層とを備えるプラットフォームを含む。さらに、アプリケーション層からの処理要求をプラットフォームが受信可能とするＡＰＩを含む。
【０００６】
このような複合機では、各アプリケーションにおいて、アプリケーション本来の処理以外の処理、例えば、動作情報や過去の処理情報、すなわち履歴情報を収集し、保存する履歴処理が実行される。これは、各アプリケーションが、独立して、履歴情報を残すように構成されるためである。この履歴情報は、開発中のデバッグ等の検証および評価や、課金等の予め決められた用途に使用される。
【０００７】
アプリケーション本来の処理以外の処理に対して変更が生じた場合、各アプリケーションに対して個別に変更処理を行う必要がある。例えば、後から履歴情報として収集する項目を追加したい場合を挙げることができる。この場合、その項目を追加したいアプリケーションのすべてに対し、個別に追加しなければならない。
【特許文献１】特許第３７２１１５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
アプリケーションから、そのアプリケーション本来の処理以外の処理を切り離して新たなアプリケーションを構成し、その切り離した処理を、対応するアプリケーション本来の処理の指定された時点で実行することができれば、上記問題を解決することができる。
【０００９】
例えば、ソフトウェアを、機能に応じて、階層構造を有する複数のコンポーネントに区分し、コンポーネントがハードウェア資源に実行させる複数の処理のうち、一部の処理を切り離し、新たなコンポーネントを構成する。その新たなコンポーネントがハードウェア資源に実行させる処理（本来の処理以外の処理）を、複数のコンポーネントのうちの対応するコンポーネントがハードウェア資源に実行させる処理（本来のコンポーネント処理）の指定された時点を示す情報に基づいて、本来のコンポーネント処理に組み込む。
【００１０】
こうすることにより、後から切り離された処理を変更する場合でも、変更後の処理を、本来のコンポーネント処理に容易に組み込むことができる。
【００１１】
上記本来の処理以外の処理の一例として、履歴処理を挙げて説明する。履歴処理を、本来のコンポーネント処理に組み込むために、新たなコンポーネントに履歴ブロックを設ける。この履歴ブロックは、収集する項目からなる履歴のフォーマットと、その履歴のフォーマットに含まれる各項目を収集する手順を示す履歴処理手順と、各コンポーネントにおいて履歴処理を実行する場所、すなわち本来のコンポーネント処理の指定された時点を示す情報とを保持し、その情報に基づき、本来のコンポーネント処理にその履歴処理を組み込み、実行させる。この履歴処理の組み込みは、コンパイル時に行うことができる。
【００１２】
このような履歴ブロックを設け、その履歴ブロックが履歴のフォーマット等の履歴を残すために必要な情報をもち、各コンポーネントの履歴処理を受け持つことにより、コンポーネントの履歴情報を様々な用途に利用することが可能になる。また、後から履歴情報を追加することも簡単で、システム全体への影響が少ないソフトウェア構造を提供することができる。
【００１３】
しかしながら、履歴ブロックを設ける構成では、様々な用途に履歴情報を利用することが可能とは言え、一度、履歴情報を記憶手段に記憶した後、記憶された履歴情報を読み出して利用するため、履歴情報が記憶された後にしか、その履歴情報を利用することができない。
【００１４】
ここで、履歴情報の利用について、課金処理を一例に挙げて説明する。課金処理には大きく分けて２つの方法がある。１つの方法は、自動販売機のように、料金を支払った後、その料金に応じて動作の可否を判断し、料金が満たされている場合に動作し、料金が不足する場合には動作しないという先課金による課金処理方法である。もう１つの方法は、クレジットカードのように、動作させた後に履歴情報から請求額を決定し、後から課金する課金処理方法である。
【００１５】
上記の履歴ブロックを設けた構成では、上記の後から課金する課金処理方法については、動作に関する履歴情報を記憶して残し、その記憶した履歴情報を読み出して使用することができる。しかしながら、先課金による課金処理方法では、動作前にはその動作に関する履歴情報がないため、履歴情報を読み出して使用することはできない。
【００１６】
したがって、履歴情報を適時利用できるようにして、上記の先課金のような課金処理をも実現可能な画像形成装置や、その画像形成装置における制御方法を実現するためのプログラムの提供が望まれている。
【課題を解決するための手段】
【００１７】
本発明は、上記課題を解決するために、画像形成処理の一部を実行する各画像処理手段により実行される処理から切り離された、その処理に関する履歴情報を収集して記憶する履歴処理を、各画像処理手段により実行される処理の指定された時点で実行する履歴処理手段を設けるとともに、記憶手段から履歴情報を任意のタイミングで取得し、その履歴情報を使用して処理を実行する履歴監視手段を設ける。このように、履歴処理手段を設けることで、履歴情報を様々な用途に利用可能にするとともに、履歴監視手段を設けることで、先課金のような適時性が必要な制御も可能となる。
【００１８】
すなわち、本発明によれば、機能に応じて区分され、各々が画像形成処理の一部の処理を実行する複数の画像処理手段と、
画像処理手段により実行される処理から切り離された、その処理に関する履歴情報を収集し、記憶手段に記憶する履歴処理を、画像処理手段により実行される処理の指定された時点で実行する履歴処理手段と、
履歴情報を使用して処理を行うために、履歴処理により更新される履歴情報を監視し、設定されたタイミングで記憶手段から履歴情報を読み出す履歴監視手段とを含む、画像形成装置が提供される。
【００１９】
履歴処理手段は、収集する項目を含む履歴のフォーマット情報を用いて履歴情報を読み出すことができる。履歴情報としては、タイムスタンプ、ユーザ名、処理名等を挙げることができる。
【００２０】
履歴監視手段は、履歴処理手段からの履歴情報を更新したことを示す更新通知の受信に応答して、記憶手段から履歴情報を読み出すことができる。この場合、履歴監視手段は、履歴情報が更新されるたびに履歴情報を読み出すことができる。
【００２１】
履歴監視手段は、履歴処理によって更新され、通知される更新通知の回数をタイミングの設定情報として保持し、履歴処理手段からの更新通知の数をカウントし、上記回数に達した場合に、記憶手段から履歴情報をまとめて読み出すことができる。
【００２２】
また、履歴監視手段は、履歴情報を読み出す時間間隔をタイミングの設定情報として保持し、その時間間隔ごとに記憶手段から読み出すこともできる。
【００２３】
さらに、履歴監視手段は、ユーザからのタイミングの設定情報の受信に応答して、そのタイミングの設定を変更することができる。設定変更により、例えば、履歴情報が更新されるたびに読み出したり、所定の更新通知回数に達したときに読み出したり、一定時間ごとに読み出したりすることができる。
【００２４】
履歴監視手段は、履歴情報を使用する処理として、履歴処理手段が収集する項目を含む履歴のフォーマット情報を保持し、記憶手段から読み出した履歴情報がフォーマット情報に適合するか否かを判定する処理を行うことができる。
【００２５】
履歴監視手段は、履歴処理により更新された履歴情報がフォーマット情報の対応する項目に適合するか否かを判定することができ、特定の項目のみ判定することができる。
【００２６】
また、履歴監視手段は、複数の画像処理手段により実行される複数の処理の処理順および組み合わせに関する処理手順情報を保持し、記憶手段から読み出した複数の処理に関する履歴情報が処理手順情報に適合するか否かを判定することができる。
【００２７】
履歴情報を使用する別の処理において、画像形成装置は、履歴処理手段が収集した履歴情報を使用して、課金を行う課金手段をさらに含み、課金手段は、処理と料金との対応を示す料金テーブルを保持し、料金テーブルを使用して課金額を計算するものであり、履歴監視手段は、課金に関する情報を保持し、記憶手段から読み出した履歴情報に、課金に関する情報が含まれる場合、課金手段に課金額を計算させ、課金額とユーザが投入した投入金額とを比較して投入金額が不足するか否かを判定することができる。
【００２８】
本発明によれば、上記各手段により実行される各処理をプログラムとして構成し、画像形成装置に実行させることもできる。
【発明の効果】
【００２９】
本発明によれば、任意のタイミングで履歴情報を読み出し取得する履歴監視手段を備えることで、履歴の内容に応じて自動的に任意の動作を行うことができる。
【００３０】
また、監視処理手段による履歴情報の更新に応答して、履歴情報を読み出すことで、リアルタイムで履歴を使用する処理を実行することができる。
【００３１】
履歴情報の更新通知回数に達した場合や、一定時間ごとに、履歴情報をまとめて読み出すことにより、更新に応答して読み出す場合に比較し、負荷を軽減することができる。
【００３２】
また、タイミングをユーザが任意に設定できるようにすることで、タイミングをユーザの意思で後においても変更することができる。
【００３３】
履歴情報を使用して処理ができるようにすることで、履歴の妥当性を確認することができ、異常を自動的に検出することができる。
【００３４】
更新された履歴のみを確認できるようにすることで、チェック対象を限定でき、負荷を軽減することができるとともに、最新の履歴の妥当性を確認することができる。また、更新された履歴そのものの妥当性を確認することができ、異常な状態を検出することができる。
【００３５】
また、複数の履歴を確認することができるようにすることで、チェック対象の範囲を広げて異常検出精度を向上させることができる。例えば、履歴が順番的に正しいか、複数の履歴が組み合わせとして正しいかを確認することができ、異常なシーケンスや異常な組み合わせの履歴を検出することができる。
【００３６】
履歴情報に課金に関する情報が含まれ、課金額と投入金額とを比較して投入金額が不足するか否かを判定できるようにすることで、先課金を実現することができる。また、この判定により、課金に失敗した場合に動作を停止等させることができ、印刷動作の課金逃れ等の不正を防止することができる。
【発明を実施するための最良の形態】
【００３７】
本発明の画像形成装置について説明する前に、本発明の画像形成装置が適用されるシステムの構成例について、図１を参照して説明する。
【００３８】
図１に示すシステム構成では、本発明の画像形成装置の１つの実施形態として示されるディジタル複合機１００と、複数のパーソナルコンピュータ１１０と、サーバ装置１２０とがネットワーク１３０によって互いに接続されている。また、ディジタル複合機１００には、シリアルケーブル等によりパーソナルコンピュータ１４０が直接、接続されている。
【００３９】
サーバ装置１２０は、ＬＡＮ等のネットワーク１３０に接続されているパーソナルコンピュータ１１０から電子メールを収集し、また、パーソナルコンピュータ１１０に対し、電子メールの配布を行う。ディジタル複合機１００は、原稿文書等をコピーするコピー機能、原稿画像を読み取り、読み取ることにより得られた画像データを電子メールによって送信するスキャントゥメール機能、ファクシミリ伝送手順により画像情報伝送を行うファクシミリ機能等を備えている。
【００４０】
ディジタル複合機１００、パーソナルコンピュータ１１０、サーバ装置１２０はいずれも、ネットワーク１３０を介し、プロトコルを使用して通信を行う。プロトコルとしては、ＳＴＭＰ、ＰＯＰ、ＨＴＴＰ、ＦＴＰ等を用いることができる。これはいずれも、データやアプリケーションを記憶するメモリやＨＤＤ等の記憶手段と、アプリケーションを実行して種々の処理を行うプロセッサと、データ等の入力を行う入力手段とを備えている。ディジタル複合機１００は、上記機能を達成するために、プリンタやハードウェアリソース等をさらに備えている。
【００４１】
図２は、画像形成装置の１つの実施形態であるディジタル複合機１００に組み込まれるソフトウェアの概略構成を示したコンポーネント図である。
【００４２】
ディジタル複合機１００は、機能に応じて区分され、各々が画像形成処理の一部の処理を実行する複数の画像処理手段を備える。具体的には、画像形成処理を実行させるためのソフトウェアを、機能に応じて、階層構造を有する複数のコンポーネントに分け、各コンポーネントを、後述するＣＰＵに実行させることにより、複数の画像処理手段として機能させることができる。ここで、コンポーネントとは、コンパイル、リンク、実行の単位となるソフトウェアのことである。
【００４３】
画像形成処理を実行させるためのソフトウェアは、ユーザインターフェース（ＵＩＦ）層２００、コントロール層２１０、アプリケーションロジック層２２０、デバイスサービス層２３０およびデバイス層２４０に分けられ、さらに、これらの層の少なくとも一部の層がＣＰＵに実行させる処理を切り離し、その切り離した処理を実行させるクロスカット層２５０を含むように構成される。処理の変更に対する手間を軽減する観点から、クロスカット層２５０は、ＵＩＦ層２００、コントロール層２１０、アプリケーションロジック層２２０、デバイスサービス層２３０およびデバイス層２４０に対して、横断的に必要となる処理を実行させるコンポーネントにより構成される。
【００４４】
ＵＩＦ層２００は、通信サーバインターフェース（通信サーバＩＦ）２０１と、ローカルユーザインターフェース（ローカルＵＩ）２０２を備える。このＵＩＦ層２００は、機器外部から入力された指示を受け付け、指示内容を解釈し、その指示内容を示す情報をコントロール層２１０へ入力させる。通信サーバＩＦ２０１は、ネットワークを介してパーソナルコンピュータやサーバ装置からの指示を受け付け、その指示内容を示す情報をコントロール層２１０に入力させる。例えば、通信サーバＩＦ２０１は、ユーザがパーソナルコンピュータを使用し、ブラウザからアクセスすることにより入力した指示を、ネットワークを介して受け付ける。ローカルＵＩ２０２は、機器に付属の、オペレーションパネル等の操作部により、ユーザの操作による指示を受け付け、その指示の内容を示す情報をコントロール層２１０に入力させる。
【００４５】
コントロール層２１０は、パラメータ部２１１と、アクティビティ部２１２とを備える。パラメータ部２１１は、ＵＩＦ層２００から入力された指示内容を示す情報を格納させる。アクティビティ部２１２は、ＵＩＦ層２００から入力された指示内容を示す情報に基づいて、アプリケーションロジック層２２０のコンポーネントの中から指示を実行するために必要なコンポーネントを選択させ、選択したコンポーネントに実行を要求させる。
【００４６】
アプリケーションロジック層２２０は、入力処理部２２１と、加工処理部２２２と、出力処理部２２３と、情報管理部２２４とを備える。このアプリケーションロジック層２２０は、ユーザの指示を実行するための機能を実現するコンポーネント群により構成され、これらのコンポーネントを複数使用することで、ユーザの要求を実現することができる。
【００４７】
入力処理部２２１は、読み取られる原稿文書、電子文書、ファクシミリ受信文書といった文書データの入力処理を実行させる。加工処理部２２２は、加工処理対象となる画像により構成される文書データを生成し、生成した文書データの出力先に応じて整形した文書データを生成させる。入力処理された文書データから、ページとして構成することが可能な所定のサイズに分割し、加工処理の対象となる画像を求め、その画像から上記の整形前の文書データを生成させる。出力処理部２２３は、出力先に応じて整形した文書データに対し、印刷、保存、ファクシミリ送信等の出力処理を実行させる。
【００４８】
入力元または出力先によらず共通して加工処理を行うためには、予めフォーマットを用意しておき、このフォーマットに入力された文書データを当てはめて管理することで、入力元または出力先に関わらず共通して管理することを可能にし、さらには容易に加工処理を行うことを可能にする。情報管理部２２４は、予め用意されたフォーマットに基づいて、文書データを管理させる。
【００４９】
デバイスサービス層２３０は、アプリケーションロジック層２２０より上のレイヤに対し、デバイスを隠蔽し、アプリケーションロジック層２２０からの出力にしたがって画像を形成させる。デバイスサービス層２３０は、データ管理部２３１を備えていて、形成した画像を管理させる。
【００５０】
デバイス層２４０は、実際に処理を行うために必要なハードウェアを制御するためのコンポーネント群で、デバイス１〜デバイスｎを備える。デバイス層２４０は、ディジタル複合機１００が備えるデバイスに応じて、ネットワークや電話回線、スキャナ等の接続されているデバイスを制御させる。
【００５１】
クロスカット層２５０は、すべての層、すなわちＵＩＦ層２００、コントロール層２１０、アプリケーションロジック層２２０、デバイスサービス層２３０、デバイス層２４０の各コンポーネントの少なくとも一部のコンポーネントがＣＰＵに実行させる処理、例えば、各層において本来行われる処理以外の処理を行うコンポーネントを備える。処理の変更に対する手間を軽減する観点からは、クロスカット層２５０は、上述した各層に対して横断的に必要となる処理、すなわち少なくとも２つの層により共通に実行される処理を実行させるためのコンポーネントを備えることが好ましい。
【００５２】
本実施形態においては、クロスカット層２５０に、履歴情報を収集し、ＨＤＤ等の記憶手段に記憶する履歴処理を実行させるための履歴ブロック２５１と、履歴ブロック２５１により更新される履歴情報を監視し、指定されたタイミングで記憶手段から履歴情報を読み出させるための履歴監視ブロック２５２と、アクセス制御処理を実行させるためのアクセス制御ブロック２５３と、課金処理を実行させるための課金ブロック２５４とを備える。履歴ブロック２５１、履歴監視ブロック２５２、課金ブロック２５４をそれぞれ、ＣＰＵに実行させることで、履歴処理手段、履歴監視手段、課金手段として機能させることができる。
【００５３】
このディジタル複合機１００では、各コンポーネントにおいて横断的に必要となる処理がコンポーネント化され、新しいコンポーネントであるクロスカットが導入される。これは、例えば、アスペクト指向プログラミングを適用することにより実現することができる。アスペクト指向プログラミングでは、複数のレイヤとしてのクラスを横断した処理をコンポーネント化する新しいコンポーネント（アスペクト）が導入される。
【００５４】
履歴ブロック２５１は、履歴を残すために、収集する項目を含む履歴のフォーマット情報等を保持し、履歴監視ブロック２５２は、履歴ブロック２５１が保持するフォーマット情報と同様のフォーマット情報を保持し、その他に、課金に関する情報等を保持する。アクセス制御ブロック２５３は、各ユーザに対する許可／不許可を示す情報等のアクセス制御を行うために必要な情報を保持し、課金ブロック２５４は、各ユーザに対する課金情報、処理と料金との対応を示す料金テーブル等を保持する。
【００５５】
このように、クロスカット層２５０が各層を構成するコンポーネントの少なくとも一部のコンポーネントがＣＰＵに実行させる処理を受け持つことにより、その処理結果を様々な用途に利用することが可能となる。例えば、後から履歴情報として新たな項目を追加するなどの変更を加えることが容易であり、装置全体への影響が少ないソフトウェア構造とすることができる。
【００５６】
次に、図３を参照して、ディジタル複合機１００のハードウェア構成について簡単に説明する。ディジタル複合機１００は、コントローラボード３００と、オペレーションパネル３２０と、ファックス制御ユニット（ＦＣＵ）３３０と、スキャナエンジン３４０と、プロッタエンジン３５０とを備えている。
【００５７】
コントローラボード３００は、ＣＰＵ３０１と、ＡＳＩＣ３０２と、ＨＤＤ３０３と、ローカルメモリ（ＭＥＭ−Ｃ）３０４と、システムメモリ（ＭＥＭ−Ｐ）３０５と、ノースブリッジ（ＮＢ）３０６と、サウスブリッジ（ＳＢ）３０７と、ネットワークインターフェースカード（ＮＩＣ）３０８と、ＵＳＢデバイス３０９と、ＩＥＥＥ１３９４デバイス３１０と、セントロニクスデバイス３１１とを備えている。
【００５８】
コントローラボード３００は、ＡＳＩＣ３０２にローカルメモリ３０４およびＨＤＤ３０３が接続されるとともに、ＣＰＵ３０１がＮＢ３０６を介して接続されている。このように、ＮＢ３０６を介してＣＰＵ３０１とＡＳＩＣ３０２とが接続することで、ＣＰＵ３０１のインターフェースが公開されていない場合に対応できる。ＡＳＩＣ３０２とＮＢ３０６とは低速のＰＣＩバスではなく、高速のＡＧＰ（Accelerated Graphics Port）を介して接続され、パフォーマンスの低下を防止している。
【００５９】
ＣＰＵ３０１は、ディジタル複合機１００の全体制御を行うものであり、パラメータやアクティビティをＯＳ上にそれぞれプロセスとして起動して実行させるとともに、アプリケーションロジック層を構成する入力処理部、加工処理部、出力処理部、情報管理部を起動して実行させる。
【００６０】
ＡＳＩＣ３０２は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣで、ＨＤＤ３０３は、画像データ、文書データ、プログラム等を記憶する記憶媒体である。ローカルメモリ３０４は、コピー用画像バッファ、符号バッファとして、システムメモリ３０５は、ディジタル複合機１００の描画用メモリとして用いるメモリである。
【００６１】
ＮＢ３０６は、ＣＰＵ３０１と、システムメモリ３０５と、ＳＢ３０７と、ＡＳＩＣ３０２とを接続するためのブリッジである。ＳＢ３０７は、ＮＢ３０６とＰＣＩバスや周辺デバイスと接続するためのブリッジである。
【００６２】
コントローラボード３００を画像処理装置として機能させるためのプログラムは、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、メモリーカード等の記録媒体に記録されていてもよいし、ネットワークを介してダウンロードするようにしてもよい。このプログラムは、記録媒体から読み出され、またはダウンロードされ、読み書き可能なＲＡＭやＨＤＤ３０３等に記憶されて、ＣＰＵ３０１がそれらから読み出し実行することにより、画像形成処理における各処理を実行する。
【００６３】
オペレーションパネル３２０は、ユーザからの入力操作を受け付け、ユーザに向けた表示を行う操作部である。ＦＣＵ３３０は、Ｇ３規格対応ユニットと、Ｇ４規格対応ユニットとを備えている。ＦＣＵ３３０は、ファックス通信を制御するが、Ｇ３規格対応ユニットがファックス通信規格のＧ３規格の通信を、Ｇ４規格対応ユニットがＧ３規格より解像度を向上させたＧ４規格の通信をそれぞれ制御する。
【００６４】
ここで、クロスカット層２５０のコンポーネントにおける処理の一例として、履歴ブロック２５１の処理について説明する。クロスカット層２５０は、少なくとも一部のコンポーネントから切り離された処理の手順を示す情報と、切り離された処理が実行される時点を示す情報とを保持している。切り離された処理が実行される時点を示す情報としては、対応するコンポーネントがＣＰＵ３０１に実行させる複数の処理に対して、ある処理の直前、直後等の情報を挙げることができる。
【００６５】
履歴ブロック２５１は、収集する項目からなる履歴のフォーマット情報と、その履歴のフォーマットに含まれる各項目を収集する手順を示す処理手順情報と、履歴情報を収集し、ＨＤＤ３０３等の記憶手段に記憶する履歴処理を実行させる時点を示す情報とを保持している。
【００６６】
履歴のフォーマットは、例えば、図４に示すような、履歴情報を収集する時刻を示すタイムスタンプと、処理を指示したユーザを示すユーザ名と、実行された処理を示す処理名とから構成することができる。
【００６７】
履歴ブロック２５１を実行することで、履歴を残したい動作を含む実行前の各コンポーネントがＣＰＵ３０１に実行させる処理に、履歴処理を組み込むことができる。その際、その処理が実行される時点を示す情報に基づいて、その時点で履歴処理を実行させるように組み込む。例えば、アスペクト指向プログラミングを適用することにより、オブジェクト指向で記述された各コンポーネントを構成するプログラムに、履歴処理を組み込むことができる。この組み込みは、コンパイル時に行うことができる。
【００６８】
履歴ブロック２５１による処理を簡単に説明すると、例えば、図４に示す履歴のフォーマットに含まれる項目を収集し、それを記憶する履歴処理では、タイムスタンプを取得し、ユーザ名を取得し、処理名を確定して、それらの履歴情報を記憶手段に記憶する。
【００６９】
コンポーネントが３つの処理Ｘ〜Ｚを実行するものであり、履歴処理が実行される時点を示す情報が処理Ｘの後を示すものの場合、コンパイルが行われることにより、処理Ｘの後に組み込まれ、処理Ａ、履歴処理、処理Ｙ、処理Ｚの順に処理が実行される。
【００７０】
履歴監視ブロック２５２は、ＣＰＵ３０１に対して、任意のタイミングで履歴ブロック２５１により収集され記憶された履歴情報を読み出させ、その履歴情報を使用して処理させる。履歴監視ブロック２５２は、図５（ａ）に示すように、履歴ブロック２５１に接続し、履歴ブロック２５１により実行される履歴処理において、更新される履歴情報を監視し、任意のタイミングでその履歴情報を読み出し取得させる。
【００７１】
履歴監視ブロック２５２は、図５（ａ）に示す構成に限らず、図５（ｂ）に示すように、履歴ブロック２５１に含ませることもできる。また、図５（ｃ）に示すように、課金ブロック２５４を履歴監視ブロック２５２として構成することもできる。以下、履歴ブロック２５１、履歴監視ブロック２５２、課金ブロック２５４を、履歴処理手段、履歴監視手段、課金手段として機能させ、これら手段が各処理を実行するものとして説明する。
【００７２】
履歴監視手段は、任意のタイミングで履歴処理手段により記憶された履歴情報を読み出し取得するが、そのタイミングは、ユーザが設定したタイミングによって行う。例えば、履歴処理手段により履歴情報が記憶されたときに、履歴処理手段が履歴監視手段に、履歴情報を更新したことを示す更新通知を送り、履歴監視手段がそれを受信することに応答して、履歴情報を読み出し取得することができる。この履歴監視手段による処理を、図６を参照して詳細に説明する。
【００７３】
Ｓ６００で処理を開始し、更新通知を受信したか否かを判定する（Ｓ６１０）。受信していないと判定した場合、受信したと判定されるまでＳ６１０の判定を繰り返す。受信したと判定した場合、Ｓ６２０へ進み、履歴処理手段により記憶された履歴情報を記憶手段から読み出し取得する。次に、その履歴情報を使用して処理を行う（Ｓ６３０）。履歴情報を使用した処理については後に詳述する。その処理が終了すると、再びＳ６１０へ戻り、同様に、新たな更新通知が受信されるまでＳ６１０の判定を繰り返し、受信したと判定した場合、Ｓ６２０、Ｓ６３０の処理を行う。
【００７４】
他のタイミングとしては、履歴監視手段が、履歴処理によって更新され、履歴処理手段から通知される更新通知の回数をタイミングの設定情報として保持し、履歴処理手段から通知される更新通知の数をカウントし、その設定回数に達した場合に、履歴情報をまとめて読み出し取得する。この場合の処理を、図７を参照して詳細に説明する。
【００７５】
Ｓ７００で処理を開始し、更新通知を受信したか否かを判定する（Ｓ７１０）。受信していないと判定した場合、受信したと判定されるまでＳ７１０の判定を繰り返す。受信したと判定した場合、Ｓ７２０へ進み、更新通知の数をカウントする。このカウントは、カウンタを用い、更新通知を受信するたびに１ずつ増分する。Ｓ７３０で、更新通知を受信した数、すなわちカウンタのカウント値が、設定回数に達したか否かを判定する。設定回数に達していない場合には、Ｓ７１０へ戻り、更新通知を受信したか否かを判定する。設定回数に達したと判定した場合、Ｓ７４０へ進み、履歴処理手段により記憶された履歴情報をまとめて読み出し取得する。次に、その履歴情報を使用して処理を行う（Ｓ７５０）。その処理が終了すると、再びＳ７１０へ戻り、同様に、新たな更新通知が受信されるまでＳ７１０の判定を繰り返し、受信したと判定した場合、Ｓ７２０、Ｓ７３０の処理を行う。
【００７６】
さらに別のタイミングとしては、履歴監視手段が、履歴情報を収集し、記憶する時間間隔をタイミングの設定情報として保持し、その時間間隔ごとに履歴処理手段により記憶された履歴情報を読み出し取得することができる。この場合、一定時間分の履歴情報をまとめて取得することができる。この場合の処理を、図８を参照して詳細に説明する。
【００７７】
Ｓ８００で処理を開始し、前回の履歴情報の取得から、時間間隔として設定された時間が経過したか否かを判定する（Ｓ８１０）。経過していないと判定した場合、経過するまでＳ８１０の判定を繰り返す。経過したと判定した場合、Ｓ８２０へ進み、履歴処理手段により記憶された履歴情報を読み出し取得する。次に、その履歴情報を使用して処理を行う（Ｓ８３０）。その処理が終了すると、再びＳ８１０へ戻り、再び上記時間が経過するまでＳ８１０の判定を繰り返し、経過したと判定した場合、Ｓ８２０、Ｓ８３０の処理を行う。
【００７８】
これらのタイミングは、ユーザの設定により変更することができ、ユーザが設定変更することにより、図６〜図８に示すいずれかの処理を選択して行うことができる。その処理の流れを図９に示すが、Ｓ９３０〜Ｓ９９０までの個々の処理については、図６に示すＳ６１０〜Ｓ６３０、図７に示すＳ７１０〜Ｓ７５０、図８に示すＳ８１０〜Ｓ８３０と同様で、すでに上述したので、ここではＳ９００〜Ｓ９２０までの処理のみを説明する。
【００７９】
Ｓ９００で処理を開始し、ユーザからのタイミングの設定情報の受信に応答して、タイミングを設定する（Ｓ９１０）。設定されたタイミングがどのタイミングであるかを判定する（Ｓ９２０）。第１のタイミングは、更新通知を受信するたびに履歴情報を読み出し取得するもので、第２のタイミングは、更新通知の設定回数に達した場合に履歴情報を読み出し取得するもので、第３のタイミングは、設定された時間が経過した場合に履歴情報を読み出し取得するものである。ユーザは、このように各パターンを任意に選択することができる。
【００８０】
取得した履歴情報は、例えば、妥当性を確認するために使用することができる。この妥当性の確認は、履歴情報を使用する処理の一例である。具体的には、履歴処理手段が履歴情報を収集して記憶する履歴処理において使用されるフォーマット情報と同様のものを、履歴監視手段も保持し、履歴処理手段がそのフォーマットに従って履歴情報を収集しているか否かを確認することができる。この処理を、図１０を参照して詳細に説明する。
【００８１】
Ｓ１０００で処理を開始し、設定されたタイミングになっているか否かを判定する（Ｓ１０１０）。更新通知を受信するたびに履歴情報を読み出し取得する場合には、更新通知を受信したか否か、更新通知の回数で判断する場合には、所定数の更新通知を受信したか否か、設定された時間ごとの場合には、設定された時間が経過したか否かにより、それぞれ判定することができる。
【００８２】
設定されたタイミングになっていると判定した場合、Ｓ１０２０へ進み、履歴情報を記憶手段から読み出し取得する。設定されたタイミングになっていないと判定した場合には、設定されたタイミングになるまでＳ１０１０の判定を繰り返す。
【００８３】
履歴監視手段は、フォーマット情報を保持しており、取得した履歴情報がそのフォーマット情報に適合するか否か判定する（Ｓ１０３０）。フォーマット情報として、図４に示すフォーマットを保持する場合、取得した履歴情報に、タイムスタンプ、ユーザ名、処理名がすべて含まれているかを判定する。含まれていない場合、履歴情報は適合しないと判定し、異常をユーザに知らせるために、オペレーションパネルに表示させたり、実行中の処理を停止させるなどの異常処理を行い（Ｓ１０４０）、異常処理が終了したところで処理を終了する（Ｓ１０５０）。
【００８４】
すべてが含まれる場合、履歴情報が適合すると判定し、履歴情報を使用してその他の処理を行い（Ｓ１０６０）、その処理が終了したところで、Ｓ１０１０へ戻る。再び、設定されたタイミングになっているか判定し、Ｓ１０２０〜Ｓ１０６０の処理を行う。
【００８５】
フォーマット情報は、複数の項目を含んでいて、履歴処理手段による履歴情報の収集および記憶では、常時、すべての項目が更新されるものではなく、一部の項目のみ更新される場合も多い。このため、対象範囲を更新された項目のみとし、その項目のみの妥当性を確認することもできる。その処理を、図１１を参照して説明する。
【００８６】
Ｓ１１００で処理を開始し、設定されたタイミングになっているか否かを判定する（Ｓ１１１０）。タイミングになっていないと判定した場合には、Ｓ１１１０の判定を、設定されたタイミングになるまで繰り返す。設定されたタイミングになっていると判定した場合には、履歴処理手段により記憶された履歴情報を読み出して取得し（Ｓ１１２０）、対象範囲の履歴情報をすべて取得したか否か判定する（Ｓ１１３０）。対象範囲の履歴情報をすべて取得していないと判定した場合には、Ｓ１１２０へ戻り、履歴情報を読み出し取得する。
【００８７】
対象範囲の履歴情報をすべて取得していると判定した場合、その履歴情報の妥当性を判定する。すなわち、保持するフォーマット情報と、取得した履歴情報とを比較し、その履歴情報がフォーマット情報に適合するか否か判定する（Ｓ１１４０）。適合しないと判定した場合、Ｓ１１５０へ進み、異常処理を行い、処理を終了する（Ｓ１１６０）。適合すると判定した場合には、その他の履歴情報を使用して処理を行い（Ｓ１１７０）、Ｓ１１１０へ戻る。このように、妥当性の確認する項目を少なくすることで、負荷を軽減することができる。
【００８８】
また、対象範囲を複数の履歴情報とし、保存された履歴情報の順番や組み合わせを含めて妥当性を確認することができる。このように対象範囲を複数の履歴情報とすることで、妥当性を確認するための条件を詳細に設定することができるため、妥当性の確認精度を向上させることができる。
【００８９】
具体的には、履歴監視手段が、画像形成処理において実行される複数の処理の処理順および組み合わせに関する処理手順情報を保持し、設定されたタイミングで、履歴処理手段により収集および記憶された履歴情報を読み出して取得し、その取得した複数の履歴情報が処理手順情報に適合するか否かを判定することができる。処理手順情報に含まれる処理順とは異なる順番で履歴情報が記憶されている場合や、ありえない組み合わせの場合に、異常処理を行うことができる。処理順は、同じユーザ名を含む履歴情報において、タイムスタンプにより確認することができ、組み合わせは、処理名により確認することができる。
【００９０】
履歴情報を使用する処理としては、他の機能ブロックにイベントを通知するような処理であってもよい。このように、他の機能ブロックにイベントを通知することで、適切なタイミングで他の機能ブロックに処理をさせることができる。
【００９１】
履歴情報を使用する処理の他の例としては、先課金を挙げることができる。画像形成装置は、履歴処理手段により収集および記憶された履歴情報を使用して、課金手段により課金を行う。課金手段は、処理と料金との対応を示す料金テーブルを保持し、料金テーブルを使用して課金額を計算することができる。
【００９２】
履歴監視手段は、履歴処理手段により更新される履歴情報を常時監視し、１つの実施形態では、履歴情報が更新されたことに応答して、履歴情報を取得する。履歴監視手段は、課金に関する情報を保持しており、読み出して取得した履歴情報に、課金に関する情報が含まれる場合、課金手段に課金額を計算させ、課金額とユーザが投入した投入金額とを比較して投入金額が不足するか否かを判定する。投入金額が不足する場合、課金可能か否か判定し、課金不可の場合、実行中の動作を停止させる。このようにすることで、実際に動作する前に課金の判断を実行することができ、先課金を実現することができる。
【００９３】
図１２を参照して、先課金処理について詳細に説明する。Ｓ１２００で処理を開始し、設定されたタイミングになっているか否かを判定する（Ｓ１２１０）。ユーザがお金を投入したことを受けて、履歴情報に含まれる課金に関する情報が更新された場合、履歴処理手段は更新通知を送り、履歴監視手段はこの更新通知を受けて履歴情報を取得するタイミングになったと判定する。
【００９４】
履歴監視手段は、履歴情報を読み出して取得し（Ｓ１２２０）、保持している情報と比較し（Ｓ１２３０）、課金に関する情報が含まれるか否かを判定する（Ｓ１２４０）。課金に関する情報が含まれないと判定した場合は、先課金処理を必要としないため、Ｓ１２１０へ戻る。
【００９５】
課金に関する情報が含まれると判定した場合は、先課金処理を必要とする処理であるため、Ｓ１２５０へ進み、課金手段に課金額を計算させる。課金手段から計算した課金額を受け取り、ユーザが投入した投入金額と比較する（Ｓ１２６０）。投入金額が不足するか否かを判定し（Ｓ１２７０）、不足すると判定した場合、課金が必要な処理を停止し（Ｓ１２８０）、処理を終了する（Ｓ１２９０）。
【００９６】
これに対し、課金可能である場合には、課金して処理を継続し（Ｓ１３００）、画像形成処理を実行させる。終了したところで、Ｓ１２１０へ戻る。履歴監視手段は、課金に関する情報に動作開始を示す履歴を含めて保持し、また、履歴処理手段が動作開始を示す履歴を収集し、記憶するようにすることで、実際に処理を行う前に課金の判断を実行することができる。このように、先課金を実現でき、課金失敗により処理を停止させることで、印刷処理等において課金逃れなどを防止することができる。
【００９７】
これまで本発明を図面に示した実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【図面の簡単な説明】
【００９８】
【図１】本発明の画像形成装置が適用されるシステムの構成例を示した図。
【図２】本実施形態の画像形成装置に組み込まれるソフトウェアの概略構成を示したコンポーネント図。
【図３】本実施形態の画像形成装置のハードウェア構成を示した図。
【図４】履歴フォーマットを例示した図。
【図５】履歴監視ブロックの構成例を示した図。
【図６】第１のタイミングで履歴情報を読み出し、履歴情報を使用する処理を行うフローチャート。
【図７】第２のタイミングで履歴情報を読み出し、履歴情報を使用する処理を行うフローチャート。
【図８】第３のタイミングで履歴情報を読み出し、履歴情報を使用する処理を行うフローチャート。
【図９】第１〜第３のタイミングの１つを設定して、設定されたタイミングで履歴情報を読み出し、履歴情報を使用する処理を行うフローチャート。
【図１０】履歴情報を使用する処理の第１実施形態を示したフローチャート。
【図１１】履歴情報を使用する処理の第２実施形態を示したフローチャート。
【図１２】履歴情報を使用する処理の第３実施形態を示したフローチャート。
【符号の説明】
【００９９】
１００…ディジタル複合機、１１０、１４０…パーソナルコンピュータ、１２０…サーバ装置、１３０…ネットワーク、２００…ユーザインターフェース層、２０１…通信サーバＩＦ、２０２…ローカルＵＩ、２１０…コントロール層、２１１…パラメータ部、２１２…アクティビティ部、２２０…アプリケーションロジック層、２２１…入力処理部、２２２…加工処理部、２２３…出力処理部、２２４…情報管理部、２３０…デバイスサービス層、２３１…データ管理部、２４０…デバイス層、２５０…クロスカット層、２５１…履歴ブロック、２５２…履歴監視ブロック、２５３…アクセス制御ブロック、２５４…課金ブロック、３００…コントローラボード、３０１…ＣＰＵ、３０２…ＡＳＩＣ、３０３…ＨＤＤ、３０４…ＭＥＭ−Ｃ、３０５…ＭＥＭ−Ｐ、３０６…ＮＢ、３０７…ＳＢ、３０８…ＮＩＣ、３０９…ＵＳＢデバイス、３１０…ＩＥＥＥ１３９４デバイス、３１１…セントロニクスデバイス、３２０…オペレーションパネル、３３０…ＦＣＵ、３４０…スキャナエンジン、３５０…プロッタエンジン
【図１】
2008160542.tif 000003
【図２】
2008160542.tif 000004
【図３】
2008160542.tif 000005
【図４】
2008160542.tif 000006
【図５】
2008160542.tif 000007
【図６】
2008160542.tif 000008
【図７】
2008160542.tif 000009
【図８】
2008160542.tif 000010
【図９】
2008160542.tif 000011
【図１０】
2008160542.tif 000012
【図１１】
2008160542.tif 000013
【図１２】
2008160542.tif 000014