説明

携帯端末、通信システムおよびICカード制御方法

【課題】ネットワークを介した通信を行うためのソフトウェアを実行したままでICカードへのデータの読み書きを行うこと。
【解決手段】第1のプログラムが、ICカードの複数の記憶領域のうち一の記憶領域にアクセスする処理を実行するためのスクリプトの所在を示す所在情報を含む特定データを、ネットワーク上の第1のサーバから通信手段を介して受信する。第1のプログラムが、受信したデータに含まれる所在情報に基づいて、ネットワークから通信手段を介してスクリプトを取得する。第1のプログラムが、取得したスクリプトを実行することにより、第2の制御手段を一の記憶領域にアクセスさせ、一の記憶領域にアクセスした結果に応じた情報を取得する。第1のプログラムが、結果に応じた情報を、表示手段に表示させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、携帯端末においてICカードを利用する技術に関する。
【背景技術】
【0002】
モバイルFeliCa(登録商標)のように、携帯端末において利用されるICカードが知られている。単体のICカードに対しては、専用のリーダ/ライタを用いてデータの読み書きがされるが、携帯端末に内蔵されたICカードに対しては、リーダ/ライタを用いたデータの読み書きに加え、携帯端末本体からデータの読み書きが可能である。多くの携帯端末はネットワークを介した通信を行う機能を有しており、通信機能およびICカード機能により、多様なサービスを提供することが可能になっている。ICカードを内蔵した携帯端末において、ICカードのデータを読み書きするために、専用のアプリケーションソフトウェアが用いられている。
【0003】
これに対し特許文献1は、端末装置からICカードへ送信されるメッセージであるAPDU(Application Protocol Data Unit、アプリケーション・プロトコル・データ単位)の実行結果をwebブラウザに表示する技術を開示している(特に、段落0020−0022)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−244211号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ネットワークを介した通信とICカードへのデータの読み書きとを一連の処理として行おうとするとき、ネットワークを介した通信を行うためのソフトウェアと、ICカードへのデータの読み書きを行うためのソフトウェアとを切り替えることは煩雑であった。特許文献1においても、APDUの取得や実行は専用のソフトウェアを用いる必要があった。
これに対し本発明は、ネットワークを介した通信を行うためのソフトウェアを実行したままでICカードへのデータの読み書きを行う技術を提供する。
【課題を解決するための手段】
【0006】
本発明は、ネットワークを介して通信する通信手段と、情報を表示する表示手段と、前記ネットワークから特定の書式で記述された特定データを前記通信手段を介して受信し、受信した特定データに応じた情報を前記表示手段に表示させるための第1のプログラムを実行する第1の制御手段と、アンテナと、個別にアクセス制限を設定可能な複数の記憶領域を有するメモリと、前記アンテナからの信号または前記第1の制御手段からの信号に応じて前記メモリにアクセスする第2の制御手段とを有するICカードとを有し、前記第1のプログラムを実行している前記第1の制御手段が、前記複数の記憶領域のうち一の記憶領域にアクセスする処理を実行するためのスクリプトの所在を示す所在情報を含む特定データを、前記ネットワーク上の第1のサーバから前記通信手段を介して受信し、前記第1のプログラムを実行している前記第1の制御手段が、前記受信したデータに含まれる所在情報に基づいて、前記ネットワークから前記通信手段を介して前記スクリプトを取得し、前記第1のプログラムを実行している前記第1の制御手段が、前記取得したスクリプトを実行することにより、前記第2の制御手段を前記一の記憶領域にアクセスさせ、前記一の記憶領域にアクセスした結果に応じた情報を取得し、前記第1のプログラムを実行している前記第1の制御手段が、前記結果に応じた情報を、前記表示手段に表示させることを特徴とする携帯端末を提供する。
この携帯端末によれば、第1のプログラム上から実行されたスクリプトにより、ICカードへのアクセスが行われる。
【0007】
好ましい態様において、前記特定データが、前記一の記憶領域にアクセスする処理を実行するための第1のスクリプトおよび前記一の記憶領域と異なる別の記憶領域にアクセスする処理を実行するための第2のスクリプトの所在を示す所在情報を含み、前記第1のプログラムを実行している前記第1の制御手段が、前記第1のスクリプトおよび前記第2のスクリプトを順次実行することにより、前記第2の制御手段を前記一の記憶領域および前記別の記憶領域にアクセスさせ、前記一の記憶領域にアクセスした結果に応じた第1の情報および前記別の記憶領域にアクセスした結果に応じた第2の情報を取得し、前記第1のプログラムを実行している前記第1の制御手段が、前記第1の情報および前記第2の情報を、前記表示手段に表示させてもよい。
この携帯端末によれば、第1のプログラム上から実行される複数のスクリプトにより、ICカードの異なる記憶領域へのアクセスが行われる。
【0008】
別の好ましい態様において、前記ネットワークは、前記メモリの記憶内容の書き換えの許可をする第2のサーバを有し、前記スクリプトは、前記メモリの記憶内容を書き換える処理を実行するためのスクリプトであり、前記スクリプトを実行している前記第1の制御手段は、前記第2のサーバに前記許可の要求を、前記通信手段を介して送信し、前記スクリプトを実行している前記第1の制御手段は、前記要求に対する応答を前記第2のサーバから前記通信手段を介して受信し、前記第2の制御手段は、前記応答が前記メモリの記憶内容の書き換えを許可するものであった場合、前記メモリにアクセスし、前記メモリの記憶内容を書き換えてもよい。
この携帯端末によれば、第1のプログラム上から実行されるスクリプトが認証されたとき、ICカードへのデータの書き込みが行われる。
【0009】
さらに別の好ましい態様において、この携帯端末は、前記特定データおよび前記スクリプトを記憶する記憶手段を有し、前記第1のプログラムは、前記記憶手段から前記特定データを読み出し、読み出した特定データに応じた情報を前記表示手段に表示させる処理を前記第1の制御手段に実行させるための命令群を含み、前記第1のプログラムを実行している前記第1の制御手段が、前記記憶手段から前記スクリプトを読み出したスクリプトを実行することにより、前記第2の制御手段を前記一の記憶領域にアクセスさせ、前記一の記憶領域にアクセスした結果に応じた情報を取得してもよい。
この携帯端末によれば、特定データとともにスクリプトが記憶手段に記憶され、記憶手段からスクリプトを読み出した時点においてICカードへのアクセスが行われる。
【0010】
さらに別の好ましい態様において、この携帯端末は、前記メモリにアクセスした結果に応じた情報を記憶する記憶手段を有し、前記第1のプログラムは、前記記憶手段から前記情報を読み出し、読み出した情報を前記表示手段に表示させる処理を前記第1の制御手段に実行させるための命令群を含んでもよい。
この携帯端末によれば、第1のプログラム上から実行されるスクリプトの実行結果が記憶される。
【0011】
さらに別の好ましい態様において、この携帯端末は、前記特定データを記憶する記憶手段を有し、前記第1のプログラムは、前記記憶手段から前記特定データを読み出し、読み出した特定データに応じた情報を前記表示手段に表示させる処理を前記第1の制御手段に実行させるための命令群を含み、前記第1のプログラムを実行している前記第1の制御手段が、前記読み出したデータに含まれる所在情報に基づいて、前記ネットワークから前記通信手段を介して前記スクリプトを取得してもよい。
この携帯端末によれば、記憶手段に記憶された特定データに含まれる所在情報に基づいて取得されるスクリプトにより、ICカードからのデータの読み出しが行われる。
【0012】
さらに別の好ましい態様において、前記記憶手段は、前記記憶手段に記憶されたデータが添付された電子メールを、前記通信手段を介して送信する処理を前記第1の制御手段に実行させるための第2のプログラムを記憶し、前記第1の制御手段は、前記第2のプログラムを実行することにより、前記電子メールを他の携帯端末に送信してもよい。
この携帯端末によれば、第1のプログラム上から実行されるスクリプトまたはその実行結果が他の携帯端末に送信される。
【0013】
さらに別の好ましい態様において、前記ネットワークは、前記メモリの記憶内容の書き換えの許可をする第2のサーバを有し、前記特定データが、前記複数の記憶領域のうち一の記憶領域の記憶内容を書き換える処理を実行するための第1のスクリプトおよび前記一の記憶領域と異なる別の記憶領域の記憶内容を書き換える処理を実行するための第2のスクリプトの所在を示す所在情報と、前記一の記憶領域および前記別の記憶領域の記憶内容を書き換える特定処理の実行の開始をユーザに指示させるための指示情報とを含み、前記指示情報に応じて前記特定処理の実行の開始が指示されると、前記スクリプトを実行している前記第1の制御手段は、前記一の記憶領域について前記許可を求める第1の要求および前記別の記憶領域について前記許可を求める第2の要求を、前記通信手段を介して前記第2のサーバに送信し、前記スクリプトを実行している前記第1の制御手段は、前記第1の要求および前記第2の要求に対する応答を前記第2のサーバから前記通信手段を介して受信し、前記第2の制御手段は、前記第1の要求および前記第2の要求が前記一の記憶領域および前記別の記憶領域の記憶内容の書き換えを許可するものであった場合、前記メモリにアクセスし、前記一の記憶領域および前記別の記憶領域の記憶内容を書き換え、前記前記一の記憶領域および前記別の記憶領域の記憶内容が書き換えられると、前記第1のプログラムを実行している前記第1の制御手段は、前記記憶内容の書き換えが完了したことを示す情報を前記第1のサーバに送信してもよい。
この携帯端末によれば、異なるサービスに対応する第1のスクリプトおよび第2のスクリプトの2つのスクリプトにより、一連の処理が行われる。
【0014】
さらに別の態様において、前記スクリプトが、オブジェクト指向プログラミング言語で記述され、前記一の記憶領域からデータを読み出す処理を実行するための第1のメソッドと、前記一の記憶領域にデータを書き込む処理を実行するための第2のメソッドとを含み、前記特定データが、実行するメソッドを指定する情報を含み、前記第1のプログラムを実行している前記第1の制御手段は、前記スクリプトのうち、前記特定データに含まれる情報により指定されるメソッドを実行してもよい。
この携帯端末によれば、処理の内容によらず携帯端末に送信するスクリプトが統一される。
【0015】
また、本発明は、サーバと、ネットワークを介して前記サーバと接続された携帯端末とを有し、前記携帯端末は、前記ネットワークを介して通信する通信手段と、情報を表示する表示手段と、前記ネットワークから特定の書式で記述された特定データを前記通信手段を介して受信し、受信した特定データに応じた情報を前記表示手段に表示させるための第1のプログラムを実行する第1の制御手段と、アンテナと、個別にアクセス制限を設定可能な複数の記憶領域を有するメモリと、前記アンテナからの信号または前記第1の制御手段からの信号に応じて前記メモリにアクセスする第2の制御手段とを有するICカードとを有し、前記第1のプログラムを実行している前記第1の制御手段が、前記複数の記憶領域のうち一の記憶領域にアクセスする処理を実行するためのスクリプトの所在を示す所在情報を含む特定データを、前記サーバから前記通信手段を介して受信し、前記第1のプログラムを実行している前記第1の制御手段が、前記受信したデータに含まれる所在情報に基づいて、前記ネットワークから前記通信手段を介して前記スクリプトを取得し、前記第1のプログラムを実行している前記第1の制御手段が、前記取得したスクリプトを実行することにより、前記第2の制御手段を前記一の記憶領域にアクセスさせ、前記一の記憶領域にアクセスした結果に応じた情報を取得し、前記第1のプログラムを実行している前記第1の制御手段が、前記結果に応じた情報を、前記表示手段に表示させることを特徴とする通信システムを提供する。
この通信システムによれば、第1のプログラム上から実行されたスクリプトにより、ICカードへのアクセスが行われる。
【0016】
さらに本発明は、ネットワークを介して通信する通信手段と、情報を表示する表示手段と、前記ネットワークから特定の書式で記述された特定データを前記通信手段を介して受信し、受信した特定データに応じた情報を前記表示手段に表示させるための特定プログラムを実行する第1の制御手段と、アンテナと、個別にアクセス制限を設定可能な複数の記憶領域を有するメモリと、前記アンテナからの信号または前記第1の制御手段からの信号に応じて前記メモリにアクセスする第2の制御手段とを有するICカードとを有するコンピュータ装置において、前記特定プログラムを実行している前記第1の制御手段が、前記複数の記憶領域のうち一の記憶領域にアクセスする処理を実行するためのスクリプトの所在を示す所在情報を含む特定データを、前記ネットワーク上の第1のサーバから前記通信手段を介して受信するステップと、前記特定プログラムを実行している前記第1の制御手段が、前記受信したデータに含まれる所在情報に基づいて、前記ネットワークから前記通信手段を介して前記スクリプトを取得するステップと、前記特定プログラムを実行している前記第1の制御手段が、前記取得したスクリプトを実行することにより、前記第2の制御手段を前記一の記憶領域にアクセスさせ、前記一の記憶領域にアクセスした結果に応じた情報を取得するステップと、前記特定プログラムを実行している前記第1の制御手段が、前記結果に応じた情報を、前記表示手段に表示させるステップとを有するICカード制御方法を提供する。
このICカード制御方法によれば、第1のプログラム上から実行されたスクリプトにより、ICカードへのアクセスが行われる。
【図面の簡単な説明】
【0017】
【図1】本発明の一実施形態に係る通信システムの構成を示す図である。
【図2】携帯電話機10の外観図である。
【図3】携帯電話機10のハードウェア構成を示す図である。
【図4】ICカード500の構成を示す図である。
【図5】メモリ504の記憶領域の構成を例示する図である。
【図6】携帯電話機10のソフトウェア構成を示す図である。
【図7】サービスサーバ30の構成を示す図である。
【図8】リモート発行サーバ40の構成を示す図である。
【図9】サービスサーバ50の構成を示す図である。
【図10】サービスサーバ60の構成を示す図である。
【図11】登録スクリプトによる処理を示すシーケンス図である。
【図12】読み出しスクリプトによる処理を示すシーケンス図である。
【図13】書き込みスクリプトによる処理を示すシーケンス図である。
【図14】削除スクリプトによる処理を示すシーケンス図である。
【図15】サービスの新規登録時の動作を示すシーケンス図である。
【図16】図15の動作に伴ってブラウザが表示する画面を例示する図である。
【図17A】ショッピングサイトにアクセスした時の動作を示すシーケンス図である。
【図17B】ショッピングサイトにアクセスした時の動作を示すシーケンス図である。
【図18】図17A・Bの動作に伴ってブラウザが表示する画面を例示する図である。
【図19】外部リンクの具体例を例示する図である。
【図20A】分割決済を行う時の動作を示すシーケンス図である。
【図20B】分割決済を行う時の動作を示すシーケンス図である。
【図21】図20A・Bの動作に伴ってブラウザが表示する画面を例示する図である。
【図22】画面メモのリスト画面を例示する図である。
【図23】通信システムにおいて用いられる暗号化技術の概要を示す図である。
【発明を実施するための形態】
【0018】
1.構成
図1は、本発明の一実施形態に係る通信システムの構成を示す図である。この通信システムは、携帯電話機10と、管理サーバ20と、サービスサーバ30と、リモート発行サーバ40と、サービスサーバ50と、サービスサーバ60とを有する。管理サーバ20、サービスサーバ30、リモート発行サーバ40、サービスサーバ50およびサービスサーバ60は、ネットワーク70を介して接続されている。リーダ/ライタ510は、携帯電話機10に内蔵されているIC(Integrated Circuit)カード500と無線通信を行い、データの読み書きを行う。
【0019】
1−1.携帯電話機10
図2は、携帯電話機10の外観図である。携帯電話機10は、本発明に係る携帯端末の一例である。携帯電話機10は、筐体9Aおよび筐体9Bを有する。筐体9Aと筐体9Bとは、ヒンジ3を介して連結されている。携帯電話機10は、いわゆる折り畳み型の携帯電話機である。携帯電話機10のユーザは、図1に示されるように筐体9Aおよび筐体9Bを開いた状態で音声通信やデータ通信を行う。
【0020】
筐体9Aは、スピーカ6、アンテナ7および表示装置8を有する。スピーカ6は、通話の音声、操作音、楽曲音などを出力する。アンテナ7は、無線基地局との間で無線通信を行う。表示装置8は、文字や画像を表示する。筐体9Bは、キーパッド4およびマイクロホン5を有する。キーパッド4は、ユーザの操作を受け付け、受け付けた操作に応じた信号を出力する。マイクロホン5は、入力された音声を電気信号に変換して出力する。
【0021】
図3は、携帯電話機10のハードウェア構成を示す図である。CPU(Central Processing Unit)102は、携帯電話機10の各構成要素を制御する制御装置(第1の制御手段の一例)である。ROM(Read Only Memory)103は、携帯電話機10の基本的な動作に必要なプログラムおよびデータを記憶する記憶装置である。ROM103は、例えば、IPL(Initial Program Loader)、OS(Operating System)プラグラムおよびJava(登録商標)プラットフォームソフトウェアを記憶している。IPLは、携帯電話機10の電源が投入されたときに最初に実行するプログラムを読み出すためのプログラムである。本実施形態において、IPLは、OSプログラムを読み出す。OSプログラムは、データの入出力、記憶装置へのアクセス、各種プログラムの実行、音声通信、データ通信、その他の携帯電話機10の基本的な機能を実現させるためのプログラムである。Java(登録商標)プラットフォームソフトウェアは、OS上にJava実行環境を実現させるためのプログラムおよびデータである。
【0022】
RAM(Random Access Memory)104は、CPU102がプログラムを実行する際のワークエリアとして機能する記憶装置である。記憶部105は、アプリケーションプログラムおよびデータを記憶する記憶装置である。記憶部105は、フラッシュメモリ等の不揮発性メモリを有する。本実施形態において、記憶部105は、ブラウザプログラムを記憶している。ブラウザプログラムは、ネットワークを介してHTML(HyperText Markup Language)データを受信し、受信したHTMLデータに応じた情報を表示装置8に表示させるためのプログラムである。また、記憶部105は、電子メールプログラムを記憶している。電子メールプログラム(メーラ)は、ネットワークを介して電子メールを送受信し、送受信した電子メールの表示、編集をするためのプログラムである。電子メールには添付ファイルとして画像データやアドレス帳データを添付することが可能である。
【0023】
この例で、ブラウザプログラムは、携帯電話機10をスクリプト処理エンジンとして機能させるための命令群を含む。「スクリプト処理エンジン」とは、スクリプトに記述された命令群に従った処理を実行させるためのソフトウェアコンポーネントをいう。CPU102がこの命令群を実行し、RAM104等のハードウェアを制御することにより、スクリプト処理エンジンとしての機能が実現される。
【0024】
操作部106は、ユーザの操作に応じた信号を出力する。操作部106は、テンキー、発呼キー、終話キー、クリアキー、カーソルキー、電源キー、その他の入力を行うためのキーを含むキーパッド(図1のキーパッド4)等の入力装置を有する。ユーザは、キーパッドを操作することにより携帯電話機10に対して指示を入力する。表示部107(表示手段の一例)は、文字や画像を表示する。表示部107は、液晶ディスプレイなどの表示装置(図1の表示装置8)を有する。表示部107は、実行中のアプリケーションプログラムにより処理された情報を表示する。表示部107は、LCD(liquid crystal display)などの表示体およびその表示体を駆動する駆動回路を有する。通信部108(通信手段の一例)は、アンテナ(図1のアンテナ7)を介して無線基地局を介して音声通信またはデータ通信を行う。バス109は、構成要素間でやりとりされる信号やデータを伝送する伝送路である。さらに、携帯電話機10は、ICカード500を有している。以上の構成要素はバス109を介して接続されている。
【0025】
図4は、ICカード500の構成を示す図である。アンテナ501は、リーダ/ライタ510との間での無線信号の送受信に用いられる。ICチップ502は、アンテナ501が受信した信号に応じた処理を行う。ICチップ502は、プロセッサ503(第2の制御手段の一例)と、メモリ504とを有する。
【0026】
ICカード500は、CPU102とデータや信号の送受信に用いられる信号線505を有している。プロセッサ503は、アンテナ501が受信した信号またはCPU102からの信号に応じてメモリ504にアクセスし、データの読み出しまたは書き込みを行う。プロセッサ503は、データの暗号化や復号化など、データの読み出しまたは書き込みに伴う処理を実行する。
【0027】
図5は、メモリ504の記憶領域の構成を例示する図である。この例で、メモリ504には、初期状態において共通領域および自由領域という2つの領域が設定されている(図5(A))。共通領域は、あらかじめ決められた事業者(この例では、リモート発行サーバ40を管理、運営している事業者)により、サービス毎の領域設定およびデータの書き込みがされる領域である。自由領域は、事業者によらずデータの書き込みが可能な領域である。
【0028】
共通領域はさらに複数の領域に区分することが可能であり、各領域に、異なるサービスのデータが記憶される。図5の例で、共通領域には2つの記憶領域が設定されており、A社の電子マネーおよびB社の電子マネーのデータが記憶されている(図5(B))。以下、A社およびB社が提供する電子マネーをそれぞれ、「A社マネー」および「B社マネー」という。各領域は個別にアクセス制限(セキュリティ)を設定することが可能である。これにより、一枚のカードの中で複数のサービスで用いられるデータを管理することができ、また、サービス間でのデータのセキュリティも確保される。
【0029】
図6は、携帯電話機10のソフトウェア構成を示す図である。OS111上において、ブラウザ等のアプリケーションプログラムや、クライアントソフトウェア121、デバイスドライバ122等のプログラムが動作する。ブラウザ130は、HTMLデータに応じた情報を表示装置8に表示させる機能を有する。ブラウザ130は、ネットワークからHTMLデータを受信する機能等、情報を表示させる機能に関連する機能を有する。スクリプト処理エンジン131は、このような関連機能の一つであり、Javaスクリプトを解釈し、Javaスクリプトに記述されている命令に従った処理を実行する機能を有する。スクリプト処理エンジン131は、ICカード500にアクセスするためのAPI(Application Program Interface)群を含んでいる。API群120は、例えば、サーバとの通信を開始するためのサーバ通信開始用API、ICカード500からデータを読み出すためのデータ読み出し用API、ICカード500にデータを書き込むためのデータ書き込み用API等を含んでいる。
【0030】
クライアントソフトウェア121は、リモート発行サーバ40等のサーバとの通信を中継するためのソフトウェアである。デバイスドライバ122は、ICカード500にアクセスするためのドライバプログラムである。
【0031】
1−2.管理サーバ20
管理サーバ20は、携帯電話機10がネットワークを介した通信を行う際の認証や課金といった処理を行うためのサーバである。
【0032】
1−3.サービスサーバ30
図7は、サービスサーバ30の構成を示す図である。サービスサーバ30は、電子マネーサービスを提供する事業者であるA社が管理、運営するサーバである。サービスサーバ30は、サービスに関する情報を提供するためのHTMLデータと、電子マネーサービスに用いられる各種のスクリプト(残高表示スクリプト、決済スクリプト、チャージスクリプトおよび削除スクリプト)と、サーバとして機能させるためのサーバプログラムとを、HDD等の記憶手段に記憶している。これらのスクリプトの詳細は後述する。また、サービスサーバ30は、ネットワークを介した通信に用いられる通信インターフェース等の通信手段、およびプログラムを実行するCPU等の制御手段を有している。制御手段がサーバプログラムを実行し、記憶手段や通信手段を制御することにより、サービスサーバ30は、携帯電話機10からの要求に応じてHTMLデータやスクリプトを送信する機能を有する。
【0033】
1−4.リモート発行サーバ40
図8は、リモート発行サーバ40の構成を示す図である。リモート発行サーバ40は、ICカード500のプラットフォームを提供する事業者が管理、運営するサーバである。リモート発行サーバ40は、事業者により提供されるサービスに関する情報を記録するデータベースと、データベースに情報を登録する処理、登録や決済の認証処理など、ICカード500のサービスに用いられる処理を実行させるためのサーバプログラムとを、HDD等の記憶手段に記憶している。また、リモート発行サーバ40は、ネットワークを介した通信に用いられる通信インターフェース等の通信手段、およびプログラムを実行するCPU等の制御手段を有している。制御手段がサーバプログラムを実行し、記憶手段や通信手段を制御することにより、リモート発行サーバ40は、携帯電話機10からの要求に応じて、サービスの登録や認証などの処理を行う機能を有する。
【0034】
1−5.サービスサーバ50
図9は、サービスサーバ50の構成を示す図である。サービスサーバ50は、電子マネーサービスを提供する事業者であるB社が管理、運営するサーバである。サービスサーバ50は、サービスに関する情報を提供するためのHTMLデータと、電子マネーサービスに用いられる各種のスクリプト(残高表示スクリプト、決済スクリプト、チャージスクリプトおよび削除スクリプト)と、サーバとして機能させるためのサーバプログラムとを、HDD等の記憶手段に記憶している。これらのスクリプトの詳細は後述する。また、サービスサーバ50は、ネットワークを介した通信に用いられる通信インターフェース等の通信手段、およびプログラムを実行するCPU等の制御手段を有している。制御手段がサーバプログラムを実行し、記憶手段や通信手段を制御することにより、サービスサーバ50は、携帯電話機10からの要求に応じてHTMLデータやスクリプトを送信する機能を有する。
【0035】
1−6.サービスサーバ60
図10は、サービスサーバ60の構成を示す図である。サービスサーバ60は、電子マネーサービスを提供する事業者ではない、第三者であるC社が管理、運営するサーバである。C社は、サービスサーバ60を用いてショッピングサイトを運営しており、通信販売事業を行っている。サービスサーバ60は、商品および商品の属性(名前、数量、単価、画像など)を記録した商品データベースと、ユーザが有するポイントを記録したポイントデータベースと、ショッピングに関する情報を提供するためのHTMLデータと、サーバとして機能するためのサーバプログラムとを、HDD等の記憶手段に記憶している。また、サービスサーバ60は、ネットワークを介した通信に用いられる通信インターフェース等の通信手段、およびプログラムを実行するCPU等の制御手段を有している。制御手段がサーバプログラムを実行し、記憶手段や通信手段を制御することにより、サービスサーバ60は、携帯電話機10からの要求に応じてHTMLデータを送信し、商品の購入に関する処理を行う機能を有する。サービスサーバ60により提供されるHTMLデータは、サービスサーバ30またはサービスサーバ50により提供されるスクリプトのリンクを含んでいる。すなわち、このHTMLデータを介してサービスサーバ30またはサービスサーバ50により提供されるスクリプトを呼び出すことができる。
【0036】
2.動作
2−1.スクリプト
携帯電話機10は、ブラウザ上から(より詳細には、スクリプト処理エンジンの機能により)スクリプトを実行する機能を有する。この例で、スクリプトは、オブジェクト指向プログラミング言語であるJava(登録商標)スクリプトである。ここで、ブラウザ上から実行されるスクリプトは、ICカード500にアクセスするスクリプトを含む。「ICカード500にアクセスする」とは、ICカード500のメモリ504に記憶領域を設定すること、設定された記憶領域からデータの読み出しをすること、記憶領域にデータの書き込みをすること、または記憶領域に記憶されているデータを書き換えることをいう。ICカード500にアクセスするスクリプトは、新規登録を行うためのスクリプト(以下「登録スクリプト」という)、データの読み出しを行うためのスクリプト(以下「読み出しスクリプト」という)、データの書き込みを行うためのスクリプト(以下「書き込みスクリプト」という)、および登録されているデータを削除するためのスクリプト(以下「削除スクリプト」という)に大別される。
【0037】
2−1−1.登録スクリプト
登録スクリプトは、ICカード500のメモリ504内に新たな記憶領域を設定し、設定した記憶領域に初期データを書き込むためのスクリプトである。登録スクリプトは、電子マネーや電子チケットを「発券」する際に用いられる。
【0038】
図11は、登録スクリプトによる処理を示すシーケンス図である。以下、必要に応じて「ブラウザ」や「メーラ」、「スクリプト処理エンジン」、「API」、「スクリプト」、「OS」などのソフトウェアを処理の主体として説明をするが、これらの記載は、ソフトウェアに含まれる命令を実行しているCPU102が、RAM104、表示部107、通信部108などのハードウェア資源と協働して処理を行うことを意味する。例えば、「ブラウザがHTMLデータに従ってページを表示する」と記載した場合、ブラウザプログラムを実行しているCPU102が、HTMLデータを解釈し、HTMLデータに応じたページ(画像)を表示部107に表示させることを意味する。あるいは、「APIがブラウザにデータを引き渡す」と記載した場合、APIを実行しているCPU102が、データを所定の記憶領域に記憶した後、ブラウザを実行し、この記憶領域からデータを読み出すことを意味する。さらにあるいは、「メーラが電子メールメッセージを表示する」と記載した場合、電子メールプログラムを実行しているCPU102が、電子メールのデータを解釈し、電子メールの内容を示す画像を表示部107に表示させることを意味する。図11において、ブラウザとスクリプト処理エンジンとはそれぞれ別に記載されているが、既に説明したようにスクリプト処理エンジンはブラウザの機能の一部である。
【0039】
ステップS100において、ブラウザは、登録スクリプトを読み込む。すなわち、ブラウザは、サービスサーバ30に対し、登録スクリプトの送信を要求する。携帯電話機10から登録スクリプトの送信の要求を受信すると、サービスサーバ30は、登録スクリプトを携帯電話機10に送信する(ステップS101)。ブラウザは、読み込んだ登録スクリプトを、スクリプト処理エンジンに渡す(ステップS102)。
【0040】
登録スクリプトを受け取ると、スクリプト処理エンジンは、スクリプトに記述された命令に従って処理を行う。ステップS103において、スクリプト処理エンジンは、リモート発行サーバ40に対し、発券要求を送信する。具体的には以下のとおりである。登録スクリプトは、サーバ通信開始用APIを呼び出すための命令群を含んでいる。CPU102がこれらの命令群を実行することにより、サーバ通信開始用APIが起動される。サーバ通信用APIはクライアントソフトウェアを呼び出す。クライアントソフトウェアは、通信部108を介してリモート発行サーバ40と通信を行う。すなわち、クライアントソフトウェアは、リモート発行サーバ40に発券要求を送信する。発券要求は、リモート発行サーバ40における処理に用いられる情報、例えばA社のサービスを特定する識別子およびユーザの属性を示す情報(以下「ユーザ情報」という)を含む。なお図11においては、登録スクリプトから呼び出されるAPIやデバイスドライバ等の処理も、登録スクリプトを実行するスクリプト処理エンジンの処理として記載している。他の図においても同様である。
【0041】
リモート発行サーバ40は、発券要求を受信すると、発券処理に用いられる情報(以下「発券情報」という)を生成する(ステップS104)。発券情報は、例えば、サービスおよびユーザを特定するための識別子、およびICカード500に書き込まれる初期データを含む。発券情報を生成すると、リモート発行サーバ40は、生成した発券情報および対応するユーザ情報を記憶する。リモート発行サーバ40は、発券情報を携帯電話機10に送信する(ステップS105)。携帯電話機10のクライアントソフトウェアは、発券情報を受信し、受信した発券情報をスクリプト処理エンジンに引き渡す。
【0042】
ステップS106において、スクリプト処理エンジンは、発券情報を用いて発券処理を行う。すなわち、登録スクリプトを実行しているCPU102は、ICカード500のメモリ504にA社のサービス用の領域を設定し、設定した領域に、A社のサービスを特定する識別子および携帯電話機10を特定する識別子を書き込む命令を、ICチップ502に送信する。ICチップ502のプロセッサ503は、CPU102からの命令を受けて、メモリ504にA社のサービス用の領域を設定し、設定した領域に、A社のサービスを特定する識別子および携帯電話機10を特定する識別子を書き込む。さらに、プロセッサ503は、CPU102からの命令を受けて、メモリ504にA社のサービス用のデータ(以下このデータを「サービスデータ」という)の初期値を書き込む。いまA社のサービスが電子マネーである場合を例にとると、サービスデータは、電子マネーの残高のデータである。あるいは別の例で、このサービスがポイントカードである場合にはサービスデータはポイントの残高であり、このサービスが入場券や乗車券等のチケット発券サービスであればサービスデータはチケットを特定する情報である。
【0043】
発券処理が完了すると、スクリプト処理エンジンは、発券が完了した旨の通知をリモート発行サーバ40に送信する(ステップS107)。この通知は、発券されたサービスおよび携帯電話機10を特定する識別子を含んでいる。
【0044】
さらに、スクリプト処理エンジンは、サービスの登録に用いられる情報、この例ではユーザ情報、A社のサービスを特定する識別子および携帯電話機10を特定する識別子をサービスサーバ30に送信する(ステップS108)。サービスサーバ30は、携帯電話機10から受信した情報を記憶(登録)する(ステップS109)。情報の登録が完了すると、サービスサーバ30は、登録が完了した旨の通知を携帯電話機10に送信する(ステップS110)。この通知は、登録された情報を表示するためのHTMLデータを含んでいる。この通知を受信すると、スクリプト処理エンジンは、通知に含まれるHTMLデータをブラウザに引き渡し(ステップS111)、登録スクリプトによる処理を終了する。ブラウザは、取得したHTMLデータに従った情報を表示する。上記のステップS103、S106、S107、S108およびS111の処理は、登録スクリプトに記述された命令に従ってスクリプト処理エンジンが行う処理である。
【0045】
2−1−2.読み出しスクリプト
図12は、読み出しスクリプトによる処理を示すシーケンス図である。読み出しスクリプトは、ICカード500のメモリ504内に既に設定されている記憶領域から、データを読み出すためのスクリプトである。読み出しスクリプトの具体例としては、電子マネーやポイントカードの残高を表示するための「残高表示スクリプト」や電子チケットの内容を確認するための「内容表示スクリプト」などがある。
【0046】
読み出しスクリプトは、サービスデータを読み出すデータ読み出し用APIを呼び出すための命令群を含んでいる。CPU102がこれらの命令群を実行することにより、データ読み出し用APIが実行される。
【0047】
ステップS200において、ブラウザは、読み出しスクリプトを読み込む。すなわち、ブラウザは、サービスサーバ30に対し、読み出しスクリプトの送信を要求する。携帯電話機10から読み出しスクリプトの送信の要求を受信すると、サービスサーバ30は、読み出しスクリプトを携帯電話機10に送信する(ステップS201)。ブラウザは、読み込んだ読み出しスクリプトを、スクリプト処理エンジンに渡す(ステップS202)。
【0048】
登録スクリプトを受け取ると、スクリプト処理エンジンは、スクリプトに記述された命令に従って処理を行う。ステップS203において、スクリプト処理エンジンは、A社のサービスを特定する識別子をデータ読み出し用APIに引き渡す(すなわち、サービスを特定する)。データ読み出し用APIは、この識別子に対応する記憶領域から読み出したサービスデータを引き渡す要求を、ICカード500のICチップ502に送信する。この要求は、A社のサービスを特定する識別子を含んでいる。
【0049】
ステップS204において、スクリプト処理エンジンは、ICチップ502からサービスデータを読み出す。具体的には以下のとおりである。データ読み出し用APIからデータ引き渡しの要求を受けると、ICチップ502のプロセッサ503は、メモリ504のうち、要求に含まれる識別子に対応する記憶領域からサービスデータ(この例ではポイント残高)を読み出し、読み出したサービスデータをデータ読み出し用APIに引き渡す。データ読み出し用APIは、取得したサービスデータをスクリプト処理エンジンに引き渡す。
【0050】
ステップS205において、スクリプト処理エンジンは、取得したサービスデータをブラウザに引き渡し、読み出しスクリプトの処理を終了する。ブラウザは、取得したサービスデータに基づいた情報を表示する。上記のステップS203−S205の処理は、読み出しスクリプトに記述された命令に従ってスクリプト処理エンジンが行う処理である。
【0051】
2−1−3.書き込みスクリプト
図13は、書き込みスクリプトによる処理を示すシーケンス図である。書き込みスクリプトは、ICカード500のメモリ504内に既に設定されている記憶領域に、データを書き込むため、または既に記憶されているデータを書き換えるためのスクリプトである。書き込みスクリプトの具体例としては、電子マネーやポイントカードの「チャージ」(残高を増やす処理)を行うためのチャージスクリプト、電子マネーやポイントカードの「決済」や「ポイント使用」(残高を減らす処理)を行うための決済スクリプトがある。
【0052】
ステップS300において、ブラウザは、書き込みスクリプトを読み込む。すなわち、ブラウザは、サービスサーバ30に対し、書き込みスクリプトの送信を要求する。携帯電話機10から書き込みスクリプトの送信の要求を受信すると、サービスサーバ30は、書き込みスクリプトを携帯電話機10に送信する(ステップS301)。ブラウザは、読み込んだ書き込みスクリプトを、スクリプト処理エンジンに渡す(ステップS302)。
【0053】
ステップS303において、スクリプト処理エンジンは、データ書き込み用APIを呼び出し、A社のサービスを特定する識別子、および書き込むべき対象データ(例えば、決済する金額やチャージする金額を示すデータ)をデータ書き込み用APIに引き渡す。データ書き込み用APIは、この識別子に対応する記憶領域に、対象データを書き込む要求を、ICカード500のICチップ502に送信する。この要求は、A社のサービスを特定する識別子および対象データを含んでいる。
【0054】
データの書き込み要求を受けると、ICチップ502のプロセッサ503は、その書き込み要求があらかじめ決められた制約条件を満たしているか判断する(ステップS304)。制約条件は、例えば、書き込み要求が「決済」や「ポイント使用」のようにサービスデータにより示される残高を減少させる処理の場合には、サービスデータから減算しようとする値(決済の額や使用するポイント)が、サービスデータの残高以下であるという条件である。あるいは、制約条件は、書き込み要求が「チャージ」のようにサービスデータにより示される残高を増加させる処理の場合には、処理後の残高があらかじめ決められた上限値以下であるという条件である。なお、書き込み要求の種類によっては、制約条件を満たしているかどうかの判定処理を行わなくてもよい。
【0055】
書き込み要求が制約条件を満たしていると判断された場合(S304:YES)、プロセッサ503は、処理をステップS305に移行する。書き込み要求が制約条件を満たしていないと判断された場合(S304:NO)、プロセッサ503は、その旨を示すエラーメッセージを、データ書き込み用APIを介してスクリプト処理エンジンに送信する。エラーメッセージを受信すると、スクリプト処理エンジンは、エラーが発生した旨をブラウザに通知し(ステップS312)、処理を終了する。
【0056】
ステップS305において、プロセッサ503は、リモート発行サーバ40に、データの書き込み要求を送信する。具体的には以下のとおりである。プロセッサ503は、サーバ通信用APIを呼び出す。サーバ通信用APIはクライアントソフトウェアを呼び出す。クライアントソフトウェアは、通信部108を介してリモート発行サーバ40と通信を行う。すなわち、クライアントソフトウェアは、リモート発行サーバ40にデータの書き込み要求を送信する。書き込み要求は、リモート発行サーバ40における認証に用いられる情報、例えばA社のサービスを特定する識別子および携帯電話機10の識別子を含む。
【0057】
携帯電話機10からデータの書き込み要求を受信すると、リモート発行サーバ40は、受信した書き込み要求の認証を行う(ステップS306)。認証には、後述する暗号化技術および電子署名技術が用いられる。あるいは、認証に、A社のサービスを特定する識別子および携帯電話機10の識別子などの情報が用いられてもよい。認証処理を行うと、リモート発行サーバ40は、認証の結果を携帯電話機10に送信する(ステップS307)。
【0058】
ICチップ502のプロセッサ503は(サーバ通信用APIおよびクライアントソフトウェアを介して)、リモート発行サーバ40から認証の結果を受信する。プロセッサ503は、認証結果に応じて、次に行う処理を決定する(ステップS308)。認証が成功した場合(ステップS308:YES)、プロセッサ503は、対象データを、メモリ504内のA社のサービスに対応する記憶領域に書き込む(ステップS309)。対象データを記憶領域に書き込むと、プロセッサ503は、書き込みが完了した旨の通知をスクリプト処理エンジンに送信する(ステップS310)。書き込みが完了した旨の通知を受信すると、スクリプト処理エンジンは、書き込みが完了した旨をブラウザに通知し(ステップS311)、書き込みスクリプトによる処理を終了する。
【0059】
認証が失敗した場合(ステップS308:NO)、プロセッサ503は、対象データをメモリ504に書き込まず、認証が失敗した旨の通知をスクリプト処理エンジンに送信する。認証が失敗した旨の通知を受信すると、スクリプト処理エンジンは、認証が失敗した旨をブラウザに通知し(ステップS313)、書き込みスクリプトによる処理を終了する。上記のステップS303、S311、S312およびS313の処理は、書き込みスクリプトに記述された命令に従ってスクリプト処理エンジンが行う処理である。
【0060】
2−1−4.削除スクリプト
削除スクリプトは、ICカード500のメモリ504内に設定されている記憶領域内のデータを削除し、その記憶領域に対応するサービスをICカード500から削除するためのスクリプトである。削除スクリプトは、電子マネーや電子チケットを「削除」する際に用いられる。
【0061】
図14は、削除スクリプトによる処理を示すシーケンス図である。ステップS400において、ブラウザは、削除スクリプトを読み込む。すなわち、ブラウザは、サービスサーバ30に対し、削除スクリプトの送信を要求する。携帯電話機10から削除スクリプトの送信の要求を受信すると、サービスサーバ30は、削除スクリプトを携帯電話機10に送信する(ステップS401)。ブラウザは、読み込んだ削除スクリプトを、スクリプト処理エンジンに渡す(ステップS402)。
【0062】
削除スクリプトを受け取ると、スクリプト処理エンジンは、スクリプトに記述された命令に従って処理を行う。ステップS403において、スクリプト処理エンジンは、リモート発行サーバ40に対し、削除要求を送信する。削除要求は、リモート発行サーバ40における処理に用いられる情報、例えばA社のサービスを特定する識別子およびユーザ情報を含む。
【0063】
リモート発行サーバ40は、削除要求を受信すると、削除処理に用いられる情報(以下「削除情報」という)を生成する(ステップS404)。削除情報は、例えば、削除すべきサービスおよびユーザを特定する識別子を含む。削除情報を生成すると、リモート発行サーバ40は、記憶していたユーザ情報を、HDD等の記憶手段から削除する。リモート発行サーバ40は、削除情報を携帯電話機10に送信する(ステップS405)。携帯電話機10のクライアントソフトウェアは、削除情報を受信し、受信した削除情報をスクリプト処理エンジンに引き渡す。
【0064】
ステップS406において、スクリプト処理エンジンは、削除情報を用いて削除処理を行う。すなわち、削除スクリプトを実行しているCPU102は、ICカード500のメモリ504に設定されているA社のサービス用の領域を削除する命令を、ICチップ502に送信する。ICチップ502のプロセッサ503は、CPU102からの命令を受けて、メモリ504に設定されているA社のサービス用の領域に記憶されているすべてのデータを消去(削除)する。
【0065】
削除処理が完了すると、スクリプト処理エンジンは、削除が完了した旨の通知をリモート発行サーバ40に送信する(ステップS407)。この通知は、削除されたサービスおよび携帯電話機10を特定する識別子を含んでいる。
【0066】
さらに、スクリプト処理エンジンは、削除されたサービスを特定する情報、この例ではユーザ情報、A社のサービスを特定する識別子および携帯電話機10を特定する識別子をサービスサーバ30に送信する(ステップS408)。サービスサーバ30は、携帯電話機10から受信した情報を用いて、HDD等の記憶手段に記憶されているデータを削除する(ステップS409)。情報の削除が完了すると、サービスサーバ30は、削除が完了した旨の通知を携帯電話機10に送信する(ステップS410)。この通知は、サービスが削除された旨を表示するためのHTMLデータを含んでいる。この通知を受信すると、スクリプト処理エンジンは、通知に含まれるHTMLデータをブラウザに引き渡し(ステップS411)、削除スクリプトによる処理を終了する。ブラウザは、取得したHTMLデータに従った情報を表示する。上記のステップS403、S406、S407、S408およびS411の処理は、削除スクリプトに記述された命令に従ってスクリプト処理エンジンが行う処理である。
【0067】
2−2.動作の具体例
以下、登録スクリプト、読み出しスクリプトまたは書き込みスクリプトを用いた通信システムの動作の具体例を説明する。ここでは、サービスの新規登録、外部リンクの利用、分割決済、および画面メモを用いた処理その1〜その3の6つの具体的な動作例を説明する。
【0068】
2−2−1.サービスの新規登録
図15は、携帯電話機10におけるサービスの新規登録時の動作を示すシーケンス図である。図16は、図15の動作に伴ってブラウザが表示する画面を例示する図である。以下、図15および図16を参照してサービスの新規登録の動作を説明する。
【0069】
ステップS501において、携帯電話機10のCPU102は、A社のサービスを登録するためのURLを取得する。この例で、URLは、ブラウザプログラムにより取得されたHTMLデータから取得される。あるいは、URLは、配信される電子メール中に含まれてもよい。あるいは、CPU102は、赤外線通信によりURLを取得してもよい。さらにあるいは、CPU102は、ICカード500の機能により、外部装置であるリーダ/ライタ510から送信されるデータをアンテナ501を介して受信することによりURLを取得してもよい。
【0070】
ステップS502において、ブラウザは、取得したURLで特定されるサービスサーバ30から、HTMLデータを取得する。
【0071】
図16(A)は、HTMLデータに応じて表示部107に表示される画面イメージを例示する図である。この例で、表示される画面は、「A社サービスの国」というタイトルの外、「今すぐ登録」、「ポイント確認」および「ユーザ情報」というリンク付きテキストを含んでいる。リンク付きテキストを選択する操作をユーザが行うと、ブラウザは、リンクにより示されるHTMLデータに応じた画面を表示する。例えば、「今すぐ登録」というリンク付きテキストが選択されると、ブラウザは、ICカード500にA社のサービスの登録に用いられる情報を入力するためのユーザ情報入力画面を表示する。
【0072】
図16(B)は、ユーザ情報入力画面を例示する図である。この例で、A社のサービスの登録には、名前、電話番号および生年月日の3つの情報が用いられる。ユーザ情報入力画面は、名前、電話番号および生年月日の入力に用いられるテキストボックスBX1、BX2およびBX3を含む。さらに、ユーザ情報入力画面は、「登録する」というボタンを含む。「登録する」というボタンには、A社のサービスを登録するための登録スクリプトのURLが関連付けられている。「登録する」というボタンを押す操作がユーザにより行われると、ブラウザはそのボタンにリンクされているURLにより特定されるサービスサーバ30内の記憶位置から、登録スクリプトのデータをダウンロードする(ステップS503)。
【0073】
ステップS504において、ブラウザは、ダウンロードした登録スクリプトを実行する。ブラウザはスクリプトを実行する機能を有しており、ブラウザが起動されている状態でさらにスクリプトを実行することが可能である。
【0074】
起動された登録スクリプトは、リモート発行サーバ40に対し、発券要求を送信する。リモート発行サーバ40は、発券情報を生成する。リモート発行サーバ40は、発券情報を携帯電話機10に送信する。発券情報を受信すると、登録スクリプトは、ICカード500のメモリ504内に新たな記憶領域を設定し、設定した記憶領域に初期データを書き込む(以下この処理を「発券」という)。これらの処理の詳細はすでに図11で説明したとおりである。
【0075】
発券処理が完了すると、登録スクリプトは、発券が完了した旨の通知をリモート発行サーバ40に送信する(ステップS505)。この通知は、発券されたサービスおよび携帯電話機10を特定する識別子を含んでいる。さらに、登録スクリプトは、サービスの登録に用いられる情報、この例ではユーザ情報、A社のサービスを特定する識別子および携帯電話機10を特定する識別子をサービスサーバ30に送信する(ステップS506)。サービスサーバ30は、携帯電話機10から受信した情報を記憶(登録)する(ステップS507)。情報の登録が完了すると、サービスサーバ30は、登録が完了した旨の通知を携帯電話機10に送信する(ステップS508)。この通知は、登録された情報を表示するためのHTMLデータを含んでいる。この通知を受信すると、登録スクリプトは、通知に含まれるHTMLデータをブラウザに引き渡し、動作を終了する。ステップS503−S508の処理が行われている間に表示される画面は、図16(C)に例示されている。
【0076】
ステップS509において、ブラウザは、通知に含まれていたHTMLデータに従って画面を表示する。図16(D)は、ステップS509において表示される画面を例示する図である。この画面は、「登録が完了しました!」という登録が完了した旨のテキストと、登録されたユーザ情報とを含んでいる。さらにこの画面は「トップへ」というリンク付きテキストを含んでいる。このテキストには、サイトのトップページのURLが対応付けられている。このリンク付きテキストを選択する操作をユーザが行うと、ブラウザはURLにより特定されるリソースからHTMLデータを取得し、取得したHTMLデータに従って画面を表示する。このHTMLデータは、A社のサービス(電子マネー)の残高を表示するための残高表示スクリプトを含んでいる。
【0077】
図16(E)は、取得されたHTMLデータに従って表示される画面を例示する図である。この例で、表示される画面は、「A社サービスの国」というタイトルの外、「お客様のポイント」というテキスト、「300pt」という電子マネー残高、および「対応店舗はこちら」というリンク付きテキストを含んでいる。このうち、「300pt」という電子マネー残高が、残高表示スクリプトにより表示されたものである。
【0078】
以上で説明したように、この通信システムによれば、サービスサイトの表示、ユーザ情報の入力、発券処理などの一連の処理が、ブラウザという単一のアプリケーションソフトウェア上で行われる。したがって、シームレスな環境で、ユーザにサービスの新規登録を提供することが可能である。
【0079】
2−2−2.外部リンクの利用
次に、携帯電話機10が、ICカード500のサービスの提供者でないC社の、外部リンクを利用したサイト(ショッピングサイト)にアクセスしたときの動作を説明する。C社のサイトは、ICカード500のサービス(電子マネー)の提供者であるA社およびB社が提供するスクリプトへのリンクを外部リンクとして含んでいる。
【0080】
図17AおよびBは、携帯電話機10がC社のショッピングサイトにアクセスした時の動作を示すシーケンス図である。図18は、図17Aおよび図17Bの動作に伴ってブラウザが表示する画面を例示する図である。以下、図17A、図17Bおよび図18を参照して外部リンクを利用したサービスの動作を説明する。
【0081】
ステップS601において、ブラウザは、C社のサービスサーバ60からHTMLデータを取得する。このHTMLデータは、A社の残高表示スクリプトのURL、およびB社の残高表示スクリプトのURLを含んでいる。A社およびB社の残高表示スクリプトは、外部リンクとして用いられている。ブラウザは所定の順番、例えばHTMLデータに記述された順番で、A社の残高表示スクリプトおよびB社の残高表示スクリプトを実行する。ここでは、A社の残高表示スクリプト、B社の残高表示スクリプトの順番でこれらのスクリプトが実行される例について説明する。
【0082】
図19は、外部リンクの具体例を例示する図である。この例で、残高表示スクリプトは、HTMLのobjectタグを用いて呼び出される。単一のページのHTMLに、A社の残高表示スクリプトおよびB社の残高表示スクリプトの2つのリンクが含まれている。以下、再び図17A、図17Bおよび図18を参照して説明する。
【0083】
ステップS602において、ブラウザは、URLにより特定されるリソース(A社のサービスサーバ30)から、A社の残高表示スクリプトをダウンロードする。
ステップS603において、ブラウザは、ダウンロードしたスクリプトを実行する。残高表示スクリプトによる処理は、既に説明したとおりである。
ステップS604において、ブラウザは、A社の残高表示スクリプトが取得したA社のサービスデータを表示する。
【0084】
ステップS605において、ブラウザは、URLにより特定されるリソース(B社のサービスサーバ50)から、B社の残高表示スクリプトをダウンロードする。
ステップS606において、ブラウザは、ダウンロードしたスクリプトを実行する。残高表示スクリプトによる処理は、既に説明したとおりである。
ステップS607において、ブラウザは、B社の残高表示スクリプトが取得したB社のサービスデータを表示する。
【0085】
図18(A)は、HTMLデータに従って表示される画面を例示する図である。この画面は、タイトルを示すテキスト「C社ショッピング」と、ポイントの情報を示すテキスト「C社ポイント:500pt」と、商品の内容(属性)を示すテキスト「G×T戦チケット 3枚」および「価格:4,500円」ならびに商品の画像と、A社の残高スクリプトにより取得されたA社の残高データを示すテキスト「A社マネー:¥3,000」と、B社の残高スクリプトにより取得されたB社の残高データを示すテキスト「B社マネー:¥11,800」と、リンク付きテキスト「A社マネーで決済」および「B社マネーで決済」とを含んでいる。テキスト「A社マネーで決済」および「B社マネーで決済」には、それぞれA社の決済スクリプトのURLおよびB社の決済スクリプトのURLが対応付けられている。
【0086】
ステップS608において、ブラウザは、ユーザの指示に応じて次の処理を決定する。ユーザがリンク付きテキスト「A社マネーで決済」を選択した場合(S608:A)、ブラウザは、処理をステップS609に移行する。ユーザがリンク付きテキスト「B社マネーで決済」を選択した場合(S608:B)、ブラウザは、処理をステップS612に移行する。
【0087】
ステップS609において、ブラウザは、テキスト「A社マネーで決済」に対応付けられたURLにより特定されるリソースから、A社の決済スクリプトをダウンロードする。
ステップS610において、ブラウザは、ダウンロードしたスクリプトを実行する。決済スクリプトの処理は既に図12で説明したとおりである。決済処理が完了すると、A社の決済スクリプトは、決済処理が完了した旨をブラウザに通知する。
決済スクリプトから決済処理が完了した旨の通知を受けると、ブラウザは、決済処理が完了した旨の通知をサービスサーバ60に送信する(ステップS611)。
【0088】
携帯電話機10のブラウザから決済処理が完了した旨の通知を受信すると、サービスサーバ60は、商品の購入処理を行う(ステップS615)。購入処理が完了すると、サービスサーバ60は、購入処理が完了した旨の通知をブラウザに送信する(ステップS616)。
図18(B)は、ステップS609−S616の処理が行われている間にブラウザが表示する画面を例示する図である。このように、ブラウザは、処理の進行状況を表示する。
【0089】
サービスサーバ60から購入処理が完了した旨の通知を受信すると、ブラウザは、その旨を表示する(ステップS617)。
図18(C)は、ステップS617においてブラウザが表示する画面を例示する図である。購入処理が完了すると、ブラウザは、購入処理が完了した旨のテキストを表示する。
【0090】
ステップS612において、ブラウザは、テキスト「B社マネーで決済」に対応付けられたURLにより特定されるリソースから、B社の決済スクリプトをダウンロードする。B社の決済スクリプトを取得すると、ブラウザは、処理をステップS613に移行する。
ステップS613において、ブラウザは、ダウンロードしたスクリプトを実行する。決済スクリプトの処理は既に図12で説明したとおりである。決済処理が完了すると、B社の決済スクリプトは、決済処理が完了した旨をブラウザに通知する。
決済スクリプトから決済処理が完了した旨の通知を受けると、ブラウザは、決済処理が完了した旨の通知をサービスサーバ60に送信する(ステップS614)。
【0091】
以上で説明したように、この通信システムによれば、ネットショッピングの際、利用可能な電子マネーの残高の表示、決済処理などの一連の処理が、ブラウザという単一のアプリケーションソフトウェア上で行われる。したがって、シームレスな環境で、ユーザにサービスを提供することが可能である。
【0092】
なお、ショッピングサイトに外部リンクとして含まれるスクリプトは、決済スクリプトに限定されない。電子マネーをチャージするチャージスクリプトなど、決済スクリプト以外のスクリプトが用いられてもよい。図18(D)は、チャージスクリプトの実行に用いられる情報を入力するための画面を例示する図である。この画面は、タイトルを示すテキスト「A社マネー」と、残高スクリプトにより取得された残高データを示すテキスト「残高:3,000円」と、「チャージ金額」というテキストと対応して配置された、チャージ金額を入力するテキストボックスBX4(この例では「30,000円」という値が入力されている)と、「チャージ方法」というテキストと対応して配置された、チャージ方法を入力するプルダウンメニューBX5(この例では「クレジットカード」が選択されている)と、前の画面のURLとリンクされたボタン「戻る」と、A社のチャージスクリプトのURLとリンクされたボタン「決定」とを含んでいる。
【0093】
ユーザがリンク付きボタン「決定」を選択する操作を行うと、ブラウザは、ボタン「決定」にリンクされたURLにより特定されるリソース(この例ではサービスサーバ30)からチャージスクリプトをダウンロードする。ブラウザは、ダウンロードしたスクリプトを実行する。チャージスクリプトの処理は既に図12で説明したとおりである。チャージ処理が完了すると、A社のチャージスクリプトは、チャージ処理が完了した旨をブラウザに通知する。チャージ処理が完了した旨を通知されると、ブラウザは、チャージ処理が終了した旨を示す画面を表示する。
【0094】
図18(E)は、チャージ処理が実行されているときにブラウザが表示する画面を例示する図である。図18(F)は、チャージ処理が完了した後でブラウザが表示する画面を例示する図である。この画面は、ユーザへのメッセージを示すテキスト「チャージが完了しました!」と、「A社マネー残高」というテキストと対応して配置された、残高表示スクリプトにより取得された残高データを示すテキスト「33,000円」と、図18(A)の画面のURLとリンクされたテキスト「商品画面に戻る」とを含んでいる。ユーザがリンク付きテキスト「商品画面に戻る」を選択する操作を行うと、ブラウザは、処理をステップS601に移行する。
【0095】
2−2−3.分割決済
次に、携帯電話機10が、分割決済、すなわち、A社マネーおよびB社マネーの2つのサービスを用いて1つの商品の決済を行う例を説明する。この例は、2−2−2節で既に説明した「外部リンクの利用」の動作と共通する事項が多いので、「外部リンクの利用」の動作と共通する部分については説明を省略する。
【0096】
図20Aおよび図20Bは、携帯電話機10が分割決済を行う時の動作を示すシーケンス図である。図21は、図20Aおよび図20Bの動作に伴ってブラウザが表示する画面を例示する図である。以下、図20A、図20Bおよび図21を参照して分割決済の動作を説明する。
【0097】
ステップS701において、ブラウザは、サービスサーバ60からHTMLデータを取得する。このHTMLデータは、A社の残高表示スクリプトのURL、およびB社の残高表示スクリプトのURLを外部リンクとして含んでいる。以下、図17AのステップS502−S507と同様の処理が行われる。
【0098】
図21(A)は、HTMLデータに従って表示される画面を例示する図である。この画面は、図18(A)で説明した要素に加えて、分割決済に用いられる情報を入力するためのHTMLデータ(以下、「分割決済用HTMLデータ」という)のURLとリンクされたボタン「分割決済」を含んでいる。ユーザがボタン「分割決済」を押す操作を行った場合(S702:YES)、ブラウザは、処理をステップS703に移行する。それ以外の操作が行われた場合(S702:NO)、ブラウザは、図17と同様の処理を行う。
【0099】
ステップS703において、ブラウザは、分割決済用HTMLデータをサービスサーバ60からダウンロードする。ブラウザは、ダウンロードしたHTMLデータに従って画面を表示する(ステップS704)。
【0100】
図21(B)は、ステップS704においてブラウザが表示する画面を例示する図である。この画面はA社の残高表示スクリプトにより取得された残高データを示すテキスト「A社マネー残高:3,000円」と、B社の残高表示スクリプトにより取得された残高データを示すテキスト「B社マネー残高:11,800円」と、A社マネーから決済する金額を入力するテキストボックスBX6と、B社マネーから決済する金額を入力するテキストボックスBX7と、分割決済処理を開始させるイベントが割り当てられたボタン「実行」とを含んでいる。
【0101】
ユーザはキーパッド4を操作し、テキストボックスBX6およびBX7にA社マネーから決済する金額およびB社マネーから決済する金額を入力する。図21(B)の例では、A社マネーから決済する金額として「3,000円」が、B社マネーから決済する金額として「1,500円」が入力されている。この状態でボタン「実行」を押す操作をユーザが行った場合、ブラウザは、処理をステップS705に移行する。
【0102】
ステップS705において、ブラウザは、テキストボックスに入力されたパラメータ(A社マネーから決済する金額およびB社マネーから決済する金額。以下、「分割決済額」という)が、あらかじめ決められた制約条件を満たしているか判断する。この制約条件は、残高に関するものであり、例えば、A社マネーから決済する金額およびB社マネーから決済する金額がそれぞれA社マネーの残高およびB社マネーの残高以下であるというものである。制約条件が満たされていると判断された場合(S705:YES)、ブラウザは、処理をステップS707に移行する。制約条件が満たされていないと判断された場合(S705:NO)、ブラウザは、サービスサーバ60にエラーメッセージを送信する。エラーメッセージを受信すると、サービスサーバ60は、エラー処理を行う(ステップS706)。
【0103】
ステップS707において、ブラウザは、分割決済額のデータを、サービスサーバ60に送信する。携帯電話機10から分割決済額のデータを受信すると、サービスサーバ60は、分割決済額のデータがあらかじめ決められた制約条件を満たしているか判断する(ステップS708)。この制約条件は、分割決済額の合計に関するものであり、例えば、A社マネーから決済する金額とB社マネーから決済する金額の和が購入しようとする商品の金額と等しいというものである。制約条件が満たされていると判断された場合(S708:YES)、サービスサーバ60は、A社マネーの決済を指示するHTMLデータを、携帯電話機10に送信する(ステップS709)。制約条件が満たされていないと判断された場合(S708:NO)、サービスサーバ60は、エラー処理を行う(ステップS710)。
【0104】
A社マネーの決済を指示するHTMLデータを受信すると、ブラウザは、A社の決済スクリプトを取得する(ステップS711)。ブラウザは、A社の決済スクリプトを実行する(ステップS712)。決済スクリプトによる処理の詳細は既に説明したとおりである。A社マネーの決済が完了すると、ブラウザは、A社マネーの決済が完了したことをサービスサーバ60に通知する(ステップS713)。A社マネーの決済が完了した通知を受信すると、サービスサーバ60は、B社マネーの決済を指示するHTMLデータを、携帯電話機10に送信する(ステップS714)。
【0105】
B社マネーの決済を指示するHTMLデータを受信すると、ブラウザは、B社の決済スクリプトを取得する(ステップS715)。ブラウザは、B社の決済スクリプトを実行する(ステップS716)。決済スクリプトによる処理の詳細は既に説明したとおりである。B社マネーの決済が完了すると、ブラウザは、B社マネーの決済が完了したことをサービスサーバ60に通知する(ステップS717)。ステップS712およびS716の処理により、A社マネーから3,000円、B社マネーから1,500円の合計4,500円が決済される。
【0106】
B社マネーの決済が完了した旨の通知を受信すると、サービスサーバ60は、商品の購入処理を行う(ステップS718)。購入処理が完了すると、サービスサーバ60は、購入処理が完了した旨の通知をブラウザに送信する(ステップS719)。サービスサーバ60から購入処理が完了した旨の通知を受信すると、ブラウザは、その旨を表示する(ステップS720)。
【0107】
以上で説明したように、この通信システムによれば、ネットショッピングの際、利用可能な電子マネーの残高の表示、決済処理などの一連の処理が、ブラウザという単一のアプリケーションソフトウェア上で行われる。さらに、電子マネーの残高が不足している場合でも、複数の電子マネーで分割決済をすることにより、シームレスな環境で、ユーザにサービスを提供することが可能である。
【0108】
2−2−4.画面メモを用いた処理 その1
ここでは、ブラウザが、画面メモにより保存したHTMLデータを用いてスクリプトを実行する例を説明する。「画面メモ」とは、ブラウザが表示している画面のHTMLデータを不揮発性メモリ等の記憶手段に記憶すること、またはこのように記憶されたデータをいう。
【0109】
例えば、ブラウザが図18(A)の画面を表示しているときに、この画面を画面メモとして保存することを指示する操作をユーザが行った場合、ブラウザは、この画面のHTMLデータを、この画面を特定する識別子とともに不揮発性メモリに記憶する。このとき、ブラウザは、この画面のHTMLデータに加え、このHTMLデータにリンクが含まれるスクリプト(図18(A)の例では、A社の残高表示スクリプトおよびB社の残高表示スクリプト)も不揮発性メモリに記憶する。スクリプトは、リンクを示す識別子とともに不揮発性メモリに記憶される。画面メモは、ブラウザが終了した後も不揮発性メモリに記憶されている。
【0110】
図22は、画面メモのリスト画面を例示する図である。この例では識別子「G×T戦 3枚」および「11月28日のニュース」にそれぞれ対応する画面が画面メモとして記憶されている。識別子「G×T戦 3枚」には、図18(A)の画面のHTMLデータおよびこのHTMLデータに含まれるスクリプトが対応している。表示させる画面をこのリストの中から選択する操作をユーザが行うと、OSは、選択された画面を表示させるためにブラウザを起動する。
【0111】
識別子「G×T戦 3枚」が選択された場合、ブラウザは、図18(A)に示される画面を表示する。以下、図17のフローに従って処理が行われる。ただし、この場合、ブラウザは、リンクにより示されるリソースからスクリプトを取得する前に、不揮発性メモリにスクリプトが記憶されているか検索する。リンクに対応するスクリプトが不揮発性メモリに記憶されている場合、ブラウザは、不揮発性メモリからスクリプトを読み出す。リンクに対応するスクリプトが不揮発性メモリに記憶されていない場合、ブラウザは、リンクにより示されるリソースからスクリプトを取得する。この例によれば、画面メモとして記憶されたHTMLデータが読み出されたとき、改めてスクリプトが実行される。すなわち、画面メモを記憶した時点ではなく、画面メモとして記憶されたHTMLデータが読み出された時点のICカード500のデータが読み出される。
【0112】
2−2−5.画面メモを用いた処理 その2
ここでは、画面メモを用いた処理の別の例を説明する。この例では、画面メモの対象となるHTMLデータがスクリプトを含む場合、ブラウザは、スクリプトそれ自体ではなく、スクリプトを実行した結果を、HTMLデータとともに不揮発性メモリに記憶する。図18(A)の画面が画面メモとして保存された場合、A社の残高表示スクリプトおよびB社の残高表示スクリプトそれ自体ではなく、A社の残高表示スクリプトを実行した結果(「3,000円」という残高)およびB社の残高表示スクリプトを実行した結果(「11,800円」という残高)が記憶される。すなわち、2−2−4節で説明した処理によれば、画面メモとして記憶された画面を「表示させた時点」でのICカード500のサービスデータに応じた内容(すなわち現在のデータ)が表示されるのに対し、この例によれば、画面を画面メモとして「記憶させた時点」でのICカード500のサービスデータに応じた内容(すなわち過去のデータ)が表示される。すなわち、この例によれば、画面メモを記憶させた時点の実行結果が表示され、ICカード500へのアクセスは行われない。ICカード500へのアクセスが行われないので、これに関連する通信が行われない。すなわち、オフラインの状態でも結果が表示される。
【0113】
2−2−6.画面メモを用いた処理 その3
ここでは、画面メモを用いた処理のさらに別の例を説明する。この例では、携帯電話機10は、画面メモのデータを他の携帯電話機10に送信する。具体的には以下のとおりである。
【0114】
表示している画面を画面メモとして保存することが指示されると、ブラウザは、その画面のHTMLデータを不揮発性メモリに記憶する。このとき、ブラウザは、画面メモのデータを電子メールに添付可能な書式で記憶する。
【0115】
その後、メーラから、ファイルまたはフォルダの一覧を表示する要求があると、OSは、画面メモのデータまたは画面メモのデータに対応するフォルダを示す情報を、一覧に含めてメーラに提供する。ユーザがこの一覧の中から画面メモのデータを選択する操作を行うと、メーラは、選択された画面メモのデータを添付データとして他の携帯電話機10に電子メールを送信する。
【0116】
画面メモのデータが添付された電子メールを受信した他の携帯電話機10は、携帯電話機10から受信した画面メモのデータを用いて、2−2−4節または2−2−5節で説明した処理を行う。
【0117】
なお、画面メモを他の携帯電話機10に送信する方法は電子メールを用いるものに限定されない。赤外線通信、リーダ/ライタ510を介した通信、BlueTooth(登録商標)等の短距離無線通信、またはメモリカード等の外部記憶媒体を用いて、画面メモのデータを他の携帯電話機10に送ってもよい。
【0118】
3.セキュリティ
次に、以上で説明したサービスのセキュリティについて説明する。これまで詳しい説明は省略したが、スクリプトによるICカード500へのアクセスにおいては、暗号化技術が用いられる。
【0119】
図23は、通信システムにおいて用いられる暗号化技術の概要を示す図である。認証局CAは、所定の事業者(例えば携帯電話機10の回線事業者)により管理および運営される認証局である。認証局CAは、認証局の秘密鍵KprCAおよび公開鍵KpubCAを発行する。さらに、認証局CAは、携帯電話機10に対して電子証明書Sを発行する。電子証明書Sは、認証局CAの電子署名および公開鍵KpubCAを含んでいる。携帯電話機10は、電子証明書Cを記憶している。
【0120】
認証局CAは、サービス提供事業者に対して、秘密鍵KprCPおよび公開鍵KpubCPを発行する。図23では、サービスサーバ30を運営するA社がサービス提供事業者として例示されている。鍵の発行を受けているサービス提供事業者は、認証局CAに対し、ICカードサービスの利用申請をする。この利用申請は、公開鍵KpubCPを含む。認証局CAは、利用申請を受けて、電子証明書SCPおよびサービス提供事業者のIDを示すIDデータを発行する。電子証明書SCPは、認証局CAの電子署名および公開鍵KpubCPを含んでいる。認証局CAの電子署名は、ハッシュ関数による公開鍵KpubCPのメッセージダイジェストを秘密鍵KprCAで暗号化したものである。サービスサーバ30は、秘密鍵KprCP、公開鍵公開鍵KpubCP、電子証明書SCPおよびIDデータを記憶する。
【0121】
サービスサーバ30が携帯電話機10に送信するスクリプトは、実行コード(スクリプト本体)と、電子証明書SCPと、IDデータとがパッケージされたものである。スクリプトを受信すると、携帯電話機10は、パッケージから電子証明書SCPを抽出する。携帯電話機10は、抽出した電子証明書SCPに含まれる電子署名を、電子証明書Cに含まれる公開鍵KpubCAで復号化し、メッセージダイジェストを取得する。さらに、携帯電話機10は、電子証明書Cに含まれる公開鍵KpubCAにハッシュ関数を適用し、メッセージダイジェストを生成する。携帯電話機10は、生成したメッセージダイジェストと、復号化により取得したメッセージダイジェストとを比較する。両者が一致した場合、携帯電話機10は、スクリプトが正当なものであると判断し、実行コードを実行する。両者が一致しなかった場合、携帯電話機10は、スクリプトが不正なものであると判断し、実行コードを実行しない。携帯電話機10においてこれらの処理は、ソフトウェアにより行われる。
【0122】
以上はサービスサーバ30から受信したスクリプトの正当性を確認する技術であるが、ICカード500とリモート発行サーバ40との間においても、同様に暗号化技術を用いた通信が行われる。ICカード500は、暗号化通信のためのソフトウェアを記憶しており、これを用いてリモート発行サーバ40と暗号化通信を行う。なお、上記で説明した暗号化通信の具体的処理はあくまで一例であり、通信相手の正当性を確認できるものであれば、これ以外の暗号化技術が用いられてもよい。
【0123】
4.他の実施形態
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち2つ以上のものが組み合わせて用いられてもよい。
【0124】
4−1.変形例1
実施形態において、ICカード500にアクセスするためのスクリプトは、登録スクリプト、残高表示スクリプト、決済スクリプト、チャージスクリプトなど、その機能に応じて複数用意されていた。しかし、サービス提供事業者が用意するスクリプトは、1つであってもよい。この場合、単一のスクリプトが、残高を表示するためのメソッド(以下「残高表示メソッド」という)、決済をするためのメソッド(以下「決済メソッド」という)、チャージをするためのメソッド(以下「チャージメソッド」という)など、複数のメソッドを有している。HTMLデータは、スクリプトのURLに加え、実行するメソッドを指定する情報を含む。ブラウザは、スクリプトのうち、HTMLデータにより指定されるメソッドを実行する。
【0125】
すなわち、スクリプトは、ICカード500の複数の記憶領域のうち一の記憶領域からデータを読み出す処理を実行するための第1のメソッドと、一の記憶領域にデータを書き込む処理を実行するための第2のメソッドとを含む複数のメソッドを有していてもよい。
【0126】
4−2.変形例2
実施形態で説明したように、複数のスクリプトが用いられる場合において、複数のスクリプトは、処理に応じて分けられるのではなく、処理の内容により求められるセキュリティレベルに応じて分けられてもよい。例えば、決済やチャージのようにデータの書き込みを行う処理は、残高表示のような単なるデータの読み出し処理と比較するとより高いセキュリティレベルが要求される。したがって、サービス事業者は、残高表示メソッドを含む第1のスクリプトと、決済メソッドおよびチャージメソッドを含む第2のスクリプトを用意してもよい。この場合、第2のスクリプトは、より強度が高い暗号鍵を用いたり、あるいはより複雑な認証アルゴリズムを用いたりする等の手法により、第1のスクリプトとセキュリティレベルが異なっている。
【0127】
4−3.変形例3
実施形態においては、サービスを提供するためのプログラムおよびデータは、ブラウザおよびHTMLデータに限定されない。特定の書式で記述された特定データと、ネットワークから特定の書式で記述された特定データを通信手段を介して受信し、受信した特定データに応じた情報を表示手段に表示させるためのプログラムであれば、どのようなプログラムおよびデータが用いられてもよい。
【0128】
4−4.変形例4
図11−14において、各スクリプトの動作を、スクリプト自体の機能と、スクリプトから呼び出されるAPIやデバイスドライバの機能とに分けて説明したが、機能の分配は実施形態で説明したものに限定されない。例えば、実施形態でAPIの機能として説明された機能を実現するための命令群が、スクリプト本体に記述されていてもよい。すなわち、スクリプト本体がその機能を有していてもよい。あるいは、実施形態でスクリプトの機能として説明された機能を実現するための命令群が、スクリプト本体以外のAPI、モジュール、他のスクリプト、関数等に記述されていてもよい。要は、スクリプト本体に直接または間接的に記述されている命令群により、図11−14の処理が実現されるのであれば、ソフトウェア間の役割分担はどのようなものでもよい。
【0129】
4−5.変形例5
上述の「画面メモを用いた処理 その1」の例では、HTMLデータとともにスクリプトが記憶手段に記憶された。しかし、スクリプトは記憶手段に記憶されなくてもよい。この場合、ブラウザが画面メモとして記憶されているHTMLデータを読み出す。スクリプトは、読み出したHTMLデータに含まれる所在情報に基づいて取得される。すなわち、画面メモを読み出したタイミングでスクリプトが取得され、実行される。
【0130】
4−6.変形例6
HTMLデータを表示する機能とスクリプトを実行する機能の分担は、実施形態に記載されたものに限定されない。実施形態においては、スクリプトを実行するためのスクリプト処理エンジンはブラウザの機能の一部であったが、スクリプト処理エンジンはブラウザとは別のプログラムであってもよい。要は、ブラウザからスクリプト処理エンジンを呼び出せる構成になっていればよい。
【0131】
4−7.変形例7
スクリプトを記述するプログラミング言語はJavaスクリプトに限定されない。C++など、他のオブジェクト指向プログラミング言語や、Flashなどブラウザ上のコンテンツが用いられてもよい。あるいは、非オブジェクト指向プログラミング言語が用いられてもよい。
【0132】
4−8.変形例8
スクリプトの所在を示す所在情報は、URLに限定されない。スクリプトの所在を特定できるのであれば、どのような情報が用いられてもよい。
【0133】
4−9.変形例9
本稿でいう「ICカード」は、必ずしもカード型の形状を有していなくてもよい。「カード」とはICカード500の機能を象徴する語であって、形状を特定するものではない。ICカードは、アンテナと、個別にアクセス制限を設定可能な複数の記憶領域を有するメモリと、アンテナからの信号または第1の制御手段(実施形態ではCPU102)からの信号に応じてメモリにアクセスする第2の制御手段(実施形態ではプロセッサ503)とを有するものであれば、その形状はどのようなものであってもよい。また、ICカード500のメモリ504の記憶領域の構成は、図5に示したものに限定されない。メモリ504は、自由領域を有していなくてもよい。あるいは、メモリ504は、自由領域に加えてさらに別の第3の領域を有していてもよい。
【0134】
4−10.変形例10
上述の実施形態においてCPU102によって実行されるプログラムは、磁気記録媒体(磁気テープ、磁気ディスク(HDD(Hard Disk Drive)、FD(Flexible Disk))など)、光記録媒体(光ディスク(CD(Compact Disk)、DVD(Digital Versatile Disk))など)、光磁気記録媒体、半導体メモリ(フラッシュROMなど)などのコンピュータ読取り可能な記録媒体に記憶した状態で提供されてもよい。また、このプログラムは、インターネットのようなネットワーク経由でダウンロードされてもよい。
【符号の説明】
【0135】
3…ヒンジ、4…キーパッド、5…マイクロホン、6…スピーカ、7…アンテナ、8…表示装置、10…携帯電話機、20…管理サーバ、30…サービスサーバ、40…リモート発行サーバ、50…サービスサーバ、60…サービスサーバ、70…ネットワーク、102…CPU、103…ROM、104…RAM、105…記憶部、106…操作部、107…表示部、108…通信部、109…バス、111…OS、121…クライアントソフトウェア、122…デバイスドライバ、130…ブラウザ、131…スクリプト処理エンジン、500…ICカード、501…アンテナ、502…ICチップ、503…プロセッサ、504…メモリ、505…信号線、510…リーダ/ライタ

