(57)【特許請求の範囲】
【請求項１】
プログラムの配信要求を送信する手段を有する移動体端末と、
前記移動体端末に内蔵あるいは接続された記憶モジュールと、
前記配信要求を受信し、配信対象であるプログラムを送信するコンテンツサーバと、
前記コンテンツサーバから前記プログラムを受信し、前記コンテンツサーバが予め許可されたコンテンツサーバである場合に限り、前記コンテンツサーバから受信したプログラムを前記移動体端末に内蔵あるいは接続された記憶モジュールに送信する配信管理サーバと、
前記記憶モジュールに固有の第１の暗号鍵を格納する認証サーバと
を具備し、
前記コンテンツサーバは、前記配信要求を受信したとき、前記第１の暗号鍵を前記認証サーバから取得し、これを用いて配信対象であるプログラムを暗号化し、さらに予め取得した第２の暗号鍵を用いて暗号化し、前記配信管理サーバに送信し、
前記配信管理サーバは、前記コンテンツサーバから受信した暗号化されたプログラムを前記第２の暗号鍵を用いて復号化して、前記第１の暗号鍵のみによって暗号化されたプログラムを生成し、前記復号化に成功した場合に限り、前記復号化によって得られたプログラムを前記記憶モジュールに送信し、
前記記憶モジュールは、
記憶部と、
前記移動体端末を介して前記配信管理サーバから受信されたプログラムを復号化し、当該復号化に成功した場合に限り、復号化により得られたプログラムを前記記憶部に記憶し、要求に応じて、前記記憶部に記憶されたプログラムを実行する制御部と
を具備する
ことを特徴とするプログラム配信システム。
【請求項２】
前記記憶モジュールは、プログラムとともに当該プログラムによって使用されるデータを記憶することを特徴とする請求項１に記載のプログラム配信システム。
【請求項３】
前記配信管理サーバは、前記記憶モジュールにプログラムを配信した時点で課金処理を開始する課金処理部を備えたことを特徴とする請求項１に記載のプログラム配信システム。
【請求項４】
前記課金処理部は、前記記憶モジュールの貸与料についての課金を行うことを特徴とする請求項３に記載のプログラム配信システム。
【請求項５】
前記配信管理サーバは、前記記憶モジュールのためのプログラムを保持した時点で課金処理を開始する課金処理部を具備することを特徴とする請求項１に記載のプログラム配信システム。
【請求項６】
前記課金処理部は、前記記憶モジュールの貸与料についての課金を行うことを特徴とする請求項５に記載のプログラム配信システム。
【請求項７】
前記配信管理サーバは、他の装置からの要求によりアクティベーション指示を前記記憶モジュールに送信し、
前記記憶モジュールは、前記アクティベーション指示を受信したとき、前記記憶モジュールに記憶されており、前記アクティベーション指示によって指示されたプログラムを実行可能な状態にすることを特徴とする請求項１に記載のプログラム配信システム。
【請求項８】
前記配信管理サーバは、他の装置からの要求によりディアクティベーション指示を前記記憶モジュールに送信し、
前記記憶モジュールは、前記ディアクティベーション指示を受信したとき、前記記憶モジュールに記憶されており、前記ディアクティベーション指示によって指示されたプログラムを実行不能な状態にすることを特徴とする請求項１に記載のプログラム配信システム。
【請求項９】
前記配信管理サーバは、他の装置からの要求により削除指示を前記記憶モジュールに送信し、
前記記憶モジュールは、前記削除指示を受信したとき、前記記憶モジュールから前記削除指示によって指示されたプログラムを削除することを特徴とする請求項１に記載のプログラム配信システム。
【請求項１０】
前記配信管理サーバは、前記記憶モジュール宛てに送った情報に基づいて、前記記憶モジュール内におけるプログラムの状態を管理する手段を具備することを特徴とする請求項１に記載のプログラム配信システム。
【請求項１１】
前記配信管理サーバは、前記記憶モジュールに関するバージョン情報を取得し、該バージョン情報に基づいて前記プログラムの配信を行うか否かを判断することを特徴とする請求項１に記載のプログラム配信システム。
【請求項１２】
前記移動体端末は、移動通信網を利用した通信を行うための第１の通信部と、
前記第１の通信部とは異なる第２の通信部とを具備し、
前記記憶モジュールの制御部は、前記記憶モジュールに記憶されたプログラムに従って前記第２の通信部を利用した通信を行う手段を具備することを特徴とする請求項１に記載のプログラム配信システム。
【請求項１３】
プログラムの配信要求を送信する手段を有する移動体端末と、
前記移動体端末に内蔵あるいは接続された記憶モジュールと、
前記配信要求を受信し、配信対象であるプログラムが予め許可されたコンテンツサーバによって提供されているプログラムである場合に、該プログラムを取得して前記移動体端末に内蔵あるいは接続された記憶モジュール宛てに送信する配信管理サーバと
を具備し、
前記記憶モジュールは、
プログラムを格納するための複数の基本ブロックを有する記憶部と、
前記移動体端末を介して情報を受信し、該情報が前記配信管理サーバから受信されたプログラムである場合に限って前記記憶部に記憶し、要求に応じて、前記記憶部に記憶されたプログラムを実行する制御部と
を具備し、
前記配信管理サーバは、
前記複数の基本ブロックに対応した複数の領域を有し、当該複数の領域のいずれかに前記記憶モジュールに送信したプログラムを特定するポインタデータを記憶する実配信情報記憶部と、
前記記憶モジュールへの配信が可能であるが現在は前記記憶モジュールに記憶されていないプログラムを特定するポインタデータを記憶する仮想配信情報記憶部と、
前記仮想配信情報記憶部に記憶されたポインタデータによって特定されたプログラムを前記記憶モジュールへ送信したとき、当該プログラムを特定するポインタデータを前記仮想情報配信記憶部から前記実配信情報記憶部に移動させる制御部と
を具備する
ことを特徴とするプログラム配信システム。
【請求項１４】
前記配信管理サーバは、前記コンテンツサーバから取得可能なプログラムの所在を示すアドレス情報または前記コンテンツサーバから取得したプログラムを記憶するプログラム情報記憶部を具備し、前記実配信情報記憶部または前記仮想配信情報記憶部に記憶されたポインタデータによって特定されたプログラムの前記記憶モジュールへの配信が要求されたとき、当該プログラムを前記プログラム情報記憶部を利用して取得し、前記記憶モジュールに配信することを特徴とする請求項１３に記載のプログラム配信システム。
【請求項１５】
前記移動体端末は、メニューリスト要求を送信する手段を具備し、
前記配信管理サーバは、前記メニューリスト要求に応じて、前記移動体端末に内蔵または接続された記憶モジュールのために前記実配信情報記憶部および前記仮想配信情報記憶部に記憶されたポインタデータを参照し、該ポインタデータによって特定されるプログラムのリストを生成し、前記移動体端末に送信することと特徴とする請求項１３に記載のプログラム配信システム。
【請求項１６】
配信先に固有の第１の暗号鍵による暗号化と、プログラム配信が許可されたコンテンツサーバに固有の第２の暗号鍵による暗号化とを経たプログラムを前記コンテンツサーバから受信する手段と、
前記コンテンツサーバから受信されたプログラムを前記第２の暗号鍵による暗号化が施される前の状態に戻す復号化を行うことにより、前記第１の暗号鍵のみにより暗号化されたプログラムを生成し、移動体端末に内蔵または接続された記憶モジュールに配信する手段と
を具備することを特徴とする配信管理サーバ。
【請求項１７】
許可されたコンテンツサーバから予め取得されたプログラムまたはそのアドレス情報を記憶するプログラム情報格納部と、
移動体端末に内蔵または接続された記憶モジュールに格納されているプログラムと同一のプログラムまたはそのアドレス情報が前記プログラム情報格納部に格納されている場合に該プログラムまたはそのアドレス情報の前記プログラム情報格納部における格納位置を示すポインタデータを記憶する実配信情報記憶部と、
前記記憶モジュールに配信可能ではあるが前記記憶モジュールに現在格納されていないプログラムと同一のプログラムまたはそのアドレス情報が前記プログラム情報格納部に格納されている場合に該プログラムの前記プログラム情報格納部における格納位置を示すポインタデータを記憶する仮想配信情報記憶部と、
前記移動体端末からの要求に応じて、前記仮想配信情報記憶部に記憶されたポインタデータによって特定されるプログラムを前記プログラム情報格納部を利用して取得して前記記憶モジュール宛てに配信し、該ポインタデータを前記実配信情報格納部に移動させる手段と
を具備することを特徴とする配信管理サーバ。
【請求項１８】
記憶モジュールが内蔵あるいは接続された移動体端末からプログラムの配信要求を受けたとき、前記記憶モジュールに固有の暗号鍵を外部の認証サーバから取得する手段と、
前記認証サーバから取得した暗号鍵により配信対象であるプログラムを暗号化する第１の暗号化手段と、
前記第１の暗号化手段により暗号化されたプログラムに対し、前記記憶モジュールへのプログラムの配信を行う配信管理サーバが復号化可能な暗号化を施す第２の暗号化手段と、
前記第１および第２の暗号化手段による暗号化を経たプログラムを前記配信管理サーバに送信する手段と
を具備することを特徴とするコンテンツサーバ。
【請求項１９】
記憶モジュールが内蔵あるいは接続された移動体端末がプログラムの配信要求をコンテンツサーバに送信する過程と、
前記コンテンツサーバが前記配信要求を受信し、前記記憶モジュールに固有の第１の暗号鍵を認証サーバから取得する過程と、
前記コンテンツサーバが配信対象であるプログラムを前記第１の暗号鍵により暗号化する過程と、
前記コンテンツサーバが前記第１の暗号鍵による暗号化を経たプログラムを予め取得した第２の暗号鍵により暗号化する過程と、
前記コンテンツサーバが前記第１の暗号鍵による暗号化と前記第２の暗号鍵による暗号化を経たプログラムを配信管理サーバに送信する過程と、
前記配信管理サーバが、前記コンテンツサーバから送信されたプログラムに対し、前記第２の暗号化を経る前の状態に戻す復号化を施して、前記第１の暗号鍵による暗号化のみを経たプログラムを生成する過程と、
前記配信管理サーバが、前記配信要求を送信した移動体端末に内蔵あるいは接続された記憶モジュールに前記第１の暗号鍵による暗号化のみを経たプログラムを送信する過程と
を具備することを特徴とするプログラム配信方法。
【請求項２０】
配信先に固有の第１の暗号鍵による暗号化と、プログラム配信が許可されたコンテンツサーバに固有の第２の暗号鍵による暗号化とを経たプログラムを前記コンテンツサーバから受信する処理と、
前記コンテンツサーバから受信されたプログラムを前記第２の暗号鍵による暗号化が施される前の状態に戻す復号化を行うことにより、前記第１の暗号鍵のみにより暗号化されたプログラムを生成し、移動体端末に内蔵または接続された記憶モジュールに配信する処理と
を配信管理サーバのコンピュータに実行させるプログラム。
【請求項２１】
記憶モジュールが内蔵あるいは接続された移動体端末からプログラムの配信要求を受けたとき、前記記憶モジュールに固有の暗号鍵を外部の認証サーバから取得する処理と、
前記認証サーバから取得した暗号鍵により配信対象であるプログラムを暗号化する第１の暗号化処理と、
前記第１の暗号化処理により暗号化されたプログラムに対し、前記記憶モジュールへのプログラムの配信を行う配信管理サーバが復号化可能な暗号化を施す第２の暗号化処理と、
前記第１および第２の暗号化処理による暗号化を経たプログラムを前記配信管理サーバに送信する処理と
をコンテンツサーバのコンピュータに実行させるプログラム。
【発明の詳細な説明】
【０００１】
移動体端末の記憶モジュールにプログラムを配信するシステム
【０００２】
［技  術  分  野］
本発明は、移動体端末に内蔵あるいは装着された記憶モジュールにプログラム（アプリケーションあるいはアプレット）を配信する技術に関する。
【０００３】
［技  術  背  景］
近年、プログラム（アプリケーションあるいはアプレット）の実行環境を有する移動体端末が開発されている。そして、この種の移動体端末の一例としてＪａｖａのバーチャルマシンを搭載したものがある。ユーザは、移動体端末に外部からプログラムをインストールすることにより、所望の機能を移動体端末に追加することができる。
【０００４】
しかし、いくら所望の機能を追加したとしても、同じ移動体端末を継続して使っていればそのうち飽きてくるものである。一方、移動体端末の業界は競争が激しく、ユーザにとって魅力的な新製品が続々と提供されている。ユーザとしては、自分の気に入った製品が販売されたときには、現在のものから新製品に移動体端末に交換したいところである。ところが、移動体端末の交換を行ったとすると、折角それまでの移動体端末に追加した機能をもはや利用することができなくなってしまう。交換後も、これらの機能を利用するためには、古い移動体端末にインストールしたプログラムを新規な移動体端末にインストールしなければならない。これは面倒である。
【０００５】
［発明の開示］
この発明は以上のような事情に鑑みてなされたものであり、その目的は、移動体端末の交換が行われた場合でも、その交換前において使用可能であったプログラムを交換後においても継続して使用可能にすることにある。
【０００６】
この目的を達成するために、本願発明者らは、ある種の移動体端末に着目した。すなわち、加入者番号やメモリダイヤル情報等の加入者情報を記憶するモジュール（ユーザ識別モジュール；以下、ＵＩＭと略称する）の装着あるいは内蔵が可能な移動体端末である。この種の移動体端末のユーザは、移動体端末を新規なものに交換したいとき、自分自身の加入者情報が記憶されたＵＩＭを所持していれば、これを新規な移動体端末に装着しまたは内蔵させるだけで、その移動体端末を使用することができる。そして、本願発明者らは、次のような着想に至った。すなわち、このＵＩＭにプログラムを記憶させるようにすれば、移動体端末の交換時においても、交換前の移動体端末で利用していたプログラムを容易に新たな移動体端末に移行させることができ、ユーザの使い勝手が向上する、との着想である。
【０００７】
しかしながら、この着想を新規な移動体端末の実現に結び着けるにはセキュリティ上の問題があった。
まず、ＵＩＭへのプログラムの書き込みに何ら制限を設けないとすれば、故意または過失により移動体端末の本来の機能を損なうことが考えられ、好ましくない。
また、ＵＩＭに記憶される加入者情報には金銭的な価値を有するデータや個人情報が含まれている場合がある。従って、ＵＩＭへのプログラムの書き込みをセキュリティ確保の観点からもこれらの情報の漏洩など招かないような配慮が必要である。
【０００８】
このようなセキュリティ上の問題を解決し、ユーザの使い勝手を向上するために、本発明は、プログラムの配信要求を送信する手段を有する移動体端末と、前記移動体端末に内蔵あるいは接続された記憶モジュールと、前記配信要求を受信し、配信対象であるプログラムを送信するコンテンツサーバと、前記コンテンツサーバから前記プログラムを受信し、前記コンテンツサーバが予め許可されたコンテンツサーバである場合に限り、前記コンテンツサーバから受信したプログラムを前記移動体端末に内蔵あるいは接続された記憶モジュールに送信する配信管理サーバと、前記記憶モジュールに固有の第１の暗号鍵を格納する認証サーバとを具備し、前記コンテンツサーバは、前記配信要求を受信したとき、前記第１の暗号鍵を前記認証サーバから取得し、これを用いて配信対象であるプログラムを暗号化し、さらに予め取得した第２の暗号鍵を用いて暗号化し、前記配信管理サーバに送信し、前記配信管理サーバは、前記コンテンツサーバから受信した暗号化されたプログラムを前記第２の暗号鍵を用いて復号化して、前記第１の暗号鍵のみによって暗号化されたプログラムを生成し、前記復号化に成功した場合に限り、前記復号化によって得られたプログラムを前記記憶モジュールに送信し、前記記憶モジュールは、記憶部と、前記移動体端末を介して前記配信管理サーバから受信されたプログラムを復号化し、当該復号化に成功した場合に限り、復号化により得られたプログラムを前記記憶部に記憶し、要求に応じて、前記記憶部に記憶されたプログラムを実行する制御部とを具備することを特徴とするプログラム配信システムを提供する。
【０００９】
また、本発明は、プログラムの配信要求を送信する手段を有する移動体端末と、前記移動体端末に内蔵あるいは接続された記憶モジュールと、前記配信要求を受信し、配信対象であるプログラムが予め許可されたコンテンツサーバによって提供されているプログラムである場合に、該プログラムを取得して前記移動体端末に内蔵あるいは接続された記憶モジュール宛てに送信する配信管理サーバとを具備し、前記記憶モジュールは、プログラムを格納するための複数の基本ブロックを有する記憶部と、前記移動体端末を介して情報を受信し、該情報が前記配信管理サーバから受信されたプログラムである場合に限って前記記憶部に記憶し、要求に応じて、前記記憶部に記憶されたプログラムを実行する制御部とを具備し、前記配信管理サーバは、前記複数の基本ブロックに対応した複数の領域を有し、当該複数の領域のいずれかに前記記憶モジュールに送信したプログラムを特定するポインタデータを記憶する実配信情報記憶部と、前記記憶モジュールへの配信が可能であるが現在は前記記憶モジュールに記憶されていないプログラムを特定するポインタデータを記憶する仮想配信情報記憶部と、前記仮想配信情報記憶部に記憶されたポインタデータによって特定されたプログラムを前記記憶モジュールへ送信したとき、当該プログラムを特定するポインタデータを前記仮想情報配信記憶部から前記実配信情報記憶部に移動させる制御部とを具備することを特徴とするプログラム配信システムを提供する。
【００１０】
これらのシステムによれば、配信管理サーバを経由して、予め許可されたコンテンツサーバから供給されるプログラムのみが記憶モジュールに書き込まれるので、ユーザは、セキュリティを保証された状態で、新規なプログラムを記憶モジュールに書き込むことができる。
【００１１】
［図面の簡単な説明］
図１はこの発明の第１実施形態によるプログラム配信システムの構成を示すブロック図である。
図２は同実施形態における移動体端末の外観図である。
図３は同移動体端末の構成を示すブロック図である。
図４は同移動体端末およびこれに内蔵あるいは装着されたＵＩＭの構成を示す図である。
図５は同実施形態におけるプログラム配信からアクティベーションまでの過程を示すシーケンス図である。
図６は同実施形態におけるプログラム配信の動作を示すシーケンス図である。
図７はプログラム配信時における移動体端末の表示画面を示す図である。
図８は同実施形態におけるプログラムアクティベーションの動作を示すシーケンス図である。
図９は同実施形態においてコンテンツサーバからの要求によってプログラムディアクティベーションが行われる過程を示すシーケンス図である。
図１０は同実施形態においてコンテンツサーバからの要求によりプログラム削除が行われる過程を示すシーケンス図である。
図１１は同実施形態において配信管理サーバからの要求によりプログラムディアクティベーションおよびプログラム削除が行われる過程を示すシーケンス図である。
図１２は同実施形態において行われるＵＩＭのバージョン情報の授受を示すシーケンス図である。
図１３は、メモリ不足によりプログラム配信が未遂に終わる過程を示すシーケンス図である。
図１４は、メモリエラーによりプログラム配信が未遂に終わる過程を示すシーケンス図である。
図１５は、プログラム削除時にユーザに提供される表示画面を示す図である。
図１６は、電子商取引の決済時にユーザに提供される表示画面を示す図である。
図１７は、通信販売での商品購入時にユーザに提供される表示画面を示す図である。
図１８は、プログラムの自動起動設定時の表示画面を示す図である。
図１９および図２０は、定期券使用時の表示画面を示す図である。
図２１は、この発明の第２実施形態に係るプログラム配信システムの構成を示すブロック図である。
図２２は、同実施形態におけるＵＩＭ内のメモリにおける構成を示す図である。
図２３は、同実施形態における配信管理サーバ１６Ａの構成を示すブロック図である。
図２４は、ユーザ情報格納部への登録処理を示すシーケンス図である。
図２５および図２６は、ユーザ情報格納部に登録されているプログラムをＵＩＭ１２の基本ブロックのいずれかに登録する動作を示すシーケンス図である。
図２７および図２８は、ユーザ情報格納部に登録されているプログラムをＵＩＭの基本ブロックのいずれかに登録する動作を示すシーケンス図である。
図２９は、ユーザ情報格納部５１に登録されているプログラムを削除する場合の動作を示すシーケンス図である。
図３０は、ＵＩＭの基本ブロックから登録されているプログラムを削除する動作を示すシーケンス図である。
図３１は、ユーザ情報格納部ディアクティベーション処理を示すシーケンス図である。
図３２は、基本ブロックディアクティベーション処理を示すシーケンス図である。
【００１２】
［発明を実施するための最良の形態］
次に本発明の好適な実施形態について、図面を参照して説明する。
［１．第１実施形態］
［１．１．プログラム配信システムの概要構成］
図１はこの発明の第１実施形態に係るプログラム配信システムの構成を示すブロック図である。
【００１３】
プログラム配信システム１０は、大別すると、移動体端末１１と、無線基地局１３と、交換局１４と、ネットワーク移動通信サービス制御装置１５と、配信管理サーバ１６と、配信用サービス制御装置１７と、認証サーバ１８と、コンテンツサーバ１９と、一般公衆回線ネットワーク２０とを備えている。
【００１４】
移動体端末１１は、例えば、携帯電話、ＰＨＳ（Personal Handyphone System；登録商標）等の通信機能を有する情報処理装置である。さらに移動体端末１１は、各種プログラムあるいはデータを記憶可能なＵＩＭ（User Identification Module）１２が装着あるいは内蔵されている。
【００１５】
無線基地局１３は、無線リンクを介して移動体端末１１と通信を行う。
交換局１４は、無線基地局１３を介して接続される移動体端末１１と有線ネットワークである共通線信号方式ネットワーク２０との間で交換制御を行う。
ネットワーク移動通信サービス制御装置１５は、一般公衆回線ネットワーク２０を介して移動体端末１１に対してプログラム配信を行う場合に通信制御を行う。
コンテンツサーバ１９は、各種コンテンツを配信するとともに、移動体端末１１から要求されたプログラムの配信を行う。
【００１６】
配信管理サーバ１６は、コンテンツサーバ１９からＵＩＭ１２へのプログラムの配信の中継およびその管理を行う。ＵＩＭ１２へのプログラムの配信およびＵＩＭ１２に格納されたプログラムへのアクセスは、常にこの配信管理サーバ１６を経由して行われる。ここに本実施形態の最大の特徴がある。
配信用サービス制御装置１７は、一般公衆回線ネットワーク２０を介してプログラム配信を行う場合に配信管理サーバ１６と一般公衆回線ネットワーク２０との間のインターフェース的な動作を行う。
【００１７】
認証サーバ１８は、コンテンツサーバ１９にプログラムの配信に必要な証明書の発行を行う装置である。この証明書には、コンテンツサーバ１９がＵＩＭ１２にプログラムを配信する正当権限を有する者であることをＵＩＭ１２のための証明する役割を持ったＵＩＭ公開鍵と、コンテンツサーバ１９が同正当権限を持った者であることを配信管理サーバ１６のための証明する役割を持った配信管理サーバ公開鍵とがある。
【００１８】
本実施形態におけるコンテンツサーバ１９、配信管理サーバ１６および認証サーバ１８の役割分担は次の通りである。
ａ．本実施形態では、コンテンツサーバ１９は、ＵＩＭ１２宛のプログラムを配信管理サーバ１６に送り、この配信管理サーバ１６がＵＩＭ１２へのプログラムの配信を行う。コンツサーバ１９が、直接、ＵＩＭ１２にプログラムを配信することはない。
ｂ．コンテンツサーバ１９は、配信管理サーバ１６によって中継されつつ、公開鍵方式の暗号化通信によりＵＩＭ１２にプログラムを配信する。個々のユーザのＵＩＭ１２には、予めＰＫＩ（Public Key Infrastructure）が実装されており、ＵＩＭ１２は当該ＵＩＭ１２に固有のＵＩＭ秘密鍵を有している。コンテンツサーバ１９は、あるＵＩＭ１２宛のプログラム配信を行うとき、そのＵＩＭ１２のＵＩＭ秘密鍵と対をなすＵＩＭ公開鍵を認証サーバ１８から取得し、これによってプログラムを暗号化する。
ｃ．本実施形態では、予め許可されたコンテンツサーバ１９のみがＵＩＭ１２宛のプログラムの配信を行うことができる。許可されたコンテンツサーバ１９には配信管理サーバ公開鍵が予め与えられる。コンテンツサーバ１９は、移動体端末１１からの配信要求があったとき、ＵＩＭ公開鍵によって暗号化されたＵＩＭ１２宛のプログラムを配信管理サーバ公開鍵によってさらに暗号化し、配信管理サーバ１６に送る。
【００１９】
［１．２．移動体端末の構成］
図２に移動体端末１１の外観図を示す。
移動体端末１１は、ディスプレイ部２１と、操作部２２とを備えている。
ディスプレイ部２１には、図２に示すように、各種処理メニューやブラウジング中の画面、電話番号画面などが表示される。
操作部２２は、各種データの入力や、メニュー画面の表示を行わせるための複数の操作ボタンが設けられている。この操作部２３の操作ボタンの一つとしてＵＩＭボタン２３がある。このＵＩＭボタン２３は、ユーザがＵＩＭ１２に記憶されたプログラムを利用する際に操作するボタンである。
【００２０】
図３は移動体端末の構成を示すブロック図である。
移動体端末１１は、ディスプレイ部２１と、操作部２２と、制御部３１と、記憶部３２と、外部機器インターフェース（Ｉ／Ｆ）部３３と、通信部３４と、ＵＩＭインターフェース（Ｉ／Ｆ）部３５と、音声入出力部３６とを備えている。
制御部３１は、記憶部３２に記憶されている制御プログラム、制御データに基づいて移動体端末１１の各部を制御する。
【００２１】
記憶部３２は、ＲＯＭ、ＲＡＭ等から構成されており、インターネットにアクセスするためのブラウザなどの各種プログラムを記憶するプログラム記憶領域や各種データを記憶するデータ記憶領域等、複数の記憶領域を有している。
外部機器Ｉ／Ｆ部３３は、制御部３１やＵＩＭ１２が外部の装置との間で情報の授受を行う際に利用されるインタフェースである。
通信部３４は、制御部３１による制御の下、アンテナ３４Ａを介して音声、文字メッセージ等各種データを無線基地局１３に送信する一方、アンテナ３４Ａを介して移動体端末１１宛に送られてくる各種データを受信する。
【００２２】
ＵＩＭＩ／Ｆ部３５は、制御部３１との間でデータの入出力を行う。また、ＵＩＭＩ／Ｆ部３５は、通信部３４あるいは外部機器Ｉ／Ｆ部３３のいずれかからの出力データを制御部３１を介さずにＵＩＭ１２に出力する。また、ＵＩＭ１２の出力データを制御部３１を介さずに、外部機器Ｉ／Ｆ部３３あるいは通信部３４のいずれかに直接出力する。このように制御部３１を介さずに外部機器Ｉ／Ｆ部３３あるいは通信部３４との間でデータの入出力を行わせるのは、制御部３１の制御プログラムの改竄などによってＵＩＭ１２上のデータへの不正なアクセスが行われるのを防止し、セキュリティを確保するためである。
【００２３】
［１．３．ＵＩＭの構成］
図４にＵＩＭ１２の構成を示す。なお、図４には移動体端末１１との関係を明らかにするため、ＵＩＭ１２の構成要素とともに移動体端末１１の構成要素の一部が示されている。図４に示すように、ＵＩＭ１２は、メモリ１２Ｍを有しており、このメモリ１２Ｍは、大別すると、システム領域１２Ａと、アプリケーション領域１２Ｂとを備えている。
システム領域１２Ａは、加入者番号データ、発信履歴情報データ、着信履歴情報データ、通話時間情報データ、ＵＩＭ秘密鍵といったユーザ固有の個人情報データが格納されている。移動体端末１１は、このシステム領域１２Ａ内の加入者番号データを発番号として利用し、他の通信装置との通信を行う。
【００２４】
アプリケーション領域１２Ｂは、配信されたプログラムおよびこのプログラムの実行時に使用されるデータを記憶する領域であり、複数の基本ブロックに分けられている。図４に示す例では、アプリケーション領域１２Ｂは、６個の基本ブロック４０−１〜４０−６に分けられている。
各基本ブロック４０−１〜４０−６は、それぞれプログラム領域４１およびデータ領域４２を備えている。各基本ブロック４０−ｋのプログラム領域４１は、プログラム（アプリケーションあるいはアプレット）が格納される。また、各基本ブロック４０−ｋのデータ領域４２は、同一基本ブロック４０−ｋにおけるプログラム領域４１内のプログラムの実行時に使用されるデータが格納される。
【００２５】
基本ブロック４０−１〜４０−６は、互いに独立しており、原則的には、ある基本ブロック４０−ｊのプログラム領域４１に格納されたアプリケーションあるいはアプレットが他の基本ブロック４０−ｋ（≠ｊ）のデータ領域４２にアクセスすることはできないように管理されている。このような構成を採ることにより各プログラムのセキュリティを確保しているのである。従って、ある基本ブロック４０−ｊのデータ領域４２に金銭的な価値を有するデータ（いわゆる、バリュー；value）を記録しておいたとしても、このデータが他の基本ブロック４０−ｋ（≠ｊ）に格納されているプログラムにより故意または偶然に書き換えられることはない。
【００２６】
また、プログラム領域４１に格納されたプログラムであるアプリケーションあるいはアプレットについては、配信管理サーバ１６を経由しないかぎり配信、削除などを行うことはできない。ただし、データ領域４２については、ＡＴＭから電子マネーをダウンする場合のように、配信管理サーバ１６経由あるいはローカルな端末を介して直接操作することが可能となっている。
さらにアプリケーション領域１２には、各基本ブロック４０−１〜４０−６に対応して、各基本ブロックのプログラム領域４１内のプログラムが実行可能であるか否かを示す活性化フラグの記憶領域が設けられている。
【００２７】
制御部３０は、移動体端末１１を介して与えられる要求に応じて、アプリケーション領域１２Ｂの基本ブロックに対するプログラムの書き込みを行ったり、各基本ブロックに対応した活性化フラグのセットまたはリセットを行ったり、指定された基本ブロック内のプログラムを実行する手段である。配信管理サーバ１６からＵＩＭ公開鍵によって暗号化されたプログラムが届いたとき、制御部３０はシステム領域１２Ａ内のＵＩＭ秘密鍵を用いてプログラムを復号化を行い、いずれかの基本ブロックに書き込む。また、制御部３０は、基本ブロック内のプログラムを実行することができ、その際に、移動体端末１１側において実行されるブラウザを介して、実行中のプログラムが必要とする情報をネットワーク内の通信相手から取得したり、移動体端末１１のユーザから取得する。制御部３０は、逆に、ブラウザを介して、プログラムの実行結果をネットワーク内の通信相手に送ったり、移動体端末１１のユーザに送ることもできる。また、制御部３０は、基本ブロック内のプログラムに従って、ブラウザを介することなく、移動体端末１１のハードウェア資源を介して外部との授受を行うことができる。例えばこの種のプログラムとして移動体端末１１を定期券として機能させるアプリケーションプログラムがある。かかるプログラムを実行する場合、制御部３０は、移動体端末３０の外部機器Ｉ／Ｆに接続された近距離無線装置（図示略）を利用して、駅の改札口のカードリーダ／ライタと、定期券情報の授受を行うことができる。制御部３０がアプリケーション領域内のプログラムの実行制御を含む以上のような各種の処理を行うためのプログラムは、システム領域１２Ａに格納されている。
【００２８】
［１．４．第１実施形態の動作］
次に定期券用アプレットの配信を例として第１実施形態の動作を説明する。
図５はプログラム配信、書き込みおよび活性化の過程を示すシーケンス図である。
図５に示すように、これらの一連の処理は、大別すると、不活性状態のプログラム（アプレット）を記憶モジュールとしてのＵＩＭ１２に配信して、書き込む処理（ステップＳ１）と、書き込んだプログラムを活性化するアクティベーション処理（ステップＳ２）とにより構成されている。
【００２９】
［１．４．１．配信管理サーバに対する証明書発行］
図６はプログラム配信およびＵＩＭ１２への書き込みの過程を示すシーケンス図である。図６に示すように、認証サーバ１８は、ＵＩＭ１２宛てのプログラム配信を許可したコンテンツサーバ１９に対して証明書を発行する（ステップＳ１１）。この証明書の発行は、コンテンツサーバ１９と配信管理サーバ１６とが公開鍵暗号化方式による暗号化通信を行うために行われるものである。すなわち、公開鍵暗号化方式による暗号化通信を可能にするため、対をなす配信管理サーバ秘密鍵と配信管理サーバ公開鍵が生成され、配信管理サーバ秘密鍵は配信管理サーバ１６に記憶され、配信管理サーバ公開鍵は、プログラム配信を許可された者であることを証する証明書として認証サーバ１８からコンテンツサーバ１９に送信されるのである。コンテンツサーバ１９は、この配信管理サーバ公開鍵を受信すると、これをプログラムの配信に備えて保存する。
【００３０】
［１．４．２．プログラム配信要求］
ユーザは、移動体端末１１の操作部２２を操作することにより、制御部３１にブラウザを実行させ、コンテンツプロバイダのホームページにアクセスすることができる。このアクセスにより、移動体端末１１のディスプレイ部２１には、図７に示すように、コンテンツプロバイダのコンテンツサーバ１９によって行われるプログラムの配信を表す配信メニュー画面Ｄ１が表示される。ユーザは、この状態において、移動体端末１１の操作部２２を操作することにより、プログラム（アプレット）配信要求を移動体端末１１からネットワークを介してコンテンツサーバ１９に送信することができる（ステップＳ１２）。
【００３１】
［１．４．３．ＵＩＭに対する証明書要求］
コンテンツサーバ１９は、移動体端末１１から配信要求を受信すると、証明書発行要求を認証サーバ１８に送る（ステップＳ１２）。この証明書発行要求には移動体端末１１のＵＩＭ１２を特定する情報が含まれている。ここで、証明書の発行は、コンテンツサーバ１９がＵＩＭ１２と公開鍵方式の暗号化通信を行うために要求されるものである。さらに詳述すると、公開鍵方式の暗号化通信を可能にするため、対をなすＵＩＭ秘密鍵とＵＩＭ公開鍵が予め生成され、ＵＩＭ秘密鍵はＵＩＭ１２に予め格納され、ＵＩＭ公開鍵は認証サーバ１８に予め格納される。ステップＳ１２では、この認証サーバ１８に格納されたＵＩＭ公開鍵が、ＵＩＭ１２宛てのプログラム配信が許可された者であることを証する証明書として要求されるのである。
【００３２】
［１．４．４．証明書の発行およびＵＩＭに対する証明書付きプログラムの配信］
認証サーバ１８は、コンテンツサーバ１９から証明書の発行要求を受信すると、この発行要求により特定されたＵＩＭ１２に対応するＵＩＭ公開鍵を証明書として、コンテンツサーバ１９に対して発行する（ステップＳ１４）。
コンテンツサーバ１９は、ＵＩＭ１２に対応するＵＩＭ公開鍵を用いて、配信要求のあったプログラムを暗号化する。この暗号化により得られたプログラムは、ＵＩＭ１２に対するアクセス権限を持った正当者であることを証する証明書が添付されたプログラムであるといえる。
【００３３】
次にコンテンツサーバ１９は、ＵＩＭ公開鍵によって暗号化されたプログラムを、事前に認証サーバ１８から受け取った配信管理サーバ公開鍵によりさらに暗号化する。この暗号化により得られたプログラムは、ＵＩＭ１２に対するアクセス権限を持った正当者であることを証する証明書と配信管理サーバ１６経由でプログラム配信を行うことができる正当者であることを証する証明書の両方が添付されたプログラムであるということができる。
【００３４】
［１．４．５．プログラム配信］
コンテンツサーバ１９は、以上の２度に亙る暗号化を経て得られたプログラムをネットワークを介して配信管理サーバ１６に配信する（ステップＳ１５）。
配信管理サーバ１６は、配信管理サーバ秘密鍵を用いて、コンテンツサーバ１９から配信された暗号化プログラムを復号化する。この復号化が成功すると、ＵＩＭ公開鍵のみにより暗号化されたプログラムが得られる。この場合、コンテンツサーバ１９は、ＵＩＭ１２宛てのプログラム配信をする権限を有する正当者であるということができる。そこで、配信管理サーバ１６は、図７に示す画面Ｄ２のデータを移動体端末１１に送信し、ディスプレイ部２１に表示させる。この画面Ｄ２は、プログラム配信の可否をユーザに問い合わせる画面である。
【００３５】
［１．４．６．ＵＩＭ書込］
ユーザが、画面Ｄ２を確認し、操作部２２を用いてプログラムの配信を許可する操作を行うと、配信許可の通知が配信管理サーバ１６に送られる。配信管理サーバ１６は、この通知を受け取ると、ＵＩＭ１２宛てに、上記復号化により得られたプログラム、すなわち、ＵＩＭ公開鍵によって暗号化されたプログラムを配信する（ステップＳ１６）。
この暗号化されたプログラムは移動体端末１１を介してそのままＵＩＭ１２の制御部３０に引き渡される。すなわち、移動体端末１１は、ＵＩＭ１２に対して通信機能を提供するだけである。このような動作を移動体端末１１に行わせることにより、セキュアなＵＩＭ１２への伝送、書き込みを保証している。
【００３６】
ところで、以上のようにして配信管理サーバ１６がＵＩＭ１２にプログラムを送るためには、配信管理サーバ１６がＵＩＭ１２との間にリンクを確立する必要があり、そのためにはＵＩＭ１２が接続または内蔵されている移動体端末１１の電話番号を取得する必要がある。
そのための方法としては、移動体端末１１からコンテンツサーバ１９への配信要求の際に、移動体端末１１の電話番号をコンテンツサーバ１９に伝達させ、コンテンツサーバ１９がこの電話番号を配信管理サーバ１６に送る、という方法が考えられる。この場合、配信管理サーバ１６は、送られてきた電話番号を用いて移動体端末１１を呼び出し、ＵＩＭ１２宛てのプログラムを配信することができる。
【００３７】
また、別の方法として、次のものもある。すなわち、移動体端末１１からコンテンツサーバ１９への配信要求に先立って、移動体端末１１と配信管理サーバ１６との間で移動体端末１１の電話番号の代わりの識別子を取り決め、配信管理サーバ１６は電話番号と識別子とを対応付けて記憶する。そして、移動体端末１１は、コンテンツサーバ１９宛てに識別子を含んだ配信要求を送り、コンテンツサーバ１９はプログラムを配信管理サーバ１６に送るときに識別子を添付する。配信管理サーバ１６は、識別子から移動体端末１１の電話番号を求め、この電話番号により移動体端末１１を呼び出してＵＩＭ１２宛てのプログラムの配信を行う。この方法は、コンテンツサーバ１９に移動体端末１１の電話番号を知らせる必要がないという利点がある。
【００３８】
ＵＩＭ１２の制御部３０は、以上のようにしてＵＩＭ公開鍵によって暗号化されたプログラムを受け取ると、ＵＩＭ公開鍵と対をなすＵＩＭ秘密鍵を用いて、プログラムの復号化を行う。この復号化が成功すると、暗号化されていない平文のプログラムが得られる。この場合、送信元であるコンテンツサーバ１９は、ＵＩＭ１２へのプログラム配信をする正当な権限を有する者であるといえる。そこで、ＵＩＭ１２は、復号化により得られたプログラムをメモリの基本ブロック４０−１〜４０−６のいずれかに書き込む。
この書き込み中は、図７に示すような画面Ｄ３が移動体端末１１によって表示される。
【００３９】
［１．４．７．書込完了応答］
ＵＩＭ１２の制御部３０は、プログラムの書き込みが終了すると、その旨をしめす書込完了通知を当該プログラムを書き込んだ基本ブロックを特定する情報とともに配信管理サーバ１６に対して送信する（ステップＳ１７）。
このとき、移動体端末１１のディスプレイ部２１には、図７に示すように、書き込みが終了した（登録が完了した）旨の画面Ｄ４が表示される。その後、ユーザの操作により画面は再び画面Ｄ１となる。
【００４０】
［１．４．８．配信完了通知］
配信管理サーバ１６は、ＵＩＭ１２からプログラムの書込完了の通知を受けると、当該プログラムが書き込まれたＵＩＭ１２の基本ブロックを表す情報に対応づけて、書き込んだプログラムを特定する情報をデータベースに登録する。
配信管理サーバ１６は、このデータベースを参照することにより全てのＵＩＭ１２の基本ブロック４０−１〜４０−６について各々に格納されているプログラムを容易に把握することができる。
【００４１】
配信管理サーバ１６は、ＵＩＭ１２内に対してプログラムを配信したとき、プログラムの配信元であるコンテンツサーバ１９のコンテンツプロバイダに対する課金処理を開始する。なお、課金処理の開始タイミングについては、これに限定されるものではなく、例えば、後述するアクティベーションが行われた段階で開始してもよい。
【００４２】
コンテンツプロバイダに対する課金対象として次の項目がある。
ａ．ＵＩＭ１２内の基本ブロックの貸与料金
コンテンツサーバ１９からのプログラムがＵＩＭ１２に配信されると、このプログラムは、ＵＩＭ１２内の基本ブロック４０−１〜４０−６のうちのいずれかの基本ブロックに保存される。この場合の基本ブロックは、プログラムの保存のためにコンテンツサーバ１９を所有するコンテンツプロバイダに貸与されていると考えることができる。そこで、この貸与されている期間、すなわち、プログラムが基本ブロックに保存されている期間に応じた料金を貸与料金としてコンテンツプロバイダから徴収するのである。
ｂ．トランザクション料
コンテンツサーバ１９から送信されたプログラムは、配信管理サーバ１６の処理を経て、ＵＩＭ１２に配信される。この配信管理サーバ１６の処理に対する対価をトランザクション料としてコンテンツプロバイダから徴収するのである。
【００４３】
なお、ＵＩＭ１２のユーザは、コンテンツサーバ１９からプログラムの配信というサービスを受けているので、そのサービス利用料に関する課金の対象者となる。そこで、配信管理サーバ１６が、ユーザの通信料金とともにコンテンツプロバイバに代わってサービス利用料金をユーザから回収し、サービス利用料金をコンテンツプロバイダに引き渡すようにしてもよい。いわゆる代行回収である。この場合において、コンテンツプロバイダに課金される料金の中に、回収代行手数料を含めてもよい。
以上のようにしてプログラム配信が完了すると、配信管理サーバ１６は、その旨の通知をコンテンツサーバ１９に対して行う（ステップＳ１８）。
【００４４】
［１．４．９．アクティベーション］
ＵＩＭ１２に配信され、基本ブロックに格納されたプログラムは、アクティベーション（活性化；Activation）が行われるまでは、ユーザが実行することはできない。
このように、プログラムを配信するだけでユーザに自由な実行を許可しないのは、プログラムの実行開始時期をコンテンツプロバイダなどが制御し得るようにするためである。
【００４５】
このアクティベーションが有効活用される場合として、例えば、新規発売するゲーム用プログラムのように、使用開始時期を限定する必要がある場合がある。この場合にアクティベーションを活用すると、発売開始日（プログラム配信日）と使用開始日（アクティベーション日）とを別個に設定可能となり、コンテンツサーバ１９の負荷を軽減することが可能となる。
また、別の例として、移動体端末１１を定期券として機能させるプログラムをＵＩＭ１２に配信する場合がある。この場合、定期券の有効期間の初日に、そのプログラムの実行可能状態にするためにアクティベーションが利用される。
以下、アクティベーション時の動作について図８を参照して説明する。
【００４６】
［１．４．９．１．配信管理サーバへのアクティベーション要求］
コンテンツサーバ１９は、あるプログラムのアクティベーションが必要になったとき、配信管理サーバ１６に対してアクティベーション要求を送る（ステップＳ２１）。このアクティベーション要求は、アクティベーションの対象となるプログラムを特定する情報を含んでいる。また、特定のユーザのＵＩＭ１２に格納されたプログラムのみのアクティベーションを行うときには、そのユーザに対応した識別子（移動体端末１１の電話番号またはこれに代わる識別子）を含む。
【００４７】
［１．４．９．２．ＵＩＭへのアクティベーション要求］
配信管理サーバ１６は、このアクティベーション要求を受け取ると、移動体端末１１のＵＩＭ１２に対して、アクティベーション要求を行う（ステップＳ２２）。既に述べたように、配信管理サーバ１６のデータベースには、プログラムが書き込まれたＵＩＭ１２の基本ブロックを表す情報に対応づけて、書き込んだプログラムを特定する情報が登録されている。配信管理サーバ１６は、アクティベーション要求を受け取ったとき、このデータベースを参照することにより、アクティベーションの対象であるプログラムが配信されたＵＩＭ１２と書き込み先である基本ブロックを求める。なお、複数のＵＩＭ１２に格納された同一プログラムのアクティベーションを行うときにはそのＵＩＭ１２の数だけこの処理が行われることになる。そして、該当するＵＩＭ１２が装着または内蔵された各移動体端末１１を呼び出し、ＵＩＭ１２宛てにアクティベーション要求を送る。各移動体端末１１に送られるアクティベーション要求は、アクティベーションの対象となるプログラムが格納された基本ブロックを特定する情報を含んでいる。
【００４８】
このアクティベーション要求は、移動体端末１１に受信されると、そのままＵＩＭ１２に送られる。ＵＩＭ１２の制御部３０は、アクティベーション要求に従ってアクティベーションを実行する。すなわち、ＵＩＭ１２は、アクティベーション要求によって特定された基本ブロックについて、その活性化フラグを“０”から“１”に変更する。ＵＩＭ１２の制御部３０は、このようにして活性化フラグが“１”にされた基本ブロック内のプログラムの実行要求があったときはそれに応える。しかし、活性化フラグが“０”である基本ブロック内の実行要求があった場合にはその要求を拒否する。
【００４９】
［１．４．９．３．アクティベーション終了応答］
ＵＩＭ１２は、プログラムのアクティベーションが終了すると、その旨をしめすアクティベーション終了通知を配信管理サーバ１６に対して送信する（ステップＳ２３）。この通知は、アクティベーションが終了したプログラムを特定する情報、より具体的にはそのプログラムが格納されている基本ブロックを特定する情報を含む。
【００５０】
［１．４．９．４．アクティベーション完了通知］
配信管理サーバ１６は、ＵＩＭ１２からプログラムのアクティベーション完了の通知を受けると、これに基づいて、アクティベーションが完了したプログラムの格納先であるＵＩＭ１２の基本ブロックを求める。そして、その基本ブロックのために用意されたデータベース内の記憶領域にアクティベーションが完了した旨の情報を登録する。
この登録の結果、配信管理サーバ１６は、データベースを参照することにより全てのＵＩＭ１２について、各基本ブロック４０−１〜４０―６内の各プログラムが活性化されているか否かを把握することができる。
【００５１】
アクティベーション要求のあったプログラムの全ての配信先ＵＩＭについてアクティベーション完了の登録を終えると、配信管理サーバ１６は、プログラムのアクティベーションが完了した旨の通知をコンテンツサーバ１９に送る（ステップＳ２４）。この通知は、アクティベーションの対象となったプログラムを特定する情報を含んでいる。
【００５２】
［１．４．１０．ディアクティベーション］
ＵＩＭ１２に配信され、活性化されたプログラムを不活性化（ディアクティベーション；Deactivation））することが必要となることがある。例えば、移動体端末１１をクレジットカードとして機能させるプログラムがＵＩＭ１２に格納されており、そのＵＩＭ１２をユーザが紛失したような場合である。この場合、その紛失の事実を知ったユーザからの要請によりディアクティベーションが起動されることとなる。その他の例として、あるサービスを受けているユーザがそのサービス利用料を滞納しているような場合がある。この場合、そのようなサービスを提供しているコンテンツプロバイダからの要請により、そのサービスを受けるためのプログラムについてのディアクティベーションが起動されることになろう。
以下、ディアクティベーションについて図９を参照して説明する。
【００５３】
［１．４．１０．１．配信管理サーバへのディアクティベーション要求］
コンテンツサーバ１９は、あるＵＩＭ１２に配信したプログラムについてディアクティベーションを行う必要が生じたとき、そのＵＩＭ１２と対象となるプログラムを特定してディアクティベーション要求を配信管理サーバ１６に送る（ステップＳ３１）。
【００５４】
［１．４．１０．２．ＵＩＭへのディアクティベーション要求］
配信管理サーバ１６は、このディアクティベーション要求を受け取ると、データベースを参照し、ディアクティベーション要求によって特定されたＵＩＭ１２内の基本ブロックのうちディアクティベーション対象であるプログラムが格納された基本ブロックを求める。そして、そのＵＩＭ１２が装着または内蔵された移動体端末１１にディアクティベーション要求を送る（ステップＳ３２）。このディアクティベーション要求は、その対象であるプログラムが格納された基本ブロックを特定する情報を含んでいる。
【００５５】
ディアクティベーション要求は、移動体端末１１を介してＵＩＭ１２に送られる。ＵＩＭ１２は、ディアクティベーション要求により特定された基本ブロックに対応して用意された活性化フラグを“１”から“０”に変更する。以後、この基本ブロック内のプログラムの実行は禁止される。
【００５６】
［１．４．１０．３．ディアクティベーション終了応答］
ＵＩＭ１２は、プログラムのディアクティベーションを終えると、その旨を示すディアクティベーション終了通知を配信管理サーバ１６に送る（ステップＳ３３）。この通知は、ディアクティベーションが終了したプログラムを特定する情報、具体的にはそのプログラムの格納先である基本ブロックを特定する情報を含んでいる。
【００５７】
［１．４．１０．４．ディアクティベーション完了通知］
配信管理サーバ１６は、ＵＩＭ１２からプログラムのディアクティベーション終了通知を受けると、これに基づいて、ディアクティベーションが完了したプログラムの格納先であるＵＩＭ１２の基本ブロックを求める。そして、その基本ブロックのために用意されたデータベース内の記憶領域にディアクティベーションが完了した旨の情報を登録する。
ディアクティベーション完了の登録を終えると、配信管理サーバ１６は、ディアクティベーションが完了した旨の通知をコンテンツサーバ１９に送る（ステップＳ３４）。
【００５８】
［１．４．１１．削除（ユーザ希望時）］
不活性化されたプログラムは、ＵＩＭ１２内のメモリ領域を無駄に使用している。このような不要なプログラムは、ユーザにとってもコンテンツプロバイダにとっても削除するのが好ましい。しかしながら、プログラムの削除をユーザに任せてしまうことはできない。ユーザが勝手にＵＩＭ１２内のプログラムを削除した場合、その事実が直ちに配信管理サーバ１６に通知されないと、プログラムが削除されているにも拘わらず、ＵＩＭの貸与料金に関する課金処理が進行してしまうからである。
【００５９】
そこで、本実施形態においては、ユーザがプログラムの削除を希望する場合、配信管理サーバ１６の管理下でプログラムの削除を行うようにしている。
なお、コンテンツプロバイダ側の理由による削除は、課金処理の煩雑化の関係から原則的には認めていない。
以下、ユーザの希望によりプログラムが削除される動作について図１０および図１５を参照して説明する。
【００６０】
［１．４．１１．１．プログラム削除要求］
ユーザは、移動体端末１１の操作部２２を操作することにより、コンテンツプロバイダの所定のホームページにアクセスする。そして、移動体端末１１のディスプレイ部２１の表示画面上に、図１５に示す配信メニュー画面Ｄ１１を表示させる。この配信メニュー画面Ｄ１１は、プログラムの配信を行うコンテンツプロバイダのコンテンツサーバ１９から提供されるものである。ユーザがあるプログラムの削除を意味するメニューを選択すると、移動体端末１１のディスプレイ部２１には、図１５に示すように削除の可否をユーザに問い合わせる画面Ｄ１２が表示される。
【００６１】
ユーザが削除を許可する操作を行うと、移動体端末１１は、プログラム（アプレット）削除要求をネットワークを介してコンテンツサーバ１９に送信する（ステップＳ４１）。この要求は、削除の対象であるプログラムを特定する情報を含んでいる。
プログラム削除要求の送信に伴い、移動体端末１１のディスプレイ部２１には、図１５に示すように削除中であることを表す画面Ｄ１３が表示される。
【００６２】
［１．４．１１．２．配信管理サーバへのディアクティベーション要求］
コンテンツサーバ１９は、プログラム削除要求を受け取ると、配信管理サーバ１６に対してディアクティベーション要求を送る（ステップＳ４２）。このディアクティベーション要求は、プログラム削除を要求しているユーザの移動体端末１１を特定する情報と、削除対象であるプログラムを特定する情報を含んでいる。
【００６３】
［１．４．１１．３．ＵＩＭへのディアクティベーション要求］
配信管理サーバ１６は、ディアクティベーション要求を受け取ると、データベースを参照することにより、削除対象であるプログラムが格納された基本ブロックを求める。そして、プログラム削除を要求しているユーザの移動体端末１１に対して、その基本ブロックを特定する情報を含んだディアクティベーション要求を送る（ステップＳ４３）。
【００６４】
このディアクティベーション要求は、移動体端末１１を介してＵＩＭ１２に送られる。ＵＩＭ１２は、ディアクティベーション要求によって特定された基本ブロックのために用意された活性化フラグを“１”から“０”に変更する。以後、当該基本ブロック内のプログラムの実行が禁止される。
【００６５】
［１．４．１１．４．ディアクティベーション終了応答］
ＵＩＭ１２は、このようにしてプログラムのディアクティベーションを終えると、その旨を示すディアクティベーション終了通知を配信管理サーバ１６に対して送信する（ステップＳ４４）。この通知は、ディアクティベーションの行われたプログラムの格納先である基本ブロックを特定する情報を含んでいる。
【００６６】
［１．４．１１．５．ディアクティベーション完了通知］
配信管理サーバ１６は、ＵＩＭ１２からプログラムのディアクティベーション終了通知を受けると、データベース中、ディアクティベーション終了通知によって特定されるＵＩＭ１２の基本ブロックに対応した領域に、ディアクティベーションが完了した旨の情報を登録する。
そして、配信管理サーバ１６は、プログラムのディアクティベーションが完了した旨の通知をコンテンツサーバ１９に送る（ステップＳ４５）。
【００６７】
［１．４．１１．６．配信管理サーバへの削除要求］
コンテンツサーバ１９は、削除対象となっているプログラムについてのディアクティベーション完了通知を配信管理サーバ１６から受け取ると、そのプログラムの削除要求を配信管理サーバ１６に送る（ステップＳ５１）。
【００６８】
［１．４．１１．７．ＵＩＭへの削除要求］
配信管理サーバ１６は、このプログラム削除要求を受け取ると、プログラム削除の要求者であるユーザのＵＩＭ１２に対して、プログラム削除要求を送る（ステップＳ５２）。このプログラム削除要求は、削除対象であるプログラムの格納された基本ブロックを特定する情報を含んでいる。
プログラム削除要求は、移動体端末１１を介してＵＩＭ１２に送られる。ＵＩＭ１２は、プログラム削除要求によって特定された基本ブロック内のプログラムを削除する。
【００６９】
［１．４．１１．８．削除終了応答］
ＵＩＭ１２は、プログラムの削除が終了すると、その旨を示す削除終了通知を配信管理サーバ１６に送信する（ステップＳ５３）。この削除終了通知は、プログラムの削除を行った基本ブロックおよび削除したプログラムを特定する情報を含んでいる。これに伴い、移動体端末１１のディスプレイ部２１には、図１５に示すように削除終了であることを表す画面Ｄ１４が表示される。
【００７０】
［１．４．１１．９．削除完了通知］
配信管理サーバ１６は、ＵＩＭ１２から削除終了通知を受けると、データベース中、削除を要求したユーザおよび削除されたプログラムの組み合わせに対応して設けられた記憶領域に、プログラムが削除された旨の情報を登録する。
そして、配信管理サーバ１６は、プログラムの削除が完了した旨の通知をコンテンツサーバ１９に送る（ステップＳ５４）。
これに伴い、配信管理サーバは、当該削除されたプログラムについてコンテンツプロバイダに対する課金処理を行っていた場合には、以降の課金を行わないようにする。
【００７１】
［１．４．１２．削除（配信管理サーバ希望時）］
本実施形態では、ユーザの意思によらず他の原因によりプログラムの削除が行われる場合がある。その例として、あるプログラムに使用期限が定められており、その使用期限が満了した場合がある。
以下、このような原因により、配信管理サーバの主導の下でプログラムが削除される動作について図１１を参照して説明する。
【００７２】
［１．４．１２．１．ＵＩＭへのディアクティベーション要求］
例えば、あるプログラムの使用期限が過ぎ、プログラムを削除する必要が生じたとする。この場合、配信管理サーバ１６は、データベースを参照することにより、削除対象のプログラムが配布された全てのＵＩＭ１２と、それらにおいて削除対象のプログラムが格納されている基本ブロックを求め、各ＵＩＭ１２にディアクティベーション要求を行う（ステップＳ６１）。各ディアクティベーション要求は、削除対象プログラムが格納されている基本ブロックを特定する情報を含んでいる。
【００７３】
ディアクティベーション要求は、移動体端末１１を介してＵＩＭ１２に送られる。ＵＩＭ１２は、ディアクティベーション要求によって特定された基本ブロックに対応した活性化フラグを“１”から“０”に変更する。以後、当該基本ブロック内のプログラムの実行を禁止させる。
【００７４】
［１．４．１２．２．ディアクティベーション終了応答］
ＵＩＭ１２は、ディアクティベーションを終了すると、その旨を示すディアクティベーション終了通知を配信管理サーバ１６に送信する（ステップＳ６２）。
【００７５】
［１．４．１２．３．ディアクティベーション完了通知］
配信管理サーバ１６は、削除対象であるプログラムの配布先からディアクティベーション終了通知を受け取ると、そのプログラムに対応して設けられたデータベース中の記憶領域に、ディアクティベーションが完了した旨の情報を登録する。
そして、配信管理サーバ１６は、プログラムのディアクティベーションが完了した旨の通知をコンテンツサーバ１９に送る（ステップＳ６３）。
【００７６】
［１．４．１２．４．配信管理サーバへのディアクティベーション受理通知］
コンテンツサーバ１９は、配信管理サーバ１６からディアクティベーション完了の通知を受け取ると、配信管理サーバ１６にディアクティベーション受理通知を送る（ステップＳ６４）。
【００７７】
［１．４．１２．５．ＵＩＭへの削除要求］
配信管理サーバ１６は、ディアクティベーション受理通知を受け取ると、それの元となったディアクティベーション完了通知の送信元である移動体端末１１に対して、プログラムの削除要求を送る（ステップＳ７１）。この移動体端末１１に送られる削除要求は、削除対象のプログラムの格納された基本ブロックを特定する情報を含んでいる。
ＵＩＭ１２は、移動体端末１１を介して削除要求を受け取ると、これにより特定された基本ブロック内のプログラムを削除する。
【００７８】
［１．４．１２．６．削除終了応答］
ＵＩＭ１２は、プログラムの削除を終えると、その旨を示す削除終了通知を配信管理サーバ１６に送信する（ステップＳ７２）。この通知は、プログラムの削除を行った基本ブロックを特定する情報を含んでいる。
【００７９】
［１．４．１２．７．削除完了通知］
配信管理サーバ１６は、削除対象プログラムの全ての配布先から削除終了通知を受け取ると、データベース中の削除対象プログラムに対応して設けられた記憶領域に、プログラムが削除された旨の情報を登録する。
そして、配信管理サーバ１６は、プログラムの削除が完了した旨の通知をコンテンツサーバ１９に送る（ステップＳ７３）。
これに伴い、配信管理サーバは、当該削除されたプログラムについてコンテンツプロバイダに対して課金処理を行っていた場合には、以降の課金を行わないようにする。
【００８０】
［１．４．１２．８．配信管理サーバへの削除結果受理通知］
コンテンツサーバ１９は、配信管理サーバ１６から削除完了の通知を受け取ると、配信管理サーバ１６に削除結果受理通知を送る（ステップＳ７４）。
【００８１】
［１．４．１３．ＵＩＭのバージョン管理に伴うプログラム配信処理］
ユーザからの希望によらずコンテンツサーバ１９側が自発的にプログラムを配信する必要が生じる場合がある。例えば、配布済みのプログラムのバージョンアップが行われた場合である。
この場合において、過去にそのプログラムが配布された全てのユーザのＵＩＭ１２にバージョンアップ後のプログラムを配信すると不都合が生じる。何故ならば、移動体端末１１に様々な機種が存在するのと同様、ＵＩＭの仕様にも様々なバージョンが存在する。折角、バーションアップされたプログラムを各ＵＩＭに送ったとしても、あるバージョン以降のＵＩＭではそのプログラムを実行可能であるが、それ以前のバージョンのＵＩＭではそのプログラムを正常に実行することができないような場合が生じ得るからである。
【００８２】
そこで、本実施形態では、プログラムのバージョンアップが行われた場合に、ＵＩＭに対して、バージョン通知要求が送られ、これに対するＵＩＭの応答に基づいてプログラムの配信を行うか否かの判断が行われる。図１２にはこの動作が示されている。なお、ＵＩＭ１２には、バージョン通知要求に応答して当該ＵＩＭのバージョンを通知する機能をサポートしているものと、サポートしていないものとがある。図１２には、そのような機能をサポートしているＵＩＭにバージョン通知要求が送られたときの動作と、そのような機能をサポートしていないＵＩＭにバージョン通知要求が送られたときの動作が示されている。
【００８３】
［１．４．１３．１．バージョン通知機能をサポートしているＵＩＭに関連した動作］
［１．４．１３．１．１．配信管理サーバへのプログラム配信要求］
コンテンツサーバ１９は、バージョンアップされたプログラムの配信を行うのに先立ち、そのプログラムを特定する情報とそのプログラムを実行可能なＵＩＭ１２のバージョンを表すバージョン情報を含んだプログラム配信要求を配信管理サーバ１６に送る（ステップＳ８１）。
【００８４】
［１．４．１３．１．２．ＵＩＭへのバージョン通知要求］
配信管理サーバ１６は、プログラム配信要求を受け取ると、データベースを参照することにより、プログラム配信要求により特定されたプログラムが配布された全ての移動体端末１１を求め、それらの移動体端末１１にバージョン通知要求を送る（ステップＳ８２）。
【００８５】
［１．４．１３．１．３．バージョン通知］
バージョン通知要求は移動体端末１１を介してＵＩＭ１２に送られる。ＵＩＭ１２は、バージョン通知要求を受け取ると、自己のバージョンを配信管理サーバ１６に通知する（ステップＳ８３）。
【００８６】
［１．４．１３．１．４．プログラム配信不可通知］
配信管理サーバ１６は、各ＵＩＭ１２からバージョン通知を受け取る。そして、あるＵＩＭ１２から受け取ったバージョン通知がコンテンツサーバ１９からのバージョン情報によって示された条件を満たしていない場合には、そのＵＩＭ１２にはプログラム配信をすることが不可能である旨の通知をコンテンツサーバ１９に送る（ステップＳ８４）。
また、他のあるＵＩＭ１２から受け取ったバージョン通知がコンテンツサーバ１９からのバージョン情報によって示された条件を満たしている場合、配信管理サーバ１６は、そのＵＩＭ１２に対するプログラムの配信を行う。この場合の動作は、既に図６および図８を参照して説明した通りである。
【００８７】
［１．４．１３．２．バージョン通知機能をサポートしていないＵＩＭに関連した動作］
［１．４．１３．２．１．配信管理サーバへのプログラム配信要求］
コンテンツサーバ１９は、上述と同様、配信管理サーバ１６にプログラムの配信要求を送る（ステップＳ９１）。
【００８８】
［１．４．１３．２．２．ＵＩＭへのバージョン通知要求］
配信管理サーバ１６は、移動体端末１１のＵＩＭ１２に対して、バージョン通知要求を送る（ステップＳ９２）。
【００８９】
［１．４．１３．２．３．タイマカウント］
この場合において、ＵＩＭ１２は、バージョン通知通信機能をサポートしていないので、応答することはない。
従って、配信管理サーバ１６は、タイマを監視し、所定のタイムアウト時間が満了した場合には（ステップＳ９３）、再度移動体端末１１のＵＩＭ１２に対して、バージョン通知要求を行う（ステップＳ９４）。そしてリトライカウンタの値を１だけ増加させる。
同様に配信管理サーバ１６は、タイマを監視し、所定のタイムアウト時間が満了した場合には（ステップＳ９５）、再度移動体端末１１のＵＩＭ１２に対して、バージョン通知要求を行う（ステップＳ９６）。そしてリトライカウンタの値を１だけ増加させる。
【００９０】
［１．４．１３．２．４．プログラム配信不可通知］
再び、同様に配信管理サーバ１６は、タイマを監視し、所定のタイムアウト時間が満了した場合には（ステップＳ９７）、再度移動体端末１１のＵＩＭ１２に対して、バージョン通知要求を行う（ステップＳ９８）。そしてリトライカウンタの値を１だけ増加させる。
そして、リトライカウンタの値が所定の値（この例の場合は３）となったとき、配信管理サーバ１６は、ＵＩＭ１２のバージョンがコンテンツサーバ１９から通知されたバージョンの条件を満たしていないと見なしてコンテンツサーバ１９に対してプログラム配信不可通知を行う（ステップＳ８４）。
これによりコンテンツサーバ１９は、配信を希望したプログラムが配信できないことを把握することとなる。
【００９１】
［１．４．１４．ＵＩＭのメモリ容量制限に伴うプログラム配信処理］
ＵＩＭ１２のメモリ容量には限界があるため、コンテンツサーバ１９側でプログラムの配信を希望したとしても配信ができない場合が起こりうる。図１３はそのような場合の動作例を示している。以下、この動作例について説明する。
【００９２】
［１．４．１４．１．配信管理サーバにおけるリジェクト］
コンテンツサーバ１９は、配信するプログラムを添付して、ＵＩＭ１２へのプログラム配信要求を配信管理サーバ１６に送る（ステップＳ１０１）。
配信管理サーバ１６のデータベースには、ＵＩＭ１２毎にそのメモリの状況を示す情報が登録されている。配信管理サーバ１６は、あるＵＩＭ１２へのプログラム配信要求を受け取ると、データベースを参照し、そのＵＩＭ１２の基本ブロックに空きがない、あるいは、空いている基本ブロックはあるがプログラムを記憶するには容量が小さい（ＵＩＭのバージョンによって異なる場合が想定されるため）など、プログラムの配信を阻害する理由があるか否かを判別する。
そして、配信管理サーバ１６は、プログラムの配信ができない場合には、メモリ容量不足によるプログラム配信不可通知をコンテンツサーバ１９に送る（ステップＳ１０２）。
これによりコンテンツサーバ１９は、配信を希望したプログラムが配信できないことを把握する。
【００９３】
［１．４．１４．２．ＵＩＭにおけるリジェクト］
配信管理サーバ１６のデータベースには、ＵＩＭ１２毎にそのメモリの容量と利用状態が登録されている。しかしながら、何らかの理由により実際のＵＩＭにおけるメモリの利用状態と、配信管理サーバ１６のデータベースに登録されたメモリの利用状態とが異なる場合がある。このような場合に行われる動作について説明する。
まず、コンテンツサーバ１９は、プログラムを添付したプログラム配信要求を配信管理サーバ１６に送る（ステップＳ１１１）。
【００９４】
配信管理サーバ１６は、データベースを参照し、配信先のＵＩＭ１２の基本ブロックに空きがあり、かつ、基本ブロックの容量が十分であるか否かを判断する。
この判断結果が「ＹＥＳ」である場合、配信管理サーバ１６は、プログラムを添付した書込要求をＵＩＭ１２に送る（ステップＳ１１２）。
書込要求を受け取ったＵＩＭ１２は、書込要求に添付されたプログラムをいずれかの基本ブロックに格納可能であるか否かを判断する。そして、この判断結果が「ＮＯ」である場合、ＵＩＭ１２は、配信管理サーバ１６に対してメモリ容量不足によるプログラム配信不可通知を送る（ステップＳ１１３）。
【００９５】
配信管理サーバ１６は、プログラム配信不可通知を受け取ると、メモリ容量不足によるプログラム配信不可通知をコンテンツサーバ１９に送る（ステップＳ１１４）。
コンテンツサーバ１９は、この通知により、配信希望先であるＵＩＭにプログラムを配信できないことを把握することができる。
ＵＩＭ１２のメモリの書込エラーやメモリデバイスそのものの故障により、基本ブロックへのプログラムの格納を行うことができない場合もある。この場合、以上説明したものと全く同じ動作が行われる。図１４はその動作を示している。図１４におけるステップＳ１２１〜Ｓ１２４は、図１３のステップＳ１１１〜Ｓ１１４に対応しており、その動作内容は全く同じである。
【００９６】
［１．４．１５．具体的動作例］
以下、本実施形態の具体的動作例について説明する。
［１．４．１５．１．ＵＩＭに格納されたプログラムの実行］
この動作例では、ＵＩＭ１２の基本ブロック４０−１に“○○鉄道”プログラムが格納されているものとする。
ユーザは、移動体端末１１の操作部２２を操作することにより、“○○鉄道”プログラムを配信したコンテンツプロバイダのホームページにアクセスし、ディスプレイ部２１の表示画面に図１６に示すような配信メニュー画面Ｄ２１を表示させる。この配信メニュー画面Ｄ２１は、コンテンツプロバイダのコンテンツサーバ１９から提供されるものである。ユーザは、この配信メニュー画面Ｄ２１の表示メニューの中から定期券の購入に関するものを選択する操作を行うと、定期券の購入要求が移動体端末１１からネットワークを介してコンテンツサーバ１９に送信される。
【００９７】
この結果、ダウンロード画面Ｄ２２がコンテンツサーバ１９から移動体端末１１に送られ、ディスプレイ部２１に表示される。このダウンロード画面Ｄ２２は、定期券と同一の金銭的価値を有する幾つかのバリューデータのメニューを含んでいる。
ユーザがそれらの中から所望のバリューデータを選択すると、この選択されたバリューデータを要求する情報が移動体端末１１からコンテンツサーバ１９に送られる。
【００９８】
その後、コンテンツサーバ１９は、決済方法を選択させるための画面のデータを移動体端末１１に送る。この結果、画面Ｄ２３が移動体端末１１によって表示される。ユーザは、画面Ｄ２３内のメニューの中から“ＵＩＭメニューから選択”を選択することにより、ＵＩＭ１２内のプログラムを利用して決済を行うことができる。すなわち、この選択を行うと、その旨の通知がＵＩＭ１２に送られる。この通知を受けたＵＩＭ１２の制御部は、基本ブロック４０−１〜４０−６に格納されているプログラムのリストを移動体端末１１に送り返す。そして、このリストを含む画面Ｄ２４が移動体端末１１のディスプレイ部２１に表示される。ユーザがこのリストに掲げられたプログラムの中から決済に関するものを選択すると、ＵＩＭ１２によってそのプログラムが実行され、決済処理が行われる。
【００９９】
この決済処理が例えば基本ブロック４０−２のプログラム領域４１内のプログラムの実行により行われるととすると、同決済処理では、同一基本ブロック４０−２のデータ領域４２が用いられる。
コンテンツサーバ１９は、この決済処理が終わったことを検知すると、上述した定期券購入要求によって要求された定期券のバリューデータを移動体端末１１に送る。このバリューデータは、乗車区間、有効期限、ユーザ氏名、ユーザの年齢等の情報を含んでおり、移動体端末１１からＵＩＭ１２に送られる。ＵＩＭ１２では、このバリューデータが“○○鉄道”プログラムによって使用されるべきものであることから、同プログラムに対応した基本ブロック４０−１のデータ領域４２にバリューデータを格納する。
【０１００】
［１．４．１５．２．ネットワークを利用した通信販売］
この動作例においては、通信販売のためのプログラムがＵＩＭ１２の基本ブロック４０−２に格納されているものとする。
ユーザは、移動体端末１１の操作部２２を操作することにより、コンテンツプロバイダのホームページにアクセスし、移動体端末１１のディスプレイ部２１に図１７に示す配信メニュー画面Ｄ３１を表示させる。この配信メニュー画面Ｄ３１は、ネットワークを利用した通信販売（いわゆる、ｅ−コマース）のサービスを提供するコンテンツプロバイダのコンテンツサーバ１９から提供されるものである。ユーザが配信メニュー画面Ｄ３１に挙げられた商品の中から所望の商品（図１７では、すき焼き用松阪牛１キログラム５，０００円）を選択すると、購入要求が移動体端末１１からネットワークを介してコンテンツサーバ１９に送信される。
【０１０１】
購入要求を受け取ったコンテンツサーバ１９は、決済方法の選択画面Ｄ３２を移動体端末１１に送り返す。この結果、選択画面Ｄ３２がディスプレイ部２１に表示させる。
この選択画面Ｄ３２に挙げられた決済方法の中から例えば、「ＸＸ銀行」が選択されると、ＵＩＭ１２の基本ブロック４０−３に格納されているＸＸ銀行の決済プログラムがＵＩＭ１２内の制御部３０によって起動され、決済画面Ｄ３４が表示される。
【０１０２】
そこで、ユーザが決済情報をとして、暗証番号を入力すると、移動体端末１１は、通信部３４およびネットワークを介してＸＸ銀行の決済サーバに接続を試み、アクセス中画面Ｄ３５が表示される。
そして、認証が完了すると、引き落とし額確認画面Ｄ３６が表示される。
ユーザがこれを確認し、その旨の入力を行うと、再び、移動体端末１１は、通信販売を行っているコンテンツプロバイダの入金確認画面Ｄ３７を表示し、商品の届け日などを表示する。
【０１０３】
［１．４．１５．３．定期券使用（改札通過：マニュアル起動時）］
本実施形態においては、ＵＩＭ１２に適切なプログラムを格納しておくことにより移動体端末１１を定期券代わりに使用することができる。以下、その動作例を説明する。
まず、ユーザがＵボタン２３を押し下げると、図１８に示すＵＩＭメニュー画面Ｄ４１がディスプレイ部２１に表示される。次にユーザは、定期券を利用する「○○鉄道」を選択する。これにより、ＵＩＭ１２の制御部３０は、基本ブロック４０−１内の○○鉄道のプログラムを実行し、ディスプレイ部２１にメニュー画面Ｄ４２を表示させる。
【０１０４】
画面Ｄ４２が表示されたとき、ユーザが「４．アプリケーション自動起動設定」を選択すると、自動起動設定確認画面Ｄ４３が表示され、ユーザに選択を促す。
ここで、ユーザが「はい」を選択すると、自動起動が設定される。一方、「いいえ」を選択すると、自動起動は設定されない。
鉄道会社の改札口には、改札用リーダ／ライタ装置が配置されている。ユーザは、改札口を通過するとき、事前に次のような操作をする。
【０１０５】
まず、ユーザはＵボタン２３を押し下げ、図１９に示すＵＩＭメニュー画面Ｄ４１をディスプレイ部２１に表示させる。次にユーザは、定期券を利用する「○○鉄道」を選択する。これにより、ＵＩＭ１２の制御部３０は、基本ブロック４０−１内の○○鉄道のプログラムを実行し、ディスプレイ部２１にメニュー画面Ｄ４２を表示させる。そして、ユーザは、「１．定期券」を選択すると、○○鉄道プログラムの一部である定期券プログラムが制御部３０によって起動される。そして、制御部３０は、この定期券プログラムに従い、改札処理のための通信を改札用リーダ／ライタ装置と行う。この通信が例えば共通鍵暗号方式により行われるとした場合、改札処理は次の手順により行われる。
（１）お互いに通信相手を確認する。
（２）改札用リーダ／ライタが移動体端末１１に定期券に関する情報の送信を要求する。
（３）移動体端末１１が定期券に関する情報を共通鍵で暗号化して改札用リーダ／ライタに送信する。このとき移動体端末１１のディスプレイ部に定期券情報の表示画面Ｄ５３を表示させる。
（４）改札用リーダ／ライタは、受信した定期券に関する情報を復号化し、正規ユーザである場合には、通過を許可すべ、改札口ゲートを開く。
【０１０６】
これに伴い、ユーザに対するお礼のメッセージ画面Ｄ５４などがディスプレイ部２１に表示される。
以上の説明は、定期券の場合であったが、移動体端末１１をプリペイドカードとして機能ささえる場合には、上記（４）の処理において、使用金額差し引き後の金額に相当するバリューデータとしてデータ領域４２を更新すればよい。
【０１０７】
［１．４．１５．４．定期券使用（改札通過：自動起動時）］
図１８に示す画面Ｄ４３が表示されたときにユーザが「はい」を選択し、自動起動が設定されたとする。この場合の動作は次のようになる。すなわち、自動起動の設定が行われた移動体端末１１が駅の改札口に接近すると、改札用リーダ／ライタ装置から送信されるポーリング信号が移動体端末１１によって受信される。この結果、ＵＩＭ１２では、○○鉄道プログラムの一部である定期券プログラムが制御部３０によって自動起動され、上記マニュアル起動の場合と同様な改札処理が行われる。
【０１０８】
［１．５．第１実施形態の効果］
以上説明したように、本実施形態によれば、記憶モジュールの記憶領域を分割して各プログラムを格納して使用する場合にも、移動体端末側は、通信機能をＵＩＭに提供するだけであり、移動体端末側に余計な負担をかけることがないので、移動体端末の本来の機能を損ねることがない。
また、プログラムの格納、アクティベーション、ディアクティベーション、削除などは、移動体端末には行わせることなく、配信管理サーバの制御下で行われるため、移動体端末側で処理を行うことはできず、セキュリティを確保しつつ、ユーザの使い勝手を向上することができる。
【０１０９】
［２．第２実施形態］
上記第１実施形態においては、ＵＩＭ１２によって実行されるプログラムは、同ＵＩＭ内の基本ブロック４０−１〜４０−６に格納された。本実施形態において、ＵＩＭ１２は、実行するプログラムのすべてを必ずしも基本ブロックに格納する必要はない。
【０１１０】
［２．１．第２実施形態の構成］
図２１はこの発明の第２実施形態であるプログラム配信システムの構成を示すブロック図である。
図２１には、ＵＩＭ１２と、コンテンツサーバ１９−１〜１９−６および１９Ｘと、配信管理サーバ１６Ａが示されている。配信管理サーバ１６Ａは、上記第１実施形態における配信管理サーバ１６に対し、本実施形態特有の機能が追加されている。コンテンツサーバ１９−１〜１９−６および１９Ｘは、上記第１実施形態におけるコンテンツサーバ１９と同様な役割を果たす。本実施形態に係るシステムは、上記第１実施形態における認証サーバ等も有しているが、図２１では省略されている。
【０１１１】
本実施形態におけるＵＩＭ１２は、第１実施形態におけるアプリケーション領域１２Ｂに代えて、図２２に示すアプリケーション領域１２Ｃを備えている。このプログラム記憶領域１２Ｃは、７個の基本ブロック４０−１〜４０−７および１個のフリー基本ブロック４０−Ｆ１に分けられている。
各基本ブロック４０−１〜４０−７およびフリー基本ブロック４０−Ｆ１は、それぞれプログラム領域４１およびデータ領域４２を備えている。
プログラム領域４１は、プログラム（アプリケーションあるいはアプレット）を格納する。データ領域４２は、同一の基本ブロックあるいはフリー基本ブロックにおけるプログラム領域４１に格納されたプログラムが使用するデータを格納する。
【０１１２】
この場合において、基本ブロック４０−１〜４０−７およびフリー基本ブロック４０−Ｆ１は、互いに独立しており、原則的には、あるブロックのプログラム領域４１に格納されたプログラムが他のブロックのデータ領域４２にアクセスすることはできない。この点は上記第１実施形態と同様である。また、プログラム領域４１に格納されたプログラムについては、配信管理サーバ１６Ａを経由しないかぎり配信、削除などを行うことはできないが、データ領域４２については、ＡＴＭから電子マネーをダウンする場合のように、配信管理サーバ１６Ａ経由あるいはローカルな端末を介して直接操作することが可能となっている。この点も上記第１実施形態と同様である。
【０１１３】
本実施形態において、基本ブロック４０−１〜４０−７に格納されるプログラムについては、配信管理サーバ１６Ａによって配信状態が管理される。しかし、フリー基本ブロック４０−Ｆ１については、配信管理サーバ１６Ａではなく、ユーザの責任において管理される。
【０１１４】
上記第１実施形態において配信管理サーバ１６は、移動体端末１１からの配信要求に応じてコンテンツサーバ１９から送信されたプログラムをＵＩＭ１２に送った。本実施形態における配信管理サーバ１６Ａは、移動体端末１１からプログラムの配信要求を受け付け、必要に応じてコンテンツサーバにアクセスしてそのプログラムを取得し、移動体端末１１のＵＩＭ１２に配信する。本実施形態における配信管理サーバ１６Ａは、コンテンツサーバからＵＩＭ１２へのプログラム配信の中継およびその管理を行うという点において上記第１実施形態の配信管理サーバ１６と共通している。しかし、本実施形態における配信管理サーバ１６Ａは、このような中継および管理をするだけに止まらない。すなわち、配信管理サーバ１６Ａは、ＵＩＭ１２のユーザのためにプログラムまたはその所在を示す情報を格納する手段を有しており、この手段によって格納されている範囲内のプログラムについては、ユーザは配信管理サーバ１６Ａを通じてそのプログラムを取得することができる。この意味で配信管理サーバ１６Ａは、ＵＩＭ１２のためのいわばキャッシュメモリとしての役割を果たすものである。
【０１１５】
配信管理サーバ１６Ａは、ＵＩＭ１２に対するプログラムの配信の管理とこのようなキャッシュメモリ的な機能を果たすために、配信状態管理部５０を備えている。この配信状態管理部５０は、ユーザ情報格納部５１と、プログラム情報格納部５２とを備えている。
プログラム情報格納部５２は、ＵＩＭ１２に配信可能なプログラム本体またはプログラムに対応したＵＲＬを格納している。ここで、ＵＲＬは、そのプログラムがコンテンツサーバ１９−１〜１９−６のうちどのコンテンツサーバのどのアドレスにあるかを表す情報である。あるプログラムについて、ＵＲＬ情報あるいはプログラム本体のいずれをプログラム情報格納部５２に格納するかは、プログラム情報格納部５２の記憶容量に基づいて定めるか、あるいは記憶容量が十分である場合には、配信サーバを運営するコンテンツプロバイダの希望により選択させるように構成することが可能である。
【０１１６】
プログラム情報格納部５２に新規なプログラムまたはそのＵＲＬが格納される機会として、例えば、あるユーザの移動体端末１１からプログラムの配信要求が送られ、この配信要求に応えるようなプログラムまたはそのＵＲＬがプログラム情報格納部５２に格納されていない場合が挙げられる。かかる場合、プログラム情報格納部５２は、移動体端末１１からの要求に従い、コンテンツサーバにアクセスし、ユーザが望むプログラムを取得して格納する。
ユーザ情報格納部５１は、本システムが適用されるｎ人（ｎは複数）のユーザに対応付けられたｎ個のユーザ個別情報格納部５３−１〜５３−ｎを備えており、各ユーザ個別情報格納部５３―ｋは、実配信情報格納部５４と、仮想配信情報格納部５５とを備えている。
【０１１７】
ユーザ個別情報格納部５３―ｋにおける実配信情報格納部５４は、ユーザｋのＵＩＭ１２に実際に配信されたプログラムに対応したポインタデータを格納する。このポインタデータは、そのプログラムそのものまたはそのプログラムのＵＲＬが格納されているプログラム情報格納部５２内のエリアを示すポインタである。この実配信情報格納部５４を有しているため、配信管理サーバ１６Ａは、ＵＩＭ１２の基本ブロック４０−１〜４０−７にあるプログラムが万が一消去された場合でも、直ちに再配信を行うことができる。
【０１１８】
また、ユーザ個別情報格納部５３―ｋにおける仮想配信情報格納部５５は、ユーザｋのＵＩＭ１２に実際に配信されてはいないが、ユーザｋが希望する場合にＵＩＭ１２に直ちに提供可能なプログラムに対応したポインタデータを格納する。ＵＩＭ１２のユーザは、仮想配信情報配格納部５５を利用した次のようなサービスを受けることができる。
【０１１９】
ａ．ＵＩＭ１２への配信を希望するプログラムのポイントデータを取り敢えず仮想配信情報格納部５５に格納してもらう。ユーザは、仮想配信情報格納部５５にポインタデータが格納されたプログラムの配信が必要になったときに、移動体端末１１を用いて配信管理サーバ１６Ａにその旨の要求を送る。配信管理サーバ１６Ａは、要求されたプログラムのポインタデータを仮想配信情報格納部５５から読み出し、そのポインタデータによって特定されたプログラムを取得してＵＩＭ１２に配信する。この場合、ＵＩＭ１２に配信されたプログラムのポインタデータは、仮想配信情報記憶部５５から実配信情報格納部５４に移動される。
【０１２０】
ｂ．ＵＩＭ１２内の基本ブロックは数に限りがある。従って、基本ブロックが全てふさがっており、配信対象であるプログラムを格納可能な空き状態の基本ブロックがないという事態が起こりうる。そのような場合、配信管理サーバ１６Ａは、実配信情報格納部５４内の記憶領域のうちＵＩＭ１２内のある基本ブロック４０−Ｘに対応した記憶領域からポインタデータを読み出し、これを仮想配信情報格納部５５に移す。そして、配信対象であるプログラムをＵＩＭ１２に送って、基本ブロック４０−Ｘに書き込ませ、そのプログラムのポインタデータを実配信情報格納部５４内の基本ブロック４０−Ｘに対応した記憶領域に書き込む。このような処理により、ユーザは、基本ブロックが満杯状態であるときにも、配信要求をしてプログラムを取得し、基本ブロックに格納することができる。その際に基本ブロックから追い出されたプログラムについては、必要があれば、再度、配信管理サーバ１６Ａに要求し、上記ａの処理を行ってもらえばよい。
【０１２１】
次に、フリー基本ブロック４０−Ｆ１に対応した配信管理サーバ１６Ａの機能について説明する。既に述べたように、フリー基本ブロック４０−Ｆ１に関しては、配信管理サーバ１６は、プログラムの配信の管理をしない。ユーザは、移動体端末１１を操作することにより、自由にフリー基本ブロック４０−Ｆ１へのプログラムの登録、プログラムの削除を行うことができる。
【０１２２】
ユーザ個別情報格納部５３の実配信情報格納部５４には、ＵＩＭ１２内の基本ブロック４０−Ｆ１に対応した記憶領域が設けられている。しかし、この領域には、何らかのプログラムのポインタデータが記憶されることはなく、基本ブロック４０−Ｆ１に対するプログラムの登録あるいは削除の回数などのデータ若しくはそのプログラムのＵＲＬ情報等が格納される。なお、フリー基本ブロック４０−Ｆ１に何も格納されていない場合には、その旨を表すデータ（Ｎｕｌｌデータ等）をこの領域に格納するように構成してもよい。
【０１２３】
ＵＩＭ１２のフリー基本ブロック４０−Ｆ１にあるプログラムは、それが万が一消去された場合、上記基本ブロック４０−１〜４０−７に格納されているプログラムとは異なり、ユーザ自身が再登録を行わない限り、そのままの状態となる。
一方、フリー基本ブロック４０−Ｆ１にあるプログラムを一時的にユーザが他のプログラムに変更したい場合には、ユーザ自身が書き換えることによりいつでも変更が可能となっている。
【０１２４】
この場合において、配信管理サーバ１６Ａは、フリー基本ブロック４０−Ｆ１にプログラムが格納されたとしても、課金処理を行うことはない。
フリー基本ブロック４０−Ｆ１は、ユーザの希望に応じて基本ブロック４０−１〜４０−７と同一に取り扱うように変更することが可能である。すなわち、変更前は、７個の基本ブロック４０−１〜４０−７および１個のフリー基本ブロック４０−Ｆ１を８個の基本ブロック４０−１〜４０−８として利用させることが可能である。
【０１２５】
この場合には、配信管理サーバ１６Ａは、ＵＩＭ１２のシステム領域１２Ａ（図４参照）にフリー基本ブロック４０−Ｆ１を基本ブロック４０−８に変更した旨の情報を書き込む。また、配信管理サーバ１６Ａは、それまでフリー基本ブロック４０−Ｆ１に対応したものとして扱っていた実配信情報格納部５４内の領域を、以後は、基本ブロック４０−８に対応した領域として扱い、この領域を用いて、基本ブロック４０−１〜４０−７について行われているものと同じ管理を開始する。
【０１２６】
なお、このようにユーザが一旦基本ブロック４０−８に変更した基本ブロックを再びフリー基本ブロック４０−Ｆ１に戻すことも可能である。基本ブロック４０−１〜４０−７については、フリー基本ブロックに変更することはできない。
【０１２７】
［２．２．配信管理サーバの構成］
図２３に配信管理サーバ１６Ａの構成を示す。
配信管理サーバ１６Ａは、大別すると、伝送制御部６１と、上述したユーザ情報格納部５１と、上述したプログラム情報格納部５２と、セキュア通信制御部６２と、を備えている。
【０１２８】
伝送制御部６１は、外部のコンテンツサーバ１９−１〜１９−６あるいは移動体端末１１との間（コンテンツサーバ１９−１〜１９−６−移動体端末１１相互間も含む。）の伝送制御を行う。また、伝送制御部６１は、ユーザ情報格納部５１、プログラム情報格納部５２およびセキュア通信制御部６３相互間の伝送制御を行う。さらに伝送制御部６１は、配信状態管理部５０、ユーザ情報格納部５１、プログラム情報格納部５２およびセキュア通信制御部６３の制御並びに配信状態管理部５０、ユーザ情報格納部５１、プログラム情報格納部５２およびセキュア通信制御部６３における各種処理の実行要求などを行う。
【０１２９】
プログラム情報格納部５２は、ＵＩＭ１２の基本ブロック４０−１〜４０−７に配信を許可しているプログラムに対するポータルサイト（Portal site）として実質的に機能している。
セキュア通信制御部６３は、コンテンツサーバ１９−１〜１９−６から送付された情報（暗号化されたプログラムなど）の認証、各ＵＩＭが保持している秘密鍵の鍵対となる公開鍵の保持あるいはコンテンツサーバ１９−１〜１９−６に対する公開鍵の発行管理などを行う。
【０１３０】
［２．３．第２実施形態の動作］
［２．３．１．ユーザ情報格納部への登録］
図２１に示す例において、コンテンツサーバ１９−１〜１９−６は、配信管理サーバ１６Ａの管理下にある。ユーザは、これらのコンテンツサーバに格納されたプログラム（アプレット）を利用したい場合、そのプログラムを配信管理サーバ１６Ａのユーザ情報格納部５１に登録する必要がある。以下、図２４を参照し、この登録処理について説明する。
まず、ユーザは、登録可能なプログラムのメニューリストの要求を移動体端末１１から配信管理サーバ１６Ａに送る。この要求は、配信管理サーバ１６Ａの伝送制御部６１を介してプログラム情報格納部５２に送られる（ステップＳ１３１）。
【０１３１】
この要求を受けたプログラム情報格納部５２は、登録可能なプログラム、具体的にはプログラム情報格納部５２にプログラム本体またはＵＲＬが格納されている全プログラムのメニューリストを作成し、伝送制御部６１を介して移動体端末１１に送信する（ステップＳ１３２）。
このメニューリストは、移動体端末１１によって受信され、ディスプレイ部２１に表示される。この状態において、ユーザは、操作部２２を操作し、配信管理サーバ１６Ａから所望のプログラムについてのコメントを取得してディスプレイ部２１に表示させることができる。
【０１３２】
ユーザが操作部２２を操作することにより、配信を要求するプログラムが確定すると、移動体端末１１は、そのプログラムを特定する情報を含んだ登録要求を配信管理サーバ１６Ａのプログラム情報格納部５２に送信する（ステップＳ１３３）。
プログラム情報格納部５２は、このプログラム登録要求に基づき、ユーザが要求しているプログラムのユーザ情報格納部５１への登録を行う（ステップＳ１３４）。
【０１３３】
このステップＳ１３４の動作を詳しく述べると次の通りである。まず、上記登録要求が、例えば、あるユーザｋのＵＩＭ１２が内蔵または装着された移動体端末１１からの登録要求であったとする。この場合、プログラム情報格納部５２は、登録要求に基づき、ユーザが要求しているプログラムを判別し、プログラム情報格納部５２内の各領域のうちそのプログラムの所在を表すＵＲＬ情報あるいはそのプログラム本体を格納している領域を特定するポインタデータを求める。このようにしてユーザが要求しているプログラムのポインタデータが得られると、プログラム情報格納部５２は、ユーザｋに対応したユーザ個別情報格納部５３−ｋの実配信情報格納部５４の各領域の記憶内容を参照することにより、ユーザｋのＵＩＭ１２の各基本ブロックのうち空き状態である基本ブロック４０−Ｘ（１≦Ｘ≦７）を求める。そして、実配信情報格納部５４の各領域のうちこの基本ブロック４０−Ｘに対応する領域に、ユーザが要求しているプログラムのポインタデータを登録する（ステップＳ１３４）。ここで、ユーザｋのＵＩＭ１２に空いている基本ブロック４０―Ｘ（１≦Ｘ≦７）が存在しない場合もあり得る。かかる場合、プログラム情報格納部５２は、ユーザが指定したあるいは自動的に設定した仮想配信情報格納部５５にポインタデータを登録する。
【０１３４】
ところで、ステップＳ１４１において、メニューリストの中に所望のプログラムがない場合がある。かかる場合、ユーザは、移動体端末１１を操作してプログラム情報格納部５４に所望のコンテンツサーバへのアクセスを要求することができる。この場合、プログラム情報格納部５４は、ユーザからの要求に従い、ユーザが望むコンテンツサーバからプログラムまたはそのＵＲＬを取得し、プログラム情報格納部５４内の空いているエリアに保持する。この場合、取得したプログラムまたはＵＲＬの所在を示すポインタデータの実配信情報格納部５４への登録は、上述と同様の手順で行われる。
【０１３５】
このようにして、ユーザが要求しているプログラムの登録が終了すると、配信管理サーバ１６Ａは、当該ユーザあるいは当該プログラムの配信元のコンテンツプロバイダなどを対象とした課金処理を開始する。
続いて、ユーザ情報格納部５１は、伝送制御部６１を介して、移動体端末１１に登録通知を送る（ステップＳ１３５）。
移動体端末１１は、この登録通知を受け取ると、登録応答を配信管理サーバ１６Ａに送る（ステップＳ１３６）。
【０１３６】
ユーザ情報格納部５１は、ユーザｋのＵＩＭ１２が内蔵または接続された移動体端末１１からの登録応答を伝送制御部６１を介して受け取ると、そのユーザｋのためにポインタデータの登録を行ったプログラムを格納しているコンテンツプロバイダ１９を求め、そのコンテンツサーバ１９にアクティベーション許可要求を送る（ステップＳ１３７）。
【０１３７】
このアクティベーション許可要求を受け取ったコンテンツサーバ１９は、プログラムの利用契約を承認すべく、アクティベーション許可をユーザ情報格納部５１に送る（ステップＳ１３８）。これによりユーザ情報格納部５１は、ユーザｋに対応したユーザ個別情報格納部５３−ｋの実配信情報格納部５４の各領域のうち基本ブロック４０−Ｘに対応した領域に記憶されたポインタデータの使用が許可されたものとして取り扱う。
【０１３８】
そして、ユーザ情報格納部５１は、移動体端末１１に対し登録が完了した旨の登録完了通知を送る（ステップＳ１３９）。この登録完了通知は、ユーザ情報格納部５１へのポインタデータの登録が行われているプログラムの一覧である登録リストを含んでいる。
ユーザは、移動体端末１１のディスプレイ部２１によりこの登録リストを確認することができる。
【０１３９】
［２．３．１．１．ＵＩＭの基本ブロックへの登録（コンテンツサーバがプログラムを保持している場合）］
登録リストを受け取ったユーザｋは、自らが登録を要求したプログラムの配信およびＵＩＭ１２内への書込を要求することができる。図２５を参照し、この場合の動作について説明する。
ユーザｋは、登録リストの中から配信を望むプログラムを選択する操作を行うと、そのプログラムが登録リスト中の何番目に位置するかを示す登録リスト内ポインタを含んだ配信要求が移動体端末１１から配信管理サーバ１６Ａのユーザ情報格納部５１に送られる（ステップＳ１４１）。
【０１４０】
ユーザ情報格納部５１は、ユーザｋの移動体端末１１から配信要求を受け取ると、ユーザ個別情報格納部５３−ｋの実配信情報格納部５４の各領域のうち配信要求に含まれる登録リスト内ポインタに対応した領域から、配信要求の対象であるプログラムのＵＲＬまたはプログラム本体の格納先を特定するポインタデータを読み出す。そして、このポインタデータを含む配信要求をプログラム情報格納部５２に送る（ステップＳ１４２）。
【０１４１】
プログラム情報格納部５２は、この配信要求中のポインタデータによって特定された領域を参照する。そして、当該領域にプログラムのＵＲＬが格納されている場合には、そのＵＲＬを用いて、コンテンツサーバ１９にプログラムの配信を要求する（ステップＳ１４３）。
コンテンツサーバ１９は、この配信要求を受け取ると、認証サーバ１８に対して、配信管理サーバ公開鍵を要求する（ステップＳ１４４）。
認証サーバ１８は、コンテンツサーバ１９がＵＩＭ１２への書き込みが許可された者である場合には、配信管理サーバ公開鍵をコンテンツサーバ１９に発行する（ステップＳ１４５）。
【０１４２】
コンテンツサーバ１９は、この配信管理サーバ公開鍵を用いた暗号化をプログラムに施し、証明書付きプログラムとして配信管理サーバ１６Ａのセキュア通信制御部６２に配信する（ステップＳ１４６）。
セキュア通信制御部６２は、配信管理サーバ公開鍵と対をなす配信管理サーバ秘密鍵を記憶しており、この鍵を用いて、証明書付きプログラムの復号化を行う。この復号化が成功すると、平文のプログラムが得られる。
【０１４３】
セキュア通信制御部６２は、配信先であるＵＩＭ１２に対応したＵＩＭ公開鍵を認証サーバ（第１実施形態参照）から取得し、このＵＩＭ公開鍵によりプログラムを暗号化してＵＩＭ１２に送る。ＵＩＭ１２では、ＵＩＭ公開鍵と対をなすＵＩＭ秘密鍵を用いてプログラムの復号化が行われ、この復号化が成功すると、平文によるプログラムが得られる。ＵＩＭ１２は、このプログラムを基本ブロック４０−Ｘに書き込む（ステップＳ１４７）。なお、ＵＩＭ１２は、配信管理サーバ１６Ａ内のプログラム情報格納部５２が用いているのと同じアルゴリズムにより基本ブロック４０−Ｘを求める。従って、このステップＳ１４７では、図２４のステップＳ１３４において求められたものと同じ基本ブロック４０−Ｘが求められる。なお、図２４のステップＳ１３９において配信管理サーバ１６Ａから送信される登録完了通知に、ステップＳ１３４において求められた空き状態の基本ブロック４０−Ｘを特定する情報を含め、図２５のステップＳ１４７では、この情報により特定された基本ブロック４０−Ｘにプログラムを格納するようにしてもよい。
【０１４４】
ＵＩＭ１２は、プログラムの書き込みが終了すると、その旨を示す書込終了通知を配信管理サーバ１６のセキュア通信制御部６２に送信する（ステップＳ１４８）。この書込終了通知は、プログラムの書込が行われた基本ブロック４０−Ｘを特定する情報を含んでいる。
配信管理サーバ１６のセキュア通信制御部６２がこの書込終了通知を受けると、ユーザ情報格納部５１は、ＵＩＭ１２に書き込んだプログラムの実行の許可を要求すべく、アクティベーション要求をコンテンツサーバ１９に送る（ステップＳ１４９）。
【０１４５】
このアクティベーション要求を受け取ったコンテンツサーバ１９は、アクティベーション許可をユーザ情報格納部５１に送る（ステップＳ１５０）。
このアクティベーション許可を受け取ったユーザ情報格納部５１は、ＵＩＭ１２にアクティベーション指示を送る（ステップＳ１５１）。
【０１４６】
ＵＩＭ１２では、このアクティベーション指示が受信されると、プログラムを書き込んだ基本ブロック４０−Ｘに対応した活性化フラグが“０”から“１”に切り換えられ、以後、当該基本ブロック内のプログラムの実行が可能となる。
ＵＩＭ１２は、プログラムのアクティベーションが終了すると、その旨を示すアクティベーション応答通知をプログラムを特定する情報（例えば、基本ブロック４０−Ｘを特定する情報）とともに配信管理サーバ１６Ａのユーザ情報格納部５１に送信する（ステップＳ１５２）。
【０１４７】
ユーザ情報格納部５１は、ユーザｋのＵＩＭ１２からアクティベーション応答通知を受けると、ユーザ個別情報格納部５３−ｋの実配信情報格納部５４の各領域のうち基本ブロック４０−Ｘに対応した領域を求める。この領域には、ユーザｋのＵＩＭ１２に基本ブロック４０−Ｘに書き込まれたプログラムに対応したポインタデータが既に書き込まれている。そして、この領域に、既にあるポインタデータと同居するような形でアクティベーションが完了した旨の情報が書き込まれる。このような動作が行われるため、配信管理サーバ１６Ａは、ユーザ情報格納部５１の各エリアを参照することにより全てのＵＩＭ１２の基本ブロック４０−１〜４０−７について、活性化が行われているかどうかを把握することができる。
【０１４８】
ユーザ情報格納部５１は、アクティベーションが完了した旨の情報の書込を終えると、移動体端末１１に登録完了の旨をプログラムリストとして通知し、ユーザに以後、プログラムの実行が可能である旨を通知するとともに、処理を終了する（ステップＳ１５３）。
配信管理サーバ１６Ａは、プログラムのアクティベーションが完了した旨の通知をコンテンツサーバ１９に送る（ステップＳ１５４）。
【０１４９】
［２．３．１．２．ＵＩＭの基本ブロックへの登録（配信管理サーバがプログラム本体を保持している場合）］
図２５に示す動作例では、ユーザが配信を希望するプログラムの本体は配信管理サーバ１６Ａに格納されておらず、コンテンツサーバ１９に格納されていた。これに対し、図２６に示す動作例では、ユーザが配信を希望するプログラムの本体が配信管理サーバ１６Ａに記憶されている。以下、この図２６に示す動作例について説明する。
【０１５０】
ユーザが配信管理サーバ１６Ａから受け取った登録リストを参照し、所望のプログラムを選択する操作を行うと、そのプログラムに対応した登録リスト内ポインタを含んだ配信要求が移動体端末１１から配信管理サーバ１６Ａのユーザ情報格納部５１に送られる（ステップＳ１６１）。
【０１５１】
ユーザ情報格納部５１は、ユーザｋの移動体端末１１から配信要求を受け取ると、ユーザ個別情報格納部５３−ｋの実配信情報格納部５４の各領域のうち配信要求に含まれる登録リスト内ポインタに対応した領域から、配信要求の対象であるプログラムのＵＲＬまたはプログラム本体の格納先を特定するポインタデータを読み出す。そして、このポインタデータを含む配信要求をプログラム情報格納部５２に送る（ステップＳ１６２）。
【０１５２】
プログラム情報格納部５２は、この配信要求中のポインタデータによって特定された領域を参照する。そして、当該領域にプログラム本体が格納されている場合、セキュア通信制御部６２は、認証サーバ１８に対して証明書要求、すなわち、そのプログラム本体を暗号化してユーザｋのＵＩＭ１２に送るのに必要なＵＩＭ公開鍵の要求を送る（ステップＳ１６３）。
認証サーバ１８は、配信要求に対応するプログラムがＵＩＭ１２への書き込みが許可されたプログラムである場合には、ＵＩＭ公開鍵をセキュア通信制御部６２に送る（ステップＳ１６４）。
【０１５３】
セキュア通信制御部６２は、このＵＩＭ公開鍵を受け取り、これが正規なものであると判断すると、配信対象であるプログラムをＵＩＭ公開鍵によって暗号化し、証明書付きプログラムを生成する。
移動体端末１１において、ユーザがプログラムの配信を許可する操作を行うと、配信管理サーバ１６Ａのセキュア通信制御部６２は、移動体端末１１のＵＩＭ１２に証明書付きプログラムを送る（ステップＳ１６５）。
【０１５４】
ＵＩＭ１２は、ＵＩＭ公開鍵と対をなすＵＩＭ秘密鍵を記憶しており、このＵＩＭ秘密鍵を用いて、プログラムを復号する。そして、当該プログラムを基本ブロック４０−Ｘに書き込む。
以後の動作は図２５に示されたものと同様であり、図２６におけるステップＳ１６６〜Ｓ１７１は、図２５におけるステップＳ１４８〜Ｓ１５３に対応している。
【０１５５】
［２．３．１．３．ＵＩＭの基本ブロックへの登録（配信管理サーバがプログラム本体を保持し、セキュア通信制御部がＵＩＭ公開鍵を保持している場合）］
移動体端末１１から配信管理サーバ１６Ａに配信要求が送られたとき、配信管理サーバ１６Ａのセキュア通信制御部６２がプログラムの配信先であるＵＩＭ１２のＵＩＭ公開鍵を保持しているような場合が起こりうる。例えば短時間のうちに同一のＵＩＭ１２に対するプログラムの配信が行われるようなときにこのようなことが起こりうる。図２７はそのような場合における動作例を示している。この動作例においては、配信要求に対応したプログラム本体が見つかったとき、セキュア通信制御部６２に保持されたＵＩＭ公開鍵を用いてプログラムの暗号化が行われ、ＵＩＭ１２に書き込まれる。図２７に示す動作は、認証サーバ１８からＵＩＭ公開鍵を取得するステップＳ１６３およびＳ１６４に相当する動作が欠如している点を除き、図２６に示す動作と同様であり、図２７におけるステップＳ１８１、Ｓ１８２、Ｓ１８３〜Ｓ１８９は、図２６におけるステップＳ１６１、Ｓ１６２、Ｓ１６５〜Ｓ１７１に対応している。
【０１５６】
［２．３．１．４．ＵＩＭのフリー基本ブロックへの登録］
ユーザは、移動体端末１１を操作することによりＵＩＭ１２のフリー基本ブロック４０−Ｆ１にプログラムを登録することができる。図２８はその動作を示すものである。
ＵＩＭ１２のフリー基本ブロック４０−Ｆ１へのプログラムの登録を行う場合、ユーザは移動体端末１１を操作することにより所望のコンテンツサーバ１９Ｘにアクセスし、所望のプログラムの配信要求を送る（ステップＳ１９１）。
【０１５７】
この配信要求を受け取ったコンテンツサーバ１９Ｘは、要求されたプログラムを配信管理サーバ１６Ａのセキュア通信制御部６２に配信する（ステップＳ１９２）。
ユーザがフリー基本ブロック４０−Ｆ１に対する配信を許可する操作を行い、その操作を示す情報が移動体端末１１から配信管理サーバ１６Ａに送られると、セキュア通信制御部６２は、移動体端末１１のＵＩＭ１２に対して、プログラムを配信する（ステップＳ１９３）。このプログラムは暗号化して送っても良く、暗号化しないで送ってもよい。ＵＩＭ１２は、このプログラムをフリー基本ブロック４０−Ｆ１に書き込む。
【０１５８】
ＵＩＭ１２は、プログラムの書き込みが終了すると、その旨を示す書込終了通知を配信管理サーバ１６に送信する（ステップＳ１８４）。
配信管理サーバ１６のユーザ情報格納部５１は、ユーザｋのＵＩＭ１２から書込終了通知を受け取り、個別ユーザ情報格納部５３−ｋにおけるフリー基本ブロック４０−Ｆに対応した領域に記憶された配信回数などの情報を更新する（ステップＳ１９５）。
この更新が終わると、ユーザ情報格納部５１は、フリー基本ブロック４０−Ｆ１に書き込まれたプログラムについてのアクティベーション指示をＵＩＭ１２に送る（ステップＳ１９６）。
【０１５９】
ＵＩＭ１２は、この指示に従って、プログラムのアクティベーションを終えると、フリー基本ブロック４０−Ｆ１内のプログラムのアクティベーションが終了した旨を示すアクティベーション応答通知を配信管理サーバ１６のユーザ情報格納部５１に送信する（ステップＳ１９７）。
ユーザ情報格納部５１は、ユーザｋのＵＩＭ１２からアクティベーション応答通知を受けると、個別ユーザ情報格納部５３−ｋにおけるフリー基本ブロック４０−Ｆに対応した領域にアクティベーションが完了した旨の情報を登録する。そして、ユーザ情報格納部５１は、移動体端末１１に対して登録完了の旨をプログラムリストとして通知して処理を終了する（ステップＳ１９８）。
【０１６０】
［２．３．１．５．プログラムのユーザ情報格納部からの削除］
次にユーザ情報格納部５１に登録されているプログラムを削除する場合の処理について図２９を参照して説明する。
ユーザは、所定の操作を行うことにより、配信管理サーバ１６Ａから受け取った登録プログラムリストをディスプレイ部２１に表示させることができる。この状態において、ユーザが所望のプログラムを特定して、配信管理サーバ１６Ａでのそのプログラムの削除を指示すると、削除対象を特定する情報を含むプログラム登録削除要求が配信管理サーバ１６Ａのユーザ情報格納部５１に送られる（ステップＳ２０１）。
【０１６１】
ユーザ情報格納部５１は、削除対象であるプログラムがＵＩＭ１２の基本ブロック４０−１〜４０−７のいずれかから既に削除されている場合には、そのプログラムの配信元であるコンテンツサーバ１９に、ユーザがプログラムの利用の解約を希望している旨の解約要求を送る（ステップＳ２０２）。なお、削除対象であるプログラムが削除されずにＵＩＭ１２の基本ブロック４０−１〜４０−７のいずれかに残っている場合には、後述する基本ブロック４０−１〜４０−７からのプログラムの削除処理が配信管理サーバ１６Ａの主導で同時に行われる。
【０１６２】
コンテンツサーバ１９は、解約要求を受け取ると、解約許可通知を配信管理サーバ１６Ａのユーザ情報格納部５１に送る（ステップＳ２０３）。
ユーザ情報格納部５１は、解約許可通知を受け取ると、ステップＳ２０１において削除要求を受けたプログラムに関する情報を削除し、移動体端末１１に対して削除後の登録プログラムリストを移動体端末１１に送る（ステップＳ２０４）。
【０１６３】
［２．３．１．６．プログラムのＵＩＭの基本ブロックからの削除］
次にＵＩＭ１２の基本ブロック４０−１〜４０−７からプログラムを削除する場合の処理について図３０を参照して説明する。
ユーザは、所定の操作を行うことにより、既に移動体端末１１に送信されている登録プログラムリストをディスプレイ部２１に表示させることができる。この状態において、ユーザが所望のプログラムを特定してその削除を指示を行うと、ＵＩＭ１２の基本ブロック４０−１〜４０−７のうち削除対象のプログラムが格納されている基本ブロックが求められ、この基本ブロックを特定する情報を含む削除要求が移動体端末１１から配信管理サーバ１６Ａのユーザ情報格納部５１に送信される（ステップＳ２１１）。
【０１６４】
ユーザ情報格納部５１は、削除要求を受け取ると、ＵＩＭ１２に削除許可通知を送る（ステップＳ２１２）。
ＵＩＭ１２は、削除許可通知を受け取ると、ステップＳ２１１においてユーザによって特定されたプログラムを該当する基本ブロックから削除し、削除終了通知をユーザ情報格納部５１に送る（ステップＳ２１３）。
これによりユーザ情報格納部５１は、伝送制御部６１の制御下で対応するプログラムに関する情報を削除し、コンテンツサーバ１９に削除通知を行う（ステップＳ２１４）。
また、ユーザ情報格納部５１は、移動体端末１１に対して削除完了の旨をプログラムリストとして通知して処理を終了する。
【０１６５】
［２．３．１．６．１．基本ブロックからのプログラムの削除処理を配信管理サーバの主導で同時に行う場合］
前述したように基本ブロック４０-1〜４０-7からのプログラムの削除処理を配信管理サーバ１６Ａの主導でプログラムのユーザ情報格納部５１からの削除と同時に行う場合には、配信管理サーバのユーザ情報格納部５１は、上述したステップＳ２１１及びステップＳ２１２の処理に代えて、ユーザ情報格納部５１が削除を要求するプログラムを特定して削除指示をＵＩＭに対して行うこととなる。
【０１６６】
［２．３．１．７．ユーザ情報格納部の利用を禁止する場合］
本実施形態では、ユーザ情報格納部５１をユーザ側から利用できなくするユーザ情報格納部ディアクティベーション処理を実行することが可能である。このユーザ情報格納部ディアクティベーション処理は、配信管理サーバ１６Ａ側においてサービスの提供を一時的に停止したり、コンテンツサーバ１９を保有しているコンテンツプロバイダからの要請により当該ユーザに対する配信管理サーバ１６Ａのサービスを一次的に停止する場合などに行われる。このユーザ情報格納部ディアクティベーション処理が行われると、ユーザ情報格納部５１に登録されているプログラムのＵＩＭ１２への配信が禁止されたり、ＵＩＭ１２に登録されているプログラムの削除が禁止される、という効果が生じる。
【０１６７】
以下、図３１を参照して、このユーザ情報格納部ディアクティベーション処理について説明する。なお、以下においては、コンテンツサーバ１９がユーザ情報格納部ディアクティベーション処理を要求する場合について説明する。
まず、コンテンツサーバ１９が配信管理サーバ１６Ａのユーザ情報格納部５１にユーザ情報格納部ディアクティベーション要求を送る（ステップＳ２２１）。
ユーザ情報格納部５１は、このユーザ情報格納部ディアクティベーション要求を受け取ると、利用禁止状態（ディアクティベーション状態）となるとともに、コンテンツサーバ１９にユーザ情報格納部ディアクティベーション許可通知を送る（ステップＳ２２２）。
【０１６８】
続いて、ユーザ情報格納部５１は、ユーザ情報格納部５１の利用が禁止された旨のユーザ情報格納部ディアクティベーション通知を移動体端末１１に送る（ステップＳ２２３）。
これにより、移動体端末１１のユーザは、ユーザ情報格納部５１の利用が禁止された旨を把握することができる。
【０１６９】
［２．３．１．７．１．ユーザ情報格納部ディアクティベーションを配信管理サーバが行う場合］
ユーザ情報格納部ディアクティベーションを配信管理サーバ１６Ａ自身が行う場合には、ユーザ情報格納部５１は、利用禁止状態（ディアクティベーション状態）となり、ユーザ情報格納部５１の利用が禁止された旨のユーザ情報格納部ディアクティベーション通知を移動体端末１１に送る（ステップＳ２２３）。
【０１７０】
［２．３．１．８．ＵＩＭの基本ブロックに格納されているプログラムの利用を禁止する場合］
次にＵＩＭ１２の基本ブロック４０−１〜４０−７あるいはフリー基本ブロック４０−Ｆ１に格納されているプログラムの利用を禁止する基本ブロックディアクティベーション処理について図３２を参照して説明する。
【０１７１】
この処理は、移動体端末１１が盗難にあった場合やコンテンツプロバイダから当該ユーザに対する利用を禁止する依頼があった場合に行われる。この処理が行われると、処理対象となった基本ブロック（フリー基本ブロックも含む。）に格納されているプログラムのユーザによる利用が禁止される。なお、以下においては、移動体端末１１の盗難時の対応などのユーザサービスを行うユーザサービスサーバ６５がユーザからの通報に基づいて基本ブロックディアクティベーション処理を要求する場合について説明する。
【０１７２】
図３２に基本ブロックディアクティベーション処理のシーケンスを示す。
まず、ユーザサービスサーバ６５が配信管理サーバ１６Ａのユーザ情報格納部５１に基本ブロックディアクティベーション要求を送る（ステップＳ２３１）。
ユーザ情報格納部５１は、この基本ブロックディアクティベーション要求を受け取ると、ＵＩＭ１２にディアクティベーション指示を送る（ステップＳ２３２）。
これによりＵＩＭ１２は、基本ブロックディアクティベーション要求に対応する基本ブロックをディアクティベーション状態とし、ＵＩＭ１２は、基本ブロックの利用が禁止された旨を基本ブロックディアクティベーション応答として通知する（ステップＳ２３３）。
【０１７３】
続いて、ユーザ情報格納部５１は、ユーザサービスサーバ６５に対してＵＩＭ１２の基本ブロックの利用が禁止された旨を基本ブロックディアクティベーション終了通知として通知する（ステップＳ２３４）。
さらにユーザ情報格納部５１は、移動体端末１１に対して基本ブロック（フリー基本ブロックを含む場合もある。）の利用が禁止された旨をユーザ情報格納部リストとして通知して処理を終了する（ステップＳ２３５）。
【０１７４】
［２．４．第２実施形態の効果］
以上の説明のように、第２実施形態によれば、記憶モジュール（ＵＩＭ）の記憶領域の数の制限を越えてプログラムを配信することが可能となり、ユーザの使い勝手を向上することができる。
また、配信管理サーバにおいて配信しているプログラムの活性化／不活性化および削除、配信可能状態にあるプログラムの配信および活性化／不活性化および削除を容易に管理することができる。
【０１７５】
［３．実施形態の変形例］
［３．１］第１変形例
以上の説明においては、配信管理サーバが一つの場合について説明したが、配信管理サーバを複数設け、分散処理を行うように構成することが可能である。
この場合には、各ＵＩＭに格納されているプログラムや、各プログラムの格納領域に関する情報は、共用のデータベースに格納しておくようにすればよい。
【０１７６】
［３．２．第２変形例］
以上の説明においては、配信管理サーバが直接回線交換網に接続されている場合について説明したが、パケット交換網を構成するインターネットおよびインターネットゲートウェイ装置を介して回線交換網と接続するように構成することも可能である。
【０１７７】
［３．３．第３変形例］
以上の説明においては、記憶モジュールとしてＵＩＭの場合についてのみ説明したが、各種のＩＣカードメモリについて適用することも可能である。この場合に、記憶モジュールの設置は移動体端末に限ることなく、固定端末であっても適用が可能である。
【図１】
0003910915.tif 000002
【図２】
0003910915.tif 000003
【図３】
0003910915.tif 000004
【図４】
0003910915.tif 000005
【図５】
0003910915.tif 000006
【図６】
0003910915.tif 000007
【図７】
0003910915.tif 000008
【図８】
0003910915.tif 000009
【図９】
0003910915.tif 000010
【図１０】
0003910915.tif 000011
【図１１】
0003910915.tif 000012
【図１２】
0003910915.tif 000013
【図１３】
0003910915.tif 000014
【図１４】
0003910915.tif 000015
【図１５】
0003910915.tif 000016
【図１６】
0003910915.tif 000017
【図１７】
0003910915.tif 000018
【図１８】
0003910915.tif 000019
【図１９】
0003910915.tif 000020
【図２０】
0003910915.tif 000021
【図２１】
0003910915.tif 000022
【図２２】
0003910915.tif 000023
【図２３】
0003910915.tif 000024
【図２４】
0003910915.tif 000025
【図２５】
0003910915.tif 000026
【図２６】
0003910915.tif 000027
【図２７】
0003910915.tif 000028
【図２８】
0003910915.tif 000029
【図２９】
0003910915.tif 000030
【図３０】
0003910915.tif 000031
【図３１】
0003910915.tif 000032
【図３２】
0003910915.tif 000033