(57)【要約】【課題】  機種の異なる複数の電子機器に同一のコンテンツを利用させるとともに、そのコンテンツを利用する電子機器の機種毎に好適なアプリケーションを実現させること。【解決手段】  ある記述言語でアプリケーションの処理手順を記述したスクリプトを該アプリケーションを実現させる電子機器の機種を示す識別子に対応付けて内包しているコンテンツを記憶した電子機器に、該コンテンツに自装置の機種を示す識別子に対応付けられているスクリプトのみを解釈させ該スクリプトに従ってアプリケーションを実現させる。【選択図】      図１４
2004265398.tif 000002
【特許請求の範囲】
【請求項１】
自機器の種別を表す識別子を格納する格納手段と、
各々電子機器の種別を表す識別子と関連付けられた複数のスクリプトを内包するコンテンツを取得する取得手段と、
前記取得したコンテンツに内包される複数のスクリプトのうち前記格納手段に格納された識別子と関連付けられたスクリプトを特定する特定手段と、
前記特定手段によって特定されたスクリプトのみを実行する実行手段と
を有する電子機器。
【請求項２】
前記複数のスクリプトは、各々共通スクリプト部と固有スクリプト部とから構成されることを特徴とする請求項１に記載の電子機器。
【請求項３】
前記取得手段は、コンテンツサーバから前記コンテンツを有線または無線通信により受信して前記格納手段に格納する
ことを特徴とする請求項１に記載の電子機器。
【請求項４】
前記格納手段に格納された前記コンテンツを近距離通信手段を用いて他の電子機器へ送信する送信手段を更に有する
ことを特徴とする請求項１に記載の電子機器。
【請求項５】
前記取得手段は、近距離通信手段を用いて他の電子機器から前記コンテンツを受信して前記格納手段に格納する
ことを特徴とする請求項１に記載の電子機器。
【請求項６】
前記電子機器は携帯電話機またはカーナビゲーション装置であって、前記複数のスクリプトは前記携帯電話機用のスクリプトと前記カーナビゲーション装置用のスクリプトとを含む
ことを特徴とする請求項１に記載の電子機器。
【請求項７】
前記コンテンツはマークアップ言語で記述されたアプリケーションプログラムである
ことを特徴とする請求項６に記載の電子機器。
【請求項８】
自機器の種別を表す識別子を格納する格納手段と、各々電子機器の種別を表す識別子と関連付けられた複数のスクリプトを内包するコンテンツとを記憶したコンピュータ装置に、
前記取得手段により取得したコンテンツに内包される前記複数のスクリプトのうち前記格納手段に格納された識別子と関連付けられたスクリプトを特定する特定手段と、
前記特定手段によって特定されたスクリプトのみを実行する実行手段と
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同一のコンテンツを複数の電子機器で利用する技術に関する。
【背景技術】
【０００２】
アプリケーションプログラムや画像データなどのコンテンツを利用可能な携帯電話機が普及している。なお、「コンテンツを利用する」とは、コンテンツがアプリケーションプログラムである場合には、そのアプリケーションプログラムを携帯電話機に実行させることを意味し、コンテンツが画像データである場合には、その画像データに応じた画像を携帯電話機に表示させることを意味している。また、この種の携帯電話機向けにコンテンツを開発し提供しているコンテンツプロバイダも多数存在している。このため、この種の携帯電話機を利用しているユーザは、多数のコンテンツプロバイダにより提供されている多様なコンテンツの中から各自のニーズに応じたコンテンツを取得し利用することができる。
【０００３】
ところで、近年、携帯電話機以外の電子機器（例えば、カーナビゲーション装置やオーディオ機器など）にもコンテンツを利用する機能を設けることが提案されている。しかしながら、この種の電子機器の市場規模は、携帯電話機の市場規模に比較して小さく、当然ながら、この種の電子機器向けのコンテンツの市場規模も携帯電話機向けのコンテンツの市場規模よりも小さくなってしまう。このため、この種の電子機器向けのコンテンツを積極的に提供しようとするコンテンツプロバイダが出現しないことが懸念される。
【０００４】
このような問題点を解決するための方策として、携帯電話機以外の電子機器に携帯電話機向けに開発されたコンテンツを利用させることが考えられる。そして、このようなことを実現するため、既存のブラウザソフトウェアを利用することや、特許文献１に開示されている技術を適用することが考えられる。
【０００５】
ブラウザソフトウェアとは、マークアップ言語の１つであるＨＴＭＬ（Hyper Text Markup Language）で記述されたコンテンツ（以下、「ＨＴＭＬコンテンツ」と称する）をＨＴＭＬ文法に従って解釈しその解釈結果に応じた画像を表示させるソフトウェアである。このようなブラウザソフトウェアを上記電子機器に記憶させておくことにより、携帯電話機向けに開発されたＨＴＭＬコンテンツを上記電子機器に利用させることが可能になる。ところで、ブラウザソフトウェアは、その種類毎にＨＴＭＬコンテンツを解釈する際の仕様の細部が異なっていることがある。このため、ＨＴＭＬコンテンツの解釈結果がブラウザソフトウェアの種類毎に異なる場合がある。このような不都合は、各ブラウザソフトウェアの仕様に応じたＨＴＭＬコードをＨＴＭＬコンテンツに予め記述しておくことで回避可能である。
【０００６】
特許文献１に開示されている技術では、ある業務を遂行するために周辺装置を使用するアプリケーションプログラムを、周辺装置の方式別に複数作成しておく。これら複数のアプリケーションプログラムのうち１つを実行形式として情報処理装置に実装し、他のアプリケーションプログラムをダイナミックリンクライブラリとして、この情報処理装置に実装する。そして、情報処理装置において実行形式のアプリケーションプログラムが起動される度に、まず、この情報処理装置のデバイスインターフェイスに接続されている周辺装置の方式を調べる。その方式が実行形式のアプリケーションプログラムに対応する場合には、このアプリケーションプログラムの実行を継続し、他のアプリケーションプログラムに対応する場合には、対応するアプリケーションプログラムを起動し、以後対応するアプリケーションプログラムに制御を移す。これにより、情報処理装置に接続されている周辺装置の方式に応じて選択的にアプリケーションプログラムを実行することが可能になる。
【特許文献１】特開２０００−５７０８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述した特許文献１に開示されている技術によれば、ある方式の周辺装置と情報処理装置とからなる電子機器と、他の方式の周辺装置と情報処理装置とからなる電子機器に、各電子機器の有する周辺装置の方式に応じて選択的にアプリケーションプログラムを実行させ、同一のアプリケーションを実現させることができる。また、既存のブラウザソフトウェアによれば、機種の異なる電子機器で同一のＨＴＭＬコンテンツを利用し、同一の画像を表示させることが可能になる。つまり、公知技術や、既存技術を適用することにより、携帯電話機向けのコンテンツを他の電子機器で利用することが可能になり、前述の問題点が解決されるかに見える。
【０００８】
しかしながら、携帯電話機向けに開発されたコンテンツの全てが他の電子機器での利用に適しているとは限らない。例えば、通話着信をユーザに通知するアプリケーションのように携帯電話機に特化したアプリケーションを実現するコンテンツを他の電子機器で利用したとしても、何の意味もない。また、公知技術や既存技術を適用したとしても、携帯電話機以外の電子機器に特化したアプリケーションを実現するコンテンツが提供されるわけではないといった問題点もある。
【０００９】
本発明は上記課題に鑑みて為されたものであり、機種の異なる複数の電子機器に同一のコンテンツを利用させるとともに、そのコンテンツを利用する電子機器の機種毎に好適なアプリケーションを実現させる技術を提供することを目的としている。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明は、自機器の種別を表す識別子を格納する格納手段と、各々電子機器の種別を表す識別子と関連付けられた複数のスクリプトを内包するコンテンツを取得する取得手段と、前記取得したコンテンツに内包される複数のスクリプトのうち前記格納手段に格納された識別子と関連付けられたスクリプトを特定する特定手段と、前記特定手段によって特定されたスクリプトのみを実行する実行手段と、を有する電子機器を提供する。
【００１１】
また、上記課題を解決するために、本発明は、自機器の種別を表す識別子を格納する格納手段と、各々電子機器の種別を表す識別子と関連付けられた複数のスクリプトを内包するコンテンツとを記憶したコンピュータ装置に、前記取得手段により取得したコンテンツに内包される前記複数のスクリプトのうち前記格納手段に格納された識別子と関連付けられたスクリプトを特定する特定手段と、前記特定手段によって特定されたスクリプトのみを実行する実行手段と、を実現させるためのプログラムを提供する。
【００１２】
このような電子機器およびプログラムによれば、コンテンツに記述されているスクリプトのうち、該コンテンツを利用する電子機器の機種を示す識別子に対応付けて該コンテンツに記述されているスクリプトのみが解釈され該スクリプトに従ってアプリケーションが実現される。
【発明の効果】
【００１３】
本発明によれば、機種の異なる複数の電子機器に同一のコンテンツを利用させるとともに、そのコンテンツを利用する電子機器の機種毎に好適なアプリケーションを実現させることが可能になるといった効果を奏する。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照しつつ本発明の実施形態について説明する。
【００１５】
［Ａ．構成］
（１：通信システムの構成）
図１は、本発明に係る電子機器の一実施形態であるカーナビゲーション装置１０および通信端末装置２０を有する通信システムの全体構成の一例を示す図である。図１に示されるコンテンツサーバ５０は、一般的なコンピュータ装置と同一のハードウェア構成を有し、インターネット４０に接続されている。このコンテンツサーバ５０は、通信端末装置２０やカーナビゲーション装置１０へ提供するためのコンテンツを記憶しており、このコンテンツをインターネット４０を介して通信端末装置２０へ送信することができる。
【００１６】
ここで、コンテンツサーバ５０に記憶されているコンテンツについて詳細に説明する。このコンテンツは、例えばＸＭＬ（eXtensible Markup Language）などの所定の記述言語で記述されたデータである。そして、このコンテンツには、電子機器の機種を特定する識別子（例えば、電子機器の型番：以下、「機種識別子」と称する）に対応付けて、その電子機器に実現させるアプリケーションの処理手順を表すデータが内包されている。このようなデータの一例としてはＪａｖａ（登録商標）Ｓｃｒｉｐｔで記述されたデータが挙げられる。以下では、このようなデータを「スクリプト」と称する。なお、本実施形態では、ＸＭＬでコンテンツが記述されている場合について説明するが、コンテンツを記述する記述言語はＸＭＬに限定されるものではなく、例えばＨＴＭＬであっても良い。
【００１７】
移動パケット通信網３０は、当該移動パケット通信網３０に収容される通信端末装置２０に対して、パケット通信サービスを提供するためのものである。この移動パケット通信網３０は、基地局３１とゲートウェイ（以下、「ＧＷ」と称する）装置３２とを有している。基地局３１は、移動パケット通信網３０のサービスエリア内に多数設置されている。この基地局３１は無線セルを形成し、この無線セルに在圏する通信端末装置２０と無線通信を行う。ＧＷ装置３２は、移動パケット通信網３０における通信プロトコルとインターネット４０における通信プロトコルとを相互変換し、移動パケット通信網３０とインターネット４０との間の通信を仲介する。
【００１８】
通信端末装置２０は、携帯電話機であり、一般的な携帯電話機能の他に、パケット通信機能、近距離無線通信機能およびＪａｖａ実行環境を備えている。通信端末装置２０は、パケット通信機能により、移動パケット通信網３０とインターネット４０とを介してコンテンツサーバ５０からコンテンツをダウンロードし記憶することができる。また、通信端末装置２０は、自装置に記憶されたコンテンツを近距離無線通信機能により、例えばＩｒＤＡ（InfraRed Data Association）やBluetooth（登録商標）などの近距離無線通信規格に従って他の電子機器へ送信することができる。また、通信端末装置２０は、オブジェクト指向のプログラミング言語の１つであるＪａｖａ（登録商標）で記述されたアプリケーションプログラム（以下、「Ｊａｖａアプリケーションプログラム」と称する）をＪａｖａ実行環境の下で実行することができる。なお、Ｊａｖａ実行環境とは、Ｊａｖａアプリケーションプログラムを構成しているＪａｖａバイトコードを解釈し実行するためのものである。
【００１９】
カーナビゲーション装置１０は、一般的なカーナビゲーション機能の他に上述した近距離無線通信機能とＪａｖａ実行環境とを備えている。この近距離無線通信機能により、カーナビゲーション装置１０は、通信端末装置２０から送信されてくるコンテンツを受信し記憶することができる。
【００２０】
本実施形態においては、通信端末装置２０およびカーナビゲーション装置１０は、自装置の機種識別子に対応付けて前述のコンテンツに内包されているスクリプトを解釈しアプリケーションを自装置に実現させるＪａｖａアプリケーションプログラムを記憶しているものとする。以下では、通信端末装置２０に記憶されているＪａｖａアプリケーションプログラムを「ＪａｖａＡＰＰ１」と称し、カーナビゲーション装置１０に記憶されているＪａｖａアプリケーションプログラムを「ＪａｖａＡＰＰ２」と称する。なお、これらのアプリケーションプログラムを記述するプログラミング言語はＪａｖａに限定されるものではなく、例えばＣ言語やＣ＋＋であっても良いことは勿論である。
【００２１】
（２：コンテンツの構成）
また、コンテンツサーバ５０に記憶されているコンテンツには、通信端末装置２０の機種識別子に対応付けて、図２に示される着信音量報知処理を通信端末装置２０に実現させるためのスクリプトが内包されており、カーナビゲーション装置１０の機種識別子に対応づけて、図３に示される車速報知処理をカーナビゲーション装置１０に実現させるためのスクリプトが内包されている。通信端末装置２０は、ＪａｖａＡＰＰ１を用いて、このコンテンツに内包されているスクリプトを解釈することにより、図４に示される報知画面を表示する。そして、通信端末装置２０は、自装置の放音する着信音の音量に応じて仮想メータ４１０を駆動させることにより、着信音量をユーザへ報知する。一方、カーナビゲーション装置１０も、ＪａｖａＡＰＰ２を用いて、このコンテンツに内包されているスクリプトを解釈することにより、図４に示される報知画面を表示する。そして、カーナビゲーション装置１０は、自装置が設置されている車輌（図示省略）の移動速度（以下、「車速」と称する）に応じて仮想メータ４１０を駆動させることにより、その車輌の車速をユーザへ報知する。
【００２２】
以下、具体的に説明する。コンテンツのデータ構造（スクリプト構造）の一例を模式的に表したものが図４である。同図に示すように、ＸＭＬスクリプト等で記述されるコンテンツは、ＸＭＬスクリプト等で記述されたコンテンツを解釈する機能を有する装置において必ず最初に解釈されるヘッダ部と、各通信端末およびカーナビゲーション装置用の複数のスクリプトとを内包している。ヘッダ部には、各通信端末および機種識別子とカーナビゲーション装置１０の機種識別子に対応づけて、図４に示される車速報知処理をカーナビゲーション装置１０の機種識別子と、実行すべきスクリプトとの対応関係が記述されている。すなわち、コンテンツが実行されると、まずヘッダ部により自装置の機種識別子に対応するスクリプトが特定され、これに続いて特定されたスクリプトのみが実行され、これ以外のスクリプトは実行されないようなデータ構造をコンテンツは有するのである。
【００２３】
各装置に対応するスクリプトは、更に図６に示すような構造を有している。すなわち、通信端末装置２０用のスクリプトＳＣＴ１は、通信端末２０において設定されている着信音量の値を取得するスクリプト部ＳＣＴ１-ｉと、取得した着信音量値を離散化する処理を記述したスクリプト部ＳＣＴ１−cと、図４に示すように離散化された値に対応する画面を表示する処理を記述したスクリプト部ＳＣＴ−ｇとから構成される。一方、カーナビゲーション装置１０用のスクリプトＳＣＴ２は、現在の車速を取得するスクリプトＳＣＴ２-ｉと、取得した車速値に離散化処理を施すスクリプトＳＣＴ２-cと、図４に示すように離散化処理をした値に対応する画面を表示するスクリプト部ＳＣＴ-gとから構成される。
【００２４】
このように、スクリプトの一部（この例ではＳＣＴ-g）を共通化することで、コンテンツが実行される装置の種類が異なっていても、共通をユーザインタフェースを実現することができる。これは、コンテンツの提供者にとってはコンテンツの普及を促進するという点で、またユーザにとっては、例えば自己の所有する携帯通信装置２０とカーナビゲーション装置１０との両方において好みのユーザインタフェースを利用することができるというという点でメリットがある。
【００２５】
図７Ａは、コンテンツのデータ構造の他の例を示したものである。このデータ構造が図５および図６に示したデータ構造と異なる点は、共通するユーザインテフェース用のスクリプトが１箇所にしか記述されていない点である。ヘッダ部において実行すべきスクリプトが決定され、各機種に対応した着信音量処理用スクリプトまたは車速取得処理用スクリプトが択一的に実行され、ここで得られた値に従ってスクリプト部ＳＣＴ-gが画面表示処理を行うのである。このようにスクリプト部ＳＣＴ-gを一箇所にのみ記述すれば、コンテンツのデータ量を減少させることができる。
【００２６】
また、上述したヘッダをコンテンツの先頭に配置する替わりに、図７Ｂに示すように、各スクリプト部の先頭に識別子を含むコード（ＩＤ１、ＩＤ２、ＩＤ３）を埋め込んでおいてもよい。この場合、原則的には先頭から順に各スクリプト部が実行されることになるが、まず各スクリプトの先頭のコードが解釈されると、埋め込まれている識別子と自装置の識別子との一致・不一致が判断され、一致する場合にのみ当該スクリプトが部が実行され、一致しない場合は当該スクリプト部を飛ばしてその次に記述されているスクリプト部が先頭からを解釈されてゆく。このようまデータ構造を採用することにより、自装置の識別子に対応付けられたスクリプト部のみを実行することができる。
【００２７】
なお、通信端末装置２０とカーナビゲーション装置１０との間の通信は、近距離無線通信に限らず、例えば、ＵＳＢ（Universal Serial Bus）規格などに準拠した有線による近距離通信であってもよい。以下の説明では、無線および有線を含めて、単に、近距離通信と言うことにする。また、通信端末装置２０は、携帯電話機に限らない。すなわち、インターネット４０を介してコンテンツサーバ５０とパケット通信するパケット通信機能と、アプリケーションプログラム実行機能と、近距離通信機能とを備えたものであれば良く、例えば、ＰＤＡ（Personal Digital Assistants）や可搬型パーソナルコンピュータなどであっても良い。また、本実施形態においては、通信端末装置２０と近距離通信する電子機器の一例としてカーナビゲーション装置について説明するが、近距離通信機能とアプリケーションプログラム実行機能とを備えた電子機器であれば良く、例えばネットワーク通信機能を備えたオーディアを機器や、いわゆる情報家電と呼ばれる家電製品であっても良い。
【００２８】
（３：通信端末装置２０の構成）
次に、通信端末装置２０の構成を、図８を参照しつつ説明する。図８に示されるように、通信端末装置２０は、制御部５１０と、表示部５２０と、操作部５３０と、無線通信部５４０と、通話処理部５５０と、赤外線通信インターフェイス（以下、「ＩＦ」と略記する）部５６０と、記憶部５７０と、これら各構成要素間のデータ授受を仲介するバス５８０とを有している。
【００２９】
制御部５１０は、例えばＣＰＵ（Central Processing Unit）であり、記憶部５７０に格納されているソフトウェアを実行することにより通信端末装置２０の各部を制御するものである。表示部５２０は、例えば液晶ディスプレイとその駆動回路であり、制御部５１０から引渡された画像データに応じた画像を表示する。操作部５３０は、数字や文字、操作指示などをユーザに入力させるための複数の操作子を備えており、これらの操作子の操作内容に応じたデータを制御部５１０へ引渡す。
【００３０】
無線通信部５４０は、図示せぬアンテナを備えており、通信端末装置２０の在圏する無線セルを形成する基地局３１と無線通信するためのものである。この無線通信部５４０は、基地局３１から送信されてくるデータを受信し、受信したデータを制御部５１０へ引渡すとともに、制御部５１０から引渡されたデータを基地局３１へ送出する。
【００３１】
通話処理部５５０は、詳細な図示は省略するが、スピーカやマイクロホンおよび音声コーディックなどを備えている。通話処理部５５０は、無線通信部５４０から引渡された通話信号を音声コーディックを用いて音声データへ変換し、この音声データに応じた音声をスピーカを用いて放音させたり、マイクロホンにより集音した音声に応じた音声データを音声コーディックを用いて通話信号へ変換し、この通話信号を無線通信部５４０へ引渡すものである。また、この通話処理部５５０は、スピーカにより放音されている着信音の音量を示す音量データを制御部５１０へ引渡すことができる。
【００３２】
赤外線通信ＩＦ部５６０は、ＩｒＤＡ規格に準拠して通信するものであり、制御部５１０の制御の下、赤外線にて他の電子機器（本実施形態では、カーナビゲーション装置１０）との間でデータを授受する。更に詳述すると、赤外線通信ＩＦ部５６０は、発光素子および受光素子と、変復調回路とを備えており、変調した赤外線を、外部機器に向けて放射することによりデータを送信する一方で、受光素子が受光した赤外線を復調することによりデータを取得する。
【００３３】
記憶部５７０は、揮発性記憶部５７１と不揮発性記憶部５７２とを有している。揮発性記憶部５７１は、例えばＲＡＭ（Random Access Memory）であり、ソフトウェアを実行中の制御部５１０によりワークエリアとして使用される。不揮発性記憶部５７２は、例えばＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）であり、通信端末装置２０の機種識別子を格納している。加えて、この不揮発性記憶部５７２には、ＯＳを制御部５１０に実現させるためのＯＳソフトウェアやＪａｖａＡＰＰ１およびＪａｖａ実行環境を制御部５１０に実現させるためのソフトウェアが格納されている。また、この不揮発性記憶部５７２には、ＪａｖａＡＰＰ１の実行過程で発生するデータを格納するための記憶領域であるスクラッチパッドが設けられている。このスクラッチパッドには、コンテンツサーバ５０からダウンロードしたコンテンツが格納される。
【００３４】
次に、Ｊａｖａ実行環境を構築するために通信端末装置２０に組み込まれているソフトウェアについて図９を参照しつつ説明する。図９は、通信端末装置２０におけるＪａｖａ実行環境を説明するための図である。この図に示されるように、通信端末装置２０には、Ｊ２ＭＥ（Java 2 platform Micro Edition）に準拠したＪａｖａ実行環境を制御部５１０に実現させるためのソフトウェアが組み込まれている。ここで、Ｊ２ＭＥとは、小型電子機器向けに定められたＪａｖａ実行環境の規格である。この通信端末装置２０に組み込まれたソフトウェアには、ＫＶＭと、ＣＬＤＣ（Connected Limited Device Configuration）クラスライブラリと、オリジナルＪａｖａ拡張プロファイルと、ＪＡＭ（Java Application Manager）とが含まれている。なお、本実施形態では、Ｊ２ＭＥに準拠したＪａｖａ実行環境を有する通信端末装置２０に本発明を適用する場合について説明するが、Ｊ２ＳＥ（Java2 Standard Edition）やＪ２ＥＥ（Java2 Enterprise Edition）に準拠したＪａｖａ実行環境を有する通信端末装置に本発明を適用するとしても勿論良い。Ｊ２ＳＥとは、パーソナルコンピュータ装置（以下、「ＰＣ」と称する）向けに定められたＪａｖａ実行環境の規格であり、Ｊ２ＥＥとは、例えばコンテンツサーバ５０のようなサーバ装置向けに定められたＪａｖａ実行環境の規格である。
【００３５】
ＫＶＭは、ＪＶＭの一種であり、携帯電話機やＰＤＡ（Personal Digital Assistance）等の小型電子機器用に設計されている。ＪＶＭとは、Ｊａｖａバイトコードを制御部５１０が解釈可能なマシン語コードに変換し、制御部５１０に実行させるためのものである。ＣＬＤＣクラスライブラリは、携帯電話機やＰＤＡなどの小型電子器機向けの汎用的な機能を提供するためのクラスライブラリである。
【００３６】
オリジナルＪａｖａ拡張プロファイルは、ＣＬＤＣクラスライブラリを基礎として携帯電話機に特化した機能を提供するためのクラスライブラリである。このオリジナルＪａｖａ拡張プロファイルには、例えば、ユーザインタフェイスＡＰＩ（Application Program Interface）、ネットワーキングＡＰＩ、スクラッチパッドＡＰＩ、着信音量取得ＡＰＩなどが含まれている。ＪａｖａＡＰＰ１を実行中の制御部５１０は、このＪａｖａＡＰＰ１を構成するＪａｖａバイトコードに従って、これらＡＰＩを呼出すことにより、これらＡＰＩの提供する機能を利用することができる。なお、本明細書および図面においては、「ＡＰＩ」はクラス（プログラム）と同義である。
【００３７】
ユーザインタフェイスＡＰＩとは、通信端末装置２０のユーザインタフェイス機能をサポートするためのＡＰＩである。ネットワーキングＡＰＩとは、ＵＲＬ（Uniform Resource Locator）により指定されたネットワークリソースへアクセスするためのＡＰＩである。スクラッチパッドＡＰＩとは、スクラッチパッドに対する書き込みや読み出しをサポートするためのＡＰＩである。更に、着信音量取得ＡＰＩは、上記ＪａｖａＡＰＰ１を実行中の制御部５１０から呼出されると、通話処理部５５０から着信音量データを取得し、この着信音量データを制御部５１０へ引渡すためのＡＰＩである。
【００３８】
ＪＡＭは、ＯＳによる制御の下で、通信端末装置２０に記憶されているＪａｖａアプリケーションプログラムの管理を行うためのソフトウェアである。具体的には、制御部５１０は、ＪＡＭに従いＪａｖａアプリケーションプログラムのインストールや削除を行う機能、不揮発性記憶部５７２に格納されているＪａｖａアプリケーションプログラムの名称をリスト表示する機能、Ｊａｖａアプリケーションプログラムの実行管理を行う機能を営む。
【００３９】
Ｊａｖａアプリケーションプログラムの実行管理を行う機能とは、Ｊａｖａアプリケーションプログラムの実行を開始したり、終了したりする機能である。例えば、ユーザにＪａｖａＡＰＰ１の実行を指示されると、まず、制御部５１０はＪＡＭに従ってＪａｖａＡＰＰ１を実行するためのワークエリアを揮発性記憶部５７１内に確保する。次に、制御部５１０は、ＪａｖａＡＰＰ１を構成しているＪａｖａバイトコードを、このワークエリアへ展開し、そのＪａｖａバイトコードをＫＶＭに従って解釈し実行する。そして、ユーザにＪａｖａＡＰＰ１の終了を指示されると制御部５１０は、ＫＶＭによるＪａｖａバイトコードの解釈および実行を終了するとともに、そのＪａｖａＡＰＰ１を実行するために確保したワークエリアを開放し、そのＪａｖａＡＰＰ１の実行を終了する。
【００４０】
図９に示されるＪａｖａ実行環境の元で、不揮発性記憶部５７２に格納されているＪａｖａＡＰＰ１を実行することにより、通信端末装置２０の制御部５１０には、以下の３つの機能が付与される。第１の機能は、コンテンツサーバ５０からコンテンツをダウンロードし、ＪａｖａＡＰＰ１に対応するスクラッチパッドへ格納する機能である。第２の機能は、上記スクラッチパッドへ格納しているコンテンツを赤外線通信ＩＦ部５６０を介してカーナビゲーション装置１０へ送信する機能である。そして、第３の機能は、上記スクラッチパッドへ格納したコンテンツに自装置の機種識別子に対応付けて内包されているスクリプトを解釈し、着信音量報知アプリケーションを実現させる機能である。
【００４１】
（４：カーナビゲーション装置１０の構成）
次いで、カーナビゲーション装置１０の構成を図１０を参照しつつ説明する。図１０に示されるように、カーナビゲーション装置１０の構成が通信端末装置２０の構成（図８参照）と異なっている点は、無線通信部５４０を有さない点と、通話処理部５５０に代えてナビゲーション処理部７５０を有する点との、２つの点のみである。
【００４２】
このナビゲーション処理部７５０は、ＧＰＳ（Global Positioning System）受信機能を備えており、定期的にＧＰＳ衛星から送信されてくる衛星電波を受信し、カーナビゲーション装置１０が設置されている車輌の現在位置（例えば、緯度および経度）を定期的に特定する。そして、ナビゲーション処理部７５０は、現在位置周辺の地図を表す地図データを読み出し、この地図と車輌を示すアイコンとを重ね合わせて表示部５２０に表示することにより、車輌の現在位置や目的地までの経路をユーザに通知するものである。また、ナビゲーション処理部７５０は、現在位置の変遷と経過時間とに基づいて車輌の車速を算出し、この車速を示す車速データを制御部５１０へ引渡すことができる。
【００４３】
また、カーナビゲーション装置１０の不揮発性記憶部５７２の格納内容は、以下の３つの点を除き、通信端末装置２０の不揮発性記憶部５７２の格納内容と同一である。第１に、通信端末装置２０の機種識別子に代えてカーナビゲーション装置１０の機種識別子が格納されている点である。第２に、ＪａｖａＡＰＰ１に代えてＪａｖａＡＰＰ２が格納されている点である。また、不揮発性記憶部５７２には、このＪａｖａＡＰＰ２に対応するスクラッチパッドも設けられている。そして、第３に、図９に示されるＪａｖａ実行環境を構築するためのソフトウェアに代えて図１１に示されるＪａｖａ実行環境を構築するためのソフトウェアが格納されている点である。以下では、図１１に示されるＪａｖａ実行環境を構築するためのソフトウェアについて説明する。
【００４４】
図１１に示されるＪａｖａ実行環境が図９のものと異なっている点は、ＫＶＭに代えてＪＶＭを有する点と、ＣＬＤＣクラスライブラリに代えてＣＤＣ（Connected Device Configuration）クラスライブラリを有する点と、オリジナルＪａｖａ拡張プロファイルに代えてカーナビゲーション装置用プロファイルを有する点と、の３つの点である。
【００４５】
ＣＤＣクラスライブラリは、カーナビゲーション装置やオーディオ機器などの中・大型の電子機器向けの汎用的な機能を提供するためのクラスライブラリである。カーナビゲーション装置用プロファイルは、ＣＤＣクラスライブラリにより提供される機能を基礎として、カーナビゲーション装置に特化した機能を提供するためのクラスライブラリである。具体的には、カーナビゲーション装置用プロファイルは、着信音量取得ＡＰＩに代えて車速取得ＡＰＩを有する点がオリジナルＪａｖａ拡張プロファイルと異なっている。この車速取得ＡＰＩは、上記ＪａｖａＡＰＰ２を実行中の制御部５１０から呼出されると、ナビゲーション処理部６５０から車速データを取得し、取得した車速データを制御部５１０へ引渡すためのＡＰＩである。
【００４６】
図１１に示されるＪａｖａ実行環境の下で、不揮発性記憶部５７２に格納されているＪａｖａＡＰＰ２を実行することにより、カーナビゲーション装置１０の制御部５１０には、以下の２つの機能が付与される。第１の機能は、通信端末装置２０から送信されてくるコンテンツを赤外線通信ＩＦ部５６０を介して受信し、ＪａｖａＡＰＰ２に対応するスクラッチパッドへ格納する機能である。第２の機能は、上記スクラッチパッドへ格納したコンテンツに自装置の機種識別子に対応付けて内包されているスクリプトを解釈し、車速報知アプリケーションを実現させる機能である。
【００４７】
［Ｂ．動作］
次に、本実施形態に係るカーナビゲーション装置１０と通信端末装置２０とが行う動作のうち、本発明に係る電子機器の特徴を顕著に示す動作についてのみ図面を参照しつつ説明する。
【００４８】
（動作例１：通信端末装置２０におけるコンテンツ管理動作）
まず、通信端末装置２０の制御部５１０がＪａｖａＡＰＰ１に従って実行するコンテンツ管理動作について図１２を参照しつつ説明する。なお、以下に説明する動作例の前提として、通信端末装置２０には、コンテンツサーバ５０からダウンロードしたコンテンツが記憶されているものとする。また、通信端末装置２０はＪａｖａＡＰＰ１を実行中であり、カーナビゲーション装置１０はＪａｖａＡＰＰ２を実行中であるものとする。
【００４９】
図１２は、コンテンツ管理動作の流れを示すフローチャートである。図１２に示されるように、ＪａｖａＡＰＰ１を実行中の制御部５１０は、まず、図１３に示すコンテンツ管理画面を表示部５２０に表示させ、このＪａｖａＡＰＰ１に対応するスクラッチパッドに格納されているコンテンツの名称を領域１０１０へ表示させる（ステップＳＣ１）。
【００５０】
図１３に示されるコンテンツ管理画面を視認したユーザは、操作部５３０を操作することにより、各種入力操作を行うことができる。具体的には、ユーザは、領域１０１０に表示されているコンテンツの名称を選択することにより、コンテンツを選択すること、終了ボタンＢ１を押下すること（以下、「終了操作」と称する）、実行ボタンＢ２を押下すること（以下、「実行操作」と称する）、送信ボタンＢ３を押下すること（以下、「送信操作」と称する）などの入力操作を行うことができる。本動作例においては、コンテンツサーバ５０からダウンロードしたコンテンツの名称が選択された後に、送信操作が行われたものとする。
【００５１】
操作部５３０を操作することにより上述した終了操作、実行操作および送信操作の何れかの入力操作が行われると、制御部５１０は、その操作内容に応じたデータを操作部５３０から取得する（ステップＳＣ２）。そして、制御部５１０は、操作部５３０から取得したデータに基づいて、いずれの入力操作が行われたかを判定する（ステップＳＣ３）。
【００５２】
終了操作が行われたと判定した場合には、制御部５１０はＪａｖａＡＰＰ１の実行を終了する。実行操作が行われたと判定した場合には、制御部５１０は、コンテンツ管理画面（図１３参照）にて選択されているコンテンツをスクラッチパッドから読み出し、このコンテンツに内包されているスクリプトを解釈し着信音量報知処理（図２参照）を実行する（ステップＳＣ４）。なお、ステップＳＣ４にて制御部５１０が実行するスクリプト解釈動作については、後に詳細に説明する。また、送信操作が行われたと判定した場合には、制御部５１０は、コンテンツ管理画面（図１３参照）にて選択されているコンテンツをスクラッチパッドから読み出して、このコンテンツのコピーを作成し、このコピーを赤外線通信ＩＦ部５６０を介してカーナビゲーション装置１０へ送信し（ステップＳＣ５）、ＪａｖａＡＰＰ１の実行を終了する。上述したように、本動作例においては、コンテンツサーバ５０からダウンロードされたコンテンツが選択され、送信操作が行われたのであるから、上述したステップＳＣ５の処理が行われる。
【００５３】
一方、カーナビゲーション装置１０の制御部５１０は、ＪａｖａＡＰＰ２を実行中であり、通信端末装置２０から送信されてきたコンテンツを赤外線通信ＩＦ部５６０を介して受信すると、このコンテンツをＪａｖａＡＰＰ２に対応するスクラッチパッドへ格納する。
【００５４】
以上に説明したように、通信端末装置２０の制御部５１０はＪａｖａＡＰＰ１に従ってコンテンツ管理動作を行うことにより、ユーザにより選択されたコンテンツがカーナビゲーション装置１０へ送信される。その結果、通信端末装置２０記憶されているコンテンツと同一のコンテンツがカーナビゲーション装置１０へ記憶される。
【００５５】
なお、本実施形態においては、コンテンツを送信することをユーザに指示された場合に、ＪａｖａＡＰＰ１を実行中の制御部５１０が、このＪａｖａＡＰＰ１に対応するスクラッチパッドに格納されているコンテンツを無条件にカーナビゲーション装置１０へ送信する場合について説明した。しかしながら、コンテンツの送信を行う前に、このコンテンツを送信先のカーナビゲーション装置１０が解釈可能であるか否かを判定させ、解釈可能であると判定された場合にのみ、コンテンツを送信するとしても勿論良い。
【００５６】
（動作例２：スクリプト解釈動作）
次いで、コンテンツ管理画面（図１３参照）において実行操作が行われた場合に、通信端末装置２０の制御部５１０がＪａｖａＡＰＰに従って実行するコンテンツ解釈動作について図１４を参照しつつ説明する。図１４に示されるように、制御部５１０は、まず、コンテンツ管理画面（図１３参照）にてユーザにより選択されたコンテンツをＪａｖａＡＰＰ１に対応するスクラッチパッドから読み出し、揮発性記憶部５７１へ展開する（ステップＳＤ１）。
【００５７】
制御部５１０は、不揮発性記憶部５７２から機種識別子を読み出し（ステップＳＤ２）、この機種識別子とステップＳＤ１にて揮発性記憶部５７１へ展開したコンテンツの内容とに基づいて実行すべきスクリプトを特定する（ステップＳＤ３）。具体的には、制御部５１０は、ステップＳＤ１で揮発性記憶部５７１へ展開したコンテンツに自装置の機種識別子に対応付けて内包されているスクリプトを実行すべきスクリプトとして特定する。なお、本実施形態においては、コンテンツを読み出した後に、機種識別子を読み出す場合の態様について説明するが、機種識別子を読み出した後にコンテンツの読み出しを行う態様であっても良いことは勿論である。
【００５８】
そして、制御部５１０は、ステップＳＤ３にて特定したスクリプトを解釈する（ステップＳＤ４）。その結果、制御部５１０は、着信音量報知処理を実行する。以下、着信音量報知処理を実行している制御部５１０の動作について詳細に説明する。
【００５９】
（動作例３：着信音量報知動作）
図２は、通信端末装置２０において、ＪａｖａＡＰＰ１を実行中の制御部５１０が、この通信端末装置２０の機種識別子に対応付けてコンテンツに内包されているスクリプトに従って実行する着信音量報知動作の流れを示すフローチャートである。図２に示されるように、制御部５１０は、まず、着信音量取得ＡＰＩを呼出し、通話処理部５５０から着信音の音量を示す着信音量データを取得する（ステップＳＡ１）。次に、制御部５１０は、ステップＳＡ１にて取得した着信音量データに応じて仮想メータ４１０を駆動させた報知画面（図４参照）を表示部５２０に表示させる（ステップＳＡ２）。そして、制御部５１０は、図４に示す報知画面において終了操作が行われたか否かを判定する（ステップＳＡ３）。以降、制御部５１０は、ステップＳＡ３の判定結果が"Ｙｅｓ"である場合には、当該コンテンツの解釈を終了し、ステップＳＡ３の判定結果が"Ｎｏ"である場合には、上述したステップＳＡ１以降の処理を繰り返し実行する。このようにして、着信音量報知アプリケーションが実現される。
【００６０】
（動作例４：カーナビゲーション装置１０におけるコンテンツ管理動作）
次に、カーナビゲーション装置１０の制御部５１０がＪａｖａＡＰＰ２に従って実行するコンテンツ管理動作について図１５を参照しつつ説明する。なお、以下に説明する動作例の前提として、カーナビゲーション装置１０には、通信端末装置２０から送信されてきたコンテンツが記憶されているものとする。
【００６１】
図１５に示されるコンテンツ管理動作が、図１２に示されるコンテンツ管理動作と異なっている点は、ユーザにより送信操作が行われた場合に実行されるステップＳＣ５（図１２参照）を有さない点のみである。これは、図１５に示されるコンテンツ管理動作のステップＳＣ１において、表示部５２０に表示されるコンテンツ管理画面（図１６参照）が送信ボタンＢ３を有さないからである。図１６に示されるコンテンツ管理画面を視認したユーザは、終了操作および実行操作のいずれかの入力操作のみを行うことができる。そして、これらの入力操作が行われた場合のカーナビゲーション装置１０の制御部５１０の動作は、夫々の入力操作が行われた場合の通信端末装置２０の制御部５１０の動作と同一であるため説明を省略する。また、カーナビゲーション装置１０において、制御部５１０がＪａｖａＡＰＰ２に従って実行するスクリプト解釈動作の流れは、通信端末装置２０において、制御部５１０がＪａｖａＡＰＰ１に従って実行するスクリプト解釈動作の流れ（図１４参照）と同一であるため、説明を省略する。但し、ステップＳＤ２（図１４参照）にて読み出される機種識別子がカーナビゲーション装置１０の機種を示す機種識別子であり、この機種識別子に対応付けてコンテンツに内包されているスクリプトがステップＳＤ３（図１４参照）にて実行すべきスクリプトとして特定されるため、以降、カーナビゲーション装置１０の制御部５１０は車速報知処理（図３）参照を実行する。
【００６２】
（動作例５：車速報知動作）
図３に示される車速報知動作の流れが図２に示される着信音量報知動作の流れと異なっている点は、ステップＳＡ１に代えてステップＳＢ１を有する点と、ステップＳＡ２に代えてステップＳＢ２を有する点との２つの点のみである。以下、この２つの点についてのみ説明する。
【００６３】
ステップＳＢ１においては、カーナビゲーション装置１０の制御部５１０は、車速取得ＡＰＩを用いて車速データをナビゲーション処理部６５０から取得する。また、ステップＳＢ２においては、制御部５１０は、ステップＳＡ１にて取得した車速データに応じて仮想メータ４１０を駆動させた報知画面（図４参照）を表示部５２０に表示させる。
【００６４】
［Ｃ．実施形態の効果］
以上に説明したように、本実施形態に係る通信端末装置２０によれば、インターネットを介して提供されているコンテンツのうち、ユーザのニーズに応じたコンテンツをユーザに自由にダウンロードさせることができるといった効果を奏する。
【００６５】
また、本実施形態に係る通信端末装置２０とカーナビゲーション装置１０とによれば、通信端末装置２０に記憶されているコンテンツのうち、カーナビゲーション装置１０で利用することをユーザに所望されたコンテンツを通信端末装置２０からカーナビゲーション装置１０へ送信し記憶させることができるといった効果も奏する。そして、通信端末装置２０では、このコンテンツをＪａｖａＡＰＰ１を用いて解釈させることにより、着信音量報知アプリケーションが実現され、カーナビゲーション装置１０では、同一のコンテンツをＪａｖａＡＰＰ２を用いて解釈させることにより、車速報知アプリケーションが実現される。すなわち、本実施形態に係る通信端末装置２０とカーナビゲーション装置１０とによれば、前者と後者とで同一のコンテンツを利用することが可能になるとともに、そのコンテンツを利用している電子機器の種類毎に好適なデータを同一の態様で報知するアプリケーションが実現されるといった効果を奏する。また、この報知を仮想スピードメータを表示することにより行うため、興趣性が向上するといった効果も奏する。
【００６６】
［Ｄ．変形例］
以上、本発明の実施形態について説明したが、本発明は係る実施形態に限定されるものではなく、その技術思想の範囲内で様々な変形が可能である。なお、変形例としては、例えば、以下のようなものが考えられる。
【００６７】
上述した実施形態では、通信端末装置２０やカーナビゲーション装置１０に、コンテンツに内包されているスクリプトを解釈するためのＪａｖａＡＰＰ１やＪａｖａＡＰＰ２を予め記憶させておく場合について説明した。しかしながら、Ｊａｖａ実行環境を備え、パケット通信機能と近距離通信機能とを有する携帯電話機に、上述したＪａｖａＡＰＰ１をインストールし、本実施形態に係る通信端末装置２０と同一の機能を付与するとしても良い。また、Ｊａｖａ実行環境を備え、近距離通信機能を有するカーナビゲーション装置に、上述したＪａｖａＡＰＰ２をインストールし、本実施形態に係るカーナビゲーション装置１０と同一の機能を付与するとしても良い。
【００６８】
具体的には、コンテンツサーバ５０に、本実施形態に係るコンテンツの他に上述したＪａｖａＡＰＰ１とＪａｖａＡＰＰ２とを記憶させておく。そして、Ｊａｖａ実行環境を備え、パケット通信機能と近距離通信機能とを有する携帯電話機に、コンテンツサーバ５０から、これらコンテンツとＪａｖａＡＰＰ１とＪａｖａＡＰＰ２とをダウンロードさせ、ＪａｖａＡＰＰ１をインストールさせるとともに、上記コンテンツとＪａｖａＡＰＰ２とをＪａｖａＡＰＰ１に対応するスクラッチパッドへ格納させる。このようにして、パケット通信機能と近距離通信機能とを有する携帯電話機にＪａｖａＡＰＰ１をインストールし、本実施形態に係る通信端末装置２０と同一の機能を付与することができる。
【００６９】
また、この携帯電話機に、Ｊａｖａ実行環境と近距離通信機能とを有するカーナビゲーション装置に上記ＪａｖａＡＰＰ２を送信し、記憶させることにより、このカーナビゲーション装置に本実施形態に係るカーナビゲーション装置１０と同一の機能を付与することができる。
【００７０】
また、例えば、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）やＦＤ（Floppy（登録商標） Disk）などのコンピュータ装置読み取り可能な記録媒体に、上述したＪａｖａＡＰＰ１やＪａｖａＡＰＰ２を記録させておき、この記録媒体を用いてＪａｖａＡＰＰ１やＪａｖａＡＰＰ２をインストールすることにより、Ｊａｖａ実行環境と近距離通信機能とを備えたコンピュータ装置に、通信端末装置２０と同一の機能や、カーナビゲーション装置１０と同一の機能を付与することも可能である。
【図面の簡単な説明】
【００７１】
【図１】本発明の実施形態に係る通信端末装置２０とカーナビゲーション装置１０を有する通信システムの構成例を示す図である。
【図２】同通信端末装置２０の制御部５１０がＪａｖａＡＰＰ１に従って実行する着信音量報知処理の流れを示すフローチャートである。
【図３】同カーナビゲーション装置１０の制御部５１０がＪａｖａＡＰＰ２に従って実行する車速報知処理の流れを示すフローチャートである。
【図４】同通信端末装置２０若しくはカーナビゲーション装置１０が表示する報知画面の一例を示す図である。
【図５】コンテンツのデータ構造の一例を示す概念図である。
【図６】各スクリプトの構造を示す概念図である。
【図７Ａ】コンテンツのデータ構造の他の例を示す概念図である。
【図７Ｂ】コンテンツのデータ構造の他の例を示す概念図である。
【図８】同通信端末装置２０の構成例を示す図である。
【図９】同通信端末装置２０に組み込まれているＪａｖａ実行環境を説明するための図である。
【図１０】同カーナビゲーション装置１０の構成例を示す図である。
【図１１】同カーナビゲーション装置１０に組み込まれているＪａｖａ実行環境を説明するための図である。
【図１２】同通信端末装置２０の制御部５１０がＪａｖａＡＰＰ１に従って実行するコンテンツ管理処理の流れを示すフローチャートである。
【図１３】同通信端末装置２０の表示部５２０に表示されるコンテンツ管理画面の一例を示す図である。
【図１４】同通信端末装置２０の制御部５１０がＪａｖａＡＰＰ１に従って実行するスクリプト解釈処理の流れを示すフローチャートである。
【図１５】同カーナビゲーション装置１０の制御部５１０がＪａｖａＡＰＰ２に従って実行するコンテンツ管理処理の流れを示すフローチャートである。
【図１６】同通信端末装置２０の表示部５２０に表示されるコンテンツ管理画面の一例を示す図である。
【符号の説明】
【００７２】
１０…カーナビゲーション装置、２０…通信端末装置、３０…移動パケット通信網、３１…基地局、３２…ＧＷ装置、４０…インターネット、５０…コンテンツサーバ、５１０…制御部、５２０…表示部、５３０…操作部、５４０…無線通信部、５５０…通話処理部、５６０…赤外線通信ＩＦ部、５７０…記憶部、５７１…揮発性記憶部、５７２…不揮発性記憶部、５８０…バス、７５０…ナビゲーション処理部。
【図１】
2004265398.tif 000003
【図２】
2004265398.tif 000004
【図３】
2004265398.tif 000005
【図４】
2004265398.tif 000006
【図５】
2004265398.tif 000007
【図６】
2004265398.tif 000008
【図７Ａ】
2004265398.tif 000009
【図７Ｂ】
2004265398.tif 000010
【図８】
2004265398.tif 000011
【図９】
2004265398.tif 000012
【図１０】
2004265398.tif 000013
【図１１】
2004265398.tif 000014
【図１２】
2004265398.tif 000015
【図１３】
2004265398.tif 000016
【図１４】
2004265398.tif 000017
【図１５】
2004265398.tif 000018
【図１６】
2004265398.tif 000019