(57)【特許請求の範囲】
【請求項１】
通信端末と、前記通信端末とサーバとの間のデータ通信を中継する中継装置とを備えた通信システムにおいて、
前記通信端末は、
通信手段と、
ネットワークを介してサーバと通信を行うアプリケーションを記憶する記憶手段と、
前記アプリケーションを実行する制御手段と
を具備し、
前記制御手段は、前記アプリケーションに従って前記通信手段を介して前記サーバと通信を行い、前記通信に先立ち、当該アプリケーションの配信元のサーバを識別するサーバ識別情報をアプリケーション関連情報として含む通信要求を作成して前記サーバ宛てに送信し、
前記中継装置は、
前記サーバ識別情報と、通信の規制内容を示す規制情報とを対応させて記憶した規制情報記憶手段と、
前記通信端末から通信要求を受信する受信手段と、
前記受信手段が受信した通信要求に含まれるサーバ識別情報に対応する規制情報が前記規制情報記憶手段に記憶されている場合、前記規制情報記憶手段に記憶されている規制情報に従って、前記通信要求により要求される通信を規制する規制手段と
を具備することを特徴とする通信システム。
【請求項２】
前記制御手段が、前記通信が特定種類のアプリケーションによるものであることを示す通信識別子を前記アプリケーション関連情報としてさらに含む通信要求を作成し、
前記規制情報記憶手段が、前記通信識別子と前記規制情報とを対応させてさらに記憶しており、
前記規制手段は、前記受信手段が受信した通信要求に含まれる通信識別子に対応する規制情報が前記規制情報記憶手段に記憶されている場合、前記通信識別子以外のアプリケーション関連情報および前記規制情報記憶手段に記憶されている規制情報に従って、前記通信を規制する
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記制御手段が、前記アプリケーションの起動形態を示す起動形態情報を前記アプリケーション関連情報としてさらに含む通信要求を作成し、
前記規制情報記憶手段が、前記起動形態情報と前記規制情報とを対応させてさらに記憶しており、
前記規制手段は、前記受信手段が受信した通信要求に含まれる起動形態情報に対応する規制情報が前記規制情報記憶手段に記憶されている場合、前記起動形態情報以外のアプリケーション関連情報および前記規制情報記憶手段に記憶されている規制情報に従って、前記通信を規制する
ことを特徴とする請求項１に記載の通信システム。
【請求項４】
前記規制情報は、通信時間を規制すべき条件、通信量を規制すべき条件、通信回数を規制すべき条件の少なくともいずれか１つの条件を含むことを特徴とする請求項１〜３のいずれか１の請求項に記載の通信システム。
【請求項５】
前記規制情報は、前記通信を拒絶すべき条件、若しくは前記通信を許可すべき条件の少なくともいずれか１つの条件を含むことを特徴とする請求項１〜３のいずれか１の請求項に記載の通信システム。
【請求項６】
前記アプリケーションは、Java（登録商標）プログラミング言語によって記述されたアプリケーションであることを特徴とする請求項１〜５のいずれか１の請求項に記載の通信システム。
【請求項７】
通信端末とサーバとの間のデータ通信を中継する中継装置において、
特定のサーバを識別するためのサーバ識別情報を記憶するサーバ識別情報記憶手段と、
ネットワークを介してサーバと通信を行うアプリケーションを実行する通信端末から、前記アプリケーションの配信元のサーバを識別するサーバ識別情報をアプリケーション関連情報として含む通信要求を、前記通信に先立ち受信する受信手段と、
前記サーバ識別情報と、通信の規制内容を示す規制情報とを対応させて記憶した規制情報記憶手段と、
前記受信手段が受信した通信要求に含まれるサーバ識別情報に対応する規制情報が前記規制情報記憶手段に記憶されている場合、前記規制情報記憶手段に記憶されている規制情報に従って、前記通信要求により要求される通信を規制する規制手段と
を具備することを特徴とする中継装置。
【請求項８】
前記通信要求が、前記通信が特定種類のアプリケーションによるものであることを示す通信識別子を前記アプリケーション関連情報としてさらに含み、
前記規制情報記憶手段が、前記通信識別子と前記規制情報とを対応させてさらに記憶しており、
前記規制手段は、前記受信手段が受信した通信要求に含まれる通信識別子に対応する規制情報が前記規制情報記憶手段に記憶されている場合、前記通信識別子以外のアプリケーション関連情報および前記規制情報記憶手段に記憶されている規制情報に従って、前記通信を規制する
ことを特徴とする請求項７に記載の中継装置。
【請求項９】
前記通信要求が、前記アプリケーションの起動形態を示す起動形態情報を前記アプリケーション関連情報としてさらに含み、
前記規制情報記憶手段が、前記起動形態情報と前記規制情報とを対応させてさらに記憶しており、
前記規制手段は、前記受信手段が受信した通信要求に含まれる起動形態情報に対応する規制情報が前記規制情報記憶手段に記憶されている場合、前記起動形態情報以外のアプリケーション関連情報および前記規制情報記憶手段に記憶されている規制情報に従って、前記通信を規制する
ことを特徴とする請求項７に記載の中継装置。
【請求項１０】
前記規制情報は、通信時間を規制すべき条件、通信量を規制すべき条件、通信回数を規制すべき条件の少なくともいずれか１つの条件を含むことを特徴とする請求項７〜９のいずれか１の請求項に記載の中継装置。
【請求項１１】
前記規制情報は、前記通信を拒絶すべき条件、若しくは前記通信を許可すべき条件の少なくともいずれか１つの条件を含むことを特徴とする請求項７〜９のいずれか１の請求項に記載の中継装置。
【請求項１２】
前記アプリケーションは、Java（登録商標）プログラミング言語によって記述されたアプリケーションであることを特徴とする請求項７〜１１のいずれか１の請求項に記載の中継装置。
【請求項１３】
中継装置を介した通信端末とサーバとのデータ通信を制御する通信制御方法であって、
前記通信端末は、ネットワークを介してサーバと通信を行うアプリケーションを実行し、当該アプリケーションに従い前記サーバと通信を行う際、前記通信に先立ち、当該アプリケーションの配信元のサーバを識別するサーバ識別情報をアプリケーション関連情報として含む通信要求を作成して前記サーバ宛てに送信し、
前記中継装置は、前記サーバ識別情報と、通信の規制内容を示す規制情報とを対応させて記憶した規制情報記憶手段を有し、
前記中継装置は、前記通信端末から通信要求を受信し、前記通信要求に含まれるサーバ識別情報に対応する規制情報が前記規制情報記憶手段に記憶されている場合、前記規制情報記憶手段に記憶されている規制情報に従って、前記通信要求により要求される通信を規制する
ことを特徴とする通信制御方法。
【請求項１４】
前記通信要求が、前記通信が特定種類のアプリケーションによるものであることを示す通信識別子を前記アプリケーション関連情報としてさらに含み、
前記規制情報記憶手段が、前記通信識別子と前記規制情報とを対応させてさらに記憶しており、
前記中継装置は、前記受信手段が受信した通信要求に含まれる通信識別子に対応する規制情報が前記規制情報記憶手段に記憶されている場合、前記通信識別子以外のアプリケーション関連情報および前記規制情報記憶手段に記憶されている規制情報に従って、前記通信を規制する
ことを特徴とする請求項１３に記載の通信制御方法。
【請求項１５】
前記通信要求が、前記アプリケーションの起動形態を示す起動形態情報を前記アプリケーション関連情報としてさらに含み、
前記規制情報記憶手段が、前記起動形態情報と前記規制情報とを対応させてさらに記憶しており、
前記中継装置は、前記受信手段が受信した通信要求に含まれる起動形態情報に対応する規制情報が前記規制情報記憶手段に記憶されている場合、前記起動形態情報以外のアプリケーション関連情報および前記規制情報記憶手段に記憶されている規制情報に従って、前記通信を規制する
ことを特徴とする請求項１３に記載の通信制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信システム、中継装置及び通信制御方法に関する。
【０００２】
【従来の技術】
Ｗｅｂ（World Wide Web）技術の発展に伴い、利用する機種やオペレーティング・システムへの依存性が少ないプログラミング言語（例えば、Java言語（「Java」は、Sun Microsystems,Inc.の登録商標；以下同じ））によって記述されたアプリケーションを、Ｗｅｂサーバ端末からインターネット等の通信ネットワークを介してＷｅｂクライアント端末へダウンロードするサービスが広く普及している。
クライアント端末を所有するユーザは、該クライアント端末に搭載されているＷｅｂブラウザを利用してＷｅｂサーバ端末にアクセスし、当該Ｗｅｂサーバ端末に対してアプリケーションのダウンロード要求を行う。これにより、ユーザの所望するアプリケーションが該Ｗｅｂサーバ端末からＷｅｂクライアント端末へダウンロードされる（例えば、特許文献１参照）。
【０００３】
【特許文献１】
特開２００２−１８９６００号公報（第２頁、第４頁）
【０００４】
【発明が解決しようとする課題】
しかしながら、Ｗｅｂクライアント端末にダウンロードされたアプリケーションが、通信事故（例えば、ダウンロード元のＷｅｂサーバ端末と延々と通信し続ける等）を引き起こすようなアプリケーションである場合、該アプリケーションによる通信が開始された後においては、ユーザがクライアント端末を操作して通信を強制終了等しない限り、かかる通信処理が半永続的に継続されてしまう等の問題があった。
本発明は、以上説明した事情を鑑みてなされたものであり、ユーザを煩わせることなくアプリケーションによる通信を規制することが可能な通信システム、中継装置及び通信制御方法を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上述した問題を解決するため、本発明に記載の通信システムは、通信端末と、前記通信端末とサーバとの間のデータ通信を中継する中継装置とを備えた通信システムにおいて、前記通信端末は、ネットワークを介してサーバと通信を行う特定種類のアプリケーションを記憶する記憶手段と、前記特定種類のアプリケーションを実行し、当該アプリケーションに従い前記サーバと通信を行う手段であって、前記通信に先立ち、前記特定種類のアプリケーションによる通信であることを示す通信識別情報を通信要求に含めて前記サーバ宛てに送信する送信手段とを具備し、前記中継装置は、前記通信端末から通信要求を受信する受信手段と、前記通信要求に含まれる通信識別情報から前記特定種類のアプリケーションによる通信であるか否かを判断し、前記特定種類のアプリケーションによる通信である場合に、予め記憶されている前記特定種類のアプリケーションによる通信の規制内容を示す規制情報に従って当該通信を処理する中継処理手段とを具備することを特徴とする。
【０００６】
かかる構成によれば、中継装置は、通信端末から通信要求を受信した場合、該通信要求に特定の種類のアプリケーション（例えば、Javaアプリケーション等）による通信であることを示す通信識別情報が含まれているか否かを判断する。中継装置は、特定の種類のアプリケーションによる通信であると判断した場合、予め記憶されている前記特定種類のアプリケーションによる通信の規制内容を示す規制情報に従って当該通信の処理を行う。このように、中継装置側で通信端末に組み込まれた特定の種類のアプリケーションによる通信を規制することができるため、例えば通信ピーク時に中継装置にかかる負荷を抑制することが可能となる。
【０００７】
また、本発明に記載の通信システムは、通信端末と、前記通信端末とサーバとの間のデータ通信を中継する中継装置とを備えた通信システムにおいて、前記通信端末は、ネットワークを介してサーバと通信を行うアプリケーションを記憶する記憶手段と、前記アプリケーションを実行し、当該アプリケーションに従い前記サーバと通信を行う手段であって、前記通信に先立ち、当該アプリケーションの起動形態を示す起動形態情報を通信要求に含めて前記サーバ宛てに送信する送信手段とを具備し、前記中継装置は、特定の起動形態を示す起動形態情報を記憶する記憶手段と、前記通信端末から通信要求を受信する受信手段と、前記通信要求に含まれる起動形態情報と前記記憶手段に記憶されている特定の起動形態情報とが一致する場合に、予め記憶されている前記特定の起動形態によって起動されるアプリケーションによる通信の規制内容を示す規制情報に従って当該通信を処理する中継処理手段とを具備することを特徴とする。
【０００８】
かかる構成によれば、中継装置は、通信端末から通信要求を受信した場合、該通信要求に起動形態（例えば、ＰＵＳＨ起動等）を示す起動形態情報が含まれているか否かを判断する。中継装置は、特定の起動形態によって起動されるアプリケーションによる通信であると判断した場合、予め記憶されている前記特定の起動形態によって起動されるアプリケーションによる通信の規制内容を示す規制情報に従って当該通信の処理を行う。このように、中継装置側で通信端末に組み込まれた特定の起動形態によって起動されるアプリケーションによる通信を規制することができるため、例えば特定の起動形態によってのみ不具合（例えば、上述した通信事故等）の発生するアプリケーションによる通信を拒絶する等が可能となる。
【０００９】
また、本発明に記載の通信システムは、通信端末と、前記通信端末とサーバとの間のデータ通信を中継する中継装置とを備えた通信システムにおいて、前記通信端末は、ネットワークを介してサーバと通信を行うアプリケーションを記憶する記憶手段と、前記アプリケーションを実行し、当該アプリケーションに従い前記サーバと通信を行う手段であって、前記通信に先立ち、当該アプリケーションの配信元のサーバを識別するサーバ識別情報を通信要求に含めて前記サーバ宛てに送信する送信手段とを具備し、前記中継装置は、特定のサーバを識別するためのサーバ識別情報を記憶する記憶手段と、前記通信端末から通信要求を受信する受信手段と、前記通信要求に含まれるサーバ識別情報と前記記憶手段に記憶されているサーバ識別情報が一致する場合に、予め記憶されている前記特定のサーバによって配信されたアプリケーションによる通信の規制内容を示す規制情報に従って当該通信を処理する中継処理手段とを具備することを特徴とする。
【００１０】
かかる構成によれば、中継装置は、通信端末から通信要求を受信した場合、該通信要求に配信元のサーバを識別するためのサーバ識別情報が含まれているか否かを判断する。中継装置は、特定のサーバによって配信されたアプリケーションによる通信であると判断した場合、予め記憶されている前記特定のサーバによって配信されたアプリケーションによる通信の規制内容を示す規制情報に従って当該通信の処理を行う。このように、中継装置側で通信端末に組み込まれた特定のサーバによって配信されたアプリケーションによる通信を規制することができるため、例えば特定のサーバによって配信されたアプリケーションに不具合（例えば、上述した通信事故等）が発生した場合には、該サーバによって配信されたアプリケーションによる通信を拒絶することが可能となる。
【００１１】
また、本発明に記載の通信システムは、通信端末と、前記通信端末とサーバとの間のデータ通信を中継する中継装置とを備えた通信システムにおいて、前記通信端末は、ネットワークを介してサーバと通信を行うアプリケーションを記憶する記憶手段と、前記アプリケーションを実行し、当該アプリケーションに従い前記サーバと通信を行う手段であって、前記通信に先立ち、前記アプリケーションを識別するためのアプリケーション識別情報を通信要求に含めて前記サーバ宛てに送信する送信手段とを具備し、前記中継装置は、特定のアプリケーションを識別するためのアプリケーション識別情報を記憶する記憶手段と、前記通信端末から通信要求を受信する受信手段と、前記通信要求に含まれるアプリケーション識別情報と前記記憶手段に記憶されているアプリケーション識別情報が一致する場合に、予め記憶されている前記特定のアプリケーションによる通信の規制内容を示す規制情報に従って当該通信を処理する中継処理手段とを具備することを特徴とする。
【００１２】
かかる構成によれば、中継装置は、通信端末から通信要求を受信した場合、該通信要求にアプリケーションを識別するためのアプリケーション識別情報が含まれているか否かを判断する。中継装置は、特定のアプリケーションによる通信であると判断した場合、予め記憶されている前記特定のアプリケーションによる通信の規制内容を示す規制情報に従って当該通信の処理を行う。このように、中継装置側で通信端末に組み込まれた特定のアプリケーションによる通信を規制することができるため、例えば特定のアプリケーションに不具合（例えば、上述した通信事故等）が発生した場合には、該アプリケーションによる通信を拒絶することが可能となる。
【００１３】
【発明の実施の形態】
Ａ．本実施形態
（１）実施形態の構成
＜通信システム１００の構成＞
図１は、本実施形態に係る通信システム１００のアーキテクチャを示す図である。
通信システム１００は、Javaアプリケーションを提供するコンテンツ・サーバ（以下、Java対応ＣＳという）２００と、インターネット３００と移動パケット通信網５００とを相互接続する図示せぬ移動パケット関門中継交換局等に設けられたゲートウェイサーバ４００と、Java対応ＣＳ２００から供給されるJavaアプリケーションをインターネット３００、ゲートウェイサーバ４００、移動パケット通信網５００を介してダウンロードし、ダウンロードしたJavaアプリケーションの実行が可能な移動機（以下、Java対応ＭＳという）６００とを備えている。なお、通信システム１００は、この他にも種々の移動機（Java対応ＭＳ６００を含む）に対して一般的な通話サービスを提供する図示せぬ移動電話網等を備えている。また、該通信システム１００は、本来複数のJava対応ＣＳ２００及びJava対応ＭＳ６００を備えているが、図１では図面が煩雑になるのを防ぐため、Java対応ＣＳ２００及びJava対応ＭＳ６００をそれぞれ１台ずつ図示している。
【００１４】
Java対応ＣＳ２００は、専用線等によってインターネット３００に接続され、データベースＤＢに格納されている種々のJavaアプリケーション（例えば、対戦ゲーム用のJavaアプリケーション等）をJava対応ＭＳ６００に提供する。なお、図１では専用線等によりJava対応ＣＳ２００をインターネット３００に直接接続している場合を例示しているが、インターネット３００を介すことなく専用線等によりゲートウェイサーバ４００に直接接続する構成であっても良い。
【００１５】
ゲートウェイサーバ４００は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を備えたコンピュータ、通信装置等により構成され、ＣＰＵがＲＯＭ等に格納されている中継プログラム等を実行して異なる通信プロトコルを有するネットワーク間のデータの授受を中継する。さらに詳述すると、ゲートウェイサーバ４００は、該中継プログラムを実行してインターネット３００の標準プロトコルＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）と、移動パケット通信用の通信プロトコルとを相互に変換することで、インターネット３００−移動パケット通信網５００間のデータの授受を中継する。また、ゲートウェイサーバ４００は、以上説明したデータ中継機能のほか、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対応ＣＳ２００を識別するためのダウンロード元識別情報（例えば、Java対応ＣＳ２００の名前）等により構成されている。リクエストボディＲＢには、例えばＰＯＳＴメソッド使用時に接続先のJava対応ＣＳ２００に送信すべき種々の情報等が記述されている。
【００２１】
一方、ゲートウェイサーバ４００の通信情報管理部４２０に格納されている通信管理テーブルＴＡ（図４参照）には、一時に多数のJavaアプリケーションからアクセスがあった場合に、該Javaアプリケーションによる通信を規制するための第１通信規制情報（一時に処理可能な通信量を示す情報等）や、バグ等の発生により延々と通信し続けるといった通信事故を引き起こす可能性のあるJavaアプリケーションからアクセスがあった場合に該Javaアプリケーションによる通信を規制するための第２通信規制情報が登録されている。
【００２２】
さらに詳述すると、該第２通信規制情報には、バグの発生により通信ロジックが無限ループ状態に陥り、延々と通信し続けてしまうJavaアプリケーションを識別するためのJavaアプリケーション識別情報、該バグが発生する起動形態（例えば、ある起動形態によって起動された場合にのみバグが発生するのであれば、この起動形態等）を示す起動形態情報、該バグが発生するJavaアプリケーションを提供していたJava対応ＣＳ２００を識別するためのダウンロード元識別情報等が含まれている。
【００２３】
また、この通信管理テーブルＴＡには、第１通信規制情報及び第２通信規制情報のほか、例えば当該時点においてゲートウェイサーバ４００を流れている通信量等を示す現通信情報が登録されている。システム制御部４１０は、当該ゲートウェイサーバ４００に流れる通信量等を監視する機能も備え、該監視結果に基づき通信管理テーブルＴＡに登録されている現通信情報を設定・更新する。
【００２４】
システム制御部４１０は、リクエストメッセージＲＱに含まれるJavaアプリケーション関連情報及び通信情報管理部４２０に格納されている通信管理テーブルＴＡを参照し、該通信要求を許可すべきであると判断すると、該リクエストメッセージＲＱにプロトコル変換を施し、これをリクエストヘッダＲＨに含まれる位置情報に対応するJava対応ＣＳ２００宛てに転送する。一方、該通信要求を拒絶すべきであると判断すると、システム制御部４１０は、該通信要求を拒絶すべき旨のレスポンスメッセージをJava対応ＭＳ６００宛てに送信する。
【００２５】
ここで、図５は、レスポンスメッセージＲＳを例示した図である。
レスポンスメッセージＲＳには、通信要求を拒絶する旨の通信拒絶情報や、例えば該メッセージを受け取った後、ｎ秒間通信させないための通信規制情報等が含まれている。
このレスポンスメッセージＲＳを移動パケット通信網５００経由で受信したJava対応ＭＳ６００においては、該レスポンスメッセージＲＳに含まれる通信規制情報に従って、当該レスポンスメッセージＲＳを受信した後ｎ秒の間、当該Java対応ＭＳ６００に組み込まれたJavaアプリケーションによる通信は不能となり、これによりJavaアプリケーションによる通信が規制されることとなる。
【００２６】
＜Java対応ＭＳ６００の構成＞
図６は、Java対応ＭＳ６００のハードウェア構成を示す図である。
ＣＰＵ６１０は、記憶部６５０に格納されている各種制御プログラム等に従って、Java対応ＭＳ６００の各部を中枢的に制御する。
無線通信部６２０は、アンテナ６２１を備え、基地局との間で行われる無線通信を制御する。この無線通信部６２０は、ＣＰＵ６１０の制御の下、例えば送話音声に関するデータやパケット通信用のデータなどを搬送波に重畳して無線信号を生成し、アンテナ６２１を介して基地局へ送信する一方、基地局からアンテナ６２１を介して受信した無線信号を復調し、受話音声に関するデータやパケット通信用のデータなどを得る。
【００２７】
操作入力部６３０は、電源ＯＮ／ＯＦＦキー、数字や文字、操作指示等を入力するための操作キー等を備え、これらのキーの操作に応じた操作信号をＣＰＵ６１０に出力する。
【００２８】
通話処理部６４０は、例えばマイクロフォンやスピーカ、音声処理部（図示略）などを有し、ＣＰＵ６１０の制御の下、呼接続／切断処理を含む通話処理を行う。  表示部６４５は、ＬＣＤ（Liquid Crystal Display）及びＬＣＤの表示制御を行う駆動回路を備え、種々の文字、画像等を表示する。
【００２９】
記憶部６５０は、ＲＯＭ６５１と、ＲＡＭ６５２と、例えばＳＲＡＭ（Static−RAM）やＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）などの不揮発性メモリ６５３とを有する。
【００３０】
ＲＯＭ６５１には、ＣＰＵ６１０によって実行される各種プログラムなどが格納されている。このＲＯＭ６５１には、Java対応ＭＳ６００用のＯＳや、ＨＴＭＬ（HyperText Markup Language）で記述されたアプリケーションをＨＴＴＰ（HyperText Transfer Protocol）あるいはＨＴＴＰＳ（Hypertext Transfer Protocol Security）を用いて閲覧するためのＷｅｂブラウザ（以下、マイクロブラウザという）等のソフトウェア及び前述したJava実行環境を提供するためのソフトウェア等が格納されている。
【００３１】
ＲＡＭ６５２は、ＣＰＵ６１０のワークメモリとして用いられ、各種データ等を一時的に格納するために利用されるほか、Java対応ＭＳ６００に組み込まれたJavaアプリケーション実行時に利用される。
不揮発性メモリ６５３は、アプリケーション記憶メモリ６５３ａを備えている。該アプリケーション記憶メモリ６５３ａには、Java対応ＣＳ２００からダウンロードしたJavaアプリケーションやJavaアプリケーション終了後も保持すべきデータ（以下、永続データという）が対応付けて格納されているほか、通信開始の際にダウンロード元のJava対応ＣＳ２００宛てに送信するリクエストメッセージＲＱ（図３参照）を作成するために必要な情報（例えば、メソッド情報やJavaアプリケーション関連情報）等も対応付けて格納されている。
【００３２】
＜Java実行環境＞
図７は、Java対応ＭＳ６００に実装されているJava実行環境のアーキテクチャを説明するための図である。なお、以下の説明では、Java対応ＭＳ６００にパーソナルコンピュータ（以下、ＰＣ）等に比べてＣＰＵ、メモリ、ハードディスク等のコンピューティング資源の利用に厳しい制限が課せられた機器に組み込まれるJava実行環境（現状では、Ｊ２ＭＥ：Java 2 Micro Edition）が実装されている場合を想定する。また、Ｊ２ＭＥにおいては、コンフィギレーション（Configuration）と、プロファイル（Profile）という２つの概念が導入されているが、本実施形態では、コンフィギレーションとして処理能力の低い端末を対象としたＣＬＤＣ（Connected Limited Device Configuration）を採用し、プロファイルとしてJavaアプリケーションの配信管理業務等を行う事業者等が独自に策定したプロファイル（以下、オリジナルJava拡張プロファイルという）を採用した場合を想定する。
【００３３】
ネイティブアプリケーションは、音声通話機能や移動機対応マークアップ言語で記述されたアプリケーションを解析／実行する機能を提供するものであり、ブラウザ機能を提供するソフトウェア（マイクロブラウザ）や、電話帳機能を提供するソフトウェア、ネットワーク通信機能を提供するソフトウェア等により構成されている。
【００３４】
ＫＶＭ（Kilo Virtual Machine）は、ＪＶＭ（Java Virtual Machine）を移動機等の小型組み込みデバイス向けに再設計したものであり、キロバイト単位のメモリ（ＫＶＭの「Ｋ」の名は、必要なメモリがキロバイト(Kilo Bytes)単位であることに由来）で動作可能となっている。なお、ＪＶＭは、Javaアプリケーションを解釈／実行するためのソフトウェアである。
【００３５】
ＣＬＤＣクラス・ライブラリには、Ｊ２ＭＥの上位エディションであるＪ２ＳＥ（Java 2 Standard Edition；ＰＣ等への組み込みを想定したJava実行環境）から承継されたサブセットであるクラス類や、ＣＬＤＣに固有のクラス類が含まれている。
オリジナルJava拡張ライブラリは、上述したオリジナルJava拡張プロファイルの機能を実現させるためのクラス・ライブラリであり、各クラス・ライブラリから提供される種々のクラスやＡＰＩ（Application Program Interface；ＯＳや各種ライブラリを利用する際のプログラム上の手続きを定めた規約）を利用することにより、該Java拡張プロファイルの機能を実現させることが可能となっている。
なお、ＡＰＩは、本来、各ライブラリ中のクラスを呼び出す際に利用される規約を指すが、便宜上、以下では各ライブラリによって提供されるクラス群をＡＰＩという。
【００３６】
かかるオリジナルJava拡張ライブラリによって提供されるＡＰＩには、ネットワーキングインタフェースＡＰＩ、ユーザインタフェースＡＰＩ、第２ストレージＡＰＩ等がある。
ネットワーキングＡＰＩは、ＵＲＬによって指定されたネットワーク資源（Java対応ＣＳ２００等）との接続をサポートするためのＡＰＩであり、ＨＴＴＰ（HyperText Transfer Protocol）通信及びＨＴＴＰＳ（Hypertext Transfer Protocol Security）通信等によるネットワーク接続をサポートする。ユーザインタフェースＡＰＩは、種々のユーザインタフェース機能を提供するためのＡＰＩであり、第２ストレージＡＰＩは、第２ストレージに対するデータの読み書きをサポートするためのＡＰＩである。
なお、本実施形態に係るJava対応ＭＳ６００は、以上説明したＣＬＤＣクラス・ライブラリ及びオリジナルJava拡張ライブラリのほかにも、各移動機メーカが独自の機能を提供するために追加したメーカ独自拡張ライブラリ等を備えている。
【００３７】
ＪＡＭ（Java Application Manager）は、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アプリケーションからの通信要求であると判断した場合、システム制御部４１０は、ＲＯＭ等に格納されている通信制御プログラムを読み出し、図８に示す通信制御処理を実行する。
【００４４】
システム制御部４１０は、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アプリケーションによる通信はゲートウェイサーバ４００により規制されるため、Java対応ＭＳ６００を所有するユーザの知らぬ間に該Javaアプリケーションと該Javaアプリケーションのダウンロード元のJava対応ＣＳ２００との間で大量の通信が行われ、思いもよらぬ高い通信料が該ユーザに請求されるといった問題を未然に抑制することができる。
【００５５】
Ｂ．変形例
以上この発明の一実施形態について説明したが、上記実施形態はあくまでも例示であり、上記実施形態に対しては、本発明の趣旨から逸脱しない範囲で種々の応用が可能である。
＜変形例１＞
上述した本実施形態では、Java対応ＭＳ６００に組み込まれたJavaアプリケーションの起動形態として、ユーザによって設定された起動タイミングに従いJavaアプリケーションを起動させる形態を例示したが、例えばJava対応ＭＳ６００に組み込まれたJavaアプリケーションがJava対応ＣＳ２００からダウンロードされたJavaアプリケーションである場合には、以下に示すＡＤＦに記述されたタイミング情報に従いJavaアプリケーションを起動させる形態にも本発明を適用することが可能である。
【００５６】
Java対応ＣＳ２００からダウンロードされるJavaアプリケーションは、Javaアプリケーション本体のプログラムファイルと画像や音声ファイル等のリソースとを１つにまとめた数十Ｋバイト程度のＪＡＲファイルと、該ＪＡＲファイルに関する各種の情報が記述されたＡＤＦ（Application Descriptor File）と呼ばれる数百バイト程度のテキストファイルから構成されている。
【００５７】
図９は、ＡＤＦの記述項目を例示した図である。
ＡＤＦには、ＪＡＲファイルのサイズを示すファイルサイズ情報（例えば、１０Ｋバイト）、該ＪＡＲファイルの格納場所を示すＵＲＬ情報（例えば、http://www.・・・・）、、該ＪＡＲファイルの利用可能な移動機の機種を示す機種情報（例えば、ＤＣＭＨ５０５）等が記述されている。
【００５８】
Java対応ＭＳ６００を所有するユーザは、Java対応ＣＳ２００から所望のJavaアプリケーションのダウンロードを試みる際、まず、Java対応ＭＳ６００のマイクロブラウザを利用してJava対応ＣＳ２００にアクセスし、ＡＤＦのダウンロードを試みる。ＡＤＦがダウンロードされると、Java対応ＭＳ６００は、ＡＤＦに記述されている内容を参照し、Javaアプリケーションの利用が可能かどうかを判定する。Java対応ＭＳ６００は、該Javaアプリケーションの利用が可能であると判定した場合にのみ、ＡＤＦ内に記述されたＵＲＬ情報を利用してＪＡＲファイルのダウンロードを行う。
【００５９】
このように、ＪＡＲファイルをいきなりダウンロードするのではなく、ＪＡＲファイルよりもサイズの小さなＡＤＦをダウンロードし、基本的な項目のみを事前にチェックするという仕組みを採用することで、通信コストの削減を図ることが可能となっている。
ここで、該ＡＤＦには、上述したファイルサイズ情報（例えば、１０Ｋバイト）、ＵＲＬ情報（例えば、http://www.・・・・）、機種情報（例えば、ＤＣＭＨ５０５）等の必須項目のほか、自動起動タイミングを示すタイミング情報（例えば、４５分毎）等のオプション項目が記述されている（図９参照）。
【００６０】
当該Javaアプリケーションが組み込まれたJava対応ＭＳ６００においては、ＡＤＦに記述されたタイミング情報に従って該Javaアプリケーションが起動される。このJavaアプリケーションが起動毎にダウンロード元のJava対応ＣＳ２００と通信を行うJavaアプリケーションである場合には、当該Javaアプリケーションが該タイミング情報に基づき起動され、ダウンロード元のJava対応ＣＳ２００ダウンロード元のJava対応ＣＳ２００と通信が行われることとなる。なお、該Javaアプリケーションがダウンロード元のJava対応ＣＳ２００と通信を行う際には、Java対応ＭＳ６００からゲートウェイサーバ４００へ、ＡＤＦによる起動であることを示す起動形態情報を含むリクエストメッセージＲＱが送信される。
【００６１】
このように、ＡＤＦに記述されたタイミング情報に従ってダウンロード元のJava対応ＣＳ２００と通信を行うJavaアプリケーションを起動させる場合であっても、該通信を中継するゲートウェイサーバ４００は、本実施形態と同様、Java対応ＭＳ６００から送信されるリクエストメッセージＲＱに含まれるJavaアプリケーション関連情報と通信情報管理部４２０に格納されている通信管理テーブルＴＡとを参照して該通信要求を許可するか否かを判断し、通信要求を拒絶した場合には該リクエストメッセージＲＱをJava対応ＣＳ２００に転送することなく、通信要求を拒絶する旨を含むレスポンスメッセージＲＳをJava対応ＭＳ６００に送信する。これにより、上述した本実施形態と同様の効果を得ることができる。
【００６２】
以上、ユーザによって設定された起動タイミングに従いJavaアプリケーションを起動させる形態及びＡＤＦに記述されたタイミング情報に従いJavaアプリケーションを起動させる形態を例に説明を行ったが、例えば以下に示す起動形態を採用することも可能である。
【００６３】
ａ）ダウンロードされた直後のJavaアプリケーションを起動させる形態
ｂ）Java対応ＭＳ６００宛てに配信されるメールをトリガとしてJavaアプリケーションを起動させる形態
ｃ）Java対応ＭＳ６００に搭載されている外部機器インタフェース（IrDA、Bluetooth 等）が受信した外部機器からのコマンド等をトリガとして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アプリケーションのバージョン情報等であっても良い。すなわち、当該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 Community Process）を経て策定されたプロファイル（ＭＩＤＰ；Mobile Information Device Profile）を実装した移動機（図８に示す、Ｂ参照）、あるいはオリジナルJava拡張プロファイル及びＭＩＤＰを実装した移動機（図８に示す、Ｃ参照）にも適用可能である。
【００７６】
また、上述した本実施形態では、ＣＬＤＣを実装した小型端末の一例として携帯電話等の移動機を例示したが、例えばＰＤＡやＰＨＳ（Personal Handyphone System）等、ＣＬＤＣを実装したあらゆる小型端末に適用可能である。また、本発明はＣＬＤＣを実装した小型端末に限定する趣旨ではなく、ＣＤＣ（Connected Device Configuration）を実装したカーナビやセットトップボックスなどの中・大型端末にも適用可能である。なお、ＣＤＣを実装した中・大型端末においては、例えば「J2ME Foundation Profile」等のプロファイルが実装され、ＶＭとしてＪＶＭが実装される。
【００７７】
＜変形例１０＞
また、上述した本実施形態では、ゲートウェイサーバ４００がJava対応ＭＳ６００に組み込まれたJavaアプリケーションによる通信を規制する場合について説明を行ったが、例えば移動パケット通信網５００に収容される基地局等に上記通信管理テーブルＴＡを格納し、当該基地局等においてJavaアプリケーションによる通信を規制するようにしても良い。このように、移動パケット通信網５００に収容され、かつ、Java対応ＭＳ６００とJava対応ＣＳ２００との間の通信を中継する装置（特許請求の範囲に記載の「中継装置」に相当）であれば、どのような装置であっても本発明を適用することができる。
【００７８】
＜変形例１１＞
また、上述した本実施形態では、Java対応ＭＳ６００のアプリケーション記憶メモリ６５３ａにJavaアプリケーション等が格納されている場合について説明したが、第３世代携帯電話機等に利用されるＵＩＭ（User Identity Module）にJavaアプリケーション等を格納するようにしても良い。
ここで、図１１及び図１２は、ＵＩＭ７００を説明するための図である。
ＵＩＭ７００は、Java対応ＭＳ６００等に着脱自在なＩＣカードであり、ＲＯＭ７２０に格納されている制御プログラムに基づきＵＩＭ７００の各部を制御するＣＰＵ７１０、Java対応ＭＳ６００等と接続するためのＵＩＭインタフェース７１５、Java対応ＭＳ６００等から供給されるデータを一時的に格納するためのＲＡＭ７２５、Javaアプリケーション等が格納されるＥＥＰＲＯＭ７３０等を備えている。
【００７９】
図１３は、ＥＥＰＲＯＭ７３０の記憶領域を説明するための図である。
ＥＥＰＲＯＭ７３０は、ユーザ情報記憶領域７３１や、アプリケーション記憶領域７３２等を有している。
ユーザ情報記憶領域７３１には、加入者番号、発信履歴情報、着信履歴情報、通話時間情報等、ＵＩＭ７００を所有するユーザに固有の情報が格納されている。
アプリケーション記憶領域７３２には、上述したアプリケーション記憶メモリ６５３ａに格納されている様々な情報、すなわちJava対応ＣＳ２００からダウンロードしたJavaアプリケーションや永続データ、ダウンロード元のJava対応ＣＳ２００宛に送信するリクエストメッセージＲＱを作成するために必要な情報等が格納されている。なお、このアプリケーション記憶領域７３２に格納されるJavaアプリケーション等は、Java対応ＣＳ２００からJava対応ＭＳ６００経由でＵＩＭ７００にダウンロードしたもののほか、予めＵＩＭ７００に格納されているものでも良い。
【００８０】
さて、このようにユーザ固有の情報、Javaアプリケーション等がＵＩＭ７００に格納された状態において、該Javaアプリケーションによる通信開始指示が与えられると、ＵＩＭ７００のＣＰＵ７１０（或いはJava対応ＭＳ６００のＣＰＵ６１０）は、リクエストメッセージＲＱ等を作成し、Java対応ＭＳ６００経由でJava対応ＣＳ２００宛に送信する。なお、この後ゲートウェイサーバ４００において実行される通信規制動作については、上述した本実施形態と同様に説明することができるため、省略する。
【００８１】
以上説明したように、ゲートウェイサーバ４００が、ＵＩＭ７００に格納されているJavaアプリケーションによる通信規制を行うことにより、移動機毎の通信規制ではなく、ユーザ毎の通信規制が可能となる。この結果、不正使用者からの通信要求についてはゲートウェイサーバ４００において拒絶する等の対策を講ずることにより、通信障害等の発生を未然に防止することが可能となる。なお、本変形例では、Javaアプリケーションが格納されている通信端末としてＵＩＭ７００を例に説明したが、本発明はこれに限定する趣旨ではなく、Ｊ２ＭＥ（Java 2 Micro Edition）、Ｊ２ＳＥ（Java 2 Standard Edition）、Ｊ２ＥＥ（Java 2 Enterprise Edition）等のJava実行環境と、外部機器との間で通信を行うための通信機能を備えたあらゆる通信端末に適用可能である。また、上述した本実施形態では、Java言語によって記述されたJavaアプリケーションを例に説明を行ったが、ゲートウェイサーバ４００を介して通信を行うアプリケーションであれば、どのようなプログラミング言語で記述されたアプリケーションにも本発明を適用することができる。
【００８２】
【発明の効果】
以上説明したように、本発明によれば、ユーザを煩わせることなくアプリケーションによる通信を規制することが可能となる。
【図面の簡単な説明】
【図１】  本実施形態における通信システムのアーキテクチャを示す図である。
【図２】  本実施形態に係るゲートウェイサーバの構成を示す図である。
【図３】  本実施形態に係るリクエストメッセージＲＱを説明するための図である。
【図４】  本実施形態に係る通信テーブルＴＡを説明するための図である。
【図５】  本実施形態に係るレスポンスメッセージＲＳを説明するための図である。
【図６】  本実施形態に係るJava対応ＭＳのハードウェア構成を示す図である。
【図７】  本実施形態に係るJava実行環境のアーキテクチャを説明するための図である。
【図８】  本実施形態に係る通信制御処理を示すフローチャートである。
【図９】  変形例１に係るＡＤＦの記述項目を例示した図である。
【図１０】  変形例７に係るJava実行環境におけるプロファイルの位置づけを種々例示した図である。
【図１１】  変形例１１に係るＵＩＭを説明するための図である。
【図１２】  変形例１１に係るＵＩＭを説明するための図である。
【図１３】  変形例１１に係るＥＥＰＲＯＭの記憶領域を説明するための図である。
【符号の説明】
１００・・・通信システム、２００・・・Java対応ＣＳ、３００・・・インターネット、４００・・・ゲートウェイサーバ、４１０・・・システム制御部、４２０・・・通信情報管理部、５００・・・移動パケット通信網、６００・・・Java対応ＭＳ、６１０、７１０・・・ＣＰＵ、６２０・・・無線通信部、６３０・・・操作入力部、６５０・・・記憶部、６５１、７２０・・・ＲＯＭ、６５２、７２５・・・ＲＡＭ、６５３・・・不揮発性メモリ、６５３ａ・・・アプリケーション記憶メモリ、７００・・・ＵＩＭ、７１５・・・ＵＩＭインタフェース、７３０・・・ＥＥＰＲＯＭ、７３１・・・ユーザ情報記憶領域、７３２・・・アプリケーション記憶領域。
【図１】
0004598354.tif 000002
【図２】
0004598354.tif 000003
【図３】
0004598354.tif 000004
【図４】
0004598354.tif 000005
【図５】
0004598354.tif 000006
【図６】
0004598354.tif 000007
【図７】
0004598354.tif 000008
【図８】
0004598354.tif 000009
【図９】
0004598354.tif 000010
【図１０】
0004598354.tif 000011
【図１１】
0004598354.tif 000012
【図１２】
0004598354.tif 000013
【図１３】
0004598354.tif 000014