【特許請求の範囲】
【請求項1】
ネットワークを介して通信する通信手段と、
情報を表示する表示手段と、
前記ネットワークから特定の書式で記述された特定データを前記通信手段を介して受信し、受信した特定データに応じた情報を前記表示手段に表示させるための第1のプログラムを実行する第1の制御手段と、
アンテナと、個別にアクセス制限を設定可能な複数の記憶領域を有するメモリと、前記アンテナからの信号または前記第1の制御手段からの信号に応じて前記メモリにアクセスする第2の制御手段とを有するICカードと
を有し、
前記第1のプログラムを実行している前記第1の制御手段が、前記複数の記憶領域のうち一の記憶領域にアクセスする処理を実行するためのスクリプトの所在を示す所在情報を含む特定データを、前記ネットワーク上の第1のサーバから前記通信手段を介して受信し、
前記第1のプログラムを実行している前記第1の制御手段が、前記受信したデータに含まれる所在情報に基づいて、前記ネットワークから前記通信手段を介して前記スクリプトを取得し、
前記第1のプログラムを実行している前記第1の制御手段が、前記取得したスクリプトを実行することにより、前記第2の制御手段を前記一の記憶領域にアクセスさせ、前記一の記憶領域にアクセスした結果に応じた情報を取得し、
前記第1のプログラムを実行している前記第1の制御手段が、前記結果に応じた情報を、前記表示手段に表示させる
ことを特徴とする携帯端末。
【請求項2】
前記特定データが、前記一の記憶領域にアクセスする処理を実行するための第1のスクリプトおよび前記一の記憶領域と異なる別の記憶領域にアクセスする処理を実行するための第2のスクリプトの所在を示す所在情報を含み、
前記第1のプログラムを実行している前記第1の制御手段が、前記第1のスクリプトおよび前記第2のスクリプトを順次実行することにより、前記第2の制御手段を前記一の記憶領域および前記別の記憶領域にアクセスさせ、前記前記一の記憶領域にアクセスした結果に応じた第1の情報および前記別の記憶領域にアクセスした結果に応じた第2の情報を取得し、
前記第1のプログラムを実行している前記第1の制御手段が、前記第1の情報および前記第2の情報を、前記表示手段に表示させる
ことを特徴とする請求項1に記載の携帯端末。
【請求項3】
前記ネットワークは、前記メモリの記憶内容の書き換えの許可をする第2のサーバを有し、
前記スクリプトは、前記メモリの記憶内容を書き換える処理を実行するためのスクリプトであり、
前記スクリプトを実行している前記第1の制御手段は、前記第2のサーバに前記許可の要求を、前記通信手段を介して送信し、
前記スクリプトを実行している前記第1の制御手段は、前記要求に対する応答を前記第2のサーバから前記通信手段を介して受信し、
前記第2の制御手段は、前記応答が前記メモリの記憶内容の書き換えを許可するものであった場合、前記メモリにアクセスし、前記メモリの記憶内容を書き換える
ことを特徴とする請求項1または2に記載の携帯端末。
【請求項4】
前記特定データおよび前記スクリプトを記憶する記憶手段を有し、
前記第1のプログラムは、前記記憶手段から前記特定データを読み出し、読み出した特定データに応じた情報を前記表示手段に表示させる処理を前記第1の制御手段に実行させるための命令群を含み、
前記第1のプログラムを実行している前記第1の制御手段が、前記記憶手段から前記スクリプトを読み出したスクリプトを実行することにより、前記第2の制御手段を前記一の記憶領域にアクセスさせ、前記一の記憶領域にアクセスした結果に応じた情報を取得する
ことを特徴とする請求項1−3のいずれかの項に記載の携帯端末。
【請求項5】
前記メモリにアクセスした結果に応じた情報を記憶する記憶手段を有し、
前記第1のプログラムは、前記記憶手段から前記情報を読み出し、読み出した情報を前記表示手段に表示させる処理を前記第1の制御手段に実行させるための命令群を含む
ことを特徴とする請求項1−3のいずれかの項に記載の携帯端末。
【請求項6】
前記特定データを記憶する記憶手段を有し、
前記第1のプログラムは、前記記憶手段から前記特定データを読み出し、読み出した特定データに応じた情報を前記表示手段に表示させる処理を前記第1の制御手段に実行させるための命令群を含み、
前記第1のプログラムを実行している前記第1の制御手段が、前記読み出したデータに含まれる所在情報に基づいて、前記ネットワークから前記通信手段を介して前記スクリプトを取得する
ことを特徴とする請求項1−3のいずれかの項に記載の携帯端末。
【請求項7】
前記記憶手段は、前記記憶手段に記憶された特定データが添付された電子メールを、前記通信手段を介して送信する処理を前記第1の制御手段に実行させるための第2のプログラムを記憶し、
前記第1の制御手段は、前記第2のプログラムを実行することにより、前記電子メールを他の携帯端末に送信する
ことを特徴とする請求項4−6のいずれかの項に記載の携帯端末。
【請求項8】
前記ネットワークは、前記メモリの記憶内容の書き換えの許可をする第2のサーバを有し、
前記特定データが、前記複数の記憶領域のうち一の記憶領域の記憶内容を書き換える処理を実行するための第1のスクリプトおよび前記一の記憶領域と異なる別の記憶領域の記憶内容を書き換える処理を実行するための第2のスクリプトの所在を示す所在情報と、前記一の記憶領域および前記別の記憶領域の記憶内容を書き換える特定処理の実行の開始をユーザに指示させるための指示情報とを含み、
前記指示情報に応じて前記特定処理の実行の開始が指示されると、前記スクリプトを実行している前記第1の制御手段は、前記一の記憶領域について前記許可を求める第1の要求および前記別の記憶領域について前記許可を求める第2の要求を、前記通信手段を介して前記第2のサーバに送信し、
前記スクリプトを実行している前記第1の制御手段は、前記第1の要求および前記第2の要求に対する応答を前記第2のサーバから前記通信手段を介して受信し、
前記第2の制御手段は、前記第1の要求および前記第2の要求が前記一の記憶領域および前記別の記憶領域の記憶内容の書き換えを許可するものであった場合、前記メモリにアクセスし、前記一の記憶領域および前記別の記憶領域の記憶内容を書き換え、
前記前記一の記憶領域および前記別の記憶領域の記憶内容が書き換えられると、前記第1のプログラムを実行している前記第1の制御手段は、前記記憶内容の書き換えが完了したことを示す情報を前記第1のサーバに送信する
ことを特徴とする請求項1に記載の携帯端末。
【請求項9】
前記スクリプトが、オブジェクト指向プログラミング言語で記述され、前記一の記憶領域からデータを読み出す処理を実行するための第1のメソッドと、前記一の記憶領域にデータを書き込む処理を実行するための第2のメソッドとを含み、
前記特定データが、実行するメソッドを指定する情報を含み、
前記第1のプログラムを実行している前記第1の制御手段は、前記スクリプトのうち、前記特定データに含まれる情報により指定されるメソッドを実行する
ことを特徴とする請求項1−8のいずれかの項に記載の携帯端末。
【請求項10】
サーバと
ネットワークを介して前記サーバと接続された携帯端末と
を有し、
前記携帯端末は、
前記ネットワークを介して通信する通信手段と、
情報を表示する表示手段と、
前記ネットワークから特定の書式で記述された特定データを前記通信手段を介して受信し、受信した特定データに応じた情報を前記表示手段に表示させるための第1のプログラムを実行する第1の制御手段と、
アンテナと、個別にアクセス制限を設定可能な複数の記憶領域を有するメモリと、前記アンテナからの信号または前記第1の制御手段からの信号に応じて前記メモリにアクセスする第2の制御手段とを有するICカードと
を有し、
前記第1のプログラムを実行している前記第1の制御手段が、前記複数の記憶領域のうち一の記憶領域にアクセスする処理を実行するためのスクリプトの所在を示す所在情報を含む特定データを、前記サーバから前記通信手段を介して受信し、
前記第1のプログラムを実行している前記第1の制御手段が、前記受信したデータに含まれる所在情報に基づいて、前記ネットワークから前記通信手段を介して前記スクリプトを取得し、
前記第1のプログラムを実行している前記第1の制御手段が、前記取得したスクリプトを実行することにより、前記第2の制御手段を前記一の記憶領域にアクセスさせ、前記一の記憶領域にアクセスした結果に応じた情報を取得し、
前記第1のプログラムを実行している前記第1の制御手段が、前記結果に応じた情報を、前記表示手段に表示させる
ことを特徴とする通信システム。
【請求項11】
ネットワークを介して通信する通信手段と、
情報を表示する表示手段と、
前記ネットワークから特定の書式で記述された特定データを前記通信手段を介して受信し、受信した特定データに応じた情報を前記表示手段に表示させるための特定プログラムを実行する第1の制御手段と、
アンテナと、個別にアクセス制限を設定可能な複数の記憶領域を有するメモリと、前記アンテナからの信号または前記第1の制御手段からの信号に応じて前記メモリにアクセスする第2の制御手段とを有するICカードと
を有するコンピュータ装置において、
前記特定プログラムを実行している前記第1の制御手段が、前記複数の記憶領域のうち一の記憶領域にアクセスする処理を実行するためのスクリプトの所在を示す所在情報を含む特定データを、前記ネットワーク上の第1のサーバから前記通信手段を介して受信するステップと、
前記特定プログラムを実行している前記第1の制御手段が、前記受信したデータに含まれる所在情報に基づいて、前記ネットワークから前記通信手段を介して前記スクリプトを取得するステップと、
前記特定プログラムを実行している前記第1の制御手段が、前記取得したスクリプトを実行することにより、前記第2の制御手段を前記一の記憶領域にアクセスさせ、前記一の記憶領域にアクセスした結果に応じた情報を取得するステップと、
前記特定プログラムを実行している前記第1の制御手段が、前記結果に応じた情報を、前記表示手段に表示させるステップと
を有するICカード制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17A】
image rotate

【図17B】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20A】
image rotate

【図20B】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate


【公開番号】特開2010−193201(P2010−193201A)
【公開日】平成22年9月2日(2010.9.2)
【国際特許分類】
【出願番号】特願2009−35775(P2009−35775)
【出願日】平成21年2月18日(2009.2.18)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.FLASH
【出願人】(392026693)株式会社エヌ・ティ・ティ・ドコモ (5,876)
【Fターム(参考)】