(57)【特許請求の範囲】
【請求項１】
アダプティブストリーミングコンテンツを配信するように設定されたコンテンツ配信ネットワーク（ＣＤＮ）（１００、１２００）のコンテンツ配信ノード（１１００）において動作可能な方法であって、
前記コンテンツ配信ノード（１１００）のデータベースキャッシュ（１１１８）に記憶された特定のコンテンツおよびセグメントファイルに関して前記コンテンツ配信ノード（１１００）に利用可能なマニフェストを解析して、前記マニフェストによって参照される任意のセグメントファイルが前記データベースキャッシュ（１１１８）に存在しないか否かを判断すること（１０８０）と、
存在しない場合、前記コンテンツ配信ノード（１１００）に関連付けられた１つまたは複数の配信規則を適用して、前記１つまたは複数の配信規則を満たす前記存在しないセグメントファイルの表現を決定すること（１０８２）であって、
前記配信規則は、前記コンテンツ配信ノード（１１００）においてダウンロードされた１つまたは複数のアダプティブビットレート（ＡＢＲ）アセットの履歴配信パターンに基づいて確立され、
前記表現は、ビデオコンポーネント、オーディオコンポーネント、および字幕コンポーネントの条件を含む、コンテンツの特定の条件である、
決定すること（１０８２）と、
前記ＣＤＮ（１００、１２００）の別のコンテンツ配信ノードから、前記１つまたは複数の配信規則を満たす前記存在しないセグメントファイルの前記決定された表現を備えるセグメントファイルのみをプルし（１０８４）、前記プルされたセグメントファイルを前記コンテンツ配信ノード（１１００）の前記データベースに記憶すること（１０８４）と、
を含む、方法。
【請求項２】
前記ＡＢＲアセットは、ビデオコンポーネント、オーディオコンポーネントおよび字幕コンポーネントのうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項３】
前記履歴配信パターンは、前記コンテンツ配信ノード（１１００）においてある期間にわたってダウンロードされる全てのビデオコンポーネント、全てのオーディオコンポーネントおよび全ての字幕コンポーネントについて得られる、請求項２に記載の方法。
【請求項４】
前記コンテンツ配信ノード（１１００）の前記配信規則は、前記コンテンツ配信ノード（１１００）からダウンロードされたビデオコンポーネントのビットレートに基づくビデオ配信規則と、前記コンテンツ配信ノード（１１００）からダウンロードされたオーディオコンポーネントに基づくオーディオ配信規則と、前記コンテンツ配信ノード（１１００）からダウンロードされた字幕コンポーネントに基づく字幕配信規則とのうちの少なくとも１つを含む、請求項３に記載の方法。
【請求項５】
別のコンテンツ配信ノードから前記１つまたは複数の配信規則を満たす前記存在しないセグメントファイルの前記表現を備えるセグメントファイルをプルする動作は、地域サーバノード（１０４−１）またはエッジサーバノード（１０６−１）から前記存在しないセグメントファイルの前記表現を備えるセグメントファイルをプルすることを含む、請求項１に記載の方法。
【請求項６】
前記マニフェストは、各々が前記特定のコンテンツのビデオコンポーネント、オーディオコンポーネントおよび字幕コンポーネントの特定の条件である１つまたは複数の表現を参照する１つまたは複数の子マニフェストを含むマスタマニフェストを含む、請求項１に記載の方法。
【請求項７】
前記マニフェストを解析する前に、デフラグメンテーションを実行する時刻を示すデフラグメンテーションタイマ値が、前記ＣＤＮ内のネットワークリソースの最小利用期間である最小ネットワーク利用時間フレームの期間内にあると判断すること（１００４）と、
前記マニフェストを解析する前に、前記デフラグメンテーションタイマ値が、前記特定のコンテンツのＡＢＲアセットの人気度の高い期間である人気度タイムウィンドウ内にあると判断すること（１０１２、１０５６）と、
を更に含む、請求項１に記載の方法。
【請求項８】
前記１つまたは複数の配信規則は管理ノード（１１２）から取得される、請求項１に記載の方法。
【請求項９】
１つまたは複数の配信規則は、前記コンテンツ配信ノード（１１００）において維持される前記ＡＢＲアセット配信パターンに基づいて決定される、請求項１に記載の方法。
【請求項１０】
アダプティブストリーミングコンテンツを配信するように設定されたコンテンツ配信ネットワーク（ＣＤＮ）（１００、１２００）内で動作可能なコンテンツ配信ノード（１１００）であって、
１つまたは複数のプロセッサ（１１０２）と、
前記コンテンツ配信ノード（１１００）にストリーミングされたコンテンツのセグメントファイルを記憶するためのデータベースキャッシュ（１１１８）と、
前記１つまたは複数のプロセッサ（１１０２）に結合された永続メモリ（１１１０）に具現されたコンテンツデフラグメンテーションモジュール（１１１１）であって、前記コンテンツデフラグメンテーションモジュール（１１１１）は、前記１つまたは複数のプロセッサ（１１０２）によって実行可能な命令であって、
前記コンテンツ配信ノード（１１００）の前記データベースキャッシュ（１１１８）に記憶された特定のコンテンツおよびセグメントファイルに関して前記コンテンツ配信ノード（１１００）に利用可能なマニフェストを解析して、前記マニフェストによって参照される任意のセグメントファイルが前記データベースキャッシュ（１１１８）に存在しないか否かを判断し（１０８０）、
存在しない場合、前記コンテンツ配信ノード（１１００）に関連付けられた１つまたは複数の配信規則を適用して、前記１つまたは複数の配信規則を満たす前記存在しないセグメントファイルの表現を決定し（１０８２）、前記配信規則は、前記コンテンツ配信ノード（１１００）においてダウンロードされた１つまたは複数のアダプティブビットレート（ＡＢＲ）アセットの履歴配信パターンに基づいて確立され、前記表現は、ビデオコンポーネント、オーディオコンポーネント、および字幕コンポーネントの条件を含む、コンテンツの特定の条件であり、
前記ＣＤＮ（１００、１２００）の別のコンテンツ配信ノードから、前記１つまたは複数の配信規則を満たす前記存在しないセグメントファイルの前記決定された表現を備えるセグメントファイルのみをプルし（１０８４）、前記プルされたセグメントファイルを前記コンテンツ配信ノード（１１００）の前記データベースキャッシュ（１１１８）に記憶する（１０８４）、
ように設定される命令を有する、コンテンツデフラグメンテーションモジュール（１１１１）と、
を備える、コンテンツ配信ノード（１１００）。
【請求項１１】
前記ＡＢＲアセットは、ビデオコンポーネント、オーディオコンポーネントおよび字幕コンポーネントのうちの少なくとも１つを備える、請求項１０に記載のコンテンツ配信ノード（１１００）。
【請求項１２】
前記履歴配信パターンは、前記コンテンツ配信ノード（１１００）においてある期間にわたってダウンロードされる全てのビデオコンポーネント、全てのオーディオコンポーネントおよび全ての字幕コンポーネントについて得られる、請求項１１に記載のコンテンツ配信ノード（１１００）。
【請求項１３】
前記コンテンツ配信ノード（１１００）の前記配信規則は、前記コンテンツ配信ノード（１１００）からダウンロードされたビデオコンポーネントのビットレートに基づくビデオ配信規則と、前記コンテンツ配信ノード（１１００）からダウンロードされたオーディオコンポーネントに基づくオーディオ配信規則と、前記コンテンツ配信ノード（１１００）からダウンロードされた字幕コンポーネントに基づく字幕配信規則とのうちの少なくとも１つを含む、請求項１２に記載のコンテンツ配信ノード（１１００）。
【請求項１４】
別のコンテンツ配信ノードから前記１つまたは複数の配信規則を満たす前記存在しないセグメントファイルの前記表現を備えるセグメントファイルをプルする前記命令は、地域サーバノード（１０４−１）から前記存在しないセグメントファイルの前記表現を備えるセグメントファイルをプルする命令を含む、請求項１０に記載のコンテンツ配信ノード（１１００）。
【請求項１５】
別のコンテンツ配信ノードから前記１つまたは複数の配信規則を満たす前記存在しないセグメントファイルの前記表現を備えるセグメントファイルをプルする前記命令は、エッジサーバノード（１０６−１）から前記存在しないセグメントファイルの前記表現を備えるセグメントファイルをプルする命令を含む、請求項１０に記載のコンテンツ配信ノード（１１００）。
【請求項１６】
前記マニフェストは、各々が前記特定のコンテンツのビデオコンポーネント、オーディオコンポーネントおよび字幕コンポーネントの特定の条件である１つまたは複数の表現を参照する１つまたは複数の子マニフェストを含むマスタマニフェストを含む、請求項１０に記載のコンテンツ配信ノード（１１００）。
【請求項１７】
前記コンテンツデフラグメンテーションモジュール（１１１１）は、
前記マニフェストを解析する前に、タイマ（１１０４）によって提供される、デフラグメンテーションを実行する時刻を示すデフラグメンテーションタイマ値が、前記ＣＤＮ内のネットワークリソースの最小利用期間である最小ネットワーク利用時間フレーム（１１０６）の期間内にあると判断し（１００４）、
前記マニフェストを解析する前に、前記デフラグメンテーションタイマ値が、前記特定のコンテンツのＡＢＲアセットの人気度の高い期間である人気度タイムウィンドウ（１１０８）内にあると判断する（１０１２、１０５６）、
ように設定された命令を更に含む、請求項１０に記載のコンテンツ配信ノード（１１００）。
【請求項１８】
前記１つまたは複数の配信規則は管理ノード（１１２）から取得される、請求項１０に記載のコンテンツ配信ノード（１１００）。
【請求項１９】
１つまたは複数の配信規則は、前記コンテンツ配信ノード（１１００）にローカルに記憶されたＡＢＲアセット配信パターンに基づいて決定される、請求項１０に記載のコンテンツ配信ノード（１１００）。
【請求項２０】
命令が記憶された非一時的コンピュータ可読媒体であって、前記命令は、コンピュータシステムによって実行されると、コンテンツ配信ネットワーク（１００、１２００）に関連付けられたコンテンツ配信ノード（１１００）として動作し、以下の動作、すなわち、
前記コンテンツ配信ノード（１１００）のデータベースキャッシュ（１１１８）に記憶された特定のコンテンツおよびセグメントファイルに関して前記コンテンツ配信ノード（１１００）に利用可能なマニフェストを解析して、前記マニフェストによって参照される任意のセグメントファイルが前記データベースキャッシュ（１１１８）に存在しないか否かを判断すること（１０８０）と、
存在しない場合、前記コンテンツ配信ノード（１１００）に関連付けられた１つまたは複数の配信規則を適用して、前記１つまたは複数の配信規則を満たす前記存在しないセグメントファイルの表現を決定すること（１０８２）であって、
前記配信規則は、前記コンテンツ配信ノード（１１００）においてダウンロードされた１つまたは複数のアダプティブビットレート（ＡＢＲ）アセットの履歴配信パターンに基づいて確立され、
前記表現は、ビデオコンポーネント、オーディオコンポーネント、および字幕コンポーネントの条件を含む、コンテンツの特定の条件である、
決定すること（１０８２）と、
前記ＣＤＮ（１００、１２００）の別のコンテンツ配信ノードから、前記１つまたは複数の配信規則を満たす前記存在しないセグメントファイルの前記決定された表現を備えるセグメントファイルのみをプルし（１０８４）、前記プルされたセグメントファイルを前記コンテンツ配信ノード（１１００）の前記データベースに記憶すること（１０８４）と、
を実行するように設定される、非一時的コンピュータ可読媒体。
【請求項２１】
前記マニフェストを解析する前に、タイマ（１１０４）によって提供される、デフラグメンテーションを実行する時刻を示すデフラグメンテーションタイマ値が、前記ＣＤＮ内のネットワークリソースの最小利用期間である最小ネットワーク利用時間フレーム（１１０６）の期間内にあると判断する（１００４）ように設定される命令を更に含む、請求項２０に記載の非一時的コンピュータ可読媒体。
【請求項２２】
前記マニフェストを解析する前に、前記デフラグメンテーションタイマ値が、前記特定のコンテンツのＡＢＲアセットの人気度の高い期間である人気度タイムウィンドウ（１１０８）内にあると判断する（１０１２、１０５６）ように設定される命令を更に含む、請求項２０に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の参照
本出願は、以下の米国特許出願（ｉ）Ｃｈｒｉｓｔｏｐｈｅｒ  Ｐｈｉｌｌｉｐｓ他の名義で２０１３年７月３日に出願された米国特許出願第１３／９３５，３８１号「ＢＡＮＤＷＩＤＴＨ  ＰＯＬＩＣＹ  ＭＡＮＡＧＥＭＥＮＴ  ＩＮ  Ａ  ＳＥＬＦ−ＣＯＲＲＥＣＴＥＤ  ＣＯＮＴＥＮＴ  ＤＥＬＩＶＥＲＹ  ＮＥＴＷＯＲＫ」（Ｅｒｉｃｓｓｏｎ参照番号：Ｐ４０９０５−ＵＳ１）、（ｉｉ）Ｃｈｒｉｓｔｏｐｈｅｒ  Ｐｈｉｌｌｉｐｓ他の名義で２０１３年７月３日に出願された米国特許出願第１３／９３５，３２６号「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＤＥＬＩＶＥＲＩＮＧ  ＣＯＮＴＥＮＴ  ＩＮ  Ａ  ＣＯＮＴＥＮＴ  ＤＥＬＩＶＥＲＹ  ＮＥＴＷＯＲＫ」（Ｅｒｉｃｓｓｏｎ参照番号：Ｐ４０２７０−ＵＳ１）、（ｉｉｉ）Ｃｈｒｉｓｔｏｐｈｅｒ  Ｐｈｉｌｌｉｐｓ他の名義で２０１３年７月２０日に出願された米国特許出願第１３／９２３，００５号「ＤＥＦＲＡＧＭＥＮＴＡＴＩＯＮ  ＯＦ  ＡＤＡＰＴＩＶＥ  ＳＴＲＥＡＭＩＮＧ  ＳＥＧＭＥＮＴ  ＦＩＬＥＳ  ＩＮ  Ａ  ＣＯＮＴＥＮＴ  ＤＥＬＩＶＥＲＹ  ＮＥＴＷＯＲＫ」（Ｅｒｉｃｓｓｏｎ参照番号：Ｐ４０２８５−ＵＳ２）、および（ｉｖ）Ｃｈｒｉｓｔｏｐｈｅｒ  Ｐｈｉｌｌｉｐｓ他の名義で２０１３年１１月１日に出願された米国特許出願第１４／０６９，４９０号「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＰＲＥ−ＰＲＯＶＩＳＩＯＮＩＮＧ  ＡＤＡＰＴＩＶＥ  ＢＩＴＲＡＴＥ（ＡＢＲ）  ＡＳＳＥＴＳ  ＩＮ  Ａ  ＣＯＮＴＥＮＴ  ＤＥＬＩＶＥＲＹ  ＮＥＴＷＯＲＫ」（Ｅｒｉｃｓｓｏｎ参照番号：Ｐ４１２０４−ＵＳ１）の主題に関係する主題を開示する。これらの特許出願はそれぞれ、参照によりこれらの全体が本明細書に援用される。
【０００２】
本開示は、包括的には、通信ネットワークに関する。限定ではないが、より詳細には、本開示は、コンテンツ配信ネットワークにおいてアダプティブビットレート（ＡＢＲ）アセットの配信を最適化するためのシステムおよび方法を対象とする。
【背景技術】
【０００３】
コンテンツ配信ネットワークすなわちＣＤＮ（場合によっては、コンテンツ配布ネットワークとも呼ばれる）は通常、アダプティブビットレート（ＡＢＲ）ストリーミング等の技術を用いて、ネットワーク全体にわたるノード間で「ベストエフォート」形式でコンテンツを配信する。一方、ＡＢＲでは、複数のクライアントがネットワークリソースの使用を開始する順序に基づいて、ネットワークにおける帯域幅の割当てが結果として不公平となり、また場合によっては不適当となり得ることが知られている。帯域幅の使用は通常、コンテンツを要求するクライアントによって決定され、ＡＢＲクライアントはオポチュニスティックである可能性があるため、ＡＢＲクライアントは貪欲になり得る。例えば、低分解能を有するクライアントデバイス（例えば、携帯電話）は、例えば高精細ＴＶ（ＨＤＴＶ）等のより高い分解能のデバイスに必要とされる帯域幅と比較したとき、不相応な量の帯域幅を消費することになる場合がある。ＣＤＮにおける帯域幅のこのような誤った割当て（ｍｉｓａｐｐｒｏｐｒｉａｔｉｏｎ）および／または帯域幅リソースの不均一な配分に関する問題は、より高い帯域幅のオプションが利用可能となったときに、更により顕著になることが予期される。
【０００４】
これに関連して、クライアントがＣＤＮを介してストリーミングコンテンツにアクセスするとき、ＣＤＮのコンテンツ配信ノード（すなわち、サービングノード）において、結果として、フラグメント化したコンテンツ（例えば、コンテンツの不完全なコピー）がコンテンツ配信ノードにおいてローカルに記憶される状態が存在し得る。
【発明の概要】
【０００５】
本特許開示は、広義には、履歴配信トレンドに基づいてＣＤＮにおけるＡＢＲアセットを事前プロビジョニングし、サービングノードのデータベースキャッシュから欠落している場合があるコンテンツセグメントの取得を効率的に管理する際に履歴配信トレンドを利用するためのシステム、方法、デバイス、装置および関連するコンピュータ可読媒体に関する。
【０００６】
１つの態様において、ＣＤＮに関連付けられた管理ノードにおいて動作可能な方法の一実施形態が開示される。特許請求される実施形態は、中でも、ＣＤＮの１つまたは複数のコンテンツ配信ノードに関連付けられた１つまたは複数のＡＢＲアセットの履歴配信パターンを得ることを含む。コンテンツ配信ノードごとに、ある期間にわたって配信されたＡＢＲアセットの統計的分布に基づいて１つまたは複数の配信規則を決定することができる。特定のコンテンツが、指定のコンテンツ配信ノードにおいて人気が出たと判断されるとき、指定のコンテンツ配信ノードのために確立された１つまたは複数の配信規則に基づいて、特定のコンテンツのアセットのある表現または適合セットのみが、この指定のコンテンツ配信ノードについて事前プロビジョニングされるように、事前プロビジョニングポリシを調整することができる。方法の更なる実施形態では、１つまたは複数のＡＢＲアセットの配信のために、ＣＤＮの１つまたは複数のコンテンツ配信ノードに関連付けられた履歴ネットワーク状態を監視することができる。履歴ネットワーク状態に基づいて、コンテンツ配信ノードごとに１つまたは複数の配信規則を決定することができる。更にまたは代替的に、特定のコンテンツが、指定のコンテンツ配信ノードにおいて人気が出たと判断されるとき、この指定のコンテンツ配信ノードについて、配信規則をパスするかまたは他の形で満たす特定のコンテンツのアセットのある表現または適合セットのみが配信のために事前プロビジョニングされるように、配信規則に基づいてＣＤＮの事前プロビジョニングポリシを調整することができる。
【０００７】
別の実施形態では、ＣＤＮに関連して動作可能な管理ノードが開示される。特許請求される実施形態は、コンピュータにより実施されるデータ処理システムとして設定することができ、中でも、ＣＤＮの配信ノードにおいてダウンロードされる１つまたは複数のＡＢＲアセットの履歴配信パターンを記憶するための１つまたは複数のプロセッサおよびデータベースを備える。配信ノード管理・制御（ＤＮＭＣ）モジュールは、１つまたは複数のプロセッサに結合された永続メモリにおいて具現することができ、ＤＮＭＣモジュールは、１つまたは複数のプロセッサによって実行可能なプログラム命令であって、コンテンツ配信ノードごとに、ある期間にわたって配信されたＡＢＲアセットの統計的分布に基づいて１つまたは複数の配信規則を決定するように設定されたプログラム命令を含む。オプションで、１つまたは複数のプロセッサに結合された永続メモリにおいて具現されるコンテンツ事前プロビジョニング制御モジュールを提供することができ、コンテンツ事前プロビジョニング制御モジュールは、１つまたは複数のプロセッサによって実行可能なプログラム命令であって、特定のコンテンツが、指定のコンテンツ配信ノードにおいて人気が出たと判断されるとき、指定のコンテンツ配信ノードに対応する１つまたは複数の配信規則を特定のコンテンツに適用し、指定のコンテンツ配信ノードのために確立された配信規則の適用に基づいて、この指定のコンテンツ配信ノードにおける配信を事前設定する（ｐｒｅ−ｐｏｐｕｌａｔｅ）ために、特定のコンテンツのアセットのある表現のみを選択するかまたは他の形で特定するように設定されるプログラム命令を有する。また更なる実施形態では、ＣＤＮと共に動作可能な管理ノードが、ＣＤＮの１つまたは複数のコンテンツ配信ノードに関連付けられた履歴ネットワーク状態の履歴配信パターンを記憶するためのデータベースを備えることができ、永続メモリにおいて具現されるＤＮＭＣモジュールは、１つまたは複数のプロセッサによって実行可能なプログラム命令であって、コンテンツ配信ノードごとに、ある期間にわたって配信されたＡＢＲアセットについて監視された履歴ネットワーク状態に基づいて１つまたは複数の配信規則を決定するように設定されるプログラム命令を含むことができる。特定のコンテンツが、指定のコンテンツ配信ノードにおいて人気が出たと判断されるとき、ネットワーク状態ベースの配信規則を適用して、指定のコンテンツ配信ノードに対する事前設定のための配信規則をパスする特定のコンテンツのアセットのある表現のみを選択するかまたは他の形で特定することができる。
【０００８】
別の態様では、コンテンツ配信ノードにおいて動作可能な、コンテンツのデフラグメンテーションを最適化するための方法の一実施形態が開示される。特許請求される実施形態は、中でも、特定のコンテンツに関してコンテンツ配信ノードに利用可能なマニフェスト、およびコンテンツ配信ノードのデータベースキャッシュに記憶されたセグメントファイルを解析して、マニフェストによって参照される任意のセグメントファイルがデータベースキャッシュ内に存在しないか否かを判断することを含む。存在しない場合、コンテンツ配信ノードに関連付けられた１つまたは複数の配信規則を適用して、１つまたは複数の配信規則を満たす存在しないセグメントファイルの表現を決定することができる。１つの変形形態では、コンテンツ配信ノードにおいてダウンロードされた１つまたは複数のＡＢＲアセットの履歴配信パターンに基づいて、配信規則を確立することができる。別の変形形態では、コンテンツ配信ノードの履歴ネットワーク状態に基づいて配信規則を確立することができる。存在しないセグメントファイルの準拠した表現を決定した後、これらの表現をＣＤＮの別のコンテンツ配信ノード（例えば、親ノードまたはエッジサーバノード）からプルすることができる。
【０００９】
更なる実施形態では、コンテンツデフラグメンテーションを最適化するように設定されるコンテンツ配信ノードが開示される。特許請求されるコンテンツ配信ノードは、中でも、コンテンツ配信ノードにストリーミングされるコンテンツのセグメントファイルを記憶するための１つまたは複数のプロセッサおよびデータベースキャッシュを含む、コンピュータにより実施されるデータ処理システムとして具現することができる。永続メモリにおいて具現されるコンテンツデフラグメンテーションモジュールが１つまたは複数のプロセッサに結合される。このコンテンツデフラグメンテーションモジュールは、１つまたは複数のプロセッサによって実行可能なプログラム命令であって、特定のコンテンツに関してコンテンツ配信ノードに利用可能なマニフェスト、およびデータベースキャッシュに記憶されたセグメントファイルを解析して、マニフェストによって参照される任意のセグメントファイルがデータベース内に存在しないか否かを判断し、存在しない場合、コンテンツ配信ノードに関連付けられた１つまたは複数の配信規則を適用して、１つまたは複数の配信規則を満たす存在しないセグメントファイルの表現を決定し、１つまたは複数の配信規則を満たす存在しないセグメントファイルの表現のみをＣＤＮの別のコンテンツ配信ノードからプルし、プルされた表現をデータベースキャッシュに記憶するように設定されるプログラム命令を含む。
【００１０】
また更なる態様では、上記に示した方法の１つまたは複数の実施形態を実行するために記憶された命令を含む非一時的コンピュータ可読媒体の実施形態が開示される。様々な実施形態の更なる特徴は、従属請求項に列挙するとおりである。
【００１１】
本発明の利点は、限定ではないが、ＣＤＮにおけるＡＢＲアセットの事前プロビジョニングに対する、より粒度の細かい制御を提供し、これにより、結果として、ネットワークリソースの使用をより効率的にすることを含む。オペレータ帯域幅コストが最小になる（なぜなら、特定のコンテンツがどれだけ人気があるかにかかわらず、ネットワークオペレータはもはや、用いられる可能性が低いアセット、すなわちファイルを送信する必要がないため）のみでなく、より高品質のサービスもエンドユーザに提供することができる。更に、アセットトレンドベースの配信規則および／またはネットワーク状態ベースの配信規則に基づいて、ＣＤＮの配信ノードにおけるコンテンツデフラグメンテーションを最適化することによって、更なる効率を得ることができる。実施形態の更なる利益および利点は、以下の説明および添付の図面に照らして明らかとなるであろう。
【００１２】
本開示の実施形態は、同様の参照符号が類似の要素を指す添付の図面の図において、限定ではなく例として示される。本開示における「一」または「１つの」実施形態への異なる言及は、必ずしも同じ実施形態に対するものでなく、このような言及は、少なくとも１つを意味する場合があることに留意するべきである。更に、一実施形態に関連して特定の特徴、構造または特性が説明されるとき、これは、明示的に記載されていようといまいと、このような特徴、構造または特性を、他の実施形態に関連してもたらすことが当業者の知識の範囲内にあると考えられる。
【００１３】
添付の図面は、本開示の１つまたは複数の例示的な実施形態を示すために本明細書に組み込まれ、本明細書の一部をなす。本開示の様々な利点および特徴は、添付の特許請求の範囲に関連して、添付の図面の図を参照しながら以下の詳細な説明を読むことにより理解されよう。
【図面の簡単な説明】
【００１４】
【図１】本特許出願の１つまたは複数の実施形態を実施することができる例示的なコンテンツ配信ネットワークを示す。
【図２】特定のコンテンツのビデオ、オーディオおよび字幕コンポーネントに関する１つまたは複数のコンテンツ表現または適合セットへの参照を含む例示的なマニフェストを示す。
【図３】特定のコンテンツの異なるメディアセグメントに関する更なる詳細を示すマニフェストの例示的なメディア表現記述（ＭＰＤ）モデルを示す。
【図４】本特許出願の一実施形態による、履歴配信トレンドに基づいてコンテンツが事前プロビジョニングされる例示的なコンテンツ配信ネットワークを示す。
【図５Ａ】本特許出願の１つまたは複数の実施形態に従って行うことができる様々なステップおよび動作に関するブロックを有するフローチャートを示す。
【図５Ｂ】本特許出願の１つまたは複数の実施形態に従って行うことができる様々なステップおよび動作に関するブロックを有するフローチャートを示す。
【図６】本特許出願の一実施形態による、管理ノードとして動作するように適合されたコンピュータシステムのブロック図を示す。
【図７】本特許出願の一実施形態による、ＡＢＲアセットの履歴配信トレンドを監視するために行うことができる様々なステップおよび動作に関するブロックを有するフローチャートである。
【図８】本特許出願の一実施形態による、配信規則に基づいてコンテンツの事前プロビジョニングのために行うことができる様々なステップおよび動作に関するブロックを有するフローチャートである。
【図９】本特許出願の一実施形態による、ＣＤＮの１つまたは複数のコンテンツ配信ノードのための履歴配信トレンドデータを更新するために行うことができる様々なステップおよび動作に関するブロックを有するフローチャートである。
【図１０Ａ】本特許出願の１つまたは複数の実施形態による、コンテンツ配信ノードにおけるメディアセグメントのデフラグメンテーションのために行うことができる様々なステップおよび動作に関するブロックを有するフローチャートを示す。
【図１０Ｂ】本特許出願の１つまたは複数の実施形態による、コンテンツ配信ノードにおけるメディアセグメントのデフラグメンテーションのために行うことができる様々なステップおよび動作に関するブロックを有するフローチャートを示す。
【図１０Ｃ】本特許出願の１つまたは複数の実施形態による、コンテンツ配信ノードにおけるメディアセグメントのデフラグメンテーションのために行うことができる様々なステップおよび動作に関するブロックを有するフローチャートを示す。
【図１１】本特許出願の一実施形態による、最適化されたコンテンツデフラグメンテーションを実現するように設定することができる、コンテンツ配信ノードとして動作するように適合されたコンピュータシステムのブロック図を示す。
【図１２】本特許出願の一実施形態による、履歴配信トレンドに基づいて、コンテンツ配信ノードにおいてフラグメント化したコンテンツが補充される例示的なコンテンツ配信ネットワークを示す。
【発明を実施するための形態】
【００１５】
以下の記載において、本特許の開示の１つまたは複数の実施形態に関して、多数の具体的な詳細が示される。しかしながら、１つまたは複数の実施形態が、このような具体的な詳細なしで実施され得ることが理解されるべきである。他の例では、よく知られた回路、サブシステム、コンポーネント、構造および技法は、例示的な実施形態の理解を曖昧にしないように詳細に示されていない。したがって、当業者は、本開示の実施形態が、このような具体的なコンポーネントベースの詳細なしで実施され得ることを理解するであろう。当業者は、本明細書に示す詳細な説明を活用して、添付の図面粗参照することにより、必要以上の実験作業を行うことなく１つまたは複数の実施形態を作成し用いることができることが更に認識されるべきである。
【００１６】
更に、以下の記載、特許請求の範囲または双方において、「結合された」および「接続された」等の語が、これらの語の派生語と共に用いられる場合がある。これらの語は、必ずしも互いの同義語であることを意図されていないことが理解されるべきである。「結合された」は、相互に直接物理的または電気的に接触している場合もしていない場合もある２つ以上の要素が、相互に協働または相互作用することを示すために用いることができる。「接続された」は、相互に結合された２つ以上の要素間での通信、すなわち通信可能な関係の確立を示すために用いることができる。更に、本明細書に示す１つまたは複数の例示的な実施形態において、一般的に言えば、要素、コンポーネントまたはモジュールは、要素が、機能を実行することが可能であるかまたは他の形で機能を実行するように構造的に構成されている場合に、この機能を実行するように設定することができる。
【００１７】
本明細書において用いられるとき、ネットワーク要素またはノードは、ネットワーク上の他の機器（例えば、他のネットワーク要素、末端局等）に通信可能に相互接続し、複数の加入者に関して、１つまたは複数のアプリケーションまたはサービスをホスティングするように適合された、ハードウェアおよびソフトウェアを含む１つまたは複数のサービスネットワーク機器から構成することができる。いくつかのネットワーク要素は、複数のアプリケーションサービス（例えばデータおよびマルチメディアアプリケーション）のためのサポートを提供することに加えて、複数のネットワークベースの機能（例えば、コンテンツ人気度ポリシ管理、セッション制御、ＱｏＳポリシ強制、帯域幅スケジューリング管理、加入者／デバイスポリシおよびフロフィール管理、コンテンツプロバイダ優先度ポリシ管理、ストリーミングポリシ管理等）のためのサポートを提供する「マルチサービスネットワーク要素」を含むことができる。加入者末端局またはクライアントデバイスは、中でも、ストリーミングサーバまたはコンテンツプロバイダからコンテンツを受信するための少なくとも１つのストリーミングクライアントアプリケーション（例えば、ＡＢＲストリーミングクライアントアプリケーション）を実行するように設定される任意のデバイスを含むことができる。したがって、このようなクライアントデバイスは、セットトップボックス、ＰＶＲ／ＤＶＲ、ワークステーション、ラップトップ、ノートブック、パームトップ、モバイルフォン、スマートフォン、マルチメディアフォン、ボイスオーバーインターネットプロトコル（ＶＯＩＰ）フォン、モバイル／ワイヤレスユーザ機器、高精細ＴＶ端末、ポータブルメディアプレーヤ、ロケーション認識加入者機器、ゲームシステムまたはコンソール（Ｗｉｉ（登録商標）、Ｐｌａｙ  Ｓｔａｔｉｏｎ３（登録商標）、Ｘｂｏｘ３６０（登録商標））等を含むことができ、これらは、本明細書に示される１つまたは複数の実施形態に従ってコンテンツ配信ネットワークにわたって提供されるコンテンツ／サービスにアクセスし、これを消費することができる。更に、クライアントデバイスは、適切なサービスプロバイダアクセスネットワークを介して、ブロードキャストネットワーク（例えば、ケーブルおよび衛星ネットワーク）、およびインターネット等のパケット交換型広域公衆ネットワークを通じて提供されるコンテンツ／サービスにアクセスし、これを消費することもできる。また更なる変形形態では、クライアントデバイスまたは加入者末端局は、インターネット上に（例えばトンネリングにより）オーバレイされた仮想プライベートネットワーク（ＶＰＮ）上に提供されるコンテンツ／サービスにアクセスするかまたはこれを消費することもできる。
【００１８】
本特許開示の１つまたは複数の実施形態は、ソフトウェア、ファームウェアおよび／またはハードウェアの様々な組合せを用いて実施することができる。このため、図（例えば、フローチャート）に示す技法およびブロックのうちの１つまたは複数は、１つまたは複数の電子デバイスまたはノード（例えば、加入者クライアントデバイスまたは末端局、ネットワーク要素等）において記憶および実行されるコードおよびデータを用いて実施することができる。このような電子デバイスは、非一時的コンピュータ可読記憶媒体（例えば、磁気ディスク、光ディスク、ランダムアクセスメモリ、読出し専用メモリ、フラッシュメモリデバイス、相変化メモリ等）、一時的コンピュータ可読伝送媒体（例えば、搬送波、赤外線信号、デジタル信号等の、電気、光、音響または他の形態の伝搬信号）等のコンピュータ可読媒体を用いて、コードおよびデータを（内部におよび／またはネットワークを通じて他の電子デバイスに）記憶および通信することができる。更に、このようなネットワーク要素は、通常、１つまたは複数のストレージデバイス（例えば、非一時的機械可読記憶媒体）およびストレージデータベース、ユーザ入出力デバイス（例えば、キーボード、タッチスクリーン、ポインティングデバイスおよび／またはディスプレイ）、ならびにシグナリングおよび／またはベアラメディア伝送を実現するためのネットワーク接続等の１つまたは複数の他のコンポーネントに結合された１つまたは複数のプロセッサの組を含むことができる。プロセッサの組と、他のコンポーネントとの結合は通常、任意の既知の（例えば、対称／共有マルチプロセッシング）またはこれまで知られていないアーキテクチャで構成される１つまたは複数のバスおよびブリッジ（バスコントローラとも呼ばれる）を通じて行うことができる。このため、所与の電子デバイスまたはネットワーク要素のストレージデバイスまたはコンポーネントは、本開示の１つまたは複数の技法を実施する目的で、この要素、ノードまたは電子デバイスの１つまたは複数のプロセッサ上で実行するためのコードおよび／またはデータを記憶するように設定することができる。
【００１９】
ここで、図面、より詳細には図１を参照すると、本特許出願の１つまたは複数の実施形態を実施することができる例示的なコンテンツ配信ネットワークすなわちＣＤＮ１００が示されている。本特許出願において、ＣＤＮ１００は、１つまたは複数のインターネットベースのインフラストラクチャ、プライベート／専用インフラストラクチャまたはこれらの組合せを用いて、加入者への、多岐にわたるデジタルアセットまたはプログラムアセットおよびサービス（以後、「メディアコンテンツ」と呼ぶ）の高性能ストリーミングのために構築されるオーバレイネットワークを含むことができる。通常、「メディアコンテンツ」または「コンテンツファイル」（または単に「コンテンツ」）という語は、本特許開示の少なくともいくつかの実施形態を指して用いられるとき、任意のタイプのオーディオ／ビデオコンテンツまたはプログラムセグメント等のストリーミングデジタルアセットおよびプログラムアセットを含むことができる。これらは、ライブまたはスタティック（例えば、録画放送の無料の無線ネットワークテレビ（ＴＶ）ショーまたはプログラム、ケーブルネットワークまたは衛星ネットワークを介した有料ＴＶ放送プログラム、無料衛星ＴＶショー、ＩＰＴＶプログラム等）の、オーバーザトップ（ＯＴＴ）およびビデオオンデマンド（ＶＯＤ）またはムービーオンデマンド（ＭＯＤ）ショーまたはプログラム、タイムシフトＴＶ（ＴＳＴＶ）コンテンツ、ならびにコンテンツ発行者、所有者またはプロバイダによって提供される他のコンテンツアセットであり、限定ではないが、任意の既知のまたはこれまでに知られていないアダプティブストリーミング技術を用いて配信することができる、ソフトウェアファイル、実行可能コンピュータコードまたはプログラム、オンライン電子ゲーム、インターネットラジオショー／プログラム、娯楽プログラム、教育プログラム、映画、音楽ビデオプログラム等が含まれる。更に、ストリーミングを介して提供される様々なプログラムまたはコンテンツファイルを、様々な加入者に固有のチャネルのコレクションまたはアセンブリとして構成することができる。ここで、異なるチャネルは、１つまたは複数のコンテンツソースまたは発信者からのメディアコンテンツを含むことができる。
【００２０】
例示として、コンテンツは、アダプティブビットレート（ＡＢＲ）ストリーミング技術を用いてＣＤＮ１００を介して配信することができ、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｓｉｌｖｅｒｌｉｇｈｔ（登録商標）ＳｍｏｏｔｈＳｔｒｅａｍｉｎｇ、ＨＴＴＰストリーミング（例えば、ＨＴＴＰを介した動的アダプティブストリーミングすなわちＤＡＳＨ、ＨＴＴＰライブストリーミングすなわちＨＬＳ、ＨＴＴＰ動的ストリーミングすなわちＨＤＳ等）、Ｉｃｅｃａｓｔ等の既知の実施態様をサポートするように符号化することができる。通常、ＣＤＮ１００のオーバレイアーキテクチャは、マルチレベルの、階層組織化された相互接続ネットワークサーバアセンブリを含み、このアセンブリは、１つまたは複数の中央配布ノードから、それぞれのサービングロケーションエリア内の複数のエンドユーザまたは加入者をサーブするように設定された１つまたは複数のローカルエッジサーバに接続された１つまたは複数のレベルの地域配布ノードへのメディア経路または「パイプ」を提供する。したがって、地域配布ノードは、１つまたは複数の子エッジサーバに対する親ノードとして動作することができ、そして、中央配布ノードまたは国配布ノードは、１つまたは複数の子地域配布ノードに対する親ノードとして動作することができることを理解するべきである。更に、このような「配布サーバ」（場合によっては、「コンテンツ配信ノード」とも呼ばれる）に加えて、ＣＤＮ１００は、要求リダイレクトまたはリルートメカニズムを実現するように設定された様々なネットワーク要素、および、ストリーミングネットワークバックオフィス（特に図示されていない）の一部として展開することができる、加入者管理システム、帯域幅スケジューリングシステム、アカウント／課金システム等の関連するバックオフィスシステムを含みかつ／またはこれらと協働することもできる。
【００２１】
図示されるように、ＣＤＮ１００は、それぞれサンアントニオ（テキサス州）、ジャクソン（ミシシッピ州）およびシャーロット（ノースカロライナ州）を拠点とする地域配布サーバ１０４−１〜１０４−３に結合されたニューヨークを拠点とする国サーバ１０２を用いて例示されている。地域配布サーバ１０４−１は、コーパスクリスティ（テキサス州）のエッジサーバ１０６−１、ガルベストン（テキサス州）のエッジサーバ１０６−Ｎによって例示される、複数のエッジサーバ１０６−１〜１０６−Ｎをサーブするように適合される。同様に、地域配布サーバ１０４−２は、（ミシシッピ州ビッグスバーグの）エッジサーバ１１０−１〜（ミシシッピ州ビロクシーの）エッジサーバ１１０−Ｋをサーブするように適合され、地域配布サーバ１０４−３は、（ノースカロライナ州アシュビルの）エッジサーバ１０８−１〜（ノースカロライナ州フェイエットビルの）１０８−Ｍをサーブするように適合される。
【００２２】
各ローカルエッジサーバは、関連する末端局またはクライアントデバイスにコンテンツを配信するために、サービングエリア内の複数の加入者にサーブするように動作可能である。これについては、有線および／または無線（電波）通信を介したブロードバンドアクセスを含む任意のタイプまたは数のアクセス技術においてＣＤＮ１００を介して配信されるストリーミングコンテンツを消費するかまたはこれにアクセスすることができる例示的なクライアントデバイスまたはユーザ機器（ＵＥ）デバイス１０５によって示される。本特許出願において、「加入者末端局」および「クライアントデバイス」という語は、同義語として用いられてもよく、１つの実施態様では、ライブビュー、プレイバックおよび／またはコンテンツの復号のためのデジタルコンテンツアセットを受信するのみでなく、コマンドコンソールまたは端末として動作することもできる任意のＵＥデバイスまたは機器を含むことができ、ユーザ入力、コマンドまたは要求を受理して、ＣＤＮ１００内に配置されたネットワーク要素および／または関連するストリーミングサーバシステムとインタラクトし、コンテンツを要求することができる。このコンテンツは、内部表示スクリーンおよび／または１つまたは複数の外部オーディオ／視覚（Ａ／Ｖ）デバイス（特に図示していない）に選択的にレンダリングすることができる。したがって、例示的なクライアントデバイス１０５は、実施されるストリーミング技術に依拠して、１つまたは複数のストリーミングクライアントモジュール（例えば、ＡＢＲストリーミングクライアント）および関連する復号機能を含むことができ、これらは各々が、プロセッサモジュールおよび適切なメモリおよびプログラムコード（図示せず）と関連して動作し、ストリーミングされたメディアコンテンツの取得、復号およびレンダリングを実現する。
【００２３】
上記で示唆したように、ＣＤＮ１００は、アダプティブストリーミングを用いて、ライブソースおよび／または静的ファイルソースからコンテンツを配信するように設定することができる。ここで、コンテンツは、ビデオコンポーネント、オーディオトラックコンポーネントおよび字幕言語コンポーネントを含むことができる。更に、特定のコンテンツのビデオコンポーネントは、コード変換されるか、または他の形で、適用可能なエンコーダを用いて異なるビットレート（例えばマルチレートトランスコーディング）でエンコードされてもよい（例えば、特定のプログラムコンテンツは、低ビットレートから高ビットレート（例示として、５００Ｋｂｓ〜１２Ｍｂｓ）の範囲の可変ビットレートを用いて５つのビデオファイルにコード変換することができる）。したがって、特定のコンテンツのビデオコンポーネントは、５つの異なる「バージョン」または「フォーマット」としてエンコードされ、各ビットレートは、プロファイルまたは表現と呼ぶことができる。また、特定のコンテンツに関連付けられたオーディオトラックは、多言語プログラミングおよび異なるレベル／タイプのオーディオ品質体感をサポートするための異なる言語およびエンコーディングを含むことができる。例えば、コンテンツは、各々がいくつかのタイプのオーディオエンコーディング：シングルチャネル（モノ）、２チャネル（ステレオ）、５．１サラウンドサウンド、７．１サラウンドサウンド、７．２サラウンドサウンド等を備えた複数の言語（例えば、英語、フランス語、スペイン語、ドイツ語、中国語等）において利用可能であり得る。同様に、コンテンツの主なオーディオトラックの言語にかかわらず、コンテンツに、字幕のための様々な言語選択肢も設けることができる（例えば、英語、スペイン語、日本語、中国語、韓国語、フランス語等）。
【００２４】
本特許出願において、ＣＤＮ１００を通じて配布されるコンテンツのビデオ、オーディオおよび字幕コンポーネントを、「ＡＢＲアセット」と呼ぶことができる。ＣＤＮ１００のコンテンツ配信ノードのネットワークを介して、加入者によってコンテンツがアクセスされるか、ダウンロードされるかまたは他の形で消費されると、ＡＢＲアセットに関して、異なる消費／ダウンロードパターンが現れる場合がある。ＡＢＲアセットの履歴配信トレンドおよびパターン、ならびにＣＤＮ１００の１つまたは複数のコンテンツ配信ノードに関連付けられたネットワーク状態を監視するように適合された管理ノードとして、ＣＤＮ１００に関連付けて配信ノード管理・制御（ＤＮＭＣ）システム１１２を提供することができる。クライアントデバイス１０５が構成可能な期間にわたって、関連付けられたコンテンツ配信ノードを介して様々なコンテンツにアクセスするとき、履歴配信パターン学習および更新プロセスは、コンポーネント単位で、すなわち、ビデオ、オーディオまたは字幕単位で、各コンテンツ配信ノードの配信統計を得るように動作可能である。同様の形式で、各コンテンツ配信ノードに関連付けられた履歴ネットワーク状態を、ある期間にわたって得ることができる（例えば、ダウンロードレート分布、帯域幅利用および他の性能メトリック、他のコンテンツ配信ノードの性能および／または所定の性能閾値に対する相対的性能比較等）。これは、ＤＮＭＣシステムまたはノード１１２によって、ネットワークを通じたコンテンツ配布を制御するために利用することができる。
【００２５】
いくつかの実施形態では、エッジサーバノードに関連付けられた統計をＤＮＭＣシステム１１２に直接提供することもできるし、それぞれの地域のサーバノードを介して間接的に提供することもでき、これにより、エッジサーバノードの累積的または集約的統計をＤＮＭＣシステム１１２に提供することができる。例示として、参照符号１１４−１は、地域サーバノード（例えば、サンアントニオサーバ１０４−１）によって、ＤＮＭＣシステム１１２に対し、配信トレンドおよび他の統計を更新しかつ／または他の形でこれらを提供するための通信経路を指す。同様に、通信経路１１４−２は、エッジサーバノード（例えば、ガルベストンサーバ１０６−Ｎ）によって、ＤＮＭＣシステム１１２に対し、配信トレンドおよび他の統計を更新しかつ／または他の形でこれらを提供するために提供され得る。配信統計に基づいて、ＡＢＲアセットコンポーネントごとに、ノード単位の配信パターンを確立することができる。これは、統計的分布、尤度範囲、パーセンテージ、期待値等を求めることを伴うことができる。例えば、ガルベストンエッジサーバ１０６−Ｎに関連付けられたＡＢＲアセット配信パターン１１６は、ある期間にわたってこのサーバから配信された様々なビデオビットレート（場合によってはビットレートとも呼ばれる）の分布を示すビデオコンポーネント配信パターン１１８−１を含む（例えば、ダウンロードされるコンテンツの３５％が、８〜１０Ｍｂｓでエンコードされる高精細の１０８０ｐビデオであり、ダウンロードされるコンテンツの４５％が、３〜８Ｍｂｓでエンコードされる高精細の７２０ｐビデオである等）。ガルベストンエッジサーバ１０６−Ｎに関連付けられたオーディオコンポーネント配信パターン１１８−２も同様に、ある期間にわたってサーバから配信された全てのオーディオトラックのために用いられる様々な言語およびエンコーディングの分布を示す（例えば、ダウンロードされたコンテンツの１０％が５．１サラウンドサウンドの英語であり、ダウンロードされたコンテンツの５０％が２．０ステレオの英語であり、ダウンロードされたコンテンツの４０％が２．０ステレオのスペイン語である）。字幕に関して、ガルベストンエッジサーバ１０６−Ｎに関連付けられた対応する配信パターン１１８−３は、ダウンロードされた字幕の９９％が英語であり、ダウンロードされた字幕の残り１％がスペイン語である分布を示す。
【００２６】
比較して、アシュビルエッジサーバ１０８−１に関連付けられたＡＢＲアセット配信パターン１２０が、異なる１組のビデオ、オーディオおよび字幕分布で示されている。図１に示すように、ＡＢＲアセット配信パターン１２０は、ある期間にわたってこのサーバから配信された様々なビデオビットレートの分布を例示するビデオコンポーネント配信パターン１２２−１を含み、例えば、比較的低いパーセンテージ（４％）のダウンロードされたコンテンツが、８〜１０Ｍｂｓでエンコードされた高精細の１０８０ｐビデオである。同様に、アシュビルエッジサーバ１０８−１に関連付けられたオーディオコンポーネント配信パターン１２２−２は、スペイン語のパーセンテージが大幅に低い（例えばダウンロードされたコンテンツの２％）オーディオトラック言語分布を示す。字幕配信パターン１２０−３は、ある期間にわたってアシュビルエッジサーバ１０８−１からダウンロードされた字幕選択の分布を示し、これは、ガルベストンエッジサーバ１０６−Ｎに関連付けられた字幕配信パターン１１８−３に実質的に類似している。
【００２７】
本特許出願の教示に従って、ＤＮＭＣシステム１１２は、ＣＤＮ１００のそれぞれのコンテンツ配信ノードに関連付けられた様々なＡＢＲアセット配信パターンおよび／または履歴ネットワーク状態の様々な統計的分布に基づくことができる１つまたは複数の配信規則を決定するかまたは他の形で確立するように動作可能である。更に、このような配信規則は、以下で更に詳細に示されるように、効率的なリソース利用、最適化されたユーザ体感、帯域幅管理等のためにＣＤＮ１００内で実施することができる、コンテンツ事前プロビジョニング技法（例えば、人気度決定に基づく）、デフラグメンテーション方法、プッシュベースのコンテンツ配信ポリシ等を調整するかまたは他の形で制御するために有利に適用することができる。
【００２８】
図２は、ＣＤＮ１００等のＣＤＮ全体にわたる配布のために利用可能とすることができる特定のコンテンツ（例えば、ムービーＸ）に関する例示的なＡＢＲアセットパッケージ２００を示す。ＡＢＲアセットパッケージの１つまたは複数の部分の配信は、本特許出願の一実施形態に従って調整するかまたは他の形で制御することができる。マニフェストファイル２０２（ＭＰＥＧ−ＤＡＳＨ規格ＩＳＯ／ＩＥＣ２３００９−１におけるメディア表現記述すなわちＭＰＤモデルとしても知られる）は、特定のコンテンツのビデオ、オーディオおよび字幕コンポーネントに関する１つまたは複数のコンテンツ表現または適合セットへの参照を含めて、利用可能なコンテンツコンポーネントを記述するように動作可能である。ビデオアセットコンポーネントに関して、マニフェスト２０２は、タイミング、セグメントを指すユニバーサルリソースロケータ（ＵＲＬ）等のセグメント情報、ならびにビデオ分解能およびビットレート等のメディア特性を記述することができる。マニフェスト２０２がマスタマニフェストとして提供される一実施形態では、マニフェスト２０２は、それぞれが、ムービーＸのビデオ、オーディオおよび字幕アセットコンポーネントの特定の組合せを参照する、複数の子マニフェスト２０４−１〜２０４−Ｋを含むことができる。例示として、ＡＢＲアセットパッケージ２００のビデオコンポーネント部分２０６は、それぞれがあるビデオ品質を有する複数のビットレートでエンコードされたメディアセグメントを含む。例えば、参照符号２０６−１は、１２Ｍｂｓでエンコードされた高精細１０８０ｐメディアセグメントを指す。同様に、参照符号２０６−２〜２０６−９は、ビデオが４５０Ｋｂｓに至るまでのレートでエンコードされているメディアセグメントを指す。ＡＢＲアセットパッケージ２００のオーディオコンポーネント部分２０８は、各々が異なるオーディオ品質体感についてエンコードされているムービーＸの複数の言語を含む。参照符号２０８−１〜２０８−６はそれぞれ、６つのアセットコンポーネント、英語５．１（サラウンドサウンド）、英語２．０（ベーシックステレオ）、スペイン語２．０、フランス語２．０、中国語２．０およびドイツ語２．０を指す。字幕コンポーネント部分２１０は、ムービーＸのために提供された複数の字幕言語選択を含み、英語２１０−１〜ロシア語２１０−９が例示されている。
【００２９】
図３は、マニフェストの例示的なメディア表現記述モデルを示し、例えば、特定のコンテンツの異なるメディアセグメントに関する更なる詳細を例示するＭＰＤ３００を示す。複数の任意にスプライスされたコンテンツ部分３０２−１〜３０２−３が、スプライスされた部分のそれぞれのタイミングおよびベースＵＲＬパラメータを記述する。これらは各々が、異なるアセットコンポーネントのための１つまたは複数の適合セットを含む。例示されるように、参照符号３０４−１および３０４−２はそれぞれ、セグメント３０２−２のビデオ適合セットおよびオーディオ適合セットを指す。そして、ビデオ適合セット３０４は、２つの表現３０６−１および３０６−２を含む。これらは各々が、セグメント情報３１０に加えて、それぞれのビットレート、表示分解能等を含む。更なる例示として、セグメント情報３１０は、初期化セグメント３１２、および複数のメディアセグメント３１４−１〜３１４−Ｌに対するＵＲＬを含み、各セグメントは適切なタイミングパラメータを有する。当業者は、ＭＰＥＧ−ＤＡＳＨ規格に準拠する特定の実施態様では、図２に示すＡＢＲアセットパッケージ２００を、図３に示すＭＰＤ３００に類似した適切なＭＰＤ３００モデル表現で記述することができることを認識するべきである。
【００３０】
図４は、本特許出願の一実施形態による、履歴配信トレンドに基づいてコンテンツを事前プロビジョニングすることができる例示的なコンテンツ配信ネットワーク４００を示す。例示のために、ＣＤＮ４００は、図１に示すＣＤＮ１００と同一であるが、特定のコンテンツの人気が出る可能性がある場所を決定するかまたは他の形で推定もしくは予測するための人気度ポリシ管理システム４０２が提供される点が異なる。上記で参照により本明細書に援用された、本発明の譲受人に譲受された特許出願（１）２０１３年７月３日に出願された米国特許出願第１３／９３５，３８１号「ＢＡＮＤＷＩＤＴＨ  ＰＯＬＩＣＹ  ＭＡＮＡＧＥＭＥＮＴ  ＩＮ  Ａ  ＳＥＬＦ−ＣＯＲＲＥＣＴＥＤ  ＣＯＮＴＥＮＴ  ＤＥＬＩＶＥＲＹ  ＮＥＴＷＯＲＫ」（Ｅｒｉｃｓｓｏｎ参照番号：Ｐ４０９０５−ＵＳ１）、（ｉｉ）２０１３年７月３日に出願された米国特許出願第１３／９３５，３２６号「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＤＥＬＩＶＥＲＩＮＧ  ＣＯＮＴＥＮＴ  ＩＮ  Ａ  ＣＯＮＴＥＮＴ  ＤＥＬＩＶＥＲＹ  ＮＥＴＷＯＲＫ」（Ｅｒｉｃｓｓｏｎ参照番号：Ｐ４０２７０−ＵＳ１）に記載されているように、人気度ポリシ管理システム４０２は、複数の情報源に基づいて、ロケーションおよび加入者人口統計によって特定のコンテンツの人気度を推定または決定するように動作可能である。情報源は、例えば、コンテンツ／ムービーの詳細、プロットキーワード検索データ、マーケティングデータ（例えば、興行収入データ、記憶された媒体（例えば、Ｂｌｕ−Ｒａｙ、ＤＶＤ、ＨＤおよびＣＤディスク）販売データおよび関連コンテンツ売上げデータ（まとめて、「収益情報」））に関係するトレンドに加えて、ＣＤＮ４００によってサービスされる地理的領域内に配布される特定のコンテンツに対する検索トレンドデータ（例えば、Ｇｏｏｇｌｅ（登録商標）、Ｂｉｎｇ（登録商標）、Ｙａｈｏｏ（登録商標）等によって提供される検索エンジンを用いたインターネット検索エンジントレンドデータ、および、ソーシャルメディアの検索トレンドデータ、例えば、Ｆａｃｅｂｏｏｋ（登録商標）、Ｔｗｉｔｔｅｒ（登録商標）、Ｉｎｓｔａｇｒａｍ（登録商標）、Ｐｉｎｔｅｒｅｓｔ（登録商標）等における検索）である。更に、人気度ポリシ管理システム４０２は、適用可能なライセンス情報および／またはコンテンツベースの優先度レベルおよび重みを受け取るためにコンテンツポリシ管理ノード（明確に図示せず）とインタフェースするように設定することができる。特定のコンテンツのための人気度推定値の決定時に、人気度ポリシ管理システム４０２は、通信経路４０６によって例示されるように、中央配布ノードおよび／または地域サーバノードに事前プロビジョニングおよび配布ポリシを提供するように動作可能である。コンテンツ固有の事前プロビジョニングおよび配布ポリシの確立に関する更なる詳細は、上記で参照した、上述の本発明の譲受人に譲受された特許出願のうちの１つまたは複数において見てとることができる。
【００３１】
更に、ＤＮＭＣシステム１１２は、ノードのＡＢＲアセット配信／配布パターンに基づいて、それぞれのコンテンツ配信ノード（例えば、地域サーバノードおよび／またはエッジサーバノード）のために確立されたかまたは他の形で決定された１つまたは複数の配信規則を提供するように動作可能である。１つの実施形態では、ＤＮＭＣシステム１１２は、特定のＡＢＲアセットパッケージのための事前プロビジョニングおよび配布ポリシと併せて、このような配信規則（ビデオビットレートの上限／下限閾値および／または範囲、言語／字幕選択パーセンテージに基づく制限等を含むことができる）を適用し、配信規則を満たすかまたは他の形でパスするコンテンツのある表現またはバージョンのみが事前プロビジョニングされ得るようにするように更に動作可能である。別の実施形態では、適用可能な配信規則は、通信経路４０４によって例示されるように、中央配布ノードおよび／または地域配布ノードに送信することができる。この配布ノードは次に、コンテンツの人気があると判断された複数のエッジサーバノードに関して、事前プロビジョニングのためのビデオ／オーディオ／字幕アセットのサブセットを選択するために配信規則を適用することができる。また更なる実施形態では、人気度に基づく事前プロビジョニングポリシおよびノード固有のアセットトレンド配信規則を、別のネットワーク要素または管理ノードに提供することができる。この別のネットワーク要素または管理ノードは、特定のコンテンツのＡＢＲ配信アセットに関する、フィルタリングされたまたは他の形で調整された事前プロビジョニングポリシを確立するために、適切な選択／フィルタリングロジックを適用するように適合される。このようなシナリオでは、調整された事前プロビジョニングポリシを、ＣＤＮ４００の中央／地域配布ノードに送信することができ、これに従って、ＡＢＲアセットのサブセットを適切に事前プロビジョニングすることができる。
【００３２】
更にまたは代替的に、ＤＮＭＣシステム１１２は、ノードの履歴ネットワーク状態に基づいてそれぞれのコンテンツ配信ノードのために確立されたかまたは他の形で決定された１つまたは複数の配信規則も提供することができる。アセットトレンドベースの配信規則の適用と類似して、ネットワーク状態に基づく配信規則は、人気度ポリシ管理システム４０２によって確立された事前プロビジョニングポリシを調整するかまたは他の形で制御するために適用することができる。ネットワーク状態ベースの配信規則は、ＣＤＮの事前プロビジョニングポリシの更なる精緻化のためのアセットトレンドベースの配信規則と併せて適用されることに加えて、上記で説明した実施形態に類似した様々な実施態様において適用することができることが当業者に理解されるべきである。
【００３３】
図４の参照を継続して、それぞれのノードの配信パターンに基づく、エッジサーバノード１０６−Ｎおよび１０８−１に関するＡＢＲアセットの調整された事前プロビジョニングを更に例証することができる。上記で説明したように、ガルベストンエッジサーバ１０６−Ｎに関連付けられたＡＢＲアセット配信パターン１１６は、コンテンツの８０％よりも多くが、より高いビットレートカテゴリ（すなわち、３〜８Ｍｂｓにおける７２０ｐコンテンツまたは８〜１２Ｍｂｐｓにおける１０８０ｐコンテンツ）にあるビデオコンポーネント分布を示す。したがって、特定のコンテンツ（例えば、ムービーＹ）のより高いビットレート表現のみをガルベストンノード１１６−Ｎのために事前プロビジョニングすることができる配信規則を確立することができる。このノードにおいて人気が出ると推定された特定のコンテンツに関してこのような規則が適用されるとき、このノードのために事前プロビジョニングされたＡＢＲアセットパッケージ４０８は、ビデオアセットコンポーネント４１０−１によって示されるように、（例えば、それぞれ３／５Ｍｂｓおよび１０／１２Ｍｂｓでエンコードされる）コンテンツの７２０ｐおよび１０８０ｐ表現のみを含むことになる。同様に、ガルベストンノード１１６−Ｎのための履歴オーディオアセット配信パターンが、コンテンツの１０％のみがサラウンドサウンド（５．１）の英語である配信パターンであるとすると、配信規則は、コンテンツのオーディオアセットの５．１英語表現が事前プロビジョニングから除外されるような配信規則とすることができる。同様にして、ガルベストンノード１０６−Ｎにおいてダウンロードされる履歴字幕言語の分布に一致して、字幕のための配信規則は、このノードからダウンロードされる最小尤度（例えば、５％未満）を有する任意の字幕が事前プロビジョニングから除外される配信規則とすることができる。このような配信規則を適用することによって、ガルベストンノード１０６−ＮのためのムービーＹに関して事前プロビジョニングされたＡＢＲアセットパッケージ４０８は、英語２．０およびスペイン語２．０の表現（または適合セット）のみを含むオーディオアセットコンポーネント４１０−２と、ガルベストンノード１０６−Ｎによってサービスされているエリアにおいて人気があると推定されたムービーＹの英語字幕のみを含む字幕アセットコンポーネント４１０−３とを含むことになることを見てとることができる。
【００３４】
同様にして、アシュビルエッジサーバ１０８−１に関連付けられた学習されたＡＢＲアセット配信パターン１２０に基づく１つまたは複数の配信規則は、アシュビルサービスエリアにおいて人気があると推定されたコンテンツ、例えば、ムービーＹの事前プロビジョニングを調整するように適用することができる。このサービスエリアにおいて配信されるコンテンツの４％のみが８〜１２Ｍｂｐｓの１０８０ｐコンテンツを含むという履歴ビデオアセット配信パターン１２２−１が確立されたとき、例示的な配信規則は、コンテンツの１０８０ｐ表現が除外されるようにすることができる。同様に、それぞれの尤度推定値に基づいて、オーディオおよび字幕アセットコンポーネントのための適切な閾値を確立することができる。このような配信規則を適用する際、アシュビルノード１０８−１のためのムービーＹに関する事前プロビジョニングされたＡＢＲアセットパッケージ４１２が、（例えば、それぞれ３／５Ｍｂｓおよび２／１Ｍｂｓでエンコードされる）コンテンツの７２０ｐおよび４８０ｐ表現のみを含むビデオアセットコンポーネント４１４−１と、英語２．０表現のみを含むオーディオアセットコンポーネント４１４−２と、ムービーＹの英語字幕のみを含む字幕アセットコンポーネント４１４−３とを含むことになることを見てとることができる。
【００３５】
したがって、あるノードにおいて人気があると判断された特定のコンテンツに関するＡＢＲアセットパッケージの全ての適合セットを事前プロビジョニングする代わりに、本明細書に示す実施形態は、ＡＢＲアセットのより粒度の細かい事前プロビジョニングを提供し、結果として、ネットワークリソースの展開がより効率的になる。（特定のコンテンツがどれだけ人気があるかにかかわらず、ネットワークオペレータはもはや、用いられる可能性が低いアセット、すなわちファイルを送信する必要がないため）オペレータ帯域幅コストが最小化されるのみでなく、エンドユーザに対し、より高品質のサービスも提供することができる。更に、上記で説明した例示的な事前プロビジョニング調整は、アセットトレンドベースの配信規則の適用を示しているが、必要な変更を加えたネットワーク状態ベースの配信規則に基づいて、同様の事前プロビジョニング調整も等しく実現することができる。
【００３６】
更なる例示的なシナリオでは、ＤＮＭＣシステムに、ＣＤＮエッジノードの各々によってサービスされるエリア内の言語のプリファレンスを認識させることができる。このような認識は、ＣＤＮ自体における履歴トレンド（例えば、特定のサービスエリア内のユーザは常にまたはほとんどの場合にスペイン語バージョンを見る）によって通知することもできるし、エッジノードがまだ履歴データを有していない場合、第三者から供給される、より広いトレンド（例えば、特定のサービスエリアにおいてスペイン語を話す人口が多い）に基づくこともできる。このエッジノードによってサービスされるエリアにおいて特定のコンテンツの人気が出た場合、システムは、ＡＢＲアセットパッケージ全体の一部として各コンテンツに通常含まれる全てのオーディオまたは字幕オプションではなく、人気のあるオーディオまたは字幕データ（異なる言語でさえあり得る）のみを事前設定する。ユーザが、現行の言語以外の（すなわち、フィルタリングされた事前プロビジョニングされたアセットではない）言語にアクセスすることを望む場合、要求に応じて、オーディオ／字幕データを通常の形式で送信することができる。また更なる例では、ＤＮＭＣシステムに、このＤＮＭＣシステムのエッジサーバの各々の履歴ネットワーク状態を認識させることができる。特定のエッジサーバが、（適切な性能メトリックについて規定され得るように）平均を一貫して下回るエッジサーバ状態を体感するかまたは呈する場合、ＤＮＭＣシステムにこのような状態を認識させることができる。このエッジノードによってサービスされるエリア内で特定のコンテンツの人気が出た場合、より高いビットレートは使用される可能性がより低い（および／またはダウンロードされる可能性がより低い）ため、システムは、より低いビットレートコンテンツのみを事前設定する。ネットワーク状態が改善し、変則的なビットレート（フィルタリングされた事前プロビジョニングされたアセットではない）が加入者によって要求される場合、このようなビットレートを、要求に応じて、通常の形式で送信することができる。
【００３７】
次に、図５Ａおよび図５Ｂを参照すると、ＡＢＲアセットの事前プロビジョニングを調整するために本特許出願の１つまたは複数の実施形態に従って行うことができる様々なステップおよび動作に関するブロックを有するフローチャートが示されている。フローチャート５００Ａは、独立して、または１つもしくは複数の組合せで実施することができるプロセスの集合を表す。１つの例示的なプロセスでは、ブロック５０２、５０４および５１０は、人気のあるコンテンツの事前プロビジョニングに関するアセットトレンドベースの配信規則の適用を示す。別の例示的なプロセスでは、ブロック５０６、５０８および５１０は、事前プロビジョニングに関するネットワーク状態ベースの配信規則の適用を示す。また更なる例示的なプロセスでは、ブロック５０２〜５１０は、アセットベースの配信規則およびネットワーク状態ベースの配信規則の双方を事前プロビジョニングポリシ調整の目的で適用することができる複数の形で組み合わせることができる。
【００３８】
ブロック５０２において、１つまたは複数のＡＢＲアセットの履歴配信パターンおよびトレンドを、ＣＤＮの１つまたは複数のコンテンツ配信ノードについて、例えば、構成可能な移動／スライドタイムウィンドウ等の期間にわたって得ることができる。コンテンツ配信ノードごとに、関連するサンプル時間ベースにわたって、ＡＢＲアセットの適切な統計的分布、例えば、パーセンテージ分布、尤度推定値、マルチレベルランキング分布等を決定することができる。ＡＢＲ分布に基づいて、適応学習プロセス、例えばナレッジベースまたは規則ベースのエキスパートシステムの一部として提供することができる、１つまたは複数の配信規則を確立するかまたは他の形で決定することができる（ブロック５０４）。ＣＤＮ内の異なるノードにおいて、特定のコンテンツが、人気が出たと判断されるかまたは他の形で推定されると、配信規則を満足するかまたは他の形で満たす特定のコンテンツのビデオ／オーディオ／字幕コンポーネントの、ある表現または適合セットのみを、このコンテンツの人気があると判断されたノードに関して、配信のために事前プロビジョニングすることができる（ブロック５１０）。
【００３９】
代替的にまたは更に、ＣＤＮのそれぞれのコンテンツ配信ノードに関連付けられた履歴ネットワーク状態（例えば、ダウンロードレート、帯域幅利用等）を監視することができ（ブロック５０６）、これを次に、適切な配信規則を決定するために用いることができる。ここでもまた、このような配信規則は、静的／決定論的とすることもできるし、ＣＤＮ管理ノードからの事前設定された制御入力に応じて変更することもできる（すなわち自己適応学習）。したがって、特定の実施態様に応じて、ネットワーク状態ベースの規則を複数の方法で確立することができる（ブロック５０８）。アセットトレンドベースの配信規則に関して、ネットワーク状態ベースの配信規則を用いて、人気があるコンテンツの、ある適合セットのみを事前プロビジョニングのためにフィルタリングすることができる（ブロック５１０）。
【００４０】
図５Ｂにおいて、ブロック５１０に対する追加のステップまたは動作が別個のフローチャート５００Ｂとして示されている。ブロック５１２において、配信規則の適用は、ＡＢＲアセットと、ビットレート範囲、閾値、言語／字幕尤度推定値、ネットワーク接続性能／状態等、およびこれに関連する他のメトリックとの比較を含むことができる。ブロック５１４に示すように、比較に応答して、特定のコンテンツのビデオ／オーディオ適合アセットおよび字幕を、事前プロビジョニングのために選択するかまたは他の形で特定することができる。
【００４１】
図６は、本特許出願の一実施形態による、管理ノード６００として動作するように適合された、コンピュータにより実施されるデータ処理システムのブロック図を示す。図４および図６を参照すると、管理ノード６００は、ＣＤＮ４００およびＣＤＮノードに関連付けられた人気度ポリシ管理システム４０２に加えて、帯域幅割当て／スケジューリングシステム、配布パイプポリシ管理・最適化システム、コンテンツポリシ・ＱｏＳ管理システム、もしくは要求リルート／リダイレクトシステム、またはこれらの任意の組合せ等の１つまたは複数のＣＤＮ管理システムと相互作用することができる、ＤＮＭＣシステム１１２の例示的な実施態様として設定することができる。バス構造４６４に結合された１つまたは複数のプロセッサまたはプロセッサ基板６０２−１〜６０２−Ｎは、本特許開示において示される１つまたは複数の機能を実行することを含めた、ノード６００の全体制御を提供する。バス６０４は、更なるバスまたは周辺バス６０８、６１０まで延在するかまたはこれらに結合するために、１つまたは複数のバスブリッジまたはバスコントローラ６０６−１、６０６−２に結合することができ、そして更なるバスまたは周辺バス６０８、６１０は複数のインタフェース（Ｉ／Ｆ）をサポートすることができる。例として、このようなインタフェース６１２−１、６１２−２のうちの１つまたは複数は、国サーバノード１０２、地域サーバノード１０４−１〜１０４−３およびエッジサーバノード１０６−１〜１０６−Ｎ、１０８−１〜１０８−Ｍ、１１０−１〜１１０−Ｋ等の様々なＣＤＮノードとのインタフェースを実現することができる。更なるインタフェース６１４−１、６１４−２は、上記で言及した１つまたは複数のＣＤＮ管理システムへのインタフェースを実現することができる。
【００４２】
管理ノード６００に設けられたメモリサブシステム６１９は、複数のメモリモジュール６１８−１〜６１８−Ｍおよび永続メモリモジュール６１７等の不揮発性メモリモジュールに関するメモリ動作を制御するための１つまたは複数のメモリコントローラ６１６を含むことができる。１つまたは複数のソフトウェアプロセス、モジュール、ブロック、ルーチン、スレッド等として組織化および／または実行することができるプログラム命令またはロジックは、本開示の１つまたは複数の実施形態を実現するための永続メモリ６１７に記憶するかまたはアップロード／ダウンロードすることができる。例えば、配信ノードおよび管理制御モジュール６２１は、ノード単位で構成することができ、それぞれ不揮発性データベース６２３、６２７に記憶することができる、履歴ＡＢＲアセット配信トレンドおよび／または履歴ネットワーク接続状態に基づいて配信規則を実現するかまたは他の形で確立するように設定することができる。１つの実施態様では、配信規則は、例えば、クラスタ解析、多変量解析、主要コンポーネント解析、要因解析、相関解析、適応ニューラルネットワーク、回帰解析等を伴う統計的かつ算術的モデリング技法に準拠して確立することができ、ノード単位でＡＢＲアセット分布を学習するのみでなく、これを予測する。上記で指摘したように、配信規則は、コンテンツ事前プロビジョニングポリシを調整するために適切なＣＤＮノード（例えば、国サーバ１０２）に配布することができる。代替的にまたは更に、人気度ポリシ管理システム４０２によって決定されるようなコンテンツ事前プロビジョニングポリシと併せて配信規則を適用するための、また別のモジュール６２５を提供することができ、これによって、調整された事前プロビジョニングポリシをＣＤＮノードに提供することができる。本特許開示において、また更なる変形形態では、配信規則は、人気度、ネットワーク帯域幅状態等に基づいて適切なエッジサーバノードに加入者の要求をリダイレクトするように動作可能な要求リダイレクタシステムと併せて適用することもできる。
【００４３】
図７は、本特許出願の一実施形態によるＡＢＲアセットの履歴配信トレンドを監視するために行うことができる様々なステップおよび動作に関するブロックを有する例示的なプロセス７００のフローチャートである。クライアントがＡＢＲコンテンツを見ることを要求すると（ブロック７０２）、字幕／言語選択等の適切なデータを配信セッションのために保存することができる（ブロック７０４、７０６）。判定ブロック７０８に示すように、ＡＢＲコンテンツが別個の適合セット内にあるか、またはインタリーブされたコンテンツストリーム（すなわち、あるレガシストリーミングの実施において提供される多重化されたまたは多重（ｍｕｘｅｄ）コンテンツストリーム）内にあるかに依拠して、配信セッションに関する更なるデータを記憶、保存または他の形で監視することができる。別個の適合セット内のコンテンツについて、ＡＢＲアセットパッケージの各オーディオおよびビデオセグメントに関してループサブプロセス７１０を実現することができる。ここで、ブロック７１２、７１４に示すように、セグメントビデオビットレート、オーディオビットレートおよび配信フォーマット（例えば、ＭＰ３、ＡＡＣ、ＡＡＣ＋、ｅＡＡＣ＋、ＦＬＡＣ  ＷＭＡ、ＷＡＶ、ＡＭＲ、ＯＧＧ、ＤＴＳ、ＡＣ３、ＬＰＣＭおよびＭＩＤＩ等のオーディオフォーマット、ならびに、例えば、ＭＰＥＧ４、Ｈ．２６３、Ｈ．２６４、ＤｉｖＸ、ＸｖｉＤ、ＷＭＶ、ＡＶＩ、３ＧＯ、Ｆｌａｓｈ  Ｖｉｄｅｏ等のビデオフォーマット）を記憶することができる。多重コンテンツについて、ループサブプロセス７１６は、インタリーブされたセグメントごとにセグメントビットレートを記憶するように動作可能である（ブロック７１８）。この後、クライアント配信セッションが終了すると（ブロック７２０、７２４）、ビデオ／オーディオ／字幕アセットの配信統計（ブロック７２８）または多重セットビットレートおよび字幕選択（ブロック７２６）に関する適切なデータ更新手順を行うことができる。１つの実施態様では、それぞれの期間にわたってＣＤＮの各コンテンツ配信ノードに対し、上記のサブプロセス７１０、７１６および後続の更新手順を行うことができる。これらのノードは、例えば、図１に示すＤＮＭＣシステム１０２等の管理ノードに配信統計を提供する（ブロック２８）ように設定することができる。更に、ＤＮＭＣシステムとＣＤＮノードとの間の配信統計の送信は、タイマ、ユーザ／ネットワーク設定および他の条件に基づいてトリガされることに加えて、要求／応答クエリメカニズム、プッシュメカニズム、プルメカニズムによって実現することができる。
【００４４】
図８は、本特許出願の一実施形態に従って配信規則に基づいてコンテンツの事前プロビジョニングポリシを調整するために行うことができる様々なステップおよび動作に関するブロックを有する例示的なプロセス８００のフローチャートである。ＣＤＮにおけるコンテンツの事前プロビジョニングが始まると（ブロック８０２）、配信ノードのサービスロケーションにおいて特定のコンテンツの人気があると推定されるかまたは他の形で判断されるか否かを判断することによる判定ブロック８０３において開始されるループサブプロセス８０５を各コンテンツ配信ノードについて実現することができる。配信ノードエリアにおいて、コンテンツの人気があると判断されない場合、この配信ノードをスキップすることができ（ブロック８０４）、次の配信ノードに関するコンテンツの人気度を解析することができる。コンテンツが指定のコンテンツ配信ノードに関して人気があると判断される場合、このノードについての適切な履歴ビデオ／オーディオ／字幕配信統計および関連するアセット配信規則を取得および／または利用することができる（ブロック８０６）。適用可能な場合、対応する適合セットを含む、利用可能なＡＢＲパッケージアセットに関する、特定の人気のあるコンテンツのマニフェストを解析することができる（ブロック８０８）。ＡＢＲパッケージ内のアセットごとに、ＡＢＲアセット（およびＡＢＲアセットの適合セット）が分布統計に基づく対応する配信規則を満たすか否かについての判断（判定ブロック８１４）から開始するループサブプロセス８１０が実現される。満たす場合、このＡＢＲアセット（およびＡＢＲアセットの適合セット）を、判定ブロック８０３において特定される指定のコンテンツ配信ノードに関する事前プロビジョニング（ブロック８１６）のために特定することができる。そうでない場合、ＡＢＲアセットはスキップされ、特定の人気のあるコンテンツのＡＢＲパッケージにおける次のアセットが解析される（ブロック８１８）。特定のコンテンツの人気があると判断された各配信ノードに関する全てのＡＢＲアセットに対し配信規則を適用した後、適切なＡＢＲアセット（および対応する適合セット）が「人気のある」ノードのために事前プロビジョニングされ（ブロック８２０）、この時点でプロセスが完了する（ブロック８２２）。図１および図４に示すように、履歴配信トレンド、ネットワーク状態等の変動に起因して、全ての人気のあるノードを同じＡＢＲアセット／適合セットで事前プロビジョニングすることができるわけではない。
【００４５】
図９は、本特許出願の一実施形態による、ＣＤＮの１つまたは複数のコンテンツ配信ノードのための履歴配信トレンドおよび／またはネットワーク状態データを更新するために行うことができる様々なステップおよび動作に関するブロックを有する例示的なプロセス９００のフローチャートである。更新ルーチンの呼び出しに従って（ブロック９０２）、ＣＤＮにおけるトレンド／状態統計を更新するのが適切であるか否かについて、タイマに関連した判断を行うことができる（判定ブロック９０４）。適切である場合、ＣＤＮの起点の国サーバから、（例えばＤＮＭＣシステムによって）コンテンツ配信ノードの完全なリストを取得することができる（ブロック９０８）。リストの配信ノードごとに、ビデオ／オーディオ／字幕配信統計を取得し、これに基づいてノードに関連付けられたデータベース記録またはストレージを更新するためのループサブプロセス９１０を実現することができる（ブロック９１２）。更にまたは代替的に、適切なネットワーク状態をノード単位で監視することもできる。タイマに関連する（または他のトリガベースの）判断により、統計を更新することがまだ適切でないことが示される場合、更新プロセス９００は、事前設定された時間量が経過するのを待機する（ブロック９０６）。全てのＣＤＮのノードについて統計を更新することに関して単一のタイミング判断が示されている（すなわち、判定９０４）が、複数のタイミング判断および／または他のトリガベースの閾値も、それぞれのＣＤＮノードに対応する別個の更新プロセスを開始するために実施することができることが理解されるべきである。
【００４６】
ＣＤＮにおいてコンテンツ事前プロビジョニングポリシの調整を容易にすることに加えて、更なる態様において、上記で記載した履歴配信トレンドおよびネットワーク状態も、ＣＤＮにおけるコンテンツのデフラグメンテーションを最適化するために利用することができる。上記で指摘したように、クライアントがＣＤＮを介してＡＢＲコンテンツにアクセスしたとき、エッジにおけるサーバが、アダプティブストリーミングアーキテクチャの固有の特徴に起因してフラグメント化する場合があることも起こり得る。通常、ＣＤＮのエッジサーバノードは、クライアントに対する特定のＡＢＲアセットパッケージの１つまたは多数の個々セグメントファイルをサーブすることができ、クライアントが（例えば、リダイレクションに起因して）第２のエッジサーバからコンテンツを要求するとき、第１のエッジサーバおよび第２のエッジサーバの双方が、結果として、関連するマニフェストによって参照されたセグメントファイルの不完全なコレクションを保持することになる場合がある。
【００４７】
エッジサーバが要求されたセグメントファイルのコピーを保持しないとき、これらのエッジサーバは、地域サーバ等の親ノードから要求されたセグメントファイルを取得またはプルすることを要求される場合がある。これは通常、親ノードに、要求されたセグメントファイルの完全なコピーを保持させるが、マニフェストにおいて参照される完全なセグメントコレクションが、公示された全てのビットレートについて親ノードに存在するという保証はない。したがって、クライアントが、同じエッジサーバからのマニフェストについて、セグメントファイルの全てではなくいくらかを要求するとき、フラグメンテーションが生じる場合があり、結果として、マニフェストセグメントコレクション全体の不完全なコピーが生じる。アダプティブストリーミングアーキテクチャ内でビットレートを変更するクライアントは、エッジサーバにおいて、このフラグメンテーションをまた更に悪化させ得る。解決策として、参照により上記に援用された、本発明の譲受人に譲受された、Ｃｈｒｉｓｔｏｐｈｅｒ  Ｐｈｉｌｌｉｐｓ他の名義で２０１３年６月２０日に出願された米国特許出願第１３／９２３，００５号「ＤＥＦＲＡＧＭＥＮＴＡＴＩＯＮ  ＯＦ  ＡＤＡＰＴＩＶＥ  ＳＴＲＥＡＭＩＮＧ  ＳＥＧＭＥＮＴ  ＦＩＬＥＳ  ＩＮ  Ａ  ＣＯＮＴＥＮＴ  ＤＥＬＩＶＥＲＹ  ＮＥＴＷＯＲＫ」（Ｅｒｉｃｓｓｏｎ参照番号：Ｐ４０２８５−ＵＳ２）に記載されている特定の実施形態は、ＣＤＮ内の「デフラグメンテーション」システムおよび方法を提供し、これによって、エッジサーバは、マニフェストにおいて参照されるセグメントコレクション全体の完全なコピーを保持することを確実にされる。更なる改善において、以下に記載する本開示の実施形態は、エッジサーバノードにおけるフラグメント化したコンテンツが、ノードに関連付けられた履歴配信トレンドおよび／またはネットワーク状態に基づいて補充される、最適化されたデフラグメンテーションシステムおよび方法を提供する。更に、開示される実施形態は、帯域幅輻輳の状態を回避するかまたは他の形で改善することができるように、低いネットワーク利用量の時点で行うように制御され得る。
【００４８】
図１０Ａ〜図１０Ｃは、本特許出願の１つまたは複数の実施形態によるコンテンツ配信ノードにおけるメディアセグメントのデフラグメンテーションを最適化するために行うことができる様々なステップおよび動作に関するブロックを有するフローチャートを示す。まず図１０Ｃを参照すると、特定のコンテンツに関してＣＤＮノードにおいて最適化されたデフラグメンテーションプロセス１０００Ｃの一実施形態を行うことができる。ブロック１０８０において、ＣＤＮノードは、ＣＤＮノードのデータベースキャッシュに記憶されたコンテンツのマニフェストおよびＡＢＲセグメントファイルを解析して、マニフェストによって／において参照される任意のセグメントがこのデータベースに存在しないか否かを判断するように設定される。存在しない場合、ＣＤＮノードに関連付けられた１つまたは複数のＡＢＲのアセット配信規則を適用して、配信規則を満たす存在しない／欠落したセグメントファイルの表現または適合セットを決定することができる（ブロック１０８２）。これに応答して、存在しないセグメントの準拠した表現／適合セットのみが、別のＣＤＮノード（例えば、地域サーバノード等の別のエッジサーバノードまたは親ノード）からプルまたは取得され、これらは次に、ＣＤＮノードのデータベースキャッシュにローカルで記憶される（ブロック１０８４）。
【００４９】
図１０Ａは、ＣＤＮ１００のエッジサーバノード１０６−Ｎ、１０８−１等の子ノードまたはエッジノードによって実行することができる最適化されたデフラグメンテーションプロセス１０００Ａのフローチャートを更に詳細に示す。上記で記載したフローチャートと同様に、プロセスのステップの一部分を取り囲むブロックはループサブプロセスを示す。ループサブプロセスでは、取り囲まれた動作は、ループが実現されるエンティティのリストが空になるまで反復的に／繰返し実行することができる。１つの実施態様では、ＣＤＮ内の各ノードは、ノードの最小利用時間フレームパラメータとして設定することができる、ノードの低ネットワーク利用によって特徴付けられる期間（例えば深夜）内に現在の時刻が入るか否かを、様々な時間間隔で判断することができる。自己計算時間フレームを提供しないノードは、要求を、親ノード、リダイレクタサーバ、または別のサーバに送信し、自身の最小利用時間フレームを決定することができる。このため、ブロック１００２において、エッジノードはデフラグメンテーションウェイクアップタイマをチェックし、これによって、エッジノードは、判定ブロック１００４において、現在の時刻がＣＤＮ内のネットワークリソースの最小利用期間内にあるか否かを判断する。エッジノードは、可能であれば、ネットワークリソースの最小利用期間を自己計算し、不可能であれば、ＣＤＮ内のこのエッジノードの親ノード、リダイレクタサーバまたは別のサーバから、ＣＤＮ内のネットワークリソースの最小利用期間を特定する情報を受信する。現在の時刻がＣＤＮ内のネットワークリソースの最小利用期間内にない場合、プロセスはブロック１００８に移り、ブロック１００８において、この特定のエッジノードについてデフラグメンテーションがスキップされ、制御がブロック１００２に戻る。ブロック１００４において、現在の時刻が、ＣＤＮ内のネットワークリソースの最小利用期間内にあると判断されるとき、プロセスはブロック１００６に進み、ブロック１００６において、エッジノードは、例えば人気度ポリシ管理サーバと併せて動作するリダイレクタサーバから、全てのコンテンツ人気度時間フレームウィンドウを取得する。プロセス１０００Ａは、この後、ループサブプロセス１０１０に入る。ループサブプロセス１０１０は、エッジノードのローカルキャッシュメモリに記憶されたセグメントファイルに関連付けられた適合ストリーミングマニフェストごとに実行されるアクションの集合を包含する。ループ１０１０のブロック１０１２において、エッジノードは、現在の時刻が、解析されている特定のマニフェスト／パッケージのための人気度タイムウィンドウ閾値内にあるか否かを判断する。このような判断は、クライアントがセグメントファイルを要求する可能性が高いとき、完全な電子コンテンツが利用可能である（そして、潜在的に、ライセンシングウィンドウ内にある）ことを確保するために行うことができることを理解するべきである。現在の時刻が人気度タイムウィンドウ閾値内にない場合、プロセスはブロック１０１４に移り、ブロック１０１４において、エッジノードはこの特定のマニフェスト／パッケージをスキップする。ブロック１０１２において、現在の時刻が、解析されている特定のパッケージのための人気度タイムウィンドウ閾値内にあると判断されるとき、プロセスはブロック１０１６に移り、ブロック１０１６において、エッジノードは、このエッジノードに関連付けられたマスタマニフェストファイルを読み出す。この後、プロセスは、マスタマニフェスト内の各子マニフェストについて実行される一連のアクションを包含する別のループサブプロセス１０１８に入る。ブロック１０２０において、エッジノードは、特定の子マニフェスト（例えば、図３に示すＭＰＤモデル３００に示されるＵＲＬ等）からセグメントファイルのＵＲＬを読み出す。ＵＲＬによって参照されるＡＢＲアセットセグメントが、ノードに関連付けられた適用可能な配信規則を満たすか否かについて判断が行われる（判定ブロク１０２２）。満たさない場合、ＵＲＬがスキップされ、子マニフェストにおいて参照される次のＵＲＬが解析される。適用可能な配信規則に準拠するＡＢＲアセットセグメントを参照するＵＲＬについて、それぞれのアセットセグメントがエッジノードのキャッシュメモリ内に存在するか否かを判断する（判定ブロック１０２８）のための更に別のループサブプロセス１０２６に入る。存在する場合、エッジノードは、ブロック１０３０においてこのセグメントファイルのためのＵＲＬをスキップし、次のセグメントファイルに移る。このサブループプロセスは、子マニフェストによって参照されるセグメントファイルの各々について継続し、参照されたセグメントファイルがエッジノードのローカルキャッシュメモリに存在しないと判断されると、プロセスはブロック１０３２に移る。ブロック１０３２において、エッジノードは、存在しないセグメントファイルのＵＲＬを利用して、エッジノードの親ノードまたは別のエッジノード等の別のＣＤＮノードから、存在しないセグメントファイルをプルする。この後、エッジノードは、他のＣＤＮノードからプルされたセグメントファイルをキャッシュする。キャッシュ内のアダプティブストリーミングマニフェストごとに全てのループが実行されたとき、マスタマニフェスト内の子マニフェストごとに、そして各子マニフェスト内のＵＲＬごとに、全てのセグメントファイルがエッジノードのローカルキャッシュメモリ内に存在するはずである。ブロック１０３４において、全てのマニフェストについての全てのセグメントファイルがエッジノードのローカルキャッシュメモリ内に存在することを検証すると、プロセスはブロック１０３６に移る。ブロック１０３６において、エッジノードは自身の親ノードに、デフラグメンテーションが完了したことを報告する。図１０Ａに示すループおよびサブループのシーケンスは、いくつかの実施態様において交換することができ、１つのループからの動作のうちのいくつかは、ループ内のサブループに移すことができることが当業者には明らかであろう。
【００５０】
図１０Ｂは、ＣＤＮのコンテンツ配信ノードによって実行することができる、最適化されたデフラグメンテーションプロセス１０００Ｂの別の実施形態のフローチャートを更に詳細に示す。上記で説明したフローチャートと類似して、プロセスのステップの一部を取り囲むブロックはループサブプロセスを示す。ループサブプロセスでは、取り囲まれたアクションは、ループが実現されるエンティティのリストが空になるまで反復的に／繰返し実行することができる。例えば、デフラグメンテーションタイマメカニズムまたは何らかの他のトリガベースのメカニズムに応答して、ＣＤＮにおいてアセットデフラグメンテーションが始まると（ブロック１０５２）、特定のＡＢＲパッケージが人気度タイムウィンドウまたは閾値内にあるか否かを判断することによる判断ブロック１０５６において開始されるループサブプロセス１０５４を、コンテンツ配信ノード内の各ＡＢＲパッケージに関して実現することができる。人気度タイムウィンドウまたは閾値内にない場合、特定のＡＢＲパッケージはスキップされ、次のＡＢＲパッケージが解析される（ブロック１０５８）。ＡＢＲパッケージが人気度タイムウィンドウ内にある場合、ＡＢＲパッケージのマニフェストが解析される（ブロック１０６０）。この時点で、ＡＢＲパッケージのアセットコンポーネントごとに実行されるループサブプロセス１０６２に入る。アセットがフラグメント化したセグメントを含むか否かに関して判断が行われる（ブロック１０６４）。含む場合、フラグメント化したセグメントが、履歴オーディオ／ビデオ／字幕配信トレンド規則および閾値内にあるか否かに関して更なる判断が行われる（判定ブロック１０６８）。欠落したオーディオ、ビデオおよび／または字幕アセットセグメントが履歴配信トレンド／閾値内にある場合、このようなセグメントは、地域または国サーバノードまたは別のエッジサーバノードからプルすることができる（ブロック１０７２）。ＡＢＲアセットが任意のフラグメント化したセグメントを含まない場合、アセットはスキップされ、ＡＢＲパッケージの次のアセットが解析される（ブロック１０６６）。更に、フラグメント化したセグメントが、適用された配信規則に従わない場合、これらはセグメント取出しからスキップされる（ブロック１０７０）。各配信ノード、配信ノード内の各ＡＢＲパッケージ等について全てのループが実行されると、最適化されたデフラグメンテーションプロセス１０００Ｂが完了する（ブロック１０７４）。
【００５１】
上記で説明した最適化されたデフラグメンテーション実施形態に関して、履歴トレンドベースの配信規則および／またはネットワーク状態ベースの配信規則は、各ＣＤＮノードが、このＣＤＮノードにキャッシュされたコンテンツに関するデフラグメンテーションプロセスを開始するときに、ＤＮＭＣシステムによって各ＣＤＮノードに提供することができると理解されるべきである。別の変形形態では、各ＣＤＮノードは（少なくとも短期にわたって）自身のトレンドを維持するように設定することもできるので、このようなシナリオでは、管理ノードからトレンドデータを取得する必要がない。また更なる変形形態では、ローカルで維持される短期ベースのトレンドおよびＤＮＭＣシステムにおいて維持される長期トレンドを、ＣＤＮにおいて欠落セグメントのうちのいずれを別のノードからプルするべきかを決定する目的で適用することができる。更に、上記の最適化されたデフラグメンテーション実施形態は、ＣＤＮの親ノードおよび子ノードに関して実施することができる。
【００５２】
図１１は、本特許出願の一実施形態による、最適化されたコンテンツデフラグメンテーションを実現するように設定することができるコンテンツ配信ノード１１００として動作するように適合されたコンピュータにより実施されるデータ処理システムのブロック図を示す。ＣＤＮノード１１００の機能は、例えば、永続モジュール１１１１を含むメモリ１１１０上に記憶されたコンピュータプログラム命令を実行する１つまたは複数のプロセッサ１１０２によって制御することができる。デフラグメンテーションウェイクアップタイマ１１０４は、比較ユニット１１１２に現在の時刻を提供し、比較ユニット１１１２は、現在の時刻を、最小利用時間フレームパラメータ１１０６と比較する。現在の時刻が最小利用時間フレーム内にある場合、比較ユニット１１１２は、現在の時刻を、マニフェスト人気度タイムウィンドウ／閾値１１０８と更に比較する。現在の時刻がマニフェスト人気度タイムウィンドウ閾値内にある場合、比較ユニット１１１２は、セグメントファイルリーダ１１１４に、デフラグメンテーションプロセスを開始するのに適していることを通知する。セグメントファイルリーダ１１１４は、ローカルデータベースキャッシュ１１１８からＡＢＲアセットセグメントファイルを読み出すように動作可能である。ＵＲＬリーダ１１１６は、関連付けられたマニフェストによって参照されるセグメントファイルの各々のＵＲＬを読み出し、これらを、存在しないファイルの識別器１１２２に提供するように動作可能である。存在しないファイルの識別器１１１２は、適用可能なＡＢＲアセット配信規則１１２０に準拠しているが、ローカルキャッシュメモリ１１１８に存在していない１つまたは複数の参照されたセグメントファイルを識別するように動作可能である。準拠している欠落セグメントファイルに関するＵＲＬ情報は、要求されたＵＲＬを、例えば親ノードとすることができる別のＣＤＮノード１１２６に送信することによってセグメントファイルのための１つまたは複数の要求を送信するように動作可能な通信ユニット１１２４に提供される。これに応答して、他のＣＤＮノード１１２６は、要求されたセグメントファイルを通信ユニット１１２４に返し、通信ユニット１１２４は、これらを記憶するためにキャッシュ１１１８に送信する。この後、セグメントファイルリーダ１１１４およびファイル識別器１１１２は、関連付けられたマニフェスト文書によって参照される全てのセグメントファイルが現在キャッシュ１１１８内に存在すると判断するように動作可能である。この後、ファイル識別器１１２２は、通信ユニット１１２４にデフラグメンテーションプロセスが完了したことを通知することができ、そして、通信ユニット１１２４は、他のＣＤＮノード１１２６にデフラグメンテーションプロセスが完了したことを通知することができる。図１１の破線は、ＣＤＮノード１１０が親ノードでもあるときの追加機能を示すことが理解されるべきである。上記で参照により援用された、本発明の譲受人に譲受された特許出願（２０１３年６月２０日に出願された特許出願第１３／９２３，００５号）に更に詳細に示されているように、親ノード機能は、自身の子ノード１１２８の全てが、これらの子ノード１１２８のデフラグメンテーションプロセスが完了したことを報告したか否かを判断することを伴うことができる。全ての子ノードが、これらの子ノードのデフラグメンテーションが完了したことを報告すると、比較ユニット１１１２は、現在の時刻がマニフェスト人気度タイムウィンドウ閾値１１０８内にあるか否かを判断することによって継続することができる。閾値内にある場合、親ノードのためのデフラグメンテーションプロセスを開始することができる。
【００５３】
図１２は、本特許出願の一実施形態による、履歴配信トレンドに基づいてコンテンツ配信ノード（例えば、エッジサーバノード１０６−Ｎ、１０８−１）においてフラグメント化したコンテンツが補充される例示的なコンテンツ配信ネットワーク１２００を示す。例示のために、ＣＤＮ１２００は図１に示すＣＤＮ１００と同一であるが、ＣＤＮリダイレクタノード１２０２が、本明細書において上記で検討したように、適切な配信規則を受信するためにＤＮＭＣシステム１１２とインタフェースすることが示される点が異なる。更に、それぞれノード１０４−１、１０６−Ｎおよび１０８−１に対する例示的な要求／応答経路１２０４−１、１２０４−２および１２０４−３によって示されるように、ＣＤＮ１２００の様々なノードにデータを配布するために、ＣＤＮリダイレクタノード１２０２は、コンテンツ人気度ポリシ管理ノード（特に図示せず）からコンテンツ人気度ウィンドウも受信することができる。図１０Ａ〜図１０Ｃおよび図１１に関して上記のセクションにおいて詳細に説明したように、エッジサーバノードは、フラグメント化したコンテンツファイルの欠落セグメントの表現のサブセットを特定するために、配信規則を適用するように動作可能である。例として、ガルベストンエッジサーバ１０６−Ｎは、自身のＡＢＲアセット配信パターン１１６に基づいて、適切な配信規則を適用するように動作可能である。これにより、欠落セグメント識別器１２０８によって示されるように、（それぞれ、例えば３／５Ｍｂｓおよび１０／１２Ｍｂｓでエンコードされたコンテンツの７２０ｐおよび１０８０ｐ表現のみをプルするための）ビデオアセットコンポーネント１２１０−１と、（英語２．０およびスペイン語２．０の表現のみをプルするための）オーディオアセットコンポーネント１２１０−２と、（コンテンツの英語字幕のみをプルするための）字幕アセットコンポーネント１２１０−３とを含む、規則を満たす欠落セグメントの、ある表現のみを別のＣＤＮノードから取得することができる。
【００５４】
同様の形式で、アシュビルエッジサーバ１０８−１に関連付けられた、学習されたＡＢＲアセット配信パターン１２０に基づく１つまたは複数の配信規則を適用して、サーバの欠落セグメントの取出しを最適化することができる。参照符号１２１２は、（それぞれ、例えば３／５Ｍｂｓおよび２／１Ｍｂｓでエンコードされたコンテンツの７２０ｐおよび４８０ｐ表現のみをプルするための）ビデオアセットコンポーネント１２１４−１と、（英語２．０の表現のみをプルするための）オーディオアセットコンポーネント１２１４−２と、（コンテンツの英語字幕のみをプルするための）字幕アセットコンポーネント１２１４−３とを示す、アシュビルサーバの欠落セグメント識別器を指す。
【００５５】
当業者は、本明細書を参照すれば、ファイル全体が必要である（例えば、更なる言語が必要とされる）場合、デフラグメンテーションシステムが、いずれのファイルが既にネットワークのエッジに転送されたかを知り、更に必要とされるファイルのセクションのみを転送することを認識するであろう。同様に、エッジノードがメモリ制約に起因してファイルを削除することを決定する場合、システムは、（例えば、言語またはビットレートがもはや必要とされないことに起因して）ファイルのいずれのフラグメントがもはや必要とされないかを知ることになる。
【００５６】
上記の詳細な説明に基づいて、必要とされるものを、必要とされる場所で、必要とされる前に利用可能にすることにより、ＣＤＮがより効率的に機能することを可能にする本開示の実施形態を有利に実施することができることが理解されるべきである。開示される実施形態は、オペレータ帯域幅コストを節減することに加えて、エンドユーザ体感に関して、より高いＱｏＳレベルも提供する。
【００５７】
本開示の様々な実施形態の上記の説明において、本明細書において用いられる用語が、特定の実施形態を説明することのみを目的としており、本発明を限定することを意図していないことを理解されたい。別段の規定がない限り、本明細書において用いられる全ての用語（技術用語および科学用語を含む）は、本発明が属する技術分野の当業者によって一般的に理解されるのと同じ意味を有する。一般的に用いられる辞書において定義される用語等の用語は、本明細書および関連技術分野との関係における意味と一貫した意味を有するものとして解釈されるべきであり、本明細書において特別に定義しない限り、理想的なまたは過度に公式的な意味で解釈されないことが更に理解されよう。
【００５８】
少なくともいくつかの例示的な実施形態は、コンピュータによって実施される方法、装置（システムおよび／またはデバイス）および／またはコンピュータプログラム製品のブロック図および／またはフローチャートを参照して本明細書において説明されている。ブロック図および／またはフローチャートによる説明のブロック、ならびにブロック図および／またはフローチャートによる説明のブロックの組合せは、１つまたは複数のコンピュータ回路によって実行されるコンピュータプログラム命令によって実施することができることが理解される。このようなコンピュータプログラム命令を、汎用コンピュータ回路、専用コンピュータ回路および／または他のプログラム可能なデータ処理回路のプロセッサ回路に提供して、マシンを生成することができる。これによって、コンピュータおよび／または他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、トランジスタ、メモリロケーションに記憶された値、およびこのような回路内の他のハードウェアコンポーネントを変換および制御して、ブロック図および／またはフローチャートブロックにおいて指定された機能／動作を実施し、これによりブロック図および／またはフローチャートブロックにおいて指定された機能／動作を実施するための手段（機能性）および／または構造を作成する。更に、コンピュータまたは他のプログラム可能なデータ処理装置に、特定の方式で機能するように指示することができるコンピュータプログラム命令を、有形コンピュータ可読媒体に記憶することもでき、これによって、これらのコンピュータ可読媒体に記憶された命令により、ブロック図および／またはフローチャートブロックにおいて指定された機能／動作を実施する命令を含む製品がもたらされる。
【００５９】
上記で示唆したように、有形の非一時的コンピュータ可読媒体は、電子、磁気、光、電磁または半導体データストレージシステム、装置またはデバイスを含むことができる。コンピュータ可読媒体のより具体的な例は以下を含む。すなわち、ポータブルコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）回路、読出し専用メモリ（ＲＯＭ）回路、消去可能プログラム可能読出し専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）回路、ポータブルコンパクトディスク読出し専用メモリ（ＣＤ−ＲＯＭ）およびポータブルデジタルビデオディスク読出し専用メモリ（ＤＶＤ／Ｂｌｕ−ｒａｙ）である。コンピュータプログラム命令を、コンピュータおよび／または他のプログラム可能なデータ処理装置にロードするかまたは他の形でダウンロードして、コンピュータにより実施されるプロセスを生成するように一連の動作ステップをこのコンピュータおよび／または他のプログラム可能な装置において実行させることもできる。これによって、コンピュータまたは他のプログラム可能な装置において実行される命令は、ブロック図および／またはフローチャートブロックにおいて指定された機能／動作を実施するためのステップを提供する。したがって、本発明の実施形態は、デジタル信号プロセッサ等のプロセッサにおいて実行されるハードウェアおよび／またはソフトウェア（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）において実現することができる。これらはまとめて、「回路部」、「モジュール」またはこれらの変形と呼ぶことができる。
【００６０】
更に、少なくともいくつかの更なるまたは代替的な実施態様では、ブロックにおいて記載される機能／動作は、フローチャートに示すのと異なる順序で行うことができる。例えば、連続して示す２つのブロックは、関与する機能／動作に応じて、実際には、実質的に同時に実行されてもよく、場合によっては逆の順序で実行されてもよい。更に、フローチャートおよび／またはブロック図の所与のブロックの機能は、複数のブロックに分離されてもよく、かつ／または、フローチャートおよび／もしくはブロック図の２つ以上のブロックの機能は、少なくとも部分的に統合されてもよい。更に、本発明の開示において、事前プロビジョニングポリシ調整および／または最適化されたコンテンツデフラグメンテーション技術の、組み合わされているかまたは別個の１つまたは複数の実施態様に関して、更なる変形、変更および構成を実現するために、特定のフローチャートに示す動作、ステップ、機能、コンポーネントまたはブロックは、別のフローチャートに示される動作、ステップ、機能、コンポーネントまたはブロックと相互に混合されるかまたは他の形で相互に配置されてもよい。最終的に、示されているブロック間に他のブロックが追加／挿入されてもよい。更に、図のうちのいくつかは、通信の主要方向を示すために通信経路上に矢印を含むが、通信は示される矢印に対し反対方向に行われてもよいことを理解されたい。
【００６１】
様々な実施形態が示され、詳細に説明されたが、特許請求の範囲は、いかなる特定の実施形態または例にも限定されない。上記の詳細な説明はいずれも、任意の特定のコンポーネント、要素、ステップ、動作または機能が重要であるため、特許請求の範囲に含まれなくてはならないことを暗に意味するものとして読まれるべきでない。単数形の要素への言及は、明確に述べられない限り、「唯一」を意味することを意図されず、むしろ「１つまたは複数の」を意味することを意図される。上記で説明した実施形態の要素に対する、当業者に既知の全ての構造的および機能的等価物は、参照により明示的に本明細書に援用され、本特許請求の範囲に包含されることが意図される。したがって、当業者は、本明細書に記載される例示的な実施形態を、以下に添付する特許請求の範囲の趣旨および範囲内の様々な変更および変形により実行することができることを認識するであろう。
【図１】
0006564773.tif 000002
【図２】
0006564773.tif 000003
【図３】
0006564773.tif 000004
【図４】
0006564773.tif 000005
【図５Ａ】
0006564773.tif 000006
【図５Ｂ】
0006564773.tif 000007
【図６】
0006564773.tif 000008
【図７】
0006564773.tif 000009
【図８】
0006564773.tif 000010
【図９】
0006564773.tif 000011
【図１０Ａ】
0006564773.tif 000012
【図１０Ｂ】
0006564773.tif 000013
【図１０Ｃ】
0006564773.tif 000014
【図１１】
0006564773.tif 000015
【図１２】
0006564773.tif 000016