(57)【特許請求の範囲】
【請求項１】
通信端末と、課金装置とを備え、
前記通信端末は、
制御手段と、
前記制御手段が実行する第１のプログラムと、前記第１のプログラムに処理を依頼し、その依頼に応じて前記第１のプログラムから引き渡される処理結果を用いて前記制御手段が実行する第２のプログラムとを格納する格納手段と、
前記制御手段が前記第２のプログラムからの依頼に応じて前記第１のプログラムを実行したときの実行の程度を示す値と、当該第１のプログラムを識別する第１識別情報と、当該第１のプログラムに処理を依頼した第２のプログラムを識別する第２識別情報とを、前記課金装置に送信する送信手段とを備え、
前記課金装置は、
前記第１のプログラムを識別する前記第１識別情報と、前記第２のプログラムを識別する前記第２識別情報と、当該第２のプログラムからの依頼に応じて当該第１のプログラムが実行されたときの実行の程度を示す値とが対応付けられた集計テーブルを記憶する記憶手段と、
前記通信端末の送信手段から送信されてきた前記実行の程度を示す値、前記第１識別情報及び前記第２識別情報を受信する受信手段と、
前記受信手段により前記実行の程度を示す値、前記第１識別情報及び前記第２識別情報が受信されると、前記集計テーブルにおいて当該受信された第１識別情報及び第２識別情報と対応付けられた前記実行の程度を示す値に、当該受信された実行の程度を示す値を加算することにより、前記集計テーブルにおいて前記第１識別情報に対応付けられた前記実行の程度を示す値を、前記第２識別情報毎に累算する累積手段と、
前記集計テーブルに基づいて、前記第１識別情報の前記実行の程度を示す値の累算結果に応じた対価を、前記第２識別情報毎に算出する算出手段と、
前記算出手段により前記第２識別情報毎に算出された対価を、各々の前記第２識別情報によって識別される第２のプログラムの製作者乃至販売者に対して課金するための所定の課金手続処理を行う課金手続処理手段とを備える
ことを特徴とする課金システム。
【請求項２】
前記実行の程度を示す値は、前記制御手段が前記第２のプログラムからの依頼に応じて前記第１のプログラムを実行した実行回数、前記制御手段が前記第２のプログラムからの依頼に応じて前記第１のプログラムを実行したときの処理に要する時間又は当該処理で扱ったデータのデータ量のうち、少なくともいずれか１つである
ことを特徴とする請求項１記載の課金システム。
【請求項３】
第１のプログラムを識別する第１識別情報と、第２のプログラムを識別する第２識別情報と、当該第２のプログラムからの依頼に応じて当該第１のプログラムが実行されたときの実行の程度を示す値とが対応付けられた集計テーブルを記憶する記憶手段と、
制御手段と、前記制御手段が実行する前記第１のプログラムと、前記第１のプログラムに処理を依頼し、その依頼に応じて前記第１のプログラムから引き渡される処理結果を用いて前記制御手段が実行する前記第２のプログラムとを格納する格納手段と、前記制御手段が前記第２のプログラムからの依頼に応じて前記第１のプログラムを実行したときの実行の程度を示す値と、当該第１のプログラムを識別する第１識別情報と、当該第１のプログラムに処理を依頼した第２のプログラムを識別する第２識別情報とを送信する送信手段とを有する通信端末から、当該送信されてきた実行の程度を示す値、第１識別情報及び第２識別情報を受信する受信手段と、
前記受信手段により前記実行の程度を示す値、前記第１識別情報及び前記第２識別情報が受信されると、前記集計テーブルにおいて当該受信された第１識別情報及び第２識別情報と対応付けられた前記実行の程度を示す値に、当該受信された実行の程度を示す値を加算することにより、前記集計テーブルにおいて前記第１識別情報に対応付けられた前記実行の程度を示す値を、前記第２識別情報毎に累算する累積手段と、
前記集計テーブルに基づいて、前記第１識別情報の前記実行の程度を示す値の累算結果に応じた対価を、前記第２識別情報毎に算出する算出手段と、
前記算出手段により前記第２識別情報毎に算出された対価を、各々の前記第２識別情報によって識別される第２のプログラムの製作者乃至販売者に対して課金するための所定の課金手続処理を行う課金手続処理手段と
を備えることを特徴とする課金装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ミドルウェアなどのように、他のプログラムからの依頼に応じた処理を行うプログラムの実行の程度に応じて、使用料金などの対価を課金するための技術に関する。
【背景技術】
【０００２】
近年、携帯電話機における各種プログラムの利用状況に応じて、そのプログラムのライセンス料を課金するということが行われている。例えば、特許文献１には、携帯電話機のアプリケーションプログラムが利用された回数や利用時間などの利用状況をサーバ装置に通知し、その利用状況に応じたライセンス料を携帯電話機のユーザに課金する技術が開示されている。また、特許文献２には、携帯電話機のアプリケーションプログラムに含まれる複数の機能のうち、ユーザにより利用された機能をサーバ装置に通知し、その機能に対するライセンス料がユーザに課金される技術が開示されている。また、特許文献３には、携帯電話機においてアプリケーションプログラムの実行に必要なプログラムが格納されていない場合に、そのプログラムを携帯電話機にダウンロードするとともに、そのダウンロードの旨が通知されたライセンスサーバ装置が、ダウンロードしたプログラムのライセンス料をアプリケーションプログラムの販売業者に対して課金する技術が開示されている。
【特許文献１】ＷＯ２００２／０２１２６６号公報
【特許文献２】特開２００５−２８４８２７号公報
【特許文献３】特開２００４−２２７１８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、携帯電話機などの通信端末において利用されるアプリケーションプログラムは、ミドルウェアと呼ばれるソフトウェアに特定の処理を依頼し、その処理結果を用いて様々な機能を実現することがある。例えば、アプリケーションプログラムであるメールソフトウェアは、メールに添付されているＪＰＥＧ（Joint Photographic Experts Group）形式の画像ファイルを解釈する処理を、ミドルウェアであるＪＰＥＧエンジンに依頼し、その処理結果であるビットマップデータを受け取って表示部に画像を表示する。このような場合、ＪＰＥＧエンジンというミドルウェアを使用している主体は、メールソフトウェアウェアというアプリケーションプログラムであるため、そのＪＰＥＧエンジンの使用に課される対価は、メールソフトウェアウェアの製作者乃至販売者が負担することが望ましいと考えられる。
本発明は、かかる事情に鑑みてなされたものであり、その目的は、ミドルウェアのような第１のプログラムと、その第１のプログラムに処理を依頼する第２のプログラムとをそれぞれ実行した場合において、第１のプログラムの実行の程度に応じた額の対価を、第２のプログラムの製作者乃至販売者に課金するための仕組みを提供することにある。
【課題を解決するための手段】
【０００４】
上述した目的を達成するために、本発明は、通信端末と、課金装置とを備え、前記通信端末は、制御手段と、前記制御手段が実行する第１のプログラムと、前記第１のプログラムに処理を依頼し、その依頼に応じて前記第１のプログラムから引き渡される処理結果を用いて前記制御手段が実行する第２のプログラムとを格納する格納手段と、前記制御手段が前記第２のプログラムからの依頼に応じて前記第１のプログラムを実行したときの実行履歴と、当該第１のプログラムを識別する第１識別情報と、当該第１のプログラムに処理を依頼した第２のプログラムを識別する第２識別情報とを、前記課金装置に送信する送信手段とを備え、前記課金装置は、前記通信端末の送信手段から送信されてきた前記実行履歴、前記第１識別情報及び前記第２識別情報を受信する受信手段と、前記受信手段によって受信された前記実行履歴及び前記第２識別情報を、前記受信手段によって受信された前記第１識別情報に対応付けて記憶する記憶手段と、前記第１識別情報に対応付けて前記記憶手段に記憶されている前記実行履歴を、各々の前記第２識別情報毎に累算し、その累算結果に応じた対価を算出する算出手段と、前記算出手段により前記第２識別情報毎に算出された対価を、各々の前記第２識別情報によって識別される第２のプログラムの製作者乃至販売者に対して課金するための所定の課金手続処理を行う課金手続処理手段とを備えることを特徴とする課金システムを提供する。
【０００５】
本発明の好ましい態様においては、前記実行履歴は、前記制御手段が前記第２のプログラムからの依頼に応じて前記第１のプログラムを実行した実行回数、前記制御手段が前記第２のプログラムからの依頼に応じて前記第１のプログラムを実行したときの処理に要する時間又は当該処理で扱ったデータのデータ量のうち、少なくともいずれか１つである。
【０００６】
また、本発明は、制御手段と、前記制御手段が実行する第１のプログラム及び前記第１のプログラムに処理を依頼し、その依頼に応じて前記第１のプログラムから引き渡される処理結果を用いて前記制御手段が実行する第２のプログラムを格納する格納手段とを有する通信端末から、前記制御手段が前記第２のプログラムからの依頼に応じて前記第１のプログラムを実行したときの実行履歴と、当該第１のプログラムを識別する第１識別情報と、当該第１のプログラムに処理を依頼した第２のプログラムを識別する第２識別情報とを受信する受信手段と、前記受信手段によって受信された前記実行履歴及び前記第２識別情報を、前記受信手段によって受信された前記第１識別情報に対応付けて記憶する記憶手段と、前記第１識別情報に対応付けて前記記憶手段に記憶されている前記実行履歴を、各々の前記第２識別情報毎に累算し、その累算結果を出力する出力手段とを備えることを特徴とする実行履歴累算装置を提供する。
【０００７】
また、本発明は、制御手段と、前記制御手段が実行する第１のプログラム及び前記第１のプログラムに処理を依頼し、その依頼に応じて前記第１のプログラムから引き渡される処理結果を用いて前記制御手段が実行する第２のプログラムを格納する格納手段とを有する通信端末から、前記制御手段が前記第２のプログラムからの依頼に応じて前記第１のプログラムを実行したときの実行履歴と、当該第１のプログラムを識別する第１識別情報と、当該第１のプログラムに処理を依頼した第２のプログラムを識別する第２識別情報とを受信する受信手段と、前記受信手段によって受信された前記実行履歴及び前記第２識別情報を、前記受信手段によって受信された前記第１識別情報に対応付けて記憶する記憶手段と、前記第１識別情報に対応付けて前記記憶手段に記憶されている前記実行履歴を、各々の前記第２識別情報毎に累算し、その累算結果に応じた対価を算出する算出手段と、前記算出手段により前記第２識別情報毎に算出された対価を、各々の前記第２識別情報によって識別される第２のプログラムの製作者乃至販売者に対して課金するための所定の課金手続処理を行う課金手続処理手段とを備えることを特徴とする課金装置を提供する。
【０００８】
また、本発明は、制御手段と、前記制御手段が実行する第１のプログラムと、前記第１のプログラムに処理を依頼し、その依頼に応じて前記第１のプログラムから引き渡される処理結果を用いて前記制御手段が実行する第２のプログラムとを格納する格納手段と、前記制御手段が前記第２のプログラムからの依頼に応じて前記第１のプログラムを実行したときの実行履歴と、当該第１のプログラムを識別する第１識別情報と、当該第１のプログラムに処理を依頼した第２のプログラムを識別する第２識別情報とを課金装置に送信する送信手段とを備えることを特徴とする通信端末を提供する。
【０００９】
また、本発明は、コンピュータを、制御手段と、前記制御手段が実行する第１のプログラムと、前記第１のプログラムに処理を依頼し、その依頼に応じて前記第１のプログラムから引き渡される処理結果を用いて前記制御手段が実行する第２のプログラムとを格納する格納手段と、前記制御手段が前記第２のプログラムからの依頼に応じて前記第１のプログラムを実行したときの実行履歴と、当該第１のプログラムを識別する第１識別情報と、当該第１のプログラムに処理を依頼した第２のプログラムを識別する第２識別情報とを課金装置に送信する送信手段として機能させるためのプログラムを提供する。
【発明の効果】
【００１０】
本発明によれば、ミドルウェアのような第１のプログラムと、その第１のプログラムに処理を依頼する第２のプログラムとを実行した場合において、第１のプログラムの実行の程度に応じた額の対価を、第２のプログラムの製作者乃至販売者に課金することができる。
【発明を実施するための最良の形態】
【００１１】
［構成］
図１は、本発明の一実施形態である課金システム１の全体構成を概略的に示す図である。同図に示すように、課金システム１は移動通信網１０と、課金装置２０と、決済システム３０と、移動通信端末４０ａ，４０ｂとを備えている。なお、以下の説明では、移動通信端末４０ａ，４０ｂを特に区別する必要がない場合には、これらを総称して「移動通信端末４０」という。この課金システム１は、移動通信端末４０において実行されるミドルウェアの使用に課される使用料金を、そのミドルウェアに処理を依頼したアプリケーションの製作者乃至販売者（以下、単に製作者という）に対して課金するものである。
【００１２】
移動通信網１０は、移動通信端末４０に移動通信サービスを提供するためのネットワークシステムであり、キャリアと呼ばれる通信事業者によって管理される。移動通信網１０は、図示せぬ基地局、交換局及びサービス制御局などのノードと、これらノード間を接続する通信線とを備えており、所定のプロトコルに準拠して音声データ、映像データ、制御データなどを多重化して伝送する。移動通信網１０が準拠するプロトコルとしては、例えば、３ＧＰＰ（3rd Generation Partnership Project）により規格化された３Ｇ−３２４Ｍなどが好適である。サービス制御局は、移動通信端末４０の位置登録情報や、移動通信端末４０のユーザの契約や課金に関する情報や、各移動通信端末４０の電話番号などを記憶している。移動通信網１０に含まれるいずれかのノード（例えばサービス制御局）には課金装置２０が接続されている。この課金装置２０には、全銀協（全国銀行協会）ネットワークやＣＡＦＩＳ（Credit And Finance Information System）網などの各種の金融ネットワークや金融機関を含む決済システム３０が接続されている。この決済システム３０は、課金装置２０からの依頼に応じて、通知された金額を、通知された銀行口座から引き落とす、又は、通知されたクレジットカード番号に基づいて引き落とすなどの決済処理を行う。
【００１３】
図２は、課金装置２０の構成を示すブロック図である。同図に示すように、課金装置２０は、ＣＰＵ（Central Processing Unit）２１と、ＲＯＭ（Read Only Memory）２２と、ＲＡＭ（Random Access Memory）２３と、通信部２４と、記憶部２５とを備えている。ＣＰＵ２１は、ＲＡＭ２３をワークエリアとして用いてＲＯＭ２２や記憶部２５に記憶されたプログラムを実行することによって、課金装置２０の各部の動作を制御する。通信部２４は、移動通信網１０を介して通信を行うためのインタフェースである。
【００１４】
記憶部２５は、ＨＤＤ（Hard Disk Drive）等の記憶装置を備えている。記憶部２５には、ＣＰＵ２１が実行するプログラムに加えて、課金情報Ｃが記憶されている。この課金情報Ｃには、移動通信端末４０において実行される各アプリケーションの製作者（以下、「アプリ製作者」という）に関する情報が、事前の届け出に基づいて記憶されている。このアプリ製作者に関する情報とは、例えばアプリ製作者の会社名、住所、電話番号、銀行口座、クレジットカード番号などである。
【００１５】
次に、移動通信端末４０の構成について説明する。図３は、移動通信端末４０の構成を示すブロック図である。同図に示すように、移動通信端末４０は、ＣＰＵ４１と、ＲＯＭ４２と、ＲＡＭ４３と、ＥＥＰＲＯＭ（Electronically Erasable and Programmable ROM）４４と、無線通信部４５と、表示部４６と、操作部４７と、音声入出力部４８とを備えている。ＣＰＵ４１は、ＲＡＭ４３をワークエリアとして用いてＲＯＭ４２やＥＥＰＲＯＭ４４に記憶されたプログラムを実行し、これにより移動通信端末４０の各部の動作を制御する。無線通信部４５は、アンテナを備え、移動通信網１０とのデータの送受信を無線で行う。表示部４６は、液晶パネルや液晶駆動回路を備えた表示装置であり、ＣＰＵ４１からの指示に応じて各種の情報を表示する。操作部４７は、ボタン等の操作子を備え、ユーザの操作に応じた操作信号をＣＰＵ４１に供給する。音声入出力部４８は、マイク及びスピーカを備え、音声信号の入力及び出力を行う。
【００１６】
ここで、移動通信端末４０が記憶するデータの内容を説明する。
ＲＯＭ４２は、マルチタスクオペレーティングシステム（以下「マルチタスクＯＳ」という）、Ｊａｖａ（登録商標）プラットフォーム及びネイティブアプリケーションの他に、ミドルウェアＭを格納している。これらのプログラムについて概説すると、まず、マルチタスクＯＳは、ＴＳＳ（Time-Sharing System）による複数タスクの擬似的な並列実行を実現するために必要な仮想メモリ空間の割り当てなどの各種機能をサポートしたオペレーティングシステムである。Ｊａｖａプラットフォームは、マルチタスクＯＳを搭載した携帯機器において後述するＪａｖａ実行環境Ｅを実現するためのコンフィギュレーションであるＣＤＣ（Connected Device Configuration）にしたがって記述されたプログラム群である。ネイティブアプリケーションは、通話や通信などといった移動通信端末４０の基本的なサービスを実現するプログラムである。ミドルウェアＭは、上述したマルチタスクＯＳ上で実行され、所定の機能を実現するプログラムである。このＲＯＭ４２には、ＪＰＥＧエンジンＭ１とＭＰＥＧエンジンＭ２とを含む複数のミドルウェアＭが格納されている。
【００１７】
ＥＥＰＲＯＭ４４は、メールソフトウェアＡ１を含む複数のアプリケーションプログラムＡが格納されている。さらに、ＥＥＰＲＯＭ４４には、ＲＯＭ４２に格納されているミドルウェアＭが実行された程度を表す実行履歴テーブルＴ１が記憶されている。この実行履歴テーブルＴ１は、ＣＰＵ４１がアプリケーションプログラムＡからの依頼に応じてミドルウェアＭを実行した実行回数と、実行されたミドルウェアＭを識別するミドルウェアＩＤと、そのミドルウェアＭに処理を依頼したアプリケーションプログラムＡを識別するアプリＩＤとが対応付けられている。
【００１８】
図４は、実行履歴テーブルＴ１の一例を示す図である。図に示すミドルウェアＩＤ「ｍ０１」は、ＪＰＥＧエンジンＭ１を識別する識別情報（第１識別情報）であり、ミドルウェアＩＤ「ｍ０２」は、ＭＰＥＧエンジンＭ２を識別する識別情報（第１識別情報）である。また、図に示すアプリＩＤ「ａ０１」は、メールソフトウェアＡ１を識別する識別情報（第２識別情報）である。この実行履歴テーブルＴ１では、アプリＩＤ「ａ０１」とミドルウェアＩＤ「ｍ０１」と実行回数「５回」とが対応付けられている。これは、ＣＰＵ４１がメールソフトウェアＡ１（アプリＩＤ「ａ０１」）からの依頼に応じて、ＪＰＥＧエンジンＭ１（ミドルウェアＩＤ「ｍ０１」）を「５回」実行したことを意味している。また、この実行履歴テーブルＴ１では、アプリＩＤ「ａ０１」とミドルウェアＩＤ「ｍ０２」と実行回数「１０回」とが対応付けられている。これは、ＣＰＵ４１がメールソフトウェアＡ１（アプリＩＤ「ａ０１」）からの依頼に応じて、ＭＰＥＧエンジンＭ２（ミドルウェアＩＤ「ｍ０２」）を「１０回」実行したことを意味している。この実行履歴テーブルＴ１は、ＣＰＵ４１がアプリケーションプログラムＡからの依頼に応じてミドルウェアＭを実行する度に、そのＣＰＵ４１によって更新されるようになっている。
【００１９】
図５は、ＲＯＭ４２及びＥＥＰＲＯＭ４４の各種プログラムの実行により移動通信端末４０のＣＰＵ４１に実現される各部の論理的構成を示す図である。同図に示すように、各種プログラムを実行する移動通信端末４０には、ＲＯＭ４２のミドルウェアＭにより実現されるＪＰＥＧエンジンＭ１，ＭＰＥＧエンジンＭ２などの複数の機能とＪａｖａ実行環境ＥとがＯＳ上に実現され、また、ＥＥＰＲＯＭ４４には第１ストレージと第２ストレージとが確保される。
【００２０】
Ｊａｖａ実行環境Ｅは、ＲＯＭ４２のＪａｖａプラットフォームにより実現される。Ｊａｖａ実行環境Ｅは、クラスライブラリ、ＪＶＭ（Java Virtual Machine）及びＪＡＭ（Java Application Manager）からなる。クラスライブラリは、特定の機能を有するプログラムモジュール（クラス）群を１つのファイルに結合したものである。ＪＶＭは、上述のＣＤＣのために最適化されたＪａｖａ実行環境であり、Ｊａｖａアプリケーションとして提供されるバイトコードを解釈して実行する機能を有する。ＪＡＭは、Ｊａｖａアプリケーションのダウンロードやインストール、起動・終了などを管理する機能を有する。
【００２１】
第１ストレージは、ＪＡＭの管理の下にダウンロードされる複数のＪａｖａアプリケーション（ＪａｒファイルとＡＤＦ）を含むアプリケーションプログラムＡを格納する領域である。Ｊａｖａアプリケーションは、Ｊａｖａ実行環境Ｅの下における処理の手順自体を記述した実体プログラムとその実体プログラムの実行に伴って利用される画像ファイルや音声ファイルとを結合したＪＡＲ(Java Archive)ファイルと、そのＪＡＲファイルのインストールや起動、各種の属性を記述したＡＤＦ（Application Descriptor File）とを有している。このＪａｖａアプリケーションは、コンテンツプロバイダまたは通信事業者により作成されて、インターネットや移動通信網１０に接続されたサーバ装置などに格納され、移動通信端末４０からの要求に応じてそれらのサーバ装置から適宜ダウンロードされるようになっている。
【００２２】
この第１ストレージには、メール機能を有するメールソフトウェアＡ１を含む複数のアプリケーションプログラムＡが格納されている。これらのアプリケーションプログラムＡの中には、ＲＯＭ４２に格納されているミドルウェアＭに処理を依頼し、その依頼に応じてミドルウェアＭから引き渡される処理結果を用いて所定の機能を実現するものがある。例えば、メールソフトウェアＡ１は、メールに添付されているＪＰＥＧ形式の画像データを表示させる場合、ＪＰＥＧ形式の画像データをビットマップ形式に変換する処理をＪＰＥＧエンジンＭ１に依頼し、その依頼に応じてＪＰＥＧエンジンＭ１から引き渡されるビットマップ形式の画像データを用いて、メールに添付された画像データを表示させる機能を実現する。
【００２３】
第２ストレージは、上述したＪａｖａアプリケーションの実行の際に生成されたデータをその終了後に格納しておくための領域であり、インストールされたＪａｖａアプリケーション毎に個別の格納領域が割り当てられるようになっている。そして、あるＪａｖａアプリケーションに割り当てられた格納領域のデータは、そのＪａｖａアプリケーションが実行されている間のみ書き換え可能となっており、別のＪａｖａアプリケーションが書き換えを行い得ないようになっている。
【００２４】
［動作］
次に、課金システム１の動作について説明する。ここでは、まず、各々の移動通信端末４０において実行されるミドルウェアＭの実行の程度を表す実行履歴テーブルＴ１の更新処理について説明し、続いて、課金システム１内の各々の移動通信端末４０における各ミドルウェアＭの実行の程度に応じた使用料金を、そのミドルウェアＭに処理を依頼したアプリケーションプログラムＡの製作者に対して課金する処理について説明する。
【００２５】
図６は、移動通信端末４０における実行履歴テーブルＴ１の更新処理を示すフロー図である。
移動通信端末４０のＣＰＵ４１は、ユーザにより操作部４７が操作されることにより、アプリケーションプログラムＡの起動が指示されたか否かを判断する（ステップＳＡ１１０）。アプリケーションプログラムＡの起動が指示されていない場合（ステップＳＡ１１０：ＮＯ）、ＣＰＵ４１は、アプリケーションプログラムＡの起動が指示されるまで待機する。一方、アプリケーションプログラムＡの起動が指示された場合（ステップＳＡ１１０：ＹＥＳ）、ＣＰＵ４１は、指示されたアプリケーションプログラムＡを起動させる（ステップＳＡ１２０）。例えば、ユーザによりメールソフトウェアＡ１の起動が指示された場合、ＣＰＵ４１は、指示されたメールソフトウェアＡ１をＥＥＰＲＯＭ４４から読み出して、起動させる。
【００２６】
続いて、ＣＰＵ４１は、起動させたアプリケーションプログラムＡからミドルウェアＭに処理が依頼されたか否かを判断する（ステップＳＡ１３０）。アプリケーションプログラムＡからミドルウェアＭに処理が依頼されない場合（ステップＳＡ１３０：ＮＯ）、ＣＰＵ４１は、この処理を終了する。一方、アプリケーションプログラムＡからミドルウェアＭに処理が依頼された場合（ステップＳＡ１３０：ＹＥＳ）、ＣＰＵ４１は、その依頼に応じてミドルウェアＭを実行する（ステップＳＡ１４０）。例えば、ＣＰＵ４１によって起動されたメールソフトウェアＡ１が、メールに添付されているＪＰＥＧ形式の画像データを表示部４６に表示させる機能を実現させる場合、このメールソフトウェアＡ１は、ＪＰＥＧ形式の画像データをビットマップ形式に変換する処理をＪＰＥＧエンジンＭ１に依頼することになる。その場合、ＣＰＵ４１は、メールソフトウェアＡ１からの依頼に応じてＪＰＥＧエンジンＭ１を実行する。そして、ＣＰＵ４１は、ＪＰＥＧエンジンＭ１から引き渡される処理結果であるビットマップ形式の画像データを用いてメールソフトウェアＡ１を実行し、メールに添付されている画像データを表示部４６に表示させる。
【００２７】
続いて、ＣＰＵ４１は、アプリケーションプログラムＡからの依頼に応じたミドルウェアＭの実行に伴って、ＥＥＰＲＯＭ４４に記憶されている実行履歴テーブルＴ１を更新する（ステップＳＡ１５０）。この例では、実行履歴テーブルＴ１において、ＣＰＵ４１により実行されたＪＰＥＧエンジンＭ１のミドルウェアＩＤである「ｍ０１」と、ＪＰＥＧエンジンＭ１に処理を依頼したメールソフトウェアＡ１のアプリＩＤである「ａ０１」とに対応付けられている実行回数がＣＰＵ４１により１だけインクリメントされる。このようにして、ＣＰＵ４１がアプリケーションプログラムＡからの依頼に応じてミドルウェアＭを実行する度に、実行履歴テーブルＴ１の内容が更新されていく。
【００２８】
次に、図７は、課金システム１内の各々の移動通信端末４０における各ミドルウェアＭの実行の程度に応じた使用料金を、そのミドルウェアＭに処理を依頼したアプリケーションプログラムＡの製作者に対して課金する処理を示すシーケンス図である。
各々の移動通信端末４０のＣＰＵ４１は、上述のようにして更新される実行履歴テーブルＴ１において対応付けられているミドルウェアＩＤと、アプリＩＤと、ミドルウェアＭの実行回数とを実行履歴情報として所定のタイミングで課金装置２０に送信する。この所定のタイミングとは、月に１回又は週に１回など予め決められた日にちであってもよいし、実行履歴テーブルＴ１を更新した時であってもよい。
【００２９】
この例では、まず移動通信端末４０ａのＣＰＵ４１が、ＥＥＰＲＯＭ４４の実行履歴テーブルＴ１において対応付けられているアプリＩＤとミドルウェアＩＤと実行回数とを、実行履歴情報として課金装置２０に送信する（ステップＳＢ１１０）。例えば、図４に示した実行履歴テーブルＴ１が移動通信端末４０ａのＥＥＰＲＯＭ４４に記憶されているとすると、アプリＩＤ「ａ０１」とミドルウェアＩＤ「ｍ０１」と実行回数「５回」とが対応付けられ、アプリＩＤ「ａ０１」とミドルウェアＩＤ「ｍ０２」と実行回数「１０回」とが対応付けられた実行履歴情報が課金装置２０に送信される。移動通信端末４０ａのＣＰＵ４１は実行履歴情報を課金装置２０に送信すると、ＥＥＰＲＯＭ４４の実行履歴テーブルＴ１の内容をクリアする。移動通信端末４０ａから実行履歴情報が送信されてくると、課金装置２０のＣＰＵ２１は、その実行履歴情報を集計する集計処理を行う（ステップＳＢ１２０）。
【００３０】
ここで、課金装置２０における集計処理について詳細に説明する。図８は、課金装置２０における集計処理を示すフロー図である。
まず、課金装置２０のＣＰＵ２１は、実行履歴情報を受信したか否かを判断する（ステップＳＣ１１０）。実行履歴情報を受信していない場合（ステップＳＣ１１０：ＮＯ）、ＣＰＵ２１は、実行履歴情報を受信するまで待機する。一方、実行履歴情報を受信した場合（ステップＳＣ１１０：ＹＥＳ）、ＣＰＵ２１は、受信した実行履歴情報におけるミドルウェアＭの実行回数及びアプリＩＤを、ミドルウェアＩＤに対応付けて記憶部２５に記憶させる（ステップＳＣ１２０）。この例では、図４に示した実行履歴テーブルＴ１において対応付けられているアプリＩＤとミドルウェアＩＤと実行回数とが実行履歴情報として移動通信端末４０ａから送信されてくるため、ＣＰＵ２１はこの実行履歴情報を受信し、図４に示した実行履歴テーブルＴ１において対応付けられているミドルウェアＭの実行回数及びアプリＩＤを、ミドルウェアＩＤに対応付けて記憶部２５に記憶させる。
【００３１】
続いて、ＣＰＵ２１は、記憶部２５に記憶されている各々のミドルウェアＩＤに対応付けられているミドルウェアＭの実行回数を、アプリＩＤ毎に累算する（ステップＳＣ１３０）。例えば、移動通信端末４０ａから送信されてきた実行履歴情報のみが記憶部２５に記憶されている場合、アプリＩＤ「ａ０１」において、ミドルウェアＩＤ「ｍ０１」に対応付けられているＪＰＥＧエンジンＭ１の実行回数は「５回」となり、ミドルウェアＩＤ「ｍ０２」に対応付けられているＭＰＥＧエンジンＭ２の実行回数は「１０回」となる。そして、ステップＳＣ１３０の処理を完了すると、ＣＰＵ２１は新たな実行履歴情報が移動通信端末４０から送信されてくるまで待機する。
【００３２】
次に、移動通信端末４０ｂのＣＰＵ４１が、ＥＥＰＲＯＭ４４の実行履歴テーブルＴ１において対応付けられているアプリＩＤとミドルウェアＩＤと実行回数とを、実行履歴情報として課金装置２０に送信したとする（図７のステップＳＢ１３０）。移動通信端末４０ｂから実行履歴情報が送信されてくると、課金装置２０のＣＰＵ２１は、その実行履歴情報を集計する集計処理を行う（ステップＳＢ１４０）。すなわち、課金装置２０のＣＰＵ２１は、上述と同様にして、移動通信端末４０ｂから送信されてきた実行履歴情報を受信し、受信した実行履歴情報におけるミドルウェアＭの実行回数及びアプリＩＤを、ミドルウェアＩＤに対応付けて記憶部２５に記憶させる。そして、ＣＰＵ２１は、記憶部２５に記憶されている各々のミドルウェアＩＤに対応付けられているミドルウェアＭの実行回数をアプリＩＤ毎に累算する。
【００３３】
例えば、移動通信端末４０ａから送信されてきた実行履歴情報が既に記憶部２５に記憶されている状態で、アプリＩＤ「ａ０１」とミドルウェアＩＤ「ｍ０１」と実行回数「５０回」とが対応付けられ、アプリＩＤ「ａ０１」とミドルウェアＩＤ「ｍ０２」と実行回数「７９回」とが対応付けられた実行履歴情報が、移動通信端末４０ｂから送信されてきた場合を想定する。その場合、記憶部２５には、既に記憶されている実行履歴情報に加えて、移動通信端末４０ｂから送信されてきた新たな実行履歴情報が記憶されることになる。そのため、アプリＩＤ「ａ０１」において、ミドルウェアＩＤ「ｍ０１」に対応付けられているＪＰＥＧエンジンＭ１の実行回数は、既に記憶されている「５回」＋新たに記憶された「５０回」＝「５５回」となる。同様にして、アプリＩＤ「ａ０１」において、ミドルウェアＩＤ「ｍ０２」に対応付けられているＭＰＥＧエンジンＭ２の実行回数は、既に記憶されている「１０回」＋新たに記憶された「７９回」＝「８９回」となる。
【００３４】
図９は、このようにして、各々のミドルウェアＩＤに対応付けられているミドルウェアＭの実行回数をアプリＩＤ毎に累算した累算結果をテーブル形式で表した集計テーブルＴ２を示す図である。この集計テーブルＴ２のアプリＩＤ「ａ０１」には、ミドルウェアＩＤ「ｍ０１」と実行回数「５５回」とが対応付けられ、ミドルウェアＩＤ「ｍ０２」と実行回数「８９回」とが対応付けられている。この集計テーブルＴ２は、上述のように課金装置２０において集計処理が行われる度に、更新されるようになっている。
【００３５】
続いて、課金装置２０のＣＰＵ２１は、作成した集計テーブルＴ２に基づいて、各ミドルウェアＭの実行回数の累積結果に応じたミドルウェアＭの使用料金を、そのミドルウェアＭに処理を依頼したアプリケーションプログラムＡの製作者に対して課金するための支払テーブルＴ３を作成する（図７のステップＳＢ１５０）。この支払テーブルＴ３は、例えば月毎の予め決めた日付などの所定のタイミングで作成される。詳細に説明すると、ＣＰＵ２１は、まず各ミドルウェアＭの実行回数の累算結果に応じた使用料金を、アプリＩＤ毎に算出する。この使用料金は、例えば各ミドルウェアＭの実行回数の累算結果と、そのミドルウェアＭの１回の使用に課される使用料金との対応関係を表す所定の数式に従って算出される。続いて、ＣＰＵ２１は、算出したミドルウェアＭの使用料金をアプリＩＤ毎に総計する。そして、ＣＰＵ２１は、アプリＩＤと、そのアプリＩＤによって識別されるアプリケーションの製作者を識別するアプリ製作者ＩＤと、各ミドルウェアＭの使用料金と、ミドルウェアＭの使用料金の総計とを対応付けた支払テーブルＴ３を作成する。
【００３６】
図１０は、このようにして作成された支払テーブルＴ３を示す図である。図に示す支払テーブルＴ３では、アプリＩＤが「ａ０１」であるメールソフトウェアＡ１を制作した、アプリ製作者ＩＤが「００１」であるアプリ製作者に対して、ミドルウェアＩＤが「ｍ０１」であるＪＰＥＧエンジンＭ１の使用料金「￥５，５００」と、ミドルウェアＩＤが「ｍ０２」であるＭＰＥＧエンジンＭ２の使用料金「￥８，９００」とを含む、総計「￥８８，０００」のミドルウェアＭの使用料金が課金される例が示されている。
【００３７】
そして、課金装置２０のＣＰＵ２１は、作成した支払テーブルＴ３に基づいて、各々のアプリ製作者に対してミドルウェアＭの使用料金を課金するための課金手続処理を行う（図７のステップＳＢ１６０）。具体的に説明すると、課金装置２０のＣＰＵ２１は、まず支払テーブルＴ３においてアプリ製作者ＩＤによって識別されるアプリ製作者の課金情報Ｃを、記憶部２５に記憶されている課金情報Ｃから特定する。そして、ＣＰＵ２１は、各々のアプリ製作者毎に、各ミドルウェアＭの使用料金を総計した金額を、アプリ製作者の会社名、銀行口座又はクレジットカード番号を含む課金情報Ｃとともに、決済システム３０に通知して決済処理を依頼する。例えば、アプリ製作者ＩＤが「００１」であるアプリ製作者については、各ミドルウェアＭの使用料金を総計した「￥８８，０００」が、そのアプリ製作者の会社名、銀行口座又はクレジットカード番号などを含む課金情報Ｃとともに、決済システム３０に通知される。
【００３８】
決済システム３０は、課金装置２０によって行われた課金手続処理に応じて、通知された金額を、通知された銀行口座から引き落とす、又は、通知されたクレジットカード番号に基づいて引き落とすなどの決済処理を行う（ステップＳＢ１７０）。これにより、例えばアプリ製作者ＩＤが「００１」であるアプリ製作者の銀行口座又はクレジットカード会社からは、ミドルウェアＭの使用料金として「￥８８，０００」が引き落とされる。引き落とされた金額は、課金装置２０の管理者によってミドルウェアＭの製作者に渡される。なお、課金装置２０の管理者自身がミドルウェアＭの製作者であれば、引き落とされた金額をそのまま受け取ればよい。
【００３９】
以上説明した実施形態によれば、ミドルウェアＭと、そのミドルウェアＭに処理を依頼するアプリケーションプログラムＡとを実行した場合において、ミドルウェアＭの実行の程度に応じた使用料金を、アプリケーションプログラムＡの製作者に課金することができる。
【００４０】
［変形例］
以上が実施形態の説明であるが、この実施形態の内容は以下のように変形し得る。また、以下の各変形例を適宜組み合わせてもよい。
【００４１】
（１）上述した実施形態において、ミドルウェアＭの実行の程度を表す情報として、実行履歴テーブルＴ１のミドルウェアＭの実行回数を用いたが、これ以外にも、例えばＣＰＵ４１がアプリケーションプログラムＡからの依頼に応じてミドルウェアＭを実行したときの処理に要する時間、又はその処理で扱ったデータのデータ量のうち少なくともいずれか１つであってもよい。その場合、移動通信端末４０からは、ＣＰＵ４１がアプリケーションプログラムＡからの依頼に応じてミドルウェアＭを実行したときの処理に要する時間、又はその処理で扱ったデータ量と、ミドルウェアＩＤと、アプリＩＤとが課金装置２０に送信される。そして、課金装置２０のＣＰＵ２１は、移動通信端末４０から送信されてきた各々のミドルウェアＩＤに対応付けられている、アプリケーションプログラムＡからの依頼に応じてミドルウェアＭを実行したときの処理に要する時間、又はその処理で扱ったデータ量を、アプリＩＤ毎に累算し、その累算結果に応じたミドルウェアＭの使用料金を算出する。この構成であっても、上述した実施形態と同様の効果が得られる。
【００４２】
（２）上述した実施形態では、アプリ製作者にミドルウェアＭの実行の程度に応じた使用料金を課金する処理までを行っていた。これに対し、課金装置２０が、さらにアプリ製作者から支払われた使用料金を、ミドルウェアＭの製作者に対して入金する処理を行ってもよい。詳細に説明すると、課金装置２０のＣＰＵ２１は、まず支払テーブルＴ３において各アプリＩＤに対応付けられているアプリ製作者によって支払われる使用料金を、ミドルウェアＩＤ毎に総計する。続いて、ＣＰＵ２１は、ミドルウェアＩＤと、そのミドルウェアＩＤによって識別されるミドルウェアＭを制作したミドルウェア製作者を識別するミドルウェア製作者ＩＤと、各アプリ製作者によって支払われる使用料金と、アプリ製作者によって支払われる使用料金の総計とを対応付けた入金テーブルＴ４を作成する。
【００４３】
図１１は、このようにして作成された入金テーブルＴ４を示す図である。図に示す入金テーブルＴ４では、ミドルウェアＩＤが「ｍ０１」であるＪＰＥＧエンジンＭ１を制作した、ミドルウェア製作者ＩＤが「０００１」であるミドルウェア製作者に、アプリＩＤが「ａ０１」であるメールソフトウェアＡ１を制作したアプリ製作者から支払われる「￥５，５００」を含む総計「￥３４，９００」の使用料金が入金される例が示されている。そして、課金装置２０のＣＰＵ２１は、作成した入金テーブルＴ４に基づいて、各々のミドルウェア製作者に対して使用料金を総計した金額を入金するための入金手続処理を行う。決済システム３０は、課金装置２０によって行われた入金手続処理に応じて、通知された金額を、通知された銀行口座に振り込むなどの決済処理を行う。なお、この入金管理テーブルにおける使用料金から課金装置２０の管理者の手数料を差し引いた額を、実際の入金額としても良い。
この構成によれば、ミドルウェアＭと、そのミドルウェアＭに処理を依頼するアプリケーションプログラムＡとを実行した場合において、ミドルウェアＭの実行の程度に応じた使用料金をアプリケーションプログラムＡの製作者に課金するだけではなく、アプリケーションプログラムＡの製作者から支払われた使用料金をミドルウェアＭの製作者に入金することができる。
【００４４】
（３）上述した実施形態では、ミドルウェアＭと、そのミドルウェアＭに処理を依頼するアプリケーションプログラムＡとを実行した場合において、ミドルウェアＭの実行の程度に応じた使用料金を、アプリケーションプログラムＡの製作者に課金していたが、ミドルウェアＭの使用料金を課金する対象は、アプリケーションプログラムＡの製作者に限定しない。例えば、アプリケーションプログラムＡの販売者であってもよいし、そのような業務を代行する者であってもよい。
同様にして、上述した変形例において、ミドルウェアＭの使用料金を入金する対象は、例えばミドルウェアＭの販売者であってもよいし、そのような業務を代行するものであってもよい。
【００４５】
（４）上述した実施形態では、ミドルウェアＭの実行回数の累算結果に応じてミドルウェアＭの使用料金が算出されていた。これに対し、実行回数の累積結果に応じて使用料金が算出される対象は、ミドルウェアＭと呼ばれるものに限らず、ＣＰＵ４１が実行する他のプログラム（第２のプログラム）から処理を依頼され、その依頼に応じて処理を行ってその処理結果を上記の他のプログラムから引き渡すプログラムであればよい。
【００４６】
（５）上述した実施形態において、ミドルウェアＭは、移動通信端末４０のＲＯＭ４２に格納されていたが、これに限らない。例えば、ミドルウェアＭが、ＥＥＰＲＯＭ４４に記憶されたものであっても構わない。同様にして、アプリケーションプログラムＡは、移動通信端末４０のＥＥＰＲＯＭ４４に記憶されたものに限らず、例えばＲＯＭ４２に記憶されたものであってもよい。
【００４７】
（６）上述した実施形態において、課金装置２０は、ミドルウェアＭの実行回数の累算結果に基づいて、支払いテーブルを作成し、課金手続処理を行っていた。これに対し、この課金装置２０に替えて、ミドルウェアＭの実行回数を累算し、その累算結果を出力する実行履歴累算装置を設けてもよい。この累算結果の出力は、例えば累算結果を表示部４６に表示させてもよいし、印刷装置に出力して、累算結果をプリントさせてもよい。その場合には、実行履歴累算装置の管理者が、実行履歴累算装置から出力された累算結果に応じてミドルウェアＭの使用料金を算出し、アプリ製作者に請求する。
【図面の簡単な説明】
【００４８】
【図１】課金システム１の全体構成を概略的に示す図である。
【図２】課金装置２０の構成を示すブロック図である。
【図３】移動通信端末４０の構成を示すブロック図である。
【図４】実行履歴テーブルＴ１の一例を示す図である。
【図５】移動通信端末４０に実現される各部の論理的構成を示す図である。
【図６】実行履歴テーブルＴ１の更新処理を示すフロー図である。
【図７】課金システム１における課金処理を示すシーケンス図である。
【図８】課金装置２０における集計処理を示すフロー図である。
【図９】集計テーブルＴ２を示す図である。
【図１０】支払テーブルＴ３を示す図である。
【図１１】入金テーブルＴ４を示す図である。
【符号の説明】
【００４９】
１…課金システム、１０…移動通信網、２０…課金装置、２１，４１…ＣＰＵ、２２，４２…ＲＯＭ、２３，４３…ＲＡＭ、２４…通信部、２５…記憶部、３０…決済システム、４０，４０ａ，４０ｂ…移動通信端末、４４…ＥＥＰＲＯＭ、４５…無線通信部、４６…表示部、４７…操作部、４８…音声入出力部。 
【図１】
0005030801.tif 000002
【図２】
0005030801.tif 000003
【図３】
0005030801.tif 000004
【図４】
0005030801.tif 000005
【図５】
0005030801.tif 000006
【図６】
0005030801.tif 000007
【図７】
0005030801.tif 000008
【図８】
0005030801.tif 000009
【図９】
0005030801.tif 000010
【図１０】
0005030801.tif 000011
【図１１】
0005030801.tif 000012