(57)【要約】  ＭＨＰクライアント等のクライアント150でのマルチメディアサービスアプリケーション181、252による使用のため、ファイルシステム105の所望ファイル182がデータストリーム160から復元される。潜在的問題を回避し且つ計算複雑性を低減するため、クライアントのミドルウェア254のＤＳＭＣＣモジュール175が迂回される。ＤＳＭ−ＣＣカルーセルにおいて、ファイルシステムはモジュール130、140、151にて提供され、モジュールはセクション群161、163、165、167にて提供される。マルチメディアサービスアプリケーションは、セクション群を復元し且つ復元されたセクション群からモジュールを復元するように付随の識別子を用いてデータストリームをフィルタリングすることにより、所望ファイルを直接的に復元する。マルチメディアサービスアプリケーションは、復元されたモジュール内での所望ファイルの位置を示すオブジェクト鍵を用いて、復元されたモジュールから所望ファイルを復元する。
2008523693.tif 000002
【特許請求の範囲】
【請求項１】
ファイルシステムに含まれる少なくとも１つの所望ファイルを、クライアントにて受信されたデータストリームから復元する方法であって、前記ファイルシステムは複数のモジュールにて提供され、前記複数のモジュールは複数のセクションにて提供され、当該方法は：
前記クライアントにて作動するマルチメディアサービス・アプリケーションを、前記少なくとも１つの所望ファイルを前記データストリームから復元するための情報を用いて設定する設定段階であり、該情報は：（ａ）前記複数のモジュールの１つ内で前記少なくとも１つの所望ファイルを特定する第１の識別子、及び（ｂ）前記複数のモジュールの前記１つを特定する第２の識別子を含む、設定段階；
少なくとも前記複数のモジュールの前記１つが携えられているセクション群を復元し、且つ復元された前記セクション群から前記第２の識別子を使用して前記複数のモジュールの前記１つを復元するため、前記マルチメディアサービス・アプリケーションに応答して前記データストリームをフィルタリングする段階；及び
前記第１の識別子に従って、前記複数のモジュールの復元された前記１つから前記少なくとも１つの所望ファイルを復元するため、前記マルチメディアサービス・アプリケーションを使用する段階；
を有する方法。
【請求項２】
前記情報は更に：（ｃ）前記複数のモジュールの前記１つが携えられているセクション群を特定する第３の識別子を含み；且つ
前記フィルタリングする段階は、少なくとも前記複数のモジュールの前記１つが携えられているセクション群を復元するため、前記第３の識別子を使用する；
請求項１に記載の方法。
【請求項３】
前記複数のモジュールはサーバから前記クライアントにカルーセルにて伝送され；且つ
前記少なくとも１つの所望ファイルは前記カルーセルの一度のサイクルで復元される；
請求項１に記載の方法。
【請求項４】
前記データストリームは、複数のクライアントにブロードキャストされる広帯域データストリームを有する；
請求項１に記載の方法。
【請求項５】
前記マルチメディアサービス・アプリケーションは、前記クライアントのＤＳＭ−ＣＣミドルウェアが迂回されながら、前記少なくとも１つの所望ファイルを復元する；
請求項１に記載の方法。
【請求項６】
前記マルチメディアサービス・アプリケーションはマルチメディア・ホーム・プラットフォーム・アプリケーションを含む；
請求項１に記載の方法。
【請求項７】
前記ファイルシステムはＤＳＭ−ＣＣ規格に従って提供される；
請求項１に記載の方法。
【請求項８】
前記マルチメディアサービス・アプリケーションは、復元された前記セクション群が共通のバージョン識別子を有することを検証する；
請求項１に記載の方法。
【請求項９】
復元される前記セクション群は、予期されるバージョン識別子を有するセクション群に限定される；
請求項１に記載の方法。
【請求項１０】
ファイルシステムに含まれる少なくとも１つの所望ファイルを受信されたデータストリームから復元するマルチメディアサービス・アプリケーションを提供するため、少なくとも１つのプロセッサによって実行される命令を明確に具体化する少なくとも１つのプログラム記憶装置であり、
前記ファイルシステムは複数のモジュールにて提供され、前記複数のモジュールは複数のセクションにて提供され、且つ
前記マルチメディアサービス・アプリケーションは、前記少なくとも１つの所望ファイルを前記データストリームから復元するための情報を用いて設定され、該情報は：（ａ）前記複数のモジュールの１つ内で前記少なくとも１つの所望ファイルを特定する第１の識別子、及び（ｂ）前記複数のモジュールの前記１つを特定する第２の識別子を含む、
プログラム記憶装置；及び
少なくとも前記複数のモジュールの前記１つが携えられているセクション群を復元するため、前記データストリームをフィルタリングし、且つ復元された前記セクション群から前記第２の識別子を使用して前記複数のモジュールの前記１つを復元する、前記マルチメディアサービス・アプリケーションに応じたフィルタであり、
前記マルチメディアサービス・アプリケーションは、前記第１の識別子に従って、前記複数のモジュールの復元された前記１つから前記少なくとも１つの所望ファイルを復元するように設定されている、
フィルタ；
を有するクライアント装置。
【請求項１１】
前記情報は更に：（ｃ）前記複数のモジュールの前記１つが携えられているセクション群を特定する第３の識別子を含み；且つ
前記フィルタは、少なくとも前記複数のモジュールの前記１つが携えられているセクション群を復元するため、前記第３の識別子を使用する；
請求項１０に記載のクライアント装置。
【請求項１２】
前記複数のモジュールはサーバから前記クライアントにカルーセルにて伝送され；且つ
前記所望ファイルは前記カルーセルの一度のサイクルで復元される；
請求項１０に記載のクライアント装置。
【請求項１３】
前記データストリームは、複数のクライアントにブロードキャストされる広帯域データストリームを有する；
請求項１０に記載のクライアント装置。
【請求項１４】
前記マルチメディアサービス・アプリケーションは、前記クライアントのＤＳＭ−ＣＣミドルウェアが迂回されながら、前記少なくとも１つの所望ファイルを復元する；
請求項１０に記載のクライアント装置。
【請求項１５】
前記マルチメディアサービス・アプリケーションはマルチメディア・ホーム・プラットフォーム・アプリケーションを含む；
請求項１０に記載のクライアント装置。
【請求項１６】
前記ファイルシステムはＤＳＭ−ＣＣ規格に従って提供される；
請求項１０に記載のクライアント装置。
【請求項１７】
前記マルチメディアサービス・アプリケーションは、復元された前記セクション群が共通のバージョン識別子を有することを検証する；
請求項１０に記載のクライアント装置。
【請求項１８】
復元される前記セクション群は、予期されるバージョン識別子を有するセクション群に限定される；
請求項１０に記載のクライアント装置。
【請求項１９】
ファイルシステムに含まれる少なくとも１つの所望ファイルをクライアントにて受信されたデータストリームから復元する方法を実行するため、少なくとも１つのプロセッサによって実行される命令を明確に具体化する少なくとも１つのプログラム記憶装置であって、前記ファイルシステムは複数のモジュールにて提供され、前記複数のモジュールは複数のセクションにて提供され、前記方法は：
前記クライアントにて作動するマルチメディアサービス・アプリケーションを、前記少なくとも１つの所望ファイルを前記データストリームから復元するための情報を用いて設定する設定段階であり、該情報は：（ａ）前記複数のモジュールの１つ内で前記少なくとも１つの所望ファイルを特定する第１の識別子、及び（ｂ）前記複数のモジュールの前記１つを特定する第２の識別子を含む、設定段階；
少なくとも前記複数のモジュールの前記１つが携えられているセクション群を復元し、且つ復元された前記セクション群から前記第２の識別子に従って前記複数のモジュールの前記１つを復元するため、前記段階前記マルチメディアサービス・アプリケーションに応答してフィルタリングする段階；及び
前記第１の識別子に従って、前記複数のモジュールの復元された前記１つから前記少なくとも１つの所望ファイルを復元するため、前記マルチメディアサービス・アプリケーションを使用する段階；
を有する、少なくとも１つのプログラム記憶装置。
【請求項２０】
前記情報は更に：（ｃ）前記複数のモジュールの前記１つが携えられているセクション群を特定する第３の識別子を含み；且つ
前記フィルタリングする段階は、少なくとも前記複数のモジュールの前記１つが携えられているセクション群を復元するため、前記第３の識別子を使用する；
請求項１９に記載の少なくとも１つのプログラム記憶装置。
【請求項２１】
クライアントにて受信されたデータストリームから復元された、ファイルシステムに含まれるファイルを検証する方法であって、前記ファイルシステムは複数のモジュールにて提供され、前記複数のモジュールは複数のセクションにて提供され、当該方法は：
前記クライアントにて作動するマルチメディアサービス・アプリケーションを、少なくとも１つの所望ファイルを前記データストリームから復元するための情報を用いて設定する設定段階；
少なくとも前記複数のモジュールの１つが携えられているセクション群を復元し、且つ復元された前記セクション群から前記複数のモジュールの前記１つを復元するため、前記マルチメディアサービス・アプリケーションに応答して前記データストリームをフィルタリングする段階；
前記複数のモジュールの復元された前記１つが妥当であることを確かめるため、復元された前記セクション群が共通のバージョン識別子を有することを検証する段階；及び
前記検証する段階に応答して、前記複数のモジュールの復元された前記１つから前記少なくとも１つの所望ファイルを復元するため、前記マルチメディアサービス・アプリケーションを使用する段階；
を有する方法。
【請求項２２】
復元される前記セクション群は、予期されるバージョン識別子を有するセクション群に限定される；
請求項２１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、マルチメディア広帯域サービスのファイルシステムに含まれるファイルをサーバからクライアントにダウンロードする方法及びシステムに関し、より具体的には、セクションフィルタを介してクライアント側でデータストリームからファイルを直接的に取り出すための合理化技術に関する。
【背景技術】
【０００２】
マルチメディア広帯域サービスは、多様なアプリケーションを提供可能なことにより、ますます多く用いられるようになってきている。これらアプリケーションは、例えば、電子番組案内、情報サービス、プレイアロング・ゲーム、電子商取引、安全商取引及び教育アプリケーションを含む。また、このようなサービスは、しばしば、マルチメディア広帯域サービスの配信のためのＩＳＯ／ＩＥＣ規格であるデジタルストレージメディア−コマンド＆コントロール（ＤＳＭ−ＣＣ）を用いている。ＤＳＭ−ＣＣは、セットトップボックス、パーソナルコンピュータ（ＰＣ）及びその他の情報機器が複数のサービス提供者からの複数のサービスにアクセスすることを可能にするオープン・プロトコルである。ＤＳＭ−ＣＣは、対話式のフロー制御ダウンロードと、非フロー制御ダウンロード若しくはブロードキャスト・ダウンロードとの双方をサポートしている。
【０００３】
さらに、マルチメディア・ホーム・プラットフォーム（ＭＨＰ）仕様は、対話式デジタルアプリケーションとそれらのアプリケーションが実行される端末との間の包括的なインターフェースを規定している。これは、デジタルコンテンツの提供者が、セットトップボックス、一体化デジタルＴＶセット及びマルチメディアＰＣを含む色々な種類の端末にアクセスすることを可能にする。ＭＨＰの基本設計概念は、リソース、システムソフトウェア及びアプリケーションのレイヤ群を含んでいる。
【０００４】
具体的には、ＭＨＰデジタルＴＶ仕様は、放送者（ブロードキャスタ）／サーバから受信者／クライアントにファイルシステムを転送するためにＤＳＭＣＣを用いる。一手法においては、クライアント側のジャバ（Ｊａｖａ（登録商標））クラスローダ及びＭＨＰアプリケーションがファイルシステムに、コード、画像及びデータを得るように要求する。アプリケーション（最高位）レベル上でＤＳＭＣＣは、ファイル及びそのコンテンツを有するディレクトリ構造へのアクセスを提供する。すなわち、アプリケーションは１つのファイルシステムを含むＤＳＭＣＣカルーセル（carousel）にアクセスするとき、ディレクトリ及びファイルを有するファイルシステムを見る。ブロードキャスト（最下位）レベルにおいて、ディレクトリ構造は、各々のモジュールが１つ又は複数のファイル及びディレクトリファイルを含む、複数のモジュールのブロードキャストを含んでいる。これらのファイル及びディレクトリは、例えば、ファイルが様々な制御メッセージ及びモジュールで編成されている場合、ＭＰＥＧ２を用いてブロードキャストされることが可能であり、また、セクション群に分けてブロードキャストされることが可能である。
【０００５】
しかしながら、幾つかのＭＨＰ実装は、特定のファイルのブロードキャストの更新を検出する際に問題を有する。なぜなら、ミドルウェアが非常に複雑であり、ＤＳＭＣＣブロードキャストが非常に複雑になり得るからである。具体的には、利用可能なミドルウェアはＤＳＭＣＣカルーセルにおけるファイル更新に伴う問題を有する。クライアントのアプリケーションがこのような検出問題に遭遇すると、新たなブロードキャストファイル及び新たなブロードキャストコンテンツを取り出すことはできない。さらに、複数のＤＳＭＣＣカルーセルを用いる場合、単一の所望ファイルにアクセスすることは、特にそのファイルがファイルシステム内で数ディレクトリ深いとき、計算的にかなり高コストになる。ＭＨＰシステムは、例えばファイルシステムを開始するなど、先ずカルーセルにマウントし、必要なファイルがどのモジュールに位置しているかを見つけ出すために全てのディレクトリファイルにアクセスしなければならない。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上述及び他の問題を解決可能な、マルチメディアブロードバンドのファイルシステムに含まれる１つ以上のファイルをクライアントにてダウンロードすることを高速化する方法及びシステムを提供すること、より具体的には、受信されたデータストリームから１つ以上の所望ファイルを、セクションフィルタによって直接的に取り出す技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に従って、ファイルシステムに含まれる少なくとも１つの所望ファイルを、クライアントにて受信されたデータストリームから復元する方法が提供される。ファイルシステムは複数のモジュールにて提供され、複数のモジュールは複数のセクションにて提供される。当該方法は、クライアントにて作動するマルチメディアサービス・アプリケーションを、少なくとも１つの所望ファイルをデータストリームから復元するための情報を用いて設定する段階を有し、該情報は：（ａ）複数のモジュールの１つ内で少なくとも１つの所望ファイルを特定する第１の識別子、及び（ｂ）複数のモジュールの１つを特定する第２の識別子を含む。当該方法は更に、複数のモジュールの前記１つが携えられているセクション群を復元し、且つ復元されたセクション群から第２の識別子を使用して複数のモジュールの前記１つを復元するため、マルチメディアサービス・アプリケーションに応答してデータストリームをフィルタリングする段階を有する。当該方法は更に、第１の識別子に従って、複数のモジュールの復元された前記１つから少なくとも１つの所望ファイルを復元するため、マルチメディアサービス・アプリケーションを使用する段階を有する。
【０００８】
本発明の更なる一態様に従って、クライアントにて受信されたデータストリームから復元された、ファイルシステムに含まれるファイルを検証する方法が提供される。ファイルシステムは複数のモジュールにて提供され、複数のモジュールは複数のセクションにて提供される。当該方法は：（ａ）クライアントにて作動するマルチメディアサービス・アプリケーションを、少なくとも１つの所望ファイルをデータストリームから復元するための情報を用いて設定する段階、（ｂ）少なくとも複数のモジュールの１つが携えられているセクション群を復元し、且つ復元されたセクション群から複数のモジュールの前記１つを復元するため、マルチメディアサービス・アプリケーションに応答してデータストリームをフィルタリングする段階、（ｃ）複数のモジュールの復元された前記１つが妥当であることを確かめるため、復元されたセクション群が共通のバージョン識別子を有することを検証する段階、及び（ｄ）上記の検証に応答して、複数のモジュールの復元された前記１つから少なくとも１つの所望ファイルを復元するため、マルチメディアサービス・アプリケーションを使用する段階を有する。
【０００９】
復元されるセクション群は、予期されるバージョン識別子を有するセクション群に限定されてもよい。
【００１０】
対応するクライアント装置及びプログラム記憶装置も提供される。
【発明を実施するための最良の形態】
【００１１】
図面全体において、対応する部分には同一の参照符号を付すこととする。
【００１２】
本発明は、例えばＭＨＰクライアント等のマルチメディアサービス・クライアントのミドルウェアを用いて、ファイルシステムのファイルを復元（リカバリ）しようと試みる時に生じる問題を解決するものである。なお、本発明はまた、ＭＨＰに関連するがＤＶＢではなくＡＴＳＣに基づいているＯＣＡＰ、米国ケーブルネットワーク用インタラクティブＴＶ規格にも適用可能である。上記の目的は、例えばＤＳＭＣＣアプリケーション・プログラミング・インターフェース（ＡＰＩ）等のミドルウェアを迂回すること、及び受信されたデータストリームから例えばＤＳＭＣＣモジュール等のファイルシステムモジュールをセクションフィルタを用いて直接的に取り出すことによって達成される。ファイルシステムのコンテンツは取り出されたモジュールから抽出されることが可能である。セクションフィルタによりＤＳＭＣＣモジュールを取り出すため、アプリケーションはＤＳＭＣＣパケット識別子（ＰＩＤ）及びモジュール識別子を使用する。また、ファイルシステムの特定のファイルを取り出すため、ファイル鍵又はオブジェクト鍵が使用される。この構成データは、例えば、データをアプリケーション内にハードコーディングすること、又は構成ファイルによってデータをハードコーディングすることによって、マルチメディアサービス・アプリケーションに提供され得る。
【００１３】
この手法の利点には、アプリケーションがＭＨＰミドルウェア更新問題を迂回することが可能になること、及びアプリケーションが如何なる位置においても全カルーセル内で一度のＤＳＭＣＣサイクルでファイルを取り出すことが可能になり、それにより処理が高速化されることが含まれる。すなわち、所望のファイルは、カルーセルのたった一度のサイクルにて復元されることができる。
【００１４】
図１は、本発明に従ったファイルシステムの転送の概略図を例示している。ブロック105及び180の双方は、（第１行）“＼application＼code.class”、（第２行）“＼images＼background.gif”、及び（第３行）“＼data＼content.txt”を示す。ブロック110は“ＤＳＭＣＣカルーセル生成器”を示す。ブロック115は“ＭＰＥＧインジェクタ”を示す。ブロック121は“ＤＳＩ”を示す。ブロック122は“ＤＩＩ１”を示す。ブロック123は“ＤＩＩ２”を示す。ブロック130は“モジュール１”である。ブロック131は“ファイル：ゲートウェイ”を示す。ブロック132は“ファイル：アプリケーション”を示す。ブロック133は“ファイル：code.class”を示す。ブロック140は“モジュール２”である。ブロック141は“ファイル：background.gif”を示す。ブロック151は“モジュール３”である。ブロック152は“ファイル：data”を示す。ブロック153は“ファイル：content.txt”を示す。ブロック161は“ＤＳＩ”を示す。ブロック162は“ビデオ”を示す。ブロック163は“ＤＩＩ１”を示す。ブロック164は“オーディオ”を示す。ブロック165は“モジュール１ａ”を示す。ブロック166は“ビデオ”を示す。ブロック167は“モジュール１ｂ”を示す。ブロック170は“セクションフィルタ”を示す。ブロック175は“クライアントのＤＳＭＣＣモジュール”を示す。ブロック181は“アプリケーション”を示す。ブロック182は“ファイル”を示す。
【００１５】
例えばＭＨＰ等のマルチメディア・クライアント・プラットフォームは、サーバから例えばセットトップボックス等の多数のクライアントに、Ｊａｖａ（登録商標）ＭＨＰアプリケーション及びそれらのデータをブロードキャストするためにＤＳＭＣＣを使用する。図１においては、サーバ及びクライアントは、それぞれ、100及び150にておおまかに示されている。ＤＳＭＣＣコンテンツは典型的に、ＤＶＢ  ＭＰＥＧトランスポートストリーム160内に埋め込まれる。取り得る一手法において、ブロードキャスタは、クライアントに配給したい関連データ及びリソースとともに、１つ又は複数の、ＭＨＰではエクスレット（xlet）と呼ばれる（インターネットドメインでのアプレットに似ている）小規模のＪａｖａ（登録商標）アプリケーションを有する。アプリケーションは、１つ又は複数のファイルシステム内で束ねられた、クラス、画像及びその他のデータを有するファイルの束を含んでいる。このようなファイルシステムは、従来のパーソナルコンピュータ（ＰＣ）で使用されるような、多数のディレクトリファイル及びその他のファイルを含んでいる。ブロック105は、サーバ100からクライアント150にブロードキャストされて転送されたファイルシステム180をもたらす元のファイルシステムの一例を表している。
【００１６】
ファイルシステム105はＤＶＢ  ＭＰＥＧトランスポートストリーム160上でクライアント150に、カルーセルを用いて連続的且つ反復的に転送されることが可能である。この作業を行うためにＤＳＭＣＣカルーセル生成器110が使用されてもよい。ブロードキャストされるべきファイルシステム105のファイルは、ディレクトリファイルを含め、低位のＤＳＭＣＣカルーセル構造120内に示されるモジュールの例130、140及び151に編成される。モジュール当たり１つ以上のファイルが使用されてもよい。ディレクトリもファイルであると見なされる。各ＤＳＭＣＣオブジェクトカルーセルはカルーセルへの入口点である１つのＤＳＩ121を有している。具体的には、ＤＳＭＣＣ規格の下のＤＳＩ（DownloadServiceInitiate）メッセージは、例えば第１のＤＩＩメッセージ122及び第２のＤＩＩメッセージ123等の幾つかのＤＩＩメッセージを有するカルーセルの最高位の制御メッセージである。ＤＳＩメッセージは、多数のＤＩＩメッセージ及びそれらに関するモジュールのグループを単一のスーパーグループへとグループ化する。ＤＳＭＣＣ規格の下のＤＩＩ（DownloadInfoIndication）メッセージは、多数のモジュール及びそれらを伝送するために使用されるパラメータの記述を格納している。同一のＤＩＩメッセージにリストアップされる如何なるモジュールも、同一グループのメンバーであると言われる。これにより、例えば何れのモジュールも単一のデータブロックの相異なる部分を携えていることにより、グループを成すモジュールをブロードキャスタが特定する手法が提供される。
【００１７】
ＤＳＩ121は第１のＤＩＩ122を指し示すとともに、ファイルシステムのゲートウェイ若しくはルートディレクトリの位置を指し示す。各ＤＩＩ122及び123は１つ又は複数のモジュールを参照する。ＤＩＩにより格納される各ディレクトリは、そのディレクトリにより格納されるファイルを携えるＤＩＩを参照する。
【００１８】
ＭＰＥＧインジェクタ115は、モジュール130、140及び151をトランスポートストリーム160内にセクションに分けて注入する。トランスポートストリームパケットは、例えば、ＤＶＢ及びＡＴＳＣの基本コンテナである。トランスポートストリームパケットの各々は、パケット識別子（ＰＩＤ）を格納するヘッダーを有する。ＰＩＤは同一の基本ストリームに属するトランスポートストリームパケットを特定する番号である。例えば、特定のチャンネルのビデオコンテンツは、このビデオコンテンツとともに使用されるように割り当てられた同一のＰＩＤを有するトランスポートストリームパケットに入れられる。オーディオコンテンツを伴うトランスポートストリームパケットは別のＰＩＤを有する。このパケット構造の最高位にて、ＭＰＥＧは、周期的にデータをブロードキャストするためのコンテナと考えられ得るセクションを規定している。各セクションは最大で４Ｋバイトのデータを格納することができる。相異なる種類のデータ（例えば、ＤＩＩ、ＤＳＩ又はモジュールデータ等）を区別するため、セクションはテーブル識別子（ＴＩＤ）と呼ばれる識別子を有する。同一のＴＩＤを有する複数のセクションを得ることができるように、セクションはセクション番号を有する。データ種類の各々は、そのセクションデータの何れの部分が一意的に、同一ＴＩＤを有する全てのセクションの中でのセクション番号を定めるかを規定する。取り得る一手法においては、ＤＳＩ121、ＤＩＩ122及び123、並びにモジュール130、140及び151は分割され、４Ｋバイトのセクションに分けてクライアント側150にブロードキャストされる。例えば、トランスポートストリームパケット161、163、165及び167はファイルシステムデータを携える一方で、トランスポートストリームパケット162、164及び166はビデオ又はオーディオデータを携える。
【００１９】
具体的な例として、クライアントのセットトップボックスがファイル‘＼application＼code.class’のコンテンツを要求することを想定する。従来、これは以下の段階群を実行する、例えばＤＳＭＣＣモジュール175を含む、クライアントのミドルウェアによって実現されてきた：
１．ＤＳＩを有するモジュールを得るためにセクションフィルタを開く、
２．ゲートウェイ（これはルートディレクトリである）の位置及び（第１の）ＤＩＩを得るためにＤＳＩを解析する、
３．ＤＩＩを取り出す、
４．ゲートウェイを有するモジュールの位置が知られるようにＤＩＩを解析する、
５．この特定のモジュールの全てのセクションを取り出す、
６．モジュールを再構築する、そして
７．モジュールからゲートウェイを得る。
【００２０】
ゲートウェイを用いて、ミドルウェアはディレクトリ‘application’が何れのＤＩＩ、モジュール（及びこのモジュール内の何れの識別子）に位置しているかを決定することができる。上記の段階群はファイル‘application’が取り出されて解析されるまで繰り返される。この時点で、最終的に、ファイル‘code.class’が位置するモジュールが判明する。再び、上記の過程を用いて、ファイル‘code.class’が取り出される。カルーセル構成に応じて、ＤＳＩ、ＤＩＩ及びモジュールは、先に取り出されたモジュールを再使用することもあるＤＳＭＣＣモジュール175にキャッシュされることができる。ＭＨＰ1.0.x仕様書（ETSI  TS101812／TAM232R27、及びその、より最近のバージョン）の付録B.4もまた、ブロードキャストＤＳＭＣＣカルーセルの低位構造の記述を、ダウンロード時間の短縮のためのキャッシング方法とともに含んでいる。
【００２１】
しかしながら、冒頭で述べられたように、ミドルウェアがトランスポートストリームからファイルシステムを復元する上述の手法は、計算的に高コストであるとともに誤りやすいものである。本発明は、クライアントのミドルウェアを用いた場合に被り得る潜在的な誤りを回避しながら、ファイル取りだし処理を高速化するものである。本発明に係る手法においては、クライアント側のマルチメディアサービスアプリケーション181に、特定のファイルのモジュール構成及び（モジュール内の）ファイル位置が提供される。この情報を用いて、アプリケーション181はクライアントのＤＳＭＣＣミドルウェアを迂回することができ、モジュールを再構築し且つ所望ファイル182を取り出すために、モジュールをセクション毎に直接的に取り出すことができる。
【００２２】
この方法は様々な利点を有する。例えば、ファイル更新の場合、新ファイルが遙かに早期に利用可能にされる。例えば、データファイルが更新されるとき、ブロードキャスタはストリーム事象を送信する。クライアントはストリーム事象を直ちに検出し、新モジュールのフィルタリングを開始する。新ファイルコンテンツはカルーセルサイクル後に利用可能にされるべきである。代わりの方法は、新ファイルコンテンツを得るための時間が相異なるミドルウェア実装で変化する場合に、ＭＨＰミドルウェアのファイル検出機構を使用することである。さらに、開示される方法は新ファイルが利用可能にされることを確実に保証することができる。ＤＳＭＣＣ機構は、特に、良好なキャッシング方式を用いる場合、かなり複雑である。ミドルウェアのバグ及び問題は、ファイル更新がミドルウェアによって検出されないため、アプリケーションを不適当に動作させることになり得る。開示される方法はこのようなミドルウェアのバグを回避するものである。
【００２３】
他の例では、ファイルディレクトリは独自仕様フォーマットのＭＰＥＧセクションに置かれてもよい。しかしながら、ＤＳＭ−ＣＣプロトコルに従ってデータをパッケージ化することが有利である。何故なら、このプロトコルは遙かに標準的であると考えられるフォーマットでデータを運ぶからである。すなわち、ＤＳＭＣＣに基づく他の規格も、ファイルを読み取る開示手法を実現する能力を有することなく、同一のファイルを読み取り且つ処理することができるかもしれない。
【００２４】
また、本発明は、ＤＳＭＣＣオブジェクトカルーセルが提供される従来のブロードキャストを用いて行われ得る。本発明は、より効率的にクライアント側で特定のファイルをブロードキャストから復元することに焦点を当てている。具体的には、例えばＭＨＰアプリケーション等のクライアントアプリケーション181は、ミドルウェアのＤＳＭＣＣ機構を迂回し、セクションフィルタ170によってブロードキャストからファイル182を直接的に取り出す。セクションフィルタ170は、特定のヘッダーを有するセクションをＭＰＥＧブロードキャストから復元するため、例えばセットトップボックス等の多くのクライアント装置に存在している機構である。一度のフィルタ処理でファイルを取り出すため、アプリケーションは、モジュール130、140及び151がブロードキャストされるセクションに付随する、例えばパケット識別子（ＰＩＤ）等の識別子を用いて設定される。アプリケーション181はまた、ブロードキャストから（モジュールを含む）全セクションがフィルタリングされ且つ復元されるように、セクションフィルタを設定するために、例えばモジュール１、２又は３といったmoduleId等、のモジュールに付随する識別子を用いて設定される。取り得る一手法においては、特定のモジュールが含まれるセクションのみが復元される。他の一手法においては、フィルタ170は全てのモジュールを復元し、その後、＜moduleId＞を用いて興味ある特定モジュールを決定する。アプリケーション181はまた、ファイルがモジュール内の何処、例えば第１、第２、第３など、に位置しているかを決定するため、‘オブジェクト鍵’識別子を用いて設定される。具体的には、ファイルはFileMessage内に置かれ、ディレクトリはDirectoryMessage内に置かれる。モジュールは１つ又は複数のFileMessage及び／又はDirectoryMessageを含んでいる。FileMessage又はDirectoryMessageは、メッセージを一意的に特定するファイル鍵とも呼ばれるオブジェクト鍵を含んでいる。故に、オブジェクト鍵はモジュール内のファイルを一意的に特定する。なお、単一のモジュールから１つ以上の所望ファイルが、対応するオブジェクト鍵又はその他の適切な識別子を用いて取得され得る。
【００２５】
取り得る他の一手法においては、各々のモジュールに１つのファイルのみが置かれることができ、その場合、モジュール内の特定のファイルを特定するためにオブジェクト鍵は必要とされない。
【００２６】
従って、セクション識別子（ＰＩＤ）、モジュール識別子（moduleId）及びオブジェクト鍵識別子（objectKey）の組み合わせが所望ファイルを一意的に定める。なおも図１の例を参照するに、クライアントは３つのファイル、すなわち、（１）＼application＼code.class、（２）＼images＼background.gif、及び（３）＼data＼content.txtを順々に復元することが可能である。また、所望ファイル毎に、クライアントアプリケーション181はデータストリームをフィルタリングし、それにより、特定のＰＩＤを有するセクションを復元し、特定のmoduleIdを有するモジュールを復元し、そして特定のobjectKeyを有する所望ファイルを復元する。モジュールを取り出すためには、＜ＰＩＤ、moduleId＞情報が必要である。モジュール内でobjectKeyがファイルを一意的に特定する。なお、ＤＳＭＣＣにおいては、ＤＩＩメッセージは互いに参照し合わない。ディレクトリはファイルリストを有しており、このファイルは＜ＰＩＤ、トランザクションＩＤ（ＤＩＩを参照する）、moduleId、objectKey＞への参照を有している。
【００２７】
さらに、アプリケーション181は、特定のモジュールの全てのセクションを有しているとき、全てのセクションが同一のバージョン番号又はその他の識別子を有することを検証するために検査を行うことができる。バージョンの不整合が存在する場合、及び検査が行われない場合、様々なモジュールバージョンからのセクションが集められ、これらのセクションを結合させることにより間違いを含むモジュールがもたらされることになる。故に、バージョン番号が整合しない場合には、アプリケーションは二度目にモジュールを取り出すことを試みるためにフィルタリングし続けたり、フィルタを再開したりする。復元されたセクションのバージョン番号が共通のバージョン識別子を有すると確認されたとき、又はマルチメディアサービスアプリケーションが、復元するセクションを予期するバージョン識別子を有するセクションに限定しているとき、再構築されるモジュールが妥当なものであることが保証され、アプリケーションは検証の成功に応答して１つ以上の所望ファイルを復元することができる。これにより、受信されたデータストリーム内で様々なバージョン番号を有するセクションが混合されることが回避される。セクションのバージョン番号は妥当なモジュールを再構築するために一致しなければならない。
【００２８】
図２は、本発明に従った、図１の転送を実現するサーバ及びクライアントのブロック図を例示している。ブロック102は“ＭＨＰ生成器”を示す。ブロック104は“ブロードキャスト制御”を示す。ブロック106は“オーディオ・ビデオ符号器”を示す。ブロック108は“マルチプレクサ”を示す。ブロック252は“ＭＨＰアプリケーション”を示す。ブロック254は“ＭＨＰミドルウェア”を示す。ブロック256は“ハードウェア・セクションフィルタ”を示す。ブロック258は“ビデオ復号器”を示す。ブロック260は“遠隔制御”を示す。ブロック262は“ビデオ出力”を示す。ブロック264は“ＴＶ”を示す。
【００２９】
サーバ100にて、ＭＨＰ生成器102はオブジェクトカルーセル及び関連するＭＨＰテーブルを有するＤＶＢストリームを生成する。オーディオ・ビデオ符号器106は符号化された音声及び映像を有するＤＶＢストリームを生成する。ブロードキャスト制御104はＭＨＰ生成器102及びオーディオ・ビデオ符号器106を制御し、ＤＶＢブロードキャストを完成させるプログラム特定情報（ＰＳＩ）／サービス情報（ＳＩ）を生成する。マルチプレクサ108は、音声、映像、ＭＨＰコンテンツ及びその他のデータを含む様々なＤＶＢストリームを多重化し、クライアント150にブロードキャストされるべき妥当且つ完全なＤＶＢストリームをもたらす。
【００３０】
クライアント／受信者150にて、図１のアプリケーション181に類似のアプリケーションを含むＭＨＰアプリケーション252は、ブロードキャストＭＨＰデータを受信し、受信されたマルチメディアデータに基づいて様々な機能を果たす。ＭＨＰミドルウェア254はクライアント150上に存在するソフトウェアスタックであり、ＭＨＰブロードキャストを取り扱ってＭＨＰアプリケーション252を実行することができる。ハードウェア・セクションフィルタ256は、定められたフィルタ設定に従ってＤＶＢセクションをフィルタリングすることが可能なハードウェア部品とし得る。アプリケーション252は、例えば、特定のＰＩＤ及びmoduleIdを有するセクションのみがアプリケーション252に通されるようにフィルタマスクを構築するなどにより、フィルタ256の設定を定めることができる。このフィルタリングは、最初にアプリケーション252がフィルタ256を設定・開始し、完全なセクション群が見出されたときに、それらセクション群がコールバック機構によってアプリケーション252に戻されるように、アプリケーション252とは非同期とすることができる。モジュールを完成させる全てのセクションが到達すると、アプリケーション252はフィルタ256を停止させ、モジュールを再構築する。受信データストリームの広い帯域幅のため、フィルタリング自体はハードウェアにて実行され得る。例えば、ＤＶＢストリームは毎秒40Mビットの速度で提供されてもよい。これは、毎秒26600個のトランスポートストリームパッケージ又はパケットに相当し、これらの各々がフィルタ216によって処理される。
【００３１】
ビデオ復号器258は選択されたサービスの音声・映像データを復号化する。ビデオ出力装置262はビデオ復号器258からの映像を、ＭＨＰミドルウェア254からのグラフィックスと混合し、ＴＶ264又はその他の表示装置へのビデオ出力信号を提供する。遠隔制御装置260は視聴者がクライアント150及びＭＨＰアプリケーション252を制御したり、それらと対話したりすることを可能にする。
【００３２】
なお、クライアント150はここに記載されるような機能を実現するためにメモリ及び処理リソースを含んでいてもよい。具体的には、少なくとも１つのプログラム記憶装置が、ここに記載される機能を実現するために少なくとも１つのプロセッサによって実行される命令を明確に具体化してもよい。例えばソフトウェア、ファームウェア及び／又はマイクロコード等の命令を格納するメモリがプログラム記憶装置と考えられてもよい。
【００３３】
以上により理解されるように、本発明は、クライアント側のマルチメディアサービスアプリケーションによって使用されるファイルシステムの１つ以上の所望ファイルを復元する技術を提供するものである。この技術はブロードキャストにおける変更を必要とせず、ＤＳＭＣＣブロードキャストを含む様々なマルチメディアサービス・ブロードキャストに適用可能である。アプリケーションは特定のファイルを復元するために＜ＰＩＤ、moduleId、objectKey＞識別子を用いて設定される。アプリケーションが、ＭＨＰミドルウェアのＤＳＭＣＣモジュールに代わって、モジュールのフィルタリング及び解析を実行し、より高速、より直接的、且つより信頼できるファイル復元をもたらす。
【００３４】
本発明の好適実施形態と考えられる実施形態が示され、それについて説明されてきたが、当然に理解されるように、本発明の意図を逸脱することなく、形式上又は詳細な様々な変更及び変形が容易に為されるであろう。本発明は、故に、例示・説明された形態そのものに限定されるものではなく、添付の請求項の範囲内の全ての変更に及ぶものと解されるべきである。
【図面の簡単な説明】
【００３５】
【図１】本発明に従ったファイルシステムの転送及びファイルの復元を例示する概略図である。
【図２】本発明に従った、図１に示されたファイルの復元を実現するサーバ及びクライアントを例示するブロック図である。
【図１】
2008523693.tif 000003
【図２】
2008523693.tif 000004
【国際調査報告】
2008523693.tif 000005
2008523693.tif 000006
2008523693.tif 000007