(57)【要約】【課題】ユーザを煩わせることなく、外部機器との間で行われる通信を規制することが可能な通信端末及び通信制御方法を提供する。【解決手段】Ｊａｖａ実行環境の実装された移動機（Ｊａｖａ対応ＭＳ）の不揮発性メモリ６５３に、通信規制情報格納領域６５７、アプリケーション格納領域６５６を設ける。通信規制情報格納領域６５７には、通信量を規制するための通信量規制情報、通信時間を規制するための通信時間規制情報、通信回数を規制するための通信回数規制情報等を含む通信規制情報が格納されている。一方、アプリケーション格納領域６５６には、外部機器と通信を行うＪａｖａアプリケーションを含む種々のＪａｖａアプリケーションが格納されている。Ｊａｖａ対応ＭＳは、外部機器と通信を行うＪａｖａアプリケーションを実行する際、該通信規制情報と通信履歴情報とを比較して、外部機器との通信を許可するか否かを判断する。【選択図】　　　　図４
2004126736.tif 000002
【特許請求の範囲】
【請求項１】
外部機器とネットワークを介して通信を行う通信手段と、
通信を許可するか否かを判断するための通信条件を記憶する第１の記憶手段と、
当該通信端末の通信状態に基づき更新される通信履歴を記憶する第２の記憶手段と、
前記通信を開始する前に、前記通信条件と前記通信履歴から前記外部機器との通信を許可するか否かを判断し、前記外部機器との通信を許可した場合に前記通信手段による前記外部機器との通信を開始させる制御手段と
を具備することを特徴とする通信端末。
【請求項２】
外部機器とネットワークを介して通信を行う通信手段と、
通信を許可するか否かを判断するための通信条件を記憶する第１の記憶手段と、
当該通信端末の通信状態に基づき更新される通信履歴を記憶する第２の記憶手段と、
前記通信を開始した後、該通信継続中に、前記通信条件と前記通信履歴から前記外部機器との通信を許可するか否かを判断し、前記外部機器との通信を拒絶した場合に前記通信手段による前記外部機器との通信を終了させる制御手段と
を具備することを特徴とする通信端末。
【請求項３】
外部機器と通信を行うアプリケーションを記憶する第１の記憶手段と、
通信を許可するか否かを判断するための通信条件を記憶する第２の記憶手段と、
当該通信端末の通信状態に基づき更新される通信履歴を記憶する第３の記憶手段と、
前記通信条件と前記通信履歴から前記外部機器との通信を許可するか否かを判断するプログラムを記憶する第４の記憶手段と、
外部機器とネットワークを介して通信を行う通信手段と、
前記アプリケーションを実行し、当該アプリケーションに従い外部機器との通信を制御する手段であって、前記通信を開始する前に、前記プログラムを実行して前記外部機器との通信を許可するか否かを判断し、前記外部機器との通信を許可した場合に前記アプリケーションに従って前記通信手段による前記外部機器との通信を開始させる制御手段と
を具備することを特徴とする通信端末。
【請求項４】
前記外部機器と通信を行うアプリケーションには、当該アプリケーションの実行タイミングを示す実行タイミング情報が含まれ、
前記制御手段は、前記アプリケーションに含まれる実行タイミング情報に基づき当該アプリケーションを実行し、当該アプリケーションに従い外部機器との通信を制御する手段であって、前記通信を開始する前に、前記プログラムを実行して前記外部機器との通信を許可するか否かを判断し、前記外部機器との通信を許可した場合に前記アプリケーションに従って前記通信手段による前記外部機器との通信を開始させることを特徴とする請求項３に記載の通信端末。
【請求項５】
外部から前記外部機器と通信を行うアプリケーションの実行タイミングを示す実行タイミング情報を入力する入力手段をさらに具備し、
前記制御手段は、前記入力手段によって入力された実行タイミング情報に基づき当該アプリケーションを実行し、当該アプリケーションに従い外部機器との通信を制御する手段であって、前記通信を開始する前に、前記プログラムを実行して前記外部機器との通信を許可するか否かを判断し、前記外部機器との通信を許可した場合に前記アプリケーションに従って前記通信手段による前記外部機器との通信を開始させることを特徴とする請求項３に記載の通信端末。
【請求項６】
外部機器と通信を行うアプリケーションを含む複数のアプリケーションを記憶する第１の記憶手段と、
通信を許可するか否かを判断するための通信条件を記憶する第２の記憶手段と、
当該通信端末の通信状態に基づき更新される通信履歴を記憶する第３の記憶手段と、
前記通信条件と前記通信履歴から前記外部機器との通信を許可するか否かを判断するプログラムを記憶する第４の記憶手段と、
外部機器とネットワークを介して通信を行う通信手段と、
前記複数のアプリケーションの中から実行すべきアプリケーションを選択する選択手段と、
前記選択手段によって選択されたアプリケーションが外部機器と通信を行うアプリケーションである場合に当該アプリケーションを実行し、当該アプリケーションに従い外部機器との通信を制御する手段であって、前記通信を開始する前に、前記プログラムを実行して前記外部機器との通信を許可するか否かを判断し、前記外部機器との通信を許可した場合に前記アプリケーションに従って前記通信手段による前記外部機器との通信を開始させる制御手段と
を具備することを特徴とする通信端末。
【請求項７】
外部機器と通信を行うアプリケーションを記憶する第１の記憶手段と、
通信を許可するか否かを判断するための通信条件を記憶する第２の記憶手段と、
当該通信端末の通信状態に基づき更新される通信履歴を記憶する第３の記憶手段と、
前記通信条件と前記通信履歴から前記外部機器との通信を許可するか否かを判断するプログラムを記憶する第４の記憶手段と、
外部機器とネットワークを介して通信を行う通信手段と、
前記アプリケーションを実行し、当該アプリケーションに従い外部機器との通信を制御する手段であって、前記通信を開始させた後、該通信継続中に、前記プログラムを実行して前記外部機器との通信を許可するか否かを判断し、前記外部機器との通信を拒絶した場合に前記アプリケーションに従うことなく前記通信手段による外部機器との通信を終了させる制御手段と
を具備することを特徴とする通信端末。
【請求項８】
ユーザから前記通信条件を入力して前記第２の記憶手段に記憶させる入力手段をさらに具備することを特徴とする請求項３〜７のいずれか１の請求項に記載の通信端末。
【請求項９】
前記外部機器と通信を行うアプリケーションは、前記通信手段が当該外部機器からネットワークを介して受信したアプリケーションであることを特徴とする請求項３〜８のいずれか１の請求項に記載の通信端末。
【請求項１０】
前記外部機器と通信を行うアプリケーションは、Ｊａｖａ（登録商標）言語で記述されたアプリケーションであることを特徴とする請求項３〜９のいずれか１のに記載の通信端末。
【請求項１１】
前記通信条件は、通信回数に関する条件、通信量に関する条件、通信時間に関する条件の少なくともいずれか１つの条件を含むことを特徴とする請求項１〜１０のいずれか１の請求項に記載の通信端末。
【請求項１２】
前記通信端末は、パケット通信機能を有する携帯電話であることを特徴とする請求項１〜１１のいずれか１の請求項に記載の通信端末。
【請求項１３】
前記通信端末は、携帯電話を介して外部機器と通信を行うユーザ識別モジュールであることを特徴とする請求項１〜１１のいずれか１の請求項に記載の通信端末。
【請求項１４】
ネットワークを介して外部機器と通信を行う通信端末は、前記外部機器との通信を開始する前に、通信を許可するか否かを判断するための通信条件と、当該通信端末の通信状態に基づき更新される通信履歴から前記外部機器との通信を許可するか否かを判断し、前記外部機器との通信を許可した場合に前記外部機器との通信を開始することを特徴とする通信端末における通信制御方法。
【請求項１５】
ネットワークを介して外部機器と通信を行う通信端末は、前記外部機器との通信を開始した後、該通信継続中に、通信を許可するか否かを判断するための通信条件と、当該通信端末の通信状態に基づき更新される通信履歴から前記外部機器との通信を許可するか否かを判断し、前記外部機器との通信を拒絶した場合に前記外部機器との通信を終了することを特徴とする通信端末における通信制御方法。
【請求項１６】
通信端末は、ネットワークを介して外部機器と通信を行うアプリケーションを実行し、当該アプリケーションに従って外部機器との通信を開始する前に、通信を許可するか否かを判断するための通信条件と当該通信端末の通信状態に基づき更新される通信履歴から前記外部機器との通信を許可するか否かを判断するプログラムを実行し、前記外部機器との通信を許可した場合に前記アプリケーションに従って前記外部機器との通信を開始することを特徴とする通信端末における通信制御方法。
【請求項１７】
通信端末は、ネットワークを介して外部機器と通信を行うアプリケーションを実行し、当該アプリケーションに従って外部機器との通信を開始した後、該通信継続中に、通信を許可するか否かを判断するための通信条件と当該通信端末の通信状態に基づき更新される通信履歴から前記外部機器との通信を許可するか否かを判断するプログラムを実行し、前記外部機器との通信を拒絶した場合に前記アプリケーションに従うことなく前記外部機器との通信を終了することを特徴とする通信端末における通信制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信端末及び通信制御方法に関する。
【０００２】
【従来の技術】
Ｗｅｂ（Ｗｏｒｌｄ　Ｗｉｄｅ　Ｗｅｂ）技術の発展に伴い、利用する機種やオペレーティング・システムへの依存性が少ないプログラミング言語（例えば、Ｊａｖａ言語（「Ｊａｖａ」は、Ｓｕｎ　Ｍｉｃｒｏｓｙｓｔｅｍｓ，Ｉｎｃ．の登録商標；以下同じ））によって記述されたアプリケーションを、Ｗｅｂサーバ端末からインターネット等の通信ネットワークを介してＷｅｂクライアント端末へダウンロードするサービスが広く普及している。
クライアント端末を所有するユーザは、該クライアント端末に搭載されているＷｅｂブラウザを利用してＷｅｂサーバ端末にアクセスし、当該Ｗｅｂサーバ端末に対してアプリケーションのダウンロード要求を行う。これにより、ユーザの所望するアプリケーションが該Ｗｅｂサーバ端末からＷｅｂクライアント端末へダウンロードされる（例えば、特許文献１参照）。
【０００３】
【特許文献１】
特開２００２−１８９６００号公報（第２頁、第４頁）
【０００４】
【発明が解決しようとする課題】
しかしながら、該アプリケーションのダウンロード最中に通信ネットワークに異常が発生した場合、ユーザがクライアント端末を操作してダウンロード処理を強制終了等しない限り、該ダウンロード処理が半永続的に継続されてしまう等の問題があった。
また、該アプリケーションのダウンロード最中に通信ネットワークに異常が発生した場合でなくとも、該アプリケーションに発生したバグにより一端ダウンロード処理が開始された後においては、上記と同様、ユーザがクライアント端末を操作してダウンロード処理を強制終了等しない限り、該ダウンロード処理が半永続的に継続されてしまう等の問題があった。
本発明は、以上説明した事情を鑑みてなされたものであり、ユーザを煩わせることなく、外部機器との間で行われる通信を規制することが可能な通信端末及び通信制御方法を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上述した問題を解決するため、本発明に記載の通信端末は、外部機器とネットワークを介して通信を行う通信手段と、通信を許可するか否かを判断するための通信条件を記憶する第１の記憶手段と、当該通信端末の通信状態に基づき更新される通信履歴を記憶する第２の記憶手段と、前記通信を開始する前に、前記通信条件と前記通信履歴から前記外部機器との通信を許可するか否かを判断し、前記外部機器との通信を許可した場合に前記通信手段による前記外部機器との通信を開始させる制御手段とを具備することを特徴とする。
【０００６】
かかる構成によれば、通信端末は、外部機器との通信を開始する前に、通信条件と通信履歴から前記外部機器との通信を許可するか否かを判断し、許可した場合に前記外部機器との通信を開始する。すなわち、当該通信端末は通信条件を満たさない限り、通信が開始することはないため、例えば思いもよらぬ高い通信料がユーザに請求されるといった問題を未然に防止することが可能となる。
【０００７】
また、本発明に記載の通信端末は、外部機器とネットワークを介して通信を行う通信手段と、通信を許可するか否かを判断するための通信条件を記憶する第１の記憶手段と、当該通信端末の通信状態に基づき更新される通信履歴を記憶する第２の記憶手段と、前記通信を開始した後、該通信継続中に、前記通信条件と前記通信履歴から前記外部機器との通信を許可するか否かを判断し、前記外部機器との通信を拒絶した場合に前記通信手段による前記外部機器との通信を終了させる制御手段とを具備することを特徴とする。
【０００８】
かかる構成によれば、通信端末は、外部機器との通信を開始した後、該通信継続中に、通信条件と通信履歴から前記外部機器との通信を許可するか否かを判断し、拒絶した場合に前記外部機器との通信を終了する。すなわち、当該通信端末は外部機器と通信中であっても、該通信条件を満たさなくなった場合には該通信を終了するため、例えば思いもよらぬ高い通信料がユーザに請求されるといった問題を未然に防止することが可能となる。
【０００９】
また、本発明に記載の通信端末は、外部機器と通信を行うアプリケーションを記憶する第１の記憶手段と、通信を許可するか否かを判断するための通信条件を記憶する第２の記憶手段と、当該通信端末の通信状態に基づき更新される通信履歴を記憶する第３の記憶手段と、前記通信条件と前記通信履歴から前記外部機器との通信を許可するか否かを判断するプログラムを記憶する第４の記憶手段と、外部機器とネットワークを介して通信を行う通信手段と、前記アプリケーションを実行し、当該アプリケーションに従い外部機器との通信を制御する手段であって、前記通信を開始する前に、前記プログラムを実行して前記外部機器との通信を許可するか否かを判断し、前記外部機器との通信を許可した場合に前記アプリケーションに従って前記通信手段による前記外部機器との通信を開始させる制御手段とを具備することを特徴とする。
【００１０】
かかる構成によれば、通信端末は、外部機器と通信を行うアプリケーションを実行し、前記外部機器と通信を行う場合において、前記通信を開始する前に、通信条件と通信履歴から前記外部機器との通信を許可するか否かを判断するプログラムを実行し、該通信を許可した場合に前記外部機器との通信を開始する。
ここで、外部機器と通信を行うアプリケーションの中には、例えば１日に何度も同一外部機器と通信を行うアプリケーション等も存在する。このようなアプリケーションがユーザの知らぬ間に実行されると、思いもよらぬ高い通信料がユーザに請求されてしまう。しかしながら、かかる通信端末によれば、このようなアプリケーションが実行される場合であっても、前記通信を開始する前に、通信条件と通信履歴から前記外部機器との通信を許可するか否かを判断するプログラムが実行され、該通信が許可された場合に前記外部機器との通信が開始されるため、思いもよらぬ高い通信料がユーザに請求されるといった問題を未然に防止することが可能となる。
【００１１】
また、本発明に記載の通信端末は、外部機器と通信を行うアプリケーションを記憶する第１の記憶手段と、通信を許可するか否かを判断するための通信条件を記憶する第２の記憶手段と、当該通信端末の通信状態に基づき更新される通信履歴を記憶する第３の記憶手段と、前記通信条件と前記通信履歴から前記外部機器との通信を許可するか否かを判断するプログラムを記憶する第４の記憶手段と、外部機器とネットワークを介して通信を行う通信手段と、前記アプリケーションを実行し、当該アプリケーションに従い外部機器との通信を制御する手段であって、前記通信を開始させた後、該通信継続中に、前記プログラムを実行して前記外部機器との通信を許可するか否かを判断し、前記外部機器との通信を拒絶した場合に前記アプリケーションに従うことなく前記通信手段による外部機器との通信を終了させる制御手段とを具備することを特徴とする。
【００１２】
かかる構成によれば、通信端末は、外部機器と通信を行うアプリケーションを実行し、前記通信を開始した後、該通信中に、通信条件と通信履歴から前記外部機器との通信を許可するか否かを判断するプログラムを実行し、該通信を拒絶した場合に前記外部機器との通信を終了する。
ここで、通信端末が外部機器と通信を行うアプリケーションを実行している最中に、半永続的に通信が継続されてしまうバグが発生することも想定される。このようなバグの発生したアプリケーションがユーザの知らぬ間に実行されると、思いもよらぬ高い通信料がユーザに請求されてしまう。しかしながら、かかる通信端末によれば、このようなバグの発生したアプリケーションが実行された場合であっても、前記通信を開始させた後、該通信継続中に、通信条件と通信履歴から前記外部機器との通信を許可するか否かを判断するプログラムが実行され、該通信が拒絶された場合に前記外部機器との通信が終了する。このため、思いもよらぬ高い通信料がユーザに請求されるといった問題を未然に防止することが可能となる。
【００１３】
【発明の実施の形態】
＜Ｊａｖａ実行環境＞
以下、Ｊａｖａ言語で記述されたプログラム（アプリケーション）の実行可能な環境（以下、Ｊａｖａ実行環境という）が実装された移動機に本発明を適用した実施の形態について説明する。
ここで、かかる説明に先立ち、Ｊａｖａ実行環境の概略について説明する。なお、以下の説明は、移動機、ＰＤＡ（Ｐｅｒｓｏｎａｌ　Ｄｉｇｉｔａｌ　Ａｓｓｉｓｔａｎｃｅ）等のモバイル機器や家電製品等、パーソナルコンピュータ（以下、ＰＣ）等に比べてＣＰＵ、メモリ、ハードディスク等のコンピューティング資源の利用に厳しい制限が課せられた機器に組み込まれるＪａｖａ実行環境（現状では、Ｊ２ＭＥ：Ｊａｖａ　２　Ｍｉｃｒｏ　Ｅｄｉｔｉｏｎ）を想定する。
【００１４】
さて、Ｊ２ＭＥを実装する機器は、その機器の種類等によって必要とされる性能や機能は千差万別である。このような、実装の多様性は、無秩序と混乱を招きかねないため、Ｊ２ＭＥではコンフィギレーション（Ｃｏｎｆｉｇｕｒａｔｉｏｎ）と、プロファイル（Ｐｒｏｆｉｌｅ）という２つの概念が導入されている。
【００１５】
図１は、Ｊａｖａ実行環境（Ｊ２ＭＥ）のアーキテクチャの概要を示す図である。コンフィギレーションは、基本となるクラス・ライブラリと、ＪＶＭ（Ｊａｖａ　Ｖｉｒｔｕａｌ　Ｍａｃｈｉｎｅ）から構成されている。
ライブラリは、ある特定の機能を持ったプログラムを他のプログラムから利用できるように部品化し、複数のプログラム部品を一つのファイルにまとめたものである。このライブラリ自体は、単独で実行することはできず、他のプログラムの一部として動作する。
【００１６】
ＪＶＭは、Ｊａｖａアプリケーションを解釈／実行するためのソフトウェアであり、コンピュータシステム全体を管理するためのオペレーティングシステム（以下、ＯＳという）毎に用意される。一般に、Ｊａｖａ言語以外の言語で記述されたアプリケーションは、コンパイルによりＯＳ毎の機械語に翻訳され、実行時にはそのＯＳ上でしか動作しない（ＯＳに依存）。これに対し、Ｊａｖａ言語で記述されたアプリケーション（以下、Ｊａｖａアプリケーション）は、コンパイルによりどのＯＳ上のＪＶＭであっても解釈／実行可能なＪａｖａバイトコードに変換されるため、ＯＳ上にＪＶＭが組み込んであれば、該ＪａｖａアプリケーションはいかなるＯＳ上でも動作する（ＯＳに非依存）。
【００１７】
このようなコンフィギレーションには、移動機やＰＤＡなどの処理能力の低い端末を対象としたＣＬＤＣ（Ｃｏｎｎｅｃｔｅｄ　Ｌｉｍｉｔｅｄ　Ｄｅｖｉｃｅ　Ｃｏｎｆｉｇｕｒａｔｉｏｎ）と、カーナビなどの比較的処理能力の高い端末を対象としたＣＤＣ（Ｃｏｎｎｅｃｔｅｄ　Ｄｅｖｉｃｅ
Ｃｏｎｆｉｇｕｒａｔｉｏｎ）がある。
【００１８】
プロファイルは、コンフィギレーションを土台に、より拡張された機能を提供するためのクラス・ライブラリ群である。このプロファイルには、移動機等の携帯端末向けにＪａｖａの標準化プロセスＪＣＰ（Ｊａｖａ　Ｃｏｍｍｕｎｉｔｙ　Ｐｒｏｃｅｓｓ）を経て策定されたプロファイル（ＭＩＤＰ；Ｍｏｂｉｌｅ　Ｉｎｆｏｒｍａｔｉｏｎ　Ｄｅｖｉｃｅ　Ｐｒｏｆｉｌｅ）や、例えばＪａｖａ実行環境が実装された移動機等に対するＪａｖａアプリケーションの配信管理業務等を行う事業者等が独自に策定したプロファイル（以下、オリジナルＪａｖａ拡張プロファイルという）がある。
以下、コンフィギレーションとしてＣＬＤＣを実装し、プロファイルとしてオリジナルＪａｖａ拡張プロファイルを実装した移動機を例に説明を行う。
【００１９】
Ａ．本実施形態
（１）実施形態の構成
図２は、本実施形態に係る通信システム１００のアーキテクチャを示す図である。
通信システム１００は、Ｊａｖａアプリケーションを提供するコンテンツ・サーバ（以下、Ｊａｖａ対応ＣＳという）２００と、Ｊａｖａ対応ＣＳ２００が提供するＪａｖａアプリケーションをインターネット３００、ゲートウェイサーバ４００、移動パケット通信網５００を介してダウンロードし、ダウンロードしたＪａｖａアプリケーションの実行可能な移動機（以下、Ｊａｖａ対応ＭＳという）６００とを備えている。なお、通信システム１００は、この他にも種々の移動機（Ｊａｖａ対応ＭＳ６００を含む）に対して一般的な通話サービスを提供する図示せぬ移動電話網等を備えている。また、該通信システム１００は、本来複数のＪａｖａ対応ＣＳ２００及びＪａｖａ対応ＭＳ６００を備えているが、図２では図面が煩雑になるのを防ぐため、Ｊａｖａ対応ＣＳ２００及びＪａｖａ対応ＭＳ６００をそれぞれ１台ずつ図示している。
【００２０】
Ｊａｖａ対応ＣＳ２００は、専用線等によってインターネット３００に接続され、データベースＤＢに格納されている種々のＪａｖａアプリケーション（例えば、対戦ゲーム用のＪａｖａアプリケーション等）をＪａｖａ対応ＭＳ６００に提供する。なお、図２では専用線等によりＪａｖａ対応ＣＳ２００をインターネット３００に直接接続している場合を例示しているが、インターネット３００を介すことなく専用線等によりゲートウェイサーバ４００に直接接続する構成であっても良い。
【００２１】
ゲートウェイサーバ４００は、インターネット３００と移動パケット通信網５００とを相互接続する移動パケット関門中継交換局（図示略）等に設けられ、異なる通信プロトコルを有するネットワーク間のデータ授受を中継する。さらに詳述すると、ゲートウェイサーバ４００は、インターネット３００の標準プロトコルＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ　Ｃｏｎｔｒｏｌ　Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ）と、移動パケット通信用の通信プロトコルとを相互に変換することで、インターネット３００−移動パケット通信網５００間のデータの授受を中継する。
【００２２】
移動パケット通信網５００は、当該移動パケット通信網５００に収容される移動機（Ｊａｖａ対応ＭＳ６００を含む）に対してパケット通信サービスを提供する。なお、移動通信パケット通信網５００は、上述したゲートウェイサーバ４００のほか、自局がカバーする無線セルに在圏する移動機（Ｊａｖａ対応ＭＳ６００を含む）と無線通信を行う基地局（図示略）等を複数備えている。
【００２３】
Ｊａｖａ対応ＭＳ６００は、Ｊａｖａ実行環境が実装された携帯電話等であり、Ｊａｖａ対応ＣＳ２００からインターネット３００、移動パケット通信網５００等を介してダウンロードしたＪａｖａアプリケーションが実行可能となっている。
【００２４】
図３は、Ｊａｖａ対応ＭＳ６００のハードウェア構成を示す図である。
ＣＰＵ６１０は、記憶部６５０に格納されている各種制御プログラム等に従って、Ｊａｖａ対応ＭＳ６００の各部を中枢的に制御する。
無線通信部６２０は、アンテナ６２１を備え、基地局との間で行われる無線通信を制御する。この無線通信部６２０は、ＣＰＵ６１０の制御の下、例えば送話音声に関するデータやパケット通信用のデータなどを搬送波に重畳して無線信号を生成し、アンテナ６２１を介して基地局へ送信する一方、基地局からアンテナ６２１を介して受信した無線信号を復調し、受話音声に関するデータやパケット通信用のデータなどを得る。
【００２５】
操作入力部６３０は、電源ＯＮ／ＯＦＦキー、数字や文字、操作指示等を入力するための操作キー等を備え、これらのキーの操作に応じた操作信号をＣＰＵ６１０に出力する。
【００２６】
通話処理部６４０は、例えばマイクロフォンやスピーカ、音声処理部（図示略）などを有し、ＣＰＵ６１０の制御の下、呼接続／切断処理を含む通話処理を行う。　表示部６４５は、ＬＣＤ（Ｌｉｑｕｉｄ　Ｃｒｙｓｔａｌ　Ｄｉｓｐｌａｙ）及びＬＣＤの表示制御を行う駆動回路を備え、種々の文字、画像等を表示する。
【００２７】
記憶部６５０は、ＲＯＭ６５１と、ＲＡＭ６５２と、例えばＳＲＡＭ（Ｓｔａｔｉｃ−ＲＡＭ）やＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ　Ｅｒａｓａｂｌｅ　Ｐｒｏｇｒａｍｍａｂｌｅ　Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）などの不揮発性メモリ６５３とを有する。
【００２８】
ＲＯＭ６５１には、ＣＰＵ６１０によって実行される各種プログラムなどが格納されている。このＲＯＭ６５１には、Ｊａｖａ対応ＭＳ６００用のＯＳや、移動機対応マークアップ言語（例えば、ＣＨＴＭＬ（Ｃｏｍｐａｃｔ　ＨｙｐｅｒＴｅｘｔ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）等）で記述されたアプリケーションを解析／実行するためのＷｅｂブラウザ（以下、マイクロブラウザという）等のソフトウェア及び前述したＪａｖａ実行環境を提供するためのソフトウェア等が格納されている。
ＲＡＭ６５２は、ＣＰＵ６１０のワークメモリとして用いられ、各種データ等を一時的に格納するために利用されるほか、Ｊａｖａ対応ＭＳ６００に組み込まれたＪａｖａアプリケーション実行時に利用される。
【００２９】
不揮発性メモリ６５３は、アプリケーション実行メモリ及びアプリケーション記憶メモリ等を備えている。
図４は、不揮発性メモリ６５３の記憶状態を例示した図である。
アプリケーション記憶メモリ６５５は、アプリケーション格納領域６５６と、通信規制情報格納領域６５７と、アプリケーションデータ格納領域６５８とを備えている。なお、図４に示すように、該アプリケーション記憶メモリ６５５に格納されるＪａｖａアプリケーション毎に割り当てられる記憶領域が異なっている。
【００３０】
アプリケーション格納領域６５６には、種々のＪａｖａアプリケーションが格納される。Ｊａｖａアプリケーションは、Ｊａｖａアプリケーション本体のプログラムファイルと画像や音声ファイル等のリソースとを１つにまとめた数十Ｋバイト程度のＪＡＲファイルと、該ＪＡＲファイルに関する各種の情報が記述されたＡＤＦ（Ａｐｐｌｉｃａｔｉｏｎ　Ｄｅｓｃｒｉｐｔｏｒ　Ｆｉｌｅ）と呼ばれる数百バイト程度のテキストファイルから構成されている。このＪＡＲファイルとＡＤＦとから構成される種々のＪａｖａアプリケーションがアプリケーション格納領域６５６に対応付けて格納されている。
【００３１】
図５は、ＡＤＦの記述項目を例示した図である。
ＡＤＦには、ＪＡＲファイルのサイズを示すファイルサイズ情報、該ＪＡＲファイルの格納場所を示すＵＲＬ（Ｕｎｉｆｏｒｍ　Ｒｅｓｏｕｒｃｅ　Ｌｏｃａｔｏｒ）情報、該ＪＡＲファイルの利用可能な移動機の機種を示す機種情報等が記述されている。
Ｊａｖａ対応ＭＳ６００を所有するユーザは、Ｊａｖａ対応ＣＳ２００から所望のＪａｖａアプリケーションのダウンロードを試みる際、まず、Ｊａｖａ対応ＭＳ６００のマイクロブラウザを利用してＪａｖａ対応ＣＳ２００にアクセスし、ＡＤＦのダウンロードを試みる。ＡＤＦがダウンロードされると、Ｊａｖａ対応ＭＳ６００は、ＡＤＦに記述されている内容を参照し、Ｊａｖａアプリケーションの利用が可能かどうかを判定する。Ｊａｖａ対応ＭＳ６００は、該Ｊａｖａアプリケーションの利用が可能であると判定した場合にのみ、ＡＤＦ内に記述されたＵＲＬ情報を利用してＪＡＲファイルのダウンロードを行う。
【００３２】
このように、ＪＡＲファイルをいきなりダウンロードするのではなく、ＪＡＲファイルよりもサイズの小さなＡＤＦをダウンロードし、基本的な項目のみを事前にチェックするという仕組みを採用することで、通信コストの削減を図ることが可能となっている。
【００３３】
再び図４に戻り、通信規制情報格納領域６５７には、Ｊａｖａ対応ＭＳ６００に組み込まれたＪａｖａアプリケーションを起動することにより該Ｊａｖａ対応ＭＳ６００と該Ｊａｖａアプリケーションのダウンロード元のＪａｖａ対応ＣＳ２００との間で行われる自動通信（後述）を規制するための通信規制情報（通信条件）が格納されている。
該通信規制情報には、通信量（例えば、１日当たりの総通信量等）を規制するための通信量規制情報、通信時間（例えば、１日当たりの総通信時間等）を規制するための通信時間規制情報、通信回数（例えば、１日当たりの総通信回数等）を規制するための通信回数規制情報等が含まれている。これらの各情報は、ユーザがＪａｖａ対応ＭＳ６００の操作キーを操作することで設定・変更される。なお、これら各情報を利用した通信規制動作については、実施形態の動作説明の項においてその詳細を明らかにする。
【００３４】
アプリケーションデータ格納領域６５８は、Ｊａｖａ対応ＭＳ６００に組み込まれたＪａｖａアプリケーション毎に割り当てられており（例えば、５Ｋバイトずつ等）、各格納領域には、Ｊａｖａアプリケーション終了後も保持すべきデータ（以下、永続データという）がそれぞれ格納されている。また、セキュリティー上、各Ｊａｖａアプリケーション用に割り当てられた格納領域に格納されている永続データは、他のＪａｖａアプリケーション実行時に使用されないように制限されている（後に詳述）。
【００３５】
図６は、Ｊａｖａ対応ＭＳ６００に実装されているＪａｖａ実行環境のアーキテクチャを説明するための図である。
ネイティブアプリケーションは、音声通話機能や移動機対応マークアップ言語で記述されたアプリケーションを解析／実行する機能を提供するものであり、ブラウザ機能を提供するソフトウェア（マイクロブラウザ）や、電話帳機能を提供するソフトウェア、ネットワーク通信機能を提供するソフトウェア等により構成されている。
【００３６】
ＫＶＭ（Ｋｉｌｏ　Ｖｉｒｔｕａｌ　Ｍａｃｈｉｎｅ）は、前述したＪＶＭを移動機等の小型組み込みデバイス向けに再設計したものであり、キロバイト単位のメモリ（ＫＶＭの「Ｋ」の名は、必要なメモリがキロバイト（Ｋｉｌｏ　Ｂｙｔｅｓ）単位であることに由来）で動作可能となっている。
【００３７】
ＣＬＤＣクラス・ライブラリには、Ｊ２ＭＥの上位エディションであるＪ２ＳＥ（Ｊａｖａ　２　Ｓｔａｎｄａｒｄ　Ｅｄｉｔｉｏｎ；ＰＣ等への組み込みを想定したＪａｖａ実行環境）から承継されたサブセットであるクラス類や、ＣＬＤＣに固有のクラス類が含まれている。
オリジナルＪａｖａ拡張ライブラリは、上述したオリジナルＪａｖａ拡張プロファイルの機能を実現させるためのクラス・ライブラリであり、各クラス・ライブラリから提供される種々のクラスやＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ　Ｐｒｏｇｒａｍ　Ｉｎｔｅｒｆａｃｅ；ＯＳや各種ライブラリを利用する際のプログラム上の手続きを定めた規約）を利用することにより、該Ｊａｖａ拡張プロファイルの機能を実現させることが可能となっている。
なお、ＡＰＩは、本来、各ライブラリ中のクラスを呼び出す際に利用される規約を指すが、便宜上、以下では各ライブラリによって提供されるクラス群をＡＰＩという。
【００３８】
かかるオリジナルＪａｖａ拡張ライブラリによって提供されるＡＰＩには、ネットワーキングインタフェースＡＰＩ、ユーザインタフェースＡＰＩ、第２ストレージＡＰＩ等がある。
ネットワーキングＡＰＩは、ＵＲＬによって指定されたネットワーク資源（Ｊａｖａ対応ＣＳ６００等）との接続をサポートするためのＡＰＩであり、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ）通信及びＨＴＴＰＳ（Ｈｙｐｅｒｔｅｘｔ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ　Ｓｅｃｕｒｉｔｙ）通信等によるネットワーク接続をサポートする。
【００３９】
ユーザインタフェースＡＰＩは、種々のユーザインタフェース機能を提供するためのＡＰＩである。
第２ストレージＡＰＩは、第２ストレージに対するデータの読み書きをサポートするためのＡＰＩである。
なお、本実施形態に係るＪａｖａ対応ＭＳ６００は、以上説明したＣＬＤＣクラス・ライブラリ及びオリジナルＪａｖａ拡張ライブラリのほかにも、各移動機メーカが独自の機能を提供するために追加したメーカ独自拡張ライブラリ等を備えている。
【００４０】
ＪＡＭ（Ｊａｖａ　Ａｐｐｌｉｃａｔｉｏｎ　Ｍａｎａｇｅｒ）は、Ｊａｖａ対応ＭＳ６００にインストールされたＪａｖａアプリケーションを管理する機能を提供するソフトウェアである。詳述すると、ＪＡＭは、Ｊａｖａ対応ＭＳ６００にダウンロードされたＡＤＦの記述内容をチェックしてＪａｖａアプリケーションの利用が可能かどうかを判定する機能や、該Ｊａｖａ対応ＭＳ６００に格納されているＪａｖａアプリケーションをリスト表示する機能、Ｊａｖａアプリケーションの起動や強制終了等を行う機能、Ｊａｖａアプリケーションをインストールまたは更新する機能、及び該Ｊａｖａ対応ＭＳ６００に格納されている既存のＪａｖａアプリケーションを削除する機能等を提供する。
【００４１】
第１ストレージは、Ｊａｖａ対応ＣＳ２００からダウンロードしたＡＤＦ、ＪＡＲファイル及びユーザ等によって設定された通信規制情報等を格納するための記憶機構である。
第２ストレージは、上述した永続データを格納するための記憶機構であり、Ｊａｖａ対応ＭＳ６００に組み込まれた各Ｊａｖａアプリケーション毎に異なる記憶領域が割り当てられている。この第２ストレージに格納されている永続データは、該永続データに対応するＪａｖａアプリケーションが実行された場合にのみ使用可能となっている。これにより、あるＪａｖａアプリケーションに対応する永続データが、その他のＪａｖａアプリケーションを実行することにより書き換えられてしまうといった問題を未然に防止することができる。
【００４２】
以上、Ｊａｖａ対応ＭＳ６００に実装されているＪａｖａ実行環境のアーキテクチャについて説明を行った。ここで、Ｊａｖａ対応ＭＳ６００に組み込まれたＪａｖａアプリケーション及び実装されている種々のソフトウェア等は、Ｊａｖａ対応ＭＳ６００に搭載されているＣＰＵ等のハードウェア資源によって実行されるため、本来、処理や動作の主体とはなり得ない。しかしながら、該ハードウェア資源を主体として記載すると、表現が複雑になり、本発明の理解の妨げになるおそれがあるため、以下では、適宜、該ソフトウェア等を処理や動作の主体として説明を行う。
【００４３】
（２）実施形態の動作
ａ．　第１の動作例
以下に示す第１の動作例では、自動起動されるＪａｖａアプリケーションであって、起動毎にダウンロード元のＪａｖａ対応ＣＳ２００と通信を行う通信Ｊａｖａアプリケーション（例えば、株価情報を更新するＪａｖａアプリケーション等）が、Ｊａｖａ対応ＭＳ６００にインストールされている場合を例に説明を行う。ここで、「自動起動」とは、ユーザの意向を確認することなく、所定時間毎（例えば６時間毎）等に自動で起動されることをいう。このように、通信Ｊａｖａアプリケーションは、起動に関してはユーザの意向を確認しない態様で行われるが、通信に関しては「起動毎にユーザの意向を確認する態様」「通信を行う際、常にユーザの意向を確認する態様」、「ユーザの意向を一切確認しない態様」のいずれかにより行われる。いずれの態様によって通信が行われるかは、Ｊａｖａ対応ＭＳ６００の操作等によって設定・変更可能であるが、以下では、「起動毎にユーザの意向を一切確認しない態様」に設定されている場合を想定して説明を行う。
【００４４】
図７は、第１ストレージに格納されている通信Ｊａｖａアプリケーションに対応するＡＤＦを模式的に示した図である。
該ＡＤＦには、前掲図５に示すファイルサイズ情報（例えば、１０Ｋバイト）、ＵＲＬ情報（例えば、ｈｔｔｐ：／／ｗｗｗ．・・・・）、機種情報（例えば、ＤＣＭＨ５０５）等の必須項目のほか、自動起動タイミングを示すタイミング情報（例えば、４５分毎）等のオプション項目が記述されている。
【００４５】
通信Ｊａｖａアプリケーションの実行管理を行うＪＡＭは、かかるＡＤＦの記述内容から当該通信Ｊａｖａアプリケーションを４５分毎に起動すべき旨を把握する一方、第１ストレージに格納されている通信規制情報を参照し、ダウンロード元のＪａｖａ対応ＣＳ２００との間で行われる通信を規制する。なお、本実施形態では、「起動毎にユーザの意向を一切確認しない態様」に設定されているため、通信Ｊａｖａアプリケーションが起動される毎に、ダウンロード元のＪａｖａ対応ＣＳ２００との間で自動通信が行われることになる。
説明に戻り、上記通信規制情報として１日当たりの総通信量をＬバイト（Ｌ値）以下に規制すべき通信量規制情報、１日当たりの総通信時間をＭ時間（Ｍ値）以下に規制すべき通信時間規制情報、１日当たりの送通信回数をＮ回（Ｎ値）以下に規制すべき通信回数規制情報等が記述されていた場合、ＪＡＭは、該通信規制情報を参照してＪａｖａアプリケーションによる自動通信を許可するか否かを判断する。
【００４６】
さらに詳述すると、ＪＡＭは、ＡＤＦの記述内容及び図示せぬタイマ等を参照し、Ｊａｖａアプリケーションを起動すべきタイミング（例えば、前回Ｊａｖａアプリケーションを起動してから４５分経過した時等）が到来したと判断すると、第１ストレージに格納されている通信規制情報と、図示せぬ記憶機構等に格納されている通信履歴情報（本日これまでに実行された自動通信の通信量、回数、時間等）とを比較する。なお、通信履歴情報は、ＪＡＭによって更新、管理され、予め設定されている期限が到来すると（例えば１日経過した後等）、ＪＡＭは通信該通信履歴情報に書き込まれたデータを全て消去する（例えば、通信回数のカウント値を「０」に戻す等）。
【００４７】
比較の結果、通信Ｊａｖａアプリケーションによる通信を許可すべきであると判断すると、ＪＡＭは、通信Ｊａｖａアプリケーションを起動する。ＪＡＭによって起動された通信Ｊａｖａアプリケーションは、ダウンロード元たるＪａｖａ対応ＣＳ２００との間でＨＴＴＰ若しくはＨＴＴＰＳによる通信を行い、Ｊａｖａ対応ＣＳ２００から取得した最新の情報（例えば、株価情報等）を不揮発性メモリ６５３に格納する。かかる一連の処理が行われると、ＪＡＭは通信Ｊａｖａアプリケーションを終了させる。
【００４８】
一方、ＪＡＭは、通信Ｊａｖａアプリケーションによる通信を拒絶すべきであると判断すると、通信Ｊａｖａアプリケーションの起動を断念する。この場合、ＪＡＭは、通信Ｊａｖａアプリケーションの起動（すなわち、通信）を断念した旨をユーザに通知するためのダイアログを立ち上げ、表示部６４５に表示する。
【００４９】
ユーザは、表示部６４５に表示されたダイアログを確認し、通信規制情報の設定を変更すべきか否かを判断する。通信Ｊａｖａアプリケーションによる通信を継続して実行させたい場合には、ユーザは操作キーを操作して通信規制情報のＬ値、Ｍ値、Ｎ値等を大きな値（例えば、Ｎ→Ｎ＋５等）に変更する一方、該通信Ｊａｖａアプリケーションによる通信を実行させたくない場合には、ユーザは通信規制情報のＬ値、Ｍ値、Ｎ値を変更するための操作を行わない。この結果、ユーザによって通信規制情報のＬ値、Ｍ値、Ｎ値等が大きな値に変更された場合には、通信Ｊａｖａアプリケーションによる通信が開始される一方、ユーザによって通信規制情報のＬ値、Ｍ値、Ｎ値が変更されなかった場合には、通信Ｊａｖａアプリケーションによる通信が開始されることはない。
【００５０】
このように、第１の動作例によれば、ユーザによって設定された通信規制情報を利用することにより、起動タイミングがＡＤＦに記述された通信Ｊａｖａアプリケーションによる通信を規制することができる。
これにより、ユーザの知らぬ間にＪａｖａ対応ＭＳ６００にインストールされた通信Ｊａｖａアプリケーションと、該Ｊａｖａアプリケーションのダウンロード元のＪａｖａ対応ＣＳ２００との間で大量の通信が行われ、思いもよらぬ高い通信料がユーザに請求されるといった問題を未然に抑制することができる。
【００５１】
また、ＡＤＦに記述されたタイミング情報に従って該通信が正常に行われる場合のみならず、通信Ｊａｖａアプリケーションに発生したバグ等により半永続的に該通信が行われる等の通信異常が発生した場合であっても、該通信はＪａｖａ対応ＭＳ６００に格納されている通信規制情報に基づき強制的に切断される。これにより、上記と同様、思いもよらぬ高い通信料がユーザに請求されるといった問題を未然に抑制することができる。
【００５２】
また、通信ＪａｖａアプリケーションとＪａｖａ対応ＣＳ２００との間の通信を中継するゲートウェイサーバ４００においては、上記通信異常が発生した場合であっても、該通信はＪａｖａ対応ＭＳ６００に格納されている通信規制情報に基づき強制的に切断されるため、ゲートウェイサーバ４００が該通信異常によりダウン（すなわち、ゲートウェイサーバ４００の通信中継機能が停止してしまう）といった問題を未然に抑制することができる。
【００５３】
なお、上記では、ＪＡＭが通信Ｊａｖａアプリケーションを起動する際に、該通信Ｊａｖａアプリケーションによる通信を許可すべきか否かを判断する場合について説明を行ったが、ＪＡＭが通信Ｊａｖａアプリケーションによる通信を監視する場合も同様に説明することができる。詳述すると、通信Ｊａｖａアプリケーションによる通信が開始されると、ＪＡＭは、第１ストレージに格納されている通信規制情報と、図示せぬ記憶機構等に格納されている通信履歴情報とを比較し、該通信の監視を行う。ＪＡＭは、通信を切断する必要がないと判断した場合、引き続き通信の監視を行う一方、通信を切断すべきであると判断した場合には、通信Ｊａｖａアプリケーションを強制終了する。なお、強制終了した後の動作については、上記とほぼ同様に説明することができるため割愛する。
【００５４】
ｂ．　第２の動作例
上述した第１の動作例では、ＡＤＦにタイミング情報が記述されている場合について説明を行った。これに対し、以下に示す第２の動作例では、ユーザが通信Ｊａｖａアプリケーションの起動タイミングを種々設定する場合について説明を行う。
ユーザは、操作キーを操作して通信Ｊａｖａアプリケーションの選択を行うと共に、選択した通信Ｊａｖａアプリケーションの起動タイミング（例えば、３０分毎）を設定する。なお、この通信Ｊａｖａアプリケーションは、第１の動作例に係る通信Ｊａｖａアプリケーションと同様、起動毎にユーザの意向を確認することなく、ダウンロード元のＪａｖａ対応ＣＳ２００と通信を行う態様に設定されている。
【００５５】
ユーザによって選択された起動すべき通信Ｊａｖａアプリケーション及び該ユーザによって設定された起動タイミングに関する情報は、ＯＳ経由でＪＡＭに渡される。ＪＡＭは、上述した場合と同様、図示せぬタイマを参照して通信Ｊａｖａアプリケーションを起動すべきタイミングが到来したか否かを判断する。ＪＡＭは、起動すべきタイミングが到来したと判断すると、第１ストレージに格納されている通信規制情報と、図示せぬ記憶機構等に格納されている通信履歴情報（本日これまでに実行された自動通信の通信量、回数、時間等）とを比較する。比較の結果、通信Ｊａｖａアプリケーションによる通信を許可すべきであると判断すると、ＪＡＭは、該通信Ｊａｖａアプリケーションを起動する一方、通信Ｊａｖａアプリケーションによる通信を拒絶すべきであると判断した場合には、通信Ｊａｖａアプリケーションの起動を断念する。なお、この後の動作については、上述した第１の動作例と同様に説明することができるため、説明を割愛する。
【００５６】
このように、第２の動作例によれば、ユーザによって設定される通信規制情報を利用することにより、該ユーザによって起動タイミングが設定されたＪａｖａアプリケーションの通信を規制することができる。
すなわち、タイミング情報が予めＡＤＦに記述されている通信Ｊａｖａアプリケーションのみならず、ユーザ等によって起動タイミングが設定された通信Ｊａｖａアプリケーション（例えば、毎朝４時に起動し、ダウンロード元のＪａｖａ対応ＣＳ２００から本日のお天気情報を取得する通信Ｊａｖａアプリケーション等）についても、通信を規制することができる。
【００５７】
なお、ユーザによって設定された起動タイミングを１回のみ有効と判断するか、あるいは該起動タイミングが変更されるまで繰り返し有効と判断するかは、Ｊａｖａ対応ＭＳ６００の設計等に応じて適宜変更可能である。また、ＪＡＭが通信Ｊａｖａアプリケーションによる通信を監視する場合については、上述した第１の動作例とほぼ同様に説明することができるため、説明を割愛する。
【００５８】
（３）変形例
以上この発明の一実施形態について説明したが、上記実施形態はあくまでも例示であり、上記実施形態に対しては、本発明の趣旨から逸脱しない範囲で種々の応用が可能である。
【００５９】
＜変形例１＞
上述した本実施形態では、Ｊａｖａ対応ＭＳ６００にインストールされたＪａｖａアプリケーションの起動形態として、ＡＤＦに記述されたタイミング情報に従い通信Ｊａｖａアプリケーションを起動させる形態（第１の動作例参照）、ユーザによって設定された起動タイミングに従い通信Ｊａｖａアプリケーションを起動させる形態（第２の動作例）を例示したが、例えば下記（ａ）〜（ｄ）に示す起動形態を採用することも可能である。
【００６０】
（ａ）ダウンロードされた直後のＪａｖａアプリケーションを起動させる形態
（ｂ）Ｊａｖａ対応ＭＳ６００宛てに配信されたメールをトリガとして通信Ｊａｖａアプリケーションを起動させる形態
（ｃ）Ｊａｖａ対応ＭＳ６００に搭載されている外部機器インタフェース（ＩｒＤＡ、Ｂｌｕｅｔｏｏｔｈ　等）が受信した外部機器からのコマンド等をトリガとして通信Ｊａｖａアプリケーションを起動させる形態
（ｄ）Ｊａｖａ対応ＣＳ２００が指示した間隔に基づいて通信Ｊａｖａアプリケーションを起動（すなわち、Ｊａｖａ対応ＣＳ２００からＰＵＳＨ起動）させる形態
【００６１】
上記（ａ）〜（ｄ）に例示した起動形態のほかにも、例えば待ち受け画面用に設定されたＪａｖａアプリケーションを所定時間だけ起動する形態（例えば、１日のうち、所定時刻から５０秒だけ起動する等）等があるが、どのような起動形態を採用するかはＪａｖａ対応ＭＳ６００の設計等に応じて種々変更可能である。
【００６２】
＜変形例２＞
また、上述した本実施形態では、通信Ｊａｖａアプリケーションをダウンロード等した日時を基準とし、起動すべき時間間隔（例えば、３時間毎等）を指定する形態を例示したが、例えば下記に示す起動形態を採用することも可能である。
（ａ）起動すべき日付（例えば、２００２年５月１７日等）を指定する形態
（ｂ）起動すべき曜日（例えば、毎週水曜日等）を指定する形態
（ｃ）起動すべき時刻（例えば、毎日１７：００等）を指定する形態
（ｄ）Ｊａｖａ対応ＭＳ６００の充電開始／終了時に起動する形態
（ｅ）在圏エリアを跨いだとき（例えば、東京エリアから千葉エリアに移ったとき等）に起動する形態
（ｆ）電波圏外から圏内に遷移したときに起動する形態
【００６３】
上記（ａ）〜（ｆ）に例示した形態のほか、例えば第３世代携帯電話機等に利用されるＵＩＭ（Ｕｓｅｒ　Ｉｄｅｎｔｉｔｙ　Ｍｏｄｕｌｅ）がＪａｖａ対応ＭＳ６００に装着されたときに起動する形態等にも適用可能である。また、上述した本実施形態では、通信Ｊａｖａアプリケーションが起動毎にＪａｖａ対応ＣＳ２００と通信する場合を例に説明したが、例えば１０回起動毎にＪａｖａ対応ＣＳ２００と通信する形態、１日１回だけＪａｖａ対応ＣＳ２００と通信する形態など、あらゆる形態に適用可能である。
【００６４】
＜変形例３＞
また、上述した本実施形態では、通信Ｊａｖａアプリケーションによる通信に関し「ユーザの意向を一切確認しない態様」を例に説明したが、「起動毎にユーザの意向を確認する態様」「通信を行う際、常にユーザの意向を確認する態様」にも適用可能である。かりに「起動毎にユーザの意向を確認する態様」に設定したとしても、通信Ｊａｖａアプリケーションにバグ等が発生した場合には、半永続的に該通信が行われる等の問題が発生する。かかる問題を鑑みれば、通信を開始する前にユーザの意向を確認するか否か等を問わず、Ｊａｖａ対応ＣＳ２００との間で通信を行う全ての通信Ｊａｖａアプリケーションに本発明を適用するのが望ましい。
【００６５】
＜変形例４＞
また、上述した本実施形態では、１日当たりの総通信量をＬバイト（Ｌ値）以下に規制すべき通信量規制情報、１日当たりの総通信時間をＭ時間（Ｍ値）以下に規制すべき通信時間規制情報、１日当たりの送通信回数をＮ回（Ｎ値）以下に規制すべき通信回数規制情報等が記述された通信規制情報を例に説明したが、例えば１セッション当たりの通信量をＬ１バイト以下に規制すべき通信量規制情報、１セッション当たりの通信時間をＭ１時間（分、秒単位の設定も可）以下に規制すべき通信時間規制情報、１セッション当たりの送通信回数をＮ１回以下に規制すべき通信回数規制情報等が記述された通信規制情報にも適用可能である。すなわち、通信規制情報に記述される各情報をどのように定義するかはＪａｖａ対応ＭＳ６００の設計等に応じて種々変更可能である。
【００６６】
また、通信規制情報に記述する情報は、上述した通信量規制情報、通信時間規制情報、通信回数規制情報に限らず、Ｊａｖａ対応ＭＳ２００にダウンロードされた通信Ｊａｖａアプリケーションとダウンロード元のＪａｖａ対応ＣＳ２００との間で行われる通信を規制すべき情報であれば、どのような情報であっても良い。
また、上述した本実施形態では、通信規制情報等の格納先として第１ストレージを例示したが、該格納先をどこに設定するかはＪａｖａ対応ＭＳ６００の設計等に応じて種々変更可能である。また、上述した本実施形態では、第２ストレージに格納される永続データの不正使用を防止するため、該永続データに対応する通信Ｊａｖａアプリケーションが実行された場合にのみ使用可能であったが、永続データに対応する通信Ｊａｖａアプリケーションのみが当該永続データを使用できるといった制限を設けるかどうかは、Ｊａｖａ対応ＭＳ６００の設計等に応じて種々変更可能である。
【００６７】
＜変形例５＞
また、上述した本実施形態及び各変形例では、知らないうちに別のサーバに情報が流出しまうといった問題を未然に防止するため、通信Ｊａｖａアプリケーションの通信先をダウンロード元のＪａｖａ対応ＣＳ２００に限定した場合について説明を行ったが、通信Ｊａｖａアプリケーションの通信先としてダウンロード元のＪａｖａ対応ＣＳ２００以外のサーバを設定することも可能である。また、上述した本実施形態及び各変形例では、ＨＴＴＰ及びＨＴＴＰＳを利用して通信を行う場合について説明したが、いずれの通信プロトコルを利用して通信を行うかは、Ｊａｖａ対応ＭＳ６００等の設計等に応じて種々変更可能である。
【００６８】
＜変形例６＞
また、上述した本実施形態及び各変形例では、Ｊａｖａ対応ＣＳ２００からダウンロードした通信Ｊａｖａアプリケーションを例に説明したが、予めＪａｖａ対応ＭＳ６００に組み込まれている通信Ｊａｖａアプリケーション（例えば、Ｊａｖａ対応ＭＳ６００を提供する事業者等が作成したオリジナル通信Ｊａｖａアプリケーション等）にも適用可能である。
【００６９】
＜変形例７＞
また、上述した各実施形態及び各変形例において説明したＪａｖａ対応ＭＳ６００に係る諸機能をソフトウェアによって実現することも可能である。具体的には該ソフトウェアを記録した記録媒体（メモリーカード等）、あるいは該ソフトウェアを備えたサーバ等から伝送媒体（移動パケット通信網等）等を介してＪａｖａ対応ＭＳ６００の記憶部６５０等にインストールする。このように、上述した諸機能をソフトウェアによって実現することも可能である。
【００７０】
＜変形例８＞
図８は、Ｊａｖａ実行環境におけるプロファイルの位置づけを種々例示した図である。
上述した本実施形態及び各変形例では、コンフィギレーションとしてＣＬＤＣを実装し、プロファイルとしてオリジナルＪａｖａ拡張プロファイルを実装した移動機（図８に示す、Ａ参照）について説明を行ったが、例えばオリジナルＪａｖａ拡張プロファイルの代わりにＭＩＤＰを実装した移動機（図８に示す、Ｂ参照）、あるいはオリジナル拡張プロファイル及びＭＩＤＰを実装した移動機（図８に示す、Ｃ参照）にも適用可能である。
【００７１】
また、上述した本実施形態では、ＣＬＤＣを実装した小型端末の一例として携帯電話等の移動機を例示したが、例えばＰＤＡやＰＨＳ（Ｐｅｒｓｏｎａｌ　Ｈａｎｄｙｐｈｏｎｅ　Ｓｙｓｔｅｍ）等、ＣＬＤＣを実装したあらゆる小型端末に適用可能である。また、本発明はＣＬＤＣを実装した小型端末に限定する趣旨ではなく、ＣＤＣを実装したカーナビやセットトップボックスなどの中・大型端末にも適用可能である。なお、ＣＤＣを実装した中・大型端末においては、例えば「Ｊ２ＭＥ　Ｆｏｕｎｄａｔｉｏｎ　Ｐｒｏｆｉｌｅ」等のプロファイルが実装され、ＶＭとしてＪＶＭが実装される。
【００７２】
＜変形例９＞
また、上述した本実施形態及び各変形例では、Ｊａｖａ言語によって記述された通信Ｊａｖａアプリケーションを例示したが、該Ｊａｖａ言語以外のプログラミング言語によって記述された通信アプリケーションにも適用可能である。
以上の説明から明らかなように、本発明は、どのようなプログラミング言語によって記述されたアプリケーションであっても、当該アプリケーションの実行可能な環境と、外部機器との間で通信を行うための通信機能を備えたあらゆる機器に適用可能である。
【００７３】
＜変形例１０＞
また、上述した本実施形態では、Ｊａｖａ対応ＭＳ６００のアプリケーション記憶メモリ６５５にＪａｖａアプリケーション等が格納されている場合について説明したが、第３世代携帯電話機等に利用されるＵＩＭ（Ｕｓｅｒ　Ｉｄｅｎｔｉｔｙ　Ｍｏｄｕｌｅ）にＪａｖａアプリケーション等を格納するようにしても良い。
ここで、図９及び図１０は、ＵＩＭ７００を説明するための図である。
ＵＩＭ７００は、Ｊａｖａ対応ＭＳ６００等に着脱自在なＩＣカードであり、ＲＯＭ７２０に格納されている制御プログラムに基づきＵＩＭ２００の各部を制御するＣＰＵ７１０、Ｊａｖａ対応ＭＳ６００等と接続するためのＵＩＭインタフェース７１５、Ｊａｖａ対応ＭＳ６００等から供給されるデータを一時的に格納するためのＲＡＭ７２５、Ｊａｖａアプリケーション等が格納されるＥＥＰＲＯＭ７３０等を備えている。
【００７４】
図１１は、ＥＥＰＲＯＭ７３０の記憶領域を説明するための図である。
ＥＥＰＲＯＭ７３０は、ユーザ情報記憶領域７３１や、アプリケーション記憶領域７３２等を有している。
ユーザ情報記憶領域７３１には、加入者番号、発信履歴情報、着信履歴情報、通話時間情報等、ＵＩＭ７００を所有するユーザに固有の情報が格納されている。
アプリケーション記憶領域７３２には、上述したアプリケーション記憶メモリ６５５に格納されている様々な情報、すなわちＪａｖａ対応ＣＳ２００からダウンロードした通信Ｊａｖａアプリケーションや対応する通信制御情報、永続データ等が格納されている。なお、このアプリケーション記憶領域７３２に格納されるＪａｖａアプリケーション等は、Ｊａｖａ対応ＣＳ２００からＪａｖａ対応ＭＳ６００経由でＵＩＭ７００にダウンロードされたもののほか、予めＵＩＭ７００に格納されているものでも良い。
【００７５】
さて、このようにユーザ固有の情報やＪａｖａアプリケーション等がＵＩＭ７００に格納された状態において、通信Ｊａｖａアプリケーションが起動され、かつ、通信開始タイミングが到来したことを検知すると、ＵＩＭ７００のＣＰＵ７１０（或いはＪａｖａ対応ＭＳ６００のＣＰＵ６１０）は、アプリケーション記憶領域７３２に格納されている通信規制情報と、図示せぬ格納領域に格納されている通信Ｊａｖａアプリケーション毎の通信履歴情報とを比較する。比較の結果、通信Ｊａｖａアプリケーションによる通信を許可すべきであると判断すると、ＣＰＵ７１０は該通信Ｊａｖａアプリケーションを起動する一方、通信を拒絶すべきであると判断すると、通信Ｊａｖａアプリケーションの起動を断念する。なお、この後の動作については、上述した本実施形態と同様に説明することができるため、説明を割愛する。
【００７６】
以上説明したように、通信Ｊａｖａアプリケーションが格納されているＵＩＭ７００自身が、当該通信Ｊａｖａアプリケーションによる通信を規制することにより、移動機毎の通信規制ではなく、ユーザ毎の通信規制が可能となる。
なお、本変形例では、各通信Ｊａｖａアプリケーションによる通信を規制する場合について説明したが、例えば複数の通信Ｊａｖａアプリケーションによる通信を統括規制するようにしても良い。
ここで、図１２は、ＥＥＰＲＯＭ７３０’の記憶領域を説明するための図である。このＥＥＰＲＯＭ７３０’は、前述したユーザ情報記憶領域７３１、アプリケーション記憶領域７３２のほか、統括通信規制情報記憶領域７３３を備えている。
【００７７】
統括通信規制情報記憶領域７３３には、複数の通信Ｊａｖａアプリケーションによる通信を統括規制するための情報（例えば１日の送通信量がＭバイトを越えたら、全ての通信Ｊａｖａアプリケーションによる通信を拒絶する等；以下、統括通信規制情報という）が格納されている。なお、かかる統括通信規制情報は、ユーザによるボタン操作等によって設定される。
このように、統括通信規制情報をＵＩＭ７００に格納することで、種々のＪａｖａ対応ＣＳ２００との間で大量の通信が行われ、思いもよらぬ高い通信料がユーザに請求されるといった問題を未然に抑制することが可能となる。
【００７８】
なお、本変形例では、Ｊａｖａアプリケーションが格納される通信端末としてＵＩＭ７００を例に説明したが、本発明はこれに限定する趣旨ではなく、Ｊ２ＭＥ（Ｊａｖａ　２　Ｍｉｃｒｏ　Ｅｄｉｔｉｏｎ）、Ｊ２ＳＥ（Ｊａｖａ　２　Ｓｔａｎｄａｒｄ　Ｅｄｉｔｉｏｎ）、Ｊ２ＥＥ（Ｊａｖａ　２　Ｅｎｔｅｒｐｒｉｓｅ　Ｅｄｉｔｉｏｎ）等のＪａｖａ実行環境と、外部機器との間で通信を行うための通信機能を備えたあらゆる通信端末に適用可能である。また、上述した本実施形態では、Ｊａｖａ言語によって記述されたＪａｖａアプリケーションを例に説明を行ったが、ゲートウェイサーバ４００を介して通信を行うアプリケーションであれば、どのようなプログラミング言語で記述されたアプリケーションにも本発明を適用することができる。
【００７９】
＜変形例１１＞
また、上記通信規制情報には、通信料金が所定金額（以下、通信規制料金という）に到達したときに通信Ｊａｖａアプリケーションによる通信を規制する通信料金規制情報を記述するようにしても良い。例えば（１）通信Ｊａｖａアプリケーションによって発生する通信料金、（２）通信Ｊａｖａアプリケーション以外の通信（メールやＷＥＢブラウジング等）によって発生する通信料金、（３）音声通話によって発生する通信料金など、様々な通信料金の合計を求め、求めた通信料金の合計が上記通信規制料金に到達したときに、Ｊａｖａ対応ＭＳ６００によるあらゆる通信を規制（強制終了等）する。もちろん、これに限らず、上記（１）〜（３）の各々に対応する通信料金規制情報（例えば、第１〜第３通信料金規制情報等）を通信規制情報に記述し、（１）〜（３）のいずれか１つの通信料金が上記通信規制料金に到達したときに、Ｊａｖａ対応ＭＳによる通信を強制終了等するようにしても良い。なお、上記（１）、（２）に示す通信料金については、それぞれ料金プラン等に応じて通信料（パケット代）が異なる。よって、これら料金を求めるために必要な情報については、Ｊａｖａ対応ＭＳ６００の所定の記憶エリアに格納できるようにしておけば良い。
また、以上の説明では、Ｊａｖａ実行環境を備えている通信端末を例に説明をしたが、本発明はこれに限定する趣旨ではなく、通信Ｊａｖａアプリケーションを備えていない通信端末にも適用可能である。例えば、Ｊａｖａ実行環境を備えることなく、Ｅ−メールなどのパケット通信機能のみを備える通信端末に本発明を適用した場合には、通信料金の合計が上述した通信規制料金に到達したときに、外部機器との通信を強制的に終了する。このように、本発明は、通信Ｊａｖａアプリケーションによる通信に限定する趣旨ではなく、あらゆる通信に対して適用可能である。
【００８０】
【発明の効果】
以上説明したように、本発明に係る通信端末によれば、外部機器との間で行われる通信をユーザを煩わせることなく規制することが可能となる。
【図面の簡単な説明】
【図１】Ｊａｖａ実行環境のアーキテクチャの概要を示す図である。
【図２】本実施形態における通信システムのアーキテクチャを示す図である。
【図３】本実施形態に係るＪａｖａ対応ＭＳのハードウェア構成を示す図である。
【図４】本実施形態に係る不揮発性メモリの記憶状態を例示した図である。
【図５】本実施形態に係るＡＤＦの記述項目を例示した図である。
【図６】本実施形態に係るＪａｖａ対応ＭＳに実装されているＪａｖａ実行環境のアーキテクチャを説明するための図である。
【図７】本実施形態に係るＡＤＦを模式的に示す図である。
【図８】変形例６に係るＪａｖａ実行環境におけるプロファイルの位置づけを例示した図である。
【図９】変形例１０に係るＵＩＭを説明するための図である。
【図１０】変形例１０に係るＵＩＭを説明するための図である。
【図１１】変形例１０に係るＥＥＰＲＯＭの記憶領域を説明するための図である。
【図１２】変形例１０に係るＥＥＰＲＯＭの記憶領域を説明するための図である。
【符号の説明】
１００・・・通信システム、２００・・・Ｊａｖａ対応ＣＳ、３００・・・インターネット、４００・・・ゲートウェイサーバ、５００・・・移動パケット通信網、６００・・・Ｊａｖａ対応ＭＳ、６１０、７１０・・・ＣＰＵ、６２０・・・無線通信部、６３０・・・操作入力部、６５０・・・記憶部、６５１、７２０・・・ＲＯＭ、６５２、７２５・・・ＲＡＭ、６５３・・・不揮発性メモリ、６５５・・・アプリケーション記憶メモリ、６５６・・・アプリケーション格納領域、６５７・・・通信制御情報格納領域、６５８・・・アプリケーションデータ格納領域、７００・・・ＵＩＭ、７１５・・・ＵＩＭインタフェース、７３０・・・ＥＥＰＲＯＭ、７３１・・・ユーザ情報記憶領域、７３２・・・アプリケーション記憶領域、７３３・・・統括通信規制情報記憶領域。
【図１】
2004126736.tif 000003
【図２】
2004126736.tif 000004
【図３】
2004126736.tif 000005
【図４】
2004126736.tif 000006
【図５】
2004126736.tif 000007
【図６】
2004126736.tif 000008
【図７】
2004126736.tif 000009
【図８】
2004126736.tif 000010
【図９】
2004126736.tif 000011
【図１０】
2004126736.tif 000012
【図１１】
2004126736.tif 000013
【図１２】
2004126736.tif 000014