JP4895969B2 - 画像形成装置及びカウンタ更新方法 - Google Patents

画像形成装置及びカウンタ更新方法 Download PDF

Info

Publication number
JP4895969B2
JP4895969B2 JP2007262265A JP2007262265A JP4895969B2 JP 4895969 B2 JP4895969 B2 JP 4895969B2 JP 2007262265 A JP2007262265 A JP 2007262265A JP 2007262265 A JP2007262265 A JP 2007262265A JP 4895969 B2 JP4895969 B2 JP 4895969B2
Authority
JP
Japan
Prior art keywords
page
data
counter
software component
filter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007262265A
Other languages
English (en)
Other versions
JP2009093351A (ja
Inventor
慶春 東條
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007262265A priority Critical patent/JP4895969B2/ja
Publication of JP2009093351A publication Critical patent/JP2009093351A/ja
Application granted granted Critical
Publication of JP4895969B2 publication Critical patent/JP4895969B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Facsimiles In General (AREA)

Description

本発明は、画像形成装置及びカウンタ更新方法に関し、特に複数のソフトウェア部品の組み合わせによってジョブを実行する画像形成装置及びカウンタ更新方法に関する。
一般に、コピー機能、ファクシミリ(FAX)機能、印刷機能、スキャナ機能等の複数の機能を一つの筐体において実現する複合機と称される画像形成装置には、これらの機能の実現する際に発生する事象をカウントするための膨大な数のカウンタを備えている。コピー機能を例にとると、用紙の読取枚数の他、集約したときの出力用紙の枚数、コピー機能を利用した回数、ドラム部品の回転数等、多種多様なカウンタが存在する。これらのカウンタは、各機能の利用回数や請求金額をユーザごとに把握して課金管理を行ったり、各部品の消耗度(例えば、ドラムの回転数や転写回数等)を把握して複合機の各部品のメンテナンスを行ったりするために用いられる。
また、近年の複合機の各機能は、ユーザのニーズに応じてカスタマイズ可能とされている。カスタマイズを容易にするために、機能毎のそれぞれのアプリケーションやミドルウェア等は、その機能を実現するための処理においてできるだけ他のアプリケーション等との依存関係が希薄となるように設計することが求められる。このことは、カウンタの値の更新処理についても同様である。
図1は、従来の複合機におけるカウンタの更新処理を説明するための図である。図1に示されるように、例えば、FAX送信をする場合、FAX送信に関するソフトウェア部品(読取部、画像編集部、ユーザ情報取得部等)は、処理結果(動作回数等のカウント値、その他詳細な動作結果)をFAXアプリに通知し、FAXアプリがそれらの処理結果に基づいて記憶部に記憶されているカウンタの値を更新していた。同様に、コピーを行う場合、コピーアプリがカウントの更新を行っていた。すなわち、カウンタの更新は、各アプリケーションの責務とされていた。これは、カウンタとアプリケーションとの間に密接な関係があることに起因する。
特開2006−212866号公報 特開2001−341388号公報
しかしながら、各アプリケーションによってカウンタの更新が行われるような構成では、カウンタの構成等が変更される場合、各アプリケーションのソースコードを修正する必要があり、その修正作業は、アプリケーションの数が多ければ多い程、負担が大きくなる。
本発明は、上記の点に鑑みてなされたものであって、カウンタの更新を適切に実行することのできる画像形成装置及びカウンタ更新方法の提供を目的とする。
そこで上記課題を解決するため、本発明は、複数のソフトウェア部品の組み合わせによってジョブを実行する画像形成装置であって、各ソフトウェア部品によって処理情報が登録されるデータに基づいてカウンタの値を更新するカウンタ更新手段を有し、前記複数のソフトウェア部品は、前記ジョブを実行するための処理の実行順に従って順番に前記データに処理情報を登録し、前記実行順において末端のソフトウェア部品は、前記データを前記カウンタ更新手段に伝達することを特徴とする。
このような画像形成装置では、カウンタの更新を適切に実行することができる。
本発明によれば、カウンタの更新を適切に実行することのできる画像形成装置及びカウンタ更新方法を提供することができる。
以下、図面に基づいて本発明の実施の形態を説明する。図2は、本発明の実施の形態における画像形成装置のハードウェア構成の一例を示す図である。図2では、画像形成装置の具体例として、プリンタ、コピー、スキャナ、又は、ファクス等の複数の機能を一台の筐体において実現する複合機1のハードウェア構成が示されている。
複合機1のハードウェアとしては、コントローラ601と、オペレーションパネル602と、ファクシミリコントロールユニット(FCU)603と、撮像部604と、印刷部605が存在する。
コントローラ601は、CPU611、ASIC612、NB621、SB622、MEM−P631、MEM−C632、HDD(ハードディスクドライブ)633、メモリカードスロット634、NIC(ネットワークインタフェースコントローラ)641、USBデバイス642、IEEE1394デバイス643、セントロニクスデバイス644により構成される。
CPU611は、種々の情報処理用のICである。ASIC612は、種々の画像処理用のICである。NB621は、コントローラ601のノースブリッジである。SB622は、コントローラ601のサウスブリッジである。MEM−P631は、複合機1のシステムメモリである。MEM−C632は、複合機1のローカルメモリである。HDD633は、複合機1のストレージである。メモリカードスロット634は、メモリカード635をセットするためのスロットである。NIC641は、MACアドレスによるネットワーク通信用のコントローラである。USBデバイス642は、USB規格の接続端子を提供するためのデバイスである。IEEE1394デバイス643は、IEEE1394規格の接続端子を提供するためのデバイスである。セントロニクスデバイス644は、セントロニクス仕様の接続端子を提供するためのデバイスである。オペレーションパネル602は、オペレータが複合機1に入力を行うためのハードウェア(操作部)であると共に、オペレータが複合機1から出力を得るためのハードウェア(表示部)である。撮像部604は、原稿から画像(画像データ)を読み取るためのハードウェア(スキャナ)である。印刷部605は、画像(画像データ)を印刷用紙に印刷するためのハードウェア(プリンタ)である。
図3は、本発明の実施の形態の画像形成装置におけるソフトウェア構成例を示す図である。図3に示されるように、複合機1におけるソフトウェアは、デバイス制御層10、フィルタ層20、アクティビティ層30、UI制御部40、及び履歴記録部50等より構成される。なお、図3における各部の上下関係は、各部間の呼び出し関係に基づいている。すなわち、基本的に図中において上にある層が下の層を呼び出す。
デバイス制御層10は、デバイス(ハードウェア)を直接的に制御するソフトウェア部品(ドライバ)群が実装されている部分であり、例えば、読取制御部11、印刷制御部12、保管制御部13、FAX制御部14、及び画像加工部15等が含まれる。
読取制御部11は、原稿からの画像データの読み取りを撮像部604に実行させるための制御を行う。印刷制御部12は、印刷用紙への画像データの印刷を印刷部605に実行させるための制御を行う。保管制御部13は、撮像部604によって読み取られた画像データ、又はネットワークを介して受信された画像データ等のHDD633への保存(記録)や読み出し等に関する処理の制御を行う。FAX制御部14は、FAXの送受信をFCU603に実行させるための制御を行う。画像加工部15は、画像データの加工処理に関する処理制御を行う。
フィルタ層20は、ユーザによって要求されるジョブを実現するための一部の機能をデバイス制御層10におけるソフトウェア部品を用いて実行するソフトウェア部品群が実装されている部分である。本実施の形態ではフィルタ層20におけるソフトウェア部品を「フィルタ」と呼ぶ。これは、複合機1のジョブを実行する手アプリケーションが、「パイプ&フィルタ」と呼ばれるソフトウェアアーキテクチャを基づいていることによる。
図4は、パイプ&フィルタアーキテクチャの概念的に説明するための図である。図4において、「F」はフィルタを示し、「P」はパイプを示す。図中に示されるように、各フィルタはパイプによって接続される。フィルタは、入力されたデータに対して変換を施し、その結果を出力する。パイプは、フィルタから出力されたデータを次のフィルタに伝達する。なお、パイプは、記憶領域によって実現される。
すなわち、本実施の形態における複合機1では、ジョブをドキュメント(画像データ)に対する「変換」の連続として捉える。複合機1のジョブは、ドキュメントの入力、加工、及び、出力によって構成されるものとして一般化することができる。そこで「入力」、「加工」、及び、「出力」を、それぞれ「変換」として捉え、一つの「変換」を実現するソフトウェア部品がフィルタとして構成される。入力を実現するフィルタを特に「入力フィルタ」という。また、加工を実現するフィルタを特に「加工フィルタ」という。更に、出力を実現するフィルタを特に「出力フィルタ」という。なお、各フィルタは独立しており、フィルタ間における依存関係(呼び出し関係)は基本的に存在しない。従って、フィルタ単位で追加(インストール)又は削除(アンインストール)が可能とされている。
図3において、読取フィルタ21、蓄積文書入力フィルタ22、受信フィルタ23、及びPC文書入力フィルタ24は、入力フィルタである。
読取フィルタ21は、読取制御部11を介して撮像部604による画像データの読み取りを実行し、読み取られた画像データを出力する。蓄積文書入力フィルタ22は、保管制御部13を介して複合機1の記憶装置に蓄積されている文書データ(画像データ)を読み出し、読み出されたデータを出力する。受信フィルタ23は、FAX制御部14を介してFAX受信を実行し、受信されたデータを出力する。PC文書入力フィルタ24は、非図示のクライアントPCから印刷データを受信し、受信された印刷データを出力する。
また、編集フィルタ25は加工フィルタである。編集フィルタ25は、画像加工部15を用いて入力されたデータに所定の画像変換処理(集約、拡大、又は縮小等)を施し、出力する。
また、印刷フィルタ26、文書蓄積フィルタ27、及び送信フィルタ28は、出力フィルタである。
印刷フィルタ26は、入力されたデータを印刷制御部12を介して印刷部605に出力(印刷)させる。文書蓄積フィルタ27は、入力されたデータを保管制御部13を介して複合機1内のHDD633内に保存する。送信フィルタ28は、入力されたデータをFAX制御部14を介してFAX送信する。
アクティビティ層30は、フィルタを組み合わせて(接続して)ユーザによるジョブを実現するためのアプリケーションとしてのソフトウェア部品群が実装されている部分である。本実施の形態ではアクティビティ層30におけるソフトウェア部品(アプリケーション)を「アクティビティ」と呼ぶ。図3では、コピーアクティビティ31、FAXアクティビティ32、スキャナアクティビティ33、及びプリンタアクティビティ34が示されている。
コピーアクティビティ31は、読取フィルタ21と、編集フィルタ25と、印刷フィルタ26との組み合わせにより、コピー機能(コピーアプリケーション)を実現するアクティビティある。
FAXアクティビティ32は、受信フィルタ23と文書蓄積フィルタ27との組み合わせにより、FAX受信した画像データを保存する機能を実現するアクティビティである。
スキャナアクティビティ33は、読取フィルタ21と、編集フィルタ25と、文書蓄積フィルタ27との組み合わせにより、スキャンした画像データを保存する機能を実現するアクティビティである。
プリンタアクティビティ34は、PC文書入力フィルタ24と、編集フィルタ25と、印刷フィルタ26との組み合わせにより、印刷機能(プリンタアプリケーション)を実現するアクティビティである。
なお、各アクティビティ31は独立しており、アクティビティ間における依存関係(呼び出し関係)は基本的に存在しない。したがって、アクティビティ単位で追加(インストール)又は削除(アンインストール)が可能である。よって、図3に示されているアクティビティ以外にも、必要に応じて各種のフィルタの組み合わせによるアクティビティを作成し、インストールすることができる。
フィルタ及びアクティビティについて更に詳しく説明する。図5は、フィルタの構成要素を説明するための図である。図5に示されるように、各フィルタは、フィルタ設定用UI、フィルタロジック、フィルタ固有下位サービス、及び永続記憶領域情報等より構成される。このうち、フィルタ設定用UI、フィルタ固有下位サービス、及び永続記憶領域情報については、フィルタによって必ずしも構成要素に含まれない。
フィルタ設定用UIは、フィルタの動作条件等を設定させるための画面をオペレーションパネル602等に表示させるプログラムである。すなわち、フィルタごとに動作条件が設定される。例えば、読取フィルタ21であれば、フィルタ設定用UIは、解像度、濃度、画像種別等を設定させる画面が相当する。なお、オペレーションパネル602が、HTMLデータや、スクリプトに基づいて表示制御を行うことが可能であれば、フィルタ設定用UIは、HTMLデータやスクリプトであってもよい。
フィルタロジックは、フィルタの機能を実現するためロジックが実装されたプログラムである。すなわち、フィルタの構成要素としてのフィルタ固有下位サービスや、デバイス制御層10等を利用して、フィルタ設定用UIを介して設定された動作条件に応じてフィルタの機能を実現する。例えば、読取フィルタ21であれば、スキャナによる原稿の読み取り制御のためのロジックが相当する。
フィルタ固有下位サービスは、フィルタロジックを実現するために必要な下位機能(ライブラリ)である。
永続記憶領域情報は、フィルタに対する設定情報(例えば、動作条件のデフォルト値)等、不揮発メモリに保存する必要があるデータのスキーマ定義が相当する。当該スキーマ定義は、フィルタのインストール時に登録される。
図6は、アクティビティの構成要素を説明するための図である。図6に示されるように、アクティビティは、アクティビティUI、アクティビティロジック、及び永続記憶領域情報等より構成される。
アクティビティUIは、アクティビティに関する画面(例えば、アクティビティの動作条件等を設定させるための設定画面)をオペレーションパネル602等に表示させるための情報又はプログラムである。
アクティビティロジックは、アクティビティの処理内容が実装されたプログラムである。基本的に、アクティビティロジックには、フィルタの組み合わせに関するロジック(例えば、フィルタの実行順、複数のフィルタに跨る設定、フィルタの接続変更、エラー処理等)が実装されている。
永続記憶領域情報は、アクティビティに対する設定情報(例えば、動作条件のデフォルト値)等、不揮発メモリに保存する必要があるデータのスキーマ定義が相当する。当該スキーマ定義は、アクティビティのインストール時に登録される。
図3に戻る。UI制御部40は、オペレーションパネル602への操作画面の表示や、当該操作画面を介して入力される指示に応じた処理の起動等を行う。
履歴記録部50は、複合機1における各種の事象の発生回数等を記録するためのカウンタの更新処理(カウントアップ等)を行う。カウンタをその用途によって分類した場合、例えば、課金に利用される課金カウンタ、複合機1の利用状況を把握するために利用される管理者カウンタ、ユーザ別の利用状況や課金振替に利用されるユーザ別カウンタ、利用制限(例えば、印刷枚数の制限等)に利用される利用量制限カウンタ、ジョブの実行状況の把握等に利用されるジョブログカウンタ等に分類され、各分類には複数のカウンタが属しうる。例えば、課金カウンタは、モノクロ印刷のカウンタやコピー印刷のカウンタ等、複数のカウンタによって構成される。また、複数の用途に利用される(すなわち、複数の分類に属する)カウンタも存在しうる。なお、本実施の形態において「課金」とは、複合機1の利用状況に応じて複合機1の販売者がユーザに対して使用料を請求することをいう。したがって、特に課金カウンタの操作については、フィルタ等のカスタマイズによって変更可能であるという状態は好ましくない。例えば、印刷ジョブが実行されたのにもかかわらず、課金カウンタがカウントアップされないような仕組みが実装されてしまうと、販売者側は、正確に課金を行うことができなくなってしまうからである。なお、カウンタは、HDD633等の記憶装置に記録されている。
なお、図3のソフトウェア構成において、デバイス制御層10は、カスタマイズするための手段は公開されていない。すなわち、ユーザやソフトウェアベンダ等、複合機1のベンダ以外によって、新たなソフトウェア部品をデバイス制御層10に追加したり、デバイス制御層10における既存のソフトウェア部品を改変したりすることは基本的にできない。一方、フィルタ層20及びアクティビティ層30は、ユーザやソフトウェアベンダ等によって、新たなフィルタ又はアクティビティの追加等によるカスタマイズが可能とされている。
本実施の形態では、コピーアクティビティ31の動作時(すなわち、コピージョブの実行時)におけるカウンタの更新処理について説明する。したがって、デバイス層10、フィルタ層20、及びアクティビティ層30に関しては、図7に示されるソフトウェア部品の動作に注目する。
図7は、デバイス層、フィルタ層、及びアクティビティ層において本実施の形態で注目対象となるソフトウェア部品を示す図である。コピーアクティビティ31は、読取フィルタ21、編集フィルタ25、及び印刷フィルタ26を利用する。したがって、フィルタ層20では、図示される3つのフィルタが注目対象となる。また、読取フィルタ21は、読取制御部11を利用し、編集フィルタ25は画像加工部15を利用し、印刷フィルタ26は印刷制御部12を利用する。したがって、デバイス制御層10では、図示される3つのソフトウェア部品が注目対象となる。
以下、複合機1の処理手順について説明する。図8は、第一の実施の形態におけるカウンタの更新処理を説明するための図である。
オペレーションパネル602における操作によって、コピーアクティビティ31が実行対象として選択されると、UI制御部40は、コピーアクティビティ31のアクティビティUIに基づいてコピーアクティビティ31の動作条件の設定画面(コピー画面)を表示させる。コピー画面内には、コピーアクティビティ31が利用する各フィルタ(読取フィルタ21、編集フィルタ25、及び印刷フィルタ26)の動作条件の設定領域が、各フィルタのフィルタ設定用UIに基づいてUI制御部40によって表示される。したがって、ユーザは、コピー画面において各フィルタの動作条件を設定する。設定された動作条件は、UI制御部40より各フィルタに通知され、各フィルタのフィルタロジック内において保持される。
動作条件の設定が完了し、コピーの実行が指示されると(例えば、スタートボタンが押下されると)、コピーアクティビティ31は、読取フィルタ21、編集フィルタ25、及び印刷フィルタ26に対してジョブの実行を指示する。当該指示に応じて、入力フィルタ(ここでは、読取フィルタ21)以外のフィルタ(ここでは、編集フィルタ25及び印刷フィルタ26)は直ちに処理を開始せず、自らの入力側に接続されているパイプに対してデータが入力されるまで待機する。すなわち、複合機1が採用するパイプ&フィルタのアーキテクチャにおいては、フィルタ間の処理のタイミングの同期はパイプによってとられる。
読取フィルタ21は、コピーアクティビティ31によるジョブの実行指示に応じ、原稿のページごとに読み取りを行うことを履歴記録部50に通知する(S11)。履歴記録部50は、当該通知に応じ、ページの読み取りに応じて更新すべきカウンタをカウントアップする。但し、課金カウンタに属するカウンタについては、このタイミングではカウントアップは行われない。
続いて、読取フィルタ21は、設定された動作条件を伴って、原稿の読み取りを読取制御部11に要求する(S12)。この際、読取フィルタ21は、原稿より読み取られた画像データを格納すべきメモリのアドレス(読取フィルタ21と編集フィルタ25との間のパイプに係るメモリのアドレス)をも読取制御部11に通知する。読取制御部11は、撮像部604を制御し、動作条件に従った原稿の読み取りを実行し、読み取られた画像データを読取フィルタ21によって指定されたアドレスに格納する。また、読取制御部11は、原稿のページが読み取られるたびにページの読み取りが実行されたことを履歴記録部50に通知する(S13)。履歴記録部50は、当該通知に応じ、ページの読み取りの完了に応じて更新すべきカウンタをカウントアップする。なお、履歴記録部50は、このタイミングにおいて課金カウンタに属するカウンタをカウントアップする。すなわち、履歴記録部50は、カスタマイズ手段(方法)が公開されているフィルタからの通知(図中において、各フィルタから履歴記録部50への破線の矢印)に基づいて課金カウンタの値は更新せず、カスタマイズ手段が公開されていないデバイス制御層10からの通知(図中において、実線の矢印)に基づいて課金カウンタの値を更新する。これにより、カスタマイズによる課金カウンタの不正な操作が防止される。
続いて、編集フィルタ25は、読取フィルタ21との間におけるパイプに係るメモリ領域に画像データが格納されたことを検知すると、画像データの加工(編集)を行うことを履歴記録部50に通知する(S14)。履歴記録部50は、当該通知に応じ、画像データの変換に応じて更新すべきカウンタをカウントアップする。なお、上記したように、課金カウンタに属するカウンタについては、このタイミングではカウントアップは行われない。
続いて、編集フィルタ25は、設定された動作条件を伴って、画像データの加工を画像加工部15に要求する(S15)。この際、編集フィルタ25は、加工された画像データを格納すべきメモリのアドレス(編集フィルタ25と印刷フィルタ26との間のパイプに係るメモリのアドレス)を画像加工部15に通知する。画像加工部15は、動作条件に従った画像データの加工を実行し、加工された画像データを編集フィルタ25によって指定されたアドレスに格納する。なお、図8の例では、画像加工部15は、履歴記録部50に対して画像の加工が完了した旨の通知は行わない。本実施の形態では、画像の加工に応じてカウントアップされる課金カウンタが無い場合を例としているためである。但し、画像の加工に応じてカウントアップされる課金カウンタが有る場合は、画像加工部15は、加工の完了を履歴記録部50に通知すればよい。
続いて、印刷フィルタ26は、編集フィルタ25との間におけるパイプに係るメモリ領域に画像データが格納されたことを検知すると、画像データのページごとに印刷を行うことを履歴記録部50に通知する(S16)。履歴記録部50は、当該通知に応じ、ページの印刷に応じて更新すべきカウンタをカウントアップする。なお、上記したように、課金カウンタに属するカウンタについては、このタイミングではカウントアップは行われない。
続いて、印刷フィルタ26は、設定された動作条件を伴って、画像データの印刷を印刷制御部12に要求する(S17)。印刷制御部12は、印刷部605を制御し、動作条件に従った印刷を実行する。また、印刷制御部12は、ページが印刷されるたびにページの読取が実行されたことを履歴記録部50に通知する(S18)。履歴記録部50は、当該通知に応じ、ページの印刷の完了に応じて更新すべきカウンタをカウントアップする。なお、履歴記録部50は、このタイミングにおいて課金カウンタに属するカウンタをカウントアップする。
上述したように、第一の実施の形態における複合機1によれば、事象の発生に応じたカウンタの操作は履歴記録部50に一元化されている。したがって、各ソフトウェア部品(フィルタやデバイス制御層10におけるソフトウェア部品)は、発生した事象示す情報(事象発生情報)を履歴記録部50に通知すればよく、当該事象に応じてどのようなカウンタの値を更新すべきかを意識する必要はない。したがって、カウンタの構成等を変更する場合であっても、当該変更による影響は履歴記録部50に限られ、他のソフトウェア部品の改造(ソースコードの修正)等が必要とされる可能性を著しく低減させることができる。
また、課金カウンタの更新については、カスタマイズ手段が公開されていないデバイス制御層10からの通知にのみ基づいて行われるため、カスタマイズによる課金カウンタの不正な操作等を防止することができる。
ところで、第一の実施の形態の場合、各フィルタ等から個別に履歴記録部50への通知がなされるため、履歴記録部50において、各フィルタ等から通知される事象発生情報についてジョブ及びページ単位での関連付けを行う必要がある。そのため、各フィルタ等は、履歴記録部50に対して、当該関連付けを可能とする識別子(ジョブIDやページ番号)等を事象発生情報と共に通知する必要がある。但し、集約、分割(1ページを複数ページに跨って印刷すること)、文書統合(複数の文書を一つの文書に統合して印刷すること)、又は表紙若しくは合紙挿入等が行われる場合、入力されるページ(例えば、読取フィルタ21において読み取られるページ)と、出力されるページ(例えば、印刷フィルタ26において印刷されるページ)とは、必ずしも一対一には対応しない。したがって、各フィルタ等より通知される事象発生情報の関連付けは複雑な処理が要求されるという問題がある。
また、各フィルタ等が並列して動作可能である場合、各フィルタ等からの事象の通知の順序はロジック的には必ずしも保障されない(入力→加工→出力の順序通りに通知されるとは限らない)という問題もある。
また、課金カウンタのセキュリティの確保のため、課金カウンタについてはデバイス制御層10からの通知に基づいてカウントアップされ、他のカウンタについてはフィルタからの通知に基づいてカウントアップされるといったように、課金カウンタのみ事象の発生の通知元及び通知のタイミングが異なるため、電源断等の障害の発生等により課金カウンタと課金カウンタ以外との間で値のずれが生じる可能性があるという問題もある。
そこで、上記の問題点を解決した例として第二の実施の形態を説明する。なお、第二の実施の形態において特に言及しない点については、第一の実施の形態と同様でよい。まず、図9を用いて、図8(第一の実施の形態)と大きく異なる点について説明する。図9は、第二の実施の形態におけるカウンタの更新処理を説明するための図である。
第二の実施の形態では、入力フィルタ(読取フィルタ21)は、ジョブの開始に先立って、ページの入力結果(本実施の形態では読み取り結果)を格納するための仮想的な箱(以下、「ページ入力結果データ」という。)と、ページの出力結果(本実施の形態ではページの印刷結果)を格納するための仮想的な箱(以下、「ページ出力結果データ」という。)とを用意する。
図10は、ページ入力結果データの構成例を示す図である。図10において、ページ入力結果データは、1ページ分の画像データの入力について、一つの入力種別と、一つ以上のkey及びvalueの組によって構成される入力処理の属性情報とを含むデータ(例えば、構造体)である。
入力種別は、入力の種別を示す情報であり、例えば、撮像部604を用いた入力(読み取り)であれば「SCAN」といった値が登録される。また、keyは属性名であり、valueは値である。keyには入力パラメータ(読み取りパラメータ)の名前が登録され、valueにはkeyによって特定されるパラメータについて動作条件に基づいて特定される値が登録される。
また、図11は、ページ出力結果データの構成例を示す図である。図11において、ページ出力結果データは、1ページ分の画像データの出力について、一つ以上の入力種別と、編集ページ結果と、一つの出力種別と、出力ページ結果とを含むデータ(例えば、構造体)である。
入力種別は、ページ入力結果データにおける入力種別と同義である。ページ出力結果データに入力種別を含めるのは、同じ出力(例えば、印刷)が行われる場合であっても入力種別によって(例えば、印刷対象のデータがスキャンされた場合とPC等より受信された場合とによって)課金額等が異なる場合を考慮してのことである。また、一つのページ出力結果データが複数の入力種別を含み得るのは、集約等、複数ページの入力に基づいて一ページの出力が行われる場合があることを考慮してのことである。
編集ページ結果は、編集処理の属性情報であり、一つ以上のkey(属性名)とvalue(値)との組とより構成される。出力種別は、出力の種別を示す情報であり、例えば、印刷部605を用いた出力(印刷)であれば「PRINT」といった値が登録される。出力ページ結果は、出力処理の属性情報であり、一つ以上のkey(属性名)とvalue(値)との組とより構成される。
図9において、破線で示される矢印はページ入力結果データの流れを示し、点線で示される矢印はページ出力結果データの流れを示す。同図より明らかなように、それぞれの流れの中で末端のソフトウェア部品(読取制御部11、印刷制御部12)が、ページ入力結果データ又はページ出力結果データを履歴記録部50に伝達する。
すなわち、読取フィルタ21は、中身が空のページ入力結果データ及びページ出力結果データを用意すると、処理情報(処理の属性を示す情報)として動作条件に基づく属性情報(key及valueの組)をページ入力結果データに登録し、読取制御部11に対してページの読み取りを要求する際に、当該ページ入力結果データを読み取り制御部11に引き渡す(S21)。読取制御部11は、ページの読取制御を行った後、処理情報として動作条件に基づく属性情報をページ入力結果データに追加し、当該ページ入力結果データを履歴記録部50に出力することにより、ページの読み取りの実行を通知する(S22)。履歴記録部50は、入力されたページ入力結果データの内容に基づいてカウントアップすべきカウンタを判定し、当該カウンタをカウントアップする。
一方、読取フィルタ21は、ページ出力結果データについては、処理情報として入力種別を登録し、パイプを介して編集フィルタ25に引き渡す(S23)。編集フィルタ25は、動作条件に基づく画像データの加工処理を画像加工部15を用いて実行し(S24)、処理情報として当該動作条件に基づく編集ページ結果をページ出力結果データに登録し、当該ページ出力結果データをパイプを介して印刷フィルタ26に引き渡す(S25)。印刷フィルタ26は、処理情報として動作条件に基づく印刷結果をページ出力結果データに登録し、印刷制御部12に対してページの印刷を要求する際に、当該ページ出力結果データを印刷制御部12に引き渡す(S26)。印刷制御部12は、ページの印刷を行った後、処理情報として動作条件に基づく出力ページ結果をページ出力結果データに追加し、当該ページ出力結果データを履歴記録部50に出力することにより、ページの印刷を通知する(S27)。履歴記録部50は、入力されたページ入力結果データに基づいてカウントアップすべきカウンタを判定し、当該カウンタをカウントアップする。
以上の処理において、課金に影響を与える処理情報は、デバイス制御層10に属するソフトウェア部品(読取制御部11、印刷制御部12)によって、ページ入力結果データ又はページ出力結果データに登録される。すなわち、履歴記録部50は、デバイス制御層10においてページ入力結果データ又はページ出力結果データに登録された情報に基づいて、課金カウンタの値を更新する。したがって、第二の実施の形態においても、課金カウンタに関するセキュリティは適切に確保される。
図9に示した処理内容について更に詳しく説明する。図12は、第二の実施の形態におけるカウンタの更新処理を説明するためのシーケンス図である。
コピー画面を介した動作条件の設定が完了し、オペレーションパネル602を介してコピーの実行指示がユーザによって入力されると、UI制御部40は、コピージョブの実行をコピーアクティビティ31に要求する(S101)。コピージョブの実行要求に応じ、コピーアクティビティ31は、読取フィルタ21、編集フィルタ25、及び印刷フィルタ26に対してジョブの実行を指示する(S102、S103、S104)。ここで、編集フィルタ25及び印刷フィルタ26については、自らの入力側のパイプに対してデータが入力されるまで処理を待機するのは、第一の実施の形態において説明した通りである。
読取フィルタ21は、コピーアクティビティ31によるジョブの実行指示に応じ、空のページ入力結果データと空のページ出力結果データとの提供を履歴記録部50に要求する(S105)。履歴記録部50は、当該要求に応じ、空のページ入力結果データと空のページ出力結果データとを生成し、生成された二つのデータを読取フィルタ21に返却する。
続いて、読取フィルタ21は、ページ入力結果データ及びページ出力結果データに対して、動作条件に基づく属性情報又は入力種別を登録する(S106)。
図13は、処理の進行に応じたページ入力結果データの内容の変遷例を示す図である。図13に示される表において、「シーケンス番号」の列は、参考までに図12におけるステップ番号を示したものであり、ページ入力結果データを構成する情報ではない。すなわち、シーケンス番号」がS106の行が、ステップS106が行われた後のページ入力結果データの状態を示す。なお、ページ入力結果データの構成例については、図10において説明した通りである。
図13の例では、ステップS106において、二つの属性情報(キー(key)と値(value)との組)が読取フィルタ21によって登録された例が示されている。1つ目の属性情報において、キーは「dfFeed」であり、値は「FEED_FRONT」である。また、2つ目の属性情報においてキーは「resolusion」であり、値は「600DPI」である。これは、DF(Document Feeder)を利用して原稿の表面を読み取るモードにおいて、読取解像度は600dpiであることを示している。
また、図14は、処理の進行に応じたページ出力結果データの内容の変遷例を示す図である。図14に示される表において、「シーケンス番号」の列は、参考までに図12におけるステップ番号を示したものであり、ページ出力結果を構成する情報ではない。すなわち、シーケンス番号」がS106の行が、ステップS106が行われた後のページ出力結果データの状態を示す。なお、ページ出力結果データの構成例については、図11において説明した通りである。
図14の例では、ステップS106において、入力種別(「SCAN」)が登録された例が示されている。
続いて、読取フィルタ21は、ページ入力結果データを伴って、原稿の読み取りの実行を読取制御部11に要求する(S107)。この際、読取フィルタ21は、読取フィルタ21に設定された動作条件、及び原稿より読み取られた画像データを格納すべきメモリのアドレス(読取フィルタ21と編集フィルタ25との間のパイプに係るメモリのアドレス)をも読取制御部11に通知する。
続いて、読取制御部11は、撮像部604を制御し、動作条件に従った1ページ分の原稿の読み取りを実行し、読み取られた画像データを読取フィルタ21によって指定されたアドレスに格納する。また、読取制御部11は、入力種別と、動作条件に基づく属性情報とをページ入力結果データに追加登録する(S108)。その結果、ページ入力結果データは、図13において「シーケンス番号」が「S108」の行に示される状態となる。ここで、S108に係る行とS106に係る行との差分が、ステップS108において登録された情報である。すなわち、ステップS108では、入力種別(「SCAN」)が登録され、3つ目の属性情報と4つ目の属性情報とが登録される。3つ目の属性情報において、キーは「colorMode」であり、値は「FULL_COLOR」である。また、4つ目の属性情報において、キーは「size」であり、値は「A4」である。これは、フルカラーモードによってA4サイズのページの読み取りが実行されたことを示す。
続いて、読取制御部11は、ページ入力結果データを履歴記録部50に出力することにより、ページの読み取りの実行を通知する(S109)。履歴記録部50は、入力されたページ入力結果データの内容に基づいてカウントアップすべきカウンタを判定し、当該カウンタをカウントアップする(S110)。続いて、読取フィルタ21は、ステップS105し、ステップS106において入力種別を登録したページ出力結果データをパイプを介して編集フィルタ25に引き渡す(S111)。
編集フィルタ25は、読取フィルタ21との間におけるパイプに係るメモリ領域に画像データが格納されたことを検知すると、編集フィルタ25に設定された動作条件に基づく当該画像データの加工処理を画像加工部15に実行させる。その結果、加工後の画像データが、編集フィルタ25と印刷フィルタ26との間のパイプに係るメモリのアドレスに格納される。画像データの加工が終了すると、編集フィルタ25は、動作条件に基づく編集ページ結果をページ出力結果データに登録する(S112)。
その結果、ページ出力結果データは、図14において「シーケンス番号」が「S112」の行に示される状態となる。ここで、S112に係る行とS106に係る行との差分が、ステップS112において登録された情報である。すなわち、ステップS112では、1つ目の編集ページ結果と2つ目の編集ページ結果とが登録される。1つ目の編集ページ結果において、キーは「combine」であり、値は「1」である。また、2つ目の編集ページ結果において、キーは「magnification」であり、値は「200」である。これは、集約枚数は1であり(すなわち、集約は行わず)、200%の変倍が行われたことを示す。続いて、編集フィルタ25は、ページ出力結果データをパイプを介して印刷フィルタ26に引き渡す(S113)。
印刷フィルタ26は、編集フィルタ25との間におけるパイプに係るメモリ領域に画像データが格納されたことを検知すると、印刷フィルタ26に設定された動作条件に基づく出力ページ結果をページ出力結果データに登録する(S114)。その結果、ページ出力結果データは、図14において「シーケンス番号」が「S114」の行に示される状態となる。ここで、S114に係る行とS112に係る行との差分が、ステップS114において登録された情報である。すなわち、ステップS114では、1つ目の出力ページ結果と2つ目の出力ページ結果とが登録される。1つ目の出力ページ結果において、キーは「printSide」であり、値は「ONE_SIDE」である。また、2つ目の出力ページ結果において、キーは「trayNumber」であり、値は「1」である。これは、印刷面は片面であり、排紙トレイはトレイ1が用いられることを示す。続いて、印刷フィルタ26は、ページ出力結果データと設定された動作条件とを伴って、画像データの印刷を印刷制御部12に要求する(S115)。
印刷制御部12は、印刷部605を制御し、動作条件に従ったページの印刷を実行する。また、印刷制御部12は、ページの印刷を行った後、動作条件に基づく出力ページ結果をページ出力結果データに登録する(S116)。その結果、ページ出力結果データは、図14において「シーケンス番号」が「S116」の行に示される状態となる。ここで、S116に係る行とS114に係る行との差分が、ステップS116において登録された情報である。すなわち、ステップS116では、3つ目の出力ページ結果と4つ目の出力ページ結果とが登録される。3つ目の出力ページ結果において、キーは「color」であり、値は「FULL_COLOR」である。また、4つ目の出力ページ結果において、キーは「size」であり、値は「A3」である。これは、フルカラーによるA3サイズの印刷であることを示す。ここで、カラーモード(モノクロ印刷であるかカラー印刷であるか)や用紙サイズは、課金に影響を与える可能性のある属性情報であるため、デバイス制御層10に含まれる印刷制御部12によって登録される。
なお、課金に影響を与える可能性のある情報について、フィルタ(ここでは、印刷フィルタ26)においてキーと値とが既に登録されている場合であっても、デバイス制御層10のソフトウェア部品(ここでは、印刷制御部12)は、当該のキーと値とを上書きする。
図15は、デバイス制御層によるページ出力結果データの上書きの様子を示す図である。図15では、印刷フィルタ21によって、カラーモード(color)の値が白黒として登録された後、印刷制御部12によって、カラーモードの値がフルカラー(FULL_COLOR)に上書きされている例が示されている。このように、フィルタがカスタマイズされ、課金に影響を与える情報が誤って登録された場合であっても、カスタマイズ手段が公開されていないデバイス制御層10において、正しい値に上書きされるため、課金カウンタの不正な操作を防止することができる。
続いて、印刷制御部12は、ページ出力結果データを履歴記録部50に出力することにより、ページの印刷の実行を通知する(S117)。履歴記録部50は、入力されたページ出力結果データの内容に基づいてカウントアップすべきカウンタを判定し、当該カウンタをカウントアップする(S118)。
上述したように、第二の実施の形態における複合機1によれば、ページ出力結果データが入力→加工→出力の順で、それぞれを実行するソフトウェア部品に伝達され、当該ページ出力結果データに各ソフトウェア部品によって情報が登録される。また、ページ出力結果データの履歴管理部50への伝達は、各ソフトウェア部品より個別に行われるのではなく、処理の実行順において末端のソフトウェア部品によって行われる。したがって、入力ページ及び出力ページ等の関連付けはページ出力結果データにおいて自動的に保持される。よって、履歴管記録部50において入力ページと出力ページとの関連付け等を判断する必要はない。
なお、上記の説明では、ページ出力結果データにおける入力種別は、フィルタ(読取フィルタ21)によって登録される。したがって、入力種別に応じて課金額が異なる場合、フィルタのカスタマイズにより、入力種別に不正な値が登録される可能性がある。そこで、入力種別に応じて課金額が異なる場合、履歴記録部50は、ページ出力結果データに対応するページ入力結果データに登録されている入力種別に基づいて正しい入力種別を判定するようにすればよい。ページ入力結果データにおける入力種別は、カスタマイズできないデバイス制御層10(読取制御部11)によって登録されるため、信頼できる値だからである。この場合、ページ出力結果データにおいて、入力種別は必ずしも登録される必要はない。なお、履歴記録部50において、ページ入力結果データとページ出力結果データとの対応関係を判定可能とするために、共通の識別情報(ID等)を入力フィルタ(読取フィルタ21)において双方のデータに付与するようにすればよい。当該識別情報の付与は、付与元(入力フィルタ)が同一であるため、特段複雑な処理は必要とされない。
ところで、集約が行われるジョブの場合、ページ出力結果データは次のように処理される。図16は、集約が行われる場合のページ出力結果データの処理を説明するための図である。
図16では、2ページ分を1ページに集約する例が示されている。この場合、読取フィルタ21からは、1ページ目のページ出力結果データ61と、2ページ目のページ出力結果データ62とが編集フィルタ25に引き渡される。
編集フィルタ25は、動作条件として集約が設定されている場合、集約数分のページのページ出力結果データがパイプに蓄積されるまで待機する。集約数分のページのページ出力結果データが蓄積されると、編集フィルタ25は、集約数分のページ出力結果データを一つのページ出力結果データにマージ(統合)し、マージされたページ出力結果データ63に編集ページ結果を登録した上で印刷フィルタ26に引き渡す。ここで行われるマージは、ページ出力結果データを構成する情報のうち、入力フィルタ(読取フィルタ21)において登録される情報のマージである。本実施の形態において、入力フィルタによってページ出力結果データに登録される情報は、入力種別である。したがって、入力種別がマージされる。例えば、各ページが異なる入力先より入力される場合(例えば、スキャンされたページと、複合機1に蓄積されている文書のページとを集約する場合)、ページ出力結果データ61に登録されている入力種別と、ページ出力結果データ62に登録されている入力種別とは異なる。したがって、マージによって複数の入力種別が登録された一つのページ出力結果データ63が生成される。一方、各ページが同じ入力先より入力される場合は、ページ出力結果データ61に登録されている入力種別と、ページ出力結果データ62に登録されている入力種別とは同じである。したがって、マージによって一つの入力種別が登録された一つのページ出力結果データ63が生成される。以降、マージされた一つのページ出力結果データ63は、上述した処理によって履歴管理部50に伝達される。
このように、集約が行われる場合であっても、入力、加工、及び出力に関する情報がページ出力結果データにおいて適切に関連付けられる。
また、入力されたページを異なる出力先に出力するジョブの場合、ページ出力結果データは次のように処理される。図17は、出力先が複数の場合のページ出力結果データの処理を説明するための図である。
図17では、印刷フィルタ26及び文書蓄積フィルタ27の二つの出力フィルタが編集フィルタ25に接続されている。この場合、読取フィルタ21によって読み取られた画像データが編集フィルタ25において加工され、印刷フィルタ26及び文書蓄積フィルタ27に出力される。印刷フィルタ26は、入力された画像データの印刷を実行し、文書蓄積フィルタ27は、入力された画像データの蓄積を実行する。このように、一つの入力ページが、複数の出力先に出力される。
この場合、読取フィルタ21が1ページ目のページ出力結果データ61を編集フィルタ25に引き渡すと、編集フィルタ25は、ページ出力結果データ61に編集ページ結果を登録し、自らに複数のパイプ(印刷フィルタ26との間のパイプと文書蓄積フィルタとの間のパイプ)が接続されていることに基づいて、接続されているパイプの数だけ、ページ出力結果データ61の複製を生成する。続いて、編集フィルタ25は、複製されたページ出力結果データ61を各出力フィルタに引き渡す。以降、複製されたそれぞれのページ出力結果データ61は、上述した処理によって履歴管理部50に伝達される。
このように、出力先が複数である場合であっても、入力、加工、及び出力に関する情報がそれぞれの出力先に対応して複製されたページ出力結果データにおいて適切に関連付けられる。
また、同一のページが複数部印刷されたり、複数の宛先に送信されたりするジョブの場合、ページ出力結果データは次のように処理される。図18は、複数部出力の場合のページ出力結果データの処理を説明するための図である。なお、同図では、便宜上、読取フィルタ21は省略されている。
この場合、編集フィルタ25より1ページ目のページ出力結果データ61が引き渡されると、印刷フィルタ26は、出力結果データ61に出力ページ結果を登録した後、自らの動作条件として複数部印刷が設定されていることに基づいて、部数分だけ出力結果データ61の複製を生成する。続いて、印刷フィルタ26は、ページごとに印刷制御部12に印刷要求を行うたびに、複製されたそれぞれのページ出力結果データ61を印刷制御部12に引き渡す。以降、複製されたそれぞれのページ出力結果データ61は、上述した処理によって履歴管理部50に伝達される。
このように、複数部の出力が行われる場合であっても、入力、加工、及び出力に関する情報が各部に対応して複製されたページ出力結果データにおいて適切に関連付けられる。
次に、履歴記録部50による、ページ入力結果データ及びページ出力結果データに基づく、更新すべきカウンタを判定について説明する。当該判定は、固定的にプログラムロジックとして組み込まれていても良いが、拡張性を考慮すると、「どのような場合にいずれのカウンタをカウントアップするか」といった定義情報を別途定義し、当該定義情報に基づいて履歴管理部50が判定するようにするとよい。本実施の形態では、斯かる定義情報を「カウンタ仕様」という。カウンタ仕様には、ページ入力結果データに対応した「入力カウンタ仕様」と、ページ出力結果データに対応した「出力カウンタ仕様」とに大別され、カウンタごとに定義される。なお、カウンタ仕様は、HDD633等の記憶装置に保存される。
図19は、入力カウンタ仕様の構成例を示す図である。図19では、カラースキャンの数をカウントするカラースキャンカウンタに関する入力カウンタ仕様(カラースキャンカウンタ仕様)が示されている。図示されるように、入力カウンタ仕様は、カウンタID71、入力種別72、及びカウント条件式73等より構成される。カウンタID71は、更新(カウントアップ)対象となるカウンタのIDである。図中では、カウンタID71として「scan_color」が例示されている。入力種別72及びカウント条件式73は、「どのような場合にカウントアップするか」を規定する情報である。入力種別72によって、カウンタIDに係るカウンタがカウントアップされる入力種別が規定される。また、カウント条件式73によって、カウンタIDに係るカウンタがカウントアップされる属性情報の値が規定される。図中では、入力種別72として「SCAN」が指定され、カウント条件式73として「カラーモード(colorMode)キーの値がフルカラー(FULL_COLOR)と一致すること」が指定された例が示されている。なお、カウント条件式73は、複数定義可能である。
すなわち、履歴記録部50は、ページ入力結果データを受け付けると、ページ入力結果データと、各入力カウンタ仕様とを比較照合し、カウントアップすべきカウンタを判定する。したがって、例えば、図13においてシーケンス番号がS108の行に係るページ入力結果データを受け付けた場合、履歴記録部50は、図19に示されるカラースキャンカウンタ仕様に基づいて、カウンタIDが「scan_color」のカウンタをカウントアップする。
また、図20は、出力カウンタ仕様の構成例を示す図である。図20では、カラーコピーの数をカウントするコピー印刷フルカラーカウンタに関する出力カウンタ仕様(コピー印刷フルカラーカウンタ仕様)が示されている。図示されるように、出力カウンタ仕様は、カウンタID81、出力種別82、入力種別83、及びカウント条件式84等より構成される。カウンタID81は、更新(カウントアップ)対象となるカウンタのIDである。図中では、カウンタID81として「print_copy_color」が例示されている。出力種別82、入力種別83、及びカウント条件式84は、「どのような場合にカウントアップするか」を規定する情報である。出力種別82によって、カウンタIDに係るカウンタがカウントアップされる出力種別が規定される。また、入力種別83によって、カウンタIDに係るカウンタがカウントアップされる入力種別が規定される。また、カウント条件式84によって、カウンタIDに係るカウンタがカウントアップされる編集ページ結果又は出力ページ結果の値が規定される。図中では、出力種別82として「PRINT」が指定され、入力種別83として「SCAN」が指定され、カウント条件式84として「カラーモード(color)キーの値がフルカラー(FULL_COLOR)と一致すること」が指定された例が示されている。なお、カウント条件式84は、複数定義可能である。
すなわち、履歴記録部50は、ページ出力結果データを受け付けると、ページ出力結果データと、予め定義されている各出力カウンタ仕様とを比較し、カウントアップすべきカウンタを判定する。したがって、例えば、図14においてシーケンス番号がS116の行に係るページ出力結果データを受け付けた場合、履歴記録部50は、図20に示されるコピー印刷フルカラーカウンタ仕様に基づいて、カウンタIDが「print_copy_color」のカウンタをカウントアップする。
ところで、カウンタは、基本的に事象の発生回数をカウントするものであるため、1回の事象の発生に応じてその値は1増加するのが通常である。しかし、例えば、用紙サイズが大きいページが印刷されたときに課金額を通常のページの倍にしたい場合等、ダブルカウント(2を増加)したい場合もある。斯かる場合、カウンタ仕様は次のように定義すればよい。
図21は、ダブルカウントを行う場合のカウンタ仕様の定義例を示す図である。図21中、図20と同一部分には同一符号を付し、その説明は省略する。
図21に示されるように、ダブルカウントが必要な場合は、更に、ダブルカウント条件式85が定義される。この場合、履歴記録部50は、入力種別82、出力種別83、カウント条件式84、及びダブルカウント条件式85の全てが満たされる場合に、カウンタをダブルカウントする。一方、ダブルカウント条件式85のみが満たされない場合、履歴記録部50は、カウンタを1だけ増加させる。
また、印字したドット数をカウントする場合等、1回の事象(1ページの処理)ごとに増加量(カウント数)が変化するカウンタ(以下、「カバレッジカウンタ」という。)を実装したい場合がある。この場合、カウンタ仕様は次のように定義すればよい。
図22は、カバレッジカウンタに対するカウンタ仕様の定義例を示す図である。図22中、図20と同一部分には同一符号を付し、その説明は省略する。
図22に示されるように、カバレッジカウンタについては、更に、カウント数86が定義される。カウント数86には、ページ出力結果データにおいて、カウント数が登録されたkeyの値が指定される。例えば、図22の例では、カウント数86において指定されているkeyの値は、「count」である。したがって、この場合、履歴記録部50は、ページ出力結果データにおける「count」キーに対応する値を取得し、取得された値だけカウンタを増加させる。すなわち、この場合、ページ出力結果データに情報を登録する側において、処理結果等に応じて、「count」キーとその値とをページ出力結果データに登録しておく。
なお、図21及び図22では、出力カウンタ仕様を例として説明しているが、入力カウンタ仕様についても、同様にダブルカウント条件式やカウント数を付加してもよい。
また、本実施の形態では、読取フィルタ21、編集フィルタ25、及び印刷フィルタ26によってジョブが実行される場合のカウンタの更新処理について説明したが、他のフィルタによってジョブが実行される場合もページ入力結果データ及びページ出力結果データの扱いについては、本実施の形態にいて説明した処理手順に従えばよい。すなわち、入力フィルタは、読取フィルタ21と同様の処理を行い、加工フィルタは、編集フィルタ25と同様の処理を行い、出力フィルタは印刷フィルタ26と同様の処理を行えばよい。また、入力フィルタより利用されるデバイス制御層10は、読取制御部11と同様の処理を行い、出力フィルタより利用されるデバイス制御層10は、印刷制御部12と同様の処理を行えばよい。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
従来の複合機におけるカウンタの更新処理を説明するための図である。 本発明の実施の形態における画像形成装置のハードウェア構成の一例を示す図である。 本発明の実施の形態の画像形成装置におけるソフトウェア構成例を示す図である。 パイプ&フィルタアーキテクチャの概念的に説明するための図である。 フィルタの構成要素を説明するための図である。 アクティビティの構成要素を説明するための図である。 デバイス層、フィルタ層、及びアクティビティ層において本実施の形態で注目対象となるソフトウェア部品を示す図である。 第一の実施の形態におけるカウンタの更新処理を説明するための図である。 第二の実施の形態におけるカウンタの更新処理を説明するための図である。 ページ入力結果データの構成例を示す図である。 ページ出力結果データの構成例を示す図である。 第二の実施の形態におけるカウンタの更新処理を説明するためのシーケンス図である。 処理の進行に応じたページ入力結果データの内容の変遷例を示す図である。 処理の進行に応じたページ出力結果データの内容の変遷例を示す図である。 デバイス制御層によるページ出力結果データの上書きの様子を示す図である。 集約が行われる場合のページ出力結果データの処理を説明するための図である。 出力先が複数の場合のページ出力結果データの処理を説明するための図である。 複数部出力の場合のページ出力結果データの処理を説明するための図である。 入力カウンタ仕様の構成例を示す図である。 出力カウンタ仕様の構成例を示す図である。 ダブルカウントを行う場合のカウンタ仕様の定義例を示す図である。 カバレッジカウンタに対するカウンタ仕様の定義例を示す図である。
符号の説明
1 複合機
10 デバイス制御層
11 読取制御部
12 印刷制御部
13 保管制御部
14 FAX制御部
15 画像加工部
20 フィルタ層
21 読取フィルタ
22 蓄積文書入力フィルタ
23 受信フィルタ
24 PC文書入力フィルタ
25 編集フィルタ
26 印刷フィルタ
27 文書蓄積フィルタ
28 送信フィルタ
30 アクティビティ層
31 コピーアクティビティ
32 FAXアクティビティ
33 スキャナアクティビティ
34 プリンタアクティビティ
40 UI制御部
50 履歴記録部
601 コントローラ
602 オペレーションパネル602
603 ファクシミリコントロールユニット
604 撮像部
605 印刷部
611 CPU
612 ASIC
621 NB
622 SB
631 MEM−P
632 MEM−C
633 HDD
634 メモリカードスロット
635 メモリカード
641 NIC
642 USBデバイス
643 IEEE1394デバイス
644 セントロニクスデバイス

Claims (16)

  1. 複数のソフトウェア部品の組み合わせによってジョブを実行する画像形成装置であって、
    各ソフトウェア部品によって処理情報が登録されるデータに基づいてカウンタの値を更新するカウンタ更新手段を有し、
    前記複数のソフトウェア部品は、前記ジョブを実行するための処理の実行順に従って順番に前記データに処理情報を登録し、
    前記実行順において末端のソフトウェア部品は、前記データを前記カウンタ更新手段に伝達することを特徴とする画像形成装置。
  2. 課金に関するカウンタの値を更新させる第一の処理情報は、前記複数のソフトウェア部品のうちカスタマイズ方法が公開されていないソフトウェア部品によって前記データに登録されることを特徴とする請求項1記載の画像形成装置。
  3. 前記実行順において末端のソフトウェア部品は、カスタマイズ方法が公開されていないソフトウェア部品であり、
    カスタマイズ方法が公開されているソウトウェア部品によって前記第一の処理情報が前記データに登録されたときは、前記末端のソフトウェア部品は、前記第一の処理情報を上書きすることを特徴とする請求項2記載の画像形成装置。
  4. 前記データは、当該画像形成装置において入力又は出力されるページごとに生成され、
    前記複数のソフトウェア部品は、ページごとに前記データに処理情報を登録することを特徴とする請求項1乃至3いずれか一項記載の画像形成装置。
  5. 入力されたページを集約して出力するジョブの実行において、
    ページの入力を行うソフトウェア部品は、入力されるページごとの前記データに処理情報を登録し、
    ページの集約を実行するソフトウェア部品は、ページの入力を行うソフトウェア部品によって処理情報が登録されたページごとの前記データを、集約される単位で統合し、
    ページの出力を実行するソフトウェア部品は、統合された前記データに対して処理情報を登録することを特徴とする請求項4記載の画像形成装置。
  6. 入力されたページを複数の出力先に出力するジョブの実行において、
    ページの入力を行うソフトウェア部品は、入力されるページごとの前記データに処理情報を登録し、
    所定のソフトウェア部品は、ページの入力を行うソフトウェア部品によって処理情報が登録されたページごとの前記データの複製を出力先の数だけ生成し、
    一つの出力先に対応したページの出力を実行する一つのソフトウェア部品は、前記所定のソフトウェア部品によって複製された一つの前記データに対して処理情報を登録することを特徴とする請求項4又は5記載の画像形成装置。
  7. 入力されたページを複数部出力するジョブの実行において、
    ページの入力を行うソフトウェア部品は、入力されるページごとの前記データに処理情報を登録し、
    ページの出力を行うソフトウェア部品は、ページの入力を行うソフトウェア部品によって処理情報が登録されたページごとの前記データの複製を出力部数だけ生成することを特徴とする請求項4乃至6いずれか一項記載の画像形成装置。
  8. 前記処理情報に基づいてカウンタの更新条件がカウンタごとに定義された定義情報が記録された記憶手段を有し、
    前記カウンタ更新手段は、前記データに登録されている前記処理情報と前記定義情報との比較に基づいて、カウンタの値を更新することを特徴とする請求項1乃至7いずれか一項記載の画像形成装置。
  9. 複数のソフトウェア部品の組み合わせによってジョブを実行する画像形成装置が実行するカウンタ更新方法であって、
    各ソフトウェア部品によって処理情報が登録されるデータに基づいてカウンタの値を更新するカウンタ更新手順を有し、
    前記複数のソフトウェア部品は、前記ジョブを実行するための処理の実行順に従って順番に前記データに処理情報を登録し、
    前記実行順において末端のソフトウェア部品は、前記データを前記カウンタ更新手順に伝達することを特徴とするカウンタ更新方法。
  10. 課金に関するカウンタの値を更新させる第一の処理情報は、前記複数のソフトウェア部品のうちカスタマイズ方法が公開されていないソフトウェア部品によって前記データに登録されることを特徴とする請求項9記載のカウンタ更新方法。
  11. 前記実行順において末端のソフトウェア部品は、カスタマイズ方法が公開されていないソフトウェア部品であり、
    カスタマイズ方法が公開されているソウトウェア部品によって前記第一の処理情報が前記データに登録されたときは、前記末端のソフトウェア部品は、前記第一の処理情報を上書きすることを特徴とする請求項10記載のカウンタ更新方法。
  12. 前記データは、当該画像形成装置において入力又は出力されるページごとに生成され、
    前記複数のソフトウェア部品は、ページごとに前記データに処理情報を登録することを特徴とする請求項9乃至11いずれか一項記載のカウンタ更新方法。
  13. 入力されたページを集約して出力するジョブの実行において、
    ページの入力を行うソフトウェア部品は、入力されるページごとの前記データに処理情報を登録し、
    ページの集約を実行するソフトウェア部品は、ページの入力を行うソフトウェア部品によって処理情報が登録されたページごとの前記データを、集約される単位で統合し、
    ページの出力を実行するソフトウェア部品は、統合された前記データに対して処理情報を登録することを特徴とする請求項12記載のカウンタ更新方法。
  14. 入力されたページを複数の出力先に出力するジョブの実行において、
    ページの入力を行うソフトウェア部品は、入力されるページごとの前記データに処理情報を登録し、
    所定のソフトウェア部品は、ページの入力を行うソフトウェア部品によって処理情報が登録されたページごとの前記データの複製を出力先の数だけ生成し、
    一つの出力先に対応したページの出力を実行する一つのソフトウェア部品は、前記所定のソフトウェア部品によって複製された一つの前記データに対して処理情報を登録することを特徴とする請求項12又は13記載のカウンタ更新方法。
  15. 入力されたページを複数部出力するジョブの実行において、
    ページの入力を行うソフトウェア部品は、入力されるページごとの前記データに処理情報を登録し、
    ページの出力を行うソフトウェア部品は、ページの入力を行うソフトウェア部品によって処理情報が登録されたページごとの前記データの複製を出力部数だけ生成することを特徴とする請求項12乃至14いずれか一項記載のカウンタ更新方法。
  16. 前記処理情報に基づいてカウンタの更新条件がカウンタごとに定義された定義情報が記録された記憶手段を有し、
    前記カウンタ更新手順は、前記データに登録されている前記処理情報と前記定義情報との比較に基づいて、カウンタの値を更新することを特徴とする請求項9乃至15いずれか一項記載のカウンタ更新方法。
JP2007262265A 2007-10-05 2007-10-05 画像形成装置及びカウンタ更新方法 Expired - Fee Related JP4895969B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007262265A JP4895969B2 (ja) 2007-10-05 2007-10-05 画像形成装置及びカウンタ更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007262265A JP4895969B2 (ja) 2007-10-05 2007-10-05 画像形成装置及びカウンタ更新方法

Publications (2)

Publication Number Publication Date
JP2009093351A JP2009093351A (ja) 2009-04-30
JP4895969B2 true JP4895969B2 (ja) 2012-03-14

Family

ID=40665296

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007262265A Expired - Fee Related JP4895969B2 (ja) 2007-10-05 2007-10-05 画像形成装置及びカウンタ更新方法

Country Status (1)

Country Link
JP (1) JP4895969B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5381483B2 (ja) * 2009-08-11 2014-01-08 株式会社リコー 画像形成装置、カウンタ管理方法、及びカウンタ管理プログラム
JP5633608B2 (ja) * 2013-08-09 2014-12-03 株式会社リコー 画像形成装置、カウンタ管理方法、及びカウンタ管理プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005229592A (ja) * 2004-01-14 2005-08-25 Ricoh Co Ltd 画像処理システムとその画像処理装置,処理回数処理方法,プログラム,および記録媒体
JP2006094400A (ja) * 2004-09-27 2006-04-06 Fuji Xerox Co Ltd 画像処理装置および画像処理方法
JP2005209213A (ja) * 2005-01-31 2005-08-04 Canon Inc 画像形成装置、情報処理方法、及び制御プログラム
JP2007214609A (ja) * 2006-02-07 2007-08-23 Konica Minolta Business Technologies Inc 画像処理装置

Also Published As

Publication number Publication date
JP2009093351A (ja) 2009-04-30

Similar Documents

Publication Publication Date Title
JP4861883B2 (ja) 画像形成装置及びアプリケーション実行方法
JP4625343B2 (ja) 画像形成装置、端末装置、情報処理方法、情報処理プログラム、及び記録媒体
US8059286B2 (en) System and program product
EP1564601A2 (en) Image forming apparatus, terminal apparatus, information processing method, information processing program and computer readable recording medium
JP2008172725A (ja) 情報処理装置、画像処理装置、情報処理方法及び情報処理プログラム
JP6066006B2 (ja) 画像形成装置
US20090109483A1 (en) Image processing apparatus and application execution method
JP5664692B2 (ja) 電子機器、画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
JP4682777B2 (ja) ジョブ実行装置、並びにコンピュータ・プログラム
CN101877755A (zh) 成像装置和成像系统
JP4895969B2 (ja) 画像形成装置及びカウンタ更新方法
JP4890223B2 (ja) 電子機器、レポート作成方法及びレポート作成プログラム
JP2009267938A (ja) 画像処理装置及びその制御方法、プログラム、記憶媒体
JP2006094217A (ja) サービス実行装置及び方法
JP4974293B2 (ja) 画像形成装置および課金カウント方法
JP2006059337A (ja) 文書管理装置及び画像形成システム
JP2005132023A (ja) 画像処理装置およびカウント処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP6042292B2 (ja) 情報出力装置及び情報出力方法
JP2007058461A (ja) 課金見積もりシステム及び課金見積もり方法、並びにコンピュータ・プログラム
JP4398795B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体
JP4922836B2 (ja) 画像形成装置及びアプリケーション構築方法
JP2004096138A (ja) 画像処理装置および画像処理装置のカウンタ管理方法およびプログラムおよび記憶媒体
JP2007041594A (ja) 画像処理装置の課金方法、画像処理装置の課金システム、画像処理装置の課金装置、画像処理装置、遠隔演算装置
JP2018098544A (ja) 画像形成装置、制御方法およびプログラム
JP4591299B2 (ja) ジョブ実行装置及びジョブ実行方法、並びにコンピュータ・プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100601

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111109

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111122

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111220

R150 Certificate of patent or registration of utility model

Ref document number: 4895969

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150106

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees