(57)【要約】【課題】ネットワークを介した通信を行うためのソフトウェアを実行したままでＩＣカードへのデータの読み書きを行うこと。【解決手段】第１のプログラムが、ＩＣカードの複数の記憶領域のうち一の記憶領域にアクセスする処理を実行するためのスクリプトの所在を示す所在情報を含む特定データを、ネットワーク上の第１のサーバから通信手段を介して受信する。第１のプログラムが、受信したデータに含まれる所在情報に基づいて、ネットワークから通信手段を介してスクリプトを取得する。第１のプログラムが、取得したスクリプトを実行することにより、第２の制御手段を一の記憶領域にアクセスさせ、一の記憶領域にアクセスした結果に応じた情報を取得する。第１のプログラムが、結果に応じた情報を、表示手段に表示させる。【選択図】図１１
2010193201.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して通信する通信手段と、
情報を表示する表示手段と、
前記ネットワークから特定の書式で記述された特定データを前記通信手段を介して受信し、受信した特定データに応じた情報を前記表示手段に表示させるための第１のプログラムを実行する第１の制御手段と、
アンテナと、個別にアクセス制限を設定可能な複数の記憶領域を有するメモリと、前記アンテナからの信号または前記第１の制御手段からの信号に応じて前記メモリにアクセスする第２の制御手段とを有するＩＣカードと
を有し、
前記第１のプログラムを実行している前記第１の制御手段が、前記複数の記憶領域のうち一の記憶領域にアクセスする処理を実行するためのスクリプトの所在を示す所在情報を含む特定データを、前記ネットワーク上の第１のサーバから前記通信手段を介して受信し、
前記第１のプログラムを実行している前記第１の制御手段が、前記受信したデータに含まれる所在情報に基づいて、前記ネットワークから前記通信手段を介して前記スクリプトを取得し、
前記第１のプログラムを実行している前記第１の制御手段が、前記取得したスクリプトを実行することにより、前記第２の制御手段を前記一の記憶領域にアクセスさせ、前記一の記憶領域にアクセスした結果に応じた情報を取得し、
前記第１のプログラムを実行している前記第１の制御手段が、前記結果に応じた情報を、前記表示手段に表示させる
ことを特徴とする携帯端末。
【請求項２】
前記特定データが、前記一の記憶領域にアクセスする処理を実行するための第１のスクリプトおよび前記一の記憶領域と異なる別の記憶領域にアクセスする処理を実行するための第２のスクリプトの所在を示す所在情報を含み、
前記第１のプログラムを実行している前記第１の制御手段が、前記第１のスクリプトおよび前記第２のスクリプトを順次実行することにより、前記第２の制御手段を前記一の記憶領域および前記別の記憶領域にアクセスさせ、前記前記一の記憶領域にアクセスした結果に応じた第１の情報および前記別の記憶領域にアクセスした結果に応じた第２の情報を取得し、
前記第１のプログラムを実行している前記第１の制御手段が、前記第１の情報および前記第２の情報を、前記表示手段に表示させる
ことを特徴とする請求項１に記載の携帯端末。
【請求項３】
前記ネットワークは、前記メモリの記憶内容の書き換えの許可をする第２のサーバを有し、
前記スクリプトは、前記メモリの記憶内容を書き換える処理を実行するためのスクリプトであり、
前記スクリプトを実行している前記第１の制御手段は、前記第２のサーバに前記許可の要求を、前記通信手段を介して送信し、
前記スクリプトを実行している前記第１の制御手段は、前記要求に対する応答を前記第２のサーバから前記通信手段を介して受信し、
前記第２の制御手段は、前記応答が前記メモリの記憶内容の書き換えを許可するものであった場合、前記メモリにアクセスし、前記メモリの記憶内容を書き換える
ことを特徴とする請求項１または２に記載の携帯端末。
【請求項４】
前記特定データおよび前記スクリプトを記憶する記憶手段を有し、
前記第１のプログラムは、前記記憶手段から前記特定データを読み出し、読み出した特定データに応じた情報を前記表示手段に表示させる処理を前記第１の制御手段に実行させるための命令群を含み、
前記第１のプログラムを実行している前記第１の制御手段が、前記記憶手段から前記スクリプトを読み出したスクリプトを実行することにより、前記第２の制御手段を前記一の記憶領域にアクセスさせ、前記一の記憶領域にアクセスした結果に応じた情報を取得する
ことを特徴とする請求項１−３のいずれかの項に記載の携帯端末。
【請求項５】
前記メモリにアクセスした結果に応じた情報を記憶する記憶手段を有し、
前記第１のプログラムは、前記記憶手段から前記情報を読み出し、読み出した情報を前記表示手段に表示させる処理を前記第１の制御手段に実行させるための命令群を含む
ことを特徴とする請求項１−３のいずれかの項に記載の携帯端末。
【請求項６】
前記特定データを記憶する記憶手段を有し、
前記第１のプログラムは、前記記憶手段から前記特定データを読み出し、読み出した特定データに応じた情報を前記表示手段に表示させる処理を前記第１の制御手段に実行させるための命令群を含み、
前記第１のプログラムを実行している前記第１の制御手段が、前記読み出したデータに含まれる所在情報に基づいて、前記ネットワークから前記通信手段を介して前記スクリプトを取得する
ことを特徴とする請求項１−３のいずれかの項に記載の携帯端末。
【請求項７】
前記記憶手段は、前記記憶手段に記憶された特定データが添付された電子メールを、前記通信手段を介して送信する処理を前記第１の制御手段に実行させるための第２のプログラムを記憶し、
前記第１の制御手段は、前記第２のプログラムを実行することにより、前記電子メールを他の携帯端末に送信する
ことを特徴とする請求項４−６のいずれかの項に記載の携帯端末。
【請求項８】
前記ネットワークは、前記メモリの記憶内容の書き換えの許可をする第２のサーバを有し、
前記特定データが、前記複数の記憶領域のうち一の記憶領域の記憶内容を書き換える処理を実行するための第１のスクリプトおよび前記一の記憶領域と異なる別の記憶領域の記憶内容を書き換える処理を実行するための第２のスクリプトの所在を示す所在情報と、前記一の記憶領域および前記別の記憶領域の記憶内容を書き換える特定処理の実行の開始をユーザに指示させるための指示情報とを含み、
前記指示情報に応じて前記特定処理の実行の開始が指示されると、前記スクリプトを実行している前記第１の制御手段は、前記一の記憶領域について前記許可を求める第１の要求および前記別の記憶領域について前記許可を求める第２の要求を、前記通信手段を介して前記第２のサーバに送信し、
前記スクリプトを実行している前記第１の制御手段は、前記第１の要求および前記第２の要求に対する応答を前記第２のサーバから前記通信手段を介して受信し、
前記第２の制御手段は、前記第１の要求および前記第２の要求が前記一の記憶領域および前記別の記憶領域の記憶内容の書き換えを許可するものであった場合、前記メモリにアクセスし、前記一の記憶領域および前記別の記憶領域の記憶内容を書き換え、
前記前記一の記憶領域および前記別の記憶領域の記憶内容が書き換えられると、前記第１のプログラムを実行している前記第１の制御手段は、前記記憶内容の書き換えが完了したことを示す情報を前記第１のサーバに送信する
ことを特徴とする請求項１に記載の携帯端末。
【請求項９】
前記スクリプトが、オブジェクト指向プログラミング言語で記述され、前記一の記憶領域からデータを読み出す処理を実行するための第１のメソッドと、前記一の記憶領域にデータを書き込む処理を実行するための第２のメソッドとを含み、
前記特定データが、実行するメソッドを指定する情報を含み、
前記第１のプログラムを実行している前記第１の制御手段は、前記スクリプトのうち、前記特定データに含まれる情報により指定されるメソッドを実行する
ことを特徴とする請求項１−８のいずれかの項に記載の携帯端末。
【請求項１０】
サーバと
ネットワークを介して前記サーバと接続された携帯端末と
を有し、
前記携帯端末は、
前記ネットワークを介して通信する通信手段と、
情報を表示する表示手段と、
前記ネットワークから特定の書式で記述された特定データを前記通信手段を介して受信し、受信した特定データに応じた情報を前記表示手段に表示させるための第１のプログラムを実行する第１の制御手段と、
アンテナと、個別にアクセス制限を設定可能な複数の記憶領域を有するメモリと、前記アンテナからの信号または前記第１の制御手段からの信号に応じて前記メモリにアクセスする第２の制御手段とを有するＩＣカードと
を有し、
前記第１のプログラムを実行している前記第１の制御手段が、前記複数の記憶領域のうち一の記憶領域にアクセスする処理を実行するためのスクリプトの所在を示す所在情報を含む特定データを、前記サーバから前記通信手段を介して受信し、
前記第１のプログラムを実行している前記第１の制御手段が、前記受信したデータに含まれる所在情報に基づいて、前記ネットワークから前記通信手段を介して前記スクリプトを取得し、
前記第１のプログラムを実行している前記第１の制御手段が、前記取得したスクリプトを実行することにより、前記第２の制御手段を前記一の記憶領域にアクセスさせ、前記一の記憶領域にアクセスした結果に応じた情報を取得し、
前記第１のプログラムを実行している前記第１の制御手段が、前記結果に応じた情報を、前記表示手段に表示させる
ことを特徴とする通信システム。
【請求項１１】
ネットワークを介して通信する通信手段と、
情報を表示する表示手段と、
前記ネットワークから特定の書式で記述された特定データを前記通信手段を介して受信し、受信した特定データに応じた情報を前記表示手段に表示させるための特定プログラムを実行する第１の制御手段と、
アンテナと、個別にアクセス制限を設定可能な複数の記憶領域を有するメモリと、前記アンテナからの信号または前記第１の制御手段からの信号に応じて前記メモリにアクセスする第２の制御手段とを有するＩＣカードと
を有するコンピュータ装置において、
前記特定プログラムを実行している前記第１の制御手段が、前記複数の記憶領域のうち一の記憶領域にアクセスする処理を実行するためのスクリプトの所在を示す所在情報を含む特定データを、前記ネットワーク上の第１のサーバから前記通信手段を介して受信するステップと、
前記特定プログラムを実行している前記第１の制御手段が、前記受信したデータに含まれる所在情報に基づいて、前記ネットワークから前記通信手段を介して前記スクリプトを取得するステップと、
前記特定プログラムを実行している前記第１の制御手段が、前記取得したスクリプトを実行することにより、前記第２の制御手段を前記一の記憶領域にアクセスさせ、前記一の記憶領域にアクセスした結果に応じた情報を取得するステップと、
前記特定プログラムを実行している前記第１の制御手段が、前記結果に応じた情報を、前記表示手段に表示させるステップと
を有するＩＣカード制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯端末においてＩＣカードを利用する技術に関する。
【背景技術】
【０００２】
モバイルFeliCa（登録商標）のように、携帯端末において利用されるＩＣカードが知られている。単体のＩＣカードに対しては、専用のリーダ／ライタを用いてデータの読み書きがされるが、携帯端末に内蔵されたＩＣカードに対しては、リーダ／ライタを用いたデータの読み書きに加え、携帯端末本体からデータの読み書きが可能である。多くの携帯端末はネットワークを介した通信を行う機能を有しており、通信機能およびＩＣカード機能により、多様なサービスを提供することが可能になっている。ＩＣカードを内蔵した携帯端末において、ＩＣカードのデータを読み書きするために、専用のアプリケーションソフトウェアが用いられている。
【０００３】
これに対し特許文献１は、端末装置からＩＣカードへ送信されるメッセージであるＡＰＤＵ（Application Protocol Data Unit、アプリケーション・プロトコル・データ単位）の実行結果をｗｅｂブラウザに表示する技術を開示している（特に、段落００２０−００２２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２４４２１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ネットワークを介した通信とＩＣカードへのデータの読み書きとを一連の処理として行おうとするとき、ネットワークを介した通信を行うためのソフトウェアと、ＩＣカードへのデータの読み書きを行うためのソフトウェアとを切り替えることは煩雑であった。特許文献１においても、ＡＰＤＵの取得や実行は専用のソフトウェアを用いる必要があった。
これに対し本発明は、ネットワークを介した通信を行うためのソフトウェアを実行したままでＩＣカードへのデータの読み書きを行う技術を提供する。
【課題を解決するための手段】
【０００６】
本発明は、ネットワークを介して通信する通信手段と、情報を表示する表示手段と、前記ネットワークから特定の書式で記述された特定データを前記通信手段を介して受信し、受信した特定データに応じた情報を前記表示手段に表示させるための第１のプログラムを実行する第１の制御手段と、アンテナと、個別にアクセス制限を設定可能な複数の記憶領域を有するメモリと、前記アンテナからの信号または前記第１の制御手段からの信号に応じて前記メモリにアクセスする第２の制御手段とを有するＩＣカードとを有し、前記第１のプログラムを実行している前記第１の制御手段が、前記複数の記憶領域のうち一の記憶領域にアクセスする処理を実行するためのスクリプトの所在を示す所在情報を含む特定データを、前記ネットワーク上の第１のサーバから前記通信手段を介して受信し、前記第１のプログラムを実行している前記第１の制御手段が、前記受信したデータに含まれる所在情報に基づいて、前記ネットワークから前記通信手段を介して前記スクリプトを取得し、前記第１のプログラムを実行している前記第１の制御手段が、前記取得したスクリプトを実行することにより、前記第２の制御手段を前記一の記憶領域にアクセスさせ、前記一の記憶領域にアクセスした結果に応じた情報を取得し、前記第１のプログラムを実行している前記第１の制御手段が、前記結果に応じた情報を、前記表示手段に表示させることを特徴とする携帯端末を提供する。
この携帯端末によれば、第１のプログラム上から実行されたスクリプトにより、ＩＣカードへのアクセスが行われる。
【０００７】
好ましい態様において、前記特定データが、前記一の記憶領域にアクセスする処理を実行するための第１のスクリプトおよび前記一の記憶領域と異なる別の記憶領域にアクセスする処理を実行するための第２のスクリプトの所在を示す所在情報を含み、前記第１のプログラムを実行している前記第１の制御手段が、前記第１のスクリプトおよび前記第２のスクリプトを順次実行することにより、前記第２の制御手段を前記一の記憶領域および前記別の記憶領域にアクセスさせ、前記一の記憶領域にアクセスした結果に応じた第１の情報および前記別の記憶領域にアクセスした結果に応じた第２の情報を取得し、前記第１のプログラムを実行している前記第１の制御手段が、前記第１の情報および前記第２の情報を、前記表示手段に表示させてもよい。
この携帯端末によれば、第１のプログラム上から実行される複数のスクリプトにより、ＩＣカードの異なる記憶領域へのアクセスが行われる。
【０００８】
別の好ましい態様において、前記ネットワークは、前記メモリの記憶内容の書き換えの許可をする第２のサーバを有し、前記スクリプトは、前記メモリの記憶内容を書き換える処理を実行するためのスクリプトであり、前記スクリプトを実行している前記第１の制御手段は、前記第２のサーバに前記許可の要求を、前記通信手段を介して送信し、前記スクリプトを実行している前記第１の制御手段は、前記要求に対する応答を前記第２のサーバから前記通信手段を介して受信し、前記第２の制御手段は、前記応答が前記メモリの記憶内容の書き換えを許可するものであった場合、前記メモリにアクセスし、前記メモリの記憶内容を書き換えてもよい。
この携帯端末によれば、第１のプログラム上から実行されるスクリプトが認証されたとき、ＩＣカードへのデータの書き込みが行われる。
【０００９】
さらに別の好ましい態様において、この携帯端末は、前記特定データおよび前記スクリプトを記憶する記憶手段を有し、前記第１のプログラムは、前記記憶手段から前記特定データを読み出し、読み出した特定データに応じた情報を前記表示手段に表示させる処理を前記第１の制御手段に実行させるための命令群を含み、前記第１のプログラムを実行している前記第１の制御手段が、前記記憶手段から前記スクリプトを読み出したスクリプトを実行することにより、前記第２の制御手段を前記一の記憶領域にアクセスさせ、前記一の記憶領域にアクセスした結果に応じた情報を取得してもよい。
この携帯端末によれば、特定データとともにスクリプトが記憶手段に記憶され、記憶手段からスクリプトを読み出した時点においてＩＣカードへのアクセスが行われる。
【００１０】
さらに別の好ましい態様において、この携帯端末は、前記メモリにアクセスした結果に応じた情報を記憶する記憶手段を有し、前記第１のプログラムは、前記記憶手段から前記情報を読み出し、読み出した情報を前記表示手段に表示させる処理を前記第１の制御手段に実行させるための命令群を含んでもよい。
この携帯端末によれば、第１のプログラム上から実行されるスクリプトの実行結果が記憶される。
【００１１】
さらに別の好ましい態様において、この携帯端末は、前記特定データを記憶する記憶手段を有し、前記第１のプログラムは、前記記憶手段から前記特定データを読み出し、読み出した特定データに応じた情報を前記表示手段に表示させる処理を前記第１の制御手段に実行させるための命令群を含み、前記第１のプログラムを実行している前記第１の制御手段が、前記読み出したデータに含まれる所在情報に基づいて、前記ネットワークから前記通信手段を介して前記スクリプトを取得してもよい。
この携帯端末によれば、記憶手段に記憶された特定データに含まれる所在情報に基づいて取得されるスクリプトにより、ＩＣカードからのデータの読み出しが行われる。
【００１２】
さらに別の好ましい態様において、前記記憶手段は、前記記憶手段に記憶されたデータが添付された電子メールを、前記通信手段を介して送信する処理を前記第１の制御手段に実行させるための第２のプログラムを記憶し、前記第１の制御手段は、前記第２のプログラムを実行することにより、前記電子メールを他の携帯端末に送信してもよい。
この携帯端末によれば、第１のプログラム上から実行されるスクリプトまたはその実行結果が他の携帯端末に送信される。
【００１３】
さらに別の好ましい態様において、前記ネットワークは、前記メモリの記憶内容の書き換えの許可をする第２のサーバを有し、前記特定データが、前記複数の記憶領域のうち一の記憶領域の記憶内容を書き換える処理を実行するための第１のスクリプトおよび前記一の記憶領域と異なる別の記憶領域の記憶内容を書き換える処理を実行するための第２のスクリプトの所在を示す所在情報と、前記一の記憶領域および前記別の記憶領域の記憶内容を書き換える特定処理の実行の開始をユーザに指示させるための指示情報とを含み、前記指示情報に応じて前記特定処理の実行の開始が指示されると、前記スクリプトを実行している前記第１の制御手段は、前記一の記憶領域について前記許可を求める第１の要求および前記別の記憶領域について前記許可を求める第２の要求を、前記通信手段を介して前記第２のサーバに送信し、前記スクリプトを実行している前記第１の制御手段は、前記第１の要求および前記第２の要求に対する応答を前記第２のサーバから前記通信手段を介して受信し、前記第２の制御手段は、前記第１の要求および前記第２の要求が前記一の記憶領域および前記別の記憶領域の記憶内容の書き換えを許可するものであった場合、前記メモリにアクセスし、前記一の記憶領域および前記別の記憶領域の記憶内容を書き換え、前記前記一の記憶領域および前記別の記憶領域の記憶内容が書き換えられると、前記第１のプログラムを実行している前記第１の制御手段は、前記記憶内容の書き換えが完了したことを示す情報を前記第１のサーバに送信してもよい。
この携帯端末によれば、異なるサービスに対応する第１のスクリプトおよび第２のスクリプトの２つのスクリプトにより、一連の処理が行われる。
【００１４】
さらに別の態様において、前記スクリプトが、オブジェクト指向プログラミング言語で記述され、前記一の記憶領域からデータを読み出す処理を実行するための第１のメソッドと、前記一の記憶領域にデータを書き込む処理を実行するための第２のメソッドとを含み、前記特定データが、実行するメソッドを指定する情報を含み、前記第１のプログラムを実行している前記第１の制御手段は、前記スクリプトのうち、前記特定データに含まれる情報により指定されるメソッドを実行してもよい。
この携帯端末によれば、処理の内容によらず携帯端末に送信するスクリプトが統一される。
【００１５】
また、本発明は、サーバと、ネットワークを介して前記サーバと接続された携帯端末とを有し、前記携帯端末は、前記ネットワークを介して通信する通信手段と、情報を表示する表示手段と、前記ネットワークから特定の書式で記述された特定データを前記通信手段を介して受信し、受信した特定データに応じた情報を前記表示手段に表示させるための第１のプログラムを実行する第１の制御手段と、アンテナと、個別にアクセス制限を設定可能な複数の記憶領域を有するメモリと、前記アンテナからの信号または前記第１の制御手段からの信号に応じて前記メモリにアクセスする第２の制御手段とを有するＩＣカードとを有し、前記第１のプログラムを実行している前記第１の制御手段が、前記複数の記憶領域のうち一の記憶領域にアクセスする処理を実行するためのスクリプトの所在を示す所在情報を含む特定データを、前記サーバから前記通信手段を介して受信し、前記第１のプログラムを実行している前記第１の制御手段が、前記受信したデータに含まれる所在情報に基づいて、前記ネットワークから前記通信手段を介して前記スクリプトを取得し、前記第１のプログラムを実行している前記第１の制御手段が、前記取得したスクリプトを実行することにより、前記第２の制御手段を前記一の記憶領域にアクセスさせ、前記一の記憶領域にアクセスした結果に応じた情報を取得し、前記第１のプログラムを実行している前記第１の制御手段が、前記結果に応じた情報を、前記表示手段に表示させることを特徴とする通信システムを提供する。
この通信システムによれば、第１のプログラム上から実行されたスクリプトにより、ＩＣカードへのアクセスが行われる。
【００１６】
さらに本発明は、ネットワークを介して通信する通信手段と、情報を表示する表示手段と、前記ネットワークから特定の書式で記述された特定データを前記通信手段を介して受信し、受信した特定データに応じた情報を前記表示手段に表示させるための特定プログラムを実行する第１の制御手段と、アンテナと、個別にアクセス制限を設定可能な複数の記憶領域を有するメモリと、前記アンテナからの信号または前記第１の制御手段からの信号に応じて前記メモリにアクセスする第２の制御手段とを有するＩＣカードとを有するコンピュータ装置において、前記特定プログラムを実行している前記第１の制御手段が、前記複数の記憶領域のうち一の記憶領域にアクセスする処理を実行するためのスクリプトの所在を示す所在情報を含む特定データを、前記ネットワーク上の第１のサーバから前記通信手段を介して受信するステップと、前記特定プログラムを実行している前記第１の制御手段が、前記受信したデータに含まれる所在情報に基づいて、前記ネットワークから前記通信手段を介して前記スクリプトを取得するステップと、前記特定プログラムを実行している前記第１の制御手段が、前記取得したスクリプトを実行することにより、前記第２の制御手段を前記一の記憶領域にアクセスさせ、前記一の記憶領域にアクセスした結果に応じた情報を取得するステップと、前記特定プログラムを実行している前記第１の制御手段が、前記結果に応じた情報を、前記表示手段に表示させるステップとを有するＩＣカード制御方法を提供する。
このＩＣカード制御方法によれば、第１のプログラム上から実行されたスクリプトにより、ＩＣカードへのアクセスが行われる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態に係る通信システムの構成を示す図である。
【図２】携帯電話機１０の外観図である。
【図３】携帯電話機１０のハードウェア構成を示す図である。
【図４】ＩＣカード５００の構成を示す図である。
【図５】メモリ５０４の記憶領域の構成を例示する図である。
【図６】携帯電話機１０のソフトウェア構成を示す図である。
【図７】サービスサーバ３０の構成を示す図である。
【図８】リモート発行サーバ４０の構成を示す図である。
【図９】サービスサーバ５０の構成を示す図である。
【図１０】サービスサーバ６０の構成を示す図である。
【図１１】登録スクリプトによる処理を示すシーケンス図である。
【図１２】読み出しスクリプトによる処理を示すシーケンス図である。
【図１３】書き込みスクリプトによる処理を示すシーケンス図である。
【図１４】削除スクリプトによる処理を示すシーケンス図である。
【図１５】サービスの新規登録時の動作を示すシーケンス図である。
【図１６】図１５の動作に伴ってブラウザが表示する画面を例示する図である。
【図１７Ａ】ショッピングサイトにアクセスした時の動作を示すシーケンス図である。
【図１７Ｂ】ショッピングサイトにアクセスした時の動作を示すシーケンス図である。
【図１８】図１７Ａ・Ｂの動作に伴ってブラウザが表示する画面を例示する図である。
【図１９】外部リンクの具体例を例示する図である。
【図２０Ａ】分割決済を行う時の動作を示すシーケンス図である。
【図２０Ｂ】分割決済を行う時の動作を示すシーケンス図である。
【図２１】図２０Ａ・Ｂの動作に伴ってブラウザが表示する画面を例示する図である。
【図２２】画面メモのリスト画面を例示する図である。
【図２３】通信システムにおいて用いられる暗号化技術の概要を示す図である。
【発明を実施するための形態】
【００１８】
１．構成
図１は、本発明の一実施形態に係る通信システムの構成を示す図である。この通信システムは、携帯電話機１０と、管理サーバ２０と、サービスサーバ３０と、リモート発行サーバ４０と、サービスサーバ５０と、サービスサーバ６０とを有する。管理サーバ２０、サービスサーバ３０、リモート発行サーバ４０、サービスサーバ５０およびサービスサーバ６０は、ネットワーク７０を介して接続されている。リーダ／ライタ５１０は、携帯電話機１０に内蔵されているＩＣ（Integrated Circuit）カード５００と無線通信を行い、データの読み書きを行う。
【００１９】
１−１．携帯電話機１０
図２は、携帯電話機１０の外観図である。携帯電話機１０は、本発明に係る携帯端末の一例である。携帯電話機１０は、筐体９Ａおよび筐体９Ｂを有する。筐体９Ａと筐体９Ｂとは、ヒンジ３を介して連結されている。携帯電話機１０は、いわゆる折り畳み型の携帯電話機である。携帯電話機１０のユーザは、図１に示されるように筐体９Ａおよび筐体９Ｂを開いた状態で音声通信やデータ通信を行う。
【００２０】
筐体９Ａは、スピーカ６、アンテナ７および表示装置８を有する。スピーカ６は、通話の音声、操作音、楽曲音などを出力する。アンテナ７は、無線基地局との間で無線通信を行う。表示装置８は、文字や画像を表示する。筐体９Ｂは、キーパッド４およびマイクロホン５を有する。キーパッド４は、ユーザの操作を受け付け、受け付けた操作に応じた信号を出力する。マイクロホン５は、入力された音声を電気信号に変換して出力する。
【００２１】
図３は、携帯電話機１０のハードウェア構成を示す図である。ＣＰＵ（Central Processing Unit）１０２は、携帯電話機１０の各構成要素を制御する制御装置（第１の制御手段の一例）である。ＲＯＭ（Read Only Memory）１０３は、携帯電話機１０の基本的な動作に必要なプログラムおよびデータを記憶する記憶装置である。ＲＯＭ１０３は、例えば、ＩＰＬ（Initial Program Loader）、ＯＳ（Operating System）プラグラムおよびＪａｖａ（登録商標）プラットフォームソフトウェアを記憶している。ＩＰＬは、携帯電話機１０の電源が投入されたときに最初に実行するプログラムを読み出すためのプログラムである。本実施形態において、ＩＰＬは、ＯＳプログラムを読み出す。ＯＳプログラムは、データの入出力、記憶装置へのアクセス、各種プログラムの実行、音声通信、データ通信、その他の携帯電話機１０の基本的な機能を実現させるためのプログラムである。Ｊａｖａ（登録商標）プラットフォームソフトウェアは、ＯＳ上にＪａｖａ実行環境を実現させるためのプログラムおよびデータである。
【００２２】
ＲＡＭ（Random Access Memory）１０４は、ＣＰＵ１０２がプログラムを実行する際のワークエリアとして機能する記憶装置である。記憶部１０５は、アプリケーションプログラムおよびデータを記憶する記憶装置である。記憶部１０５は、フラッシュメモリ等の不揮発性メモリを有する。本実施形態において、記憶部１０５は、ブラウザプログラムを記憶している。ブラウザプログラムは、ネットワークを介してＨＴＭＬ（HyperText Markup Language）データを受信し、受信したＨＴＭＬデータに応じた情報を表示装置８に表示させるためのプログラムである。また、記憶部１０５は、電子メールプログラムを記憶している。電子メールプログラム（メーラ）は、ネットワークを介して電子メールを送受信し、送受信した電子メールの表示、編集をするためのプログラムである。電子メールには添付ファイルとして画像データやアドレス帳データを添付することが可能である。
【００２３】
この例で、ブラウザプログラムは、携帯電話機１０をスクリプト処理エンジンとして機能させるための命令群を含む。「スクリプト処理エンジン」とは、スクリプトに記述された命令群に従った処理を実行させるためのソフトウェアコンポーネントをいう。ＣＰＵ１０２がこの命令群を実行し、ＲＡＭ１０４等のハードウェアを制御することにより、スクリプト処理エンジンとしての機能が実現される。
【００２４】
操作部１０６は、ユーザの操作に応じた信号を出力する。操作部１０６は、テンキー、発呼キー、終話キー、クリアキー、カーソルキー、電源キー、その他の入力を行うためのキーを含むキーパッド（図１のキーパッド４）等の入力装置を有する。ユーザは、キーパッドを操作することにより携帯電話機１０に対して指示を入力する。表示部１０７（表示手段の一例）は、文字や画像を表示する。表示部１０７は、液晶ディスプレイなどの表示装置（図１の表示装置８）を有する。表示部１０７は、実行中のアプリケーションプログラムにより処理された情報を表示する。表示部１０７は、ＬＣＤ（liquid crystal display）などの表示体およびその表示体を駆動する駆動回路を有する。通信部１０８（通信手段の一例）は、アンテナ（図１のアンテナ７）を介して無線基地局を介して音声通信またはデータ通信を行う。バス１０９は、構成要素間でやりとりされる信号やデータを伝送する伝送路である。さらに、携帯電話機１０は、ＩＣカード５００を有している。以上の構成要素はバス１０９を介して接続されている。
【００２５】
図４は、ＩＣカード５００の構成を示す図である。アンテナ５０１は、リーダ／ライタ５１０との間での無線信号の送受信に用いられる。ＩＣチップ５０２は、アンテナ５０１が受信した信号に応じた処理を行う。ＩＣチップ５０２は、プロセッサ５０３（第２の制御手段の一例）と、メモリ５０４とを有する。
【００２６】
ＩＣカード５００は、ＣＰＵ１０２とデータや信号の送受信に用いられる信号線５０５を有している。プロセッサ５０３は、アンテナ５０１が受信した信号またはＣＰＵ１０２からの信号に応じてメモリ５０４にアクセスし、データの読み出しまたは書き込みを行う。プロセッサ５０３は、データの暗号化や復号化など、データの読み出しまたは書き込みに伴う処理を実行する。
【００２７】
図５は、メモリ５０４の記憶領域の構成を例示する図である。この例で、メモリ５０４には、初期状態において共通領域および自由領域という２つの領域が設定されている（図５（Ａ））。共通領域は、あらかじめ決められた事業者（この例では、リモート発行サーバ４０を管理、運営している事業者）により、サービス毎の領域設定およびデータの書き込みがされる領域である。自由領域は、事業者によらずデータの書き込みが可能な領域である。
【００２８】
共通領域はさらに複数の領域に区分することが可能であり、各領域に、異なるサービスのデータが記憶される。図５の例で、共通領域には２つの記憶領域が設定されており、Ａ社の電子マネーおよびＢ社の電子マネーのデータが記憶されている（図５（Ｂ））。以下、Ａ社およびＢ社が提供する電子マネーをそれぞれ、「Ａ社マネー」および「Ｂ社マネー」という。各領域は個別にアクセス制限（セキュリティ）を設定することが可能である。これにより、一枚のカードの中で複数のサービスで用いられるデータを管理することができ、また、サービス間でのデータのセキュリティも確保される。
【００２９】
図６は、携帯電話機１０のソフトウェア構成を示す図である。ＯＳ１１１上において、ブラウザ等のアプリケーションプログラムや、クライアントソフトウェア１２１、デバイスドライバ１２２等のプログラムが動作する。ブラウザ１３０は、ＨＴＭＬデータに応じた情報を表示装置８に表示させる機能を有する。ブラウザ１３０は、ネットワークからＨＴＭＬデータを受信する機能等、情報を表示させる機能に関連する機能を有する。スクリプト処理エンジン１３１は、このような関連機能の一つであり、Ｊａｖａスクリプトを解釈し、Ｊａｖａスクリプトに記述されている命令に従った処理を実行する機能を有する。スクリプト処理エンジン１３１は、ＩＣカード５００にアクセスするためのＡＰＩ（Application Program Interface）群を含んでいる。ＡＰＩ群１２０は、例えば、サーバとの通信を開始するためのサーバ通信開始用ＡＰＩ、ＩＣカード５００からデータを読み出すためのデータ読み出し用ＡＰＩ、ＩＣカード５００にデータを書き込むためのデータ書き込み用ＡＰＩ等を含んでいる。
【００３０】
クライアントソフトウェア１２１は、リモート発行サーバ４０等のサーバとの通信を中継するためのソフトウェアである。デバイスドライバ１２２は、ＩＣカード５００にアクセスするためのドライバプログラムである。
【００３１】
１−２．管理サーバ２０
管理サーバ２０は、携帯電話機１０がネットワークを介した通信を行う際の認証や課金といった処理を行うためのサーバである。
【００３２】
１−３．サービスサーバ３０
図７は、サービスサーバ３０の構成を示す図である。サービスサーバ３０は、電子マネーサービスを提供する事業者であるＡ社が管理、運営するサーバである。サービスサーバ３０は、サービスに関する情報を提供するためのＨＴＭＬデータと、電子マネーサービスに用いられる各種のスクリプト（残高表示スクリプト、決済スクリプト、チャージスクリプトおよび削除スクリプト）と、サーバとして機能させるためのサーバプログラムとを、ＨＤＤ等の記憶手段に記憶している。これらのスクリプトの詳細は後述する。また、サービスサーバ３０は、ネットワークを介した通信に用いられる通信インターフェース等の通信手段、およびプログラムを実行するＣＰＵ等の制御手段を有している。制御手段がサーバプログラムを実行し、記憶手段や通信手段を制御することにより、サービスサーバ３０は、携帯電話機１０からの要求に応じてＨＴＭＬデータやスクリプトを送信する機能を有する。
【００３３】
１−４．リモート発行サーバ４０
図８は、リモート発行サーバ４０の構成を示す図である。リモート発行サーバ４０は、ＩＣカード５００のプラットフォームを提供する事業者が管理、運営するサーバである。リモート発行サーバ４０は、事業者により提供されるサービスに関する情報を記録するデータベースと、データベースに情報を登録する処理、登録や決済の認証処理など、ＩＣカード５００のサービスに用いられる処理を実行させるためのサーバプログラムとを、ＨＤＤ等の記憶手段に記憶している。また、リモート発行サーバ４０は、ネットワークを介した通信に用いられる通信インターフェース等の通信手段、およびプログラムを実行するＣＰＵ等の制御手段を有している。制御手段がサーバプログラムを実行し、記憶手段や通信手段を制御することにより、リモート発行サーバ４０は、携帯電話機１０からの要求に応じて、サービスの登録や認証などの処理を行う機能を有する。
【００３４】
１−５．サービスサーバ５０
図９は、サービスサーバ５０の構成を示す図である。サービスサーバ５０は、電子マネーサービスを提供する事業者であるＢ社が管理、運営するサーバである。サービスサーバ５０は、サービスに関する情報を提供するためのＨＴＭＬデータと、電子マネーサービスに用いられる各種のスクリプト（残高表示スクリプト、決済スクリプト、チャージスクリプトおよび削除スクリプト）と、サーバとして機能させるためのサーバプログラムとを、ＨＤＤ等の記憶手段に記憶している。これらのスクリプトの詳細は後述する。また、サービスサーバ５０は、ネットワークを介した通信に用いられる通信インターフェース等の通信手段、およびプログラムを実行するＣＰＵ等の制御手段を有している。制御手段がサーバプログラムを実行し、記憶手段や通信手段を制御することにより、サービスサーバ５０は、携帯電話機１０からの要求に応じてＨＴＭＬデータやスクリプトを送信する機能を有する。
【００３５】
１−６．サービスサーバ６０
図１０は、サービスサーバ６０の構成を示す図である。サービスサーバ６０は、電子マネーサービスを提供する事業者ではない、第三者であるＣ社が管理、運営するサーバである。Ｃ社は、サービスサーバ６０を用いてショッピングサイトを運営しており、通信販売事業を行っている。サービスサーバ６０は、商品および商品の属性（名前、数量、単価、画像など）を記録した商品データベースと、ユーザが有するポイントを記録したポイントデータベースと、ショッピングに関する情報を提供するためのＨＴＭＬデータと、サーバとして機能するためのサーバプログラムとを、ＨＤＤ等の記憶手段に記憶している。また、サービスサーバ６０は、ネットワークを介した通信に用いられる通信インターフェース等の通信手段、およびプログラムを実行するＣＰＵ等の制御手段を有している。制御手段がサーバプログラムを実行し、記憶手段や通信手段を制御することにより、サービスサーバ６０は、携帯電話機１０からの要求に応じてＨＴＭＬデータを送信し、商品の購入に関する処理を行う機能を有する。サービスサーバ６０により提供されるＨＴＭＬデータは、サービスサーバ３０またはサービスサーバ５０により提供されるスクリプトのリンクを含んでいる。すなわち、このＨＴＭＬデータを介してサービスサーバ３０またはサービスサーバ５０により提供されるスクリプトを呼び出すことができる。
【００３６】
２．動作
２−１．スクリプト
携帯電話機１０は、ブラウザ上から（より詳細には、スクリプト処理エンジンの機能により）スクリプトを実行する機能を有する。この例で、スクリプトは、オブジェクト指向プログラミング言語であるＪａｖａ（登録商標）スクリプトである。ここで、ブラウザ上から実行されるスクリプトは、ＩＣカード５００にアクセスするスクリプトを含む。「ＩＣカード５００にアクセスする」とは、ＩＣカード５００のメモリ５０４に記憶領域を設定すること、設定された記憶領域からデータの読み出しをすること、記憶領域にデータの書き込みをすること、または記憶領域に記憶されているデータを書き換えることをいう。ＩＣカード５００にアクセスするスクリプトは、新規登録を行うためのスクリプト（以下「登録スクリプト」という）、データの読み出しを行うためのスクリプト（以下「読み出しスクリプト」という）、データの書き込みを行うためのスクリプト（以下「書き込みスクリプト」という）、および登録されているデータを削除するためのスクリプト（以下「削除スクリプト」という）に大別される。
【００３７】
２−１−１．登録スクリプト
登録スクリプトは、ＩＣカード５００のメモリ５０４内に新たな記憶領域を設定し、設定した記憶領域に初期データを書き込むためのスクリプトである。登録スクリプトは、電子マネーや電子チケットを「発券」する際に用いられる。
【００３８】
図１１は、登録スクリプトによる処理を示すシーケンス図である。以下、必要に応じて「ブラウザ」や「メーラ」、「スクリプト処理エンジン」、「ＡＰＩ」、「スクリプト」、「ＯＳ」などのソフトウェアを処理の主体として説明をするが、これらの記載は、ソフトウェアに含まれる命令を実行しているＣＰＵ１０２が、ＲＡＭ１０４、表示部１０７、通信部１０８などのハードウェア資源と協働して処理を行うことを意味する。例えば、「ブラウザがＨＴＭＬデータに従ってページを表示する」と記載した場合、ブラウザプログラムを実行しているＣＰＵ１０２が、ＨＴＭＬデータを解釈し、ＨＴＭＬデータに応じたページ（画像）を表示部１０７に表示させることを意味する。あるいは、「ＡＰＩがブラウザにデータを引き渡す」と記載した場合、ＡＰＩを実行しているＣＰＵ１０２が、データを所定の記憶領域に記憶した後、ブラウザを実行し、この記憶領域からデータを読み出すことを意味する。さらにあるいは、「メーラが電子メールメッセージを表示する」と記載した場合、電子メールプログラムを実行しているＣＰＵ１０２が、電子メールのデータを解釈し、電子メールの内容を示す画像を表示部１０７に表示させることを意味する。図１１において、ブラウザとスクリプト処理エンジンとはそれぞれ別に記載されているが、既に説明したようにスクリプト処理エンジンはブラウザの機能の一部である。
【００３９】
ステップＳ１００において、ブラウザは、登録スクリプトを読み込む。すなわち、ブラウザは、サービスサーバ３０に対し、登録スクリプトの送信を要求する。携帯電話機１０から登録スクリプトの送信の要求を受信すると、サービスサーバ３０は、登録スクリプトを携帯電話機１０に送信する（ステップＳ１０１）。ブラウザは、読み込んだ登録スクリプトを、スクリプト処理エンジンに渡す（ステップＳ１０２）。
【００４０】
登録スクリプトを受け取ると、スクリプト処理エンジンは、スクリプトに記述された命令に従って処理を行う。ステップＳ１０３において、スクリプト処理エンジンは、リモート発行サーバ４０に対し、発券要求を送信する。具体的には以下のとおりである。登録スクリプトは、サーバ通信開始用ＡＰＩを呼び出すための命令群を含んでいる。ＣＰＵ１０２がこれらの命令群を実行することにより、サーバ通信開始用ＡＰＩが起動される。サーバ通信用ＡＰＩはクライアントソフトウェアを呼び出す。クライアントソフトウェアは、通信部１０８を介してリモート発行サーバ４０と通信を行う。すなわち、クライアントソフトウェアは、リモート発行サーバ４０に発券要求を送信する。発券要求は、リモート発行サーバ４０における処理に用いられる情報、例えばＡ社のサービスを特定する識別子およびユーザの属性を示す情報（以下「ユーザ情報」という）を含む。なお図１１においては、登録スクリプトから呼び出されるＡＰＩやデバイスドライバ等の処理も、登録スクリプトを実行するスクリプト処理エンジンの処理として記載している。他の図においても同様である。
【００４１】
リモート発行サーバ４０は、発券要求を受信すると、発券処理に用いられる情報（以下「発券情報」という）を生成する（ステップＳ１０４）。発券情報は、例えば、サービスおよびユーザを特定するための識別子、およびＩＣカード５００に書き込まれる初期データを含む。発券情報を生成すると、リモート発行サーバ４０は、生成した発券情報および対応するユーザ情報を記憶する。リモート発行サーバ４０は、発券情報を携帯電話機１０に送信する（ステップＳ１０５）。携帯電話機１０のクライアントソフトウェアは、発券情報を受信し、受信した発券情報をスクリプト処理エンジンに引き渡す。
【００４２】
ステップＳ１０６において、スクリプト処理エンジンは、発券情報を用いて発券処理を行う。すなわち、登録スクリプトを実行しているＣＰＵ１０２は、ＩＣカード５００のメモリ５０４にＡ社のサービス用の領域を設定し、設定した領域に、Ａ社のサービスを特定する識別子および携帯電話機１０を特定する識別子を書き込む命令を、ＩＣチップ５０２に送信する。ＩＣチップ５０２のプロセッサ５０３は、ＣＰＵ１０２からの命令を受けて、メモリ５０４にＡ社のサービス用の領域を設定し、設定した領域に、Ａ社のサービスを特定する識別子および携帯電話機１０を特定する識別子を書き込む。さらに、プロセッサ５０３は、ＣＰＵ１０２からの命令を受けて、メモリ５０４にＡ社のサービス用のデータ（以下このデータを「サービスデータ」という）の初期値を書き込む。いまＡ社のサービスが電子マネーである場合を例にとると、サービスデータは、電子マネーの残高のデータである。あるいは別の例で、このサービスがポイントカードである場合にはサービスデータはポイントの残高であり、このサービスが入場券や乗車券等のチケット発券サービスであればサービスデータはチケットを特定する情報である。
【００４３】
発券処理が完了すると、スクリプト処理エンジンは、発券が完了した旨の通知をリモート発行サーバ４０に送信する（ステップＳ１０７）。この通知は、発券されたサービスおよび携帯電話機１０を特定する識別子を含んでいる。
【００４４】
さらに、スクリプト処理エンジンは、サービスの登録に用いられる情報、この例ではユーザ情報、Ａ社のサービスを特定する識別子および携帯電話機１０を特定する識別子をサービスサーバ３０に送信する（ステップＳ１０８）。サービスサーバ３０は、携帯電話機１０から受信した情報を記憶（登録）する（ステップＳ１０９）。情報の登録が完了すると、サービスサーバ３０は、登録が完了した旨の通知を携帯電話機１０に送信する（ステップＳ１１０）。この通知は、登録された情報を表示するためのＨＴＭＬデータを含んでいる。この通知を受信すると、スクリプト処理エンジンは、通知に含まれるＨＴＭＬデータをブラウザに引き渡し（ステップＳ１１１）、登録スクリプトによる処理を終了する。ブラウザは、取得したＨＴＭＬデータに従った情報を表示する。上記のステップＳ１０３、Ｓ１０６、Ｓ１０７、Ｓ１０８およびＳ１１１の処理は、登録スクリプトに記述された命令に従ってスクリプト処理エンジンが行う処理である。
【００４５】
２−１−２．読み出しスクリプト
図１２は、読み出しスクリプトによる処理を示すシーケンス図である。読み出しスクリプトは、ＩＣカード５００のメモリ５０４内に既に設定されている記憶領域から、データを読み出すためのスクリプトである。読み出しスクリプトの具体例としては、電子マネーやポイントカードの残高を表示するための「残高表示スクリプト」や電子チケットの内容を確認するための「内容表示スクリプト」などがある。
【００４６】
読み出しスクリプトは、サービスデータを読み出すデータ読み出し用ＡＰＩを呼び出すための命令群を含んでいる。ＣＰＵ１０２がこれらの命令群を実行することにより、データ読み出し用ＡＰＩが実行される。
【００４７】
ステップＳ２００において、ブラウザは、読み出しスクリプトを読み込む。すなわち、ブラウザは、サービスサーバ３０に対し、読み出しスクリプトの送信を要求する。携帯電話機１０から読み出しスクリプトの送信の要求を受信すると、サービスサーバ３０は、読み出しスクリプトを携帯電話機１０に送信する（ステップＳ２０１）。ブラウザは、読み込んだ読み出しスクリプトを、スクリプト処理エンジンに渡す（ステップＳ２０２）。
【００４８】
登録スクリプトを受け取ると、スクリプト処理エンジンは、スクリプトに記述された命令に従って処理を行う。ステップＳ２０３において、スクリプト処理エンジンは、Ａ社のサービスを特定する識別子をデータ読み出し用ＡＰＩに引き渡す（すなわち、サービスを特定する）。データ読み出し用ＡＰＩは、この識別子に対応する記憶領域から読み出したサービスデータを引き渡す要求を、ＩＣカード５００のＩＣチップ５０２に送信する。この要求は、Ａ社のサービスを特定する識別子を含んでいる。
【００４９】
ステップＳ２０４において、スクリプト処理エンジンは、ＩＣチップ５０２からサービスデータを読み出す。具体的には以下のとおりである。データ読み出し用ＡＰＩからデータ引き渡しの要求を受けると、ＩＣチップ５０２のプロセッサ５０３は、メモリ５０４のうち、要求に含まれる識別子に対応する記憶領域からサービスデータ（この例ではポイント残高）を読み出し、読み出したサービスデータをデータ読み出し用ＡＰＩに引き渡す。データ読み出し用ＡＰＩは、取得したサービスデータをスクリプト処理エンジンに引き渡す。
【００５０】
ステップＳ２０５において、スクリプト処理エンジンは、取得したサービスデータをブラウザに引き渡し、読み出しスクリプトの処理を終了する。ブラウザは、取得したサービスデータに基づいた情報を表示する。上記のステップＳ２０３−Ｓ２０５の処理は、読み出しスクリプトに記述された命令に従ってスクリプト処理エンジンが行う処理である。
【００５１】
２−１−３．書き込みスクリプト
図１３は、書き込みスクリプトによる処理を示すシーケンス図である。書き込みスクリプトは、ＩＣカード５００のメモリ５０４内に既に設定されている記憶領域に、データを書き込むため、または既に記憶されているデータを書き換えるためのスクリプトである。書き込みスクリプトの具体例としては、電子マネーやポイントカードの「チャージ」（残高を増やす処理）を行うためのチャージスクリプト、電子マネーやポイントカードの「決済」や「ポイント使用」（残高を減らす処理）を行うための決済スクリプトがある。
【００５２】
ステップＳ３００において、ブラウザは、書き込みスクリプトを読み込む。すなわち、ブラウザは、サービスサーバ３０に対し、書き込みスクリプトの送信を要求する。携帯電話機１０から書き込みスクリプトの送信の要求を受信すると、サービスサーバ３０は、書き込みスクリプトを携帯電話機１０に送信する（ステップＳ３０１）。ブラウザは、読み込んだ書き込みスクリプトを、スクリプト処理エンジンに渡す（ステップＳ３０２）。
【００５３】
ステップＳ３０３において、スクリプト処理エンジンは、データ書き込み用ＡＰＩを呼び出し、Ａ社のサービスを特定する識別子、および書き込むべき対象データ（例えば、決済する金額やチャージする金額を示すデータ）をデータ書き込み用ＡＰＩに引き渡す。データ書き込み用ＡＰＩは、この識別子に対応する記憶領域に、対象データを書き込む要求を、ＩＣカード５００のＩＣチップ５０２に送信する。この要求は、Ａ社のサービスを特定する識別子および対象データを含んでいる。
【００５４】
データの書き込み要求を受けると、ＩＣチップ５０２のプロセッサ５０３は、その書き込み要求があらかじめ決められた制約条件を満たしているか判断する（ステップＳ３０４）。制約条件は、例えば、書き込み要求が「決済」や「ポイント使用」のようにサービスデータにより示される残高を減少させる処理の場合には、サービスデータから減算しようとする値（決済の額や使用するポイント）が、サービスデータの残高以下であるという条件である。あるいは、制約条件は、書き込み要求が「チャージ」のようにサービスデータにより示される残高を増加させる処理の場合には、処理後の残高があらかじめ決められた上限値以下であるという条件である。なお、書き込み要求の種類によっては、制約条件を満たしているかどうかの判定処理を行わなくてもよい。
【００５５】
書き込み要求が制約条件を満たしていると判断された場合（Ｓ３０４：ＹＥＳ）、プロセッサ５０３は、処理をステップＳ３０５に移行する。書き込み要求が制約条件を満たしていないと判断された場合（Ｓ３０４：ＮＯ）、プロセッサ５０３は、その旨を示すエラーメッセージを、データ書き込み用ＡＰＩを介してスクリプト処理エンジンに送信する。エラーメッセージを受信すると、スクリプト処理エンジンは、エラーが発生した旨をブラウザに通知し（ステップＳ３１２）、処理を終了する。
【００５６】
ステップＳ３０５において、プロセッサ５０３は、リモート発行サーバ４０に、データの書き込み要求を送信する。具体的には以下のとおりである。プロセッサ５０３は、サーバ通信用ＡＰＩを呼び出す。サーバ通信用ＡＰＩはクライアントソフトウェアを呼び出す。クライアントソフトウェアは、通信部１０８を介してリモート発行サーバ４０と通信を行う。すなわち、クライアントソフトウェアは、リモート発行サーバ４０にデータの書き込み要求を送信する。書き込み要求は、リモート発行サーバ４０における認証に用いられる情報、例えばＡ社のサービスを特定する識別子および携帯電話機１０の識別子を含む。
【００５７】
携帯電話機１０からデータの書き込み要求を受信すると、リモート発行サーバ４０は、受信した書き込み要求の認証を行う（ステップＳ３０６）。認証には、後述する暗号化技術および電子署名技術が用いられる。あるいは、認証に、Ａ社のサービスを特定する識別子および携帯電話機１０の識別子などの情報が用いられてもよい。認証処理を行うと、リモート発行サーバ４０は、認証の結果を携帯電話機１０に送信する（ステップＳ３０７）。
【００５８】
ＩＣチップ５０２のプロセッサ５０３は（サーバ通信用ＡＰＩおよびクライアントソフトウェアを介して）、リモート発行サーバ４０から認証の結果を受信する。プロセッサ５０３は、認証結果に応じて、次に行う処理を決定する（ステップＳ３０８）。認証が成功した場合（ステップＳ３０８：ＹＥＳ）、プロセッサ５０３は、対象データを、メモリ５０４内のＡ社のサービスに対応する記憶領域に書き込む（ステップＳ３０９）。対象データを記憶領域に書き込むと、プロセッサ５０３は、書き込みが完了した旨の通知をスクリプト処理エンジンに送信する（ステップＳ３１０）。書き込みが完了した旨の通知を受信すると、スクリプト処理エンジンは、書き込みが完了した旨をブラウザに通知し（ステップＳ３１１）、書き込みスクリプトによる処理を終了する。
【００５９】
認証が失敗した場合（ステップＳ３０８：ＮＯ）、プロセッサ５０３は、対象データをメモリ５０４に書き込まず、認証が失敗した旨の通知をスクリプト処理エンジンに送信する。認証が失敗した旨の通知を受信すると、スクリプト処理エンジンは、認証が失敗した旨をブラウザに通知し（ステップＳ３１３）、書き込みスクリプトによる処理を終了する。上記のステップＳ３０３、Ｓ３１１、Ｓ３１２およびＳ３１３の処理は、書き込みスクリプトに記述された命令に従ってスクリプト処理エンジンが行う処理である。
【００６０】
２−１−４．削除スクリプト
削除スクリプトは、ＩＣカード５００のメモリ５０４内に設定されている記憶領域内のデータを削除し、その記憶領域に対応するサービスをＩＣカード５００から削除するためのスクリプトである。削除スクリプトは、電子マネーや電子チケットを「削除」する際に用いられる。
【００６１】
図１４は、削除スクリプトによる処理を示すシーケンス図である。ステップＳ４００において、ブラウザは、削除スクリプトを読み込む。すなわち、ブラウザは、サービスサーバ３０に対し、削除スクリプトの送信を要求する。携帯電話機１０から削除スクリプトの送信の要求を受信すると、サービスサーバ３０は、削除スクリプトを携帯電話機１０に送信する（ステップＳ４０１）。ブラウザは、読み込んだ削除スクリプトを、スクリプト処理エンジンに渡す（ステップＳ４０２）。
【００６２】
削除スクリプトを受け取ると、スクリプト処理エンジンは、スクリプトに記述された命令に従って処理を行う。ステップＳ４０３において、スクリプト処理エンジンは、リモート発行サーバ４０に対し、削除要求を送信する。削除要求は、リモート発行サーバ４０における処理に用いられる情報、例えばＡ社のサービスを特定する識別子およびユーザ情報を含む。
【００６３】
リモート発行サーバ４０は、削除要求を受信すると、削除処理に用いられる情報（以下「削除情報」という）を生成する（ステップＳ４０４）。削除情報は、例えば、削除すべきサービスおよびユーザを特定する識別子を含む。削除情報を生成すると、リモート発行サーバ４０は、記憶していたユーザ情報を、ＨＤＤ等の記憶手段から削除する。リモート発行サーバ４０は、削除情報を携帯電話機１０に送信する（ステップＳ４０５）。携帯電話機１０のクライアントソフトウェアは、削除情報を受信し、受信した削除情報をスクリプト処理エンジンに引き渡す。
【００６４】
ステップＳ４０６において、スクリプト処理エンジンは、削除情報を用いて削除処理を行う。すなわち、削除スクリプトを実行しているＣＰＵ１０２は、ＩＣカード５００のメモリ５０４に設定されているＡ社のサービス用の領域を削除する命令を、ＩＣチップ５０２に送信する。ＩＣチップ５０２のプロセッサ５０３は、ＣＰＵ１０２からの命令を受けて、メモリ５０４に設定されているＡ社のサービス用の領域に記憶されているすべてのデータを消去（削除）する。
【００６５】
削除処理が完了すると、スクリプト処理エンジンは、削除が完了した旨の通知をリモート発行サーバ４０に送信する（ステップＳ４０７）。この通知は、削除されたサービスおよび携帯電話機１０を特定する識別子を含んでいる。
【００６６】
さらに、スクリプト処理エンジンは、削除されたサービスを特定する情報、この例ではユーザ情報、Ａ社のサービスを特定する識別子および携帯電話機１０を特定する識別子をサービスサーバ３０に送信する（ステップＳ４０８）。サービスサーバ３０は、携帯電話機１０から受信した情報を用いて、ＨＤＤ等の記憶手段に記憶されているデータを削除する（ステップＳ４０９）。情報の削除が完了すると、サービスサーバ３０は、削除が完了した旨の通知を携帯電話機１０に送信する（ステップＳ４１０）。この通知は、サービスが削除された旨を表示するためのＨＴＭＬデータを含んでいる。この通知を受信すると、スクリプト処理エンジンは、通知に含まれるＨＴＭＬデータをブラウザに引き渡し（ステップＳ４１１）、削除スクリプトによる処理を終了する。ブラウザは、取得したＨＴＭＬデータに従った情報を表示する。上記のステップＳ４０３、Ｓ４０６、Ｓ４０７、Ｓ４０８およびＳ４１１の処理は、削除スクリプトに記述された命令に従ってスクリプト処理エンジンが行う処理である。
【００６７】
２−２．動作の具体例
以下、登録スクリプト、読み出しスクリプトまたは書き込みスクリプトを用いた通信システムの動作の具体例を説明する。ここでは、サービスの新規登録、外部リンクの利用、分割決済、および画面メモを用いた処理その１〜その３の６つの具体的な動作例を説明する。
【００６８】
２−２−１．サービスの新規登録
図１５は、携帯電話機１０におけるサービスの新規登録時の動作を示すシーケンス図である。図１６は、図１５の動作に伴ってブラウザが表示する画面を例示する図である。以下、図１５および図１６を参照してサービスの新規登録の動作を説明する。
【００６９】
ステップＳ５０１において、携帯電話機１０のＣＰＵ１０２は、Ａ社のサービスを登録するためのＵＲＬを取得する。この例で、ＵＲＬは、ブラウザプログラムにより取得されたＨＴＭＬデータから取得される。あるいは、ＵＲＬは、配信される電子メール中に含まれてもよい。あるいは、ＣＰＵ１０２は、赤外線通信によりＵＲＬを取得してもよい。さらにあるいは、ＣＰＵ１０２は、ＩＣカード５００の機能により、外部装置であるリーダ／ライタ５１０から送信されるデータをアンテナ５０１を介して受信することによりＵＲＬを取得してもよい。
【００７０】
ステップＳ５０２において、ブラウザは、取得したＵＲＬで特定されるサービスサーバ３０から、ＨＴＭＬデータを取得する。
【００７１】
図１６（Ａ）は、ＨＴＭＬデータに応じて表示部１０７に表示される画面イメージを例示する図である。この例で、表示される画面は、「Ａ社サービスの国」というタイトルの外、「今すぐ登録」、「ポイント確認」および「ユーザ情報」というリンク付きテキストを含んでいる。リンク付きテキストを選択する操作をユーザが行うと、ブラウザは、リンクにより示されるＨＴＭＬデータに応じた画面を表示する。例えば、「今すぐ登録」というリンク付きテキストが選択されると、ブラウザは、ＩＣカード５００にＡ社のサービスの登録に用いられる情報を入力するためのユーザ情報入力画面を表示する。
【００７２】
図１６（Ｂ）は、ユーザ情報入力画面を例示する図である。この例で、Ａ社のサービスの登録には、名前、電話番号および生年月日の３つの情報が用いられる。ユーザ情報入力画面は、名前、電話番号および生年月日の入力に用いられるテキストボックスＢＸ１、ＢＸ２およびＢＸ３を含む。さらに、ユーザ情報入力画面は、「登録する」というボタンを含む。「登録する」というボタンには、Ａ社のサービスを登録するための登録スクリプトのＵＲＬが関連付けられている。「登録する」というボタンを押す操作がユーザにより行われると、ブラウザはそのボタンにリンクされているＵＲＬにより特定されるサービスサーバ３０内の記憶位置から、登録スクリプトのデータをダウンロードする（ステップＳ５０３）。
【００７３】
ステップＳ５０４において、ブラウザは、ダウンロードした登録スクリプトを実行する。ブラウザはスクリプトを実行する機能を有しており、ブラウザが起動されている状態でさらにスクリプトを実行することが可能である。
【００７４】
起動された登録スクリプトは、リモート発行サーバ４０に対し、発券要求を送信する。リモート発行サーバ４０は、発券情報を生成する。リモート発行サーバ４０は、発券情報を携帯電話機１０に送信する。発券情報を受信すると、登録スクリプトは、ＩＣカード５００のメモリ５０４内に新たな記憶領域を設定し、設定した記憶領域に初期データを書き込む（以下この処理を「発券」という）。これらの処理の詳細はすでに図１１で説明したとおりである。
【００７５】
発券処理が完了すると、登録スクリプトは、発券が完了した旨の通知をリモート発行サーバ４０に送信する（ステップＳ５０５）。この通知は、発券されたサービスおよび携帯電話機１０を特定する識別子を含んでいる。さらに、登録スクリプトは、サービスの登録に用いられる情報、この例ではユーザ情報、Ａ社のサービスを特定する識別子および携帯電話機１０を特定する識別子をサービスサーバ３０に送信する（ステップＳ５０６）。サービスサーバ３０は、携帯電話機１０から受信した情報を記憶（登録）する（ステップＳ５０７）。情報の登録が完了すると、サービスサーバ３０は、登録が完了した旨の通知を携帯電話機１０に送信する（ステップＳ５０８）。この通知は、登録された情報を表示するためのＨＴＭＬデータを含んでいる。この通知を受信すると、登録スクリプトは、通知に含まれるＨＴＭＬデータをブラウザに引き渡し、動作を終了する。ステップＳ５０３−Ｓ５０８の処理が行われている間に表示される画面は、図１６（Ｃ）に例示されている。
【００７６】
ステップＳ５０９において、ブラウザは、通知に含まれていたＨＴＭＬデータに従って画面を表示する。図１６（Ｄ）は、ステップＳ５０９において表示される画面を例示する図である。この画面は、「登録が完了しました！」という登録が完了した旨のテキストと、登録されたユーザ情報とを含んでいる。さらにこの画面は「トップへ」というリンク付きテキストを含んでいる。このテキストには、サイトのトップページのＵＲＬが対応付けられている。このリンク付きテキストを選択する操作をユーザが行うと、ブラウザはＵＲＬにより特定されるリソースからＨＴＭＬデータを取得し、取得したＨＴＭＬデータに従って画面を表示する。このＨＴＭＬデータは、Ａ社のサービス（電子マネー）の残高を表示するための残高表示スクリプトを含んでいる。
【００７７】
図１６（Ｅ）は、取得されたＨＴＭＬデータに従って表示される画面を例示する図である。この例で、表示される画面は、「Ａ社サービスの国」というタイトルの外、「お客様のポイント」というテキスト、「３００ｐｔ」という電子マネー残高、および「対応店舗はこちら」というリンク付きテキストを含んでいる。このうち、「３００ｐｔ」という電子マネー残高が、残高表示スクリプトにより表示されたものである。
【００７８】
以上で説明したように、この通信システムによれば、サービスサイトの表示、ユーザ情報の入力、発券処理などの一連の処理が、ブラウザという単一のアプリケーションソフトウェア上で行われる。したがって、シームレスな環境で、ユーザにサービスの新規登録を提供することが可能である。
【００７９】
２−２−２．外部リンクの利用
次に、携帯電話機１０が、ＩＣカード５００のサービスの提供者でないＣ社の、外部リンクを利用したサイト（ショッピングサイト）にアクセスしたときの動作を説明する。Ｃ社のサイトは、ＩＣカード５００のサービス（電子マネー）の提供者であるＡ社およびＢ社が提供するスクリプトへのリンクを外部リンクとして含んでいる。
【００８０】
図１７ＡおよびＢは、携帯電話機１０がＣ社のショッピングサイトにアクセスした時の動作を示すシーケンス図である。図１８は、図１７Ａおよび図１７Ｂの動作に伴ってブラウザが表示する画面を例示する図である。以下、図１７Ａ、図１７Ｂおよび図１８を参照して外部リンクを利用したサービスの動作を説明する。
【００８１】
ステップＳ６０１において、ブラウザは、Ｃ社のサービスサーバ６０からＨＴＭＬデータを取得する。このＨＴＭＬデータは、Ａ社の残高表示スクリプトのＵＲＬ、およびＢ社の残高表示スクリプトのＵＲＬを含んでいる。Ａ社およびＢ社の残高表示スクリプトは、外部リンクとして用いられている。ブラウザは所定の順番、例えばＨＴＭＬデータに記述された順番で、Ａ社の残高表示スクリプトおよびＢ社の残高表示スクリプトを実行する。ここでは、Ａ社の残高表示スクリプト、Ｂ社の残高表示スクリプトの順番でこれらのスクリプトが実行される例について説明する。
【００８２】
図１９は、外部リンクの具体例を例示する図である。この例で、残高表示スクリプトは、ＨＴＭＬのｏｂｊｅｃｔタグを用いて呼び出される。単一のページのＨＴＭＬに、Ａ社の残高表示スクリプトおよびＢ社の残高表示スクリプトの２つのリンクが含まれている。以下、再び図１７Ａ、図１７Ｂおよび図１８を参照して説明する。
【００８３】
ステップＳ６０２において、ブラウザは、ＵＲＬにより特定されるリソース（Ａ社のサービスサーバ３０）から、Ａ社の残高表示スクリプトをダウンロードする。
ステップＳ６０３において、ブラウザは、ダウンロードしたスクリプトを実行する。残高表示スクリプトによる処理は、既に説明したとおりである。
ステップＳ６０４において、ブラウザは、Ａ社の残高表示スクリプトが取得したＡ社のサービスデータを表示する。
【００８４】
ステップＳ６０５において、ブラウザは、ＵＲＬにより特定されるリソース（Ｂ社のサービスサーバ５０）から、Ｂ社の残高表示スクリプトをダウンロードする。
ステップＳ６０６において、ブラウザは、ダウンロードしたスクリプトを実行する。残高表示スクリプトによる処理は、既に説明したとおりである。
ステップＳ６０７において、ブラウザは、Ｂ社の残高表示スクリプトが取得したＢ社のサービスデータを表示する。
【００８５】
図１８（Ａ）は、ＨＴＭＬデータに従って表示される画面を例示する図である。この画面は、タイトルを示すテキスト「Ｃ社ショッピング」と、ポイントの情報を示すテキスト「Ｃ社ポイント：５００ｐｔ」と、商品の内容（属性）を示すテキスト「Ｇ×Ｔ戦チケット  ３枚」および「価格：４，５００円」ならびに商品の画像と、Ａ社の残高スクリプトにより取得されたＡ社の残高データを示すテキスト「Ａ社マネー：￥３，０００」と、Ｂ社の残高スクリプトにより取得されたＢ社の残高データを示すテキスト「Ｂ社マネー：￥１１，８００」と、リンク付きテキスト「Ａ社マネーで決済」および「Ｂ社マネーで決済」とを含んでいる。テキスト「Ａ社マネーで決済」および「Ｂ社マネーで決済」には、それぞれＡ社の決済スクリプトのＵＲＬおよびＢ社の決済スクリプトのＵＲＬが対応付けられている。
【００８６】
ステップＳ６０８において、ブラウザは、ユーザの指示に応じて次の処理を決定する。ユーザがリンク付きテキスト「Ａ社マネーで決済」を選択した場合（Ｓ６０８：Ａ）、ブラウザは、処理をステップＳ６０９に移行する。ユーザがリンク付きテキスト「Ｂ社マネーで決済」を選択した場合（Ｓ６０８：Ｂ）、ブラウザは、処理をステップＳ６１２に移行する。
【００８７】
ステップＳ６０９において、ブラウザは、テキスト「Ａ社マネーで決済」に対応付けられたＵＲＬにより特定されるリソースから、Ａ社の決済スクリプトをダウンロードする。
ステップＳ６１０において、ブラウザは、ダウンロードしたスクリプトを実行する。決済スクリプトの処理は既に図１２で説明したとおりである。決済処理が完了すると、Ａ社の決済スクリプトは、決済処理が完了した旨をブラウザに通知する。
決済スクリプトから決済処理が完了した旨の通知を受けると、ブラウザは、決済処理が完了した旨の通知をサービスサーバ６０に送信する（ステップＳ６１１）。
【００８８】
携帯電話機１０のブラウザから決済処理が完了した旨の通知を受信すると、サービスサーバ６０は、商品の購入処理を行う（ステップＳ６１５）。購入処理が完了すると、サービスサーバ６０は、購入処理が完了した旨の通知をブラウザに送信する（ステップＳ６１６）。
図１８（Ｂ）は、ステップＳ６０９−Ｓ６１６の処理が行われている間にブラウザが表示する画面を例示する図である。このように、ブラウザは、処理の進行状況を表示する。
【００８９】
サービスサーバ６０から購入処理が完了した旨の通知を受信すると、ブラウザは、その旨を表示する（ステップＳ６１７）。
図１８（Ｃ）は、ステップＳ６１７においてブラウザが表示する画面を例示する図である。購入処理が完了すると、ブラウザは、購入処理が完了した旨のテキストを表示する。
【００９０】
ステップＳ６１２において、ブラウザは、テキスト「Ｂ社マネーで決済」に対応付けられたＵＲＬにより特定されるリソースから、Ｂ社の決済スクリプトをダウンロードする。Ｂ社の決済スクリプトを取得すると、ブラウザは、処理をステップＳ６１３に移行する。
ステップＳ６１３において、ブラウザは、ダウンロードしたスクリプトを実行する。決済スクリプトの処理は既に図１２で説明したとおりである。決済処理が完了すると、Ｂ社の決済スクリプトは、決済処理が完了した旨をブラウザに通知する。
決済スクリプトから決済処理が完了した旨の通知を受けると、ブラウザは、決済処理が完了した旨の通知をサービスサーバ６０に送信する（ステップＳ６１４）。
【００９１】
以上で説明したように、この通信システムによれば、ネットショッピングの際、利用可能な電子マネーの残高の表示、決済処理などの一連の処理が、ブラウザという単一のアプリケーションソフトウェア上で行われる。したがって、シームレスな環境で、ユーザにサービスを提供することが可能である。
【００９２】
なお、ショッピングサイトに外部リンクとして含まれるスクリプトは、決済スクリプトに限定されない。電子マネーをチャージするチャージスクリプトなど、決済スクリプト以外のスクリプトが用いられてもよい。図１８（Ｄ）は、チャージスクリプトの実行に用いられる情報を入力するための画面を例示する図である。この画面は、タイトルを示すテキスト「Ａ社マネー」と、残高スクリプトにより取得された残高データを示すテキスト「残高：３，０００円」と、「チャージ金額」というテキストと対応して配置された、チャージ金額を入力するテキストボックスＢＸ４（この例では「３０，０００円」という値が入力されている）と、「チャージ方法」というテキストと対応して配置された、チャージ方法を入力するプルダウンメニューＢＸ５（この例では「クレジットカード」が選択されている）と、前の画面のＵＲＬとリンクされたボタン「戻る」と、Ａ社のチャージスクリプトのＵＲＬとリンクされたボタン「決定」とを含んでいる。
【００９３】
ユーザがリンク付きボタン「決定」を選択する操作を行うと、ブラウザは、ボタン「決定」にリンクされたＵＲＬにより特定されるリソース（この例ではサービスサーバ３０）からチャージスクリプトをダウンロードする。ブラウザは、ダウンロードしたスクリプトを実行する。チャージスクリプトの処理は既に図１２で説明したとおりである。チャージ処理が完了すると、Ａ社のチャージスクリプトは、チャージ処理が完了した旨をブラウザに通知する。チャージ処理が完了した旨を通知されると、ブラウザは、チャージ処理が終了した旨を示す画面を表示する。
【００９４】
図１８（Ｅ）は、チャージ処理が実行されているときにブラウザが表示する画面を例示する図である。図１８（Ｆ）は、チャージ処理が完了した後でブラウザが表示する画面を例示する図である。この画面は、ユーザへのメッセージを示すテキスト「チャージが完了しました！」と、「Ａ社マネー残高」というテキストと対応して配置された、残高表示スクリプトにより取得された残高データを示すテキスト「３３，０００円」と、図１８（Ａ）の画面のＵＲＬとリンクされたテキスト「商品画面に戻る」とを含んでいる。ユーザがリンク付きテキスト「商品画面に戻る」を選択する操作を行うと、ブラウザは、処理をステップＳ６０１に移行する。
【００９５】
２−２−３．分割決済
次に、携帯電話機１０が、分割決済、すなわち、Ａ社マネーおよびＢ社マネーの２つのサービスを用いて１つの商品の決済を行う例を説明する。この例は、２−２−２節で既に説明した「外部リンクの利用」の動作と共通する事項が多いので、「外部リンクの利用」の動作と共通する部分については説明を省略する。
【００９６】
図２０Ａおよび図２０Ｂは、携帯電話機１０が分割決済を行う時の動作を示すシーケンス図である。図２１は、図２０Ａおよび図２０Ｂの動作に伴ってブラウザが表示する画面を例示する図である。以下、図２０Ａ、図２０Ｂおよび図２１を参照して分割決済の動作を説明する。
【００９７】
ステップＳ７０１において、ブラウザは、サービスサーバ６０からＨＴＭＬデータを取得する。このＨＴＭＬデータは、Ａ社の残高表示スクリプトのＵＲＬ、およびＢ社の残高表示スクリプトのＵＲＬを外部リンクとして含んでいる。以下、図１７ＡのステップＳ５０２−Ｓ５０７と同様の処理が行われる。
【００９８】
図２１（Ａ）は、ＨＴＭＬデータに従って表示される画面を例示する図である。この画面は、図１８（Ａ）で説明した要素に加えて、分割決済に用いられる情報を入力するためのＨＴＭＬデータ（以下、「分割決済用ＨＴＭＬデータ」という）のＵＲＬとリンクされたボタン「分割決済」を含んでいる。ユーザがボタン「分割決済」を押す操作を行った場合（Ｓ７０２：ＹＥＳ）、ブラウザは、処理をステップＳ７０３に移行する。それ以外の操作が行われた場合（Ｓ７０２：ＮＯ）、ブラウザは、図１７と同様の処理を行う。
【００９９】
ステップＳ７０３において、ブラウザは、分割決済用ＨＴＭＬデータをサービスサーバ６０からダウンロードする。ブラウザは、ダウンロードしたＨＴＭＬデータに従って画面を表示する（ステップＳ７０４）。
【０１００】
図２１（Ｂ）は、ステップＳ７０４においてブラウザが表示する画面を例示する図である。この画面はＡ社の残高表示スクリプトにより取得された残高データを示すテキスト「Ａ社マネー残高：３，０００円」と、Ｂ社の残高表示スクリプトにより取得された残高データを示すテキスト「Ｂ社マネー残高：１１，８００円」と、Ａ社マネーから決済する金額を入力するテキストボックスＢＸ６と、Ｂ社マネーから決済する金額を入力するテキストボックスＢＸ７と、分割決済処理を開始させるイベントが割り当てられたボタン「実行」とを含んでいる。
【０１０１】
ユーザはキーパッド４を操作し、テキストボックスＢＸ６およびＢＸ７にＡ社マネーから決済する金額およびＢ社マネーから決済する金額を入力する。図２１（Ｂ）の例では、Ａ社マネーから決済する金額として「３，０００円」が、Ｂ社マネーから決済する金額として「１，５００円」が入力されている。この状態でボタン「実行」を押す操作をユーザが行った場合、ブラウザは、処理をステップＳ７０５に移行する。
【０１０２】
ステップＳ７０５において、ブラウザは、テキストボックスに入力されたパラメータ（Ａ社マネーから決済する金額およびＢ社マネーから決済する金額。以下、「分割決済額」という）が、あらかじめ決められた制約条件を満たしているか判断する。この制約条件は、残高に関するものであり、例えば、Ａ社マネーから決済する金額およびＢ社マネーから決済する金額がそれぞれＡ社マネーの残高およびＢ社マネーの残高以下であるというものである。制約条件が満たされていると判断された場合（Ｓ７０５：ＹＥＳ）、ブラウザは、処理をステップＳ７０７に移行する。制約条件が満たされていないと判断された場合（Ｓ７０５：ＮＯ）、ブラウザは、サービスサーバ６０にエラーメッセージを送信する。エラーメッセージを受信すると、サービスサーバ６０は、エラー処理を行う（ステップＳ７０６）。
【０１０３】
ステップＳ７０７において、ブラウザは、分割決済額のデータを、サービスサーバ６０に送信する。携帯電話機１０から分割決済額のデータを受信すると、サービスサーバ６０は、分割決済額のデータがあらかじめ決められた制約条件を満たしているか判断する（ステップＳ７０８）。この制約条件は、分割決済額の合計に関するものであり、例えば、Ａ社マネーから決済する金額とＢ社マネーから決済する金額の和が購入しようとする商品の金額と等しいというものである。制約条件が満たされていると判断された場合（Ｓ７０８：ＹＥＳ）、サービスサーバ６０は、Ａ社マネーの決済を指示するＨＴＭＬデータを、携帯電話機１０に送信する（ステップＳ７０９）。制約条件が満たされていないと判断された場合（Ｓ７０８：ＮＯ）、サービスサーバ６０は、エラー処理を行う（ステップＳ７１０）。
【０１０４】
Ａ社マネーの決済を指示するＨＴＭＬデータを受信すると、ブラウザは、Ａ社の決済スクリプトを取得する（ステップＳ７１１）。ブラウザは、Ａ社の決済スクリプトを実行する（ステップＳ７１２）。決済スクリプトによる処理の詳細は既に説明したとおりである。Ａ社マネーの決済が完了すると、ブラウザは、Ａ社マネーの決済が完了したことをサービスサーバ６０に通知する（ステップＳ７１３）。Ａ社マネーの決済が完了した通知を受信すると、サービスサーバ６０は、Ｂ社マネーの決済を指示するＨＴＭＬデータを、携帯電話機１０に送信する（ステップＳ７１４）。
【０１０５】
Ｂ社マネーの決済を指示するＨＴＭＬデータを受信すると、ブラウザは、Ｂ社の決済スクリプトを取得する（ステップＳ７１５）。ブラウザは、Ｂ社の決済スクリプトを実行する（ステップＳ７１６）。決済スクリプトによる処理の詳細は既に説明したとおりである。Ｂ社マネーの決済が完了すると、ブラウザは、Ｂ社マネーの決済が完了したことをサービスサーバ６０に通知する（ステップＳ７１７）。ステップＳ７１２およびＳ７１６の処理により、Ａ社マネーから３，０００円、Ｂ社マネーから１，５００円の合計４，５００円が決済される。
【０１０６】
Ｂ社マネーの決済が完了した旨の通知を受信すると、サービスサーバ６０は、商品の購入処理を行う（ステップＳ７１８）。購入処理が完了すると、サービスサーバ６０は、購入処理が完了した旨の通知をブラウザに送信する（ステップＳ７１９）。サービスサーバ６０から購入処理が完了した旨の通知を受信すると、ブラウザは、その旨を表示する（ステップＳ７２０）。
【０１０７】
以上で説明したように、この通信システムによれば、ネットショッピングの際、利用可能な電子マネーの残高の表示、決済処理などの一連の処理が、ブラウザという単一のアプリケーションソフトウェア上で行われる。さらに、電子マネーの残高が不足している場合でも、複数の電子マネーで分割決済をすることにより、シームレスな環境で、ユーザにサービスを提供することが可能である。
【０１０８】
２−２−４．画面メモを用いた処理  その１
ここでは、ブラウザが、画面メモにより保存したＨＴＭＬデータを用いてスクリプトを実行する例を説明する。「画面メモ」とは、ブラウザが表示している画面のＨＴＭＬデータを不揮発性メモリ等の記憶手段に記憶すること、またはこのように記憶されたデータをいう。
【０１０９】
例えば、ブラウザが図１８（Ａ）の画面を表示しているときに、この画面を画面メモとして保存することを指示する操作をユーザが行った場合、ブラウザは、この画面のＨＴＭＬデータを、この画面を特定する識別子とともに不揮発性メモリに記憶する。このとき、ブラウザは、この画面のＨＴＭＬデータに加え、このＨＴＭＬデータにリンクが含まれるスクリプト（図１８（Ａ）の例では、Ａ社の残高表示スクリプトおよびＢ社の残高表示スクリプト）も不揮発性メモリに記憶する。スクリプトは、リンクを示す識別子とともに不揮発性メモリに記憶される。画面メモは、ブラウザが終了した後も不揮発性メモリに記憶されている。
【０１１０】
図２２は、画面メモのリスト画面を例示する図である。この例では識別子「Ｇ×Ｔ戦  ３枚」および「１１月２８日のニュース」にそれぞれ対応する画面が画面メモとして記憶されている。識別子「Ｇ×Ｔ戦  ３枚」には、図１８（Ａ）の画面のＨＴＭＬデータおよびこのＨＴＭＬデータに含まれるスクリプトが対応している。表示させる画面をこのリストの中から選択する操作をユーザが行うと、ＯＳは、選択された画面を表示させるためにブラウザを起動する。
【０１１１】
識別子「Ｇ×Ｔ戦  ３枚」が選択された場合、ブラウザは、図１８（Ａ）に示される画面を表示する。以下、図１７のフローに従って処理が行われる。ただし、この場合、ブラウザは、リンクにより示されるリソースからスクリプトを取得する前に、不揮発性メモリにスクリプトが記憶されているか検索する。リンクに対応するスクリプトが不揮発性メモリに記憶されている場合、ブラウザは、不揮発性メモリからスクリプトを読み出す。リンクに対応するスクリプトが不揮発性メモリに記憶されていない場合、ブラウザは、リンクにより示されるリソースからスクリプトを取得する。この例によれば、画面メモとして記憶されたＨＴＭＬデータが読み出されたとき、改めてスクリプトが実行される。すなわち、画面メモを記憶した時点ではなく、画面メモとして記憶されたＨＴＭＬデータが読み出された時点のＩＣカード５００のデータが読み出される。
【０１１２】
２−２−５．画面メモを用いた処理  その２
ここでは、画面メモを用いた処理の別の例を説明する。この例では、画面メモの対象となるＨＴＭＬデータがスクリプトを含む場合、ブラウザは、スクリプトそれ自体ではなく、スクリプトを実行した結果を、ＨＴＭＬデータとともに不揮発性メモリに記憶する。図１８（Ａ）の画面が画面メモとして保存された場合、Ａ社の残高表示スクリプトおよびＢ社の残高表示スクリプトそれ自体ではなく、Ａ社の残高表示スクリプトを実行した結果（「３，０００円」という残高）およびＢ社の残高表示スクリプトを実行した結果（「１１，８００円」という残高）が記憶される。すなわち、２−２−４節で説明した処理によれば、画面メモとして記憶された画面を「表示させた時点」でのＩＣカード５００のサービスデータに応じた内容（すなわち現在のデータ）が表示されるのに対し、この例によれば、画面を画面メモとして「記憶させた時点」でのＩＣカード５００のサービスデータに応じた内容（すなわち過去のデータ）が表示される。すなわち、この例によれば、画面メモを記憶させた時点の実行結果が表示され、ＩＣカード５００へのアクセスは行われない。ＩＣカード５００へのアクセスが行われないので、これに関連する通信が行われない。すなわち、オフラインの状態でも結果が表示される。
【０１１３】
２−２−６．画面メモを用いた処理  その３
ここでは、画面メモを用いた処理のさらに別の例を説明する。この例では、携帯電話機１０は、画面メモのデータを他の携帯電話機１０に送信する。具体的には以下のとおりである。
【０１１４】
表示している画面を画面メモとして保存することが指示されると、ブラウザは、その画面のＨＴＭＬデータを不揮発性メモリに記憶する。このとき、ブラウザは、画面メモのデータを電子メールに添付可能な書式で記憶する。
【０１１５】
その後、メーラから、ファイルまたはフォルダの一覧を表示する要求があると、ＯＳは、画面メモのデータまたは画面メモのデータに対応するフォルダを示す情報を、一覧に含めてメーラに提供する。ユーザがこの一覧の中から画面メモのデータを選択する操作を行うと、メーラは、選択された画面メモのデータを添付データとして他の携帯電話機１０に電子メールを送信する。
【０１１６】
画面メモのデータが添付された電子メールを受信した他の携帯電話機１０は、携帯電話機１０から受信した画面メモのデータを用いて、２−２−４節または２−２−５節で説明した処理を行う。
【０１１７】
なお、画面メモを他の携帯電話機１０に送信する方法は電子メールを用いるものに限定されない。赤外線通信、リーダ／ライタ５１０を介した通信、ＢｌｕｅＴｏｏｔｈ（登録商標）等の短距離無線通信、またはメモリカード等の外部記憶媒体を用いて、画面メモのデータを他の携帯電話機１０に送ってもよい。
【０１１８】
３．セキュリティ
次に、以上で説明したサービスのセキュリティについて説明する。これまで詳しい説明は省略したが、スクリプトによるＩＣカード５００へのアクセスにおいては、暗号化技術が用いられる。
【０１１９】
図２３は、通信システムにおいて用いられる暗号化技術の概要を示す図である。認証局ＣＡは、所定の事業者（例えば携帯電話機１０の回線事業者）により管理および運営される認証局である。認証局ＣＡは、認証局の秘密鍵ＫｐｒＣＡおよび公開鍵ＫｐｕｂＣＡを発行する。さらに、認証局ＣＡは、携帯電話機１０に対して電子証明書Ｓｍを発行する。電子証明書Ｓｍは、認証局ＣＡの電子署名および公開鍵ＫｐｕｂＣＡを含んでいる。携帯電話機１０は、電子証明書Ｃｍを記憶している。
【０１２０】
認証局ＣＡは、サービス提供事業者に対して、秘密鍵ＫｐｒＣＰおよび公開鍵ＫｐｕｂＣＰを発行する。図２３では、サービスサーバ３０を運営するＡ社がサービス提供事業者として例示されている。鍵の発行を受けているサービス提供事業者は、認証局ＣＡに対し、ＩＣカードサービスの利用申請をする。この利用申請は、公開鍵ＫｐｕｂＣＰを含む。認証局ＣＡは、利用申請を受けて、電子証明書ＳＣＰおよびサービス提供事業者のＩＤを示すＩＤデータを発行する。電子証明書ＳＣＰは、認証局ＣＡの電子署名および公開鍵ＫｐｕｂＣＰを含んでいる。認証局ＣＡの電子署名は、ハッシュ関数による公開鍵ＫｐｕｂＣＰのメッセージダイジェストを秘密鍵ＫｐｒＣＡで暗号化したものである。サービスサーバ３０は、秘密鍵ＫｐｒＣＰ、公開鍵公開鍵ＫｐｕｂＣＰ、電子証明書ＳＣＰおよびＩＤデータを記憶する。
【０１２１】
サービスサーバ３０が携帯電話機１０に送信するスクリプトは、実行コード（スクリプト本体）と、電子証明書ＳＣＰと、ＩＤデータとがパッケージされたものである。スクリプトを受信すると、携帯電話機１０は、パッケージから電子証明書ＳＣＰを抽出する。携帯電話機１０は、抽出した電子証明書ＳＣＰに含まれる電子署名を、電子証明書Ｃｍに含まれる公開鍵ＫｐｕｂＣＡで復号化し、メッセージダイジェストを取得する。さらに、携帯電話機１０は、電子証明書Ｃｍに含まれる公開鍵ＫｐｕｂＣＡにハッシュ関数を適用し、メッセージダイジェストを生成する。携帯電話機１０は、生成したメッセージダイジェストと、復号化により取得したメッセージダイジェストとを比較する。両者が一致した場合、携帯電話機１０は、スクリプトが正当なものであると判断し、実行コードを実行する。両者が一致しなかった場合、携帯電話機１０は、スクリプトが不正なものであると判断し、実行コードを実行しない。携帯電話機１０においてこれらの処理は、ソフトウェアにより行われる。
【０１２２】
以上はサービスサーバ３０から受信したスクリプトの正当性を確認する技術であるが、ＩＣカード５００とリモート発行サーバ４０との間においても、同様に暗号化技術を用いた通信が行われる。ＩＣカード５００は、暗号化通信のためのソフトウェアを記憶しており、これを用いてリモート発行サーバ４０と暗号化通信を行う。なお、上記で説明した暗号化通信の具体的処理はあくまで一例であり、通信相手の正当性を確認できるものであれば、これ以外の暗号化技術が用いられてもよい。
【０１２３】
４．他の実施形態
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち２つ以上のものが組み合わせて用いられてもよい。
【０１２４】
４−１．変形例１
実施形態において、ＩＣカード５００にアクセスするためのスクリプトは、登録スクリプト、残高表示スクリプト、決済スクリプト、チャージスクリプトなど、その機能に応じて複数用意されていた。しかし、サービス提供事業者が用意するスクリプトは、１つであってもよい。この場合、単一のスクリプトが、残高を表示するためのメソッド（以下「残高表示メソッド」という）、決済をするためのメソッド（以下「決済メソッド」という）、チャージをするためのメソッド（以下「チャージメソッド」という）など、複数のメソッドを有している。ＨＴＭＬデータは、スクリプトのＵＲＬに加え、実行するメソッドを指定する情報を含む。ブラウザは、スクリプトのうち、ＨＴＭＬデータにより指定されるメソッドを実行する。
【０１２５】
すなわち、スクリプトは、ＩＣカード５００の複数の記憶領域のうち一の記憶領域からデータを読み出す処理を実行するための第１のメソッドと、一の記憶領域にデータを書き込む処理を実行するための第２のメソッドとを含む複数のメソッドを有していてもよい。
【０１２６】
４−２．変形例２
実施形態で説明したように、複数のスクリプトが用いられる場合において、複数のスクリプトは、処理に応じて分けられるのではなく、処理の内容により求められるセキュリティレベルに応じて分けられてもよい。例えば、決済やチャージのようにデータの書き込みを行う処理は、残高表示のような単なるデータの読み出し処理と比較するとより高いセキュリティレベルが要求される。したがって、サービス事業者は、残高表示メソッドを含む第１のスクリプトと、決済メソッドおよびチャージメソッドを含む第２のスクリプトを用意してもよい。この場合、第２のスクリプトは、より強度が高い暗号鍵を用いたり、あるいはより複雑な認証アルゴリズムを用いたりする等の手法により、第１のスクリプトとセキュリティレベルが異なっている。
【０１２７】
４−３．変形例３
実施形態においては、サービスを提供するためのプログラムおよびデータは、ブラウザおよびＨＴＭＬデータに限定されない。特定の書式で記述された特定データと、ネットワークから特定の書式で記述された特定データを通信手段を介して受信し、受信した特定データに応じた情報を表示手段に表示させるためのプログラムであれば、どのようなプログラムおよびデータが用いられてもよい。
【０１２８】
４−４．変形例４
図１１−１４において、各スクリプトの動作を、スクリプト自体の機能と、スクリプトから呼び出されるＡＰＩやデバイスドライバの機能とに分けて説明したが、機能の分配は実施形態で説明したものに限定されない。例えば、実施形態でＡＰＩの機能として説明された機能を実現するための命令群が、スクリプト本体に記述されていてもよい。すなわち、スクリプト本体がその機能を有していてもよい。あるいは、実施形態でスクリプトの機能として説明された機能を実現するための命令群が、スクリプト本体以外のＡＰＩ、モジュール、他のスクリプト、関数等に記述されていてもよい。要は、スクリプト本体に直接または間接的に記述されている命令群により、図１１−１４の処理が実現されるのであれば、ソフトウェア間の役割分担はどのようなものでもよい。
【０１２９】
４−５．変形例５
上述の「画面メモを用いた処理  その１」の例では、ＨＴＭＬデータとともにスクリプトが記憶手段に記憶された。しかし、スクリプトは記憶手段に記憶されなくてもよい。この場合、ブラウザが画面メモとして記憶されているＨＴＭＬデータを読み出す。スクリプトは、読み出したＨＴＭＬデータに含まれる所在情報に基づいて取得される。すなわち、画面メモを読み出したタイミングでスクリプトが取得され、実行される。
【０１３０】
４−６．変形例６
ＨＴＭＬデータを表示する機能とスクリプトを実行する機能の分担は、実施形態に記載されたものに限定されない。実施形態においては、スクリプトを実行するためのスクリプト処理エンジンはブラウザの機能の一部であったが、スクリプト処理エンジンはブラウザとは別のプログラムであってもよい。要は、ブラウザからスクリプト処理エンジンを呼び出せる構成になっていればよい。
【０１３１】
４−７．変形例７
スクリプトを記述するプログラミング言語はＪａｖａスクリプトに限定されない。Ｃ＋＋など、他のオブジェクト指向プログラミング言語や、Ｆｌａｓｈなどブラウザ上のコンテンツが用いられてもよい。あるいは、非オブジェクト指向プログラミング言語が用いられてもよい。
【０１３２】
４−８．変形例８
スクリプトの所在を示す所在情報は、ＵＲＬに限定されない。スクリプトの所在を特定できるのであれば、どのような情報が用いられてもよい。
【０１３３】
４−９．変形例９
本稿でいう「ＩＣカード」は、必ずしもカード型の形状を有していなくてもよい。「カード」とはＩＣカード５００の機能を象徴する語であって、形状を特定するものではない。ＩＣカードは、アンテナと、個別にアクセス制限を設定可能な複数の記憶領域を有するメモリと、アンテナからの信号または第１の制御手段（実施形態ではＣＰＵ１０２）からの信号に応じてメモリにアクセスする第２の制御手段（実施形態ではプロセッサ５０３）とを有するものであれば、その形状はどのようなものであってもよい。また、ＩＣカード５００のメモリ５０４の記憶領域の構成は、図５に示したものに限定されない。メモリ５０４は、自由領域を有していなくてもよい。あるいは、メモリ５０４は、自由領域に加えてさらに別の第３の領域を有していてもよい。
【０１３４】
４−１０．変形例１０
上述の実施形態においてＣＰＵ１０２によって実行されるプログラムは、磁気記録媒体（磁気テープ、磁気ディスク（ＨＤＤ（Hard Disk Drive）、ＦＤ（Flexible Disk））など）、光記録媒体（光ディスク（ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk））など）、光磁気記録媒体、半導体メモリ（フラッシュＲＯＭなど）などのコンピュータ読取り可能な記録媒体に記憶した状態で提供されてもよい。また、このプログラムは、インターネットのようなネットワーク経由でダウンロードされてもよい。
【符号の説明】
【０１３５】
３…ヒンジ、４…キーパッド、５…マイクロホン、６…スピーカ、７…アンテナ、８…表示装置、１０…携帯電話機、２０…管理サーバ、３０…サービスサーバ、４０…リモート発行サーバ、５０…サービスサーバ、６０…サービスサーバ、７０…ネットワーク、１０２…ＣＰＵ、１０３…ＲＯＭ、１０４…ＲＡＭ、１０５…記憶部、１０６…操作部、１０７…表示部、１０８…通信部、１０９…バス、１１１…ＯＳ、１２１…クライアントソフトウェア、１２２…デバイスドライバ、１３０…ブラウザ、１３１…スクリプト処理エンジン、５００…ＩＣカード、５０１…アンテナ、５０２…ＩＣチップ、５０３…プロセッサ、５０４…メモリ、５０５…信号線、５１０…リーダ／ライタ
【図１】
2010193201.tif 000003
【図２】
2010193201.tif 000004
【図３】
2010193201.tif 000005
【図４】
2010193201.tif 000006
【図５】
2010193201.tif 000007
【図６】
2010193201.tif 000008
【図７】
2010193201.tif 000009
【図８】
2010193201.tif 000010
【図９】
2010193201.tif 000011
【図１０】
2010193201.tif 000012
【図１１】
2010193201.tif 000013
【図１２】
2010193201.tif 000014
【図１３】
2010193201.tif 000015
【図１４】
2010193201.tif 000016
【図１５】
2010193201.tif 000017
【図１６】
2010193201.tif 000018
【図１７Ａ】
2010193201.tif 000019
【図１７Ｂ】
2010193201.tif 000020
【図１８】
2010193201.tif 000021
【図１９】
2010193201.tif 000022
【図２０Ａ】
2010193201.tif 000023
【図２０Ｂ】
2010193201.tif 000024
【図２１】
2010193201.tif 000025
【図２２】
2010193201.tif 000026
【図２３】
2010193201.tif 000027