(57)【特許請求の範囲】
【請求項１】
互いに関連したオブジェクトが同じモジュールにグループ化され、該モジュールをデータカルーセルによって伝送するトランスポートストリームから、オブジェクトをダウンロードしてアプリケーションに供給するオブジェクト供給装置において、
上記トランスポートストリームからダウンロードされたモジュールを記憶するモジュールメモリと、
上記モジュールメモリからのオブジェクトを保存するオブジェクトキャッシュと、
上記アプリケーションによって要求されたオブジェクトを、上記ダウンロードされたモジュール、上記モジュールメモリ又は上記オブジェクトキャッシュから該アプリケーションに供給するオブジェクト層インタフェースと、
上記モジュールメモリに記憶されているモジュールが最新のバージョンであるか否かを監視するとともに、該モジュールメモリ、上記オブジェクトキャッシュ及び上記オブジェクト層インタフェースを制御するコントローラとを備え、
上記アプリケーションが上記モジュールメモリに記憶されているモジュールに含まれているオブジェクトを要求し、該モジュールが最新のバージョンである場合、上記コントローラは、上記オブジェクト層インタフェースが該モジュールメモリからのオブジェクトを該アプリケーションに供給するように制御し、
上記アプリケーションが上記モジュールメモリに記憶されているモジュールに含まれているオブジェクトを要求し、該モジュールが最新のバージョンではない場合、上記コントローラは、上記トランスポートストリームからモジュールの最新のバージョンをダウンロードして、上記モジュールメモリに記憶されているモジュールを最新のバージョンに更新し、
上記アプリケーションが上記モジュールメモリに記憶されているモジュールに含まれているオブジェクトを要求し、該モジュールが最新のバージョンではなく、該アプリケーションが該モジュール内のオブジェクトを使用中である場合、上記コントローラは、該モジュールメモリに記憶されているモジュールを最新のバージョンに更新する前に、該アプリケーションが使用中のオブジェクトのみを上記オブジェクトキャッシュに保存することを特徴とするオブジェクト供給装置。
【請求項２】
上記コントローラは、上記トランスポートストリームで伝送されてくるモジュールの最新のバージョンに関する情報を読み取り、該情報に応じて動作することを特徴とする請求項１記載のオブジェクト供給装置。
【請求項３】
上記コントローラは、ＭＨＰ規格に基づいて、モジュールのバージョンが最新のバージョンであるか否かを監視することを特徴とする請求項１又は２記載のオブジェクト供給装置。
【請求項４】
上記オブジェクトは、ＤＳＭ−ＣＣプロトコルにおけるオブジェクトであり、上記モジュールは、ＤＳＭ−ＣＣプロトコルにおけるモジュールであることを特徴とする請求項１乃至３いずれか１項記載のオブジェクト供給装置。
【請求項５】
上記オブジェクトは、対応するＢＩＯＰメッセージを上記オブジェクトキャッシュにコピーすることによって、上記モジュールメモリから該オブジェクトキャッシュにコピーされることを特徴とする請求項４記載のオブジェクト供給装置。
【請求項６】
上記トランスポートストリームから、ダウンロードするモジュールをフィルタリングする少なくとも１つのフィルタを更に備える請求項１乃至５いずれか１項記載のオブジェクト供給装置。
【請求項７】
当該オブジェクト供給装置は、テレビジョン受信機であることを特徴とする請求項１乃至６いずれか１項記載のオブジェクト供給装置。
【請求項８】
当該オブジェクト供給装置は、ＭＨＰ規格に準拠していることを特徴とする請求項１乃至７いずれか１項記載のオブジェクト供給装置。
【請求項９】
互いに関連したオブジェクトが同じモジュールにグループ化され、該モジュールをデータカルーセルによって伝送するトランスポートストリームから、オブジェクトをダウンロードしてアプリケーションに供給するオブジェクト供給方法において、
上記アプリケーションによって要求されたオブジェクトを含むモジュールを、上記トランスポートストリームからダウンロードするステップと、
上記ダウンロードしたモジュールをモジュールメモリに記憶するステップと、
上記モジュールに記憶されているモジュールが最新のバージョンであるか否かを判定するステップと、
上記アプリケーションが上記モジュールメモリに記憶されているモジュールに含まれているオブジェクトを要求し、該モジュールが最新のバージョンである場合、該記憶されているモジュールから該オブジェクトを該アプリケーションに供給するステップと、
上記アプリケーションが上記モジュールメモリに記憶されているモジュールに含まれているオブジェクトを要求し、該モジュールが最新のバージョンではない場合、該アプリケーションが使用中のオブジェクトのみをオブジェクトキャッシュにコピーし、該モジュールの最新のバージョンをダウンロードして、上記モジュールメモリに記憶されているモジュールを該ダウンロードしたモジュールの最新のバージョンに更新するステップとを有するオブジェクト供給方法。
【請求項１０】
コンピュータにロードされて実行され、請求項１乃至８いずれか１項記載のオブジェクト供給装置又は請求項９記載のオブジェクト供給方法を実現するプログラムコードが記録されたコンピュータにより読取可能な媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ダウンロードしたオブジェクトをアプリケーションに供給するオブジェクト供給装置及びオブジェクト供給方法に関し、特に、要求されたオブジェクトをアプリケーションに供給するために、トランスポートストリームから情報をダウンロードするオブジェクト供給装置及びオブジェクト供給方法に関する。
【０００２】
【従来の技術】
データオブジェクトをエンドユーザによってダウンロードするために、データオブジェクトをトランスポートストリームによって伝送する技術が知られている。データオブジェクトは、エンドユーザによって使用されるあらゆる形式のデータを含むことができ、分散繰返し形式（distributed repetitive form）、例えばデータカルーセル（data carousel）によって伝送することができる。エンドユーザのアプリケーションが特定のデータオブジェクトを利用できるように、データオブジェクトは、多くの場合、互いにデータモジュールにグループ化されており、特定のデータオブジェクトを含むデータモジュール全体がトランスポートストリームからダウンロードされる。この環境において、サービスプロバイダは、関連したオブジェクトを一緒にそれぞれのモジュールにグループ化することができ、エンドユーザがダウンロードしたモジュールを記憶すると、関連したオブジェクトに対するアクセス時間を大幅に短縮することができる。
【０００３】
ＤＳＭ−ＣＣ（digital storage media command and control）放送プロトコルにおいては、例えばファイル、ディレクトリ等のオブジェクトは、ＤＳＭ−ＣＣプロトコルにおけるモジュール内で搬送されるＢＩＯＰメッセージの形式でエンドユーザの受信機に搬送される。これらのＤＳＭ−ＣＣプロトコルにおけるモジュールは、データカルーセルによって放送してもよく、各モジュールは複数のＭＰＥＧ−２セクションに再フォーマットされて分散形式でエンドユーザに放送され、エンドユーザ側で受信され、それぞれのモジュールに再結合される。
【０００４】
【発明が解決しようとする課題】
オブジェクトは、時間が経過すると、サービスプロバイダによって更新されることがある。このような場合、エンドユーザのアプリケーションがオブジェクトを要求したとき、そのオブジェクトの最新のバージョンが受信できることが望ましい。しかしながら、オブジェクトが更新される前に、エンドユーザが既に各モジュールをダウンロードしている場合、アプリケーションには、エンドユーザによって記憶されたモジュールに含まれるオブジェクトの古いバージョンが供給されてしまう。
【０００５】
本発明は、上述の課題に鑑みてなされたものであり、本発明の目的は、アプリケーションがオブジェクトを要求したときに、常にオブジェクトの最新のバージョンをアプリケーションに供給するとともに、アプリケーションが使用中のオブジェクトを継続して使用することができるオブジェクト供給装置及びオブジェクト供給方法を提供することである。
【０００６】
【課題を解決するための手段】
上述の課題を解決するために、本発明に係るオブジェクト供給方法は、互いに関連したオブジェクトが同じモジュールにグループ化され、モジュールをデータカルーセルによって伝送するトランスポートストリームから、オブジェクトをダウンロードしてアプリケーションに供給するオブジェクト供給装置において、アプリケーションによって要求されたオブジェクトを含むモジュールをトランスポートストリームからダウンロードするステップと、ダウンロードしたモジュールをモジュールメモリに記憶するステップと、モジュールメモリに記憶されているモジュールが最新のバージョンであるか否かを判定するステップと、アプリケーションがモジュールメモリに記憶されているモジュールに含まれているオブジェクトを要求し、このモジュールが最新のバージョンである場合、記憶されているモジュールからオブジェクトをアプリケーションに供給するステップと、アプリケーションがモジュールメモリに記憶されているモジュールに含まれているオブジェクトを要求し、このモジュールが最新のバージョンではない場合、アプリケーションが使用中のオブジェクトのみをオブジェクトキャッシュにコピーし、モジュールの最新のバージョンをダウンロードしてモジュールメモリに記憶されているモジュールをダウンロードしたモジュールの最新のバージョンに更新するステップとを有する。
【０００７】
また、上述の課題を解決するために、本発明に係るオブジェクト供給装置は、互いに関連したオブジェクトが同じモジュールにグループ化され、モジュールをデータカルーセルによって伝送するトランスポートストリームから、オブジェクトをダウンロードしてアプリケーションに供給するオブジェクト供給装置において、トランスポートストリームからダウンロードされたモジュールを記憶するモジュールメモリと、モジュールメモリからのオブジェクトを保存するオブジェクトキャッシュと、アプリケーションによって要求されたオブジェクトを、ダウンロードされたモジュール、モジュールメモリ又はオブジェクトキャッシュからアプリケーションに供給するオブジェクト層インタフェースと、モジュールメモリに記憶されているモジュールが最新のバージョンであるか否かを監視するとともに、モジュールメモリ、オブジェクトキャッシュ及びオブジェクト層インタフェースを制御するコントローラとを備える。そして、アプリケーションがモジュールメモリに記憶されているモジュールに含まれているオブジェクトを要求し、このモジュールが最新のバージョンである場合、コントローラは、オブジェクト層インタフェースがモジュールメモリからのオブジェクトをアプリケーションに供給するように制御する。また、アプリケーションがモジュールメモリに記憶されているモジュールに含まれているオブジェクトを要求し、このモジュールが最新のバージョンではない場合、コントローラは、トランスポートストリームからモジュールの最新のバージョンをダウンロードして、モジュールメモリに記憶されているモジュールを最新のバージョンに更新する。さらに、アプリケーションがモジュールメモリに記憶されているモジュールに含まれているオブジェクトを要求し、このモジュールが最新のバージョンではなく、アプリケーションがこのモジュール内のオブジェクトを使用中である場合、コントローラは、モジュールメモリに記憶されているモジュールを最新のバージョンに更新する前に、アプリケーションが使用中のオブジェクトのみをオブジェクトキャッシュに保存する。
【０００８】
上述の構成により、アプリケーションがオブジェクトを要求すると、常に、オブジェクトの最新のバージョンがアプリケーションに供給され、且つ、アプリケーションは、以前に要求した同じモジュール内の全てのオブジェクトを使用し続けることができる。
【０００９】
変形例として、アプリケーションがモジュールメモリに記憶されているモジュールに含まれているオブジェクトを要求し、このモジュールが最新のバージョンではなく、アプリケーションがこのモジュール内のオブジェクトを使用中である場合、オブジェクト供給装置は、単にモジュールの最新のバージョンをダウンロードして、以前のバージョンに加えて、モジュールの最新のバージョンを記憶してもよい。このようにしても、アプリケーションは、以前に要求したオブジェクトとのインタラクションを維持しながら、新たに要求したオブジェクトの最新のバージョンにアクセスすることができる。しかしながら、この手法では、特にモジュールが多数のオブジェクトを含み、アプリケーションが記憶されたモジュールから１つのオブジェクトしか使用しない場合等には、メモリを著しく浪費してしまう。
【００１０】
また、オブジェクト供給装置に、モジュールメモリの代わりに、オブジェクトメモリを設け、アプリケーションによって使用されているオブジェクトのみを記憶するようにしてもよい。この手法では、アプリケーションが新たなオブジェクトを要求する度に、エンドユーザは、常に、そのオブジェクトをトランスポートストリームからダウンロードするので、常に、最新のバージョンを使用することができる。しかしながら、この手法では、関連したオブジェクトが一緒にそれぞれのモジュールに含まれているときは、要求されたオブジェクトは、多くの場合、以前に記憶されているモジュールから読み出すことができるので、アクセス速度が非常に低下する。
【００１１】
したがって、本発明では、オブジェクトを、最適のアクセス時間及び少ないメモリ容量で、アプリケーションに供給することができる。
【００１２】
アプリケーションの要求は、上述のように処理されるので、アプリケーション自体は、それが使用するオブジェクトの源を知る必要がない。オブジェクトの透過キャッシングは、ハードウェア又はソフトウェアで実現されたオブジェクト層によって、達成することができる。
【００１３】
好ましくは、コントローラは、トランスポートストリームで伝送されているモジュールの最新のバージョンに関する情報を読み取り、この情報に応じて動作する。多くのシステム、例えばＤＳＭ−ＣＣデータカルーセルでの放送システムでは、データカルーセル上のモジュールの更新に関する情報は、トランスポートストリームで送信されている。コントローラは、この情報を監視して、アプリケーションが更新されたモジュールからのオブジェクトを要求したときには、上述した処理を実行することができる。
【００１４】
好ましくは、コントローラは、ＭＨＰ（Multimedia Home Platform）規格に基づいて、モジュールのバージョンが最新のバージョンであるか否かを監視する。したがって、ＭＨＰ規格に基づいた放送では、アプリケーションに常にオブジェクトの最新のバージョンが供給されるようなオブジェクトの透過キャッシングを、提供することができる。
【００１５】
好ましくは、オブジェクトは、ＤＳＭ−ＣＣプロトコルにおけるオブジェクトであり、モジュールは、ＤＳＭ−ＣＣプロトコルにおけるモジュールである。したがって、本発明は、ＤＳＭ−ＣＣプロトコルのシステムに適用することができる。
【００１６】
好ましくは、オブジェクトは、対応するＢＩＯＰメッセージをオブジェクトキャッシュにコピーすることによって、モジュールメモリからオブジェクトキャッシュにコピーされる。ＤＳＭ−ＣＣプロトコルにおけるオブジェクトは、ＢＩＯＰメッセージとしてＤＳＭ−ＣＣプロトコルにおけるモジュールに含まれるので、オブジェクトキャッシュは、オブジェクトをＢＩＯＰメッセージの形式で保存することができる。
【００１７】
本発明に係るオブジェクト供給装置は、好ましくは、トランスポートストリームからダウンロードするモジュールをフィルタリングする少なくとも１つのフィルタを備える。このフィルタリングは、ダウンロードするモジュールのセクション、例えばＭＰＥＧ−２セクションをフィルタリングすることによって達成される。したがって、トランスポートストリーム内のパケット、例えばＭＰＥＧパケットは、ダウンロードされるモジュールに関連しているか否かを判定するために、検査される。セクションフィルタは、トランスポートストリームから関連した全てのパケットをコピーし、これらを再構築して、モジュールを形成することができる。
【００１８】
好ましくは、本発明に係るオブジェクト供給装置は、テレビジョン受信機である。したがって、本発明に係るオブジェクト供給装置は、追加的なテレビジョンサービスを受信するために、テレビジョン受信機、例えば統合型テレビジョン受信機及びセットトップボックスに組み込むことができる。
【００１９】
好ましくは、本発明に係るオブジェクト供給装置は、ＭＨＰ規格に準拠するものである。
【００２０】
さらに、本発明はソフトウェアによって実現でき、記録媒体に記録することができることは、明らかである。実際、要求されたオブジェクトのモジュールをダウンロードするように構成された装置に、本発明に基づく適切なオブジェクト層を追加し、これにより、アプリケーションが記憶されているモジュール内のオブジェクトを要求し、このモジュールが最新のバージョンではない場合に、記憶されているモジュール内のアプリケーションによって使用されているオブジェクトをコピーするようにしてもよい。オブジェクト層は、透過キャッシングを提供し、これにより、アプリケーションは、コピー及びメモリアドレスの変更に関する知識を有することなく、コピーされたオブジェクトを使用し続けることができる。
【００２１】
【発明の実施の形態】
以下、本発明に係るオブジェクト供給装置及びオブジェクト供給方法について図面を参照して詳細に説明する。
【００２２】
以下では、ＤＳＭ−ＣＣ放送プロトコルに基づく具体例を用いて本発明を説明する。しかしながら、本発明は、エンドユーザのアプリケーションが使用するオブジェクトをモジュールとして伝送する如何なる方式にも適用することができる。
【００２３】
ＤＳＭ−ＣＣプロトコルにおいては、ファイルやディレクトリ等のオブジェクトは、ＢＩＯＰメッセージの形式でエンドユーザの受信機に搬送され、ＢＩＯＰメッセージは、データカルーセルのモジュール内で搬送される。このようなモジュールは、通常、複数のＢＩＯＰメッセージを含んでいる。すなわち、サービスプロバイダは、通常、関連したＢＩＯＰメッセージを同じモジュールにグループ化している。
【００２４】
ＤＳＭ−ＣＣプロトコルにおけるオブジェクトカルーセルがこのような特徴を有しているために、ＤＳＭ−ＣＣプロトコルにおけるクライアントのプロトコルスタック、すなわちダウンロードしたデータを処理する、受信機に実装されたソフトウェア層スタックは、多くの場合、「モジュールベース（module based）」で実現されている。換言すれば、受信放送トランスポートストリームからダウンロードされたデータは、元のオブジェクト又はＢＩＯＰメッセージとしてではなく、モジュールレベル、すなわち受信されたモジュール形式で記憶される。
【００２５】
受信データを、受信したモジュールの形式のままのモジュールレベルで記憶することによって、エンドユーザの装置におけるアクセス速度を高めることができる。特に、関連したオブジェクトは、通常、同じモジュールにグループ化されているため、モジュール全体をメモリに記憶すると有益である。これは、モジュールからあるオブジェクトを要求したユーザアプリケーションは、同じモジュールから他のオブジェクトを要求する確率が高いためである。そのモジュールがメモリに記憶されていると、アプリケーションは、放送トランスポートストリームからダウンロードするよりも、所望のオブジェクトに高速にアクセスできることは明らかである。
【００２６】
図１は、ＤＳＭ−ＣＣプロトコルにおけるクライアントの上述の処理のためのモジュールベースのプロトコルスタックを示す図である。
【００２７】
エンドユーザアプリケーションが実行されるクライアント層２は、例えばインデックス番号、データアドレス等の不透明参照（opaque references）によって、ＤＳＭ−ＣＣプロトコルにおけるオブジェクトを要求することができる。
【００２８】
そして、ユーザ層４に属するユーザは、あらゆるＢＩＯＰメッセージの高レベルな表現を供給する。ユーザ層４は、ファイルの読出、ディレクトリのリスト作成等、クライアントアプリケーションが呼び出すことのできるあらゆる処理を実行する。ユーザ層４は、オブジェクトカルーセル層６に対するインタフェースを司り、クライアント層２のアプリケーションによって発せられたオブジェクト要求に応じて、ロードする（又はアンロードする）ＢＩＯＰメッセージを要求する。
【００２９】
オブジェクトカルーセル層６は、あらゆるＢＩＯＰメッセージを保持し、ユーザ層４のユーザに対して、基本的なＢＩＯＰメッセージアクセスルーティンを提供する。クライアント層２におけるアプリケーションの要求に応じて、適切なＢＩＯＰメッセージを受け取るために、オブジェクトカルーセル層６は、データカルーセル層８にインタフェースし、データカルーセルのモジュールのロード又は終了（closing）を要求する。
【００３０】
データカルーセル層８は、クライアントのプロトコルスタックの最下位層であり、データカルーセルのモジュールを組み立てる役割を有する。すなわち、要求されたオブジェクトをクライアント層２のアプリケーションに供給するために、特定のモジュールが要求されたときに、データカルーセル層８は、適切なセクションフィルタ（section filter）を設定し、要求されたモジュールに関連した、ＤＳＭ−ＣＣプロトコルにおけるＢＩＯＰメッセージを搬送しているＭＰＥＧ−２セクションを抽出する。また、データカルーセル層８は、セクションフィルタが必要ではなくなったとき、このセクションフィルタを除去することもできる。
【００３１】
特定のオブジェクトをアプリケーションに供給するために、放送トランスポートストリームからそのモジュールをダウンロードし、モジュール全体を記憶する手法を「モジュールベース（module-based caching）」と呼ぶ。この手法では、動的コンテンツ、すなわち、時間的に変化するコンテンツを取り扱う場合に問題が生じる。特に、あるオブジェクトがアプリケーションによって要求され、このオブジェクトがダウンロード装置のキャッシュにおいて既に入手可能な状態にあり、且つ、オブジェクトのコンテンツが変更されている場合、キャッシュに保存されているオブジェクトが最新のバージョンであるという保証はない。
【００３２】
ここで、アプリケーションが常にオブジェクトの最新のバージョンを受け取ることが望ましいことは言うまでもない。実際、ＭＨＰ（Multimedia Home Platform）規格では、ＤＳＭ−ＣＣプロトコルにおけるプロトコルスタックは、トランスポートストリーム上で入手可能な最新のバージョンに対応するオブジェクトを返さなくてはならないと定められている。このような振舞いは、「透過キャッシング（transparent caching）」と呼ばれている。透過キャッシングを実現するためには、既にキャッシュに記憶されているモジュールは、如何なる時点においても、放送トランスポートストリームから再ダウンロードできなくてはならない。ここで、モジュールに対する参照（reference）が既に存在する場合、問題が生じる。例えばクライアント層２のアプリケーションが、そのモジュールから少なくとも１つのオブジェクトを使用している場合、これらの参照は、そのまま有効でなければならない。したがって、クライアント層２のアプリケーションがモジュールから１つ以上のオブジェクトを使用している場合、アプリケーションは、これらのオブジェクトのデータを、変更なく、使用し続けることができなくてはならない。特に、アプリケーションが、特定のオブジェクトに含まれているデータに基づいて既に実行している場合、そのデータは、アプリケーションによって実行されている動作が継続している間は、途中で変更することはできない。したがって、放送トランスポートストリームからモジュールの新たなバージョンがダウンロードされたときには、モジュールの古いバージョンを保持しておく必要がある。
【００３３】
同じモジュールの複数のバージョンをデータカルーセル層８に保持しておくと、使用されない古くなったオブジェクトのデータをメモリに不必要に記憶しておかなくてはならないため、メモリ効率が著しく低下する。さらに、このような手法では、クライアントのプロトコルスタックの下位層（データカルーセルのクライアントを実現する）がより複雑になってしまう。
【００３４】
これに代えて、ＤＳＭ−ＣＣプロトコルにおけるクライアントをオブジェクトベースで構築することもできる。換言すれば、ダウンロードされたモジュールをキャッシュするのではなく、クライアント層２のアプリケーションによって要求されたオブジェクトのみをキャッシュする。この手法をオブジェクトベースのキャッシング（object-based caching）と呼ぶ。この手法によれば、上述の透過キャッシングを容易に実現することができる。しかしながら、オブジェクトに対する新たな参照が生じると、これら全ての参照に対して、放送トランスポートストリームからモジュールをダウンロードする必要があるため、クライアント層２のアプリケーションの動作は著しく遅くなる。
【００３５】
上述した問題を解決するオブジェクト供給装置の構成を図２に示す。もちろん、このオブジェクト供給装置は、図１を用いて説明したクライアントのプロトコルスタックの形式を有するソフトウェアによって実現することもできる。
【００３６】
後述するように、ＤＳＭ−ＣＣプロトコルにおけるクライアントは、上述した２つのキャッシング法、すなわち、モジュールベースのキャッシングとオブジェクトベースのキャッシングとの混成として構成することによって、実現される。詳しくは、モジュールが古いバージョン、すなわち期限が切れている（out of date）と判定した場合、ＤＳＭ−ＣＣプロトコルにおけるクライアントのプロトコルスタックは、保持する必要があるデータ、すなわち参照されたオブジェクト又はＢＩＯＰメッセージ（実際には、この場合が多い）のみをコピーし、そして、モジュールを解放する。
【００３７】
アプリケーション１０による特定のオブジェクトの要求に応じて、図２に示すオブジェクト供給装置のオブジェクト層インタフェース１２は、モジュールメモリ１４内から要求されたオブジェクト用のＢＩＯＰメッセージを含む対応したモジュールを検索する。実際には、以前にダウンロードされ、記憶されているモジュールをレジスタに登録しておいてもよい。
【００３８】
適切なモジュールが未だモジュールメモリ１４に記憶されていない場合、受信される放送トランスポートストリーム１５から要求されたデータをダウンロードする処理が実行される。特に、１つ以上のセクションフィルタ１６を用いて、放送トランスポートストリーム１５から、所望のモジュールを再構築するために必要なセクションを抽出する。例えば、ＭＰＥＧセクションフィルタを用いて、ＤＳＭ−ＣＣプロトコルにおける要求されたモジュールを搬送しているＭＰＥＧ−２セクションを抽出する。
【００３９】
所望のモジュールが受信されたとき、オブジェクト層インタフェース１２は、そのモジュールに含まれている元の要求されたオブジェクトをアプリケーション１０に供給する。また、モジュール全体は、モジュールメモリ１４に記憶される。
【００４０】
このオブジェクト供給装置は、コントローラ１８を備えている。なお、図に示す各要素は、このオブジェクト供給装置の全体の動作に含まれる機能を図式的に示すものである。
【００４１】
コントローラ１８は、放送トランスポートストリーム１５のデータを監視し、放送トランスポートストリーム１５上の利用可能なモジュールが更新された場合、その更新を検出する。これにより、コントローラ１８は、モジュールメモリ１４に記憶されているモジュールのバージョンが新しか、古いかを判定する。図２に示すように、コントローラ１８は、放送トランスポートストリーム１５から、このバージョン情報を直接読み取っている。なお、上述したように、実際には、このバージョン情報は、適切なセクションフィルタによって得ることができる。
【００４２】
後に詳細に説明するように、コントローラ１８は、モジュールメモリ１４に記憶されているモジュールの新たなバージョンを入手可能であると判定すると、放送トランスポートストリーム１５から、このモジュールの新たなバージョンのダウンロードを開始する。このダウンロードは、モジュールの新たなバージョンが検出されると直ちに開始してもよく、あるいはオブジェクト層インタフェース１２がこのモジュールに含まれているオブジェクトにアクセスしようとしたときに一回だけ開始してもよい。
【００４３】
アプリケーション１０が更新するモジュールに含まれている１つ以上のオブジェクトを既に使用している場合、コントローラ１８は、まず、そのオブジェクト又は対応するＢＩＯＰメッセージをオブジェクトキャッシュ２０にコピーする。コントローラ１８は、アプリケーション１０がオブジェクトのデータが転送されたことを知ることなく、オブジェクトのデータを使用し続けることができるように、コピーを行ったことをオブジェクト層インタフェース１２に通知する。換言すれば、オブジェクト層インタフェース１２は、アプリケーション１０がモジュールメモリ１４からではなく、オブジェクトキャッシュ２０からオブジェクトのデータを読み出すのに必要なあらゆるアドレス変更を処理する。
【００４４】
このように、現在使用中の全てのオブジェクトは、オブジェクトキャッシュ２０に保持されるとともに、モジュールは最新のバージョンに更新され、これらのモジュールに含まれているあらゆるオブジェクトが新たに参照された場合、常に、オブジェクトの最新のバージョンが参照される。
【００４５】
上述したように、コントローラ１８は、モジュールの新たなバージョンが現れると、直ちにモジュールメモリ１４を更新してもよく、これに代えて、アプリケーション１０がそのモジュール内のオブジェクトを参照しようとしたときにのみ、モジュールメモリ１４を更新してもよい。アプリケーション１０がモジュール内の少なくとも１つのオブジェクトを既に参照しており、したがって、これから、そのモジュール内の他のオブジェクトを参照する可能性が高いということに基づいて、モジュールを、モジュールの新たなバージョンが入手可能になったときに、直ちに更新してもよい。モジュールの新たなバージョンが入手可能になったときに、直ちにモジュールを更新することによって、今後のアクセス時間を短縮することができる。一方、アプリケーション１０がそのモジュール内の更なるオブジェクトに対する参照を要求しない場合もあり、新たなバージョンが現れる毎にモジュールを更新する手法は、ある環境においては、不必要な処理を行っていることになる。
【００４６】
したがって、モジュールを更新する場合、そのとき開いているオブジェクトを、モジュールレベルではなく、オブジェクトレベルでオブジェクトキャッシュ２０に保存する。これにより、モジュールの利用可能な最新のバージョンのみが、システムメモリ、例えばモジュールメモリ１４に一時的に記憶される。これは、重要なデータ、すなわち潜在的に有用なデータのみを、ＤＳＭ−ＣＣのプロトコルスタックによって、常にキャッシュしていることを意味する。このように、このオブジェクト供給装置では、モジュールベースにおける処理速度とオブジェクトベースのキャッシングにおけるメモリ効率との両方の効果を得ることができる。オブジェクト又はＢＩＯＰメッセージをオブジェクトキャッシュ２０にコピーすることによって、オブジェクトのデータのメモリにおける記憶位置が変わるので、クライアント層２及びクライアント層２内の全てのアプリケーション１０は、オブジェクトのデータに直接アクセスすることはない。このオブジェクトのデータの記憶位置の変化に対応する処理は、オブジェクト層インタフェース１２として表されるオブジェクトカルーセル層６が担っている。
【００４７】
次に、本発明に基づく処理について図３に示すフローチャートを用いて説明する。
【００４８】
ステップ１００において、ＤＳＭ−ＣＣプロトコルにおけるオブジェクトを読み込む（load）要求がなされる。この結果、ステップ１０２において、要求されたＤＳＭ−ＣＣプロトコルにおけるオブジェクトに対応したモジュールのパラメータが検出される。これにより、オブジェクト供給装置は、要求されたモジュールを判定するために、適切なパラメータのデータベースを維持する。
【００４９】
ステップ１０４において、モジュールがキャッシュ、例えばモジュールメモリ１４に記憶されているか否かが判定される。
【００５０】
このモジュールが、以前にダウンロードされておらず、したがって、記憶されていない場合、処理は、ステップ１０６に進み、このステップ１０６において、モジュールがダウンロードされて、モジュールメモリ１４に記憶される。そして、ステップ１０８において、要求されたＤＳＭ−ＣＣプロトコルにおけるオブジェクトに必要なデータがアプリケーション１０に返される。
【００５１】
一方、ステップ１０４において、要求されたモジュールがモジュールメモリ１４に記憶されていると判定された場合、処理はステップ１１０に進む。ステップ１１０において、モジュールメモリ１４内の所望のモジュールが最新のバージョンであるか否かが判定される。モジュールが最新のバージョンである場合、処理はステップ１０８に進み、オブジェクトのデータがアプリケーション１０に返される。
【００５２】
一方、ステップ１１０において、モジュールメモリ１４内のモジュールが最新のバージョンではないと判定された場合、処理はステップ１１２に進む。このステップ１１２において、参照されたあらゆるオブジェクト、すなわちアプリケーション１０によって既に参照されたオブジェクトは、モジュールメモリ１４に記憶されたモジュール内に含まれており、そして、例えばオブジェクトキャッシュ２０にコピーすることによって、保存される。
【００５３】
ステップ１１４において、モジュールメモリ１４のモジュールによって使用されていたメモリが解放され、処理はステップ１０６に進み、要求されたモジュールがダウンロードされる。
【００５４】
なお、オブジェクト供給装置は、上述のようにモジュール内のオブジェクトの要求を待たずに、ステップ１１０、１１２、１１４、１１６の処理を連続的に繰り返して、ダウンロードされたモジュールの最新のバージョンを常に使用できる状態にしてもよい。
【００５５】
次に、図４を用いて、具体的なシナリオを説明する。
【００５６】
このシナリオでは、アプリケーション１０は、同じモジュールで搬送される２つのオブジェクトに対する参照を既に開いている。これらのオブジェクトは、どちらもバージョンＮである。放送トランスポートストリーム１５から現在入手可能なバージョンは、Ｎ＋１である。なお、この時点で、アプリケーション１０は、この新たなバージョンＮ＋１が存在することを知らない。
【００５７】
図４（ａ）において、アプリケーション１０は、オブジェクト＃１及びオブジェクト＃２を、要求したバージョンＮのモジュールのＢＩＯＰメッセージ＃１及びＢＩＯＰメッセージ＃２によって参照している。
【００５８】
図４（ｂ）において、アプリケーション１０は、オブジェクト＃３を要求する。このとき、データカルーセル層８は、放送トランスポートストリーム１５から入手可能なモジュールのバージョンを調べ、バージョンＮ＋１が入手可能であることを検出する。
【００５９】
図４（ｃ）に示すように、データカルーセル層８は、放送トランスポートストリーム１５からモジュールの新たなバージョンＮ＋１が入手可能であることをオブジェクトカルーセル層６に通知する。これに応じて、オブジェクトカルーセル層６は、モジュールから参照されている全てのＢＩＯＰメッセージ＃１、＃２をコピーし、モジュールに対する全てのアクセスを閉じる。
【００６０】
これにより、モジュールの新たなバージョンＮ＋１を問題なくダウンロードすることができ、ダウンロードの処理が完了すると、図４（ｄ）に示すように、オブジェクト＃３に関しては最新のバージョンＮ＋１にアクセスし、オブジェクト＃１及びオブジェクト＃２については、依然として前のバージョンＮにアクセスする。
【００６１】
【発明の効果】
以上のように、本発明に係るオブジェクト供給装置は、アプリケーションがモジュールメモリに記憶されているモジュールに含まれているオブジェクトを要求し、このモジュールが最新のバージョンである場合、コントローラは、オブジェクト層インタフェースがモジュールメモリからのオブジェクトをアプリケーションに供給するように制御し、アプリケーションがモジュールメモリに記憶されているモジュールに含まれているオブジェクトを要求し、このモジュールが最新のバージョンではない場合、コントローラは、トランスポートストリームからモジュールの最新のバージョンをダウンロードして、モジュールメモリに記憶されているモジュールを最新のバージョンに更新し、アプリケーションがモジュールメモリに記憶されているモジュールに含まれているオブジェクトを要求し、このモジュールが最新のバージョンではなく、アプリケーションがこのモジュール内のオブジェクトを使用中である場合、コントローラは、モジュールメモリに記憶されているモジュールを最新のバージョンに更新する前に、アプリケーションが使用中のオブジェクトのみをオブジェクトキャッシュに保存する。これにより、常に、オブジェクトの最新のバージョンをアプリケーションに供給するとともに、アプリケーションが使用中のオブジェクトを継続して使用することができる。
【００６２】
また、本発明に係るオブジェクト供給方法は、アプリケーションがモジュールメモリに記憶されているモジュールに含まれているオブジェクトを要求し、このモジュールが最新のバージョンである場合、記憶されているモジュールからオブジェクトをアプリケーションに供給し、アプリケーションがモジュールメモリに記憶されているモジュールに含まれているオブジェクトを要求し、このモジュールが最新のバージョンではない場合、アプリケーションが使用中のオブジェクトのみをキャッシュメモリにコピーし、モジュールの最新のバージョンをダウンロードして、モジュールメモリに記憶されているモジュールをダウンロードしたモジュールの最新のバージョンに更新する。これにより、常に、オブジェクトの最新のバージョンをアプリケーションに供給するとともに、アプリケーションが使用中のオブジェクトを継続して使用することができる。
【図面の簡単な説明】
【図１】  ＤＳＭ−ＣＣプロトコルにおけるクライアントのプロトコルスタックに基づくモジュールを示す図である。
【図２】  本発明を適用したオブジェクト供給装置の構成を示す図である。
【図３】  本発明に基づくオブジェクト供給方法の処理手順を示すフローチャートである。
【図４】  オブジェクト更新のシナリオの具体例を示す図である。
【符号の説明】
１０  アプリケーション、１２  オブジェクト層インタフェース、１４  モジュールメモリ、１５  放送トランスポートストリーム、１６  セクションフィルタ、１８  コントローラ、２０  オブジェクトキャッシュ
【図１】
0003889970.tif 000002
【図２】
0003889970.tif 000003
【図３】
0003889970.tif 000004
【図４】
0003889970.tif 000005