印刷装置、印刷管理方法、及び、プログラム
【課題】集計対象期間におけるジョブ履歴の印刷枚数の総和と課金カウンタの増分を一致させて、正確な費用分析並びに課金請求を行える仕組みを提供すること。
【解決手段】コントローラ制御部509は、MFP501で印刷する毎に課金カウンタ記録部511に格納される課金カウンタの値をカウントアップし、印刷ジョブが完了する毎に該印刷ジョブのジョブ履歴をジョブ履歴格納部510に格納する。ジョブ履歴管理アプリケーション503は、予め設定された集計のタイミングにおいて実行中の印刷ジョブを複数のジョブ履歴として分割して管理する構成を特徴とする。
【解決手段】コントローラ制御部509は、MFP501で印刷する毎に課金カウンタ記録部511に格納される課金カウンタの値をカウントアップし、印刷ジョブが完了する毎に該印刷ジョブのジョブ履歴をジョブ履歴格納部510に格納する。ジョブ履歴管理アプリケーション503は、予め設定された集計のタイミングにおいて実行中の印刷ジョブを複数のジョブ履歴として分割して管理する構成を特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プリンタ、複写機等の印刷装置、特に、印刷毎にカウントアップするカウンタを備えた印刷装置の印刷管理に関する。
【背景技術】
【0002】
近年、複写機は原稿をコピーする機能だけではなく、外部のクライアントからの印刷ジョブを印刷する機能、さらにはスキャンした原稿を電子メールやファイル転送の機能を用いて電子的に外部に送信する機能などを持つようになった。このような複写機は、MFP(Multi Function Peripheral;多機能周辺機器)と呼ばれている。
【0003】
このようなMFPの使用に対して課金を行う方法として、カウンタチャージがある。
【0004】
MFPには、1ページ印刷するごとに1増加する課金カウンタがある。課金カウンタとしては、排紙枚数によりカウントアップするものや、排紙の際の枚数ではなく、その1枚の用紙の面数(両面なら1枚で2回カウントアップ)によりカウントアップするものがある。この課金カウンタの単位期間ごとの増分に応じて、MFP供給会社が顧客に請求する費用を決めるものである。課金カウンタの集計は、予め設定された締め日に外部サーバやMFP内の専用アプリケーションによって定期的に収集される。
【0005】
また、MFPの部門や、ユーザごとの使用量を求めるために、ジョブ履歴管理ソフトウェアを用いてジョブ履歴を取得し、使用した部門やユーザごとに使用量を集計し、課金情報を作成することが従来から行われている(特許文献1参照)。
【0006】
そして、近年、経費節減や環境保護を重視する傾向から、費用分担の細分化並びに明確化が求められている。
【0007】
そこで、カウンタチャージの費用をジョブ履歴管理ソフトウェアで算出した部門や、ユーザ毎の使用比率で案分して、実際の使用部門やユーザに費用を再請求したいという要望が出てきた。
【特許文献1】特開2001−350936号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、上述した従来の技術では、課金カウンタの値を取得、確定したタイミングによっては、対象とする期間のジョブ履歴の印刷枚数の総和が、課金カウンタの増分と一致しないことがあった。
【0009】
ここで、対象とする期間のジョブ履歴の印刷枚数の総和が、課金カウンタの増分と一致しない要因は、ジョブ履歴はジョブの完了時点に生成されるが、課金カウンタは紙が排紙されるたびに増加することによるものである。
【0010】
例えば、1ジョブ100ページの文書の印刷が開始され、70ページ排紙された時点でカウンタに対する締め時刻が来ると、排紙が終了した70ページについて、課金カウンタは増加しているが、ジョブは終了していないため、ジョブ履歴には当該ジョブは計上されていない。したがって、課金カウンタの増分とジョブ履歴の総和が70カウントずれることになる。
【0011】
さらに、近年広まりつつある複合機を用いた商業印刷のケースを考える。
【0012】
例えば、複数部数指定を行うことができるデバイスで大量部数印刷を行うケースでは、1ページのチラシを1000部印刷するようなケースが多々あり得る。この場合、上記同様の要因により、課金カウンタの増分とジョブ履歴の総和に、最大999カウントのズレが発生してしまうという課題があった。
【0013】
したがって、本発明の目的は、正確な費用分析並びに課金請求を行うために、集計対象期間におけるジョブ履歴の印刷枚数の総和と課金カウンタの増分を一致させる仕組みを提供することである。
【課題を解決するための手段】
【0014】
本発明は、上記の課題を解決するためになされたもので、印刷ジョブが完了する毎に該印刷ジョブのジョブ履歴を格納するジョブ履歴格納手段と、印刷装置で印刷する毎にカウンタ記録手段に記録されるカウンタ情報をカウントアップするカウントアップ手段と、予め設定された集計のタイミングにおいて実行中の印刷ジョブを複数のジョブ履歴として、分割して管理する管理手段とを有することを特徴とする。
【発明の効果】
【0015】
本発明によれば、集計対象期間におけるジョブ履歴の印刷枚数の総和とカウンタ情報の増分を一致(整合)させることができる。結果として、整合性のとれたジョブ履歴とカウンタ情報に基づいて、正確な費用分析や課金請求を行うことができる。
【発明を実施するための最良の形態】
【0016】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【0017】
<システム構成の説明>
〔第1実施形態〕
以下、本発明の一実施形態について図面を参照しながら説明する。
【0018】
図1は、本実施形態を示す印刷装置の一例を示すブロック図である。また、本実施形態では、印刷装置として、MFPを例とするがプリンタなどであってもよい。
【0019】
図1において、100はMFPである。105はMFP100を制御するコントローラ部である。101はCPUであり、コントローラ部105の制御及び演算処理等を行うものである。
【0020】
102はROMであり、システム起動プログラムの情報等の記憶領域である。103はRAMであり、使用制限のないデータ記憶領域であり、CPU101のワークメモリとして機能する。例えば、RAM103は、CPU101によりオペレーティングシステムや通信制御及びエンジン制御などのプログラムがロードされたり、該プログラムの実行時にデータが記憶されたりする領域である。
【0021】
104は不揮発性記憶装置(HD部)で、例えばハードディスク(HD)あるいはSRAMなどで構成される。
【0022】
106はスキャナであり、原稿台に載置される原稿画像を光学的に画像読み取り、RAM103上に転送する。
【0023】
107はプリンタであり、コントローラ部105の制御のもとで印刷動作を行う。プリンタ107は、通信部109を介して情報処理装置から受信する印刷ジョブを解析して生成された印刷データ、あるいはスキャナ106から読み取られる画像データを印刷する機能を備える。なお、プリンタ107或いはスキャナ106は、オプションデバイスを接続可能に構成されている。例えばプリンタ107の場合には、両面ユニット、シート後処理ユニット等であり、スキャナ106であれば、ADF、RDF等である。
【0024】
108はUI部であり、ユーザからの指示を受け付けたり、或いは、スキャナ106,プリンタ107の状態や設定情報を表示したりするためのタッチパネルと、キー入力部とを備える。
【0025】
通信部109は、ネットワーク通信制御を行うものであり、ネットワークを介して他のデバイスやコンピュータとの通信が可能である。110はシステムバスであり、上述の構成要素間のデータの通路となるべきものである。
【0026】
図2は、図1に示したMFP100のソフトウェアの構成を説明するブロック図である。
【0027】
図2において、201〜209はMFP100で動作するソフトウェアである。このソフトウェア201〜209は、MFP100の起動時にCPU101がHD部104等に格納されるプログラムを読み出してRAM103にロード/実行することにより実現される。以下、各ソフトウェアについて説明する。
【0028】
201はオペレーティングシステム(OS)であり、MFP全体の資源を管理/制御する。202はAPI−1であり、OS201上で動作するアプリケーションのためのインタフェースとして機能する。OS201上で動作するアプリケーションは、インタフェースAPI−1を通じて、MFP100上のリソースにアクセスしたり、CPU101でコマンドを実行したりすることができる。
【0029】
205はコントローラ制御部で、OS201上で動作して、スキャナ106、プリンタ107、UI部108などを制御する。
【0030】
204はリソース管理部であり、コントローラ制御部205、後述する仮想マシン206、仮想マシン206上の全アプリケーションがメモリ等のリソース資源を使用する際、予め決められた以上の資源が使用できないように制限するものである。
【0031】
仮想マシン206は、特定のアプリケーションを実行するために最適な実行環境であり、例えばJava(登録商標)の仮想マシン等に相当する。
【0032】
207はAPI−2であり、仮想マシン206上で動作するアプリケーション209が、コントローラ制御部205、リソース管理部204、API−1202などを利用するためのインタフェースとして機能する。
【0033】
208はアプリケーション管理アプリケーションであり、仮想マシン206上で動作するアプリケーション209を管理する。具体的には、アプリケーション管理アプリケーション208は、アプリケーション209のダウンロード、アップロード、消去、有効無効化を行う。
【0034】
以下、図3〜図5を参照して、図1に示したUI部108の構成を説明する。
【0035】
図3は、図1に示したUI部108が備えるキー入力部を説明する図である。
【0036】
図4は、図1に示したUI部108が備えるタッチパネルに表示されるユーザインタフェースの一例を示す図である。
【0037】
図3において、300はキー入力部であり、ハードキーによりユーザ操作を受付可能である。
【0038】
301はON/OFFボタンであり、電源スイッチとして機能する。302は節電キーであり、本ボタンが押されると節電モードに移行する。ここで、節電モードとは、一部の部品への電源供給を停止することで機器全体の電力消費を抑える状態のことを示す。
【0039】
303はカウンタ確認キーであり、このボタンが押されると、HD部104に保存されているカウンタ情報、ジョブ履歴等の情報に基づいて算出される課金カウンタの値がタッチパネル400に表示される。ここで、図5を用いて課金カウンタの値の表示について説明する。
【0040】
図5は、図1に示したUI部108のタッチパネルに表示される課金カウンタの値の表示例を示す図である。
【0041】
図5に示すように、カウンタ値の表示は、カウンタ種別と該カウンタ種別に対応するカウンタ値が表示される。「トータル」のカウンタ値は、MFP100が設置されてから現在までに排紙された枚数を示す。また、「白黒トータル」のカウンタ値は、上記「トータル」のうちの白黒印刷で排紙された枚数を示す。また、「カラートータル」のカウンタ値は、上記「トータル」のうちの白黒印刷以外で排紙された枚数を示す。
【0042】
以下、図3の説明に戻る。
【0043】
304はスタートキーであり、コピー/印刷/スキャン/送信などのMFP100が提供する処理の開始を指示する場合に押下される。305はストップキーであり、スタートキー304で開始したジョブを停止する場合に押下される。
【0044】
306はテンキーであり、数値情報を入力する場合に押下される。307はIDキーであり、認証情報の入力を行うことを指示する場合に押下される。308はクリアキーであり、テンキー306によって入力された情報を解除する場合に押下される。
【0045】
309はリセットキーであり、ユーザによって処理対象のジョブに指示されたすべてのパラメータを解除する場合に押下される。
【0046】
310はヘルプキーであり、操作方法が不明なときにユーザが押すものであり、操作の助けとなる情報を表示する場合に押下される。311はユーザモードキーであり、各種設定を開始する場合に押下される。
【0047】
図4において、400はタッチパネルであり、表示及び画面上に表示される領域をユーザが押下することにより、ユーザ操作を受け付けることができる。
【0048】
401はコピーボタンであり、複写動作を行う場合に押すボタンである。402は送信ボタンであり、送信処理を行う場合に押すボタンである。403はボックスボタンであり、ボックス機能に関する処理を行う場合に押すボタンである。
【0049】
404は拡張キーであり、拡張機能(例えば図2のアプリケーション209)に関する画面を表示する場合に押すキーである。405は色選択リストボックスであり、自動選択、カラー、白黒などいずれかを選択する。
【0050】
406はステータス表示欄であり、ユーザに伝えたい情報を表示する。ここでは例として、コピー可否、倍率、用紙選択法、部数を表示している。407は等倍ボタンであり、等倍コピーを指示する。408は倍率ボタンで、画像形成する倍率を指定するためのボタンである。
【0051】
409は用紙選択ボタンであり、用紙の給紙元を指定するボタンである。410は仕上げボタンであり、ソート実効有無、フィニッシングなどを指定するボタンである。
【0052】
411は両面ボタンであり、原稿スキャン、印刷をそれぞれ片面又は両面のどちらにするかを指定するボタンである。412は割り込みボタンであり、現在実行中のジョブを中断して、新規のジョブを投入できるようにするボタンである。
【0053】
413は濃度調整ボタンで、濃度調整ボタン413を指示することで、スライドバーSBの表示が移動して、印刷濃度のレベル調整することができる。414はスキャンする原稿の属性を指定するボタンであり、例えば、原稿属性を、文字向け、写真向け、地図向けといった切り替えを行えるように構成されている。
【0054】
415は応用モードボタンであり、表紙や合紙などの設定、製本の指定、OHP中差しの設定、とじしろの大きさ等の複雑な指示を行う場合に押下される。
【0055】
416はシステム状況表示ボタンであり、MFPを構成する各コンポーネントの状態や、MFPに記録しているジョブ履歴情報を表示することができる。
【0056】
図6は、本実施形態を示すMFPを適用可能なシステムの一例を示す図である。本例では、MFPとネットワークを介して接続されるクライアントPC、及びMFPの仮想マシン上で動作する本実施形態のアプリケーションの構成を示す。
【0057】
図6において、501はMFPであり、図1に示したMFP100に対応する。MFP501において、502は仮想マシンであり、図2に示した仮想マシン206に対応する。503はジョブ履歴管理アプリケーションで、図2に示したアプリケーション209の具体例である。また、509はコントローラ制御部であり、図2に示したコントローラ制御部205に対応する。
【0058】
即ち、仮想マシン502、ジョブ履歴管理アプリケーション503、コントローラ制御部509は、MFP501の起動時にCPU101がHD部104に格納されたプログラムをRAM103にロード/実行することにより実現される。
【0059】
コントローラ制御部509は、ジョブの実行をはじめとするMFP501を制御するための様々な処理を行う。例えば、コントローラ制御部509は、ジョブ実行中には、排紙が完了するたびに課金カウンタ記録部511に総排紙数を積算し、記録する(即ち、MFP501で印刷する毎に課金カウンタ記録部511に格納される課金カウンタの値をカウントアップする)。また、コントローラ制御部509は、ジョブが完了したら、ジョブ履歴格納部510にジョブ履歴を記録する。
【0060】
なお、ジョブ履歴格納部510、課金カウンタ記録部511は、不揮発性の記憶媒体(HD部104)内の記憶領域として構成され、コントローラ制御部509の制御の下で実行されるジョブ処理状態に応じて順次内容が更新されていく。
【0061】
ジョブ履歴管理アプリケーション503において、504はジョブ履歴収集部であり、定期的にあるいはジョブ履歴が発生するたびにジョブ履歴格納部510からジョブ履歴を収集して、データ保持部505に記録する。
【0062】
データ保持部505は、ジョブ履歴や、集計タイミングで課金カウンタ記録部511から取得された課金カウンタの値等を保持するものであり、不揮発性の記憶媒体(HD部104)内の記憶領域として構成される。なお、データ保持部505は、コントローラ制御部509からもアクセス可能に構成されている。
【0063】
506は集計部で、定期的に、例えば月に一回、予め定められた時刻に、データ保持部505に保持される課金カウンタを取得、及びジョブ履歴を走査し、ユーザごとの対象期間の印刷ページ数(以下集計表とする)を算出する。ここで、予め定められた時刻は、UI部108で直接設定される場合(収集タイミング)と、ネットワークを介してクライアントPC512より設定される場合とを含む。
【0064】
507はUI部で、ユーザからの入力要求に応じて、ジョブ履歴や課金カウンタ値、ユーザ毎の集計結果をタッチパネル400に表示する。508は通信部で、ユーザがクライアントコンピュータで操作するウェヴブラウザ等からの要求に応えるものである。通信部508は、要求に応じて、ジョブ履歴、課金カウンタ値、集計表をHTML(Hyper Text Markup Language)形式に変換して送出する。もちろん、HTML以外の形式、例えばXML形式であってもCSV形式等に変換して送出してもよい。ここで、集計表には締めの日時、所定の集計の期間におけるジョブ履歴と課金カウンタの値などが記載される。また集計表は、ジョブ履歴及びカウンタ情報を締め日に基づき収集した外部装置により生成されてもよい。
【0065】
512はクライアントPCであり、ユーザはアプリケーションを操作し、MFP501に印刷を行ったり、インターネットブラウザを使用して、ジョブ履歴、集計表を参照したりすることが可能である。なお、上述の構成はあくまでもシステムの一例である。
【0066】
したがって、MFP501がプリンタで構成されていてもよい。また、インタフェースバスは、物理的な通信媒体であってもよいし、ソフトウェア的に構成されるメッセージ通信のための論理インタフェースで構成されていてもよい。
【0067】
また、前述の各機能ブロックは、プログラムをCPUにより実行することにより、各機能を実行しても良いし、ハードウェアの回路で実装されていてもよい。
【0068】
また、ジョブ履歴管理アプリケーション503やコントローラ制御部509により提供される図8,図12,図16に示した機能を、MFP501と接続される情報処理装置(印刷管理装置)内に設けるように構成してもよい。
【0069】
図7は、図6に示したUI部507が表示するユーザインタフェースである集計タイミング設定画面の一例を示す図である。本例は、カウンタ締め設定のダイアログの例である。
【0070】
図7において、601は集計日を指定するリストボックスである。602は集計時刻を設定するリストボックスである。603はOKボタンであり、設定の更新と終了を指示する。604はキャンセルボタンであり、設定の更新のない終了を指示する。
【0071】
なお、図7に示す表示例では、リストボックス601に「20」、リストボックス602に「17:00」が指定されているので、集計タイミングとして毎月20日の17時に図8に示すカウンタ締め処理を行うことが指定されている。
【0072】
以下、フローチャートを参照して本発明のカウンタ締め処理について説明する。
【0073】
図8は、本実施形態を示す印刷装置における第1のデータ処理手順の一例を示すフローチャートであり、予め設定された締め日時にコントローラ制御部509によるカウンタ締め処理の一例に対応する。即ち、このフローチャートの処理は、CPU101がHD部104等からプログラムをRAM103にロードして実行することで実現される。なお、S701〜S709は各ステップを示す。
【0074】
まず、図7に示した集計設定画面で指定されている集計タイミング(締め日時)となると、コントローラ制御部509は、本フローチャートの処理を開始する。
【0075】
S701において、コントローラ制御部509は、RAM103のワーク上のジョブ管理テーブルで管理されているMFP501が実行中のジョブの一覧を取得する。ここで、コントローラ制御部509が取得した情報の一部の一例を図9に示す。ここでは、現在のジョブID、ジョブタイプ、ステータスを取得した例を表形式で示す。なお、ジョブIDは、ジョブを一意に特定するための識別情報である。
【0076】
次に、S702で、コントローラ制御部509は、S701において取得した実行中のジョブの全てに一時停止命令を発行する。これにより、ジョブ情報の中のステータスは、「一時停止」状態に遷移する。
【0077】
次に、S703において、全てのジョブが一時停止したかをコントローラ制御部509が判定し、実行中のジョブがあるなどで、まだ全てのジョブが一時停止していないとコントローラ制御部509が判定した場合は、S704に処理を進める。
【0078】
そして、S704では、コントローラ制御部509は、一定時間、例えば1秒程度ウエイト(待機)し、S703に処理を戻す。
【0079】
一方、S703において、全てのジョブが一時停止しているとコントローラ制御部509が判定した場合は、S705に処理を進める。
【0080】
次に、S705では、コントローラ制御部509は、RAM103で管理しているジョブ情報であって、ステータスが「一時停止」状態のジョブ情報を取得する。
【0081】
ここで、ジョブ履歴収集部504が取得したジョブ情報の一例を図10に示す。
【0082】
図10は、図6に示したジョブ履歴収集部504が取得するジョブ情報の一例を示す図である。なお、終了時刻は、未定であるため、図中では、「−」で示す。
【0083】
図10に示すジョブ情報では、項目として、ジョブID、ステータス、開始時刻、終了時刻、ユーザ名、部門名、文書名、論理面数、用紙サイズ、排紙枚数、面数、ページレイアウト、カラーモード、印刷面を備える。ここで論理面数はジョブに設定されているページ数を示す。また、面数は片面なら排紙1枚につき1カウントアップされ、両面なら排紙1枚につき2カウントアップされる。
【0084】
以下、図8のフローチャートの説明に戻る。
【0085】
S706において、コントローラ制御部509は、S705で取得したジョブ情報(ジョブの実行情報)をジョブ履歴としてデータ保持部505に記録する。この際、ジョブの終了時刻を現在時刻とするものとする。また、コントローラ制御部509は、ジョブ履歴をデータ保持部505に記録する際には、ジョブ履歴記録番号というシリアルに増加する番号をジョブ履歴に付けるものとする。詳細は後述するが、ジョブ履歴格納部510に記録されるジョブ履歴も同様の番号を持つので、識別のため、ジョブ履歴格納部510内の番号をジョブ履歴記録番号Aとし、データ保持部505内の番号をジョブ履歴記録番号Bとする。データ保持部505に記録したジョブ履歴の例を図11に示す。また、コントローラ制御部509は、データ保持部505に登録したジョブ履歴のジョブID(本例では、「1234」)を先行登録ジョブリストとして、データ保持部505に記録しておく。
【0086】
次に、S707において、全ての一時停止中ジョブを処理したかコントローラ制御部509が判定し、一時停止中ジョブにまだ処理をしていないものがあると判定した場合には、S705に処理を戻し、次の一時停止中のジョブに処理対象を移す。
【0087】
一方、S707において、全ての一時停止中ジョブを処理したと判定した場合には、コントローラ制御部509は、S708に処理を進める。
【0088】
S708では、コントローラ制御部509は、課金カウンタ記録部511で管理している課金カウンタの値を取得して、データ保持部505に記録する。
【0089】
そして、S709において、コントローラ制御部509は、S702で一時停止した全てのジョブを再開させて、本フローチャートの処理を終了する。
【0090】
以上示したようなカウンタ締め処理により、締め日時(集計タイミング)を跨いで処理されるジョブであっても、締め日時までに処理された内容からジョブ履歴(1/2)を生成し(第1の生成)、データ保持部505に登録できる。
【0091】
なお、上記S709で再開されたジョブは、ジョブが完了すると、そのジョブ履歴が、コントローラ制御部509によりジョブ履歴格納部510に格納されることとなる。即ち、ジョブ履歴格納部510では、1つの印刷ジョブのジョブ履歴は分割されず1つのジョブ履歴として格納される。このタイミングで、ジョブ履歴管理アプリケーション503は、このジョブ履歴をジョブ履歴格納部510から読み込み、図8のS706で分割されてデータ保持部505に登録されたジョブ履歴の後半のジョブ履歴ジョブ履歴(2/2)を生成し(第2の生成)、データ保持部505に登録する。
【0092】
以下、図12のフローチャートを参照して、上記ジョブ履歴管理アプリケーション503の処理について説明する。
【0093】
図12は、本実施形態を示す管理装置における第2のデータ処理手順の一例を示すフローチャートであり、ジョブ履歴管理アプリケーション503が分割されてデータ保持部505に登録されたジョブ履歴の後半のジョブ履歴を生成して登録するものである。即ち、このフローチャートの処理は、CPU101がHD部104等からプログラムをRAM103にロードして実行することで実現される。なお、S901〜S907は各ステップを示す。
【0094】
ジョブ履歴管理アプリケーション503は、自らがデータ保持部505に登録していないジョブ履歴がジョブ履歴格納部510に記録されたことを検知すると、本フローチャートの処理を開始する。なお、検知方法としては、コントローラ制御部509によって新たなジョブ履歴がジョブ履歴格納部510に記録される度に、コントローラ制御部509通知が受けられるようコントローラ制御部509に依頼をしておいてもよい。また、ジョブ履歴管理アプリケーション503がポーリングにより(即ち定期的にジョブ履歴格納部510を参照することにより)新たなジョブ履歴がジョブ履歴格納部510に記録されたことを検知するようにしてもよい。
【0095】
まず、S901において、ジョブ履歴管理アプリケーション503のジョブ履歴収集部504は、データ保持部505に未登録のジョブ履歴の全てをジョブ履歴格納部510からジョブ履歴リストとして取得する。なお、データ保持部505に未登録ジョブの判別方法としては、ジョブ履歴記録番号Aを利用する方法がある。
【0096】
具体的には、ジョブ履歴記録番号Aは数値であり、ジョブ履歴格納部510にジョブ履歴が記録されるたびにコントローラ制御部509の処理でインクリメントされ、ジョブ履歴と共にジョブ履歴格納部510に記録される。なお、データ保持部505にジョブ履歴を記録する際には、ジョブ履歴記録番号Bが用いられる(図8のS706)。
【0097】
なお、ジョブ履歴収集部504は、データ保持部505にジョブ履歴を登録する際に、どのジョブ履歴記録番号Aまでをデータ保持部505に登録したかを、データ保持部505に記録しておくものとする。
【0098】
よって、ジョブ履歴収集部504は、データ保持部505に記録しているジョブ履歴の最新ジョブ履歴記録番号Bと、ジョブ履歴格納部510に格納されているジョブ履歴管理番号Aを比較すれば、差分を算出することができる。
【0099】
そして、ジョブ履歴収集部504は、上記算出した差分に基づいてジョブ履歴格納部510に格納されているジョブ履歴を取得する。
【0100】
次に、S902において、ジョブ履歴収集部504は、S901で取得したジョブ履歴リストから、ジョブ履歴を一つ取り出す。このジョブ履歴の例を図13に示す。
【0101】
図13は、図6に示した集計部506が取り出すジョブ履歴の一例を示す図である。
【0102】
図13に示すジョブ履歴では、ジョブID[1234]が、一時停止した後、S709で再開され、正常に終了したため、ステータスが「一時停止後正常終了」となった状態を示している。また、排紙枚数が「100」となった状態を示している。
【0103】
次に、S903において、ジョブ履歴収集部504は、S902で取り出したジョブ履歴が、図8に示したS706でデータ保持部505に登録された先行登録ジョブリストに存在するか判定する。本実施形態では、判定基準として、S902で取り出したジョブ履歴のジョブIDが先行登録ジョブリスト内にあるかを用いることができる。
【0104】
ここで、S902で取り出したジョブ履歴が、図8に示したS706の先行登録ジョブリストに存在すると判定した場合には、ジョブ履歴収集部504は、S904へ処理を進め、一方、先行登録ジョブリストに存在しないと判定した場合には、S906へ処理を進める。
【0105】
S904では、ジョブ履歴収集部504は、S706でデータ保持部505に登録された先行登録ジョブリストから、該当する先行ジョブのジョブIDを特定し、データ保持部505からそのジョブIDのジョブ履歴を取得する。
【0106】
次に、S905において、ジョブ履歴収集部504は、ジョブ履歴の排紙枚数、面数(ページ数)について、S902で取り出されたジョブ履歴からS904でデータ保持部505から取得したジョブ履歴で対応する分を減ずる処理(減算処理)を行う。例えば、S902で取り出したジョブ履歴の状態を図13とし、S904で取得した先行登録ジョブのジョブ履歴の状態を図10とすると、S905の減算処理は「100−70」となり、ジョブ履歴の印刷枚数は「30」となる。なお、面数についても同様とする。
【0107】
そして、S906において、ジョブ履歴収集部504は、S902で取り出されS905で減算されたジョブ履歴をデータ保持部505へ登録する。なお、ここで登録したジョブ履歴と先行ジョブ履歴が一つの実行ジョブが分割されたものであることが分かるように、例えば「正常終了」の場合、それぞれのステータスを「正常終了(1/2)」,「正常終了(2/2)」にジョブ履歴収集部504が変更してもよい。
【0108】
なお、S903でNoと判定されてそのままS906を実行する場合には、ジョブ履歴収集部504は、S906において、S902で取り出したジョブ履歴をそのままデータ保持部505へ登録する。
【0109】
次に、S907において、ジョブ履歴収集部504は、S901で取得した全てのジョブ履歴リストのジョブ履歴を処理したか判定し、まだ未処理のジョブ履歴があると判定した場合には、S902に処理を戻し、次ぎのジョブ履歴に処理対象を移す。
【0110】
一方、S907で、S901で取得した全てのジョブ履歴リストのジョブ履歴を処理したと判定した場合には、ジョブ履歴収集部504は、本フローチャートの処理を終了される。
【0111】
以上示した処理により、締め日時(集計タイミング)を跨いで処理されるジョブであっても、締め日時からジョブ終了までに処理された内容を分割してジョブ履歴(2/2)としてデータ保持部505に登録できる。
【0112】
よって、集計対象期間におけるジョブ履歴の印刷枚数の総和と課金カウンタの値の増分を一致(整合)させることができる。
【0113】
図14は、データ保持部505に登録されたジョブ履歴リストの一例を示す図である。本例は、図8に示したS706、図12に示したS906で記録したジョブ履歴を含むジョブ履歴一覧に対応する。また、本例では、ジョブ履歴の項目は、本発明に関わる部分を抜粋して示すものとする。
【0114】
図14において、ジョブ履歴番号は、ジョブ履歴を記録するたびに増加させるシリアル番号であり、上述したジョブ履歴番号Bに対応する。
【0115】
ジョブIDは、実行ジョブを一意に特定できるものである。ジョブ履歴番号「11234」,「11235」のジョブ履歴については、いずれもジョブIDは「1234」であり、実行ジョブとしては同じものであったことがわかる。
【0116】
また、ジョブ履歴番号「11234」のジョブ履歴は、図8に示したS706で先行登録されたジョブ履歴の例である。ジョブ履歴番号「11235」のジョブ履歴は、図12に示したS906で登録されたジョブ履歴の例である。
【0117】
また、ジョブ履歴番号「11234」,「11235」のジョブ履歴のステータスにおいて、それぞれ「正常終了(1/2)」、「正常終了(2/2)」とカッコ付になっているのは、一つの実行ジョブが分割されたことを示している。
【0118】
なお、ジョブ履歴番号「11232」のジョブ履歴では、ステータスが「STOP」となっているが、これはキヤンセルなど途中でジョブを停止したことを示している。
【0119】
以上示したように、集計タイミングにおいて実行中のジョブを考慮して、ジョブ履歴とカウンタ情報とを整合させてデータ保持部505に格納することができる。
【0120】
そして、このようにデータ保持部505に格納されたジョブ履歴と課金カウンタの値(整合されたジョブ履歴と課金カウンタの値)に基づいて、集計部506が集計処理を行って、正確な集計処理、費用分析、及び課金請求等を行うことができる。
【0121】
〔第2実施形態〕
上記第1実施形態では、上述した図8に示したカウンタ締め処理を、図7に示した集計タイミング設定画面から設定されたカウンタの集計日時になる毎に実行する場合について説明したが、指定された時間間隔で実行する構成としてもよい。例えば、30分毎に実行する構成としてもよい。
【0122】
また、上記第1実施形態において図7に示した集計タイミング設定画面の例では、集計タイミングが、1カ月に1回であったが、1時間に1回、即ち、毎時のx分(xは0から59)になることを集計タイミングとするように構成してもよい。
【0123】
図15は、本発明の第2実施形態における集計タイミング設定画面の一例を示す図である。
【0124】
図15において、1301はジョブ履歴を取得する毎時の分を指定するリストボックスである。1302はOKボタンであり、設定の更新と終了を指示する。1303はキャンセルボタンであり、設定の更新のない終了を指示する。
【0125】
なお、図15に示す表示例では、リストボックス1301に「05」が指定されているので、毎時5分に図8に示すカウンタ締め処理を行うことが指定されている。本設定を行うと、単位時間内の排紙頁数をより正確に把握することが可能になる。
【0126】
なお、図15に示した例では、1時間に1回、設定されたカウンタの集計分になる毎にカウンタ締め処理を実行する場合について説明したが、1日に1回、毎日のx時(xは0から23)になることをトリガにしてカウンタ締め処理を実行するようにしてもよい。
【0127】
〔第3実施形態〕
上記第1、第2実施形態では、ジョブを一時停止することにより、ジョブ履歴を分割する構成を説明した。本実施形態では、ジョブの一時停止を行わずにジョブ履歴を分割する構成について説明する。
【0128】
本実施形態では、コントローラ制御部509は、図8に示したカウンタ締め処理では、S706の処理のみを実行するものとする。即ち、コントローラ制御部509は、図7又は図15に示した集計設定画面で指定されているタイミング(締め日時)となると、課金カウンタ記録部511で管理している課金カウンタの値を取得して、データ保持部505に記録する(図8のS708)。
【0129】
このように、予め設定された締め日時に、コントローラ制御部509によるカウンタ締め処理を行うことで、締め日時までの課金カウンタの値をデータ保持部505に保存することができる。
【0130】
なお、コントローラ制御部509は、ジョブが完了すると、そのジョブ履歴をジョブ履歴格納部510に格納する。即ち、締め日時(集計タイミング)を跨いで実行されたジョブであっても、ジョブ履歴格納部510では1つのジョブ履歴として格納される。
【0131】
なお、ジョブ履歴管理アプリケーション503のジョブ履歴収集部504は、定期的に或いは上述したようにジョブ履歴がジョブ履歴格納部510に格納されるたびに、ジョブ履歴格納部510からジョブ履歴を収集してデータ保持部505に登録する。この際、ジョブ履歴収集部504は、締め日時(集計タイミング)を跨いで実行されたジョブについては分割してデータ保持部505に登録するものとする。このジョブ履歴格納部510の処理を図16に示す。
【0132】
図16は、本実施形態を示す管理装置における第3のデータ処理手順の一例を示すフローチャートであり、ジョブ履歴管理アプリケーション503によるジョブ履歴の取得処理に対応する。即ち、このフローチャートの処理は、CPU101がHD部104等からプログラムをRAM103にロードして実行することで実現される。なお、S1401〜S1407は各ステップを示す。なお、ここでは、図15に示した集計タイミング設定画面において、分ではなく、時刻を設定するものとする。例えば、図15に示すダイアログで、ユーザによりx時刻が指定されていたとし、x時刻(x:00)を集計時刻の区切り時刻(集計タイミング)とする。なお、xは、現在「16」時が設定されているとして説明する。
【0133】
まず、S1401において、ジョブ履歴収集部504は、まだデータ保持部505に格納していないジョブ履歴をジョブ履歴リストとしてジョブ履歴格納部510から取得する。
【0134】
次に、S1402において、ジョブ履歴収集部504は、S1401で取得したリストからジョブ履歴を1つ取り出す。
【0135】
次に、S1403において、ジョブ履歴収集部504は、S1402で取り出したジョブ履歴の開始時刻と終了時刻との間に、設定された区切り時刻(集計タイミング)が含まれるか判定する。
【0136】
例えば、時分のみに注目すると、S1402で取り出したジョブ履歴の開始時刻が「15:30」で終了時刻が「16:20」分、区切り時刻が「16:00」であれば、開始時刻である「15:30」と終了時刻である「16:30」の間に区切り時刻「16:00」が含まれる。
【0137】
ここで、設定された区切り時刻が含まれていると判定した場合には、ジョブ履歴収集部504は、S1404に処理を進める。
【0138】
S1404では、ジョブ履歴収集部504は、当該ジョブ履歴の排紙枚数、論理面数(ページ数)を下記の(1)式、(2)式で按分し、ジョブ履歴を分割した排紙枚数、論理面数を集計部506が算出する。なお、(1)式の少数点は切り捨てるものとする。また、下記には排紙枚数を按分する式のみを記載しているが論理面数の按分も同様とする。
【0139】
第1のジョブ履歴の排紙枚数=ジョブの全排紙枚数×(開始時刻から区切り時刻までの所要時間)÷(ジョブの全所要時間) ・・・(1)
第2のジョブ履歴の排紙枚数=ジョブの全排紙枚数−第1のジョブ履歴の排紙枚数 ・・・(2)
即ち、集計タイミングにおいて実行中であった印刷ジョブのジョブ履歴を、印刷ジョブの開始から集計タイミングまでの時間と、集計タイミングから印刷ジョブの終了までの時間の比率に応じて按分する。
【0140】
例えば、ジョブ履歴の開始時刻が「15:30」、終了時刻が「16:20」、排紙枚数が「100」、面数が「100」、区切り時刻が「16:00」であれば、上記(1),(2)式より、第1のジョブ履歴の排紙枚数は「50」、第2のジョブ履歴の排紙枚数は「50」と算出される。また同様に、第1のジョブ履歴の面数は「50」、第2のジョブ履歴の面数は「50」と算出される。なお、ジョブ履歴収集部504は、第1のジョブ履歴の終了時刻を区切り時刻(集計タイミング)とし、第2のジョブ履歴の開始時刻を区切り時刻(集計タイミング)とする。
【0141】
次に、S1405において、ジョブ履歴収集部504は、第1のジョブ履歴、第2のジョブ履歴をデータ保持部505に記録して、S1407へ処理を進める。
【0142】
一方、S1403で設定された区切り時刻が含まれていないと判定した場合には、ジョブ履歴収集部504は、S1402で取り出したジョブ履歴をそのままデータ保持部505に記録する。
【0143】
そして、S1407において、ジョブ履歴収集部504は、S1401で取得した全てのジョブ履歴を処理したか判定する。
【0144】
S1407において、まだ未処理のジョブ履歴があると判定した場合には、ジョブ履歴収集部504は、S1401に処理を戻し、次のジョブ履歴に処理対称を移行させる。
【0145】
一方、S1407において、S1401で取得した全てのジョブ履歴を処理したと判定した場合には、ジョブ履歴収集部504は、本フローチャートの処理を終了させる。
【0146】
上記の処理を行うことにより、締め日時(収集タイミング)を跨いで実行されるジョブであっても、ジョブを停止することなく、そのジョブ履歴を課金カウンタに対応するように分割して記録することが可能となる。
【0147】
以上示したように、集計対象期間におけるジョブ履歴の印刷枚数等の総和と、課金カウンタの増分を一致させて、正確な費用分析並びに課金請求を行うことを可能とする。
【0148】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【0149】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0150】
以下、図17に示すメモリマップを参照して本発明に係る印刷装置で読み取り可能なデータ処理プログラムの構成について説明する。
【0151】
図17は、本発明に係る印刷装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【0152】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0153】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0154】
本実施形態における図8、図12、図16に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0155】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0156】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0157】
したがって、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0158】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
【0159】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0160】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、若しくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
【0161】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0162】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部又は全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0163】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0164】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。
【0165】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【0166】
なお、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【図面の簡単な説明】
【0167】
【図1】本実施形態を示す印刷装置の一例を示すブロック図である。
【図2】図1に示したMFP100のソフトウェアの構成を説明するブロック図である。
【図3】図1に示したUI部108が備えるキー入力部を説明する図である。
【図4】図1に示したUI部108が備えるタッチパネルに表示されるユーザインタフェースの一例を示す図である。
【図5】図1に示したUI部108のタッチパネルに表示される課金カウンタの値の表示例を示す図である。
【図6】本実施形態を示すMFPを適用可能なシステムの一例を示す図である。
【図7】図6に示したUI部507が表示するユーザインタフェースである集計タイミング設定画面の一例を示す図である。
【図8】本実施形態を示す印刷装置における第1のデータ処理手順の一例を示すフローチャートである。
【図9】コントローラ制御部509が取得した情報の一部の一例を示す図である。
【図10】図6に示したジョブ履歴収集部504が取得するジョブ情報の一例を示す図である。
【図11】データ保持部505に記録したジョブ履歴の例を示す図である。
【図12】本実施形態を示す管理装置における第2のデータ処理手順の一例を示すフローチャートである。
【図13】図6に示した集計部506が取り出すジョブ履歴の一例を示す図である。
【図14】データ保持部505に登録されたジョブ履歴リストの一例を示す図である。
【図15】本発明の第2実施形態における集計タイミング設定画面の一例を示す図である。
【図16】本実施形態を示す管理装置における第3のデータ処理手順の一例を示すフローチャートである。
【図17】本発明に係る印刷装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【0168】
101 CPU
102 ROM
103 RAM
104 HD部
501 MFP
502 仮想マシン
503 ジョブ管理アプリケーション
504 ジョブ履歴収集部
505 データ保持部
506 集計部
510 ジョブ履歴格納部
511 課金カウンタ記録部
【技術分野】
【0001】
本発明は、プリンタ、複写機等の印刷装置、特に、印刷毎にカウントアップするカウンタを備えた印刷装置の印刷管理に関する。
【背景技術】
【0002】
近年、複写機は原稿をコピーする機能だけではなく、外部のクライアントからの印刷ジョブを印刷する機能、さらにはスキャンした原稿を電子メールやファイル転送の機能を用いて電子的に外部に送信する機能などを持つようになった。このような複写機は、MFP(Multi Function Peripheral;多機能周辺機器)と呼ばれている。
【0003】
このようなMFPの使用に対して課金を行う方法として、カウンタチャージがある。
【0004】
MFPには、1ページ印刷するごとに1増加する課金カウンタがある。課金カウンタとしては、排紙枚数によりカウントアップするものや、排紙の際の枚数ではなく、その1枚の用紙の面数(両面なら1枚で2回カウントアップ)によりカウントアップするものがある。この課金カウンタの単位期間ごとの増分に応じて、MFP供給会社が顧客に請求する費用を決めるものである。課金カウンタの集計は、予め設定された締め日に外部サーバやMFP内の専用アプリケーションによって定期的に収集される。
【0005】
また、MFPの部門や、ユーザごとの使用量を求めるために、ジョブ履歴管理ソフトウェアを用いてジョブ履歴を取得し、使用した部門やユーザごとに使用量を集計し、課金情報を作成することが従来から行われている(特許文献1参照)。
【0006】
そして、近年、経費節減や環境保護を重視する傾向から、費用分担の細分化並びに明確化が求められている。
【0007】
そこで、カウンタチャージの費用をジョブ履歴管理ソフトウェアで算出した部門や、ユーザ毎の使用比率で案分して、実際の使用部門やユーザに費用を再請求したいという要望が出てきた。
【特許文献1】特開2001−350936号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、上述した従来の技術では、課金カウンタの値を取得、確定したタイミングによっては、対象とする期間のジョブ履歴の印刷枚数の総和が、課金カウンタの増分と一致しないことがあった。
【0009】
ここで、対象とする期間のジョブ履歴の印刷枚数の総和が、課金カウンタの増分と一致しない要因は、ジョブ履歴はジョブの完了時点に生成されるが、課金カウンタは紙が排紙されるたびに増加することによるものである。
【0010】
例えば、1ジョブ100ページの文書の印刷が開始され、70ページ排紙された時点でカウンタに対する締め時刻が来ると、排紙が終了した70ページについて、課金カウンタは増加しているが、ジョブは終了していないため、ジョブ履歴には当該ジョブは計上されていない。したがって、課金カウンタの増分とジョブ履歴の総和が70カウントずれることになる。
【0011】
さらに、近年広まりつつある複合機を用いた商業印刷のケースを考える。
【0012】
例えば、複数部数指定を行うことができるデバイスで大量部数印刷を行うケースでは、1ページのチラシを1000部印刷するようなケースが多々あり得る。この場合、上記同様の要因により、課金カウンタの増分とジョブ履歴の総和に、最大999カウントのズレが発生してしまうという課題があった。
【0013】
したがって、本発明の目的は、正確な費用分析並びに課金請求を行うために、集計対象期間におけるジョブ履歴の印刷枚数の総和と課金カウンタの増分を一致させる仕組みを提供することである。
【課題を解決するための手段】
【0014】
本発明は、上記の課題を解決するためになされたもので、印刷ジョブが完了する毎に該印刷ジョブのジョブ履歴を格納するジョブ履歴格納手段と、印刷装置で印刷する毎にカウンタ記録手段に記録されるカウンタ情報をカウントアップするカウントアップ手段と、予め設定された集計のタイミングにおいて実行中の印刷ジョブを複数のジョブ履歴として、分割して管理する管理手段とを有することを特徴とする。
【発明の効果】
【0015】
本発明によれば、集計対象期間におけるジョブ履歴の印刷枚数の総和とカウンタ情報の増分を一致(整合)させることができる。結果として、整合性のとれたジョブ履歴とカウンタ情報に基づいて、正確な費用分析や課金請求を行うことができる。
【発明を実施するための最良の形態】
【0016】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【0017】
<システム構成の説明>
〔第1実施形態〕
以下、本発明の一実施形態について図面を参照しながら説明する。
【0018】
図1は、本実施形態を示す印刷装置の一例を示すブロック図である。また、本実施形態では、印刷装置として、MFPを例とするがプリンタなどであってもよい。
【0019】
図1において、100はMFPである。105はMFP100を制御するコントローラ部である。101はCPUであり、コントローラ部105の制御及び演算処理等を行うものである。
【0020】
102はROMであり、システム起動プログラムの情報等の記憶領域である。103はRAMであり、使用制限のないデータ記憶領域であり、CPU101のワークメモリとして機能する。例えば、RAM103は、CPU101によりオペレーティングシステムや通信制御及びエンジン制御などのプログラムがロードされたり、該プログラムの実行時にデータが記憶されたりする領域である。
【0021】
104は不揮発性記憶装置(HD部)で、例えばハードディスク(HD)あるいはSRAMなどで構成される。
【0022】
106はスキャナであり、原稿台に載置される原稿画像を光学的に画像読み取り、RAM103上に転送する。
【0023】
107はプリンタであり、コントローラ部105の制御のもとで印刷動作を行う。プリンタ107は、通信部109を介して情報処理装置から受信する印刷ジョブを解析して生成された印刷データ、あるいはスキャナ106から読み取られる画像データを印刷する機能を備える。なお、プリンタ107或いはスキャナ106は、オプションデバイスを接続可能に構成されている。例えばプリンタ107の場合には、両面ユニット、シート後処理ユニット等であり、スキャナ106であれば、ADF、RDF等である。
【0024】
108はUI部であり、ユーザからの指示を受け付けたり、或いは、スキャナ106,プリンタ107の状態や設定情報を表示したりするためのタッチパネルと、キー入力部とを備える。
【0025】
通信部109は、ネットワーク通信制御を行うものであり、ネットワークを介して他のデバイスやコンピュータとの通信が可能である。110はシステムバスであり、上述の構成要素間のデータの通路となるべきものである。
【0026】
図2は、図1に示したMFP100のソフトウェアの構成を説明するブロック図である。
【0027】
図2において、201〜209はMFP100で動作するソフトウェアである。このソフトウェア201〜209は、MFP100の起動時にCPU101がHD部104等に格納されるプログラムを読み出してRAM103にロード/実行することにより実現される。以下、各ソフトウェアについて説明する。
【0028】
201はオペレーティングシステム(OS)であり、MFP全体の資源を管理/制御する。202はAPI−1であり、OS201上で動作するアプリケーションのためのインタフェースとして機能する。OS201上で動作するアプリケーションは、インタフェースAPI−1を通じて、MFP100上のリソースにアクセスしたり、CPU101でコマンドを実行したりすることができる。
【0029】
205はコントローラ制御部で、OS201上で動作して、スキャナ106、プリンタ107、UI部108などを制御する。
【0030】
204はリソース管理部であり、コントローラ制御部205、後述する仮想マシン206、仮想マシン206上の全アプリケーションがメモリ等のリソース資源を使用する際、予め決められた以上の資源が使用できないように制限するものである。
【0031】
仮想マシン206は、特定のアプリケーションを実行するために最適な実行環境であり、例えばJava(登録商標)の仮想マシン等に相当する。
【0032】
207はAPI−2であり、仮想マシン206上で動作するアプリケーション209が、コントローラ制御部205、リソース管理部204、API−1202などを利用するためのインタフェースとして機能する。
【0033】
208はアプリケーション管理アプリケーションであり、仮想マシン206上で動作するアプリケーション209を管理する。具体的には、アプリケーション管理アプリケーション208は、アプリケーション209のダウンロード、アップロード、消去、有効無効化を行う。
【0034】
以下、図3〜図5を参照して、図1に示したUI部108の構成を説明する。
【0035】
図3は、図1に示したUI部108が備えるキー入力部を説明する図である。
【0036】
図4は、図1に示したUI部108が備えるタッチパネルに表示されるユーザインタフェースの一例を示す図である。
【0037】
図3において、300はキー入力部であり、ハードキーによりユーザ操作を受付可能である。
【0038】
301はON/OFFボタンであり、電源スイッチとして機能する。302は節電キーであり、本ボタンが押されると節電モードに移行する。ここで、節電モードとは、一部の部品への電源供給を停止することで機器全体の電力消費を抑える状態のことを示す。
【0039】
303はカウンタ確認キーであり、このボタンが押されると、HD部104に保存されているカウンタ情報、ジョブ履歴等の情報に基づいて算出される課金カウンタの値がタッチパネル400に表示される。ここで、図5を用いて課金カウンタの値の表示について説明する。
【0040】
図5は、図1に示したUI部108のタッチパネルに表示される課金カウンタの値の表示例を示す図である。
【0041】
図5に示すように、カウンタ値の表示は、カウンタ種別と該カウンタ種別に対応するカウンタ値が表示される。「トータル」のカウンタ値は、MFP100が設置されてから現在までに排紙された枚数を示す。また、「白黒トータル」のカウンタ値は、上記「トータル」のうちの白黒印刷で排紙された枚数を示す。また、「カラートータル」のカウンタ値は、上記「トータル」のうちの白黒印刷以外で排紙された枚数を示す。
【0042】
以下、図3の説明に戻る。
【0043】
304はスタートキーであり、コピー/印刷/スキャン/送信などのMFP100が提供する処理の開始を指示する場合に押下される。305はストップキーであり、スタートキー304で開始したジョブを停止する場合に押下される。
【0044】
306はテンキーであり、数値情報を入力する場合に押下される。307はIDキーであり、認証情報の入力を行うことを指示する場合に押下される。308はクリアキーであり、テンキー306によって入力された情報を解除する場合に押下される。
【0045】
309はリセットキーであり、ユーザによって処理対象のジョブに指示されたすべてのパラメータを解除する場合に押下される。
【0046】
310はヘルプキーであり、操作方法が不明なときにユーザが押すものであり、操作の助けとなる情報を表示する場合に押下される。311はユーザモードキーであり、各種設定を開始する場合に押下される。
【0047】
図4において、400はタッチパネルであり、表示及び画面上に表示される領域をユーザが押下することにより、ユーザ操作を受け付けることができる。
【0048】
401はコピーボタンであり、複写動作を行う場合に押すボタンである。402は送信ボタンであり、送信処理を行う場合に押すボタンである。403はボックスボタンであり、ボックス機能に関する処理を行う場合に押すボタンである。
【0049】
404は拡張キーであり、拡張機能(例えば図2のアプリケーション209)に関する画面を表示する場合に押すキーである。405は色選択リストボックスであり、自動選択、カラー、白黒などいずれかを選択する。
【0050】
406はステータス表示欄であり、ユーザに伝えたい情報を表示する。ここでは例として、コピー可否、倍率、用紙選択法、部数を表示している。407は等倍ボタンであり、等倍コピーを指示する。408は倍率ボタンで、画像形成する倍率を指定するためのボタンである。
【0051】
409は用紙選択ボタンであり、用紙の給紙元を指定するボタンである。410は仕上げボタンであり、ソート実効有無、フィニッシングなどを指定するボタンである。
【0052】
411は両面ボタンであり、原稿スキャン、印刷をそれぞれ片面又は両面のどちらにするかを指定するボタンである。412は割り込みボタンであり、現在実行中のジョブを中断して、新規のジョブを投入できるようにするボタンである。
【0053】
413は濃度調整ボタンで、濃度調整ボタン413を指示することで、スライドバーSBの表示が移動して、印刷濃度のレベル調整することができる。414はスキャンする原稿の属性を指定するボタンであり、例えば、原稿属性を、文字向け、写真向け、地図向けといった切り替えを行えるように構成されている。
【0054】
415は応用モードボタンであり、表紙や合紙などの設定、製本の指定、OHP中差しの設定、とじしろの大きさ等の複雑な指示を行う場合に押下される。
【0055】
416はシステム状況表示ボタンであり、MFPを構成する各コンポーネントの状態や、MFPに記録しているジョブ履歴情報を表示することができる。
【0056】
図6は、本実施形態を示すMFPを適用可能なシステムの一例を示す図である。本例では、MFPとネットワークを介して接続されるクライアントPC、及びMFPの仮想マシン上で動作する本実施形態のアプリケーションの構成を示す。
【0057】
図6において、501はMFPであり、図1に示したMFP100に対応する。MFP501において、502は仮想マシンであり、図2に示した仮想マシン206に対応する。503はジョブ履歴管理アプリケーションで、図2に示したアプリケーション209の具体例である。また、509はコントローラ制御部であり、図2に示したコントローラ制御部205に対応する。
【0058】
即ち、仮想マシン502、ジョブ履歴管理アプリケーション503、コントローラ制御部509は、MFP501の起動時にCPU101がHD部104に格納されたプログラムをRAM103にロード/実行することにより実現される。
【0059】
コントローラ制御部509は、ジョブの実行をはじめとするMFP501を制御するための様々な処理を行う。例えば、コントローラ制御部509は、ジョブ実行中には、排紙が完了するたびに課金カウンタ記録部511に総排紙数を積算し、記録する(即ち、MFP501で印刷する毎に課金カウンタ記録部511に格納される課金カウンタの値をカウントアップする)。また、コントローラ制御部509は、ジョブが完了したら、ジョブ履歴格納部510にジョブ履歴を記録する。
【0060】
なお、ジョブ履歴格納部510、課金カウンタ記録部511は、不揮発性の記憶媒体(HD部104)内の記憶領域として構成され、コントローラ制御部509の制御の下で実行されるジョブ処理状態に応じて順次内容が更新されていく。
【0061】
ジョブ履歴管理アプリケーション503において、504はジョブ履歴収集部であり、定期的にあるいはジョブ履歴が発生するたびにジョブ履歴格納部510からジョブ履歴を収集して、データ保持部505に記録する。
【0062】
データ保持部505は、ジョブ履歴や、集計タイミングで課金カウンタ記録部511から取得された課金カウンタの値等を保持するものであり、不揮発性の記憶媒体(HD部104)内の記憶領域として構成される。なお、データ保持部505は、コントローラ制御部509からもアクセス可能に構成されている。
【0063】
506は集計部で、定期的に、例えば月に一回、予め定められた時刻に、データ保持部505に保持される課金カウンタを取得、及びジョブ履歴を走査し、ユーザごとの対象期間の印刷ページ数(以下集計表とする)を算出する。ここで、予め定められた時刻は、UI部108で直接設定される場合(収集タイミング)と、ネットワークを介してクライアントPC512より設定される場合とを含む。
【0064】
507はUI部で、ユーザからの入力要求に応じて、ジョブ履歴や課金カウンタ値、ユーザ毎の集計結果をタッチパネル400に表示する。508は通信部で、ユーザがクライアントコンピュータで操作するウェヴブラウザ等からの要求に応えるものである。通信部508は、要求に応じて、ジョブ履歴、課金カウンタ値、集計表をHTML(Hyper Text Markup Language)形式に変換して送出する。もちろん、HTML以外の形式、例えばXML形式であってもCSV形式等に変換して送出してもよい。ここで、集計表には締めの日時、所定の集計の期間におけるジョブ履歴と課金カウンタの値などが記載される。また集計表は、ジョブ履歴及びカウンタ情報を締め日に基づき収集した外部装置により生成されてもよい。
【0065】
512はクライアントPCであり、ユーザはアプリケーションを操作し、MFP501に印刷を行ったり、インターネットブラウザを使用して、ジョブ履歴、集計表を参照したりすることが可能である。なお、上述の構成はあくまでもシステムの一例である。
【0066】
したがって、MFP501がプリンタで構成されていてもよい。また、インタフェースバスは、物理的な通信媒体であってもよいし、ソフトウェア的に構成されるメッセージ通信のための論理インタフェースで構成されていてもよい。
【0067】
また、前述の各機能ブロックは、プログラムをCPUにより実行することにより、各機能を実行しても良いし、ハードウェアの回路で実装されていてもよい。
【0068】
また、ジョブ履歴管理アプリケーション503やコントローラ制御部509により提供される図8,図12,図16に示した機能を、MFP501と接続される情報処理装置(印刷管理装置)内に設けるように構成してもよい。
【0069】
図7は、図6に示したUI部507が表示するユーザインタフェースである集計タイミング設定画面の一例を示す図である。本例は、カウンタ締め設定のダイアログの例である。
【0070】
図7において、601は集計日を指定するリストボックスである。602は集計時刻を設定するリストボックスである。603はOKボタンであり、設定の更新と終了を指示する。604はキャンセルボタンであり、設定の更新のない終了を指示する。
【0071】
なお、図7に示す表示例では、リストボックス601に「20」、リストボックス602に「17:00」が指定されているので、集計タイミングとして毎月20日の17時に図8に示すカウンタ締め処理を行うことが指定されている。
【0072】
以下、フローチャートを参照して本発明のカウンタ締め処理について説明する。
【0073】
図8は、本実施形態を示す印刷装置における第1のデータ処理手順の一例を示すフローチャートであり、予め設定された締め日時にコントローラ制御部509によるカウンタ締め処理の一例に対応する。即ち、このフローチャートの処理は、CPU101がHD部104等からプログラムをRAM103にロードして実行することで実現される。なお、S701〜S709は各ステップを示す。
【0074】
まず、図7に示した集計設定画面で指定されている集計タイミング(締め日時)となると、コントローラ制御部509は、本フローチャートの処理を開始する。
【0075】
S701において、コントローラ制御部509は、RAM103のワーク上のジョブ管理テーブルで管理されているMFP501が実行中のジョブの一覧を取得する。ここで、コントローラ制御部509が取得した情報の一部の一例を図9に示す。ここでは、現在のジョブID、ジョブタイプ、ステータスを取得した例を表形式で示す。なお、ジョブIDは、ジョブを一意に特定するための識別情報である。
【0076】
次に、S702で、コントローラ制御部509は、S701において取得した実行中のジョブの全てに一時停止命令を発行する。これにより、ジョブ情報の中のステータスは、「一時停止」状態に遷移する。
【0077】
次に、S703において、全てのジョブが一時停止したかをコントローラ制御部509が判定し、実行中のジョブがあるなどで、まだ全てのジョブが一時停止していないとコントローラ制御部509が判定した場合は、S704に処理を進める。
【0078】
そして、S704では、コントローラ制御部509は、一定時間、例えば1秒程度ウエイト(待機)し、S703に処理を戻す。
【0079】
一方、S703において、全てのジョブが一時停止しているとコントローラ制御部509が判定した場合は、S705に処理を進める。
【0080】
次に、S705では、コントローラ制御部509は、RAM103で管理しているジョブ情報であって、ステータスが「一時停止」状態のジョブ情報を取得する。
【0081】
ここで、ジョブ履歴収集部504が取得したジョブ情報の一例を図10に示す。
【0082】
図10は、図6に示したジョブ履歴収集部504が取得するジョブ情報の一例を示す図である。なお、終了時刻は、未定であるため、図中では、「−」で示す。
【0083】
図10に示すジョブ情報では、項目として、ジョブID、ステータス、開始時刻、終了時刻、ユーザ名、部門名、文書名、論理面数、用紙サイズ、排紙枚数、面数、ページレイアウト、カラーモード、印刷面を備える。ここで論理面数はジョブに設定されているページ数を示す。また、面数は片面なら排紙1枚につき1カウントアップされ、両面なら排紙1枚につき2カウントアップされる。
【0084】
以下、図8のフローチャートの説明に戻る。
【0085】
S706において、コントローラ制御部509は、S705で取得したジョブ情報(ジョブの実行情報)をジョブ履歴としてデータ保持部505に記録する。この際、ジョブの終了時刻を現在時刻とするものとする。また、コントローラ制御部509は、ジョブ履歴をデータ保持部505に記録する際には、ジョブ履歴記録番号というシリアルに増加する番号をジョブ履歴に付けるものとする。詳細は後述するが、ジョブ履歴格納部510に記録されるジョブ履歴も同様の番号を持つので、識別のため、ジョブ履歴格納部510内の番号をジョブ履歴記録番号Aとし、データ保持部505内の番号をジョブ履歴記録番号Bとする。データ保持部505に記録したジョブ履歴の例を図11に示す。また、コントローラ制御部509は、データ保持部505に登録したジョブ履歴のジョブID(本例では、「1234」)を先行登録ジョブリストとして、データ保持部505に記録しておく。
【0086】
次に、S707において、全ての一時停止中ジョブを処理したかコントローラ制御部509が判定し、一時停止中ジョブにまだ処理をしていないものがあると判定した場合には、S705に処理を戻し、次の一時停止中のジョブに処理対象を移す。
【0087】
一方、S707において、全ての一時停止中ジョブを処理したと判定した場合には、コントローラ制御部509は、S708に処理を進める。
【0088】
S708では、コントローラ制御部509は、課金カウンタ記録部511で管理している課金カウンタの値を取得して、データ保持部505に記録する。
【0089】
そして、S709において、コントローラ制御部509は、S702で一時停止した全てのジョブを再開させて、本フローチャートの処理を終了する。
【0090】
以上示したようなカウンタ締め処理により、締め日時(集計タイミング)を跨いで処理されるジョブであっても、締め日時までに処理された内容からジョブ履歴(1/2)を生成し(第1の生成)、データ保持部505に登録できる。
【0091】
なお、上記S709で再開されたジョブは、ジョブが完了すると、そのジョブ履歴が、コントローラ制御部509によりジョブ履歴格納部510に格納されることとなる。即ち、ジョブ履歴格納部510では、1つの印刷ジョブのジョブ履歴は分割されず1つのジョブ履歴として格納される。このタイミングで、ジョブ履歴管理アプリケーション503は、このジョブ履歴をジョブ履歴格納部510から読み込み、図8のS706で分割されてデータ保持部505に登録されたジョブ履歴の後半のジョブ履歴ジョブ履歴(2/2)を生成し(第2の生成)、データ保持部505に登録する。
【0092】
以下、図12のフローチャートを参照して、上記ジョブ履歴管理アプリケーション503の処理について説明する。
【0093】
図12は、本実施形態を示す管理装置における第2のデータ処理手順の一例を示すフローチャートであり、ジョブ履歴管理アプリケーション503が分割されてデータ保持部505に登録されたジョブ履歴の後半のジョブ履歴を生成して登録するものである。即ち、このフローチャートの処理は、CPU101がHD部104等からプログラムをRAM103にロードして実行することで実現される。なお、S901〜S907は各ステップを示す。
【0094】
ジョブ履歴管理アプリケーション503は、自らがデータ保持部505に登録していないジョブ履歴がジョブ履歴格納部510に記録されたことを検知すると、本フローチャートの処理を開始する。なお、検知方法としては、コントローラ制御部509によって新たなジョブ履歴がジョブ履歴格納部510に記録される度に、コントローラ制御部509通知が受けられるようコントローラ制御部509に依頼をしておいてもよい。また、ジョブ履歴管理アプリケーション503がポーリングにより(即ち定期的にジョブ履歴格納部510を参照することにより)新たなジョブ履歴がジョブ履歴格納部510に記録されたことを検知するようにしてもよい。
【0095】
まず、S901において、ジョブ履歴管理アプリケーション503のジョブ履歴収集部504は、データ保持部505に未登録のジョブ履歴の全てをジョブ履歴格納部510からジョブ履歴リストとして取得する。なお、データ保持部505に未登録ジョブの判別方法としては、ジョブ履歴記録番号Aを利用する方法がある。
【0096】
具体的には、ジョブ履歴記録番号Aは数値であり、ジョブ履歴格納部510にジョブ履歴が記録されるたびにコントローラ制御部509の処理でインクリメントされ、ジョブ履歴と共にジョブ履歴格納部510に記録される。なお、データ保持部505にジョブ履歴を記録する際には、ジョブ履歴記録番号Bが用いられる(図8のS706)。
【0097】
なお、ジョブ履歴収集部504は、データ保持部505にジョブ履歴を登録する際に、どのジョブ履歴記録番号Aまでをデータ保持部505に登録したかを、データ保持部505に記録しておくものとする。
【0098】
よって、ジョブ履歴収集部504は、データ保持部505に記録しているジョブ履歴の最新ジョブ履歴記録番号Bと、ジョブ履歴格納部510に格納されているジョブ履歴管理番号Aを比較すれば、差分を算出することができる。
【0099】
そして、ジョブ履歴収集部504は、上記算出した差分に基づいてジョブ履歴格納部510に格納されているジョブ履歴を取得する。
【0100】
次に、S902において、ジョブ履歴収集部504は、S901で取得したジョブ履歴リストから、ジョブ履歴を一つ取り出す。このジョブ履歴の例を図13に示す。
【0101】
図13は、図6に示した集計部506が取り出すジョブ履歴の一例を示す図である。
【0102】
図13に示すジョブ履歴では、ジョブID[1234]が、一時停止した後、S709で再開され、正常に終了したため、ステータスが「一時停止後正常終了」となった状態を示している。また、排紙枚数が「100」となった状態を示している。
【0103】
次に、S903において、ジョブ履歴収集部504は、S902で取り出したジョブ履歴が、図8に示したS706でデータ保持部505に登録された先行登録ジョブリストに存在するか判定する。本実施形態では、判定基準として、S902で取り出したジョブ履歴のジョブIDが先行登録ジョブリスト内にあるかを用いることができる。
【0104】
ここで、S902で取り出したジョブ履歴が、図8に示したS706の先行登録ジョブリストに存在すると判定した場合には、ジョブ履歴収集部504は、S904へ処理を進め、一方、先行登録ジョブリストに存在しないと判定した場合には、S906へ処理を進める。
【0105】
S904では、ジョブ履歴収集部504は、S706でデータ保持部505に登録された先行登録ジョブリストから、該当する先行ジョブのジョブIDを特定し、データ保持部505からそのジョブIDのジョブ履歴を取得する。
【0106】
次に、S905において、ジョブ履歴収集部504は、ジョブ履歴の排紙枚数、面数(ページ数)について、S902で取り出されたジョブ履歴からS904でデータ保持部505から取得したジョブ履歴で対応する分を減ずる処理(減算処理)を行う。例えば、S902で取り出したジョブ履歴の状態を図13とし、S904で取得した先行登録ジョブのジョブ履歴の状態を図10とすると、S905の減算処理は「100−70」となり、ジョブ履歴の印刷枚数は「30」となる。なお、面数についても同様とする。
【0107】
そして、S906において、ジョブ履歴収集部504は、S902で取り出されS905で減算されたジョブ履歴をデータ保持部505へ登録する。なお、ここで登録したジョブ履歴と先行ジョブ履歴が一つの実行ジョブが分割されたものであることが分かるように、例えば「正常終了」の場合、それぞれのステータスを「正常終了(1/2)」,「正常終了(2/2)」にジョブ履歴収集部504が変更してもよい。
【0108】
なお、S903でNoと判定されてそのままS906を実行する場合には、ジョブ履歴収集部504は、S906において、S902で取り出したジョブ履歴をそのままデータ保持部505へ登録する。
【0109】
次に、S907において、ジョブ履歴収集部504は、S901で取得した全てのジョブ履歴リストのジョブ履歴を処理したか判定し、まだ未処理のジョブ履歴があると判定した場合には、S902に処理を戻し、次ぎのジョブ履歴に処理対象を移す。
【0110】
一方、S907で、S901で取得した全てのジョブ履歴リストのジョブ履歴を処理したと判定した場合には、ジョブ履歴収集部504は、本フローチャートの処理を終了される。
【0111】
以上示した処理により、締め日時(集計タイミング)を跨いで処理されるジョブであっても、締め日時からジョブ終了までに処理された内容を分割してジョブ履歴(2/2)としてデータ保持部505に登録できる。
【0112】
よって、集計対象期間におけるジョブ履歴の印刷枚数の総和と課金カウンタの値の増分を一致(整合)させることができる。
【0113】
図14は、データ保持部505に登録されたジョブ履歴リストの一例を示す図である。本例は、図8に示したS706、図12に示したS906で記録したジョブ履歴を含むジョブ履歴一覧に対応する。また、本例では、ジョブ履歴の項目は、本発明に関わる部分を抜粋して示すものとする。
【0114】
図14において、ジョブ履歴番号は、ジョブ履歴を記録するたびに増加させるシリアル番号であり、上述したジョブ履歴番号Bに対応する。
【0115】
ジョブIDは、実行ジョブを一意に特定できるものである。ジョブ履歴番号「11234」,「11235」のジョブ履歴については、いずれもジョブIDは「1234」であり、実行ジョブとしては同じものであったことがわかる。
【0116】
また、ジョブ履歴番号「11234」のジョブ履歴は、図8に示したS706で先行登録されたジョブ履歴の例である。ジョブ履歴番号「11235」のジョブ履歴は、図12に示したS906で登録されたジョブ履歴の例である。
【0117】
また、ジョブ履歴番号「11234」,「11235」のジョブ履歴のステータスにおいて、それぞれ「正常終了(1/2)」、「正常終了(2/2)」とカッコ付になっているのは、一つの実行ジョブが分割されたことを示している。
【0118】
なお、ジョブ履歴番号「11232」のジョブ履歴では、ステータスが「STOP」となっているが、これはキヤンセルなど途中でジョブを停止したことを示している。
【0119】
以上示したように、集計タイミングにおいて実行中のジョブを考慮して、ジョブ履歴とカウンタ情報とを整合させてデータ保持部505に格納することができる。
【0120】
そして、このようにデータ保持部505に格納されたジョブ履歴と課金カウンタの値(整合されたジョブ履歴と課金カウンタの値)に基づいて、集計部506が集計処理を行って、正確な集計処理、費用分析、及び課金請求等を行うことができる。
【0121】
〔第2実施形態〕
上記第1実施形態では、上述した図8に示したカウンタ締め処理を、図7に示した集計タイミング設定画面から設定されたカウンタの集計日時になる毎に実行する場合について説明したが、指定された時間間隔で実行する構成としてもよい。例えば、30分毎に実行する構成としてもよい。
【0122】
また、上記第1実施形態において図7に示した集計タイミング設定画面の例では、集計タイミングが、1カ月に1回であったが、1時間に1回、即ち、毎時のx分(xは0から59)になることを集計タイミングとするように構成してもよい。
【0123】
図15は、本発明の第2実施形態における集計タイミング設定画面の一例を示す図である。
【0124】
図15において、1301はジョブ履歴を取得する毎時の分を指定するリストボックスである。1302はOKボタンであり、設定の更新と終了を指示する。1303はキャンセルボタンであり、設定の更新のない終了を指示する。
【0125】
なお、図15に示す表示例では、リストボックス1301に「05」が指定されているので、毎時5分に図8に示すカウンタ締め処理を行うことが指定されている。本設定を行うと、単位時間内の排紙頁数をより正確に把握することが可能になる。
【0126】
なお、図15に示した例では、1時間に1回、設定されたカウンタの集計分になる毎にカウンタ締め処理を実行する場合について説明したが、1日に1回、毎日のx時(xは0から23)になることをトリガにしてカウンタ締め処理を実行するようにしてもよい。
【0127】
〔第3実施形態〕
上記第1、第2実施形態では、ジョブを一時停止することにより、ジョブ履歴を分割する構成を説明した。本実施形態では、ジョブの一時停止を行わずにジョブ履歴を分割する構成について説明する。
【0128】
本実施形態では、コントローラ制御部509は、図8に示したカウンタ締め処理では、S706の処理のみを実行するものとする。即ち、コントローラ制御部509は、図7又は図15に示した集計設定画面で指定されているタイミング(締め日時)となると、課金カウンタ記録部511で管理している課金カウンタの値を取得して、データ保持部505に記録する(図8のS708)。
【0129】
このように、予め設定された締め日時に、コントローラ制御部509によるカウンタ締め処理を行うことで、締め日時までの課金カウンタの値をデータ保持部505に保存することができる。
【0130】
なお、コントローラ制御部509は、ジョブが完了すると、そのジョブ履歴をジョブ履歴格納部510に格納する。即ち、締め日時(集計タイミング)を跨いで実行されたジョブであっても、ジョブ履歴格納部510では1つのジョブ履歴として格納される。
【0131】
なお、ジョブ履歴管理アプリケーション503のジョブ履歴収集部504は、定期的に或いは上述したようにジョブ履歴がジョブ履歴格納部510に格納されるたびに、ジョブ履歴格納部510からジョブ履歴を収集してデータ保持部505に登録する。この際、ジョブ履歴収集部504は、締め日時(集計タイミング)を跨いで実行されたジョブについては分割してデータ保持部505に登録するものとする。このジョブ履歴格納部510の処理を図16に示す。
【0132】
図16は、本実施形態を示す管理装置における第3のデータ処理手順の一例を示すフローチャートであり、ジョブ履歴管理アプリケーション503によるジョブ履歴の取得処理に対応する。即ち、このフローチャートの処理は、CPU101がHD部104等からプログラムをRAM103にロードして実行することで実現される。なお、S1401〜S1407は各ステップを示す。なお、ここでは、図15に示した集計タイミング設定画面において、分ではなく、時刻を設定するものとする。例えば、図15に示すダイアログで、ユーザによりx時刻が指定されていたとし、x時刻(x:00)を集計時刻の区切り時刻(集計タイミング)とする。なお、xは、現在「16」時が設定されているとして説明する。
【0133】
まず、S1401において、ジョブ履歴収集部504は、まだデータ保持部505に格納していないジョブ履歴をジョブ履歴リストとしてジョブ履歴格納部510から取得する。
【0134】
次に、S1402において、ジョブ履歴収集部504は、S1401で取得したリストからジョブ履歴を1つ取り出す。
【0135】
次に、S1403において、ジョブ履歴収集部504は、S1402で取り出したジョブ履歴の開始時刻と終了時刻との間に、設定された区切り時刻(集計タイミング)が含まれるか判定する。
【0136】
例えば、時分のみに注目すると、S1402で取り出したジョブ履歴の開始時刻が「15:30」で終了時刻が「16:20」分、区切り時刻が「16:00」であれば、開始時刻である「15:30」と終了時刻である「16:30」の間に区切り時刻「16:00」が含まれる。
【0137】
ここで、設定された区切り時刻が含まれていると判定した場合には、ジョブ履歴収集部504は、S1404に処理を進める。
【0138】
S1404では、ジョブ履歴収集部504は、当該ジョブ履歴の排紙枚数、論理面数(ページ数)を下記の(1)式、(2)式で按分し、ジョブ履歴を分割した排紙枚数、論理面数を集計部506が算出する。なお、(1)式の少数点は切り捨てるものとする。また、下記には排紙枚数を按分する式のみを記載しているが論理面数の按分も同様とする。
【0139】
第1のジョブ履歴の排紙枚数=ジョブの全排紙枚数×(開始時刻から区切り時刻までの所要時間)÷(ジョブの全所要時間) ・・・(1)
第2のジョブ履歴の排紙枚数=ジョブの全排紙枚数−第1のジョブ履歴の排紙枚数 ・・・(2)
即ち、集計タイミングにおいて実行中であった印刷ジョブのジョブ履歴を、印刷ジョブの開始から集計タイミングまでの時間と、集計タイミングから印刷ジョブの終了までの時間の比率に応じて按分する。
【0140】
例えば、ジョブ履歴の開始時刻が「15:30」、終了時刻が「16:20」、排紙枚数が「100」、面数が「100」、区切り時刻が「16:00」であれば、上記(1),(2)式より、第1のジョブ履歴の排紙枚数は「50」、第2のジョブ履歴の排紙枚数は「50」と算出される。また同様に、第1のジョブ履歴の面数は「50」、第2のジョブ履歴の面数は「50」と算出される。なお、ジョブ履歴収集部504は、第1のジョブ履歴の終了時刻を区切り時刻(集計タイミング)とし、第2のジョブ履歴の開始時刻を区切り時刻(集計タイミング)とする。
【0141】
次に、S1405において、ジョブ履歴収集部504は、第1のジョブ履歴、第2のジョブ履歴をデータ保持部505に記録して、S1407へ処理を進める。
【0142】
一方、S1403で設定された区切り時刻が含まれていないと判定した場合には、ジョブ履歴収集部504は、S1402で取り出したジョブ履歴をそのままデータ保持部505に記録する。
【0143】
そして、S1407において、ジョブ履歴収集部504は、S1401で取得した全てのジョブ履歴を処理したか判定する。
【0144】
S1407において、まだ未処理のジョブ履歴があると判定した場合には、ジョブ履歴収集部504は、S1401に処理を戻し、次のジョブ履歴に処理対称を移行させる。
【0145】
一方、S1407において、S1401で取得した全てのジョブ履歴を処理したと判定した場合には、ジョブ履歴収集部504は、本フローチャートの処理を終了させる。
【0146】
上記の処理を行うことにより、締め日時(収集タイミング)を跨いで実行されるジョブであっても、ジョブを停止することなく、そのジョブ履歴を課金カウンタに対応するように分割して記録することが可能となる。
【0147】
以上示したように、集計対象期間におけるジョブ履歴の印刷枚数等の総和と、課金カウンタの増分を一致させて、正確な費用分析並びに課金請求を行うことを可能とする。
【0148】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【0149】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0150】
以下、図17に示すメモリマップを参照して本発明に係る印刷装置で読み取り可能なデータ処理プログラムの構成について説明する。
【0151】
図17は、本発明に係る印刷装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【0152】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0153】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0154】
本実施形態における図8、図12、図16に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0155】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0156】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0157】
したがって、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0158】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
【0159】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0160】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、若しくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
【0161】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0162】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部又は全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0163】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0164】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。
【0165】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【0166】
なお、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【図面の簡単な説明】
【0167】
【図1】本実施形態を示す印刷装置の一例を示すブロック図である。
【図2】図1に示したMFP100のソフトウェアの構成を説明するブロック図である。
【図3】図1に示したUI部108が備えるキー入力部を説明する図である。
【図4】図1に示したUI部108が備えるタッチパネルに表示されるユーザインタフェースの一例を示す図である。
【図5】図1に示したUI部108のタッチパネルに表示される課金カウンタの値の表示例を示す図である。
【図6】本実施形態を示すMFPを適用可能なシステムの一例を示す図である。
【図7】図6に示したUI部507が表示するユーザインタフェースである集計タイミング設定画面の一例を示す図である。
【図8】本実施形態を示す印刷装置における第1のデータ処理手順の一例を示すフローチャートである。
【図9】コントローラ制御部509が取得した情報の一部の一例を示す図である。
【図10】図6に示したジョブ履歴収集部504が取得するジョブ情報の一例を示す図である。
【図11】データ保持部505に記録したジョブ履歴の例を示す図である。
【図12】本実施形態を示す管理装置における第2のデータ処理手順の一例を示すフローチャートである。
【図13】図6に示した集計部506が取り出すジョブ履歴の一例を示す図である。
【図14】データ保持部505に登録されたジョブ履歴リストの一例を示す図である。
【図15】本発明の第2実施形態における集計タイミング設定画面の一例を示す図である。
【図16】本実施形態を示す管理装置における第3のデータ処理手順の一例を示すフローチャートである。
【図17】本発明に係る印刷装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【0168】
101 CPU
102 ROM
103 RAM
104 HD部
501 MFP
502 仮想マシン
503 ジョブ管理アプリケーション
504 ジョブ履歴収集部
505 データ保持部
506 集計部
510 ジョブ履歴格納部
511 課金カウンタ記録部
【特許請求の範囲】
【請求項1】
印刷ジョブが完了する毎に該印刷ジョブのジョブ履歴を格納するジョブ履歴格納手段と、
印刷装置で印刷する毎にカウンタ記録手段に記録されるカウンタ情報をカウントアップするカウントアップ手段と、
予め設定された集計のタイミングにおいて実行中の印刷ジョブを複数のジョブ履歴として、分割して管理する管理手段と、
を有することを特徴とする印刷装置。
【請求項2】
前記管理手段は、
前記集計タイミングにおいて実行中の印刷ジョブを一時停止する一時停止手段と、
前記印刷ジョブの一時停止するまでの実行情報に基づいて前記印刷ジョブの前記集計タイミングまでのジョブ履歴を生成する第1の生成手段と、
前記印刷ジョブを再開する再開手段と、
前記再開手段により再開された印刷ジョブが完了した後に、前記ジョブ履歴格納手段に格納される該印刷ジョブのジョブ履歴と前記集計タイミングまでのジョブ履歴とに基づいて前記印刷ジョブの前記集計タイミングの後の処理に基づくジョブ履歴を生成する第2の生成手段と、
を有することを特徴とする請求項1に記載の印刷装置。
【請求項3】
前記第2の生成手段は、前記ジョブ履歴格納手段に格納される該印刷ジョブのジョブ履歴の印刷枚数から前記集計タイミングまでのジョブ履歴の印刷枚数を減算した値を、前記集計タイミングの後の処理に基づくジョブ履歴の印刷枚数とすることを特徴とする請求項2に記載の印刷装置。
【請求項4】
前記管理手段は、前記ジョブ履歴格納手段に格納される前記集計タイミングにおいて実行中であった印刷ジョブのジョブ履歴を、前記印刷ジョブの開始から前記集計タイミングまでの時間と前記集計タイミングから前記印刷ジョブの終了までの時間の比率に応じて按分するように前記ジョブ履歴を分割して管理することを特徴とする請求項1に記載の印刷装置。
【請求項5】
前記管理手段は、前記集計タイミングにおいて実行中であった印刷ジョブの印刷枚数を、前記比率に応じて按分するように前記ジョブ履歴を分割して管理することを特徴とする請求項4に記載の印刷装置。
【請求項6】
印刷ジョブが完了する毎に該印刷ジョブのジョブ履歴をジョブ履歴格納手段に格納するジョブ履歴格納ステップと、
カウントアップ手段が、印刷装置で印刷する毎にカウンタ記録手段に記録されるカウンタ情報をカウントアップするカウントアップステップと、
分割手段が、予め設定された集計のタイミングにおいて実行中の印刷ジョブを複数のジョブ履歴として、分割して管理する管理ステップと、
を有することを特徴とする印刷管理方法。
【請求項7】
前記管理ステップは、
前記集計タイミングにおいて実行中の印刷ジョブを一時停止する一時停止ステップと、
前記印刷ジョブの一時停止するまでの実行情報に基づいて前記印刷ジョブの前記集計タイミングまでのジョブ履歴を生成する第1の生成ステップと、
前記印刷ジョブを再開する再開ステップと、
前記再開ステップにより再開された印刷ジョブが完了した後に、前記ジョブ履歴格納手段に格納される該印刷ジョブのジョブ履歴と前記集計タイミングまでのジョブ履歴とに基づいて前記印刷ジョブの前記集計タイミングの後の処理に基づくジョブ履歴を生成する第2の生成ステップと、
を有することを特徴とする請求項6に記載の印刷管理方法。
【請求項8】
前記第2の生成ステップは、前記ジョブ履歴格納手段に格納される該印刷ジョブのジョブ履歴の印刷枚数から前記集計タイミングまでのジョブ履歴の印刷枚数を減算した値を、前記集計タイミングの後の処理に基づくジョブ履歴の印刷枚数とすることを特徴とする請求項7に記載の印刷管理方法。
【請求項9】
前記管理ステップは、前記ジョブ履歴格納手段に格納される前記集計タイミングにおいて実行中であった印刷ジョブのジョブ履歴を、前記印刷ジョブの開始から前記集計タイミングまでの時間と前記集計タイミングから前記印刷ジョブの終了までの時間の比率に応じて按分するように前記ジョブ履歴を分割して管理することを特徴とする請求項6に記載の印刷管理方法。
【請求項10】
前記管理ステップは、前記集計タイミングにおいて実行中であった印刷ジョブの印刷枚数を、前記比率に応じて按分するように前記ジョブ履歴を分割して管理することを特徴とする請求項9に記載の印刷管理方法。
【請求項11】
請求項6乃至10のいずれか1項に記載された印刷管理方法をコンピュータに実行させるためのプログラム。
【請求項1】
印刷ジョブが完了する毎に該印刷ジョブのジョブ履歴を格納するジョブ履歴格納手段と、
印刷装置で印刷する毎にカウンタ記録手段に記録されるカウンタ情報をカウントアップするカウントアップ手段と、
予め設定された集計のタイミングにおいて実行中の印刷ジョブを複数のジョブ履歴として、分割して管理する管理手段と、
を有することを特徴とする印刷装置。
【請求項2】
前記管理手段は、
前記集計タイミングにおいて実行中の印刷ジョブを一時停止する一時停止手段と、
前記印刷ジョブの一時停止するまでの実行情報に基づいて前記印刷ジョブの前記集計タイミングまでのジョブ履歴を生成する第1の生成手段と、
前記印刷ジョブを再開する再開手段と、
前記再開手段により再開された印刷ジョブが完了した後に、前記ジョブ履歴格納手段に格納される該印刷ジョブのジョブ履歴と前記集計タイミングまでのジョブ履歴とに基づいて前記印刷ジョブの前記集計タイミングの後の処理に基づくジョブ履歴を生成する第2の生成手段と、
を有することを特徴とする請求項1に記載の印刷装置。
【請求項3】
前記第2の生成手段は、前記ジョブ履歴格納手段に格納される該印刷ジョブのジョブ履歴の印刷枚数から前記集計タイミングまでのジョブ履歴の印刷枚数を減算した値を、前記集計タイミングの後の処理に基づくジョブ履歴の印刷枚数とすることを特徴とする請求項2に記載の印刷装置。
【請求項4】
前記管理手段は、前記ジョブ履歴格納手段に格納される前記集計タイミングにおいて実行中であった印刷ジョブのジョブ履歴を、前記印刷ジョブの開始から前記集計タイミングまでの時間と前記集計タイミングから前記印刷ジョブの終了までの時間の比率に応じて按分するように前記ジョブ履歴を分割して管理することを特徴とする請求項1に記載の印刷装置。
【請求項5】
前記管理手段は、前記集計タイミングにおいて実行中であった印刷ジョブの印刷枚数を、前記比率に応じて按分するように前記ジョブ履歴を分割して管理することを特徴とする請求項4に記載の印刷装置。
【請求項6】
印刷ジョブが完了する毎に該印刷ジョブのジョブ履歴をジョブ履歴格納手段に格納するジョブ履歴格納ステップと、
カウントアップ手段が、印刷装置で印刷する毎にカウンタ記録手段に記録されるカウンタ情報をカウントアップするカウントアップステップと、
分割手段が、予め設定された集計のタイミングにおいて実行中の印刷ジョブを複数のジョブ履歴として、分割して管理する管理ステップと、
を有することを特徴とする印刷管理方法。
【請求項7】
前記管理ステップは、
前記集計タイミングにおいて実行中の印刷ジョブを一時停止する一時停止ステップと、
前記印刷ジョブの一時停止するまでの実行情報に基づいて前記印刷ジョブの前記集計タイミングまでのジョブ履歴を生成する第1の生成ステップと、
前記印刷ジョブを再開する再開ステップと、
前記再開ステップにより再開された印刷ジョブが完了した後に、前記ジョブ履歴格納手段に格納される該印刷ジョブのジョブ履歴と前記集計タイミングまでのジョブ履歴とに基づいて前記印刷ジョブの前記集計タイミングの後の処理に基づくジョブ履歴を生成する第2の生成ステップと、
を有することを特徴とする請求項6に記載の印刷管理方法。
【請求項8】
前記第2の生成ステップは、前記ジョブ履歴格納手段に格納される該印刷ジョブのジョブ履歴の印刷枚数から前記集計タイミングまでのジョブ履歴の印刷枚数を減算した値を、前記集計タイミングの後の処理に基づくジョブ履歴の印刷枚数とすることを特徴とする請求項7に記載の印刷管理方法。
【請求項9】
前記管理ステップは、前記ジョブ履歴格納手段に格納される前記集計タイミングにおいて実行中であった印刷ジョブのジョブ履歴を、前記印刷ジョブの開始から前記集計タイミングまでの時間と前記集計タイミングから前記印刷ジョブの終了までの時間の比率に応じて按分するように前記ジョブ履歴を分割して管理することを特徴とする請求項6に記載の印刷管理方法。
【請求項10】
前記管理ステップは、前記集計タイミングにおいて実行中であった印刷ジョブの印刷枚数を、前記比率に応じて按分するように前記ジョブ履歴を分割して管理することを特徴とする請求項9に記載の印刷管理方法。
【請求項11】
請求項6乃至10のいずれか1項に記載された印刷管理方法をコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2009−269256(P2009−269256A)
【公開日】平成21年11月19日(2009.11.19)
【国際特許分類】
【出願番号】特願2008−120511(P2008−120511)
【出願日】平成20年5月2日(2008.5.2)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成21年11月19日(2009.11.19)
【国際特許分類】
【出願日】平成20年5月2日(2008.5.2)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]