情報配信サーバシステム、情報配信方法及び記録媒体
【課題】アプリケーションをより確実に認証し、より安全性の高いアプリケーション配信・実行環境を提供する。
【解決手段】ダウンロード要求に対応して発行されたダウンロードIDを用いて、携帯電話機用WWWサーバ50側で、アプリケーションの認証を行う。また、ダウンロードIDに加えて、利用者IDやアプリケーションID、さらにダウンロード日時を用いることにより、さらに、認証の確実性が向上する。
【解決手段】ダウンロード要求に対応して発行されたダウンロードIDを用いて、携帯電話機用WWWサーバ50側で、アプリケーションの認証を行う。また、ダウンロードIDに加えて、利用者IDやアプリケーションID、さらにダウンロード日時を用いることにより、さらに、認証の確実性が向上する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報配信サーバシステム、情報配信方法及び記録媒体に関する。
【背景技術】
【0002】
携帯電話機の高機能化が急速に進んでいる。
最近では、より本格的なアプリケーション動作環境を携帯電話機に導入しようという提案がなされている。例えば、Java(登録商標)プログラミング言語で記述されたアプリケーションを実行させる環境であるジャババーチャルマシンを携帯電話機に実装する計画がある。これが実現すれば、今まで以上に様々なアプリケーションを携帯電話機上で動作させることが可能となる。
このような環境の変化は、携帯電話機が、これまでは単なる入出力のみをつかさどっていた端末から、利用者が必要とする様々なアプリケーションをインストールし、かつ、それを利用することが出来る情報処理端末へと変貌することを意味している。即ち、その情報処理能力や表現能力はまだ劣るものの、今まではパーソナルコンピュータでしか処理できなかったことが携帯電話機でも処理できるようになる。
【0003】
このような携帯電話機向けのJava(登録商標)アプリケーションは下記のような特徴を有すると考えられる。
(1)携帯電話機は、パーソナルコンピュータと比較して携帯性に富む一方、少メモリ容量、低いデータ処理能力、少ない通信帯域、遅い通信スピード等のデメリットを有している。これらのデメリットにより、携帯電話機向けのアプリケーションのコードサイズは、パーソナルコンピュータ向けのそれに比べると、はるかに小さくなる。そのため、アプリケーション自体の機能だけで所期の目的を果たすというよりも、サーバ等の外部機能をも最大限活用して処理を行うことが予想される。
(2)パーソナルコンピュータ向けのアプリケーションは、主として、実行の度にサーバからパーソナルコンピュータにダウンロードされる。一方、携帯電話機を用いた場合、ダウンロードに要する通信時間や通信コストのほか、利用者の操作負担等を考慮すると、携帯電話機向けのアプリケーションは、携帯電話機の不揮発性メモリに保存された後に利用されるケースが多くなることが予想される。
(3)携帯電話機のユーザインタフェースが貧弱であることを考慮すると、利用者は、様々なアプリケーション配信サイトを使い分けるより、ある特定のアプリケーション配信サイトを通じて様々なアプリケーションを取得する傾向が強くなり、これに伴い、アプリケーション配信サイト側も多くのアプリケーション提供者による複数のアプリケーションを取り扱うことが予想される。
(4)Java(登録商標)アプレットのサンドボックスモデルに代表されるように、アプリケーションのセキュリティ管理ポリシーは、ダウンロード元のサーバとしか通信できないという方向に向かうことが予想される。
以上に述べたようなことを鑑みると、携帯電話機向けアプリケーションについては次のように認証処理が必要になると考えられる。
【0004】
例えば、複数のアプリケーション提供者による複数のアプリケーションが1つのサーバから配信されている場合、クライアント側のアプリケーションと、サーバ側でそのアプリケーションとの通信インタフェース機能を司るサーバ側プロセスとはセットになっている。サーバ側プロセスは、リクエストをサーバ側に送信してきたアプリケーションが確かに自身とセットになっているアプリケーションかどうかを確認することにより、アプリケーションを認証する。
例えば、利用者のスケジュール情報やアドレス帳等の各種データを管理するアプリケーションを想定した場合、そのアプリケーションが、各種データの内容をサーバに問い合わせると、これに応じてサーバ側プロセスは、利用者個人の認証を行うと共に、自身とセットになっているアプリケーションかどうかを確認する必要がある。
【0005】
また、例えば、複数のアプリケーション提供者による、複数のアプリケーションが1つのサーバから配信されている場合、これら複数のアプリケーションが共有可能なサーバ側の機能インターフェースプロセスが必要とされる。一例を挙げると、利用者が、自身が利用したアプリケーションに対しその実用度に応じたポイント数を投票するとサーバ側のテーブルに登録できるような場合、各アプリケーションはそのテーブルを共有できるようになっており、このポイント登録機能が機能インターフェースプロセスに相当する。この場合、機能インターフェースプロセスは、どのアプリケーションからの投票リクエストであるかを認識しておく必要がある。
あるいは、共通インタフェースプロセスの共有度が、アプリケーション単位で制限されているような場合がある、例えば、アプリケーションが利用者の個人情報に関わるようなデータにアクセスするようなケースである。このような場合、特定のアプリケーションに対してのみ特定の機能がオープンされるので、機能インタフェースプロセスは、どのアプリケーションからのリクエストであるかを認識しておく必要がある。
【特許文献1】特開2000−236576号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
このようなアプリケーション認証の必要性に対し、従来は、次のような手法が採用されていた。
例えば、クライアント側のアプリケーションがサーバ側にアプリケーション識別情報を通知し、これによりサーバ側は、アプリケーションを識別していた。また、利用者がクライアント側でアプリケーションを選択し、これをサーバ側に通知することによって、サーバ側でのアプリケーション認証を可能としていた。
しかしながら、いずれの手法を用いても、サーバ側では、アプリケーション側の動作を信用するしかなく、不正なアプリケーションが他のアプリケーションになりすましたり、利用者が故意あるいは誤って別のアプリケーションを指定するようなケースには、アプリケーションの認証を行うことができなかった。
【0007】
また、認証局の証明の下に、暗号化やデジタル認証を利用してアプリケーション認証を行う手法も存在する。
この場合、携帯電話機でのデジタル認証への対応が必要であるが、その機能を携帯電話機に実装するための負担は大きい。また、認証局に対するコストの発生という問題もある。
【0008】
本発明では、上述したような背景の下、アプリケーションをより確実に認証し、より安全性の高いアプリケーション配信・実行環境を提供することを目的とする。
【課題を解決するための手段】
【0009】
上述した課題を解決するため、本発明は、インターネット及び無線通信網を介してダウンロードしたアプリケーションを利用することができる無線携帯端末に対し、当該無線携帯端末からのダウンロード要求に応じて前記アプリケーションを配信する情報配信サーバシステムにおいて、前記無線携帯端末の利用者に関する情報を記憶するための利用者情報テーブルと、前記アプリケーションの提供者に関する情報を記憶する提供者情報テーブルと、前記利用者情報テーブルに記憶されている各利用者が一定期間に支払うべき一定額の利用料金の支払い状況を管理するための支払状況管理テーブルと、前記アプリケーションが利用されている利用状況を検出する検出部と、前記検出された利用状況を記憶する利用状況管理テーブルと、前記支払状況管理テーブルによって把握される利用料金の総合計金額と前記利用状況管理テーブルに記憶されている利用状況とに基づいて、前記提供者情報テーブルに記憶されている各提供者に対して支払うべきライセンス金額をそれぞれ演算出力する演算部とを有することを特徴とする情報配信サーバシステムを提供する
【0010】
上記情報配信サーバシステムにおいて、前記検出部は、前記アプリケーションの利用状況を各アプリケーション毎に検出し、これにより、前記利用状況管理テーブルは、前記アプリケーションの利用状況を各アプリケーション毎に記憶しており、前記演算部は、前記支払状況管理テーブルによって把握される利用料金の総合計金額の一部を、前記提供者に支払うべきライセンス金額金の総合計金額として割り当てる割当部と、各アプリケーションの提供者に対して支払うべきライセンス金額を、前記割り当てたライセンス金額金の総合計金額の中から、前記利用状況管理テーブルに記憶されている利用状況に応じてそれぞれ配分出力する配分部とを有していてもよい。
【0011】
また、上記情報配信サーバシステムにおいて、前記検出部は、前記アプリケーションの利用状況を各利用者ごとに検出し、これにより、前記利用状況管理テーブルは、前記アプリケーションの利用状況を各利用者毎に記憶しており、前記演算部は、前記利用者が支払った前記利用料金の一部を、当該利用者から前記アプリケーションの提供者に対して支払うべきライセンス金額として割り当てる割当部と、前記各利用者から前記提供者に支払うべきライセンス金額を、前記割り当てられたライセンス金額の中から前記利用状況管理テーブルに記憶されている利用状況に応じて配分出力する配分部と、前記提供者のそれぞれに支払うべきライセンス金額を、全ての前記利用者に対応して前記配分出力されたライセンス金額を前記提供者毎に合計することによって算出する算出部とを有してもよい。
【0012】
また、上記情報配信サーバシステムにおいて、前記検出部は、一定期間における前記アプリケーションのダウンロード回数をカウントし、これにより前記利用状況管理テーブルは、前記カウントされたダウンロード数を利用状況として記憶しており、前記演算部は、前記利用状況管理テーブルに記憶されているダウンロード回数に応じて前記ライセンス金額を演算するようにしてもよい。
【0013】
また、上記情報配信サーバシステムにおいて、前記検出部は、前記無線携帯端末における前記アプリケーションの実行時間を検出し、これにより前記利用状況管理テーブルは、前記検出された実行時間を利用状況として記憶しており、前記演算部は、前記利用状況管理テーブルに記憶されている実行時間に応じて前記ライセンス金額を演算するようにしてもよい。この場合、前記検出部は、前記無線携帯端末から通知される、前記アプリケーションの起動通知および終了通知をそれぞれ受信した時刻の差分を前記実行時間とみなすようにしてもよい。
【0014】
また、上記情報配信サーバシステムにおいて、前記検出部は、前記無線携帯端末における前記アプリケーションの起動回数を検出し、これにより前記利用状況管理テーブルは、前記検出された起動回数を利用状況として記憶しており、前記演算部は、前記利用状況管理テーブルに記憶されている起動回数に応じて前記ライセンス金額を演算するようにしてもよい。
【0015】
また、上記情報配信サーバシステムにおいて、前記検出部は、前記利用者により前記アプリケーションに対して投票されたポイント数をカウントし、これにより前記利用状況管理テーブルは、前記カウントされたポイント数を利用状況として記憶しており、前記演算部は、前記利用状況管理テーブルに記憶されているポイント数に応じて前記ライセンス金額を演算するようにしてもよい。この場合、前記利用者が一定期間に入力できる前記ポイント数の合計に上限値を設け、前記上限値以上のポイント数は利用状況として無効化する無効化部を有するようにしてもよい。
さらに、前記利用者がポイント投票可能なアプリケーションを把握する把握部と、前記把握しているアプリケーションIDを前記利用者からの要求に応じて前記利用者が使用する所定の端末に提供する提供部とを有するようにしてもよい。そして、さらに、前記把握部は、前記利用者がポイント投票可能なアプリケーションとして、一定期間内に当該利用者によってダウンロードされたアプリケーションを把握するようにしてもよいし、また、前記把握部は、前記利用者がポイント投票可能なアプリケーションとして、一定期間内に当該利用者によって起動されたアプリケーションを把握するようにしてもよいし、また、前記把握部は、前記利用者がポイント投票可能な前記アプリケーションとして、一定期間内に当該利用者によってポイント投票されたアプリケーションを把握するようにしてもよい。
【0016】
また、前記検出部は、前記利用者によって投票された、一定期間における前記アプリケーション毎のポイント数を受信することにより、前記利用状況を検出し、前記受信したポイント数に含まれるポイントが、所定のポイント入力有効期間内に前記利用者によってダウンロードされたアプリケーションに対するポイント、所定のポイント入力有効期間内に前記利用者によって起動されたアプリケーションに対するポイント、又は、所定のポイント入力有効期間内に前記利用者によって投票されたアプリケーションに対するポイントのうち少なくともいずれか1つに該当する場合にのみ、前記利用者は前記アプリケーションにポイント投票可能であると判断する判断部を有するようにしてもよい。
【0017】
また、前記利用者に対し前記ポイントの投票対象となる前記アプリケーションを選択させる選択部と、前記選択されたアプリケーションへのポイント投票の可否を前記利用者毎に判別する判別部と、前記選択された前記アプリケーションが前記利用者にとってポイント入力できないアプリケーションであると判別された場合、前記利用者が使用する所定の端末にエラーメッセージを含むデータを送信するエラー送信部とを有するようにしてもよい。
【0018】
また、上記情報配信サーバシステムにおいて、前記検出部は、一定期間における前記アプリケーションのダウンロード回数、前記無線携帯端末における前記アプリケーションの起動回数、前記無線携帯端末における前記アプリケーションの実行時間、又は、前記利用者により前記アプリケーションに対して投票されたポイント数のうち少なくともいずれか2つを検出し、前記利用状況管理テーブルは、前記検出された少なくとも2つの検出値をパラメータとして記憶しており、前記演算部は、前記利用状況検出された少なくとも2つのパラメータを組み合わせた所定の計算式に基づいて前記ライセンス金額を演算するようにしてもよい。
【0019】
また、上記情報配信サーバシステムにおいて、無線通信網を経由することなく、直接、前記インターネットに接続可能なインターネット端末との間でデータ通信を行う通信部と、インターネット端末から前記通信部を介した要求に応じて、前記アプリケーションを検索し、少なくとも前記アプリケーションのアプリケーション名と当該アプリケーションの内容説明を含む検索結果を前記通信部を介して前記インターネット端末に出力する検索出力部とを有するようにしてもよい。この場合、前記インターネット端末からの要求に応じて、前記アプリケーションを前記無線携帯端末にダウンロードするために必要なアドレス情報を含む電子メールを生成し、当該無線携帯端末に送信するメール送信部を有するようにしてもよい。
また、前記検索出力部によって出力された検索結果を前記インターネット端末上で表示するための画面に、前記利用者の前記無線携帯端末に電子メールを送るための所定のボタンを配置させるデータを含めて画面データを生成する画面生成部を有し、前記メール送信部は、前記利用者による前記ボタンの入力操作を検出し、この検出に応じて前記検索結果が示すアプリケーションを前記無線携帯端末にダウンロードさせるためのURLを含む電子メールを生成し、当該無線携帯端末に送信するようにしてもよい。
【0020】
また、上記情報配信サーバシステムにおいて、請求項1に記載の情報配信サーバシステムにおいて、前記演算部により演算された前記ライセンス金額が所定の金額以上である場合にのみ、前記提供者に支払い可能なライセンス金額として出力する可能支払額出力部を有するようにしてもよい。この場合、前記可能支払額出力部は、一定期間にわたって前記演算部により演算された前記ライセンス金額を合計する合計部と、前記合計されたライセンス金額が所定の金額以上である場合にのみ支払い可能なライセンス金額として出力する出力部とを有するようにしてもよい。
【0021】
また、上記情報配信サーバシステムにおいて、前記支払状況管理テーブルには、各利用者ごとの支払状況が記憶されているようにしてもよい。
また、上記情報配信サーバシステムにおいて、前記支払状況管理テーブルには、各利用者が支払った利用料金の総計が記憶されているようにしてもよい。
また、上記情報配信サーバシステムにおいて、前記利用料金は、全ての利用者について一定額であるようにしてもよい。
また、上記情報配信サーバシステムにおいて、前記利用料金は、所定の基準によって分けられた利用者グループについて一定額であるようにしてもよい。
また、上記情報配信サーバシステムにおいて、前記検出部は、一定期間における前記アプリケーションのダウンロード回数をカウントし、これにより前記利用状況管理テーブルは、前記カウントされたダウンロード数を利用状況として利用者毎に記憶しており、各利用者について一定期間にカウントされた前記ダウンロード数が所定の上限回数を越えた場合、当該利用者がダウンロードを行うことを禁止する禁止制御部を有するようにしてもよい。
【0022】
また、上記情報配信サーバシステムにおいて、前記検出部は、一定期間における前記アプリケーションの実行時間を検出し、これにより前記利用状況管理テーブルは、前記検出された実行時間を利用状況として利用者毎に記憶しており、各利用者について一定期間に検出された前記実行時間が所定の上限時間を越えた場合、当該利用者の携帯電話機10が前記アプリケーションをダウンロードすること、若しくは、当該利用者の携帯電話機10が前記アプリケーションを実行することの少なくともいずれか一方を禁止する禁止制御部を有するようにしてもよい。
また、上記情報配信サーバシステムにおいて、前記検出部は、一定期間における前記アプリケーションの起動回数をカウントし、これにより前記利用状況管理テーブルは、前記カウントされた起動回数を利用状況として利用者毎に記憶しており、各利用者について一定期間に検出された前記起動回数が所定の上限回数を越えた場合、当該利用者の携帯電話機が前記アプリケーションをダウンロードすること、若しくは、当該利用者の携帯電話機10が前記アプリケーションを実行することの少なくともいずれか一方を禁止する禁止制御部を有するようにしてもよい。
【0023】
また、前記アプリケーションは、前記利用者がポイント投票を行うことが可能なポイント入力インタフェースを前記無線携帯端末上に表示させるプログラムを含み、前記検出部は、前記無線携帯端末が前記アプリケーションを実行することにより当該端末に表示される前記ポイント入力インタフェース上で前記利用者によって入力されたポイント数を前記インターネットを介して受信することにより、前記利用状況を検出するようにしてもよい。この場合、前記検出部は、前記利用者によって投票された、一定期間における前記アプリケーション毎のポイント数を受信することにより、前記利用状況を検出し、前記受信したポイント数に含まれるポイントが、所定のポイント入力有効期間内に前記利用者によってダウンロードされたアプリケーションに対するポイント、所定のポイント入力有効期間内に前記利用者によって起動されたアプリケーションに対するポイント、所定のポイント入力有効期間内に前記利用者によって投票されたアプリケーションに対するポイント、又は、前記アプリケーションに対応するポイント入力インターフェースを通じて入力されたポイントのうち少なくともいずれか1つに該当する場合にのみ、前記利用者は前記アプリケーションにポイント投票可能であると判断する判断部を有するようにしてもよい。
【0024】
また、上記情報配信サーバシステムにおいて、前記無線携帯端末にダウンロードされたアプリケーションと通信を行うことが可能な複数のサーバアプリケーションを記憶するサーバアプリケーション記憶部と、複数の前記サーバアプリケーションが共有でアクセス可能な共有データベースと、記サーバアプリケーション毎にアクセス可能な前記共有データベースのテーブルエリアを限定する限定部とを有するようにしてもよい。
また、上記情報配信サーバシステムにおいて、前記無線携帯端末にダウンロードされたアプリケーションと通信を行うことが可能な複数のサーバアプリケーションを記憶するサーバアプリケーション記憶部と、複数の前記サーバアプリケーションが共有でアクセス可能な共有データベースと、記アプリケーションの提供者毎にアクセス可能な前記共有データベースのテーブルエリアを限定する限定部とを有するようにしてもよい。
また、上記情報配信サーバシステムにおいて、前記無線携帯端末にダウンロードされたアプリケーションと通信可能なサーバアプリケーションを記憶するサーバアプリケーション記憶部と、前記利用者情報テーブルに保存されているデータにアクセス可能な共有プロセスインターフェースとを有し、前記サーバアプリケーションは、前記共有プロセスインターフェースを利用して、前記利用者情報テーブルにアクセスするようにしてもよい。
【0025】
また、本発明は、インターネット及び無線通信網を介してダウンロードしたアプリケーションを利用することができる無線携帯端末に対し、当該無線携帯端末からのダウンロード要求に応じて前記アプリケーションを配信する情報配信方法において、前記無線携帯端末の利用者が一定期間に支払うべき一定額の利用料金の支払い状況を記憶する利用料金記憶ステップと、前記アプリケーションが利用されている利用状況を検出する検出ステップと、前記検出された利用状況を記憶する利用状況記憶ステップと、前記記憶されている利用料金の総合計金額と前記記憶されている利用状況とに基づいて前記提供者情報テーブルに記憶されている各提供者に対して支払うべきライセンス金額をそれぞれ演算出力する演算ステップとを有することを特徴とする情報配信方法を提供する。
【0026】
上記情報配信方法において、前記検出ステップは、前記アプリケーションの利用状況を各アプリケーション毎に検出し、前記利用状況記憶ステップは、前記アプリケーションの利用状況を各アプリケーション毎に記憶しており、前記演算ステップは、前記記憶されている利用料金の総合計金額の一部を、前記提供者に支払うべきライセンス金額金の総合計金額として割り当てるステップと、各アプリケーションの提供者に対して支払うべきライセンス金額を、前記割り当てたライセンス金額金の総合計金額の中から、前記記憶されている利用状況に応じてそれぞれ配分出力するステップとからなるようにしてもよい。
【0027】
また、上記情報配信方法において、前記検出ステップは、前記アプリケーションの利用状況を各利用者ごとに検出し、前記利用状況記憶ステップは、前記アプリケーションの利用状況を各利用者毎に記憶しており、前記演算ステップは、前記利用者が支払った前記利用料金の一部を、当該利用者から前記アプリケーションの提供者に対して支払うべきライセンス金額として割り当てるステップと、前記各利用者から前記提供者に支払うべきライセンス金額を、前記割り当てられたライセンス金額の中から前記記憶されている利用状況に応じて配分出力するステップと、前記提供者のそれぞれに支払うべきライセンス金額を、全ての前記利用者に対応して前記配分出力されたライセンス金額を前記提供者毎に合計することによって算出するステップとからなるようにしてもよい。
【0028】
また、本発明は、上記記載の情報配信方法をコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記録媒体を提供する。
【発明を実施するための最良の形態】
【0029】
以下、図面を参照して、この発明の実施形態について説明する。ただし、本発明は、かかる実施形態に限定されず、その技術思想の範囲内で種々の変更が可能である。
A:構成
(1)ネットワークの全体構成
図1は、実施形態に係るシステムの全体構成を示すブロック図である。同図に示すように、このシステムは、利用者端末群1、提供者端末群2、移動パケット通信網3、インターネット4及びサーバ群5から大略構成される。
このシステムは全体としてコンテンツの流通を促す環境を提供するものであり、具体的には、提供者端末群2からサーバ群5に対し各種アプリケーションがアップロードされ、利用者端末群1からのリクエストに応じて上記アプリケーションがダウンロードされるようになっている。
この実施形態では、「アプリケーション」として特にJava(登録商標)プログラミング言語で記述された「アプレット」と呼ばれるコンピュータプログラムを例に挙げて説明するが、これに限定されることはなく、ネットワーク上でやり取り可能なデータであればこのアプリケーションの概念に含まれる。
【0030】
以下、このシステムの各構成要素について詳細に説明する。
利用者端末群1は、月々一定額の利用料金を支払うことによりサーバ群5に登録されている各種アプリケーションをダウンロードして利用できる権利を購入する利用者によって操作される端末群であり、携帯電話機10やパーソナルコンピュータ11からなる。
携帯電話機10は、図示せぬ移動電話網の通話サービスを受けるほか、移動パケット通信網3の基地局31との間で無線通信を行って無線データ通信を行う。
移動パケット通信網3は、通信サービスエリアに分散配置された基地局31、パケット交換サービスを行う交換局32、及びこれらを結ぶ通信線からなる。この移動パケット通信網3は、ゲートウェイ33を介してインターネット4に接続されており、この異なる2つのネットワーク間において双方向のデータ通信が可能となっている。携帯電話機10は、この移動パケット通信網3及びインターネット4を介して、サーバ群5から各アプリケーションをダウンロードすることが可能である。
パーソナルコンピュータ11は、図示せぬインターネット接続業者(プロバイダ)を介してインターネット4に通信接続可能なコンピュータである。利用者は、このコンピュータ11を操作してサーバ群5にアクセスし、アプリケーション検索サービスを受けることができる。
【0031】
提供者端末群2は、各種アプリケーションの提供者によって操作される端末群であり、パーソナルコンピュータ20を含む。
パーソナルコンピュータ12は、上述したパーソナルコンピュータ11と同様に、図示せぬインターネット接続業者(プロバイダ)を介してインターネット4に通信接続可能なコンピュータである。ここで提供者とは、各アプリケーションのライセンスを保持した者を指し、利用者が支払った利用料金の一部をアプリケーションの対価(以下ライセンス金額と呼ぶ)として受け取る権利を有する。
これらの携帯電話機10、パーソナルコンピュータ11及びパーソナルコンピュータ20は、実際にはもっと多数存在しており、このシステムはより多くの利用者や提供者に対するサービスが可能となっている。なお、以下では、パーソナルコンピュータをPCと略称する。
【0032】
サーバ群5は、ルータ6を介してインターネット4に接続されており、提供者端末群2からアップロードされたアプリケーションを携帯電話機10に配信するための専用サイトを運営・管理するための各種サーバからなる。
図1に示すように、このサーバ群5は、携帯電話機用WWW(World Wide Web)サーバ50、パーソナルコンピュータ用WWWサーバ51、DNS(Domain Name System)サーバ52、SMTP(Simple Mail Transfer Protocol)サーバ53、データベースサーバ54、集計サーバ55、管理者コンソール56、ファイヤウォールサーバ57、及びこれらを相互に接続する高速デジタル回線58からなる。
【0033】
携帯電話機用WWWサーバ50は、携帯電話機10に対して、携帯電話機専用のWWWページを提供したり、アプリケーションを配信するサーバである。
PC用WWWサーバ51は、PC11やPC21に対して、PC専用のWWWページを提供するサーバである。
DNSサーバ52は、インターネット4上の各ノードに割り当てられたホスト名とIP(Internet Protocol)アドレスとを対応付けて保持し、これらを相互に変換するサービスを行う周知のサーバである。
SMTPサーバ53は、SMTPをサポートする周知のメールサーバである。
データベースサーバ54は、アップロードされた各種アプリケーションや、後述するような各種テーブルを記憶する大容量記憶装置を備えたサーバである。
集計サーバ55は、データベースサーバ54が記憶している各種テーブルを用いて、コンテンツの利用状況や、その利用状況に応じたライセンス金額の計算等を行うサーバである。
管理者コンソール56は、サーバ群5の管理者によって操作されるコンピュータであり、これによりサーバ群5を構成する各種サーバのメンテナンスがなされる。
ファイヤウォールサーバ57は、外部ネットワークからの不正アクセスを排除する機能を司る周知のサーバである。
【0034】
(2)携帯電話機10の構成
次に、携帯電話機10の構成について説明する。
まず、図2を参照しながら、携帯電話機10のハードウェア構成について説明する。同図に示すように、携帯電話機10は、CPU(Central Processing Unit)100、ROM(Read Only Memory)101、RAM(Random Access Memory)102、SRAM(Static Random Access Memory)103、データ入出力部104、無線処理部105、音声処理部106、スピーカ107、マイクロホン108、キーパッド109、LCD(Liquid Crystal Display)110が接続されてなる。
ROM101には種々の制御プログラム等が格納されており、CPU100は、この制御プログラムを読み出して各種制御処理を実行する。その際、RAM102はCPU100のワークエリア等として用いられる。ROM101内の制御プログラムには、携帯電話機10の基本動作をサポートするファームウェアの他、ブラウザや後述する各種アプリケーションが含まれる。SRAM103は、携帯電話機用WWWサーバ50から提供されるページをキャッシュしたり、このサーバ50からダウンロードしたアプリケーションを記憶する。
無線処理部105は、図示せぬ周波数シンセサイザ、増幅器、変復調回路等からなり、アンテナ105−1を介して送受信される信号に対しフレーム同期・分離や誤り検出・訂正処理等を実行することにより、回線交換によって伝送される信号と、パケット交換によって伝送される信号とにそれぞれ対応した処理を行う。無線処理部105によって処理されるデータは、データ入出力部104を介してCPU100に入出力される。
音声処理部106は、スピーカ107及びマイクロホン108に接続され、音声信号に対して所定の処理を施す。
キーパッド109は、利用者が各種操作を行うための入力インタフェースであり、LCD110は各種情報を表示するための表示インタフェースである。
【0035】
次に、図3を参照しながら、携帯電話機10のプロセス構成について説明する。同図に示すように、プロセス構成の最下層は、携帯電話機10のハードウェア制御に関するキーインタフェース部KI、画面インターフェース部DI、データ通信ドライバDD、スピーカ・マイク制御部SM、メモリインタフェースMIによって構成される。
その上層は、ファームウェアFWによって構成され、このファームウェアにより携帯電話機10の基本的な処理がサポートされる。
さらに、その上層はジャババーチャルマシンJVM、ブラウザBS、電話機能部TS、設定部SSによって構成されており、ジャババーチャルマシンJVMの上層にはジャバアプレットAAPが構成される。
ジャバアプレットAPPは、Java(登録商標)によって記述されたアプリケーションであり、携帯電話機用WWWサーバ50から携帯電話機10にダウンロードされ、ジャババーチャルマシンJVM上で実行される。
【0036】
(3)携帯電話機用WWWサーバの構成
次に、携帯電話機用WWWサーバ50の構成について説明する。
この携帯電話機用WWWサーバ50は、周知のサーバマシンと同様のハードウェア構成であり、図示せぬCPU、ROM、RAM、ハードディスク装置、通信インタフェース等がバス接続されてなる。
図4は、携帯電話機用WWWサーバ50のプロセス構成を示す模式図である。同図に示すように、最下層の各種インターフェースから上層に向かって順に、OS(Operating System)、WWWサーバ、Webアプリケーションプログラムによって構成されている。
【0037】
(4)データベースサーバの構成
データベースサーバ54は、前述のとおり、様々な情報をテーブル形式で保持しており、これらの情報はこのシステムによる運営・管理のために利用されるようになっている。
以下、データベースサーバ54内の各種テーブルに登録されている内容について詳細に説明する。
【0038】
図5は、提供者マスタテーブルLMT(提供者情報テーブル)の登録内容を一例を示す図である。
同図に示すように、このテーブルLMTには、提供者名、提供者ID、登録日及び銀行口座、といった各種提供者情報がそれぞれ対応付けられて登録されている。提供者名とは、提供者がこのサーバ群5に届け出た名称である。提供者IDとは、各提供者を識別するためのIDである。登録日とは、提供者が、これら提供者情報をサーバ群5に登録した西暦年月日を意味する。銀行口座とは、提供者が開設している銀行口座であり、これが提供者が受け取るべきライセンス金額の振込先口座となる。
この提供者マスタテーブルLMTは、主として、提供者から要求に応じてライセンス金額やアプリケーションの利用状況を検索する処理(後述する)や、ライセンス金額の振り込み処理を行う際に利用される。
【0039】
図6は、アプリケーション登録マスタテーブルASTの登録内容の一例を示す図である。
同図に示すように、このテーブルASTには、アプリケーションID、提供者ID、アプリケーション名、サーバ名、ディレクトリ、ダウンロードファイル名、DBアクセスパスワード、説明文、ヘルプファイル及びキャプチャファイルといった各種情報が登録されている。
アプリケーションIDとは、各アプリケーションを識別するために割り当てられたIDである。提供者IDとは前述のとおりである。アプリケーション名とはアプリケーションの名称である。サーバ名とは、アプリケーションが格納されているサーバのホスト名であり、ディレクトリとは、アプリケーションが格納されているサーバ内のディレクトリ名であり、ダウンロードファイル名とは、格納されているサーバ内でのファイル名である。サーバ群5から携帯電話機10アプリケーションをダウンロードする際には、これらサーバ名、ディレクトリ、ダウンロードファイル名を指定してなされる。
次に、DBアクセスパスワードとは、提供者が各アプリケーションに関する情報についてデータベースサーバ54を検索する際に用いられるパスワードである。また、説明文とは、利用者に対しアプリケーションの内容を説明するための文章であり、例えば、利用者によるアプリケーション検索時やダウンロード時にPC11や携帯電話機10上に表示される。
ヘルプファイルとは、そのようなアプリケーション検索時やダウンロード時において利用者に対して提供されるヘルプ情報が格納されたファイル名であり、キャプチャファイルとは、利用者に視覚的にアプリケーションの内容を表示するための画像情報が格納されたファイル名である。
このアプリケーション登録マスタテーブルASTは、主として、利用者によるアプリケーションの検索時やダウンロード時のほか、提供者によるライセンス金額や利用状況の検索時に利用される。
【0040】
図7は、アプリケーションアクセス管理テーブルAAT(限定部、共有プロセスインタフェース)の登録内容の一例を示す図である。
同図に示すように、このテーブルAATには、アプリケーションID及びテーブル名が登録されている。このテーブル名は、アプリケーションが実行される際に、そのアプリケーションがアクセス可能なテーブルの名称を意味している。例えば、アプリケーションID「56789」が示すアプリケーション(ゲームソフトとする)は、ハイスコアを登録するための図示せぬハイスコアテーブルにアクセス可能であること、即ち、アプリケーションID「56789」が示すアプリケーションはハイスコア登録が可能であることを意味する。
このように、各アプリケーションごとにアクセス可能なテーブルが定義されていることにより、不正なアプリケーションによるアクセスを防止することができる。
【0041】
図8は、アプリケーション統計テーブルATTの登録内容の一例を示す図である。
同図に示すように、このテーブルATTには、アプリケーションID、対象年月、ダウンロード数、起動回数、実行時間、投票ポイント数、ライセンス金額及びライセンス金額支払フラグが登録されている。
このテーブルは、各アプリケーションの利用状況を把握するためのものであり、対象年月とは、その利用状況が把握される対象となる期間を意味する。
ダウンロード数とは、対象年月が示す期間にアプリケーションが携帯電話機10にダウンロードされた回数を意味する。
起動回数とは、対象年月が示す期間にアプリケーションが携帯電話機10上で起動された回数を意味する。
実行時間とは、対象年月が示す期間にアプリケーションが携帯電話機10上で実行された時間を意味する。
各利用者は自身が利用したアプリケーションに対して、その実用度や面白さに応じてポイントを投票することが可能となっており、投票ポイント数とは、その投票されたポイント数を意味している。
ライセンス金額は、提供者がアプリケーションの対価として受け取るべき金額であり、アプリケーションの利用状況に応じて後述する計算式に基づいて算出される。
ライセンス金額支払フラグとは、算出されたライセンス金額が既に提供者に支払われたか否かを示すフラグ情報である。
【0042】
図9は、利用者マスタテーブルUMTの登録内容の一例を示す図である。
同図に示すように、このテーブルUMTには、利用者名、利用者ID、パスワード、クレジットカード番号、入会日、退会日、電話番号、携帯電話機メールアドレス及びPCメールアドレスといった利用者情報が登録されている。
利用者名は、利用者の名称であり、利用者IDは各利用者を識別するために割り当てられたIDである。パスワードは、利用者がこのサーバ群5にログインする等のために必要なものであり、前述の利用者IDとこのパスワードによって利用者認証がなされる。
クレジットカード番号は、利用者が使用するクレジットカードの契約番号であり、このクレジットカード番号が示すクレジット契約を用いて利用料金の徴収がなされる。
入会日は、利用者がこのサービスに入会した西暦年月日であり、退会日は、利用者がこのサービスから退会した西暦年月日である。
電話番号は、利用者の電話番号であり、携帯電話機メールアドレスは、利用者によって所持され、各種アプリケーションをダウンロードするための携帯電話機10に割り当てられたメールアドレスである。また、PCメールアドレスは、利用者によって用いられるPC11に割り当てられたメールアドレスである。
このテーブルUMTは、例えば、利用者のログイン時や、利用者へのメール送信時等に用いられる。
【0043】
図10は、最終起動日時保存テーブルLRTの登録内容の一例を示す図である。
同図に示すように、このテーブルLRTには、利用者ID、アプリケーションID及び最終起動日時が登録されている。アプリケーションが携帯電話機10上で起動される際には、その起動通知が携帯電話機10から携帯電話機用WWWサーバ50に送信され、これに応じて、最終起動日時が最終起動日時保存テーブルLRT上に登録されるようになっている。
前述したポイント投票は、利用者が過去一定期間においてダウンロードや起動したアプリケーションに限定されており、このテーブルLRTは、利用者がポイント投票可能なアプリケーションを抽出する際に用いられる。
【0044】
図11は、利用者アクセス保存テーブルUATの登録内容の一例を示す図である。
同図に示すように、このテーブルUATには、利用者ID、アプリケーションID、対象年月、ダウンロード数、起動回数、実行期間及び投票ポイント数が登録されている。
ダウンロード数とは、対象年月が示す期間に、対応する利用者が、対応するアプリケーションを携帯電話機10にダウンロードした回数を意味する。
起動回数とは、対象年月が示す期間に、対応する利用者が、対応するアプリケーションが携帯電話機10上で起動した回数を意味する。
実行時間とは、対象年月が示す期間に、対応する利用者が、対応するアプリケーションを携帯電話機10上で実行した時間を意味する。
投票ポイント数とは、対象年月が示す期間に、対応する利用者が、対応するアプリケーションに対して投票したポイント数を意味している。
即ち、このテーブルUATは、アプリケーションの利用状況を把握するために用いられ、このテーブルUATに登録されている情報に基づいてアプリケーションを利用状況が把握され、その結果として提供者に支払うべきライセンス金額が定まるようになっている。
【0045】
図12は、利用者入金管理テーブルUPTの登録内容の一例を示す図である。
同図に示すように、このテーブルUMTには、利用者ID、対象年月及び入金フラグが登録されている。入金フラグは、利用者からの利用料金の支払があったか否かを示すフラグ情報である。
サーバ群5は、この利用者入金テーブルUPTを用いて、利用者による利用料金の支払を管理する。
【0046】
図13は、ダウンロードID管理テーブルDITの登録内容の一例を示す図である。
同図に示すように、このテーブルDITには、利用者ID、ダウンロード日時、アプリケーションID及びダウンロードIDが登録されている。
ダウンロードIDは、携帯電話機10からのダウンロード要求毎に毎回ユニークに発行されるIDであり、このテーブルDITには、発行された全てのダウンロードIDが記憶されている。このダウンロードIDは、後述するように、不正なアプリケーションを排除するために用いられる。
【0047】
図14は、最終ダウンロード管理テーブルLDTの登録内容の一例を示す図である。
同図に示すように、このテーブルLDTには、利用者ID、アプリケーションID及び最終ダウンロード日時が登録されている。このテーブルLDTも、テーブルLRTと同様に、利用者がポイント投票可能なアプリケーションを抽出する際に用いられる。
【0048】
B:動作
次に、上記構成からなる実施形の動作について説明する。
以下では、アプリケーションとして「アプレット」を処理対象とし、(1)アプレットの検索、(2)アプレットのダウンロード、(3)アプレットの実行、(4)アプレットのポイント投票、(5)ライセンス金額の算出、(6)提供者による各種検索、の順に動作説明を行う。
【0049】
(1)アプレットの検索
利用者は、PC11を操作することによりサーバ群5にアクセスし、所望のアプレットを検索することができる。
図15〜16は、アプレット検索時のPC11及びPC用WWWサーバ51の動作を示すシーケンス図であり、図17は、その際にPC11上に表示される画面の一例を示す図である。
図15において、まず、利用者は、PC11を操作してブラウザを起動し、PC用WWWサーバ51が保持するトップページのURL(ここでは「http://www-p.techfirm.co.jp/index.html」とする)を入力する。PC11はこの操作を受けつける(ステップSa1)。この際、URLの入力に限らず、別のページ上のアンカーからのジャンプであってもよいことはもちろんである。
【0050】
次いで、PC11は、トップページにアクセスするためのリクエストをインターネット4に送出する(ステップSa2)。このリクエストは、同図に示すように、GETメソッドにより指定された「http://www-p.techfirm.co.jp/index.html」からなる文字列を含む。
【0051】
PC用WWWサーバ51は、インターネット4を介して、上記リクエスト信号を受信すると、リクエストURI(Uniform Resource Identifier)によって指定されているトップページをハードディスクから読み出し(ステップSa3)、これをPC11に送信する(ステップSa4)。
【0052】
PC11は、上記トップページを受信すると、これを解釈して表示部に表示する(ステップSa5)。ここで表示されるページは、PC用WWWサーバ51にログインするためのページであり、例えば図17(a)に示すように所定フィールド内に利用者IDとパスワードの入力を促すメッセージが表示されている。
【0053】
利用者が、利用者IDとパスワードを入力し、ログインを指示する操作を行うと、PC11は、ログインを要求するリクエストをPC用WWWサーバ51に送信する(ステップSa6)。例えば、利用者ID「10000」、パスワード「9999」が入力された場合、このリクエストには、GETメソッドにより指定された「http://www-p.techfirm.co.jp/cgi-bin/login.cgi?id=10000&pw=9999」からなる文字列が含まれる。
【0054】
PC用WWWサーバ51は、上記リクエストに応じてlogin.cgiに対応するCGI(Common Gateway Interface)を起動し、データベースサーバ54内の利用者マスタテーブルUMTを参照し、受信した利用者ID「10000」及びパスワード「9999」の組が正しい組であるか否かを判断する(ステップSa7)。
【0055】
この判断の結果、組が正しければ、PC用WWWサーバ51は、次なるエントランスページを構成して、PC11に返信する(ステップSa8)。一方、この判断の結果、組が正しくなければ、所定のエラー画面を構成して、PC11に返信することになる。
以降、PC11及びPC用WWWサーバ51間で実行される各セッションをPC用WWWサーバ51側で管理するために、PC11からPC用WWWサーバ51に送信されるデータには利用者IDを示す文字列「id=10000」が埋め込まれるようになっている。
【0056】
さて、PC11はエントランスページを受信すると、これを解釈して表示部に表示する(ステップSa9)。ここで表示されるページには、図17(b)に示すようにサイトの概略説明や各種メニューが列記されている。
【0057】
利用者がアプレット検索を行うためには同図(b)に示す「ライブラリ」ボタンをクリックすればよく、このクリック操作に応じて、PC11は、ライブラリサービスを要求するためのリクエストをPC用WWWサーバ51に送信する(ステップSa10)。このリクエストには、GETメソッドにより指定された「http://www-p.techfirm.co.jp/cgi-bin/lib.cgi?id=10000」からなる文字列が含まれる。
【0058】
PC用WWWサーバ51は、上記リクエストに応じてlib.cgiを起動してライブラリページを構成し(ステップSa11)、これをPC11に返信する(ステップSa12)。
【0059】
PC11はライブラリページを受信すると、これを解釈して表示部に表示する(ステップSa13)。ここで表示されるライブラリページは、図17(c)に示すように検索対象のアプレットをカテゴリー別に選択するためのページである。ここでは、例えば利用者は、同図に示す「ゲーム」のボタンをクリックしてこれを選択したとする。
【0060】
このクリック操作に応じて、PC11は、ゲームのアプレットのリストページを要求するためのリクエストをPC用WWWサーバ51に送信する(ステップSa14)。このリクエストには、GETメソッドにより指定された「http://www-p.techfirm.co.jp/cgi-bin/lib-game.cgi?id=10000&page1」からなる文字列が含まれる。
【0061】
PC用WWWサーバ51は、上記リクエストに応じてlib-game.cgiを起動してゲームリストページの1ページ目を構成し(ステップSa15)、これをPC11に送信する(ステップSa16)。
【0062】
PC11はゲームリストページの1ページ目を受信すると、これを解釈して表示部に表示する(ステップSa17)。ここで表示されるページには、図17(d)に示すように各種ゲームのタイトル名が列記されている。ここでは、利用者は同図(d)に示すタイトル名「drops」をクリックして選択したとする。なお、ゲームリストページは、1ページのみによって構成されるわけではなく、複数ページにわたって構成される場合も当然ありえる。この場合、利用者が図17(d)に示されている「次へ」をクリックすることにより、「http://www-p.techfirm.co.jp/cgi-bin/lib-game.cgi?id=10000&page2」という文字列を含むリクエストがPC11からPC用WWWサーバ51に送信されて、ゲームリストの2ページ目が提供される。このように、リクエストURIの最後尾が「pageN」と表記されることにより、ゲームリストのNページ目が提供されるようになっている。
【0063】
さて、上記クリック操作に応じて、PC11は、「drops」のゲーム説明を要求するためのリクエストをPC用WWWサーバ51に送信する(ステップSa18)。このリクエストには、GETメソッドにより指定された「http://www-p.techfirm.co.jp/cgi-bin/expl.cgi?id=10000&app=56789」からなる文字列が含まれる。ここで、「app=56789」は「drops」に割り当てられたアプリケーションIDを意味する。
【0064】
PC用WWWサーバ51は、上記リクエストに応じてexpl.cgiを起動して「drops」ゲームの説明ページを構成し(ステップSa19)、これをPC11に送信する(ステップSa20)。この際、PC用WWWサーバ51は、データベースサーバ54内のアプリケーション登録マスタテーブルASTを参照して、指定されたアプレットに対応する説明文やキャプチャファイル等を参照して、説明ページを構成する。
【0065】
PC11は説明ページを受信すると、これを解釈して表示部に表示する(ステップSa21)。ここで表示されるページには、図17(e)に示すように「drops」の内容を説明する説明文と、そのゲームが行われている様子を動画で視覚的に表現したキャプチャが含まれている。
【0066】
利用者は、これらの説明を参照し、このゲームを自身の携帯電話機10にダウンロードさせる意思があれば、同図(e)に示す「URLメール」ボタンをクリックする。
このクリック操作に応じて、PC11は、「drops」を携帯電話機10にダウンロードさせるためのアクセスURLを、この携帯電話機10に送信してもらうことを要求するリクエストをPC用WWWサーバ51に送信する(ステップSa22)。このリクエストには、GETメソッドにより指定された「http://www-p.techfirm.co.jp/cgi-bin/urlmail.cgi?id=10000&app=56789」からなる文字列が含まれる。
【0067】
PC用WWWサーバ51は、上記リクエストに応じてurlmail.cgiを起動して携帯電話機10に割り当てられているメールアドレスを宛先とし、上記リクエストによって指定されたゲームソフト「drops」へのアクセスURL(http://www-c.techfirm.co.jp/cgi-bin/expl.cgi?id=10000&app=56789)を記述した電子メールを生成し、これを送信する(ステップSa23)。この際、宛先となる携帯電話機10のメールアドレスは、利用者マスタテーブルUMTを参照することにより把握できる。
【0068】
そして、このメール送信が完了すると、PC用WWWサーバ51は、完了通知ページを生成し、これをPC11に送信する(ステップSa24)。
PC11は完了通知ページを受信すると、これを解釈して表示部に表示し(ステップSa25)、同図に示す処理は終了する。
【0069】
さて、アクセスURLが書き込まれた電子メールを受信した携帯電話機10は、自身のメールブラウザ上で、メール上のアクセスURLを選択すると、直接、そのURLが示すサイトへジャンプすることができる。これにより、利用者は携帯電話機10では入力する事が煩わしいURLをわざわざ入力する必要がなくなる。また、複雑な検索オペレーションを携帯電話機10上で行う必要もなくなり、利用者にとっては非常に便利である。
【0070】
(2)アプレットのダウンロード
次に、アプレットのダウンロード処理について説明する。
図18〜図20は、アプレットダウンロード時の携帯電話機10及び携帯電話機用WWWサーバ50の動作を示すシーケンス図であり、図21はこの際、携帯電話機10のLCD111に表示される画面の一例を示す図である。
図18において、まず、利用者は、携帯電話機10を操作してブラウザを起動し、携帯電話機用WWWサーバ50が保持するトップページのURL(ここでは「http://www-c.techfirm.co.jp/index.html」とする)を入力する。これに応じて、携帯電話機10は上記入力操作を受けつける(ステップSb1)。この際、URLの入力に限らず、別のページ上のアンカーからのジャンプであってもよいことはもちろんである。
【0071】
次いで、携帯電話機10は、上記トップページにアクセスするためのリクエストをインターネット4に送出する(ステップSb2)。このリクエストは、同図に示すように、GETメソッドにより指定された「http://www-c.techfirm.co.jp/index.html」からなる文字列を含む。
【0072】
携帯電話機用WWWサーバ50は、インターネット4を介して、上記リクエストを受信すると、リクエストURIによって指定されているページをハードディスクから読み出し(ステップSb3)、これを携帯電話機10に返信する(ステップSb4)。
【0073】
携帯電話機10は、上記ページを受信すると、これを解釈してLCD111に表示する(ステップSb5)。ここで表示されるトップページは、携帯電話機用WWWサーバ50が提供するサービスに入会若しくはログインするためのページであり、例えば図21(a)に示すような構成となっている。
【0074】
利用者が同図(a)に示す「ログイン」を選択操作すると、携帯電話機10は、ログインを要求するリクエストを携帯電話機用WWWサーバ50に送信する(ステップSb6)。このリクエストは、同図に示すように、GETメソッドにより指定された「http://www-c.techfirm.co.jp/login.html」からなる文字列を含む。
【0075】
携帯電話機用WWWサーバ50は、上記リクエストを受信すると、リクエストURIによって指定されているログインページをハードディスクから読み出し(ステップSb7)、これを携帯電話機10に返信する(ステップSb8)。
【0076】
携帯電話機10は、ログインページを受信すると、これを解釈してLCD111に表示する(ステップSb9)。ここで表示されるログインページは、例えば図21(b)に示すような構成となっており、所定フィールド内に利用者IDとパスワードの入力を促すメッセージが表示されている。
【0077】
利用者が、利用者IDとパスワードを入力し、ログインを指示する操作を行うと、携帯電話機10は、ログインを要求するリクエストを携帯電話機用WWWサーバ50に送信する(ステップSb10)。例えば、利用者ID「10000」、パスワード「9999」が入力された場合、このリクエストにはGETメソッドにより指定された「http://www-c.techfirm.co.jp/cgi-bin/start.cgi?id=10000&pw=9999」からなる文字列が含まれる。
【0078】
携帯電話機用WWWサーバ50は、上記リクエストに応じてstart.cgiを起動してデータベースサーバ54内の利用者マスタテーブルUMTを参照し、受信した利用者ID「10000」及びパスワード「9999」の組が正しい組であるか否かを判断する(ステップSb11)。
【0079】
この判断の結果、組が正しければ、携帯電話機用WWWサーバ50は、次なるメニューページを構成して、携帯電話機10に返信する(ステップSb12)。一方、この判断の結果、組が正しくなければ、所定のエラー画面を構成して、携帯電話機10に返信することになる。
以降、携帯電話機10及び携帯電話機用WWWサーバ50間で実行される各セッションを携帯電話機用WWWサーバ50側で管理するために、携帯電話機10から携帯電話機用WWWサーバ50に送信されるデータには利用者IDを示す「id=10000」が埋め込まれるようになっている。
【0080】
さて、携帯電話機10はメニューページを受信すると、これを解釈してLCD111に表示する(ステップSb13)。ここで表示されるページには、図21(c)に示すように各種メニューが列記されている。
【0081】
利用者がアプレットをダウンロードするためには同図(c)に示す「ライブラリ」ボタンを選択すればよく、この選択操作に応じて、携帯電話機10は、ライブラリページを要求するためのリクエストを携帯電話機用WWWサーバ50に送信する(ステップSb14)。このリクエストには、GETメソッドにより指定された「http://www-c.techfirm.co.jp/cgi-bin/libtop.cgi?id=10000」からなる文字列が含まれる。
【0082】
携帯電話機用WWWサーバ50は、上記リクエストに応じてlibtop.cgiを起動してライブラリページを構成し(ステップSb15)、これを携帯電話機10に返信する(ステップSb16)。
【0083】
携帯電話機10はライブラリページを受信すると、これを解釈してLCD111に表示する(ステップSb17)。ここで表示されるライブラリページは、図21(d)に示すようにデータベースサーバ54が保存しているアプレットをカテゴリー別に選択するためのページである。ここでは、例えば利用者は、同図に示す「ゲーム」を選択したとする。
【0084】
この選択操作に応じて、携帯電話機10は、ゲームリストページを要求するためのリクエストを携帯電話機用WWWサーバ50に送信する(ステップSb18)。このリクエストには、GETメソッドにより指定された「http://www-c.techfirm.co.jp/cgi-bin/lib-game.cgi?id=10000&page1」からなる文字列が含まれる。
【0085】
携帯電話機用WWWサーバ50は、上記リクエストに応じてlib-game.cgiを起動してゲームリストページの1ページ目を構成し(ステップSb19)、これを携帯電話機10に送信する(ステップSb20)。
【0086】
携帯電話機10はゲームリストページの1ページ目を受信すると、これを解釈してLCD111に表示する(ステップSb21)。ここで表示されるページには、図21(e)に示すように各種ゲームのタイトル名が列記されている。ここでは、利用者は同図(e)に示すタイトル名「drops」を選択したとする。なお、ゲームリストページは、1ページのみによって構成されるわけではなく、複数ページにわたって構成される場合も当然ありえる。この場合、利用者が図21(e)に示されている「次へ」を選択することにより、「http://www-c.techfirm.co.jp/cgi-bin/lib-game.cgi?id=10000&page2」という文字列を含むリクエストが携帯電話機10から携帯電話機用WWWサーバ50に送信されて、ゲームリストの2ページ目が提供される。このように、リクエストURIの最後尾が「pageN」と表記されることにより、ゲームリストのNページ目が提供されるようになっている。
【0087】
さて、上記選択操作に応じて、携帯電話機10は、「drops」のゲーム説明を要求するためのリクエストを携帯電話機用WWWサーバ50に送信する(ステップSb22)。このリクエストには、GETメソッドにより指定された「http://www-p.techfirm.co.jp/cgi-bin/expl.cgi?id=10000&app=56789」からなる文字列が含まれる。ここで、「app=56789」は「drops」に割り当てられたアプリケーションIDを意味する。
【0088】
携帯電話機用WWWサーバ50は、上記リクエストに応じてexpl.cgiを起動して「drops」ゲームの説明ページを構成し(ステップSb23)、これを携帯電話機10に送信する(ステップSb24)。この際、携帯電話機用WWWサーバ50は、データベースサーバ54内のアプリケーション登録マスタテーブルASTを参照して、指定されたアプレットに対応する説明文やキャプチャファイル等を参照して、説明ページを構成する。
【0089】
さて、携帯電話機10は上記説明ページを受信すると、これを解釈してLCD111に表示する(ステップSb25)。ここで表示されるページには、図21(f)に示すように「drops」の内容を説明する説明文のほか、ダウンロード、使用法、画面キャプチャ等の各種操作を選択するためのボタンが表示されている。
【0090】
利用者は、これらの説明を参照し、このゲームを自身の携帯電話機10にダウンロードさせる意思があれば、図21(f)に示す「ダウンロード」を選択する。この選択操作に応じて、携帯電話機10は、「drops」を携帯電話機10にダウンロードするためのリクエストを携帯電話機用WWWサーバ50に送信する(ステップSb26)。このリクエストには、GETメソッドにより指定された「http://www-c.techfirm.co.jp/56789/dl.cgi?id=10000」からなる文字列が含まれる。
【0091】
携帯電話機用WWWサーバ50は、上記リクエストに応じてdl.cgiを起動し、「drops」に対応して用意しているダウンロード用HTMLデータを構成し(ステップSb27)、これを携帯電話機10に送信する(ステップSb28)。このダウンロード用のHTMLデータは、図22に示すような構成となっている。
図22において、「param」タグ指定のパラメータのうち、パラメータ「ID」は、携帯電話機用WWWサーバ50と通信する際に利用者を識別するために利用される。また、パラメータ「DLID」はダウンロードのためのデータを作成する際に毎回ユニークに発行され、後述するように、携帯電話機用WWWサーバ50が携帯電話機10側のアプリケーションと通信を行う際に、そのアプリケーションの正当性を確認するために利用される。
【0092】
携帯電話機10は、受信したHTMLデータの中から、「applet」タグを検出すると(ステップSb29)、「ARCHIVE」タグで指定されたJARファイルを取得するためのリクエストを携帯電話機用WWWサーバ50に送信する(ステップSb30)。このリクエストには、GETメソッドにより指定された「http://www-c.techfirm.co.jp/56789/drops.jar」からなる文字列が含まれる。
【0093】
携帯電話機用WWWサーバ50は、上記リクエストに応じて、ファイル名「drops.Jar」が示すJARファイルをデータベースサーバ54から読み出し(ステップSb31)、これを携帯電話機10に送信する(ステップSb32)。
【0094】
携帯電話機10は、JARファイルを受信し、これをSRAM104に書きこんでいく(ステップSb33)。
JARファイルの取得が完了すると、携帯電話機10は、上述したHTMLデータ内の「COMPLETE」で指定されたURLに対しダウンロードの完了を意味するリクエストを送信する(ステップSb34)。このリクエストにはGETメソッドにより指定された「http://www-c.techfirm.co.jp/cgibin/dlfinish.cgi?id=10000&app=56789&DLID=99887766」からなる文字列が含まれる。
また、これとともに、携帯電話機10は、JARファイルを取得完了すると、SRAM124内の所定の記憶エリアに、図22において「CODE」タグで指定され、アプレット起動時に最初に実行するクラス、実行されるアプレットが参照可能なものとして「param」タグで指定されたパラメータ、取得元のホスト名「game.techfirm.co.jp」を保存する。ダウンロードされたアプレットは、ジャババーチャルマシンJVMの制限によって、取得元のサーバ(ホスト名「game.techfirm.co.jp」)としか通信できないようになっている。
【0095】
さて、携帯電話機用WWWサーバ50は、上記リクエストに応じてdlfinish.cgiを起動することによりデータベースサーバ54にアクセスし、利用者アクセス保存テーブルUAT上で、利用者ID「10000」及びアプリケーションID「56789」に対応付けて、ダウンロードカウント値を1カウントインクリメントするほか、ダウンロードID管理テーブルDIT、最終ダウンロード管理テーブルLDT上にダウンロード日時等を書き込む(ステップSb35)。即ち、携帯電話機用WWWサーバ50は、前述したダウンロードID管理テーブルDIT上で、ダウンロードID、アプリケーションID及び利用者IDをセットで記憶しておく。
【0096】
そして、携帯電話機用WWWサーバ50は、携帯電話機10のアプリケーションからデータを受け取るときに、この携帯電話機10から上記3つのデータを組として受け取るようにすれば、上記ダウンロード管理テーブル上のデータと比較することにより、そのデータの送信元はWWWサーバ50自身が携帯電話機10にダウンロードさせた正当なアプリケーションであると認識する事が可能である。この仕組みによって、別の端末からあるいは不正アプリケーションによるデータ改竄やなりすましを防止することが可能になるといえる。
【0097】
そして、携帯電話機用WWWサーバ50は、ダウンロード処理がすべて完了した旨のOKメッセージを生成し、これを携帯電話機10に送信する(ステップSb36)。
携帯電話機10は上記メッセージを受信すると、これを解釈してLCD111に表示し(ステップSb37)、同図に示す処理は終了する。
【0098】
(3)アプレットの実行
次に、アプレットの実行処理について説明する。
図23〜24は、アプレット実行時の携帯電話機10及び携帯電話機用WWWサーバ50の動作を示すシーケンス図であり、図25はこの際、携帯電話機10のLCD111に表示される画面の一例を示す図である。
図23において、まず、利用者は、携帯電話機10を操作し、ダウンロード済のアプレットのリストをSRAM124から読み出してLCD111に表示させる(ステップSc1)。ここで表示されるアプレットのリストは、例えば図25(a)に示すような構成となっており、ダウンロードしたアプレット名が列記されている。
【0099】
ここで、例えば利用者が図25(a)に示す「drops」を選択すると、LCD111の表示は図25(b)に示すような画面に遷移し、選択したアプレットを起動するか否かを利用者に問い合わせるメッセージが表示される(ステップSc2)。
【0100】
図25(b)上で利用者が「OK」を選択すると、携帯電話機10は、ジャババーチャルマシンJVMを起動し、最初に呼び出すクラスである「drops.class」を指定する(ステップSc3)。
【0101】
そして、携帯電話機10は、アプレット起動を通知するためのリクエストを携帯電話機用WWWサーバ50に送信する(ステップSc4)。このリクエストは、同図に示すように、GETメソッドにより指定された「http://game.techfirm.co.jp/start.cgi?id=10000&app=56789&DLID=99887766」からなる文字列を含む。
ここで、前述したように携帯電話機用WWWサーバ50と携帯電話機10側のアプリケーションとの間における通信の正当性を確認するため、上記リクエストには、ダウンロードIDを示す「DLID=99887766」、アプリケーションIDを示す「app=56789」、及び利用者IDを示す「id=10000」が含まれている。
【0102】
さて、携帯電話機用WWWサーバ50は、上記リクエストを受信するとstart.cgiを起動し、データベースサーバ54内のダウンロードIDテーブルDITを参照して、上述のダウンロードID、アプリケーションID及び利用者IDの組が正しい組であるか否かを判断する。
次いで、携帯電話機用WWWサーバ50は、利用者アクセス保存テーブルUAT上で、受信した利用者ID「id=10000」及びアプリケーションID「app=56789」に対応する起動回数を1カウントだけインクリメントするとともに、最終起動日時保存テーブルLRT上で、利用者ID「id=10000」及びアプリケーションID「app=56789」に対応する最終起動日時を書き込む(ステップSc5)。
【0103】
そして、携帯電話機用WWWサーバ50は、起動を承認した旨のOKメッセージを生成し、携帯電話機10に返信する(ステップSc6)。
【0104】
この通知に応じて、携帯電話機10は、「drops」ゲームのアプレットを実行する(ステップSc7)。この際の携帯電話機10のLCD111の表示例を図25(c)に示す。
【0105】
さて、利用者が行っていたゲームが終了し、そのゲームスコアが自身の過去最高となるとハイスコア登録が可能となる。この登録処理は、利用者がゲーム終了画面上の図示せぬハイスコアボタンを選択することにより開始される(ステップSc8)。
【0106】
まず、携帯電話機10は、ハイスコア登録を要求するためのリクエストを携帯電話機用WWWサーバ50に送信する(ステップSc9)。このリクエストには、図に示すように、GETメソッドにより指定された「http://game.techfirm.co.jp/56789/highsc.cgi?id=10000&sc=12256000」からなる文字列が含まれる。ここで、「sc=12256000」は、スコアが12256000点であることを意味している。
【0107】
携帯電話機用WWWサーバ50は、上記リクエストに応じてhighsc.cgiを起動してデータベースサーバ54内の図示せぬハイスコアテーブルに指定されたスコアを登録する。ハイスコア登録処理が完了すると、携帯電話機用WWWサーバ50は、ハイスコア処理が完了した旨のOKメッセージを生成するとともに、利用者名「Tech」を取得する(ステップとSc10)。これらの処理の詳細は、図26に示すフローを用いて後述する。
【0108】
そして、携帯電話機WWWサーバ50は、上記OKメッセージと利用者とを携帯電話機10に送信する(ステップSc11)。
【0109】
携帯電話機10はOKメッセージと利用者名を受信すると、これを解釈して、図25(d)に示すように画面を表示する(ステップSc12)。この画面上で利用者によって「OK」が選択されると、LCD111上には元のゲーム画面が表示される。
【0110】
そして、利用者によりゲーム終了の操作がなされると、携帯電話機10はこれを受けつけ(ステップSc13)、アプレット終了を要求するためのリクエストを携帯電話機用WWWサーバ50に送信する(ステップSc14)。このリクエストには、図24に示すように、GETメソッドにより指定された「http://game.techfirm.co.jp/56789/exit.cgi?id=10000&app56789&DLID99887766」からなる文字列が含まれる。
【0111】
携帯電話機用WWWサーバ50は、exit.cgiを起動し、前述と同様に、ダウンロードIDを示す「DLID=99887766」、アプリケーションIDを示す「app=56789」、及び利用者IDを示す「id=10000」の組の正当性を確認した後、最終起動日時テーブルLRTを参照し、利用者ID「10000」がアプリケーションID「56789」を起動した時刻と、アプレットの終了リクエストを受け取った時刻との差、即ち、アプレットの実行時間を求め、これを利用者アクセス保存テーブルUAT上で利用者ID「10000」及びアプリケーションID「56789」に対応付けて登録する(ステップSc15)。
【0112】
そして、携帯電話機用WWWサーバ50は、処理がすべて完了した旨のOKメッセージを生成し、これを携帯電話機10に送信する(ステップSc16)。
【0113】
携帯電話機10は上記メッセージを受信すると、これに応じて自身のローカルメニューの表示状態に戻り(ステップSc17)、同図に示す処理は終了する。
【0114】
(4)ハイスコア登録処理
以下、前述したハイスコア登録処理について、図26に示すフローを用いて説明する。
前述したようにhighsc.cgiが起動されると、携帯電話機WWWサーバ50は、ハイスコアテーブルをオープンするためのオープンプロセスを行うためのパラメータを設定する(ステップSm1)。具体的には、アプリケーションID、アプリケーションパスワード及びテーブル名といった各種パラメータが設定される。ここで、アプリケーションパスワードとは、提供者に対し予め発行されたパスワードであり、highsc.cgiのコードに定義されている。また、テーブル名とは、オープン対象となるテーブル名であり、ここでは「highscore」である。
【0115】
次いで、指定されたテーブルのオープンプロセスがコールされ、処理はステップSn1に移る。ステップSn1では、設定されたパラメータのうち、アプリケーションIDとアプリケーションパスワードとが抽出され、これらが正当な組であるか否かが判断される(ステップSn1)。
【0116】
正当な組であると判断された場合には(ステップSn1;Yes)、アプリケーションアクセス管理テーブルAATが参照され、アプリケーションIDが示すアプリケーションがハイスコアテーブルにアクセス可能か否かが判断される(ステップSn2)。
【0117】
アクセス可能であれば、ハイスコアテーブルがオープンされ(ステップSn3)、これが成功すると(ステップSn4;Yes)、ハイスコアテーブルオープンに成功した旨を返す(ステップSn5)。
【0118】
オープンに成功した旨を受け取ると(ステップSm2)、そのハイスコアテーブル上で、利用者IDに対応してスコアとその日時とが登録される(ステップSm3)。
【0119】
そしてハイスコアテーブルはクローズされ(ステップSm6)、次いで、利用者名取得プロセスがコールされ、これに応じて、利用者名が取得される(ステップSm5)。この利用者名取得プロセスは、上述したハイスコアテーブルオープンプロセスと同様にしてなされる。
このようにして、利用者名を取得すると、前述したように、携帯電話機用WWWサーバ50から携帯電話機10に対して、OKメッセージと利用者名が返信される。
【0120】
通常、アプレットは、ダウンロード元のサーバとしか通信できないため、複数のアプレットで1つのサーバを共有する事になり、各アプリケーション間でのアクセス管理が問題になるが、上記のように各アプリケーション間でアクセスするエリアを排他的に制御することによって、その安全性が確保できる。また、利用者に関するデータのように、様々なアプリケーションによって利用され、またプライバシー保護が重視されるデータに関しては、そのアクセスのための共通のアプリケーションインターフェースをサーバが提供することによって、データの無駄を省くことができ、そしてプライバシーデータに対するセキュリティを向上させることができる。
【0121】
(5)ポイント投票
次に、ポイント投票処理について説明する。
図27は、ポイント投票時の携帯電話機10及び携帯電話機用WWWサーバ50の動作を示すシーケンス図であり、図28はこの際携帯電話機10のLCD111に表示される画面の一例を示す図である。
図27において、まず、利用者は、上述したアプレットダウンロード時の処理と同様に、携帯電話機10を操作してブラウザを起動し、パスワード等による認証を終えた後、携帯電話機用WWWサーバ50からメニューページを受信し、これを表示する(ステップSd1)。ここで表示されるページには、前述の図21(c)に示すように各種メニューが列記されている。
【0122】
ポイント投票サービスを受けるためには同図(c)に示す「投票」ボタンを選択すればよく、この選択操作に応じて、携帯電話機10は、投票リストページを要求するためのリクエストを携帯電話機用WWWサーバ50に送信する(ステップSd2)。このリクエストには、GETメソッドにより指定された「http://www-c.techfirm.co.jp/cgi-bin/votelist.cgi?id=10000&page=1」からなる文字列が含まれる。
【0123】
携帯電話機用WWWサーバ50は、上記リクエストに応じてvotelist.cgiを起動し、投票リストページを構成する(ステップSd3)。即ち、データベースサーバ54にアクセスして最終起動日時保存テーブルLRT、最終ダウンロード管理テーブルLDT及び利用者アクセス保存テーブルUATを参照し、利用者ID「10000」が示す利用者が、最後にダウンロードした月、若しくは最後に起動した月、もしくは最後に実行が終了した月、若しくは最後に投票した月が3ヶ月以内であるアプレットのアプリケーションIDを全て抽出すると共に、その利用者が現時点で投票できる投票可能ポイント数を取得し、これらを表示するためのリストページを構成する。この際、全てのデータを表示するためには複数ページに分割して構成するようにしてもよい。
なお、ここでは、所定期間において1人の利用者が投票可能なポイント数には上限が設けられており、ここでは、1人につき毎月、70ポイントの投票が可能であるとする。このような前提の下、図11に示す利用者アクセス管理テーブルUATを参照すると、利用者ID「10000」は今月(2000年6月)に既に合計40ポイントを投票しているので、今月の残り期間に投票可能なポイント数は残り30ポイントとなる。
【0124】
さて、携帯電話機用WWWサーバ50は、上述のようにして構成したリストページを携帯電話機10に送信する(ステップSd4)。
【0125】
携帯電話機10はリストページを受信すると、これを解釈してLCD111に表示する(ステップSd5)。ここで表示されるリストページには、図28(a)に示すように、投票可能ポイント数と、投票可能なアプレットのリストが表示される。ここでは、例えば利用者は、同図に示す「drops」のボタンを選択して、このアプレットに対する投票を行うものとする。
【0126】
この選択操作に応じて、携帯電話機10は、投票ページを要求するためのリクエストを携帯電話機用WWWサーバ50に送信する(ステップSd6)。このリクエストには、GETメソッドにより指定された「http://www-c.techfirm.co.jp/cgi-bin/voteinput.cgi?id=10000&app56789」からなる文字列が含まれる。携帯電話機用WWWサーバ50は、上記リクエストに応じてvoteinput.cgiを起動し、投票ページを構成する(ステップSd7)。即ち、利用者アクセス管理テーブルUATを参照することにより、利用者ID「10000」が指定したアプリケーション「56789」に対して今月、既に投票したポイント数を取得して、ポイント入力を行う入力フィールドを含んだページを構成する。
【0127】
そして、携帯電話機用WWWサーバ50は、構成した投票ページを携帯電話機10に送信する(ステップSd8)
【0128】
携帯電話機10は投票ページを受信すると、これを解釈してLCD111に表示する(ステップSd9)。ここで表示されるページは、図28(b)に示すように、今月において投票可能ポイント数「30ポイント」と、「drops」に対して今月既に投票したポイント数「10ポイント」と、ポイント入力を行うフィールドが表示されている。ここでは、利用者は同図(b)に示す入力フィールド内に「20」ポイントを入力し、「投票」ボタンを選択したとする。なお、「キャンセル」ボタンが選択されると、今までの操作はキャンセルされ、メニューページに戻る。
【0129】
上記選択操作に応じて、携帯電話機10は、「drops」に対するポイント投票を要求するためのリクエストを携帯電話機用WWWサーバ50に送信する(ステップSd10)。このリクエストにはGETメソッドで指定された「http://www-c.techfirm.co.jp/cgi-bin/vote.cgi?id=10000&app=56789&point=20」からなる文字列が含まれる。ここで、「point=20」は、今回投票するポイントが20ポイントであることを意味している。
【0130】
携帯電話機用WWWサーバ50は、上記リクエストに応じてvote.cgiを起動し、投票されたポイントをデータベースサーバ54に登録する(ステップSd11)。即ち、データベースサーバ54の利用者アクセス保存テーブルUATにアクセスして、利用者ID「10000」が指定したアプリケーションID「56789」の今月のポイント数「10ポイント」に、今回入力したポイント「20ポイント」を加算し、「30ポイント」として記憶する。なお、記憶する前に、利用者に入力されたポイントにより、今月の投票可能ポイントの上限値を超過していないかどうかを確認する。
【0131】
次いで、携帯電話機用WWWサーバ50は、処理がすべて完了した旨の完了通知ページを生成し、これを携帯電話機10に送信する(ステップSd12)。また、上記上限値を超えていれば、エラー画面を表示するページを構成して、これを携帯電話機10に送信する。
【0132】
携帯電話機10は完了通知ページを受信すると、これを解釈して図28(c)に示すような画面をLCD111に表示し(ステップSd13)、図27に示す処理は終了する。
【0133】
このように、利用者が一定期間に投票可能なポイント数に限度を設けたり、また、利用者が最近利用したアプリケーションにのみポイント投票を行うようにしているので、利用者が特定のアプリケーションに対してのみポイントを恣意的に投票するというような不正行為を排除できる。
【0134】
(6)ライセンス金額の計算
次に、集計サーバ55による各提供者に対するライセンス金額の計算について説明する。このライセンス金額の計算方法には大別して2つの方法があり、以下順番にこれらを説明する。
【0135】
図29は、第1の方法に従って集計サーバ55がライセンス金額を計算する動作を示すフローチャートである。
このライセンス金額の計算は、例えば1ヶ月毎や、半年毎というように所定の計算期間を単位として実行されるようになっている。ここでは1ヶ月を計算期間とし、その計算日を毎月末日とする。
【0136】
集計サーバ55は、図示せぬタイマを参照し、この計算日が到来したか否かを判断する(ステップSe1)。
このステップSe1の処理は計算日が到来するまで繰り返され(ステップSe1;No)、計算日が到来すると(ステップSe1;Yes)、ステップSe2に進む。
【0137】
集計サーバ55は、データベースサーバ54内の利用者入金管理テーブルUPTを参照し、対象となる計算期間内に全ての利用者から入金された利用料金の合計額を計算する(ステップSe2)。
【0138】
この利用料金の合計額のうち、一部が提供者に対しライセンス金額として支払われ、その残額がサーバ群5の管理者の利益となる。利用料金の合計額のうちどのくらいの割合が提供者に支払われるかは予め定められており、ここでは、30%とする。そこで、集計サーバ55は、ステップSe1で計算した利用料金の合計額に30%を乗ずることにより、ライセンス金額に充当可能な金額license-totalを計算する(ステップSe3)。例えば、ステップSe1で計算した利用料金の合計額が100万円の場合、ライセンス金額に充当可能なlicense-totalは30万円になる。
【0139】
次に、集計サーバ55は、データベースサーバ54の利用者アクセス保存テーブルUATを参照し、計算対象となる期間において全てのアプリケーションがダウンロードされたダウンロード数を抽出し、これらを合計値であるtotal-dlを算出する(ステップSe4)。例えば図11に示す利用者アクセス保存テーブルUATの場合、計算対象の月を「6月」とすると、対応するダウンロード数として「2」、「3」、「2」が抽出され、これらの合計値total-dlは「7」となる。
【0140】
続いて、集計サーバ55は、利用者アクセス保存テーブルUATを参照し、計算対象となる期間において全てのアプリケーションの起動回数を抽出し、これらの合計値であるtotal-launchを算出する(ステップSe5)。例えば、図11に示す利用者アクセス保存テーブルUATの場合、計算対象の月を「6月」とすると、対応する起動回数として「5」、「8」、「9」が抽出され、これらの合計値total-launchは「22」となる。
【0141】
次に、集計サーバ55は、利用者アクセス保存テーブルUATを参照し、計算対象となる期間において全てのアプリケーションの実行時間を抽出し、これらの合計値であるtotal-runを算出する(ステップSe6)。例えば、図11に示す利用者アクセス保存テーブルUATの場合、計算対象の月を「6月」とすると、対応する起動回数として「23(分)」、「40(分)」、「38(分)」が抽出され、これらの合計値total-runは「101(分)」となる。
【0142】
次に、集計サーバ55は、利用者アクセス保存テーブルUATを参照し、計算対象となる期間において全てのアプリケーションのポイント数を抽出し、これらの合計値であるtotal-pointを算出する(ステップSe7)。例えば、図11に示す利用者アクセス保存テーブルUATの場合、計算対象の月を「6月」とすると、対応するポイント数として「30」、「60」、「0」が抽出され、これらの合計値total-pointは「90」となる。
【0143】
以下の計算処理においては、各アプリケーション毎に順番にライセンス金額を計算していく。そこで、全てのアプリケーションについて計算が終了したか否かを判断し(ステップSe8)、していないと判断すると(ステップSe8;No)ステップSe9に進む。
【0144】
ステップSe9において、集計サーバ55は、ある特定のアプリケーション(例えばアプリケーションID「56789」とする)を対象として、そのアプリケーションの提供者に支払うべきライセンス金額license-feeを計算する。
この計算は、式1に示す計算式に従って行われる。
ライセンス金額license-fee
={(対象月における特定アプリケーションのダウンロード数/total-dl)×Rd
+(対象月における特定アプリケーションの起動回数/total-launch)×Rl
+(対象月における特定アプリケーションの実行時間/total-run)×Rr
+(対象月における特定アプリケーションのポイント数/total-point)×Rp}
×ライセンス充当可能金額total-license・・・式1
【0145】
ここで、Rd、Rl、Rr及びRpは、ライセンス金額を算出するにあたり、ダウンロード数、起動回数、実行時間及びポイント数に対して割り当てられた重み付けパラメータであり、Rd≧0、Rl≧0、Rr≧0、Rp≧0、 Rd+Rl+Rr+Rp=1という関係を満たしている。
【0146】
例えば、Rd=0.2、Rl=0.3、Rr=0.35、Rp=0.15と設定されている場合についての計算例を説明する。
上述したように、total-license=30万円、total-dl=7、total-launch=22、total-run=101、total-point=90である。また、利用者アクセス保存テーブルUATを参照すると、「対象月における特定アプリケーション(アプリケーションID56789、以下同じ)のダウンロード数」は「4」、「対象月における特定アプリケーションの起動回数」は「14」、「対象月における特定アプリケーションの実行時間」は「61(分)」、「対象月における特定アプリケーションのポイント数」は「30」であるから、これらをそれぞれ式1に代入して、license-feeを約16.70万円と算出することができる。
このような計算を各アプリケーションごとに実行し、すべてのアプリケーションについて実行完了すると(ステップSe8;Yes)、同図に示す処理は終了する。
【0147】
次に、図30は、第2の方法に従って集計サーバ55がライセンス金額を計算する動作を示すフローチャートである。
この第2の方法に従うライセンス金額の計算は、上述の第1の方法のように各アプリケーション毎に処理を実行していくのではなく、各利用者毎に処理を実行していく。
【0148】
まず、集計サーバ55は、図示せぬタイマを参照し、計算日が到来したか否かを判断する(ステップSf1)。
このステップSf1の処理は計算日が到来するまで繰り返され(ステップSf1;No)、計算日が到来すると(ステップSe1;Yes)、ステップSf2に進む。
【0149】
以下では各利用者毎にライセンス金額を計算していくので、、全ての利用者について処理が終了したか否かを判断し、していないと判断すると(ステップSf2;No)、ステップSf3に進む。
【0150】
ステップSf3において、集計サーバ55は、ある特定の利用者(例えば利用者ID「10000」とする)を対象とし、利用者入金管理テーブルUPTを参照し、その利用者の対象月の利用料金が入金されているか否かを判断する。
ここで入金されていないと判断されると(ステップSf3;No)、ステップSf2に戻り、処理対象の利用者を変えて同じ処理を行う。
【0151】
一方、入金されていると判断されると(ステップSf3;Yes)、処理はステップSf4に進む。
【0152】
ステップSf4において、集計サーバ55は、利用者が対象月に支払った一定額の利用料金に、例えば30%を乗ずることにより、1人の利用料金の中から充当可能なライセンス金額u-license-totalを計算する。
【0153】
次に、集計サーバ55は、データベースサーバ54の利用者アクセス保存テーブルUATを参照し、計算対象となる期間において利用者ID「10000」の利用者がダウンロードした総回数u-total-dlを算出する(ステップSf5)。
【0154】
続いて、集計サーバ55は、利用者アクセス保存テーブルUATを参照し、計算対象となる期間において利用者ID「10000」の利用者の起動回数の総計u-total-launchを算出する(ステップSf6)。
【0155】
次に、集計サーバ55は、利用者アクセス保存テーブルUATを参照し、計算対象となる期間において利用者ID「10000」の利用者がアプリケーションを実行した実行時間の総計u-total-runを算出する(ステップSf7)。
【0156】
次に、集計サーバ55は、利用者アクセス保存テーブルUATを参照し、計算対象となる期間において利用者ID「10000」の利用者が投票したポイント数の総計total-point2を算出する(ステップSf8)。
【0157】
そして、集計サーバ55は、計算対象となる期間において利用者ID「10000」の利用者に対応する、ダウンロード数u-total-dl、起動回数u-total-launch、実行時間u-total-run、ポイント数u-total-pointの全てを算出したか否かを判断する(ステップSf9)。
【0158】
そして、集計サーバ55は、計算対象となる期間において利用者ID「10000」の利用者に対応する各アプリケーションに対するライセンス金額license-feeを計算する(ステップSf10)。
この計算は、式2に示す計算式に従って行われる。
ライセンス金額u-license-fee
={(対象月における特定利用者の特定アプリケーションのダウンロード数/u-total-dl)×Rd
+(対象月における特定利用者の特定アプリケーションの起動回数/u-total-launch)×Rl
+(対象月における特定利用者の特定アプリケーションの実行時間/u-total-run)×Rr
+(対象月における特定利用者の特定アプリケーションのポイント数/u-total-point)×Rp}
×ライセンス充当可能金額u-total-license・・・式2
【0159】
ここで、Rd、Rl、Rr及びRpは、上述したパラメータと同様の意味を持つパラメータである。この式2によって算出されるライセンス金額u-license-feeは、利用者ID「10000」の利用者が支払った利用金額を、この利用者が利用したアプリケーションの提供者にどのように分配するかということを示す値である。
次いで、集計サーバ55は、アプリケーション統計テーブルATTに、算出したライセンス金額u-license-feeを加算して書込んだ後(ステップSf11)、ステップSf9に戻り、この利用者を対象とした計算がすべて終了するまで上述した処理を繰り返す。
そして、この利用者を対象とした計算がすべて終了すると(ステップSf9;Yes)、次の利用者を対象とするべくステップSf2に戻る。
【0160】
このようにして、全ての利用者、全てのアプリケーションに対し、ライセンス金額の算出処理がなされて同図に示す処理は終了する。
算出されたライセンス金額は、提供者によって予め登録されている銀行口座に入金されることになる。
【0161】
(7)提供者による各種検索
サーバ群5に対しアプリケーションをアップロードした提供者は、PC21を用いてデータベースサーバ54にアクセスすることにより、自身のアプリケーションについてのライセンス金額や利用状況を検索することができる。
以下、この提供者のPC21からの要求に応じて、PC用WWWサーバ51が実行する検索動作について説明する。
【0162】
図31は、検索時におけるPC用WWWサーバ51のメインルーチンを示すフローチャートである。
同図に示す処理は、PC21からアクセス要求に応じて開始される。
まず、PC用WWWサーバ51は、自身のハードディスクから初期メニュー画面データを読み出し、これをPC21に送信する(ステップSg1)。
この処理メニュー画面は、例えば図32に示すような画面であり、検索対象期間、提供者ID、アプリケーションIDを入力するためのフィールドと、提供者検索ボタン、アプリケーション検索ボタン、終了ボタンが設けられている。提供者検索とは、提供者IDによって指定された提供者単位の検索であり、これにより、その提供者に対して支払われるライセンス金額金やその未払い額等が把握できる。また、アプリケーション検索とは、アプリケーションIDによって指定されたアプリケーション単位の検索であり、これにより、そのアプリケーションの利用状況やこれに対応したライセンス金額等が把握できる。
【0163】
提供者がこの初期メニュー画面で検索対象期間や各種IDを入力して、対応する検索ボタンをクリックすると、PC用WWWサーバ51はこれを検出し(ステップSg2;Yes)、その入力ボタンの種別を識別する(ステップSg3)。
【0164】
識別されたボタンの種別に応じて、後述するような提供者検索やアプリケーション検索のサブルーチンが実行される。また、終了ボタンであることが検出されると、PC用WWWサーバ51は、所定の終了処理を行って同図に示す処理を終了する(ステップSg4)。
【0165】
図33及び図34は、PC用WWWサーバ51が提供者検索を行う際の処理動作を示すフローチャートである。
図33において、まず、PC用WWWサーバ51は、データベースサーバ54内の提供者マスタテーブルLMTを参照し、記憶されている提供者IDと提供者によって入力された提供者IDとを比較し、認証を行う(ステップSh1)。
【0166】
この認証の結果、双方の提供者IDが一致しなければ(ステップSh1;No)、PC用WWWサーバ51は所定のエラー画面をPC21に表示させ(ステップSh2)、提供者がこの画面上の図示せぬ「OKボタン」を選択するまで待機したのち(ステップSh3)、メインルーチンのステップSg1に戻る。
【0167】
一方、この認証の結果、双方の提供者IDが一致すれば、PC用WWWサーバ51は、この提供者IDをキーにしてアプリケーション登録マスタテーブルASTを検索し、対応する全てのアプリケーションIDを取得する(ステップSh4)。
【0168】
この検索の結果、対応するアプリケーションIDが1つも発見できない場合には(ステップSh5;Yes)、PC用WWWサーバ51は、PC21にその旨をメッセージ表示させ(ステップSh6)、提供者がこの画面上の図示せぬ「OKボタン」を選択するまで待機したのち(ステップSh7)、メインルーチンのステップSg1に戻る。
【0169】
一方、この検索の結果、対応するアプリケーションIDが発見されると(ステップSh5;No)、PC用WWWサーバ51は、取得したアプリケーションIDのうち、ある特定のアプリケーションIDに着目し、このアプリケーションIDをキーにしてアプリケーション統計テーブルATTを検索し、対応するライセンス金額を抽出する。さらに、このライセンス金額を、アプリケーション統計テーブルの「支払フラグ」が「済」であるか「未」であるかによって分ける(ステップSh9)。
【0170】
このステップSh9の処理を抽出した全てのアプリケーションIDに対して行った後、PC用WWWサーバ51は、抽出したライセンス金額の総合計と、「支払フラグ」の「未」に対応するライセンス金額の合計を算出する(ステップSh10)。これにより、ある特定のアプリケーションに対するライセンス金額総合計と、未払いのライセンス金額の合計とが算出されることになる。
【0171】
このようなステップSh9及びSh10の処理を、ステップSh4で抽出されたアプリケーションIDの全てについて行い、これが確認されると(ステップSh8;Yes)、処理は図34に示すステップSh11に進む。
【0172】
ステップSh11では、PC用WWWサーバ51は、各アプリケーションごとに算出したライセンス金額と未払いのライセンス金額とを、検索対象期間の全てにわたってそれぞれ合計し、その提供者に対するライセンス金額全体を把握する。次いで、PC用WWWサーバ51は、合計された未払いライセンス金額に着目し、この金額が予め定められた所定金額未満か否かを判断する(ステップSh12)。即ち、提供者に支払うべきライセンス金額があまりにも小額な場合、わざわざ銀行等の金融機関を経由して支払処理を行うとなると、そのライセンス金額より支払コストのほうが高くつく場合も想定される。このような場合に備えて、サーバ群5の管理者は、所定金額以下のライセンス金額は支払免除とする旨の契約を提供者と締結しておく。ここでは、例えば、2000円を支払可能下限額とし、これ未満のライセンス金額を支払い免除とする。
【0173】
この判断の結果、未払いライセンス金額が2000円未満の場合、PC用WWWサーバ51は、その未払いライセンス金額をクリアする。
【0174】
一方、未払いライセンス金額が2000円以上の場合、PC用WWWサーバ51は、その未払いライセンス金額を提供者に提示すべき未払いライセンス金額として設定し(ステップSh14)、図35に示すような検索結果画面を生成してPC21に表示させる(ステップSh15)。
同図において、提供者ID「8898」が示す提供者について、西暦2000年5月分として既に受け取ったライセンス金額は「2,423,500円」であり、西暦2000年6月分としてこれから受け取るべきライセンス金額は「1,901,250円」であり、今までに受けとったライセンス金額及びこれから受け取るべきライセンス金額の合計は「5,283,340円」であり、これから受け取るべき未払いライセンス金額合計は「3,154,200円」である。この未払いライセンス金額合計は「3,154,200円」は同時に、支払可能ライセンス金額の合計をも意味する。
【0175】
そして、PC用WWWサーバ51は、提供者による「戻る」ボタンの選択操作を検出すると(図34のステップSh16;Yes)、PC用WWWサーバ51は、メインルーチンのステップSg1に戻る。
【0176】
図36は、PC用WWWサーバ51がアプリケーション検索を行う際の処理動作を示すフローチャートである。
まず、PC用WWWサーバ51は、データベースサーバ54内のアプリケーション登録マスタテーブルASTを参照し、記憶されているアプリケーションIDと提供者によって入力されたアプリケーションIDを比較し、認証を行う(ステップSj1)。
【0177】
この認証の結果、双方のアプリケーションIDが一致しなければ、PC用WWWサーバ51は、エラー画面をPC21に表示させ(ステップSj2)、提供者がこの画面上の図示せぬ「OKボタン」を選択するまで待機したのち(ステップSj3)、メインルーチンのステップSg1に戻る。
【0178】
一方、この認証の結果、双方のアプリケーションIDが一致すれば、PC用WWWサーバ51は、このアプリケーションIDと検索対象年月の含まれる各月とをキーにしてアプリケーション登録マスタテーブルASTを検索し、対応するダウンロード数、起動回数、実行時間、投票ポイント数、ライセンス金額を取得する(ステップSj5)。
【0179】
さらに、PC用WWWサーバ51は、支払フラグが「未」に設定されているライセンス金額のみをも取得する(ステップSj6)。
このようなステップSj5及びSj6の処理を、指定された検索対象期間の全てについて行い、これが確認されると(ステップSj4;Yes)、処理はステップSj7に進む。
【0180】
ステップSj7において、PC用WWWサーバ51は、図37に示すような検索結果画面を生成してPC21に表示させる。
同図においては、指定されたアプリケーションについて、各年月ごとのダウンロード数、起動回数、実行時間、投票ポイント数、ライセンス金額及び未払いライセンス金額が表示されている。そして、同図において、提供者による「戻る」ボタンの選択操作が検出されると(図36のステップSj8;Yes)、PC用WWWサーバ51は、図31に示すメインルーチンのステップSg1に戻る。
【0181】
このように実施形態によれば、ダウンロード要求に対応して発行されたダウンロードIDを用いて携帯電話機用WWWサーバ50側でアプリケーションの認証を行うので、携帯電話機10側に負担をかけることなくより安全性の高い認証を行うことができる。
また、ダウンロードIDに加えて、利用者IDやアプリケーションID、さらにダウンロード日時を用いることにより、さらに認証の確実性が向上する。
【0182】
C:変形例
既述の通り、本発明は上述した実施形態に限定されず、種々の変更が可能である。
(1)ライセンス金額配分のためのパラメータ
実施形態では、ライセンス金額の配分のためのパラメータとしてダウンロード数等を開示しているが、パラメータの種類はこれに限定されることはない。
また、実施形態では、各種パラメータを用いた比例配分によってライセンス金額を求めているが、これに限らず、サービス基本料金を加算し、これを配分するなど別の配分手法を加えることによっても実現可能である。、
【0183】
(2)支払状況の管理
実施形態では、利用者入金管理テーブルUPTを用いて、個々の利用者について支払い状況を管理していた。しかし、これに限らず、利用者から入金された利用料金の総額のみを支払状況として管理するだけでもよい。例えば、各利用者からの利用料金の回収業務については外部の特定業者に依頼し、サーバ群5ではその月々回収された総額のみを利用者入金管理テーブルUPT上で記憶しておく。このようにすれば、前述のステップSe2における計算処理を省くことができる。
【0184】
(3)利用料金の形態
実施形態では、全ての利用者が毎月支払うべき利用料金は一定額であったが、必ずしもこのような態様に限定されない。
例えば、利用者をクラス分けし、そのクラス単位で利用料金を変えてもよい。このクラスの分け方としては、例えば、各利用者のダウンロード数、実行時間、起動回数といった利用状況によるクラス分けや、サーバ群5が各利用者について占有するデータベースなどのリソース占有量の違いに応じたクラス分け等が考えられる。
【0185】
(4)アプリケーションの利用制限
実施形態では、各利用者に対し、アプリケーションを利用する上での制限は課していない。即ち、利用者は、ダウンロードしたアプリケーションを無制限に利用することができる。しかし、これに限らず、何らかの利用制限を設けることもできる。例えば、利用者に対して一定期間のダウンロード回数、起動回数又は実行時間のうち少なくともいずれか1つに上限を設けてもよい。
以下、このような利用制限が設けられた実施形態の一例について説明する。
まず、前提として、各利用者毎の1ヶ月間のダウンロード回数上限を20回、起動回数上限を100回、実行時間上限を300分とする。
これらの上限を超えていないか否かをチェックするための具体的なシーケンスは次のようになる。
携帯電話機用WWWサーバ50は、利用者の携帯電話機10からダウンロード要求信号を受信すると(前述のステップSb25)、データベースサーバ54内の利用者アクセス保存テーブルUATを参照し、その利用者のその月におけるダウンロード回数の総計を算出する。
そして、携帯電話機用WWWサーバ50は、算出したダウンロード回数が、上述したダウンロード回数上限である20回以上であれば、携帯電話機10に対しダウンロードができない旨のエラーメッセージを送信する。このようにすれば、ダウンロード回数の上限はチェック可能である。
また、携帯電話機10においてアプリケーションの起動操作がなされ、携帯電話機用WWWサーバ50が携帯電話機10から起動信号を受信すると(前述のステップSc4)、データベースサーバ54内の利用者アクセス保存テーブルUATを参照し、その利用者のその月における起動回数と実行時間の総計を算出する。そして、携帯電話機用WWWサーバ50は、算出した起動回数又は実行時間のいずれか一方が、上述した起動回数上限である100回若しくは実行時間上限である300分以上であれば、携帯電話機10に対しアプリケーションを起動・実行できない旨のエラーメッセージを送信する。このメッセージを受信した携帯電話機10は、そのアプリケーションを起動・実行しない。このようにすれば、起動回数の上限はチェック可能である。なお、起動回数若しくは実行時間が上限をこえることにより、アプリケーションの起動・実行を禁止するのではなく、アプリケーションのダウンロードを禁止してもよい。
【0186】
(4)アクセス可能なテーブル
前述のハイスコア登録処理で述べたように、実施形態では、アプリケーション単位でアクセス可能なテーブルを定義しているが、アプリケーションの提供者単位でアクセス可能なテーブルを定義することによっても同様の効果を得ることができる。
【0187】
(5)セッション識別
実施形態では、セッションを識別するのにURL、若しくはINPUTタグのHIDDENパラメータにIDを埋め込む形式であるが、このセッション管理は、特殊なセッション識別子を発行してクッキーファイルを利用しても良いし、認証自体をWWWサーバの機能であるBasic認証を利用しても良い。
【0188】
(6)アプリケーションの記憶
実施形態では、アプリケーションの保存を明示的に行っているが、携帯電話機10のブラウザ上でアプリケーションを動作させるための一時記憶メモリ上に保存、キャッシュすることによっても実現可能である。
【0189】
(7)ページの記述形式
実施形態では、HTMLデータを用いていたが、これに限定されるわけではなく、例えばXML(Extensible Markup Language)等の他の記述言語を用いるものであってもよい。
【0190】
(8)ポイント投票処理のバリエーション
実施形態では、ポイントの投票可能なアプリケーション名を利用者にリスト表示している。しかし、このようなリスト表示に限定されることはなく、例えば、携帯電話機用WWWサーバ50が送信するHTMLデータのユーザインタフェース上から、アプリケーションIDもしくはアプリケーション名を入力して、そのアプリケーションに対する投票ページを表示させることも可能である。この場合、WWWサーバ50がアプリケーションID若しくはアプリケーション名を伴ったHTTPリクエストを受け取ったとき、そのアプリケーションIDもしくはアプリケーション名が存在するかどうかを検査し、存在しなければエラーメッセージを携帯電話機10に表示させる。
また、携帯電話機用WWWサーバ50にログインしている利用者が、指定されたアプリケーションに対して過去3ヶ月以内にダウンロード、起動、実行、若しくはポイント投票を行っていなければ、投票無効メッセージを表示させるようにしてもよい。
また、実施形態では、ポイントを投票するための入力インターフェースをHTMLフォームによって行っているが、携帯電話機10にダウンロードさせるアプリケーション上に入力インターフェースを用意して、そのアプリケーション上の入力インタフェースから直接投票データを送信させるようにしてもよい。
図38に、この場合の携帯電話機10と携帯電話機用WWWサーバ50の動作を表すシーケンスを示す。同図において、携帯電話機10は、例えばゲームオーバのようなアプレット終了時に、ポイント入力のための入力インタフェースを表示させ(ステップSp1)、利用者からの入力を受け付ける(ステップSp2)。
そして、携帯電話機10は、「http://game.techfirm.co.jp/56789/vote.cgi?id=10000&app56789&DLID99887766&point30」を含むゲットリクエストを携帯電話機用WWWサーバ50に送信する。一方、携帯電話機用WWWサーバ51は、上記投票データを受信するためのサーバアプリケーションを用意しておき、携帯電話機10側のアプリケーションから投票ポイントが直接入力、送信された場合には利用者がそのアプリケーションを利用していると判断し、データベースサーバ54に蓄積されているダウンロード、起動、ポイント投票に関するデータが3ヶ月より過去であっても投票を受け付ける。これによって、携帯電話機10側のアプリケーションの起動が検知できないサーバ群においても、投票ポイントを受け付けることが可能となる。
【0191】
(9)アプリケーション認証のバリエーション
アプリケーションの認証については様々なバリエーションが考えられるが、例えば以下に示すような第1〜第4のバリエーションがある。
【0192】
(9−1)第1のバリエーション
まず、第1のバリエーションについて説明する。
実施形態では、ダウンロードIDをダウンロード要求イベント毎にユニークに発行し、ダウンロードを指定するHTMLデータの中の「param」タグに埋め込んでおき、携帯電話機10はこれを保存して利用することによってアプリケーションの認証を行っていた。しかし、ダウンロードを指定するHTMLデータを取得するためのURLを保存する機能を持つ携帯電話機10であり、かつ携帯電話機10側のアプリケーションがそのURLを取得可能であるのならば、以下のようにしてもよい。
【0193】
携帯電話機用WWWサーバ50は、携帯電話機10が上述したHTMLデータを取得するためのURLにダウンロードIDを付加しておく。
携帯電話機10側のアプリケーションは、携帯電話機用WWWサーバ50に対し上記URLに従ってHTMLデータを要求する。この要求には、利用者ID、アプリケーションID及びダウンロードIDが含まれており、携帯電話機用WWWサーバ50は、これらIDを対応付けてダウンロードID管理テーブルDITに保存しておく。
携帯電話機10側のアプリケーションがダウンロードIDを必要とするときは、まず、保存しておいたURLを携帯電話機10のアプリケーションインターフェースから取得し、このURLの中からダウンロードID、もしくはこれを含むデータを抽出し、利用者IDやアプリケーションIDとともに携帯電話機用WWWサーバ50に送信する。一方、携帯電話機用WWWサーバ50は、ダウンロード管理テーブルDITを参照し、受信した利用者ID、アプリケーションID、ダウンロードIDの組み合わせが正しい組であるか否かを確認できる。
【0194】
より具体的に説明すると、図19のステップSb22において、携帯電話機用WWWサーバ50は、説明ページを構成する際にユニークなダウンロードID(DLID=99887766)を発行し、図21(f)に示すメニュー項目「ダウンロード」に埋め込まれたハイパーリンクのURLを「http://game.techfirm.co.jp/56789/dl.cgi?id=10000&app=56789&DLID=99887766」と設定する。利用者によって「ダウンロード」が選択されたときには(図20のステップSb25)、携帯電話機10は、「ダウンロード」に埋め込まれた上記URLを含むリクエストを携帯電話機用WWWサーバ50に送信する。この際、携帯電話機10は、「http://game.techfirm.co.jp/56789/dl.cgi?id=10000&app=56789&DLID=99887766」というURLを記憶する。一方、上記リクエストを受信した携帯電話機用WWWサーバ50は、利用者ID「10000」、アプリケーションID「56789」、ダウンロードID「99887766」を対応付けてダウンロードID管理テーブルDITに保存しておく。
以後、携帯電話機10のアプリケーション(app=56789)が、携帯電話機用WWWサーバ50に対してアクセスをする場合は、保存している上記URLの中から利用者ID、アプリケーションID及びダウンロードIDを抽出し、これらを含むリクエスト信号をサーバ50に送信する。一方携帯電話機用WWWサーバ50は、リクエストに応じて、ダウンロード管理テーブルDITを参照し、上記IDの組み合わせを確認することによりアプリケーションの認証を行う。
なお、フォームの形を取り、携帯電話機10上のブラウザによって組み立てられるURLが上述したような形式で送信されても同様の効果が得られる。
【0195】
(9−2)第2のバリエーション
次に、アプリケーション認証の第2のバリエーションについて説明する。
ダウンロードを指定するアプリケーションのURLを保存する機能を持つ携帯電話機10で、かつ携帯電話機10側のアプリケーションはそのURLを取得可能であるのならば、以下のようにしてもよい。
【0196】
携帯電話機用WWWサーバ50は、ダウンロードを指定するHTMLデータを作成するときに(図20に示すステップSb26)、ユニークなダウンロードIDを発行し、HTMLデータ内のアプリケーションのURLに加えておく。
そして、携帯電話機用WWWサーバ50は、携帯電話機10から上記URLを用いた、アプリケーションのダウンロード要求があれば、これに応じて、利用者ID、アプリケーションID及びダウンロードIDをダウンロードID管理テーブルDITに保存する。
携帯電話機10側のアプリケーションがダウンロードIDを必要とするときは、保存しておいたURLを携帯電話機10のアプリケーションインターフェースから取得し、このURLの中からダウンロードID、もしくはこれを含むデータを抽出し、利用者IDやアプリケーションIDとともに携帯電話機用WWWサーバ50に送信する。一方、携帯電話機用WWWサーバ50は、ダウンロード管理テーブルDITを参照し、受信した利用者ID、アプリケーションID及びダウンロードIDの組み合わせが正しい組であるか否かを確認できる。
【0197】
より具体的に説明すると、図20のステップSb26において、携帯電話機用WWWサーバ50は、図39に示すようなアプリケーションを指定するタグを生成し、このタグを含むHTMLデータを携帯電話機10に送信する。
また、携帯電話機用WWWサーバ50側では「getjar.cgi」というサーバアプリケーションを配置し、このサーバアプリケーションが起動されると利用者ID「10000」、アプリケーションID「56789」、ダウンロードID「99887766」をダウンロードID管理テーブルDITに、そのリクエストを受信した日時と共に保存し、指定されたアプリケーション のJARファイル「drops.jar」を携帯電話機10に送信する。
一方、携帯電話機10は、「http://game.techfirm.co.jp/getjar.cgi?id=10000&app=56789&DLID=99887766&file=drops.jar」 というURLを記憶しておく。
以後、携帯電話機10のアプリケーション(app=56789)が、携帯電話機用WWWサーバ50に対してアクセスをする場合は、保存している上記URLの中から利用者ID、アプリケーションID及びダウンロードIDを抽出し、これを含むリクエスト信号をサーバ50に送信する。
一方、携帯電話機用WWWサーバ50は、リクエストに応じて、ダウンロード管理テーブルDITを参照し、上記IDの組み合わせを確認することによりアプリケーションの認証を行う。
【0198】
(9−3)第3のバリエーション
次に、アプリケーション認証の第3のバリエーションについて説明する、
アプリケーションによってデータの保存や参照が可能なメモリエリアを有する携帯電話機であれば、携帯電話機用WWWサーバ50が予めダウンロードIDを付与しておくのではなく、携帯電話機10側のアプリケーションが、ダウンロードIDを携帯電話機用WWWサーバ50に送信する前の任意のタイミングでサーバ50から取得してもよい。
【0199】
より具体的に説明すると、実施形態では図20に示すアプレットのダウンロード時(ステップSb26〜ステップSb35)において、携帯電話機用WWWサーバ50はダウンロードID(DLID)を発行し、これを保存するが、第3のバリエーションにおいて、ダウンロードIDはこの時点では発行されない。従って、この時点ではダウンロード管理テーブルDITのダウンロードIDフィールドは空欄の状態になっている。
その後、図23のステップSc4のように携帯電話機10が初めてアプリケーションを起動する際、そのリクエストをサーバ50に送信するときのURLを「http://game.techfirm.co.jp/start.cgi?id=10000&app=56789&DLID=」とする。即ち、携帯電話機10は、リクエスト内の「DLID」を空き情報として送信する。
そして、ステップSc5において、携帯電話機用WWWサーバ50は、上記リクエストを受信するとstart.cgiを起動し、データベースサーバ54内のダウンロードIDテーブルDITを参照して、上記URLに含まれるアプリケーションID「56789」及び利用者ID「10000」をキーにレコードを検索し、抽出されたレコードの中で最新のダウンロード日時のレコードを選択する。
【0200】
ここで、選択されたレコードのダウンロードIDフィールドが空欄であれば、携帯電話機用WWWサーバ50は、新たにユニークなダウンロードIDを発行し、これをダウンロードID管理テーブルDITに保存する。
その後は、前述の実施形態と同様に、利用者アクセス保存テーブルUAT上における起動回数のインクリメント処理、最終起動日時保存テーブルLRTの更新がなされる。そして、携帯電話機用WWWサーバ50は、起動を承認した旨のOKメッセージに、発行されたダウンロードIDをパラメータとして付加したメッセージ("OK[DLID=99887766]")を生成し、携帯電話機10に返信する。
【0201】
一方、選択されたレコードのダウンロードIDフィールドが空欄でなければ、携帯電話機用WWWサーバ50は、既にダウンロードIDを発行しているにもかかわらず新たなダウンロードIDを要求してきているとみなして、上述したインクリメント処理や更新処理を行なうことなく、起動を承認しない旨のNGメッセージ("NG")を生成し、携帯電話機10に返信する。
【0202】
なお、携帯電話機10から受信した上記リクエストURIに含まれる「DLID」が、空き情報ではない場合、即ち何らかのID値が入っている場合には、上述したステップSc5及ぶステップSc6の処理を行う。つまり、リクエストURIに含まれるダウンロードID、アプリケーションID及び利用者IDの組み合わせによるアプリケーション認証のほか、利用者アクセス保存テーブルUAT及び最終起動日時保存テーブルLRTの更新処理、そして、携帯電話機10に対するメッセージの送信処理を行う。
以上のように、この第3のバリエーションにおいては、ダウンロードIDフィールドの発行の有無に応じてアプリケーションの認証を行う。
【0203】
(9−4)第4のバリエーション
次に、アプリケーション認証の第4のバリエーションについて説明する。
携帯電話機10がアプリケーションをダウンロードした日時を保存し、更にそのダウンロード日時をアプリケーションによって参照可能な携帯電話機10であれば、以下のようにしてもよい。
【0204】
携帯電話機用WWWサーバ50は、アプリケーションのダウンロード時において利用者IDで指定される利用者がアプリケーションIDで示されるアプリケーションを最後にダウンロードした日時を最終ダウンロード管理テーブルLDTに保存する。その一方、携帯電話機10も、アプリケーションをダウンロードした日時を記憶しておく。
携帯電話機10にダウンロードされたアプリケーションが、携帯電話機用WWWサーバ50に対し認証を必要とするアクセスを行う場合には、携帯電話機10のアプリケーションインターフェースから自身が記憶しているダウンロード日時を取得し、これを利用者ID及びアプリケーションIDとともに携帯電話機用WWWサーバ50に送信する。
一方、携帯電話機用WWWサーバ50は、最終ダウンロード管理テーブルLDTを走査して、受信した利用者ID及びアプリケーションIDに対応するダウンロード日時を取得する。そして、取得したダウンロード日時と携帯電話機10から受信したダウンロード日時との時間差が、ダウンロードオーバヘッド時間を考慮した許容範囲、例えば前後10分以内に納まっていれば、そのアプリケーショは正当であると判断する。
【0205】
より具体的に説明すると、図27に示すステップSd10において携帯電話機10から送信されるリクエストには「 http://game.techfirm.co.jp/vote.cgi?ID=10000&app=56789&dltime=200006031925&point=20」というURLが含まれる。ここで、「dltime=200006031925」は、2000年6月3日19時25分にダウンロードされたということを意味している。
このリクエストを受信した携帯電話機用WWWサーバ50は、最終ダウンロード管理テーブルDIT上で、利用者ID「10000」及びアプリケーションID「56789」をキーにダウンロード日時を検索し、得られたダウンロード日時と、上記URL内の「dltime=200006031925」とを比較して、アプリケーションの正当性を判断する。
【0206】
(10)ダウンロードIDのユニーク性
実施形態においては、ダウンロードIDをそれ自体で完全にユニークなIDとしていたが、他の情報と組み合わせてユニークな情報として判断することも可能である。例えば、利用者IDとダウンロードIDとの組み合わせにおいて、システム全体でユニークであるという判断でもかまわない。
【図面の簡単な説明】
【0207】
【図1】本発明の実施形態に係るシステムの全体構成を示すブロック図である。
【図2】同実施形態における携帯電話機のハードウェア構成を示すブロック図である。
【図3】同実施形態における携帯電話機のプロセス構成を示すブロック図である。
【図4】同実施形態におけるWWWサーバのプロセス構成を示すブロック図である。
【図5】同実施形態における提供者マスタテーブルの登録内容を一例を示す図である。
【図6】同実施形態におけるアプリケーション登録マスタテーブルの登録内容を一例を示す図である。
【図7】同実施形態におけるアプリケーションアクセス管理テーブルの登録内容の一例を示す図である。
【図8】同実施形態におけるアプリケーション統計テーブルの登録内容のを一例を示す図である。
【図9】同実施形態における利用者マスタテーブルの登録内容の一例を示す図である。
【図10】同実施形態における最終起動日時保存テーブルの登録内容の一例を示す図である。
【図11】同実施形態における利用者アクセス保存テーブルの登録内容の一例を示す図である。
【図12】同実施形態における利用者入金管理テーブルの登録内容の一例を示す図である。
【図13】同実施形態におけるダウンロードID管理テーブルの登録内容の一例を示す図である。
【図14】同実施形態における最終ダウンロード管理テーブルの登録内容の一例を示す図である。
【図15】同実施形態におけるアプレットの検索処理の流れを示すシーケンス図である。
【図16】同実施形態におけるアプレットの検索処理の流れを示すシーケンス図である。
【図17】同実施形態におけるアプレットの検索処理時にパーソナルコンピュータに表示される画面の一例を示す模式図である。
【図18】同実施形態におけるアプレットのダウンロード処理の流れを示すシーケンス図である。
【図19】同実施形態におけるアプレットのダウンロード処理の流れを示すシーケンス図である。
【図20】同実施形態におけるアプレットのダウンロード処理の流れを示すシーケンス図である。
【図21】同実施形態におけるアプレットのダウンロード処理時に携帯電話機に表示される画面の一例を示す模式図である。
【図22】同実施形態において携帯電話機WWWサーバから携帯電話機に送信されるHTMLデータの一例を示す図である。
【図23】同実施形態におけるアプレットの実行処理の流れを示すシーケンス図である。
【図24】同実施形態におけるアプレットの実行処理の流れを示すシーケンス図である。
【図25】同実施形態におけるアプレットの実行処理時に携帯電話機に表示される画面の一例を示す模式図である。
【図26】同実施形態におけるハイスコアの登録処理の流れを示すフローチャート図である。
【図27】同実施形態におけるポイント投票処理の流れを示すシーケンス図である。
【図28】同実施形態におけるポイント投票時に携帯電話機に表示される画面の一例を示す模式図である。
【図29】同実施形態におけるライセンス金額の計算処理の流れを示すフローチャート図である。
【図30】同実施形態におけるライセンス金額の計算処理の流れを示すフローチャート図である。
【図31】同実施形態における提供者の検索処理の流れを示すフローチャート図である。
【図32】同実施形態における提供者の検索処理の際に携帯電話機に表示される画面の一例を示す模式図である。
【図33】同実施形態における提供者検索の処理の流れを示すフローチャート図である。
【図34】同実施形態における提供者検索の処理の流れを示すフローチャート図である。
【図35】同実施形態における提供者検索の処理結果の表示例を示す模式図である。
【図36】同実施形態におけるアプリケーション検索の処理の流れを示すフローチャート図である。
【図37】同実施形態におけるアプリケーション検索の処理結果の表示例を示す模式図である。
【図38】他の実施形態におけるポイント投票時の処理の流れを示すシーケンス図である。
【図39】他の実施形態において携帯電話機WWWサーバから携帯電話機に送信されるHTMLデータの一例を示す図である。
【符号の説明】
【0208】
1・・・利用者端末群、
10・・・携帯電話機(携帯無線端末)、KI・・・キーインタフェース部、
DI・・・画面インターフェース部、DD・・・データ通信ドライバ、
SM・・・スピーカ・マイク制御部、MI・・・メモリインタフェース、
FW・・・ファームウェア、JVM・・・ジャババーチャルマシン、
BS・・・ブラウザ、TS・・・電話機能部、SS・・・設定部、
APP・・・ジャバアプレット、
11・・・パーソナルコンピュータ、
2・・・提供者端末群、20・・・パーソナルコンピュータ、
3・・・移動パケット通信網(無線通信網)、
4・・・インターネット、5・・・サーバ群(情報配信サーバシステム)、
50・・・携帯電話機用WWWサーバ(識別子発行部、識別子通知部、認証部、リクエスト受信部、アプリケーション配信部、ダウンロード計時部)、
51・・・パーソナルコンピュータ用WWWサーバ、
52・・・DNSサーバ、53・・・SMTPサーバ、
54・・・データベースサーバ、55・・・集計サーバ、
56・・・管理者コンソール、57・・・ファイヤウォールサーバ、
LMT・・・提供者マスタテーブル、
AST・・・アプリケーション登録マスタテーブル、
AAT・・・アプリケーションアクセス管理テーブル、
ATT・・・アプリケーション統計テーブル、
UMT・・・利用者マスタテーブル、LRT・・・最終起動日時保存テーブル
UAT・・・利用者アクセス保存テーブル、
UPT・・・利用者入金管理テーブル、
DIT・・・ダウンロードID管理テーブル(識別子記憶部)、
LDT・・・最終ダウンロード管理テーブル
【技術分野】
【0001】
本発明は、情報配信サーバシステム、情報配信方法及び記録媒体に関する。
【背景技術】
【0002】
携帯電話機の高機能化が急速に進んでいる。
最近では、より本格的なアプリケーション動作環境を携帯電話機に導入しようという提案がなされている。例えば、Java(登録商標)プログラミング言語で記述されたアプリケーションを実行させる環境であるジャババーチャルマシンを携帯電話機に実装する計画がある。これが実現すれば、今まで以上に様々なアプリケーションを携帯電話機上で動作させることが可能となる。
このような環境の変化は、携帯電話機が、これまでは単なる入出力のみをつかさどっていた端末から、利用者が必要とする様々なアプリケーションをインストールし、かつ、それを利用することが出来る情報処理端末へと変貌することを意味している。即ち、その情報処理能力や表現能力はまだ劣るものの、今まではパーソナルコンピュータでしか処理できなかったことが携帯電話機でも処理できるようになる。
【0003】
このような携帯電話機向けのJava(登録商標)アプリケーションは下記のような特徴を有すると考えられる。
(1)携帯電話機は、パーソナルコンピュータと比較して携帯性に富む一方、少メモリ容量、低いデータ処理能力、少ない通信帯域、遅い通信スピード等のデメリットを有している。これらのデメリットにより、携帯電話機向けのアプリケーションのコードサイズは、パーソナルコンピュータ向けのそれに比べると、はるかに小さくなる。そのため、アプリケーション自体の機能だけで所期の目的を果たすというよりも、サーバ等の外部機能をも最大限活用して処理を行うことが予想される。
(2)パーソナルコンピュータ向けのアプリケーションは、主として、実行の度にサーバからパーソナルコンピュータにダウンロードされる。一方、携帯電話機を用いた場合、ダウンロードに要する通信時間や通信コストのほか、利用者の操作負担等を考慮すると、携帯電話機向けのアプリケーションは、携帯電話機の不揮発性メモリに保存された後に利用されるケースが多くなることが予想される。
(3)携帯電話機のユーザインタフェースが貧弱であることを考慮すると、利用者は、様々なアプリケーション配信サイトを使い分けるより、ある特定のアプリケーション配信サイトを通じて様々なアプリケーションを取得する傾向が強くなり、これに伴い、アプリケーション配信サイト側も多くのアプリケーション提供者による複数のアプリケーションを取り扱うことが予想される。
(4)Java(登録商標)アプレットのサンドボックスモデルに代表されるように、アプリケーションのセキュリティ管理ポリシーは、ダウンロード元のサーバとしか通信できないという方向に向かうことが予想される。
以上に述べたようなことを鑑みると、携帯電話機向けアプリケーションについては次のように認証処理が必要になると考えられる。
【0004】
例えば、複数のアプリケーション提供者による複数のアプリケーションが1つのサーバから配信されている場合、クライアント側のアプリケーションと、サーバ側でそのアプリケーションとの通信インタフェース機能を司るサーバ側プロセスとはセットになっている。サーバ側プロセスは、リクエストをサーバ側に送信してきたアプリケーションが確かに自身とセットになっているアプリケーションかどうかを確認することにより、アプリケーションを認証する。
例えば、利用者のスケジュール情報やアドレス帳等の各種データを管理するアプリケーションを想定した場合、そのアプリケーションが、各種データの内容をサーバに問い合わせると、これに応じてサーバ側プロセスは、利用者個人の認証を行うと共に、自身とセットになっているアプリケーションかどうかを確認する必要がある。
【0005】
また、例えば、複数のアプリケーション提供者による、複数のアプリケーションが1つのサーバから配信されている場合、これら複数のアプリケーションが共有可能なサーバ側の機能インターフェースプロセスが必要とされる。一例を挙げると、利用者が、自身が利用したアプリケーションに対しその実用度に応じたポイント数を投票するとサーバ側のテーブルに登録できるような場合、各アプリケーションはそのテーブルを共有できるようになっており、このポイント登録機能が機能インターフェースプロセスに相当する。この場合、機能インターフェースプロセスは、どのアプリケーションからの投票リクエストであるかを認識しておく必要がある。
あるいは、共通インタフェースプロセスの共有度が、アプリケーション単位で制限されているような場合がある、例えば、アプリケーションが利用者の個人情報に関わるようなデータにアクセスするようなケースである。このような場合、特定のアプリケーションに対してのみ特定の機能がオープンされるので、機能インタフェースプロセスは、どのアプリケーションからのリクエストであるかを認識しておく必要がある。
【特許文献1】特開2000−236576号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
このようなアプリケーション認証の必要性に対し、従来は、次のような手法が採用されていた。
例えば、クライアント側のアプリケーションがサーバ側にアプリケーション識別情報を通知し、これによりサーバ側は、アプリケーションを識別していた。また、利用者がクライアント側でアプリケーションを選択し、これをサーバ側に通知することによって、サーバ側でのアプリケーション認証を可能としていた。
しかしながら、いずれの手法を用いても、サーバ側では、アプリケーション側の動作を信用するしかなく、不正なアプリケーションが他のアプリケーションになりすましたり、利用者が故意あるいは誤って別のアプリケーションを指定するようなケースには、アプリケーションの認証を行うことができなかった。
【0007】
また、認証局の証明の下に、暗号化やデジタル認証を利用してアプリケーション認証を行う手法も存在する。
この場合、携帯電話機でのデジタル認証への対応が必要であるが、その機能を携帯電話機に実装するための負担は大きい。また、認証局に対するコストの発生という問題もある。
【0008】
本発明では、上述したような背景の下、アプリケーションをより確実に認証し、より安全性の高いアプリケーション配信・実行環境を提供することを目的とする。
【課題を解決するための手段】
【0009】
上述した課題を解決するため、本発明は、インターネット及び無線通信網を介してダウンロードしたアプリケーションを利用することができる無線携帯端末に対し、当該無線携帯端末からのダウンロード要求に応じて前記アプリケーションを配信する情報配信サーバシステムにおいて、前記無線携帯端末の利用者に関する情報を記憶するための利用者情報テーブルと、前記アプリケーションの提供者に関する情報を記憶する提供者情報テーブルと、前記利用者情報テーブルに記憶されている各利用者が一定期間に支払うべき一定額の利用料金の支払い状況を管理するための支払状況管理テーブルと、前記アプリケーションが利用されている利用状況を検出する検出部と、前記検出された利用状況を記憶する利用状況管理テーブルと、前記支払状況管理テーブルによって把握される利用料金の総合計金額と前記利用状況管理テーブルに記憶されている利用状況とに基づいて、前記提供者情報テーブルに記憶されている各提供者に対して支払うべきライセンス金額をそれぞれ演算出力する演算部とを有することを特徴とする情報配信サーバシステムを提供する
【0010】
上記情報配信サーバシステムにおいて、前記検出部は、前記アプリケーションの利用状況を各アプリケーション毎に検出し、これにより、前記利用状況管理テーブルは、前記アプリケーションの利用状況を各アプリケーション毎に記憶しており、前記演算部は、前記支払状況管理テーブルによって把握される利用料金の総合計金額の一部を、前記提供者に支払うべきライセンス金額金の総合計金額として割り当てる割当部と、各アプリケーションの提供者に対して支払うべきライセンス金額を、前記割り当てたライセンス金額金の総合計金額の中から、前記利用状況管理テーブルに記憶されている利用状況に応じてそれぞれ配分出力する配分部とを有していてもよい。
【0011】
また、上記情報配信サーバシステムにおいて、前記検出部は、前記アプリケーションの利用状況を各利用者ごとに検出し、これにより、前記利用状況管理テーブルは、前記アプリケーションの利用状況を各利用者毎に記憶しており、前記演算部は、前記利用者が支払った前記利用料金の一部を、当該利用者から前記アプリケーションの提供者に対して支払うべきライセンス金額として割り当てる割当部と、前記各利用者から前記提供者に支払うべきライセンス金額を、前記割り当てられたライセンス金額の中から前記利用状況管理テーブルに記憶されている利用状況に応じて配分出力する配分部と、前記提供者のそれぞれに支払うべきライセンス金額を、全ての前記利用者に対応して前記配分出力されたライセンス金額を前記提供者毎に合計することによって算出する算出部とを有してもよい。
【0012】
また、上記情報配信サーバシステムにおいて、前記検出部は、一定期間における前記アプリケーションのダウンロード回数をカウントし、これにより前記利用状況管理テーブルは、前記カウントされたダウンロード数を利用状況として記憶しており、前記演算部は、前記利用状況管理テーブルに記憶されているダウンロード回数に応じて前記ライセンス金額を演算するようにしてもよい。
【0013】
また、上記情報配信サーバシステムにおいて、前記検出部は、前記無線携帯端末における前記アプリケーションの実行時間を検出し、これにより前記利用状況管理テーブルは、前記検出された実行時間を利用状況として記憶しており、前記演算部は、前記利用状況管理テーブルに記憶されている実行時間に応じて前記ライセンス金額を演算するようにしてもよい。この場合、前記検出部は、前記無線携帯端末から通知される、前記アプリケーションの起動通知および終了通知をそれぞれ受信した時刻の差分を前記実行時間とみなすようにしてもよい。
【0014】
また、上記情報配信サーバシステムにおいて、前記検出部は、前記無線携帯端末における前記アプリケーションの起動回数を検出し、これにより前記利用状況管理テーブルは、前記検出された起動回数を利用状況として記憶しており、前記演算部は、前記利用状況管理テーブルに記憶されている起動回数に応じて前記ライセンス金額を演算するようにしてもよい。
【0015】
また、上記情報配信サーバシステムにおいて、前記検出部は、前記利用者により前記アプリケーションに対して投票されたポイント数をカウントし、これにより前記利用状況管理テーブルは、前記カウントされたポイント数を利用状況として記憶しており、前記演算部は、前記利用状況管理テーブルに記憶されているポイント数に応じて前記ライセンス金額を演算するようにしてもよい。この場合、前記利用者が一定期間に入力できる前記ポイント数の合計に上限値を設け、前記上限値以上のポイント数は利用状況として無効化する無効化部を有するようにしてもよい。
さらに、前記利用者がポイント投票可能なアプリケーションを把握する把握部と、前記把握しているアプリケーションIDを前記利用者からの要求に応じて前記利用者が使用する所定の端末に提供する提供部とを有するようにしてもよい。そして、さらに、前記把握部は、前記利用者がポイント投票可能なアプリケーションとして、一定期間内に当該利用者によってダウンロードされたアプリケーションを把握するようにしてもよいし、また、前記把握部は、前記利用者がポイント投票可能なアプリケーションとして、一定期間内に当該利用者によって起動されたアプリケーションを把握するようにしてもよいし、また、前記把握部は、前記利用者がポイント投票可能な前記アプリケーションとして、一定期間内に当該利用者によってポイント投票されたアプリケーションを把握するようにしてもよい。
【0016】
また、前記検出部は、前記利用者によって投票された、一定期間における前記アプリケーション毎のポイント数を受信することにより、前記利用状況を検出し、前記受信したポイント数に含まれるポイントが、所定のポイント入力有効期間内に前記利用者によってダウンロードされたアプリケーションに対するポイント、所定のポイント入力有効期間内に前記利用者によって起動されたアプリケーションに対するポイント、又は、所定のポイント入力有効期間内に前記利用者によって投票されたアプリケーションに対するポイントのうち少なくともいずれか1つに該当する場合にのみ、前記利用者は前記アプリケーションにポイント投票可能であると判断する判断部を有するようにしてもよい。
【0017】
また、前記利用者に対し前記ポイントの投票対象となる前記アプリケーションを選択させる選択部と、前記選択されたアプリケーションへのポイント投票の可否を前記利用者毎に判別する判別部と、前記選択された前記アプリケーションが前記利用者にとってポイント入力できないアプリケーションであると判別された場合、前記利用者が使用する所定の端末にエラーメッセージを含むデータを送信するエラー送信部とを有するようにしてもよい。
【0018】
また、上記情報配信サーバシステムにおいて、前記検出部は、一定期間における前記アプリケーションのダウンロード回数、前記無線携帯端末における前記アプリケーションの起動回数、前記無線携帯端末における前記アプリケーションの実行時間、又は、前記利用者により前記アプリケーションに対して投票されたポイント数のうち少なくともいずれか2つを検出し、前記利用状況管理テーブルは、前記検出された少なくとも2つの検出値をパラメータとして記憶しており、前記演算部は、前記利用状況検出された少なくとも2つのパラメータを組み合わせた所定の計算式に基づいて前記ライセンス金額を演算するようにしてもよい。
【0019】
また、上記情報配信サーバシステムにおいて、無線通信網を経由することなく、直接、前記インターネットに接続可能なインターネット端末との間でデータ通信を行う通信部と、インターネット端末から前記通信部を介した要求に応じて、前記アプリケーションを検索し、少なくとも前記アプリケーションのアプリケーション名と当該アプリケーションの内容説明を含む検索結果を前記通信部を介して前記インターネット端末に出力する検索出力部とを有するようにしてもよい。この場合、前記インターネット端末からの要求に応じて、前記アプリケーションを前記無線携帯端末にダウンロードするために必要なアドレス情報を含む電子メールを生成し、当該無線携帯端末に送信するメール送信部を有するようにしてもよい。
また、前記検索出力部によって出力された検索結果を前記インターネット端末上で表示するための画面に、前記利用者の前記無線携帯端末に電子メールを送るための所定のボタンを配置させるデータを含めて画面データを生成する画面生成部を有し、前記メール送信部は、前記利用者による前記ボタンの入力操作を検出し、この検出に応じて前記検索結果が示すアプリケーションを前記無線携帯端末にダウンロードさせるためのURLを含む電子メールを生成し、当該無線携帯端末に送信するようにしてもよい。
【0020】
また、上記情報配信サーバシステムにおいて、請求項1に記載の情報配信サーバシステムにおいて、前記演算部により演算された前記ライセンス金額が所定の金額以上である場合にのみ、前記提供者に支払い可能なライセンス金額として出力する可能支払額出力部を有するようにしてもよい。この場合、前記可能支払額出力部は、一定期間にわたって前記演算部により演算された前記ライセンス金額を合計する合計部と、前記合計されたライセンス金額が所定の金額以上である場合にのみ支払い可能なライセンス金額として出力する出力部とを有するようにしてもよい。
【0021】
また、上記情報配信サーバシステムにおいて、前記支払状況管理テーブルには、各利用者ごとの支払状況が記憶されているようにしてもよい。
また、上記情報配信サーバシステムにおいて、前記支払状況管理テーブルには、各利用者が支払った利用料金の総計が記憶されているようにしてもよい。
また、上記情報配信サーバシステムにおいて、前記利用料金は、全ての利用者について一定額であるようにしてもよい。
また、上記情報配信サーバシステムにおいて、前記利用料金は、所定の基準によって分けられた利用者グループについて一定額であるようにしてもよい。
また、上記情報配信サーバシステムにおいて、前記検出部は、一定期間における前記アプリケーションのダウンロード回数をカウントし、これにより前記利用状況管理テーブルは、前記カウントされたダウンロード数を利用状況として利用者毎に記憶しており、各利用者について一定期間にカウントされた前記ダウンロード数が所定の上限回数を越えた場合、当該利用者がダウンロードを行うことを禁止する禁止制御部を有するようにしてもよい。
【0022】
また、上記情報配信サーバシステムにおいて、前記検出部は、一定期間における前記アプリケーションの実行時間を検出し、これにより前記利用状況管理テーブルは、前記検出された実行時間を利用状況として利用者毎に記憶しており、各利用者について一定期間に検出された前記実行時間が所定の上限時間を越えた場合、当該利用者の携帯電話機10が前記アプリケーションをダウンロードすること、若しくは、当該利用者の携帯電話機10が前記アプリケーションを実行することの少なくともいずれか一方を禁止する禁止制御部を有するようにしてもよい。
また、上記情報配信サーバシステムにおいて、前記検出部は、一定期間における前記アプリケーションの起動回数をカウントし、これにより前記利用状況管理テーブルは、前記カウントされた起動回数を利用状況として利用者毎に記憶しており、各利用者について一定期間に検出された前記起動回数が所定の上限回数を越えた場合、当該利用者の携帯電話機が前記アプリケーションをダウンロードすること、若しくは、当該利用者の携帯電話機10が前記アプリケーションを実行することの少なくともいずれか一方を禁止する禁止制御部を有するようにしてもよい。
【0023】
また、前記アプリケーションは、前記利用者がポイント投票を行うことが可能なポイント入力インタフェースを前記無線携帯端末上に表示させるプログラムを含み、前記検出部は、前記無線携帯端末が前記アプリケーションを実行することにより当該端末に表示される前記ポイント入力インタフェース上で前記利用者によって入力されたポイント数を前記インターネットを介して受信することにより、前記利用状況を検出するようにしてもよい。この場合、前記検出部は、前記利用者によって投票された、一定期間における前記アプリケーション毎のポイント数を受信することにより、前記利用状況を検出し、前記受信したポイント数に含まれるポイントが、所定のポイント入力有効期間内に前記利用者によってダウンロードされたアプリケーションに対するポイント、所定のポイント入力有効期間内に前記利用者によって起動されたアプリケーションに対するポイント、所定のポイント入力有効期間内に前記利用者によって投票されたアプリケーションに対するポイント、又は、前記アプリケーションに対応するポイント入力インターフェースを通じて入力されたポイントのうち少なくともいずれか1つに該当する場合にのみ、前記利用者は前記アプリケーションにポイント投票可能であると判断する判断部を有するようにしてもよい。
【0024】
また、上記情報配信サーバシステムにおいて、前記無線携帯端末にダウンロードされたアプリケーションと通信を行うことが可能な複数のサーバアプリケーションを記憶するサーバアプリケーション記憶部と、複数の前記サーバアプリケーションが共有でアクセス可能な共有データベースと、記サーバアプリケーション毎にアクセス可能な前記共有データベースのテーブルエリアを限定する限定部とを有するようにしてもよい。
また、上記情報配信サーバシステムにおいて、前記無線携帯端末にダウンロードされたアプリケーションと通信を行うことが可能な複数のサーバアプリケーションを記憶するサーバアプリケーション記憶部と、複数の前記サーバアプリケーションが共有でアクセス可能な共有データベースと、記アプリケーションの提供者毎にアクセス可能な前記共有データベースのテーブルエリアを限定する限定部とを有するようにしてもよい。
また、上記情報配信サーバシステムにおいて、前記無線携帯端末にダウンロードされたアプリケーションと通信可能なサーバアプリケーションを記憶するサーバアプリケーション記憶部と、前記利用者情報テーブルに保存されているデータにアクセス可能な共有プロセスインターフェースとを有し、前記サーバアプリケーションは、前記共有プロセスインターフェースを利用して、前記利用者情報テーブルにアクセスするようにしてもよい。
【0025】
また、本発明は、インターネット及び無線通信網を介してダウンロードしたアプリケーションを利用することができる無線携帯端末に対し、当該無線携帯端末からのダウンロード要求に応じて前記アプリケーションを配信する情報配信方法において、前記無線携帯端末の利用者が一定期間に支払うべき一定額の利用料金の支払い状況を記憶する利用料金記憶ステップと、前記アプリケーションが利用されている利用状況を検出する検出ステップと、前記検出された利用状況を記憶する利用状況記憶ステップと、前記記憶されている利用料金の総合計金額と前記記憶されている利用状況とに基づいて前記提供者情報テーブルに記憶されている各提供者に対して支払うべきライセンス金額をそれぞれ演算出力する演算ステップとを有することを特徴とする情報配信方法を提供する。
【0026】
上記情報配信方法において、前記検出ステップは、前記アプリケーションの利用状況を各アプリケーション毎に検出し、前記利用状況記憶ステップは、前記アプリケーションの利用状況を各アプリケーション毎に記憶しており、前記演算ステップは、前記記憶されている利用料金の総合計金額の一部を、前記提供者に支払うべきライセンス金額金の総合計金額として割り当てるステップと、各アプリケーションの提供者に対して支払うべきライセンス金額を、前記割り当てたライセンス金額金の総合計金額の中から、前記記憶されている利用状況に応じてそれぞれ配分出力するステップとからなるようにしてもよい。
【0027】
また、上記情報配信方法において、前記検出ステップは、前記アプリケーションの利用状況を各利用者ごとに検出し、前記利用状況記憶ステップは、前記アプリケーションの利用状況を各利用者毎に記憶しており、前記演算ステップは、前記利用者が支払った前記利用料金の一部を、当該利用者から前記アプリケーションの提供者に対して支払うべきライセンス金額として割り当てるステップと、前記各利用者から前記提供者に支払うべきライセンス金額を、前記割り当てられたライセンス金額の中から前記記憶されている利用状況に応じて配分出力するステップと、前記提供者のそれぞれに支払うべきライセンス金額を、全ての前記利用者に対応して前記配分出力されたライセンス金額を前記提供者毎に合計することによって算出するステップとからなるようにしてもよい。
【0028】
また、本発明は、上記記載の情報配信方法をコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記録媒体を提供する。
【発明を実施するための最良の形態】
【0029】
以下、図面を参照して、この発明の実施形態について説明する。ただし、本発明は、かかる実施形態に限定されず、その技術思想の範囲内で種々の変更が可能である。
A:構成
(1)ネットワークの全体構成
図1は、実施形態に係るシステムの全体構成を示すブロック図である。同図に示すように、このシステムは、利用者端末群1、提供者端末群2、移動パケット通信網3、インターネット4及びサーバ群5から大略構成される。
このシステムは全体としてコンテンツの流通を促す環境を提供するものであり、具体的には、提供者端末群2からサーバ群5に対し各種アプリケーションがアップロードされ、利用者端末群1からのリクエストに応じて上記アプリケーションがダウンロードされるようになっている。
この実施形態では、「アプリケーション」として特にJava(登録商標)プログラミング言語で記述された「アプレット」と呼ばれるコンピュータプログラムを例に挙げて説明するが、これに限定されることはなく、ネットワーク上でやり取り可能なデータであればこのアプリケーションの概念に含まれる。
【0030】
以下、このシステムの各構成要素について詳細に説明する。
利用者端末群1は、月々一定額の利用料金を支払うことによりサーバ群5に登録されている各種アプリケーションをダウンロードして利用できる権利を購入する利用者によって操作される端末群であり、携帯電話機10やパーソナルコンピュータ11からなる。
携帯電話機10は、図示せぬ移動電話網の通話サービスを受けるほか、移動パケット通信網3の基地局31との間で無線通信を行って無線データ通信を行う。
移動パケット通信網3は、通信サービスエリアに分散配置された基地局31、パケット交換サービスを行う交換局32、及びこれらを結ぶ通信線からなる。この移動パケット通信網3は、ゲートウェイ33を介してインターネット4に接続されており、この異なる2つのネットワーク間において双方向のデータ通信が可能となっている。携帯電話機10は、この移動パケット通信網3及びインターネット4を介して、サーバ群5から各アプリケーションをダウンロードすることが可能である。
パーソナルコンピュータ11は、図示せぬインターネット接続業者(プロバイダ)を介してインターネット4に通信接続可能なコンピュータである。利用者は、このコンピュータ11を操作してサーバ群5にアクセスし、アプリケーション検索サービスを受けることができる。
【0031】
提供者端末群2は、各種アプリケーションの提供者によって操作される端末群であり、パーソナルコンピュータ20を含む。
パーソナルコンピュータ12は、上述したパーソナルコンピュータ11と同様に、図示せぬインターネット接続業者(プロバイダ)を介してインターネット4に通信接続可能なコンピュータである。ここで提供者とは、各アプリケーションのライセンスを保持した者を指し、利用者が支払った利用料金の一部をアプリケーションの対価(以下ライセンス金額と呼ぶ)として受け取る権利を有する。
これらの携帯電話機10、パーソナルコンピュータ11及びパーソナルコンピュータ20は、実際にはもっと多数存在しており、このシステムはより多くの利用者や提供者に対するサービスが可能となっている。なお、以下では、パーソナルコンピュータをPCと略称する。
【0032】
サーバ群5は、ルータ6を介してインターネット4に接続されており、提供者端末群2からアップロードされたアプリケーションを携帯電話機10に配信するための専用サイトを運営・管理するための各種サーバからなる。
図1に示すように、このサーバ群5は、携帯電話機用WWW(World Wide Web)サーバ50、パーソナルコンピュータ用WWWサーバ51、DNS(Domain Name System)サーバ52、SMTP(Simple Mail Transfer Protocol)サーバ53、データベースサーバ54、集計サーバ55、管理者コンソール56、ファイヤウォールサーバ57、及びこれらを相互に接続する高速デジタル回線58からなる。
【0033】
携帯電話機用WWWサーバ50は、携帯電話機10に対して、携帯電話機専用のWWWページを提供したり、アプリケーションを配信するサーバである。
PC用WWWサーバ51は、PC11やPC21に対して、PC専用のWWWページを提供するサーバである。
DNSサーバ52は、インターネット4上の各ノードに割り当てられたホスト名とIP(Internet Protocol)アドレスとを対応付けて保持し、これらを相互に変換するサービスを行う周知のサーバである。
SMTPサーバ53は、SMTPをサポートする周知のメールサーバである。
データベースサーバ54は、アップロードされた各種アプリケーションや、後述するような各種テーブルを記憶する大容量記憶装置を備えたサーバである。
集計サーバ55は、データベースサーバ54が記憶している各種テーブルを用いて、コンテンツの利用状況や、その利用状況に応じたライセンス金額の計算等を行うサーバである。
管理者コンソール56は、サーバ群5の管理者によって操作されるコンピュータであり、これによりサーバ群5を構成する各種サーバのメンテナンスがなされる。
ファイヤウォールサーバ57は、外部ネットワークからの不正アクセスを排除する機能を司る周知のサーバである。
【0034】
(2)携帯電話機10の構成
次に、携帯電話機10の構成について説明する。
まず、図2を参照しながら、携帯電話機10のハードウェア構成について説明する。同図に示すように、携帯電話機10は、CPU(Central Processing Unit)100、ROM(Read Only Memory)101、RAM(Random Access Memory)102、SRAM(Static Random Access Memory)103、データ入出力部104、無線処理部105、音声処理部106、スピーカ107、マイクロホン108、キーパッド109、LCD(Liquid Crystal Display)110が接続されてなる。
ROM101には種々の制御プログラム等が格納されており、CPU100は、この制御プログラムを読み出して各種制御処理を実行する。その際、RAM102はCPU100のワークエリア等として用いられる。ROM101内の制御プログラムには、携帯電話機10の基本動作をサポートするファームウェアの他、ブラウザや後述する各種アプリケーションが含まれる。SRAM103は、携帯電話機用WWWサーバ50から提供されるページをキャッシュしたり、このサーバ50からダウンロードしたアプリケーションを記憶する。
無線処理部105は、図示せぬ周波数シンセサイザ、増幅器、変復調回路等からなり、アンテナ105−1を介して送受信される信号に対しフレーム同期・分離や誤り検出・訂正処理等を実行することにより、回線交換によって伝送される信号と、パケット交換によって伝送される信号とにそれぞれ対応した処理を行う。無線処理部105によって処理されるデータは、データ入出力部104を介してCPU100に入出力される。
音声処理部106は、スピーカ107及びマイクロホン108に接続され、音声信号に対して所定の処理を施す。
キーパッド109は、利用者が各種操作を行うための入力インタフェースであり、LCD110は各種情報を表示するための表示インタフェースである。
【0035】
次に、図3を参照しながら、携帯電話機10のプロセス構成について説明する。同図に示すように、プロセス構成の最下層は、携帯電話機10のハードウェア制御に関するキーインタフェース部KI、画面インターフェース部DI、データ通信ドライバDD、スピーカ・マイク制御部SM、メモリインタフェースMIによって構成される。
その上層は、ファームウェアFWによって構成され、このファームウェアにより携帯電話機10の基本的な処理がサポートされる。
さらに、その上層はジャババーチャルマシンJVM、ブラウザBS、電話機能部TS、設定部SSによって構成されており、ジャババーチャルマシンJVMの上層にはジャバアプレットAAPが構成される。
ジャバアプレットAPPは、Java(登録商標)によって記述されたアプリケーションであり、携帯電話機用WWWサーバ50から携帯電話機10にダウンロードされ、ジャババーチャルマシンJVM上で実行される。
【0036】
(3)携帯電話機用WWWサーバの構成
次に、携帯電話機用WWWサーバ50の構成について説明する。
この携帯電話機用WWWサーバ50は、周知のサーバマシンと同様のハードウェア構成であり、図示せぬCPU、ROM、RAM、ハードディスク装置、通信インタフェース等がバス接続されてなる。
図4は、携帯電話機用WWWサーバ50のプロセス構成を示す模式図である。同図に示すように、最下層の各種インターフェースから上層に向かって順に、OS(Operating System)、WWWサーバ、Webアプリケーションプログラムによって構成されている。
【0037】
(4)データベースサーバの構成
データベースサーバ54は、前述のとおり、様々な情報をテーブル形式で保持しており、これらの情報はこのシステムによる運営・管理のために利用されるようになっている。
以下、データベースサーバ54内の各種テーブルに登録されている内容について詳細に説明する。
【0038】
図5は、提供者マスタテーブルLMT(提供者情報テーブル)の登録内容を一例を示す図である。
同図に示すように、このテーブルLMTには、提供者名、提供者ID、登録日及び銀行口座、といった各種提供者情報がそれぞれ対応付けられて登録されている。提供者名とは、提供者がこのサーバ群5に届け出た名称である。提供者IDとは、各提供者を識別するためのIDである。登録日とは、提供者が、これら提供者情報をサーバ群5に登録した西暦年月日を意味する。銀行口座とは、提供者が開設している銀行口座であり、これが提供者が受け取るべきライセンス金額の振込先口座となる。
この提供者マスタテーブルLMTは、主として、提供者から要求に応じてライセンス金額やアプリケーションの利用状況を検索する処理(後述する)や、ライセンス金額の振り込み処理を行う際に利用される。
【0039】
図6は、アプリケーション登録マスタテーブルASTの登録内容の一例を示す図である。
同図に示すように、このテーブルASTには、アプリケーションID、提供者ID、アプリケーション名、サーバ名、ディレクトリ、ダウンロードファイル名、DBアクセスパスワード、説明文、ヘルプファイル及びキャプチャファイルといった各種情報が登録されている。
アプリケーションIDとは、各アプリケーションを識別するために割り当てられたIDである。提供者IDとは前述のとおりである。アプリケーション名とはアプリケーションの名称である。サーバ名とは、アプリケーションが格納されているサーバのホスト名であり、ディレクトリとは、アプリケーションが格納されているサーバ内のディレクトリ名であり、ダウンロードファイル名とは、格納されているサーバ内でのファイル名である。サーバ群5から携帯電話機10アプリケーションをダウンロードする際には、これらサーバ名、ディレクトリ、ダウンロードファイル名を指定してなされる。
次に、DBアクセスパスワードとは、提供者が各アプリケーションに関する情報についてデータベースサーバ54を検索する際に用いられるパスワードである。また、説明文とは、利用者に対しアプリケーションの内容を説明するための文章であり、例えば、利用者によるアプリケーション検索時やダウンロード時にPC11や携帯電話機10上に表示される。
ヘルプファイルとは、そのようなアプリケーション検索時やダウンロード時において利用者に対して提供されるヘルプ情報が格納されたファイル名であり、キャプチャファイルとは、利用者に視覚的にアプリケーションの内容を表示するための画像情報が格納されたファイル名である。
このアプリケーション登録マスタテーブルASTは、主として、利用者によるアプリケーションの検索時やダウンロード時のほか、提供者によるライセンス金額や利用状況の検索時に利用される。
【0040】
図7は、アプリケーションアクセス管理テーブルAAT(限定部、共有プロセスインタフェース)の登録内容の一例を示す図である。
同図に示すように、このテーブルAATには、アプリケーションID及びテーブル名が登録されている。このテーブル名は、アプリケーションが実行される際に、そのアプリケーションがアクセス可能なテーブルの名称を意味している。例えば、アプリケーションID「56789」が示すアプリケーション(ゲームソフトとする)は、ハイスコアを登録するための図示せぬハイスコアテーブルにアクセス可能であること、即ち、アプリケーションID「56789」が示すアプリケーションはハイスコア登録が可能であることを意味する。
このように、各アプリケーションごとにアクセス可能なテーブルが定義されていることにより、不正なアプリケーションによるアクセスを防止することができる。
【0041】
図8は、アプリケーション統計テーブルATTの登録内容の一例を示す図である。
同図に示すように、このテーブルATTには、アプリケーションID、対象年月、ダウンロード数、起動回数、実行時間、投票ポイント数、ライセンス金額及びライセンス金額支払フラグが登録されている。
このテーブルは、各アプリケーションの利用状況を把握するためのものであり、対象年月とは、その利用状況が把握される対象となる期間を意味する。
ダウンロード数とは、対象年月が示す期間にアプリケーションが携帯電話機10にダウンロードされた回数を意味する。
起動回数とは、対象年月が示す期間にアプリケーションが携帯電話機10上で起動された回数を意味する。
実行時間とは、対象年月が示す期間にアプリケーションが携帯電話機10上で実行された時間を意味する。
各利用者は自身が利用したアプリケーションに対して、その実用度や面白さに応じてポイントを投票することが可能となっており、投票ポイント数とは、その投票されたポイント数を意味している。
ライセンス金額は、提供者がアプリケーションの対価として受け取るべき金額であり、アプリケーションの利用状況に応じて後述する計算式に基づいて算出される。
ライセンス金額支払フラグとは、算出されたライセンス金額が既に提供者に支払われたか否かを示すフラグ情報である。
【0042】
図9は、利用者マスタテーブルUMTの登録内容の一例を示す図である。
同図に示すように、このテーブルUMTには、利用者名、利用者ID、パスワード、クレジットカード番号、入会日、退会日、電話番号、携帯電話機メールアドレス及びPCメールアドレスといった利用者情報が登録されている。
利用者名は、利用者の名称であり、利用者IDは各利用者を識別するために割り当てられたIDである。パスワードは、利用者がこのサーバ群5にログインする等のために必要なものであり、前述の利用者IDとこのパスワードによって利用者認証がなされる。
クレジットカード番号は、利用者が使用するクレジットカードの契約番号であり、このクレジットカード番号が示すクレジット契約を用いて利用料金の徴収がなされる。
入会日は、利用者がこのサービスに入会した西暦年月日であり、退会日は、利用者がこのサービスから退会した西暦年月日である。
電話番号は、利用者の電話番号であり、携帯電話機メールアドレスは、利用者によって所持され、各種アプリケーションをダウンロードするための携帯電話機10に割り当てられたメールアドレスである。また、PCメールアドレスは、利用者によって用いられるPC11に割り当てられたメールアドレスである。
このテーブルUMTは、例えば、利用者のログイン時や、利用者へのメール送信時等に用いられる。
【0043】
図10は、最終起動日時保存テーブルLRTの登録内容の一例を示す図である。
同図に示すように、このテーブルLRTには、利用者ID、アプリケーションID及び最終起動日時が登録されている。アプリケーションが携帯電話機10上で起動される際には、その起動通知が携帯電話機10から携帯電話機用WWWサーバ50に送信され、これに応じて、最終起動日時が最終起動日時保存テーブルLRT上に登録されるようになっている。
前述したポイント投票は、利用者が過去一定期間においてダウンロードや起動したアプリケーションに限定されており、このテーブルLRTは、利用者がポイント投票可能なアプリケーションを抽出する際に用いられる。
【0044】
図11は、利用者アクセス保存テーブルUATの登録内容の一例を示す図である。
同図に示すように、このテーブルUATには、利用者ID、アプリケーションID、対象年月、ダウンロード数、起動回数、実行期間及び投票ポイント数が登録されている。
ダウンロード数とは、対象年月が示す期間に、対応する利用者が、対応するアプリケーションを携帯電話機10にダウンロードした回数を意味する。
起動回数とは、対象年月が示す期間に、対応する利用者が、対応するアプリケーションが携帯電話機10上で起動した回数を意味する。
実行時間とは、対象年月が示す期間に、対応する利用者が、対応するアプリケーションを携帯電話機10上で実行した時間を意味する。
投票ポイント数とは、対象年月が示す期間に、対応する利用者が、対応するアプリケーションに対して投票したポイント数を意味している。
即ち、このテーブルUATは、アプリケーションの利用状況を把握するために用いられ、このテーブルUATに登録されている情報に基づいてアプリケーションを利用状況が把握され、その結果として提供者に支払うべきライセンス金額が定まるようになっている。
【0045】
図12は、利用者入金管理テーブルUPTの登録内容の一例を示す図である。
同図に示すように、このテーブルUMTには、利用者ID、対象年月及び入金フラグが登録されている。入金フラグは、利用者からの利用料金の支払があったか否かを示すフラグ情報である。
サーバ群5は、この利用者入金テーブルUPTを用いて、利用者による利用料金の支払を管理する。
【0046】
図13は、ダウンロードID管理テーブルDITの登録内容の一例を示す図である。
同図に示すように、このテーブルDITには、利用者ID、ダウンロード日時、アプリケーションID及びダウンロードIDが登録されている。
ダウンロードIDは、携帯電話機10からのダウンロード要求毎に毎回ユニークに発行されるIDであり、このテーブルDITには、発行された全てのダウンロードIDが記憶されている。このダウンロードIDは、後述するように、不正なアプリケーションを排除するために用いられる。
【0047】
図14は、最終ダウンロード管理テーブルLDTの登録内容の一例を示す図である。
同図に示すように、このテーブルLDTには、利用者ID、アプリケーションID及び最終ダウンロード日時が登録されている。このテーブルLDTも、テーブルLRTと同様に、利用者がポイント投票可能なアプリケーションを抽出する際に用いられる。
【0048】
B:動作
次に、上記構成からなる実施形の動作について説明する。
以下では、アプリケーションとして「アプレット」を処理対象とし、(1)アプレットの検索、(2)アプレットのダウンロード、(3)アプレットの実行、(4)アプレットのポイント投票、(5)ライセンス金額の算出、(6)提供者による各種検索、の順に動作説明を行う。
【0049】
(1)アプレットの検索
利用者は、PC11を操作することによりサーバ群5にアクセスし、所望のアプレットを検索することができる。
図15〜16は、アプレット検索時のPC11及びPC用WWWサーバ51の動作を示すシーケンス図であり、図17は、その際にPC11上に表示される画面の一例を示す図である。
図15において、まず、利用者は、PC11を操作してブラウザを起動し、PC用WWWサーバ51が保持するトップページのURL(ここでは「http://www-p.techfirm.co.jp/index.html」とする)を入力する。PC11はこの操作を受けつける(ステップSa1)。この際、URLの入力に限らず、別のページ上のアンカーからのジャンプであってもよいことはもちろんである。
【0050】
次いで、PC11は、トップページにアクセスするためのリクエストをインターネット4に送出する(ステップSa2)。このリクエストは、同図に示すように、GETメソッドにより指定された「http://www-p.techfirm.co.jp/index.html」からなる文字列を含む。
【0051】
PC用WWWサーバ51は、インターネット4を介して、上記リクエスト信号を受信すると、リクエストURI(Uniform Resource Identifier)によって指定されているトップページをハードディスクから読み出し(ステップSa3)、これをPC11に送信する(ステップSa4)。
【0052】
PC11は、上記トップページを受信すると、これを解釈して表示部に表示する(ステップSa5)。ここで表示されるページは、PC用WWWサーバ51にログインするためのページであり、例えば図17(a)に示すように所定フィールド内に利用者IDとパスワードの入力を促すメッセージが表示されている。
【0053】
利用者が、利用者IDとパスワードを入力し、ログインを指示する操作を行うと、PC11は、ログインを要求するリクエストをPC用WWWサーバ51に送信する(ステップSa6)。例えば、利用者ID「10000」、パスワード「9999」が入力された場合、このリクエストには、GETメソッドにより指定された「http://www-p.techfirm.co.jp/cgi-bin/login.cgi?id=10000&pw=9999」からなる文字列が含まれる。
【0054】
PC用WWWサーバ51は、上記リクエストに応じてlogin.cgiに対応するCGI(Common Gateway Interface)を起動し、データベースサーバ54内の利用者マスタテーブルUMTを参照し、受信した利用者ID「10000」及びパスワード「9999」の組が正しい組であるか否かを判断する(ステップSa7)。
【0055】
この判断の結果、組が正しければ、PC用WWWサーバ51は、次なるエントランスページを構成して、PC11に返信する(ステップSa8)。一方、この判断の結果、組が正しくなければ、所定のエラー画面を構成して、PC11に返信することになる。
以降、PC11及びPC用WWWサーバ51間で実行される各セッションをPC用WWWサーバ51側で管理するために、PC11からPC用WWWサーバ51に送信されるデータには利用者IDを示す文字列「id=10000」が埋め込まれるようになっている。
【0056】
さて、PC11はエントランスページを受信すると、これを解釈して表示部に表示する(ステップSa9)。ここで表示されるページには、図17(b)に示すようにサイトの概略説明や各種メニューが列記されている。
【0057】
利用者がアプレット検索を行うためには同図(b)に示す「ライブラリ」ボタンをクリックすればよく、このクリック操作に応じて、PC11は、ライブラリサービスを要求するためのリクエストをPC用WWWサーバ51に送信する(ステップSa10)。このリクエストには、GETメソッドにより指定された「http://www-p.techfirm.co.jp/cgi-bin/lib.cgi?id=10000」からなる文字列が含まれる。
【0058】
PC用WWWサーバ51は、上記リクエストに応じてlib.cgiを起動してライブラリページを構成し(ステップSa11)、これをPC11に返信する(ステップSa12)。
【0059】
PC11はライブラリページを受信すると、これを解釈して表示部に表示する(ステップSa13)。ここで表示されるライブラリページは、図17(c)に示すように検索対象のアプレットをカテゴリー別に選択するためのページである。ここでは、例えば利用者は、同図に示す「ゲーム」のボタンをクリックしてこれを選択したとする。
【0060】
このクリック操作に応じて、PC11は、ゲームのアプレットのリストページを要求するためのリクエストをPC用WWWサーバ51に送信する(ステップSa14)。このリクエストには、GETメソッドにより指定された「http://www-p.techfirm.co.jp/cgi-bin/lib-game.cgi?id=10000&page1」からなる文字列が含まれる。
【0061】
PC用WWWサーバ51は、上記リクエストに応じてlib-game.cgiを起動してゲームリストページの1ページ目を構成し(ステップSa15)、これをPC11に送信する(ステップSa16)。
【0062】
PC11はゲームリストページの1ページ目を受信すると、これを解釈して表示部に表示する(ステップSa17)。ここで表示されるページには、図17(d)に示すように各種ゲームのタイトル名が列記されている。ここでは、利用者は同図(d)に示すタイトル名「drops」をクリックして選択したとする。なお、ゲームリストページは、1ページのみによって構成されるわけではなく、複数ページにわたって構成される場合も当然ありえる。この場合、利用者が図17(d)に示されている「次へ」をクリックすることにより、「http://www-p.techfirm.co.jp/cgi-bin/lib-game.cgi?id=10000&page2」という文字列を含むリクエストがPC11からPC用WWWサーバ51に送信されて、ゲームリストの2ページ目が提供される。このように、リクエストURIの最後尾が「pageN」と表記されることにより、ゲームリストのNページ目が提供されるようになっている。
【0063】
さて、上記クリック操作に応じて、PC11は、「drops」のゲーム説明を要求するためのリクエストをPC用WWWサーバ51に送信する(ステップSa18)。このリクエストには、GETメソッドにより指定された「http://www-p.techfirm.co.jp/cgi-bin/expl.cgi?id=10000&app=56789」からなる文字列が含まれる。ここで、「app=56789」は「drops」に割り当てられたアプリケーションIDを意味する。
【0064】
PC用WWWサーバ51は、上記リクエストに応じてexpl.cgiを起動して「drops」ゲームの説明ページを構成し(ステップSa19)、これをPC11に送信する(ステップSa20)。この際、PC用WWWサーバ51は、データベースサーバ54内のアプリケーション登録マスタテーブルASTを参照して、指定されたアプレットに対応する説明文やキャプチャファイル等を参照して、説明ページを構成する。
【0065】
PC11は説明ページを受信すると、これを解釈して表示部に表示する(ステップSa21)。ここで表示されるページには、図17(e)に示すように「drops」の内容を説明する説明文と、そのゲームが行われている様子を動画で視覚的に表現したキャプチャが含まれている。
【0066】
利用者は、これらの説明を参照し、このゲームを自身の携帯電話機10にダウンロードさせる意思があれば、同図(e)に示す「URLメール」ボタンをクリックする。
このクリック操作に応じて、PC11は、「drops」を携帯電話機10にダウンロードさせるためのアクセスURLを、この携帯電話機10に送信してもらうことを要求するリクエストをPC用WWWサーバ51に送信する(ステップSa22)。このリクエストには、GETメソッドにより指定された「http://www-p.techfirm.co.jp/cgi-bin/urlmail.cgi?id=10000&app=56789」からなる文字列が含まれる。
【0067】
PC用WWWサーバ51は、上記リクエストに応じてurlmail.cgiを起動して携帯電話機10に割り当てられているメールアドレスを宛先とし、上記リクエストによって指定されたゲームソフト「drops」へのアクセスURL(http://www-c.techfirm.co.jp/cgi-bin/expl.cgi?id=10000&app=56789)を記述した電子メールを生成し、これを送信する(ステップSa23)。この際、宛先となる携帯電話機10のメールアドレスは、利用者マスタテーブルUMTを参照することにより把握できる。
【0068】
そして、このメール送信が完了すると、PC用WWWサーバ51は、完了通知ページを生成し、これをPC11に送信する(ステップSa24)。
PC11は完了通知ページを受信すると、これを解釈して表示部に表示し(ステップSa25)、同図に示す処理は終了する。
【0069】
さて、アクセスURLが書き込まれた電子メールを受信した携帯電話機10は、自身のメールブラウザ上で、メール上のアクセスURLを選択すると、直接、そのURLが示すサイトへジャンプすることができる。これにより、利用者は携帯電話機10では入力する事が煩わしいURLをわざわざ入力する必要がなくなる。また、複雑な検索オペレーションを携帯電話機10上で行う必要もなくなり、利用者にとっては非常に便利である。
【0070】
(2)アプレットのダウンロード
次に、アプレットのダウンロード処理について説明する。
図18〜図20は、アプレットダウンロード時の携帯電話機10及び携帯電話機用WWWサーバ50の動作を示すシーケンス図であり、図21はこの際、携帯電話機10のLCD111に表示される画面の一例を示す図である。
図18において、まず、利用者は、携帯電話機10を操作してブラウザを起動し、携帯電話機用WWWサーバ50が保持するトップページのURL(ここでは「http://www-c.techfirm.co.jp/index.html」とする)を入力する。これに応じて、携帯電話機10は上記入力操作を受けつける(ステップSb1)。この際、URLの入力に限らず、別のページ上のアンカーからのジャンプであってもよいことはもちろんである。
【0071】
次いで、携帯電話機10は、上記トップページにアクセスするためのリクエストをインターネット4に送出する(ステップSb2)。このリクエストは、同図に示すように、GETメソッドにより指定された「http://www-c.techfirm.co.jp/index.html」からなる文字列を含む。
【0072】
携帯電話機用WWWサーバ50は、インターネット4を介して、上記リクエストを受信すると、リクエストURIによって指定されているページをハードディスクから読み出し(ステップSb3)、これを携帯電話機10に返信する(ステップSb4)。
【0073】
携帯電話機10は、上記ページを受信すると、これを解釈してLCD111に表示する(ステップSb5)。ここで表示されるトップページは、携帯電話機用WWWサーバ50が提供するサービスに入会若しくはログインするためのページであり、例えば図21(a)に示すような構成となっている。
【0074】
利用者が同図(a)に示す「ログイン」を選択操作すると、携帯電話機10は、ログインを要求するリクエストを携帯電話機用WWWサーバ50に送信する(ステップSb6)。このリクエストは、同図に示すように、GETメソッドにより指定された「http://www-c.techfirm.co.jp/login.html」からなる文字列を含む。
【0075】
携帯電話機用WWWサーバ50は、上記リクエストを受信すると、リクエストURIによって指定されているログインページをハードディスクから読み出し(ステップSb7)、これを携帯電話機10に返信する(ステップSb8)。
【0076】
携帯電話機10は、ログインページを受信すると、これを解釈してLCD111に表示する(ステップSb9)。ここで表示されるログインページは、例えば図21(b)に示すような構成となっており、所定フィールド内に利用者IDとパスワードの入力を促すメッセージが表示されている。
【0077】
利用者が、利用者IDとパスワードを入力し、ログインを指示する操作を行うと、携帯電話機10は、ログインを要求するリクエストを携帯電話機用WWWサーバ50に送信する(ステップSb10)。例えば、利用者ID「10000」、パスワード「9999」が入力された場合、このリクエストにはGETメソッドにより指定された「http://www-c.techfirm.co.jp/cgi-bin/start.cgi?id=10000&pw=9999」からなる文字列が含まれる。
【0078】
携帯電話機用WWWサーバ50は、上記リクエストに応じてstart.cgiを起動してデータベースサーバ54内の利用者マスタテーブルUMTを参照し、受信した利用者ID「10000」及びパスワード「9999」の組が正しい組であるか否かを判断する(ステップSb11)。
【0079】
この判断の結果、組が正しければ、携帯電話機用WWWサーバ50は、次なるメニューページを構成して、携帯電話機10に返信する(ステップSb12)。一方、この判断の結果、組が正しくなければ、所定のエラー画面を構成して、携帯電話機10に返信することになる。
以降、携帯電話機10及び携帯電話機用WWWサーバ50間で実行される各セッションを携帯電話機用WWWサーバ50側で管理するために、携帯電話機10から携帯電話機用WWWサーバ50に送信されるデータには利用者IDを示す「id=10000」が埋め込まれるようになっている。
【0080】
さて、携帯電話機10はメニューページを受信すると、これを解釈してLCD111に表示する(ステップSb13)。ここで表示されるページには、図21(c)に示すように各種メニューが列記されている。
【0081】
利用者がアプレットをダウンロードするためには同図(c)に示す「ライブラリ」ボタンを選択すればよく、この選択操作に応じて、携帯電話機10は、ライブラリページを要求するためのリクエストを携帯電話機用WWWサーバ50に送信する(ステップSb14)。このリクエストには、GETメソッドにより指定された「http://www-c.techfirm.co.jp/cgi-bin/libtop.cgi?id=10000」からなる文字列が含まれる。
【0082】
携帯電話機用WWWサーバ50は、上記リクエストに応じてlibtop.cgiを起動してライブラリページを構成し(ステップSb15)、これを携帯電話機10に返信する(ステップSb16)。
【0083】
携帯電話機10はライブラリページを受信すると、これを解釈してLCD111に表示する(ステップSb17)。ここで表示されるライブラリページは、図21(d)に示すようにデータベースサーバ54が保存しているアプレットをカテゴリー別に選択するためのページである。ここでは、例えば利用者は、同図に示す「ゲーム」を選択したとする。
【0084】
この選択操作に応じて、携帯電話機10は、ゲームリストページを要求するためのリクエストを携帯電話機用WWWサーバ50に送信する(ステップSb18)。このリクエストには、GETメソッドにより指定された「http://www-c.techfirm.co.jp/cgi-bin/lib-game.cgi?id=10000&page1」からなる文字列が含まれる。
【0085】
携帯電話機用WWWサーバ50は、上記リクエストに応じてlib-game.cgiを起動してゲームリストページの1ページ目を構成し(ステップSb19)、これを携帯電話機10に送信する(ステップSb20)。
【0086】
携帯電話機10はゲームリストページの1ページ目を受信すると、これを解釈してLCD111に表示する(ステップSb21)。ここで表示されるページには、図21(e)に示すように各種ゲームのタイトル名が列記されている。ここでは、利用者は同図(e)に示すタイトル名「drops」を選択したとする。なお、ゲームリストページは、1ページのみによって構成されるわけではなく、複数ページにわたって構成される場合も当然ありえる。この場合、利用者が図21(e)に示されている「次へ」を選択することにより、「http://www-c.techfirm.co.jp/cgi-bin/lib-game.cgi?id=10000&page2」という文字列を含むリクエストが携帯電話機10から携帯電話機用WWWサーバ50に送信されて、ゲームリストの2ページ目が提供される。このように、リクエストURIの最後尾が「pageN」と表記されることにより、ゲームリストのNページ目が提供されるようになっている。
【0087】
さて、上記選択操作に応じて、携帯電話機10は、「drops」のゲーム説明を要求するためのリクエストを携帯電話機用WWWサーバ50に送信する(ステップSb22)。このリクエストには、GETメソッドにより指定された「http://www-p.techfirm.co.jp/cgi-bin/expl.cgi?id=10000&app=56789」からなる文字列が含まれる。ここで、「app=56789」は「drops」に割り当てられたアプリケーションIDを意味する。
【0088】
携帯電話機用WWWサーバ50は、上記リクエストに応じてexpl.cgiを起動して「drops」ゲームの説明ページを構成し(ステップSb23)、これを携帯電話機10に送信する(ステップSb24)。この際、携帯電話機用WWWサーバ50は、データベースサーバ54内のアプリケーション登録マスタテーブルASTを参照して、指定されたアプレットに対応する説明文やキャプチャファイル等を参照して、説明ページを構成する。
【0089】
さて、携帯電話機10は上記説明ページを受信すると、これを解釈してLCD111に表示する(ステップSb25)。ここで表示されるページには、図21(f)に示すように「drops」の内容を説明する説明文のほか、ダウンロード、使用法、画面キャプチャ等の各種操作を選択するためのボタンが表示されている。
【0090】
利用者は、これらの説明を参照し、このゲームを自身の携帯電話機10にダウンロードさせる意思があれば、図21(f)に示す「ダウンロード」を選択する。この選択操作に応じて、携帯電話機10は、「drops」を携帯電話機10にダウンロードするためのリクエストを携帯電話機用WWWサーバ50に送信する(ステップSb26)。このリクエストには、GETメソッドにより指定された「http://www-c.techfirm.co.jp/56789/dl.cgi?id=10000」からなる文字列が含まれる。
【0091】
携帯電話機用WWWサーバ50は、上記リクエストに応じてdl.cgiを起動し、「drops」に対応して用意しているダウンロード用HTMLデータを構成し(ステップSb27)、これを携帯電話機10に送信する(ステップSb28)。このダウンロード用のHTMLデータは、図22に示すような構成となっている。
図22において、「param」タグ指定のパラメータのうち、パラメータ「ID」は、携帯電話機用WWWサーバ50と通信する際に利用者を識別するために利用される。また、パラメータ「DLID」はダウンロードのためのデータを作成する際に毎回ユニークに発行され、後述するように、携帯電話機用WWWサーバ50が携帯電話機10側のアプリケーションと通信を行う際に、そのアプリケーションの正当性を確認するために利用される。
【0092】
携帯電話機10は、受信したHTMLデータの中から、「applet」タグを検出すると(ステップSb29)、「ARCHIVE」タグで指定されたJARファイルを取得するためのリクエストを携帯電話機用WWWサーバ50に送信する(ステップSb30)。このリクエストには、GETメソッドにより指定された「http://www-c.techfirm.co.jp/56789/drops.jar」からなる文字列が含まれる。
【0093】
携帯電話機用WWWサーバ50は、上記リクエストに応じて、ファイル名「drops.Jar」が示すJARファイルをデータベースサーバ54から読み出し(ステップSb31)、これを携帯電話機10に送信する(ステップSb32)。
【0094】
携帯電話機10は、JARファイルを受信し、これをSRAM104に書きこんでいく(ステップSb33)。
JARファイルの取得が完了すると、携帯電話機10は、上述したHTMLデータ内の「COMPLETE」で指定されたURLに対しダウンロードの完了を意味するリクエストを送信する(ステップSb34)。このリクエストにはGETメソッドにより指定された「http://www-c.techfirm.co.jp/cgibin/dlfinish.cgi?id=10000&app=56789&DLID=99887766」からなる文字列が含まれる。
また、これとともに、携帯電話機10は、JARファイルを取得完了すると、SRAM124内の所定の記憶エリアに、図22において「CODE」タグで指定され、アプレット起動時に最初に実行するクラス、実行されるアプレットが参照可能なものとして「param」タグで指定されたパラメータ、取得元のホスト名「game.techfirm.co.jp」を保存する。ダウンロードされたアプレットは、ジャババーチャルマシンJVMの制限によって、取得元のサーバ(ホスト名「game.techfirm.co.jp」)としか通信できないようになっている。
【0095】
さて、携帯電話機用WWWサーバ50は、上記リクエストに応じてdlfinish.cgiを起動することによりデータベースサーバ54にアクセスし、利用者アクセス保存テーブルUAT上で、利用者ID「10000」及びアプリケーションID「56789」に対応付けて、ダウンロードカウント値を1カウントインクリメントするほか、ダウンロードID管理テーブルDIT、最終ダウンロード管理テーブルLDT上にダウンロード日時等を書き込む(ステップSb35)。即ち、携帯電話機用WWWサーバ50は、前述したダウンロードID管理テーブルDIT上で、ダウンロードID、アプリケーションID及び利用者IDをセットで記憶しておく。
【0096】
そして、携帯電話機用WWWサーバ50は、携帯電話機10のアプリケーションからデータを受け取るときに、この携帯電話機10から上記3つのデータを組として受け取るようにすれば、上記ダウンロード管理テーブル上のデータと比較することにより、そのデータの送信元はWWWサーバ50自身が携帯電話機10にダウンロードさせた正当なアプリケーションであると認識する事が可能である。この仕組みによって、別の端末からあるいは不正アプリケーションによるデータ改竄やなりすましを防止することが可能になるといえる。
【0097】
そして、携帯電話機用WWWサーバ50は、ダウンロード処理がすべて完了した旨のOKメッセージを生成し、これを携帯電話機10に送信する(ステップSb36)。
携帯電話機10は上記メッセージを受信すると、これを解釈してLCD111に表示し(ステップSb37)、同図に示す処理は終了する。
【0098】
(3)アプレットの実行
次に、アプレットの実行処理について説明する。
図23〜24は、アプレット実行時の携帯電話機10及び携帯電話機用WWWサーバ50の動作を示すシーケンス図であり、図25はこの際、携帯電話機10のLCD111に表示される画面の一例を示す図である。
図23において、まず、利用者は、携帯電話機10を操作し、ダウンロード済のアプレットのリストをSRAM124から読み出してLCD111に表示させる(ステップSc1)。ここで表示されるアプレットのリストは、例えば図25(a)に示すような構成となっており、ダウンロードしたアプレット名が列記されている。
【0099】
ここで、例えば利用者が図25(a)に示す「drops」を選択すると、LCD111の表示は図25(b)に示すような画面に遷移し、選択したアプレットを起動するか否かを利用者に問い合わせるメッセージが表示される(ステップSc2)。
【0100】
図25(b)上で利用者が「OK」を選択すると、携帯電話機10は、ジャババーチャルマシンJVMを起動し、最初に呼び出すクラスである「drops.class」を指定する(ステップSc3)。
【0101】
そして、携帯電話機10は、アプレット起動を通知するためのリクエストを携帯電話機用WWWサーバ50に送信する(ステップSc4)。このリクエストは、同図に示すように、GETメソッドにより指定された「http://game.techfirm.co.jp/start.cgi?id=10000&app=56789&DLID=99887766」からなる文字列を含む。
ここで、前述したように携帯電話機用WWWサーバ50と携帯電話機10側のアプリケーションとの間における通信の正当性を確認するため、上記リクエストには、ダウンロードIDを示す「DLID=99887766」、アプリケーションIDを示す「app=56789」、及び利用者IDを示す「id=10000」が含まれている。
【0102】
さて、携帯電話機用WWWサーバ50は、上記リクエストを受信するとstart.cgiを起動し、データベースサーバ54内のダウンロードIDテーブルDITを参照して、上述のダウンロードID、アプリケーションID及び利用者IDの組が正しい組であるか否かを判断する。
次いで、携帯電話機用WWWサーバ50は、利用者アクセス保存テーブルUAT上で、受信した利用者ID「id=10000」及びアプリケーションID「app=56789」に対応する起動回数を1カウントだけインクリメントするとともに、最終起動日時保存テーブルLRT上で、利用者ID「id=10000」及びアプリケーションID「app=56789」に対応する最終起動日時を書き込む(ステップSc5)。
【0103】
そして、携帯電話機用WWWサーバ50は、起動を承認した旨のOKメッセージを生成し、携帯電話機10に返信する(ステップSc6)。
【0104】
この通知に応じて、携帯電話機10は、「drops」ゲームのアプレットを実行する(ステップSc7)。この際の携帯電話機10のLCD111の表示例を図25(c)に示す。
【0105】
さて、利用者が行っていたゲームが終了し、そのゲームスコアが自身の過去最高となるとハイスコア登録が可能となる。この登録処理は、利用者がゲーム終了画面上の図示せぬハイスコアボタンを選択することにより開始される(ステップSc8)。
【0106】
まず、携帯電話機10は、ハイスコア登録を要求するためのリクエストを携帯電話機用WWWサーバ50に送信する(ステップSc9)。このリクエストには、図に示すように、GETメソッドにより指定された「http://game.techfirm.co.jp/56789/highsc.cgi?id=10000&sc=12256000」からなる文字列が含まれる。ここで、「sc=12256000」は、スコアが12256000点であることを意味している。
【0107】
携帯電話機用WWWサーバ50は、上記リクエストに応じてhighsc.cgiを起動してデータベースサーバ54内の図示せぬハイスコアテーブルに指定されたスコアを登録する。ハイスコア登録処理が完了すると、携帯電話機用WWWサーバ50は、ハイスコア処理が完了した旨のOKメッセージを生成するとともに、利用者名「Tech」を取得する(ステップとSc10)。これらの処理の詳細は、図26に示すフローを用いて後述する。
【0108】
そして、携帯電話機WWWサーバ50は、上記OKメッセージと利用者とを携帯電話機10に送信する(ステップSc11)。
【0109】
携帯電話機10はOKメッセージと利用者名を受信すると、これを解釈して、図25(d)に示すように画面を表示する(ステップSc12)。この画面上で利用者によって「OK」が選択されると、LCD111上には元のゲーム画面が表示される。
【0110】
そして、利用者によりゲーム終了の操作がなされると、携帯電話機10はこれを受けつけ(ステップSc13)、アプレット終了を要求するためのリクエストを携帯電話機用WWWサーバ50に送信する(ステップSc14)。このリクエストには、図24に示すように、GETメソッドにより指定された「http://game.techfirm.co.jp/56789/exit.cgi?id=10000&app56789&DLID99887766」からなる文字列が含まれる。
【0111】
携帯電話機用WWWサーバ50は、exit.cgiを起動し、前述と同様に、ダウンロードIDを示す「DLID=99887766」、アプリケーションIDを示す「app=56789」、及び利用者IDを示す「id=10000」の組の正当性を確認した後、最終起動日時テーブルLRTを参照し、利用者ID「10000」がアプリケーションID「56789」を起動した時刻と、アプレットの終了リクエストを受け取った時刻との差、即ち、アプレットの実行時間を求め、これを利用者アクセス保存テーブルUAT上で利用者ID「10000」及びアプリケーションID「56789」に対応付けて登録する(ステップSc15)。
【0112】
そして、携帯電話機用WWWサーバ50は、処理がすべて完了した旨のOKメッセージを生成し、これを携帯電話機10に送信する(ステップSc16)。
【0113】
携帯電話機10は上記メッセージを受信すると、これに応じて自身のローカルメニューの表示状態に戻り(ステップSc17)、同図に示す処理は終了する。
【0114】
(4)ハイスコア登録処理
以下、前述したハイスコア登録処理について、図26に示すフローを用いて説明する。
前述したようにhighsc.cgiが起動されると、携帯電話機WWWサーバ50は、ハイスコアテーブルをオープンするためのオープンプロセスを行うためのパラメータを設定する(ステップSm1)。具体的には、アプリケーションID、アプリケーションパスワード及びテーブル名といった各種パラメータが設定される。ここで、アプリケーションパスワードとは、提供者に対し予め発行されたパスワードであり、highsc.cgiのコードに定義されている。また、テーブル名とは、オープン対象となるテーブル名であり、ここでは「highscore」である。
【0115】
次いで、指定されたテーブルのオープンプロセスがコールされ、処理はステップSn1に移る。ステップSn1では、設定されたパラメータのうち、アプリケーションIDとアプリケーションパスワードとが抽出され、これらが正当な組であるか否かが判断される(ステップSn1)。
【0116】
正当な組であると判断された場合には(ステップSn1;Yes)、アプリケーションアクセス管理テーブルAATが参照され、アプリケーションIDが示すアプリケーションがハイスコアテーブルにアクセス可能か否かが判断される(ステップSn2)。
【0117】
アクセス可能であれば、ハイスコアテーブルがオープンされ(ステップSn3)、これが成功すると(ステップSn4;Yes)、ハイスコアテーブルオープンに成功した旨を返す(ステップSn5)。
【0118】
オープンに成功した旨を受け取ると(ステップSm2)、そのハイスコアテーブル上で、利用者IDに対応してスコアとその日時とが登録される(ステップSm3)。
【0119】
そしてハイスコアテーブルはクローズされ(ステップSm6)、次いで、利用者名取得プロセスがコールされ、これに応じて、利用者名が取得される(ステップSm5)。この利用者名取得プロセスは、上述したハイスコアテーブルオープンプロセスと同様にしてなされる。
このようにして、利用者名を取得すると、前述したように、携帯電話機用WWWサーバ50から携帯電話機10に対して、OKメッセージと利用者名が返信される。
【0120】
通常、アプレットは、ダウンロード元のサーバとしか通信できないため、複数のアプレットで1つのサーバを共有する事になり、各アプリケーション間でのアクセス管理が問題になるが、上記のように各アプリケーション間でアクセスするエリアを排他的に制御することによって、その安全性が確保できる。また、利用者に関するデータのように、様々なアプリケーションによって利用され、またプライバシー保護が重視されるデータに関しては、そのアクセスのための共通のアプリケーションインターフェースをサーバが提供することによって、データの無駄を省くことができ、そしてプライバシーデータに対するセキュリティを向上させることができる。
【0121】
(5)ポイント投票
次に、ポイント投票処理について説明する。
図27は、ポイント投票時の携帯電話機10及び携帯電話機用WWWサーバ50の動作を示すシーケンス図であり、図28はこの際携帯電話機10のLCD111に表示される画面の一例を示す図である。
図27において、まず、利用者は、上述したアプレットダウンロード時の処理と同様に、携帯電話機10を操作してブラウザを起動し、パスワード等による認証を終えた後、携帯電話機用WWWサーバ50からメニューページを受信し、これを表示する(ステップSd1)。ここで表示されるページには、前述の図21(c)に示すように各種メニューが列記されている。
【0122】
ポイント投票サービスを受けるためには同図(c)に示す「投票」ボタンを選択すればよく、この選択操作に応じて、携帯電話機10は、投票リストページを要求するためのリクエストを携帯電話機用WWWサーバ50に送信する(ステップSd2)。このリクエストには、GETメソッドにより指定された「http://www-c.techfirm.co.jp/cgi-bin/votelist.cgi?id=10000&page=1」からなる文字列が含まれる。
【0123】
携帯電話機用WWWサーバ50は、上記リクエストに応じてvotelist.cgiを起動し、投票リストページを構成する(ステップSd3)。即ち、データベースサーバ54にアクセスして最終起動日時保存テーブルLRT、最終ダウンロード管理テーブルLDT及び利用者アクセス保存テーブルUATを参照し、利用者ID「10000」が示す利用者が、最後にダウンロードした月、若しくは最後に起動した月、もしくは最後に実行が終了した月、若しくは最後に投票した月が3ヶ月以内であるアプレットのアプリケーションIDを全て抽出すると共に、その利用者が現時点で投票できる投票可能ポイント数を取得し、これらを表示するためのリストページを構成する。この際、全てのデータを表示するためには複数ページに分割して構成するようにしてもよい。
なお、ここでは、所定期間において1人の利用者が投票可能なポイント数には上限が設けられており、ここでは、1人につき毎月、70ポイントの投票が可能であるとする。このような前提の下、図11に示す利用者アクセス管理テーブルUATを参照すると、利用者ID「10000」は今月(2000年6月)に既に合計40ポイントを投票しているので、今月の残り期間に投票可能なポイント数は残り30ポイントとなる。
【0124】
さて、携帯電話機用WWWサーバ50は、上述のようにして構成したリストページを携帯電話機10に送信する(ステップSd4)。
【0125】
携帯電話機10はリストページを受信すると、これを解釈してLCD111に表示する(ステップSd5)。ここで表示されるリストページには、図28(a)に示すように、投票可能ポイント数と、投票可能なアプレットのリストが表示される。ここでは、例えば利用者は、同図に示す「drops」のボタンを選択して、このアプレットに対する投票を行うものとする。
【0126】
この選択操作に応じて、携帯電話機10は、投票ページを要求するためのリクエストを携帯電話機用WWWサーバ50に送信する(ステップSd6)。このリクエストには、GETメソッドにより指定された「http://www-c.techfirm.co.jp/cgi-bin/voteinput.cgi?id=10000&app56789」からなる文字列が含まれる。携帯電話機用WWWサーバ50は、上記リクエストに応じてvoteinput.cgiを起動し、投票ページを構成する(ステップSd7)。即ち、利用者アクセス管理テーブルUATを参照することにより、利用者ID「10000」が指定したアプリケーション「56789」に対して今月、既に投票したポイント数を取得して、ポイント入力を行う入力フィールドを含んだページを構成する。
【0127】
そして、携帯電話機用WWWサーバ50は、構成した投票ページを携帯電話機10に送信する(ステップSd8)
【0128】
携帯電話機10は投票ページを受信すると、これを解釈してLCD111に表示する(ステップSd9)。ここで表示されるページは、図28(b)に示すように、今月において投票可能ポイント数「30ポイント」と、「drops」に対して今月既に投票したポイント数「10ポイント」と、ポイント入力を行うフィールドが表示されている。ここでは、利用者は同図(b)に示す入力フィールド内に「20」ポイントを入力し、「投票」ボタンを選択したとする。なお、「キャンセル」ボタンが選択されると、今までの操作はキャンセルされ、メニューページに戻る。
【0129】
上記選択操作に応じて、携帯電話機10は、「drops」に対するポイント投票を要求するためのリクエストを携帯電話機用WWWサーバ50に送信する(ステップSd10)。このリクエストにはGETメソッドで指定された「http://www-c.techfirm.co.jp/cgi-bin/vote.cgi?id=10000&app=56789&point=20」からなる文字列が含まれる。ここで、「point=20」は、今回投票するポイントが20ポイントであることを意味している。
【0130】
携帯電話機用WWWサーバ50は、上記リクエストに応じてvote.cgiを起動し、投票されたポイントをデータベースサーバ54に登録する(ステップSd11)。即ち、データベースサーバ54の利用者アクセス保存テーブルUATにアクセスして、利用者ID「10000」が指定したアプリケーションID「56789」の今月のポイント数「10ポイント」に、今回入力したポイント「20ポイント」を加算し、「30ポイント」として記憶する。なお、記憶する前に、利用者に入力されたポイントにより、今月の投票可能ポイントの上限値を超過していないかどうかを確認する。
【0131】
次いで、携帯電話機用WWWサーバ50は、処理がすべて完了した旨の完了通知ページを生成し、これを携帯電話機10に送信する(ステップSd12)。また、上記上限値を超えていれば、エラー画面を表示するページを構成して、これを携帯電話機10に送信する。
【0132】
携帯電話機10は完了通知ページを受信すると、これを解釈して図28(c)に示すような画面をLCD111に表示し(ステップSd13)、図27に示す処理は終了する。
【0133】
このように、利用者が一定期間に投票可能なポイント数に限度を設けたり、また、利用者が最近利用したアプリケーションにのみポイント投票を行うようにしているので、利用者が特定のアプリケーションに対してのみポイントを恣意的に投票するというような不正行為を排除できる。
【0134】
(6)ライセンス金額の計算
次に、集計サーバ55による各提供者に対するライセンス金額の計算について説明する。このライセンス金額の計算方法には大別して2つの方法があり、以下順番にこれらを説明する。
【0135】
図29は、第1の方法に従って集計サーバ55がライセンス金額を計算する動作を示すフローチャートである。
このライセンス金額の計算は、例えば1ヶ月毎や、半年毎というように所定の計算期間を単位として実行されるようになっている。ここでは1ヶ月を計算期間とし、その計算日を毎月末日とする。
【0136】
集計サーバ55は、図示せぬタイマを参照し、この計算日が到来したか否かを判断する(ステップSe1)。
このステップSe1の処理は計算日が到来するまで繰り返され(ステップSe1;No)、計算日が到来すると(ステップSe1;Yes)、ステップSe2に進む。
【0137】
集計サーバ55は、データベースサーバ54内の利用者入金管理テーブルUPTを参照し、対象となる計算期間内に全ての利用者から入金された利用料金の合計額を計算する(ステップSe2)。
【0138】
この利用料金の合計額のうち、一部が提供者に対しライセンス金額として支払われ、その残額がサーバ群5の管理者の利益となる。利用料金の合計額のうちどのくらいの割合が提供者に支払われるかは予め定められており、ここでは、30%とする。そこで、集計サーバ55は、ステップSe1で計算した利用料金の合計額に30%を乗ずることにより、ライセンス金額に充当可能な金額license-totalを計算する(ステップSe3)。例えば、ステップSe1で計算した利用料金の合計額が100万円の場合、ライセンス金額に充当可能なlicense-totalは30万円になる。
【0139】
次に、集計サーバ55は、データベースサーバ54の利用者アクセス保存テーブルUATを参照し、計算対象となる期間において全てのアプリケーションがダウンロードされたダウンロード数を抽出し、これらを合計値であるtotal-dlを算出する(ステップSe4)。例えば図11に示す利用者アクセス保存テーブルUATの場合、計算対象の月を「6月」とすると、対応するダウンロード数として「2」、「3」、「2」が抽出され、これらの合計値total-dlは「7」となる。
【0140】
続いて、集計サーバ55は、利用者アクセス保存テーブルUATを参照し、計算対象となる期間において全てのアプリケーションの起動回数を抽出し、これらの合計値であるtotal-launchを算出する(ステップSe5)。例えば、図11に示す利用者アクセス保存テーブルUATの場合、計算対象の月を「6月」とすると、対応する起動回数として「5」、「8」、「9」が抽出され、これらの合計値total-launchは「22」となる。
【0141】
次に、集計サーバ55は、利用者アクセス保存テーブルUATを参照し、計算対象となる期間において全てのアプリケーションの実行時間を抽出し、これらの合計値であるtotal-runを算出する(ステップSe6)。例えば、図11に示す利用者アクセス保存テーブルUATの場合、計算対象の月を「6月」とすると、対応する起動回数として「23(分)」、「40(分)」、「38(分)」が抽出され、これらの合計値total-runは「101(分)」となる。
【0142】
次に、集計サーバ55は、利用者アクセス保存テーブルUATを参照し、計算対象となる期間において全てのアプリケーションのポイント数を抽出し、これらの合計値であるtotal-pointを算出する(ステップSe7)。例えば、図11に示す利用者アクセス保存テーブルUATの場合、計算対象の月を「6月」とすると、対応するポイント数として「30」、「60」、「0」が抽出され、これらの合計値total-pointは「90」となる。
【0143】
以下の計算処理においては、各アプリケーション毎に順番にライセンス金額を計算していく。そこで、全てのアプリケーションについて計算が終了したか否かを判断し(ステップSe8)、していないと判断すると(ステップSe8;No)ステップSe9に進む。
【0144】
ステップSe9において、集計サーバ55は、ある特定のアプリケーション(例えばアプリケーションID「56789」とする)を対象として、そのアプリケーションの提供者に支払うべきライセンス金額license-feeを計算する。
この計算は、式1に示す計算式に従って行われる。
ライセンス金額license-fee
={(対象月における特定アプリケーションのダウンロード数/total-dl)×Rd
+(対象月における特定アプリケーションの起動回数/total-launch)×Rl
+(対象月における特定アプリケーションの実行時間/total-run)×Rr
+(対象月における特定アプリケーションのポイント数/total-point)×Rp}
×ライセンス充当可能金額total-license・・・式1
【0145】
ここで、Rd、Rl、Rr及びRpは、ライセンス金額を算出するにあたり、ダウンロード数、起動回数、実行時間及びポイント数に対して割り当てられた重み付けパラメータであり、Rd≧0、Rl≧0、Rr≧0、Rp≧0、 Rd+Rl+Rr+Rp=1という関係を満たしている。
【0146】
例えば、Rd=0.2、Rl=0.3、Rr=0.35、Rp=0.15と設定されている場合についての計算例を説明する。
上述したように、total-license=30万円、total-dl=7、total-launch=22、total-run=101、total-point=90である。また、利用者アクセス保存テーブルUATを参照すると、「対象月における特定アプリケーション(アプリケーションID56789、以下同じ)のダウンロード数」は「4」、「対象月における特定アプリケーションの起動回数」は「14」、「対象月における特定アプリケーションの実行時間」は「61(分)」、「対象月における特定アプリケーションのポイント数」は「30」であるから、これらをそれぞれ式1に代入して、license-feeを約16.70万円と算出することができる。
このような計算を各アプリケーションごとに実行し、すべてのアプリケーションについて実行完了すると(ステップSe8;Yes)、同図に示す処理は終了する。
【0147】
次に、図30は、第2の方法に従って集計サーバ55がライセンス金額を計算する動作を示すフローチャートである。
この第2の方法に従うライセンス金額の計算は、上述の第1の方法のように各アプリケーション毎に処理を実行していくのではなく、各利用者毎に処理を実行していく。
【0148】
まず、集計サーバ55は、図示せぬタイマを参照し、計算日が到来したか否かを判断する(ステップSf1)。
このステップSf1の処理は計算日が到来するまで繰り返され(ステップSf1;No)、計算日が到来すると(ステップSe1;Yes)、ステップSf2に進む。
【0149】
以下では各利用者毎にライセンス金額を計算していくので、、全ての利用者について処理が終了したか否かを判断し、していないと判断すると(ステップSf2;No)、ステップSf3に進む。
【0150】
ステップSf3において、集計サーバ55は、ある特定の利用者(例えば利用者ID「10000」とする)を対象とし、利用者入金管理テーブルUPTを参照し、その利用者の対象月の利用料金が入金されているか否かを判断する。
ここで入金されていないと判断されると(ステップSf3;No)、ステップSf2に戻り、処理対象の利用者を変えて同じ処理を行う。
【0151】
一方、入金されていると判断されると(ステップSf3;Yes)、処理はステップSf4に進む。
【0152】
ステップSf4において、集計サーバ55は、利用者が対象月に支払った一定額の利用料金に、例えば30%を乗ずることにより、1人の利用料金の中から充当可能なライセンス金額u-license-totalを計算する。
【0153】
次に、集計サーバ55は、データベースサーバ54の利用者アクセス保存テーブルUATを参照し、計算対象となる期間において利用者ID「10000」の利用者がダウンロードした総回数u-total-dlを算出する(ステップSf5)。
【0154】
続いて、集計サーバ55は、利用者アクセス保存テーブルUATを参照し、計算対象となる期間において利用者ID「10000」の利用者の起動回数の総計u-total-launchを算出する(ステップSf6)。
【0155】
次に、集計サーバ55は、利用者アクセス保存テーブルUATを参照し、計算対象となる期間において利用者ID「10000」の利用者がアプリケーションを実行した実行時間の総計u-total-runを算出する(ステップSf7)。
【0156】
次に、集計サーバ55は、利用者アクセス保存テーブルUATを参照し、計算対象となる期間において利用者ID「10000」の利用者が投票したポイント数の総計total-point2を算出する(ステップSf8)。
【0157】
そして、集計サーバ55は、計算対象となる期間において利用者ID「10000」の利用者に対応する、ダウンロード数u-total-dl、起動回数u-total-launch、実行時間u-total-run、ポイント数u-total-pointの全てを算出したか否かを判断する(ステップSf9)。
【0158】
そして、集計サーバ55は、計算対象となる期間において利用者ID「10000」の利用者に対応する各アプリケーションに対するライセンス金額license-feeを計算する(ステップSf10)。
この計算は、式2に示す計算式に従って行われる。
ライセンス金額u-license-fee
={(対象月における特定利用者の特定アプリケーションのダウンロード数/u-total-dl)×Rd
+(対象月における特定利用者の特定アプリケーションの起動回数/u-total-launch)×Rl
+(対象月における特定利用者の特定アプリケーションの実行時間/u-total-run)×Rr
+(対象月における特定利用者の特定アプリケーションのポイント数/u-total-point)×Rp}
×ライセンス充当可能金額u-total-license・・・式2
【0159】
ここで、Rd、Rl、Rr及びRpは、上述したパラメータと同様の意味を持つパラメータである。この式2によって算出されるライセンス金額u-license-feeは、利用者ID「10000」の利用者が支払った利用金額を、この利用者が利用したアプリケーションの提供者にどのように分配するかということを示す値である。
次いで、集計サーバ55は、アプリケーション統計テーブルATTに、算出したライセンス金額u-license-feeを加算して書込んだ後(ステップSf11)、ステップSf9に戻り、この利用者を対象とした計算がすべて終了するまで上述した処理を繰り返す。
そして、この利用者を対象とした計算がすべて終了すると(ステップSf9;Yes)、次の利用者を対象とするべくステップSf2に戻る。
【0160】
このようにして、全ての利用者、全てのアプリケーションに対し、ライセンス金額の算出処理がなされて同図に示す処理は終了する。
算出されたライセンス金額は、提供者によって予め登録されている銀行口座に入金されることになる。
【0161】
(7)提供者による各種検索
サーバ群5に対しアプリケーションをアップロードした提供者は、PC21を用いてデータベースサーバ54にアクセスすることにより、自身のアプリケーションについてのライセンス金額や利用状況を検索することができる。
以下、この提供者のPC21からの要求に応じて、PC用WWWサーバ51が実行する検索動作について説明する。
【0162】
図31は、検索時におけるPC用WWWサーバ51のメインルーチンを示すフローチャートである。
同図に示す処理は、PC21からアクセス要求に応じて開始される。
まず、PC用WWWサーバ51は、自身のハードディスクから初期メニュー画面データを読み出し、これをPC21に送信する(ステップSg1)。
この処理メニュー画面は、例えば図32に示すような画面であり、検索対象期間、提供者ID、アプリケーションIDを入力するためのフィールドと、提供者検索ボタン、アプリケーション検索ボタン、終了ボタンが設けられている。提供者検索とは、提供者IDによって指定された提供者単位の検索であり、これにより、その提供者に対して支払われるライセンス金額金やその未払い額等が把握できる。また、アプリケーション検索とは、アプリケーションIDによって指定されたアプリケーション単位の検索であり、これにより、そのアプリケーションの利用状況やこれに対応したライセンス金額等が把握できる。
【0163】
提供者がこの初期メニュー画面で検索対象期間や各種IDを入力して、対応する検索ボタンをクリックすると、PC用WWWサーバ51はこれを検出し(ステップSg2;Yes)、その入力ボタンの種別を識別する(ステップSg3)。
【0164】
識別されたボタンの種別に応じて、後述するような提供者検索やアプリケーション検索のサブルーチンが実行される。また、終了ボタンであることが検出されると、PC用WWWサーバ51は、所定の終了処理を行って同図に示す処理を終了する(ステップSg4)。
【0165】
図33及び図34は、PC用WWWサーバ51が提供者検索を行う際の処理動作を示すフローチャートである。
図33において、まず、PC用WWWサーバ51は、データベースサーバ54内の提供者マスタテーブルLMTを参照し、記憶されている提供者IDと提供者によって入力された提供者IDとを比較し、認証を行う(ステップSh1)。
【0166】
この認証の結果、双方の提供者IDが一致しなければ(ステップSh1;No)、PC用WWWサーバ51は所定のエラー画面をPC21に表示させ(ステップSh2)、提供者がこの画面上の図示せぬ「OKボタン」を選択するまで待機したのち(ステップSh3)、メインルーチンのステップSg1に戻る。
【0167】
一方、この認証の結果、双方の提供者IDが一致すれば、PC用WWWサーバ51は、この提供者IDをキーにしてアプリケーション登録マスタテーブルASTを検索し、対応する全てのアプリケーションIDを取得する(ステップSh4)。
【0168】
この検索の結果、対応するアプリケーションIDが1つも発見できない場合には(ステップSh5;Yes)、PC用WWWサーバ51は、PC21にその旨をメッセージ表示させ(ステップSh6)、提供者がこの画面上の図示せぬ「OKボタン」を選択するまで待機したのち(ステップSh7)、メインルーチンのステップSg1に戻る。
【0169】
一方、この検索の結果、対応するアプリケーションIDが発見されると(ステップSh5;No)、PC用WWWサーバ51は、取得したアプリケーションIDのうち、ある特定のアプリケーションIDに着目し、このアプリケーションIDをキーにしてアプリケーション統計テーブルATTを検索し、対応するライセンス金額を抽出する。さらに、このライセンス金額を、アプリケーション統計テーブルの「支払フラグ」が「済」であるか「未」であるかによって分ける(ステップSh9)。
【0170】
このステップSh9の処理を抽出した全てのアプリケーションIDに対して行った後、PC用WWWサーバ51は、抽出したライセンス金額の総合計と、「支払フラグ」の「未」に対応するライセンス金額の合計を算出する(ステップSh10)。これにより、ある特定のアプリケーションに対するライセンス金額総合計と、未払いのライセンス金額の合計とが算出されることになる。
【0171】
このようなステップSh9及びSh10の処理を、ステップSh4で抽出されたアプリケーションIDの全てについて行い、これが確認されると(ステップSh8;Yes)、処理は図34に示すステップSh11に進む。
【0172】
ステップSh11では、PC用WWWサーバ51は、各アプリケーションごとに算出したライセンス金額と未払いのライセンス金額とを、検索対象期間の全てにわたってそれぞれ合計し、その提供者に対するライセンス金額全体を把握する。次いで、PC用WWWサーバ51は、合計された未払いライセンス金額に着目し、この金額が予め定められた所定金額未満か否かを判断する(ステップSh12)。即ち、提供者に支払うべきライセンス金額があまりにも小額な場合、わざわざ銀行等の金融機関を経由して支払処理を行うとなると、そのライセンス金額より支払コストのほうが高くつく場合も想定される。このような場合に備えて、サーバ群5の管理者は、所定金額以下のライセンス金額は支払免除とする旨の契約を提供者と締結しておく。ここでは、例えば、2000円を支払可能下限額とし、これ未満のライセンス金額を支払い免除とする。
【0173】
この判断の結果、未払いライセンス金額が2000円未満の場合、PC用WWWサーバ51は、その未払いライセンス金額をクリアする。
【0174】
一方、未払いライセンス金額が2000円以上の場合、PC用WWWサーバ51は、その未払いライセンス金額を提供者に提示すべき未払いライセンス金額として設定し(ステップSh14)、図35に示すような検索結果画面を生成してPC21に表示させる(ステップSh15)。
同図において、提供者ID「8898」が示す提供者について、西暦2000年5月分として既に受け取ったライセンス金額は「2,423,500円」であり、西暦2000年6月分としてこれから受け取るべきライセンス金額は「1,901,250円」であり、今までに受けとったライセンス金額及びこれから受け取るべきライセンス金額の合計は「5,283,340円」であり、これから受け取るべき未払いライセンス金額合計は「3,154,200円」である。この未払いライセンス金額合計は「3,154,200円」は同時に、支払可能ライセンス金額の合計をも意味する。
【0175】
そして、PC用WWWサーバ51は、提供者による「戻る」ボタンの選択操作を検出すると(図34のステップSh16;Yes)、PC用WWWサーバ51は、メインルーチンのステップSg1に戻る。
【0176】
図36は、PC用WWWサーバ51がアプリケーション検索を行う際の処理動作を示すフローチャートである。
まず、PC用WWWサーバ51は、データベースサーバ54内のアプリケーション登録マスタテーブルASTを参照し、記憶されているアプリケーションIDと提供者によって入力されたアプリケーションIDを比較し、認証を行う(ステップSj1)。
【0177】
この認証の結果、双方のアプリケーションIDが一致しなければ、PC用WWWサーバ51は、エラー画面をPC21に表示させ(ステップSj2)、提供者がこの画面上の図示せぬ「OKボタン」を選択するまで待機したのち(ステップSj3)、メインルーチンのステップSg1に戻る。
【0178】
一方、この認証の結果、双方のアプリケーションIDが一致すれば、PC用WWWサーバ51は、このアプリケーションIDと検索対象年月の含まれる各月とをキーにしてアプリケーション登録マスタテーブルASTを検索し、対応するダウンロード数、起動回数、実行時間、投票ポイント数、ライセンス金額を取得する(ステップSj5)。
【0179】
さらに、PC用WWWサーバ51は、支払フラグが「未」に設定されているライセンス金額のみをも取得する(ステップSj6)。
このようなステップSj5及びSj6の処理を、指定された検索対象期間の全てについて行い、これが確認されると(ステップSj4;Yes)、処理はステップSj7に進む。
【0180】
ステップSj7において、PC用WWWサーバ51は、図37に示すような検索結果画面を生成してPC21に表示させる。
同図においては、指定されたアプリケーションについて、各年月ごとのダウンロード数、起動回数、実行時間、投票ポイント数、ライセンス金額及び未払いライセンス金額が表示されている。そして、同図において、提供者による「戻る」ボタンの選択操作が検出されると(図36のステップSj8;Yes)、PC用WWWサーバ51は、図31に示すメインルーチンのステップSg1に戻る。
【0181】
このように実施形態によれば、ダウンロード要求に対応して発行されたダウンロードIDを用いて携帯電話機用WWWサーバ50側でアプリケーションの認証を行うので、携帯電話機10側に負担をかけることなくより安全性の高い認証を行うことができる。
また、ダウンロードIDに加えて、利用者IDやアプリケーションID、さらにダウンロード日時を用いることにより、さらに認証の確実性が向上する。
【0182】
C:変形例
既述の通り、本発明は上述した実施形態に限定されず、種々の変更が可能である。
(1)ライセンス金額配分のためのパラメータ
実施形態では、ライセンス金額の配分のためのパラメータとしてダウンロード数等を開示しているが、パラメータの種類はこれに限定されることはない。
また、実施形態では、各種パラメータを用いた比例配分によってライセンス金額を求めているが、これに限らず、サービス基本料金を加算し、これを配分するなど別の配分手法を加えることによっても実現可能である。、
【0183】
(2)支払状況の管理
実施形態では、利用者入金管理テーブルUPTを用いて、個々の利用者について支払い状況を管理していた。しかし、これに限らず、利用者から入金された利用料金の総額のみを支払状況として管理するだけでもよい。例えば、各利用者からの利用料金の回収業務については外部の特定業者に依頼し、サーバ群5ではその月々回収された総額のみを利用者入金管理テーブルUPT上で記憶しておく。このようにすれば、前述のステップSe2における計算処理を省くことができる。
【0184】
(3)利用料金の形態
実施形態では、全ての利用者が毎月支払うべき利用料金は一定額であったが、必ずしもこのような態様に限定されない。
例えば、利用者をクラス分けし、そのクラス単位で利用料金を変えてもよい。このクラスの分け方としては、例えば、各利用者のダウンロード数、実行時間、起動回数といった利用状況によるクラス分けや、サーバ群5が各利用者について占有するデータベースなどのリソース占有量の違いに応じたクラス分け等が考えられる。
【0185】
(4)アプリケーションの利用制限
実施形態では、各利用者に対し、アプリケーションを利用する上での制限は課していない。即ち、利用者は、ダウンロードしたアプリケーションを無制限に利用することができる。しかし、これに限らず、何らかの利用制限を設けることもできる。例えば、利用者に対して一定期間のダウンロード回数、起動回数又は実行時間のうち少なくともいずれか1つに上限を設けてもよい。
以下、このような利用制限が設けられた実施形態の一例について説明する。
まず、前提として、各利用者毎の1ヶ月間のダウンロード回数上限を20回、起動回数上限を100回、実行時間上限を300分とする。
これらの上限を超えていないか否かをチェックするための具体的なシーケンスは次のようになる。
携帯電話機用WWWサーバ50は、利用者の携帯電話機10からダウンロード要求信号を受信すると(前述のステップSb25)、データベースサーバ54内の利用者アクセス保存テーブルUATを参照し、その利用者のその月におけるダウンロード回数の総計を算出する。
そして、携帯電話機用WWWサーバ50は、算出したダウンロード回数が、上述したダウンロード回数上限である20回以上であれば、携帯電話機10に対しダウンロードができない旨のエラーメッセージを送信する。このようにすれば、ダウンロード回数の上限はチェック可能である。
また、携帯電話機10においてアプリケーションの起動操作がなされ、携帯電話機用WWWサーバ50が携帯電話機10から起動信号を受信すると(前述のステップSc4)、データベースサーバ54内の利用者アクセス保存テーブルUATを参照し、その利用者のその月における起動回数と実行時間の総計を算出する。そして、携帯電話機用WWWサーバ50は、算出した起動回数又は実行時間のいずれか一方が、上述した起動回数上限である100回若しくは実行時間上限である300分以上であれば、携帯電話機10に対しアプリケーションを起動・実行できない旨のエラーメッセージを送信する。このメッセージを受信した携帯電話機10は、そのアプリケーションを起動・実行しない。このようにすれば、起動回数の上限はチェック可能である。なお、起動回数若しくは実行時間が上限をこえることにより、アプリケーションの起動・実行を禁止するのではなく、アプリケーションのダウンロードを禁止してもよい。
【0186】
(4)アクセス可能なテーブル
前述のハイスコア登録処理で述べたように、実施形態では、アプリケーション単位でアクセス可能なテーブルを定義しているが、アプリケーションの提供者単位でアクセス可能なテーブルを定義することによっても同様の効果を得ることができる。
【0187】
(5)セッション識別
実施形態では、セッションを識別するのにURL、若しくはINPUTタグのHIDDENパラメータにIDを埋め込む形式であるが、このセッション管理は、特殊なセッション識別子を発行してクッキーファイルを利用しても良いし、認証自体をWWWサーバの機能であるBasic認証を利用しても良い。
【0188】
(6)アプリケーションの記憶
実施形態では、アプリケーションの保存を明示的に行っているが、携帯電話機10のブラウザ上でアプリケーションを動作させるための一時記憶メモリ上に保存、キャッシュすることによっても実現可能である。
【0189】
(7)ページの記述形式
実施形態では、HTMLデータを用いていたが、これに限定されるわけではなく、例えばXML(Extensible Markup Language)等の他の記述言語を用いるものであってもよい。
【0190】
(8)ポイント投票処理のバリエーション
実施形態では、ポイントの投票可能なアプリケーション名を利用者にリスト表示している。しかし、このようなリスト表示に限定されることはなく、例えば、携帯電話機用WWWサーバ50が送信するHTMLデータのユーザインタフェース上から、アプリケーションIDもしくはアプリケーション名を入力して、そのアプリケーションに対する投票ページを表示させることも可能である。この場合、WWWサーバ50がアプリケーションID若しくはアプリケーション名を伴ったHTTPリクエストを受け取ったとき、そのアプリケーションIDもしくはアプリケーション名が存在するかどうかを検査し、存在しなければエラーメッセージを携帯電話機10に表示させる。
また、携帯電話機用WWWサーバ50にログインしている利用者が、指定されたアプリケーションに対して過去3ヶ月以内にダウンロード、起動、実行、若しくはポイント投票を行っていなければ、投票無効メッセージを表示させるようにしてもよい。
また、実施形態では、ポイントを投票するための入力インターフェースをHTMLフォームによって行っているが、携帯電話機10にダウンロードさせるアプリケーション上に入力インターフェースを用意して、そのアプリケーション上の入力インタフェースから直接投票データを送信させるようにしてもよい。
図38に、この場合の携帯電話機10と携帯電話機用WWWサーバ50の動作を表すシーケンスを示す。同図において、携帯電話機10は、例えばゲームオーバのようなアプレット終了時に、ポイント入力のための入力インタフェースを表示させ(ステップSp1)、利用者からの入力を受け付ける(ステップSp2)。
そして、携帯電話機10は、「http://game.techfirm.co.jp/56789/vote.cgi?id=10000&app56789&DLID99887766&point30」を含むゲットリクエストを携帯電話機用WWWサーバ50に送信する。一方、携帯電話機用WWWサーバ51は、上記投票データを受信するためのサーバアプリケーションを用意しておき、携帯電話機10側のアプリケーションから投票ポイントが直接入力、送信された場合には利用者がそのアプリケーションを利用していると判断し、データベースサーバ54に蓄積されているダウンロード、起動、ポイント投票に関するデータが3ヶ月より過去であっても投票を受け付ける。これによって、携帯電話機10側のアプリケーションの起動が検知できないサーバ群においても、投票ポイントを受け付けることが可能となる。
【0191】
(9)アプリケーション認証のバリエーション
アプリケーションの認証については様々なバリエーションが考えられるが、例えば以下に示すような第1〜第4のバリエーションがある。
【0192】
(9−1)第1のバリエーション
まず、第1のバリエーションについて説明する。
実施形態では、ダウンロードIDをダウンロード要求イベント毎にユニークに発行し、ダウンロードを指定するHTMLデータの中の「param」タグに埋め込んでおき、携帯電話機10はこれを保存して利用することによってアプリケーションの認証を行っていた。しかし、ダウンロードを指定するHTMLデータを取得するためのURLを保存する機能を持つ携帯電話機10であり、かつ携帯電話機10側のアプリケーションがそのURLを取得可能であるのならば、以下のようにしてもよい。
【0193】
携帯電話機用WWWサーバ50は、携帯電話機10が上述したHTMLデータを取得するためのURLにダウンロードIDを付加しておく。
携帯電話機10側のアプリケーションは、携帯電話機用WWWサーバ50に対し上記URLに従ってHTMLデータを要求する。この要求には、利用者ID、アプリケーションID及びダウンロードIDが含まれており、携帯電話機用WWWサーバ50は、これらIDを対応付けてダウンロードID管理テーブルDITに保存しておく。
携帯電話機10側のアプリケーションがダウンロードIDを必要とするときは、まず、保存しておいたURLを携帯電話機10のアプリケーションインターフェースから取得し、このURLの中からダウンロードID、もしくはこれを含むデータを抽出し、利用者IDやアプリケーションIDとともに携帯電話機用WWWサーバ50に送信する。一方、携帯電話機用WWWサーバ50は、ダウンロード管理テーブルDITを参照し、受信した利用者ID、アプリケーションID、ダウンロードIDの組み合わせが正しい組であるか否かを確認できる。
【0194】
より具体的に説明すると、図19のステップSb22において、携帯電話機用WWWサーバ50は、説明ページを構成する際にユニークなダウンロードID(DLID=99887766)を発行し、図21(f)に示すメニュー項目「ダウンロード」に埋め込まれたハイパーリンクのURLを「http://game.techfirm.co.jp/56789/dl.cgi?id=10000&app=56789&DLID=99887766」と設定する。利用者によって「ダウンロード」が選択されたときには(図20のステップSb25)、携帯電話機10は、「ダウンロード」に埋め込まれた上記URLを含むリクエストを携帯電話機用WWWサーバ50に送信する。この際、携帯電話機10は、「http://game.techfirm.co.jp/56789/dl.cgi?id=10000&app=56789&DLID=99887766」というURLを記憶する。一方、上記リクエストを受信した携帯電話機用WWWサーバ50は、利用者ID「10000」、アプリケーションID「56789」、ダウンロードID「99887766」を対応付けてダウンロードID管理テーブルDITに保存しておく。
以後、携帯電話機10のアプリケーション(app=56789)が、携帯電話機用WWWサーバ50に対してアクセスをする場合は、保存している上記URLの中から利用者ID、アプリケーションID及びダウンロードIDを抽出し、これらを含むリクエスト信号をサーバ50に送信する。一方携帯電話機用WWWサーバ50は、リクエストに応じて、ダウンロード管理テーブルDITを参照し、上記IDの組み合わせを確認することによりアプリケーションの認証を行う。
なお、フォームの形を取り、携帯電話機10上のブラウザによって組み立てられるURLが上述したような形式で送信されても同様の効果が得られる。
【0195】
(9−2)第2のバリエーション
次に、アプリケーション認証の第2のバリエーションについて説明する。
ダウンロードを指定するアプリケーションのURLを保存する機能を持つ携帯電話機10で、かつ携帯電話機10側のアプリケーションはそのURLを取得可能であるのならば、以下のようにしてもよい。
【0196】
携帯電話機用WWWサーバ50は、ダウンロードを指定するHTMLデータを作成するときに(図20に示すステップSb26)、ユニークなダウンロードIDを発行し、HTMLデータ内のアプリケーションのURLに加えておく。
そして、携帯電話機用WWWサーバ50は、携帯電話機10から上記URLを用いた、アプリケーションのダウンロード要求があれば、これに応じて、利用者ID、アプリケーションID及びダウンロードIDをダウンロードID管理テーブルDITに保存する。
携帯電話機10側のアプリケーションがダウンロードIDを必要とするときは、保存しておいたURLを携帯電話機10のアプリケーションインターフェースから取得し、このURLの中からダウンロードID、もしくはこれを含むデータを抽出し、利用者IDやアプリケーションIDとともに携帯電話機用WWWサーバ50に送信する。一方、携帯電話機用WWWサーバ50は、ダウンロード管理テーブルDITを参照し、受信した利用者ID、アプリケーションID及びダウンロードIDの組み合わせが正しい組であるか否かを確認できる。
【0197】
より具体的に説明すると、図20のステップSb26において、携帯電話機用WWWサーバ50は、図39に示すようなアプリケーションを指定するタグを生成し、このタグを含むHTMLデータを携帯電話機10に送信する。
また、携帯電話機用WWWサーバ50側では「getjar.cgi」というサーバアプリケーションを配置し、このサーバアプリケーションが起動されると利用者ID「10000」、アプリケーションID「56789」、ダウンロードID「99887766」をダウンロードID管理テーブルDITに、そのリクエストを受信した日時と共に保存し、指定されたアプリケーション のJARファイル「drops.jar」を携帯電話機10に送信する。
一方、携帯電話機10は、「http://game.techfirm.co.jp/getjar.cgi?id=10000&app=56789&DLID=99887766&file=drops.jar」 というURLを記憶しておく。
以後、携帯電話機10のアプリケーション(app=56789)が、携帯電話機用WWWサーバ50に対してアクセスをする場合は、保存している上記URLの中から利用者ID、アプリケーションID及びダウンロードIDを抽出し、これを含むリクエスト信号をサーバ50に送信する。
一方、携帯電話機用WWWサーバ50は、リクエストに応じて、ダウンロード管理テーブルDITを参照し、上記IDの組み合わせを確認することによりアプリケーションの認証を行う。
【0198】
(9−3)第3のバリエーション
次に、アプリケーション認証の第3のバリエーションについて説明する、
アプリケーションによってデータの保存や参照が可能なメモリエリアを有する携帯電話機であれば、携帯電話機用WWWサーバ50が予めダウンロードIDを付与しておくのではなく、携帯電話機10側のアプリケーションが、ダウンロードIDを携帯電話機用WWWサーバ50に送信する前の任意のタイミングでサーバ50から取得してもよい。
【0199】
より具体的に説明すると、実施形態では図20に示すアプレットのダウンロード時(ステップSb26〜ステップSb35)において、携帯電話機用WWWサーバ50はダウンロードID(DLID)を発行し、これを保存するが、第3のバリエーションにおいて、ダウンロードIDはこの時点では発行されない。従って、この時点ではダウンロード管理テーブルDITのダウンロードIDフィールドは空欄の状態になっている。
その後、図23のステップSc4のように携帯電話機10が初めてアプリケーションを起動する際、そのリクエストをサーバ50に送信するときのURLを「http://game.techfirm.co.jp/start.cgi?id=10000&app=56789&DLID=」とする。即ち、携帯電話機10は、リクエスト内の「DLID」を空き情報として送信する。
そして、ステップSc5において、携帯電話機用WWWサーバ50は、上記リクエストを受信するとstart.cgiを起動し、データベースサーバ54内のダウンロードIDテーブルDITを参照して、上記URLに含まれるアプリケーションID「56789」及び利用者ID「10000」をキーにレコードを検索し、抽出されたレコードの中で最新のダウンロード日時のレコードを選択する。
【0200】
ここで、選択されたレコードのダウンロードIDフィールドが空欄であれば、携帯電話機用WWWサーバ50は、新たにユニークなダウンロードIDを発行し、これをダウンロードID管理テーブルDITに保存する。
その後は、前述の実施形態と同様に、利用者アクセス保存テーブルUAT上における起動回数のインクリメント処理、最終起動日時保存テーブルLRTの更新がなされる。そして、携帯電話機用WWWサーバ50は、起動を承認した旨のOKメッセージに、発行されたダウンロードIDをパラメータとして付加したメッセージ("OK[DLID=99887766]")を生成し、携帯電話機10に返信する。
【0201】
一方、選択されたレコードのダウンロードIDフィールドが空欄でなければ、携帯電話機用WWWサーバ50は、既にダウンロードIDを発行しているにもかかわらず新たなダウンロードIDを要求してきているとみなして、上述したインクリメント処理や更新処理を行なうことなく、起動を承認しない旨のNGメッセージ("NG")を生成し、携帯電話機10に返信する。
【0202】
なお、携帯電話機10から受信した上記リクエストURIに含まれる「DLID」が、空き情報ではない場合、即ち何らかのID値が入っている場合には、上述したステップSc5及ぶステップSc6の処理を行う。つまり、リクエストURIに含まれるダウンロードID、アプリケーションID及び利用者IDの組み合わせによるアプリケーション認証のほか、利用者アクセス保存テーブルUAT及び最終起動日時保存テーブルLRTの更新処理、そして、携帯電話機10に対するメッセージの送信処理を行う。
以上のように、この第3のバリエーションにおいては、ダウンロードIDフィールドの発行の有無に応じてアプリケーションの認証を行う。
【0203】
(9−4)第4のバリエーション
次に、アプリケーション認証の第4のバリエーションについて説明する。
携帯電話機10がアプリケーションをダウンロードした日時を保存し、更にそのダウンロード日時をアプリケーションによって参照可能な携帯電話機10であれば、以下のようにしてもよい。
【0204】
携帯電話機用WWWサーバ50は、アプリケーションのダウンロード時において利用者IDで指定される利用者がアプリケーションIDで示されるアプリケーションを最後にダウンロードした日時を最終ダウンロード管理テーブルLDTに保存する。その一方、携帯電話機10も、アプリケーションをダウンロードした日時を記憶しておく。
携帯電話機10にダウンロードされたアプリケーションが、携帯電話機用WWWサーバ50に対し認証を必要とするアクセスを行う場合には、携帯電話機10のアプリケーションインターフェースから自身が記憶しているダウンロード日時を取得し、これを利用者ID及びアプリケーションIDとともに携帯電話機用WWWサーバ50に送信する。
一方、携帯電話機用WWWサーバ50は、最終ダウンロード管理テーブルLDTを走査して、受信した利用者ID及びアプリケーションIDに対応するダウンロード日時を取得する。そして、取得したダウンロード日時と携帯電話機10から受信したダウンロード日時との時間差が、ダウンロードオーバヘッド時間を考慮した許容範囲、例えば前後10分以内に納まっていれば、そのアプリケーショは正当であると判断する。
【0205】
より具体的に説明すると、図27に示すステップSd10において携帯電話機10から送信されるリクエストには「 http://game.techfirm.co.jp/vote.cgi?ID=10000&app=56789&dltime=200006031925&point=20」というURLが含まれる。ここで、「dltime=200006031925」は、2000年6月3日19時25分にダウンロードされたということを意味している。
このリクエストを受信した携帯電話機用WWWサーバ50は、最終ダウンロード管理テーブルDIT上で、利用者ID「10000」及びアプリケーションID「56789」をキーにダウンロード日時を検索し、得られたダウンロード日時と、上記URL内の「dltime=200006031925」とを比較して、アプリケーションの正当性を判断する。
【0206】
(10)ダウンロードIDのユニーク性
実施形態においては、ダウンロードIDをそれ自体で完全にユニークなIDとしていたが、他の情報と組み合わせてユニークな情報として判断することも可能である。例えば、利用者IDとダウンロードIDとの組み合わせにおいて、システム全体でユニークであるという判断でもかまわない。
【図面の簡単な説明】
【0207】
【図1】本発明の実施形態に係るシステムの全体構成を示すブロック図である。
【図2】同実施形態における携帯電話機のハードウェア構成を示すブロック図である。
【図3】同実施形態における携帯電話機のプロセス構成を示すブロック図である。
【図4】同実施形態におけるWWWサーバのプロセス構成を示すブロック図である。
【図5】同実施形態における提供者マスタテーブルの登録内容を一例を示す図である。
【図6】同実施形態におけるアプリケーション登録マスタテーブルの登録内容を一例を示す図である。
【図7】同実施形態におけるアプリケーションアクセス管理テーブルの登録内容の一例を示す図である。
【図8】同実施形態におけるアプリケーション統計テーブルの登録内容のを一例を示す図である。
【図9】同実施形態における利用者マスタテーブルの登録内容の一例を示す図である。
【図10】同実施形態における最終起動日時保存テーブルの登録内容の一例を示す図である。
【図11】同実施形態における利用者アクセス保存テーブルの登録内容の一例を示す図である。
【図12】同実施形態における利用者入金管理テーブルの登録内容の一例を示す図である。
【図13】同実施形態におけるダウンロードID管理テーブルの登録内容の一例を示す図である。
【図14】同実施形態における最終ダウンロード管理テーブルの登録内容の一例を示す図である。
【図15】同実施形態におけるアプレットの検索処理の流れを示すシーケンス図である。
【図16】同実施形態におけるアプレットの検索処理の流れを示すシーケンス図である。
【図17】同実施形態におけるアプレットの検索処理時にパーソナルコンピュータに表示される画面の一例を示す模式図である。
【図18】同実施形態におけるアプレットのダウンロード処理の流れを示すシーケンス図である。
【図19】同実施形態におけるアプレットのダウンロード処理の流れを示すシーケンス図である。
【図20】同実施形態におけるアプレットのダウンロード処理の流れを示すシーケンス図である。
【図21】同実施形態におけるアプレットのダウンロード処理時に携帯電話機に表示される画面の一例を示す模式図である。
【図22】同実施形態において携帯電話機WWWサーバから携帯電話機に送信されるHTMLデータの一例を示す図である。
【図23】同実施形態におけるアプレットの実行処理の流れを示すシーケンス図である。
【図24】同実施形態におけるアプレットの実行処理の流れを示すシーケンス図である。
【図25】同実施形態におけるアプレットの実行処理時に携帯電話機に表示される画面の一例を示す模式図である。
【図26】同実施形態におけるハイスコアの登録処理の流れを示すフローチャート図である。
【図27】同実施形態におけるポイント投票処理の流れを示すシーケンス図である。
【図28】同実施形態におけるポイント投票時に携帯電話機に表示される画面の一例を示す模式図である。
【図29】同実施形態におけるライセンス金額の計算処理の流れを示すフローチャート図である。
【図30】同実施形態におけるライセンス金額の計算処理の流れを示すフローチャート図である。
【図31】同実施形態における提供者の検索処理の流れを示すフローチャート図である。
【図32】同実施形態における提供者の検索処理の際に携帯電話機に表示される画面の一例を示す模式図である。
【図33】同実施形態における提供者検索の処理の流れを示すフローチャート図である。
【図34】同実施形態における提供者検索の処理の流れを示すフローチャート図である。
【図35】同実施形態における提供者検索の処理結果の表示例を示す模式図である。
【図36】同実施形態におけるアプリケーション検索の処理の流れを示すフローチャート図である。
【図37】同実施形態におけるアプリケーション検索の処理結果の表示例を示す模式図である。
【図38】他の実施形態におけるポイント投票時の処理の流れを示すシーケンス図である。
【図39】他の実施形態において携帯電話機WWWサーバから携帯電話機に送信されるHTMLデータの一例を示す図である。
【符号の説明】
【0208】
1・・・利用者端末群、
10・・・携帯電話機(携帯無線端末)、KI・・・キーインタフェース部、
DI・・・画面インターフェース部、DD・・・データ通信ドライバ、
SM・・・スピーカ・マイク制御部、MI・・・メモリインタフェース、
FW・・・ファームウェア、JVM・・・ジャババーチャルマシン、
BS・・・ブラウザ、TS・・・電話機能部、SS・・・設定部、
APP・・・ジャバアプレット、
11・・・パーソナルコンピュータ、
2・・・提供者端末群、20・・・パーソナルコンピュータ、
3・・・移動パケット通信網(無線通信網)、
4・・・インターネット、5・・・サーバ群(情報配信サーバシステム)、
50・・・携帯電話機用WWWサーバ(識別子発行部、識別子通知部、認証部、リクエスト受信部、アプリケーション配信部、ダウンロード計時部)、
51・・・パーソナルコンピュータ用WWWサーバ、
52・・・DNSサーバ、53・・・SMTPサーバ、
54・・・データベースサーバ、55・・・集計サーバ、
56・・・管理者コンソール、57・・・ファイヤウォールサーバ、
LMT・・・提供者マスタテーブル、
AST・・・アプリケーション登録マスタテーブル、
AAT・・・アプリケーションアクセス管理テーブル、
ATT・・・アプリケーション統計テーブル、
UMT・・・利用者マスタテーブル、LRT・・・最終起動日時保存テーブル
UAT・・・利用者アクセス保存テーブル、
UPT・・・利用者入金管理テーブル、
DIT・・・ダウンロードID管理テーブル(識別子記憶部)、
LDT・・・最終ダウンロード管理テーブル
【特許請求の範囲】
【請求項1】
インターネット及び無線通信網を介してダウンロードしたアプリケーションを利用することができる無線携帯端末に対し、当該無線携帯端末からのダウンロード要求に応じて前記アプリケーションを配信する情報配信サーバシステムにおいて、
前記無線携帯端末の利用者に関する情報を記憶するための利用者情報テーブルと、
前記アプリケーションの提供者に関する情報を記憶する提供者情報テーブルと、
前記利用者情報テーブルに記憶されている各利用者が一定期間に支払うべき一定額の利用料金の支払い状況を管理するための支払状況管理テーブルと、
前記アプリケーションが利用されている利用状況を検出する検出部と、
前記検出された利用状況を記憶する利用状況管理テーブルと、
前記支払状況管理テーブルによって把握される利用料金の総合計金額と前記利用状況管理テーブルに記憶されている利用状況とに基づいて、前記提供者情報テーブルに記憶されている各提供者に対して支払うべきライセンス金額をそれぞれ演算出力する演算部と
を有することを特徴とする情報配信サーバシステム。
【請求項2】
請求項1に記載の情報配信サーバシステムにおいて、
前記検出部は、前記アプリケーションの利用状況を各アプリケーション毎に検出し、これにより、前記利用状況管理テーブルは、前記アプリケーションの利用状況を各アプリケーション毎に記憶しており、
前記演算部は、
前記支払状況管理テーブルによって把握される利用料金の総合計金額の一部を、前記提供者に支払うべきライセンス金額金の総合計金額として割り当てる割当部と、
各アプリケーションの提供者に対して支払うべきライセンス金額を、前記割り当てたライセンス金額金の総合計金額の中から、前記利用状況管理テーブルに記憶されている利用状況に応じてそれぞれ配分出力する配分部と
を有することを特徴とする情報配信サーバシステム。
【請求項3】
請求項1に記載の情報配信サーバシステムにおいて、
前記検出部は、前記アプリケーションの利用状況を各利用者ごとに検出し、これにより、前記利用状況管理テーブルは、前記アプリケーションの利用状況を各利用者毎に記憶しており、
前記演算部は、
前記利用者が支払った前記利用料金の一部を、当該利用者から前記アプリケーションの提供者に対して支払うべきライセンス金額として割り当てる割当部と、
前記各利用者から前記提供者に支払うべきライセンス金額を、前記割り当てられたライセンス金額の中から前記利用状況管理テーブルに記憶されている利用状況に応じて配分出力する配分部と、
前記提供者のそれぞれに支払うべきライセンス金額を、全ての前記利用者に対応して前記配分出力されたライセンス金額を前記提供者毎に合計することによって算出する算出部と
を有することを特徴とする情報配信サーバシステム。
【請求項4】
請求項1に記載の情報配信サーバシステムにおいて、
前記検出部は、一定期間における前記アプリケーションのダウンロード回数をカウントし、これにより前記利用状況管理テーブルは、前記カウントされたダウンロード数を利用状況として記憶しており、
前記演算部は、前記利用状況管理テーブルに記憶されているダウンロード回数に応じて前記ライセンス金額を演算することを特徴とする情報配信サーバシステム。
【請求項5】
請求項1に記載の情報配信サーバシステムにおいて、
前記検出部は、前記無線携帯端末における前記アプリケーションの実行時間を検出し、これにより前記利用状況管理テーブルは、前記検出された実行時間を利用状況として記憶しており、
前記演算部は、前記利用状況管理テーブルに記憶されている実行時間に応じて前記ライセンス金額を演算することを特徴とする情報配信サーバシステム。
【請求項6】
請求項5に記載の情報配信サーバシステムにおいて、
前記検出部は、前記無線携帯端末から通知される、前記アプリケーションの起動通知および終了通知をそれぞれ受信した時刻の差分を前記実行時間とみなすことを特徴とする情報配信サーバシステム。
【請求項7】
請求項1に記載の情報配信サーバシステムにおいて、
前記検出部は、前記無線携帯端末における前記アプリケーションの起動回数を検出し、これにより前記利用状況管理テーブルは、前記検出された起動回数を利用状況として記憶しており、
前記演算部は、前記利用状況管理テーブルに記憶されている起動回数に応じて前記ライセンス金額を演算することを特徴とする情報配信サーバシステム。
【請求項8】
請求項1に記載の情報配信サーバシステムにおいて、
前記検出部は、前記利用者により前記アプリケーションに対して投票されたポイント数をカウントし、これにより前記利用状況管理テーブルは、前記カウントされたポイント数を利用状況として記憶しており、
前記演算部は、前記利用状況管理テーブルに記憶されているポイント数に応じて前記ライセンス金額を演算することを特徴とする情報配信サーバシステム。
【請求項9】
請求項8に記載の情報配信サーバシステムにおいて、
前記利用者が一定期間に入力できる前記ポイント数の合計に上限値を設け、前記上限値以上のポイント数は利用状況として無効化する無効化部を有することを特徴とする情報配信サーバシステム。
【請求項10】
請求項9に記載の情報配信サーバシステムにおいて、
前記利用者がポイント投票可能なアプリケーションを把握する把握部と、
前記把握しているアプリケーションIDを前記利用者からの要求に応じて前記利用者が使用する所定の端末に提供する提供部と
を有することを特徴とする情報配信サーバシステム。
【請求項11】
請求項10に記載の情報配信サーバシステムにおいて、
前記把握部は、前記利用者がポイント投票可能なアプリケーションとして、一定期間内に当該利用者によってダウンロードされたアプリケーションを把握することを特徴とする情報配信サーバシステム。
【請求項12】
請求項10に記載の情報配信サーバシステムにおいて、
前記把握部は、前記利用者がポイント投票可能なアプリケーションとして、一定期間内に当該利用者によって起動されたアプリケーションを把握することを特徴とする情報配信サーバシステム。
【請求項13】
請求項10に記載の情報配信サーバシステムにおいて、
前記把握部は、前記利用者がポイント投票可能な前記アプリケーションとして、一定期間内に当該利用者によってポイント投票されたアプリケーションを把握することを特徴とする情報配信サーバシステム。
【請求項14】
請求項8に記載の情報配信サーバシステムにおいて、
前記検出部は、前記利用者によって投票された、一定期間における前記アプリケーション毎のポイント数を受信することにより、前記利用状況を検出し、
前記受信したポイント数に含まれるポイントが、所定のポイント入力有効期間内に前記利用者によってダウンロードされたアプリケーションに対するポイント、所定のポイント入力有効期間内に前記利用者によって起動されたアプリケーションに対するポイント、又は、所定のポイント入力有効期間内に前記利用者によって投票されたアプリケーションに対するポイントのうち少なくともいずれか1つに該当する場合にのみ、前記利用者は前記アプリケーションにポイント投票可能であると判断する判断部を有することを特徴とする情報配信サーバシステム。
【請求項15】
請求項8に記載の情報配信サーバシステムにおいて、
前記利用者に対し前記ポイントの投票対象となる前記アプリケーションを選択させる選択部と、
前記選択されたアプリケーションへのポイント投票の可否を前記利用者毎に判別する判別部と、
前記選択された前記アプリケーションが前記利用者にとってポイント入力できないアプリケーションであると判別された場合、前記利用者が使用する所定の端末にエラーメッセージを含むデータを送信するエラー送信部と
を有することを特徴とする情報配信サーバシステム
【請求項16】
請求項1に記載の情報配信サーバシステムにおいて、
前記検出部は、一定期間における前記アプリケーションのダウンロード回数、前記無線携帯端末における前記アプリケーションの起動回数、前記無線携帯端末における前記アプリケーションの実行時間、又は、前記利用者により前記アプリケーションに対して投票されたポイント数のうち少なくともいずれか2つを検出し、
前記利用状況管理テーブルは、前記検出された少なくとも2つの検出値をパラメータとして記憶しており、
前記演算部は、前記利用状況検出された少なくとも2つのパラメータを組み合わせた所定の計算式に基づいて前記ライセンス金額を演算することを特徴とする情報配信サーバシステム。
【請求項17】
請求項1に記載の情報配信サーバシステムにおいて、
無線通信網を経由することなく、直接、前記インターネットに接続可能なインターネット端末との間でデータ通信を行う通信部と、
インターネット端末から前記通信部を介した要求に応じて、前記アプリケーションを検索し、少なくとも前記アプリケーションのアプリケーション名と当該アプリケーションの内容説明を含む検索結果を前記通信部を介して前記インターネット端末に出力する検索出力部と
を有することを特徴とする情報配信サーバシステム。
【請求項18】
請求項17に記載の情報配信サーバシステムにおいて、
前記インターネット端末からの要求に応じて、前記アプリケーションを前記無線携帯端末にダウンロードするために必要なアドレス情報を含む電子メールを生成し、当該無線携帯端末に送信するメール送信部を有することを特徴とする情報配信サーバシステム。
【請求項19】
請求項18に記載の情報配信サーバシステムにおいて、
前記検索出力部によって出力された検索結果を前記インターネット端末上で表示するための画面に、前記利用者の前記無線携帯端末に電子メールを送るための所定のボタンを配置させるデータを含めて画面データを生成する画面生成部を有し、
前記メール送信部は、前記利用者による前記ボタンの入力操作を検出し、この検出に応じて前記検索結果が示すアプリケーションを前記無線携帯端末にダウンロードさせるためのURLを含む電子メールを生成し、当該無線携帯端末に送信することを特徴とする情報配信サーバシステム
【請求項20】
請求項1に記載の情報配信サーバシステムにおいて、
前記演算部により演算された前記ライセンス金額が所定の金額以上である場合にのみ、前記提供者に支払い可能なライセンス金額として出力する可能支払額出力部を有することを特徴とする情報配信サーバシステム。
【請求項21】
請求項20に記載の情報配信サーバシステムにおいて、
前記可能支払額出力部は、
一定期間にわたって前記演算部により演算された前記ライセンス金額を合計する合計部と、
前記合計されたライセンス金額が所定の金額以上である場合にのみ支払い可能なライセンス金額として出力する出力部と
を有することを特徴とする情報配信サーバシステム。
【請求項22】
請求項1に記載の情報配信サーバシステムにおいて、
前記支払状況管理テーブルには、各利用者ごとの支払状況が記憶されていることを特徴とする情報配信サーバシステム。
【請求項23】
請求項1に記載の情報配信サーバシステムにおいて、
前記支払状況管理テーブルには、各利用者が支払った利用料金の総計が記憶されていることを特徴とする情報配信サーバシステム。
【請求項24】
請求項1に記載の情報配信サーバシステムにおいて、
前記利用料金は、全ての利用者について一定額であることを特徴とする情報配信サーバシステム。
【請求項25】
請求項1に記載の情報配信サーバシステムにおいて、
前記利用料金は、所定の基準によって分けられた利用者グループについて一定額であることを特徴とする情報配信サーバシステム。
【請求項26】
請求項1に記載の情報配信サーバシステムにおいて、
前記検出部は、一定期間における前記アプリケーションのダウンロード回数をカウントし、これにより前記利用状況管理テーブルは、前記カウントされたダウンロード数を利用状況として利用者毎に記憶しており、
各利用者について一定期間にカウントされた前記ダウンロード数が所定の上限回数を越えた場合、当該利用者がダウンロードを行うことを禁止する禁止制御部を有することを特徴とする情報配信サーバシステム。
【請求項27】
請求項1に記載の情報配信サーバシステムにおいて、
前記検出部は、一定期間における前記アプリケーションの実行時間を検出し、これにより前記利用状況管理テーブルは、前記検出された実行時間を利用状況として利用者毎に記憶しており、
各利用者について一定期間に検出された前記実行時間が所定の上限時間を越えた場合、当該利用者の携帯電話機10が前記アプリケーションをダウンロードすること、若しくは、当該利用者の携帯電話機10が前記アプリケーションを実行することの少なくともいずれか一方を禁止する禁止制御部を有することを特徴とする情報配信サーバシステム。
【請求項28】
請求項1に記載の情報配信サーバシステムにおいて、
前記検出部は、一定期間における前記アプリケーションの起動回数をカウントし、これにより前記利用状況管理テーブルは、前記カウントされた起動回数を利用状況として利用者毎に記憶しており、
各利用者について一定期間に検出された前記起動回数が所定の上限回数を越えた場合、当該利用者の携帯電話機が前記アプリケーションをダウンロードすること、若しくは、当該利用者の携帯電話機10が前記アプリケーションを実行することの少なくともいずれか一方を禁止する禁止制御部を有することを特徴とする情報配信サーバシステム。
【請求項29】
請求項8に記載の情報配信サーバシステムにおいて、
前記アプリケーションは、前記利用者がポイント投票を行うことが可能なポイント入力インタフェースを前記無線携帯端末上に表示させるプログラムを含み、
前記検出部は、前記無線携帯端末が前記アプリケーションを実行することにより当該端末に表示される前記ポイント入力インタフェース上で前記利用者によって入力されたポイント数を前記インターネットを介して受信することにより、前記利用状況を検出することを特徴とする情報配信サーバシステム。
【請求項30】
請求項29に記載の情報配信サーバシステムにおいて、
前記検出部は、前記利用者によって投票された、一定期間における前記アプリケーション毎のポイント数を受信することにより、前記利用状況を検出し、
前記受信したポイント数に含まれるポイントが、所定のポイント入力有効期間内に前記利用者によってダウンロードされたアプリケーションに対するポイント、所定のポイント入力有効期間内に前記利用者によって起動されたアプリケーションに対するポイント、所定のポイント入力有効期間内に前記利用者によって投票されたアプリケーションに対するポイント、又は、前記アプリケーションに対応するポイント入力インターフェースを通じて入力されたポイントのうち少なくともいずれか1つに該当する場合にのみ、前記利用者は前記アプリケーションにポイント投票可能であると判断する判断部を有することを特徴とする情報配信サーバシステム。
【請求項31】
請求項1に記載の情報配信サーバシステムにおいて、
前記無線携帯端末にダウンロードされたアプリケーションと通信を行うことが可能な複数のサーバアプリケーションを記憶するサーバアプリケーション記憶部と、
複数の前記サーバアプリケーションが共有でアクセス可能な共有データベースと、
前記サーバアプリケーション毎にアクセス可能な前記共有データベースのテーブルエリアを限定する限定部と
を有することを特徴とする情報配信サーバシステム。
【請求項32】
請求項1に記載の情報配信サーバシステムにおいて、
前記無線携帯端末にダウンロードされたアプリケーションと通信を行うことが可能な複数のサーバアプリケーションを記憶するサーバアプリケーション記憶部と、
複数の前記サーバアプリケーションが共有でアクセス可能な共有データベースと、
前記アプリケーションの提供者毎にアクセス可能な前記共有データベースのテーブルエリアを限定する限定部と
を有することを特徴とする情報配信サーバシステム。
【請求項33】
請求項1に記載の情報配信サーバシステムにおいて、
前記無線携帯端末にダウンロードされたアプリケーションと通信可能なサーバアプリケーションを記憶するサーバアプリケーション記憶部と、
前記利用者情報テーブルに保存されているデータにアクセス可能な共有プロセスインターフェースとを有し、
前記サーバアプリケーションは、前記共有プロセスインターフェースを利用して、前記利用者情報テーブルにアクセスすることを特徴とする情報配信サーバシステム。
【請求項34】
インターネット及び無線通信網を介してダウンロードしたアプリケーションを利用することができる無線携帯端末に対し、当該無線携帯端末からのダウンロード要求に応じて前記アプリケーションを配信する情報配信方法において、
前記無線携帯端末の利用者が一定期間に支払うべき一定額の利用料金の支払い状況を記憶する利用料金記憶ステップと、
前記アプリケーションが利用されている利用状況を検出する検出ステップと、
前記検出された利用状況を記憶する利用状況記憶ステップと、
前記記憶されている利用料金の総合計金額と前記記憶されている利用状況とに基づいて前記提供者情報テーブルに記憶されている各提供者に対して支払うべきライセンス金額をそれぞれ演算出力する演算ステップと
を有することを特徴とする情報配信方法。
【請求項35】
請求項34に記載の情報配信方法において、
前記検出ステップは、前記アプリケーションの利用状況を各アプリケーション毎に検出し、
前記利用状況記憶ステップは、前記アプリケーションの利用状況を各アプリケーション毎に記憶しており、
前記演算ステップは、
前記記憶されている利用料金の総合計金額の一部を、前記提供者に支払うべきライセンス金額金の総合計金額として割り当てるステップと、
各アプリケーションの提供者に対して支払うべきライセンス金額を、前記割り当てたライセンス金額金の総合計金額の中から、前記記憶されている利用状況に応じてそれぞれ配分出力するステップと
からなることを特徴とする情報配信方法。
【請求項36】
請求項34に記載の情報配信方法において、
前記検出ステップは、前記アプリケーションの利用状況を各利用者ごとに検出し、
前記利用状況記憶ステップは、前記アプリケーションの利用状況を各利用者毎に記憶しており、
前記演算ステップは、
前記利用者が支払った前記利用料金の一部を、当該利用者から前記アプリケーションの提供者に対して支払うべきライセンス金額として割り当てるステップと、
前記各利用者から前記提供者に支払うべきライセンス金額を、前記割り当てられたライセンス金額の中から前記記憶されている利用状況に応じて配分出力するステップと、
前記提供者のそれぞれに支払うべきライセンス金額を、全ての前記利用者に対応して前記配分出力されたライセンス金額を前記提供者毎に合計することによって算出するステップと
からなることを特徴とする情報配信方法。
【請求項37】
請求項34に記載の情報配信方法をコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【請求項38】
請求項35に記載の情報配信方法をコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【請求項39】
請求項36に記載の情報配信方法をコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【請求項1】
インターネット及び無線通信網を介してダウンロードしたアプリケーションを利用することができる無線携帯端末に対し、当該無線携帯端末からのダウンロード要求に応じて前記アプリケーションを配信する情報配信サーバシステムにおいて、
前記無線携帯端末の利用者に関する情報を記憶するための利用者情報テーブルと、
前記アプリケーションの提供者に関する情報を記憶する提供者情報テーブルと、
前記利用者情報テーブルに記憶されている各利用者が一定期間に支払うべき一定額の利用料金の支払い状況を管理するための支払状況管理テーブルと、
前記アプリケーションが利用されている利用状況を検出する検出部と、
前記検出された利用状況を記憶する利用状況管理テーブルと、
前記支払状況管理テーブルによって把握される利用料金の総合計金額と前記利用状況管理テーブルに記憶されている利用状況とに基づいて、前記提供者情報テーブルに記憶されている各提供者に対して支払うべきライセンス金額をそれぞれ演算出力する演算部と
を有することを特徴とする情報配信サーバシステム。
【請求項2】
請求項1に記載の情報配信サーバシステムにおいて、
前記検出部は、前記アプリケーションの利用状況を各アプリケーション毎に検出し、これにより、前記利用状況管理テーブルは、前記アプリケーションの利用状況を各アプリケーション毎に記憶しており、
前記演算部は、
前記支払状況管理テーブルによって把握される利用料金の総合計金額の一部を、前記提供者に支払うべきライセンス金額金の総合計金額として割り当てる割当部と、
各アプリケーションの提供者に対して支払うべきライセンス金額を、前記割り当てたライセンス金額金の総合計金額の中から、前記利用状況管理テーブルに記憶されている利用状況に応じてそれぞれ配分出力する配分部と
を有することを特徴とする情報配信サーバシステム。
【請求項3】
請求項1に記載の情報配信サーバシステムにおいて、
前記検出部は、前記アプリケーションの利用状況を各利用者ごとに検出し、これにより、前記利用状況管理テーブルは、前記アプリケーションの利用状況を各利用者毎に記憶しており、
前記演算部は、
前記利用者が支払った前記利用料金の一部を、当該利用者から前記アプリケーションの提供者に対して支払うべきライセンス金額として割り当てる割当部と、
前記各利用者から前記提供者に支払うべきライセンス金額を、前記割り当てられたライセンス金額の中から前記利用状況管理テーブルに記憶されている利用状況に応じて配分出力する配分部と、
前記提供者のそれぞれに支払うべきライセンス金額を、全ての前記利用者に対応して前記配分出力されたライセンス金額を前記提供者毎に合計することによって算出する算出部と
を有することを特徴とする情報配信サーバシステム。
【請求項4】
請求項1に記載の情報配信サーバシステムにおいて、
前記検出部は、一定期間における前記アプリケーションのダウンロード回数をカウントし、これにより前記利用状況管理テーブルは、前記カウントされたダウンロード数を利用状況として記憶しており、
前記演算部は、前記利用状況管理テーブルに記憶されているダウンロード回数に応じて前記ライセンス金額を演算することを特徴とする情報配信サーバシステム。
【請求項5】
請求項1に記載の情報配信サーバシステムにおいて、
前記検出部は、前記無線携帯端末における前記アプリケーションの実行時間を検出し、これにより前記利用状況管理テーブルは、前記検出された実行時間を利用状況として記憶しており、
前記演算部は、前記利用状況管理テーブルに記憶されている実行時間に応じて前記ライセンス金額を演算することを特徴とする情報配信サーバシステム。
【請求項6】
請求項5に記載の情報配信サーバシステムにおいて、
前記検出部は、前記無線携帯端末から通知される、前記アプリケーションの起動通知および終了通知をそれぞれ受信した時刻の差分を前記実行時間とみなすことを特徴とする情報配信サーバシステム。
【請求項7】
請求項1に記載の情報配信サーバシステムにおいて、
前記検出部は、前記無線携帯端末における前記アプリケーションの起動回数を検出し、これにより前記利用状況管理テーブルは、前記検出された起動回数を利用状況として記憶しており、
前記演算部は、前記利用状況管理テーブルに記憶されている起動回数に応じて前記ライセンス金額を演算することを特徴とする情報配信サーバシステム。
【請求項8】
請求項1に記載の情報配信サーバシステムにおいて、
前記検出部は、前記利用者により前記アプリケーションに対して投票されたポイント数をカウントし、これにより前記利用状況管理テーブルは、前記カウントされたポイント数を利用状況として記憶しており、
前記演算部は、前記利用状況管理テーブルに記憶されているポイント数に応じて前記ライセンス金額を演算することを特徴とする情報配信サーバシステム。
【請求項9】
請求項8に記載の情報配信サーバシステムにおいて、
前記利用者が一定期間に入力できる前記ポイント数の合計に上限値を設け、前記上限値以上のポイント数は利用状況として無効化する無効化部を有することを特徴とする情報配信サーバシステム。
【請求項10】
請求項9に記載の情報配信サーバシステムにおいて、
前記利用者がポイント投票可能なアプリケーションを把握する把握部と、
前記把握しているアプリケーションIDを前記利用者からの要求に応じて前記利用者が使用する所定の端末に提供する提供部と
を有することを特徴とする情報配信サーバシステム。
【請求項11】
請求項10に記載の情報配信サーバシステムにおいて、
前記把握部は、前記利用者がポイント投票可能なアプリケーションとして、一定期間内に当該利用者によってダウンロードされたアプリケーションを把握することを特徴とする情報配信サーバシステム。
【請求項12】
請求項10に記載の情報配信サーバシステムにおいて、
前記把握部は、前記利用者がポイント投票可能なアプリケーションとして、一定期間内に当該利用者によって起動されたアプリケーションを把握することを特徴とする情報配信サーバシステム。
【請求項13】
請求項10に記載の情報配信サーバシステムにおいて、
前記把握部は、前記利用者がポイント投票可能な前記アプリケーションとして、一定期間内に当該利用者によってポイント投票されたアプリケーションを把握することを特徴とする情報配信サーバシステム。
【請求項14】
請求項8に記載の情報配信サーバシステムにおいて、
前記検出部は、前記利用者によって投票された、一定期間における前記アプリケーション毎のポイント数を受信することにより、前記利用状況を検出し、
前記受信したポイント数に含まれるポイントが、所定のポイント入力有効期間内に前記利用者によってダウンロードされたアプリケーションに対するポイント、所定のポイント入力有効期間内に前記利用者によって起動されたアプリケーションに対するポイント、又は、所定のポイント入力有効期間内に前記利用者によって投票されたアプリケーションに対するポイントのうち少なくともいずれか1つに該当する場合にのみ、前記利用者は前記アプリケーションにポイント投票可能であると判断する判断部を有することを特徴とする情報配信サーバシステム。
【請求項15】
請求項8に記載の情報配信サーバシステムにおいて、
前記利用者に対し前記ポイントの投票対象となる前記アプリケーションを選択させる選択部と、
前記選択されたアプリケーションへのポイント投票の可否を前記利用者毎に判別する判別部と、
前記選択された前記アプリケーションが前記利用者にとってポイント入力できないアプリケーションであると判別された場合、前記利用者が使用する所定の端末にエラーメッセージを含むデータを送信するエラー送信部と
を有することを特徴とする情報配信サーバシステム
【請求項16】
請求項1に記載の情報配信サーバシステムにおいて、
前記検出部は、一定期間における前記アプリケーションのダウンロード回数、前記無線携帯端末における前記アプリケーションの起動回数、前記無線携帯端末における前記アプリケーションの実行時間、又は、前記利用者により前記アプリケーションに対して投票されたポイント数のうち少なくともいずれか2つを検出し、
前記利用状況管理テーブルは、前記検出された少なくとも2つの検出値をパラメータとして記憶しており、
前記演算部は、前記利用状況検出された少なくとも2つのパラメータを組み合わせた所定の計算式に基づいて前記ライセンス金額を演算することを特徴とする情報配信サーバシステム。
【請求項17】
請求項1に記載の情報配信サーバシステムにおいて、
無線通信網を経由することなく、直接、前記インターネットに接続可能なインターネット端末との間でデータ通信を行う通信部と、
インターネット端末から前記通信部を介した要求に応じて、前記アプリケーションを検索し、少なくとも前記アプリケーションのアプリケーション名と当該アプリケーションの内容説明を含む検索結果を前記通信部を介して前記インターネット端末に出力する検索出力部と
を有することを特徴とする情報配信サーバシステム。
【請求項18】
請求項17に記載の情報配信サーバシステムにおいて、
前記インターネット端末からの要求に応じて、前記アプリケーションを前記無線携帯端末にダウンロードするために必要なアドレス情報を含む電子メールを生成し、当該無線携帯端末に送信するメール送信部を有することを特徴とする情報配信サーバシステム。
【請求項19】
請求項18に記載の情報配信サーバシステムにおいて、
前記検索出力部によって出力された検索結果を前記インターネット端末上で表示するための画面に、前記利用者の前記無線携帯端末に電子メールを送るための所定のボタンを配置させるデータを含めて画面データを生成する画面生成部を有し、
前記メール送信部は、前記利用者による前記ボタンの入力操作を検出し、この検出に応じて前記検索結果が示すアプリケーションを前記無線携帯端末にダウンロードさせるためのURLを含む電子メールを生成し、当該無線携帯端末に送信することを特徴とする情報配信サーバシステム
【請求項20】
請求項1に記載の情報配信サーバシステムにおいて、
前記演算部により演算された前記ライセンス金額が所定の金額以上である場合にのみ、前記提供者に支払い可能なライセンス金額として出力する可能支払額出力部を有することを特徴とする情報配信サーバシステム。
【請求項21】
請求項20に記載の情報配信サーバシステムにおいて、
前記可能支払額出力部は、
一定期間にわたって前記演算部により演算された前記ライセンス金額を合計する合計部と、
前記合計されたライセンス金額が所定の金額以上である場合にのみ支払い可能なライセンス金額として出力する出力部と
を有することを特徴とする情報配信サーバシステム。
【請求項22】
請求項1に記載の情報配信サーバシステムにおいて、
前記支払状況管理テーブルには、各利用者ごとの支払状況が記憶されていることを特徴とする情報配信サーバシステム。
【請求項23】
請求項1に記載の情報配信サーバシステムにおいて、
前記支払状況管理テーブルには、各利用者が支払った利用料金の総計が記憶されていることを特徴とする情報配信サーバシステム。
【請求項24】
請求項1に記載の情報配信サーバシステムにおいて、
前記利用料金は、全ての利用者について一定額であることを特徴とする情報配信サーバシステム。
【請求項25】
請求項1に記載の情報配信サーバシステムにおいて、
前記利用料金は、所定の基準によって分けられた利用者グループについて一定額であることを特徴とする情報配信サーバシステム。
【請求項26】
請求項1に記載の情報配信サーバシステムにおいて、
前記検出部は、一定期間における前記アプリケーションのダウンロード回数をカウントし、これにより前記利用状況管理テーブルは、前記カウントされたダウンロード数を利用状況として利用者毎に記憶しており、
各利用者について一定期間にカウントされた前記ダウンロード数が所定の上限回数を越えた場合、当該利用者がダウンロードを行うことを禁止する禁止制御部を有することを特徴とする情報配信サーバシステム。
【請求項27】
請求項1に記載の情報配信サーバシステムにおいて、
前記検出部は、一定期間における前記アプリケーションの実行時間を検出し、これにより前記利用状況管理テーブルは、前記検出された実行時間を利用状況として利用者毎に記憶しており、
各利用者について一定期間に検出された前記実行時間が所定の上限時間を越えた場合、当該利用者の携帯電話機10が前記アプリケーションをダウンロードすること、若しくは、当該利用者の携帯電話機10が前記アプリケーションを実行することの少なくともいずれか一方を禁止する禁止制御部を有することを特徴とする情報配信サーバシステム。
【請求項28】
請求項1に記載の情報配信サーバシステムにおいて、
前記検出部は、一定期間における前記アプリケーションの起動回数をカウントし、これにより前記利用状況管理テーブルは、前記カウントされた起動回数を利用状況として利用者毎に記憶しており、
各利用者について一定期間に検出された前記起動回数が所定の上限回数を越えた場合、当該利用者の携帯電話機が前記アプリケーションをダウンロードすること、若しくは、当該利用者の携帯電話機10が前記アプリケーションを実行することの少なくともいずれか一方を禁止する禁止制御部を有することを特徴とする情報配信サーバシステム。
【請求項29】
請求項8に記載の情報配信サーバシステムにおいて、
前記アプリケーションは、前記利用者がポイント投票を行うことが可能なポイント入力インタフェースを前記無線携帯端末上に表示させるプログラムを含み、
前記検出部は、前記無線携帯端末が前記アプリケーションを実行することにより当該端末に表示される前記ポイント入力インタフェース上で前記利用者によって入力されたポイント数を前記インターネットを介して受信することにより、前記利用状況を検出することを特徴とする情報配信サーバシステム。
【請求項30】
請求項29に記載の情報配信サーバシステムにおいて、
前記検出部は、前記利用者によって投票された、一定期間における前記アプリケーション毎のポイント数を受信することにより、前記利用状況を検出し、
前記受信したポイント数に含まれるポイントが、所定のポイント入力有効期間内に前記利用者によってダウンロードされたアプリケーションに対するポイント、所定のポイント入力有効期間内に前記利用者によって起動されたアプリケーションに対するポイント、所定のポイント入力有効期間内に前記利用者によって投票されたアプリケーションに対するポイント、又は、前記アプリケーションに対応するポイント入力インターフェースを通じて入力されたポイントのうち少なくともいずれか1つに該当する場合にのみ、前記利用者は前記アプリケーションにポイント投票可能であると判断する判断部を有することを特徴とする情報配信サーバシステム。
【請求項31】
請求項1に記載の情報配信サーバシステムにおいて、
前記無線携帯端末にダウンロードされたアプリケーションと通信を行うことが可能な複数のサーバアプリケーションを記憶するサーバアプリケーション記憶部と、
複数の前記サーバアプリケーションが共有でアクセス可能な共有データベースと、
前記サーバアプリケーション毎にアクセス可能な前記共有データベースのテーブルエリアを限定する限定部と
を有することを特徴とする情報配信サーバシステム。
【請求項32】
請求項1に記載の情報配信サーバシステムにおいて、
前記無線携帯端末にダウンロードされたアプリケーションと通信を行うことが可能な複数のサーバアプリケーションを記憶するサーバアプリケーション記憶部と、
複数の前記サーバアプリケーションが共有でアクセス可能な共有データベースと、
前記アプリケーションの提供者毎にアクセス可能な前記共有データベースのテーブルエリアを限定する限定部と
を有することを特徴とする情報配信サーバシステム。
【請求項33】
請求項1に記載の情報配信サーバシステムにおいて、
前記無線携帯端末にダウンロードされたアプリケーションと通信可能なサーバアプリケーションを記憶するサーバアプリケーション記憶部と、
前記利用者情報テーブルに保存されているデータにアクセス可能な共有プロセスインターフェースとを有し、
前記サーバアプリケーションは、前記共有プロセスインターフェースを利用して、前記利用者情報テーブルにアクセスすることを特徴とする情報配信サーバシステム。
【請求項34】
インターネット及び無線通信網を介してダウンロードしたアプリケーションを利用することができる無線携帯端末に対し、当該無線携帯端末からのダウンロード要求に応じて前記アプリケーションを配信する情報配信方法において、
前記無線携帯端末の利用者が一定期間に支払うべき一定額の利用料金の支払い状況を記憶する利用料金記憶ステップと、
前記アプリケーションが利用されている利用状況を検出する検出ステップと、
前記検出された利用状況を記憶する利用状況記憶ステップと、
前記記憶されている利用料金の総合計金額と前記記憶されている利用状況とに基づいて前記提供者情報テーブルに記憶されている各提供者に対して支払うべきライセンス金額をそれぞれ演算出力する演算ステップと
を有することを特徴とする情報配信方法。
【請求項35】
請求項34に記載の情報配信方法において、
前記検出ステップは、前記アプリケーションの利用状況を各アプリケーション毎に検出し、
前記利用状況記憶ステップは、前記アプリケーションの利用状況を各アプリケーション毎に記憶しており、
前記演算ステップは、
前記記憶されている利用料金の総合計金額の一部を、前記提供者に支払うべきライセンス金額金の総合計金額として割り当てるステップと、
各アプリケーションの提供者に対して支払うべきライセンス金額を、前記割り当てたライセンス金額金の総合計金額の中から、前記記憶されている利用状況に応じてそれぞれ配分出力するステップと
からなることを特徴とする情報配信方法。
【請求項36】
請求項34に記載の情報配信方法において、
前記検出ステップは、前記アプリケーションの利用状況を各利用者ごとに検出し、
前記利用状況記憶ステップは、前記アプリケーションの利用状況を各利用者毎に記憶しており、
前記演算ステップは、
前記利用者が支払った前記利用料金の一部を、当該利用者から前記アプリケーションの提供者に対して支払うべきライセンス金額として割り当てるステップと、
前記各利用者から前記提供者に支払うべきライセンス金額を、前記割り当てられたライセンス金額の中から前記記憶されている利用状況に応じて配分出力するステップと、
前記提供者のそれぞれに支払うべきライセンス金額を、全ての前記利用者に対応して前記配分出力されたライセンス金額を前記提供者毎に合計することによって算出するステップと
からなることを特徴とする情報配信方法。
【請求項37】
請求項34に記載の情報配信方法をコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【請求項38】
請求項35に記載の情報配信方法をコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【請求項39】
請求項36に記載の情報配信方法をコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【公開番号】特開2008−152797(P2008−152797A)
【公開日】平成20年7月3日(2008.7.3)
【国際特許分類】
【出願番号】特願2008−9799(P2008−9799)
【出願日】平成20年1月18日(2008.1.18)
【分割の表示】特願2000−284010(P2000−284010)の分割
【原出願日】平成12年9月19日(2000.9.19)
【出願人】(500438172)テックファーム株式会社 (14)
【Fターム(参考)】
【公開日】平成20年7月3日(2008.7.3)
【国際特許分類】
【出願日】平成20年1月18日(2008.1.18)
【分割の表示】特願2000−284010(P2000−284010)の分割
【原出願日】平成12年9月19日(2000.9.19)
【出願人】(500438172)テックファーム株式会社 (14)
【Fターム(参考)】
[ Back to top ]