(57)【要約】ＪＡＶＡ（登録商標）仮想マシンを動作させる方法は、親ＪＡＶＡ（登録商標）クラスファイルを有するモジュールをロードするステップと、前記親ＪＡＶＡ（登録商標）クラスファイル内に列記された子ＪＡＶＡ（登録商標）クラスファイルを識別するステップと、前記子ＪＡＶＡ（登録商標）クラスファイルをプリロードするステップを有する。当該方法を実行するように構成された装置は、ディジタル放送信号を受信する受信手段と、前記信号を処理する処理手段とを有し、前記処理手段はＪＡＶＡ（登録商標）仮想マシンを有する。
2005529400.tif 000002
【特許請求の範囲】
【請求項１】
親ＪＡＶＡ（登録商標）クラスファイルを有するモジュールをロードするステップと、前記親ＪＡＶＡ（登録商標）クラスファイル内に列記された子ＪＡＶＡ（登録商標）クラスファイルを識別するステップと、前記子ＪＡＶＡ（登録商標）クラスファイルをプリロードするステップとを有する、ＪＡＶＡ（登録商標）仮想マシンを動作させる方法。
【請求項２】
前記ロードするステップは、ディジタル放送信号のデータ部から前記モジュールをロードするステップを有する、請求項１に記載の方法。
【請求項３】
前記プリロードするステップは優先順位に従って実行される、請求項１又は２に記載の方法。
【請求項４】
前記親ＪＡＶＡ（登録商標）クラスファイルは前記プリロードと同時に実行される、請求項１乃至３のいずれか一項に記載の方法。
【請求項５】
前記子ＪＡＶＡ（登録商標）クラスファイル内に列記された孫ＪＡＶＡ（登録商標）クラスファイルを識別するステップを更に有する、請求項１乃至４のいずれか一項に記載の方法。
【請求項６】
前記プリロードするステップは、識別された子ＪＡＶＡ（登録商標）クラスファイルの存在を更なるモジュールに対し検査し、それに従って前記子ＪＡＶＡ（登録商標）クラスファイルをプリロードするステップを有する、請求項１乃至５のいずれか一項に記載の方法。
【請求項７】
ディジタル放送信号を受信する受信手段と、前記信号を処理する処理手段とを有し、前記処理手段はＪＡＶＡ（登録商標）仮想マシンを有する、請求項１乃至６のいずれか一項に記載の方法を実行するように構成された装置。
【請求項８】
前記装置はセットトップボックスである、請求項７に記載の装置。
【請求項９】
前記装置はディジタルテレビジョンである、請求項７に記載の装置。
【請求項１０】
前記ＪＡＶＡ（登録商標）仮想マシンはコンピュータプログラムを有する、請求項７乃至９のいずれか一項に記載の装置。
【請求項１１】
前記ＪＡＶＡ（登録商標）仮想マシンは少なくとも部分的にハードウェアで実装される、請求項７乃至９のいずれか一項に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＪＡＶＡ（登録商標）仮想マシンを動作させる方法、及び前記方法を実行するように構成された装置に関する。とりわけ前記装置は、ディジタル放送信号を受信するディジタル受信器である。
【背景技術】
【０００２】
セットトップボックスのようなディジタル受信器は、典型的にビデオ、オーディオ及びデータ成分を有するディジタル放送信号を受信する。前記データ成分は、必要なときに前記受信器によってダウンロードされるモジュールを持つ、反復的な「カルーセル（carousel）」型の方法で供給される。前記モジュールは典型的に、ＪＡＶＡ（登録商標）プログラム・スクリプトで書かれたインタラクティブなアプリケーションを含む。前記ディジタル受信器は、ＪＡＶＡ（登録商標）仮想マシン（ＪＶＭ）を備え、前記インタラクティブなアプリケーションを動作させるために該ＪＡＶＡ（登録商標）仮想マシンがリンクし実行するＪＡＶＡ（登録商標）クラスファイルを受信する。
【０００３】
しかしながら、現在放送者によって利用されている比較的低いデータ速度は、データ転送において気付くほどの遅延に導く。例えば、特定のインタラクティブなアプリケーションを要求するユーザはしばしば、前記アプリケーションが動作を開始するまでに何秒か待つ必要があり、多くの場合、前記アプリケーションが動作している間は更なる遅延を被る。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
米国特許US-A-5966162は、情報配信システム内で待ち時間の影響を隠蔽する方法及び装置を開示している。この開示された装置は、前記システム内のサーバから情報を要求及び受信するセットトップ端末を有する。前記情報は一般に、前記セットトップ端末に結合された従来のテレビジョンに表示される。前記端末は、利用者が前記セットトップ端末が実行することが可能な特定の機能を通常リモートコントローラを介して選択したときに実行されるルーチンを実行するようにプログラムされた、中央処理ユニット及び情報ストリームデコーダを含む。実行時には、前記方法はメモリから所定の画像（例えば白画面）を呼び出し、表示される画像を前記所定の画像へと徐々に見えなくする。同時に、音声の再生も無音へと徐々に聴こえなくする。前記セットトップ端末内のデコーダは、以前にデコードされたビデオからのいずれの残りの音声又はビデオ情報をも、バッファからフラッシュするようにリセットされる。最後に、新たなビデオストリームが到着しデコードされ始めると、前記セットトップ端末は、前記所定の画像から前記新たなビデオストリームへと徐々に見えるようにし、前記所定のオーディオから前記ビデオストリームに付随するオーディオストリームへと徐々に聴こえるようにする。この時点で、前記利用者の選択した機能は、通常待ち時間遅延と関連した有害な影響の表示を伴わずに、完全に実行される。しかしながら、当該特許によって提案される方法はビデオ及びオーディオストリームの受信における遅延にのみ関し、いずれにしても時間の遅延を減少させるのではなく、単に前記遅延をユーザにとってより明らかではないものとなるように隠蔽しようと試みるものである。
【０００５】
それ故本発明の目的は、既知の技術に改良を加えることにある。
【課題を解決するための手段】
【０００６】
本発明の第１の態様によれば、親（parent）ＪＡＶＡ（登録商標）クラスファイルを有するモジュールをロードするステップと、前記親ＪＡＶＡ（登録商標）クラスファイル内に列記された子（offspring）ＪＡＶＡ（登録商標）クラスファイルを識別するステップと、前記子ＪＡＶＡ（登録商標）クラスファイルをプリロード（preload）するステップとを有する、ＪＡＶＡ（登録商標）仮想マシンを動作させる方法が提供される。
【０００７】
本発明の第２の態様によれば、ディジタル放送信号を受信する受信手段と、前記信号を処理する処理手段とを有し、前記処理手段はＪＡＶＡ（登録商標）仮想マシンを有する、上述の方法を実行するように構成された装置が提供される。
【０００８】
本発明により、ＪＡＶＡ（登録商標）クラスファイルのロード及びプリロードを最適化し、その結果として時間節約を伴うようにＪＡＶＡ（登録商標）仮想マシンを動作させることが可能である。例えばディジタルテレビジョン受信器において利用される場合、このことはディジタル放送信号のデータ部のより高速な処理に帰着する。
【０００９】
有利にも、前記ロードするステップは、ディジタル放送信号のデータ部から前記モジュールをロードするステップを有する。好ましくは、前記プリロードするステップは優先順位に従って実行され、前記プリロードするステップは、識別された子ＪＡＶＡ（登録商標）クラスファイルの存在を更なるモジュールに対し検査し、それに従って前記子ＪＡＶＡ（登録商標）クラスファイルをプリロードするステップを有する。
【００１０】
親ＪＡＶＡ（登録商標）クラスファイルは前記プリロードと同時に実行されることができる。前記方法は好ましくは、子ＪＡＶＡ（登録商標）クラスファイル内に列記された孫（suboffspring）ＪＡＶＡ（登録商標）クラスファイルを識別するステップを更に有しても良い。
【００１１】
前記装置は、セットトップボックス又はディジタルテレビジョンであっても良い。有利にも、前記ＪＡＶＡ（登録商標）仮想マシンはコンピュータプログラムを有し、又は少なくとも部分的にハードウェアで実装される。
【００１２】
親、子及び孫ＪＡＶＡ（登録商標）ファイルという表現の使用は、異なるＪＡＶＡ（登録商標）ファイル間のいずれの階層関係をも意味するものではなく、他を参照する１つのＪＡＶＡ（登録商標）ファイル間の関係を定義するために使用される。他のＪＡＶＡ（登録商標）クラスファイルをリンクして実行するために該ＪＡＶＡ（登録商標）ファイルをフェッチする必要がある或るＪＡＶＡ（登録商標）クラスファイルは、子ＪＡＶＡ（登録商標）ファイルをアドレス指定する親ＪＡＶＡ（登録商標）ファイルであり得、又は孫ＪＡＶＡ（登録商標）ファイルをアドレス指定する子ＪＡＶＡ（登録商標）ファイルであり得る。
【発明を実施するための最良の形態】
【００１３】
本発明の実施例は、添付する図を参照しながら、例としてここで説明される。
【００１４】
図１において、セットトップボックス１０は、ディジタル放送信号１４を受信する受信器１２の形をとる受信手段を有する。前記セットトップボックスはまた、信号１４を処理するためのＣＰＵ１６の形をとる処理手段を有する。処理手段１６はＪＡＶＡ（登録商標）仮想マシン（ＪＶＭ）１８を有する。前記ＪＶＭはＣＰＵ１６により動作させられるコンピュータプログラムである。前記ＪＶＭはハードウェア及びオペレーティングシステムとは独立のものであり、ＪＡＶＡ（登録商標）アプレットがセットトップボックス１０により動作させられることを可能とする。
【００１５】
前記セットトップボックスはそのうえ、デコーダ２０、ＲＡＭ２２及びキャッシュメモリ２４のような従来の構成要素を含む。前記デコーダは放送信号１４を多重分離する。ビデオ成分は表示装置２６に送られ、オーディオ成分はオーディオスピーカ（図示されていない）に送られる。セットトップボックス１０のユーザは、適切なユーザインタフェースを介して、該ユーザが見たいと思うチャネルを選択し、適切なコンテンツが得られ前記ユーザに提供される。
【００１６】
前記ユーザが該ユーザのセットトップボックス１０を通して何らかのインタラクティブなアプリケーションにアクセスしたいと望む場合、ここでも当該機能は典型的にリモートコントローラであるユーザインタフェースを介して利用可能である。これらのインタラクティブなアプリケーションは、電子番組ガイド、「テレテキスト」型の情報、及び放送されている主題に関するアプリケーションのようなものである。この後者のタイプのアプリケーションは、例えばユーザがゴルフトーナメントの報道を見ている場合には、コースの各ホールの詳細な図、参加しているゴルファーについての統計、リアルタイムのスコアボード等となるであろう。例えばショッピング及び賭けのような、双方向通信を含むアプリケーションも可能である。セットトップボックス１０は、当該双方向通信を容易化するために、通常電話網を介してバックチャネルを備えられる。
【００１７】
しかしながら、これらのインタラクティブなアプリケーションを動作させるソフトウェアは、制限された帯域幅を持つ前記放送信号のデータ成分を介して、セットトップボックス１０に配信される。前記インタラクティブなアプリケーションを構成するＪＡＶＡ（登録商標）アプレットは各放送チャネルに割り当てられ、送信器によってカルーセルの形で繰り返し放送される。ユーザがインタラクティブなアプリケーションを選択すると、前記セットトップボックスは、前記アプリケーションを実行することができるために必要なＪＡＶＡ（登録商標）アプレットを取得することを開始する必要がある。
【００１８】
図２の方法は、セットトップボックス１０がインタラクティブなアプリケーションを要求したときに起動される。前記方法は最初に、少なくとも１つの親ＪＡＶＡ（登録商標）クラスファイルを有するモジュールをロードするステップ３０を有する。前記モジュールは、ディジタル放送信号１４のデータ部からロードされ、セットトップボックス１０によりキャッシュ２４にキャッシュされる。前記モジュールは、ディジタルテレビジョン信号１４の放送者によって繰り返し送信されるカルーセルを形成し、これにより信号１４のデータ部を構成する、幾つかのモジュールの１つである。
【００１９】
セットトップボックス１０により要求されたインタラクティブなアプリケーションは、幾つかのＪＡＶＡ（登録商標）クラスファイルから成り、ここで親ＪＡＶＡ（登録商標）クラスファイルは、セットトップボックス１０内のＪＡＶＡ（登録商標）仮想マシン（ＪＶＭ）によりアドレス指定される。前記親ＪＡＶＡ（登録商標）クラスファイルは、モジュール全体を構成しても良いし、又はモジュールの一部であっても良い。前記親ＪＡＶＡ（登録商標）ファイルが前記ＪＶＭによってリンクされ実行されると、更なるＪＡＶＡ（登録商標）クラスファイルがアドレス指定される。これらの子ＪＡＶＡ（登録商標）クラスファイルはキャッシュ２４中にキャッシュされた元のモジュール内にあっても良いし、又は前記カルーセルの別のモジュール内にありそれ故セットトップボックス１０によって依然ロードされるべきであるものであっても良い。
【００２０】
しかしながら、当該処理の加速を容易化するために、前記親ＪＡＶＡ（登録商標）クラスファイルがロードされると、前記親ＪＡＶＡ（登録商標）クラスファイル内に列記された子ＪＡＶＡ（登録商標）クラスファイルを識別するステップ３２が実行される。ＣＰＵ１６は前記親ＪＡＶＡ（登録商標）クラスファイルを検査し、前記親クラスファイルによってアドレス指定されることができるＪＡＶＡ（登録商標）ファイルのリストを生成する。前記子ファイルは、前記インタラクティブなアプリケーションにおいて前記ユーザによって選択された選択肢に従って動作させられるＪＡＶＡ（登録商標）コードに関連しても良く、又は前記親ＪＡＶＡ（登録商標）ファイルによって自動的に動作させられる更なるアプレットでも良い。前記親ＪＡＶＡ（登録商標）クラスファイルがリンクされ実行されると、前記子ファイルは前記インタラクティブなアプリケーションの動作の間に必要とされても良い。
【００２１】
前記親クラスファイル内に列記された子ＪＡＶＡ（登録商標）クラスファイルの識別の完了に続いて、前記子ＪＡＶＡ（登録商標）クラスファイルをプリロードするステップ３４が実行される。前記プリロードは、識別された子ＪＡＶＡ（登録商標）クラスファイルの存在を更なるモジュールに対して検査し、それに従って前記ＪＡＶＡ（登録商標）クラスファイルをプリロードするステップを有する。ＣＰＵ１６は、セットトップボックス１０がデータカルーセルを受信すると、受信器１２及びデコーダ２０を介して、該データカルーセル内に含まれる各モジュールを順に検査する。ＣＰＵ１６が、前記親ＪＡＶＡ（登録商標）クラスファイルによりアドレス指定されているものと以前に識別された子ＪＡＶＡ（登録商標）クラスファイルを含むモジュールを識別した場合、前記ＣＰＵは必要となる子ＪＡＶＡ（登録商標）アプレットを得るために当該モジュールをプリロードする。
【００２２】
前記親ＪＡＶＡ（登録商標）クラスファイルは、前記子ＪＡＶＡ（登録商標）クラスファイルのプリロードと同時に実行され、この段階は図２のステップ３６において示されている。ＣＰＵ１６において動作するＪＡＶＡ（登録商標）仮想マシン１８は、ＣＰＵ１６が前記子ファイルのプリロードを実行しているのと同時に、前記親ＪＡＶＡ（登録商標）クラスファイルをリンク及び実行する機能を持つ。このことは実質上、セットトップボックス１０が前記選択されたインタラクティブなアプリケーションを、該アプリケーションがセットトップボックス１０により前記データカルーセルから取得されると実行することを意味する。
【００２３】
それ故、例えばユーザが前記インタラクティブなアプリケーション内で更なる選択を為した場合のように、前記親ＪＡＶＡ（登録商標）クラスファイルが子クラスファイルを必要とする場合には、前記子ファイルは、該子ファイルがプリロードされていれば、ＣＰＵ１６にとって即座に利用可能となる。このことは、いずれかの子クラスファイルの一時的な利用不可能性によって引き起こされる、前記インタラクティブなアプリケーションの動作における遅延がないことを確実にする。キャッシュ２４又はＲＡＭ２２に保存されても良い前記プリロードされた子ファイルは、遅延なくＪＶＭ１８によって呼び出され、リンクされ、実行されることができる。
【００２４】
特定の状況においては、前記親ＪＡＶＡ（登録商標）クラスファイルは、未だプリロードされていない子ＪＡＶＡ（登録商標）ファイルを必要とし得る。このことが発生した場合、前記セットトップボックスは、従来のセットトップボックスと殆ど同じ方法で、所望の子ファイルが見つかるまで前記データカルーセルからモジュールを取得する。しかしながら、この遅延の発生を減少させるために、前記プリロードが優先順位に従って実行される。このことは、識別ステップ３２の高機能な特徴である。
【００２５】
前記ＣＰＵが前記親クラスファイル中に列記された子ＪＡＶＡ（登録商標）クラスファイルを識別するステップ３２を実行している間、優先順位に従ってリスト中の前記子クラスファイルを並べ替えるための当該情報の処理が実行される。当該優先順位は、前記子ファイルが前記親ＪＡＶＡ（登録商標）クラスファイルによって必要とされる順序の見込みに基づく。当該優先順位リストは次いで、前記子ＪＡＶＡ（登録商標）クラスファイルのプリロードを決定するために利用される。このことは、前記親クラスファイルが既にプリロードされていない子ファイルをアドレス指定する減少された可能性しかないことを確実にする。
【００２６】
ＪＡＶＡ（登録商標）仮想マシン１８を動作させる方法を更に拡張するため、前記子ＪＡＶＡ（登録商標）クラスファイルのプリロードに続いて、又は該プリロードと同時に、ステップ３８が実行される。このステップ３８は、前記子ＪＡＶＡ（登録商標）クラスファイル内に列記された孫ＪＡＶＡ（登録商標）クラスファイルを識別するステップを有する。前記孫ファイルを識別することによりＪＶＭ１８は、プリロードされたＪＡＶＡ（登録商標）クラスファイルがアドレス指定されると、前記孫ファイルのプリロードを即座に開始する準備ができる。このことはまた、前記インタラクティブなアプリケーションの動作中のいずれの明白な遅延の削減に導く。
【００２７】
ＪＶＭ１８はここではコンピュータプログラムとして説明されたが、同様に少なくとも部分的にハードウェアで実装されても良い。
【図面の簡単な説明】
【００２８】
【図１】表示装置に接続されたセットトップボックスの模式的な図である。
【図２】ＪＡＶＡ（登録商標）仮想マシンを動作させる方法のフロー図である。
【図１】
2005529400.tif 000003
【図２】
2005529400.tif 000004
【国際調査報告】
2005529400.tif 000005
2005529400.tif 000006
2005529400.tif 000007