JP2004129047A - Image forming device, control method, and control program - Google Patents

Image forming device, control method, and control program Download PDF

Info

Publication number
JP2004129047A
JP2004129047A JP2002292430A JP2002292430A JP2004129047A JP 2004129047 A JP2004129047 A JP 2004129047A JP 2002292430 A JP2002292430 A JP 2002292430A JP 2002292430 A JP2002292430 A JP 2002292430A JP 2004129047 A JP2004129047 A JP 2004129047A
Authority
JP
Japan
Prior art keywords
program
counter
application
image forming
forming apparatus
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.)
Granted
Application number
JP2002292430A
Other languages
Japanese (ja)
Other versions
JP3944048B2 (en
Inventor
Tomoaki Endo
遠藤 友章
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2002292430A priority Critical patent/JP3944048B2/en
Priority to US10/339,318 priority patent/US7426048B2/en
Priority to EP03250272.6A priority patent/EP1335578B1/en
Publication of JP2004129047A publication Critical patent/JP2004129047A/en
Application granted granted Critical
Publication of JP3944048B2 publication Critical patent/JP3944048B2/en
Priority to US12/197,906 priority patent/US20090007130A1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problem that the provision of an image forming device, which is changed in loaded program constitution, with a counter which statically manages the amount of program used obstructs the management of the amount of programs used. <P>SOLUTION: The image forming device is provided with a means which sets an upper limit value of the amount of application used to a counter which grasps the amount of program used in response to the change in the loaded program constitution. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、画像形成装置における処理を制御するプログラムが搭載された画像形成装置、該画像形成装置における方法、及び制御プログラムに関するものである。
【0002】
【従来の技術】
従来、画像形成装置の出力総数をカウントする機構としては、メカニカルな構造をもったハード・カウンタを用いることが一般的だった。ハード・カウンタは、一度、カウントアップするとカウント値を減じたりすることが難しくカウント値の改竄が難しいので、これを利用したサービスの課金体制に適した手段であった。その後、画像形成装置の機能が複雑になり様々なモード、例えば、スモール・サイズ/ラージ・サイズ、カラー/白黒、コピー/プリント/FAXによってサービス課金体系を分けたいとの要望が強くなっており、単純にその要望に応えるためハード・カウンタを増加していた。その後、省コスト、省スペースで多数のカウンタを実現可能なソフト・カウンタが提案された。ソフト・カウンタとは、カウント値を半導体メモリに蓄えるソフト・カウンタである。
【0003】
以前のソフト・カウンタはその構造上、メモリ内部の情報を失いやすく信頼性が低かったが、複数の記憶手段を用意し、お互いに同じ値を記憶させて、ある一つの記憶手段中の内部情報が失われた場合には、他の記憶手段中の情報を利用して情報を補償する方法などにより信頼性が向上している。従って、カウントしたい機能毎にソフト・カウンタを用意して、機能毎に正確なカウント情報を保持することが可能となった。以下、ソフト・カウンタを単にカウンタと呼ぶ。本願発明においては、カウンタとは、例えば、画像形成装置の好適な一例であるプリンタ、ファクシミリ、スキャナ、コピー、若しくはこれらの複合機内のプログラムの実行回数、画像形成装置の動作回数、アプリケーションプログラムの使用時間など、各種使用量を計測・記憶することができる手段の総称として用いている。
【0004】
【発明が解決しようとする課題】
画像形成装置に搭載された各種プログラム毎にカウンタを設け、アプリケーションの動作回数を管理する印刷装置が開発されつつある。また、印刷装置に搭載された各種プログラムを実行して、ユーザが様々なサービスを受けることが出来るように開発が進められている。例えば、特開平2001‐92779に記載されているように、画像形成装置に用いられるソフトウェア技術の向上の結果、画像形成装置が提供する処理を実現する各種ソフトウェアの追加・変更・削除などが容易になりつつある。また、アプリケーションごとに固定的にカウンタを設け、アプリケーションの実行回数をカウントするカウンタを備えた印刷装置が考えられつつある。
【0005】
しかし、搭載されるアプリケーション、制御プログラムなどの各種プログラム及びデータの追加・変更・削除が可能となったため、上述のように画像形成装置が提供する処理ごとにカウンタを固定的に予め割り当てておくのでは不具合がある。
【0006】
例えば、画像形成装置内の処理を提供するプログラムが変化する機会が増えているが、従来の静的なカウンタ管理を行うのでは、画像形成装置の提供する機能を適切に管理することができないという問題がある。さらに、複合的な機能を提供する印刷装置が登場しているが、これらの機能をどのように機能毎に使用量を管理するかが問題となる。
【0007】
そこで、本発明は、画像形成装置に搭載された各種プログラムが提供する機能の構成が変化しても、これに柔軟に対応可能な画像形成装置を提供することを目的とする。
【0008】
特に、本願の実施形態においては、画像形成装置内のプログラムが提供する処理の変化に応じて、プログラムの使用量を管理するカウンタを動的に管理できるようにし、画像形成装置の機能やプログラム構成が変化しても、各プログラムの利用状況を適切に把握できるような画像形成装置を提供することをさらに別の目的とする。
【0009】
また、本願の実施形態においては、画像形成装置が提供するそれぞれのプログラムが提供する各処理について、例えば、プログラムの使用量の上限値を設定可能にし、各プログラムの使用量を容易に管理できるような画像形成装置を提供することをさらに別の目的とする。
【0010】
また、本願の実施形態においては、アプリケーションの使用権を、アプリケーションの種類、又は/及び、使用する機器ごとに、予め利用者にライセンス情報の形で与えることが出来る仕組みを提供することをさらに別の目的とする。
【0011】
【課題を解決するための手段】
上述の目的の少なくとも一つを達成するため、本願発明は、以下の手段を提供する。
【0012】
本願の実施形態においては、例えば、画像形成装置が提供する処理を制御するプログラムが搭載された画像形成装置において、カウンタを用いて前記プログラムごとに使用量を管理する使用量管理手段と、前記プログラムの識別情報に対応する、プログラムの使用量を管理することができるカウンタを認識する認識手段と、前記プログラムを前記認識手段が認識したカウンタに対応づけて前記カウンタを管理するカウンタ管理手段と、前記使用量管理手段に対して前記プログラムごとに使用量の上限値を設定可能な設定手段と、前記プログラムの種別ごとに、前記設定手段により設定された使用量の上限値に基づき画像形成装置における処理を制御する制御手段とを備えることを特徴とする画像形成装置が開示される。
【0013】
そして、この画像形成装置にあるアプリケーションから所定に機能を利用するジョブを投入すると、画像形成装置に設定された上限値を超えていれば、処理を行い、超えていなければ、処理を制限する。
【0014】
【発明の実施の形態】
以下、本発明の実施形態を実施例に沿って図面に基づいて説明する。
【0015】
(第一の実施形態)
図1は、第一の実施形態に係るシステム全体を示す構成図である。図1において、画像形成装置の好適な一例である複合機100は、スキャナ、プリンタ、コピー、ファックス機能一体型の複合機であり、ネットワークを介して外部情報処理装置の好適な一例であるネットワークサーバ12、及び情報処理装置の好適な一例であるホストコンピュータ11に接続されている。さらに、複合機100は、公衆回線網を介して他の通信装置に接続されている。なお、複合機100は図示例に限らず、デジタル複写機、コピー機能付プリンタ等でもよく、ネットワークに接続された周辺機器の数は、図示例に限られない。また、画像形成装置は、複合機100に限らず、ファクシミリ、プリンタなどの印刷装置、スキャナ装置など、画像を形成可能な単機能の装置を含み、前記各装置に内蔵されるコントローラなどをも含む。また、カウンタは各種印刷装置のネットワークボード、例えばネットワークインタフェース部7等に取り付けられてもよい。
【0016】
複合機100は、主にリーダ部1、プリンタ部2、及び画像入出力制御部3で構成されている。リーダ部1は、プリンタ部2及び画像入出力制御部3に接続され、原稿の画像読み取りを行うとともに読み取った画像データをプリンタ部2又は画像入出力制御部3に出力する。プリンタ部2は、リーダ部1及び画像入出力制御部3から出力された画像データを記録紙に印刷する。画像入出力制御部3は、外部のネットワークや公衆回線網と接続し、画像データの入出力を行うと共に、ユーザが複合機100を使用したときの使用量の蓄積等を行い、更にネットワークに接続されたホストコンピュータ11からのジョブ(印刷命令等)の解析及び制御を行う。
【0017】
画像入出力制御部3は、ファクシミリ部4、ファイル部5、取得手段の一例であるネットワークインタフェース部7、PDLフォーマッタ部8、及びコア部10で構成される。ファクシミリ部4は、コア部10及び公衆回線網に接続され、公衆回線網から受信した圧縮された画像データの伸長を行い、伸長した画像データをコア部10へ送信する。また、コア部10から送信された画像データを圧縮し、公衆回線を介して圧縮した画像データを公衆回線網に送信する。ファイル部5は、コア部10及び記憶装置6に接続され、コア部10から送信された画像データの圧縮を行い、圧縮した画像データを検索するためのキーワードと共に記憶装置6に記憶させる。本実施形態では記憶手段の好適な一例である記憶装置6にはハードディスクドライブを用いているが、もちろんこれに限定されるものではない。更に、ファイル部5は、コア部10から送信されたキーワードに基づいて記憶装置6に記憶されている圧縮画像データを検索した後、その圧縮画像データを読み出して伸長を行い、コア部10へ送信する。
【0018】
ネットワークインタフェース部7は、外部のネットワークを介して接続されたホストコンピュータ11及びネットワークサーバ12とコア部10間のインタフェースである。ホストコンピュータ11からのジョブ制御データの受信、及び画像データ等のホストコンピュータ11への送信には、ネットワークインタフェース部7を介して行う。ジョブ制御データとして、PDLデータと共に送信されるジョブ制御命令を含み、例えば、PDLデータを展開して画像データとして印刷した後、ステイプルソートして排紙させるものが挙げられる。ネットワークインタフェース部7にはMIB(Management Information Base)と呼ばれるデータベースが構築されており、SNMP(Simple Network Management Protocol)を介してネットワーク上のホストコンピュータ11と通信し、プリンタ部2の管理が可能となっている。また、ネットワークインタフェース部7は、画像形成装置上の各種機能を実現するアプリケーションのインストール要求・アンインストール要求・開始要求・停止要求等を受け付けるため、ネットワーク接続された他の機器が複合機100内のアプリケーションの制御を行うことが可能となっている。
【0019】
フォーマッタ部8は、コア部10に接続され、ホストコンピュータ11から送信されたPDLデータをプリンタ部2でプリントできる画像データに展開するものである。
【0020】
画像メモリ部9は、リーダ部1からの情報や、ネットワークインタフェース部を介しホストコンピュータ11等から送られてきた情報を一時的に蓄積しておくためのものである。
【0021】
記憶手段と解析手段を兼ねたユニットの好適な一例であるコア部10は、上述したリーダ部1、ファクシミリ部4、ファイル部5、ネットワークインタフェース部7、PDL(Page Description Language:ページ記述言語)フォーマッタ部8のそれぞれの間を流れるデータ等の制御とともにジョブ制御データの解析を行い、ユーザの使用状況・コピー枚数・印刷枚数・スキャン枚数等の情報を蓄積する。
【0022】
ホストコンピュータ11(情報処理装置)は、パーソナルコンピュータ又はワークステーション(PC/WS)であり、ネットワークサーバ12は、ネットワーク全体を制御するサーバである。また、外部情報処理装置の一例である課金サーバ13は複合機100の課金情報を管理するためのサーバを含む。 課金サーバ装置13は、そのディスプレイに、複写機100のカウンタによってカウントされる使用量を表示し、管理できる。なお、操作部14は、操作パネルを含み、例えばタッチパネルを用いて実行するアプリケーション、アプリケーションに使用させる複写機の機能を選択し、入力出来る。また、アプリケーションの実行命令は、複写機100の操作部13からでも入力出来るが、外部情報処理装置の一例であるネットワークサーバ12からでも実行命令を入力出来る。そして、実行されたアプリケーションの使用量は、複写機100の後に詳しく述べるカウンタでカウントされる。
【0023】
図2は、第一の実施形態における画像形成装置のソフトウェアモジュール階層の好適な一例を示した図である。ソフトウェアモジュールはオペレーティングシステム(OS)201を有している。OS201の上には、各種機器制御のためのコントローラモジュール202を有し、その上にプログラムを逐次実行するためのインタプリタモジュール203を有する。インタプリタモジュール203の上には、動的に着脱可能な複数のアプリケーション群を管理するためのアプリケーション管理モジュール204を有する。各種機能を実現するアプリケーション205は、このアプリケーション管理モジュール204の管理下で動作する。インタプリタモジュール203を介して複写機のサービスを提供するためのアプリケーションモジュールを動作させることができる。例えば、外部サーバ装置から取得したアプリケーションモジュールが画像形成装置内に組み込まれるのに応答して、アプリケーション管理モジュール204はアプリケーション205を管理対象として追加したり、画像形成装置内からアプリケーションプログラムが削除されるのに応答して、アプリケーション管理モジュール204はアプリケーション205を管理対象から外すことができる。
【0024】
また、アプリケーション205のインストールやアンインストールを行うためのアプリケーションインストーラ206も、このアプリケーション管理モジュール204の上で動作させることができる。アプリケーションはプログラムの好適な一例であるが、画像形成装置と協働して各種処理をユーザに提供する。例えば、画像の加工、圧縮を行うアプリケーション、印刷制限などの部門管理を行うアプリケーションプログラム、アプリケーションの一部として組み込まれるプラグインモジュール、複写機の遠隔管理を行プログラム、複写機のフィニッシャなどのユニットを制御して製本を行わせるアプリケーション、特定の文書データの変換・解析プログラム、或いはいわゆるワープロソフトのような文書作成プログラム、スケジュール管理プログラム、表計算プログラム、データベース管理プログラム、さらにはインターネットを介したプリントサービスを実現するためのサーバプログラムなどが考え得る。
【0025】
これらのソフトウェアはコア部10内にあるCPU(図示省略)上で実行される。上記実施形態においてはインタプリタやOSを複写機内に組み込んでいる。もちろん、アプリケーション205が画像形成装置上で動作し、アプリケーション管理モジュール204が適切に動作する限り、上述のモジュール構成に限定されるものではない。
【0026】
図3は複合機100にアプリケーションがインストールされる際の処理の流れを示すフローチャートを示す図である。次に、図3を利用して、ホストコンピュータ11から複合機100に新たなアプリケーションをインストールする場合のアプリケーションインストーラ206内の処理について説明する。ホストコンピュータ11の操作画面において、指示入力手段の好適な一例であるポインティングデバイス(図示省略)によって、アプリケーションをインストールする旨の指示を入力すると図3の処理が開始される。まず、ステップS301においてホストコンピュータ11からアプリケーション情報を受信する。アプリケーション情報は、例えば、プログラムの属性情報の好適な一例である、ベンダ名・アプリケーションID・アプリケーション名・使用メモリ・バージョン番号・最終更新日付を含む。このアプリケーション情報は、プログラムの好適な一例であるアプリケーションの使用量を管理するために用いられる。
【0027】
ステップS301において前述したプログラムの属性情報の好適な一例であるアプリケーションIDを含むアプリケーション情報を受け取ると、アプリケーションインストーラ206は、ステップS302の処理を行う。S302では、アプリケーションインストーラ206は、既に同じアプリケーションがインストールされていないかどうかを判断する。アプリケーションインストーラ206は、ステップS301で受信したアプリケーション情報を取得し、既にインストールされているアプリケーションのアプリケーション情報と比較することにより、既に同じアプリケーションがインストールされているか否かを判断する。もし、アプリケーションインストーラ206が、ステップS302において同じアプリケーションが存在すると判断した場合は処理を終了し、同じアプリケーションが存在しないと判定された場合はステップS303へ進む。ステップS303では、アプリケーションインストーラ206(判断手段)は、変数nに0を代入し、ステップS304へ進む。ステップS304では、アプリケーションインストーラ206は、n番目のアプリケーション用カウンタが使用中であるかどうか判断し、使用中でないならステップS305へ進む。ステップS305ではカウンタ番号−アプリケーションIDテーブルを更新してカウンタ番号nとアプリケーションIDとを対応付ける。本願においては、カウンタは、アプリケーションの使用量の一例である実行回数をカウントするカウンタを意味する。また、カウンタは、アプリケーションを立ち上げている時間の長さなどの使用時間をカウントして保持できる計測記憶手段も含む。
【0028】
図4はカウンタ番号−アプリケーションIDテーブルの例を示す図である。カウンタ番号1番のカウンタがアプリケーションID11番のアプリケーションに対応し、カウンタ番号3番のカウンタがアプリケーションID51番のアプリケーションに対応し、その他のカウンタは未使用であることを示している。ステップS305においてテーブルの更新を行ったら次にステップS306へ進む。ステップS306では、ホストからアプリケーションプログラムのダウンロードを行って複合機100内の記憶装置6に格納し、アプリケーションを利用できる状態にして、処理を終了する。一方、ステップS304においてカウンタnが使用中と判定された場合は、ステップS307へ進む。ステップS307では変数nの値を1つ増加させ、ステップS308へ進む。ステップS308では、変数nの値が、複合機100に用意されているアプリケーション別カウンタの総数Nよりも小さいかどうかを判定する。変数nの値がアプリケーション別カウンタの総数Nよりも小さい場合はステップS304へ戻り、そうでない場合は処理を終了する。
【0029】
このようにしてインストールされたアプリケーションはジョブ処理を指示するコマンド群を実行することにより、リーダ部・プリンタ部等を制御することができ、種々の機能を実現することが可能となっている。
【0030】
図5は、ジョブ処理を指示するコマンド群の一例である。ジョブ処理を指示するコマンド群は、ジョブ投入開始コマンド501、ジョブ属性設定コマンド502、ジョブデータ送信コマンド503、ジョブ投入完了コマンド504により構成される。ジョブ投入開始コマンド501は、コントローラにジョブ投入の開始を通知するコマンドであり、パラメータとしてモード511とモードに応じた付加情報512を含んでいる。コントローラは、ジョブ投入開始コマンド501の受け取りにより、ジョブ処理を行うための準備を開始する。ジョブ属性設定コマンド502は、ジョブの機能や状態を表す属性を設定するためのコマンドである。属性には、アプリケーションID・ジョブの名前・ジョブ種別・データ形式・用紙選択などといった情報があり、本コマンドでは複数の属性を連続して設定することができる。
【0031】
ジョブデータ送信コマンド503は、画像データなどジョブ処理の対象となるデータを送信するコマンドである。ただし、ジョブの内容によっては、処理対象となるデータを必要としない場合もあるので、その場合は本コマンドを省略してもよい。ジョブ投入完了コマンド504は、ジョブ処理を指示するコマンド群がすべて送付されたことを示すためのコマンドである。ジョブ投入開始コマンド501からジョブ投入完了コマンド504までの一連のコマンド群が1つのジョブ処理指示として解釈される。コントローラは、ジョブ処理の指示が行われると、リーダ部1・プリンタ部2・ファイル部5等を制御し、与えられた属性により適切な処理を行い、ジョブ種別に応じて適切なカウンタ更新要求を出す。なお、ジョブ開始コマンドには、それを実行したアプリケーションのアプリケーションIDの情報も含まれるため、コントローラやカウンタ更新手段は、現在のジョブがどのアプリケーションから実行されたものかを判別することが可能となっている。
【0032】
図6は、第一の実施形態においてカウンタの更新が行われる際のカウンタ更新手段における処理の流れを示すフローチャートを示す図である。図6のフローチャートを利用して、カウンタの更新が行われる際のカウンタ管理手段における処理の流れについて説明する。まず、ステップS601において、カウンタ更新要求を受け取り、ステップS602に進む。ステップS602では、更新要求元のアプリケーションIDを取得し、ステップS603に進む。ステップS603では変数nに0を代入し、ステップS604に進む。ステップS604ではテーブルを参照しn番のカウンタがステップS602で取得したアプリケーションIDのアプリケーションに割り当てられているかどうかチェックする。もし、n番のカウンタがステップS602で取得したアプリケーションIDのアプリケーションに割り当てられていればステップS605へ進む。ステップS605では現在のジョブ種用のn番カウンタを更新し、ステップS606へ進む。ステップS606では総数カウント用のカウンタを更新し、処理を終了する。一方、ステップS604において、n番カウンタがステップS602で取得したアプリケーションIDのアプリケーションに割り当てられていないと判定された場合は、ステップS607に進む。ステップS607では変数nがアプリケーション用カウンタの総数Nよりも小であるかどうかを判定する。もし、n<NであるならステップS608でnの値を1つ増やしステップS604へ戻る。ステップS607においてn<Nを満たさなかった場合はステップS606へ進み、総数カウント用カウンタだけを更新して処理を終了する。
【0033】
図7は、複合機100が有しているカウンタの例を示す図である。この例では、コピーカウンタ、プリントカウンタ、スキャンカウンタの3種類のカウンタがあり、そのそれぞれについてトータルカウント数を示す総数カウント用カウンタが1つとアプリケーション別カウンタがN個(カウンタ番号1からN)用意されていることを示している。コピージョブが処理される場合、1枚コピーする度にコピーカウンタがカウントアップされる。同様に、スキャンジョブでは1枚スキャンする度にスキャンカウンタがカウントアップされ、プリントジョブでは1枚プリントされる度にプリントカウンタがカウントアップされる。
【0034】
カウンタ番号−アプリケーションIDテーブルの内容が図4のようになっている場合、図7(い)のカウンタがアプリケーションID11番のアプリケーションに使用され、図7(ろ)のカウンタがアプリケーションID51番のアプリケーションによって使用される。例えば、アプリケーションID11番のアプリケーションがコピージョブを実行した場合、図7(は)のカウンタと総数カウント用カウンタがカウントアップされる。同様にプリントジョブを実行した場合は図7(に)のカウンタと総合カウンタが、スキャンジョブを実行した場合は図7(ほ)のカウンタと総合カウンタがカウントアップされる。また、リモートホストからプリントジョブ・スキャンジョブ・コピージョブなどが投入された場合、もしジョブの発行元のアプリケーションIDが既にテーブルに登録されていればアプリケーションIDに対応するカウンタと総数カウント用カウンタがカウントアップされる。ジョブ発行元のアプリケーションIDがテーブルに登録されていない場合にはそのジョブを拒否する。
【0035】
このように、画像形成装置が提供する各機能と、各機能を利用するアプリケーションの組合わせの数だけのカウント値を管理し、また、それぞれのカウント値をアプリケーション毎、各機能ごとに合計してカウントすることが出来る。これにより、アプリケーションごとの課金はもちろんであるが、アプリケーションで画像形成装置の特定の機能を利用した処理を所定動作と呼ぶと、この所定動作ごとに、使用量をカウントすることができる。例えば、特定の画像加工アプリケーションがカウンタ番号6に対応付けられているとすると、この画像加工アプリケーションを用いて所定の画像処理、例えば電子透かしを入れ込んだむなどして、コピーを行った場合はカウンタ番号6に対応するコピー用カウンタがカウントアップされる。これにより、画像加工アプリケーションを用いてコピーを行うという所定動作の使用量を管理することが出来る。もちろん、アプリケーションとしては、画像加工アプリケーションだけではなく、XML文書を加工したり、所定の文書ファイルを加工するためのアプリケーションであってもよい。さらに、画像形成装置が提供する機能は、コピー、プリント、スキャンだけでなく、フィニッシング、製本、パンチ穴あけなどのいわゆる製本処理であってもよい。
【0036】
次に、画像形成装置に既にインストールされてアプリケーションIDがあるカウンタに割り当てられているアプリケーションをアンインストールする際の処理について説明する。図8は複写機100に既にインストールされているアプリケーションをアンインストールする際の処理の流れを示すフローチャートを示す図である。
【0037】
まずステップS801において指定されたアプリケーションが動作中であるかどうかをチェックする。もし動作中であった場合は、何もせずにアンインストール処理を終了する。もし動作中でないならば安全にアンインストールすることができるので、ステップS802へ進む。ステップS802ではアンインストールするアプリケーションに関連付けられたカウンタの情報およびアプリケーション情報を課金サーバ13に送信し、ステップS803に進む。ステップS803では送信した情報を課金サーバ13が正しく受信できたかどうかチェックし、正しく受信されていた場合はステップS804へ進む。正しく受信されていなかった場合には実際にアンインストールを行わずに処理を終了する。ステップS804ではカウンタ番号−アプリケーションIDテーブルを更新し、アンインストールするアプリケーションのアプリケーションIDが割り当てられているカウンタを未使用の状態にする。ステップS805では、アプリケーションを記憶装置6の中から消去してアンインストールを行い、処理を終了する。
【0038】
以上説明したように、本実施例によれば、アプリケーションのインストール時に利用されていないカウンタを動的に割り当て、カウンタアップを行う際にその処理を引き起こしたアプリケーションに対応するカウンタをカウントアップすることにより、アプリケーション毎にコピー・プリント・スキャンのカウント数を管理することが可能となっている。
【0039】
また、アプリケーションのアンインストール時に、そのアプリケーション情報および利用していたカウンタの情報を課金サーバに保存することにより、カウント情報を損なうことなく、自由にアプリケーションのインストール・アンインストールを繰り返すことが可能となっている。
【0040】
なお、本実施形態では、インストール時に既に同じアプリケーションがインストールされている場合、処理を終了するようになっているが、バージョン情報を判定し新しいバージョンであれば自動的にインストールするようにしても良いし、ユーザにインストール処理を継続するかどうか選択させるようにしても良い。
【0041】
また、本実施形態では、アプリケーションインストーラ206は、アプリケーション管理モジュール204上で動作するアプリケーションの一種となっているが、コントローラ202に組み込まれたモジュールであってもよい。
【0042】
また、本実施形態では、コピーカウンタ・プリントカウンタ・スキャンカウンタの3種類のカウンタを用意しているが、これに限られるものではなくカウンタの種類はいくつあっても良いし、同じ機能においても用紙サイズ等によりカウンタをより細かく区分しても構わない。
【0043】
また、本実施形態では、カウンタ1セットにつき1つのアプリケーションを割り当てているが、グループID等を導入して、複数のアプリケーションで一つのカウンタセットを共用するようにしても良い。
【0044】
また、本実施形態では、総数カウント用カウンタ以外のすべてのカウンタを動的に割り当てているが、画像形成装置にあらかじめ搭載されているアプリケーションについては固定的にカウンタを割り当てておいても良い。
【0045】
また、本実施形態では、テーブルに登録されていないアプリケーションIDを持った外部からのジョブは拒否するようにしているが、総数カウント用カウンタのみをカウントアップするなどしてジョブを受け付けるようにしても良い。
【0046】
(第二の実施形態)
次に、本発明にかかる画像形成装置の第二の実施形態について説明する。
【0047】
図1は、第二の実施形態における画像形成装置の構成も示している。この図については第一の実施形態において詳細を説明したためここでは説明を省く。ただし、第二の実施形態においてホストコンピュータ11はアプリケーションが蓄積されているファイルサーバとする。以下、第一の実施形態と特に異なる部分を示す。
【0048】
図9は、第二の実施形態における複写機100のソフトウェアモジュール階層の構成を示す図である。ソフトウェアモジュールはオペレーティングシステム(OS)901を有している。OS901の上には、各種機器制御のためのコントローラモジュール902を有し、その上にプログラムを逐次実行するためのインタプリタモジュール903と汎用カウンタ(後述)を制御するための汎用カウンタ制御アプリケーション・プログラム・インタフェース(以下、汎用カウンタ制御API)904を有する。インタプリタモジュール903と汎用カウンタ制御API904の上には動的に着脱可能なアプリケーション群を管理するためのアプリケーション管理モジュール905を有する。各種機能を実現するアプリケーション906は、このアプリケーション管理モジュール905(使用量管理手段)の管理下で動作する。アプリケーションをインストール・アンインストールするためのアプリケーションであるアプリケーションインストーラ907もアプリケーション管理モジュール905上で動作する。各アプリケーション906はアプリケーション管理モジュール905経由で汎用カウンタ制御API904を利用することが可能である。なお、これらのソフトウェアはコア部10内にあるCPU(図示省略)上で実行される。
【0049】
次に図10、並びに、図11を利用してホストコンピュータ11に蓄積されているアプリケーションを複合機100にインストールする場合の、アプリケーションインストーラ907の処理について説明する。ホストコンピュータにはWebサーバが搭載され、所定のURLが有しているものとする。例えば、本実施形態においては、
「http://www.kaisha.com/appfile」なるURLにアプリケーションが配置されており、複写機の操作部14において、このURLを指定すると、ホストコンピュータ内の上記URLに対応する記憶領域から指定したアプリケーションをダウンロードし、自動的にインストールを開始する。もちろん、操作部14を用いる代わりに、外部のコンピュータ12の操作画面から入力されたURLをネットワークへ送出して、ネットワークインタフェースを介して画像形成装置が受信してコア部10に入力してもよい。
【0050】
図10は、第二の実施形態におけるアプリケーションインストーラのインストール時の画面の例を示す図である。この画面は、アプリケーションインストーラ907のメイン画面(図示省略)においてインストールを指定した場合に、複合機100の操作部14上に表示される。具体的には、テキストフィールド1001にインストールしたいアプリケーション情報が保存されているホストコンピュータ11を示すURLを入力し、1002のOKボタンを押されるのに応答して、アプリケーションインストーラは、ホストコンピュータ11からアプリケーションのダウンロードを開始し、インストール処理を行う。図10の画面でキャンセルボタンを押すことでアプリケーションインストーラメイン画面(図示省略)に戻る。
【0051】
図11は、OKボタン1002が押されてからの処理の流れを示すフローチャートを示す図である。図12は、第二の実施形態におけるカウンタ番号−アプリケーションIDテーブルの例でを示す図である。また、図13は、第二の実施形態におけるアプリケーションインストール時のカウント単位警告ダイアログ画面の例を示す図である。以下、図11乃至図13を用いて、図11に示すフローチャートを説明する。
【0052】
OKボタン1002が押下されると、まず、アプリケーションインストーラ907は、ステップS1101においてテキストフィールド1001で指定された場所にあるアプリケーションの情報を取得する。アプリケーション情報を構成する要素の例を図14に示す。
【0053】
図14は第二の実施形態におけるアプリケーション情報の構成例を示す図である。ここではアプリケーション情報の一例として、ベンダ名、アプリケーションの識別子であるアプリケーションIDとアプリケーション名、バージョン、最終更新日付、使用カウンタ数、カウンタ種別、カウントアップ単位、使用メモリ、プログラムの入手先を示すアーカイブファイルURLが記載されている。
【0054】
図11に説明を戻す。ステップS1101において、アプリケーションインストーラ907は、プログラムの属性情報の好適な一例であるアプリケーション情報を取得することが出来れば、ステップS1102へ進む。もしアプリケーション情報を取得できなかったならば、処理を終了する。本願発明の認識手段の好適な一例であるアプリケーションインストーラ907は、ステップS1102では、アプリケーション情報を取得するのに応答して、アプリケーション情報で指定されている種別のカウンタで未使用のものを判断して認識する処理を行う。もし未使用のカウンタ番号、つまり、新たに追加された、例えば外部のホストコンピュータ11などから複写機100のネットワークインタフェース部(入力部)を介して入力されたプログラムの、使用量を管理することができるカウンタを認識できなければ処理を終了する。
【0055】
一方、S1102で、アプリケーション情報に記述されているすべての種別について未使用カウンタを認識できれば、ステップS1103へ進む。ステップS1103ではアプリケーション情報に基づいて、カウントアップ単位についての確認ダイアログ(図13)を操作部に表示する。例えば、アプリケーション名とこれを一度起動した場合にカウントアップされる使用料金などを表示する。次にステップS1104に進み、ダイアログ(図13)上でどちらのボタンが押されたかを判断する。もし、中止ボタン1301が押されたと判断されたら処理を終了し、続行ボタン1302が押されたと判断されたらステップS1105に進む。ステップS1105ではアプリケーション情報に記述されているアーカイブファイルURLの情報をもとに、プログラムの本体のダウンロードを試みる。ステップS1105においてダウンロードに失敗したら処理を必要に応じてエラー表示を行い処理を終了する。一方、ダウンロードが成功したらステップS1106に進む。ステップS1106では、アプリケーションインストーラ(カウンタ管理手段)は、ステップS1105でダウンロードしたプログラムを記憶装置6に格納し、プログラムを利用できる状態にして、ステップS1107に進む。ステップS1107では、アプリケーションインストーラは、S1102で認識したカウンタ番号とアプリケーション情報に含まれるアプリケーションIDのペアを、カウンタ番号−アプリケーションIDテーブルに追加記憶して更新し、アプリケーション管理モジュール204が必要に応じてアプリケーションインストーラを認識したカウンタの使用量などを初期化し、終了する。なお、未使用カウンタが認識できない、即ち、アプリケーションインストーラは、カウンタが足りない場合には、新規アプリケーションに対応させるためのカウンタを新たに作成し、初期化して用いてもよい。
【0056】
なお、図13において、アプリケーション表示部に追加するアプリケーション名を表示し、このアプリケーションが複写機100の提供する機能である、スキャン機能、コピー機能を利用した場合のカウントアップ情報(例えば、課金情報)をカウントアップ情報表示部1304に表示するので、ユーザは、このアプリケーションの実行に際して、機能を利用させるかに応じたカウントアップ情報を確認した上でアプリケーションをインストールすることが出来る。
【0057】
図12は第二の実施形態におけるカウンタ番号−アプリケーションIDテーブルの例であり、それぞれのカウンタに付与されるカウンタ番号と、アプリケーションの識別子の好適な一例であるアプリケーションID(アプリID)とを対応付けたテーブルが、モノクロプリンタ機能、カラープリンタ機能、モノクロコピー機能、カラーコピー機能、スキャナ機能毎に用意されている様子を示している。なお、画像形成装置が提供する機能はこれらに限定されるものではなく、例えば、ステイプル機能、製本機能など、フィニッシングに関する機能も含み、画像形成装置が提供する機能であって、各機能の使用量(例えば、使用回数、使用時間)を認識できるものであればどのようなものであってもの適用可能である。ここで、0xFFFFFFFFは、カウンタが使用されていない状態であることを示すコードである。この例では、図14のアプリケーション情報を持つアプリケーションが一つだけ画像形成装置にインストールされている状況を示しており、カウンタ番号1のスキャンカウンタとカウンタ番号1の汎用カウンタが、アプリケーションIDが11であるアプリケーションに割り当てられ、その他のカウンタは未使用であることを示している。このようなテーブルを持つことにより、特定のアプリケーションが画像形成装置の機能を利用して所定の動作(例えばスキャン機能の動作、コピー機能の動作、プリント機能の動作、フィニッシング機能の動作など)を引き起こした際に、上記テーブルによって定められたカウンタ番号を有するカウンタをカウントアップさせて、アプリケーション毎の使用量を管理することが出来る。
【0058】
このように、複写機100には、カウンタを用いて前記プログラムごとに使用量を管理するアプリケーション管理モジュール204が備えられている。そして、アプリケーションインストーラ206は、複写機100に前記アプリケーションの属性を示す情報が入力されるのに応答して、追加されるプログラムの識別情報の一例であるアプリケーションIDに対応するアプリケーションの使用量を管理することができるカウンタを認識する。
【0059】
そして、アプリケーション管理モジュールは、前記追加されたプログラムを、アプリケーションインストーラ206が認識したカウンタに対応づけて前記カウンタを管理する。
【0060】
ここで、プログラムを識別するための情報とは、そのプログラムを識別できるすべての情報を含む。例えば、アプリケーションプログラムであれば、アプリケーションID,アプリケーション名、が考えられるが、ファイルの形で提供されるアプリケーションプログラムのモジュールそれ自体は、アプリケーションが格納されたモジュール名・ファイル名などを含む。もちろん、これらのファイル名・モジュール名なども当然プログラムの識別情報の範疇に含まれる。従って、アプリケーション情報と一体となったプログラムモジュール自体を、先に画像形成装置内にネットワークインターフェースを介して入力し、画像形成装置内の記憶装置に記憶するのに応答して、当該プログラムモジュールにカウンタを対応付けるか否かを判断することも考え得る。
【0061】
インストールされたアプリケーションは、第一の実施形態と同様に、ジョブ処理を指示するコマンド群(図5)を実行することにより、リーダ部1・プリンタ部2、フィニッシャ部15等を制御することができ、種々の複写機の提供する機能を実現することが可能となっている。詳細は第一の実施形態において説明したため、ここでは省略する。
【0062】
図15は、第二の実施形態において、アプリケーション管理モジュールにおける、カウントアップが行われる際のカウンタ更新手段における処理の流れを示すフローチャートを示す図である。以下、図15のフローチャートを利用して各カウンタにカウントアップ要求がきた際の処理について説明する。まず、アプリケーション管理モジュールは、ステップS1501において、例えばコア部からカウントアップ要求を受け取り、ステップS1502に進む。ステップS1502では、更新要求元のアプリケーションIDを取得し、ステップS1503に進む。ステップS1503では変数nに0を代入し、ステップS1504に進む。ステップS1504ではテーブルを参照し、n番のカウンタがステップS1502で取得したアプリケーションIDのアプリケーションに割り当てられているかどうかをチェックする。もし、n番のカウンタがステップS1502で取得したアプリケーションIDのアプリケーションに割り当てられていればステップS1505へ進む。
【0063】
ステップS1505では、アプリケーション管理手段は、アプリケーション情報から現在のジョブ種別におけるカウントアップ単位を取得する。つぎにステップS1506に進み、n番のカウンタをステップS1505で取得した単位でカウントアップし、ステップS1509へ進む。ステップS1509では,アプリケーション管理手段は、総数カウント用のカウンタをアプリケーション情報で指定されている単位でカウントアップし、処理を終了する。一方、ステップS1504において、アプリケーション管理手段は、n番カウンタがステップS1502で取得したアプリケーションIDのアプリケーションに割り当てられていないと判定した場合は、ステップS1507に進む。ステップS1507では変数nがアプリケーション用カウンタの総数Nよりも小であるかどうかを判定する。もし、n<NであるならステップS1508でnの値を1つ増やしステップS1504へ戻る。ステップS1507においてn<Nを満たさなかった場合はステップS1509へ進み、総数カウント用カウンタだけをアプリケーション情報で指定されている単位でカウントアップして処理を終了する。
【0064】
図16は、第二の実施形態における複写機が有しているカウンタの例を示す図である。この例では、コピーカウンタ(モノクロ)、スキャンカウンタ、プリントカウンタ(モノクロ)、カラーコピーカウンタ、カラープリントカウンタ、汎用カウンタの6種類のカウンタがあり、そのそれぞれについてトータルカウント数を示す総数カウント用カウンタが1つとアプリケーション別カウンタがN個(カウンタ番号1からN)用意されている。モノクロコピージョブが処理される場合、1枚コピーする度にコピーカウンタがカウントアップされる。なおこの時のカウンタの増分はアプリケーション情報の中で定義された分だけ増やされる。同様に、スキャンカウンタ、プリントカウンタ、カラーコピーカウンタ、カラープリントカウンタは、それぞれスキャンジョブ、モノクロプリントジョブ、カラーコピージョブ、カラープリントジョブが実行されたときに所定動作毎にコントローラによって自動的にカウントアップされる。汎用カウンタについては、アプリケーションが汎用カウンタ制御APIを通じて指示を出すことにより、アプリケーションの都合の良いタイミングでカウントアップすることができる。
【0065】
例えば、図14の状況で、アプリケーションIDが11のアプリケーションによりスキャンジョブが実行された場合、1枚スキャンする毎に図16(い)のカウンタが10ずつ増加していく。また、アプリケーションIDが11のアプリケーションがジョブを発行するたびに汎用カウンタAPIをコールすれば、アプリケーションIDが11のアプリケーションがジョブを発行するたびに図16(ろ)のカウンタが1ずつ増加することになる。
【0066】
図17は、第二の実施形態において、複写機にインストールされているアプリケーションをアンインストールする際の処理の流れを示すフローチャートを示す図である。以下、画像形成装置にインストールされているアプリケーションをアンインストールする際の処理について図17のフローチャートを用いて説明する。アプリケーションインストーラ203は、まずステップS1701において指定されたアプリケーションが動作中であるかどうかをチェックする。もし動作中であった場合は、何もせずにアンインストール処理を終了する。もし動作中でないならば安全にアンインストールすることができるので、ステップS1702へ進む。アプリケーションインストーラ203(認識手段)は、ステップS1702ではアンインストールするアプリケーションに関連付けられたカウンタの情報およびアプリケーション情報を、カウンタ番号−アプリケーションIDテーブルを検索して認識し、画像形成装置内に備えられた不揮発メモリに保存し、ステップS1703に進む。
【0067】
ステップS1703では不揮発メモリに正しく保存されたかどうかをチェックし、正しく保存できていればステップS1704へ進む。正しく保存できなかった場合には、実際にアンインストールを行わずに処理を終了する。アプリケーション管理モジュール204(カウンタ管理手段)は、ステップS1704ではカウンタ番号−アプリケーションIDテーブルを更新し、アンインストールするアプリケーションのアプリケーションIDが割り当てられているカウンタを解放して、未使用の状態にする。次にステップS1705でアプリケーションを記憶装置6の中から消去してアンインストールを行い、処理を終了する。
【0068】
以上説明したように、本実施例によれば、アプリケーションインストール時にカウントアップ情報の警告ダイアログを出すことにより、ユーザは所定動作1回につきのカウントアップ単位を納得した上でアプリケーションをインストールすることが可能になる。また、汎用カウンタをアプリケーションから利用可能にすることによって、アプリケーション毎の使用回数や処理量などを管理することも可能になる。
【0069】
また、アプリケーションのアンインストール時に、そのアプリケーション情報および利用していたカウンタの情報を機器内のメモリに保存することにより、カウント情報を損なうことなく、自由にアプリケーションのインストール・アンインストールを繰り返すことが可能となる。
【0070】
アプリケーション毎、機能毎に設定されたカウンタの上限値により、アプリケーションの所定動作を制限する実施例を、図18と図19を使用して説明する。
【0071】
図18は、第一の実施形態においてカウンタの更新が行われる際のカウンタ更新手段とカウンタ上限管理手段における処理の流れを示すフローチャートを示す図である。尚、図18は図6で示したカウンタ更新手段に上限管理手段を追加したものとなっている。図18のフローチャートを利用して、カウンタの更新が行われる際のカウンタ管理手段とカウンタ上限値管理手段における処理の流れについて説明する。
【0072】
まず、ステップS1801において、図1のコア部10からカウンタ更新要求を受け取り、ステップS1802に進む。ステップS1802では、更新要求元のアプリケーションIDを取得し、ステップS1803に進む。ステップS1803では変数nに0を代入し、ステップS1804に進む。ステップS1804ではテーブルを参照しn番のカウンタがステップS1802で取得したアプリケーションIDのアプリケーションに割り当てられているかどうか検査する。もし、n番のカウンタがステップS1802で取得したアプリケーションIDのアプリケーションに割り当てられていればステップS1805へ進む。ステップS1805では現在のジョブ種用のn番カウンタを更新し、ステップS1809へ進む。一方、ステップS1804において、n番カウンタがステップS1802で取得したアプリケーションIDのアプリケーションに割り当てられていないと判定された場合は、ステップS1807に進む。ステップS1807では変数nがアプリケーション用カウンタの総数Nよりも小であるかどうかを判定する。もし、n<NであるならステップS1808でnの値を1つ増やしステップS1804へ戻る。ステップS1807においてn<Nを満たさなかった場合はステップS1806へ進み、ステップS1806において総数カウント用カウンタだけを更新して処理を終了する。
【0073】
ステップS1809では、図19で示されるカウンタ上限値表の現在のジョブ種用のn番上限値を参照し、ステップS1805で更新されたカウンタ値と比較する。比較した結果、カウンタ値が上限値を超えていない場合は、ステップS1806で総数カウンタを更新して処理を終了する。カウンタ値が上限値を超えている場合は、ステップS1810において図1のコア部10に対してジョブの強制終了を指示し、ステップS1810に進む。ステップS1811では、ステップS1802で取得したアプリケーションIDに対応するジョブを発行したアプリケーション(図2の205)に対して、ジョブが強制終了されたことを表すイベントを送付することにより通知し、ステップS1805において総数カウンタを更新して処理を終了する。
【0074】
本実施例ではステップS1810において、ジョブを強制終了しているが、他の実施例としてはジョブを強制終了することなく、単にステップジョブを発行したアプリケーションに対して、カウンタが上限値を超えたことを表すイベントを送付することにより通知するなど、アプリケーションが所定動作を引き起こすようにしても良い。所定動作として、通知を受けたアプリケーションは、それ以降の新規ジョブを発行しないか、あるいは、ユーザに対して、警告の報知、例えば、実行対象となったアプリケーションの使用権が不足している旨の表示、該アプリケーションについての新たにライセンスファイルのインストールを促すダイアログ画面を複合機100の操作部14に表示、またはこれらの内容をコンピュータに備えられたスピーカ(図示省略)の音声で通知するなどの処理を行うことができるし、同様にダイアログ画面を表示するための表示情報をホストコンピュータやネットワークサーバに送信して、ネットワークサーバ又はホストコンピュータの表示画面に表示するようにしてもよい。
【0075】
図19は、複合機100が有しているカウンタ上限値管理表の例を示す図である。この例では、コピーカウンタ、プリントカウンタ、スキャンカウンタの3種類のカウンタ上限値があり、そのそれぞれについてアプリケーション別カウンタがN個(カウンタ番号1からN)用意されていることを示している。
【0076】
カウンタ番号−アプリケーションIDテーブルの内容が図4のようになっている場合、図19(い)の上限値がアプリケーションID11番のアプリケーションに参照され、図19(ろ)の上限値がアプリケーションID51番のアプリケーションによって参照される。例えば、アプリケーションID11番のアプリケーションがコピージョブを実行した場合、図19(は)の上限値が参照される。同様にプリントジョブを実行した場合は図19(に)の上限値が、スキャンジョブを実行した場合は図7(ほ)の上限値が参照される。また、リモートホストからプリントジョブ・スキャンジョブ・コピージョブなどが投入された場合、もしジョブの発行元のアプリケーションIDが既にテーブルに登録されていればアプリケーションIDに対応する上限値が参照される。図7の説明で示したように、ジョブ発行元のアプリケーションIDがテーブルに登録されていない場合にはそのジョブを拒否されることになっているため、この場合の上限は登録する必要がない。例えば、画像から文字情報を認識し、抽出してASCIIコードなどコード化されたテキスト情報を含むデータを出力するOCRアプリケーションと、OCRアプリケーションと関連付けられたスキャナ機能の組を考えることが出来る。複合機の機能と、この機能に付加価値を付けることのできるアプリケーションの組合せに基づき、使用量の制限や把握、課金などができる。つまり、アプリケーション管理モジュール905は、OCRアプリケーションのプログラムと、複写機100のスキャナ機能との組合せにおいて複合機100を利用できないよう上限値が設定されている場合に、APIを介してコントローラを制御し、複合機100の機能を制限するのである。他に、アプリケーションプログラムと複合機100の機能の組合わせの例としては、高度な画像処理アプリケーションとプリンタ機能、画像処理アプリケーションとスキャナ機能、表計算や文書作成のためのオフィスアプリケーションとプリンタ、ファクシミリ、スキャナなどの組合せが考えられる。
【0077】
このように、画像形成装置が提供する各機能と、各機能を利用するアプリケーションの組合わせの数だけのカウント値および上限値を管理し、また、それぞれのカウント値をアプリケーション毎、各機能ごとに合計してカウントし同時に上限値を管理することが出来る。これにより、アプリケーションの所定動作ごとに、使用量をカウントおよび上限値を管理することができる。
【0078】
例えば、コピーアプリケーションがカウンタ番号6に対応付けられているとすると、このコピーアプリケーションの使用により、カウンタ番号6に対応するコピー用カウンタがカウントアップされ、カウンタ番号6に対応するコピー用上限値によって制限される。上限値の設定が、所定のライセンス管理機構により行われる場合、アプリケーションの使用可能回数をライセンスによって付与することが可能となり、アプリケーションの使用回数に応じた事前課金を行うことが可能となる。尚、画像形成装置が提供する機能は、コピー、プリント、スキャンだけでなく、ファックス送信・受信や、フィニッシング、製本、パンチ穴あけなどのいわゆる製本処理であってもよい。つまり、どのアプリケーションがどの機能を用いるかによって、つまり、所定のアプリケーションと、該アプリケーションによって操作される機能の組ごとに上限値を設けることができる。これにより、該アプリケーションによって所定の機能を制御することを制限したり、またアプリケーションがこれらの機能を制御することに基づいて発行されるジョブの出力を制限したり、強制的に消去したりすることが出来るのである。
【0079】
(他の実施形態)
本願図面及び明細書中に示した図3、図6、図8、図11、図15、図17、図18に示す処理が、外部からインストールされるプログラムによって、情報処理装置、画像形成装置によって遂行される。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を各情報処理装置、画像形成装置に供給される場合でも本発明は適用されるものである。
【0080】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0081】
この場合、記憶媒体から読み出されたプログラムコード自体が本実施形態の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本実施形態を構成することになる。プログラムコードを供給するための記憶媒体としては、たとえば、フロッピィーディスク、ハードディスク、光ディスク、光磁気ディスク、DVD、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM等を用いることができる。
【0082】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0083】
本願発明の各実施形態によれば、画像形成装置上に複数のカウンタを用意し、アプリケーションとカウンタとの対応付けをアプリケーションのインストール時に動的に行い、アプリケーションのインストール時に未使用カウンタを動的に割り当てることができる。そして、アンインストール時にカウンタを解放することにより、アプリケーションの追加・削除が行われるような状況下においてもアプリケーション毎のカウント情報を適切に管理することが可能となる。また、これにより、画像形成装置上アプリケーションを開発したアプリケーションベンダに対して、アプリケーションの使用量に応じた課金を適切に分配することも可能になる。
【0084】
また、画像形成装置が提供するそれぞれのプログラムが提供する各処理について、カウント情報を個別に管理できるようにし、各プログラムの使用量を容易に管理できるような画像形成装置を提供することができる。
【0085】
さらに、画像形成装置が提供するそれぞれのプログラムが削除されるのに応じて、カウンタを解放するようにカウンタを管理するので、不必要なカウンタの増加を防ぎ、現在画像形成装置において実際に使用されている各プログラムの使用量を容易に管理できるような画像形成装置を提供することができる。
【0086】
さらに、画像形成装置が提供するそれぞれのプログラムの属性情報が追加されるに応じて、カウンタを解放するようにカウンタを管理するので、プログラムを確実にカウンタに対応付け、テーブルとして管理するので、現在画像形成装置において現に使用されている各プログラムの使用量を確実に取得・表示して管理できるような画像形成装置を提供することができる。
【0087】
さらに、各プログラムが利用する画像形成装置の機能ごとに使用量を管理するので、アプリケーションと、アプリケーションが提供する処理と複写機が提供する機能のよって付加された価値に応じて課金、又は、使用量管理ができるようになる。
【0088】
インタプリンタによって解釈実行される、移植性・再利用性の高いカウンタ制御APIを提供したので、カウンタ制御プログラムの作成が容易になり、また、カウンタ制御プログラムの再利用・他の画像形成装置への移植が容易となる。
【0089】
【発明の効果】
画像形成装置が提供するそれぞれのプログラムが提供する機能に応じて、プログラムの使用量を管理する仕組みを提供するので、画像形成装置の機能やプログラム構成に基づいて、各プログラムの利用状況を適切に把握できる画像形成装置を提供することが出来る。
【図面の簡単な説明】
【図1】第一の実施形態に係るシステム全体を示す構成図である。
【図2】第一の実施形態における複写機のソフトウェアモジュール階層の好適な一例を示す図である。
【図3】第一の実施形態における図1に示す複合機にアプリケーションがインストールされる際の処理の流れを示すフローチャートを示す図である。
【図4】第一の実施形態におけるカウンタ番号−アプリケーションIDテーブルの例を示す図である。
【図5】ジョブ処理を指示するコマンド群の一例を示す図である。
【図6】第一の実施形態においてカウンタの更新が行われる際のカウンタ更新手段における処理の流れを示すフローチャートを示す図である。
【図7】第一の実施形態における複合機が有しているカウンタの例を示す図である。
【図8】第一の実施形態において、複写機に既にインストールされているアプリケーションをアンインストールする際の処理の流れを示すフローチャートを示す図である。
【図9】第二の実施形態における複写機のソフトウェアモジュール階層の構成を示した図である。
【図10】第二の実施形態におけるアプリケーションインストーラのインストール時の画面の例を示す図である。
【図11】第二の実施形態において、図10のOKボタンが押されてからの処理の流れを示す不フローチャートを示す図である。
【図12】第二の実施形態におけるカウンタ番号−アプリケーションIDテーブルの例を示す図である。
【図13】第二の実施形態におけるアプリケーションインストール時のカウント単位警告ダイアログ画面の一例を示す図である。
【図14】第二の実施形態におけるアプリケーション情報の構成例を示す図である。
【図15】第二の実施形態において、カウントアップが行われる際のカウンタ更新手段における処理の流れを示すフローチャートを示す図である。
【図16】第二の実施形態における複写機が有しているカウンタの例を示す図である。
【図17】第二の実施形態において、複写機にインストールされているアプリケーションをアンインストールする際の処理の流れを示すフローチャートを示す図である。
【図18】アプリケーションごとのカウンタ更新手段とアプリケーションカウンタ上限管理手段における処理を示す図である。
【図19】カウンタ上限値管理表を示す図である。
【符号の説明】
1 リーダ部
2 プリンタ部
3 画像入出力制御部
4 ファクシミリ部
5 ファイル部
6 記憶装置
7 ネットワークインタフェース部
8 フォーマッタ部
9 画像メモリ部
10 コア部
11 ホストコンピュータ
12 ネットワークサーバ
13 課金サーバ
14 操作部
15 フィニッシャ部
100 複合機
201 オペレーティングシステム
202 コントローラ
203 インタプリタ
204 アプリケーション管理
205 アプリケーションプログラム
206 アプリケーションインストーラ
501 ジョブ投入開始コマンド
502 ジョブ属性設定コマンド
503 ジョブデータ送信コマンド
504 ジョブ投入完了コマンド
511 モード
512 付加情報
901 オペレーティングシステム
902 コントローラ
903 インタプリタ
904 カウンタAPI
905 アプリケーション管理プログラム
906 アプリケーション
907 アプリケーションインストーラ
1001 URL入力部
1002 OKボタン
1301 中止ボタン
1302 続行ボタン
1303 アプリケーション名表示部
1304 カウントアップ情報表示部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image forming apparatus in which a program for controlling processing in an image forming apparatus is installed, a method in the image forming apparatus, and a control program.
[0002]
[Prior art]
Conventionally, as a mechanism for counting the total number of outputs of an image forming apparatus, it has been general to use a hard counter having a mechanical structure. The hard counter is a means suitable for a billing system for services using the hard counter, since it is difficult to reduce the count value once the count has been counted up and it is difficult to falsify the count value. After that, the functions of the image forming apparatus become complicated, and there is a strong demand to divide the service billing system according to various modes, for example, small size / large size, color / black and white, copy / print / FAX. The number of hard counters was simply increased to meet the demand. After that, a soft counter capable of realizing a large number of counters at low cost and space was proposed. A soft counter is a soft counter that stores a count value in a semiconductor memory.
[0003]
Previously, soft counters were susceptible to losing information in memory due to their structure, and had low reliability.However, multiple storage means were prepared and the same value was stored in each other, so that the internal information in a certain storage means In the case where is lost, reliability is improved by a method of compensating information using information in other storage means. Therefore, it is possible to prepare a soft counter for each function to be counted and to hold accurate count information for each function. Hereinafter, the soft counter is simply referred to as a counter. In the present invention, the counter is, for example, a printer, a facsimile, a scanner, a copy, which is a preferable example of an image forming apparatus, or the number of executions of a program in the multifunction peripheral, the number of operations of the image forming apparatus, the use of an application program. It is used as a generic term for means that can measure and store various usages such as time.
[0004]
[Problems to be solved by the invention]
A printing apparatus is being developed in which a counter is provided for each of various programs installed in an image forming apparatus and the number of operations of an application is managed. In addition, development is underway so that users can receive various services by executing various programs installed in the printing apparatus. For example, as described in Japanese Patent Application Laid-Open No. 2001-92779, as a result of the improvement of software technology used in an image forming apparatus, it is easy to add, change, or delete various software that realizes processing provided by the image forming apparatus. It is becoming. In addition, a printing apparatus having a counter fixedly provided for each application and counting the number of executions of the application is being considered.
[0005]
However, since it becomes possible to add / change / delete various programs such as applications and control programs to be mounted and data, it is necessary to fixedly assign a counter in advance for each process provided by the image forming apparatus as described above. Then there is a problem.
[0006]
For example, there is an increasing number of opportunities for a program that provides processing in the image forming apparatus to change, but it is not possible to properly manage the functions provided by the image forming apparatus by performing conventional static counter management. There's a problem. Furthermore, printing apparatuses that provide complex functions have appeared, but how to manage the usage of these functions for each function becomes a problem.
[0007]
Accordingly, an object of the present invention is to provide an image forming apparatus that can flexibly cope with a change in the configuration of functions provided by various programs installed in the image forming apparatus.
[0008]
In particular, in the embodiment of the present application, it is possible to dynamically manage a counter for managing the amount of use of the program in accordance with a change in processing provided by a program in the image forming apparatus, and to implement functions and program configuration of the image forming apparatus. It is still another object to provide an image forming apparatus which can appropriately grasp the use status of each program even if the program changes.
[0009]
Further, in the embodiment of the present application, for each process provided by each program provided by the image forming apparatus, for example, it is possible to set an upper limit value of the usage amount of the program so that the usage amount of each program can be easily managed. It is still another object to provide a simple image forming apparatus.
[0010]
Further, in the embodiment of the present application, it is further provided to provide a mechanism in which the right to use the application can be given in advance to the user in the form of license information for each type of application and / or each device to be used. The purpose of.
[0011]
[Means for Solving the Problems]
In order to achieve at least one of the above objects, the present invention provides the following means.
[0012]
In an embodiment of the present application, for example, in an image forming apparatus in which a program for controlling processing provided by the image forming apparatus is installed, a usage management unit that manages usage of each program using a counter, and the program Corresponding to the identification information, a recognizing means for recognizing a counter capable of managing the amount of use of the program, a counter managing means for managing the counter by associating the program with the counter recognized by the recognizing means, Setting means capable of setting an upper limit of the usage amount for each program to the usage management means; and processing in the image forming apparatus based on the upper limit value of the usage amount set by the setting means for each type of the program. An image forming apparatus comprising a control unit for controlling the image forming apparatus.
[0013]
Then, when a job using a predetermined function is input from an application in the image forming apparatus, if the job exceeds the upper limit set in the image forming apparatus, the processing is performed. If not, the processing is limited.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings along with examples.
[0015]
(First embodiment)
FIG. 1 is a configuration diagram illustrating the entire system according to the first embodiment. In FIG. 1, a multifunction peripheral 100, which is a preferable example of an image forming apparatus, is a multifunction peripheral having a scanner, a printer, a copy function, and a facsimile function integrated therein. 12 and a host computer 11 which is a preferred example of an information processing apparatus. Further, the multifunction peripheral 100 is connected to another communication device via a public line network. The multifunction peripheral 100 is not limited to the illustrated example, but may be a digital copying machine, a printer with a copy function, or the like. The number of peripheral devices connected to the network is not limited to the illustrated example. Further, the image forming apparatus is not limited to the multifunction peripheral 100, and includes a single-function device capable of forming an image, such as a printing device such as a facsimile, a printer, and a scanner device, and also includes a controller built in each device. . The counter may be attached to a network board of various printing apparatuses, for example, the network interface unit 7 or the like.
[0016]
The multifunction peripheral 100 mainly includes a reader unit 1, a printer unit 2, and an image input / output control unit 3. The reader unit 1 is connected to the printer unit 2 and the image input / output control unit 3, reads an image of a document, and outputs the read image data to the printer unit 2 or the image input / output control unit 3. The printer unit 2 prints image data output from the reader unit 1 and the image input / output control unit 3 on recording paper. The image input / output control unit 3 is connected to an external network or a public line network to input / output image data, accumulate a usage amount when the user uses the MFP 100, and further connect to the network. It analyzes and controls the job (print command etc.) from the host computer 11 that has been executed.
[0017]
The image input / output control unit 3 includes a facsimile unit 4, a file unit 5, a network interface unit 7, which is an example of an acquisition unit, a PDL formatter unit 8, and a core unit 10. The facsimile unit 4 is connected to the core unit 10 and the public line network, decompresses compressed image data received from the public line network, and transmits the decompressed image data to the core unit 10. Further, it compresses the image data transmitted from the core unit 10 and transmits the compressed image data via the public line to the public line network. The file unit 5 is connected to the core unit 10 and the storage device 6, compresses the image data transmitted from the core unit 10, and stores the compressed image data in the storage device 6 together with a keyword for searching. In the present embodiment, a hard disk drive is used for the storage device 6, which is a preferred example of the storage means, but is not limited to this. Further, the file unit 5 searches the compressed image data stored in the storage device 6 based on the keyword transmitted from the core unit 10, reads out the compressed image data, decompresses the data, and transmits the data to the core unit 10. I do.
[0018]
The network interface unit 7 is an interface between the core unit 10 and the host computer 11 and the network server 12 connected via an external network. The reception of job control data from the host computer 11 and the transmission of image data and the like to the host computer 11 are performed via the network interface unit 7. The job control data includes a job control command transmitted together with the PDL data, and includes, for example, data in which PDL data is developed and printed as image data, and then stapled and discharged. A database called MIB (Management Information Base) is constructed in the network interface unit 7, and communicates with the host computer 11 on the network via SNMP (Simple Network Management Protocol) to enable management of the printer unit 2. ing. Further, the network interface unit 7 receives an installation request, an uninstallation request, a start request, a stop request, etc. of an application for realizing various functions on the image forming apparatus. It is possible to control applications.
[0019]
The formatter unit 8 is connected to the core unit 10 and expands PDL data transmitted from the host computer 11 into image data that can be printed by the printer unit 2.
[0020]
The image memory unit 9 temporarily stores information from the reader unit 1 and information sent from the host computer 11 or the like via the network interface unit.
[0021]
The core unit 10, which is a preferred example of a unit serving both as a storage unit and an analysis unit, includes a reader unit 1, a facsimile unit 4, a file unit 5, a network interface unit 7, a PDL (Page Description Language) formatter. The job control data is analyzed together with the control of data and the like flowing between the units 8, and information such as the user's usage status, number of copies, number of prints, and number of scans is stored.
[0022]
The host computer 11 (information processing device) is a personal computer or a workstation (PC / WS), and the network server 12 is a server that controls the entire network. The charging server 13 as an example of the external information processing apparatus includes a server for managing charging information of the multifunction peripheral 100. The accounting server device 13 can display and manage the usage amount counted by the counter of the copying machine 100 on its display. The operation unit 14 includes an operation panel, and can select and input, for example, an application to be executed using a touch panel and a function of a copier to be used by the application. The execution command of the application can be input from the operation unit 13 of the copying machine 100, but can also be input from the network server 12, which is an example of the external information processing apparatus. Then, the used amount of the executed application is counted by a counter described in detail after the copying machine 100.
[0023]
FIG. 2 is a diagram illustrating a preferred example of a software module hierarchy of the image forming apparatus according to the first embodiment. The software module has an operating system (OS) 201. The OS 201 has a controller module 202 for controlling various devices, and an interpreter module 203 for sequentially executing programs on the controller module 202. Above the interpreter module 203, there is an application management module 204 for managing a plurality of dynamically removable application groups. An application 205 that implements various functions operates under the management of the application management module 204. An application module for providing a copier service via the interpreter module 203 can be operated. For example, in response to the application module acquired from the external server device being incorporated in the image forming apparatus, the application management module 204 adds the application 205 as a management target or deletes the application program from the image forming apparatus. In response, the application management module 204 can remove the application 205 from the management target.
[0024]
Further, an application installer 206 for installing and uninstalling the application 205 can also be operated on the application management module 204. The application is a preferable example of the program, and provides various processes to the user in cooperation with the image forming apparatus. For example, units such as an application that processes and compresses images, an application program that manages departments such as printing restrictions, a plug-in module that is incorporated as a part of the application, a program that remotely manages a copier, and a finisher for a copier An application that controls and performs bookbinding, a conversion / analysis program for specific document data, or a document creation program such as word processing software, a schedule management program, a spreadsheet program, a database management program, and a print service via the Internet. A server program or the like for achieving the above can be considered.
[0025]
These software are executed on a CPU (not shown) in the core unit 10. In the above embodiment, the interpreter and the OS are incorporated in the copying machine. Of course, the configuration is not limited to the above-described module configuration as long as the application 205 operates on the image forming apparatus and the application management module 204 operates properly.
[0026]
FIG. 3 is a flowchart illustrating a process flow when an application is installed in the multifunction peripheral 100. Next, a process in the application installer 206 when a new application is installed in the multifunction peripheral 100 from the host computer 11 will be described with reference to FIG. When an instruction to install an application is input on the operation screen of the host computer 11 by a pointing device (not shown), which is a preferred example of the instruction input unit, the processing in FIG. 3 is started. First, in step S301, application information is received from the host computer 11. The application information includes, for example, a vendor name, an application ID, an application name, a used memory, a version number, and a last update date, which are suitable examples of program attribute information. This application information is used to manage the usage of an application, which is a preferred example of a program.
[0027]
Upon receiving the application information including the application ID, which is a preferable example of the program attribute information described above, in step S301, the application installer 206 performs the process in step S302. In S302, the application installer 206 determines whether the same application has already been installed. The application installer 206 acquires the application information received in step S301 and compares it with the application information of the already installed application to determine whether the same application has already been installed. If the application installer 206 determines in step S302 that the same application exists, the process ends. If it is determined that the same application does not exist, the process proceeds to step S303. In step S303, the application installer 206 (determination means) substitutes 0 for a variable n, and proceeds to step S304. In step S304, the application installer 206 determines whether the n-th application counter is in use, and if not, proceeds to step S305. In step S305, the counter number-application ID table is updated to associate the counter number n with the application ID. In the present application, the counter means a counter that counts the number of times of execution, which is an example of the usage amount of an application. The counter also includes a measurement storage unit that can count and hold a use time such as a length of time during which the application is running.
[0028]
FIG. 4 is a diagram showing an example of the counter number-application ID table. The counter with the counter number 1 corresponds to the application with the application ID 11, the counter with the counter number 3 corresponds with the application with the application ID 51, and the other counters are unused. After updating the table in step S305, the process proceeds to step S306. In step S306, the application program is downloaded from the host, stored in the storage device 6 in the multifunction peripheral 100, the application can be used, and the process ends. On the other hand, if it is determined in step S304 that the counter n is in use, the process proceeds to step S307. In step S307, the value of the variable n is increased by one, and the process proceeds to step S308. In step S308, it is determined whether the value of the variable n is smaller than the total number N of application-specific counters provided in the multifunction peripheral 100. If the value of the variable n is smaller than the total number N of the application-specific counters, the process returns to step S304; otherwise, the process ends.
[0029]
The application installed in this way can control a reader unit, a printer unit, and the like by executing a command group instructing job processing, and can realize various functions.
[0030]
FIG. 5 is an example of a command group for instructing job processing. The command group instructing job processing includes a job submission start command 501, a job attribute setting command 502, a job data transmission command 503, and a job submission completion command 504. The job submission start command 501 is a command for notifying the controller of the start of job submission, and includes a mode 511 and additional information 512 corresponding to the mode as parameters. Upon receiving the job submission start command 501, the controller starts preparations for performing job processing. The job attribute setting command 502 is a command for setting an attribute indicating a function or a state of a job. The attributes include information such as an application ID, a job name, a job type, a data format, and paper selection. A plurality of attributes can be successively set with this command.
[0031]
The job data transmission command 503 is a command for transmitting data to be subjected to job processing such as image data. However, depending on the content of the job, there is a case where the data to be processed is not required. In this case, this command may be omitted. The job submission completion command 504 is a command for indicating that all the commands for instructing job processing have been sent. A series of commands from a job submission start command 501 to a job submission completion command 504 is interpreted as one job processing instruction. When the job processing instruction is issued, the controller controls the reader unit 1, the printer unit 2, the file unit 5, etc., performs appropriate processing according to the given attributes, and issues an appropriate counter update request according to the job type. put out. Since the job start command includes information on the application ID of the application that executed the command, the controller and the counter updating unit can determine from which application the current job was executed. ing.
[0032]
FIG. 6 is a flowchart illustrating a flow of processing in the counter updating unit when the counter is updated in the first embodiment. The flow of processing in the counter management means when the counter is updated will be described with reference to the flowchart of FIG. First, in step S601, a counter update request is received, and the process proceeds to step S602. In step S602, the application ID of the update request source is obtained, and the process proceeds to step S603. In step S603, 0 is substituted for the variable n, and the process proceeds to step S604. In step S604, it is checked whether or not the n-th counter is assigned to the application having the application ID acquired in step S602 by referring to the table. If the n-th counter has been assigned to the application with the application ID acquired in step S602, the process proceeds to step S605. In step S605, the n-th counter for the current job type is updated, and the process proceeds to step S606. In step S606, the counter for counting the total number is updated, and the process ends. On the other hand, if it is determined in step S604 that the n-th counter has not been assigned to the application having the application ID acquired in step S602, the process proceeds to step S607. In step S607, it is determined whether the variable n is smaller than the total number N of the application counters. If n <N, the value of n is incremented by one in step S608, and the process returns to step S604. If n <N is not satisfied in step S607, the process proceeds to step S606, where only the total count counter is updated, and the process ends.
[0033]
FIG. 7 is a diagram illustrating an example of a counter included in the multifunction peripheral 100. In this example, there are three types of counters, a copy counter, a print counter, and a scan counter. For each of them, one total count counter indicating the total count number and N application-specific counters (counter numbers 1 to N) are prepared. It indicates that. When a copy job is processed, the copy counter is incremented each time one copy is made. Similarly, in a scan job, a scan counter is incremented each time one sheet is scanned, and in a print job, a print counter is incremented each time one sheet is printed.
[0034]
When the contents of the counter number-application ID table are as shown in FIG. 4, the counter of FIG. 7 (i) is used for the application of application ID 11 and the counter of FIG. used. For example, when the application with the application ID No. 11 executes the copy job, the counter of FIG. 7A and the total counter are counted up. Similarly, when the print job is executed, the counter and the general counter in FIG. 7 (N) are counted up, and when the scan job is executed, the counter and the general counter in FIG. 7 (H) are counted up. When a print job, scan job, copy job, etc. is input from the remote host, if the application ID of the job issuer is already registered in the table, the counter corresponding to the application ID and the counter for the total count are counted. Will be up. If the application ID of the job issuer is not registered in the table, the job is rejected.
[0035]
In this way, the count values of the number of combinations of the functions provided by the image forming apparatus and the applications using the functions are managed, and the count values are totaled for each application and for each function. You can count. Accordingly, if a process using a specific function of the image forming apparatus in the application is called a predetermined operation, the usage amount can be counted for each predetermined operation, not to mention charging for each application. For example, assuming that a specific image processing application is associated with the counter number 6, a predetermined image processing using this image processing application, for example, a case where a digital watermark is inserted and a copy is performed. The copy counter corresponding to the counter number 6 is counted up. As a result, it is possible to manage the usage amount of the predetermined operation of performing copying using the image processing application. Of course, the application may be not only an image processing application but also an application for processing an XML document or processing a predetermined document file. Further, the function provided by the image forming apparatus may be not only copying, printing, and scanning, but also so-called bookbinding processing such as finishing, bookbinding, and punching.
[0036]
Next, a process for uninstalling an application already installed in the image forming apparatus and assigned to a counter having an application ID will be described. FIG. 8 is a flowchart showing a processing flow when uninstalling an application already installed in the copying machine 100.
[0037]
First, it is checked in step S801 whether the designated application is operating. If it is running, the uninstallation process ends without doing anything. If it is not in operation, it can be safely uninstalled, and the process proceeds to step S802. In step S802, the information of the counter associated with the application to be uninstalled and the application information are transmitted to the accounting server 13, and the process proceeds to step S803. In step S803, it is checked whether or not the transmitted information has been correctly received by the charging server 13. If the information has been correctly received, the process proceeds to step S804. If not correctly received, the process ends without actually uninstalling. In step S804, the counter number-application ID table is updated, and the counter to which the application ID of the application to be uninstalled is assigned is unused. In step S805, the application is deleted from the storage device 6 and uninstalled, and the process ends.
[0038]
As described above, according to the present embodiment, a counter that is not used when an application is installed is dynamically allocated, and when a counter is incremented, a counter corresponding to the application that caused the processing is counted up. It is possible to manage the count of copy, print and scan for each application.
[0039]
In addition, when the application is uninstalled, the application information and the information of the used counter are stored in the billing server, so that the application can be repeatedly installed and uninstalled without losing the count information. ing.
[0040]
In this embodiment, if the same application is already installed at the time of installation, the process is terminated. However, the version information may be determined, and if the new application is a new version, the application may be automatically installed. Alternatively, the user may be allowed to select whether to continue the installation process.
[0041]
In the present embodiment, the application installer 206 is a type of application that runs on the application management module 204, but may be a module incorporated in the controller 202.
[0042]
Further, in this embodiment, three types of counters, ie, a copy counter, a print counter, and a scan counter, are prepared. However, the present invention is not limited to this, and any number of types of counters may be used. The counter may be finely divided according to the size or the like.
[0043]
Further, in the present embodiment, one application is assigned to one set of counters. However, a group ID or the like may be introduced so that one application can share one counter set.
[0044]
In the present embodiment, all counters other than the total count counter are dynamically assigned. However, counters may be fixedly assigned to applications installed in the image forming apparatus in advance.
[0045]
Further, in the present embodiment, an external job having an application ID not registered in the table is rejected. However, the job may be accepted by counting up only the total counter. good.
[0046]
(Second embodiment)
Next, a second embodiment of the image forming apparatus according to the present invention will be described.
[0047]
FIG. 1 also shows the configuration of the image forming apparatus according to the second embodiment. Since this figure has been described in detail in the first embodiment, the description is omitted here. However, in the second embodiment, the host computer 11 is a file server in which applications are stored. Hereinafter, parts that are particularly different from the first embodiment will be described.
[0048]
FIG. 9 is a diagram illustrating a configuration of a software module hierarchy of the copying machine 100 according to the second embodiment. The software module has an operating system (OS) 901. On the OS 901, there is provided a controller module 902 for controlling various devices, an interpreter module 903 for sequentially executing programs, and a general-purpose counter control application program for controlling general-purpose counters (described later). An interface (hereinafter, general-purpose counter control API) 904 is provided. Above the interpreter module 903 and the general-purpose counter control API 904, there is an application management module 905 for managing a group of dynamically detachable applications. An application 906 that realizes various functions operates under the management of the application management module 905 (usage management unit). An application installer 907, which is an application for installing / uninstalling an application, also operates on the application management module 905. Each application 906 can use the general-purpose counter control API 904 via the application management module 905. The software is executed on a CPU (not shown) in the core unit 10.
[0049]
Next, the processing of the application installer 907 when installing the application stored in the host computer 11 in the multifunction peripheral 100 will be described with reference to FIGS. It is assumed that a Web server is mounted on the host computer and has a predetermined URL. For example, in this embodiment,
An application is located at the URL “http://www.kaisha.com/appfile”. When this URL is specified in the operation unit 14 of the copier, the application is specified from the storage area corresponding to the URL in the host computer. Download the installed application and automatically start the installation. Of course, instead of using the operation unit 14, the URL input from the operation screen of the external computer 12 may be sent to the network, received by the image forming apparatus via the network interface, and input to the core unit 10. .
[0050]
FIG. 10 is a diagram illustrating an example of a screen when the application installer is installed in the second embodiment. This screen is displayed on the operation unit 14 of the multifunction peripheral 100 when installation is designated on the main screen (not shown) of the application installer 907. Specifically, the user inputs the URL indicating the host computer 11 in which the application information to be installed is stored in the text field 1001 and, in response to pressing the OK button 1002, the application installer sends the application Start download and install. Pressing the cancel button on the screen of FIG. 10 returns to the application installer main screen (not shown).
[0051]
FIG. 11 is a diagram illustrating a flowchart showing the flow of processing after the OK button 1002 is pressed. FIG. 12 is a diagram illustrating an example of a counter number-application ID table according to the second embodiment. FIG. 13 is a diagram illustrating an example of a count unit warning dialog screen at the time of application installation according to the second embodiment. Hereinafter, the flowchart illustrated in FIG. 11 will be described with reference to FIGS. 11 to 13.
[0052]
When the OK button 1002 is pressed, first, in step S1101, the application installer 907 acquires information on the application at the location specified in the text field 1001. FIG. 14 shows an example of elements constituting the application information.
[0053]
FIG. 14 is a diagram illustrating a configuration example of the application information according to the second embodiment. Here, as an example of the application information, an archive file indicating a vendor name, an application ID and an application name as an application identifier, a version, a last update date, the number of used counters, a counter type, a count-up unit, a used memory, and a program acquisition destination. The URL is described.
[0054]
Returning to FIG. In step S1101, the application installer 907 proceeds to step S1102 if the application installer 907 can acquire application information that is a suitable example of the attribute information of the program. If the application information could not be obtained, the processing ends. In step S1102, the application installer 907, which is a preferred example of the recognizing means of the present invention, determines an unused counter by using a counter of the type specified by the application information in response to obtaining the application information. Perform recognition processing. If an unused counter number, that is, a newly added program, for example, the usage of a program input from the external host computer 11 or the like via the network interface unit (input unit) of the copying machine 100 is managed. If the possible counter cannot be recognized, the process is terminated.
[0055]
On the other hand, if the unused counters can be recognized for all types described in the application information in step S1102, the process advances to step S1103. In step S1103, a confirmation dialog (FIG. 13) for the count-up unit is displayed on the operation unit based on the application information. For example, an application name and a usage fee counted up when the application is activated once are displayed. Next, the process advances to step S1104 to determine which button has been pressed on the dialog (FIG. 13). If it is determined that the stop button 1301 has been pressed, the process ends, and if it is determined that the continue button 1302 has been pressed, the process proceeds to step S1105. In step S1105, an attempt is made to download the main body of the program based on the information of the archive file URL described in the application information. If the download has failed in step S1105, an error message is displayed if necessary, and the process ends. If the download is successful, the process advances to step S1106. In step S1106, the application installer (counter management unit) stores the program downloaded in step S1105 in the storage device 6, makes the program usable, and proceeds to step S1107. In step S1107, the application installer additionally stores the pair of the counter number recognized in S1102 and the application ID included in the application information in the counter number-application ID table and updates the pair. Initialize the usage of the counter that recognized the installer, and finish. If the unused counter cannot be recognized, that is, if the application installer does not have enough counters, the application installer may create a new counter for the new application, initialize the counter, and use the counter.
[0056]
In FIG. 13, an application name to be added is displayed on the application display unit, and count-up information (for example, billing information) when the application uses a scan function and a copy function, which are functions provided by the copying machine 100. Is displayed on the count-up information display unit 1304, so that the user can install the application after confirming the count-up information according to whether the function is used when executing the application.
[0057]
FIG. 12 is an example of a counter number-application ID table in the second embodiment, in which counter numbers assigned to respective counters are associated with application IDs (application IDs), which are suitable examples of application identifiers. This table shows that the table is prepared for each of the monochrome printer function, the color printer function, the monochrome copy function, the color copy function, and the scanner function. The functions provided by the image forming apparatus are not limited to these functions. For example, the functions provided by the image forming apparatus include finishing functions such as a stapling function and a bookbinding function. Any method that can recognize (for example, the number of times of use and the time of use) can be applied. Here, 0xFFFFFFFF is a code indicating that the counter is not used. This example shows a situation in which only one application having the application information of FIG. 14 is installed in the image forming apparatus, and the scan counter of counter number 1 and the general-purpose counter of counter number 1 have application ID 11 and It is assigned to one application and the other counters are unused. By having such a table, a specific application causes a predetermined operation (for example, an operation of a scan function, an operation of a copy function, an operation of a print function, an operation of a finishing function, etc.) using the function of the image forming apparatus. At this time, the counter having the counter number determined by the above table is counted up, and the usage amount for each application can be managed.
[0058]
As described above, the copying machine 100 is provided with the application management module 204 that manages the usage amount for each program by using the counter. The application installer 206 manages the usage of the application corresponding to the application ID, which is an example of the identification information of the program to be added, in response to the information indicating the attribute of the application being input to the copying machine 100. Recognize the counters you can do.
[0059]
Then, the application management module manages the counter by associating the added program with the counter recognized by the application installer 206.
[0060]
Here, the information for identifying a program includes all information that can identify the program. For example, in the case of an application program, an application ID and an application name can be considered, but the module itself of the application program provided in the form of a file includes a module name and a file name in which the application is stored. Of course, these file names and module names are also included in the category of the program identification information. Therefore, the program module itself integrated with the application information is first input into the image forming apparatus via the network interface and stored in the storage device in the image forming apparatus. It is also conceivable to judge whether or not to associate.
[0061]
The installed application can control the reader unit 1, the printer unit 2, the finisher unit 15, and the like by executing a command group (FIG. 5) for instructing job processing, as in the first embodiment. It is possible to realize functions provided by various copying machines. Since the details have been described in the first embodiment, they are omitted here.
[0062]
FIG. 15 is a diagram illustrating a flowchart showing the flow of processing in the counter updating means when counting up is performed in the application management module in the second embodiment. Hereinafter, the processing when a count-up request is issued to each counter will be described with reference to the flowchart of FIG. First, in step S1501, the application management module receives a count-up request from, for example, a core unit, and proceeds to step S1502. In step S1502, the application ID of the update request source is acquired, and the flow advances to step S1503. In step S1503, 0 is substituted for the variable n, and the flow advances to step S1504. In step S1504, it is checked whether the n-th counter is assigned to the application having the application ID acquired in step S1502 by referring to the table. If the n-th counter has been assigned to the application with the application ID acquired in step S1502, the flow advances to step S1505.
[0063]
In step S1505, the application management unit acquires a count-up unit in the current job type from the application information. Next, the process proceeds to step S1506, where the n-th counter is counted up in units obtained in step S1505, and the process proceeds to step S1509. In step S1509, the application management unit counts up the counter for counting the total number in units specified by the application information, and ends the processing. On the other hand, in step S1504, if the application management unit determines that the n-th counter is not assigned to the application with the application ID acquired in step S1502, the process proceeds to step S1507. In step S1507, it is determined whether the variable n is smaller than the total number N of application counters. If n <N, the value of n is incremented by one in step S1508, and the process returns to step S1504. If n <N is not satisfied in step S1507, the process advances to step S1509, where only the total counter is counted up in units specified by the application information, and the process ends.
[0064]
FIG. 16 is a diagram illustrating an example of a counter included in the copying machine according to the second embodiment. In this example, there are six types of counters, a copy counter (monochrome), a scan counter, a print counter (monochrome), a color copy counter, a color print counter, and a general-purpose counter. One and N counters for each application (counter numbers 1 to N) are prepared. When a monochrome copy job is processed, the copy counter is counted up each time one copy is made. The increment of the counter at this time is increased by the amount defined in the application information. Similarly, the scan counter, print counter, color copy counter, and color print counter are automatically incremented by the controller for each predetermined operation when a scan job, monochrome print job, color copy job, and color print job are executed, respectively. Is done. The general-purpose counter can count up at a timing convenient for the application when the application issues an instruction through the general-purpose counter control API.
[0065]
For example, in the situation shown in FIG. 14, when a scan job is executed by an application having an application ID of 11, the counter shown in FIG. 16 is incremented by 10 every time one sheet is scanned. Further, if the application with the application ID 11 calls the general-purpose counter API every time a job is issued, the counter in FIG. 16 is incremented by one each time the application with the application ID 11 issues a job. Become.
[0066]
FIG. 17 is a flowchart illustrating the flow of processing when uninstalling an application installed in a copying machine in the second embodiment. Hereinafter, a process for uninstalling an application installed in the image forming apparatus will be described with reference to the flowchart in FIG. The application installer 203 first checks whether the application specified in step S1701 is operating. If it is running, the uninstallation process ends without doing anything. If it is not operating, it can be safely uninstalled, and the process proceeds to step S1702. In step S1702, the application installer 203 (recognition unit) recognizes counter information and application information associated with the application to be uninstalled by searching the counter number-application ID table, and stores the nonvolatile information provided in the image forming apparatus. The data is stored in the memory, and the process proceeds to step S1703.
[0067]
In step S1703, it is checked whether the data has been correctly stored in the nonvolatile memory. If the data has been correctly stored, the process proceeds to step S1704. If the data cannot be saved correctly, the process ends without actually performing the uninstallation. In step S1704, the application management module 204 (counter management unit) updates the counter number-application ID table, releases the counter to which the application ID of the application to be uninstalled is allocated, and sets the counter to the unused state. Next, in step S1705, the application is deleted from the storage device 6 and uninstalled, and the process ends.
[0068]
As described above, according to the present embodiment, the warning dialog box of the count-up information is displayed at the time of installing the application, so that the user can install the application after assuring the count-up unit for each predetermined operation. become. In addition, by making the general-purpose counter available to the application, it is also possible to manage the number of uses and the amount of processing for each application.
[0069]
In addition, when the application is uninstalled, the application information and the counter information used are saved in the internal memory of the device, so that the application can be installed and uninstalled freely without losing the count information. It becomes.
[0070]
An embodiment in which a predetermined operation of an application is restricted by an upper limit value of a counter set for each application and each function will be described with reference to FIGS.
[0071]
FIG. 18 is a flowchart illustrating a flow of processing in the counter updating unit and the counter upper limit managing unit when the counter is updated in the first embodiment. FIG. 18 is obtained by adding an upper limit managing unit to the counter updating unit shown in FIG. The flow of processing in the counter management means and the counter upper limit value management means when the counter is updated will be described with reference to the flowchart of FIG.
[0072]
First, in step S1801, a counter update request is received from the core unit 10 in FIG. 1, and the flow advances to step S1802. In step S1802, the application ID of the update request source is acquired, and the flow advances to step S1803. In step S1803, 0 is substituted for the variable n, and the flow advances to step S1804. In step S1804, it is checked whether or not the n-th counter is assigned to the application having the application ID acquired in step S1802 by referring to the table. If the n-th counter has been assigned to the application with the application ID acquired in step S1802, the flow advances to step S1805. In step S1805, the n-th counter for the current job type is updated, and the flow advances to step S1809. On the other hand, if it is determined in step S1804 that the n-th counter has not been assigned to the application with the application ID acquired in step S1802, the process advances to step S1807. In step S1807, it is determined whether the variable n is smaller than the total number N of application counters. If n <N, the value of n is increased by one in step S1808, and the process returns to step S1804. If n <N is not satisfied in step S1807, the process advances to step S1806. In step S1806, only the total count counter is updated, and the process ends.
[0073]
In step S1809, the n-th upper limit value for the current job type in the counter upper limit value table shown in FIG. 19 is referenced and compared with the counter value updated in step S1805. As a result of the comparison, if the counter value does not exceed the upper limit value, the total counter is updated in step S1806, and the process ends. If the counter value exceeds the upper limit value, in step S1810, the core unit 10 in FIG. 1 is instructed to forcibly end the job, and the process proceeds to step S1810. In step S1811, the application (205 in FIG. 2) that has issued the job corresponding to the application ID acquired in step S1802 is notified by sending an event indicating that the job has been forcibly terminated. The total counter is updated, and the process ends.
[0074]
In this embodiment, the job is forcibly terminated in step S1810. However, in another embodiment, the counter has exceeded the upper limit value for the application that issued the step job without forcibly terminating the job. The application may cause a predetermined operation, for example, by notifying the application by sending an event representing the event. As a predetermined operation, the notified application does not issue a new job thereafter, or notifies the user of a warning, for example, that the right to use the application to be executed is insufficient. Processing such as displaying a dialog screen prompting the user to install a new license file for the application on the operation unit 14 of the multifunction peripheral 100, or notifying the contents of the dialogue by a speaker (not shown) provided in the computer. Alternatively, display information for displaying a dialog screen may be transmitted to a host computer or a network server and displayed on the display screen of the network server or the host computer.
[0075]
FIG. 19 is a diagram illustrating an example of a counter upper limit value management table included in the multifunction peripheral 100. This example shows that there are three types of counter upper limit values, a copy counter, a print counter, and a scan counter, and that N counters (counter numbers 1 to N) are prepared for each of them.
[0076]
When the contents of the counter number-application ID table are as shown in FIG. 4, the upper limit value in FIG. 19 (i) is referred to by the application ID No. 11, and the upper limit value in FIG. Referenced by the application. For example, when the application with the application ID No. 11 executes the copy job, the upper limit in FIG. Similarly, when a print job is executed, the upper limit in FIG. 19 is referred to, and when a scan job is executed, the upper limit in FIG. 7 is referred to. When a print job, scan job, copy job, or the like is input from the remote host, if the application ID of the job issuer is already registered in the table, the upper limit value corresponding to the application ID is referred to. As shown in the description of FIG. 7, when the application ID of the job issuer is not registered in the table, the job is to be rejected, and therefore the upper limit in this case does not need to be registered. For example, a set of an OCR application that recognizes and extracts character information from an image and outputs data including coded text information such as an ASCII code, and a scanner function associated with the OCR application can be considered. Based on the combination of the function of the multifunction device and an application that can add value to this function, it is possible to limit or grasp the usage amount, charge, and the like. That is, the application management module 905 controls the controller via the API when the upper limit is set so that the MFP 100 cannot be used in the combination of the OCR application program and the scanner function of the copier 100, This limits the functions of the multifunction peripheral 100. Other examples of combinations of application programs and functions of the multifunction peripheral 100 include advanced image processing applications and printer functions, image processing applications and scanner functions, office applications and printers for spreadsheets and document creation, facsimile, A combination such as a scanner is conceivable.
[0077]
As described above, the count value and the upper limit value of the number of combinations of each function provided by the image forming apparatus and the application using each function are managed, and each count value is assigned to each application and each function. The total can be counted and the upper limit can be managed at the same time. Thus, the usage amount can be counted and the upper limit value can be managed for each predetermined operation of the application.
[0078]
For example, assuming that the copy application is associated with the counter number 6, the copy counter corresponding to the counter number 6 is counted up by use of the copy application, and the copy counter is limited by the copy upper limit value corresponding to the counter number 6. Is done. When the setting of the upper limit value is performed by a predetermined license management mechanism, the number of times the application can be used can be given by the license, and the advance billing according to the number of times the application is used can be performed. The functions provided by the image forming apparatus may be not only copying, printing, and scanning, but also so-called bookbinding processing such as facsimile transmission / reception, finishing, bookbinding, and punching. That is, an upper limit can be set depending on which application uses which function, that is, for each set of a predetermined application and a function operated by the application. This restricts the application from controlling predetermined functions, restricts the output of jobs issued based on the application controlling these functions, and forcibly deletes jobs. Can be done.
[0079]
(Other embodiments)
The processing shown in FIG. 3, FIG. 6, FIG. 8, FIG. 11, FIG. 15, FIG. 17, and FIG. 18 shown in the drawings and the specification of the present application is performed by an information processing apparatus and an image forming apparatus by a program installed from the outside. Will be performed. In this case, even when a group of information including a program is supplied to each information processing apparatus and image forming apparatus from a storage medium such as a CD-ROM, a flash memory, or an FD, or from an external storage medium via a network. The present invention is applied.
[0080]
As described above, the storage medium storing the program code of the software for realizing the functions of the above-described embodiments is supplied to the system or the apparatus, and the computer (or CPU or MPU) of the system or the apparatus is stored in the storage medium. Needless to say, the object of the present invention can be achieved by reading and executing the program code.
[0081]
In this case, the program code itself read from the storage medium realizes a new function of the present embodiment, and the storage medium storing the program code constitutes the present embodiment. As a storage medium for supplying the program code, for example, a floppy disk, hard disk, optical disk, magneto-optical disk, DVD, CD-ROM, magnetic tape, nonvolatile memory card, ROM, EEPROM, or the like can be used.
[0082]
When the computer executes the readout program code, not only the functions of the above-described embodiments are realized, but also an OS (Operating System) running on the computer based on the instruction of the program code. It goes without saying that a part or all of the actual processing is performed and the functions of the above-described embodiments are realized by the processing. Further, after the program code read from the storage medium is written into a memory provided on a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that a CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing, and the processing realizes the functions of the above-described embodiments.
[0083]
According to each embodiment of the present invention, a plurality of counters are prepared on the image forming apparatus, the application is dynamically associated with the counter when the application is installed, and the unused counter is dynamically installed when the application is installed. Can be assigned. By releasing the counter at the time of uninstallation, it is possible to appropriately manage the count information for each application even in a situation where an application is added or deleted. In addition, this makes it possible to appropriately distribute the charge according to the usage of the application to the application vendor who has developed the application on the image forming apparatus.
[0084]
In addition, it is possible to provide an image forming apparatus in which count information can be individually managed for each process provided by each program provided by the image forming apparatus, and the amount of use of each program can be easily managed.
[0085]
Further, the counter is managed to release the counter as each program provided by the image forming apparatus is deleted, so that unnecessary counter increase is prevented, and the counter currently used by the image forming apparatus is actually used. It is possible to provide an image forming apparatus capable of easily managing the usage of each program.
[0086]
Further, the counter is managed so as to release the counter as the attribute information of each program provided by the image forming apparatus is added, so that the program is surely associated with the counter and managed as a table. It is possible to provide an image forming apparatus capable of reliably acquiring, displaying, and managing the usage of each program currently used in the image forming apparatus.
[0087]
Further, since the usage amount is managed for each function of the image forming apparatus used by each program, charging or use is performed according to the value added by the application and the processing provided by the application and the function provided by the copying machine. Be able to manage quantity.
[0088]
Since the counter control API which is interpreted and executed by the interprinter and has high portability and reusability is provided, it is easy to create the counter control program, and the counter control program can be reused and used for other image forming apparatuses. Transplantation becomes easy.
[0089]
【The invention's effect】
It provides a mechanism to manage the usage of programs according to the functions provided by each program provided by the image forming apparatus, so that the usage status of each program can be appropriately adjusted based on the functions and program configuration of the image forming apparatus. An image forming apparatus that can be grasped can be provided.
[Brief description of the drawings]
FIG. 1 is a configuration diagram illustrating an entire system according to a first embodiment.
FIG. 2 is a diagram illustrating a preferred example of a software module hierarchy of the copying machine according to the first embodiment.
FIG. 3 is a flowchart illustrating a flow of a process when an application is installed in the MFP illustrated in FIG. 1 according to the first embodiment.
FIG. 4 is a diagram illustrating an example of a counter number-application ID table according to the first embodiment.
FIG. 5 is a diagram illustrating an example of a command group for instructing job processing.
FIG. 6 is a diagram showing a flowchart showing a flow of processing in a counter updating means when the counter is updated in the first embodiment.
FIG. 7 is a diagram illustrating an example of a counter included in the multifunction peripheral according to the first embodiment.
FIG. 8 is a flowchart illustrating a processing flow when uninstalling an application already installed in the copying machine in the first embodiment.
FIG. 9 is a diagram illustrating a configuration of a software module hierarchy of a copying machine according to a second embodiment.
FIG. 10 is a diagram illustrating an example of a screen when an application installer is installed in the second embodiment.
FIG. 11 is a diagram showing a non-flowchart showing a flow of processing after an OK button in FIG. 10 is pressed in the second embodiment.
FIG. 12 is a diagram illustrating an example of a counter number-application ID table according to the second embodiment.
FIG. 13 is a diagram illustrating an example of a count unit warning dialog screen when an application is installed in the second embodiment.
FIG. 14 is a diagram illustrating a configuration example of application information according to the second embodiment.
FIG. 15 is a diagram showing a flowchart showing a flow of processing in a counter updating means when counting up is performed in the second embodiment.
FIG. 16 is a diagram illustrating an example of a counter included in the copying machine according to the second embodiment.
FIG. 17 is a flowchart illustrating a flow of processing when uninstalling an application installed in a copying machine according to the second embodiment;
FIG. 18 is a diagram illustrating processing in a counter updating unit and an application counter upper limit managing unit for each application.
FIG. 19 is a diagram showing a counter upper limit management table.
[Explanation of symbols]
1 Reader section
2 Printer section
3 Image input / output control unit
4 Facsimile part
5 File section
6 Storage device
7 Network interface section
8 Formatter part
9 Image memory section
10 Core part
11 Host computer
12 Network server
13 Billing server
14 Operation unit
15 Finisher part
100 MFP
201 Operating System
202 Controller
203 interpreter
204 Application Management
205 Application program
206 Application Installer
501 Job submission start command
502 Job attribute setting command
503 Job data transmission command
504 Job submission completion command
511 mode
512 Additional information
901 Operating system
902 controller
903 interpreter
904 Counter API
905 Application management program
906 Application
907 Application Installer
1001 URL input unit
1002 OK button
1301 Cancel button
1302 Continue button
1303 Application name display area
1304 Count-up information display section

Claims (15)

画像形成装置が提供する処理を制御するプログラムが搭載された画像形成装置において、
カウンタを用いて前記プログラムごとに使用量を管理する使用量管理手段と、
前記プログラムの識別情報に対応する、プログラムの使用量を管理することができるカウンタを認識する認識手段と、
前記プログラムを前記認識手段が認識したカウンタに対応づけて前記カウンタを管理するカウンタ管理手段と、
前記使用量管理手段に対して前記プログラムごとに使用量の上限値を設定可能な設定手段と、
前記プログラムの種別ごとに、前記設定手段により設定された使用量の上限値に基づき画像形成装置における処理を制御する制御手段とを備えることを特徴とする画像形成装置。
In an image forming apparatus equipped with a program for controlling a process provided by the image forming apparatus,
Usage management means for managing usage for each program using a counter,
Recognizing means for recognizing a counter corresponding to the identification information of the program and capable of managing the usage of the program,
Counter management means for managing the counter by associating the program with the counter recognized by the recognition means,
Setting means capable of setting an upper limit value of usage for each of the programs for the usage management means,
An image forming apparatus comprising: a control unit configured to control a process in the image forming apparatus based on an upper limit of a usage amount set by the setting unit for each type of the program.
前記使用量管理手段は、前記プログラムを実行した回数、又は、前記プログラムを使用した時間、又は、前記プログラムが引き起こした画像形成装置の所定動作の回数により、前記プログラムの使用量を管理することを特徴とする請求項1に記載の画像形成装置。The usage management unit manages the usage of the program by the number of times the program is executed, or the time of using the program, or the number of predetermined operations of the image forming apparatus caused by the program. The image forming apparatus according to claim 1, wherein: 前記使用量管理手段は、インタプリタを用いて実行されるカウンタ制御アプリケーション・プログラム・インタフェースを用いて前記カウンタを制御し、前記プログラムの使用量を管理することを特徴とする請求項1又は2に記載の画像形成装置。3. The usage management unit according to claim 1, wherein the usage management unit controls the counter by using a counter control application program interface executed by using an interpreter, and manages the usage of the program. Image forming apparatus. 前記使用量管理手段が管理するプログラムに基づきジョブを発行する発行手段をさらに備え、
前記設定手段は、前記使用量管理手段が管理するカウンタの上限値を設定するものであり、前記使用量管理手段が管理するカウンタのカウント量が、前記設定手段によってプログラム毎に設定された使用量の上限値を超えた場合に、前記制御手段は、前記発行手段が発行したジョブを強制的に終了するよう画像形成装置を制御することを特徴とする請求項1乃至3のいずれかに記載の画像形成装置。
Further comprising issuing means for issuing a job based on a program managed by the usage amount managing means,
The setting means is for setting an upper limit value of a counter managed by the usage management means, and the count amount of the counter managed by the usage management means is determined by the usage amount set for each program by the setting means. 4. The image forming apparatus according to claim 1, wherein the control unit controls the image forming apparatus to forcibly end the job issued by the issuing unit when the upper limit is exceeded. 5. Image forming device.
前記上限値管理手段は、前記カウンタが前記カウンタ上限値を超えた場合に前記プログラムに対してイベントを発行し、前記プログラムに所定の動作をせしめることを特徴とする請求項1乃至4のいずれかに記載の画像形成装置。5. The method according to claim 1, wherein the upper limit value management unit issues an event to the program when the counter exceeds the counter upper limit value, and causes the program to perform a predetermined operation. An image forming apparatus according to claim 1. 前前記画像形成装置内に記憶されたプログラムの削除、又は、追加に応答して、記認識手段が認識した前記削除又は追加対象になったプログラムに対応するカウンタは、解放、又は、初期化されることを特徴とする請求項1乃至5のいずれかに記載の画像形成装置。In response to the deletion or addition of the program previously stored in the image forming apparatus, the counter corresponding to the program targeted for deletion or addition recognized by the recording / recognition unit is released or initialized. The image forming apparatus according to claim 1, wherein: 前記制御手段は、前記プログラムと、スキャナ、ファクシミリ、プリンタのうち少なくとも一つを含む前記画像形成装置の機能との組合せにおいて前期画像形成装置を利用できないよう前記設定手段によって上限値が設定されている場合に、前記画像形成装置の機能を制限することを特徴とする請求項1乃至6のいずれかに記載の画像形成装置。The control unit sets an upper limit value by the setting unit so that the image forming apparatus cannot be used in a combination of the program and a function of the image forming apparatus including at least one of a scanner, a facsimile, and a printer. 7. The image forming apparatus according to claim 1, wherein a function of the image forming apparatus is limited in such a case. 画像形成装置が提供する処理を制御するプログラムが搭載された画像形成装置における制御方法おいて、
カウンタを用いて前記プログラムごとに使用量を管理する使用量管理ステップと、
前記プログラムの識別情報に対応する、プログラムの使用量を管理することができるカウンタを認識する認識ステップと、
前記プログラムを前記認識ステップが認識したカウンタに対応づけて前記カウンタを管理するカウンタ管理ステップと、
前記使用量管理ステップに対して前記プログラムごとに使用量の上限値を設定可能な設定ステップと、
前記プログラムの種別ごとに、前記設定ステップにより設定された使用量の上限値に基づき画像形成装置の機能を制御する制御ステップとを備えることを特徴とする制御方法。
In a control method in an image forming apparatus equipped with a program for controlling processing provided by the image forming apparatus,
A usage management step of managing usage for each program using a counter,
A recognition step of recognizing a counter corresponding to the identification information of the program and capable of managing the usage of the program;
A counter management step of managing the counter by associating the program with the counter recognized by the recognition step;
A setting step capable of setting an upper limit of the usage amount for each of the programs with respect to the usage amount management step,
A control step of controlling a function of the image forming apparatus based on an upper limit of the usage amount set in the setting step for each type of the program.
前記使用量管理ステップでは、前記プログラムを実行した回数、又は、前記プログラムを使用した時間、又は、前記プログラムが引き起こした画像形成装置の所定動作の回数により、前記プログラムの使用量を管理することを特徴とする請求項8に記載の制御方法。In the usage management step, managing the usage of the program by the number of times the program is executed, or the time of using the program, or the number of predetermined operations of the image forming apparatus caused by the program is performed. The control method according to claim 8, characterized in that: 前記使用量管理ステップでは、インタプリタを用いて実行されるカウンタ制御アプリケーション・プログラム・インタフェースを用いて前記カウンタを制御し、前記プログラムの使用量を管理することを特徴とする請求項8又は9に記載の制御方法。10. The usage management step according to claim 8, wherein the counter is controlled by using a counter control application program interface executed using an interpreter, and the usage of the program is managed. Control method. 前記使用量管理ステップが管理するプログラムに基づきジョブを発行する発行ステップをさらに備え、
前記設定ステップは、前記使用量管理ステップが管理するカウンタの上限値を設定するものであり、前記使用量管理ステップが管理するカウンタのカウント量が、前記設定ステップによってプログラム毎に設定された使用量の上限値を超えた場合に、前記制御ステップでは、前記発行ステップが発行したジョブを強制的に終了か、又は、前記ジョブの発行を制限するよう画像形成装置を制御することを特徴とする請求項8乃至10のいずれかに記載の制御方法。
The method further includes an issuing step of issuing a job based on a program managed by the usage amount managing step,
The setting step sets an upper limit value of a counter managed by the usage amount management step. The count amount of the counter managed by the usage amount management step is determined by the usage amount set for each program by the setting step. Wherein the control step controls the image forming apparatus to forcibly end the job issued by the issuing step or to limit the issuance of the job. Item 11. The control method according to any one of Items 8 to 10.
前記上限値管理ステップでは、前記カウンタが前記カウンタ上限値を超えた場合に前記プログラムに対してイベントを発行し、前記プログラムに所定の動作をせしめることを特徴とする請求項8乃至11のいずれかに記載の制御方法。12. The method according to claim 8, wherein in the upper limit management step, when the counter exceeds the counter upper limit, an event is issued to the program to cause the program to perform a predetermined operation. The control method described in the above. 前記使用量管理ステップでは、前前記画像形成装置内に記憶されたプログラムの削除、又は、追加に応じて、記認識ステップで認識した前記削除又は追加対象になったプログラムに対応するカウンタを、解放、又は、初期化されることを特徴とする請求項8乃至12のいずれかに記載の制御方法。In the use amount management step, in response to the deletion or addition of the program previously stored in the image forming apparatus, the counter corresponding to the deleted or added program recognized in the recording / recognition step is released. The control method according to claim 8, wherein the control method is initialized. 前記制御工程では、前記プログラムと、スキャナ、ファクシミリ、プリンタのうち少なくとも一つを含む前記画像形成装置の機能との組合せにおいて前記画像形成装置を利用できないよう前記設定ステップにて上限値が設定されている場合に、前記画像形成装置の機能を制限することを特徴とする請求項8乃至13のいずれかに記載の制御方法。In the control step, an upper limit value is set in the setting step so that the image forming apparatus cannot be used in a combination of the program and functions of the image forming apparatus including at least one of a scanner, a facsimile, and a printer. 14. The control method according to claim 8, wherein the function of the image forming apparatus is restricted when the function is present. 画像形成装置が提供する処理を制御するプログラムが搭載された画像形成装置において実行される制御プログラムにおいて、
カウンタを用いて前記プログラムごとに使用量を管理する使用量管理ステップと、
前記プログラムの識別情報に対応する、プログラムの使用量を管理することができるカウンタを認識する認識ステップと、
前記プログラムを前記認識ステップが認識したカウンタに対応づけて前記カウンタを管理するカウンタ管理ステップと、
前記使用量管理ステップに対して前記プログラムごとに使用量の上限値を設定可能な設定ステップと、
前記プログラムの種別ごとに、前記設定ステップにより設定された使用量の上限値に基づき画像形成装置の機能を制御する制御ステップとを前記画像形成装置に実行させることを特徴とする制御プログラム。
In a control program executed in an image forming apparatus equipped with a program for controlling processing provided by the image forming apparatus,
A usage management step of managing usage for each program using a counter,
A recognition step of recognizing a counter corresponding to the identification information of the program and capable of managing the usage of the program;
A counter management step of managing the counter by associating the program with the counter recognized by the recognition step;
A setting step capable of setting an upper limit of the usage amount for each of the programs with respect to the usage amount management step,
A control step of controlling the function of the image forming apparatus based on an upper limit of the usage amount set in the setting step for each type of the program.
JP2002292430A 2002-01-21 2002-10-04 Image forming apparatus, control method, and control program Expired - Lifetime JP3944048B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2002292430A JP3944048B2 (en) 2002-10-04 2002-10-04 Image forming apparatus, control method, and control program
US10/339,318 US7426048B2 (en) 2002-01-21 2003-01-10 Image forming apparatus, controlling method, and control program
EP03250272.6A EP1335578B1 (en) 2002-01-21 2003-01-16 Image forming apparatus, controlling method, and control program
US12/197,906 US20090007130A1 (en) 2002-01-21 2008-08-25 Image forming apparatus, controlling method, and control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002292430A JP3944048B2 (en) 2002-10-04 2002-10-04 Image forming apparatus, control method, and control program

Publications (2)

Publication Number Publication Date
JP2004129047A true JP2004129047A (en) 2004-04-22
JP3944048B2 JP3944048B2 (en) 2007-07-11

Family

ID=32283678

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002292430A Expired - Lifetime JP3944048B2 (en) 2002-01-21 2002-10-04 Image forming apparatus, control method, and control program

Country Status (1)

Country Link
JP (1) JP3944048B2 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006123806A1 (en) * 2005-05-18 2006-11-23 Canon Kabushiki Kaisha Image processing apparatus, control method thereof, and program
JP2008257370A (en) * 2007-04-03 2008-10-23 Konica Minolta Business Technologies Inc Image processor
JP2008301484A (en) * 2008-05-19 2008-12-11 Canon Inc Structure of syndication data
JP2010021917A (en) * 2008-07-14 2010-01-28 Kyocera Mita Corp Image forming system and image forming apparatus
JP2010166603A (en) * 2010-03-19 2010-07-29 Canon Inc Image processing apparatus, control method thereof and program
JP2012106450A (en) * 2010-11-18 2012-06-07 Canon Inc Image forming apparatus, management method, and program
US8427671B2 (en) 2005-05-18 2013-04-23 Canon Kabushiki Kaisha Image processing apparatus capable of timely notifying user of change in state, control method thereof, and image processing system
JP2013163272A (en) * 2012-02-09 2013-08-22 Seiko Epson Corp Printer with sheet consumption amount output function and printing system
KR20150127427A (en) * 2014-05-07 2015-11-17 전대연 How to effectively limit app usage and have security features
JP2017216505A (en) * 2016-05-30 2017-12-07 京セラドキュメントソリューションズ株式会社 Image forming apparatus and management application

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8427671B2 (en) 2005-05-18 2013-04-23 Canon Kabushiki Kaisha Image processing apparatus capable of timely notifying user of change in state, control method thereof, and image processing system
WO2006123806A1 (en) * 2005-05-18 2006-11-23 Canon Kabushiki Kaisha Image processing apparatus, control method thereof, and program
US8111414B2 (en) 2005-05-18 2012-02-07 Canon Kabushiki Kaisha Image processing apparatus, control method thereof, and program
JP2008257370A (en) * 2007-04-03 2008-10-23 Konica Minolta Business Technologies Inc Image processor
JP2008301484A (en) * 2008-05-19 2008-12-11 Canon Inc Structure of syndication data
US8379251B2 (en) 2008-07-14 2013-02-19 Kyocera Milta Corporation Image forming system and image forming apparatus
JP2010021917A (en) * 2008-07-14 2010-01-28 Kyocera Mita Corp Image forming system and image forming apparatus
JP2010166603A (en) * 2010-03-19 2010-07-29 Canon Inc Image processing apparatus, control method thereof and program
JP4653243B2 (en) * 2010-03-19 2011-03-16 キヤノン株式会社 Image processing apparatus and control method and program thereof
JP2012106450A (en) * 2010-11-18 2012-06-07 Canon Inc Image forming apparatus, management method, and program
US8913257B2 (en) 2010-11-18 2014-12-16 Canon Kabushiki Kaisha Image forming apparatus, method and program of managing the image forming apparatus by reserving area for identified counter
JP2013163272A (en) * 2012-02-09 2013-08-22 Seiko Epson Corp Printer with sheet consumption amount output function and printing system
KR20150127427A (en) * 2014-05-07 2015-11-17 전대연 How to effectively limit app usage and have security features
KR102147489B1 (en) 2014-05-07 2020-08-25 전대연 The efficient method for limitation of App's use
JP2017216505A (en) * 2016-05-30 2017-12-07 京セラドキュメントソリューションズ株式会社 Image forming apparatus and management application

Also Published As

Publication number Publication date
JP3944048B2 (en) 2007-07-11

Similar Documents

Publication Publication Date Title
EP1335578B1 (en) Image forming apparatus, controlling method, and control program
JP4033857B2 (en) Print system, print management server, print method, print management method, and program
JP4317162B2 (en) PRINT SERVER, PRINT MANAGEMENT SERVER, PRINTING DEVICE, PRINT SYSTEM, PRINT DATA STORAGE METHOD, PRINT MANAGEMENT METHOD, PRINT METHOD, AND PROGRAM
JP4018498B2 (en) Management device, management method, control program
JP4217455B2 (en) Peripheral device, information processing method, and control program
JP4847168B2 (en) Application management system, application management method and program
JP4387553B2 (en) Printing control apparatus and method and information processing apparatus and method
JP5679624B2 (en) Printing apparatus and control method and program therefor
JP3774702B2 (en) Print control program and information processing apparatus
CN103116479A (en) Printing system, control method, and computer-readable medium
JP2006197230A (en) Image forming system, data processing method, storing medium storing computer readable program, and program
JP3944048B2 (en) Image forming apparatus, control method, and control program
JP2005161674A (en) Imaging device, imaging system, dues accounting method and program
JP3679760B2 (en) Image forming apparatus, information processing method, and control program
JP2011124962A (en) Image processing system, image processing method, and program therefor
JP3840035B2 (en) Printing control apparatus and method, and printing system
JP4078388B2 (en) Image forming apparatus, information processing method, and control program
WO2006088242A1 (en) Information processing apparatus for processing print data, method thereof and media in storage of control program of executing such method
JP4777403B2 (en) Peripheral device, information processing method, and control program
JP2003345583A (en) Image forming system
JP4697713B2 (en) Print system, print management server, print method, print management method, and program
JP3984774B2 (en) Printing control apparatus and method, and printing system
US20060197978A1 (en) Image processing apparatus and image processing method
JP4480037B2 (en) Print management server, printing apparatus, print management method, printing method, program, and recording medium
JP2003330656A (en) Server device and information terminal equipment and image processing system and data processing method and computer readable storage medium and its program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070213

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: 20070403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070406

R150 Certificate of patent or registration of utility model

Ref document number: 3944048

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: 20110413

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140413

Year of fee payment: 7