JP2005085045A - アプリケーション課金装置 - Google Patents
アプリケーション課金装置 Download PDFInfo
- Publication number
- JP2005085045A JP2005085045A JP2003317436A JP2003317436A JP2005085045A JP 2005085045 A JP2005085045 A JP 2005085045A JP 2003317436 A JP2003317436 A JP 2003317436A JP 2003317436 A JP2003317436 A JP 2003317436A JP 2005085045 A JP2005085045 A JP 2005085045A
- Authority
- JP
- Japan
- Prior art keywords
- application
- license
- information
- count information
- value
- 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.)
- Pending
Links
- 230000001276 controlling effect Effects 0.000 abstract 1
- 230000001105 regulatory effect Effects 0.000 abstract 1
- 238000000034 method Methods 0.000 description 80
- 230000006870 function Effects 0.000 description 63
- 230000008569 process Effects 0.000 description 33
- 230000002093 peripheral effect Effects 0.000 description 18
- 238000004364 calculation method Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 230000014759 maintenance of location Effects 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【課題】 アプリケーションの実行に伴って、アプリケーションディベロッパが独自のポリシに基づき、課金できるようにすることを目的とする。
【解決手段】 アプリケーションを実行させるアプリケーション課金装置において、前記アプリケーションの実行を制御する制御手段と、前記アプリケーションが各々、規定する所定のカウント情報を記憶する記憶手段と、前記カウント情報を更新する更新手段と、前記カウント情報を参照する参照手段と、前記カウント情報に基づいて課金を行う課金手段とを備え、前記アプリケーションが前記更新手段を用いて前記カウント情報を更新すると共に、前記制御手段が前記参照手段を用いて参照したカウント情報に基づき前記課金手段が課金を行うようにする。
【選択図】 図1
【解決手段】 アプリケーションを実行させるアプリケーション課金装置において、前記アプリケーションの実行を制御する制御手段と、前記アプリケーションが各々、規定する所定のカウント情報を記憶する記憶手段と、前記カウント情報を更新する更新手段と、前記カウント情報を参照する参照手段と、前記カウント情報に基づいて課金を行う課金手段とを備え、前記アプリケーションが前記更新手段を用いて前記カウント情報を更新すると共に、前記制御手段が前記参照手段を用いて参照したカウント情報に基づき前記課金手段が課金を行うようにする。
【選択図】 図1
Description
本発明は、コンピュータシステム一般における、アプリケーションの利用に対して課金を行う装置に関するものである。
従来より、一般的なコンピュータシステムで、アプリケーションを動作させ、その実行の度合い(ある機能の実行回数や成果物の量)により、アプリケーションのユーザに対して課金するシステムがあった。
例えば、特開平11−219292号公報においては、ユーザコンピュータ上でアプリケーションを実行する度にカウンタデータをデクリメントし、カウンタデータが0以下になったらホストコンピュータに新たなカウンタデータの送信を要求する。そして、ホストコンピュータが新たなカウンタデータをユーザコンピュータに送信する時に、ユーザに対して課金を行うようになっている。
また、特開2002−117157号公報においては、1台のMFP(Multi Function Printer)上で複数のアプリケーションを動作させることができ、前記アプリケーションによる成果物に応じて、MFPのユーザに対して課金を行うようになっている。
しかし、前記従来技術には以下のような課題があった。
特開平11−219292号公報が実現するシステムでは、アプリケーションのディベロッパが異なれば、各々のディベロッパが管理する、もしくは委託する、異なるホストコンピュータで課金されることになる。
特開平11−219292号公報が実現するシステムでは、アプリケーションのディベロッパが異なれば、各々のディベロッパが管理する、もしくは委託する、異なるホストコンピュータで課金されることになる。
例え、同一のホストコンピュータで課金されたとしても、課金するタイミング等、課金に関する決定はディベロッパの都合で行われる。つまり、各ディベロッパが個別にユーザに対して課金するものであり、ユーザは各ディベロッパに対し、いちいち料金を支払わなければならず、手間がかかる。
また、特開2002−117157号公報が実現するシステムでは、MFP上で動作させるアプリケーションのディベロッパが異なったとしても、アプリケーションの成果物のカウントはMFPシステムが行うので、複数のアプリケーション間で統一的にユーザに課金できる。例えば、全アプリケーションに対する課金集計の時期を月の何日というように決定できる。
しかし、カウンタが更新されるのは、MFPが提供した機能を利用して、MFPが規定する成果物が得られた場合である。しかも、カウンタそのものもMFPが管理するものである。アプリケーションディベロッパがアプリケーションの提供する機能及び独自の課金ポリシに基づき、課金カウンタを更新することはできない。
本発明は、以上のような課題を解決するためになされたものであり、その第一の目的は、コンピュータシステム一般において、アプリケーションの実行に伴って、アプリケーションディベロッパが独自のポリシに基づき、課金できるようにすることである。課金対象をシステム(ここでのシステムとはアプリケーション以外のハードウエア及びソフトウエアを指す)が提供する機能(例えば、複合機においては、プリント、スキャン)の実行以外にも広げることである。さらに言えば、システムが提供する機能に限らず、アプリケーションが提供する機能に従って、課金できるようにすることである。
また、第二の目的は、複数のアプリケーションディベロッパが各々のアプリケーションを動作させる上で、独自の課金を行ったとしても、システムとしては課金の集計を統一的に行うことにより、一貫した方法でユーザに料金を請求できるようにすることである。
上記目的を達成するために本発明は、アプリケーションを実行させるアプリケーション課金装置において、前記アプリケーションの実行を制御する制御手段と、前記アプリケーションが各々、規定する所定のカウント情報を記憶する記憶手段と、前記カウント情報を更新する更新手段と、前記カウント情報を参照する参照手段と、前記カウント情報に基づいて課金を行う課金手段とを備え、前記アプリケーションが前記更新手段を用いて前記カウント情報を更新すると共に、前記制御手段が前記参照手段を用いて参照したカウント情報に基づき前記課金手段が課金を行うことを特徴とするアプリケーション課金装置、を提供する。
本発明によれば、1乃至複数のアプリケーションを実行させるアプリケーション課金装置において、前記アプリケーションの実行を制御する制御手段と、前記アプリケーションが各々、規定する所定のカウント情報を記憶する記憶手段と、前記カウント情報を更新する更新手段と、前記カウント情報を参照する参照手段と、前記カウント情報に基づいて課金を行う課金手段とを備え、前記アプリケーションが前記更新手段を用いて前記カウント情報を更新すると共に、前記制御手段が前記参照手段を用いて参照したカウント情報に基づき、前記課金手段が課金を行うことを特徴とすることにより、コンピュータシステム一般において、アプリケーションの実行に伴って、アプリケーションディベロッパが独自のポリシに基づき課金できる。
課金対象をシステム(ここでのシステムとはアプリケーション以外のハードウエア及びソフトウエアを指す)が提供する機能の実行以外にも広げることができる。
さらに言えば、システムが提供する機能に限らず、アプリケーションが提供する機能に従って課金できるようになる。
さらに言えば、システムが提供する機能に限らず、アプリケーションが提供する機能に従って課金できるようになる。
また、複数のアプリケーションディベロッパが各々のアプリケーションを動作させる上で、独自の課金を行ったとしても、システムとしては課金の集計を統一的に行うことにより、一貫した方法でユーザに料金を請求できるという効果もある。
以下、本発明の第一の実施の形態を、図を用いて説明する。
図1は本発明の第一の実施の形態の装置であるところの複合機(Multi Function Printer、略してMFPとも呼ばれる)のハードウエア構成を示したブロック図であり、同図において、101は、中央演算装置であるところのCPUであり、装置全体の制御を行う。各種アプリケーションやその他のプログラムの実行、並びに各種表示制御もここで行う。
図1は本発明の第一の実施の形態の装置であるところの複合機(Multi Function Printer、略してMFPとも呼ばれる)のハードウエア構成を示したブロック図であり、同図において、101は、中央演算装置であるところのCPUであり、装置全体の制御を行う。各種アプリケーションやその他のプログラムの実行、並びに各種表示制御もここで行う。
ここで、アプリケーションとは、アプリケーションディベロッパ(以下、単にディベロッパと称す)が作成したプログラムであり、複合機上で実行されるものを指すものとする。本明細書における以下の記載についても同様とする。
102はROMであり、書換えが不要なプログラムやデータが格納されている。103はRAMであり、装置制御時のデータあるいは画像データ等の各種データの一時的な格納場所となる。104は不揮発性RAM(NVRAM)であり、複合機の電源OFF時にも保持する必要があるデータを書き込んでおくために使用される。
105はハードディスク(HD)であり、各種データ、プログラム、及びアプリケーションが格納される。HD105は、NVRAM104と同じく、電源OFFでもデータを保持する手段として使うことが可能である。106はディスプレイであり、各種表示がなされる。
107は、リムーバブルメディアドライブであり、コードあるいはデータを外部とやり取りするための記憶媒体(リムーバブルメディア)を着脱自在に装着できる。
108は、ネットワークインタフェースであり、ネットワーク109とのインタフェースを担うものである。ここで、ネットワーク109は有線、無線を問わず、電気、光、赤外線、いずれの方式も問わない。
110はスキャナであり、文書等を光学的に走査し、読み取りを行い、画像データを得るものである。111はプリンタであり、各種データの印刷を行う。
次に、図2を用いて、ライセンスファイルの説明を行う。
ライセンスファイルはアプリケーションの利用をユーザに許可するためのものであり、例えば、アプリケーションの利用有効期限等の利用許可情報(ライセンス情報)が格納されている。ライセンスファイルは対応するアプリケーションと一対で存在する。
ライセンスファイルはアプリケーションの利用をユーザに許可するためのものであり、例えば、アプリケーションの利用有効期限等の利用許可情報(ライセンス情報)が格納されている。ライセンスファイルは対応するアプリケーションと一対で存在する。
アプリケーションは、その不正使用を防止するため、暗号化される。その復号化に必要な復号化キーはライセンスファイル中に格納される(図示なし)。さらに、ライセンスファイルもまた、所定の暗号化キーによって暗号化される。
ライセンスファイルの復号化キーは複合機のみが知っている。このようにしておけば、ライセンスファイルの復号化、及びアプリケーションの復号化は複合機のみが行える。ライセンスファイルの偽造が不可能になり、偽ったライセンスを用いてアプリケーションを使用することもできなくなる。
ライセンスファイルがアプリケーションと分離された構成となっているのは、ライセンス情報の更新を可能にするためである。例えば、複合機のユーザからディベロッパに対価が支払われた場合、アプリケーションの利用有効期限が延長される。その場合、新たな利用有効期限を設定したライセンスファイルが複合機にインストールされる。
図2に示す如く、ライセンスファイルに書き込まれるライセンス情報には、共通ライセンス情報とアプリケーション独自ライセンス情報の2種類が存在する。
共通ライセンス情報とは、いずれのアプリケーションにも共通に設定されるべきライセンスに関する情報であり、例えば、そのライセンスファイルに関連付けられるアプリケーションを識別するためのアプリケーションIDであったり、アプリケーションの利用有効期限等の、多くのアプリケーションがサポートするようなライセンス情報であったり、そのライセンスが許可する、スキャナ110やプリンタ111の利用回数といった、複合機で予め定められた種類のライセンス情報であったりする。
共通ライセンス情報とは、いずれのアプリケーションにも共通に設定されるべきライセンスに関する情報であり、例えば、そのライセンスファイルに関連付けられるアプリケーションを識別するためのアプリケーションIDであったり、アプリケーションの利用有効期限等の、多くのアプリケーションがサポートするようなライセンス情報であったり、そのライセンスが許可する、スキャナ110やプリンタ111の利用回数といった、複合機で予め定められた種類のライセンス情報であったりする。
第三の、複合機で予め定められたライセンス情報においては、ライセンス情報と現在の状態(例えば、スキャナ110やプリンタ111の利用回数)の比較、及びそれに基づく制御を、アプリケーションではなく、複合機のシステムが行う。ここでは、システムという語をアプリケーション以外のソフトウエア部分であって、ハードウエアを含めた複合機全体の制御及びアプリケーションまで含めた各種プログラムの実行及び管理を行う部分を指す意味で使用している。
スキャナ110やプリンタ111の起動等のトリガとなる動作はアプリケーションが行い得るが、アプリケーションは複合機の機能の実行を、複合機のシステムが提供するソフトウエアモジュールを呼び出すことで行っており、実際のスキャナ110やプリンタ111の制御、及びスキャナ110やプリンタ111の利用回数のカウントアップ等は、前記ソフトウエアモジュールつまりシステムが行っている。
前記利用回数は、複合機使用に関する課金に直接関係する重要な情報であるので、データのバックアップを取る等、複合機のシステムはこれに対する保護手段を備えている。
しかし、アプリケーション側から見れば、スキャナ110やプリンタ111の利用回数カウンタにアクセスするには、前記ソフトウエアモジュールを呼び出して、複合機システムが提供する機能を実行する以外にない。また、複合機システムがサポートするライセンス情報の数も種類も限られている。
これに対して、アプリケーション独自ライセンス情報はディベロッパが自由に定めたライセンスに関する情報である。このライセンスは複合機が提供する様々な機能(アプリケーション自身が提供する機能でもよい)に応じて、定められる。
例えば、データベース(DB)アクセス機能、メール機能、ファイル転送機能、アプリケーション利用時間、送受信データ量および種類、ストリームデータの受信時間、保存、機能の予約実行、エージェント、アプレット、スクリプト等のサブプログラムの実行の種類及び回数等、様々な機能についてのライセンスが考えられる。
ライセンスが規定する量的な値についても、回数、サイズ、時間、機能のポイント換算、あるいはそれらの組み合わせが考えられるし、ライセンス条件としては、量的な値による制限だけでなく、より複雑な条件も有り得る。これらの情報が、アプリケーション独自ライセンス情報として、ライセンスファイル中に格納されている。
図2に示すように、ディベロッパは決定したライセンス情報を格納したライセンスファイルを作成した後、それを暗号化する。暗号化が必要である理由は前述した通りである。そして、暗号化されたライセンスファイルを複合機にインストールする。
インストールされるライセンスファイルはネットワーク109を通じて入力されてもよいし、リムーバブルメディアに格納されたものがリムーバブルメディアドライブ107を通じて入力されてもよい。また、アプリケーションのインストールはライセンスファイルと同時に行っても、行わなくても、どちらでも良い。
なお、前記の説明では、ライセンス情報がライセンスファイルに格納されている例で説明したが、本発明はファイル形式に限定されるものではない。要は、ライセンス情報データが複合機にインストールされればよい。
次に、アプリケーション独自ライセンス情報についてさらに詳しく説明する。アプリケーション独自ライセンス情報の構成としては、そのアプリケーションについてライセンスする項目が1乃至複数個存在し、そのライセンス項目各々に対して、キー及び値からなる一組のデータが複数個存在している。
アプリケーションに対して、ライセンスする項目が1乃至複数個存在するというのは、例えば、そのアプリケーションがDBアクセス機能とメール機能を提供するものである場合、DBアクセス量と、メール送受信量の双方にライセンスを設定したい場合等、複数個、ライセンスしたい項目が存在する場合が考えられるからである。
しかしながら、必ず識別すべきライセンス項目が存在しなければならないということはない。そのアプリケーションではライセンスすべき項目は決まっており、明示しなくても、そのアプリケーションにとっては、どんな機能に対するライセンス情報なのか分かる場合もある。この場合は、ライセンス項目を識別する情報がないことも有り得る。
一方、ライセンス項目各々に対して複数個存在するキー及び値のデータは、そのライセンス項目について設定される詳細なライセンス条件を表現したものである。図3にこのようなキー(あるいは、ライセンスキー。これは文字列で表現される)及び値の意味の例を示した。
”LICENSE_ITEM_ID”はライセンス項目を識別するためのものであり、その値は、数値、あるいは、文字列等、アプリケーションがそのライセンス項目を識別できさえすれば、何でも良い。
”NAME”の値はライセンス項目の名前を指す文字列である。”DESCRIPTION”の値はライセンス項目の説明文字列である。これら2つについては、ライセンス項目の情報について、ユーザのためにディスプレイ106に表示させたり、プリンタ111から印刷させたりする目的のため、文字列を値として取っている。
”MAX_COUNT”の値は、そのライセンス項目がライセンスする最大カウントである。”MAX_SIZE”の値は、そのライセンス項目がライセンスする最大サイズである。
”MAX_TIME”の値は、そのライセンス項目がライセンスする最大時間である。これらのキーの意味は、ライセンス項目によって異なる。また、1つのライセンス項目がこれらのキーを全て備えなければならないということはなく、そのライセンス項目に適したキーが存在していればよい。
”EXPIRATION_TIME”の値は、そのライセンス項目の利用有効期限を意味する。前述したように、利用有効期限に関するライセンスは共通ライセンス情報の一項目としてもよいが、ここでは、アプリケーション独自ライセンス情報の中に入っているものとする。
”TERM”はライセンス条件を設定するために汎用的に使用できるキーであり、その値は、数値、あるいは、文字列等、アプリケーションがそのライセンス条件を識別できれば、何でも良い。
”LICENSE_ITEM_NUM”、”LICENSE_ITEM_BEGIN”、”LICENSE_ITEM_END”の3つのキーは、他のものとは異なり、ライセンス項目各々について存在するものではなく、複合機のシステムが、ライセンスファイルを解析できるようにするためのものである。データの形式としては、他のキー及び値のデータと同一、もしくはそれに準じているので、ここで説明している。
図3におけるライセンスキーは予め定められた文字列を持つキーを示しているが、これら以外にもディベロッパは独自にライセンスキーを定めることができる。その場合は、前記予め定められたキー以外の文字列で表現されるキーを用いる。さらに、前述の例で、ライセンス条件は、文字列を持つキーと、それに対応する何らかのデータである値の組み合わせからなるとしたが、ライセンス条件の表現方法としては、これにとどまらず、他のデータ表現方法も用いることができる。
例えば、ライセンス条件の識別情報となるキーは文字列ではなく、例えば、数字、アルファベット、記号その他から構成される任意のIDを取ることもできる。要は、システム及びアプリケーションがライセンス条件を識別できさえすればよい。後述するライセンス情報を取得する共通APIは、ライセンス条件の識別情報の形式がどうなっているかによって、変わってくる。
次に、アプリケーション独自ライセンス情報のライセンスファイルへの格納フォーマットの例について、図4を用いて説明する。
図4に示すように、アプリケーション独自ライセンス情報のフォーマットは、最初に、”LICENSE_ITEM_NUM”キーとその値である、ライセンスファイル中のライセンス項目数が来て、次に、そのライセンス項目数が示す数の分、”LICENSE_ITEM_BEGIN”と”LICENSE_ITEM_END”ではさまれるライセンス項目内容が来る。
図4に示すように、アプリケーション独自ライセンス情報のフォーマットは、最初に、”LICENSE_ITEM_NUM”キーとその値である、ライセンスファイル中のライセンス項目数が来て、次に、そのライセンス項目数が示す数の分、”LICENSE_ITEM_BEGIN”と”LICENSE_ITEM_END”ではさまれるライセンス項目内容が来る。
”LICENSE_ITEM_ID”キーにおいては、その値がライセンス項目のIDを示す。なお、前述したようにライセンス項目を識別する情報がない場合は、”LICENSE_ITEM_ID”キーがない。
”LICENSE_ITEM_BEGIN”及び”LICENCE_ITEM_END”キーには値が存在しない。不要だからである。各ライセンス項目には複数個のライセンスキー及び値の組データが存在する。
ライセンスキーと値とは、等号”=”で区切られる。ライセンスキー及び値の各組データは改行文字で区切られる。ライセンスキーあるいは値の文字列中に、等号あるいは改行文字が現れた場合は、バックスラッシュ文字でエスケープされる。
もちろん、ここで示した区切り文字やフォーマットは一つの例である。これら以外の区切り文字を用いてもよいし、XML(eXtended Markup Language)仕様に基づいたフォーマットを用いても良い。
要は複合機システムがこれを読み出した時に、例え、システムの知らないライセンスキーが存在したとしても、ライセンスファイルを解析でき、ライセンス情報を把握しておくことができればよい。
要は複合機システムがこれを読み出した時に、例え、システムの知らないライセンスキーが存在したとしても、ライセンスファイルを解析でき、ライセンス情報を把握しておくことができればよい。
なお、図4中の”MAX_COUNT_APPLET_TYPE_A”、”MAX_COUNT_APPLET_TYPE_B”、”MAX_COUNT_APPLET_OTHER_TYPE”の各キーはディベロッパが独自に定めたキーの一例である。
次に、図5以下のフローチャートを用いて、本実施例の動作について説明する。
図5は複合機システムがライセンスファイル中のライセンス情報を解析する際の手順を示したフローチャートである。
図5は複合機システムがライセンスファイル中のライセンス情報を解析する際の手順を示したフローチャートである。
同図において、最初に、ライセンスファイルが複合機にインストールされる(ステップS501)。図2を用いた前述の説明のように、インストールされるライセンスファイルはネットワーク109を通じて入力されてもよいし、リムーバブルメディアに格納されたものがリムーバブルメディアドライブ107を通じて入力されてもよい。インストールされたライセンスファイルはHD105上に置かれる。
このライセンスファイルは前述のように暗号化されているので、CPU101は、内部に予め備えた復号化キーを用いて、ライセンスファイルを復号化し(ステップS502)、その結果を読み出す(ステップS503)。
次に、CPU101はライセンスファイルの解析を開始する。まず、共通ライセンス情報を取得し、そのデータを解析して、適当なデータ形式に変換して、RAM103上に解析結果データを記憶する(ステップS504)。オブジェクト指向にのっとったシステムであれば、オブジェクトとして記憶されるであろう。
CPU101は次いで、アプリケーション独自ライセンス情報を取得する。アプリケーション独自ライセンス情報の解析では、最初のキー”LICENSE_ITEM_NUM”とその値を読み出す(ステップS505)。これはアプリケーション独自のライセンス項目の数を表しており、CPU101はこれを記憶しておく。
ここでキーと値の読み出しは、図4のフォーマットに基づくものとする。つまり、等号でキーと値が区切られている場合は、等号の前の文字までの文字列がキーとなる。キーと値の組データが改行文字で区切られている場合は、等号の直後の文字から改行文字の前の文字までの文字列が値となる文字列である。キーを読み出している場合に、改行文字が現れた場合は、改行文字の前の文字までの文字列がキーであり、値はなしとする。
次に、CPU101はライセンス項目の処理が終了したかどうかを判断する(ステップS506)。未処理のライセンス項目の数が0であれば、Yesとなり、処理を終了する。未処理のライセンス項目がまだ存在すれば、Noに進む。
CPU101は次のキーを読み出し、”LICENSE_ITEM_BEGIN”であることを確認する(ステップS507)。そうでなければ、フォーマットエラーであり、エラー処理をして(ステップS513)、終了する。例えば、「ライセンスファイルのフォーマットが不正です。」と、ディスプレイ106上に表示して、ライセンスファイルのフォーマット異常をインストールを行った人に通知する。
ステップS507が成功すれば、CPU101は次のキーを読み出す(ステップS508)。そのキーが”LICENSE_ITEM_END”である場合は(ステップS509)、そのライセンス項目についての処理が終了したことを意味するので、ステップS506に戻り、次の未処理のライセンス項目の処理に移る。
”LICENSE_ITEM_END”でない場合は、CPU101は次に、値を読み出す(ステップS510)。値となる文字列が数字のみからなる場合は、数値に変換しておく。
キーと値の読み出し時、CPU101はそのフォーマットが正しいかどうかを判定する(ステップS511)。例えば、エスケープされていない等号が複数個存在したり、キーあるいは値の文字列の長さが予め定めた最大長を超えたりした場合は、フォーマットエラーとして、Noに進み、エラー処理をして(ステップS513)、終了する。
キーだけが存在し、値が存在しない場合も正しいフォーマットのデータとして扱う。アプリケーションによっては、そのようなライセンスキーをサポートしているかも知れない。
キー及び値を正しく読み出せた後、CPU101はキー及び値を格納したオブジェクトを作成し、RAM103上に記憶する(ステップS512)。その際、オブジェクトを後で区別するために、処理中のアプリケーションのアプリケーションID及び処理中のライセンス項目の”LICENSE_ITEM_ID”値と関連付けておく。
なお、前述したように、”LICENSE_ITEM_ID”キーが存在しない場合は、デフォルトの”LICENSE_ITEM_ID”値と関連付けておく。それからステップS508に戻り、次のキーの処理に移る。
このようにして、ライセンス情報は解析され、オブジェクトの形式で、情報が記憶される。
このようにして、ライセンス情報は解析され、オブジェクトの形式で、情報が記憶される。
次に、アプリケーションのある機能の実行に伴い、アプリケーションが共通API(Application Programming Interface)を用いて、アプリケーション独自ライセンス情報にアクセスする際の手順について、図6のフローチャートを用いて説明する。
図6においては、アプリケーションは何らかの機能の実行回数をカウントしており、アプリケーション独自ライセンス情報として、”MAX_COUNT”値を用いていることを前提としている。
アプリケーションがその機能を実行するに当たり、CPU101は、共通APIを用いて、その機能に関した”MAX_COUNT”値を取得する(ステップS601)。
アプリケーションがその機能を実行するに当たり、CPU101は、共通APIを用いて、その機能に関した”MAX_COUNT”値を取得する(ステップS601)。
ここで共通APIとは、システムが管理しているアプリケーション独自ライセンス情報にアクセスするためのAPIを指す。各アプリケーションはそれを自由に呼び出せる。アプリケーションがそれを呼び出した場合は、そのアプリケーションのアプリケーションID、ライセンス項目のID、ライセンスキーを基に、指定されたライセンス項目のキーに対応する値が求められる。
例えば、Java(R)言語(Java(R)はサン・マイクロシステムズ社の米国並びにその他の国における商標である。)を用いた、この場合のAPIとしては、次のようなものが考えられる。
Object getLicenseValue(int licenseID, String licenseKey);
(上記getLicenseValueはクラスApplicationのメソッドとする)
Object getLicenseValue(int licenseID, String licenseKey);
(上記getLicenseValueはクラスApplicationのメソッドとする)
この場合、各アプリケーションは自アプリケーションを指すApplicationクラス(またはそのサブクラス)オブジェクトに対し、getLicenseValueを呼ぶ。その際のパラメータは、ライセンス項目のIDをlicenseIDとして、また、ライセンスキーをlicenseKeyとして渡す。例えば、図4におけるLICENSE_ITEM_NO=1に対応する機能の実行に際してのステップS601の場合は、licenseIDとして1を、licenseKeyとして"MAX#COUNT"を渡すことになる。
なお、licenseIDの型を整数型としたのは、複合機システムで、ライセンス項目のIDは整数に限られている場合であり、ライセンス項目IDがこれに限定されていないシステムでは、licenseIDの型としてObjectクラス(正確に言えば、Java(R).lang.Objectクラス)を用いても良い。
複合機システムは、前記メソッドが呼ばれると、呼び出したアプリケーションのオブジェクトインスタンスからアプリケーションIDを割り出す。これは前もって共通ライセンス情報を解析した時に、ライセンスファイルとアプリケーションIDを関連付けておくことで可能である。
何故なら、アプリケーションとライセンスファイルは対で構成されており、アプリケーション起動時にアプリケーションオブジェクトインスタンスとライセンスファイルが関連付けられているからである。
複合機システムはアプリケーションIDを割り出した後、パラメータとして渡されたlicenseID, licenseKeyからそのキーに関連付けられた値を求め、メソッドの戻り値として返す。値の型はいずれの型でもよいので、ここではObjectクラスとして返すようになっている。
これは、予め図5のステップS512で、処理中のアプリケーションのアプリケーションID及び処理中のライセンス項目の”LICENSE_ITEM_ID”値と関連付けて、キー及び値を格納したオブジェクトの中から、該当するものを検索することで、実現可能である。
このように共通APIの形式を定めておけば、アプリケーションが、そのアプリケーション独自ライセンス情報にアクセスするAPIは容易に知ることができ、その呼び出しも簡単である。複数のアプリケーションを実行する、いわばプラットフォームを提供する側によっては重要なことである。
なお、ここでは共通APIとしてJava(R)言語を用いた例を説明したが他のプログラミング言語を用いても、同様のことが実現可能であることはいうまでもない。また、オブジェクト指向言語である必要はなく、例えば、前記アプリケーションIDはパラメータの一部としてAPIに渡すようにすれば、アプリケーションIDをアプリケーションオブジェクトインスタンスから求める必要もなくなる。
さて、共通APIを用いて、ある機能に関した”MAX_COUNT”値を取得した後、CPU101は、今度は別の共通APIを用いて、その機能に関する現在のカウント値を取得する(ステップS602)。
現在のカウント値はアプリケーション独自ライセンス情報ではない。では、何故、現在のカウント値が共通APIを用いて取得されるのかと言えば、これが複合機システムの管理対象となっているからである。つまり、現在のカウント値はシステムがRAM103内にその格納領域を確保し、取得、更新、バックアップ及び永続的な保持にシステムが責任を持つ。
永続的な保持とは、複合機の電源がOFFされた場合にもそのデータが失われないように、RAM103上だけでなく、NVRAM104あるいはHD105上にも記憶しておくことを意味している。永続的な保持を行うために、アプリケーションは特別なAPIを呼ぶ必要は無い。この処理はアプリケーションから見えない所でなされる。
永続的な保持は、ハードウエアの制御を必要とする場合がある。その場合、アプリケーションが永続的な保持を行うためには、直接ハードウエアを制御する必要が生じる。これは不適当である。
また、永続的な保持をシステムに任せれば、アプリケーションとしてはそれに対する処理を記述する手間が省ける。現在のカウント値等を共通APIのアクセス対象とすれば、これらの効果がある。
このように、共通APIのアクセス対象は、アプリケーション独自ライセンス情報に限らず、アプリケーションとシステムが共にアクセスが必要なデータまで拡張される。例えば、現在のカウント値の他には、課金額そのものの値も、その拡張対象とすることができる。現在のカウント値を取得する共通APIの具体的な例は、前記getLicenseValueと同様であるので、省略する。
次いで、CPU101は、取得した現在カウント値が前記”MAX_COUNT”値を超えたかどうか、比較する(ステップS603)。
超えた場合は、アプリケーションのディベロッパにその旨をメール等の手段で通知する(ステップS604)。
超えた場合は、アプリケーションのディベロッパにその旨をメール等の手段で通知する(ステップS604)。
通知されたメッセージには、アプリケーションがどのユーザで使われているものかを示すためのユーザ情報、例えばメールアドレスや電話番号といった情報も付随される。この通知はディベロッパに何らかのアクションを起こさせるためである。これについては後述する。
それから、CPU101は、現在カウント値がライセンスが許可する最大数を超えたので、機能が実行できない旨をディスプレイ106上に表示して(ステップS605)、機能を実行せずに終了する。
一方、現在カウント値が”MAX_COUNT”値を超えない場合、CPU101は、現在カウント値が前記”MAX_COUNT”値を超えそうかどうか、比較する(ステップS606)。
この際の閾値は適当に決定される。例えば、ライセンスファイル中に、ライセンスキーの一つとして、指定されるかもしれない。その場合は、”MAX_COUNT”値と同様に、共通APIを用いて閾値が取得される。または、閾値は複合機システムが適当に内部で決定するかもしれない。
現在カウント値が”MAX_COUNT”値を超えそうな場合は、CPU101は、そのアプリケーションのディベロッパにその旨を通知する(ステップS607)。このメッセージもまた、ステップS604と同様に、ユーザ情報が付随される。
それからCPU101は、現在カウント値が上限に近づいた旨をディスプレイ106に表示する(ステップS608)。ユーザはこれを見て、ライセンス切れが近づいたことを知り、ライセンス更新手続きの準備をすることができる。
前記表示の終了後、あるいは、現在カウント値が”MAX_COUNT”値を超えるにはまだ余裕がある場合は、CPU101は、所定の機能を実行する(ステップS609)。
その後、共通APIを用いて、現在のカウント値を更新して、終了する(ステップS610)。取得と更新の共通APIは当然異なるが、名前を変えておくことで、容易に区別できる。
その後、共通APIを用いて、現在のカウント値を更新して、終了する(ステップS610)。取得と更新の共通APIは当然異なるが、名前を変えておくことで、容易に区別できる。
ステップS610では、現在のカウント値が前記機能の実行回数をカウントしているものであれば、現在のカウント値は1だけインクリメントされることになろう。あるいは、前記機能の実行時、例えば印刷が行われ、現在のカウント値が印刷枚数をカウントしているものであれば、印刷の枚数分、現在のカウント値がインクリメントされることになろう。
さて、図6のシーケンスでは、現在カウント値と”MAX_COUNT”値を比較し、現在カウント値の更新を行った。ここでは、”MAX_COUNT”値の更新を行っていない。しかし、現在カウント値を設けずとも同様なことが実現可能であることは明らかである。
その場合、”MAX_COUNT”値のみを読み出し、0あるいは所定の閾値との比較を行って、機能が実行できるかどうかを判断し、”MAX_COUNT”値をしかるべく更新(例えばデクリメント)することになろう。このようにすれば現在カウント値に関する記憶領域もAPIも不要となる。
次に、ディベロッパ側での現在カウント値についての情報受信時(送信はステップS608による)の手順について、図7のフローチャートを用いて説明する。ディベロッパにおいて、図7の動作を行うには、ネットワーク機能を備えた一般のコンピュータで十分であるので、そのハードウエア構成についての説明は省略する。
ディベロッパでは現在カウント値が”MAX_COUNT”値に近づいた旨をメール等の手段で受信する(ステップS701)。すると、ユーザに、その旨及びライセンス更新方法等の情報について、通知メールを送る(ステップS702)。場合によっては、アプリケーションのアップデート等、付加的な情報も含まれるかもしれない。これでユーザの注意を喚起できる。
ステップS608においても、ユーザに対して表示は行っているのだが、ステップS702においてはメール送信先ユーザを実際に操作したユーザと異なるユーザにすることで、例えば、複合機の管理者等、ライセンス更新権限を持ったユーザに宛ててメールを送ることができ、より効果的な通知ができる。
次に、ディベロッパ側での現在カウント値についての情報受信時(送信はステップS604による)の手順について、図8のフローチャートを用いて説明する。同図において、ディベロッパにおいて、現在カウント値が”MAX_COUNT”値を超えた旨を受信する(ステップS801)。
ディベロッパのコンピュータは、アプリケーションを利用しているユーザのライセンス契約情報にアクセスし(図示なし)、そのユーザとライセンスの自動更新契約を締結しているかどうかを判断する(ステップS802)。
契約を締結していなければ、ユーザにライセンス更新を促すメールを送り(ステップS806)、終了する。
契約を締結していれば、ユーザに「ライセンスが切れたため、ライセンスの自動更新を行います」旨の通知メールを送る(ステップS803)。このメールにはライセンス自動更新にかかる費用も明記されることになろう。
契約を締結していれば、ユーザに「ライセンスが切れたため、ライセンスの自動更新を行います」旨の通知メールを送る(ステップS803)。このメールにはライセンス自動更新にかかる費用も明記されることになろう。
そして、ディベロッパのコンピュータは更新ライセンス分について、銀行振替等の手段によりユーザから料金を徴収する(ステップS804)。
料金を徴収した後は、ライセンス更新情報を複合機に対して送信して(ステップS805)、終了する。
料金を徴収した後は、ライセンス更新情報を複合機に対して送信して(ステップS805)、終了する。
ライセンス更新情報は、新たな”MAX_COUNT”値や、”EXPRIRATION_TIME”値等を含んだ、ライセンスファイルと同じ形式、あるいはその一部を抜き出した形式で提供することが可能である(ライセンス自動更新の際に、それらの値が自動的に決定される場合、あるいは、図示しないが、ディベロッパとユーザの間で書面等の手段によってライセンス更新が行われ、ライセンス情報更新が全く独立した手順として行われるときも、このような方法でライセンス更新を行うことが可能である。)
また、ライセンスキーや値に変更がなければ、ライセンス更新があったということを示すデータのみを含んだものでもよい。
また、ライセンスキーや値に変更がなければ、ライセンス更新があったということを示すデータのみを含んだものでもよい。
複合機のCPU101は、前記ライセンス更新情報を受信すると(ステップS807)、それに基づき、RAM103上に持った、あるいはNVRAM104上やHD105上に永続的に保持したライセンス情報を更新する(ステップS808)。
例えば、新たな”MAX_COUNT”値や、”EXPRIRATION_TIME”値を受信した場合は、内部のライセンス情報をその値に更新することになろう。あるいは、ライセンス更新があったということを示すデータのみを含んでいる場合は、単に現在カウント値を共通APIを用いて、0に戻すという操作を施すかもしれない。
前述のステップS702において、現在カウント値が”MAX_COUNT”値に近づいた時点で、ユーザに通知メールを送信していたが、この時にライセンス更新をすることも有り得る。この場合のライセンス更新では、0ではなく、(現在カウント値 − ”MAX_COUNT”値)の値が新たな現在カウント値として設定されることになろう。そうでないと、未実行カウントの分、ユーザが損をすることになるからである。
以上、図6から図8を用いた説明では、”MAX_COUNT”キーに関連するライセンス情報の取得及び更新について説明したが、これ以外のライセンスキーについても同様のことが可能であることは言うまでもない。
また、図6から図8の方法では、現在カウント値をインクリメントしていって、”MAX_COUNT”値を比較する方法について述べたが、本発明はこの方式に拘らず、残りカウント値の初期値を”MAX_COUNT”値にして、残りカウント値をデクリメントしていき、0と比較する方式でもよい。
または、”MAX_COUNT”値ではなく、”COUNT”値がライセンスキーとして存在し、初期値が最大許可数を意味し、機能の実行後とに、”COUNT”値がデクリメントされ、0と比較されるという方式でも良い。
さて、ライセンスキーに関連する値の取得及び更新を共通APIを用いて行うことにより、アプリケーション側だけではなく、システム側でもそれらの値の取得が可能になる。そのことを示した手順について、図9のフローチャートを用いて説明する。
図9は複合機システムにおいて、スケジュール機能実行時、ライセンスに関する警告メールを送信する際の手順について示したものである。
同図において、最初にCPU101は、予め定められたスケジュール情報に基づき、スケジュール機能を起動する(ステップS901)。
同図において、最初にCPU101は、予め定められたスケジュール情報に基づき、スケジュール機能を起動する(ステップS901)。
ここでいうスケジュール機能とは、定期的な、あるいは予約された、特定機能の実行を指す。例えば、毎正時、予め登録した機能を実行することができる。ここでは、以下に説明する、全アプリケーションに対するライセンス情報のチェック手順が実行されるようになっているものとする。
次に、CPU101は、ライセンス情報のチェックが複合機内にインストールされた全アプリケーションについて終了したかを判断する(ステップS902)。全アプリケーションについて、終了した場合は、処理を終了する。
全アプリケーションについて終了していない場合は、処理すべき次のアプリケーションを選択する(ステップS903)。
全アプリケーションについて終了していない場合は、処理すべき次のアプリケーションを選択する(ステップS903)。
選択したアプリケーションについて、ライセンス項目がある場合は、全てのライセンス項目について処理が終了したかを判断する(ステップS904)。一つもライセンス項目がない、あるいは、全てのライセンス項目について処理が終了した場合は、ステップS903に戻り、次の処理すべきアプリケーションを選択する。
全てのライセンス項目について処理が終了していない場合は、処理すべき次のライセンス項目を選択する(ステップS905)。
選択したライセンス項目について、ライセンスキーがある場合は、全てのライセンスキーについて処理が終了したかを判断する(ステップS906)。一つもライセンスキーが存在しない、あるいは、全てのライセンスキーについて処理が終了した場合は、ステップS905に戻り、次の処理すべきライセンス項目を選択する。
選択したライセンス項目について、ライセンスキーがある場合は、全てのライセンスキーについて処理が終了したかを判断する(ステップS906)。一つもライセンスキーが存在しない、あるいは、全てのライセンスキーについて処理が終了した場合は、ステップS905に戻り、次の処理すべきライセンス項目を選択する。
全てのライセンスキーについて処理が終了していない場合は、処理すべき次のライセンスキーを選択する(ステップS907)。
そして、CPU101は、選択したライセンスキーが”MAX_COUNT”であるかどうかを判断する(ステップS908)。”MAX_COUNT”である場合は、共通APIを用いて”MAX_COUNT”値と現在カウント値を取得し、比較する(ステップS913)。
そして、CPU101は、選択したライセンスキーが”MAX_COUNT”であるかどうかを判断する(ステップS908)。”MAX_COUNT”である場合は、共通APIを用いて”MAX_COUNT”値と現在カウント値を取得し、比較する(ステップS913)。
選択したライセンスキーが”MAX_COUNT”でない場合は、”MAX_SIZE”であるかどうかを判断し(ステップS909)、その場合は、共通APIを用いて”MAX_SIZE”値と、ライセンスキー”MAX_SIZE”が対象とする、何らかのサイズに関わるデータの現在の値、すなわち現在サイズ値を取得し、比較する(ステップS914)。
さらに、選択したキーが”MAX_SIZE”でない場合は、”MAX_TIME”であるかどうかを判断し(ステップS910)、その場合は、共通APIを用いて”MAX_TIME”値と、ライセンスキー”MAX_TIME”が対象とする、何らかの機能の累積利用時間(そのアプリケーション自身の累積利用時間であることも有り得る。)を取得し、比較する(ステップS915)。
さらに、選択したキーが”MAX_TIME”でない場合は、”EXPIRATION_TIME”であるかどうかを判断し(ステップS911)、その場合は、共通APIを用いて”EXPIRATION_TIME”値を取得し、現在日時と比較する(ステップS916)。
さらに選択したキーが”EXPIRATION_TIME”でない場合は、キーがシステムで処理可能な、その他のキーかどうかを判断し(ステップS912)、そうでない場合は、そのキーに対する処理は行わず、処理は終了したものとして、ステップS906に戻る。
キーがシステムで処理可能なその他のキーである場合は、そのキーに関し、前述した”MAX_COUNT”等の値と同様の方法で、ライセンス条件の判断を行う(ステップS917)。そして、CPU101はステップS913からステップS917の比較、判断の結果、警告のための閾値を超えたかどうかを判断する(ステップS918)。超えていない場合は、そのキーに対する処理は終了し、ステップS906に戻る。
超えた場合は、予め設定された複合機管理者にその旨をメール等の手段で通知する(ステップS919)。スケジュール機能実行時は、複合機を実際に利用しているユーザがいるとは限らないので、このように複合機管理者に通知することが有効となる。
以上のように、図9に示すフローチャートでは、アプリケーション独自のライセンス情報であっても、そのライセンスの管理をシステムが行うことができる。
さらに、この方法によれば、例えば現在カウント値が”MAX_COUNT”値に近づいたことを、アプリケーションが検出しなくても、システムが検出してくれるので、アプリケーションに検出を仕様として義務付ける必要もなくなり、検出に関する実装誤りや忘れもなくなり、複合機全体としての信頼性も向上する。
さらに、この方法によれば、例えば現在カウント値が”MAX_COUNT”値に近づいたことを、アプリケーションが検出しなくても、システムが検出してくれるので、アプリケーションに検出を仕様として義務付ける必要もなくなり、検出に関する実装誤りや忘れもなくなり、複合機全体としての信頼性も向上する。
次に、アプリケーション独自ライセンスの管理をシステムが行うことができる、もう一つの例として、ユーザログイン時の処理を図10のフローチャートを用いて説明する。図10は図9と同一の処理が多いので、変更点のみを説明する。
まず、ユーザが複合機に対してログインを行う(ステップS1001)。ログインの目的は、複合機の操作はどのユーザが行っているのかをシステムが特定することにある。システムはこの情報を課金等に使用する。
ともあれログイン時に、CPU101は、そのユーザに関連する全アプリケーションについてライセンス情報のチェックが終了したかどうかを判断する(ステップS1002)。ユーザに関連するアプリケーションというのは、ユーザログインに伴い、所定のアプリケーションが起動するようになっており、ライセンス情報のチェックはそれらのアプリケーションに対してのみ行えばよい場合は、それらのチェック対象アプリケーションを指す。
もちろん、そのようなアプリケーションに限らず、システム起動時に同時に起動するアプリケーションもチェック対象に含めてよい。また、ここでは、ユーザに関連する全アプリケーションと限定したが、ステップS902と同様に登録済み全アプリケーションをチェック対象としても良い。
ステップS1003からステップS1018はステップS903からステップS918と同様の処理であるので、説明を省略する。
ステップS1018において、ライセンス情報のチェックの結果、警告閾値を超えた倍は、ディスプレイ106上に警告ダイアログを表示し、ログインしたユーザの注意を喚起する。このようにすれば、ユーザログインのタイミングで、システムがアプリケーション独自ライセンス情報のチェックをすることができる。
ステップS1018において、ライセンス情報のチェックの結果、警告閾値を超えた倍は、ディスプレイ106上に警告ダイアログを表示し、ログインしたユーザの注意を喚起する。このようにすれば、ユーザログインのタイミングで、システムがアプリケーション独自ライセンス情報のチェックをすることができる。
次に、課金集計手順について、図11のフローチャートを用いて説明する。課金集計は所定のタイミング、例えば毎月定められた日の午前0時に、システムが行う。あるいは、図示しない課金センタからの課金集計要求を受けて、システムが行う。集計の起動はどのように為されても良い。
最初に、CPU101は、課金集計がシステムに登録された全アプリケーションについて終了したかどうかを判断する(ステップS1101)。全アプリケーションについて終了した場合は、システムが管理するカウンタ等について、課金を集計し(ステップS1115)、処理を終了する。
システムが管理するカウンタ等とは、アプリケーションに全く関わらない機能のカウンタ(アプリケーションがなくても実行可能な、複合機に初めから備えられた機能に関するカウンタ)、あるいは共通ライセンス情報に関連するカウンタ等のことであり、これらの更新及び集計はシステムが責任をもって行う。
ステップS1101で全アプリケーションについて終了していない場合は、処理すべき次のアプリケーションを選択する(ステップS1102)。
次いで、CPU101は、そのアプリケーションに対する課金額をアプリケーション自身が計算したかどうか判断する(ステップS1103)。
次いで、CPU101は、そのアプリケーションに対する課金額をアプリケーション自身が計算したかどうか判断する(ステップS1103)。
アプリケーション自身が課金額を計算する場合は、例えば、図6に示した、機能の実行時に、現在カウント値を更新すると共に、アプリケーションのコード内部に実装した課金ポリシ、あるいはディベロッパのコンピュータからネットワークを通じて得た最新の課金ポリシに従って、現在カウント値から課金額を計算し、共通APIを用いて、そのアプリケーションの課金額を更新しておく。
ここで、課金ポリシは、単純に1カウント当たり、いくらと決められることもあるだろうし、より複雑な計算式が与えられることもあるだろうが、適当なデータ形式で、課金ポリシが表現されているものとする。
あるいは、課金ポリシは、サブルーチン、メソッド、スクリプト、あるいは関数等のソフトウエアモジュールで提供されるかも知れない。その場合は、現在カウント値等をパラメータとして渡すことにより、課金額が計算される。いずれにしても課金ポリシはディベロッパが自由に設定できる。
あるいは、課金ポリシは、サブルーチン、メソッド、スクリプト、あるいは関数等のソフトウエアモジュールで提供されるかも知れない。その場合は、現在カウント値等をパラメータとして渡すことにより、課金額が計算される。いずれにしても課金ポリシはディベロッパが自由に設定できる。
アプリケーション自身が課金額の計算に責任を持つ場合は、システムが課金額の計算を行えなくてもよいが(つまり、課金ポリシをシステムが理解する必要はない)、システムが課金額の計算を行う場合は、ディベロッパが設定した課金ポリシを理解する必要がある。
つまり、課金ポリシデータをどう取り扱えばよいか、あるいは前記課金額を計算するソフトウエアモジュールをどう使用すればよいかについて、アプリケーション側と合意がとれているものとする。
課金額の更新に共通APIを用いることで、システムが管理する記憶領域内に課金額の格納領域を確保し、ひいてはシステムのバックアップあるいは永続的な保持機能を利用することができる。
課金額をアプリケーションが計算した場合は、CPU101は、共通APIを用いて、前記計算したアプリケーションの課金額を取得する(ステップS1104)。そして、このアプリケーションについての処理を終了し、ステップS1101に戻る。
課金額をアプリケーションが計算しない場合は、CPU101は、次に、そのアプリケーションに対する課金額の計算は終了したかどうかを判断する(ステップS1105)。終了した場合は、ステップS1101に戻る。
終了していない場合は、そのアプリケーションに、まだ課金を計算すべき項目が残っているということであり、課金額の計算を続ける。
課金計算の項目として、CPU101はまず現在カウント値をチェックする。すなわち、現在カウント値データが存在し、かつ、それに対して課金計算すべきかどうかを判断する(ステップS1106)。
課金計算すべき場合は、CPU101はカウント値に対する課金ポリシを取得し(ステップS1109)、共通APIを用いて取得した現在カウント値と前記課金ポリシから課金額を計算する(ステップS1110)。そして、図示しないが、現在カウント値についての課金計算を終了したものとする。これによって、ステップS1106で連続してYesに進むことを防ぐ。
現在カウント値についての課金計算を終了すると、ステップS1105に戻り、他の項目の課金計算を行う。
ステップS1106でNoに進んだ場合、CPU101は、次に、アプリケーションの累積利用時間データが存在し、かつ、それに対して課金計算すべきかどうかを判断する(ステップS1107)。
ステップS1106でNoに進んだ場合、CPU101は、次に、アプリケーションの累積利用時間データが存在し、かつ、それに対して課金計算すべきかどうかを判断する(ステップS1107)。
課金計算すべき場合は、CPU101は累積利用時間に対する課金ポリシを取得し(ステップS1111)、共通APIを用いて取得した累積利用時間データと前記課金ポリシから課金額を計算する(ステップS1112)。そして、図示しないが累積利用時間データに対する課金額の計算を終了したものとする。累積利用時間データについての課金計算を終了すると、ステップS1105に戻り、他の項目の課金計算を行う。
ステップS1107でNoに進んだ場合、CPU101は、次に、その他の課金額を計算すべきデータがあるかを判断する(ステップS1108)。前述した例でいえば、現在サイズ値がこれに当たる。また、他のデータでもよい。
課金額を計算すべきデータがある場合は、そのデータに対する課金ポリシを取得し(ステップS1113)、共通APIを用いて取得した前記データと前記課金ポリシから課金額を計算する(ステップS1114)。そして、そのデータに対する課金額の計算を終了したものとする。そのデータに対する課金計算を終了すると、ステップS1105に戻り、他の項目の課金計算を行う。
このようにすれば、1アプリケーションに対し、課金を計算すべき項目が複数個存在する場合も、課金を計算できる。また、言うまでもないことだが、ステップS1110、ステップS1112、及びステップS1114において、各々の項目の課金を計算するとき、それまで求めた、アプリケーションの課金額に加算していき、そのアプリケーションの課金額の計算が終了した時に課金額の合計が求まるようにしている。
以上のようにして、共通APIを用いて、ディベロッパが独自に設定したライセンス情報に基づき、システムが課金集計を行うことが出来る。従って、複合機全体として、一貫した課金集計、料金徴収が行える。個々のアプリケーションが勝手に課金集計を行い、ユーザに料金請求を行うと、ユーザにとっては煩わしい事態となるが、一貫した料金徴収によって、そのような事態を防ぐことができる。
また、システムによる、各アプリケーションライセンス料の代行徴収も可能になり、ディベロッパは料金徴収の手間が省けるという効果もある。
以上、本発明について、複合機を用いて説明してきたが、本発明は複合機にとどまるものではなく、複数のアプリケーションを動作させ、そのライセンス管理を行う機器全てに応用可能なものである。
以上、本発明について、複合機を用いて説明してきたが、本発明は複合機にとどまるものではなく、複数のアプリケーションを動作させ、そのライセンス管理を行う機器全てに応用可能なものである。
また、本発明は、ハードウエアを必要とするものの、それぞれの装置上で動作するプログラムにより実現可能である。従って、前述した実施形態の機能を実現するソフトウエアのプログラム、及びプログラムコードを記憶した記憶媒体においても、それを読み出して実行することにより、上記機能を実現することが可能である。
以下に本発明の特徴を付記する。
(附記1)アプリケーションを実行させるアプリケーション課金装置において、
前記アプリケーションの実行を制御する制御手段と、
前記アプリケーションが各々、規定する所定のカウント情報を記憶する記憶手段と、
前記カウント情報を更新する更新手段と、前記カウント情報を参照する参照手段と、
前記カウント情報に基づいて課金を行う課金手段とを備え、
前記アプリケーションが前記更新手段を用いて前記カウント情報を更新すると共に、前記制御手段が前記参照手段を用いて参照したカウント情報に基づき、前記課金手段が課金を行うことを特徴とするアプリケーション課金装置。
(附記1)アプリケーションを実行させるアプリケーション課金装置において、
前記アプリケーションの実行を制御する制御手段と、
前記アプリケーションが各々、規定する所定のカウント情報を記憶する記憶手段と、
前記カウント情報を更新する更新手段と、前記カウント情報を参照する参照手段と、
前記カウント情報に基づいて課金を行う課金手段とを備え、
前記アプリケーションが前記更新手段を用いて前記カウント情報を更新すると共に、前記制御手段が前記参照手段を用いて参照したカウント情報に基づき、前記課金手段が課金を行うことを特徴とするアプリケーション課金装置。
(附記2)アプリケーションを実行させるアプリケーション課金装置において、
前記アプリケーションの実行を制御する制御手段と、
前記アプリケーションが各々、規定する所定のカウント情報を記述したデータソースを入力する入力手段と、
前記カウント情報を記憶する記憶手段と、前記カウント情報を更新する更新手段と、
前記カウント情報を参照する参照手段と、前記カウント情報に基づいて課金を行う課金手段とを備え、
前記入力手段が入力したデータソースに記述されたカウント情報に基づき、前記制御手段が前記記憶手段中に前記カウント情報を記憶させる領域を確保すると共に、前記アプリケーションが前記更新手段を用いて前記カウント情報を更新すると共に、前記制御手段が前記参照手段を用いて参照したカウント情報に基づき前記課金手段が課金を行うことを特徴とするアプリケーション課金装置。
前記アプリケーションの実行を制御する制御手段と、
前記アプリケーションが各々、規定する所定のカウント情報を記述したデータソースを入力する入力手段と、
前記カウント情報を記憶する記憶手段と、前記カウント情報を更新する更新手段と、
前記カウント情報を参照する参照手段と、前記カウント情報に基づいて課金を行う課金手段とを備え、
前記入力手段が入力したデータソースに記述されたカウント情報に基づき、前記制御手段が前記記憶手段中に前記カウント情報を記憶させる領域を確保すると共に、前記アプリケーションが前記更新手段を用いて前記カウント情報を更新すると共に、前記制御手段が前記参照手段を用いて参照したカウント情報に基づき前記課金手段が課金を行うことを特徴とするアプリケーション課金装置。
(附記3)アプリケーションを実行させるアプリケーション課金装置において、
前記アプリケーションの実行を制御する制御手段と、
前記アプリケーションが各々、規定する所定の最大許可カウント情報を記述したデータソースを入力する入力手段と、
前記最大許可カウント情報と比較するための現在カウント情報を記憶する記憶手段と、
前記現在カウント情報を更新する更新手段と、
前記現在カウント情報を参照する参照手段と、
前記現在カウント情報に基づいて課金を行う課金手段とを備え、
前記入力手段が入力したデータソースに記述された最大許可カウント情報に基づき、前記制御手段が前記記憶手段中に前記現在カウント情報を記憶させる領域を確保すると共に、前記アプリケーションが前記更新手段を用いて前記現在カウント情報を更新すると共に、前記制御手段が前記参照手段を用いて参照した現在カウント情報に基づき前記課金手段が課金を行うことを特徴とするアプリケーション課金装置。
前記アプリケーションの実行を制御する制御手段と、
前記アプリケーションが各々、規定する所定の最大許可カウント情報を記述したデータソースを入力する入力手段と、
前記最大許可カウント情報と比較するための現在カウント情報を記憶する記憶手段と、
前記現在カウント情報を更新する更新手段と、
前記現在カウント情報を参照する参照手段と、
前記現在カウント情報に基づいて課金を行う課金手段とを備え、
前記入力手段が入力したデータソースに記述された最大許可カウント情報に基づき、前記制御手段が前記記憶手段中に前記現在カウント情報を記憶させる領域を確保すると共に、前記アプリケーションが前記更新手段を用いて前記現在カウント情報を更新すると共に、前記制御手段が前記参照手段を用いて参照した現在カウント情報に基づき前記課金手段が課金を行うことを特徴とするアプリケーション課金装置。
(附記4)附記2において、前記入力手段が入力したデータソースに記述されたカウント情報に基づき、前記制御手段は、前記カウント情報を更新するためのAPI(アプリケーションプログラミングインタフェース)を提供し、前記APIは前記カウント情報の識別情報から呼び出し方法が容易に分かるように構成され、前記更新手段は、前記APIを用いて前記カウント情報を更新することを特徴とするアプリケーション課金装置。
(附記5)附記4において、前記カウント情報の識別情報は、前記カウント情報の名前あるいは識別番号であることを特徴とするアプリケーション課金装置。
(附記6)1乃至複数のアプリケーションを実行させるシステム上で前記アプリケーションの課金を行うアプリケーション課金方法において、
前記アプリケーションが各々、規定する所定のカウント情報を記憶する記憶工程と、
前記カウント情報を更新する更新工程と、
前記カウント情報を参照する参照工程と、
前記カウント情報に基づいて課金を行う課金工程とを備え、
前記アプリケーションが前記更新工程を用いて前記カウント情報を更新すると共に、前記システムが前記参照工程を用いて参照したカウント情報に基づき、前記課金工程が課金を行うことを特徴とするアプリケーション課金方法。
前記アプリケーションが各々、規定する所定のカウント情報を記憶する記憶工程と、
前記カウント情報を更新する更新工程と、
前記カウント情報を参照する参照工程と、
前記カウント情報に基づいて課金を行う課金工程とを備え、
前記アプリケーションが前記更新工程を用いて前記カウント情報を更新すると共に、前記システムが前記参照工程を用いて参照したカウント情報に基づき、前記課金工程が課金を行うことを特徴とするアプリケーション課金方法。
(附記7)アプリケーションを実行させるシステム上で前記アプリケーションの課金を行うアプリケーション課金方法において、
前記アプリケーションが各々、規定する所定のカウント情報を記述したデータソースを入力する入力工程と、
前記入力工程にて入力したデータソースに記述されたカウント情報を記憶する記憶工程と、
前記カウント情報を更新する更新工程と、
前記カウント情報を参照する参照工程と、
前記カウント情報に基づいて課金を行う課金工程とを備え、
前記アプリケーションが前記更新工程を用いて前記カウント情報を更新すると共に、前記システムが前記参照工程を用いて参照したカウント情報に基づき、前記課金工程が課金を行うことを特徴とするアプリケーション課金方法。
前記アプリケーションが各々、規定する所定のカウント情報を記述したデータソースを入力する入力工程と、
前記入力工程にて入力したデータソースに記述されたカウント情報を記憶する記憶工程と、
前記カウント情報を更新する更新工程と、
前記カウント情報を参照する参照工程と、
前記カウント情報に基づいて課金を行う課金工程とを備え、
前記アプリケーションが前記更新工程を用いて前記カウント情報を更新すると共に、前記システムが前記参照工程を用いて参照したカウント情報に基づき、前記課金工程が課金を行うことを特徴とするアプリケーション課金方法。
(附記8)アプリケーションを実行させるシステム上で前記アプリケーションの課金を行うアプリケーション課金方法において、
前記アプリケーションが各々、規定する所定の最大許可カウント情報を記述したデータソースを入力する入力工程と、
前記入力工程にて入力したデータソースに記述された最大許可カウント情報と比較するための現在カウント情報を記憶する記憶工程と、
前記現在カウント情報を更新する更新工程と、
前記現在カウント情報を参照する参照工程と、
前記現在カウント情報に基づいて課金を行う課金工程とを備え、
前記アプリケーションが前記更新工程を用いて前記現在カウント情報を更新すると共に、前記システムが前記参照工程を用いて参照した現在カウント情報に基づき前記課金工程が課金を行うことを特徴とするアプリケーション課金方法。
前記アプリケーションが各々、規定する所定の最大許可カウント情報を記述したデータソースを入力する入力工程と、
前記入力工程にて入力したデータソースに記述された最大許可カウント情報と比較するための現在カウント情報を記憶する記憶工程と、
前記現在カウント情報を更新する更新工程と、
前記現在カウント情報を参照する参照工程と、
前記現在カウント情報に基づいて課金を行う課金工程とを備え、
前記アプリケーションが前記更新工程を用いて前記現在カウント情報を更新すると共に、前記システムが前記参照工程を用いて参照した現在カウント情報に基づき前記課金工程が課金を行うことを特徴とするアプリケーション課金方法。
(附記9)附記7において、前記入力工程が入力したデータソースに記述されたカウント情報に基づき、前記システムは、前記カウント情報を更新するためのAPI(アプリケーションプログラミングインタフェース)を提供し、前記APIは前記カウント情報の識別情報から呼び出し方法が容易に分かるように構成され、前記更新工程は、前記APIを用いて前記カウント情報を更新することを特徴とするアプリケーション課金方法。
(附記10)附記9において、前記カウント情報の識別情報は、前記カウント情報の名前あるいは識別番号であることを特徴とするアプリケーション課金方法。
(附記11)前記カウント情報、前記最大許可カウント情報、または前記現在カウント情報は前記アプリケーションが提供する機能の実行回数または実行累積時間または前記アプリケーションの実行に関する課金額のいずれかであることを特徴とする附記1乃至10のいずれかに記載のアプリケーション課金装置またはアプリケーション課金方法。
(附記12)附記6乃至11のいずれかに記載のアプリケーション課金方法を実現するためのプログラム。
(附記13)附記6乃至11のいずれかに記載のアプリケーション課金方法を実現するためのプログラムを読み取り可能に記憶させた記憶媒体。
附記1の発明によれば、1乃至複数のアプリケーションを実行させるアプリケーション課金装置において、前記アプリケーションの実行を制御する制御手段と、前記アプリケーションが各々、規定する所定のカウント情報を記憶する記憶手段と、前記カウント情報を更新する更新手段と、前記カウント情報を参照する参照手段と、前記カウント情報に基づいて課金を行う課金手段とを備え、前記アプリケーションが前記更新手段を用いて前記カウント情報を更新すると共に、前記制御手段が前記参照手段を用いて参照したカウント情報に基づき、前記課金手段が課金を行うことを特徴とすることにより、コンピュータシステム一般において、アプリケーションの実行に伴って、アプリケーションディベロッパが独自のポリシに基づき、課金できる。
課金対象をシステム(ここでのシステムとはアプリケーション以外のハードウエア及びソフトウエアを指す)が提供する機能の実行以外にも広げることができる。さらに言えば、システムが提供する機能に限らず、アプリケーションが提供する機能に従って、課金できるようになる。
また、複数のアプリケーションディベロッパが各々のアプリケーションを動作させる上で、独自の課金を行ったとしても、システムとしては課金の集計を統一的に行うことにより、一貫した方法でユーザに料金を請求できるという効果もある。
附記2のアプリケーション課金装置は、1乃至複数のアプリケーションを実行させるアプリケーション課金装置において、前記アプリケーションの実行を制御する制御手段と、前記アプリケーションが各々、規定する所定のカウント情報を記述したデータソースを入力する入力手段と、前記カウント情報を記憶する記憶手段と、前記カウント情報を更新する更新手段と、前記カウント情報を参照する参照手段と、前記カウント情報に基づいて課金を行う課金手段とを備え、前記入力手段が入力したデータソースに記述されたカウント情報に基づき、前記制御手段が前記記憶手段中に前記カウント情報を記憶させる領域を確保すると共に、前記アプリケーションが前記更新手段を用いて前記カウント情報を更新すると共に、前記制御手段が前記参照手段を用いて参照したカウント情報に基づき、前記課金手段が課金を行うことを特徴とすることにより、前記カウント情報の記憶領域の確保を前記制御手段が行うので、前記カウント情報の管理を前記制御手段が行いやすくなり、例えば課金につながる重要な情報である前記カウント情報のバックアップも容易に行え、かつ、前記記憶領域にあるカウント情報もアプリケーションが容易に更新できるという効果がある。
本発明によれば、1乃至複数のアプリケーションを実行させるアプリケーション課金装置において、前記アプリケーションの実行を制御する制御手段と、前記アプリケーションが各々、規定する所定のカウント情報を記憶する記憶手段と、前記カウント情報を更新する更新手段と、前記カウント情報を参照する参照手段と、前記カウント情報に基づいて課金を行う課金手段とを備え、前記アプリケーションが前記更新手段を用いて前記カウント情報を更新すると共に、前記制御手段が前記参照手段を用いて参照したカウント情報に基づき、前記課金手段が課金を行うことを特徴とすることにより、コンピュータシステム一般において、アプリケーションの実行に伴って、アプリケーションディベロッパが独自のポリシに基づき、課金できる。課金対象をシステム(ここでのシステムとはアプリケーション以外のハードウエア及びソフトウエアを指す)が提供する機能の実行以外にも広げることができる。さらに言えば、システムが提供する機能に限らず、アプリケーションが提供する機能に従って、課金できるようになる。
また、複数のアプリケーションディベロッパが各々のアプリケーションを動作させる上で、独自の課金を行ったとしても、システムとしては課金の集計を統一的に行うことにより、一貫した方法でユーザに料金を請求できるという効果もある。
附記2のアプリケーション課金装置は、1乃至複数のアプリケーションを実行させるアプリケーション課金装置において、前記アプリケーションの実行を制御する制御手段と、前記アプリケーションが各々、規定する所定のカウント情報を記述したデータソースを入力する入力手段と、前記カウント情報を記憶する記憶手段と、前記カウント情報を更新する更新手段と、前記カウント情報を参照する参照手段と、前記カウント情報に基づいて課金を行う課金手段とを備え、前記入力手段が入力したデータソースに記述されたカウント情報に基づき、前記制御手段が前記記憶手段中に前記カウント情報を記憶させる領域を確保すると共に、前記アプリケーションが前記更新手段を用いて前記カウント情報を更新すると共に、前記制御手段が前記参照手段を用いて参照したカウント情報に基づき、前記課金手段が課金を行うことを特徴とすることにより、前記カウント情報の記憶領域の確保を前記制御手段が行うので、前記カウント情報の管理を前記制御手段が行いやすくなり、例えば課金につながる重要な情報である前記カウント情報のバックアップも容易に行え、かつ、前記記憶領域にあるカウント情報もアプリケーションが容易に更新できるという効果がある。
附記3のアプリケーション課金装置は、1乃至複数のアプリケーションを実行させるアプリケーション課金装置において、前記アプリケーションの実行を制御する制御手段と、前記アプリケーションが各々、規定する所定の最大許可カウント情報を記述したデータソースを入力する入力手段と、前記最大許可カウント情報と比較するための現在カウント情報を記憶する記憶手段と、前記現在カウント情報を更新する更新手段と、前記現在カウント情報を参照する参照手段と、前記現在カウント情報に基づいて課金を行う課金手段とを備え、前記入力手段が入力したデータソースに記述された最大許可カウント情報に基づき、前記制御手段が前記記憶手段中に前記現在カウント情報を記憶させる領域を確保すると共に、前記アプリケーションが前記更新手段を用いて前記現在カウント情報を更新すると共に、前記制御手段が前記参照手段を用いて参照した現在カウント情報に基づき、前記課金手段が課金を行うことを特徴とすることにより、データソース上にある最大許可カウント情報はこのまま残しておいて、現在カウント情報を更新するようにして、課金を計算できる。アプリケーションライセンスには何らかの機能実行に関する最大許可数が記述されている場合があり、その場合に都合がよい。
附記4のアプリケーション課金装置は、附記2において、前記入力手段が入力したデータソースに記述されたカウント情報に基づき、前記制御手段は、前記カウント情報を更新するためのAPI(アプリケーションプログラミングインタフェース)を提供し、前記APIは前記カウント情報の識別情報から呼び出し方法が容易に分かるように構成され、前記更新手段は、前記APIを用いて前記カウント情報を更新することを特徴とすることにより、アプリケーションが前記カウント情報を更新するためのAPIを容易に知ることができ、全てのアプリケーションにとって望ましいプラットフォームを提供することができる。
附記3のアプリケーション課金装置は、1乃至複数のアプリケーションを実行させるアプリケーション課金装置において、前記アプリケーションの実行を制御する制御手段と、前記アプリケーションが各々、規定する所定の最大許可カウント情報を記述したデータソースを入力する入力手段と、前記最大許可カウント情報と比較するための現在カウント情報を記憶する記憶手段と、前記現在カウント情報を更新する更新手段と、前記現在カウント情報を参照する参照手段と、前記現在カウント情報に基づいて課金を行う課金手段とを備え、前記入力手段が入力したデータソースに記述された最大許可カウント情報に基づき、前記制御手段が前記記憶手段中に前記現在カウント情報を記憶させる領域を確保すると共に、前記アプリケーションが前記更新手段を用いて前記現在カウント情報を更新すると共に、前記制御手段が前記参照手段を用いて参照した現在カウント情報に基づき、前記課金手段が課金を行うことを特徴とすることにより、データソース上にある最大許可カウント情報はこのまま残しておいて、現在カウント情報を更新するようにして、課金を計算できる。アプリケーションライセンスには何らかの機能実行に関する最大許可数が記述されている場合があり、その場合に都合がよい。
附記4のアプリケーション課金装置は、附記2において、前記入力手段が入力したデータソースに記述されたカウント情報に基づき、前記制御手段は、前記カウント情報を更新するためのAPI(アプリケーションプログラミングインタフェース)を提供し、前記APIは前記カウント情報の識別情報から呼び出し方法が容易に分かるように構成され、前記更新手段は、前記APIを用いて前記カウント情報を更新することを特徴とすることにより、アプリケーションが前記カウント情報を更新するためのAPIを容易に知ることができ、全てのアプリケーションにとって望ましいプラットフォームを提供することができる。
101 CPU
102 ROM
103 RAM
104 NVRAM
105 HD
106 ディスプレイ
109 ネットワーク
110 スキャナ
111 プリンタ
102 ROM
103 RAM
104 NVRAM
105 HD
106 ディスプレイ
109 ネットワーク
110 スキャナ
111 プリンタ
Claims (1)
- アプリケーションを実行させるアプリケーション課金装置において、
前記アプリケーションの実行を制御する制御手段と、
前記アプリケーションが各々、規定する所定のカウント情報を記憶する記憶手段と、
前記カウント情報を更新する更新手段と、前記カウント情報を参照する参照手段と、
前記カウント情報に基づいて課金を行う課金手段とを備え、
前記アプリケーションが前記更新手段を用いて前記カウント情報を更新すると共に、前記制御手段が前記参照手段を用いて参照したカウント情報に基づき、前記課金手段が課金を行うことを特徴とするアプリケーション課金装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003317436A JP2005085045A (ja) | 2003-09-09 | 2003-09-09 | アプリケーション課金装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003317436A JP2005085045A (ja) | 2003-09-09 | 2003-09-09 | アプリケーション課金装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005085045A true JP2005085045A (ja) | 2005-03-31 |
Family
ID=34417023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003317436A Pending JP2005085045A (ja) | 2003-09-09 | 2003-09-09 | アプリケーション課金装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005085045A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006331202A (ja) * | 2005-05-27 | 2006-12-07 | Ricoh Co Ltd | 管理システム |
JP2010033322A (ja) * | 2008-07-29 | 2010-02-12 | Nec System Technologies Ltd | プロテクトドングル、コンピュータプログラムのライセンス付与システムおよびライセンス付与方法 |
JP2016029595A (ja) * | 2015-11-17 | 2016-03-03 | グリー株式会社 | コンバージョン計測方法 |
JP2016194942A (ja) * | 2016-06-27 | 2016-11-17 | グリー株式会社 | コンバージョン計測方法及び情報処理装置 |
JP2021099584A (ja) * | 2019-12-20 | 2021-07-01 | 富士通株式会社 | サービスコスト計算装置、サービスコスト計算システム、サービスコスト計算方法 |
-
2003
- 2003-09-09 JP JP2003317436A patent/JP2005085045A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006331202A (ja) * | 2005-05-27 | 2006-12-07 | Ricoh Co Ltd | 管理システム |
JP4734030B2 (ja) * | 2005-05-27 | 2011-07-27 | 株式会社リコー | 管理システム |
JP2010033322A (ja) * | 2008-07-29 | 2010-02-12 | Nec System Technologies Ltd | プロテクトドングル、コンピュータプログラムのライセンス付与システムおよびライセンス付与方法 |
JP2016029595A (ja) * | 2015-11-17 | 2016-03-03 | グリー株式会社 | コンバージョン計測方法 |
JP2016194942A (ja) * | 2016-06-27 | 2016-11-17 | グリー株式会社 | コンバージョン計測方法及び情報処理装置 |
JP2021099584A (ja) * | 2019-12-20 | 2021-07-01 | 富士通株式会社 | サービスコスト計算装置、サービスコスト計算システム、サービスコスト計算方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4217455B2 (ja) | 周辺装置、情報処理方法、および制御プログラム | |
JP4957732B2 (ja) | アクセス制限ファイル、制限ファイル生成装置、ファイル生成装置の制御方法、ファイル生成プログラム | |
CN101816006B (zh) | 用于web服务的安全性策略验证 | |
JP4298371B2 (ja) | 画像形成装置及び当該装置におけるプログラム起動方法、画像形成システム及びそのプログラムと記憶媒体 | |
EP2479620A1 (en) | Printer capable of authenticating user, print management system including the printer and user authentication program | |
US8886961B2 (en) | Application installing method | |
JP2014081779A (ja) | 機器管理システム、周辺機器、及びその制御方法。 | |
JP2018043409A (ja) | 画像処理装置、制御システム、及びプログラム | |
CN101742051A (zh) | 信息处理装置和信息处理方法 | |
JP6044167B2 (ja) | 読取システム、端末装置、読取装置およびプログラム | |
US20100162407A1 (en) | Apparatus, method, and recording medium | |
EP3114571B1 (en) | Information processing system, management device, and information output method | |
US20160125177A1 (en) | Information processing system, information processing apparatus, access control method, and program | |
JP2011081768A (ja) | 画像処理装置、情報処理方法、及びプログラム | |
KR20180008218A (ko) | 클라우드 프린팅 서비스의 계정을 공유하는 방법 및 이를 실시하기 위한 클라우드 서버 | |
JP5482172B2 (ja) | 文書利用管理システム、一時利用許可書発行装置、文書利用装置及びプログラム | |
JP2007208573A (ja) | 画像処理装置及び画像処理方法 | |
EP2299682B1 (en) | Document processing device, server device, and document processing system | |
JP6500660B2 (ja) | 情報読取装置および情報読取システム | |
JP2005085045A (ja) | アプリケーション課金装置 | |
JP6057609B2 (ja) | 画像形成装置及びその制御方法、並びにプログラム | |
JP2002108475A (ja) | アプリ実行制御システム、アプリ実行制御方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP4777403B2 (ja) | 周辺装置、情報処理方法、および制御プログラム | |
JP2006040133A (ja) | 情報処理方法及びそのシステムと装置 | |
JP5448776B2 (ja) | 画像形成装置、方法、プログラム |