[go: up one dir, main page]

JP4750254B2 - Information distribution server system, application authentication method for the system, and recording medium - Google Patents

Information distribution server system, application authentication method for the system, and recording medium Download PDF

Info

Publication number
JP4750254B2
JP4750254B2 JP2000284010A JP2000284010A JP4750254B2 JP 4750254 B2 JP4750254 B2 JP 4750254B2 JP 2000284010 A JP2000284010 A JP 2000284010A JP 2000284010 A JP2000284010 A JP 2000284010A JP 4750254 B2 JP4750254 B2 JP 4750254B2
Authority
JP
Japan
Prior art keywords
application
download
identifier
request
portable terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2000284010A
Other languages
Japanese (ja)
Other versions
JP2002091850A (en
Inventor
雄一朗 筒井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Techfirm Inc
Original Assignee
Techfirm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Techfirm Inc filed Critical Techfirm Inc
Priority to JP2000284010A priority Critical patent/JP4750254B2/en
Publication of JP2002091850A publication Critical patent/JP2002091850A/en
Application granted granted Critical
Publication of JP4750254B2 publication Critical patent/JP4750254B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、情報配信サーバシステム、当該システムにおけるアプリケーションについての認証方法及び記録媒体に関する。
【0002】
【従来の技術】
携帯電話機の高機能化が急速に進んでいる。
最近では、より本格的なアプリケーション動作環境を携帯電話機に導入しようという提案がなされている。例えば、Java(登録商標)プログラミング言語で記述されたアプリケーションを実行させる環境であるジャババーチャルマシンを携帯電話機に実装する計画がある。これが実現すれば、今まで以上に様々なアプリケーションを携帯電話機上で動作させることが可能となる。
このような環境の変化は、携帯電話機が、これまでは単なる入出力のみをつかさどっていた端末から、利用者が必要とする様々なアプリケーションをインストールし、かつ、それを利用することが出来る情報処理端末へと変貌することを意味している。即ち、その情報処理能力や表現能力はまだ劣るものの、今まではパーソナルコンピュータでしか処理できなかったことが携帯電話機でも処理できるようになる。
【0003】
このような携帯電話機向けのJava(登録商標)アプリケーションは下記のような特徴を有すると考えられる。
(1)携帯電話機は、パーソナルコンピュータと比較して携帯性に富む一方、少メモリ容量、低いデータ処理能力、少ない通信帯域、遅い通信スピード等のデメリットを有している。これらのデメリットにより、携帯電話機向けのアプリケーションのコードサイズは、パーソナルコンピュータ向けのそれに比べると、はるかに小さくなる。そのため、アプリケーション自体の機能だけで所期の目的を果たすというよりも、サーバ等の外部機能をも最大限活用して処理を行うことが予想される。
(2)パーソナルコンピュータ向けのアプリケーションは、主として、実行の度にサーバからパーソナルコンピュータにダウンロードされる。一方、携帯電話機を用いた場合、ダウンロードに要する通信時間や通信コストのほか、利用者の操作負担等を考慮すると、携帯電話機向けのアプリケーションは、携帯電話機の不揮発性メモリに保存された後に利用されるケースが多くなることが予想される。
(3)携帯電話機のユーザインタフェースが貧弱であることを考慮すると、利用者は、様々なアプリケーション配信サイトを使い分けるより、ある特定のアプリケーション配信サイトを通じて様々なアプリケーションを取得する傾向が強くなり、これに伴い、アプリケーション配信サイト側も多くのアプリケーション提供者による複数のアプリケーションを取り扱うことが予想される。
(4)Java(登録商標)アプレットのサンドボックスモデルに代表されるように、アプリケーションのセキュリティ管理ポリシーは、ダウンロード元のサーバとしか通信できないという方向に向かうことが予想される。
【0004】
以上の述べたようなことを鑑みると、携帯電話機向けアプリケーションについては次のように認証処理が必要になると考えられる。
【0005】
例えば、複数のアプリケーション提供者による複数のアプリケーションが1つのサーバから配信されている場合、クライアント側のアプリケーションと、サーバ側でそのアプリケーションとの通信インタフェース機能を司るサーバ側プロセスとはセットになっている。サーバ側プロセスは、リクエストをサーバ側に送信してきたアプリケーションが確かに自身とセットになっているアプリケーションかどうかを確認することにより、アプリケーションを認証する。
例えば、利用者のスケジュール情報やアドレス帳等の各種データを管理するアプリケーションを想定した場合、そのアプリケーションが、各種データの内容をサーバに問い合わせると、これに応じてサーバ側プロセスは、利用者個人の認証を行うと共に、自身とセットになっているアプリケーションかどうかを確認する必要がある。
【0006】
また、例えば、複数のアプリケーション提供者による、複数のアプリケーションが1つのサーバから配信されている場合、これら複数のアプリケーションが共有可能なサーバ側の機能インターフェースプロセスが必要とされる。一例を挙げると、利用者が、自身が利用したアプリケーションに対しその実用度に応じたポイント数を投票するとサーバ側のテーブルに登録できるような場合、各アプリケーションはそのテーブルを共有できるようになっており、このポイント登録機能が機能インターフェースプロセスに相当する。この場合、機能インターフェースプロセスは、どのアプリケーションからの投票リクエストであるかを認識しておく必要がある。
あるいは、共通インタフェースプロセスの共有度が、アプリケーション単位で制限されているような場合がある、例えば、アプリケーションが利用者の個人情報に関わるようなデータにアクセスするようなケースである。このような場合、特定のアプリケーションに対してのみ特定の機能がオープンされるので、機能インタフェースプロセスは、どのアプリケーションからのリクエストであるかを認識しておく必要がある。
【0007】
【発明が解決しようとする課題】
このようなアプリケーション認証の必要性に対し、従来は、次のような手法が採用されていた。
例えば、クライアント側のアプリケーションがサーバ側にアプリケーション識別情報を通知し、これによりサーバ側は、アプリケーションを識別していた。また、利用者がクライアント側でアプリケーションを選択し、これをサーバ側に通知することによって、サーバ側でのアプリケーション認証を可能としていた。
しかしながら、いずれの手法を用いても、サーバ側では、アプリケーション側の動作を信用するしかなく、不正なアプリケーションが他のアプリケーションになりすましたり、利用者が故意あるいは誤って別のアプリケーションを指定するようなケースには、アプリケーションの認証を行うことができなかった。
【0008】
また、認証局の証明の下に、暗号化やデジタル認証を利用してアプリケーション認証を行う手法も存在する。
この場合、携帯電話機でのデジタル認証への対応が必要であるが、その機能を携帯電話機に実装するための負担は大きい。また、認証局に対するコストの発生という問題もある。
【0009】
本発明では、上述したような背景の下、アプリケーションをより確実に認証し、より安全性の高いアプリケーション配信・実行環境を提供することを目的とする。
【0010】
【課題を解決するための手段】
上述した課題を解決するため、請求項1に記載の発明は、無線通信網に収容される無線携帯端末からのダウンロード要求に応じてアプリケーションを配信する情報配信サーバシステムにおいて、前記無線携帯端末からのダウンロード要求に応じて、この要求イベントを識別するためのダウンロード識別子を発行する識別子発行部と、前記発行されたダウンロード識別子と、当該ダウンロード識別子が示す要求イベントの対象となる前記アプリケーションに固有のアプリケーション識別子とを対応付けて記憶する識別子記憶部と、前記ダウンロード要求に対応して前記無線携帯端末へ送信される応答信号の中に前記発行されたダウンロード識別子を含めて送信する識別子通知部と、前記無線携帯端末にダウンロードされたアプリケーションから前記ダウンロード識別子及び前記アプリケーション識別子を含むリクエスト信号を受信すると、当該ダウンロード識別子と当該アプリケーション識別子とが対応付けられて前記識別子記憶部によって記憶されているか否かにより、前記アプリケーションについての認証を行う認証部とを有することを特徴とする。
【0011】
請求項2に記載の発明は、請求項1に記載の情報配信サーバシステムにおいて、
前記識別子通知部は、前記無線携帯端末が前記アプリケーションをダウンロードするために用いるURL(Uniform Resorce Locator)に前記ダウンロード識別子を含めて送信することを特徴とする。
【0012】
請求項3に記載の発明は、請求項1に記載の情報配信サーバシステムにおいて、
前記識別子通知部は、前記無線携帯端末の前記アプリケーションから参照可能なパラメータデータに前記ダウンロード識別子を含めて送信することを特徴とする。
【0013】
請求項4に記載の発明は、無線通信網に収容される無線携帯端末からのダウンロード要求に応じてアプリケーションを配信する情報配信サーバシステムにおいて、前記無線携帯端末からのダウンロード要求に応じて、この要求イベントを識別するためのダウンロード識別子を発行する識別子発行部と、前記発行されたダウンロード識別子と、当該ダウンロード識別子が示す要求イベントの対象となる前記アプリケーションに固有のアプリケーション識別子とを対応付けて記憶する識別子記憶部と、前記無線携帯端末にダウンロードされる前記アプリケーションのデータファイル内に前記発行したダウンロード識別子を含めて配信するアプリケーション配信部と、前記無線携帯端末にダウンロードされたアプリケーションから前記ダウンロード識別子及び前記アプリケーション識別子を含むリクエスト信号を受信すると、当該ダウンロード識別子当該アプリケーション識別子対応付けられて前記識別子記憶部によって記憶されているか否かにより、前記アプリケーションについての認証を行う認証部とを有することを特徴とする。
【0014】
請求項5に記載の発明は、無線通信網に収容される無線携帯端末からのダウンロード要求に応じてアプリケーションを配信する情報配信サーバシステムにおいて、
前記無線携帯端末からのダウンロード要求イベントを識別するためのダウンロード識別子を発行する識別子発行部と、
前記無線携帯端末にダウンロードされたアプリケーションから、当該アプリケーションを識別するためのアプリケーション識別子と当該無線携帯端末の利用者を識別するための利用者識別子とを含み当該ダウンロードに対応したダウンロード識別子を要求するためのリクエスト信号を受信すると、前記識別子発行部により発行されるダウンロード識別子を前記無線携帯端末に通知する識別子通知部と、
前記リクエスト信号を受信した際に、前記要求されたダウンロード識別子が前記識別子通知部により既に通知されているか否かにより、前記アプリケーションについての認証を行う認証部と
を有することを特徴とする。
【0015】
請求項6に記載の発明は、請求項5に記載の情報配信サーバシステムにおいて、
前記認証部は、さらに、前記無線携帯端末にダウンロードされた前記アプリケーションから前記通知したダウンロード識別子を含むリクエスト信号を受信すると、当該ダウンロード識別子が前記識別子発行部によって発行されたものであるか否かにより、前記アプリケーションについての認証を行うことを特徴とする。
【0016】
請求項7に記載の発明は、請求項5に記載の情報配信サーバシステムにおいて、
前記識別子通知部は、前記アプリケーションに対して前記ダウンロード識別子を1回のみ通知することを特徴とする。
【0017】
請求項8に記載の発明は、請求項5に記載の情報配信サーバシステムにおいて、
前記認証部は、前記利用者識別子及び前記アプリケーション識別子の組み合わせに対応するダウンロード識別子が複数存在する場合、最後にダウンロードされたアプリケーションについてのダウンロード識別子を前記認証の対象とすることを特徴とする。
【0018】
請求項9に記載の発明は、無線通信網に収容される無線携帯端末からのダウンロード要求に応じてアプリケーションを配信する情報配信サーバシステムにおいて、前記ダウンロード要求がなされた日時をサーバ側ダウンロード日時として計時するダウンロード計時部と、前記ダウンロード要求を送信してきた無線携帯端末の利用者を識別するための利用者識別子と、当該ダウンロード要求の対象となるアプリケーションを識別するためのアプリケーション識別子と、当該ダウンロード要求について前記計時されたサーバ側ダウンロード日時とを互いに対応付けて記憶する識別子記憶部と、前記無線携帯端末にダウンロードされたアプリケーションから、前記無線携帯端末により前記ダウンロードがなされた日時として記憶されている端末側ダウンロード日時と、前記アプリケーション識別子と、前記利用者識別子とを含むリクエスト信号を受信した場合、前記端末ダウンロード日時が前記サーバ側ダウンロード日時に対して所定の時間範囲に含まれているか否かにより、前記アプリケーションについての認証を行う認証部とを有することを特徴とする。
【0019】
請求項10に記載の発明は、無線通信網に収容される無線携帯端末からのダウンロード要求に応じてアプリケーションを配信する情報配信サーバシステムのアプリケーション認証方法において、前記無線携帯端末からのダウンロード要求に応じて、この要求イベントを識別するためのダウンロード識別子を発行するステップと、前記発行されたダウンロード識別子と、当該ダウンロード識別子が示す要求イベントの対象となる前記アプリケーションに固有のアプリケーション識別子とを対応付けて識別子記憶部に記憶するステップと、前記ダウンロード要求に対応して前記無線携帯端末へ送信される応答信号の中に前記発行されたダウンロード識別子を含めて送信するステップと、前記無線携帯端末にダウンロードされたアプリケーションから前記ダウンロード識別子及び前記アプリケーション識別子を含むリクエスト信号を受信すると、当該ダウンロード識別子と当該アプリケーション識別子とが対応付けられて前記識別子記憶部によって記憶されているか否かにより、前記アプリケーションについての認証を行うステップとを有することを特徴とする。
【0020】
請求項11に記載の発明は、無線通信網に収容される無線携帯端末からのダウンロード要求に応じてアプリケーションを配信する情報配信サーバシステムのアプリケーション認証方法において、前記無線携帯端末からのダウンロード要求に応じて、この要求イベントを識別するためのダウンロード識別子を発行するステップと、前記発行されたダウンロード識別子と、当該ダウンロード識別子が示す要求イベントの対象となる前記アプリケーションに固有のアプリケーション識別子とを対応付けて識別子記憶部に記憶するステップと、前記無線携帯端末にダウンロードされる前記アプリケーションのデータファイル内に前記発行したダウンロード識別子を含めて配信するステップと、前記無線携帯端末にダウンロードされたアプリケーションから前記ダウンロード識別子及び前記アプリケーション識別子を含むリクエスト信号を受信すると、当該ダウンロード識別子と当該アプリケーション識別子とが対応付けられて前記識別子記憶部によって記憶されているか否かにより、前記アプリケーションについての認証を行うステップとを有することを特徴とする。
【0021】
請求項12に記載の発明は、無線通信網に収容される無線携帯端末からのダウンロード要求に応じてアプリケーションを配信する情報配信サーバシステムのアプリケーション認証方法において、
前記無線携帯端末からのダウンロード要求イベントを識別するためのダウンロード識別子を発行するステップと、
前記無線携帯端末にダウンロードされたアプリケーションから、当該アプリケーションを識別するためのアプリケーション識別子と当該無線携帯端末の利用者を識別するための利用者識別子とを含み当該ダウンロードに対応したダウンロード識別子を要求するリクエスト信号を受信すると、前記発行されるダウンロード識別子を前記無線携帯端末に通知するステップと、
前記リクエスト信号を受信した際に、前記要求されたダウンロード識別子が前記無線携帯端末に既に通知されているか否かにより、前記アプリケーションについての認証を行うステップと
を有することを特徴とする。
【0022】
請求項13に記載の発明は、請求項12に記載の情報配信サーバシステムのアプリケーション認証方法において、さらに、前記無線携帯端末にダウンロードされた前記アプリケーションから、前記通知したダウンロード識別子を含むリクエスト信号を受信すると、当該ダウンロード識別子が当該情報配信サーバシステムによって発行されたものであるか否かにより、前記アプリケーションについての認証を行うステップ有することを特徴とする。
【0023】
請求項14に記載の発明は、無線通信網に収容される無線携帯端末からのダウンロード要求に応じてアプリケーションを配信する情報配信サーバシステムのアプリケーション認証方法において、前記ダウンロード要求がなされた日時をサーバ側ダウンロード日時として計時するステップと、前記ダウンロード要求を送信してきた無線携帯端末の利用者を識別するための利用者識別子と、当該ダウンロード要求の対象となるアプリケーションを識別するためのアプリケーション識別子と、当該ダウンロード要求について前記計時されたサーバ側ダウンロード日時とを互いに対応付けて記憶するステップと、前記無線携帯端末にダウンロードされたアプリケーションから、前記無線携帯端末により前記ダウンロードがなされた日時として記憶されている端末側ダウンロード日時と、前記アプリケーション識別子と、前記利用者識別子とを含むリクエスト信号を受信した場合、前記端末ダウンロード日時が前記サーバ側ダウンロード日時に対して所定の時間範囲に含まれているか否かにより、前記アプリケーションについての認証を行うステップとを有することを特徴とする。
【0024】
請求項15に記載の発明は、請求項10に記載の情報配信サーバシステムのアプリケーション認証方法をコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記録媒体を提供するものである。
【0025】
請求項16に記載の発明は、請求項11に記載の情報配信サーバシステムのアプリケーション認証方法をコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記録媒体を提供するものである。
【0026】
請求項17に記載の発明は、請求項12に記載の情報配信サーバシステムのアプリケーション認証方法をコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記録媒体を提供するものである。
【0027】
請求項18に記載の発明は、請求項13に記載の情報配信サーバシステムのアプリケーション認証方法をコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記録媒体を提供するものである。
【0028】
請求項19に記載の発明は、請求項14に記載の情報配信サーバシステムのアプリケーション認証方法をコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記録媒体を提供するものである。
【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ページのみによって構成されるわけではなく、複数ページにわたって構成される場合も当然ありえる。この場合、利用者が図 (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)。ここで表示されるライブラリページは、図(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データの一例を示す図である。
【符号の説明】
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]
BACKGROUND OF THE INVENTION
The present invention relates to an information distribution server system, an authentication method for an application in the system, and a recording medium.
[0002]
[Prior art]
Mobile phones are becoming increasingly sophisticated.
Recently, proposals have been made to introduce a more serious application operating environment to mobile phones. For example, there is a plan to mount a Java virtual machine, which is an environment for executing an application described in a Java (registered trademark) programming language, on a mobile phone. If this is realized, various applications can be operated on the mobile phone more than ever.
This kind of environmental change is due to the fact that mobile phones can install and use various applications that users need from terminals that have been used only for input and output. It means to transform into a terminal. That is, although the information processing ability and expression ability are still inferior, what can be processed only by a personal computer until now can be processed by a mobile phone.
[0003]
Such a Java (registered trademark) application for mobile phones is considered to have the following characteristics.
(1) A mobile phone is more portable than a personal computer, but has disadvantages such as a small memory capacity, a low data processing capability, a small communication bandwidth, and a slow communication speed. Due to these disadvantages, the code size of applications for mobile phones is much smaller than that for personal computers. For this reason, it is expected that processing is performed by making the best use of external functions such as a server rather than fulfilling the intended purpose only by the function of the application itself.
(2) Applications for personal computers are mainly downloaded from a server to a personal computer each time they are executed. On the other hand, when a mobile phone is used, considering the communication time and communication cost required for downloading, as well as the operational burden on the user, the application for the mobile phone is used after being stored in the non-volatile memory of the mobile phone. It is expected that there will be more cases.
(3) Considering that the user interface of the mobile phone is poor, users tend to acquire various applications through a specific application distribution site rather than using various application distribution sites. Accordingly, the application distribution site side is expected to handle a plurality of applications by many application providers.
(4) As represented by the sandbox model of Java (registered trademark) applet, it is expected that the security management policy of the application will be in the direction of communication with only the server of the download source.
[0004]
In view of the above, it is considered that authentication processing is required for mobile phone applications as follows.
[0005]
For example, when a plurality of applications from a plurality of application providers are distributed from a single server, a client-side application and a server-side process that manages a communication interface function with the application on the server side are a set. . The server side process authenticates the application by confirming whether the application that sent the request to the server side is an application that is surely set with itself.
For example, assuming an application that manages various data such as the user's schedule information and address book, when the application queries the server for the contents of the various data, the server-side process responds to the user's personal information. It is necessary to perform authentication and check whether the application is a set with itself.
[0006]
In addition, for example, when a plurality of applications are distributed from a single server by a plurality of application providers, a server-side functional interface process that can share the plurality of applications is required. As an example, if a user can register in the table on the server side by voting the number of points according to their practicality for the application he / she used, each application can share that table. This point registration function corresponds to a function interface process. In this case, the function interface process needs to recognize which application the voting request is from.
Alternatively, the sharing degree of the common interface process may be limited on an application-by-application basis, for example, a case where an application accesses data related to user personal information. In such a case, since a specific function is opened only for a specific application, the function interface process needs to recognize which application the request is from.
[0007]
[Problems to be solved by the invention]
Conventionally, the following method has been adopted for such a need for application authentication.
For example, an application on the client side notifies the server side of application identification information, whereby the server side identifies the application. In addition, when a user selects an application on the client side and notifies the server side of the application, application authentication on the server side is possible.
However, regardless of which method is used, the server side only has to trust the operation on the application side, and an unauthorized application impersonates another application, or a user intentionally or mistakenly specifies another application. In case the application could not be authenticated.
[0008]
There is also a technique for performing application authentication using encryption or digital authentication under the certification of a certificate authority.
In this case, it is necessary to cope with digital authentication in the mobile phone, but the burden for mounting the function on the mobile phone is large. There is also a problem of cost generation for the certificate authority.
[0009]
An object of the present invention is to provide an application distribution / execution environment with higher security by more reliably authenticating an application against the background described above.
[0010]
[Means for Solving the Problems]
In order to solve the above-described problem, an invention according to claim 1 is an information distribution server system that distributes an application in response to a download request from a wireless portable terminal accommodated in a wireless communication network. In response to a download request, an identifier issuing unit that issues a download identifier for identifying the request event, and the issued download identifier And an application identifier unique to the application that is the target of the request event indicated by the download identifier The identifier storage unit for storing, and the issued in the response signal transmitted to the wireless portable terminal in response to the download request download An identifier notifying unit that transmits including an identifier and downloaded to the wireless portable terminal Ta Download identifier from application And the application identifier When a request signal containing And the corresponding application identifier And an authentication unit that authenticates the application depending on whether or not it is stored in the identifier storage unit.
[0011]
The invention according to claim 2 is the information distribution server system according to claim 1,
The identifier notifying unit transmits the URL (Uniform Resource Locator) used by the wireless portable terminal to download the application including the download identifier.
[0012]
The invention according to claim 3 is the information delivery server system according to claim 1,
The identifier notifying unit transmits parameter data that can be referred to from the application of the wireless portable terminal together with the download identifier.
[0013]
According to a fourth aspect of the present invention, there is provided an information distribution server system for distributing an application in response to a download request from a wireless portable terminal accommodated in a wireless communication network. An identifier that issues a download identifier for identifying an event, an identifier that stores the issued download identifier, and an application identifier unique to the application that is the target of the request event indicated by the download identifier, in association with each other A storage unit, an application distribution unit that distributes the data file of the application downloaded to the wireless portable terminal, including the issued download identifier, and the download from the application downloaded to the wireless portable terminal Upon receiving the Besshi and request signal including the application identifier, the download identifier When Applicable identifier When But Associated And an authentication unit that authenticates the application depending on whether or not it is stored in the identifier storage unit.
[0014]
The invention according to claim 5 is an information distribution server system for distributing an application in response to a download request from a wireless portable terminal accommodated in a wireless communication network.
An identifier issuing unit for issuing a download identifier for identifying a download request event from the wireless portable terminal;
To request a download identifier corresponding to the download, including an application identifier for identifying the application and a user identifier for identifying the user of the wireless portable terminal, from the application downloaded to the wireless portable terminal When the request signal is received, an identifier notification unit that notifies the wireless portable terminal of a download identifier issued by the identifier issuing unit,
An authentication unit that authenticates the application depending on whether the requested download identifier is already notified by the identifier notification unit when the request signal is received;
It is characterized by having.
[0015]
The invention according to claim 6 is the information delivery server system according to claim 5,
The authentication unit further receives a request signal including the notified download identifier from the application downloaded to the wireless mobile terminal, depending on whether the download identifier is issued by the identifier issuing unit. The application is authenticated.
[0016]
The invention according to claim 7 is the information delivery server system according to claim 5,
The identifier notification unit notifies the download identifier only once to the application.
[0017]
The invention according to claim 8 is the information delivery server system according to claim 5,
When there are a plurality of download identifiers corresponding to a combination of the user identifier and the application identifier, the authentication unit sets a download identifier for the last downloaded application as a target of the authentication.
[0018]
According to a ninth aspect of the present invention, in an information distribution server system for distributing an application in response to a download request from a wireless portable terminal accommodated in a wireless communication network, the date and time when the download request is made is counted as a server-side download date and time. A download timing unit, a user identifier for identifying the user of the wireless portable terminal that has transmitted the download request, an application identifier for identifying the application that is the target of the download request, and the download request An identifier storage unit that stores the time-scheduled server-side download date and time, and a terminal side that is stored as the date and time when the download was performed by the wireless portable terminal from an application downloaded to the wireless portable terminal Da And unload time, and the application identifier, when receiving a request signal containing said user identifier, said terminal ~ side Downlaw De day An authentication unit that authenticates the application depending on whether or not time is included in a predetermined time range with respect to the server-side download date and time.
[0019]
The invention according to claim 10 is an application authentication method for an information distribution server system that distributes an application in response to a download request from a wireless portable terminal accommodated in a wireless communication network, in response to a download request from the wireless portable terminal. And issuing a download identifier for identifying the request event, associating the issued download identifier with an application identifier specific to the application that is the target of the request event indicated by the download identifier. In identifier storage Storing, including transmitting the issued download identifier in a response signal transmitted to the wireless mobile terminal in response to the download request, from the application downloaded to the wireless mobile terminal When receiving a request signal including a download identifier and the application identifier, the step of authenticating the application depending on whether or not the download identifier and the application identifier are associated with each other and stored in the identifier storage unit. It is characterized by having.
[0020]
The invention according to claim 11 is an application authentication method for an information distribution server system that distributes an application in response to a download request from a wireless portable terminal accommodated in a wireless communication network, in response to a download request from the wireless portable terminal. And issuing a download identifier for identifying the request event, associating the issued download identifier with an application identifier specific to the application that is the target of the request event indicated by the download identifier. In identifier storage Storing, including distributing the issued download identifier in the data file of the application downloaded to the wireless portable terminal, the download identifier and the application identifier from the application downloaded to the wireless portable terminal And receiving the request signal including the step of authenticating the application depending on whether or not the download identifier and the application identifier are associated with each other and stored in the identifier storage unit. .
[0021]
The invention according to claim 12 is an application authentication method for an information distribution server system that distributes an application in response to a download request from a wireless portable terminal accommodated in a wireless communication network.
Issuing a download identifier for identifying a download request event from the wireless portable terminal;
A request for requesting a download identifier corresponding to the download, including an application identifier for identifying the application and a user identifier for identifying the user of the wireless portable terminal, from the application downloaded to the wireless portable terminal When receiving a signal, notifying the wireless portable terminal of the issued download identifier;
Authenticating the application according to whether or not the requested download identifier has already been notified to the wireless portable terminal when the request signal is received;
It is characterized by having.
[0022]
The invention according to claim 13 is the application authentication method of the information distribution server system according to claim 12, further receiving a request signal including the notified download identifier from the application downloaded to the wireless portable terminal. Then, the download identifier is The information distribution server system Authenticating the application depending on whether it is issued by The It is characterized by having.
[0023]
The invention according to claim 14 is an application authentication method of an information distribution server system for distributing an application in response to a download request from a wireless portable terminal accommodated in a wireless communication network. A time counting as a download date, a user identifier for identifying a user of the wireless portable terminal that has transmitted the download request, an application identifier for identifying an application that is a target of the download request, and the download The server-side download date and time counted for the request are stored in association with each other, and the date and time when the download was made by the wireless portable terminal from the application downloaded to the wireless portable terminal is stored. A terminal side download date have, with the application identifier when receiving a request signal containing said user identifier, said terminal ~ side Downlaw Day And authenticating the application according to whether or not the time is included in a predetermined time range with respect to the server side download date and time.
[0024]
A fifteenth aspect of the invention provides a computer-readable recording medium storing a program for causing a computer to execute the application authentication method of the information distribution server system according to the tenth aspect.
[0025]
The invention described in claim 16 provides a computer-readable recording medium storing a program for causing a computer to execute the application authentication method of the information distribution server system described in claim 11.
[0026]
The invention described in claim 17 provides a computer-readable recording medium storing a program for causing a computer to execute the application authentication method of the information distribution server system described in claim 12.
[0027]
According to an eighteenth aspect of the present invention, there is provided a computer-readable recording medium storing a program for causing a computer to execute the application authentication method of the information distribution server system according to the thirteenth aspect.
[0028]
A nineteenth aspect of the present invention provides a computer-readable recording medium storing a program for causing a computer to execute the application authentication method of the information distribution server system according to the fourteenth aspect.
[0029]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings. However, the present invention is not limited to such an embodiment, and various modifications can be made within the scope of the technical idea.
A: Configuration
(1) Overall network configuration
FIG. 1 is a block diagram illustrating an overall configuration of a system according to the embodiment. As shown in the figure, this system is mainly composed of a user terminal group 1, a provider terminal group 2, a mobile packet communication network 3, the Internet 4 and a server group 5.
This system provides an environment that promotes the distribution of content as a whole. Specifically, various applications are uploaded from the provider terminal group 2 to the server group 5, and in response to requests from the user terminal group 1 The above application is downloaded.
In this embodiment, a computer program called an “applet” written in the Java (registered trademark) programming language will be described as an example of an “application”. Any possible data is included in the concept of this application.
[0030]
Hereinafter, each component of this system will be described in detail.
The user terminal group 1 is a terminal group operated by a user who purchases a right to download and use various applications registered in the server group 5 by paying a fixed usage fee every month. 10 and a personal computer 11.
The mobile phone 10 receives a call service of a mobile phone network (not shown) and performs wireless data communication with the base station 31 of the mobile packet communication network 3.
The mobile packet communication network 3 includes base stations 31 distributed in a communication service area, switching stations 32 that perform packet switching services, and communication lines that connect them. The mobile packet communication network 3 is connected to the Internet 4 via a gateway 33, and bidirectional data communication is possible between the two different networks. The mobile phone 10 can download each application from the server group 5 via the mobile packet communication network 3 and the Internet 4.
The personal computer 11 is a computer that can be communicably connected to the Internet 4 via an Internet connection provider (provider) (not shown). A user can operate the computer 11 to access the server group 5 and receive an application search service.
[0031]
The provider terminal group 2 is a terminal group operated by a provider of various applications and includes a personal computer 20.
Similar to the personal computer 11 described above, the personal computer 12 is a computer that can be connected to the Internet 4 via an Internet connection provider (provider) (not shown). Here, the provider refers to a person who holds a license for each application, and has a right to receive a part of the usage fee paid by the user as a consideration for the application (hereinafter referred to as a license amount).
There are actually more mobile phones 10, personal computers 11, and personal computers 20, and this system can provide services to more users and providers. Hereinafter, the personal computer is abbreviated as PC.
[0032]
The server group 5 is connected to the Internet 4 via the router 6 and includes various servers for operating and managing a dedicated site for distributing the application uploaded from the provider terminal group 2 to the mobile phone 10. .
As shown in FIG. 1, the server group 5 includes a WWW (World Wide Web) server 50 for a mobile phone, a WWW server 51 for a personal computer, a DNS (Domain Name System) server 52, an SMTP (Simple Mail Transfer Protocol) server 53. , A database server 54, an aggregation server 55, an administrator console 56, a firewall server 57, and a high-speed digital line 58 for interconnecting them.
[0033]
The mobile phone WWW server 50 is a server that provides the mobile phone 10 with a WWW page dedicated to the mobile phone and distributes applications.
The PC WWW server 51 is a server that provides a PC-specific WWW page to the PC 11 and the PC 21.
The DNS server 52 is a well-known server that maintains a host name assigned to each node on the Internet 4 and an IP (Internet Protocol) address in association with each other, and provides a service for converting them.
The SMTP server 53 is a well-known mail server that supports SMTP.
The database server 54 is a server provided with a mass storage device for storing various uploaded applications and various tables as will be described later.
The aggregation server 55 is a server that uses the various tables stored in the database server 54 to calculate the usage status of the content and the license amount according to the usage status.
The administrator console 56 is a computer operated by an administrator of the server group 5, and thereby maintenance of various servers constituting the server group 5 is performed.
The firewall server 57 is a well-known server that manages the function of eliminating unauthorized access from an external network.
[0034]
(2) Configuration of mobile phone 10
Next, the configuration of the mobile phone 10 will be described.
First, the hardware configuration of the mobile phone 10 will be described with reference to FIG. As shown in the figure, a mobile phone 10 includes a CPU (Central Processing Unit) 100, a ROM (Read Only Memory) 101, a RAM (Random Access Memory) 102, an SRAM (Static Random Access Memory) 103, and a data input / output unit 104. , A wireless processing unit 105, an audio processing unit 106, a speaker 107, a microphone 108, a keypad 109, and an LCD (Liquid Crystal Display) 110 are connected.
Various control programs and the like are stored in the ROM 101, and the CPU 100 reads this control program and executes various control processes. At that time, the RAM 102 is used as a work area of the CPU 100 or the like. The control program in the ROM 101 includes a browser and various applications to be described later in addition to firmware that supports the basic operation of the mobile phone 10. The SRAM 103 caches a page provided from the mobile phone WWW server 50 and stores an application downloaded from the server 50.
The wireless processing unit 105 includes a frequency synthesizer, an amplifier, a modulation / demodulation circuit, etc. (not shown), and performs frame synchronization / separation, error detection / correction processing, etc., on a signal transmitted / received via the antenna 105-1. Processing corresponding to each of signals transmitted by circuit switching and signals transmitted by packet switching is performed. Data processed by the wireless processing unit 105 is input / output to / from the CPU 100 via the data input / output unit 104.
The audio processing unit 106 is connected to the speaker 107 and the microphone 108 and performs predetermined processing on the audio signal.
The keypad 109 is an input interface for the user to perform various operations, and the LCD 110 is a display interface for displaying various information.
[0035]
Next, the process configuration of the mobile phone 10 will be described with reference to FIG. As shown in the figure, the lowest layer of the process configuration includes a key interface unit KI related to hardware control of the mobile phone 10, a screen interface unit DI, a data communication driver DD, a speaker / microphone control unit SM, and a memory interface MI. The
The upper layer is constituted by firmware FW, and the basic processing of the mobile phone 10 is supported by this firmware.
Further, the upper layer includes a Java virtual machine JVM, a browser BS, a telephone function unit TS, and a setting unit SS, and a Java applet AAP is configured above the Java virtual machine JVM.
The Java applet APP is an application written in Java (registered trademark), downloaded from the mobile phone WWW server 50 to the mobile phone 10 and executed on the Java virtual machine JVM.
[0036]
(3) Configuration of WWW server for mobile phones
Next, the configuration of the mobile phone WWW server 50 will be described.
The mobile phone WWW server 50 has a hardware configuration similar to that of a known server machine, and includes a CPU, a ROM, a RAM, a hard disk device, a communication interface, and the like (not shown) connected via a bus.
FIG. 4 is a schematic diagram showing a process configuration of the mobile phone WWW server 50. As shown in the figure, an OS (Operating System), a WWW server, and a Web application program are configured in order from various interfaces at the lowest layer to the upper layer.
[0037]
(4) Database server configuration
As described above, the database server 54 holds various pieces of information in a table format, and these pieces of information are used for operation and management by this system.
The contents registered in the various tables in the database server 54 will be described in detail below.
[0038]
FIG. 5 is a diagram illustrating an example of registered contents of the provider master table LMT (provider information table).
As shown in the figure, in the table LMT, various types of provider information such as a provider name, a provider ID, a registration date, and a bank account are registered in association with each other. The provider name is a name notified to the server group 5 by the provider. The provider ID is an ID for identifying each provider. The registration date means the year, month and day when the provider registers the provider information in the server group 5. A bank account is a bank account opened by a provider, and this is a transfer destination account of a license amount to be received by the provider.
This provider master table LMT is mainly used when performing processing (to be described later) for searching for a license amount or application usage status (described later) or transferring a license amount in response to a request from the provider.
[0039]
FIG. 6 is a diagram illustrating an example of registration contents of the application registration master table AST.
As shown in the figure, various information such as application ID, provider ID, application name, server name, directory, download file name, DB access password, description, help file, and capture file are registered in this table AST. ing.
The application ID is an ID assigned to identify each application. The provider ID is as described above. The application name is the name of the application. The server name is the host name of the server where the application is stored, the directory is the directory name within the server where the application is stored, and the download file name is the name within the server where the application is stored. File name. When the mobile phone 10 application is downloaded from the server group 5, the server name, directory, and download file name are designated.
Next, the DB access password is a password used when the provider searches the database server 54 for information regarding each application. The explanatory text is a text for explaining the contents of the application to the user, and is displayed on the PC 11 or the mobile phone 10 when the user searches for an application or downloads the application, for example.
A help file is a file name that stores help information provided to users when searching for or downloading such applications. A capture file visually displays the contents of an application. This is the name of a file in which image information is stored.
The application registration master table AST is mainly used when searching for an application by a user or when downloading, and when searching for a license amount or usage status by a provider.
[0040]
FIG. 7 is a diagram illustrating an example of registered contents of the application access management table AAT (limitation unit, shared process interface).
As shown in the figure, an application ID and a table name are registered in this table AAT. This table name means the name of a table that can be accessed by the application when the application is executed. For example, the application (game software) indicated by the application ID “56789” can access a high score table (not shown) for registering a high score, that is, the application indicated by the application ID “56789” is high. This means that score registration is possible.
As described above, an accessible table is defined for each application, thereby preventing an unauthorized application from accessing.
[0041]
FIG. 8 is a diagram illustrating an example of registered contents of the application statistics table ATT.
As shown in the figure, in this table ATT, application ID, target year / month, number of downloads, number of activations, execution time, number of voting points, license amount and license amount payment flag are registered.
This table is for grasping the usage status of each application, and the target year means the period for which the usage status is to be grasped.
The number of downloads means the number of times the application has been downloaded to the mobile phone 10 during the period indicated by the target year and month.
The number of activations means the number of times that the application is activated on the mobile phone 10 during the period indicated by the target year and month.
The execution time means the time when the application is executed on the mobile phone 10 during the period indicated by the target year and month.
Each user can vote for the application he / she used according to its practicality and interest, and the number of voting points means the number of points voted. Yes.
The license amount is an amount that the provider should receive as a consideration for the application, and is calculated based on a calculation formula described later according to the usage status of the application.
The license amount payment flag is flag information indicating whether or not the calculated license amount has already been paid to the provider.
[0042]
FIG. 9 is a diagram illustrating an example of registered contents of the user master table UMT.
As shown in the figure, in this table UMT, user information such as a user name, a user ID, a password, a credit card number, an entry date, a withdrawal date, a telephone number, a mobile phone mail address, and a PC mail address are registered. Has been.
The user name is the name of the user, and the user ID is an ID assigned to identify each user. The password is necessary for the user to log in to the server group 5 and the like, and user authentication is performed by the above-described user ID and this password.
The credit card number is a contract number of a credit card used by the user, and the usage fee is collected using the credit contract indicated by the credit card number.
The enrollment date is the year, month and date when the user has joined this service, and the withdrawal date is the year, month and date when the user has withdrawn from this service.
The telephone number is a user's telephone number, and the mobile phone mail address is a mail address possessed by the user and assigned to the mobile phone 10 for downloading various applications. The PC mail address is a mail address assigned to the PC 11 used by the user.
This table UMT is used, for example, when the user logs in or when mail is sent to the user.
[0043]
FIG. 10 is a diagram illustrating an example of registered contents of the last activation date and time storage table LRT.
As shown in the figure, a user ID, an application ID, and the last activation date / time are registered in this table LRT. When the application is started on the mobile phone 10, the start notification is transmitted from the mobile phone 10 to the mobile phone WWW server 50, and the last start date is registered in the last start date storage table LRT accordingly. It has come to be.
The point voting described above is limited to applications that the user has downloaded or started in the past certain period, and this table LRT is used when the user can extract applications that can be point-voted.
[0044]
FIG. 11 is a diagram showing an example of registered contents of the user access storage table UAT.
As shown in the figure, in this table UAT, a user ID, an application ID, a target year, a number of downloads, a number of activations, an execution period, and the number of voting points are registered.
The number of downloads means the number of times the corresponding user has downloaded the corresponding application to the mobile phone 10 during the period indicated by the target year and month.
The number of activations means the number of times that the corresponding user has activated the corresponding application on the mobile phone 10 during the period indicated by the target year and month.
The execution time means the time when the corresponding user executes the corresponding application on the mobile phone 10 during the period indicated by the target year and month.
The number of voting points means the number of points that the corresponding user has voted for the corresponding application during the period indicated by the target date.
That is, this table UAT is used for grasping the usage status of the application. Based on the information registered in this table UAT, the usage status of the application is grasped, and as a result, the license amount to be paid to the provider is determined. It has become fixed.
[0045]
FIG. 12 is a diagram showing an example of registered contents of the user deposit management table UPT.
As shown in the figure, a user ID, a target date and a deposit flag are registered in this table UMT. The deposit flag is flag information indicating whether or not the usage fee has been paid by the user.
The server group 5 manages the payment of the usage fee by the user using the user deposit table UPT.
[0046]
FIG. 13 is a diagram showing an example of registered contents of the download ID management table DIT.
As shown in the figure, a user ID, a download date, an application ID, and a download ID are registered in this table DIT.
The download ID is an ID that is uniquely issued for each download request from the mobile phone 10, and all issued download IDs are stored in this table DIT. As will be described later, this download ID is used to eliminate unauthorized applications.
[0047]
FIG. 14 is a diagram illustrating an example of registered contents of the final download management table LDT.
As shown in the figure, the user ID, the application ID, and the last download date / time are registered in this table LDT. Similarly to the table LRT, this table LDT is also used when a user can extract an application that allows point voting.
[0048]
B: Operation
Next, the operation of the embodiment configured as described above will be described.
In the following, “applet” is processed as an application, and (1) applet search, (2) applet download, (3) applet execution, (4) applet point voting, (5) calculation of license amount, (6) The operation will be described in the order of various searches by the provider.
[0049]
(1) Search for applets
The user can access the server group 5 by operating the PC 11 and search for a desired applet.
15 to 16 are sequence diagrams showing operations of the PC 11 and the PC WWW server 51 when searching for applets. FIG. 17 is a diagram showing an example of a screen displayed on the PC 11 at that time.
In FIG. 15, the user first operates the PC 11 to start the browser, and the URL of the top page held by the PC WWW server 51 (here, “http://www-p.techfirm.co.jp/ Enter "index.html"). The PC 11 accepts this operation (step Sa1). At this time, it goes without saying that the jump is not limited to the input of the URL, but from an anchor on another page.
[0050]
Next, the PC 11 sends a request for accessing the top page to the Internet 4 (step Sa2). This request includes a character string consisting of “http://www-p.techfirm.co.jp/index.html” specified by the GET method, as shown in FIG.
[0051]
When receiving the request signal via the Internet 4, the PC WWW server 51 reads the top page specified by the request URI (Uniform Resource Identifier) from the hard disk (step Sa3), and transmits this to the PC 11 ( Step Sa4).
[0052]
When receiving the top page, the PC 11 interprets it and displays it on the display unit (step Sa5). The page displayed here is a page for logging in to the PC WWW server 51. For example, as shown in FIG. 17A, a message prompting for input of a user ID and password is displayed in a predetermined field. Yes.
[0053]
When the user inputs the user ID and password and performs an operation for instructing login, the PC 11 transmits a request for login to the PC WWW server 51 (step Sa6). For example, when the user ID “10000” and the password “9999” are input, this request includes “http://www-p.techfirm.co.jp/cgi-bin/login” specified by the GET method. .cgi? id = 10000 & pw = 9999 "is included.
[0054]
The PC WWW server 51 activates a CGI (Common Gateway Interface) corresponding to login.cgi in response to the request, refers to the user master table UMT in the database server 54, and receives the received user ID “10000”. And it is determined whether or not the set of the password “9999” is a correct set (step Sa7).
[0055]
If the result of this determination is that the set is correct, the PC WWW server 51 forms the next entrance page and sends it back to the PC 11 (step Sa8). On the other hand, as a result of this determination, if the set is not correct, a predetermined error screen is formed and returned to the PC 11.
Thereafter, in order to manage each session executed between the PC 11 and the PC WWW server 51 on the PC WWW server 51 side, the data transmitted from the PC 11 to the PC WWW server 51 is a character string indicating a user ID. “Id = 10000” is embedded.
[0056]
Now, when receiving the entrance page, the PC 11 interprets it and displays it on the display unit (step Sa9). On the page displayed here, as shown in FIG. 17B, an outline description of the site and various menus are listed.
[0057]
In order for a user to perform an applet search, a “library” button shown in FIG. 5B may be clicked. In response to this click operation, the PC 11 sends a request for requesting a library service to a PC WWW server. 51 (step Sa10). This request includes a character string consisting of “http://www-p.techfirm.co.jp/cgi-bin/lib.cgi?id=10000” specified by the GET method.
[0058]
In response to the request, the PC WWW server 51 activates lib.cgi to form a library page (step Sa11), and returns this to the PC 11 (step Sa12).
[0059]
When receiving the library page, the PC 11 interprets it and displays it on the display unit (step Sa13). The library page displayed here is a page for selecting applets to be searched by category as shown in FIG. Here, for example, it is assumed that the user clicks the “game” button shown in FIG.
[0060]
In response to the click operation, the PC 11 transmits a request for requesting the list page of the game applet to the PC WWW server 51 (step Sa14). This request includes a character string consisting of “http://www-p.techfirm.co.jp/cgi-bin/lib-game.cgi?id=10000&page1” specified by the GET method.
[0061]
In response to the request, the PC WWW server 51 activates lib-game.cgi to configure the first page of the game list page (step Sa15), and transmits this to the PC 11 (step Sa16).
[0062]
When the PC 11 receives the first page of the game list page, it interprets it and displays it on the display unit (step Sa17). The page displayed here lists the title names of various games as shown in FIG. Here, it is assumed that the user clicks and selects the title name “drops” shown in FIG. It should be noted that the game list page is not necessarily composed of only one page, but may naturally be composed of a plurality of pages. In this case, when the user clicks “Next” shown in Figure (d), “http://www-p.techfirm.co.jp/cgi-bin/lib-game.cgi? A request including the character string “id = 10000 & page2” is transmitted from the PC 11 to the PC WWW server 51, and the second page of the game list is provided. Thus, the Nth page of the game list is provided by indicating “pageN” at the end of the request URI.
[0063]
In response to the click operation, the PC 11 transmits a request for requesting a game description of “drops” to the PC WWW server 51 (step Sa18). This request includes a character string consisting of “http://www-p.techfirm.co.jp/cgi-bin/expl.cgi?id=10000&app=56789” specified by the GET method. Here, “app = 56789” means an application ID assigned to “drops”.
[0064]
In response to the request, the PC WWW server 51 activates expl.cgi to construct a description page for the “drops” game (step Sa19), and transmits this to the PC 11 (step Sa20). At this time, the PC WWW server 51 refers to the application registration master table AST in the database server 54 and refers to an explanatory note, a capture file, etc. corresponding to the designated applet, and configures an explanation page.
[0065]
When receiving the explanation page, the PC 11 interprets it and displays it on the display unit (step Sa21). The page displayed here includes an explanatory text explaining the contents of “drops” as shown in FIG. 17E, and a capture that visually represents how the game is being played. ing.
[0066]
The user refers to these explanations, and clicks the “URL mail” button shown in FIG. 5E if there is an intention to download the game to his / her mobile phone 10.
In response to this click operation, the PC 11 transmits a request for requesting the mobile phone 10 to transmit an access URL for downloading “drops” to the mobile phone 10 to the PC WWW server 51 ( Step Sa22). This request includes a character string consisting of “http://www-p.techfirm.co.jp/cgi-bin/urlmail.cgi?id=10000&app=56789” specified by the GET method.
[0067]
The PC WWW server 51 activates urlmail.cgi in response to the request and uses the mail address assigned to the mobile phone 10 as the destination, and an access URL (http to the game software “drops” specified by the request. : //www-c.techfirm.co.jp/cgi-bin/expl.cgi? id = 10000 & app = 56789) is generated and transmitted (step Sa23). At this time, the mail address of the destination mobile phone 10 can be grasped by referring to the user master table UMT.
[0068]
When this mail transmission is completed, the PC WWW server 51 generates a completion notification page and transmits it to the PC 11 (step Sa24).
When the PC 11 receives the completion notification page, it interprets it and displays it on the display unit (step Sa25), and the process shown in FIG.
[0069]
The mobile phone 10 that has received the e-mail in which the access URL is written can jump directly to the site indicated by the URL when the access URL on the mail is selected on its mail browser. This eliminates the need for the user to input a URL that is cumbersome to input on the mobile phone 10. Further, it is not necessary to perform a complicated search operation on the mobile phone 10, which is very convenient for the user.
[0070]
(2) Applet download
Next, applet download processing will be described.
18 to 20 are sequence diagrams showing operations of the mobile phone 10 and the mobile phone WWW server 50 when downloading the applet. FIG. 21 shows an example of a screen displayed on the LCD 111 of the mobile phone 10 at this time. FIG.
In FIG. 18, first, the user operates the mobile phone 10 to start the browser, and the URL of the top page held by the mobile phone WWW server 50 (here, “http://www-c.techfirm.co”). .jp / index.html ”). In response to this, the cellular phone 10 receives the input operation (step Sb1). At this time, it goes without saying that the jump is not limited to the input of the URL, but from an anchor on another page.
[0071]
Next, the mobile phone 10 sends a request for accessing the top page to the Internet 4 (step Sb2). This request includes a character string consisting of “http://www-c.techfirm.co.jp/index.html” specified by the GET method, as shown in FIG.
[0072]
When the mobile phone WWW server 50 receives the request via the Internet 4, it reads the page specified by the request URI from the hard disk (step Sb3) and returns it to the mobile phone 10 (step Sb4).
[0073]
When the mobile phone 10 receives the page, it interprets it and displays it on the LCD 111 (step Sb5). The top page displayed here is a page for joining or logging in to the service provided by the mobile phone WWW server 50, and has a configuration as shown in FIG.
[0074]
When the user selects and operates “Login” shown in FIG. 5A, the cellular phone 10 transmits a request for login to the cellular phone WWW server 50 (step Sb6). This request includes a character string consisting of “http://www-c.techfirm.co.jp/login.html” specified by the GET method, as shown in FIG.
[0075]
When the mobile phone WWW server 50 receives the request, it reads the login page specified by the request URI from the hard disk (step Sb7) and returns it to the mobile phone 10 (step Sb8).
[0076]
When the mobile phone 10 receives the login page, it interprets it and displays it on the LCD 111 (step Sb9). The login page displayed here has a configuration as shown in FIG. 21B, for example, and a message prompting the user to input a user ID and password is displayed in a predetermined field.
[0077]
When the user inputs the user ID and password and performs an operation to instruct login, the cellular phone 10 transmits a request for login to the cellular phone WWW server 50 (step Sb10). For example, when the user ID “10000” and the password “9999” are input, “http://www-c.techfirm.co.jp/cgi-bin/start. A character string consisting of “cgi? id = 10000 & pw = 9999” is included.
[0078]
The mobile phone WWW server 50 starts start.cgi in response to the above request, refers to the user master table UMT in the database server 54, and sets the received user ID “10000” and password “9999”. It is determined whether the set is correct (step Sb11).
[0079]
As a result of this determination, if the set is correct, the mobile phone WWW server 50 configures the next menu page and sends it back to the mobile phone 10 (step Sb12).
On the other hand, as a result of this determination, if the set is not correct, a predetermined error screen is formed and returned to the mobile phone 10.
Hereinafter, in order to manage each session executed between the mobile phone 10 and the mobile phone WWW server 50 on the mobile phone WWW server 50 side, the data transmitted from the mobile phone 10 to the mobile phone WWW server 50 includes “Id = 10000” indicating the user ID is embedded.
[0080]
Now, when receiving the menu page, the cellular phone 10 interprets it and displays it on the LCD 111 (step Sb13). In the page displayed here, various menus are listed as shown in FIG.
[0081]
In order for the user to download the applet, the “library” button shown in FIG. 5C may be selected. In response to this selection operation, the cellular phone 10 sends a request for requesting the library page to the cellular phone. It transmits to the WWW server 50 for use (step Sb14). This request includes a character string consisting of “http://www-c.techfirm.co.jp/cgi-bin/libtop.cgi?id=10000” designated by the GET method.
[0082]
In response to the request, the mobile phone WWW server 50 activates libtop.cgi to form a library page (step Sb15), and returns this to the mobile phone 10 (step Sb16).
[0083]
When the mobile phone 10 receives the library page, it interprets it and displays it on the LCD 111 (step Sb17). The library page displayed here is a page for selecting applets stored in the database server 54 by category as shown in FIG. Here, for example, it is assumed that the user selects the “game” shown in FIG.
[0084]
In response to this selection operation, the cellular phone 10 transmits a request for requesting a game list page to the cellular phone WWW server 50 (step Sb18). This request includes a character string consisting of “http://www-c.techfirm.co.jp/cgi-bin/lib-game.cgi?id=10000&page1” specified by the GET method.
[0085]
In response to the request, the mobile phone WWW server 50 activates lib-game.cgi to configure the first page of the game list page (step Sb19), and transmits this to the mobile phone 10 (step Sb20).
[0086]
When the mobile phone 10 receives the first page of the game list page, it interprets it and displays it on the LCD 111 (step Sb21). In the page displayed here, title names of various games are listed as shown in FIG. Here, it is assumed that the user selects the title name “drops” shown in FIG. It should be noted that the game list page is not necessarily composed of only one page, but may naturally be composed of a plurality of pages. In this case, when the user selects “Next” shown in FIG. 21E, “http://www-c.techfirm.co.jp/cgi-bin/lib-game.cgi” is displayed. A request including the character string “? id = 10000 & page2” is transmitted from the mobile phone 10 to the mobile phone WWW server 50, and the second page of the game list is provided. Thus, the Nth page of the game list is provided by indicating “pageN” at the end of the request URI.
[0087]
In response to the selection operation, the cellular phone 10 transmits a request for requesting a game description of “drops” to the cellular phone WWW server 50 (step Sb22). This request includes a character string consisting of “http://www-p.techfirm.co.jp/cgi-bin/expl.cgi?id=10000&app=56789” specified by the GET method. Here, “app = 56789” means an application ID assigned to “drops”.
[0088]
In response to the request, the mobile phone WWW server 50 activates expl.cgi to form a description page for the “drops” game (step Sb23), and transmits this to the mobile phone 10 (step Sb24). At this time, the mobile phone WWW server 50 refers to the application registration master table AST in the database server 54 and refers to the explanatory text, the capture file, etc. corresponding to the designated applet, and configures an explanatory page.
[0089]
When the mobile phone 10 receives the explanation page, it interprets it and displays it on the LCD 111 (step Sb25). In the page displayed here, buttons for selecting various operations such as download, usage, and screen capture are displayed in addition to the explanatory text explaining the contents of “drops” as shown in FIG. Has been.
[0090]
The user refers to these explanations, and selects “download” shown in FIG. 21F if there is an intention to download this game to his / her mobile phone 10. In response to this selection operation, the cellular phone 10 transmits a request for downloading “drops” to the cellular phone 10 to the cellular phone WWW server 50 (step Sb26). This request includes a character string consisting of “http://www-c.techfirm.co.jp/56789/dl.cgi?id=10000” specified by the GET method.
[0091]
The mobile phone WWW server 50 starts dl.cgi in response to the request, configures download HTML data prepared corresponding to “drops” (step Sb27), and transmits this to the mobile phone 10. (Step Sb28). The HTML data for download has a configuration as shown in FIG.
In FIG. 22, among the parameters designated by the “param” tag, the parameter “ID” is used to identify the user when communicating with the mobile phone WWW server 50. The parameter “DLID” is uniquely issued every time data for download is created. As will be described later, when the mobile phone WWW server 50 communicates with an application on the mobile phone 10 side, the application Used to confirm the legitimacy of
[0092]
When the mobile phone 10 detects the “applet” tag from the received HTML data (step Sb29), the mobile phone 10 transmits a request for acquiring the JAR file specified by the “ARCHIVE” tag to the mobile phone WWW server 50. (Step Sb30). This request includes a character string consisting of “http://www-c.techfirm.co.jp/56789/drops.jar” specified by the GET method.
[0093]
In response to the request, the mobile phone WWW server 50 reads the JAR file indicated by the file name “drops.Jar” from the database server 54 (step Sb31), and transmits it to the mobile phone 10 (step Sb32).
[0094]
The mobile phone 10 receives the JAR file and writes it in the SRAM 104 (step Sb33).
When the acquisition of the JAR file is completed, the mobile phone 10 transmits a request indicating the completion of the download to the URL specified by “COMPLETE” in the HTML data described above (step Sb34). This request includes a character string consisting of “http://www-c.techfirm.co.jp/cgibin/dlfinish.cgi?id=10000&app=56789&DLID=99887766” specified by the GET method.
At the same time, when acquisition of the JAR file is completed, the mobile phone 10 is designated in the predetermined storage area in the SRAM 124 by the “CODE” tag in FIG. The parameter specified by the “param” tag and the host name “game.techfirm.co.jp” of the acquisition source are saved as the reference can be made. The downloaded applet can communicate only with the server from which it was acquired (host name “game.techfirm.co.jp”) due to limitations of the Java virtual machine JVM.
[0095]
The cellular phone WWW server 50 accesses the database server 54 by activating dlfinish.cgi in response to the request, and on the user access storage table UAT, the user ID “10000” and the application ID “56789”. In addition to incrementing the download count value by one count, the download date and time are written on the download ID management table DIT and the final download management table LDT (step Sb35). That is, the mobile phone WWW server 50 stores the download ID, application ID, and user ID as a set on the download ID management table DIT described above.
[0096]
When the mobile phone WWW server 50 receives data from the application of the mobile phone 10 and receives the three data as a set from the mobile phone 10, the mobile phone WWW server 50 compares the data with the data on the download management table. Thus, it is possible to recognize that the transmission source of the data is a legitimate application downloaded by the WWW server 50 to the mobile phone 10 itself. With this mechanism, it can be said that it is possible to prevent data falsification and spoofing from another terminal or by an unauthorized application.
[0097]
Then, the mobile phone WWW server 50 generates an OK message indicating that the download process has been completed, and transmits this to the mobile phone 10 (step Sb36).
When the mobile phone 10 receives the message, it interprets it and displays it on the LCD 111 (step Sb37), and the process shown in FIG.
[0098]
(3) Execution of applet
Next, applet execution processing will be described.
23 to 24 are sequence diagrams showing operations of the mobile phone 10 and the mobile phone WWW server 50 when the applet is executed. FIG. 25 is a diagram showing an example of a screen displayed on the LCD 111 of the mobile phone 10 at this time. It is.
In FIG. 23, first, the user operates the mobile phone 10 to read a list of downloaded applets from the SRAM 124 and display it on the LCD 111 (step Sc1). The list of applets displayed here has a structure as shown in FIG. 25A, for example, and lists downloaded applet names.
[0099]
Here, for example, when the user selects “drops” shown in FIG. 25A, the display on the LCD 111 transitions to a screen as shown in FIG. 25B, and uses whether or not the selected applet is activated. A message for inquiring the person is displayed (step Sc2).
[0100]
When the user selects “OK” in FIG. 25B, the mobile phone 10 activates the Java virtual machine JVM and designates “drops.class”, which is a class to be called first (step Sc3).
[0101]
Then, the cellular phone 10 transmits a request for notifying activation of the applet to the cellular phone WWW server 50 (step Sc4). This request includes a character string consisting of “http://game.techfirm.co.jp/start.cgi?id=10000&app=56789&DLID=99887766” specified by the GET method, as shown in FIG. Here, as described above, in order to confirm the validity of communication between the mobile phone WWW server 50 and the mobile phone 10 side application, the request includes “DLID = 99887766” indicating the download ID, application ID “App = 56789” indicating the user ID and “id = 10000” indicating the user ID are included.
[0102]
When the mobile phone WWW server 50 receives the request, it starts start.cgi, refers to the download ID table DIT in the database server 54, and sets the download ID, application ID, and user ID described above. It is determined whether or not the pair is correct.
Next, the mobile phone WWW server 50 increments the activation count corresponding to the received user ID “id = 10000” and application ID “app = 56789” on the user access storage table UAT by one count, On the last activation date storage table LRT, the last activation date corresponding to the user ID “id = 10000” and the application ID “app = 56789” is written (step Sc5).
[0103]
Then, the mobile phone WWW server 50 generates an OK message indicating that the activation has been approved, and sends it back to the mobile phone 10 (step Sc6).
[0104]
In response to this notification, the mobile phone 10 executes the applet of the “drops” game (step Sc7). A display example of the LCD 111 of the mobile phone 10 at this time is shown in FIG.
[0105]
Now, when the game that the user has played is finished and the game score becomes the highest in the past, the high score can be registered. This registration process is started when the user selects a high score button (not shown) on the game end screen (step Sc8).
[0106]
First, the cellular phone 10 transmits a request for requesting high score registration to the cellular phone WWW server 50 (step Sc9). This request includes a character string consisting of “http://game.techfirm.co.jp/56789/highsc.cgi?id=10000&sc=12256000” specified by the GET method, as shown in the figure. Here, “sc = 12256000” means that the score is 12256000 points.
[0107]
The mobile phone WWW server 50 activates highsc.cgi in response to the request and registers the specified score in a high score table (not shown) in the database server 54. When the high score registration process is completed, the mobile phone WWW server 50 generates an OK message indicating that the high score process is completed, and obtains the user name “Tech” (step and Sc10). Details of these processes will be described later using the flow shown in FIG.
[0108]
Then, the cellular phone WWW server 50 transmits the OK message and the user to the cellular phone 10 (step Sc11).
[0109]
When the cellular phone 10 receives the OK message and the user name, it interprets it and displays a screen as shown in FIG. 25 (d) (step Sc12). When “OK” is selected by the user on this screen, the original game screen is displayed on the LCD 111.
[0110]
When the user performs an operation for ending the game, the mobile phone 10 accepts this (step Sc13), and transmits a request for requesting the end of the applet to the mobile phone WWW server 50 (step Sc14). This request includes a character string consisting of “http://game.techfirm.co.jp/56789/exit.cgi?id=10000&app56789&DLID99887766” specified by the GET method, as shown in FIG.
[0111]
The mobile phone WWW server 50 starts exit.cgi, and similarly to the above, “DLID = 99887766” indicating the download ID, “app = 56789” indicating the application ID, and “id = 10000” indicating the user ID. ”After confirming the validity of the set, the difference between the time when the user ID“ 10000 ”starts the application ID“ 56789 ”and the time when the applet termination request is received is referred to the last startup date / time table LRT, That is, the applet execution time is obtained and registered in association with the user ID “10000” and the application ID “56789” on the user access storage table UAT (step Sc15).
[0112]
Then, the mobile phone WWW server 50 generates an OK message indicating that all the processes are completed, and transmits this to the mobile phone 10 (step Sc16).
[0113]
When the mobile phone 10 receives the message, it returns to its local menu display state (step Sc17), and the processing shown in FIG.
[0114]
(4) High score registration process
Hereinafter, the above-described high score registration process will be described using the flow shown in FIG.
As described above, when highsc.cgi is activated, the mobile phone WWW server 50 sets parameters for performing an open process for opening the high score table (step Sm1). Specifically, various parameters such as an application ID, an application password, and a table name are set. Here, the application password is a password issued in advance to the provider, and is defined in the code of highsc.cgi. The table name is a table name to be opened, and is “highscore” here.
[0115]
Next, the open process of the specified table is called, and the process proceeds to step Sn1. In step Sn1, an application ID and an application password are extracted from the set parameters, and it is determined whether or not these are a valid set (step Sn1).
[0116]
If it is determined that the set is valid (step Sn1; Yes), the application access management table AAT is referred to and it is determined whether or not the application indicated by the application ID can access the high score table (step Sn2). ).
[0117]
If the access is possible, the high score table is opened (step Sn3). If this is successful (step Sn4; Yes), the fact that the high score table has been successfully opened is returned (step Sn5).
[0118]
When it is received that the opening has been successful (step Sm2), the score and the date and time are registered on the high score table corresponding to the user ID (step Sm3).
[0119]
Then, the high score table is closed (step Sm6), then the user name acquisition process is called, and the user name is acquired accordingly (step Sm5). This user name acquisition process is performed in the same manner as the above-described high score table open process.
When the user name is acquired in this way, the OK message and the user name are returned from the mobile phone WWW server 50 to the mobile phone 10 as described above.
[0120]
Normally, applets can only communicate with the server from which they are downloaded, so multiple applets share a single server, and access management among applications becomes a problem. By controlling the area to be accessed exclusively, its safety can be ensured. In addition, for data that is used by various applications, such as data related to users, and for which privacy protection is important, the server provides a common application interface for the access, thereby eliminating data waste. And can improve security on privacy data.
[0121]
(5) Point voting
Next, the point voting process will be described.
FIG. 27 is a sequence diagram showing operations of the mobile phone 10 and the mobile phone WWW server 50 during point voting. FIG. 28 is a diagram showing an example of a screen displayed on the LCD 111 of the mobile phone 10 at this time.
In FIG. 27, first, the user operates the mobile phone 10 to start the browser and completes authentication using a password or the like from the mobile phone WWW server 50, as in the applet download process described above. Is displayed and displayed (step Sd1). In the page displayed here, various menus are listed as shown in FIG.
[0122]
In order to receive the point voting service, the “voting” button shown in FIG. 5C may be selected. In response to this selection operation, the mobile phone 10 sends a request for requesting a voting list page to the mobile phone. It transmits to the WWW server 50 (step Sd2). This request includes a character string consisting of “http://www-c.techfirm.co.jp/cgi-bin/votelist.cgi?id=10000&page=1” specified by the GET method.
[0123]
The mobile phone WWW server 50 activates votelist.cgi in response to the request, and configures a vote list page (step Sd3). That is, by accessing the database server 54 and referring to the last activation date / time storage table LRT, the final download management table LDT, and the user access storage table UAT, the user indicated by the user ID “10000” last downloaded the month, Or the number of voting points that the user can vote at the present time, extracting all the application IDs of applets whose last started month, last executed month, or last voted month is within 3 months And configure a list page to display them. At this time, in order to display all the data, the data may be divided into a plurality of pages.
Here, there is an upper limit on the number of points that one user can vote in a predetermined period, and here, it is assumed that 70 points can be voted monthly per person. Under this assumption, referring to the user access management table UAT shown in FIG. 11, the user ID “10000” has already voted a total of 40 points this month (June 2000). The remaining points that can be voted during the period will be 30 points.
[0124]
Now, the mobile phone WWW server 50 transmits the list page configured as described above to the mobile phone 10 (step Sd4).
[0125]
When the mobile phone 10 receives the list page, it interprets it and displays it on the LCD 111 (step Sd5). In the list page displayed here, as shown in FIG. 28A, the number of voting points and a list of applets that can be voted are displayed. Here, for example, the user selects the “drops” button shown in FIG.
[0126]
In response to this selection operation, the cellular phone 10 transmits a request for requesting a voting page to the cellular phone WWW server 50 (step Sd6). This request includes a character string consisting of “http://www-c.techfirm.co.jp/cgi-bin/voteinput.cgi?id=10000&app56789” specified by the GET method. The mobile phone WWW server 50 activates voteinput.cgi in response to the request, and configures a voting page (step Sd7). That is, by referring to the user access management table UAT, an input field for acquiring the number of points already voted this month for the application “56789” designated by the user ID “10000” and inputting the points is included. Configure the page.
[0127]
Then, the mobile phone WWW server 50 transmits the configured voting page to the mobile phone 10 (step Sd8).
[0128]
When the mobile phone 10 receives the vote page, it interprets it and displays it on the LCD 111 (step Sd9). As shown in FIG. 28B, the page displayed here is the number of points that can be voted for this month “30 points”, the number of points that have already voted for “drops” this month “10 points”, and point input The field to perform is displayed. Here, it is assumed that the user inputs “20” points in the input field shown in FIG. If the “Cancel” button is selected, the operation so far is canceled and the menu page is restored.
[0129]
In response to the selection operation, the cellular phone 10 transmits a request for requesting a point vote for “drops” to the cellular phone WWW server 50 (step Sd10). This request includes a character string consisting of “http://www-c.techfirm.co.jp/cgi-bin/vote.cgi?id=10000&app=56789&point=20” designated by the GET method. Here, “point = 20” means that the number of points voted this time is 20 points.
[0130]
The mobile phone WWW server 50 activates vote.cgi in response to the request, and registers the voted points in the database server 54 (step Sd11). That is, by accessing the user access storage table UAT of the database server 54, the point “20 points” input this time is added to the number of points “10 points” of this month of the application ID “56789” designated by the user ID “10000”. Is added and stored as “30 points”. Before storing, it is confirmed whether or not the upper limit of voting points for this month is exceeded by the points input by the user.
[0131]
Next, the mobile phone WWW server 50 generates a completion notification page indicating that all the processes have been completed, and transmits this to the mobile phone 10 (step Sd12). If the upper limit is exceeded, a page for displaying an error screen is formed and transmitted to the mobile phone 10.
[0132]
When the cellular phone 10 receives the completion notification page, it interprets this and displays a screen as shown in FIG. 28C on the LCD 111 (step Sd13), and the processing shown in FIG. 27 ends.
[0133]
In this way, there is a limit on the number of points that a user can vote for in a certain period, and because the user only performs point voting on applications that have been recently used, the user can It is possible to eliminate fraudulent activities such as arbitrarily voting points.
[0134]
(6) Calculation of license amount
Next, calculation of the license amount for each provider by the aggregation server 55 will be described. There are roughly two methods for calculating the license amount, which will be described in order below.
[0135]
FIG. 29 is a flowchart showing an operation in which the aggregation server 55 calculates the license amount according to the first method.
This calculation of the license amount is executed in units of a predetermined calculation period such as every month or every six months. Here, one month is the calculation period, and the calculation date is the last day of every month.
[0136]
The counting server 55 refers to a timer (not shown) and determines whether or not this calculation date has arrived (step Se1).
The process of step Se1 is repeated until the calculation date arrives (step Se1; No). When the calculation date arrives (step Se1; Yes), the process proceeds to step Se2.
[0137]
The aggregation server 55 refers to the user payment management table UPT in the database server 54 and calculates the total amount of usage fees received from all users within the target calculation period (step Se2).
[0138]
A part of the total amount of the usage fee is paid as a license amount to the provider, and the remaining amount is profited by the manager of the server group 5. What percentage of the total usage fee is paid to the provider is determined in advance, and is assumed here to be 30%. Therefore, the aggregation server 55 calculates an amount license-total applicable to the license amount by multiplying the total usage fee calculated in step Se1 by 30% (step Se3). For example, if the total amount of usage fees calculated in step Se1 is 1 million yen, the license-total that can be used for the license amount is 300,000 yen.
[0139]
Next, the aggregation server 55 refers to the user access storage table UAT of the database server 54, extracts the number of downloads of all the applications downloaded in the calculation target period, and calculates these as the total value, total-dl Is calculated (step Se4). For example, in the case of the user access storage table UAT shown in FIG. 11, if the month to be calculated is “June”, “2”, “3”, “2” are extracted as the corresponding download numbers, and these total values total-dl is “7”.
[0140]
Subsequently, the aggregation server 55 refers to the user access storage table UAT, extracts the number of activations of all applications in the calculation target period, and calculates total-launch that is the total value thereof (step Se5). . For example, in the case of the user access storage table UAT shown in FIG. 11, if the month to be calculated is “June”, “5”, “8”, “9” are extracted as the corresponding activation times, and the total of these is calculated. The value total-launch is “22”.
[0141]
Next, the aggregation server 55 refers to the user access storage table UAT, extracts the execution times of all applications in the period to be calculated, and calculates total-run that is the total value thereof (step Se6). . For example, in the case of the user access storage table UAT shown in FIG. 11, if the month to be calculated is “June”, the corresponding activation times are “23 (minutes)”, “40 (minutes)”, “38 (minutes). ) ”Is extracted, and the total value total-run thereof is“ 101 (minutes) ”.
[0142]
Next, the aggregation server 55 refers to the user access storage table UAT, extracts the number of points of all applications in the calculation target period, and calculates the total value of these values (step Se7). . For example, in the case of the user access storage table UAT shown in FIG. 11, if the month to be calculated is “June”, “30”, “60”, “0” are extracted as the corresponding points, and the total of these points is extracted. The value total-point is “90”.
[0143]
In the following calculation process, the license amount is calculated in order for each application. Therefore, it is determined whether or not the calculation has been completed for all the applications (step Se8), and if not (step Se8; No), the process proceeds to step Se9.
[0144]
In step Se <b> 9, the aggregation server 55 calculates a license amount license-fee to be paid to the provider of the application for a specific application (for example, application ID “56789”).
This calculation is performed according to the calculation formula shown in Formula 1.
License amount license-fee
= {(Number of downloads of a specific application in the target month / total-dl) x Rd
+ (Number of launches of a specific application in the target month / total-launch) x Rl
+ (Specific application execution time in the target month / total-run) x Rr
+ (Points of specific application in the target month / total-point) x Rp}
× License available amount total-license ・ ・ ・ Formula 1
[0145]
Here, Rd, Rl, Rr, and Rp are weighting parameters assigned to the number of downloads, the number of activations, the execution time, and the number of points in calculating the license amount, and Rd ≧ 0, Rl ≧ 0, Rr ≥0, Rp≥0, Rd + Rl + Rr + Rp = 1.
[0146]
For example, a calculation example in the case where Rd = 0.2, Rl = 0.3, Rr = 0.35, and Rp = 0.15 is set will be described.
As described above, total-license = 300,000 yen, total-dl = 7, total-launch = 22, total-run = 101, total-point = 90. Further, referring to the user access storage table UAT, “the number of downloads of the specific application in the target month (application ID 56789, the same applies hereinafter)” is “4”, “the number of times the specific application is started in the target month” is “14”, “ “Execution time of specific application in the target month” is “61 (minutes)”, and “Point number of specific application in the target month” is “30”. It can be calculated as 16.7 million yen.
Such calculation is executed for each application, and when the execution is completed for all the applications (step Se8; Yes), the processing shown in FIG.
[0147]
Next, FIG. 30 is a flowchart showing an operation in which the aggregation server 55 calculates the license amount according to the second method.
The calculation of the license amount according to the second method is not performed for each application as in the first method described above, but is performed for each user.
[0148]
First, the aggregation server 55 refers to a timer (not shown) and determines whether or not a calculation date has arrived (step Sf1).
The process of step Sf1 is repeated until the calculation date arrives (step Sf1; No), and when the calculation date arrives (step Se1; Yes), the process proceeds to step Sf2.
[0149]
In the following, since the license amount is calculated for each user, it is determined whether or not the processing has been completed for all users. If it is determined that the processing has not been completed (step Sf2; No), the process proceeds to step Sf3. .
[0150]
In step Sf3, the tabulation server 55 targets a specific user (for example, user ID “10000”), refers to the user deposit management table UPT, and the usage fee for the target month of the user is deposited. It is judged whether it is done.
If it is determined that no deposit has been made (step Sf3; No), the process returns to step Sf2, and the same process is performed by changing the user to be processed.
[0151]
On the other hand, if it is determined that the money has been deposited (step Sf3; Yes), the process proceeds to step Sf4.
[0152]
In step Sf4, the tabulation server 55 multiplies a certain amount of usage fee paid by the user in the target month by, for example, 30%, for example, a license amount u-license-total that can be applied from one usage fee. Calculate
[0153]
Next, the aggregation server 55 refers to the user access storage table UAT of the database server 54 and calculates the total number of times u-total-dl downloaded by the user with the user ID “10000” in the calculation target period. (Step Sf5).
[0154]
Subsequently, the aggregation server 55 refers to the user access storage table UAT, and calculates the total number of activations u-total-launch of the user with the user ID “10000” in the calculation target period (step Sf6). .
[0155]
Next, the aggregation server 55 refers to the user access storage table UAT and calculates the total execution time u-total-run of the execution of the application by the user with the user ID “10000” during the calculation target period. (Step Sf7).
[0156]
Next, the aggregation server 55 refers to the user access storage table UAT, and calculates the total number of points voted by the user with the user ID “10000” during the period to be calculated (step Sf8). .
[0157]
Then, the aggregation server 55 corresponds to the user with the user ID “10000” in the calculation target period, the number of downloads u-total-dl, the number of activations u-total-launch, the execution time u-total-run, It is determined whether all the number of points u-total-point has been calculated (step Sf9).
[0158]
Then, the aggregation server 55 calculates the license amount license-fee for each application corresponding to the user with the user ID “10000” in the period to be calculated (step Sf10).
This calculation is performed according to the calculation formula shown in Formula 2.
License amount u-license-fee
= {(Number of downloads of specific application of specific user in target month / u-total-dl) x Rd
+ (Number of launches of specific applications of specific users in the target month / u-total-launch) x Rl
+ (Execution time of specific application of specific user in target month / u-total-run) x Rr
+ (Number of specific application points for specific users in the target month / u-total-point) x Rp}
× License available amount u-total-license ... Formula 2
[0159]
Here, Rd, Rl, Rr, and Rp are parameters having the same meaning as the parameters described above. The license amount u-license-fee calculated by Equation 2 is how to distribute the usage amount paid by the user with the user ID “10000” to the provider of the application used by the user. It is a value indicating that.
Next, the aggregation server 55 adds and writes the calculated license amount u-license-fee to the application statistics table ATT (step Sf11), and then returns to step Sf9 to complete all calculations for this user. The above-described processing is repeated until the end.
When all the calculations for the user are completed (step Sf9; Yes), the process returns to step Sf2 to target the next user.
[0160]
In this way, the license amount calculation processing is performed for all users and all applications, and the processing shown in FIG.
The calculated license amount is deposited into a bank account registered in advance by the provider.
[0161]
(7) Various searches by providers
The provider who uploaded the application to the server group 5 can search for the license amount and usage status of his application by accessing the database server 54 using the PC 21.
Hereinafter, a search operation performed by the PC WWW server 51 in response to a request from the provider's PC 21 will be described.
[0162]
FIG. 31 is a flowchart showing a main routine of the PC WWW server 51 at the time of search.
The process shown in the figure is started in response to an access request from the PC 21.
First, the PC WWW server 51 reads the initial menu screen data from its own hard disk and transmits it to the PC 21 (step Sg1).
This processing menu screen is, for example, a screen as shown in FIG. 32, and includes a field for inputting a search target period, a provider ID, and an application ID, a provider search button, an application search button, and an end button. Yes. The provider search is a search for each provider designated by the provider ID, whereby the license amount paid to the provider and the unpaid amount can be grasped. The application search is a search for each application specified by the application ID, whereby the usage status of the application, the license amount corresponding to the application usage, and the like can be grasped.
[0163]
When the provider inputs the search target period and various IDs on this initial menu screen and clicks the corresponding search button, the PC WWW server 51 detects this (step Sg2; Yes) and sets the type of the input button. Identify (step Sg3).
[0164]
In accordance with the identified button type, a subroutine for provider search and application search as described later is executed. When it is detected that the button is an end button, the PC WWW server 51 performs a predetermined end process and ends the process shown in the figure (step Sg4).
[0165]
FIG. 33 and FIG. 34 are flowcharts showing processing operations when the PC WWW server 51 performs a provider search.
In FIG. 33, first, the PC WWW server 51 refers to the provider master table LMT in the database server 54, compares the stored provider ID with the provider ID input by the provider, and performs authentication. (Step Sh1).
[0166]
As a result of this authentication, if both provider IDs do not match (step Sh1; No), the PC WWW server 51 displays a predetermined error screen on the PC 21 (step Sh2), and the provider displays the figure on this screen. After waiting until an “OK button” (not shown) is selected (step Sh3), the process returns to step Sg1 of the main routine.
[0167]
On the other hand, if both the provider IDs match as a result of the authentication, the PC WWW server 51 searches the application registration master table AST using the provider ID as a key, and acquires all corresponding application IDs. (Step Sh4).
[0168]
If no corresponding application ID is found as a result of this search (step Sh5; Yes), the PC WWW server 51 displays a message to that effect on the PC 21 (step Sh6), and the provider displays the message on this screen. (Step Sh7), the process returns to step Sg1 of the main routine.
[0169]
On the other hand, when a corresponding application ID is found as a result of this search (step Sh5; No), the PC WWW server 51 pays attention to a specific application ID among the acquired application IDs, and sets the application ID. The application statistics table ATT is searched using the key, and the corresponding license amount is extracted. Further, the license amount is divided depending on whether the “payment flag” in the application statistics table is “completed” or “not yet” (step Sh9).
[0170]
After performing the processing of step Sh9 for all the extracted application IDs, the PC WWW server 51 adds the total of the extracted license amounts and the total of the license amounts corresponding to “unpaid” of the “payment flag”. Is calculated (step Sh10). As a result, the total license amount for a specific application and the total of the unpaid license amount are calculated.
[0171]
The processes in steps Sh9 and Sh10 are performed for all the application IDs extracted in step Sh4. When this is confirmed (step Sh8; Yes), the process proceeds to step Sh11 shown in FIG.
[0172]
In step Sh11, the PC WWW server 51 sums the license amount calculated for each application and the unpaid license amount over the entire search target period, and grasps the entire license amount for the provider. Next, the PC WWW server 51 pays attention to the total unpaid license amount and determines whether or not this amount is less than a predetermined amount (step Sh12). That is, when the license amount to be paid to the provider is too small, it may be assumed that the payment cost is higher than the license amount when the payment process is performed through a financial institution such as a bank. In preparation for such a case, the administrator of the server group 5 concludes with the provider that the license amount less than the predetermined amount is exempt from payment. Here, for example, 2000 yen is set as the lower limit of payable amount, and the license amount less than this is set as payment exemption.
[0173]
If the unpaid license amount is less than 2000 yen as a result of this determination, the PC WWW server 51 clears the unpaid license amount.
[0174]
On the other hand, when the unpaid license amount is 2000 yen or more, the PC WWW server 51 sets the unpaid license amount as an unpaid license amount to be presented to the provider (step Sh14), and a search result screen as shown in FIG. Is generated and displayed on the PC 21 (step Sh15).
In the figure, for the provider indicated by the provider ID “8898”, the license amount already received as of May 2000 is “2,423,500 yen” and should be received as of June 2000. The license amount is “1,901,250 yen”, the total of the license amount received so far and the license amount to be received from now on is “5,283,340 yen”, and the total unpaid license amount to be received from now on is “ 3,154,200 yen ". As for the total amount of unpaid licenses, “3,154,200 yen” also means the total amount of licenses that can be paid.
[0175]
Then, when the PC WWW server 51 detects the selection operation of the “return” button by the provider (step Sh16; Yes in FIG. 34), the PC WWW server 51 returns to step Sg1 of the main routine.
[0176]
FIG. 36 is a flowchart showing a processing operation when the PC WWW server 51 performs an application search.
First, the PC WWW server 51 refers to the application registration master table AST in the database server 54, compares the stored application ID with the application ID input by the provider, and performs authentication (step Sj1).
[0177]
If the application IDs do not match as a result of the authentication, the PC WWW server 51 displays an error screen on the PC 21 (step Sj2), and the provider selects an “OK button” (not shown) on this screen. (Step Sj3) and then returns to Step Sg1 of the main routine.
[0178]
On the other hand, if both the application IDs match as a result of the authentication, the PC WWW server 51 searches the application registration master table AST using the application ID and each month including the search target year and month as a key. The corresponding number of downloads, number of activations, execution time, number of voting points, and license amount are acquired (step Sj5).
[0179]
Further, the PC WWW server 51 also acquires only the license amount for which the payment flag is set to “not yet” (step Sj6).
Such processes of steps Sj5 and Sj6 are performed for all the designated search target periods, and when this is confirmed (step Sj4; Yes), the process proceeds to step Sj7.
[0180]
In step Sj7, the PC WWW server 51 generates a search result screen as shown in FIG.
In the figure, the number of downloads, the number of activations, the execution time, the number of voting points, the license amount and the unpaid license amount are displayed for each designated month and year. Then, when the selection operation of the “return” button by the provider is detected (step Sj8; Yes in FIG. 36), the PC WWW server 51 returns to step Sg1 of the main routine shown in FIG.
[0181]
Thus, according to the embodiment, since the application is authenticated on the mobile phone WWW server 50 side using the download ID issued in response to the download request, the mobile phone 10 side is more secure without imposing a burden. Highly authentic authentication can be performed.
In addition to the download ID, the user ID, application ID, and download date / time are used to further improve the certainty of authentication.
[0182]
C: Modification
As described above, the present invention is not limited to the above-described embodiment, and various modifications can be made.
(1) Parameters for license amount allocation
In the embodiment, the number of downloads or the like is disclosed as a parameter for allocating the license amount, but the type of parameter is not limited to this.
In the embodiment, the license amount is obtained by proportional distribution using various parameters. However, the present invention is not limited to this, and it can also be realized by adding another distribution method such as adding the basic service charge and distributing it. It is.
[0183]
(2) Management of payment status
In the embodiment, the payment status is managed for each user using the user deposit management table UPT. However, the present invention is not limited to this, and only the total amount of the usage fee received from the user may be managed as the payment status. For example, a collection service of usage charges from each user is requested to an external specific vendor, and the server group 5 stores only the total amount collected every month on the user deposit management table UPT. In this way, the calculation process in step Se2 described above can be omitted.
[0184]
(3) Types of usage charges
In the embodiment, the usage fee to be paid every month by all users is a fixed amount, but is not necessarily limited to such a mode.
For example, users may be classified into classes and the usage fee may be changed for each class. This class can be divided according to, for example, the classification according to the usage status such as the number of downloads, execution time, and the number of activations of each user, or the difference in resource occupancy such as the database that the server group 5 occupies for each user. The classification can be considered.
[0185]
(4) Application usage restrictions
In the embodiment, no restriction is imposed on the use of the application for each user. That is, the user can use the downloaded application without limitation. However, the present invention is not limited to this, and some usage restrictions can be provided. For example, an upper limit may be set for at least one of the number of downloads, the number of activations, and the execution time for a certain period for the user.
Hereinafter, an example of an embodiment in which such usage restrictions are provided will be described.
First, it is assumed that the upper limit of the number of downloads per month for each user is 20 times, the upper limit of the number of activations is 100 times, and the upper limit of execution time is 300 minutes.
A specific sequence for checking whether or not these upper limits are exceeded is as follows.
When the mobile phone WWW server 50 receives the download request signal from the user's mobile phone 10 (step Sb25 described above), the mobile phone WWW server 50 refers to the user access storage table UAT in the database server 54 and refers to the user's current month. Calculate the total number of downloads.
Then, if the calculated download count is 20 times or more, which is the upper limit of the download count described above, the mobile phone WWW server 50 transmits an error message to the mobile phone 10 indicating that the download is not possible. In this way, the upper limit of the number of downloads can be checked.
Further, when an application activation operation is performed in the cellular phone 10 and the cellular phone WWW server 50 receives an activation signal from the cellular phone 10 (step Sc4 described above), the user access storage table UAT in the database server 54 is referred to. Then, the total number of activations and execution times of the user in the month is calculated. Then, the mobile phone WWW server 50 determines whether the calculated number of activations or execution time is equal to or greater than 100, which is the upper limit of the number of activations described above or 300 minutes, which is the upper limit of the execution time. Send an error message that the application cannot be started / executed. The mobile phone 10 that has received this message does not activate or execute the application. In this way, the upper limit of the number of activations can be checked. It should be noted that, by exceeding the upper limit of the number of times of activation or execution time, the application may be prohibited from being downloaded instead of prohibited from being activated / executed.
[0186]
(4) Accessible table
As described in the above-described high score registration process, in the embodiment, a table that can be accessed in an application unit is defined, but the same effect can be obtained by defining a table that can be accessed in a provider unit of an application. Obtainable.
[0187]
(5) Session identification
In the embodiment, the URL is used to identify the session, or the ID is embedded in the HIDDEN parameter of the INPUT tag. However, this session management may use a cookie file by issuing a special session identifier, Basic authentication, which is a function of the WWW server, may be used for the authentication itself.
[0188]
(6) Application storage
In the embodiment, the application is explicitly saved, but it can also be realized by saving and caching in a temporary storage memory for operating the application on the browser of the mobile phone 10.
[0189]
(7) Page description format
In the embodiment, HTML data is used. However, the present invention is not limited to this. For example, another description language such as XML (Extensible Markup Language) may be used.
[0190]
(8) Variation of point voting process
In the embodiment, a list of application names for which points can be voted is displayed to the user. However, the list display is not limited to this. For example, an application ID or an application name is input from the user interface of HTML data transmitted by the mobile phone WWW server 50, and a vote page for the application is displayed. It can also be displayed. In this case, when the WWW server 50 receives an HTTP request with an application ID or application name, it checks whether the application ID or application name exists, and if not, displays an error message on the mobile phone 10. .
If the user who has logged in to the mobile phone WWW server 50 has not downloaded, started, executed, or voted points for the specified application within the past three months, a voting invalid message is displayed. You may do it.
Further, in the embodiment, the input interface for voting points is provided by the HTML form. However, an input interface is prepared on an application to be downloaded to the mobile phone 10, and voting data is directly input from the input interface on the application. You may make it transmit.
FIG. 38 shows a sequence representing operations of the mobile phone 10 and the mobile phone WWW server 50 in this case. In the figure, the mobile phone 10 displays an input interface for point input at the end of an applet such as a game over, for example (step Sp1), and accepts an input from the user (step Sp2). Then, the mobile phone 10 transmits a get request including “http://game.techfirm.co.jp/56789/vote.cgi?id=10000&app56789&DLID99887766&point30” to the WWW server 50 for mobile phone. On the other hand, the mobile phone WWW server 51 prepares a server application for receiving the voting data, and when a voting point is directly input and transmitted from the application on the mobile phone 10 side, the user applies the application. And accepts voting even if the data related to download, activation, and point voting stored in the database server 54 is older than three months. This makes it possible to accept voting points even in a server group in which activation of an application on the mobile phone 10 side cannot be detected.
[0191]
(9) Application authentication variations
Various variations can be considered for application authentication. For example, there are first to fourth variations as described below.
[0192]
(9-1) First variation
First, the first variation will be described.
In the embodiment, a download ID is uniquely issued for each download request event, embedded in a “param” tag in HTML data designating download, and the mobile phone 10 stores and uses this to store the application. Authentication was performed. However, if the mobile phone 10 has a function of storing a URL for acquiring HTML data designating download and the application on the mobile phone 10 side can acquire the URL, the following is performed. Also good.
[0193]
The mobile phone WWW server 50 adds a download ID to the URL for the mobile phone 10 to acquire the above-described HTML data.
The application on the mobile phone 10 side requests HTML data from the mobile phone WWW server 50 according to the URL. This request includes a user ID, an application ID, and a download ID. The cellular phone WWW server 50 associates these IDs and stores them in the download ID management table DIT.
When an application on the mobile phone 10 side requires a download ID, first, the stored URL is obtained from the application interface of the mobile phone 10 and the download ID or data including this is extracted from this URL. Then, it is transmitted to the mobile phone WWW server 50 together with the user ID and application ID. On the other hand, the mobile phone WWW server 50 refers to the download management table DIT and can confirm whether or not the combination of the received user ID, application ID, and download ID is a correct set.
[0194]
More specifically, in step Sb22 of FIG. 19, the mobile phone WWW server 50 issues a unique download ID (DLID = 99887766) when configuring the explanation page, and the menu shown in FIG. The URL of the hyperlink embedded in the item “download” is set as “http://game.techfirm.co.jp/56789/dl.cgi?id=10000&app=56789&DLID=99887766”. When “download” is selected by the user (step Sb25 in FIG. 20), the mobile phone 10 transmits a request including the URL embedded in “download” to the WWW server 50 for mobile phone. At this time, the mobile phone 10 stores the URL “http://game.techfirm.co.jp/56789/dl.cgi?id=10000&app=56789&DLID=99887766”. On the other hand, the mobile phone WWW server 50 that has received the request stores the user ID “10000”, the application ID “56789”, and the download ID “99887766” in association with each other in the download ID management table DIT.
Thereafter, when the application (app = 56789) of the mobile phone 10 accesses the mobile phone WWW server 50, the user ID, the application ID, and the download ID are extracted from the stored URL. , Request signals including these are transmitted to the server 50. On the other hand, the mobile phone WWW server 50 refers to the download management table DIT in response to the request, and authenticates the application by confirming the combination of the IDs.
It should be noted that the same effect can be obtained even if a URL that is in the form of a form and is assembled by a browser on the mobile phone 10 is transmitted in the above-described format.
[0195]
(9-2) Second variation
Next, a second variation of application authentication will be described.
If the mobile phone 10 has a function of storing the URL of an application designating download, and the application on the mobile phone 10 side can acquire the URL, the following may be performed.
[0196]
When creating the HTML data designating download (step Sb26 shown in FIG. 20), the mobile phone WWW server 50 issues a unique download ID and adds it to the URL of the application in the HTML data.
If there is an application download request using the above URL from the mobile phone 10, the mobile phone WWW server 50 stores the user ID, application ID, and download ID in the download ID management table DIT accordingly. To do.
When the application on the mobile phone 10 side requires a download ID, the stored URL is acquired from the application interface of the mobile phone 10, and the download ID or data including this is extracted from this URL. The information is transmitted to the mobile phone WWW server 50 together with the user ID and application ID. On the other hand, the mobile phone WWW server 50 refers to the download management table DIT and can confirm whether or not the combination of the received user ID, application ID, and download ID is a correct set.
[0197]
More specifically, in step Sb26 of FIG. 20, the mobile phone WWW server 50 generates a tag specifying an application as shown in FIG. 39, and transmits HTML data including this tag to the mobile phone 10. .
In addition, a server application “getjar.cgi” is arranged on the mobile phone WWW server 50 side, and when this server application is started, a user ID “10000”, an application ID “56789”, and a download ID “99887766” are downloaded. The request is stored in the ID management table DIT together with the date and time when the request is received, and the JAR file “drops.jar” of the designated application is transmitted to the mobile phone 10.
On the other hand, the mobile phone 10 stores a URL “http://game.techfirm.co.jp/getjar.cgi?id=10000&app=56789&DLID=99887766&file=drops.jar”.
Thereafter, when the application (app = 56789) of the mobile phone 10 accesses the mobile phone WWW server 50, the user ID, the application ID, and the download ID are extracted from the stored URL. The request signal including this is transmitted to the server 50.
On the other hand, the mobile phone WWW server 50 refers to the download management table DIT in response to the request, and authenticates the application by confirming the combination of the IDs.
[0198]
(9-3) Third variation
Next, a third variation of application authentication will be described.
If the mobile phone has a memory area in which data can be stored and referenced by an application, the mobile phone WWW server 50 does not assign a download ID in advance, but the application on the mobile phone 10 side assigns the download ID. You may acquire from the server 50 at the arbitrary timings before transmitting to the WWW server 50 for mobile phones.
[0199]
More specifically, in the embodiment, when downloading the applet shown in FIG. 20 (steps Sb26 to Sb35), the mobile phone WWW server 50 issues a download ID (DLID) and stores it. In the third variation, the download ID is not issued at this point. Therefore, at this time, the download ID field of the download management table DIT is blank.
Thereafter, when the mobile phone 10 starts the application for the first time as in step Sc4 in FIG. 23, the URL for transmitting the request to the server 50 is “http://game.techfirm.co.jp/start.cgi? id = 10000 & app = 56789 & DLID = ”. That is, the mobile phone 10 transmits “DLID” in the request as empty information.
In step Sc5, when the mobile phone WWW server 50 receives the request, it starts start.cgi, refers to the download ID table DIT in the database server 54, and has an application ID “56789” included in the URL. The record is searched using the user ID “10000” as a key, and the record with the latest download date is selected from the extracted records.
[0200]
If the download ID field of the selected record is blank, the mobile phone WWW server 50 issues a new unique download ID and stores it in the download ID management table DIT.
Thereafter, similarly to the above-described embodiment, the process of incrementing the number of activations on the user access storage table UAT and the update of the last activation date storage table LRT are performed. Then, the mobile phone WWW server 50 generates a message ("OK [DLID = 99887766]") in which the issued download ID is added as a parameter to the OK message indicating that the activation has been approved, and returns it to the mobile phone 10 To do.
[0201]
On the other hand, if the download ID field of the selected record is not blank, the mobile phone WWW server 50 considers that a new download ID has been requested even though the download ID has already been issued, and the above-mentioned. Without performing the increment process or the update process, an NG message (“NG”) indicating that the activation is not approved is generated and returned to the mobile phone 10.
[0202]
Note that if the “DLID” included in the request URI received from the mobile phone 10 is not empty information, that is, if any ID value is included, the processing of Step Sc5 and Step Sc6 described above is performed. That is, in addition to application authentication based on a combination of the download ID, application ID, and user ID included in the request URI, update processing of the user access storage table UAT and the last activation date storage table LRT, and transmission of a message to the mobile phone 10 Process.
As described above, in the third variation, the application is authenticated according to whether or not the download ID field is issued.
[0203]
(9-4) Fourth variation
Next, a fourth variation of application authentication will be described.
If the mobile phone 10 stores the date and time when the application is downloaded and can reference the download date and time by the application, the following may be performed.
[0204]
The mobile phone WWW server 50 stores in the final download management table LDT the date and time when the user specified by the user ID at the time of downloading the application last downloaded the application indicated by the application ID. On the other hand, the mobile phone 10 also stores the date and time when the application is downloaded.
When an application downloaded to the mobile phone 10 accesses the mobile phone WWW server 50 that requires authentication, the download date and time stored in the mobile phone 10 is acquired from the application interface of the mobile phone 10. Is transmitted to the mobile phone WWW server 50 together with the user ID and the application ID.
On the other hand, the mobile phone WWW server 50 scans the final download management table LDT and acquires the download date and time corresponding to the received user ID and application ID. Then, if the time difference between the acquired download date and time and the download date and time received from the mobile phone 10 is within an allowable range considering the download overhead time, for example, within 10 minutes before and after, it is determined that the application is valid.
[0205]
More specifically, the request transmitted from the mobile phone 10 in step Sd10 shown in FIG. 27 includes “http://game.techfirm.co.jp/vote.cgi?ID=10000&app=56789&dltime=200006031925&point=20 Is included. Here, “dltime = 200006031925” means that it was downloaded at 19:25 on June 3, 2000.
The mobile phone WWW server 50 that receives this request searches the final download management table DIT for the download date and time using the user ID “10000” and the application ID “56789” as keys, and the download date and time obtained above, The validity of the application is determined by comparing with “dltime = 200006031925” in the URL.
[0206]
(10) Uniqueness of download ID
In the embodiment, the download ID is a completely unique ID by itself, but may be determined as unique information in combination with other information. For example, it may be determined that the combination of the user ID and the download ID is unique throughout the system.
[0207]
【The invention's effect】
As described above, according to the present invention, since the application is authenticated on the server side using the download identifier issued in response to the download request event, more secure authentication can be performed without imposing a burden on the terminal side. It can be carried out.
In addition to the download identifier, use of a user identifier, an application identifier, and a download date / time further improves authentication reliability.
[Brief description of the drawings]
Brief Description of Drawings
FIG. 1 is a block diagram showing an overall configuration of a system according to an embodiment of the present invention.
FIG. 2 is a block diagram showing a hardware configuration of the mobile phone according to the embodiment.
FIG. 3 is a block diagram showing a process configuration of the mobile phone in the same embodiment;
FIG. 4 is a block diagram showing a process configuration of a WWW server in the embodiment.
FIG. 5 is a diagram showing an example of registered contents of a provider master table in the embodiment.
FIG. 6 is a diagram showing an example of registration contents of an application registration master table in the embodiment.
FIG. 7 is a diagram showing an example of registered contents of an application access management table in the same embodiment.
FIG. 8 is a diagram showing an example of registration contents of an application statistics table in the embodiment.
FIG. 9 is a diagram showing an example of registered contents of a user master table in the embodiment.
FIG. 10 is a diagram showing an example of registered contents of a last activation date storage table in the same embodiment.
FIG. 11 is a diagram showing an example of registered contents of a user access storage table in the same embodiment.
FIG. 12 is a diagram showing an example of registered contents of a user deposit management table in the embodiment.
FIG. 13 is a diagram showing an example of registered contents of a download ID management table in the embodiment.
FIG. 14 is a diagram showing an example of registered contents of a final download management table in the embodiment.
FIG. 15 is a sequence diagram showing a flow of applet search processing in the embodiment;
FIG. 16 is a sequence diagram showing a flow of applet search processing in the embodiment;
FIG. 17 is a schematic diagram showing an example of a screen displayed on the personal computer during applet search processing according to the embodiment;
FIG. 18 is a sequence diagram showing a flow of applet download processing in the embodiment;
FIG. 19 is a sequence diagram showing a flow of applet download processing in the embodiment;
FIG. 20 is a sequence diagram showing a flow of applet download processing in the embodiment;
FIG. 21 is a schematic diagram showing an example of a screen displayed on the mobile phone during the applet download process according to the embodiment;
FIG. 22 is a diagram showing an example of HTML data transmitted from the mobile phone WWW server to the mobile phone in the embodiment.
FIG. 23 is a sequence diagram showing the flow of applet execution processing in the embodiment;
FIG. 24 is a sequence diagram showing the flow of applet execution processing in the embodiment;
FIG. 25 is a schematic diagram illustrating an example of a screen displayed on the mobile phone during applet execution processing in the embodiment;
FIG. 26 is a flowchart showing a flow of high score registration processing in the embodiment;
FIG. 27 is a sequence diagram showing a flow of point voting processing in the embodiment.
FIG. 28 is a schematic diagram showing an example of a screen displayed on the mobile phone at the time of point voting in the embodiment.
FIG. 29 is a flowchart showing a flow of a license amount calculation process in the embodiment.
FIG. 30 is a flowchart showing a flow of a license amount calculation process in the embodiment.
FIG. 31 is a flowchart showing the flow of a provider search process in the embodiment.
FIG. 32 is a schematic diagram showing an example of a screen displayed on the mobile phone during a provider search process in the embodiment.
FIG. 33 is a flowchart showing a flow of a provider search process in the embodiment.
FIG. 34 is a flowchart showing a flow of a provider search process in the embodiment.
FIG. 35 is a schematic view showing a display example of a provider search processing result in the embodiment;
FIG. 36 is a flowchart showing a flow of application search processing in the embodiment;
FIG. 37 is a schematic diagram showing a display example of an application search processing result in the embodiment.
FIG. 38 is a sequence diagram showing a flow of processing during point voting in another embodiment.
FIG. 39 is a diagram showing an example of HTML data transmitted from a mobile phone WWW server to a mobile phone in another embodiment.
[Explanation of symbols]
1 ... user terminal group,
10: Mobile phone (mobile wireless terminal), KI: Key interface unit,
DI: Screen interface part, DD: Data communication driver,
SM: Speaker / microphone controller, MI: Memory interface,
FW ... Firmware, JVM ... Java Virtual Machine,
BS ... Browser, TS ... Telephone function part, SS ... Setting part,
APP ... Java applet,
11 ... Personal computer,
2 ... provider terminal group, 20 ... personal computer,
3 ... Mobile packet communication network (wireless communication network),
4 ... Internet, 5 ... Server group (information distribution server system),
50 ... WWW server for mobile phones (identifier issuing unit, identifier notifying unit, authentication unit, request receiving unit, application distribution unit, download timing unit),
51 ... WWW server for personal computer,
52 ... DNS server, 53 ... SMTP server,
54 ... database server, 55 ... aggregation server,
56 ... Administrator console, 57 ... Firewall server,
LMT: Provider master table,
AST: Application registration master table,
AAT: Application access management table,
ATT ... Application statistics table,
UMT ... User master table, LRT ... Last activation date and time storage table
UAT: User access storage table,
UPT ... User deposit management table,
DIT: Download ID management table (identifier storage unit),
LDT ... Last download management table

Claims (19)

無線通信網に収容される無線携帯端末からのダウンロード要求に応じてアプリケーションを配信する情報配信サーバシステムにおいて、
前記無線携帯端末からのダウンロード要求に応じて、この要求イベントを識別するためのダウンロード識別子を発行する識別子発行部と、
前記発行されたダウンロード識別子と、当該ダウンロード識別子が示す要求イベントの対象となる前記アプリケーションに固有のアプリケーション識別子とを対応付けて記憶する識別子記憶部と、
前記ダウンロード要求に対応して前記無線携帯端末へ送信される応答信号の中に前記発行されたダウンロード識別子を含めて送信する識別子通知部と、
前記無線携帯端末にダウンロードされたアプリケーションから前記ダウンロード識別子及び前記アプリケーション識別子を含むリクエスト信号を受信すると、当該ダウンロード識別子と当該アプリケーション識別子とが対応付けられて前記識別子記憶部によって記憶されているか否かにより、前記アプリケーションについての認証を行う認証部と
を有することを特徴とする情報配信サーバシステム。
In an information distribution server system that distributes an application in response to a download request from a wireless portable terminal accommodated in a wireless communication network,
An identifier issuing unit that issues a download identifier for identifying the request event in response to a download request from the wireless portable terminal;
An identifier storage unit that stores the issued download identifier in association with the application identifier unique to the application that is the target of the request event indicated by the download identifier;
An identifier notifying unit that transmits the response signal transmitted to the wireless portable terminal in response to the download request, including the issued download identifier,
When the download identifier and the request signal including the application identifier are received from the application downloaded to the wireless portable terminal, whether or not the download identifier and the application identifier are associated with each other and stored in the identifier storage unit An information distribution server system comprising: an authentication unit that authenticates the application.
請求項1に記載の情報配信サーバシステムにおいて、
前記識別子通知部は、前記無線携帯端末が前記アプリケーションをダウンロードするために用いるURL(Uniform Resorce Locator)に前記ダウンロード識別子を含めて送信することを特徴とする情報配信サーバシステム。
In the information delivery server system according to claim 1,
The identifier notification unit transmits the URL (Uniform Resorce Locator) used by the wireless portable terminal to download the application including the download identifier.
請求項1に記載の情報配信サーバシステムにおいて、
前記識別子通知部は、前記無線携帯端末の前記アプリケーションから参照可能なパラメータデータに前記ダウンロード識別子を含めて送信することを特徴とする情報配信サーバシステム。
In the information delivery server system according to claim 1,
The identifier notification unit transmits the parameter data that can be referred to from the application of the wireless portable terminal together with the download identifier.
無線通信網に収容される無線携帯端末からのダウンロード要求に応じてアプリケーションを配信する情報配信サーバシステムにおいて、
前記無線携帯端末からのダウンロード要求に応じて、この要求イベントを識別するためのダウンロード識別子を発行する識別子発行部と、
前記発行されたダウンロード識別子と、当該ダウンロード識別子が示す要求イベントの対象となる前記アプリケーションに固有のアプリケーション識別子とを対応付けて記憶する識別子記憶部と、
前記無線携帯端末にダウンロードされる前記アプリケーションのデータファイル内に前記発行したダウンロード識別子を含めて配信するアプリケーション配信部と、
前記無線携帯端末にダウンロードされたアプリケーションから前記ダウンロード識別子及び前記アプリケーション識別子を含むリクエスト信号を受信すると、当該ダウンロード識別子と当該アプリケーション識別子とが対応付けられて前記識別子記憶部によって記憶されているか否かにより、前記アプリケーションについての認証を行う認証部と
を有することを特徴とする情報配信サーバシステム。
In an information distribution server system that distributes an application in response to a download request from a wireless portable terminal accommodated in a wireless communication network,
An identifier issuing unit that issues a download identifier for identifying the request event in response to a download request from the wireless portable terminal;
An identifier storage unit that stores the issued download identifier in association with the application identifier unique to the application that is the target of the request event indicated by the download identifier;
An application distribution unit that distributes including the issued download identifier in the data file of the application downloaded to the wireless portable terminal;
When the download identifier and the request signal including the application identifier are received from the application downloaded to the wireless portable terminal, whether or not the download identifier and the application identifier are associated with each other and stored in the identifier storage unit An information distribution server system comprising: an authentication unit that authenticates the application.
無線通信網に収容される無線携帯端末からのダウンロード要求に応じてアプリケーションを配信する情報配信サーバシステムにおいて、
前記無線携帯端末からのダウンロード要求イベントを識別するためのダウンロード識別子を発行する識別子発行部と、
前記無線携帯端末にダウンロードされたアプリケーションから、当該アプリケーションを識別するためのアプリケーション識別子と当該無線携帯端末の利用者を識別するための利用者識別子とを含み当該ダウンロードに対応したダウンロード識別子を要求するためのリクエスト信号を受信すると、前記識別子発行部により発行されるダウンロード識別子を前記無線携帯端末に通知する識別子通知部と、
前記リクエスト信号を受信した際に、前記要求されたダウンロード識別子が前記識別子通知部により既に通知されているか否かにより、前記アプリケーションについての認証を行う認証部と
を有することを特徴とする情報配信サーバシステム
In an information distribution server system that distributes an application in response to a download request from a wireless portable terminal accommodated in a wireless communication network,
An identifier issuing unit for issuing a download identifier for identifying a download request event from the wireless portable terminal;
To request a download identifier corresponding to the download, including an application identifier for identifying the application and a user identifier for identifying the user of the wireless portable terminal, from the application downloaded to the wireless portable terminal When the request signal is received, an identifier notification unit that notifies the wireless portable terminal of a download identifier issued by the identifier issuing unit,
And an authentication unit that authenticates the application depending on whether or not the requested download identifier has already been notified by the identifier notification unit when the request signal is received. system
請求項5に記載の情報配信サーバシステムにおいて、
前記認証部は、さらに、前記無線携帯端末にダウンロードされた前記アプリケーションから前記通知したダウンロード識別子を含むリクエスト信号を受信すると、当該ダウンロード識別子が前記識別子発行部によって発行されたものであるか否かにより、前記アプリケーションについての認証を行うことを特徴とする情報配信サーバシステム。
In the information delivery server system according to claim 5,
The authentication unit further receives a request signal including the notified download identifier from the application downloaded to the wireless mobile terminal, depending on whether the download identifier is issued by the identifier issuing unit. An information distribution server system that performs authentication for the application.
請求項5に記載の情報配信サーバシステムにおいて、
前記識別子通知部は、前記アプリケーションに対して前記ダウンロード識別子を1回のみ通知することを特徴とする情報配信サーバシステム。
In the information delivery server system according to claim 5,
The identifier notification unit notifies the download identifier only once to the application.
請求項5に記載の情報配信サーバシステムにおいて、
前記認証部は、前記利用者識別子及び前記アプリケーション識別子の組み合わせに対応するダウンロード識別子が複数存在する場合、最後にダウンロードされたアプリケーションについてのダウンロード識別子を前記認証の対象とすることを特徴とする情報配信サーバシステム。
In the information delivery server system according to claim 5,
The authentication unit, when there are a plurality of download identifiers corresponding to a combination of the user identifier and the application identifier, sets a download identifier for the application downloaded last as a target of the authentication. Server system.
無線通信網に収容される無線携帯端末からのダウンロード要求に応じてアプリケーションを配信する情報配信サーバシステムにおいて、
前記ダウンロード要求がなされた日時をサーバ側ダウンロード日時として計時するダウンロード計時部と、
前記ダウンロード要求を送信してきた無線携帯端末の利用者を識別するための利用者識別子と、当該ダウンロード要求の対象となるアプリケーションを識別するためのアプリケーション識別子と、当該ダウンロード要求について前記計時されたサーバ側ダウンロード日時とを互いに対応付けて記憶する識別子記憶部と、
前記無線携帯端末にダウンロードされたアプリケーションから、前記無線携帯端末により前記ダウンロードがなされた日時として記憶されている端末側ダウンロード日時と、前記アプリケーション識別子と、前記利用者識別子とを含むリクエスト信号を受信した場合、前記端末側ダウンロード日時が前記サーバ側ダウンロード日時に対して所定の時間範囲に含まれているか否かにより、前記アプリケーションについての認証を行う認証部と
を有することを特徴とする情報配信サーバシステム。
In an information distribution server system that distributes an application in response to a download request from a wireless portable terminal accommodated in a wireless communication network,
A download timing unit that counts the date and time when the download request was made as the server side download date and time,
A user identifier for identifying the user of the wireless portable terminal that has transmitted the download request, an application identifier for identifying the application that is the target of the download request, and the server side timed for the download request An identifier storage unit that stores the download date and time in association with each other;
A request signal including the terminal side download date and time, the application identifier, and the user identifier stored as the date and time when the download was made by the wireless portable terminal is received from the application downloaded to the wireless portable terminal. An authentication unit that authenticates the application depending on whether the terminal-side download date / time is included in a predetermined time range with respect to the server-side download date / time. .
無線通信網に収容される無線携帯端末からのダウンロード要求に応じてアプリケーションを配信する情報配信サーバシステムのアプリケーション認証方法において、
前記無線携帯端末からのダウンロード要求に応じて、この要求イベントを識別するためのダウンロード識別子を発行するステップと、
前記発行されたダウンロード識別子と、当該ダウンロード識別子が示す要求イベントの対象となる前記アプリケーションに固有のアプリケーション識別子とを対応付けて識別子記憶部に記憶するステップと、
前記ダウンロード要求に対応して前記無線携帯端末へ送信される応答信号の中に前記発行されたダウンロード識別子を含めて送信するステップと、
前記無線携帯端末にダウンロードされたアプリケーションから前記ダウンロード識別子及び前記アプリケーション識別子を含むリクエスト信号を受信すると、当該ダウンロード識別子と当該アプリケーション識別子とが対応付けられて前記識別子記憶部によって記憶されているか否かにより、前記アプリケーションについての認証を行うステップと
を有することを特徴とする情報配信サーバシステムのアプリケーション認証方法。
In an application authentication method of an information distribution server system that distributes an application in response to a download request from a wireless portable terminal accommodated in a wireless communication network,
Issuing a download identifier for identifying this request event in response to a download request from the wireless portable terminal;
Storing the issued download identifier and the application identifier specific to the application that is the target of the request event indicated by the download identifier in association with each other in an identifier storage unit ;
Including the issued download identifier in a response signal transmitted to the wireless portable terminal in response to the download request;
When the download identifier and the request signal including the application identifier are received from the application downloaded to the wireless portable terminal, whether or not the download identifier and the application identifier are associated with each other and stored in the identifier storage unit And an application authentication method for an information distribution server system, comprising the step of authenticating the application.
無線通信網に収容される無線携帯端末からのダウンロード要求に応じてアプリケーションを配信する情報配信サーバシステムのアプリケーション認証方法において、
前記無線携帯端末からのダウンロード要求に応じて、この要求イベントを識別するためのダウンロード識別子を発行するステップと、
前記発行されたダウンロード識別子と、当該ダウンロード識別子が示す要求イベントの対象となる前記アプリケーションに固有のアプリケーション識別子とを対応付けて識別子記憶部に記憶するステップと、
前記無線携帯端末にダウンロードされる前記アプリケーションのデータファイル内に前記発行したダウンロード識別子を含めて配信するステップと、
前記無線携帯端末にダウンロードされたアプリケーションから前記ダウンロード識別子及び前記アプリケーション識別子を含むリクエスト信号を受信すると、当該ダウンロード識別子と当該アプリケーション識別子とが対応付けられて前記識別子記憶部によって記憶されているか否かにより、前記アプリケーションについての認証を行うステップと
を有することを特徴とする情報配信サーバシステムのアプリケーション認証方法。
In an application authentication method of an information distribution server system that distributes an application in response to a download request from a wireless portable terminal accommodated in a wireless communication network,
Issuing a download identifier for identifying this request event in response to a download request from the wireless portable terminal;
Storing the issued download identifier and the application identifier specific to the application that is the target of the request event indicated by the download identifier in association with each other in an identifier storage unit ;
Delivering the issued download identifier in the data file of the application downloaded to the wireless portable terminal; and
When the download identifier and the request signal including the application identifier are received from the application downloaded to the wireless portable terminal, whether or not the download identifier and the application identifier are associated with each other and stored in the identifier storage unit And an application authentication method for an information distribution server system, comprising the step of authenticating the application.
無線通信網に収容される無線携帯端末からのダウンロード要求に応じてアプリケーションを配信する情報配信サーバシステムのアプリケーション認証方法において、
前記無線携帯端末からのダウンロード要求イベントを識別するためのダウンロード識別子を発行するステップと、
前記無線携帯端末にダウンロードされたアプリケーションから、当該アプリケーションを識別するためのアプリケーション識別子と当該無線携帯端末の利用者を識別するための利用者識別子とを含み当該ダウンロードに対応したダウンロード識別子を要求するリクエスト信号を受信すると、前記発行されるダウンロード識別子を前記無線携帯端末に通知するステップと、
前記リクエスト信号を受信した際に、前記要求されたダウンロード識別子が前記無線携帯端末に既に通知されているか否かにより、前記アプリケーションについての認証を行うステップと
を有することを特徴とする情報配信サーバシステムのアプリケーション認証方法。
In an application authentication method of an information distribution server system that distributes an application in response to a download request from a wireless portable terminal accommodated in a wireless communication network,
Issuing a download identifier for identifying a download request event from the wireless portable terminal;
A request for requesting a download identifier corresponding to the download, including an application identifier for identifying the application and a user identifier for identifying the user of the wireless portable terminal, from the application downloaded to the wireless portable terminal When receiving a signal, notifying the wireless portable terminal of the issued download identifier;
An information distribution server system comprising: a step of authenticating the application depending on whether or not the requested download identifier has already been notified to the wireless portable terminal when the request signal is received. Application authentication method.
請求項12に記載の情報配信サーバシステムのアプリケーション認証方法において、
さらに、前記無線携帯端末にダウンロードされた前記アプリケーションから、前記通知したダウンロード識別子を含むリクエスト信号を受信すると、当該ダウンロード識別子が当該情報配信サーバシステムによって発行されたものであるか否かにより、前記アプリケーションについての認証を行うステップ有することを特徴とする情報配信サーバシステムのアプリケーション認証方法。
In the application authentication method of the information delivery server system according to claim 12,
Further, when a request signal including the notified download identifier is received from the application downloaded to the wireless portable terminal, the application depends on whether the download identifier is issued by the information distribution server system . application authentication method for the information distribution server system characterized by the step of performing authentication on.
無線通信網に収容される無線携帯端末からのダウンロード要求に応じてアプリケーションを配信する情報配信サーバシステムのアプリケーション認証方法において、
前記ダウンロード要求がなされた日時をサーバ側ダウンロード日時として計時するステップと、
前記ダウンロード要求を送信してきた無線携帯端末の利用者を識別するための利用者識別子と、当該ダウンロード要求の対象となるアプリケーションを識別するためのアプリケーション識別子と、当該ダウンロード要求について前記計時されたサーバ側ダウンロード日時とを互いに対応付けて記憶するステップと、
前記無線携帯端末にダウンロードされたアプリケーションから、前記無線携帯端末により前記ダウンロードがなされた日時として記憶されている端末側ダウンロード日時と、前記アプリケーション識別子と、前記利用者識別子とを含むリクエスト信号を受信した場合、前記端末側ダウンロード日時が前記サーバ側ダウンロード日時に対して所定の時間範囲に含まれているか否かにより、前記アプリケーションについての認証を行うステップと
を有することを特徴とする情報配信サーバシステムのアプリケーション認証方法。
In an application authentication method of an information distribution server system that distributes an application in response to a download request from a wireless portable terminal accommodated in a wireless communication network,
Counting the date and time when the download request was made as the server side download date and time,
A user identifier for identifying the user of the wireless portable terminal that has transmitted the download request, an application identifier for identifying the application that is the target of the download request, and the server side timed for the download request Storing the download date and time in association with each other;
A request signal including the terminal side download date and time, the application identifier, and the user identifier stored as the date and time when the download was made by the wireless portable terminal is received from the application downloaded to the wireless portable terminal. The terminal-side download date / time is included in a predetermined time range with respect to the server-side download date / time to authenticate the application. Application authentication method.
請求項10に記載の情報配信サーバシステムのアプリケーション認証方法をコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記録媒体。  A computer-readable recording medium storing a program for causing a computer to execute the application authentication method of the information distribution server system according to claim 10. 請求項11に記載の情報配信サーバシステムのアプリケーション認証方法をコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記録媒体。  A computer-readable recording medium storing a program for causing a computer to execute the application authentication method of the information distribution server system according to claim 11. 請求項12に記載の情報配信サーバシステムのアプリケーション認証方法をコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記録媒体。  A computer-readable recording medium storing a program for causing a computer to execute the application authentication method of the information distribution server system according to claim 12. 請求項13に記載の情報配信サーバシステムのアプリケーション認証方法をコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記録媒体。  A computer-readable recording medium storing a program for causing a computer to execute the application authentication method of the information distribution server system according to claim 13. 請求項14に記載の情報配信サーバシステムのアプリケーション認証方法をコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記録媒体。  A computer-readable recording medium storing a program for causing a computer to execute the application authentication method of the information distribution server system according to claim 14.
JP2000284010A 2000-09-19 2000-09-19 Information distribution server system, application authentication method for the system, and recording medium Expired - Lifetime JP4750254B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000284010A JP4750254B2 (en) 2000-09-19 2000-09-19 Information distribution server system, application authentication method for the system, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000284010A JP4750254B2 (en) 2000-09-19 2000-09-19 Information distribution server system, application authentication method for the system, and recording medium

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008009799A Division JP4684303B2 (en) 2008-01-18 2008-01-18 Information distribution server system, information distribution method and recording medium

Publications (2)

Publication Number Publication Date
JP2002091850A JP2002091850A (en) 2002-03-29
JP4750254B2 true JP4750254B2 (en) 2011-08-17

Family

ID=18768295

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000284010A Expired - Lifetime JP4750254B2 (en) 2000-09-19 2000-09-19 Information distribution server system, application authentication method for the system, and recording medium

Country Status (1)

Country Link
JP (1) JP4750254B2 (en)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996537B2 (en) 2001-08-13 2006-02-07 Qualcomm Incorporated System and method for providing subscribed applications on wireless devices over a wireless network
US9203923B2 (en) 2001-08-15 2015-12-01 Qualcomm Incorporated Data synchronization interface
JP4222774B2 (en) * 2002-05-20 2009-02-12 株式会社エヌ・ティ・ティ・ドコモ Mobile terminal and method for starting program
US20040043753A1 (en) * 2002-08-30 2004-03-04 Wake Susan L. System and method for third party application sales and services to wireless devices
JP4598354B2 (en) * 2002-09-30 2010-12-15 株式会社エヌ・ティ・ティ・ドコモ COMMUNICATION SYSTEM, RELAY DEVICE, AND COMMUNICATION CONTROL METHOD
FR2849311B1 (en) * 2002-12-18 2005-04-15 France Telecom METHOD FOR COMMUNICATION BETWEEN TWO UNITS, AND TERMINAL USING THE METHOD
JP2005018378A (en) * 2003-06-25 2005-01-20 Sony Corp Information server, information equipment, information processing system, information processing method and information processing program
JP4292273B2 (en) 2003-10-10 2009-07-08 株式会社スクウェア・エニックス Account information management system, server and method, and program and recording medium
EP1730973A4 (en) 2004-01-21 2009-12-16 Qualcomm Inc Application-based value billing in a wireless subscriber network
KR100612143B1 (en) 2004-06-02 2006-08-11 주식회사 케이티프리텔 System and method for changing user interface of terminal using SMS
JP2006185056A (en) * 2004-12-27 2006-07-13 Toshiba Corp Terminal apparatus and terminal system to be used for e-commerce
US9350875B2 (en) 2005-05-31 2016-05-24 Qualcomm Incorporated Wireless subscriber billing and distribution
US9185538B2 (en) 2005-05-31 2015-11-10 Qualcomm Incorporated Wireless subscriber application and content distribution and differentiated pricing
US9143622B2 (en) 2006-02-17 2015-09-22 Qualcomm Incorporated Prepay accounts for applications, services and content for communication devices
US9185234B2 (en) 2006-02-22 2015-11-10 Qualcomm Incorporated Automated account mapping in a wireless subscriber billing system
JP4513788B2 (en) * 2006-07-21 2010-07-28 日本電気株式会社 Content distribution system and method, and program
WO2008117500A1 (en) * 2007-03-27 2008-10-02 Nec Corporation Virtual machine operation system, and virtual machine operation method and program
FR2918529A1 (en) * 2007-07-02 2009-01-09 France Telecom METHOD FOR COMMUNICATING A TERMINAL WITH A SERVER
JP2013003736A (en) * 2011-06-14 2013-01-07 Panasonic Corp Information processing device, information processing method and information processing program
JP5753133B2 (en) * 2012-07-18 2015-07-22 株式会社Caリワード Reward grant device, reward grant method, and reward grant program
JP6131674B2 (en) * 2013-03-28 2017-05-24 日本電気株式会社 License management device
JP2016099765A (en) * 2014-11-20 2016-05-30 アプリックスIpホールディングス株式会社 Application authentication system, radio communication system, management server, and authentication information issuing method
JP5753637B1 (en) * 2015-02-18 2015-07-22 株式会社Caリワード Reward grant system
JP6754957B2 (en) 2018-02-20 2020-09-16 パナソニックIpマネジメント株式会社 3D data distribution device and 3D data distribution method
US11375043B2 (en) 2019-03-06 2022-06-28 Citizen Watch Co., Ltd. Program management system, external device and terminal device for controlling a program developer's ability to access, publish and manage marketing of a program
JP6874176B2 (en) * 2019-03-06 2021-05-19 シチズン時計株式会社 Program management system and external devices
CN112597451B (en) * 2020-12-26 2024-08-06 中国农业银行股份有限公司 Method and device for distributing application program
JP7505516B2 (en) * 2022-03-04 2024-06-25 カシオ計算機株式会社 Web application server, web application program, and web application providing method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141652A (en) * 1995-10-10 2000-10-31 British Telecommunications Public Limited Company Operating apparatus
JPH11143840A (en) * 1997-11-05 1999-05-28 Hitachi Ltd Distributed object system and method
JPH11110219A (en) * 1997-10-07 1999-04-23 Fuji Electric Co Ltd Program execution control device and computer-readable recording medium recording program execution control program
JP3597051B2 (en) * 1998-07-31 2004-12-02 株式会社ソニー・コンピュータエンタテインメント Data processing system and method, and data processing apparatus and method

Also Published As

Publication number Publication date
JP2002091850A (en) 2002-03-29

Similar Documents

Publication Publication Date Title
JP4750254B2 (en) Information distribution server system, application authentication method for the system, and recording medium
JPWO2002021266A1 (en) Information distribution server system, information distribution method, and recording medium
US8626842B2 (en) Content transaction management server device, content-providing server device, and terminal device and control program
EP1598729B1 (en) Access control of resources using tokens
CN100420183C (en) Terminal communication system
EP2420036B1 (en) Method and apparatus for electronic ticket processing
CN108901022A (en) A kind of micro services universal retrieval method and gateway
US20020037714A1 (en) Method and system of remotely controlling a portable terminal and a computer product
JP2005339247A (en) Bidirectional one time id authenticating system and authenticating method
KR20090031672A (en) Authentication method for wireless transactions
CN104112196A (en) Electronic System For Provision Of Banking Services
JP2001148037A (en) Utilization system, issuing device, storage device, checking device and utilizing method for electronic ticket, and recording medium
CN105593869A (en) Authentication system, method, and program
JP2006514788A (en) Control of applications provided to mobiles
WO2005103919A1 (en) User authentication system and data providing system using the same
JP4684303B2 (en) Information distribution server system, information distribution method and recording medium
JP3822474B2 (en) Personal information integrated management system and program thereof, and medium storing the program
JP2004362189A (en) User information distribution system
JP4300778B2 (en) Personal authentication system, server device, personal authentication method, program, and recording medium.
JP2005004427A (en) Content distribution method and content distribution server
JP2004070426A (en) Method and system for providing service
KR100563004B1 (en) System and method for authenticating access to online content
JP2004151970A (en) Content delivery management device and content delivery management method
KR101732692B1 (en) Method for Delivering Gifting Contents
KR101109538B1 (en) System and Method for Processing Carbon Exhaust Trust

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070820

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100604

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101015

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110510

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110519

R150 Certificate of patent or registration of utility model

Ref document number: 4750254

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140527

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term