(57)【要約】【課題】起動中のアプリケーションをＯＳ（オペレーティングシステム）が管理しない通信端末において、通信コネクションを確立することなくメッセージを受信し、起動中のアプリケーション宛のメッセージを受信したときに当該アプリケーションへメッセージの受信を通知する。【解決手段】移動機ＭＳにおいて、ＣＰＵ６は、不揮発性メモリ８に記憶されているＯＳソフトウェア８２及びＪＡＭプログラム８６を用いて、ＫＶＭプログラム８４を用いて起動されているＪａｖａアプリを特定するためのキー情報をＲＡＭ７のキー情報領域７３に書き込む。また、ＣＰＵ６は、ＳＭＳメッセージを受信すると、このメッセージの内容とキー情報領域７３のキー情報とが合致する場合には、このメッセージが受信されたことを表す情報を、起動されているＪａｖａアプリ用にＲＡＭ７に確保された領域に書き込む。【選択図】      図４
2005196271.tif 000002
【特許請求の範囲】
【請求項１】
プログラムの実行に必要なシステムプログラムと、親プログラムと、前記親プログラムを用いた他のプログラムの実行を管理するための管理プログラムとを記憶した第１の記憶手段と、
子プログラムを記憶する第２の記憶手段と、
前記システムプログラム及び前記親プログラムを用いて、前記第２の記憶手段に記憶された前記子プログラムを実行する子実行手段と、
前記システムプログラムを用いて前記管理プログラムを実行する管理実行手段と、
前記子実行手段にアクセスされる第３の記憶手段と、
前記管理実行手段にアクセスされる第４の記憶手段と、
前記システムプログラム及び前記管理プログラムを用いて、前記子実行手段により実行されている前記子プログラムを特定するためのキー情報を前記第４の記憶手段に記憶させる書き込み手段と、
通信網を介してメッセージを受信する受信手段と、
前記システムプログラム及び前記管理プログラムを用いて、前記受信手段により受信されたメッセージの内容と前記第４の記憶手段に記憶されているキー情報とが合致する場合に、該メッセージが受信されたことを表す情報を前記第３の記憶手段に書き込む通知手段と
を有する通信端末。
【請求項２】
前記親プログラムはＪａｖａ（登録商標）仮想マシンを実現するためのプログラムであり、
前記子プログラムはＪａｖａアプリケーションプログラムであり、
前記子実行手段は、前記システムプログラム及び前記親プログラムを用いて、前記第２の記憶手段に記憶された前記子プログラムを前記Ｊａｖａ仮想マシン上で実行する
ことを特徴とする請求項１に記載の通信端末。
【請求項３】
前記子プログラムと該子プログラムを特定するためのキー情報とをサーバ装置からダウンロードし、両者を対応付けて前記第２の記憶手段に書き込むダウンロード手段を有し、
前記書き込み手段は、前記システムプログラム及び前記管理プログラムを用いて、前記子実行手段により実行されている前記子プログラムを特定するための前記キー情報を前記第２の記憶手段から読み出して前記第４の記憶手段に記憶させる
ことを特徴とする請求項１に記載の通信端末。
【請求項４】
前記子プログラムをサーバ装置からダウンロードして前記第２の記憶手段に書き込むダウンロード手段を有し、
前記キー情報は、前記サーバ装置において前記子プログラムに対応付けられた第１の識別子と、前記子プログラムを前記サーバ装置における記憶位置で特定する第２の識別子とを含む
ことを特徴とする請求項１に記載の通信端末。
【請求項５】
前記通知手段は、前記システムプログラム及び前記管理プログラムを用いて、前記受信手段により受信されたメッセージの内容と前記記憶手段に記憶されているキー情報とが合致し、かつ該メッセージが前記管理プログラムに対応付けられた識別子を含む場合に、該メッセージが受信されたことを表す情報を前記第３の記憶手段に書き込む
ことを特徴とする請求項１に記載の通信端末。
【請求項６】
前記通信網は移動通信網であり、
自端末の電話番号を宛先アドレスとしたメッセージが前記通信網を構成する基地局から無線で送信されると、該メッセージを受信する無線手段を有し、
前記受信手段は前記無線手段を用いて自端末宛のメッセージを受信する
ことを特徴とする請求項１に記載の通信端末。
【請求項７】
コンピュータを、
システムプログラム及び親プログラムを用いて実行されている子プログラムを特定するためのキー情報を記憶領域に書き込む書き込み手段と、
受信したメッセージの内容と前記記憶領域に書き込まれたキー情報とが合致する場合に、該メッセージが受信されたことを表す情報を前記実行されている子プログラム用の記憶領域に書き込む通知手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信端末においてメッセージを受信し、当該メッセージの受信を起動中のアプリケーションへ通知する技術に関する。
【背景技術】
【０００２】
日本では、移動機に、ＷＷＷ（World Wide Web）ブラウザ及びＪａｖａ（登録商標）仮想マシンを搭載し、ＷＷＷブラウザを用いて、インターネットに接続されたサーバ装置からＪａｖａ言語を用いて作成されたアプリケーションプログラムをダウンロードし、記憶させ、Ｊａｖａ仮想マシンを用いて実行させるサービスが行われている。Ｊａｖａ言語を用いて作成されたアプリケーションプログラムをＪａｖａアプリケーションプログラム、このＪａｖａアプリケーションプログラムを実行することにより起動されるアプリケーションをＪａｖａアプリ（Ｊａｖａアプリケーション）という。
【０００３】
このサービスにおいて、インターネットに接続されたサーバ装置からのプッシュ型のメッセージを受けて起動中のＪａｖａアプリの挙動が変わるようにできれば、サービスの幅が広がる。そのためには、起動中のＪａｖａアプリへ、このＪａｖａアプリ宛のメッセージを受信したことを通知することができるようにする必要がある。通信端末がサーバ装置からのメッセージを受信したことをアプリケーションへ通知する技術としては、特許文献１〜３に記載の技術が挙げられる。
【０００４】
特許文献１に記載の技術では、チャットサーバが、チャットサーバにチャットの背景画像の画像データが到着すると、チャットのためのＪａｖａアプレットを実行しているクライアントマシンに、その旨を通知する。この通知を受けたＪａｖａアプレットは、当該画像データをチャットサーバからダウンロードして使用する。しかし、このようなことは、チャットサーバとクライアントマシンとの間に通信コネクションが確立しているからこそ可能なのであり、チャットのように通信を前提とした用途であればともかく、他の用途において、サーバ装置がメッセージを発するか否かに関わらず移動機とサーバ装置との間に通信コネクションを確立するのは非効率的である。また、ＪａｖａアプレットはＷＷＷブラウザを用いて実行されるものであり、Ｊａｖａ仮想マシンを用いて実行されるものではない。このような前提の相異があるため、この技術を、前述のサービスの幅を広げるために用いるのは困難である。
【０００５】
特許文献２に記載の技術では、プッシュサーバが、起動するアプリケーションの識別情報と当該アプリケーションの起動オプションとを含んだメッセージをユーザ端末に通知する。このメッセージを受けたユーザ端末は、該当するアプリケーションの起動に必要なソフトウェアが内部に存在すれば、このメッセージ内の起動オプションを用いて当該アプリケーションを起動する。しかし、この技術は、起動中のアプリケーションの挙動を変えるものではなく、起動前のアプリケーションを起動させるものである。また、前述のサービスにおいて、移動機における起動中のＪａｖａアプリはＯＳ（オペレーティングシステム）には認識されずにＪａｖａ仮想マシンに認識される。ＯＳは起動中のＪａｖａ仮想マシンを認識しているに過ぎない。これに対して、この技術は、アプリケーションがＯＳによって認識可能なことを前提にしている。このような前提の相異から明らかなように、この技術を前述のサービスの幅を広げるために用いるのは困難である。
【０００６】
特許文献３に記載の技術では、ＷＷＷサーバからの依頼を受けた呼び出しサーバが、いわゆるウェイク・オン・リング（Wake On Ring）技術を用いて移動体端末を呼び出し、その上でデータを送信する。移動体端末は、呼び出しサーバから呼び出されると、この呼び出しに含まれている情報から、このデータを取り扱うアプリケーションを特定する。特定されたアプリケーションは、ＷＷＷサーバに接続し、データの配信を要求する。しかし、この技術もまた、アプリケーションがＯＳによって認識可能なことを前提にしたものである。よって、特許文献２に記載の技術について述べた理由と同様の理由により、この技術を前述のサービスの幅を広げるために用いるのは困難である。
【特許文献１】特開２００２−１３２６９３号公報
【特許文献２】特開２００２−３４４５２９号公報
【特許文献３】特開２００３−１３４５６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、上述した事情に鑑みて為されたものであり、起動中のアプリケーションをＯＳが管理しない通信端末において、メッセージの送信元の装置との間に通信コネクションを確立することなく当該装置からのメッセージを受信し、起動中のアプリケーション宛のメッセージを受信したときに当該アプリケーションへメッセージの受信を通知することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、プログラムの実行に必要なシステムプログラムと親プログラムと前記親プログラムを用いた他のプログラムの実行を管理するための管理プログラムとを記憶した第１の記憶手段と、子プログラムを記憶する第２の記憶手段と、前記システムプログラム及び前記親プログラムを用いて、前記第２の記憶手段に記憶された前記子プログラムを実行する子実行手段と、前記システムプログラムを用いて前記管理プログラムを実行する管理実行手段と、前記子実行手段にアクセスされる第３の記憶手段と、前記管理実行手段にアクセスされる第４の記憶手段と、前記システムプログラム及び前記管理プログラムを用いて、前記子実行手段により実行されている前記子プログラムを特定するためのキー情報を前記第４の記憶手段に記憶させる書き込み手段と、通信網を介してメッセージを受信する受信手段と、前記システムプログラム及び前記管理プログラムを用いて、前記受信手段により受信されたメッセージの内容と前記記憶手段に記憶されているキー情報とが合致する場合に、該メッセージが受信されたことを表す情報を前記第３の記憶手段に書き込む通知手段とを有する通信端末を提供する。
【０００９】
また、本発明は、コンピュータを、システムプログラム及び親プログラムを用いて実行されている子プログラムを特定するためのキー情報を記憶領域に書き込む書き込み手段と、受信したメッセージの内容と前記記憶領域に書き込まれたキー情報とが合致する場合に、該メッセージが受信されたことを表す情報を前記実行されている子プログラム用の記憶領域に書き込む通知手段として機能させるためのプログラムを提供する。
【００１０】
上述の通信端末または上述のプログラムを実行したコンピュータによれば、システムプログラム及び親プログラムを用いて実行されている子プログラムを特定するためのキー情報が記憶され、このキー情報と受信したメッセージの内容とが合致する場合に、このメッセージが受信されたことを表す情報が、子プログラム用の記憶領域に書き込まれる。この情報は、子プログラムを用いて実現されるアプリケーションに用いられる。
【発明の効果】
【００１１】
本発明によれば、システムプログラムを実行して実現されるシステムが起動中のアプリケーションを管理しない通信端末において、メッセージの送信元の装置との間に通信コネクションを確立することなく当該装置からのメッセージを受信し、起動中のアプリケーション宛のメッセージを受信したときに当該アプリケーションへメッセージの受信を通知することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態について、図面を参照して説明する。
［構成］
図１は本発明の一実施形態に係る移動機を用いた通信システムの構成を示す図である。この図に示す移動通信網ＧＳＭは、ＧＳＭ（Global System for Mobile Communications）方式の移動通信網であり、移動通信網ＧＳＭを運営する移動通信事業者と通信サービスの契約を締結した契約ユーザが利用する契約移動機に対して通話やデータ通信等の通信サービスを提供する。図には、この契約移動機として、移動機ＭＳ１及びＭＳ２が例示されている。
【００１３】
移動通信網ＧＳＭにより提供される通信サービスにはＳＭＳ（Short Message Service）が含まれている。ここでいうＳＭＳは、プッシュ型のショートメッセージサービスであり、ＥＴＳＩ（the European Telecommunications Standards Institute）の規定とＷＡＰ（the Wireless Application Protocol）とに準拠している。このＳＭＳは、センタ方式のショートメッセージサービスでもあり、このサービスを提供するために、移動通信網ＧＳＭは、電話番号を宛先アドレスとした制限されたサイズ（例えば１６０文字）のＳＭＳメッセージを生成し送信するＳＭＳセンタ（サービスセンタ）Ｃと、移動通信網ＧＳＭに収容される移動機へＳＭＳメッセージを転送可能な交換網ＰＬＭＮを備えている。
【００１４】
また、移動通信網ＧＳＭにより提供される通信サービスにはＧＰＲＳ（General Packet Radio Service）が含まれている。ＧＰＲＳは、移動通信網を用いて高速かつ汎用的なパケット通信を提供するサービスであり、このサービスを提供するために、移動通信網ＧＳＭは、ゲートウェイノードＧＧＳＮと、交換ノードＳＧＳＮ１及びＳＧＳＮ２に代表される複数の交換ノードとを備えている。また、移動通信網ＧＳＭは、基地局ＢＴＳ１及びＢＴＳ２に代表される複数の基地局や図示せぬロケーションレジスタを備えている。これらのゲートウェイノードＧＧＳＮ、交換ノード、基地局およびロケーションレジスタは、前述の交換網ＰＬＭＮを構成している。なお、以降の説明では、基地局ＢＴＳ１及びＢＴＳ２を区別する必要がない場合には、「基地局ＢＴＳ」という総称を用いる。これと同様に、必要に応じて、「交換ノードＳＧＳＮ」という総称や、「移動機ＭＳ」という総称を用いる。
【００１５】
ゲートウェイノードＧＧＳＮ及び交換ノードＳＧＳＮは共に、パケットをルーティングする交換ノードである。ゲートウェイノードＧＧＳＮには交換ノードＳＧＳＮが、交換ノードＳＧＳＮには基地局ＢＴＳが接続されており、交換ノードＳＧＳＮは、配下の移動機ＭＳ宛のパケットを当該移動機ＭＳへルーティングする一方、配下の移動機ＭＳからのパケットを宛先へルーティングする。なお、交換ノードＳＧＳＮは、他の交換ノードＳＧＳＮを介して配下の基地局ＢＴＳに接続されていてもよい。また、ゲートウェイノードＧＧＳＮは、配下の移動機ＭＳ宛のパケットを、当該移動機ＭＳを配下に有する交換ノードＳＧＳＮへルーティングする一方、配下の交換ノードＳＧＳＮからのパケットを宛先へルーティングする。このゲートウェイノードＧＧＳＮは、移動通信網ＧＳＭとインターネットＩＮＥＴに代表される公開されたネットワークとを接続するゲートウェイノードでもある。よって、移動機ＭＳは、インターネットＩＮＥＴを介してパケット通信を行うことができる。
【００１６】
また、ゲートウェイノードＧＧＳＮにはＳＭＳセンタＣが接続されている。ＳＭＳセンタＣは、インターネットＩＮＥＴ及びゲートウェイノードＧＧＳＮを介して移動機ＭＳ宛のＳＭＳメッセージの送信が要求されると、このＳＭＳメッセージを生成し、生成したＳＭＳメッセージをゲートウェイノードＧＧＳＮへ送信する。ゲートウェイノードＧＧＳＮ、交換ノードＳＧＳＮ及び基地局ＢＴＳは前述の交換網ＰＬＭＮを構成しているから、ＳＭＳセンタＣから移動機ＭＳ宛のＳＭＳメッセージが送信されると、これを当該移動機ＭＳへ転送する。
【００１７】
また、図に示すように、インターネットＩＮＥＴにはサーバ装置ＩＰが接続されている。サーバ装置ＩＰは、いわゆるＷＷＷサーバ装置であり、移動機ＭＳからのダウンロード要求に応じて、移動機ＭＳにて実行可能なＪａｖａアプリを配信する。このＪａｖａアプリは、後述するように、その挙動がサーバ装置ＩＰからのトリガにより変化するようになっている。
【００１８】
Ｊａｖａアプリは、アプリケーションの実行に必要なクラスファイルおよびデータファイルをパッケージしたＪＡＲファイル（Ｊａｖａアーカイブファイル）の形態で、サーバ装置ＩＰの所定ＵＲＬから移動機ＭＳにダウンロードされる。ＪＡＲファイルにはＡＤ（アプリケーションディスクリプタ）ファイルが添付されており、このＡＤファイルには、Ｊａｖａアプリの名前やＡＤファイルの置かれたＵＲＬなどの情報が記述されている。
【００１９】
このようなＪａｖａアプリのダウンロードサービスを移動機ＭＳに提供するサーバ装置ＩＰでは、Ｊａｖａアプリをダウンロードした移動機ＭＳの電話番号を記録するようになっている。例えば、移動機ＭＳからのダウンロードリクエストに自機の電話番号を記述させ、サーバ装置ＩＰが受け取ったダウンロードリクエストから移動機ＭＳの電話番号を読み取って、これを記録するようにしてもよい。そして、サーバ装置ＩＰは予め定められた条件が満たされたり、外部から所定の情報を受け取ったりすると、インターネットＩＮＥＴおよびゲートウェイノードＧＧＳＮを介してＳＭＳセンタＣと通信し、Ｊａｖａアプリをダウンロードした移動機ＭＳの電話番号を宛先としたＳＭＳメッセージの送信を要求する。この送信要求には、移動機ＭＳの電話番号と、個々のＪａｖａアプリに対応したキー情報とが含まれている。このキー情報は、Ｊａｖａアプリ提供者が任意に設定したデータ（バイト配列）と、ダウンロードされるＪａｖａアプリのＡＤファイルが格納されたＵＲＬとからなっている（図２参照）。キー情報にＡＤファイルのＵＲＬを包含させるのは、任意に設定したデータのみだと偶然により複数のＪａｖａアプリで同じキー情報が設定されてしまう可能性があるためである。
【００２０】
図３は、サーバ装置ＩＰからの送信要求に基づいてＳＭＳセンタＣで生成されるＳＭＳメッセージのデータ構造を示す図である。この図に示すように、このＳＭＳメッセージは、サーバ装置ＩＰからの送信要求内のキー情報にＷＳＰヘッダ、ＷＤＰヘッダ、及びＳＭヘッダが付加された構造となっている。ＳＭヘッダには、送信要求内の電話番号が宛先アドレスとして含まれている。また、ＷＳＰヘッダにはアプリケーションＩＤが含まれている。アプリケーションＩＤは、ＳＭＳメッセージを受信した装置において当該ＳＭＳメッセージを渡すべきアプリケーションを識別するための識別情報であり、ＳＭＳメッセージをこのように使用し得るネットワーク（本実施形態では移動通信網ＧＳＭ）内で一意となるように定められている。サーバ装置ＩＰは、移動機ＭＳにて起動される後述のＪＡＭ（Java Application Manager）に付与されたアプリケーションＩＤを記憶しており、このアプリケーションＩＤを用いて前述の送信要求を行う。また、ＳＭＳメッセージのデータ部には、前述した図２のキー情報が含まれている。
【００２１】
図４は、移動機ＭＳの静的な構成を示すブロック図である。この図に示すように、移動機ＭＳは一般的な携帯電話機と同様に、基地局ＢＴＳとの間で無線通信するための無線部１と、音声を入力するためのマイク２、音声などの音を放出するスピーカ３、操作子を備えた操作部４、及び画像を表示するディスプレイ５を備えている。
【００２２】
また、移動機ＭＳは、ＣＰＵ（子実行手段および管理実行手段）６と、ＣＰＵ６にワークエリアを提供するＲＡＭ（第３及び第４の記憶手段）７と、ＣＰＵ６に読み書きされる不揮発性メモリ（第１及び第２の記憶手段）８とを備えている。不揮発性メモリ８には、移動機ＭＳの電話番号８１及びＯＳソフトウェア（システムプログラム）８２が記憶されている。ＣＰＵ６は、移動機ＭＳの図示せぬ電源投入時にＯＳソフトウェア８２を読み出して実行し、上述した各部を制御する。このことから、移動機ＭＳをコンピュータとして捉えることができる。ところで、ＣＰＵ６が本発明に固有の機能を提供するのはＯＳソフトウェア８２を実行している間のことであるから、以降、ＣＰＵ６がＯＳソフトウェア８２を実行中であるものとして説明を行う。なお、不揮発性メモリ８には、例えば、不揮発性でありながら読み書き可能なフラッシュメモリを利用することができる。
【００２３】
ＣＰＵ６は、無線部１を用いてＳＭＳメッセージを受信すると、このメッセージのＳＭヘッダに含まれている宛先アドレスと不揮発性メモリ８に記憶されている電話番号８１とを比較し、両者が不一致の場合には、このＳＭＳメッセージを破棄する。逆に、両者が一致した場合には、このＳＭＳメッセージをＲＡＭ７のバッファ７１に書き込み、図５に示す処理を行う。つまり、自機宛のＳＭＳメッセージを受信したＣＰＵ６は、このＳＭＳメッセージのＷＳＰヘッダからアプリケーションＩＤを抽出する。不揮発性メモリ８にはＪＡＭのアプリケーションＩＤ８７が記憶されており、ＣＰＵ６は、このアプリケーションＩＤ８７と抽出したアプリケーションＩＤとを比較する。ＣＰＵ６は、この比較において両者が一致した場合、受信したＳＭＳメッセージのデータ部分をＲＡＭ７に確保されたバッファ７２に書き込む（ステップＳＡ２：ＹＥＳ、及びＳＡ３）。なお、ＲＡＭ７にバッファ７２が確保されていない場合、ＣＰＵ６は受信したＳＭＳメッセージについて何もしない。
【００２４】
不揮発性メモリ８には複数のネイティブアプリケーションプログラムが記憶されている。ネイティブアプリケーションプログラムとは、ＣＰＵ６に固有の機械語で記述され、移動機ＭＳの販売前から不揮発性メモリ８に記憶されているアプリケーションプログラムである。不揮発性メモリ８には、ネイティブアプリケーションプログラムとして、移動機ＭＳをＷＷＷブラウザとして機能させるためのブラウザプログラム８３と、移動機ＭＳをＪａｖａ仮想マシンとして機能させるためのＫＶＭプログラム（親プログラム）８４と、このＪａｖａ仮想マシンがＪａｖａアプリケーションプログラムを実行するために必要なクラスライブラリ８５と、Ｊａｖａアプリの起動および終了を管理するＪＡＭとして移動機ＭＳを機能させるためのＪＡＭプログラム（管理プログラム）８６とが記憶されている。ＫＶＭプログラム８４及びクラスライブラリ８５は、リソースが限られている携帯端末での実行に適するように一般的なＶＭプログラム及びクラスライブラリを変更して得られる。
【００２５】
ＣＰＵ６は、操作部４の操作内容がＷＷＷブラウザの起動を指示する内容の場合、不揮発性メモリ８からブラウザプログラム８３を読み出して実行する。ブラウザプログラム８３を実行中のＣＰＵ６は、移動通信網ＧＳＭ及びインターネットＩＮＥＴを介して任意のＷＷＷサーバと通信することができる。また、ブラウザプログラム８３を実行中のＣＰＵ６は、操作部４の操作内容が所望のＪａｖａアプリのダウンロードを指示する内容の場合、このＪａｖａアプリのＪＡＲファイルおよびＡＤファイルを該当するサーバからダウンロードして不揮発性メモリ８に書き込む一方、不揮発性メモリ８に記憶されている電話番号８１を読み出して当該サーバ装置へ送信する。
【００２６】
また、ＣＰＵ６は、操作部４の操作内容がＪＡＭの起動を指示する内容の場合、不揮発性メモリ８からＪＡＭプログラム８６を読み出して実行するとともに、バッファ７２及びキー情報領域７３をＲＡＭ７に確保する。以下に述べる処理は、特記しない限り、ＪＡＭプログラム８６を用いて行われる。ＣＰＵ６は、不揮発性メモリ８に記憶されている全てのＪａｖａアプリのＡＤファイルから名称文字列とＵＲＬ文字列とを抽出し、これらの名称文字列で表されるＪａｖａアプリの名称をディスプレイ５に一覧表示させる。また、ＣＰＵ６は、操作部４が操作されて一覧から１つの名称文字列が選択され、この名称文字列に対応したＪａｖａアプリの起動が指示されると、当該ＪａｖａアプリのＡＤファイルからＡＤファイルの格納されたＵＲＬを取り出し、それにＪａｖａアプリ提供者が定義した文字列分の長さの０値を組み合わせてキー情報領域７３に書き込む一方、ＫＶＭプログラム８４を実行し、更に、このＫＶＭプログラム８４を用いて当該Ｊａｖａアプリを起動する。この際、ＪａｖａアプリがＳＭＳメッセージの受信をトリガとした動作制御に対応している場合には、キー情報領域７３の０値がＪａｖａアプリ提供者の定義したデータに書き換えられる。それとともに、ＣＰＵ６は、このＪａｖａアプリ用の記憶領域（図示略）をＲＡＭ７に確保する。また、ＣＰＵ６は、Ｊａｖａアプリを終了させる際には、キー情報領域７３からキー情報を削除し、当該Ｊａｖａアプリ用の記憶領域を開放し、ＫＶＭプログラム８４の実行を終了する。
【００２７】
また、ＣＰＵ６は、図６に示すように、バッファ７２にデータが書き込まれると、このデータから、キー情報を抽出し、抽出したキー情報とＲＡＭ７のキー情報領域７３に書き込まれているキー情報とを比較し、両者が一致しているか否かを判定する。ＣＰＵ６は、キー情報が一致したと判定した場合、起動中のＪａｖａアプリ宛のＳＭＳメッセージを受信したことを当該Ｊａｖａアプリへ通知するための通知情報を、このＪａｖａアプリ用の記憶領域に書き込む。キー情報が一致したと判定されない場合、ＣＰＵ６は、受信したＳＭＳメッセージについて何もしない。
【００２８】
［動作］
次に、上述した構成の通信システムの動作について説明する。
まず、Ｊａｖａアプリケーションプログラムのダウンロードの動作について説明する。
移動機ＭＳ１において、操作部４が操作され、ＷＷＷブラウザの起動が指示されると、ＣＰＵ６は、不揮発性メモリ８からブラウザプログラム８３を読み出して実行する。これにより、移動機ＭＳ１においてＷＷＷブラウザが起動する。次に、操作部４が操作され、サーバ装置ＩＰから所定のＪａｖａアプリをダウンロードする旨の指示が入力されると、ＣＰＵ６は、移動通信網ＧＳＭ及びインターネットＩＮＥＴを介してサーバ装置ＩＰと通信し、このＪａｖａアプリのＪＡＲファイルおよびＡＤファイルをサーバ装置ＩＰからダウンロードし、不揮発性メモリ８に書き込む。この際、ＣＰＵ６は、不揮発性メモリ８に記憶されている電話番号８１を読み出してサーバ装置ＩＰへ送信する。この電話番号８１は後述するＳＭＳメッセージの送信先アドレスとしてサーバ装置ＩＰに記憶される。
【００２９】
次に、Ｊａｖａアプリの起動動作について説明する。
移動機ＭＳ１のＣＰＵ６は、操作部４が操作され、ＪＡＭの起動が指示されると、不揮発性メモリ８に記憶されているＪＡＭプログラム８６を読み出して実行する。以降の処理は、ＣＰＵ６がＪＡＭプログラム８６を用いて行う。ＣＰＵ６は、不揮発性メモリ８に記憶されている全てのＪａｖａアプリのＡＤファイルから、名称文字列とＵＲＬ文字列とを抽出する。次に、ＣＰＵ６は、これらの名称文字列をディスプレイ５に一覧表示させる。そして、操作部４が操作されて１つの名称文字列が選択され、この名称文字列に対応したＪａｖａアプリの起動が指示されると、ＣＰＵ６は、当該ＪａｖａアプリのＡＤファイルからＡＤファイルの格納されたＵＲＬを取り出し、それにＪａｖａアプリ提供者が定義した文字列分の長さの０値を組み合わせてキー情報とし、ＲＡＭ７に確保されたキー情報領域７３に書き込む一方、ＫＶＭプログラム８４を実行し、更に、このＫＶＭプログラム８４を用いて当該Ｊａｖａアプリを起動する。この際、ＪａｖａアプリがＳＭＳメッセージの受信をトリガとした動作制御に対応している場合には、キー情報領域７３に書き込まれた前記０値がＪａｖａアプリ提供者の定義したデータに書き換えられる。また、ＣＰＵ６はＪａｖａアプリ用のワーク領域をＲＡＭ７に確保する。この結果、図７に示すように、ＫＶＭが起動され、更にＫＶＭ上で当該Ｊａｖａアプリが起動される。また、ＣＰＵ６は、Ｊａｖａアプリを終了させる際には、キー情報領域７３からキー情報を削除する一方、ＫＶＭプログラム８４の実行を終了し、当該Ｊａｖａアプリ用にＲＡＭ７に確保された領域を開放する。
【００３０】
次に、サーバ装置ＩＰが移動機ＭＳ１にダウンロードされて起動中のＪａｖａアプリに対してトリガを供給する場合の動作について説明する。ただし、移動機ＭＳ１において、ＪＡＭが起動中であり、ＲＡＭ７にバッファ７２が確保されているものとする。
まず、予め定められた条件が満たされるか、外部から所定の情報を受け取ったことを契機として、サーバ装置ＩＰは、インターネットＩＮＥＴ及びゲートウェイノードＧＧＳＮを介してＳＭＳセンタＣへ、Ｊａｖａアプリをダウンロードした移動機ＭＳ１に対するＳＭＳメッセージの送信要求を送信する。この送信要求には、宛先の移動機ＭＳ１の電話番号、移動機ＭＳ１にて起動されるＪＡＭのアプリケーションＩＤおよびキー情報が含まれている。
【００３１】
ＳＭＳセンタＣは、サーバ装置ＩＰからの送信要求を受信し、この送信要求に基づいて、図３に示すデータ構造のＳＭＳメッセージを生成し、ゲートウェイノードＧＧＳＮへ送信する。このＳＭＳメッセージのＳＭヘッダには移動機ＭＳ１の電話番号が宛先アドレスとして含まれているから、このＳＭＳメッセージは、交換網ＰＬＭＮを介して移動機ＭＳ１へ送信され、無線区間を介して移動機ＭＳ１のＣＰＵ６により受信される。ＣＰＵ６は、受信したＳＭＳメッセージをＲＡＭ７のバッファ７１に書き込み、このＳＭＳメッセージのＷＳＰヘッダからアプリケーションＩＤを抽出する（図５のステップＳＡ１）。抽出したアプリケーションＩＤが不揮発性メモリ８に記憶されているアプリケーションＩＤ８７と異なる場合には、ＣＰＵ６は、Ｊａｖａアプリ宛のＳＭＳメッセージでないことを認識し、このＳＭＳメッセージに対して何もしない（ステップＳＡ２：ＮＯ）。ここでは、抽出したアプリケーションＩＤとアプリケーションＩＤ８７とが一致するから、ＣＰＵ６は、このＳＭＳメッセージのデータ部分をバッファ７２に書き込む（ステップＳＡ２：ＹＥＳ、及びＳＡ３）。このデータ部分の内容は図３に示す通りである。
【００３２】
以降の処理は、ＣＰＵ６がＪＡＭプログラム８６を用いて行う。ＣＰＵ６は、バッファ７２に書き込まれているデータを読み出す（図６のステップＳＢ１）。次に、ＣＰＵ６は、このデータからキー情報を抽出する（ステップＳＢ２）。ここで抽出されるキー情報の内容は図２に示すとおりである。
【００３３】
次に、ＣＰＵ６は、抽出したキー情報とＲＡＭ７のキー情報領域７３に書き込まれているキー情報とを比較し、両者が一致しているか否かを判定する（ステップＳＢ３）。この時点で起動中のＪａｖａアプリに応じて判定結果が変わる。この時点で起動中のＪａｖａアプリが、サーバ装置ＩＰがトリガを供給しようとするＪａｖａアプリである場合、キー情報領域７３には配信されたＳＭＳメッセージと同じキー情報が書き込まれているから、キー情報は一致し、この判定結果が肯定的となる（ステップＳＢ３：ＹＥＳ）。
【００３４】
肯定的な判定結果となると、ＣＰＵ６は、起動中のＪａｖａアプリ宛のＳＭＳメッセージを受信したことを当該Ｊａｖａアプリへ通知するための通知情報を、このＪａｖａアプリのためにＲＡＭ７に確保された領域に書き込むことにより、当該Ｊａｖａアプリへ通知する（ステップＳＢ４）。この通知を受けて起動中のＪａｖａアプリが所定の動作を行うことにより、Ｊａｖａアプリの挙動を変化させることができる。
【００３５】
一方、ステップＳＢ３の判定において、起動中のＪａｖａアプリが、サーバ装置ＩＰがトリガを供給しようとするＪａｖａアプリでない場合、又は起動中のＪａｖａアプリが存在しない場合、キー情報領域７３には、サーバ装置ＩＰがトリガを供給しようとするＪａｖａアプリとは異なるキー情報が書き込まれているから、又は何も書き込まれていないから、この判定結果が否定的となる（ステップＳＢ３：ＮＯ）。否定的な判定結果となると、ＣＰＵ６は、このＳＭＳメッセージに基づいては何もしない。
【００３６】
以上説明したように、本実施形態によれば、ＣＰＵ６が、不揮発性メモリ８に記憶されているＯＳソフトウェア８２及びＪＡＭプログラム８６を用いて、ＫＶＭプログラム８４を用いて起動されているＪａｖａアプリを特定するためのキー情報をＲＡＭ７のキー情報領域７３に書き込む。また、ＣＰＵ６が、ＳＭＳメッセージを受信すると、このメッセージの内容とキー情報領域７３のキー情報とが合致する場合には、このメッセージが受信されたことを表す情報を、起動されているＪａｖａアプリ用にＲＡＭ７に確保された領域に書き込む。これらのことにより、起動中のＪａｖａアプリをＯＳが管理しない移動機ＭＳにおいて、サーバ装置ＩＰとの間に通信コネクションを確立することなくサーバ装置ＩＰからのＳＭＳメッセージを受信し、起動中のアプリケーション宛のＳＭＳメッセージを受信したときに当該アプリケーションへメッセージの受信を通知することができる。
【００３７】
また、本実施形態によれば、メッセージの受信が宛先でないアプリケーションに通知されることはないから、Ｊａｖａ実行環境のように、セキュリティの確保が要求される環境を備えた移動機に用いて好適である。また、本実施形態によれば、移動機ＭＳにおける主要な機能はＪＡＭプログラム８６を用いて実現されるから、既存の移動機にＪＡＭプログラム８６を配信し、既存のＪＡＭプログラムをＪＡＭプログラム８６に置換するだけで、移動機ＭＳにおける主要な機能を既存の移動機に与えることができる。
【００３８】
また、本実施形態によれば、Ｊａｖａアプリがサーバ装置ＩＰからダウンロードされ、そのＪＡＲファイル及びＡＤファイルが不揮発性メモリ８に書き込まれる。そして、ＳＭＳメッセージの内容との比較に用いられるキー情報は、不揮発性メモリ８に記憶されているＪａｖａアプリのＪＡＲファイルおよびＡＤファイルから抽出される。よって、Ｊａｖａアプリの提供者がＳＭＳメッセージの内容との比較に用いられるキー情報を任意に指定することができる。もちろん、この効果が不要であれば、Ｊａｖａアプリに固定的にキー情報を付与し、この固定的なキー情報を用いて上記の比較に用いるようにしてもよい。
【００３９】
また、本実施形態によれば、受信したＳＭＳメッセージのＷＳＰヘッダのアプリケーションＩＤがＪＡＭに付与されたアプリケーションＩＤと一致した場合にのみ上記の比較を行う。これにより、Ｊａｖａアプリではないアプリケーション宛のＳＭＳメッセージを受信した場合にも、その受信を適切なアプリケーションへ通知することができる。もちろん、移動機ＭＳにおいて起動されるアプリケーションがＪａｖａアプリのみであれば、アプリケーションＩＤの比較を省略し、即座に上記の比較を行うようにしてもよい。
【００４０】
また、本実施形態によれば、ＳＭＳメッセージにＷＳＰヘッダにおけるアプリケーションＩＤとは別にキー情報を入れるようにしたため、移動機ＭＳにおいて宛先のＪａｖａアプリを特定することができる。このため、本実施形態では、移動通信網におけるプッシュ型のメッセージサービスとして普及しているＳＭＳを用いてアプリケーションにトリガを与えることができる。よって、移動機への実装が容易である。また、本実施形態によれば、前述のキー情報以外に、Ｊａｖａアプリの動作を制御するためのパラメータ情報をもＪａｖａアプリへ渡すようにしてもよい。これにより、多様なＪａｖａアプリの動作制御を提供することが可能となる。
【００４１】
なお、本実施形態では、通知情報をパラメータ情報とともに通知先のＪａｖａアプリ用にＲＡＭ７に確保された領域へ書き込むようにしたが、通知情報については、ＫＶＭ及びクラスライブラリが提供する一般的な割り込み機能を用いてＪａｖａアプリへ通知するようにしてもよい。ただし、この場合でも、パラメータ情報と別々にではあるものの、通知情報が通知先のＪａｖａアプリ用にＲＡＭ７に確保された領域に書き込まれることには変わりがない。
また、上述した実施形態では、Ｊａｖａアプリの起動時にＣＰＵ６がＪＡＭプログラム８６を用いて自発的にキー情報をキー情報領域７３に書き込むようにしたが、起動されたＪａｖａアプリからの要求に基づいてキー情報領域７３に書き込むようにしてもよい。
また、上述した実施形態では２つのファイルをダウンロードすることによりＪａｖａアプリをダウンロードするようにしたが、この形式に限らない。要は、これらのファイル中の情報が移動機へ渡され、移動機においてＪａｖａアプリと関連付けて管理されるようになっていればよい。
また、トリガの供給を受けるアプリケーションは、Ｊａｖａアプリに限らない。要は、親となるアプリケーション（例えばＫＶＭ）の起動を前提として子となるアプリケーション（例えばＪａｖａアプリ）の起動が為され、かつ子となるアプリケーションの起動がＯＳに把握されない、という環境であれば、本発明を適用可能である。
また、移動機ＭＳから電話機能を取り去ってもよいし、異なる方式の移動通信網に収容される移動機に適用してもよいし、固定通信網に接続された通信端末に適用してもよい。要は、通信網を介してパケット通信可能な任意の移動機に適用可能である。
【図面の簡単な説明】
【００４２】
【図１】本発明の一実施形態に係る移動機を用いた通信システムの構成を示す図である。
【図２】同通信システムにおけるキー情報のデータ構造を模式的に示す図である。
【図３】同通信システムにおけるＳＭＳメッセージのデータ構造を示す図である。
【図４】同通信システムを構成する移動機ＭＳの静的な構成を示すブロック図である。
【図５】同移動機ＭＳがＯＳソフトウェア８２を用いて行う処理の流れを示すフローチャートである。
【図６】同移動機ＭＳがＪＡＭプログラム８６を用いて行う処理の流れを示すフローチャートである。
【図７】同移動機ＭＳの動的な構成を示すブロック図である。
【符号の説明】
【００４３】
１…無線部、４…操作部、６…ＣＰＵ、７…ＲＡＭ、８…不揮発性メモリ、ＭＳ１，ＭＳ２…移動機。
【図１】
2005196271.tif 000003
【図２】
2005196271.tif 000004
【図３】
2005196271.tif 000005
【図４】
2005196271.tif 000006
【図５】
2005196271.tif 000007
【図６】
2005196271.tif 000008
【図７】
2005196271.tif 000009