(57)【特許請求の範囲】
【請求項１】
第１のコンテンツ位置データベースに関連付けられた第１のコンテンツ配信ネットワークと第２のコンテンツ位置データベースに関連付けられた第２のコンテンツ配信ネットワークとを少なくとも介して配給される、セグメント化されたコンテンツの位置特定をする方法であって、
前記第１コンテンツ位置データベースのデータベース・エントリへの１つ以上のポインタを含む、前記セグメント化されたコンテンツに関連付けられたマニフェスト・ファイル・テンプレートを抽出するステップと、
前記データベース・エントリに関連付けられたセグメントを配信するように構成される、前記第１または第２コンテンツ配信ネットワーク内の配信ノードの位置を決定するために、前記データベース・エントリの１つ以上を用いるステップと、
前記データベース・エントリの内少なくとも１つに関連付けられたセグメントを配信するのに適する、前記第２コンテンツ配信ネットワーク内の配信ノードの位置を決定するために、前記第２コンテンツ位置データベースに対して要求を送るステップと、
前記マニフェスト・ファイル・テンプレートに含まれるポインタを、前記決定した位置で置き換えることによって、前記セグメント化されたコンテンツの位置特定をするマニフェスト・ファイルを生成するステップと
を含む、方法。
【請求項２】
前記抽出するステップにおいて、前記セグメント化されたコンテンツの少なくとも一部を位置特定するための位置特定要求の受信に応じて、前記マニフェスト・ファイル・テンプレートが抽出される、請求項１記載の方法。
【請求項３】
請求項１または２記載の方法であって、更に、
前記データベース・エントリの内の少なくとも１つについて、前記第１または第２のコンテンツ配信ネットワークが前記データベース・エントリの内少なくとも１つに関連付けられたセグメントを配信するのに最適かを決定するステップを含む、方法。
【請求項４】
前記決定するステップにおいて、前記最適なコンテンツ配信ネットワークが、前記位置特定要求に基づいて決定される、請求項３記載の方法。
【請求項５】
請求項１から４のいずれか一項に記載の方法において、前記第１コンテンツ位置データベースのデータベース・エントリが、セグメントを配信するように構成される配信ノードの位置特定をするための１つ以上のロケータを含む、データベース位置へのポインタを含む、方法。
【請求項６】
請求項１から５のいずれか一項に記載の方法において、前記第１コンテンツ位置データベースのデータベース・エントリが、前記第２コンテンツ配信ネットワークに関連付けられる前記第２コンテンツ位置データベースへの１つ以上のポインタを含む、データベース位置へのポインタを含む、方法。
【請求項７】
請求項１から６のいずれか一項に記載の方法において、前記第２コンテンツ配信ネットワークに対する前記要求が部分マニフェスト・ファイルを含み、前記部分マニフェスト・ファイルが１つ以上のセグメント識別子を含む、方法。
【請求項８】
請求項１から７のいずれか一項記載の方法において、前記抽出するステップが、コンテンツ名または識別子を含むユーザ要求に応答して実行される、方法。
【請求項９】
請求項１から８のいずれか一項記載の方法において、決定される位置が、前記第２コンテンツ配信ネットワークから前記第１コンテンツ配信ネットワークにおいて受信される、方法。
【請求項１０】
請求項９記載の方法において、決定された前記位置が、部分マニフェスト・ファイルの一部として受信される、方法。
【請求項１１】
第１のコンテンツ位置データベースに関連付けられた第１のコンテンツ配信ネットワークと第２のコンテンツ位置データベースに関連付けられた第２のコンテンツ配信ネットワークとを少なくとも介して配給される、セグメント化されたコンテンツの位置特定をするための制御機能モジュールであって、当該制御機能モジュールが、
前記第１コンテンツ位置データベースのデータベース・エントリへの１つ以上のポインタを含むマニフェスト・ファイル・テンプレートを抽出し、
前記データベース・エントリに関連付けられたセグメントを配信するように構成されている、前記第１または第２コンテンツ配信ネットワーク内にある配信ノードについて位置を決定するために、前記データベース・エントリの1つ以上を用い、
前記データベース・エントリの内少なくとも１つに関連付けられたセグメントを配信するのに適する、前記第２コンテンツ配信ネットワーク内の配信ノードの位置を決定するために、前記第２コンテンツ位置データベースに対して要求を送り、
前記ポインタを、前記決定した位置で置き換えることによって、前記セグメント化されたコンテンツの位置特定をするマニフェスト・ファイルを生成する
ように構成される、制御機能モジュール。
【請求項１２】
請求項１１記載の制御機能モジュールであって、更に、決定される位置を前記第２コンテンツ配信ネットワークから受信するように構成される、制御機能モジュール。
【請求項１３】
コンピュータの有するメモリ内で起動されると、請求項１から１０のいずれか一項記載の方法が有するステップを前記コンピュータが実行するように構成されるソフトウェア・コード部を備えるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２つ以上のコンテンツ配信ネットワークを介して配給されるセグメント化されたコンテンツの位置特定および抽出に関するものである。特に、排他的ではないが、２つ以上のコンテンツ配信ネットワークを介して配給されるセグメント化されたコンテンツを位置特定および抽出するための方法、制御機能モジュールおよび当該方法を使用するコンピュータ・プログラム製品に関するものである。
【背景技術】
【０００２】
数多くのビデオ・ストリーミング技術が、現在も尚増大しており、それらは所謂セグメント化を利用する。例えば、ＨＴＴＰ適合ストリーミング（ＨＡＳ）では、スケーラブル・ビデオ・コーディング（ＶＣＳ）および空間的セグメント化されたコンテンツ（例えばタイル状(tailed)ビデオ）は、時間、品質および場所にそれぞれ基づいてセグメント化を用いる。セグメント化プロセスの間、所謂マニフェスト・ファイルが作成されることになり、当該マニフェスト・ファイルは、異なるセグメント間の関係および該セグメントが抽出され得る位置について記述する。
【０００３】
セグメント化されたビデオは、例えば高品質から低品質のビデオ・ストリームにスイッチすることによって、帯域幅要件を動的に調整するために用いることができる。更に、セグメント化されたビデオは、ポピュラーなビデオ・セグメント、および余りポピュラーでないビデオ・セグメント間での分割をも可能にできる。例えば、通例、ビデオの始まりに関連付けられるコンテンツは、終わりのコンテンツよりもより頻繁に（よりポピュラーに）視聴されることになる。同様に、低ビットレートで低品質なビデオ・コンテンツ（例えば最低解像度のＨＡＳセグメントまたはＳＶＣベース・レイヤ）は、高品質コンテンツ（例えばより高解像度のＨＡＳセグメントまたはＳＶＣ強化レイヤ）よりもより頻繁に視聴されることになる。したがって、ビデオ・コンテンツをセグメント化するときは、特定セグメントは、他セグメントよりも（非常に）より頻繁に消費者により要求されることになる。この特性は、コンテンツ配信ネットワーク（ＣＤＮ）に有利に利用することができ、当該ＣＤＮは、コンテンツを消費者に配信するように構成される。例えば、ＣＤＮにおいて複数のノードでよりポピュラーなコンテンツに関連付けられたセグメントを格納することができ、その結果、帯域幅の問題が低減され、効果的な配信を保証することができる。ＣＤＮコンテンツ位置マネージャは、セグメントを抽出できるＣＤＮ内の位置を中央で管理することができる。
【０００４】
場合によっては、コンテンツの一部分(one piece)に関連付けられるセグメントが、２つ以上の異なるＣＤＮドメインに所属するノードに保存されることもある。その場合には、中央にある位置マネージャは何れも、異なるＣＤＮドメインにおけるセグメントを位置特定するのに利用可能ではない。つまり、第１のＣＤＮに関連付けられるマニフェスト・ファイルは、更なる複数のＣＤＮでのルーティング機能を参照するのみである。何故ならば、第１のＣＤＮは第２のＣＤＮのセグメントの位置に関するナレッジを何ら有さないからである。したがって、他のＣＤＮにおいてセグメントが要求される毎に、そのＣＤＮへのルーティング要求が必要とされる。このような要求は、要求ルーティング遅延を発生させるかもしれず、その結果、要求されたセグメントを受け取るためにより長い時間を要する。
【０００５】
このようなルーティング要求は、ＣＤＮの性能にネガティブな影響を及ぼし得る。多数のセグメントを含むコンテンツは、他のＣＤＮへの多数のルーティング要求を必要とし、これにより、ユーザ当たりの要求ルーティング負荷を大幅に増大させる。更に、ルーティング要求遅延はまた、特に、クライアントがコンテンツとのユーザ相互作用（例えば空間的にセグメント化されたコンテンツの場合のズームおよびパン要求）を許可するときに、クライアントの性能にネガティブな影響を及ぼしえ得る。ルーティング要求遅延は、特定の要求コンテンツを表示する時に遅延を生じさせるかもしれず、これにより、ユーザ体験にネガティブに影響を及ぼす。
【０００６】
先に説明したルーティング要求機構以外のＣＤＮ相互接続方式については、http://tools.ietf.orq/html/draft-peterson-cdni-strawman-OQ.に説明される。本明細書では、ＤＮＳルックアップおよびＨＴＴＰリダイレクトに基づく方式を提案する。このような技術は、しかしながら、要求されたセグメント毎に複数のリダイレクトを必要とし、これにより望ましくない遅延を導出する。この遅延は、高速コンテンツ相互作用のために短応答時間を要求するコンテンツ・サービスを利用する場合に望ましくない。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
したがって、従来技術においては、２つ以上のＣＤＮドメインを通じて配給されるセグメントの効果的なローカライゼーションの必要性が存在する。特に、複数のＣＤＮドメインにおけるセグメントのローカライゼーションのための方法およびシステムに対する必要性が存在する。セグメントは最小限の遅延でクライアントに配信され、これにより、例えばパニング、ズーミング、タイトリング、高解像度から低解像度バーションへのシームレスなスイッチングなどのようなユーザ相互作用の機能性を要求するコンテンツ再生(play-out)デバイスへのコンテンツ・サービス提供を可能にする。
【課題を解決するための手段】
【０００８】
本発明の目的は、先行技術において公知となっている欠点の内少なくとも１つを削減または除去することである。そして、本発明の第１の態様において、好ましくはセグメント化またはフラグメント化されたコンテンツの位置特定をする方法を提供する。ここでは、セグメント化されたコンテンツは、第１のコンテンツ位置データベースに関連付けられた第１のコンテンツ配信ネットワークと第２のコンテンツ位置データベースに関連付けられた第２のコンテンツ配信ネットワークとを少なくとも介して配給することができる。当該方法は、第１コンテンツ位置データベースのデータベース・エントリへの１つ以上のポインタを含む、上記セグメント化されたコンテンツに関連付けられたマニフェスト・ファイル・テンプレートを抽出するステップ、上記第１または第２コンテンツ配信ネットワーク内の配信ノードの位置を決定するために上記１つ以上のデータベース・エントリを用いるステップであって、上記配信ノードが上記データベース・エントリに関連付けられたセグメントを配信するように構成されるステップ、および上記マニフェスト・ファイル・テンプレートのポインタを上記決定した位置で置き換えることによって、上記セグメント化されたコンテンツの位置特定をするために、マニフェスト・ファイルを生成するステップを含むことができる。
【０００９】
一実施形態では、上記セグメント化されたコンテンツは、第１または第２コンテンツ配信ネットワークを介して配給される。
【００１０】
一実施形態では、上記マニフェスト・ファイル・テンプレートは、上記第１コンテンツ配信ネットワークによって抽出することができ、および／または上記第２コンテンツ配信ネットワークによって抽出することができる。
【００１１】
一実施形態では、上記マニフェスト・ファイル・テンプレートが、上記セグメント化されたコンテンツの少なくとも一部を、位置特定をするための位置特定要求の受信に応じて抽出することができる。
【００１２】
更なる実施形態では、上記位置特定要求はユーザ（即ちクライアント）要求であり、好ましくは、セグメント化されたコンテンツを要求する。更なる別の実施形態では、上記位置特定要求は、ネットワーク内のコンテンツ制御機能、好ましくはＩＰＴＶ制御機能、オプションとしてＩＭＳベース機能から要求することができる。
【００１３】
一実施形態では、本方法は、上記データベース・エントリの少なくとも１つについて、上記第１または第２のコンテンツ配信ネットワークが上記データベース・エントリの内少なくとも１つに関連付けられたセグメントを配信するのに最適かを決定するステップを含むことができる。
【００１４】
他の実施形態において、本方法は、上記第２コンテンツ配信ネットワーク内の配信ノードの位置を決定するために、上記第２コンテンツ位置データベースへ要求を送るステップであって、上記配信ノードが上記データベース・エントリの内少なくとも１つに関連付けられたセグメントを配信するのに適しているステップを含む。
【００１５】
一実施形態では、上記第２コンテンツ位置データベースに送られる上記要求は、転送され、オプションとして修正される、位置特定要求である。
【００１６】
更なる実施形態では、上記第２コンテンツ位置データベースに送られる上記要求は、１つ以上のセグメント識別子を含む部分マニフェスト・ファイルを含むことができる。
【００１７】
一実施形態では、上記決定された位置は、第２コンテンツ配信ネットワークから第１コンテンツ配信ネットワークへと送信される。
【００１８】
更なる実施形態では、上記決定された一は、好ましくは更新された、部分マニフェスト・ファイルの一部として送信される。
【００１９】
また他の実施形態では、上記好ましくは最適なコンテンツ配信ネットワークは、上記位置特定要求に基づいて、好ましくは上記要求に関連付けられた位置情報に基づいて決定することができる。
【００２０】
一実施形態では、上記第１コンテンツ位置データベースにおける上記データベース・エントリが、セグメントを配信するように構成される配信ノードの位置特定をするための１つ以上のロケータを含む、データベース位置へのポインタを含むことができる。
【００２１】
他の実施形態では、上記第１コンテンツ位置データベースの上記データベース・エントリが、上記第２コンテンツ配信ノードの上記コンテンツ位置データベースへの１つ以上のポインタを含む、データベース位置へのポインタを含む。
【００２２】
他の態様において、本発明は、第１のコンテンツ位置データベースを備える第１のコンテンツ配信ネットワークから第２のコンテンツ位置データベースを備える第２のコンテンツ配信ネットワークに対し、セグメント化されたコンテンツの少なくとも一部を移動するための方法に関連する。本方法は、上記第１コンテンツ位置データベースのデータベース・エントリへの１つ以上のポインタを備える上記セグメント化されたコンテンツに関連付けられたマニフェスト・ファイル・テンプレートを抽出するステップ、上記マニフェスト・ファイル・テンプレートで識別されるセグメントの少なくとも一部についてセグメント測定基準を決定するステップ、上記セグメント測定基準に基づいて、１つ以上のセグメントを選択して上記第２コンテンツ配信ネットワークに移動するステップ、部分マニフェスト・ファイルを、上記選択した１つ以上のセグメントに関連付けられる上記マニフェスト・ファイル・テンプレート内のポインタを、上記選択したセグメントを配信するように構成された、上記第１コンテンツ配信ネットワーク内の配信ノードの１つ以上の位置で置き換えることによって生成するステップ、そして、上記部分マニフェスト・ファイルを上記第２コンテンツ配信ネットワークに送信するステップを含む。代替として、１つ以上のセグメントを第２コンテンツ配信ネットワークに移動する選択処理は、セグメント測定基準に基づくのではなく、別のもの、例えば好ましくはランダムに基づくものを有する。このような実施形態では、セグメント測定基準を決定するステップは、除外することができる。
【００２３】
一実施形態において、本発明は更に、上記第２コンテンツ配信ネットワークに要求して、上記部分マニフェスト・ファイルで識別されるセグメントの少なくとも一部を収集するステップを含むことができる。
【００２４】
更なる態様において、本発明は、セグメント化されたコンテンツの位置特定をするための制御機能モジュールに関することができる。ここでは、上記コンテンツが、第１のコンテンツ位置データベースに関連付けられた第１のコンテンツ配信ネットワーク、および第２のコンテンツ位置データベースに関連付けられた第２のコンテンツ配信ネットワークを少なくとも介して配給される。当該制御機能モジュールは、上記第１コンテンツ位置データベースのデータベース・エントリへの１つ以上のポインタを含むマニフェスト・ファイル・テンプレートを抽出し、上記第１または第２コンテンツ配信ネットワーク内にある配信ノードであって、上記データベース・エントリに関連付けられたセグメントを配信するように構成されている配信ノードについて位置を決定するために、上記1つ以上のデータベース・エントリを用い、ポインタを上記決定した位置で置き換えることによって、上記セグメント化されたコンテンツの位置特定をするためにマニフェスト・ファイルを生成するように構成される。
【００２５】
更なる別の態様において、本発明は、クライアントに関することができる。ここでは、当該クライアントは、先に説明した制御機能モジュールと通信するように構成される。当該クライアントは、上記セグメント化されたコンテンツの少なくとも一部の位置特定をするために、位置特定要求を上記制御機能モジュールに送信し、上記第１および／または第２配信ネットワーク内の配信ノードに関連付けられた位置情報を含むマニフェスト・ファイルを受信し、そして、上記位置情報に基づいて、少なくとも１つの上記配信ノードにセグメントについての要求を送信するように構成される。  更なる実施形態では、上記制御機能モジュールは、第１のコンテンツ配信ネットワークに関連付けられることができる。上記クライアントは、第１コンテンツ配信ネットワーク、または第２コンテンツ配信ネットワークから上記マニフェスト・ファイルを受信するように構成される。
【００２６】
本発明はまた、コンピュータの有するメモリ内で起動されると、先に説明した方法が有するステップを実行するように構成されるソフトウェア・コード片を備えるコンピュータ・プログラム製品に関することができる。
【００２７】
本発明について、テンプの図面を参照してこれにより更に説明する。図面は本発明による実施形態を概略的に示すことになる。如何なる方法をもってしても、本発明がこれら特定の実施形態に限定されないことが理解されるべきである。
【図面の簡単な説明】
【００２８】
【図１】図１は、本発明の一実施形態による、コンテンツ配信システムを示す。
【図２】図２は、本発明の一実施形態による、コンテンツ位置データベースを示す。
【図３】図３は、本発明の一実施形態による、マニフェスト・ファイルまたはマニフェスト・ファイル・テンプレートの包括的なデータ構造を示す。
【図４】図４は、本発明の一実施形態による、コンテンツ収集(ingestion)のためのフロー・チャートを示す。
【図５】図５は、本発明の一実施形態による、コンテンツ収集のためのシーケンス図を示す。
【図６】図６は、本発明の一実施形態による、コンテンツ収集後におけるマニフェスト・ファイルの更新を示す。
【図７】図７は、本発明の一実施形態による、静的ＭＦをＭＦテンプレートに更新するフロー・チャートおよびシーケンス図を示す。
【図８】図８は、本発明の一実施形態による、マニフェスト・ファイル・テンプレートの更新についての処理を示す。
【図９】図９は、本発明の一実施形態による、部分マニフェスト・ファイル（ＭＦ）を用いて第１のＣＤＮから第２のＣＤＮにセグメントを移動するフロー図を示す。
【図１０】図１０は、本発明の一実施形態による、部分ＭＦを用いて第１のＣＤＮから第２のＣＤＮにセグメントを移動するフロー図を示す。
【図１１】図１１は、本発明の一実施形態による、コンテンツ収集のために用いる部分ＭＦの形成について示す。
【図１２】図１２は、本発明の一実施形態による、ユーザ要求を供給するための処理についてのフロー・チャートを示す。
【図１３】図１３は、本発明の一実施形態による、ＤＭＦを生成するための処理についてのシーケンス図を示す。
【図１４】図１４は、本発明の一実施形態による、ユーザ要求に関連したＤＭＦの形成について示す。
【図１５】図１５は、本発明の一実施形態による、ユーザ要求に関連してマニフェスト・ファイルを生成するための処理についてのフロー・チャートを示す。
【図１６】図１６は、本発明の一実施形態による、ユーザ要求に関連してマニフェスト・ファイルを生成する処理についてのシーケンス図を示す。
【図１７】図１７は、本発明の一実施形態による、ＣＤＮ  ＡからＣＤＮ  Ｂまでのセグメント位置特定要求への対処についてのフロー図を示す。
【図１８】図１８は、本発明の一実施形態による、ＤＭＦに基づいてセグメント化されたコンテンツを第１および第２のＣＤＮから抽出する処理についてのシーケンス図を示す。
【発明を実施するための形態】
【００２９】
図１は、本発明の一実施形態による、セグメント化されたコンテンツをクライアントに配信するためのコンテンツ配信システムを示す。コンテンツ配信システムは、コンテンツ配信ネットワーク（ＣＤＮ）、例えば第１ＣＤＮ１０２および第２ＣＤＮ１０４、並びに、トランスポート・ネットワーク１０７を介して１つ以上のクライアント１０８に接続されるコンテンツ・ソース１０６を備えることができる。コンテンツ・ソースは、コンテンツ・プロバイダ・システムＣＰＳ、コンテンツ準備システム、または他のＣＤＮに関連付けることができる。ＣＰＳは、コンテンツ、例えばビデオ・タイトルを消費者に供給するように構成することができ、消費者は、クライアントを用いてそのコンテンツを購入および受け取ることができる。
【００３０】
通常、端末はコンテンツ処理デバイス、例えば、電子タブレット、スマートフォン、ノートブック、メディア・プレーヤのような（モバイル）コンテンツ再生デバイスに関する。実施形態の中には、端末を、セットトップ・ボックスや、または、コンテンツ再生デバイスにより将来の消費のためにコンテンツを処理および一時格納するように構成されるコンテンツ記憶デバイスとするものもある。
【００３１】
各ＣＤＮは、配信ノード１１０，１１２，１１４および少なくとも１つの中央ＣＤＮノード１１６，１１８を備えることができる。各配信ノードは、コントローラ１２０，１２２，１２４およびコンテンツの格納およびバッファのためのキャッシュ１２６，１２８，１３０を備え、またはこれらに関するものとすることができる。各中央ＣＤＮノードは、外部ソース、例えばコンテンツ・プロバイダ若しくは別のＣＤＮからのコンテンツ収集(ingestion)を制御するための収集ノード(ingestion node)（即ち、コンテンツ開始機能であるＣＯＦ(content origin function)）１２５，１２７、情報を保持するために、凡そコンテンツをＣＤＮ内に格納したコンテンツ位置データベース１３４，１３６、並びに、コンテンツの１つ以上のコピーについて配信ノードへの配給を制御するため、およびクライアントを適切な配信ノードにリダイレクトする（処理はまた要求ルーティングとして知られている）ためのＣＤＮ制御機能（ＣＤＮＦ）１２３，１２８を備え、またはこれらに関するものとすることができる。配給は、ＣＤＮ全体を通じてクライアントに対してコンテンツ配信の充分な帯域幅が保証されるように制御することができる。一実施形態では、ＣＤＮは、ＥＴＳＩ  ＴＳ  １８２  ０１９に説明されるＣＤＮに関連してもよい。
【００３２】
消費者は、要求をＷｅｂポータル（ＷＰ）１３２に送ることによって、コンテンツ、例えばビデオ・タイトルをＣＰＳ１３１から購入することができる。Ｗｅｂポータル（ＷＰ）１３２は、購買可能コンテンツを識別するタイトル参照を提供するように構成される。要求に応答して、クライアントは、ＣＤＮが有するＣＤＮＣＦについてＷＰからのタイトル参照の少なくとも一部、および選択されたコンテンツを配信することが可能な位置情報、例えばＵＲＬを受け取ることができる。
【００３３】
ＣＤＮＣＦは、１つ以上の配信ノードに関連付けられたクライアント位置情報を送ることができる。配信ノードは、クライアントに選択されたコンテンツを配信するように構成される。通例、ＣＤＮＣＦは、クライアントに選択されたコンテンツを配信するのに最適なＣＤＮ内の配信ノードを選択することができる。配信ノードを選択するための基準には、クライアントの位置、および配信ノードの処理負荷を含んでもよい。
【００３４】
クライアントは、ＨＴＴＰおよび／またはＤＮＳシステムを含むさまざまな公知の技術を用いて、ＣＤＮ内の配信ノードとコンタクトすることができる。更には、コンテンツをクライアントに配信するために、様々なストリーミング・プロトコルを用いることができる。このようなプロトコルには、ＨＴＴＰおよびＲＴＰタイプのストリーミング・プロトコルが含まれる。好ましい実施形態では、ＨＴＴＰ適応ストリーミング（ＨＡＳ）、ＤＶＢ適応ストリーミング、ＤＴＧ適応ストリーミング、ＭＰＥＧ  ＤＡＳＨ、ＡＴＩＳ適応ストリーミング、ＩＥＴＦ  ＨＴＴＰ  Ｌｉｖｅストリーミング、およびこれらに関連したプロトコルのような適応可能ストリーミング・プロトコルが用いられることもある。
【００３５】
ＣＤＮは、セグメント化されたコンテンツを収集および配給するように構成される。未だセグメント化されておらず、またはフラグメント化(fragment)されていないコンテンツはまた、時折、オリジナル・コンテンツ(Original Content)と称される場合もある。公知のセグメント化ストリーミング・システムとして、時分割、例えばＨＴＴＰ適応ストリーミング（ＨＡＳ）、クオリティ・ベースのセグメント化、例えばスケーラブル・ビデオ・コーディング（ＶＣＳ）、および／または空間的なセグメント化、例えばタイル状ビデオ(tiled video)に基づくものであってもよい。これらシステムは、共通して、コンテンツが多数のセグメント（ピースまたはパーツ）で組織され、ＭＰＥＧまたはＡＶＩのような公知のトランスポート・コンテナ・フォーマットによりフォーマット化することができる。セグメントはまた、時折チャンク(Chunks)とも称される場合もある。セグメントは、それらの自体のＵＲＬによって別個にアドレス指定可能であり、また、ファイル・システム・パースペクティブから単一ファイルとして格納される。幾つかのＨＴＴＰベース・コンテンツ・ストリーミング技術では、代替としてフラグメント(Fragment)という用語が用いられる場合もある。フラグメントは、他のタイプのチャンクであり、コンテンツ・フラグメント化（コンテンツ・セグメント化の代替として）の結果として形成される。
【００３６】
フラグメント化（または仮想セグメント化）（例えばマイクロソフト社のＳｍｏｏｔｈ  Ｓｔｒｅａｍｉｎｇにおいて用いられる）では、同一のチャンク・コレクションに属する全てのチャンクまたはフラグメントが単一ファイルの一部として共に格納される。このタイプのチャンク化されたコンテンツを格納するのを可能にする数多くのコンテナ・フォーマットがあるものの、フラグメント化されたＭＰ４が最も広く使用されている。フラグメント化について、タイムスタンプにより、バイト範囲により、または他の方法のいずれかにより、特定のチャンクは、関心を有することを一意に識別する識別子を用いて共通ファイルＵＲＬをサブフィックス(subfix)することによよってアドレス指定可能となる。本発明の実施形態はまた、セグメント化ではなくフラグメント化が用いられるシステムまたは技術に適用することに留意すべきである。つまり、本適用の目的では、従来技術にみられるように、セグメントという用語は、セグメント、フラグメント、またはより広い用語であるチャンクのいずれをも最適に反映するために使用することができる。
【００３７】
セグメント間の関係は、特定のデータ構造で説明することができる。これより後はこのデータ構造をマニフェスト・ファイルと称するものとし、特定のファイル名の拡張子.mf，.xmlおよび.m3u8を用いて格納および識別することができる。このマニフェスト・ファイルは、１つ以上の配信ノードにおける異なるセグメントの位置および名前を更に記述することができる。
【００３８】
セグメント、特にポピュラーなセグメントでは、ＣＤＮ内の複数の配信ノードから抽出することができる。更に、特定の状況では、セグメントは、他のＣＤＮドメイン内の配信ノードから抽出しなければならない。ＣＤＮＣＦは、セグメントが抽出される位置を管理することができる。そのためには、ＣＤＮＣＦは、コンテンツ位置データベース１３４，１３６を使用することができる。他の実施形態では、コンテンツ位置データベースは、ＥＴＳＩＴＳ １８２ ０１９にて説明されるように、アセット位置機能（Ａｓｓｅｔ  Ｌｏｃａｔｉｏｎ  Ｆｕｎｃｔｉｏｎ：ＡＬＦ）と関係するものとすることができる。
【００３９】
図２は、本発明の一実施形態によるコンテンツ位置データベースを示す。コンテンツ位置データベースは、特定タイプのファイル名に関連付けられるエントリを含んだメイン位置テーブル２０２を備えることができる。各エントリは更に、位置ポインタを含む。位置ポインタは、ＣＤＮＦ（例えばＣＤＮＡ）のＣＤＮドメイン内または別のＣＤＮドメイン（例えばＣＤＮ B）内の配信ノードを位置特定するための１つ以上のファイル・ロケータ、例えばＵＲＬを含むデータベース・レコード２０４−２１２を参照する。例えば、ファイル名「Ｍｏｖｉｅ−２」に関連付けられるデータベース・エントリは、「ビデオ・ファイル(Video file)」タイプのファイルに関連し、ＣＤＮ Aの第１および第２の配信ノードに関連付けられる第１および第２のキャッシュを位置特定する２つのＵＲＬを含むデータベースをポイントする位置ポインタ「Ｍｏｖｉｅ−２＿Ｌｏｃａｔｉｏｎ」を含む。
【００４０】
同様に、データベース・エントリ２１６は、ファイル名「Ｍｏｖｉｅ−４」に関連付けられ、「静的マニフェスト・ファイル(Static Manifest File)」タイプのファイルに関連し、ＣＤＮ A内の配信ノードへのＵＲＬを含むレコードに向けてポイントする位置ポインタ「Ｍｏｖｉｅ−４＿Ｌｏｃａｔｉｏｎ」を含む。ＣＤＮＡは、データベース・エントリで識別されるマニフェスト・ファイルを配信するように構成される。静的マニフェスト・ファイルのタイプは、ユーザ要求に基づき動的には適合されないが、ＣＤＮノード上に格納されているものと同一の形態でクライアントに配信されるマニフェスト・ファイルのことを指す。この静的マニフェスト・ファイルは、数多くのセグメントを識別し、ここでセグメントは、マニフェスト・ファイルそれ自体と同一の位置に格納される。
【００４１】
更なるデータベース・エントリ２１８は、「Ｍｏｖｉｅ−５」に関連付けられ、所謂「マニフェスト・ファイル・テンプレート(Manifest File Template)」として識別され、このようなマニフェスト・ファイル・テンプレートを配信するように構成されるＣＤＮ A内の配信ノードのキャッシュを位置特定するためのＵＲＬを含むレコードに向けてポイントした位置ポインタ「Ｍｏｖｉｅ−５＿Ｌｏｃａｔｉｏｎ」を含む。
【００４２】
マニフェスト・ファイル・テンプレートのタイプは、数多くのセグメント名、例えばＭｏｖｉｅ−５＿１を識別するマニフェスト・ファイルのことを指す。通常の（静的）マニフェスト・ファイルと対照的に、マニフェスト・ファイル・テンプレートは、特定セグメントを配信するように構成されるコンテンツ配信ノードへのＵＲＬを含まない。代替として、複数のセグメント名のそれぞれまたは少なくとも一部は、コンテンツ位置データベースのデータベース・エントリへのポインタ、例えば、cdncf.cdn_A.com/res/Movie-5_1.segに関連付けることができる。ポインタは、セグメントの位置（１または複数）に関する情報を見つけるのに用いることができる。
【００４３】
以下に更に詳細に説明するように、マニフェスト・ファイル・テンプレートは、所謂動的マニフェスト・ファイル（ＤＭＦ）を生成するために、ＣＤＮが使用することができる。なお、マニフェスト・ファイル・テンプレートは、エンド・ユーザには何ら配信されず、動的マニフェスト・ファイルをビルドするための基礎としてのみ使用されることに留意すべきである。
【００４４】
動的マニフェスト・ファイルは、静的マニフェスト・ファイルの代替であり、セグメント化されたコンテンツの位置特定のために用いられる。ここでは、セグメントは、１つ以上のＣＤＮドメイン内に位置する複数の配信ノードにわたって配給することができる。このようなセグメントの配給は、より多くの配信ノードに対し、より頻繁には要求されないセグメントよりも、より頻繁に要求される（即ちポピュラーな）セグメントを有する記憶を可能にし、その結果、このようなセグメントについて効率的な配信および記憶が保証される。
【００４５】
動的マニフェスト・ファイルは、ユーザ要求に関連付けられた情報に基づいて保証することができる。例えば、動的マニフェスト・ファイルは、セグメント化されたコンテンツを要求しているユーザの位置に基づいて保証してもよい。ユーザの位置情報、例えばＩＰアドレスを用いて、ＣＤＮＣＦは、どの配信ノードがセグメントをユーザに配信するのに最適かについて決定することができる。
【００４６】
更なるデータベース・エントリ２２０および２２２は、セグメントのタイプがＭｏｖｉｅ−５＿１およびＭｏｖｉｅ−５＿２に関連し、データベース・エントリで識別されるセグメントを配信するように構成された配信ノードの位置特定をするためのＵＲＬを含むレコードへの位置ポインタを含む。更にまた、位置ポインタＭｏｖｉｅ−５＿１＿Ｌｏｃａｔｉｏｎに関連付けられたレコードに示されるように、位置はまた、更なるＣＤＮドメイン（ＣＤＮＢ）のＣＤＮＣＦ機能への参照として規定することができる。この場合、このような位置参照はまた、コンテンツ識別子を収容し、更なるドメイン（この例ではMovie-5.1. seg）内の特定のセグメントを一意に識別することができる。以下により詳細に説明するように、このような参照は、他のＣＤＮドメイン内のセグメントを抽出する機構を可能にする。なお、１つのＣＤＮドメインのＣＤＮＣＦは、別のＣＤＮドメインのコンテンツ位置データベースへの直接アクセスを有しないことを留意すべきである。別のＣＤＮドメインの特定セグメントの位置を取得するために、通常は他のドメインが有するＣＤＮＦ機能を通じて要求がなされることになり、ここでは、コンテンツ識別子が、必要とされるセグメントを識別するのに使用される。
【００４７】
図３は、本発明の一実施形態による、マニフェスト・ファイル（ＭＦ）またはマニフェスト・ファイル・テンプレートについての包括的なデータ構造を示す。ＭＦは、ヘッダ部３０４およびセグメント部３０６を含むことができる。ヘッダ部は、セグメント部において定義されたセグメントについてのグローバル・セグメント情報を含むことができる。グローバル情報には、ファイルの名前、セグメントのタイプおよびフォーマット、セグメント化のタイプ、並びにセグメント間の関係（例えばセグメント間の一時的または空間的な関係）が含まれる。セグメント部は、コンテンツ片(piece)を搬送する個々のセグメントに関するローカル・セグメント情報３０８を含むことができる。ローカル・セグメント情報には、セグメントの名前およびサイズ、再生期間、セグメント内に搬送されるコンテンツの解像度、セグメントの位置（例えば時間または場所に関する）、並びにＣＤＮドメイン内の配信ノードを位置特定するためのロケータを含むことができる。すでに図２を参照して説明したように、ロケータは（例えば静的ＭＦにおいて用いられるような）ＵＲＬの形態、または（例えばＭＦテンプレートで用いられるような）コンテンツ位置データベースにおけるデータベース・エントリへのポインタを有することができる。
【００４８】
図４および図５はフロー・チャートおよびシーケンス図を示し、それぞれが、本発明の一実施形態による、セグメント化された、好ましくは空間的にセグメント化されたコンテンツを収集する処理に関する。
【００４９】
図４の処理は、ＣＤＮＣＦが、ソース、例えばコンテンツ・プロバイダ、ＣＤＮまたは他のコンテンツ処理エンティティから発生したコンテンツ収集についての要求を受信することで開始する（ステップ４０２）。要求は、位置情報、例えばＵＲＬ、およびコンテンツ識別子を含むことができる。これに応答して、ＣＤＮＣＦはファイルを受信することができる（ステップ４０４）。ファイルは、マニフェスト・ファイルＭＦまたは通常のコンテンツ・ファイルのいずれかに関することができる。
【００５０】
ＣＤＮＣＦがＭＦを検出する場合（ステップ４０６，４０８）、ＣＤＮＣＦは受信したＭＦをパースし（ステップ４１０）、その結果、ＭＦ内にリストされたセグメントに関連付けられた位置情報、例えばＵＲＬを抽出する。ＣＤＮＣＦは、次いで、受信したＭＦに基づきセグメントの収集を実行するよう、収集ノードに指示することができる（ステップ４１２）。任意で、この収集ノードは、例えば、トランスコーディングのような、受信したセグメントへの付加的な処理を実行することができる。
【００５１】
処理負荷、データ・トラフィック、および／またはＣＤＮ内の配信ノードに関連付けられる地理的近接情報（ＣＤＮの測定基準(metrics)）に基づいて、ＣＤＮＣＦは、次いで１つ以上の配給ノードに関連付けられたキャッシュにセグメントを配給することができる（ステップ４１４）。その後に、ＣＤＮＣＦは、セグメントが配給された配信ノードの位置に関連付けられた位置情報を付加することにより、ＭＦを更新することができる（ステップ４１６）。なお、ＣＤＮＣＦが、更新されたＭＦに挿入するＵＲＬは、フルパスのＵＲＬで構成した絶対ＵＲＬ、またはＭＦそれ自体の位置に対するパスのみを収容した相対ＵＲＬのいずれかとできることに留意すべきである。ＣＤＮＣＦは、配信ノードを用いて更新（修正）したＭＦを格納し（ステップ４１８）、ＣＤＮＣＦに関連付けられたコンテンツ位置データベース内に新規のエントリを生成することができる（ステップ４２０）。次いで、ＣＤＮＣＦは、「静的マニフェスト」タイプをＭＦに割り当て（ステップ４２２）、新規のレコードを生成して、更新したＭＦを将来の使用のために抽出される位置を格納し（ステップ４２４）、ＣＤＮＣＦを通じてアクセス可能なコンテンツ位置データベース内の新規エントリに対してポイントするＵＲＬを生成する（ステップ４２６）。このＵＲＬは、次いで、ソースに送ることができる（ステップ４３６）。
【００５２】
ソースについてソース収集要求が通常のコンテンツに関連付けられている場合には、そのコンテンツは、１つ以上の選択された配信ノードにおけるキャッシュに配給することができる（ステップ４２８）。コンテンツ位置データベースにおいてファイルの新規データベース・エントリを生成することができる（ステップ４３０）。このエントリは、格納したファイルに関連付けられたＵＲＬを格納するレコード（ステップ４３２）や、データベース内の当該新規エントリへポイントするＵＲＬ（ステップ４３４）を含む。このＵＲＬは、次いで、ソースに送ることができる（ステップ４３６）。
【００５３】
図５のシーケンス図は、セグメントを収集するための方法についてより詳細に示す。この例では、ＣＤＮＣＦおよびソースは、コンテンツの収集を制御するＨＴＴＰベースのプロトコルを使用することができる。この処理は、ソースがコンテンツの収集要求(ingestion request)をＣＤＮＣＦに送ることで開始することができる（ステップ５０２）。この要求は、Ｍｏｖｉｅ−４.ｓｍｆという名前のＭＦへポイントするＵＲＬを含む。ＣＤＮＣＦは、ＭＦを抽出することができ（ステップ５０４および５０６）、そして、そのＭＦをパースすることができる（ステップ５０８）。その結果、空間的なセグメント・ファイル位置を（例えば１つ以上のＵＲＬの形態で）抽出することができる。
【００５４】
ＵＲＬを用いて、ＣＤＮＣＦは、ＣＤＮ収集ノードに、ＭＦにおいて識別されるセグメントをフェッチ(fetch)するよう指示する（ステップ５１０）。セグメントを受信した（ステップ５１２−５１８）後に、収集ノードは、コンテンツの抽出およびＣＤＮ内の配信ノードのキャッシュへの配給に成功したことをＣＤＮＣＦに通知することができる。
【００５５】
ＣＤＮＣＦは次いで、そこからセグメントがＭＦに抽出されることになる配信ノードの位置を挿入することによってＭＦを更新することができる（ステップ５２０）。更新されたＭＦは、選択された配信ノードのキャッシュにセグメントと共に格納することができる（ステップ５２２）。ＭＦの位置は、ＣＤＮＣＦに関連付けられたコンテンツ位置データベースに保存することができる（ステップ５２４）。更に、ＣＤＮＣＦは、応答をソースに送り戻すことができる（ステップ５２６）。ここで、この応答はＣＤＮのＣＤＮＣＦを通じてアクセス可能なコンテンツ位置データベースのエントリをポイントするＵＲＬを含むことができる。
【００５６】
図６は、図４および図５を参照して説明した、セグメントの収集の前後におけるＭＦの部分的な例を示す。ソースから受信した静的ＭＦ６０２は、図３を参照して説明したデータ構造を有することができる。ＭＦはファイル名、例えばセグメント化のタイプ（この例では空間的なセグメント化）のようなセグメント化に関する情報、セグメント数、およびセグメント間の（空間的）関係を含むことができる。ＭＦは更に、４つの別個のセグメントである、Ｍｏｖｉｅ−４−１.ｓｅｇ、Ｍｏｖｉｅ−４−２.ｓｅｇ、Ｍｏｖｉｅ−４−３.ｓｅｇ、およびＭｏｖｉｅ−４−４.ｓｅｇがソース・ドメイン内の特定の場所であるcache.source.com/res/ において格納されていることを示すことができる。
【００５７】
セグメントの収集の後、ＣＤＮＣＦは、更新した静的ＭＦ６０４を生成することができる。この静的ＭＦ６０４は、（空間的な）セグメントであるＭｏｖｉｅ−４−１.ｓｅｇ、Ｍｏｖｉｅ−４−２.ｓｅｇ、Ｍｏｖｉｅ−４−３.ｓｅｇ、およびＭｏｖｉｅ−４−４.ｓｅｇを含んだ第１の配信ノードcache_1.cdn_A.com/res/ に向けてポイントするＵＲＬの形態で、更新したセグメント位置を含む。
なお、静的マニフェスト・ファイルおよび関連付けられたセグメントが複数の配信ノードにホストされ、絶対ＵＲＬが用いられる場合には、ＭＦは各配信ノードについて異なるＵＲＬを有することになるという点に留意すべきである。相対ＵＲＬが用いられている場合には、異なる配信ノードのマニフェスト・ファイルは同一ものになろう。
【００５８】
したがって、上記から、ＭＦは、ＣＤＮへ制御したセグメント収集を可能にできることになる。収集の後、ＭＦは、セグメントが格納されるＣＤＮの位置を識別する。
【００５９】
先に示したように、静的ＭＦは所与の数のセグメントの位置を識別するＭＦに関する。ＭＦは、ユーザに依存するのではなく、予め規定されているという意味において静的である。静的ＭＦは、通常、ＭＦそれ自体と同一の配信ノードに格納されたセグメント位置をポイントすることになるが、これは厳密には必要とされない。
【００６０】
静的ＭＦにおけるセグメントは、しかしながら、頻繁におよび余り頻繁にではなく、要求されたセグメントに関するものとしてもよい。
【００６１】
したがって、セグメントの測定基準（例えば総合的なポピュラー度、即ち特定位置または領域からの要求の数）に基づいて、セグメントは、ＣＤＮおよび任意には他のＣＤＮ内の複数の配給ノードを通じて再配給することができる。次いで、セグメント化されたコンテンツについてＭＦの配信をユーザが要求するときに、所謂動的ＭＦを、ユーザ要求と関連付けられた情報に基づいて生成することができる。例えば、動的ＭＦは、配信ノードにおけるコンテンツのセグメントの位置を含んで生成することができ、セグメント位置の内幾つかはユーザの位置に近接し、その結果、要求されたセグメントの効率的なローカル配信が発生される。その一方で、他のセグメント位置は、余り頻繁に要求されないコンテンツのセグメントについて、ユーザからより遠隔なものとすることができる。
【００６２】
動的ＭＦは、所謂ＭＦテンプレートに基づいて生成される。
【００６３】
図７Ａおよび図７Ｂは、本発明の一実施形態による、静的ＭＦをＭＦテンプレートに更新するフロー・チャートおよびシーケンス図を示す。
【００６４】
図７Aの処理は、静的ＭＦにおいて定義されるセグメントのセグメント測定基準(metrics)を集めることで開始することができる。セグメント測定基準は、セグメントが要求され視聴される頻度、そこからセグメントが要求されたユーザ位置、例えばＩＰアドレス、および静的ＭＦにおいてセグメント間の差異を測定できる如何なるの他の測定基準にも関することができる（ステップ７０２）。重大な差異が存在する場合には、ＭＦテンプレートを作成する処理がトリガされることができる（ステップ７０４）。この処理は、次のステップを含むことができる。即ち、静的ＭＦの抽出（ステップ７０８）、静的ＭＦからのセグメント位置の抽出（ステップ７１０）、およびセグメント位置についてコンテンツ位置データベースのエントリの作成（ステップ７１２）である。ここで、セグメント測定基準に基づいて、ＣＤＮＣＦは、１つ以上のセグメント、特に頻繁に要求されたセグメントのコピーをＣＤＮ内の２つ以上の配給ノードに配給するように決定することができる。したがって、データベース・エントリは、異なる配給ノードの位置特定をするために２つ以上のＵＲＬを含むことができ、これら配給ノードは、特定のセグメント（図２の「Ｍｏｖｉｅ−５＿１」のデータベース・エントリと同様であり、所定のセグメントＭｏｖｉｅ＿５−１.ｓｅｇを配信するように構成される２つの配信ノードのＵＲＬを他の間で有するレコードへの位置ポインタを有する。）を配信するように構成される。
【００６５】
その後に、静的ＭＦ内の位置をコンテンツ位置データベースのポインタで置き換えることによって、静的ＭＦは、ＭＦテンプレートに書き換えられることができる（ステップ７１４および７１６）。ＭＦの「タイプ」を「マニフェスト・ファイル・テンプレート」に変更する（ステップ７１８）ことによって、ＭＦテンプレート作成処理を終了することができる。
【００６６】
図７Ｂは、ＭＦテンプレートの生成についてより詳細に示す。この処理は、ＣＤＮＣＦが静的ＭＦのセグメント測定基準における重大な差異を検出することで開始することができる（ステップ７２０）。ＣＤＮＣＦは、次いで、ＭＦが格納された１つ以上の配信ノードが有するキャッシュから、静的ＭＦのＭｏｖｉｅ−４.ｍｆを抽出することができる（ステップ７２２および７２４）。ＣＤＮＣＦは、次いで、データベース内のセグメント位置を入力する処理を実行し、また、ＣＤＮのコンテンツ位置データベースへのポインタを含むＭＦテンプレートに静的ＭＦを書き換えることができる（ステップ７２６および７２８）。その後に、（新規の）ＭＦテンプレートは、１つ以上の配信ノードのキャッシュに送り戻され、そこで（古い、静的な）ＭＦと置き換える（ステップ７３０−７３６）。
【００６７】
図８は、本発明の一実施形態によるＭＦテンプレートの形成を示す。図７を参照して説明した更新処理の間、古い静的ＭＦ８０２はＭＦテンプレート８０４に更新され、そこで、セグメント位置のＵＲＬは、ポインタによってＣＤＮＣＦを通じてアクセス可能なＣＤＮ Aのコンテンツ位置データベースのエントリに置き換えられる。
【００６８】
セグメントの測定基準に基づいてＣＤＮ（ＣＤＮ Ａ）内のセグメントの記憶を再配給する処理の後に、ＣＤＮＣＦは更に、特定のセグメントを他のＣＤＮ（ＣＤＮ Ｂ）の方へ移動する処理を開始することができる。この処理は、図９に示される。第１ステップ９０２では、セグメント測定基準は、視聴頻度、セグメントを要求したユーザのユーザ位置（ＩＰアドレス）、および他の関連の測定基準に基づいて集めることができる。
【００６９】
これらセグメント測定基準から、特定のセグメントが、ＣＤＮ Ａのグラフィカルな位置から離れた地理的位置に位置した大規模グループのユーザから要求されたということを、例えば明らかにすることができる。その場合、ＣＤＮＣＦは、これらユーザの地理的位置に近接するＣＤＮＢに対してそれらセグメントをプッシュするように決定することができる（ステップ９０４）。
【００７０】
したがって、ＣＤＮＣＦは、ＣＤＮ Ａ内の配信ノードのセグメント位置を含む所謂部分マニフェスト・ファイル（部分ＭＦ）を用意および一時的に格納することができる（ステップ９０６および９０８）。部分ＭＦは、ＭＦテンプレートにおけるデータベース・エントリのサブセットがＵＲＬによって置き換えられ、それに対し、他のデータベース・エントリは削除されるという意味において「部分的」である。特に、ＣＤＮＢによって収集されるのが必要となるセグメントに関連付けられたＭＦテンプレート内のデータベース・エントリは、それらセグメントを配信するように構成されたＣＤＮＡ内の配信ノードを位置特定するＵＲＬで置き換えられる。ＣＤＮ Ｂによって収集されることになっていないセグメントのデータベース・エントリへのポインタは、除去されると共に「空である(empty)」とマークされる。
【００７１】
部分ＭＦは、引き続いて、ＣＤＮ ＢのＣＤＮＣＦに送信される。ＣＤＮＣＦは、それらのセグメントの収集（ステップ９１０）をそれ自体のＣＤＮ内に行うために、部分ＭＦの空でないセグメントのＵＲＬを用いることができる。ＣＤＮＢでのセグメントの収集の後に、ＣＤＮ ＡのＣＤＮＣＦは、ＣＤＮ ＢからＵＲＬを受信する。そのＵＲＬは、ＣＤＮＢのＣＤＮＣＦにポイントし、ＣＤＮ Ｂで収集されたセグメントを一意に識別するコンテンツ識別子のリストを含む（ステップ９１２）。ＣＤＮＡのＣＤＮＣＦは、受信したＵＲＬを用いてそのコンテンツ位置データベースを更新する。
【００７２】
代替として、ＣＤＮ Ｂが部分ＭＦにリストされたセグメントを収集した後に、ＣＤＮ ＢのＣＤＮＣＦは、そのＣＤＮＣＦへのＵＲＬおよび収集したセグメントの位置を示す識別子のリストを送信するのではなく、ＣＤＮＢによって更新された更新部分ＭＦをポイントするＵＲＬを送信する。このＵＲＬは、収集したセグメントのＣＤＮ  Ｂ内の関連する位置をこれより含む。ＣＤＮＡのＣＤＮＣＦは次いで、部分ＭＦをＣＤＮ Ｂから抽出し、それをパースして、配給されたセグメントのＵＲＬを用いてＣＤＮ Ａのコンテンツ位置データベースに読み込む(populate)ことができる。代替として、ＣＤＮＡは、ＣＤＮ Ｂから受信したＵＲＬおよびセグメント識別子に基づくクエリ文字列として生成したＵＲＬを用いてコンテンツ位置データベースに読み込むことができる。
【００７３】
このように、ＣＤＮ Ａのコンテンツ位置データベースの特定のエントリは、他のＣＤＮへのＵＲＬ（ＣＤＮ ＢのＣＤＮＣＦへの位置ポインタを有する図２の「Ｍｏｖｉｅ＿５−１．ｓｅｇ」のデータベース・エントリ、およびＣＤＮＢにおいてセグメントＭｏｖｉｅ−５＿１.ｓｅｇを抽出するためにＣＤＮ Ｂの特定セグメントを一意に識別する識別子と同様）を含むことができる。
【００７４】
図１０は、部分ＭＦを用いた第１のＣＤＮから第２のＣＤＮへのセグメント収集についてより詳細に示したシーケンス図を示す。この処理は、特定のセグメントがＣＤＮＢに移されるべきとＣＤＮＦが決定することでトリガすることができる（ステップ１００２）。そのために、ＣＤＮＡのＣＤＮＣＦは、部分ＭＦのｃｄｎ＿Ｂ−Ｍｏｖｉｅ−４.ｍｆを用意することができ、これをキャッシュに格納することができる（ステップ１００４）。その後、ＣＤＮＡのＣＤＮＣＦは、ＣＤＮ ＢのＣＤＮＣＦに要求を送信することでき（ステップ１００６）、部分ＭＦで規定されたセグメントを収集するようＣＤＮのＣＤＮＦに指示する。部分ＭＦは、収集要求内のＵＲＬに基づいてＣＤＮＢのＣＤＮＣＦによって位置特定することができる（ステップ１００８−１０１０）。代替として、ＣＤＮＢのＣＤＮＣＦに送信される収集要求の本体に、部分ＭＦを含んでもよい。部分ＭＦに基づいて、ＣＤＮＢは引き続き、部分ＭＦで規定されるセグメントを収集する。この収集処理は、図５を参照して説明した処理と同様である（ステップ１０１２）。この処理の間、ＣＤＮＢは、どの配信ノードがセグメントを配信するために構成できるかを自主的に決定することができる。収集処理が完了した後にＣＤＮＡが受信する唯一の情報は、ＣＤＮ ＢのＣＤＮＣＦへポイントしたＵＲＬ、およびＣＤＮＢのセグメントを一意に識別する識別子のリスト、または、マニフェスト・ファイルの更なる抽出に用いることができるＣＤＮＢにおける更新した部分ＭＦにポイントするＵＲＬおよびセグメント位置のいずれかである（ステップ１０１４）。
【００７５】
ＣＤＮ Ａから受信した部分マニフェスト・ファイルに示されたセグメントを有するＣＤＮＢによる実際の収集への代替として、ＣＤＮ Ｂ、好ましくはＣＤＮ ＢのＣＤＮＣＦは、これら識別したセグメントを、ＣＤＮ Ｂの位置（キャッシュ／ノード）に予め割り当てすることができ、また、これにより、これら位置を用いて部分マニフェストを更新することができる。実際のセグメントは、次いで、後の瞬間に、ＣＤＮＢによって収集することができる。例えば、これらセグメントがマニフェスト・ファイルに基づいてクライアントによって要求されるときである。このような機構はまた、「プル(pull)」モデルと称される。
【００７６】
図１１は、図１０に関して説明した処理における、コンテンツ収集のために用いる部分ＭＦの形成について示す。図７を参照してより詳細に説明したように、部分ＭＦは、ＭＦテンプレート１１０２に基づいて構築することができる。ここで、セグメントＭｏｖｉｅ−４−１.ｓｅｇおよびＭｏｖｉｅ−４−２.ｓｅｇに関連付けられたＭＦテンプレートにおける最初の２つのデータベース・エントリは、これらセグメントを配信するよう構成された配信ノードを位置特定するＵＲＬによって置き換えられる。他の２つのデータベース・エントリは、空のままであり、その結果、それらセグメントはＣＤＮＢによって収集されない。
【００７７】
したがって、図３−図１０を参照して説明した処理に基づいて、ＣＤＮはＭＦテンプレートへのエントリおよび様々な配信ノードに格納されるセグエメントに関連付けられるエントリを含むコンテンツ位置データベースをビルドすることができる。当該様々な配信ノードは、ＣＤＮドメインおよび／または他のＣＤＮのＣＤＮドメイン内に位置することができる。ＭＦテンプレートは、ユーザ要求に応答して、複数の動的ＭＦ（ＤＭＦ）を作成するのに使用することができる。この動的ＭＦは、要求されたセグメントを抽出するための位置を含み、セグメント測定基準、例えば頻度および要求の地理的位置に関連した測定基準に基づいて最適化される。動的ＭＦの位置は、異なるＣＤＮドメイン内の配信ノードの位置に関することができる。このようにして、動的ＭＦは、別のＣＤＮドメイン内に格納されたセグメント毎にリダイレクト遅延を甘受することなく、ユーザが、当該動的ＭＦで特定される様々な配信ノードからセグエメントを効率的かつ直接に抽出するのを可能にする。この処理について、以下に、図１２−図１８を参照してより詳細に説明する。
【００７８】
図１２は、本発明の一実施形態による、ユーザ要求を提供する方法のフロー・チャートを示す。この処理は、ＣＤＣＮＦがコンテンツ名および識別子を含むユーザ要求を受信することで開始することができる（ステップ１２０２）。名前は、ファイル・タイプおよび位置に分解する(resolve)ことができる。更に、ユーザ要求に関連付けられたユーザ位置は、ＩＰアドレスに基づいて決定することができる。
【００７９】
ＣＤＮＣＦは次いで、コンテンツ位置データベースを用いて、分解されたファイル・タイプがＭＦテンプレートに関連するか否かを決定することができる（ステップ１２０４）。その場合ではないときは、ＣＤＮＣＦは、ユーザ位置および現在のＣＤＮの負荷のような様々な測定基準を用いて、単一の配信ノードまたは要求されたコンテンツの配信に最適なＣＤＮドメインを決定することができる。分解ファイル・タイプがＭＦテンプレートに関連する場合には、ＣＤＮＣＦは、コンテンツ一データベースを使用して、１つ以上の配信ノードのＵＲＬを含む動的ＭＦを生成することができる（ステップ１２０８）。当該配信ノードは、要求されたセグエメントを共に配信するのに最適である。生成された動的ＭＦは、ＣＤＮＣＦによって一時的に格納してもよく、また、ＤＭＦを位置特定するためのＵＲＬは、ユーザ応答内で送信される（ステップ１２１０）。
【００８０】
図１３は、本発明の一実施例によるＤＭＦを生成する処理のシーケンス図を示す。この処理は、ユーザ要求、または例えばＩＰＴＶ制御機能のようなネットワーク内のコンテンツ制御機能からの要求を送信することで開始することができる（ステップ１３０２および１３０４）。当該コンテンツ制御機能は、ＣＤＮのコンテンツ位置データベースのエントリＭｏｖｉｅ−４.ｍｆへポイントするＵＲＬ、およびＣＤＮ ＡのＣＤＮＦへのＩＰアドレスの形態でのユーザ位置を含む。ＣＤＮＣＦは、データベース・ルックアップを実行し、要求内のデータベース・エントリがＭＦテンプレートのタイプに関連するかを決定する（ステップ１３０６）。ここで、ＭＦテンプレートであるＭｏｖｉｅ−４.ｍｆは、ＣＤＮ Ａの特定の配信ノードのキャッシュに位置する。引き続き、ＭＦテンプレートが抽出され（ステップ１３０８および１３１０）、また、ＭＦテンプレートに基づいて、ＤＭＦがＭＦテンプレート内のデータベース・エントリを書き換えることによって生成される（ステップ１３１２）。ＤＭＦは、引き続き、ユーザまたはコンテンツ制御機能に送信される（ステップ１３１４）。
【００８１】
図１４は、本発明の一実施形態による、ユーザ要求に関連付けられたＤＭＦの形成について示す。ＭＦテンプレート１４０２は、特定のユーザ１４０４と関連付けられたＤＭＦを生成するための基礎として用いることができる。ＤＭＦを生成する処理は、ＤＭＦ内のセグメントをユーザに配信するのに最適な配信ノードが、２つのＣＤＮ、即ち、ＣＤＮ AおよびＣＤＮ Ｂに位置するかを決定することができる。
【００８２】
図１５は、図１３で説明したユーザ要求またはコンテンツ制御機能に関連付けられたＤＭＦを生成する処理についてのフロー・チャートを示す。この処理は、ＣＤＮＣＦがユーザまたはコンテンツ制御機能によって示されたコンテンツ要求に関連付けられたＭＦテンプレートを抽出することで開始することができる（ステップ１５０２）。
【００８３】
その後に、ループが開始する。ここでは、ＭＦテンプレート内のセグメント名は、コンテンツ位置データベース内のエントリへのポインタであり、位置（ＵＲＬ）に分解される。ユーザまたはコンテンツ制御情報（例えば、ＩＰアドレス）に基づいて、セグメントに配信するのに最適なドメイン（例えば、最近接または最適利用可能なもの）が決定される（ステップ１５０４）。このドメインがユーザ要求またはコンテンツ制御機能要求に関連付けられたドメイン（ＣＤＮＡ）である場合には（ステップ１５０６）、セグメントを配信するのに最適なＣＤＮ Ａ内の配信ノードの位置（ＵＲＬ）が選択される（ステップ１５０８）。このＵＲＬは、引き続き、ＭＦテンプレートのセグメント名として挿入されることができる（ステップ１５１４）。
【００８４】
他のドメインがセグメントを配信するのにより適していると決定される場合は、要求は、オプションとしてユーザ位置（例えばＩＰアドレス）を含むことができ、そのＣＤＮのＣＤＮＣＦに送信される（ステップ１５１０）。この要求に応答して、ＵＲＬは、ＣＤＮから受け取ることができる（ステップ１５１２）。このＵＲＬは、引き続き、ＭＦテンプレートのセグメント名に、付加されることができる（ステップ１５１４）。
【００８５】
この処理は、ＭＦテンプレート内の全てのセグメントについて繰り返され、これにより、ＤＭＦを形成し、ＣＤＮＣＦに関連付けられたキャッシュ上に一時的に格納される。ＵＲＬは、このようにして生成されたＤＭＦの位置特定をするために、生成することができる（ステップ１５１８）。
【００８６】
本発明の一実施形態では、ＤＭＦを生成しているＣＤＮＣＦは、他のＣＤＮの特定のＣＤＮＣＦに向けられた全ての位置特定要求を単一の要求に束ねる。このことは、異なるＣＤＮＳのＣＤＮＣＦ間の通信をより効率的なものとし、他のＣＤＮドメインのＣＤＮＣＦの負荷を低減するのを可能にする。そうするために、ＣＤＮＡのＣＤＮＣＦは、新規な部分ＭＦを作成するとよい。新規な部分ＭＦは、ＣＤＮ ＢのＣＤＮＣＦによって関連したセグメントを収集するのに使用されるのではなく、特定のユーザに対して最適なセグメントの位置についてＣＤＮ Aに教えるのに使用される。
【００８７】
図１６は、図１３においてより詳細に説明したような、ユーザ要求またはコンテンツ制御機能に関連付けられたＤＭＦを生成する処理を例示したシーケンス図である。この処理は、ＭＦテンプレートＭｏｖｉｅ＿４．ｍｆに基づいてＤＭＦを生成するトリガで開始することができる（ステップ１６０２）。その後に、図１５を参照して説明した処理を用いて、ＭＦテンプレートのセグメント毎に、セグメントをユーザまたはコンテンツ制御機能の所与の位置に配信する最適な配信ノードが決定される（ステップ１６０４）。２つのセグメントであるＭｏｖｉｅ＿４−１.ｓｅｇおよびＭｏｖｉｅ＿４−２.ｓｅｇについて、最適の配信ノードが、ＣＤＮ Ｂのドメインに位置されるべきことが決定される（ステップ１６０６）。これら２つのセグメントについて、ＣＤＮＣＦは、ＣＤＮＢのＣＤＮＣＦのＵＲＬ、ＣＤＮ Ｂのセグメントを一意に識別する２つの識別子、およびユーザ位置を含むセグメント位置特定要求を転送する（ステップ１６０８）。代替として、先に説明したように、この要求は部分識別子を収容する部分ＭＦを含むことができる。ＣＤＮＢのＣＤＮＣＦは、データベース・エントリを検査し、且つユーザ位置に基づいてＣＤＮ Ｂの配給に最適な配信ノードの位置（ＵＲＬ）を決定することにより、位置特定要求をハンドリングする（ステップ１６１０）。こうして決定された位置は、ＣＤＮＡのＣＤＮＣＦに戻され（ステップ１６１２）、また、ＭＦテンプレートに挿入され（ステップ１６１４）、その結果、動的ＭＦが完成する。
【００８８】
したがって、図１６を参照して説明した処理は、ＣＤＮ相互接続方式を提供し、１つのＣＤＮが、１つ以上のセグメントの位置を他のＣＤＮから要求するのを可能にする。ここでは、戻される位置は、ユーザ、またはネットワーク内のＩＰＴＶ制御機能のようなコンテンツ制御機能に対するセグメントの配信に最適な配信ノードに関連するものとすることができる。
【００８９】
図１７は、本発明の一実施形態による、ＣＤＮ ＡからＣＤＮ Ｂへのセグメント位置特定要求をハンドリングするフロー図を示す。第１ステップ１７０２では、ＣＤＮＢ、即ち受信ドメインは、ＣＤＮ Ａ、即ち発信ドメインから１つ以上のセグメントを位置特定する要求を受信する。この要求に応答して、ＣＤＮＢ、特にＣＤＮ ＢのＣＤＮＣＦは、１つ以上のセグメント識別子を、タイプおよび位置、例えば（１セットの）ＵＲＬ（１または複数）に分解する。ここで、最適な配信ノードの位置が選択され（ステップ１７０４）、そして応答においてＣＤＮＡに戻される（ステップ１７０６）。一実施形態では、処理は再帰的なものであり、ここでは、ＣＤＮＢはＣＤＮ Ｃに委任された幾つかのセグメントを有し、そして、ＣＤＮＢは、図１５および図１６で説明した処理と類似の処理を実行する。
【００９０】
図１８は、本発明の一実施形態による、セグメント化されたコンテンツをＤＭＦに基づいて第１および第２のＣＤＮから抽出する処理についてのシーケンス図を示す。この場合には、ユーザ（クライアント）またはコンテンツ制御機能は、ＣＤＮＡまたはＣＤＮ ＢからＤＭＦを受信しており、そして、ＤＭＦにおいて規定されたセグメントの位置を決定する。例えば、図１８の例では、ＤＭＦの位置に基づいて、クライアントは、ＣＤＮＢにおける第１および第２の配信ノードから第１および第２のセグメントを直接的に要求および受信することができ（ステップ１８０４，１８０６およびステップ１８１０，１８１２）、並びにＣＤＮ  Ａの配信ノードから第３のセグメントを要求および受信することができる（ステップ１８１６）。
【００９１】
図１０に関連付けて最後の段落で説明した代替案に関し、ステップ１８０４で要求したセグメントがＣＤＮ−ノードＢによって予め収集されておらず（且つキャッシュ＿５(cash_5)には未だに存在しない）場合には、ステップ１８０４は、キャッシュ５でのステップに続き、ステップ１８０６によりクライアントに配信されないうちに、「取り逃がした(missing)」セグメントをＣＤＮ Ａから要求し、引き続きキャッシュ＿５によるセグメントを受信する。このようなモデルはまた、「プル(pull)」モデルとも称される。
【００９２】
したがって、動的に生成された複数のＤＭＦは、異なるＣＤＮドメインからのコンテンツの直接抽出を可能にする。ＤＭＦは、ＤＭＦで規定された異なるセグメント間の素早いスイッチングを可能にする。セグメント抽出は、リダイレクト・タイプの機構を必要とせず、異なるＣＤＮドメインにセグメントを位置特定することができる。これにより、セグメント化されたコンテンツについて素早く且つ効率的な抽出を提供する。このようなコンテンツ抽出機構は、コンテンツ・サービスにおいて利用することができる。このサービスは、コンテンツとのユーザ相互作用、例えば、パニング(panning)、ズーミング、チルティング(tilting)、およびストリームの様々なバージョン間のシームレスなスイッチングを可能にする。
【００９３】
任意の一実施形態に関連して説明した如何なる特徴もが、単独で、または説明した他の特徴と組み合わせて使用することができ、且つ、如何なる他の実施形態もが有する１つ以上の特徴との組み合わせ、または如何なる他の実施形態の任意の組み合わせにおいて使用することができるということが理解されるべきである。
【００９４】
本発明の一実施形態は、コンピュータ・システムで使用するためのプログラム製品として実施することができる。プログラム製品のプログラム（１または複数）は、（本願明細書において説明した方法を含む）本実施形態の機能を規定し、且つ、様々なコンピュータ可読記憶媒体上に収容することができる。例示のコンピュータ可読記憶媒体は、以下を含むが、これに限定されるものではない。即ち、（ｉ）非書き込み可能記憶媒体（例えば、ＣＤ―ＲＯＭドライブによって読み込み可能なＣＤ―ＲＯＭディスク、フラッシュ・メモリ、ＲＯＭチップまたは如何なるタイプのソリッドステート不揮発性半導体メモリのようなコンピュータ内のリード・オンリー・メモリ・デバイス）であり情報が永続的に格納されるもの、そして、（ｉｉ）書き込み可能な記憶媒体（例えば、ディスケット・ドライブ内のフロッピー（登録商標）・ディスク、ハードディスク・デバイス、または如何なるタイプのソリッドステート・ランダム・アクセス半導体メモリ）であり、変更可能な情報が格納されるものである。本発明は、上記津名した実施形態に限定されることはなく、添付の特許請求した範囲内で変更することができる。
【図１】
0005932987.tif 000002
【図２】
0005932987.tif 000003
【図３】
0005932987.tif 000004
【図４】
0005932987.tif 000005
【図５】
0005932987.tif 000006
【図６】
0005932987.tif 000007
【図７】
0005932987.tif 000008
【図８】
0005932987.tif 000009
【図９】
0005932987.tif 000010
【図１０】
0005932987.tif 000011
【図１１】
0005932987.tif 000012
【図１２】
0005932987.tif 000013
【図１３】
0005932987.tif 000014
【図１４】
0005932987.tif 000015
【図１５】
0005932987.tif 000016
【図１６】
0005932987.tif 000017
【図１７】
0005932987.tif 000018
【図１８】
0005932987.tif 000019