(57)【要約】【課題】  受信装置において複数のユーザが同じプログラムを使用する場合の利便性を高めること。【解決手段】  携帯電話機４０は、ダウンロードしようとしているＪＡＲファイルが、コンテンツプロバイダによって共同使用の許可されたプログラムであり、かつ、既にＪＡＲストレージ４１０ｂ内にインストールされていると判別した場合は、ＪＡＲファイルのダウンロードを行わず、現時点において携帯電話機４０を使用しているユーザを識別する。そして、携帯電話機４０は、識別したユーザ用の、ＪＡＲファイルを実行する場合に使用するデータを記憶するメモリ領域（ユーザ用メモリ領域）をスクラッチパッド４１０ｃに生成する。【選択図】      図８
2005165666.tif 000002
【特許請求の範囲】
【請求項１】
受信手段と、
記憶手段と、
当該受信装置を使用しているユーザを識別する識別手段と、
前記受信手段により受信されるプログラムが、同一の受信装置において複数のユーザによる使用が許可されたプログラムであるか否かを判別する第１の判別手段と、
前記第１の判別手段により複数のユーザによる使用が許可されたプログラムであると判別された場合に、前記受信手段により受信されるプログラムが前記記憶手段に記憶されているか否かを判別する第２の判別手段と、
前記第２の判別手段により前記記憶手段に記憶されていると判別された場合に、前記プログラムを前記記憶手段に記憶せず、当該受信装置を使用しているユーザを前記識別手段により識別させて、当該ユーザ用の、前記プログラムを実行する場合に使用されるデータを記憶する記憶領域を前記記憶手段に設定する設定手段と、
前記記憶手段に記憶されている、複数のユーザによる使用が許可されたプログラムを実行する場合に、当該受信装置を使用しているユーザを前記識別手段により識別させて、前記設定手段により各ユーザ毎に設定された記憶領域のうち前記識別手段により識別されたユーザ用の記憶領域に記憶されているデータを用いて前記プログラムを実行する実行手段と
を有することを特徴とする受信装置。
【請求項２】
前記受信手段は、プログラムの受信に先立って、該プログラムが同一の受信装置において複数のユーザによる使用が許可されたプログラムであるか否かを示す共同使用可否情報を受信し、
前記第１の判別手段は、前記受信手段により受信された共同使用可否情報に従って、前記受信手段により受信されるプログラムが同一の受信装置において複数のユーザによる使用が許可されたプログラムであるか否かを判別する
ことを特徴とする請求項１に記載の受信装置。
【請求項３】
当該受信装置にはデータ記憶モジュールが装着可能であり、
前記識別手段は、当該受信装置に装着されたデータ記憶モジュールに記憶されている、データ記憶モジュール毎に固有の識別情報を取得して、この識別情報により当該受信装置を使用しているユーザを識別する
ことを特徴とする請求項１に記載の受信装置。
【請求項４】
記憶手段と、
プログラムの受信に先立って、該プログラムが同一の受信装置において複数のユーザによる使用が許可されたプログラムであるか否かを示す共同使用可否情報と、当該受信装置において該プログラムの使用を許可するユーザを示すユーザ情報とを受信する受信手段と、
前記受信手段により受信された共同使用可否情報が複数のユーザによる使用を許可している場合に、前記プログラムが前記記憶手段に記憶されているか否かを判別する判別手段と、
前記判別手段により前記記憶手段に記憶されていると判別された場合に、前記プログラムを前記記憶手段に記憶せず、前記受信手段により受信されたユーザ情報により示されるユーザ用の、前記プログラムを実行する場合に使用されるデータを記憶する記憶領域を前記記憶手段に設定する設定手段と、
前記記憶手段に記憶されている、複数のユーザによる使用が許可されたプログラムが実行される場合に、当該受信装置を使用しているユーザを識別する識別手段と、
前記設定手段により各ユーザ毎に設定された記憶領域のうち前記識別手段により識別されたユーザ用の記憶領域に記憶されているデータを用いて前記プログラムを実行する実行手段と
を有することを特徴とする受信装置。
【請求項５】
コンピュータに、
当該コンピュータに備わる受信手段により受信されるプログラムが、同一の受信装置において複数のユーザによる使用が許可されたプログラムであるか否かを判別する第１のステップと、
前記第１のステップにて複数のユーザによる使用が許可されたプログラムであると判別された場合に、前記受信手段により受信されるプログラムが当該コンピュータに備わるメモリに記憶されているか否かを判別する第２のステップと、
前記第２のステップにて前記メモリに記憶されていると判別された場合に、前記プログラムを前記メモリに記憶せず、当該コンピュータを使用しているユーザを識別して、当該ユーザ用の、前記プログラムを実行する場合に使用されるデータを記憶する記憶領域を前記メモリに設定する第３のステップと、
前記メモリに記憶されている、複数のユーザによる使用が許可されたプログラムを実行する場合に、当該コンピュータを使用しているユーザを識別して、前記第３のステップにて各ユーザ毎に設定された記憶領域のうち前記識別されたユーザ用の記憶領域に記憶されているデータを用いて前記プログラムを実行する第４のステップと
を実行させるためのプログラム。
【請求項６】
コンピュータに、
当該コンピュータに備わる受信手段によるプログラムの受信に先立って、該プログラムが同一のコンピュータにおいて複数のユーザによる使用が許可されたプログラムであるか否かを示す共同使用可否情報と、当該コンピュータにおいて該プログラムの使用を許可するユーザを示すユーザ情報とを受信する第１のステップと、
前記第１のステップにて受信された共同使用可否情報が複数のユーザによる使用を許可している場合に、前記プログラムが当該コンピュータに備わるメモリに記憶されているか否かを判別する第２のステップと、
前記第２のステップにて前記メモリに記憶されていると判別された場合に、前記プログラムを前記メモリに記憶せず、前記受信手段により受信されたユーザ情報により示されるユーザ用の、前記プログラムを実行する場合に使用されるデータを記憶する記憶領域を前記メモリに設定する第３のステップと、
前記記憶手段に記憶されている、複数のユーザによる使用が許可されたプログラムが実行される場合に、当該コンピュータを使用しているユーザを識別する第４のステップと、
前記第３のステップにて各ユーザ毎に設定された記憶領域のうち前記第４のステップにて識別されたユーザ用の記憶領域に記憶されているデータを用いて前記プログラムを実行する第５のステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のユーザによって共同使用される受信装置に用いて好適な技術に関する。
【背景技術】
【０００２】
例えば、社内ＬＡＮを構成する通信端末は、社員が自身に割り当てられたＩＤやパスワードを用いてログインすることにより、同一の通信端末を複数の社員が共同で使用することができる。
【０００３】
このように複数のユーザによって共同使用される通信端末の中には、各ユーザがともに使用するアプリケーションプログラムを通信端末のメモリに１つだけ記憶しておく一方、このアプリケーションプログラムのユーザプリファランスを各ユーザ毎に用意しておき、アプリケーションプログラムの起動時には、現時点において通信端末を使用しているユーザ用のユーザプリファランスを読み出し、このユーザプリファランスを用いてアプリケーションプログラムを実行するようにしたものがある（例えば、特許文献１参照）。
【０００４】
【特許文献１】特開平１１−３２８０７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、このように複数のユーザが共同使用するプログラムを通信端末に１つだけ記憶しておくようにしてメモリ容量の無駄を削減するためには、各ユーザは、自分の使用したいプログラムが既に通信端末にインストールされているか否かをインストール済みのプログラムを検索して確認したり、あるいは自分の使用したいプログラムが既にインストールされている場合には、このプログラムについて自分用のユーザプリファランスを作成しなければならない等、煩雑な操作が必要となり、使い勝手がよくない。
【０００６】
本発明は、以上説明した事情に鑑みてなされたものであり、その目的は、受信装置において複数のユーザが同じプログラムを使用する場合の利便性を高めることである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、受信手段と、
記憶手段と、
当該受信装置を使用しているユーザを識別する識別手段と、
前記受信手段により受信されるプログラムが、同一の受信装置において複数のユーザによる使用が許可されたプログラムであるか否かを判別する第１の判別手段と、
前記第１の判別手段により複数のユーザによる使用が許可されたプログラムであると判別された場合に、前記受信手段により受信されるプログラムが前記記憶手段に記憶されているか否かを判別する第２の判別手段と、
前記第２の判別手段により前記記憶手段に記憶されていると判別された場合に、前記プログラムを前記記憶手段に記憶せず、当該受信装置を使用しているユーザを前記識別手段により識別させて、当該ユーザ用の、前記プログラムを実行する場合に使用されるデータを記憶する記憶領域を前記記憶手段に設定する設定手段と、
前記記憶手段に記憶されている、複数のユーザによる使用が許可されたプログラムを実行する場合に、当該受信装置を使用しているユーザを前記識別手段により識別させて、前記設定手段により各ユーザ毎に設定された記憶領域のうち前記識別手段により識別されたユーザ用の記憶領域に記憶されているデータを用いて前記プログラムを実行する実行手段と
を有する受信装置を提供する。
【０００８】
また、本発明は、コンピュータに、
当該コンピュータに備わる受信手段により受信されるプログラムが、同一の受信装置において複数のユーザによる使用が許可されたプログラムであるか否かを判別する第１のステップと、
前記第１のステップにて複数のユーザによる使用が許可されたプログラムであると判別された場合に、前記受信手段により受信されるプログラムが当該コンピュータに備わるメモリに記憶されているか否かを判別する第２のステップと、
前記第２のステップにて前記メモリに記憶されていると判別された場合に、前記プログラムを前記メモリに記憶せず、当該コンピュータを使用しているユーザを識別して、当該ユーザ用の、前記プログラムを実行する場合に使用されるデータを記憶する記憶領域を前記メモリに設定する第３のステップと、
前記メモリに記憶されている、複数のユーザによる使用が許可されたプログラムを実行する場合に、当該コンピュータを使用しているユーザを識別して、前記第３のステップにて各ユーザ毎に設定された記憶領域のうち前記識別されたユーザ用の記憶領域に記憶されているデータを用いて前記プログラムを実行する第４のステップと
を実行させるためのプログラムを提供する。
【０００９】
また、本発明は、記憶手段と、
プログラムの受信に先立って、該プログラムが同一の受信装置において複数のユーザによる使用が許可されたプログラムであるか否かを示す共同使用可否情報と、当該受信装置において該プログラムの使用を許可するユーザを示すユーザ情報とを受信する受信手段と、
前記受信手段により受信された共同使用可否情報が複数のユーザによる使用を許可している場合に、前記プログラムが前記記憶手段に記憶されているか否かを判別する判別手段と、
前記判別手段により前記記憶手段に記憶されていると判別された場合に、前記プログラムを前記記憶手段に記憶せず、前記受信手段により受信されたユーザ情報により示されるユーザ用の、前記プログラムを実行する場合に使用されるデータを記憶する記憶領域を前記記憶手段に設定する設定手段と、
前記記憶手段に記憶されている、複数のユーザによる使用が許可されたプログラムが実行される場合に、当該受信装置を使用しているユーザを識別する識別手段と、
前記設定手段により各ユーザ毎に設定された記憶領域のうち前記識別手段により識別されたユーザ用の記憶領域に記憶されているデータを用いて前記プログラムを実行する実行手段と
を有する受信装置を提供する。
【００１０】
また、本発明は、コンピュータに、
当該コンピュータに備わる受信手段によるプログラムの受信に先立って、該プログラムが同一のコンピュータにおいて複数のユーザによる使用が許可されたプログラムであるか否かを示す共同使用可否情報と、当該コンピュータにおいて該プログラムの使用を許可するユーザを示すユーザ情報とを受信する第１のステップと、
前記第１のステップにて受信された共同使用可否情報が複数のユーザによる使用を許可している場合に、前記プログラムが当該コンピュータに備わるメモリに記憶されているか否かを判別する第２のステップと、
前記第２のステップにて前記メモリに記憶されていると判別された場合に、前記プログラムを前記メモリに記憶せず、前記受信手段により受信されたユーザ情報により示されるユーザ用の、前記プログラムを実行する場合に使用されるデータを記憶する記憶領域を前記メモリに設定する第３のステップと、
前記記憶手段に記憶されている、複数のユーザによる使用が許可されたプログラムが実行される場合に、当該コンピュータを使用しているユーザを識別する第４のステップと、
前記第３のステップにて各ユーザ毎に設定された記憶領域のうち前記第４のステップにて識別されたユーザ用の記憶領域に記憶されているデータを用いて前記プログラムを実行する第５のステップと
を実行させるためのプログラムを提供する。
【００１１】
この発明によれば、複数のユーザによる使用が許可されたプログラムは、受信装置において複数のユーザが使用することになっても記憶手段に１つしか記憶されることがない。
【発明の効果】
【００１２】
本発明によれば、受信装置において複数のユーザが同じプログラムを使用する場合の利便性を高めることができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明の実施形態について説明する。なお、各図において共通する部分には、同一の符号が付されている。
［Ａ−１．実施形態の構成］
＜１．通信システムの構成＞
【００１４】
この発明の実施形態に係る通信システム１は、例えば、図１に示すように、コンテンツサーバ１０と、インターネット２０と、移動パケット通信網３０と、携帯電話機４０と、携帯電話機４０に対して着脱自在なＵＩＭ（User Identity Module：ユーザ識別モジュール）５０とを有している。なお、移動パケット通信網３０には、本来多数の携帯電話機４０が収容可能である。また、携帯電話機４０に対しては、異なるＵＩＭ５０を差し替えて装着することが可能である。しかしながら、図１においては図面が煩雑になることを防ぐため、それぞれ１つの携帯電話機４０およびＵＩＭ５０のみを図示している。また、同様の理由により、図１にはそれぞれ１つのコンテンツサーバ１０、ゲートウェイサーバ３１および基地局３２のみを図示している。
【００１５】
コンテンツサーバ１０は、インターネット２０および移動パケット通信網３０を介して携帯電話機４０とパケット通信を行う機能を有している。このコンテンツサーバ１０には、携帯電話機４０において実行可能なJava（登録商標）アプリケーションソフトウェア（以下、「JavaＡＰ」と記載する）が記憶されている。
【００１６】
移動パケット通信網３０は、ゲートウェイサーバ３１と基地局３２を有している。ゲートウェイサーバ３１は、移動パケット通信網３０用の通信プロトコルとインターネット２０用の通信プロトコル等、通信プロトコルの異なるデータを相互に変換し、移動パケット通信網３０とインターネット２０とのデータの授受を中継する。また、基地局３２は、移動パケット通信網３０の通信サービスエリア内に多数設置されており、自局３２がカバーする無線セルに在圏している携帯電話機４０と無線通信を行う。
【００１７】
携帯電話機４０は、移動パケット通信網３０に収容される移動機である。この携帯電話機４０は、自機４０が在圏している無線セルをカバーする基地局３２を介してコンテンツサーバ１０とパケット通信を行い、コンテンツサーバ１０から任意のコンテンツをダウンロードすることができる。
【００１８】
ＵＩＭ５０は、携帯電話機４０に対して着脱自在なデータ記憶モジュールである。このＵＩＭ５０には、移動パケット通信網３０および図示を省略した移動電話網を運営している通信事業者によって当該ＵＩＭ５０に割り当てられた電話番号が記憶されている。この電話番号は、移動パケット通信網３０が提供するパケット通信サービスや移動電話網が提供する通話サービスの加入契約を識別するための加入契約識別情報である。また、ＵＩＭ５０には、ＵＩＭ５０毎に固有のシリアルナンバー（以下、「ＵＩＭＩＤ」と記載する）や、このＵＩＭ５０の所有者のクレジットカード番号やメールアドレス、電話帳データ等が記憶されている。
【００１９】
＜２．JavaＡＰの構成＞
次に、コンテンツサーバ１０に記憶されているJavaＡＰについて、図２を参照して説明する。同図に示すようにJavaＡＰは、JavaＡＰの本体プログラムおよびこの本体プログラムを実行する場合に使用される画像ファイルや音声ファイル等を１つにまとめたＪＡＲ（Java Archive）ファイルと、このＪＡＲファイルのインストールや起動、ネットワークアクセス等を制御するための各種制御情報が格納されたＡＤＦ（Application Descriptor File）とを有している。
【００２０】
ＡＤＦには、このＡＤＦと対をなすＪＡＲファイルについて、同一の携帯電話機４０において複数のユーザによる共同使用を許可するか否かを示す共同使用許可フラグが格納されている。コンテンツプロバイダは、ＡＤＦ内の共同使用許可フラグの値を“０”または“１”にセットすることにより、自身が提供するJavaＡＰ（ＪＡＲファイル）について、携帯電話機４０にダウンロードされた後、その共同使用を認めるか否かを設定することができる。
【００２１】
なお、本明細書において、共同使用許可フラグの値が“１”の場合は、コンテンツプロバイダがこのJavaＡＰの共同使用を許可していることを示し、共同使用許可フラグの値が“０”の場合は、コンテンツプロバイダがこのJavaＡＰの共同使用を許可していないことを示すものとする。また、共同使用許可フラグの値が“０”の場合、携帯電話機４０においてこのJavaＡＰを使用することができるユーザは、このJavaＡＰをコンテンツサーバ１０からダウンロードしたユーザのみに制限される。
【００２２】
また、本明細書では、ＪＡＲファイルとＡＤＦを特に区別する必要がない限り、これらを合わせて「JavaＡＰ」と記載する。また、本明細書において、１つのJavaＡＰを構成するＪＡＲファイルおよびＡＤＦは、同じコンテンツサーバ１０に記憶されているものとする。但し、ＪＡＲファイルとＡＤＦは、各々別のサーバに記憶されていてもよい。
【００２３】
＜３．携帯電話機の構成＞
次に、携帯電話機４０は、例えば、図３に示すように、無線通信部４０１と、操作入力部４０２と、通話処理部４０３と、ＵＩＭインタフェース４０４と、ＣＰＵ４０５と、液晶表示部４０６と、記憶部４０７とを有しており、これらの各部はバス４１１により接続されている。
【００２４】
無線通信部４０１は、アンテナ４０１ａを備え、基地局３２との無線通信を制御する。この無線通信部４０１は、ＣＰＵ４０５の制御の下、例えば、パケット通信用のデータや送話音声に関するデータ等を搬送波に重畳して送信信号を生成し、この信号を基地局３２へ送信する。また、無線通信部４０１は、基地局３２から送られてくる無線信号をアンテナ４０１ａを介して受信し、この信号を復調して自機４０宛のパケット通信用のデータや受話音声に関するデータ等を得る。
【００２５】
操作入力部４０２は、数字や文字、操作指示等を入力するための複数のキーを有しており、これらのキーの操作に応じた操作信号をＣＰＵ４０５に出力する。また、通話処理部４０３は、例えば、マイクロフォンやスピーカ、音声処理部等を有しており、ＣＰＵ４０５の制御の下、呼の接続や切断等を含む通話処理を行う。ＵＩＭインタフェース４０４は、ＣＰＵ４０５の制御の下、携帯電話機４０に装着されたＵＩＭ５０との通信を制御する。
【００２６】
ＣＰＵ４０５は、記憶部４０７に格納されている各種のプログラムを実行することにより、バス４１１を介して接続されている装置各部を制御する。また、液晶表示部４０６は、液晶表示パネルと、この液晶表示パネルの表示制御を行う駆動回路とを有している。
【００２７】
記憶部４０７は、ＲＯＭ４０８と、ＲＡＭ４０９と、例えば、ＳＲＡＭ（Static−RAM）やＥＥＰＲＯＭ（Electrically Erasable Programmable−ROM）等の不揮発性メモリ４１０とを有している。ＲＯＭ４０８には、装置各部の基本制御を司るプログラム等が記憶されている。また、ＲＡＭ４０９は、ＣＰＵ４０５のワークエリアとして用いられる。
【００２８】
不揮発性メモリ４１０には、携帯電話機４０用のオペレーティングシステム（以下、ＯＳと記載する）やＷＷＷ（World Wide Web）ブラウザ、Java実行環境を構築するためのソフトウェア等が記憶されている。また、この不揮発性メモリ４１０には、例えば、コンテンツサーバ１０からダウンロードしたJavaＡＰ等、各種のプログラムやデータが記憶される。加えて、この不揮発性メモリ４１０は、ＵＩＭＩＤ格納領域４１０ａと、ＪＡＲストレージ４１０ｂと、スクラッチパッド４１０ｃと、メモリ領域特定テーブル４１０ｄとを有している。
【００２９】
ＵＩＭＩＤ格納領域４１０ａには、現時点において携帯電話機４０に装着されているＵＩＭ５０のＵＩＭＩＤが格納される。ここで、ＵＩＭＩＤは、ＵＩＭ５０が携帯電話機４０へ装着された際に、ＵＩＭ５０からＵＩＭインタフェース４０４を介して携帯電話機４０へと送出され、ＣＰＵ４０５によってＵＩＭＩＤ格納領域４１０ａに書き込まれる。また、ＵＩＭ５０が携帯電話機４０から外されると、ＵＩＭＩＤ格納領域４１０ａに格納されているＵＩＭＩＤがＣＰＵ４０５によって消去される。
【００３０】
ＪＡＲストレージ４１０ｂには、図４に示すように、携帯電話機４０にダウンロードされた各JavaＡＰ毎にそのＪＡＲファイルが記憶される。同図に示す例では、ＪＡＲストレージ４１０ｂ内に３つのＪＡＲファイル“ＪＡＲファイルＡ”，“ＪＡＲファイルＢ”，“ＪＡＲファイルＣ”が記憶されている。
【００３１】
スクラッチパッド４１０ｃには、図５に示すように、ＪＡＲストレージ４１０ｂに記憶された各ＪＡＲファイル毎に、このＪＡＲファイルの本体プログラムを実行する場合に使用されるデータを永続的に記憶するためのＪＡＲファイル用メモリ領域が設けられる。また、コンテンツプロバイダによって共同使用が許可されたＪＡＲファイルについては、さらにＪＡＲファイル用メモリ領域内に、このＪＡＲファイルを共同使用する各ユーザ単位でユーザ用メモリ領域が設けられる。
【００３２】
例えば、同図において、“ＪＡＲファイルＡ”および“ＪＡＲファイルＣ”は、コンテンツプロバイダによって共同使用が許可されたプログラムであり、“ＪＡＲファイルＡ”については、ＪＡＲファイルＡ用メモリ領域内に、このプログラムを共同使用することとなった“ユーザＡ”、“ユーザＢ”および“ユーザＣ”毎に、各ユーザ用のメモリ領域（“ユーザＡ用メモリ領域”、“ユーザＢ用メモリ領域”および“ユーザＣ用メモリ領域”）が設けられる。
【００３３】
なお、このユーザ用メモリ領域（あるいは共同使用が許可されていないＪＡＲファイルの場合はＪＡＲファイル用メモリ領域）に記憶されるデータは、例えば、ＪＡＲファイルがゲームプログラムであった場合、ユーザによって設定されたゲームの難易度や音量調整に関するデータ等の環境設定データ、ゲームを途中で終える際に保存しておくセーブデータ等である。
【００３４】
メモリ領域特定テーブル４１０ｄは、図６に示すように、携帯電話機４０にダウンロードされた各JavaＡＰ毎に、このJavaＡＰの識別情報と、このJavaＡＰを使用することのできるユーザを示すユーザ識別情報と、このユーザに対して割り当てられたスクラッチパッド４１０ｃ内のユーザ用メモリ領域（あるいはＪＡＲファイル用メモリ領域）を示すメモリアドレス情報とが対応付けられて登録される。勿論、同図に示すように、共同使用されるJavaＡＰについては、ユーザ識別情報およびメモリアドレス情報が複数登録されることになる。なお、本実施形態では、ユーザ識別情報としてＵＩＭＩＤを用いるとともに、JavaＡＰ識別情報としてＪＡＲファイルのファイル名を用いている。
【００３５】
＜４．携帯電話機におけるソフトウェアの実行環境＞
図７は、携帯電話機４０におけるソフトウェアの実行環境を説明するための図である。同図において、ＫＶＭ（K Virtual Machine）は、小型電子機器用に設計変更されたＪＶＭ（J ava Virtual Machine）であって、JavaバイトコードをＣＰＵ４０５がＯＳを介して解釈／実行可能な命令コードに変換するためのソフトウェアである。また、ＡＰＩ（Application Program Interface）は、例えば、ＣＬＤＣ（Connected Limited Device Configuration）によって規定されている機能や、携帯電話機４０に特化した機能をJavaＡＰに対して提供するためのソフトウェアモジュールである。ＪＡＭ（Java Application Manager）は、ＯＳによる制御の下で、JavaＡＰのダウンロード／インストール／起動／終了／削除等を管理するためのソフトウェアである。
【００３６】
なお、同図に示すように、電話帳機能やブラウザ機能、ネットワーク通信機能を実現するためのソフトウェアは、ＯＳによる制御の下で直接動作する。
【００３７】
［Ａ−２．実施形態の動作］
＜１．ダウンロード処理＞
図８は、JavaＡＰをダウンロードする場合の、携帯電話機４０およびコンテンツサーバ１０の動作を例示するシーケンスチャートである。なお、このダウンロードに関する処理において、ステップＳ１０３以降の携帯電話機４０で行われる各処理は、ＣＰＵ４０５がＪＡＭに従って実行する処理である。
【００３８】
まず、ユーザは、自己の所有するＵＩＭ５０を携帯電話機４０に装着するとともに、携帯電話機４０の操作入力部４０２を操作してＷＷＷブラウザを起動させる。次いで、ユーザは、操作入力部４０２を操作してコンテンツサーバ１０への接続を指示する。これにより携帯電話機４０からコンテンツサーバ１０へ接続要求メッセージが送信される（ステップＳ１０１）。コンテンツサーバ１０は、接続要求メッセージを受信すると、必要に応じて携帯電話機４０の認証処理等を行なった後、サイトのメニュー情報を携帯電話機４０へ送信する（ステップＳ１０２）。また、携帯電話機４０は、メニュー情報を受信すると、このメニュー情報に基づく画像を液晶表示部４０７の液晶表示パネル（以下、「液晶画面」と記載する）に表示する。この後、携帯電話機４０とコンテンツサーバ１０の間では、メニューの選択等に関する情報が送受信される。
【００３９】
そして、携帯電話機４０において、ダウンロードするJavaＡＰが操作入力により選択されると、ＣＰＵ４０５は、選択されたJavaＡＰのＡＤＦを携帯電話機４０に対して送信することを要求するＡＤＦ取得要求メッセージをコンテンツサーバ１０へ送信する（ステップＳ１０３）。コンテンツサーバ１０は、ＡＤＦ取得要求メッセージを受信すると、このＡＤＦ取得要求メッセージによって指定されるＡＤＦをメモリから読み出して携帯電話機４０へ送信する（ステップＳ１０４）。
【００４０】
携帯電話機４０のＣＰＵ４０５は、ＡＤＦを受信すると、まず、ＡＤＦのファイル内容を確認し、このＡＤＦと対をなすＪＡＲファイルを携帯電話機４０にダウンロードできるか否かを判別する（ステップＳ１０５）。具体的には、ＣＰＵ４０５は、ＡＤＦから“AppSize”項目と“SPsize”項目のデータを読み出すとともに、ＪＡＲストレージ４１０ｂおよびスクラッチパッド４１０ｃの空きメモリ容量を確認する。なお、“AppSize”項目には、ダウンロードを予定しているＪＡＲファイルのサイズ（ＪＡＲファイルをＪＡＲストレージ４１０ｂに記憶するために必要となるメモリ容量）を示すサイズ情報が格納されている。また、“SPsize”項目には、ダウンロードを予定しているＪＡＲファイルに対してスクラッチパッド４１０ｃ内に割り当てるＪＡＲファイル用メモリ領域（あるいは１ユーザ分のユーザ用メモリ領域）のサイズを示すサイズ情報が格納されている。ＣＰＵ４０５は、ＪＡＲストレージ４１０ｂまたはスクラッチパッド４１０ｃの空きメモリ容量が不足している場合に、ＪＡＲファイルをダウンロードできないと判別し、その旨を示すメッセージを液晶画面に表示してJavaＡＰのダウンロードを中止する。
【００４１】
一方、ＣＰＵ４０５は、ＪＡＲファイルをダウンロードできると判別した場合は（ステップＳ１０５：Ｙｅｓ）、次いで、ＡＤＦに含まれている共同使用許可フラグの値が“１”であるか否かを判別する（ステップＳ１０６）。その結果、ＣＰＵ４０５は、共同使用許可フラグの値が“１”でないと判別した場合、すなわち、このJavaＡＰの共同使用をコンテンツプロバイダが許可していない場合は、ステップＳ１０８に移行する。なお、JavaＡＰの共同使用を許可するか否かをコンテンツプロバイダが指定しておらず、ＡＤＦ内に共同使用許可フラグ自体が含まれていない場合は、共同使用許可フラグの値が“１”ではないので、ＣＰＵ４０５は共同使用許可フラグの値が“０”の場合と同様の処理を行う。
【００４２】
また、ＣＰＵ４０５は、共同使用許可フラグの値が“１”であると判別した場合（ステップＳ１０６：Ｙｅｓ）、すなわち、このJavaＡＰの共同使用をコンテンツプロバイダが許可している場合は、次いで、上記ステップＳ１０４においてダウンロードしたＡＤＦによって指定されるＪＡＲファイルが、ＪＡＲストレージ４１０ｂ内にインストールされているか否かを判別する（ステップＳ１０７）。その結果、ＣＰＵ４０５は、該当するＪＡＲファイルがＪＡＲストレージ４１０ｂ内にインストールされていると判別した場合は、ステップＳ１１１に移行する。
【００４３】
さて、このようにステップＳ１０６およびＳ１０７においてともに判別結果がＹｅｓの場合、すなわち、ダウンロードしようとしているＪＡＲファイルが共同使用の許可されたプログラムであって、かつ、このＪＡＲファイルがＪＡＲストレージ４１０ｂ内にインストールされている場合は、既にインストールされているＪＡＲファイルを共同使用すればよいので、ＪＡＲファイル自体のダウンロードを行う必要はない。そこで、ＣＰＵ４０５は、ＪＡＲファイルのダウンロードを行わず、ステップＳ１１１に移行する。
【００４４】
そして、このように既にインストールされているＪＡＲファイルを共同使用する場合、まず、ＣＰＵ４０５は、図５に示したスクラッチパッド４１０ｃにおいて、該当するＪＡＲファイル用メモリ領域内に、新たなユーザ用メモリ領域を生成する（ステップＳ１１１）。次いで、ＣＰＵ４０５は、ＵＩＭＩＤ格納領域４１０ａに格納されているＵＩＭＩＤ、すなわち、現時点において携帯電話機４０に装着されているＵＩＭ５０のＵＩＭＩＤを取得する（ステップＳ１１２）。なお、現時点において携帯電話機４０に装着されているＵＩＭ５０から直接、ＵＩＭＩＤを取得してもよい。このＵＩＭＩＤは、現時点において携帯電話機４０を使用しているユーザを識別するためのユーザ識別情報として利用される。
【００４５】
そして、ＣＰＵ４０５は、図６に示したメモリ領域特定テーブル４１０ｄにおいて、共同使用することとなったJavaＡＰの識別情報に、上記ステップＳ１１１において生成したユーザ用メモリ領域を示すメモリアドレス情報と、上記ステップＳ１１２において取得したＵＩＭＩＤとを対応付けて登録し、メモリ領域特定テーブル４１０ｄを更新する（ステップＳ１１３）。
【００４６】
一方、ＣＰＵ４０５は、上記ステップＳ１０７において、ダウンロードしようとしているＪＡＲファイルがＪＡＲストレージ４１０ｂ内にインストールされていないと判別した場合、あるいは上記ステップＳ１０６において共同使用許可フラグの値が“１”でないと判別した場合は、次いで、ＡＤＦに含まれているＪＡＲファイルのダウンロード要求先を示すＵＲＬ（Uniform Resource Locator）を用いてＪＡＲファイル取得要求メッセージを生成し、当該ＪＡＲファイル取得要求メッセージをコンテンツサーバ１０へ送信する（ステップＳ１０８）。コンテンツサーバ１０は、ＪＡＲファイル取得要求メッセージを受信すると、このＪＡＲファイル取得要求メッセージによって指定されるＪＡＲファイルをメモリから読み出して携帯電話機４０に送信する（ステップＳ１０９）。
【００４７】
携帯電話機４０のＣＰＵ４０５は、ＪＡＲファイルを受信すると、まず、上記ステップＳ１０４において受信したＡＤＦから“AppSize”項目のサイズ情報を読み出す。そして、ＣＰＵ４０５は、読み出したサイズ情報によって指定される容量のメモリ領域をＪＡＲストレージ４１０ｂに確保した後、このメモリ領域内に、受信したＪＡＲファイルをインストールする（ステップＳ１１０）。また、ＣＰＵ４０５は、上記ステップＳ１０４において受信したＡＤＦから“SPsize”項目のサイズ情報を読み出し、当該サイズ情報に従って、インストールされたＪＡＲファイル用のメモリ領域をスクラッチパッド４１０ｃ内に確保する（ステップＳ１１１）。さらに、ＣＰＵ４０５は、上記ステップＳ１０４において受信したＡＤＦを、インストールされたＪＡＲファイルと対応付けて不揮発性メモリ４１０に記憶する。
【００４８】
この後、ＣＰＵ４０５は、ＵＩＭＩＤ格納領域４１０ａに格納されているＵＩＭＩＤを取得する（ステップＳ１１２）。そして、ＣＰＵ４０５は、メモリ領域特定テーブル４１０ｄに、今回インストールしたJavaＡＰの識別情報と、上記ステップＳ１１１において生成したＪＡＲファイル用メモリ領域を示すメモリアドレス情報と、上記ステップＳ１１２において取得したＵＩＭＩＤとを対応付けて登録し、メモリ領域特定テーブル４１０ｄを更新する（ステップＳ１１３）。
【００４９】
＜２．JavaＡＰ起動処理＞
次に、図９は、携帯電話機４０においてＣＰＵ４０５により実行されるJavaＡＰ起動処理の動作を例示するフローチャートである。このJavaＡＰ起動処理は、ＪＡＭの機能としてＣＰＵ４０５により実行されるものであり、例えば、操作入力によってJavaＡＰの起動が指示された場合に実行される。
【００５０】
なお、JavaＡＰの起動を指示する形態は、操作入力に限定されず、例えば、予め設定された時刻になるとJavaＡＰの起動が指示される場合や、他のプログラムに従って行われている処理からJavaＡＰの起動が指示される場合、電子メール等を用いて携帯電話機４０の外部からJavaＡＰの起動が指示される場合等もある。また、ユーザは、自己の所有するＵＩＭ５０を携帯電話機４０に装着した状態で携帯電話機４０を使用しているものとする。
【００５１】
まず、ＣＰＵ４０５は、現時点において携帯電話機４０を使用しているユーザを判別するため、ＵＩＭＩＤ格納領域４１０ａに格納されているＵＩＭＩＤを取得する（ステップＳ２０１）。勿論、現時点において携帯電話機４０に装着されているＵＩＭ５０から直接、ＵＩＭＩＤを取得してもよい。
【００５２】
次いで、ＣＰＵ４０５は、起動させるプログラムとして指定されたJavaＡＰが、コンテンツプロバイダによって共同使用の許可されたプログラムであるか否かを判別する（ステップＳ２０２）。すなわち、ＣＰＵ４０５は、起動させるプログラムとして指定されたJavaＡＰのＡＤＦを不揮発性メモリ４１０から読み出して、このＡＤＦに含まれている共同使用許可フラグの値が“１”であるか否かを判別する。
【００５３】
その結果、ＣＰＵ４０５は、起動させるプログラムとして指定されたJavaＡＰが共同使用の許可されたプログラムであると判別した場合は（ステップＳ２０２：Ｙｅｓ）、まず、図６に示したメモリ領域特定テーブル４１０ｄを参照して、起動させるプログラムとして指定されたJavaＡＰの識別情報と、上記ステップＳ２０１において取得したＵＩＭＩＤとの組み合わせに対応付けられているメモリアドレス情報を取得する（ステップＳ２０３）。次いで、ＣＰＵ４０５は、取得したメモリアドレス情報により示されるユーザ用メモリ領域を、このJavaＡＰの実行時に使用するメモリ領域として指定する（ステップＳ２０４）。
【００５４】
この後、ＣＰＵ４０５は、起動させるプログラムとして指定されたJavaＡＰについて、ＪＡＲファイル内の本体プログラムをＪＡＲストレージ４１０ｂから読み出して起動し（ステップＳ２０７）、当該起動させた本体プログラムに基づく処理を、上記ステップＳ２０４において指定されたユーザ用メモリ領域に記憶されているデータを用いて開始する。
【００５５】
例えば、起動させるプログラムとして指定されたJavaＡＰがゲームプログラムであって、スクラッチパッド４１０ｃ内のユーザ用メモリ領域に、ユーザが指定したゲームの難易度等を設定するための環境設定データとセーブデータが記憶されている場合、ＣＰＵ４０５は、ゲームプログラムを起動させた後、まず、ユーザ用メモリ領域から環境設定データおよびセーブデータを読み出す。そして、ＣＰＵ４０５は、環境設定データに基づいてゲームの難易度等を設定するともに、セーブデータに従ってゲームの再開シーンやゲームキャラクタの能力値等を設定した後、ゲームを再開させる。また、このゲームプログラムの実行中や終了時には、該当するユーザ用メモリ領域に記憶されているデータの使用や更新がＣＰＵ４０５により適宜行われる。
【００５６】
なお、ＣＰＵ４０５は、上記ステップＳ２０３において、メモリ領域特定テーブル４１０ｄに、上記ステップＳ２０１において取得したＵＩＭＩＤと、起動させるプログラムとして指示されたJavaＡＰの識別情報との組み合わせに対応するメモリアドレス情報が存在しないと判別した場合、例えば、共同使用が許可されていないユーザがJavaＡＰの起動を指示した場合等は、不正使用に該当するためJavaＡＰを起動することができない旨のメッセージを液晶画面に表示し、このJavaＡＰの起動を中止する。
【００５７】
一方、ＣＰＵ４０５は、上記ステップＳ２０２において、起動させるプログラムとして指定されたJavaＡＰが共同使用の許可されたプログラムでないと判別した場合は、ステップＳ２０５に進む。そして、ＣＰＵ４０５は、メモリ領域特定テーブル４１０ｄから、起動させるプログラムとして指定されたJavaＡＰの識別情報と、上記ステップＳ２０１において取得したＵＩＭＩＤとの組み合わせに対応付けられているメモリアドレス情報を取得する（ステップＳ２０５）。次いで、ＣＰＵ４０５は、取得したメモリアドレス情報により指定されるＪＡＲファイル用メモリ領域を、このJavaＡＰの実行時に使用するメモリ領域として指定する（ステップＳ２０６）。
【００５８】
この後、ＣＰＵ４０５は、起動させるプログラムとして指定されたJavaＡＰについて、ＪＡＲファイル内の本体プログラムをＪＡＲストレージ４１０ｂから読み出して起動し（ステップＳ２０７）、当該起動させた本体プログラムに基づく処理を、上記ステップＳ２０６において指定されたＪＡＲファイル用メモリ領域に記憶されているデータを用いて開始する。
【００５９】
以上説明したように本実施形態によれば、コンテンツプロバイダによって共同使用が許可されたJavaＡＰについては、携帯電話機４０内にＪＡＲファイルが１つしかインストールされないので、携帯電話機４０におけるメモリの無駄な使用を削減することができる。勿論、ユーザ自身が、自分の使用したいJavaＡＰが携帯電話機４０にインストールされているか否かを不揮発性メモリ４１０内を検索して確認したり、あるいは自分の使用したいJavaＡＰが既にインストールされている場合に、このJavaＡＰについてスクラッチパッド４１０ｃ内に自分用のユーザ用メモリ領域の生成を指示する等といった煩雑な操作を行う必要もなくなる。また、コンテンツプロバイダは、自身が提供するJavaＡＰについて共同使用を許可するか否かを設定することができる。
【００６０】
なお、携帯電話機４０（コンピュータ）は、ＲＯＭ４０８または不揮発性メモリ４１０に記憶されているプログラムに従って、図８に示したダウンロードに関する処理や、図９に示したJavaＡＰ起動処理を行うが、このような本発明に係る処理を実行するためのプログラムを通信によって携帯電話機４０に提供するようにしてもよい。あるいは、このようなプログラムを記録媒体に記録して提供するようにしてもよい。
【００６１】
［Ｂ．変形例］
以上、本発明の実施形態について説明したが、本発明はその主要な特徴から逸脱することなく他の様々な形態で実施することが可能である。上述した実施形態は、本発明の一態様を例示したものに過ぎず、例えば、以下に示すような変形例が考えられる。
【００６２】
＜変形例１＞
図８に示したダウンロード処理を、図１０に示すシーケンスチャートのように変形してもよい。なお、図１０に示すシーケンスチャートにおいては、図８に示したシーケンスチャートと異なる部分についてのみ３００番台のステップ番号を付している。また、図８に示したシーケンスチャートと同じ処理を行なうステップについては動作説明を省略する。
【００６３】
携帯電話機４０において、ダウンロードするJavaＡＰが操作入力により選択されると、まず、ＣＰＵ４０５は、ＵＩＭＩＤ格納領域４１０ａに記憶されているＵＩＭＩＤを取得する（ステップＳ３０１）。次いで、ＣＰＵ４０５は、ダウンロードするJavaＡＰのＡＤＦを携帯電話機４０に対して送信することを要求するＡＤＦ取得要求メッセージと、上記ステップＳ３０１において取得したＵＩＭＩＤとをコンテンツサーバ１０へ送信する（ステップＳ３０２）。
【００６４】
コンテンツサーバ１０は、ＡＤＦ取得要求メッセージおよびＵＩＭＩＤを受信すると、まず、このＡＤＦ取得要求メッセージによって指定されるＡＤＦをメモリから読み出す。次いで、コンテンツサーバ１０は、読み出したＡＤＦ内に、このＡＤＦと対をなすＪＡＲファイルの使用を携帯電話機４０において許可するユーザを示すユーザ情報として、携帯電話機４０から受信したＵＩＭＩＤを格納し（ステップＳ３０３）、このＡＤＦを携帯電話機４０へ送信する（ステップＳ３０４）。すなわち、このステップＳ３０４においてコンテンツサーバ１０から携帯電話機４０へ送信されるＡＤＦには、このＡＤＦと対をなすＪＡＲファイルが携帯電話機４０において複数のユーザによる共同使用が許可されたプログラムであるか否かを示す共同使用許可フラグと、携帯電話機４０においてこのＪＡＲファイルの使用を許可するユーザを示すユーザ情報（ＵＩＭＩＤ）とが格納されている。
【００６５】
この後、ステップＳ１０５〜Ｓ１１０までの各処理は、図８に示したシーケンスチャートの各処理と同じである。そして、携帯電話機４０のＣＰＵ４０５は、上記ステップ３０４において受信したＡＤＦの指定するＪＡＲファイルが、共同使用の許可されたプログラムであって、かつ、このＪＡＲファイルがＪＡＲストレージ４１０ｂ内にインストールされている場合は、ステップＳ３０５において、受信したＡＤＦ内に含まれているＵＩＭＩＤにより示されるユーザ用のメモリ領域（ユーザ用メモリ領域）をスクラッチパッド４１０ｃ内に生成する。
【００６６】
そして、ＣＰＵ４０５は、メモリ領域特定テーブル４１０ｄにおいて、共同使用することとなったJavaＡＰの識別情報に、上記ステップＳ３０５において生成したユーザ用メモリ領域を示すメモリアドレス情報と、上記ステップＳ３０４において受信したＡＤＦ内に含まれているＵＩＭＩＤとを対応付けて登録し、メモリ領域特定テーブル４１０ｄを更新する（ステップＳ３０６）。
【００６７】
一方、ＣＰＵ４０５は、ＡＤＦの指定するＪＡＲファイルが共同使用の許可されていないプログラムである場合、あるいは、このＪＡＲファイルが、共同使用の許可されたプログラムであるものの、ＪＡＲストレージ４１０ｂ内にインストールされていない場合は、ステップＳ３０５においてスクラッチパッド４１０ｃ内にＪＡＲファイル用メモリ領域を生成する。そして、ＣＰＵ４０５は、メモリ領域特定テーブル４１０ｄに、今回インストールしたJavaＡＰの識別情報と、上記ステップＳ３０５において生成したＪＡＲファイル用メモリ領域を示すメモリアドレス情報と、上記ステップＳ３０４において受信したＡＤＦ内に含まれているＵＩＭＩＤとを対応付けて登録し、メモリ領域特定テーブル４１０ｄを更新する（ステップＳ３０６）。
【００６８】
このように、コンテンツサーバ１０は、共同使用許可フラグに加え、ＪＡＲファイルの使用を許可するユーザを示すユーザ情報を含んだＡＤＦを携帯電話機４０に送信するようにしてもよい。なお、このユーザ情報は、ＵＩＭＩＤに限定されるものではない。例えば、後述する変形例２および変形例３に記載するように、電話番号やバイオメトリクス情報等を用いることもできる。
【００６９】
また上記ステップＳ３０３においてコンテンツサーバ１０がＡＤＦにＵＩＭＩＤを格納する際には、ＵＩＭＩＤにより示されるユーザ用にカスタマイズされた、このＡＤＦと対をなすＪＡＲファイルを実行する場合に使用されるパラメータ等の制御情報をさらにＡＤＦ内に格納するようにしてもよい。
【００７０】
この場合、上記ステップＳ３０６においてＣＰＵ４０５は、共同使用することとなったJavaＡＰの識別情報に、上記ステップＳ３０５において生成したユーザ用メモリ領域を示すメモリアドレス情報と、上記ステップＳ３０４において受信され不揮発性メモリ４１０に記憶されたＡＤＦを特定する情報（例えば、ＡＤＦの格納場所を示すメモリアドレス情報やＡＤＦ毎に固有に割り当てられたＩＤ情報等）と、受信したＡＤＦ内に含まれているＵＩＭＩＤとを対応付けてメモリ領域特定テーブル４１０ｄに登録する。
【００７１】
そして、ＣＰＵ４０５は、このようなJavaＡＰを起動する場合、メモリ領域特定テーブル４１０ｄを参照して特定したユーザ用メモリ領域に記憶されているデータに加え、メモリ領域特定テーブル４１０ｄを参照して特定したＡＤＦ内に含まれている上記制御情報を用いてJavaＡＰを実行する。
【００７２】
＜変形例２＞
上述した実施形態において携帯電話機４０は、携帯電話機４０を使用しているユーザを、携帯電話機４０に装着されているＵＩＭ５０から取得したＵＩＭＩＤにより識別するようにした。しかしながら、ＵＩＭＩＤの代わりに、ＵＩＭ５０に記憶されている電話番号や電子メールアドレス等を用いてもよい。
【００７３】
また、ＵＩＭ５０（データ記憶モジュール）は、携帯電話機４０と無線通信によってデータの送受信を行う非接触型のＩＣカードであってもよい。また、データ記憶モジュールは、携帯電話機４０に対して着脱自在なメモリカード、光ディスク、磁気ディスク等の記録媒体であってもよい。勿論、このような記録媒体を用いる場合は、この記録媒体内に、記録媒体毎または記録媒体の所有者毎に固有の識別情報が記録され、携帯電話機４０は、当該携帯電話機４０に装着されている記録媒体から取得した識別情報により、この携帯電話機４０を使用しているユーザを識別する。
【００７４】
＜変形例３＞
ＵＩＭ５０や記録媒体を装着して使用する携帯電話機４０以外であっても本発明を適用することができる。図１１は、本変形例に係る携帯電話機４１のハードウェア構成を例示するブロック図である。同図に示す携帯電話機４１が上述した実施形態における携帯電話機４０と異なるのは、ＵＩＭインタフェース４０４の代わりに指紋解析部４２１が設けられている点である。この指紋解析部４２１は、携帯電話機４１を使用しているユーザの指紋を光学的に読み取る指紋読取ユニットと、当該指紋読取ユニットにより読み取られた指紋の画像を解析して当該指紋の特徴を抽出し、このユーザを一意に識別するための指紋情報を生成する指紋解析ユニットとを有している。この指紋解析部４２１によって生成された指紋情報をＵＩＭＩＤの代わりに用いて、携帯電話機４１を使用しているユーザを識別するようにしてもよい。また、指紋の代わりに、声紋、網膜パターン、掌紋等のバイオメトリクス情報を用いてもよい。
【００７５】
＜変形例４＞
上記実施形態では、ＡＤＦ内に含まれている共同使用可否フラグの値に従って、ダウンロードしようとしているＪＡＲファイルが、共同使用の許可されたプログラムであり、かつ、既にＪＡＲストレージ４１０ｂ内にインストールされている場合は、このＪＡＲファイルのダウンロードを行わないようにしたが、ＪＡＲファイルを４０にダウンロードした後に、当該ＪＡＲファイルが、共同使用の許可されたプログラムであり、かつ、既にＪＡＲストレージ４１０ｂ内にインストールされている場合は、このＪＡＲファイルをＪＡＲストレージ４１０ｂにインストールしないようにしてもよい。
【００７６】
＜変形例５＞
上述した実施形態において携帯電話機４０は、ＡＤＦに記述されている共同使用許可フラグの値に従って、このＡＤＦの指定するＪＡＲファイルが共同使用の許可されたプログラムであるか否かを判別するようにした。しかしながら、例えば、共同使用が許可された各ＪＡＲファイルを特定のサーバから携帯電話機４０に提供するようにして、携帯電話機４０は、ＡＤＦに記述されているＪＡＲファイルのダウンロード要求先を示すＵＲＬ（通信アドレス）に基づいて、このＪＡＲファイルが共同使用の許可されたプログラムであるか否かを判別するようにしてもよい。
【００７７】
＜変形例６＞
上述した実施形態では、携帯電話機４０にJavaＡＰをダウンロードする場合について説明したが、勿論、ダウンロードではなく、JavaＡＰが携帯電話機４０に配信される場合についても本発明を適用することができる。また、本発明が適用可能な受信装置は、携帯電話機に限定されるものではない。例えば、ＰＨＳ（Personal Handyphone System：登録商標）端末やパーソナルコンピュータ等の各種通信機器に本発明を適用することができる。また、プログラミング言語は、Javaに限定されるものではない。
【図面の簡単な説明】
【００７８】
【図１】本発明の実施形態に係る通信システムの構成を例示するブロック図である。
【図２】同実施形態に係るJavaＡＰの構成について例示する図である。
【図３】同実施形態に係る携帯電話機のハードウェア構成を例示するブロック図である。
【図４】同実施形態に係るＪＡＲストレージの構成を例示する図である。
【図５】同実施形態に係るスクラッチパッドの構成を例示する図である。
【図６】同実施形態に係るメモリ領域特定テーブルの構成を例示する図である。
【図７】同実施形態に係り、携帯電話機におけるソフトウェアの実行環境を説明するための図である。
【図８】同実施形態に係り、JavaＡＰをダウンロードする場合の、携帯電話機およびコンテンツサーバの動作を例示するシーケンスチャートである。
【図９】同実施形態に係る携帯電話機において、ＣＰＵにより実行されるJavaＡＰ起動処理の動作を例示するフローチャートである。
【図１０】本発明の変形例１に係り、図８に示したダウンロードに関する処理の変形例について示すシーケンスチャートである。
【図１１】本発明の変形例３に係る携帯電話機のハードウェア構成を例示するブロック図である。
【符号の説明】
【００７９】
１…通信システム、１０…コンテンツサーバ、２０…インターネット、３０…移動パケット通信網、４０，４１…携帯電話機、５０…ＵＩＭ、４０１…無線通信部、４０２…操作入力部、４０４…ＵＩＭインタフェース、４０５…ＣＰＵ、４０６…液晶表示部、４０７…記憶部、４１０…不揮発性メモリ、４１０ａ…ＵＩＭＩＤ格納領域、４１０ｂ…ＪＡＲストレージ、４１０ｃ…スクラッチパッド、４１０ｄ…メモリ領域特定テーブル、４２１…指紋解析部。
【図１】
2005165666.tif 000003
【図２】
2005165666.tif 000004
【図３】
2005165666.tif 000005
【図４】
2005165666.tif 000006
【図５】
2005165666.tif 000007
【図６】
2005165666.tif 000008
【図７】
2005165666.tif 000009
【図８】
2005165666.tif 000010
【図９】
2005165666.tif 000011
【図１０】
2005165666.tif 000012
【図１１】
2005165666.tif 000013