JP5633608B2 - 画像形成装置、カウンタ管理方法、及びカウンタ管理プログラム - Google Patents

画像形成装置、カウンタ管理方法、及びカウンタ管理プログラム Download PDF

Info

Publication number
JP5633608B2
JP5633608B2 JP2013166044A JP2013166044A JP5633608B2 JP 5633608 B2 JP5633608 B2 JP 5633608B2 JP 2013166044 A JP2013166044 A JP 2013166044A JP 2013166044 A JP2013166044 A JP 2013166044A JP 5633608 B2 JP5633608 B2 JP 5633608B2
Authority
JP
Japan
Prior art keywords
counter
program
identification information
management
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013166044A
Other languages
English (en)
Other versions
JP2013237277A (ja
Inventor
田中 浩行
浩行 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2013166044A priority Critical patent/JP5633608B2/ja
Publication of JP2013237277A publication Critical patent/JP2013237277A/ja
Application granted granted Critical
Publication of JP5633608B2 publication Critical patent/JP5633608B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、画像形成装置、カウンタ管理方法、及びカウンタ管理プログラムに関する。
従来の画像形成装置において、装置上で動作するアプリケーションは予め固定的に組み込まれていた。したがって、画像形成装置内において、アプリケーションの利用に応じて課金額を管理する課金システムについても組み込み済みのアプリケーションに関して専用化かつ固定化されていた。
しかしながら、近年、ユーザニーズが多様化し、固定的に組み込まれたアプリケーションのみでは多様なユーザニーズに応えるのは困難な状況となってきた。そこで、アプリケーションプラットフォームのAPI(Application Program Interface)が外部に公開され、画像形成装置の開発元以外のサードベンダ等によっても画像形成装置において利用可能なアプリケーションの開発が可能とされ、アプリケーション単独で市場において流通している。ユーザは、自らの業務等に適したアプリケーションを購入し、画像形成装置にインストールすることで、画像形成装置の利便性を更に向上させ、業務の効率化等を図ることができる。
斯かるアプリケーション(以下、「プラグインアプリ」という。)に関する課金形態は、プラグインアプリの販売者によって任意に決められている。したがって、必ずしも売り切り方式ではなく、従量制を採用するプラグインアプリもある。従量制を採用するプラグインアプリについては、画像形成装置内において当該プラグインアプリが利用された回数をカウントする必要がある。プラグインアプリの販売者が、その回数に基づいて正当な対価を回収するためである。
但し、従来の画像形成装置の課金システムにおいてカウント可能な対象は、画像形成装置に予め組み込まれているアプリケーションに関する利用回数に限定されていた。したがって、従量制の課金形態を採用するプラグインアプリについては、プラグインアプリごとに独自の課金機能が実装されていた。
しかしながら、プラグインアプリごとに独自に課金機能が実装された場合、以下のような問題があった。
第一に、プラグインアプリの開発コストが増加してしまうという問題があった。すなわち、プラグインアプリの開発者は、プラグインアプリ本来の機能に関する開発のみならず、課金機能についても開発しなければならない。その結果、正当な対価を回収するために、却ってコスト増を招いてしまうという状況が発生していた。
第二に、画像形成装置に組み込まれている課金システムは、ハード的及びソフト的に高い安全性が確保されているところ、プラグインアプリによる課金機能において同様の安全性を確保するのは困難であった。すなわち、プラグインアプリには、公開されているAPIに関してのみアクセスが許可され、画像形成装置の課金システムがカウンタを管理するために利用する安全性の高い記録媒体への直接的なアクセスは許可されていないためである。したがって、プラグインアプリによるカウンタ値は改ざんされる可能性が有り、その信頼性に欠けるという問題があった。
第三に、画像形成装置の使用状況の確認作業が煩雑化するという問題があった。画像形成装置に関する使用状況(各種のカウンタ値(カウンタの値))の確認は、ユーザのオフィス等に派遣されるカスタマーエンジニア等と呼ばれる作業員によって行われる。プラグインアプリごとに独自の課金機能が実装されている場合、当該カスタマーエンジニアは、画像形成装置に予め組み込まれている課金システムによるカウンタの値に加え、各プラグインアプリによるカウンタ値を確認する必要がある。そのために、カスタマーエンジニアは、各プラグインのカウンタ値の確認方法学習しなければならなかった。
なお、特許文献1追加機能を提供するモジュールの使用状況についても、装置のシステムによって情報取得可能とし、追加機能の利用に応じて対価を得る手段を提供している。
しかしながら、当該手段はあくまでも装置に予め組み込まれた機能に対する使用状況を取得する機能に過ぎない。したがって、例えば、プラグインされたアプリケーションが装置の機能を利用せずに実現したサービスに対して使用状況を取得することはできない。
本発明は、上記の点に鑑みてなされたものであって、予め組み込まれてないアプリケーションの使用状況を適切に管理することのできる画像形成装置、カウンタ管理方法、及びカウンタ管理プログラムの提供を目的とする。
そこで上記課題を解決するため、本発明は、プログラムのインストール手段と、該プログラムの利用状況であるカウンタを記録するカウンタ管理手段と、インストールに応じて該プログラムの識別情報に基づき、使用するカウンタ管理手段を決定する決定手段と、を有し、前記カウンタ管理手段は、前記プログラムがアンインストールされるときに、当該プログラムに関するカウンタの値と、当該プログラムのプログラム識別情報と、当該プログラムに関するカウンタのカウンタ識別情報との対応付けは維持したまま、当該カウンタは使用されていないことを示す情報を記録する
このような画像形成装置では、予め組み込まれてないアプリケーションの使用状況を適切に管理することができる。
本発明によれば、予め組み込まれてないアプリケーションの使用状況を適切に管理することができる。
本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。 本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。 本実施の形態におけるカウンタの管理形態を示す図である。 SDKアプリのインストール時における処理手順を説明するためのシーケンス図である。 SDKアプリの流通形式の例を示す図である。 カウンタ管理テーブルの構成例を示す図である。 SDKアプリに対してカウンタが確保されたときのカウンタ管理テーブルの例を示す図である。 二つのSDKアプリがインストールされた場合のカウンタ管理テーブルの例を示す図である。 SDKアプリの起動時の処理手順を説明するためのシーケンス図である。 SDKアプリによるカウンタの操作時の処理手順を説明するためのシーケンス図である。 SDKアプリのアンインストール時における処理手順を説明するためのシーケンス図である。 カウンタが解放されたときのカウンタ管理テーブル及びNVRAMの状態を示す図である。 カウンタの確保の可否の判定処理の処理手順を説明するためのフローチャートである。 過去に使用履歴の有るカウンタが同一のSDKアプリに対して確保された場合のカウンタ管理テーブルの例を示す図である。 カウンタマネージャによるカウンタの表示処理の処理手順を説明するためのシーケンス図である。 カウンタ値表示画面の表示例を示す図である。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。同図において、画像形成装置10は、コントローラ11、スキャナ12、プリンタ13、モデム14、操作パネル15、ネットワークインタフェース16、及びSDカードスロット17等のハードウェアを有する。
コントローラ11は、CPU111、RAM112、ROM113、HDD(Hard Disk Drive)114、及びNVRAM(Non-volatile RAM)115等を有する。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM112は、揮発性記憶手段の一例であり、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等が記録される不揮発性の記録媒体である。NVRAM115には、プログラムが利用する各種のデータの中でも、より高い安全性が必要とされるデータ等が記録される不揮発性の記録媒体である。
スキャナ12は、原稿より画像データを読み取るためのハードウェアである。プリンタは13、印刷データを印刷用紙に印刷するためのハードウェアである。モデム14は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。操作パネル15は、ユーザからの入力の受け付けを行うめのボタン等の入力手段や、液晶パネル等の表示手段を備えたハードウェアである。ネットワークインタフェース16は、LAN等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。SDカードスロット17は、SDカード80に記録されたプログラムを読み取るために利用される。すなわち、画像形成装置10では、ROM113に記録されたプログラムだけでなく、SDカード80に記録されたプログラムもRAM112にロードされ、実行されうる。なお、他の記録媒体によってSDカード80が代替されてもよい。例えば、CD−ROM又はUSB(Universal Serial Bus)メモリ等であってもよい。すなわち、SDカード80の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、SDカードスロット17は、記録媒体の種類に応じたハードウェアによって代替されればよい。
図2は、本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。同図において、画像形成装置10は、標準アプリ121、SDKアプリ122、SDKプラットフォーム123、及びコントロールサービス124等を有する。
標準アプリ121は、画像形成装置10に標準的に(出荷時に予め)組み込まれているアプリケーションの集合である。同図では、スキャンアプリ1211、印刷アプリ1212、コピーアプリ1213、及びFAXアプリ1214が例示されている。スキャンアプリ1211は、スキャンジョブを実行する。印刷アプリ1212は印刷ジョブを実行する。コピーアプリ1213は、コピージョブを実行する。FAXアプリ1214は、FAXの送信ジョブ又は受信ジョブを実行する。
コントロールサービス124は、各種のハードウェアリソース等を制御するための機能を上位アプリケーション等に対して提供するソフトウェアモジュール群であり、例えば、ネットワーク通信に関する機能、スキャナの制御機能、プリンタの制御機能、NVRAM115へのアクセス機能等を提供する。
SDKアプリ122は、画像形成装置10の出荷後において、画像形成装置10の機能拡張を図るためのプラグインとして追加的にインストールされるアプリケーションである。同図では、SDKアプリ122として、アプリマネージャ1221、SDKアプリA1222、及びSDKアプリB1223が例示されている。アプリマネージャ1221は、他のSDKアプリ122のインストール、アンインストール、及び起動等を制御する特別なSDKアプリ122であり、画像形成装置10の出荷時において予めインストールされている。SDKアプリA1222及びSDKアプリB1223については、単なる例示であり、その機能については特定しない。
SDKプラットフォーム123は、SDKアプリ122の実行環境を提供する。各SDKアプリ122は、SDKプラットフォーム123が提供するAPI(Application Program Interface)を利用して開発される。SDKプラットフォーム123のAPIは公開されており、サードベンダ等によってもSDKアプリ122は開発されうる。
同図において、SDKプラットフォーム123は、JVM1231及びカウンタマネージャ1232等を含む。JVM1231は、Java(登録商標)仮想マシンである。すなわち、SDKプラットフォーム123内の各プログラムモジュール及びSDKプラットフォーム123上で動作する各SDKアプリ122は、JVM1231上で動作するJava(登録商標)アプリケーションとして実装される。但し、このことは、本願発明の適用範囲がJava(登録商標)によって実装されたプログラムに限定されることを意味するものではない。
カウンタマネージャ1232は、SDKアプリ122に対して、カウンタを操作するための共通のAPIを提供するプログラムモジュールである。本実施の形態において、カウンタとは、ユーザによる利用状況(利用回数)を記録するための記憶領域をいう。カウンタに記録される値をカウンタ値という。カウンタ値は、主として課金のためのパラメータとして利用されるが、その用途は必ずしも限定されない。
その他、SDKプラットフォーム123は、例えば、スキャン機能を利用させるためのインタフェースを提供するプログラムモジュール、印刷機能を利用させるためのインタフェースを提供するプログラムモジュール、コピー機能を利用させるためのインタフェースを提供するプログラムモジュール等、各種のプログラムモジュールを含むが、本実施の形態においては便宜上省略する。
なお、図2は、各プログラムがRAM112にロードされた状態を示している。各プログラムの静的な配置位置については、標準アプリ121及びコントロールサービス124は、ROM113に記録されており、SDKアプリ122及びSDKプラットフォーム123に関しては、SDカード80に記録されている。したがって、SDKアプリ122及びSDKプラットフォーム123を起動する場合、これらが記録されたSDカード80がSDカードスロット17にセットされている必要がある。SDKアプリ122は、処理の実行に応じて永続化する必要があるデータについては、HDD114又は自らが記録されているSDカード80に記録しておく。
画像形成装置10におけるカウンタの管理形態について説明する。図3は、本実施の形態におけるカウンタの管理形態を示す図である。
本実施の形態において、カウンタは、NVRAM115内に形成(確保)される。各カウンタにはID(カウンタID)が割り当てれ、カウンタIDによって区別される。
カウンタは、利用主体に応じて組み込みカウンタとプラグインカウンタとに区別することができる。組み込みカウンタは、標準アプリ121等、画像形成装置10に予め組み込まれている機能に関するカウンタである。したがって、組み込みカウンタについてはカウンタごとにその用途は予め固定的に決められている。具体的には、カウンタAは、モノクロコピーの枚数を記録するためのカウンタであり、カウンタBは、カラーコピーの枚数を記録するためのカウンタであるといった具合である。一方、プラグインカウンタは、SDKアプリ122のためのカウンタである。画像形成装置10に対してどのSDKアプリ122がインストールされるかは予測することはできない。したがって、プラグインカウンタの用途はSDKアプリ122のインストールに応じて決定される。
なお、組み込みカウンタとプラグインカウントとの区別は論理的なものに過ぎない。物理的には、両者は同様に管理される。具体的には、NVRAM115上における記録形態に関して、両者の間に差異はない。なお、従来のSDKアプリ122のカウンタは、SDカード80又はHDD114に形成せざるを得なかった。NVRAM115へのアクセス手段は、SDKアプリ122には公開されていないからである。SDカード80又はHDD114へのアクセスは、一般的なOS(Operating System)によって提供されているファイルシステムによって制御されるため、各種のプログラムから容易にアクセスが可能である。したがって、SDカード80又はHDD114に記録されるカウンタに対する信頼性及び安全性は必ずしも高いものではない。
一方、NVRAM115に形成されたカウンタへのアクセスは、コントロールサービス124を介して行われる必要がある。コントロールサービス124のみが、各カウンタに関してNVRAM115上の記憶位置に関する知識を有するからである。したがって、例えば、標準アプリ121による組み込みカウンタのカウンタ値の更新についても、コントロールサービス124を介して行われる。
カウンタマネージャ1232は、SDKアプリ122に対するカウンタ(プラグインカウンタ)の確保、カウンタ値の更新、カウンタ値の参照、カウンタの解放等のインタフェース(API)をSDKアプリ122に対して提供する。カウンタマネージャ1232は、これらのインタフェースの呼び出しに応じ、呼び出されたインタフェースに応じたカウンタの操作をコントロールサービス124を介して実行する。なお、カウンタの確保とは、カウンタの利用者を割り当てること又はカウンタの利用権限を獲得することをいい、カウンタの解放とは、当該割り当て又は当該利用権限を解放するこという。
ここで重要なことは、コントロールサービス124は、カウンタ値を減じたり、クリア(削除)したりするためのインタフェースを上位に提供していないことである。したがって、カウンタマネージャ1232についても、カウンタ値を減じたり、クリアしたりするためのインタフェースはSDKアプリ122に提供することはできない。すなわち、カウンタ値の更新に関しては、カウンタ値の加算しか行えない。また、カウンタの解放によってもカウンタ値がクリアされることはない。これにより、カウンタ値の不正なクリアが防止される。
なお、カウンタマネージャ1232は、カウンタ管理テーブル1233を利用して、カウンタの使用状況等を把握する。すなわち、カウンタ管理テーブル1233は、NVRAM114に確保されたカウンタごとに、その使用状況を示す情報が記録されるテーブルであり、例えば、HDD114又はSDKプラットフォーム123が記録されたSDカード80に保存される。
このように、カウンタの物理的な記憶場所がコントロールサービス124より上位層には隠蔽されていること、また、カウンタをクリアするためにインタフェース(手段)が上位層に対して提供されていないことにより、カウンタの安全性及び信頼性は適切に確保される。この点については、組み込みカウンタであろうとプラグインカウンタであろうと違いはない。したがって、プラグインカウンタは、組み込みカウンタと同様の安全性等が確保されているといえる。
以下、画像形成装置10におけるプラグインカウンタの管理又は操作に関する処理手順について説明する。なお、以下において「カウンタ」というとき、特に明記されない限りプラグインカウンタのことを意味する。
図4は、SDKアプリのインストール時における処理手順を説明するためのシーケンス図である。
SDKアプリ122のインストールは、インストール対象のSDKアプリ122(以下、「カレントアプリ」という。)が記録されたSDカード80がSDカードスロット17にセット(挿入)された状態において、アプリマネージャ1221によって制御される。アプリマネージャ1221が操作パネル15に表示させるインストール画面を介してカレントアプリのインストールの開始指示が入力されると(S101)、アプリマネージャ1221は、カレントアプリによるカウンタの使用の要否を判定する。当該判定は、SDKアプリ122の付随情報又は属性情報に基づいて行われる。具体的には、SDKアプリ122は、図5に示される形式によってSDカード80に記録されている(図5に示される形式によって流通する)。
図5は、SDKアプリの流通形式の例を示す図である。同図に示されるように、SDKアプリ122は、アプリ情報ファイルと、一つ以上のプログラムコンポーネントとを含む書庫化ファイル(例えば、JAR(Java(登録商標) Archive)ファイル)として流通する。アプリ情報ファイルに記録されている情報(アプリ情報)が、上記において付随情報又は属性情報として表現した情報である。本実施の形態において、アプリ情報は、プロダクトID、アプリ名、バージョン、カウンタ使用フラグ、カウンタ名、自己カウンタ継続使用フラグ、他者カウンタ継続使用フラグ、及びカウンタ不使用モードフラグ等を含む。プロダクトIDは、各SDKアプリ122の製品ごとの識別情報(プログラム識別子)である。製品の一意性は、アプリ名及びバージョンによって確保される。アプリ名は、SDKアプリ122の名前である。バージョンは、SDKアプリ122のバージョンである。カウンタ使用フラグは、カウンタの使用が必要であるか(true)否か(false)を示すフラグ情報である。カウンタ使用フラグの値がtrueである場合、カウンタ名以降の値は有効となる。カウンタ名は、カウンタの名前である。自己カウンタ継続使用フラグは、過去に自ら(当該SDKアプリ122)が使用し、現在使用されてない(解放されている)カウンタが有る場合、当該カウンタを使用するか(true)、使用しないか(false)を示す情報である。他者カウンタ継続使用フラグは、過去に他のSDKアプリ122によって使用され、現在使用されていない(解放されている)カウンタが有る場合、当該カウンタを使用するか(true)、使用しないか(false)を示す情報である。カウンタ不使用モードフラグは、確保できるカウンタが無い場合に、カウンタを使用せずに動作可能か(true)否か(false)を示す情報である。
また、プログラムコンポーネントは、SDKアプリ122のプログラムの実体であり、例えば、Java(登録商標)のクラスファイル等が相当する。
したがって、アプリマネージャ1221は、インストール対象とされたSDKアプリ122のアプリ情報ファイルに記録されているカウンタ使用フラグを参照して、カレントアプリによるカウンタの使用の要否を判定する。当該カウンタ使用フラグの値がtrueである場合、アプリマネージャ1221は、カレントアプリのアプリ情報を指定して、カウンタの確保要求をカウンタマネージャ1232に入力する(S102)。カウンタマネージャ1232は、カレントアプリのアプリ情報及びカウンタ管理テーブル1233の状態に基づいて、カレントアプリに対するカウンタの確保の可否を判定する(S103)。
図6は、カウンタ管理テーブルの構成例を示す図である。同図に示されるように、カウンタ管理テーブル1233は、予めNVRAM115上に確保されたカウンタごとに、カウンタID、カウンタ名、現プロダクトID、及び前プロダクトID等を管理するテーブルである。カウンタIDは、カウンタごとに一意なIDであり、NVRAM115上における各カウンタの記憶位置(アドレス情報)と等価と考えてよい。カウンタ名は、カウンタを使用するSDKアプリ122によって指定されるカウンタ名である。現プロダクトIDは、当該カウンタを現在使用しているSDKアプリ122のプロダクトIDである。前プロダクトIDは、現プロダクトIDに係るSDKアプリ122の前に当該カウンタを使用していたSDKアプリ122のプロダクトIDである。すなわち、前プロダクトIDは、カウンタの過去の使用履歴を示す情報であると共に、当該カウンタを過去に使用したSDKアプリ122(プロダクトID)と当該カウンタ(カウンタID)との対応付け維持するための情報であるといえる。
ステップS113の詳細については後述するが、少なくとも図6のように、前プロダクトID及び現プロダクトIDが記録されていないカウンタが存在する場合、アプリマネージャ1221は、カレントアプリに対するカウンタの確保は可能であると判定する。カウンタの確保が可能であると判定した場合、カウンタマネージャ1232は、確保可能なカウンタのカウンタIDを指定して、カウンタの確保要求をコントロールサービス124に入力する(S104)。
コントロールサービス124は、カウンタの確保要求に指定されたカウンタIDに係るカウンタを確保状態とする。確保状態とは、NVRAM115の管理プログラムによって、当該カウンタが使用中であることが認識され、同一のカウンタIDの確保要求が当該管理プログラムによって拒否される状態をいう。
続いて、カウンタマネージャ1232は、カウンタ管理テーブル1233において、カレントアプリに対して確保されたカウンタに対するレコードのカウンタ名及び現プロダクトIDに、カレントアプリのアプリ情報に含まれているカウンタ名又はカレントアプリのプロダクトIDを記録する(S105)。
図7は、SDKアプリに対してカウンタが確保されたときのカウンタ管理テーブルの例を示す図である。同図では、カウンタIDが「1」のカウンタに対して、カウンタ名「APL01」、プロダクトID「10000000」が記録された例が示されている。すなわち、同図は、カウンタIDが「1」のカウンタが、プロダクトIDが「10000000」であるSDKアプリ122に割り当てられたことを示す。なお、本実施の形態において、現プロダクトIDとして記録された値は、カウンタが使用されていることを示す情報として用いられる。但し、他のフラグ情報をカウンタが使用されていることを示す情報として別途用意してもよい。
続いて、カウンタマネージャ1232は、カウンタの確保処理の処理結果をアプリマネージャ1221に通知する(S106)。カウンタが正常に確保できた場合は正常終了が通知され、カウンタの確保に失敗した場合は異常終了が通知される。アプリマネージャ1221は、正常終了が通知された場合、カレントアプリのインストール処理を継続する(S107)。したがって、他に異常が発生しなければ、カレントアプリは画像形成装置10にインストールされる。
一方、異常終了が通知された場合、アプリマネージャ1221は、カレントアプリのインストールを中止する。インストールが中止されることにより、カレントアプリの提供者に対する不利益の発生を防止することができる。すなわち、カウンタが確保できないとうことは、カレントアプリについて課金を行うことができないことを意味する。したがって、カウンタが確保できないにも拘わらず、カレントアプリのインストールを実行してしまうと、カレントアプリに関して課金ができない状態のままユーザによる利用が可能となってしまう可能性がある。そうすると、カレントアプリの提供者は正当な対価を回収することができないからである。
図4の処理は、SDKアプリ122がインストールされるたびに実行される。したがって、カウンタを使用する新たなSDKアプリ122がインストールされた場合、カウンタ管理テーブル1233の状態は、例えば、図8に示されるようになる。
図8は、二つのSDKアプリがインストールされた場合のカウンタ管理テーブルの例を示す図である。同図では、カウンタIDが「2」のカウンタに対して、カウンタ名「APL02」、プロダクトID「20000000」が記録された例が示されている。すなわち、同図は、カウンタIDが「2」のカウンタが、プロダクトIDが「20000000」であるSDKアプリ122に割り当てられたことを示す。
なお、カレントアプリが複数のカウンタを必要としている場合、すなわち、カレントアプリのアプリ情報に複数のカウンタに関する情報が記録されている場合、ステップS102〜S106は、カウンタごとに実行される。アプリマネージャ1221は、全てのカウンタについて正常終了が通知された場合にインストールを継続し、少なくとも一つのカウンタについて異常終了が通知された場合にはインストールを中止する。
また、少なくとも一つのカウンタについて異常終了が通知された場合、アプリマネージャ1221は、それまでに正常終了が通知されたカウンタについて、図11において説明される解放処理をカウンタマネージャ1232に実行させる。使用されないカウンタが確保されたままになるのを回避するためである。
続いて、SDKアプリ122の起動時の処理手順について説明する。図9は、SDKアプリの起動時の処理手順を説明するためのシーケンス図である。
SDKアプリ122は、起動されると、自らのプロダクトIDと自らが使用するカウンタのカウンタ名とを指定して、カウンタIDの取得要求をカウンタマネージャ1232に入力する(S201)。カウンタIDの取得要求に指定されるプロダクトID及びカウンタ名は、アプリ情報ファイルより取得されてもよいし、SDKアプリ122にハードコーディングされていてもよい。
続いて、カウンタマネージャ1232は、指定されたプロダクトIDを現プロダクトIDとし、指定されてカウンタ名が付与されたカウンタのカウンタIDをカウンタ管理テーブル1233に基づいて判定する(S202)。例えば、カウンタ管理テーブル1233が図7の状態において、指定されたプロダクトIDが「10000000」であり、カウンタ名が「APL01」である場合、該当するカウンタIDは「1」であると判定される。
続いて、カウンタマネージャ1232は、判定結果としてのカウンタIDをSDKアプリ122に返却する(S203)。なお、SDKアプリ122が使用するカウンタが複数有る場合、ステップS201〜S203は、カウンタの個数分繰り返される。
カウンタIDを取得したSDKアプリ122は、当該カウンタIDに対応するカウンタの操作が可能となる。
図10は、SDKアプリによるカウンタの操作時の処理手順を説明するためのシーケンス図である。
SDKアプリ122は、ジョブの実行時等において、対応するカウンタを更新する必要がある場合、当該カウンタのカウンタIDとカウンタ値の増分(加算値)を指定してカウンタの更新要求をカウンタマネージャ1232に入力する(S301)。カウンタマネージャ1232は、当該更新要求をコントロールサービス124に伝達する(S302)。コントロールサービス124は、NVRAM114の管理プログラムを介して、指定されたカウントIDに対応するカウンタよりカウンタ値を読み込む(S303)。続いて、コントロールサービス124は、読み込まれたカウンタ値に対して増分を加算し、新たなカウンタ値を算出する(S304)。続いて、コントロールサービス124は、NVRAM114の管理プログラムを介して、指定されたカウントIDに対応するカウンタに算出結果としてのカウンタ値を書き込む(S305)。続いて、コントロールサービス124は、カウント値の更新処理の処理結果(成否)をカウンタマネージャ1232に通知する(S306)。カウンタマネージャ1232は当該処理結果をSDKアプリ122に通知する。
また、SDKアプリ122は、自らが使用するカウンタのカウンタ値を取得(参照)する必要がある場合、当該カウンタのカウンタIDを指定して、カウンタ値の取得要求をカウンタマネージャ1232に入力する(S311)。カウンタマネージャ1232は、当該カウンタ値の取得要求をコントロールサービス124に伝達する(S312)。コントロールサービス124は、NVRAM114の管理プログラムを介して、指定されたカウントIDに対応するカウンタよりカウンタ値を読み込む(S313)。続いて、コントロールサービス124は、読み込んだカウンタ値をカウンタマネージャ1232に返却する(S314)。カウンタマネージャ1232は当該カウンタ値をSDKアプリ122に返却する(S315)。
このように、SDKアプリ122によるカウンタの操作は、全てカウンタマネージャ1232を介して実行される。
続いて、SDKアプリ122のアンインストール時の処理手順について説明する。図11は、SDKアプリのアンインストール時における処理手順を説明するためのシーケンス図である。
アプリマネージャ1221が操作パネル15に表示させるアンインストール画面を介してアンインストール対象のSDKアプリ122(以下、「カレントアプリ」という。)が選択され、アンインストールの開始指示が入力されると(S401)、アプリマネージャ1221は、カレントアプリによるカウンタの使用の要否をカウンタアプリのアプリ情報ファイルに基づいて判定する。
カレントアプリがカウンタの使用を必要としている場合、アプリマネージャ1221は、カレントアプリのアプリ情報に含まれているプロダクトID及びカウンタ名を指定して、カウンタの解放要求をカウンタマネージャ1232に入力する(S402)。
カウンタマネージャ1232は、カウンタ管理テーブル1233に基づいて、指定されたプロダクトID及びカウンタ名に対応するカウンタIDを判定する(S403)。続いて、カウンタマネージャ1232は、判定されたカウンタIDを指定して、カウンタの解放要求をコントロールサービス124に入力する(S404)。
コントロールサービス124は、カウンタの解放要求に指定されたカウンタIDに係るカウンタを解放状態とする。解放状態とは、NVRAM115の管理プログラムによって、当該カウンタが使用されていないことが認識され、同一のカウンタIDに係る確保要求が当該管理プログラムによって許可される状態をいう。
続いて、カウンタマネージャ1232は、カウンタ管理テーブル1233を更新する(S405)。
図12は、カウンタが解放されたときのカウンタ管理テーブル及びNVRAMの状態を示す図である。
同図では、プロダクトIDが「20000000」であるSDKアプリ122がアンインストールされた場合の例が示されている。この場合、カウンタIDが2のカウンタについて、カウンタ名が削除される。但し、カウンタ(カウンタID)と、SDKアプリ122(プロダクトID)との対応付けは維持される。すなわち、現プロダクトIDの値は完全に削除されるのではなく、前プロダクトIDに移動される。また、当該カウンタについてそれまでに記録されたカウンタ値についても、NVRAM115内において記録されたままとされる。なお、現プロダクトIDの値は空となったことにより、当該カウンタは使用されていないことを示す情報が記録されたことになる。但し、他のフラグ情報をカウンタが使用されていないことを示す情報として別途用意してもよい。
続いて、カウンタマネージャ1232は、カウンタの解放処理の処理結果をアプリマネージャ1221に通知する(S406)。カウンタの解放処理が正常終了である場合、アプリマネージャ1221は、カレントアプリのアンインストールを実行する(S407)。
続いて、図4のステップS103の詳細について説明する。図13は、カウンタの確保の可否の判定処理の処理手順を説明するためのフローチャートである。
ステップS103−1において、カウンタマネージャ1232は、カウンタ管理テーブル1233を参照して使用されていないカウンタが有るか否かを判定する。少なくとも現プロダクトIDの値が空である(記録されていない)カウンタが有る場合、カウンタマネージャ1232は使用されていないカウンタは有ると判定する。
使用されていないカウンタは有ると判定した場合(S103−1でYES)、カウンタマネージャ1232は、カレントアプリのアプリ情報の自己カウンタ継続使用フラグの値を参照し、過去にカレントアプリによって使用されたカウンタの使用の可否を判定する(S103−2)。自己カウンタ継続使用フラグの値がtrueである場合(S103−2でYES)、カウンタマネージャ1232は、カレントアプリについて使用履歴の有るカウンタの有無をカウンタ管理テーブル1233を参照して判定する(S103−3)。カウンタアプリについて使用履歴の有るカウンタとは、カウンタ管理テーブル1233において、前プロダクトIDの値がカレントアプリのプロダクトIDと一致し、現プロダクトIDの値が空であるカウンタをいう。該当するカウンタが存在する場合(S103−3でYES)、カウンタマネージャ1232は、当該カウンタを確保可能であると判定し、当該カウンタのカウンタIDを確保対象として記憶する(S103−4)。
この場合の典型例としては、カウンタ管理テーブル1233が図12に示される状態において、プロダクトIDが「20000000」であるSDKアプリ122が再インストールされた場合が挙げられる。この場合、後段において実行されるステップS105(図4)により、カウンタ管理テーブル1233は、図14に示されるような状態となる。
図14は、過去に使用履歴の有るカウンタが同一のSDKアプリに対して確保された場合のカウンタ管理テーブルの例を示す図である。同図では、カウンタIDが「2」であるカウンタのカウンタ名、現プロダクトIDに対して、「APL−02」、「20000000」が再度登録されている。なお、この場合、NVRAM115に記録されているカウンタ値はそのまま引き継がれる。カウンタ値を初期化することはできないからである。
一方、自己カウンタ継続使用フラグがfalseである場合(S103−2でNO)、又はカレントアプリについて使用履歴の有るカウンタが無かった場合(S103−3でNO)、カウンタマネージャ1232は、使用履歴の無いカウンタの有無をカウンタ管理テーブル1233を参照して判定する(S103−5)。使用履歴の無いカウンタとは、カウンタ管理テーブル1233において、現プロダクトID及び前プロダクトIDの双方の値が空であるカウンタをいう。使用履歴の無いカウンタが有る場合(S103−5でYES)、カウンタマネージャ1232は、当該カウンタを確保可能であると判定し、当該カウンタのカウンタIDを確保対象として記憶する(S103−6)。
この場合、後段において実行されるステップS105(図4)により、カウンタ管理テーブル1233は、図7又は図8において示したような状態となる。
また、使用履歴の無いカウンタが無い場合(S103−5でNO)、カウンタマネージャ1232は、カレントアプリのアプリ情報の他者カウンタ継続使用フラグの値を参照し、過去に他のSDKアプリ122によって使用されたカウンタの使用の可否を判定する(S103−7)。他者カウンタ継続使用フラグの値がtrueである場合(S103−7でYES)、カウンタマネージャ1232は、他のSDKアプリ122について使用履歴の有るカウンタの有無をカウンタ管理テーブル1233を参照して判定する(S103−8)。他のSDKアプリ122について使用履歴の有るカウンタとは、カウンタ管理テーブル1233において、前プロダクトIDの値がカレントアプリのプロダクトIDとは一致せず、現プロダクトIDの値が空であるカウンタをいう。該当するカウンタが存在する場合(S103−8でYES)、カウンタマネージャ1232は、当該カウンタを確保可能であると判定し、当該カウンタのカウンタIDを確保対象として記憶する(S103−9)。
また、使用されていないカウンタが無い場合(S103−1でNO)、他者カウンタ継続使用フラグの値がfalseである場合(S103−7でNO)、又は他のSDKアプリ122について使用履歴の有るカウンタが無い場合(S103−8でNO)、カウンタマネージャ1232は、カレントアプリのカウンタ不使用モードフラグを参照する(S103−10)。カウンタ不使用モードフラグがtrueである場合(S103−10でYES)、カウンタマネージャ1232は、カウンタの確保は不可能であるが図13の処理は正常終了であると判定する(S103−11)。したがって、この場合、図4におけるステップS104及びS105は実行されないが、ステップS106において正常終了がアプリマネージャ1221に通知される。
一方、不使用モードフラグがfalseである場合(S103−10でNO)、カウンタマネージャ1232は、カウンタの確保は不可能であり、図13の処理は異常終了であると判定する(S103−12)。したがって、この場合、図4におけるステップS104及びS105は実行されず、ステップS106において異常終了がアプリマネージャ1221に通知される。
なお、ステップS109の判定が行われた場合、すなわち、他のSDKアプリ122の使用履歴の有るカウンタが確保可能であると判定された場合、当該カウンタがカレントアプリに対して確保される。但し、当該カウンタには、当該他のアプリ122がアンインストールされるまでの使用状況に応じたカウンタ値(以下、「過去カウンタ値」という。)が記録されている。したがって、カレントアプリの使用状況の把握を可能とするためには、当該カウンタのカウンタ値から過去カウンタ値を減ずる処理(すなわち、差分を算出する処理)が必要とされる。差分を算出する処理は、カウンタマネージャ1232が実行すればよい。例えば、ステップS109の実行時において、過去カウンタ値を取得し、カウンタ管理テーブル1233に記録しておけばよい。この場合、カウンタ管理テーブル1233には過去カウンタ値を記録するための新たな列を設ければよい。カウンタマネージャ1232は、カウンタ値の取得が要求された場合は、コントロールサービス124を介してNVRAM115より取得されるカウンタ値より過去カウンタ値を減じた値を返却すればよい。又は、過去カウンタ値は、NVRAM115に記録してよいもよい。例えば、カウンタごとに過去カウンタ値を記録するための領域をNVRAM115に設けておいてもよい。この場合、NVRAM115におけるリソースの消費量は増加するが、過去カウンタ値についても安全に管理することができるという利点がある。なお、この場合、カウンタマネージャ1232は、カウンタ値の取得が要求された場合は、コントロールサービス124を介してNVRAM115より取得されるカウンタ値及び過去カウンタ値との差分を返却すればよい。
また、上記においては、カウンタマネージャ1232は、アプリ情報に基づいて各種の判断(例えば、ステップS103−2、S103−7、S103−10等の判断)を行う例が示されているが、これらの判断は、インストール対象のSDKアプリ122に問い合わせることにより取得される情報に基づいて動的に判断されてもよい。この場合、図4において、アプリマネージャは、ステップS102の実行前に、カレントアプリを仮にインストールし、起動状態としておけばよい。そうすることにより、カウンタマネージャは、カレントアプリと通信を行うことが可能となる。
ところで、カウンタマネージャ1232は、カスタマーエンジニア用に全カウンタの表示機能を備えている。続いて、カウンタマネージャ1232によるカウンタの表示処理について説明する。図15は、カウンタマネージャによるカウンタの表示処理の処理手順を説明するためのシーケンス図である。
操作パネル15を介して、カウンタ値の表示指示が入力されると、カウンタマネージャ1232は、カウンタ管理テーブル1233を参照して使用されているカウンタのカウンタIDを判定する(S501)。具体的には、現プロダクトIDが記録されているカウンタのカウンタIDが判定される。
続いて、カウンタマネージャ1232は、使用されているカウンタIDを一つ指定してコントロールサービス124に対してカウンタ値の取得要求を入力する(S502)。コントロールサービス124は、NVRAM114の管理プログラムを介して、指定されたカウントIDに対応するカウンタよりカウンタ値を読み込む(S503)。続いて、コントロールサービス124は、読み込んだカウンタ値をカウンタマネージャ1232に返却する(S504)。
カウンタマネージャ1232は、使用されているカウンタが複数有る場合、ステップS502を使用されているカウンタの個数分繰り返す。その結果、使用されている全てのカウンタについてカウンタ値が取得される。
続いて、カウンタマネージャ1232は、使用されている各カウンタについて、カウンタ名と取得されたカウンタ値とを表示させる画面(カウンタ値表示画面)を操作パネル15に表示させる(S505)。
図16は、カウンタ値表示画面の表示例を示す図である。同図に示されるように、カウンタ値表示画面510には、カウンタごとにカウンタ名及びカウンタ値が表示される。同図では、6個のカウンタ(本実施の形態では全てのプラグインカウンタ)が使用されている例が示されている。
このように、各SDKアプリ122のカウンタ値が一覧表示されることで、カスタマーエンジニアは各SDKアプリのカウンタ値を容易に把握することができる。
上述したように、本実施の形態によれば、SDKアプリ122が利用するカウンタについても、標準アプリ121と同様にプラットフォーム側において管理することができる。したがって、各SDKアプリ122の開発効率を向上させることができる。また、各SDKアプリ122のカウンタの安全性及び信頼性を向上させることができる。更に、カスタマーエンジニアの作業負担を軽減することができる。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 画像形成装置
11 コントローラ
12 スキャナ
13 プリンタ
14 モデム
15 操作パネル
16 ネットワークインタフェース
17 SDカードスロット
80 SDカード
111 CPU
112 RAM
113 ROM
114 HDD
115 NVRAM
121 標準アプリ
122 SDKアプリ
123 SDKプラットフォーム
124 コントロールサービス
1221 アプリマネージャ
1222 SDKアプリA
1223 SDKアプリB
1231 JVM
1232 カウンタマネージャ
特開2008−204270号公報

Claims (24)

  1. プログラムのインストール手段と、
    該プログラムの利用状況であるカウンタを記録するカウンタ管理手段と、
    インストールに応じて該プログラムの識別情報に基づき、使用するカウンタ管理手段を決定する決定手段と、を有し、
    前記カウンタ管理手段は、
    前記プログラムがアンインストールされるときに、当該プログラムに関するカウンタの値と、当該プログラムのプログラム識別情報と、当該プログラムに関するカウンタのカウンタ識別情報との対応付けは維持したまま、当該カウンタは使用されていないことを示す情報を記録する画像形成装置。
  2. 前記カウンタ管理手段は、
    前記プログラムがインストールされるときに、当該プログラムのプログラム識別情報を、当該プログラムに関するカウンタのカウンタ識別情報と対応付けて記録する請求項1記載の画像形成装置。
  3. 前記決定手段は、
    インストールされるプログラムの前記プログラム識別情報が、使用されていないカウンタのカウンタ識別情報と対応付けられている場合は、当該使用されていないカウンタを記録するカウンタ管理手段を、前記使用するカウンタ管理手段に決定する請求項2記載の画像形成装置。
  4. 前記決定手段は、
    インストールされるプログラムの前記プログラム識別情報が、使用されていないカウンタのカウンタ識別情報と対応付けられている場合は、当該プログラムの付随情報において当該カウンタの使用が可能であることが示されているときに、当該使用されていないカウンタを記録するカウンタ管理手段を、前記使用するカウンタ管理手段に決定する請求項2記載の画像形成装置。
  5. 前記決定手段は、
    インストールされるプログラムの付随情報において、使用されていないカウンタの使用が可能でないことが示されているときに、使用履歴のないカウンタを記録するカウンタ管理手段を、前記使用するカウンタ管理手段に決定する請求項2記載の画像形成装置。
  6. 前記決定手段は、
    インストールされるプログラムの前記プログラム識別情報が、使用されていないカウンタのカウンタ識別情報と対応付けられていない場合は、使用履歴のないカウンタを記録するカウンタ管理手段を、前記使用するカウンタ管理手段に決定する請求項2記載の画像形成装置。
  7. 前記決定手段は、
    インストールされるプログラムの前記プログラム識別情報が、使用されていないカウンタのカウンタ識別情報と対応付けられておらず、かつ、使用履歴のないカウンタがない場合は、当該プログラムの付随情報において、他のプログラムに関するカウンタであって、使用されていないカウンタの使用が可能であることが示されているときに、当該他のプログラムに関するカウンタであって、使用されていないカウンタを記録するカウンタ管理手段を、前記使用するカウンタ管理手段に決定する請求項2記載の画像形成装置。
  8. 前記決定手段は、
    使用履歴のないカウンタがなく、かつ、インストールされるプログラムの付随情報において、該プログラムに関するカウンタであって、使用されていないカウンタの使用が可能でないことが示され、かつ、他のプログラムに関するカウンタであって、使用されていないカウンタの使用が可能であることが示されているときに、当該他のプログラムに関するカウンタであって、使用されていないカウンタを記録するカウンタ管理手段を、前記使用するカウンタ管理手段に決定する請求項2記載の画像形成装置。
  9. プログラムをインストール可能な画像形成装置が実行するカウンタ管理方法であって、
    前記プログラムの利用状況であるカウンタを記録するカウンタ管理手順と、
    インストールに応じて該プログラムの識別情報に基づき、使用するカウンタ管理手順を決定する決定手順と、を有し、
    前記カウンタ管理手順は、
    前記プログラムがアンインストールされるときに、当該プログラムに関するカウンタの値と、当該プログラムのプログラム識別情報と、当該プログラムに関するカウンタのカウンタ識別情報との対応付けは維持したまま、当該カウンタは使用されていないことを示す情報を記録するカウンタ管理方法。
  10. 前記カウンタ管理手順は、
    前記プログラムがインストールされるときに、当該プログラムのプログラム識別情報を、当該プログラムに関するカウンタのカウンタ識別情報と対応付けて記録する請求項9記載のカウンタ管理方法。
  11. 前記決定手順は、
    インストールされるプログラムの前記プログラム識別情報が、使用されていないカウンタのカウンタ識別情報と対応付けられている場合は、当該使用されていないカウンタを記録するカウンタ管理手順を、前記使用するカウンタ管理手順に決定する請求項10記載のカウンタ管理方法。
  12. 前記決定手順は、
    インストールされるプログラムの前記プログラム識別情報が、使用されていないカウンタのカウンタ識別情報と対応付けられている場合は、当該プログラムの付随情報において当該カウンタの使用が可能であることが示されているときに、当該使用されていないカウンタを記録するカウンタ管理手順を、前記使用するカウンタ管理手順に決定する請求項10記載のカウンタ管理方法。
  13. 前記決定手順は、
    インストールされるプログラムの付随情報において、使用されていないカウンタの使用が可能でないことが示されているときに、使用履歴のないカウンタを記録するカウンタ管理手順を、前記使用するカウンタ管理手順に決定する請求項10記載のカウンタ管理方法。
  14. 前記決定手順は、
    インストールされるプログラムの前記プログラム識別情報が、使用されていないカウンタのカウンタ識別情報と対応付けられていない場合は、使用履歴のないカウンタを記録するカウンタ管理手順を、前記使用するカウンタ管理手順に決定する請求項10記載のカウンタ管理方法。
  15. 前記決定手順は、
    インストールされるプログラムの前記プログラム識別情報が、使用されていないカウンタのカウンタ識別情報と対応付けられておらず、かつ、使用履歴のないカウンタがない場合は、当該プログラムの付随情報において、他のプログラムに関するカウンタであって、使用されていないカウンタの使用が可能であることが示されているときに、当該他のプログラムに関するカウンタであって、使用されていないカウンタを記録するカウンタ管理手順を、前記使用するカウンタ管理手順に決定する請求項10記載のカウンタ管理方法。
  16. 前記決定手順は、
    使用履歴のないカウンタがなく、かつ、インストールされるプログラムの付随情報において、該プログラムに関するカウンタであって、使用されていないカウンタの使用が可能でないことが示され、かつ、他のプログラムに関するカウンタであって、使用されていないカウンタの使用が可能であることが示されているときに、当該他のプログラムに関するカウンタであって、使用されていないカウンタを記録するカウンタ管理手順を、前記使用するカウンタ管理手順に決定する請求項10記載のカウンタ管理方法。
  17. プログラムをインストール可能な画像形成装置に、
    前記プログラムの利用状況であるカウンタを記録するカウンタ管理手順と、
    インストールに応じて該プログラムの識別情報に基づき、使用するカウンタ管理手順を決定する決定手順と、を実行させるカウンタ管理プログラムであって、
    前記カウンタ管理手順は、
    前記プログラムがアンインストールされるときに、当該プログラムに関するカウンタの値と、当該プログラムのプログラム識別情報と、当該プログラムに関するカウンタのカウンタ識別情報との対応付けは維持したまま、当該カウンタは使用されていないことを示す情報を記録するカウンタ管理プログラム。
  18. 前記カウンタ管理手順は、
    前記プログラムがインストールされるときに、当該プログラムのプログラム識別情報を、当該プログラムに関するカウンタのカウンタ識別情報と対応付けて記録する請求項17記載のカウンタ管理プログラム。
  19. 前記決定手順は、
    インストールされるプログラムの前記プログラム識別情報が、使用されていないカウンタのカウンタ識別情報と対応付けられている場合は、当該使用されていないカウンタを記録するカウンタ管理手順を、前記使用するカウンタ管理手順に決定する請求項18記載のカウンタ管理プログラム。
  20. 前記決定手順は、
    インストールされるプログラムの前記プログラム識別情報が、使用されていないカウンタのカウンタ識別情報と対応付けられている場合は、当該プログラムの付随情報において当該カウンタの使用が可能であることが示されているときに、当該使用されていないカウンタを記録するカウンタ管理手順を、前記使用するカウンタ管理手順に決定する請求項18記載のカウンタ管理プログラム。
  21. 前記決定手順は、
    インストールされるプログラムの付随情報において、使用されていないカウンタの使用が可能でないことが示されているときに、使用履歴のないカウンタを記録するカウンタ管理手順を、前記使用するカウンタ管理手順に決定する請求項18記載のカウンタ管理プログラム。
  22. 前記決定手順は、
    インストールされるプログラムの前記プログラム識別情報が、使用されていないカウンタのカウンタ識別情報と対応付けられていない場合は、使用履歴のないカウンタを記録するカウンタ管理手順を、前記使用するカウンタ管理手順に決定する請求項18記載のカウンタ管理プログラム。
  23. 前記決定手順は、
    インストールされるプログラムの前記プログラム識別情報が、使用されていないカウンタのカウンタ識別情報と対応付けられておらず、かつ、使用履歴のないカウンタがない場合は、当該プログラムの付随情報において、他のプログラムに関するカウンタであって、使用されていないカウンタの使用が可能であることが示されているときに、当該他のプログラムに関するカウンタであって、使用されていないカウンタを記録するカウンタ管理手順を、前記使用するカウンタ管理手順に決定する請求項18記載のカウンタ管理プログラム。
  24. 前記決定手順は、
    使用履歴のないカウンタがなく、かつ、インストールされるプログラムの付随情報において、該プログラムに関するカウンタであって、使用されていないカウンタの使用が可能でないことが示され、かつ、他のプログラムに関するカウンタであって、使用されていないカウンタの使用が可能であることが示されているときに、当該他のプログラムに関するカウンタであって、使用されていないカウンタを記録するカウンタ管理手順を、前記使用するカウンタ管理手順に決定する請求項18記載のカウンタ管理プログラム。
JP2013166044A 2013-08-09 2013-08-09 画像形成装置、カウンタ管理方法、及びカウンタ管理プログラム Expired - Fee Related JP5633608B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013166044A JP5633608B2 (ja) 2013-08-09 2013-08-09 画像形成装置、カウンタ管理方法、及びカウンタ管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013166044A JP5633608B2 (ja) 2013-08-09 2013-08-09 画像形成装置、カウンタ管理方法、及びカウンタ管理プログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009186749A Division JP5381483B2 (ja) 2009-08-11 2009-08-11 画像形成装置、カウンタ管理方法、及びカウンタ管理プログラム

Publications (2)

Publication Number Publication Date
JP2013237277A JP2013237277A (ja) 2013-11-28
JP5633608B2 true JP5633608B2 (ja) 2014-12-03

Family

ID=49762732

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013166044A Expired - Fee Related JP5633608B2 (ja) 2013-08-09 2013-08-09 画像形成装置、カウンタ管理方法、及びカウンタ管理プログラム

Country Status (1)

Country Link
JP (1) JP5633608B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5751809B2 (ja) * 2010-11-18 2015-07-22 キヤノン株式会社 画像形成装置、管理方法、及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003271024A (ja) * 2002-03-18 2003-09-25 Ricoh Co Ltd 画像形成装置
JP2006285774A (ja) * 2005-04-01 2006-10-19 Canon Inc サービス生成装置、サービス処理システム、処理方法、プログラム及び記録媒体
JP4078388B2 (ja) * 2007-08-06 2008-04-23 キヤノン株式会社 画像形成装置、情報処理方法、及び制御プログラム
JP4895969B2 (ja) * 2007-10-05 2012-03-14 株式会社リコー 画像形成装置及びカウンタ更新方法

Also Published As

Publication number Publication date
JP2013237277A (ja) 2013-11-28

Similar Documents

Publication Publication Date Title
US9740836B2 (en) Licensing for each of software modules of application for execution on the apparatus
JP5531819B2 (ja) 管理装置,ライセンス管理サーバ,電子機器,電子機器管理システム,管理方法,プログラム,および記録媒体
US8351821B2 (en) Image forming apparatus, control method, and program
CN101742029B (zh) 信息处理器和信息处理方法
JP4597834B2 (ja) 画像形成装置、情報処理方法、情報処理プログラム及び記録媒体
RU2533498C2 (ru) Устройство управления, система обработки информации, способ управления и носитель хранения
US9274775B2 (en) Apparatus, control method, and storage medium to instruct a framework to stop a target application based on a usage amount of a resource and a type of the target application
JP5699500B2 (ja) インストールプログラム、インストール方法、画像形成装置、及び記録媒体
US9013739B2 (en) Information processing system, image forming apparatus, management apparatus, information processing method, and computer program for automatically determining whether an application is to be applied in response to change in configuration information
US9612818B2 (en) Information processing apparatus, program management method for information processing apparatus, and non-transitory computer-readable storage medium
JP2014170515A (ja) 機器、情報記録プログラム、及び情報記録方法
JP5633608B2 (ja) 画像形成装置、カウンタ管理方法、及びカウンタ管理プログラム
US9323907B2 (en) Distribution apparatus, device, control method for distribution apparatus, and storage medium
JP5381483B2 (ja) 画像形成装置、カウンタ管理方法、及びカウンタ管理プログラム
KR20160026713A (ko) 화상 형성 장치 및 리소스 관리 방법
US9753775B2 (en) Resource management apparatus and resource management method
JP2019160133A (ja) 情報処理装置、情報処理システムおよび方法
US20130067452A1 (en) Management server, host device, and application management method
CN108449519B (zh) 网络设备及其方法
JP2022032285A (ja) 情報処理装置、情報処理方法、およびプログラム
CN110825417A (zh) 应用程序更新方法及系统
JP6330933B2 (ja) 機器、情報処理システム、情報処理方法、及びプログラム
JP6089794B2 (ja) 機器、情報処理システム、情報処理方法、及びプログラム
US20220261472A1 (en) Information processing apparatus, method, and program storage medium
JP2021189487A (ja) 管理装置およびその制御方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140701

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140827

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140929

R151 Written notification of patent or utility model registration

Ref document number: 5633608

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees