JP6564773B2 - コンテンツ配信ネットワーク(cdn)においてコンテンツのデフラグメンテーションを最適化するためのシステムおよび方法 - Google Patents

コンテンツ配信ネットワーク(cdn)においてコンテンツのデフラグメンテーションを最適化するためのシステムおよび方法 Download PDF

Info

Publication number
JP6564773B2
JP6564773B2 JP2016526820A JP2016526820A JP6564773B2 JP 6564773 B2 JP6564773 B2 JP 6564773B2 JP 2016526820 A JP2016526820 A JP 2016526820A JP 2016526820 A JP2016526820 A JP 2016526820A JP 6564773 B2 JP6564773 B2 JP 6564773B2
Authority
JP
Japan
Prior art keywords
content
node
distribution
delivery
content distribution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2016526820A
Other languages
English (en)
Other versions
JP2017503228A (ja
Inventor
クリス フィリップス,
クリス フィリップス,
ロバート ハモンド フォースマン,
ロバート ハモンド フォースマン,
ジェニファー アン レイノルズ,
ジェニファー アン レイノルズ,
Original Assignee
エリクソン エービー
エリクソン エービー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by エリクソン エービー, エリクソン エービー filed Critical エリクソン エービー
Publication of JP2017503228A publication Critical patent/JP2017503228A/ja
Application granted granted Critical
Publication of JP6564773B2 publication Critical patent/JP6564773B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23116Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving data replication, e.g. over plural servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4825End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

関連出願の参照
本出願は、以下の米国特許出願(i)Christopher Phillips他の名義で2013年7月3日に出願された米国特許出願第13/935,381号「BANDWIDTH POLICY MANAGEMENT IN A SELF−CORRECTED CONTENT DELIVERY NETWORK」(Ericsson参照番号:P40905−US1)、(ii)Christopher Phillips他の名義で2013年7月3日に出願された米国特許出願第13/935,326号「SYSTEM AND METHOD FOR DELIVERING CONTENT IN A CONTENT DELIVERY NETWORK」(Ericsson参照番号:P40270−US1)、(iii)Christopher Phillips他の名義で2013年7月20日に出願された米国特許出願第13/923,005号「DEFRAGMENTATION OF ADAPTIVE STREAMING SEGMENT FILES IN A CONTENT DELIVERY NETWORK」(Ericsson参照番号:P40285−US2)、および(iv)Christopher Phillips他の名義で2013年11月1日に出願された米国特許出願第14/069,490号「SYSTEM AND METHOD FOR PRE−PROVISIONING ADAPTIVE BITRATE(ABR) ASSETS IN A CONTENT DELIVERY NETWORK」(Ericsson参照番号:P41204−US1)の主題に関係する主題を開示する。これらの特許出願はそれぞれ、参照によりこれらの全体が本明細書に援用される。
本開示は、包括的には、通信ネットワークに関する。限定ではないが、より詳細には、本開示は、コンテンツ配信ネットワークにおいてアダプティブビットレート(ABR)アセットの配信を最適化するためのシステムおよび方法を対象とする。
コンテンツ配信ネットワークすなわちCDN(場合によっては、コンテンツ配布ネットワークとも呼ばれる)は通常、アダプティブビットレート(ABR)ストリーミング等の技術を用いて、ネットワーク全体にわたるノード間で「ベストエフォート」形式でコンテンツを配信する。一方、ABRでは、複数のクライアントがネットワークリソースの使用を開始する順序に基づいて、ネットワークにおける帯域幅の割当てが結果として不公平となり、また場合によっては不適当となり得ることが知られている。帯域幅の使用は通常、コンテンツを要求するクライアントによって決定され、ABRクライアントはオポチュニスティックである可能性があるため、ABRクライアントは貪欲になり得る。例えば、低分解能を有するクライアントデバイス(例えば、携帯電話)は、例えば高精細TV(HDTV)等のより高い分解能のデバイスに必要とされる帯域幅と比較したとき、不相応な量の帯域幅を消費することになる場合がある。CDNにおける帯域幅のこのような誤った割当て(misappropriation)および/または帯域幅リソースの不均一な配分に関する問題は、より高い帯域幅のオプションが利用可能となったときに、更により顕著になることが予期される。
これに関連して、クライアントがCDNを介してストリーミングコンテンツにアクセスするとき、CDNのコンテンツ配信ノード(すなわち、サービングノード)において、結果として、フラグメント化したコンテンツ(例えば、コンテンツの不完全なコピー)がコンテンツ配信ノードにおいてローカルに記憶される状態が存在し得る。
本特許開示は、広義には、履歴配信トレンドに基づいてCDNにおけるABRアセットを事前プロビジョニングし、サービングノードのデータベースキャッシュから欠落している場合があるコンテンツセグメントの取得を効率的に管理する際に履歴配信トレンドを利用するためのシステム、方法、デバイス、装置および関連するコンピュータ可読媒体に関する。
1つの態様において、CDNに関連付けられた管理ノードにおいて動作可能な方法の一実施形態が開示される。特許請求される実施形態は、中でも、CDNの1つまたは複数のコンテンツ配信ノードに関連付けられた1つまたは複数のABRアセットの履歴配信パターンを得ることを含む。コンテンツ配信ノードごとに、ある期間にわたって配信されたABRアセットの統計的分布に基づいて1つまたは複数の配信規則を決定することができる。特定のコンテンツが、指定のコンテンツ配信ノードにおいて人気が出たと判断されるとき、指定のコンテンツ配信ノードのために確立された1つまたは複数の配信規則に基づいて、特定のコンテンツのアセットのある表現または適合セットのみが、この指定のコンテンツ配信ノードについて事前プロビジョニングされるように、事前プロビジョニングポリシを調整することができる。方法の更なる実施形態では、1つまたは複数のABRアセットの配信のために、CDNの1つまたは複数のコンテンツ配信ノードに関連付けられた履歴ネットワーク状態を監視することができる。履歴ネットワーク状態に基づいて、コンテンツ配信ノードごとに1つまたは複数の配信規則を決定することができる。更にまたは代替的に、特定のコンテンツが、指定のコンテンツ配信ノードにおいて人気が出たと判断されるとき、この指定のコンテンツ配信ノードについて、配信規則をパスするかまたは他の形で満たす特定のコンテンツのアセットのある表現または適合セットのみが配信のために事前プロビジョニングされるように、配信規則に基づいてCDNの事前プロビジョニングポリシを調整することができる。
別の実施形態では、CDNに関連して動作可能な管理ノードが開示される。特許請求される実施形態は、コンピュータにより実施されるデータ処理システムとして設定することができ、中でも、CDNの配信ノードにおいてダウンロードされる1つまたは複数のABRアセットの履歴配信パターンを記憶するための1つまたは複数のプロセッサおよびデータベースを備える。配信ノード管理・制御(DNMC)モジュールは、1つまたは複数のプロセッサに結合された永続メモリにおいて具現することができ、DNMCモジュールは、1つまたは複数のプロセッサによって実行可能なプログラム命令であって、コンテンツ配信ノードごとに、ある期間にわたって配信されたABRアセットの統計的分布に基づいて1つまたは複数の配信規則を決定するように設定されたプログラム命令を含む。オプションで、1つまたは複数のプロセッサに結合された永続メモリにおいて具現されるコンテンツ事前プロビジョニング制御モジュールを提供することができ、コンテンツ事前プロビジョニング制御モジュールは、1つまたは複数のプロセッサによって実行可能なプログラム命令であって、特定のコンテンツが、指定のコンテンツ配信ノードにおいて人気が出たと判断されるとき、指定のコンテンツ配信ノードに対応する1つまたは複数の配信規則を特定のコンテンツに適用し、指定のコンテンツ配信ノードのために確立された配信規則の適用に基づいて、この指定のコンテンツ配信ノードにおける配信を事前設定する(pre−populate)ために、特定のコンテンツのアセットのある表現のみを選択するかまたは他の形で特定するように設定されるプログラム命令を有する。また更なる実施形態では、CDNと共に動作可能な管理ノードが、CDNの1つまたは複数のコンテンツ配信ノードに関連付けられた履歴ネットワーク状態の履歴配信パターンを記憶するためのデータベースを備えることができ、永続メモリにおいて具現されるDNMCモジュールは、1つまたは複数のプロセッサによって実行可能なプログラム命令であって、コンテンツ配信ノードごとに、ある期間にわたって配信されたABRアセットについて監視された履歴ネットワーク状態に基づいて1つまたは複数の配信規則を決定するように設定されるプログラム命令を含むことができる。特定のコンテンツが、指定のコンテンツ配信ノードにおいて人気が出たと判断されるとき、ネットワーク状態ベースの配信規則を適用して、指定のコンテンツ配信ノードに対する事前設定のための配信規則をパスする特定のコンテンツのアセットのある表現のみを選択するかまたは他の形で特定することができる。
別の態様では、コンテンツ配信ノードにおいて動作可能な、コンテンツのデフラグメンテーションを最適化するための方法の一実施形態が開示される。特許請求される実施形態は、中でも、特定のコンテンツに関してコンテンツ配信ノードに利用可能なマニフェスト、およびコンテンツ配信ノードのデータベースキャッシュに記憶されたセグメントファイルを解析して、マニフェストによって参照される任意のセグメントファイルがデータベースキャッシュ内に存在しないか否かを判断することを含む。存在しない場合、コンテンツ配信ノードに関連付けられた1つまたは複数の配信規則を適用して、1つまたは複数の配信規則を満たす存在しないセグメントファイルの表現を決定することができる。1つの変形形態では、コンテンツ配信ノードにおいてダウンロードされた1つまたは複数のABRアセットの履歴配信パターンに基づいて、配信規則を確立することができる。別の変形形態では、コンテンツ配信ノードの履歴ネットワーク状態に基づいて配信規則を確立することができる。存在しないセグメントファイルの準拠した表現を決定した後、これらの表現をCDNの別のコンテンツ配信ノード(例えば、親ノードまたはエッジサーバノード)からプルすることができる。
更なる実施形態では、コンテンツデフラグメンテーションを最適化するように設定されるコンテンツ配信ノードが開示される。特許請求されるコンテンツ配信ノードは、中でも、コンテンツ配信ノードにストリーミングされるコンテンツのセグメントファイルを記憶するための1つまたは複数のプロセッサおよびデータベースキャッシュを含む、コンピュータにより実施されるデータ処理システムとして具現することができる。永続メモリにおいて具現されるコンテンツデフラグメンテーションモジュールが1つまたは複数のプロセッサに結合される。このコンテンツデフラグメンテーションモジュールは、1つまたは複数のプロセッサによって実行可能なプログラム命令であって、特定のコンテンツに関してコンテンツ配信ノードに利用可能なマニフェスト、およびデータベースキャッシュに記憶されたセグメントファイルを解析して、マニフェストによって参照される任意のセグメントファイルがデータベース内に存在しないか否かを判断し、存在しない場合、コンテンツ配信ノードに関連付けられた1つまたは複数の配信規則を適用して、1つまたは複数の配信規則を満たす存在しないセグメントファイルの表現を決定し、1つまたは複数の配信規則を満たす存在しないセグメントファイルの表現のみをCDNの別のコンテンツ配信ノードからプルし、プルされた表現をデータベースキャッシュに記憶するように設定されるプログラム命令を含む。
また更なる態様では、上記に示した方法の1つまたは複数の実施形態を実行するために記憶された命令を含む非一時的コンピュータ可読媒体の実施形態が開示される。様々な実施形態の更なる特徴は、従属請求項に列挙するとおりである。
本発明の利点は、限定ではないが、CDNにおけるABRアセットの事前プロビジョニングに対する、より粒度の細かい制御を提供し、これにより、結果として、ネットワークリソースの使用をより効率的にすることを含む。オペレータ帯域幅コストが最小になる(なぜなら、特定のコンテンツがどれだけ人気があるかにかかわらず、ネットワークオペレータはもはや、用いられる可能性が低いアセット、すなわちファイルを送信する必要がないため)のみでなく、より高品質のサービスもエンドユーザに提供することができる。更に、アセットトレンドベースの配信規則および/またはネットワーク状態ベースの配信規則に基づいて、CDNの配信ノードにおけるコンテンツデフラグメンテーションを最適化することによって、更なる効率を得ることができる。実施形態の更なる利益および利点は、以下の説明および添付の図面に照らして明らかとなるであろう。
本開示の実施形態は、同様の参照符号が類似の要素を指す添付の図面の図において、限定ではなく例として示される。本開示における「一」または「1つの」実施形態への異なる言及は、必ずしも同じ実施形態に対するものでなく、このような言及は、少なくとも1つを意味する場合があることに留意するべきである。更に、一実施形態に関連して特定の特徴、構造または特性が説明されるとき、これは、明示的に記載されていようといまいと、このような特徴、構造または特性を、他の実施形態に関連してもたらすことが当業者の知識の範囲内にあると考えられる。
添付の図面は、本開示の1つまたは複数の例示的な実施形態を示すために本明細書に組み込まれ、本明細書の一部をなす。本開示の様々な利点および特徴は、添付の特許請求の範囲に関連して、添付の図面の図を参照しながら以下の詳細な説明を読むことにより理解されよう。
本特許出願の1つまたは複数の実施形態を実施することができる例示的なコンテンツ配信ネットワークを示す。 特定のコンテンツのビデオ、オーディオおよび字幕コンポーネントに関する1つまたは複数のコンテンツ表現または適合セットへの参照を含む例示的なマニフェストを示す。 特定のコンテンツの異なるメディアセグメントに関する更なる詳細を示すマニフェストの例示的なメディア表現記述(MPD)モデルを示す。 本特許出願の一実施形態による、履歴配信トレンドに基づいてコンテンツが事前プロビジョニングされる例示的なコンテンツ配信ネットワークを示す。 本特許出願の1つまたは複数の実施形態に従って行うことができる様々なステップおよび動作に関するブロックを有するフローチャートを示す。 本特許出願の1つまたは複数の実施形態に従って行うことができる様々なステップおよび動作に関するブロックを有するフローチャートを示す。 本特許出願の一実施形態による、管理ノードとして動作するように適合されたコンピュータシステムのブロック図を示す。 本特許出願の一実施形態による、ABRアセットの履歴配信トレンドを監視するために行うことができる様々なステップおよび動作に関するブロックを有するフローチャートである。 本特許出願の一実施形態による、配信規則に基づいてコンテンツの事前プロビジョニングのために行うことができる様々なステップおよび動作に関するブロックを有するフローチャートである。 本特許出願の一実施形態による、CDNの1つまたは複数のコンテンツ配信ノードのための履歴配信トレンドデータを更新するために行うことができる様々なステップおよび動作に関するブロックを有するフローチャートである。 本特許出願の1つまたは複数の実施形態による、コンテンツ配信ノードにおけるメディアセグメントのデフラグメンテーションのために行うことができる様々なステップおよび動作に関するブロックを有するフローチャートを示す。 本特許出願の1つまたは複数の実施形態による、コンテンツ配信ノードにおけるメディアセグメントのデフラグメンテーションのために行うことができる様々なステップおよび動作に関するブロックを有するフローチャートを示す。 本特許出願の1つまたは複数の実施形態による、コンテンツ配信ノードにおけるメディアセグメントのデフラグメンテーションのために行うことができる様々なステップおよび動作に関するブロックを有するフローチャートを示す。 本特許出願の一実施形態による、最適化されたコンテンツデフラグメンテーションを実現するように設定することができる、コンテンツ配信ノードとして動作するように適合されたコンピュータシステムのブロック図を示す。 本特許出願の一実施形態による、履歴配信トレンドに基づいて、コンテンツ配信ノードにおいてフラグメント化したコンテンツが補充される例示的なコンテンツ配信ネットワークを示す。
以下の記載において、本特許の開示の1つまたは複数の実施形態に関して、多数の具体的な詳細が示される。しかしながら、1つまたは複数の実施形態が、このような具体的な詳細なしで実施され得ることが理解されるべきである。他の例では、よく知られた回路、サブシステム、コンポーネント、構造および技法は、例示的な実施形態の理解を曖昧にしないように詳細に示されていない。したがって、当業者は、本開示の実施形態が、このような具体的なコンポーネントベースの詳細なしで実施され得ることを理解するであろう。当業者は、本明細書に示す詳細な説明を活用して、添付の図面粗参照することにより、必要以上の実験作業を行うことなく1つまたは複数の実施形態を作成し用いることができることが更に認識されるべきである。
更に、以下の記載、特許請求の範囲または双方において、「結合された」および「接続された」等の語が、これらの語の派生語と共に用いられる場合がある。これらの語は、必ずしも互いの同義語であることを意図されていないことが理解されるべきである。「結合された」は、相互に直接物理的または電気的に接触している場合もしていない場合もある2つ以上の要素が、相互に協働または相互作用することを示すために用いることができる。「接続された」は、相互に結合された2つ以上の要素間での通信、すなわち通信可能な関係の確立を示すために用いることができる。更に、本明細書に示す1つまたは複数の例示的な実施形態において、一般的に言えば、要素、コンポーネントまたはモジュールは、要素が、機能を実行することが可能であるかまたは他の形で機能を実行するように構造的に構成されている場合に、この機能を実行するように設定することができる。
本明細書において用いられるとき、ネットワーク要素またはノードは、ネットワーク上の他の機器(例えば、他のネットワーク要素、末端局等)に通信可能に相互接続し、複数の加入者に関して、1つまたは複数のアプリケーションまたはサービスをホスティングするように適合された、ハードウェアおよびソフトウェアを含む1つまたは複数のサービスネットワーク機器から構成することができる。いくつかのネットワーク要素は、複数のアプリケーションサービス(例えばデータおよびマルチメディアアプリケーション)のためのサポートを提供することに加えて、複数のネットワークベースの機能(例えば、コンテンツ人気度ポリシ管理、セッション制御、QoSポリシ強制、帯域幅スケジューリング管理、加入者/デバイスポリシおよびフロフィール管理、コンテンツプロバイダ優先度ポリシ管理、ストリーミングポリシ管理等)のためのサポートを提供する「マルチサービスネットワーク要素」を含むことができる。加入者末端局またはクライアントデバイスは、中でも、ストリーミングサーバまたはコンテンツプロバイダからコンテンツを受信するための少なくとも1つのストリーミングクライアントアプリケーション(例えば、ABRストリーミングクライアントアプリケーション)を実行するように設定される任意のデバイスを含むことができる。したがって、このようなクライアントデバイスは、セットトップボックス、PVR/DVR、ワークステーション、ラップトップ、ノートブック、パームトップ、モバイルフォン、スマートフォン、マルチメディアフォン、ボイスオーバーインターネットプロトコル(VOIP)フォン、モバイル/ワイヤレスユーザ機器、高精細TV端末、ポータブルメディアプレーヤ、ロケーション認識加入者機器、ゲームシステムまたはコンソール(Wii(登録商標)、Play Station3(登録商標)、Xbox360(登録商標))等を含むことができ、これらは、本明細書に示される1つまたは複数の実施形態に従ってコンテンツ配信ネットワークにわたって提供されるコンテンツ/サービスにアクセスし、これを消費することができる。更に、クライアントデバイスは、適切なサービスプロバイダアクセスネットワークを介して、ブロードキャストネットワーク(例えば、ケーブルおよび衛星ネットワーク)、およびインターネット等のパケット交換型広域公衆ネットワークを通じて提供されるコンテンツ/サービスにアクセスし、これを消費することもできる。また更なる変形形態では、クライアントデバイスまたは加入者末端局は、インターネット上に(例えばトンネリングにより)オーバレイされた仮想プライベートネットワーク(VPN)上に提供されるコンテンツ/サービスにアクセスするかまたはこれを消費することもできる。
本特許開示の1つまたは複数の実施形態は、ソフトウェア、ファームウェアおよび/またはハードウェアの様々な組合せを用いて実施することができる。このため、図(例えば、フローチャート)に示す技法およびブロックのうちの1つまたは複数は、1つまたは複数の電子デバイスまたはノード(例えば、加入者クライアントデバイスまたは末端局、ネットワーク要素等)において記憶および実行されるコードおよびデータを用いて実施することができる。このような電子デバイスは、非一時的コンピュータ可読記憶媒体(例えば、磁気ディスク、光ディスク、ランダムアクセスメモリ、読出し専用メモリ、フラッシュメモリデバイス、相変化メモリ等)、一時的コンピュータ可読伝送媒体(例えば、搬送波、赤外線信号、デジタル信号等の、電気、光、音響または他の形態の伝搬信号)等のコンピュータ可読媒体を用いて、コードおよびデータを(内部におよび/またはネットワークを通じて他の電子デバイスに)記憶および通信することができる。更に、このようなネットワーク要素は、通常、1つまたは複数のストレージデバイス(例えば、非一時的機械可読記憶媒体)およびストレージデータベース、ユーザ入出力デバイス(例えば、キーボード、タッチスクリーン、ポインティングデバイスおよび/またはディスプレイ)、ならびにシグナリングおよび/またはベアラメディア伝送を実現するためのネットワーク接続等の1つまたは複数の他のコンポーネントに結合された1つまたは複数のプロセッサの組を含むことができる。プロセッサの組と、他のコンポーネントとの結合は通常、任意の既知の(例えば、対称/共有マルチプロセッシング)またはこれまで知られていないアーキテクチャで構成される1つまたは複数のバスおよびブリッジ(バスコントローラとも呼ばれる)を通じて行うことができる。このため、所与の電子デバイスまたはネットワーク要素のストレージデバイスまたはコンポーネントは、本開示の1つまたは複数の技法を実施する目的で、この要素、ノードまたは電子デバイスの1つまたは複数のプロセッサ上で実行するためのコードおよび/またはデータを記憶するように設定することができる。
ここで、図面、より詳細には図1を参照すると、本特許出願の1つまたは複数の実施形態を実施することができる例示的なコンテンツ配信ネットワークすなわちCDN100が示されている。本特許出願において、CDN100は、1つまたは複数のインターネットベースのインフラストラクチャ、プライベート/専用インフラストラクチャまたはこれらの組合せを用いて、加入者への、多岐にわたるデジタルアセットまたはプログラムアセットおよびサービス(以後、「メディアコンテンツ」と呼ぶ)の高性能ストリーミングのために構築されるオーバレイネットワークを含むことができる。通常、「メディアコンテンツ」または「コンテンツファイル」(または単に「コンテンツ」)という語は、本特許開示の少なくともいくつかの実施形態を指して用いられるとき、任意のタイプのオーディオ/ビデオコンテンツまたはプログラムセグメント等のストリーミングデジタルアセットおよびプログラムアセットを含むことができる。これらは、ライブまたはスタティック(例えば、録画放送の無料の無線ネットワークテレビ(TV)ショーまたはプログラム、ケーブルネットワークまたは衛星ネットワークを介した有料TV放送プログラム、無料衛星TVショー、IPTVプログラム等)の、オーバーザトップ(OTT)およびビデオオンデマンド(VOD)またはムービーオンデマンド(MOD)ショーまたはプログラム、タイムシフトTV(TSTV)コンテンツ、ならびにコンテンツ発行者、所有者またはプロバイダによって提供される他のコンテンツアセットであり、限定ではないが、任意の既知のまたはこれまでに知られていないアダプティブストリーミング技術を用いて配信することができる、ソフトウェアファイル、実行可能コンピュータコードまたはプログラム、オンライン電子ゲーム、インターネットラジオショー/プログラム、娯楽プログラム、教育プログラム、映画、音楽ビデオプログラム等が含まれる。更に、ストリーミングを介して提供される様々なプログラムまたはコンテンツファイルを、様々な加入者に固有のチャネルのコレクションまたはアセンブリとして構成することができる。ここで、異なるチャネルは、1つまたは複数のコンテンツソースまたは発信者からのメディアコンテンツを含むことができる。
例示として、コンテンツは、アダプティブビットレート(ABR)ストリーミング技術を用いてCDN100を介して配信することができ、Microsoft(登録商標)Silverlight(登録商標)SmoothStreaming、HTTPストリーミング(例えば、HTTPを介した動的アダプティブストリーミングすなわちDASH、HTTPライブストリーミングすなわちHLS、HTTP動的ストリーミングすなわちHDS等)、Icecast等の既知の実施態様をサポートするように符号化することができる。通常、CDN100のオーバレイアーキテクチャは、マルチレベルの、階層組織化された相互接続ネットワークサーバアセンブリを含み、このアセンブリは、1つまたは複数の中央配布ノードから、それぞれのサービングロケーションエリア内の複数のエンドユーザまたは加入者をサーブするように設定された1つまたは複数のローカルエッジサーバに接続された1つまたは複数のレベルの地域配布ノードへのメディア経路または「パイプ」を提供する。したがって、地域配布ノードは、1つまたは複数の子エッジサーバに対する親ノードとして動作することができ、そして、中央配布ノードまたは国配布ノードは、1つまたは複数の子地域配布ノードに対する親ノードとして動作することができることを理解するべきである。更に、このような「配布サーバ」(場合によっては、「コンテンツ配信ノード」とも呼ばれる)に加えて、CDN100は、要求リダイレクトまたはリルートメカニズムを実現するように設定された様々なネットワーク要素、および、ストリーミングネットワークバックオフィス(特に図示されていない)の一部として展開することができる、加入者管理システム、帯域幅スケジューリングシステム、アカウント/課金システム等の関連するバックオフィスシステムを含みかつ/またはこれらと協働することもできる。
図示されるように、CDN100は、それぞれサンアントニオ(テキサス州)、ジャクソン(ミシシッピ州)およびシャーロット(ノースカロライナ州)を拠点とする地域配布サーバ104−1〜104−3に結合されたニューヨークを拠点とする国サーバ102を用いて例示されている。地域配布サーバ104−1は、コーパスクリスティ(テキサス州)のエッジサーバ106−1、ガルベストン(テキサス州)のエッジサーバ106−Nによって例示される、複数のエッジサーバ106−1〜106−Nをサーブするように適合される。同様に、地域配布サーバ104−2は、(ミシシッピ州ビッグスバーグの)エッジサーバ110−1〜(ミシシッピ州ビロクシーの)エッジサーバ110−Kをサーブするように適合され、地域配布サーバ104−3は、(ノースカロライナ州アシュビルの)エッジサーバ108−1〜(ノースカロライナ州フェイエットビルの)108−Mをサーブするように適合される。
各ローカルエッジサーバは、関連する末端局またはクライアントデバイスにコンテンツを配信するために、サービングエリア内の複数の加入者にサーブするように動作可能である。これについては、有線および/または無線(電波)通信を介したブロードバンドアクセスを含む任意のタイプまたは数のアクセス技術においてCDN100を介して配信されるストリーミングコンテンツを消費するかまたはこれにアクセスすることができる例示的なクライアントデバイスまたはユーザ機器(UE)デバイス105によって示される。本特許出願において、「加入者末端局」および「クライアントデバイス」という語は、同義語として用いられてもよく、1つの実施態様では、ライブビュー、プレイバックおよび/またはコンテンツの復号のためのデジタルコンテンツアセットを受信するのみでなく、コマンドコンソールまたは端末として動作することもできる任意のUEデバイスまたは機器を含むことができ、ユーザ入力、コマンドまたは要求を受理して、CDN100内に配置されたネットワーク要素および/または関連するストリーミングサーバシステムとインタラクトし、コンテンツを要求することができる。このコンテンツは、内部表示スクリーンおよび/または1つまたは複数の外部オーディオ/視覚(A/V)デバイス(特に図示していない)に選択的にレンダリングすることができる。したがって、例示的なクライアントデバイス105は、実施されるストリーミング技術に依拠して、1つまたは複数のストリーミングクライアントモジュール(例えば、ABRストリーミングクライアント)および関連する復号機能を含むことができ、これらは各々が、プロセッサモジュールおよび適切なメモリおよびプログラムコード(図示せず)と関連して動作し、ストリーミングされたメディアコンテンツの取得、復号およびレンダリングを実現する。
上記で示唆したように、CDN100は、アダプティブストリーミングを用いて、ライブソースおよび/または静的ファイルソースからコンテンツを配信するように設定することができる。ここで、コンテンツは、ビデオコンポーネント、オーディオトラックコンポーネントおよび字幕言語コンポーネントを含むことができる。更に、特定のコンテンツのビデオコンポーネントは、コード変換されるか、または他の形で、適用可能なエンコーダを用いて異なるビットレート(例えばマルチレートトランスコーディング)でエンコードされてもよい(例えば、特定のプログラムコンテンツは、低ビットレートから高ビットレート(例示として、500Kbs〜12Mbs)の範囲の可変ビットレートを用いて5つのビデオファイルにコード変換することができる)。したがって、特定のコンテンツのビデオコンポーネントは、5つの異なる「バージョン」または「フォーマット」としてエンコードされ、各ビットレートは、プロファイルまたは表現と呼ぶことができる。また、特定のコンテンツに関連付けられたオーディオトラックは、多言語プログラミングおよび異なるレベル/タイプのオーディオ品質体感をサポートするための異なる言語およびエンコーディングを含むことができる。例えば、コンテンツは、各々がいくつかのタイプのオーディオエンコーディング:シングルチャネル(モノ)、2チャネル(ステレオ)、5.1サラウンドサウンド、7.1サラウンドサウンド、7.2サラウンドサウンド等を備えた複数の言語(例えば、英語、フランス語、スペイン語、ドイツ語、中国語等)において利用可能であり得る。同様に、コンテンツの主なオーディオトラックの言語にかかわらず、コンテンツに、字幕のための様々な言語選択肢も設けることができる(例えば、英語、スペイン語、日本語、中国語、韓国語、フランス語等)。
本特許出願において、CDN100を通じて配布されるコンテンツのビデオ、オーディオおよび字幕コンポーネントを、「ABRアセット」と呼ぶことができる。CDN100のコンテンツ配信ノードのネットワークを介して、加入者によってコンテンツがアクセスされるか、ダウンロードされるかまたは他の形で消費されると、ABRアセットに関して、異なる消費/ダウンロードパターンが現れる場合がある。ABRアセットの履歴配信トレンドおよびパターン、ならびにCDN100の1つまたは複数のコンテンツ配信ノードに関連付けられたネットワーク状態を監視するように適合された管理ノードとして、CDN100に関連付けて配信ノード管理・制御(DNMC)システム112を提供することができる。クライアントデバイス105が構成可能な期間にわたって、関連付けられたコンテンツ配信ノードを介して様々なコンテンツにアクセスするとき、履歴配信パターン学習および更新プロセスは、コンポーネント単位で、すなわち、ビデオ、オーディオまたは字幕単位で、各コンテンツ配信ノードの配信統計を得るように動作可能である。同様の形式で、各コンテンツ配信ノードに関連付けられた履歴ネットワーク状態を、ある期間にわたって得ることができる(例えば、ダウンロードレート分布、帯域幅利用および他の性能メトリック、他のコンテンツ配信ノードの性能および/または所定の性能閾値に対する相対的性能比較等)。これは、DNMCシステムまたはノード112によって、ネットワークを通じたコンテンツ配布を制御するために利用することができる。
いくつかの実施形態では、エッジサーバノードに関連付けられた統計をDNMCシステム112に直接提供することもできるし、それぞれの地域のサーバノードを介して間接的に提供することもでき、これにより、エッジサーバノードの累積的または集約的統計をDNMCシステム112に提供することができる。例示として、参照符号114−1は、地域サーバノード(例えば、サンアントニオサーバ104−1)によって、DNMCシステム112に対し、配信トレンドおよび他の統計を更新しかつ/または他の形でこれらを提供するための通信経路を指す。同様に、通信経路114−2は、エッジサーバノード(例えば、ガルベストンサーバ106−N)によって、DNMCシステム112に対し、配信トレンドおよび他の統計を更新しかつ/または他の形でこれらを提供するために提供され得る。配信統計に基づいて、ABRアセットコンポーネントごとに、ノード単位の配信パターンを確立することができる。これは、統計的分布、尤度範囲、パーセンテージ、期待値等を求めることを伴うことができる。例えば、ガルベストンエッジサーバ106−Nに関連付けられたABRアセット配信パターン116は、ある期間にわたってこのサーバから配信された様々なビデオビットレート(場合によってはビットレートとも呼ばれる)の分布を示すビデオコンポーネント配信パターン118−1を含む(例えば、ダウンロードされるコンテンツの35%が、8〜10Mbsでエンコードされる高精細の1080pビデオであり、ダウンロードされるコンテンツの45%が、3〜8Mbsでエンコードされる高精細の720pビデオである等)。ガルベストンエッジサーバ106−Nに関連付けられたオーディオコンポーネント配信パターン118−2も同様に、ある期間にわたってサーバから配信された全てのオーディオトラックのために用いられる様々な言語およびエンコーディングの分布を示す(例えば、ダウンロードされたコンテンツの10%が5.1サラウンドサウンドの英語であり、ダウンロードされたコンテンツの50%が2.0ステレオの英語であり、ダウンロードされたコンテンツの40%が2.0ステレオのスペイン語である)。字幕に関して、ガルベストンエッジサーバ106−Nに関連付けられた対応する配信パターン118−3は、ダウンロードされた字幕の99%が英語であり、ダウンロードされた字幕の残り1%がスペイン語である分布を示す。
比較して、アシュビルエッジサーバ108−1に関連付けられたABRアセット配信パターン120が、異なる1組のビデオ、オーディオおよび字幕分布で示されている。図1に示すように、ABRアセット配信パターン120は、ある期間にわたってこのサーバから配信された様々なビデオビットレートの分布を例示するビデオコンポーネント配信パターン122−1を含み、例えば、比較的低いパーセンテージ(4%)のダウンロードされたコンテンツが、8〜10Mbsでエンコードされた高精細の1080pビデオである。同様に、アシュビルエッジサーバ108−1に関連付けられたオーディオコンポーネント配信パターン122−2は、スペイン語のパーセンテージが大幅に低い(例えばダウンロードされたコンテンツの2%)オーディオトラック言語分布を示す。字幕配信パターン120−3は、ある期間にわたってアシュビルエッジサーバ108−1からダウンロードされた字幕選択の分布を示し、これは、ガルベストンエッジサーバ106−Nに関連付けられた字幕配信パターン118−3に実質的に類似している。
本特許出願の教示に従って、DNMCシステム112は、CDN100のそれぞれのコンテンツ配信ノードに関連付けられた様々なABRアセット配信パターンおよび/または履歴ネットワーク状態の様々な統計的分布に基づくことができる1つまたは複数の配信規則を決定するかまたは他の形で確立するように動作可能である。更に、このような配信規則は、以下で更に詳細に示されるように、効率的なリソース利用、最適化されたユーザ体感、帯域幅管理等のためにCDN100内で実施することができる、コンテンツ事前プロビジョニング技法(例えば、人気度決定に基づく)、デフラグメンテーション方法、プッシュベースのコンテンツ配信ポリシ等を調整するかまたは他の形で制御するために有利に適用することができる。
図2は、CDN100等のCDN全体にわたる配布のために利用可能とすることができる特定のコンテンツ(例えば、ムービーX)に関する例示的なABRアセットパッケージ200を示す。ABRアセットパッケージの1つまたは複数の部分の配信は、本特許出願の一実施形態に従って調整するかまたは他の形で制御することができる。マニフェストファイル202(MPEG−DASH規格ISO/IEC23009−1におけるメディア表現記述すなわちMPDモデルとしても知られる)は、特定のコンテンツのビデオ、オーディオおよび字幕コンポーネントに関する1つまたは複数のコンテンツ表現または適合セットへの参照を含めて、利用可能なコンテンツコンポーネントを記述するように動作可能である。ビデオアセットコンポーネントに関して、マニフェスト202は、タイミング、セグメントを指すユニバーサルリソースロケータ(URL)等のセグメント情報、ならびにビデオ分解能およびビットレート等のメディア特性を記述することができる。マニフェスト202がマスタマニフェストとして提供される一実施形態では、マニフェスト202は、それぞれが、ムービーXのビデオ、オーディオおよび字幕アセットコンポーネントの特定の組合せを参照する、複数の子マニフェスト204−1〜204−Kを含むことができる。例示として、ABRアセットパッケージ200のビデオコンポーネント部分206は、それぞれがあるビデオ品質を有する複数のビットレートでエンコードされたメディアセグメントを含む。例えば、参照符号206−1は、12Mbsでエンコードされた高精細1080pメディアセグメントを指す。同様に、参照符号206−2〜206−9は、ビデオが450Kbsに至るまでのレートでエンコードされているメディアセグメントを指す。ABRアセットパッケージ200のオーディオコンポーネント部分208は、各々が異なるオーディオ品質体感についてエンコードされているムービーXの複数の言語を含む。参照符号208−1〜208−6はそれぞれ、6つのアセットコンポーネント、英語5.1(サラウンドサウンド)、英語2.0(ベーシックステレオ)、スペイン語2.0、フランス語2.0、中国語2.0およびドイツ語2.0を指す。字幕コンポーネント部分210は、ムービーXのために提供された複数の字幕言語選択を含み、英語210−1〜ロシア語210−9が例示されている。
図3は、マニフェストの例示的なメディア表現記述モデルを示し、例えば、特定のコンテンツの異なるメディアセグメントに関する更なる詳細を例示するMPD300を示す。複数の任意にスプライスされたコンテンツ部分302−1〜302−3が、スプライスされた部分のそれぞれのタイミングおよびベースURLパラメータを記述する。これらは各々が、異なるアセットコンポーネントのための1つまたは複数の適合セットを含む。例示されるように、参照符号304−1および304−2はそれぞれ、セグメント302−2のビデオ適合セットおよびオーディオ適合セットを指す。そして、ビデオ適合セット304は、2つの表現306−1および306−2を含む。これらは各々が、セグメント情報310に加えて、それぞれのビットレート、表示分解能等を含む。更なる例示として、セグメント情報310は、初期化セグメント312、および複数のメディアセグメント314−1〜314−Lに対するURLを含み、各セグメントは適切なタイミングパラメータを有する。当業者は、MPEG−DASH規格に準拠する特定の実施態様では、図2に示すABRアセットパッケージ200を、図3に示すMPD300に類似した適切なMPD300モデル表現で記述することができることを認識するべきである。
図4は、本特許出願の一実施形態による、履歴配信トレンドに基づいてコンテンツを事前プロビジョニングすることができる例示的なコンテンツ配信ネットワーク400を示す。例示のために、CDN400は、図1に示すCDN100と同一であるが、特定のコンテンツの人気が出る可能性がある場所を決定するかまたは他の形で推定もしくは予測するための人気度ポリシ管理システム402が提供される点が異なる。上記で参照により本明細書に援用された、本発明の譲受人に譲受された特許出願(1)2013年7月3日に出願された米国特許出願第13/935,381号「BANDWIDTH POLICY MANAGEMENT IN A SELF−CORRECTED CONTENT DELIVERY NETWORK」(Ericsson参照番号:P40905−US1)、(ii)2013年7月3日に出願された米国特許出願第13/935,326号「SYSTEM AND METHOD FOR DELIVERING CONTENT IN A CONTENT DELIVERY NETWORK」(Ericsson参照番号:P40270−US1)に記載されているように、人気度ポリシ管理システム402は、複数の情報源に基づいて、ロケーションおよび加入者人口統計によって特定のコンテンツの人気度を推定または決定するように動作可能である。情報源は、例えば、コンテンツ/ムービーの詳細、プロットキーワード検索データ、マーケティングデータ(例えば、興行収入データ、記憶された媒体(例えば、Blu−Ray、DVD、HDおよびCDディスク)販売データおよび関連コンテンツ売上げデータ(まとめて、「収益情報」))に関係するトレンドに加えて、CDN400によってサービスされる地理的領域内に配布される特定のコンテンツに対する検索トレンドデータ(例えば、Google(登録商標)、Bing(登録商標)、Yahoo(登録商標)等によって提供される検索エンジンを用いたインターネット検索エンジントレンドデータ、および、ソーシャルメディアの検索トレンドデータ、例えば、Facebook(登録商標)、Twitter(登録商標)、Instagram(登録商標)、Pinterest(登録商標)等における検索)である。更に、人気度ポリシ管理システム402は、適用可能なライセンス情報および/またはコンテンツベースの優先度レベルおよび重みを受け取るためにコンテンツポリシ管理ノード(明確に図示せず)とインタフェースするように設定することができる。特定のコンテンツのための人気度推定値の決定時に、人気度ポリシ管理システム402は、通信経路406によって例示されるように、中央配布ノードおよび/または地域サーバノードに事前プロビジョニングおよび配布ポリシを提供するように動作可能である。コンテンツ固有の事前プロビジョニングおよび配布ポリシの確立に関する更なる詳細は、上記で参照した、上述の本発明の譲受人に譲受された特許出願のうちの1つまたは複数において見てとることができる。
更に、DNMCシステム112は、ノードのABRアセット配信/配布パターンに基づいて、それぞれのコンテンツ配信ノード(例えば、地域サーバノードおよび/またはエッジサーバノード)のために確立されたかまたは他の形で決定された1つまたは複数の配信規則を提供するように動作可能である。1つの実施形態では、DNMCシステム112は、特定のABRアセットパッケージのための事前プロビジョニングおよび配布ポリシと併せて、このような配信規則(ビデオビットレートの上限/下限閾値および/または範囲、言語/字幕選択パーセンテージに基づく制限等を含むことができる)を適用し、配信規則を満たすかまたは他の形でパスするコンテンツのある表現またはバージョンのみが事前プロビジョニングされ得るようにするように更に動作可能である。別の実施形態では、適用可能な配信規則は、通信経路404によって例示されるように、中央配布ノードおよび/または地域配布ノードに送信することができる。この配布ノードは次に、コンテンツの人気があると判断された複数のエッジサーバノードに関して、事前プロビジョニングのためのビデオ/オーディオ/字幕アセットのサブセットを選択するために配信規則を適用することができる。また更なる実施形態では、人気度に基づく事前プロビジョニングポリシおよびノード固有のアセットトレンド配信規則を、別のネットワーク要素または管理ノードに提供することができる。この別のネットワーク要素または管理ノードは、特定のコンテンツのABR配信アセットに関する、フィルタリングされたまたは他の形で調整された事前プロビジョニングポリシを確立するために、適切な選択/フィルタリングロジックを適用するように適合される。このようなシナリオでは、調整された事前プロビジョニングポリシを、CDN400の中央/地域配布ノードに送信することができ、これに従って、ABRアセットのサブセットを適切に事前プロビジョニングすることができる。
更にまたは代替的に、DNMCシステム112は、ノードの履歴ネットワーク状態に基づいてそれぞれのコンテンツ配信ノードのために確立されたかまたは他の形で決定された1つまたは複数の配信規則も提供することができる。アセットトレンドベースの配信規則の適用と類似して、ネットワーク状態に基づく配信規則は、人気度ポリシ管理システム402によって確立された事前プロビジョニングポリシを調整するかまたは他の形で制御するために適用することができる。ネットワーク状態ベースの配信規則は、CDNの事前プロビジョニングポリシの更なる精緻化のためのアセットトレンドベースの配信規則と併せて適用されることに加えて、上記で説明した実施形態に類似した様々な実施態様において適用することができることが当業者に理解されるべきである。
図4の参照を継続して、それぞれのノードの配信パターンに基づく、エッジサーバノード106−Nおよび108−1に関するABRアセットの調整された事前プロビジョニングを更に例証することができる。上記で説明したように、ガルベストンエッジサーバ106−Nに関連付けられたABRアセット配信パターン116は、コンテンツの80%よりも多くが、より高いビットレートカテゴリ(すなわち、3〜8Mbsにおける720pコンテンツまたは8〜12Mbpsにおける1080pコンテンツ)にあるビデオコンポーネント分布を示す。したがって、特定のコンテンツ(例えば、ムービーY)のより高いビットレート表現のみをガルベストンノード116−Nのために事前プロビジョニングすることができる配信規則を確立することができる。このノードにおいて人気が出ると推定された特定のコンテンツに関してこのような規則が適用されるとき、このノードのために事前プロビジョニングされたABRアセットパッケージ408は、ビデオアセットコンポーネント410−1によって示されるように、(例えば、それぞれ3/5Mbsおよび10/12Mbsでエンコードされる)コンテンツの720pおよび1080p表現のみを含むことになる。同様に、ガルベストンノード116−Nのための履歴オーディオアセット配信パターンが、コンテンツの10%のみがサラウンドサウンド(5.1)の英語である配信パターンであるとすると、配信規則は、コンテンツのオーディオアセットの5.1英語表現が事前プロビジョニングから除外されるような配信規則とすることができる。同様にして、ガルベストンノード106−Nにおいてダウンロードされる履歴字幕言語の分布に一致して、字幕のための配信規則は、このノードからダウンロードされる最小尤度(例えば、5%未満)を有する任意の字幕が事前プロビジョニングから除外される配信規則とすることができる。このような配信規則を適用することによって、ガルベストンノード106−NのためのムービーYに関して事前プロビジョニングされたABRアセットパッケージ408は、英語2.0およびスペイン語2.0の表現(または適合セット)のみを含むオーディオアセットコンポーネント410−2と、ガルベストンノード106−Nによってサービスされているエリアにおいて人気があると推定されたムービーYの英語字幕のみを含む字幕アセットコンポーネント410−3とを含むことになることを見てとることができる。
同様にして、アシュビルエッジサーバ108−1に関連付けられた学習されたABRアセット配信パターン120に基づく1つまたは複数の配信規則は、アシュビルサービスエリアにおいて人気があると推定されたコンテンツ、例えば、ムービーYの事前プロビジョニングを調整するように適用することができる。このサービスエリアにおいて配信されるコンテンツの4%のみが8〜12Mbpsの1080pコンテンツを含むという履歴ビデオアセット配信パターン122−1が確立されたとき、例示的な配信規則は、コンテンツの1080p表現が除外されるようにすることができる。同様に、それぞれの尤度推定値に基づいて、オーディオおよび字幕アセットコンポーネントのための適切な閾値を確立することができる。このような配信規則を適用する際、アシュビルノード108−1のためのムービーYに関する事前プロビジョニングされたABRアセットパッケージ412が、(例えば、それぞれ3/5Mbsおよび2/1Mbsでエンコードされる)コンテンツの720pおよび480p表現のみを含むビデオアセットコンポーネント414−1と、英語2.0表現のみを含むオーディオアセットコンポーネント414−2と、ムービーYの英語字幕のみを含む字幕アセットコンポーネント414−3とを含むことになることを見てとることができる。
したがって、あるノードにおいて人気があると判断された特定のコンテンツに関するABRアセットパッケージの全ての適合セットを事前プロビジョニングする代わりに、本明細書に示す実施形態は、ABRアセットのより粒度の細かい事前プロビジョニングを提供し、結果として、ネットワークリソースの展開がより効率的になる。(特定のコンテンツがどれだけ人気があるかにかかわらず、ネットワークオペレータはもはや、用いられる可能性が低いアセット、すなわちファイルを送信する必要がないため)オペレータ帯域幅コストが最小化されるのみでなく、エンドユーザに対し、より高品質のサービスも提供することができる。更に、上記で説明した例示的な事前プロビジョニング調整は、アセットトレンドベースの配信規則の適用を示しているが、必要な変更を加えたネットワーク状態ベースの配信規則に基づいて、同様の事前プロビジョニング調整も等しく実現することができる。
更なる例示的なシナリオでは、DNMCシステムに、CDNエッジノードの各々によってサービスされるエリア内の言語のプリファレンスを認識させることができる。このような認識は、CDN自体における履歴トレンド(例えば、特定のサービスエリア内のユーザは常にまたはほとんどの場合にスペイン語バージョンを見る)によって通知することもできるし、エッジノードがまだ履歴データを有していない場合、第三者から供給される、より広いトレンド(例えば、特定のサービスエリアにおいてスペイン語を話す人口が多い)に基づくこともできる。このエッジノードによってサービスされるエリアにおいて特定のコンテンツの人気が出た場合、システムは、ABRアセットパッケージ全体の一部として各コンテンツに通常含まれる全てのオーディオまたは字幕オプションではなく、人気のあるオーディオまたは字幕データ(異なる言語でさえあり得る)のみを事前設定する。ユーザが、現行の言語以外の(すなわち、フィルタリングされた事前プロビジョニングされたアセットではない)言語にアクセスすることを望む場合、要求に応じて、オーディオ/字幕データを通常の形式で送信することができる。また更なる例では、DNMCシステムに、このDNMCシステムのエッジサーバの各々の履歴ネットワーク状態を認識させることができる。特定のエッジサーバが、(適切な性能メトリックについて規定され得るように)平均を一貫して下回るエッジサーバ状態を体感するかまたは呈する場合、DNMCシステムにこのような状態を認識させることができる。このエッジノードによってサービスされるエリア内で特定のコンテンツの人気が出た場合、より高いビットレートは使用される可能性がより低い(および/またはダウンロードされる可能性がより低い)ため、システムは、より低いビットレートコンテンツのみを事前設定する。ネットワーク状態が改善し、変則的なビットレート(フィルタリングされた事前プロビジョニングされたアセットではない)が加入者によって要求される場合、このようなビットレートを、要求に応じて、通常の形式で送信することができる。
次に、図5Aおよび図5Bを参照すると、ABRアセットの事前プロビジョニングを調整するために本特許出願の1つまたは複数の実施形態に従って行うことができる様々なステップおよび動作に関するブロックを有するフローチャートが示されている。フローチャート500Aは、独立して、または1つもしくは複数の組合せで実施することができるプロセスの集合を表す。1つの例示的なプロセスでは、ブロック502、504および510は、人気のあるコンテンツの事前プロビジョニングに関するアセットトレンドベースの配信規則の適用を示す。別の例示的なプロセスでは、ブロック506、508および510は、事前プロビジョニングに関するネットワーク状態ベースの配信規則の適用を示す。また更なる例示的なプロセスでは、ブロック502〜510は、アセットベースの配信規則およびネットワーク状態ベースの配信規則の双方を事前プロビジョニングポリシ調整の目的で適用することができる複数の形で組み合わせることができる。
ブロック502において、1つまたは複数のABRアセットの履歴配信パターンおよびトレンドを、CDNの1つまたは複数のコンテンツ配信ノードについて、例えば、構成可能な移動/スライドタイムウィンドウ等の期間にわたって得ることができる。コンテンツ配信ノードごとに、関連するサンプル時間ベースにわたって、ABRアセットの適切な統計的分布、例えば、パーセンテージ分布、尤度推定値、マルチレベルランキング分布等を決定することができる。ABR分布に基づいて、適応学習プロセス、例えばナレッジベースまたは規則ベースのエキスパートシステムの一部として提供することができる、1つまたは複数の配信規則を確立するかまたは他の形で決定することができる(ブロック504)。CDN内の異なるノードにおいて、特定のコンテンツが、人気が出たと判断されるかまたは他の形で推定されると、配信規則を満足するかまたは他の形で満たす特定のコンテンツのビデオ/オーディオ/字幕コンポーネントの、ある表現または適合セットのみを、このコンテンツの人気があると判断されたノードに関して、配信のために事前プロビジョニングすることができる(ブロック510)。
代替的にまたは更に、CDNのそれぞれのコンテンツ配信ノードに関連付けられた履歴ネットワーク状態(例えば、ダウンロードレート、帯域幅利用等)を監視することができ(ブロック506)、これを次に、適切な配信規則を決定するために用いることができる。ここでもまた、このような配信規則は、静的/決定論的とすることもできるし、CDN管理ノードからの事前設定された制御入力に応じて変更することもできる(すなわち自己適応学習)。したがって、特定の実施態様に応じて、ネットワーク状態ベースの規則を複数の方法で確立することができる(ブロック508)。アセットトレンドベースの配信規則に関して、ネットワーク状態ベースの配信規則を用いて、人気があるコンテンツの、ある適合セットのみを事前プロビジョニングのためにフィルタリングすることができる(ブロック510)。
図5Bにおいて、ブロック510に対する追加のステップまたは動作が別個のフローチャート500Bとして示されている。ブロック512において、配信規則の適用は、ABRアセットと、ビットレート範囲、閾値、言語/字幕尤度推定値、ネットワーク接続性能/状態等、およびこれに関連する他のメトリックとの比較を含むことができる。ブロック514に示すように、比較に応答して、特定のコンテンツのビデオ/オーディオ適合アセットおよび字幕を、事前プロビジョニングのために選択するかまたは他の形で特定することができる。
図6は、本特許出願の一実施形態による、管理ノード600として動作するように適合された、コンピュータにより実施されるデータ処理システムのブロック図を示す。図4および図6を参照すると、管理ノード600は、CDN400およびCDNノードに関連付けられた人気度ポリシ管理システム402に加えて、帯域幅割当て/スケジューリングシステム、配布パイプポリシ管理・最適化システム、コンテンツポリシ・QoS管理システム、もしくは要求リルート/リダイレクトシステム、またはこれらの任意の組合せ等の1つまたは複数のCDN管理システムと相互作用することができる、DNMCシステム112の例示的な実施態様として設定することができる。バス構造464に結合された1つまたは複数のプロセッサまたはプロセッサ基板602−1〜602−Nは、本特許開示において示される1つまたは複数の機能を実行することを含めた、ノード600の全体制御を提供する。バス604は、更なるバスまたは周辺バス608、610まで延在するかまたはこれらに結合するために、1つまたは複数のバスブリッジまたはバスコントローラ606−1、606−2に結合することができ、そして更なるバスまたは周辺バス608、610は複数のインタフェース(I/F)をサポートすることができる。例として、このようなインタフェース612−1、612−2のうちの1つまたは複数は、国サーバノード102、地域サーバノード104−1〜104−3およびエッジサーバノード106−1〜106−N、108−1〜108−M、110−1〜110−K等の様々なCDNノードとのインタフェースを実現することができる。更なるインタフェース614−1、614−2は、上記で言及した1つまたは複数のCDN管理システムへのインタフェースを実現することができる。
管理ノード600に設けられたメモリサブシステム619は、複数のメモリモジュール618−1〜618−Mおよび永続メモリモジュール617等の不揮発性メモリモジュールに関するメモリ動作を制御するための1つまたは複数のメモリコントローラ616を含むことができる。1つまたは複数のソフトウェアプロセス、モジュール、ブロック、ルーチン、スレッド等として組織化および/または実行することができるプログラム命令またはロジックは、本開示の1つまたは複数の実施形態を実現するための永続メモリ617に記憶するかまたはアップロード/ダウンロードすることができる。例えば、配信ノードおよび管理制御モジュール621は、ノード単位で構成することができ、それぞれ不揮発性データベース623、627に記憶することができる、履歴ABRアセット配信トレンドおよび/または履歴ネットワーク接続状態に基づいて配信規則を実現するかまたは他の形で確立するように設定することができる。1つの実施態様では、配信規則は、例えば、クラスタ解析、多変量解析、主要コンポーネント解析、要因解析、相関解析、適応ニューラルネットワーク、回帰解析等を伴う統計的かつ算術的モデリング技法に準拠して確立することができ、ノード単位でABRアセット分布を学習するのみでなく、これを予測する。上記で指摘したように、配信規則は、コンテンツ事前プロビジョニングポリシを調整するために適切なCDNノード(例えば、国サーバ102)に配布することができる。代替的にまたは更に、人気度ポリシ管理システム402によって決定されるようなコンテンツ事前プロビジョニングポリシと併せて配信規則を適用するための、また別のモジュール625を提供することができ、これによって、調整された事前プロビジョニングポリシをCDNノードに提供することができる。本特許開示において、また更なる変形形態では、配信規則は、人気度、ネットワーク帯域幅状態等に基づいて適切なエッジサーバノードに加入者の要求をリダイレクトするように動作可能な要求リダイレクタシステムと併せて適用することもできる。
図7は、本特許出願の一実施形態によるABRアセットの履歴配信トレンドを監視するために行うことができる様々なステップおよび動作に関するブロックを有する例示的なプロセス700のフローチャートである。クライアントがABRコンテンツを見ることを要求すると(ブロック702)、字幕/言語選択等の適切なデータを配信セッションのために保存することができる(ブロック704、706)。判定ブロック708に示すように、ABRコンテンツが別個の適合セット内にあるか、またはインタリーブされたコンテンツストリーム(すなわち、あるレガシストリーミングの実施において提供される多重化されたまたは多重(muxed)コンテンツストリーム)内にあるかに依拠して、配信セッションに関する更なるデータを記憶、保存または他の形で監視することができる。別個の適合セット内のコンテンツについて、ABRアセットパッケージの各オーディオおよびビデオセグメントに関してループサブプロセス710を実現することができる。ここで、ブロック712、714に示すように、セグメントビデオビットレート、オーディオビットレートおよび配信フォーマット(例えば、MP3、AAC、AAC+、eAAC+、FLAC WMA、WAV、AMR、OGG、DTS、AC3、LPCMおよびMIDI等のオーディオフォーマット、ならびに、例えば、MPEG4、H.263、H.264、DivX、XviD、WMV、AVI、3GO、Flash Video等のビデオフォーマット)を記憶することができる。多重コンテンツについて、ループサブプロセス716は、インタリーブされたセグメントごとにセグメントビットレートを記憶するように動作可能である(ブロック718)。この後、クライアント配信セッションが終了すると(ブロック720、724)、ビデオ/オーディオ/字幕アセットの配信統計(ブロック728)または多重セットビットレートおよび字幕選択(ブロック726)に関する適切なデータ更新手順を行うことができる。1つの実施態様では、それぞれの期間にわたってCDNの各コンテンツ配信ノードに対し、上記のサブプロセス710、716および後続の更新手順を行うことができる。これらのノードは、例えば、図1に示すDNMCシステム102等の管理ノードに配信統計を提供する(ブロック28)ように設定することができる。更に、DNMCシステムとCDNノードとの間の配信統計の送信は、タイマ、ユーザ/ネットワーク設定および他の条件に基づいてトリガされることに加えて、要求/応答クエリメカニズム、プッシュメカニズム、プルメカニズムによって実現することができる。
図8は、本特許出願の一実施形態に従って配信規則に基づいてコンテンツの事前プロビジョニングポリシを調整するために行うことができる様々なステップおよび動作に関するブロックを有する例示的なプロセス800のフローチャートである。CDNにおけるコンテンツの事前プロビジョニングが始まると(ブロック802)、配信ノードのサービスロケーションにおいて特定のコンテンツの人気があると推定されるかまたは他の形で判断されるか否かを判断することによる判定ブロック803において開始されるループサブプロセス805を各コンテンツ配信ノードについて実現することができる。配信ノードエリアにおいて、コンテンツの人気があると判断されない場合、この配信ノードをスキップすることができ(ブロック804)、次の配信ノードに関するコンテンツの人気度を解析することができる。コンテンツが指定のコンテンツ配信ノードに関して人気があると判断される場合、このノードについての適切な履歴ビデオ/オーディオ/字幕配信統計および関連するアセット配信規則を取得および/または利用することができる(ブロック806)。適用可能な場合、対応する適合セットを含む、利用可能なABRパッケージアセットに関する、特定の人気のあるコンテンツのマニフェストを解析することができる(ブロック808)。ABRパッケージ内のアセットごとに、ABRアセット(およびABRアセットの適合セット)が分布統計に基づく対応する配信規則を満たすか否かについての判断(判定ブロック814)から開始するループサブプロセス810が実現される。満たす場合、このABRアセット(およびABRアセットの適合セット)を、判定ブロック803において特定される指定のコンテンツ配信ノードに関する事前プロビジョニング(ブロック816)のために特定することができる。そうでない場合、ABRアセットはスキップされ、特定の人気のあるコンテンツのABRパッケージにおける次のアセットが解析される(ブロック818)。特定のコンテンツの人気があると判断された各配信ノードに関する全てのABRアセットに対し配信規則を適用した後、適切なABRアセット(および対応する適合セット)が「人気のある」ノードのために事前プロビジョニングされ(ブロック820)、この時点でプロセスが完了する(ブロック822)。図1および図4に示すように、履歴配信トレンド、ネットワーク状態等の変動に起因して、全ての人気のあるノードを同じABRアセット/適合セットで事前プロビジョニングすることができるわけではない。
図9は、本特許出願の一実施形態による、CDNの1つまたは複数のコンテンツ配信ノードのための履歴配信トレンドおよび/またはネットワーク状態データを更新するために行うことができる様々なステップおよび動作に関するブロックを有する例示的なプロセス900のフローチャートである。更新ルーチンの呼び出しに従って(ブロック902)、CDNにおけるトレンド/状態統計を更新するのが適切であるか否かについて、タイマに関連した判断を行うことができる(判定ブロック904)。適切である場合、CDNの起点の国サーバから、(例えばDNMCシステムによって)コンテンツ配信ノードの完全なリストを取得することができる(ブロック908)。リストの配信ノードごとに、ビデオ/オーディオ/字幕配信統計を取得し、これに基づいてノードに関連付けられたデータベース記録またはストレージを更新するためのループサブプロセス910を実現することができる(ブロック912)。更にまたは代替的に、適切なネットワーク状態をノード単位で監視することもできる。タイマに関連する(または他のトリガベースの)判断により、統計を更新することがまだ適切でないことが示される場合、更新プロセス900は、事前設定された時間量が経過するのを待機する(ブロック906)。全てのCDNのノードについて統計を更新することに関して単一のタイミング判断が示されている(すなわち、判定904)が、複数のタイミング判断および/または他のトリガベースの閾値も、それぞれのCDNノードに対応する別個の更新プロセスを開始するために実施することができることが理解されるべきである。
CDNにおいてコンテンツ事前プロビジョニングポリシの調整を容易にすることに加えて、更なる態様において、上記で記載した履歴配信トレンドおよびネットワーク状態も、CDNにおけるコンテンツのデフラグメンテーションを最適化するために利用することができる。上記で指摘したように、クライアントがCDNを介してABRコンテンツにアクセスしたとき、エッジにおけるサーバが、アダプティブストリーミングアーキテクチャの固有の特徴に起因してフラグメント化する場合があることも起こり得る。通常、CDNのエッジサーバノードは、クライアントに対する特定のABRアセットパッケージの1つまたは多数の個々セグメントファイルをサーブすることができ、クライアントが(例えば、リダイレクションに起因して)第2のエッジサーバからコンテンツを要求するとき、第1のエッジサーバおよび第2のエッジサーバの双方が、結果として、関連するマニフェストによって参照されたセグメントファイルの不完全なコレクションを保持することになる場合がある。
エッジサーバが要求されたセグメントファイルのコピーを保持しないとき、これらのエッジサーバは、地域サーバ等の親ノードから要求されたセグメントファイルを取得またはプルすることを要求される場合がある。これは通常、親ノードに、要求されたセグメントファイルの完全なコピーを保持させるが、マニフェストにおいて参照される完全なセグメントコレクションが、公示された全てのビットレートについて親ノードに存在するという保証はない。したがって、クライアントが、同じエッジサーバからのマニフェストについて、セグメントファイルの全てではなくいくらかを要求するとき、フラグメンテーションが生じる場合があり、結果として、マニフェストセグメントコレクション全体の不完全なコピーが生じる。アダプティブストリーミングアーキテクチャ内でビットレートを変更するクライアントは、エッジサーバにおいて、このフラグメンテーションをまた更に悪化させ得る。解決策として、参照により上記に援用された、本発明の譲受人に譲受された、Christopher Phillips他の名義で2013年6月20日に出願された米国特許出願第13/923,005号「DEFRAGMENTATION OF ADAPTIVE STREAMING SEGMENT FILES IN A CONTENT DELIVERY NETWORK」(Ericsson参照番号:P40285−US2)に記載されている特定の実施形態は、CDN内の「デフラグメンテーション」システムおよび方法を提供し、これによって、エッジサーバは、マニフェストにおいて参照されるセグメントコレクション全体の完全なコピーを保持することを確実にされる。更なる改善において、以下に記載する本開示の実施形態は、エッジサーバノードにおけるフラグメント化したコンテンツが、ノードに関連付けられた履歴配信トレンドおよび/またはネットワーク状態に基づいて補充される、最適化されたデフラグメンテーションシステムおよび方法を提供する。更に、開示される実施形態は、帯域幅輻輳の状態を回避するかまたは他の形で改善することができるように、低いネットワーク利用量の時点で行うように制御され得る。
図10A〜図10Cは、本特許出願の1つまたは複数の実施形態によるコンテンツ配信ノードにおけるメディアセグメントのデフラグメンテーションを最適化するために行うことができる様々なステップおよび動作に関するブロックを有するフローチャートを示す。まず図10Cを参照すると、特定のコンテンツに関してCDNノードにおいて最適化されたデフラグメンテーションプロセス1000Cの一実施形態を行うことができる。ブロック1080において、CDNノードは、CDNノードのデータベースキャッシュに記憶されたコンテンツのマニフェストおよびABRセグメントファイルを解析して、マニフェストによって/において参照される任意のセグメントがこのデータベースに存在しないか否かを判断するように設定される。存在しない場合、CDNノードに関連付けられた1つまたは複数のABRのアセット配信規則を適用して、配信規則を満たす存在しない/欠落したセグメントファイルの表現または適合セットを決定することができる(ブロック1082)。これに応答して、存在しないセグメントの準拠した表現/適合セットのみが、別のCDNノード(例えば、地域サーバノード等の別のエッジサーバノードまたは親ノード)からプルまたは取得され、これらは次に、CDNノードのデータベースキャッシュにローカルで記憶される(ブロック1084)。
図10Aは、CDN100のエッジサーバノード106−N、108−1等の子ノードまたはエッジノードによって実行することができる最適化されたデフラグメンテーションプロセス1000Aのフローチャートを更に詳細に示す。上記で記載したフローチャートと同様に、プロセスのステップの一部分を取り囲むブロックはループサブプロセスを示す。ループサブプロセスでは、取り囲まれた動作は、ループが実現されるエンティティのリストが空になるまで反復的に/繰返し実行することができる。1つの実施態様では、CDN内の各ノードは、ノードの最小利用時間フレームパラメータとして設定することができる、ノードの低ネットワーク利用によって特徴付けられる期間(例えば深夜)内に現在の時刻が入るか否かを、様々な時間間隔で判断することができる。自己計算時間フレームを提供しないノードは、要求を、親ノード、リダイレクタサーバ、または別のサーバに送信し、自身の最小利用時間フレームを決定することができる。このため、ブロック1002において、エッジノードはデフラグメンテーションウェイクアップタイマをチェックし、これによって、エッジノードは、判定ブロック1004において、現在の時刻がCDN内のネットワークリソースの最小利用期間内にあるか否かを判断する。エッジノードは、可能であれば、ネットワークリソースの最小利用期間を自己計算し、不可能であれば、CDN内のこのエッジノードの親ノード、リダイレクタサーバまたは別のサーバから、CDN内のネットワークリソースの最小利用期間を特定する情報を受信する。現在の時刻がCDN内のネットワークリソースの最小利用期間内にない場合、プロセスはブロック1008に移り、ブロック1008において、この特定のエッジノードについてデフラグメンテーションがスキップされ、制御がブロック1002に戻る。ブロック1004において、現在の時刻が、CDN内のネットワークリソースの最小利用期間内にあると判断されるとき、プロセスはブロック1006に進み、ブロック1006において、エッジノードは、例えば人気度ポリシ管理サーバと併せて動作するリダイレクタサーバから、全てのコンテンツ人気度時間フレームウィンドウを取得する。プロセス1000Aは、この後、ループサブプロセス1010に入る。ループサブプロセス1010は、エッジノードのローカルキャッシュメモリに記憶されたセグメントファイルに関連付けられた適合ストリーミングマニフェストごとに実行されるアクションの集合を包含する。ループ1010のブロック1012において、エッジノードは、現在の時刻が、解析されている特定のマニフェスト/パッケージのための人気度タイムウィンドウ閾値内にあるか否かを判断する。このような判断は、クライアントがセグメントファイルを要求する可能性が高いとき、完全な電子コンテンツが利用可能である(そして、潜在的に、ライセンシングウィンドウ内にある)ことを確保するために行うことができることを理解するべきである。現在の時刻が人気度タイムウィンドウ閾値内にない場合、プロセスはブロック1014に移り、ブロック1014において、エッジノードはこの特定のマニフェスト/パッケージをスキップする。ブロック1012において、現在の時刻が、解析されている特定のパッケージのための人気度タイムウィンドウ閾値内にあると判断されるとき、プロセスはブロック1016に移り、ブロック1016において、エッジノードは、このエッジノードに関連付けられたマスタマニフェストファイルを読み出す。この後、プロセスは、マスタマニフェスト内の各子マニフェストについて実行される一連のアクションを包含する別のループサブプロセス1018に入る。ブロック1020において、エッジノードは、特定の子マニフェスト(例えば、図3に示すMPDモデル300に示されるURL等)からセグメントファイルのURLを読み出す。URLによって参照されるABRアセットセグメントが、ノードに関連付けられた適用可能な配信規則を満たすか否かについて判断が行われる(判定ブロク1022)。満たさない場合、URLがスキップされ、子マニフェストにおいて参照される次のURLが解析される。適用可能な配信規則に準拠するABRアセットセグメントを参照するURLについて、それぞれのアセットセグメントがエッジノードのキャッシュメモリ内に存在するか否かを判断する(判定ブロック1028)のための更に別のループサブプロセス1026に入る。存在する場合、エッジノードは、ブロック1030においてこのセグメントファイルのためのURLをスキップし、次のセグメントファイルに移る。このサブループプロセスは、子マニフェストによって参照されるセグメントファイルの各々について継続し、参照されたセグメントファイルがエッジノードのローカルキャッシュメモリに存在しないと判断されると、プロセスはブロック1032に移る。ブロック1032において、エッジノードは、存在しないセグメントファイルのURLを利用して、エッジノードの親ノードまたは別のエッジノード等の別のCDNノードから、存在しないセグメントファイルをプルする。この後、エッジノードは、他のCDNノードからプルされたセグメントファイルをキャッシュする。キャッシュ内のアダプティブストリーミングマニフェストごとに全てのループが実行されたとき、マスタマニフェスト内の子マニフェストごとに、そして各子マニフェスト内のURLごとに、全てのセグメントファイルがエッジノードのローカルキャッシュメモリ内に存在するはずである。ブロック1034において、全てのマニフェストについての全てのセグメントファイルがエッジノードのローカルキャッシュメモリ内に存在することを検証すると、プロセスはブロック1036に移る。ブロック1036において、エッジノードは自身の親ノードに、デフラグメンテーションが完了したことを報告する。図10Aに示すループおよびサブループのシーケンスは、いくつかの実施態様において交換することができ、1つのループからの動作のうちのいくつかは、ループ内のサブループに移すことができることが当業者には明らかであろう。
図10Bは、CDNのコンテンツ配信ノードによって実行することができる、最適化されたデフラグメンテーションプロセス1000Bの別の実施形態のフローチャートを更に詳細に示す。上記で説明したフローチャートと類似して、プロセスのステップの一部を取り囲むブロックはループサブプロセスを示す。ループサブプロセスでは、取り囲まれたアクションは、ループが実現されるエンティティのリストが空になるまで反復的に/繰返し実行することができる。例えば、デフラグメンテーションタイマメカニズムまたは何らかの他のトリガベースのメカニズムに応答して、CDNにおいてアセットデフラグメンテーションが始まると(ブロック1052)、特定のABRパッケージが人気度タイムウィンドウまたは閾値内にあるか否かを判断することによる判断ブロック1056において開始されるループサブプロセス1054を、コンテンツ配信ノード内の各ABRパッケージに関して実現することができる。人気度タイムウィンドウまたは閾値内にない場合、特定のABRパッケージはスキップされ、次のABRパッケージが解析される(ブロック1058)。ABRパッケージが人気度タイムウィンドウ内にある場合、ABRパッケージのマニフェストが解析される(ブロック1060)。この時点で、ABRパッケージのアセットコンポーネントごとに実行されるループサブプロセス1062に入る。アセットがフラグメント化したセグメントを含むか否かに関して判断が行われる(ブロック1064)。含む場合、フラグメント化したセグメントが、履歴オーディオ/ビデオ/字幕配信トレンド規則および閾値内にあるか否かに関して更なる判断が行われる(判定ブロック1068)。欠落したオーディオ、ビデオおよび/または字幕アセットセグメントが履歴配信トレンド/閾値内にある場合、このようなセグメントは、地域または国サーバノードまたは別のエッジサーバノードからプルすることができる(ブロック1072)。ABRアセットが任意のフラグメント化したセグメントを含まない場合、アセットはスキップされ、ABRパッケージの次のアセットが解析される(ブロック1066)。更に、フラグメント化したセグメントが、適用された配信規則に従わない場合、これらはセグメント取出しからスキップされる(ブロック1070)。各配信ノード、配信ノード内の各ABRパッケージ等について全てのループが実行されると、最適化されたデフラグメンテーションプロセス1000Bが完了する(ブロック1074)。
上記で説明した最適化されたデフラグメンテーション実施形態に関して、履歴トレンドベースの配信規則および/またはネットワーク状態ベースの配信規則は、各CDNノードが、このCDNノードにキャッシュされたコンテンツに関するデフラグメンテーションプロセスを開始するときに、DNMCシステムによって各CDNノードに提供することができると理解されるべきである。別の変形形態では、各CDNノードは(少なくとも短期にわたって)自身のトレンドを維持するように設定することもできるので、このようなシナリオでは、管理ノードからトレンドデータを取得する必要がない。また更なる変形形態では、ローカルで維持される短期ベースのトレンドおよびDNMCシステムにおいて維持される長期トレンドを、CDNにおいて欠落セグメントのうちのいずれを別のノードからプルするべきかを決定する目的で適用することができる。更に、上記の最適化されたデフラグメンテーション実施形態は、CDNの親ノードおよび子ノードに関して実施することができる。
図11は、本特許出願の一実施形態による、最適化されたコンテンツデフラグメンテーションを実現するように設定することができるコンテンツ配信ノード1100として動作するように適合されたコンピュータにより実施されるデータ処理システムのブロック図を示す。CDNノード1100の機能は、例えば、永続モジュール1111を含むメモリ1110上に記憶されたコンピュータプログラム命令を実行する1つまたは複数のプロセッサ1102によって制御することができる。デフラグメンテーションウェイクアップタイマ1104は、比較ユニット1112に現在の時刻を提供し、比較ユニット1112は、現在の時刻を、最小利用時間フレームパラメータ1106と比較する。現在の時刻が最小利用時間フレーム内にある場合、比較ユニット1112は、現在の時刻を、マニフェスト人気度タイムウィンドウ/閾値1108と更に比較する。現在の時刻がマニフェスト人気度タイムウィンドウ閾値内にある場合、比較ユニット1112は、セグメントファイルリーダ1114に、デフラグメンテーションプロセスを開始するのに適していることを通知する。セグメントファイルリーダ1114は、ローカルデータベースキャッシュ1118からABRアセットセグメントファイルを読み出すように動作可能である。URLリーダ1116は、関連付けられたマニフェストによって参照されるセグメントファイルの各々のURLを読み出し、これらを、存在しないファイルの識別器1122に提供するように動作可能である。存在しないファイルの識別器1112は、適用可能なABRアセット配信規則1120に準拠しているが、ローカルキャッシュメモリ1118に存在していない1つまたは複数の参照されたセグメントファイルを識別するように動作可能である。準拠している欠落セグメントファイルに関するURL情報は、要求されたURLを、例えば親ノードとすることができる別のCDNノード1126に送信することによってセグメントファイルのための1つまたは複数の要求を送信するように動作可能な通信ユニット1124に提供される。これに応答して、他のCDNノード1126は、要求されたセグメントファイルを通信ユニット1124に返し、通信ユニット1124は、これらを記憶するためにキャッシュ1118に送信する。この後、セグメントファイルリーダ1114およびファイル識別器1112は、関連付けられたマニフェスト文書によって参照される全てのセグメントファイルが現在キャッシュ1118内に存在すると判断するように動作可能である。この後、ファイル識別器1122は、通信ユニット1124にデフラグメンテーションプロセスが完了したことを通知することができ、そして、通信ユニット1124は、他のCDNノード1126にデフラグメンテーションプロセスが完了したことを通知することができる。図11の破線は、CDNノード110が親ノードでもあるときの追加機能を示すことが理解されるべきである。上記で参照により援用された、本発明の譲受人に譲受された特許出願(2013年6月20日に出願された特許出願第13/923,005号)に更に詳細に示されているように、親ノード機能は、自身の子ノード1128の全てが、これらの子ノード1128のデフラグメンテーションプロセスが完了したことを報告したか否かを判断することを伴うことができる。全ての子ノードが、これらの子ノードのデフラグメンテーションが完了したことを報告すると、比較ユニット1112は、現在の時刻がマニフェスト人気度タイムウィンドウ閾値1108内にあるか否かを判断することによって継続することができる。閾値内にある場合、親ノードのためのデフラグメンテーションプロセスを開始することができる。
図12は、本特許出願の一実施形態による、履歴配信トレンドに基づいてコンテンツ配信ノード(例えば、エッジサーバノード106−N、108−1)においてフラグメント化したコンテンツが補充される例示的なコンテンツ配信ネットワーク1200を示す。例示のために、CDN1200は図1に示すCDN100と同一であるが、CDNリダイレクタノード1202が、本明細書において上記で検討したように、適切な配信規則を受信するためにDNMCシステム112とインタフェースすることが示される点が異なる。更に、それぞれノード104−1、106−Nおよび108−1に対する例示的な要求/応答経路1204−1、1204−2および1204−3によって示されるように、CDN1200の様々なノードにデータを配布するために、CDNリダイレクタノード1202は、コンテンツ人気度ポリシ管理ノード(特に図示せず)からコンテンツ人気度ウィンドウも受信することができる。図10A〜図10Cおよび図11に関して上記のセクションにおいて詳細に説明したように、エッジサーバノードは、フラグメント化したコンテンツファイルの欠落セグメントの表現のサブセットを特定するために、配信規則を適用するように動作可能である。例として、ガルベストンエッジサーバ106−Nは、自身のABRアセット配信パターン116に基づいて、適切な配信規則を適用するように動作可能である。これにより、欠落セグメント識別器1208によって示されるように、(それぞれ、例えば3/5Mbsおよび10/12Mbsでエンコードされたコンテンツの720pおよび1080p表現のみをプルするための)ビデオアセットコンポーネント1210−1と、(英語2.0およびスペイン語2.0の表現のみをプルするための)オーディオアセットコンポーネント1210−2と、(コンテンツの英語字幕のみをプルするための)字幕アセットコンポーネント1210−3とを含む、規則を満たす欠落セグメントの、ある表現のみを別のCDNノードから取得することができる。
同様の形式で、アシュビルエッジサーバ108−1に関連付けられた、学習されたABRアセット配信パターン120に基づく1つまたは複数の配信規則を適用して、サーバの欠落セグメントの取出しを最適化することができる。参照符号1212は、(それぞれ、例えば3/5Mbsおよび2/1Mbsでエンコードされたコンテンツの720pおよび480p表現のみをプルするための)ビデオアセットコンポーネント1214−1と、(英語2.0の表現のみをプルするための)オーディオアセットコンポーネント1214−2と、(コンテンツの英語字幕のみをプルするための)字幕アセットコンポーネント1214−3とを示す、アシュビルサーバの欠落セグメント識別器を指す。
当業者は、本明細書を参照すれば、ファイル全体が必要である(例えば、更なる言語が必要とされる)場合、デフラグメンテーションシステムが、いずれのファイルが既にネットワークのエッジに転送されたかを知り、更に必要とされるファイルのセクションのみを転送することを認識するであろう。同様に、エッジノードがメモリ制約に起因してファイルを削除することを決定する場合、システムは、(例えば、言語またはビットレートがもはや必要とされないことに起因して)ファイルのいずれのフラグメントがもはや必要とされないかを知ることになる。
上記の詳細な説明に基づいて、必要とされるものを、必要とされる場所で、必要とされる前に利用可能にすることにより、CDNがより効率的に機能することを可能にする本開示の実施形態を有利に実施することができることが理解されるべきである。開示される実施形態は、オペレータ帯域幅コストを節減することに加えて、エンドユーザ体感に関して、より高いQoSレベルも提供する。
本開示の様々な実施形態の上記の説明において、本明細書において用いられる用語が、特定の実施形態を説明することのみを目的としており、本発明を限定することを意図していないことを理解されたい。別段の規定がない限り、本明細書において用いられる全ての用語(技術用語および科学用語を含む)は、本発明が属する技術分野の当業者によって一般的に理解されるのと同じ意味を有する。一般的に用いられる辞書において定義される用語等の用語は、本明細書および関連技術分野との関係における意味と一貫した意味を有するものとして解釈されるべきであり、本明細書において特別に定義しない限り、理想的なまたは過度に公式的な意味で解釈されないことが更に理解されよう。
少なくともいくつかの例示的な実施形態は、コンピュータによって実施される方法、装置(システムおよび/またはデバイス)および/またはコンピュータプログラム製品のブロック図および/またはフローチャートを参照して本明細書において説明されている。ブロック図および/またはフローチャートによる説明のブロック、ならびにブロック図および/またはフローチャートによる説明のブロックの組合せは、1つまたは複数のコンピュータ回路によって実行されるコンピュータプログラム命令によって実施することができることが理解される。このようなコンピュータプログラム命令を、汎用コンピュータ回路、専用コンピュータ回路および/または他のプログラム可能なデータ処理回路のプロセッサ回路に提供して、マシンを生成することができる。これによって、コンピュータおよび/または他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、トランジスタ、メモリロケーションに記憶された値、およびこのような回路内の他のハードウェアコンポーネントを変換および制御して、ブロック図および/またはフローチャートブロックにおいて指定された機能/動作を実施し、これによりブロック図および/またはフローチャートブロックにおいて指定された機能/動作を実施するための手段(機能性)および/または構造を作成する。更に、コンピュータまたは他のプログラム可能なデータ処理装置に、特定の方式で機能するように指示することができるコンピュータプログラム命令を、有形コンピュータ可読媒体に記憶することもでき、これによって、これらのコンピュータ可読媒体に記憶された命令により、ブロック図および/またはフローチャートブロックにおいて指定された機能/動作を実施する命令を含む製品がもたらされる。
上記で示唆したように、有形の非一時的コンピュータ可読媒体は、電子、磁気、光、電磁または半導体データストレージシステム、装置またはデバイスを含むことができる。コンピュータ可読媒体のより具体的な例は以下を含む。すなわち、ポータブルコンピュータディスケット、ランダムアクセスメモリ(RAM)回路、読出し専用メモリ(ROM)回路、消去可能プログラム可能読出し専用メモリ(EPROMまたはフラッシュメモリ)回路、ポータブルコンパクトディスク読出し専用メモリ(CD−ROM)およびポータブルデジタルビデオディスク読出し専用メモリ(DVD/Blu−ray)である。コンピュータプログラム命令を、コンピュータおよび/または他のプログラム可能なデータ処理装置にロードするかまたは他の形でダウンロードして、コンピュータにより実施されるプロセスを生成するように一連の動作ステップをこのコンピュータおよび/または他のプログラム可能な装置において実行させることもできる。これによって、コンピュータまたは他のプログラム可能な装置において実行される命令は、ブロック図および/またはフローチャートブロックにおいて指定された機能/動作を実施するためのステップを提供する。したがって、本発明の実施形態は、デジタル信号プロセッサ等のプロセッサにおいて実行されるハードウェアおよび/またはソフトウェア(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)において実現することができる。これらはまとめて、「回路部」、「モジュール」またはこれらの変形と呼ぶことができる。
更に、少なくともいくつかの更なるまたは代替的な実施態様では、ブロックにおいて記載される機能/動作は、フローチャートに示すのと異なる順序で行うことができる。例えば、連続して示す2つのブロックは、関与する機能/動作に応じて、実際には、実質的に同時に実行されてもよく、場合によっては逆の順序で実行されてもよい。更に、フローチャートおよび/またはブロック図の所与のブロックの機能は、複数のブロックに分離されてもよく、かつ/または、フローチャートおよび/もしくはブロック図の2つ以上のブロックの機能は、少なくとも部分的に統合されてもよい。更に、本発明の開示において、事前プロビジョニングポリシ調整および/または最適化されたコンテンツデフラグメンテーション技術の、組み合わされているかまたは別個の1つまたは複数の実施態様に関して、更なる変形、変更および構成を実現するために、特定のフローチャートに示す動作、ステップ、機能、コンポーネントまたはブロックは、別のフローチャートに示される動作、ステップ、機能、コンポーネントまたはブロックと相互に混合されるかまたは他の形で相互に配置されてもよい。最終的に、示されているブロック間に他のブロックが追加/挿入されてもよい。更に、図のうちのいくつかは、通信の主要方向を示すために通信経路上に矢印を含むが、通信は示される矢印に対し反対方向に行われてもよいことを理解されたい。
様々な実施形態が示され、詳細に説明されたが、特許請求の範囲は、いかなる特定の実施形態または例にも限定されない。上記の詳細な説明はいずれも、任意の特定のコンポーネント、要素、ステップ、動作または機能が重要であるため、特許請求の範囲に含まれなくてはならないことを暗に意味するものとして読まれるべきでない。単数形の要素への言及は、明確に述べられない限り、「唯一」を意味することを意図されず、むしろ「1つまたは複数の」を意味することを意図される。上記で説明した実施形態の要素に対する、当業者に既知の全ての構造的および機能的等価物は、参照により明示的に本明細書に援用され、本特許請求の範囲に包含されることが意図される。したがって、当業者は、本明細書に記載される例示的な実施形態を、以下に添付する特許請求の範囲の趣旨および範囲内の様々な変更および変形により実行することができることを認識するであろう。

Claims (22)

  1. アダプティブストリーミングコンテンツを配信するように設定されたコンテンツ配信ネットワーク(CDN)(100、1200)のコンテンツ配信ノード(1100)において動作可能な方法であって、
    前記コンテンツ配信ノード(1100)のデータベースキャッシュ(1118)に記憶された特定のコンテンツおよびセグメントファイルに関して前記コンテンツ配信ノード(1100)に利用可能なマニフェストを解析して、前記マニフェストによって参照される任意のセグメントファイルが前記データベースキャッシュ(1118)に存在しないか否かを判断すること(1080)と、
    存在しない場合、前記コンテンツ配信ノード(1100)に関連付けられた1つまたは複数の配信規則を適用して、前記1つまたは複数の配信規則を満たす前記存在しないセグメントファイルの表現を決定すること(1082)であって、
    前記配信規則は、前記コンテンツ配信ノード(1100)においてダウンロードされた1つまたは複数のアダプティブビットレート(ABR)アセットの履歴配信パターンに基づいて確立され
    前記表現は、ビデオコンポーネント、オーディオコンポーネント、および字幕コンポーネントの条件を含む、コンテンツの特定の条件である
    決定すること(1082)と、
    前記CDN(100、1200)の別のコンテンツ配信ノードから、前記1つまたは複数の配信規則を満たす前記存在しないセグメントファイルの前記決定された表現を備えるセグメントファイルのみをプルし(1084)、前記プルされたセグメントファイルを前記コンテンツ配信ノード(1100)の前記データベースに記憶すること(1084)と、
    を含む、方法。
  2. 前記ABRアセットは、ビデオコンポーネント、オーディオコンポーネントおよび字コンポーネントのうちの少なくとも1つを含む、請求項1に記載の方法。
  3. 前記履歴配信パターンは、前記コンテンツ配信ノード(1100)においてある期間にわたってダウンロードされる全てのビデオコンポーネント、全てのオーディオコンポーネントおよび全ての字幕コンポーネントについて得られる、請求項2に記載の方法。
  4. 前記コンテンツ配信ノード(1100)の前記配信規則は、前記コンテンツ配信ノード(1100)からダウンロードされたビデオコンポーネントのビットレートに基づくビデオ配信規則と、前記コンテンツ配信ノード(1100)からダウンロードされたオーディオコンポーネントに基づくオーディオ配信規則と、前記コンテンツ配信ノード(1100)からダウンロードされた字幕コンポーネントに基づく字幕配信規則とのうちの少なくとも1つを含む、請求項3に記載の方法。
  5. 別のコンテンツ配信ノードから前記1つまたは複数の配信規則を満たす前記存在しないセグメントファイルの前記表現を備えるセグメントファイルをプルする動作は、地域サーバノード(104−1)またはエッジサーバノード(106−1)から前記存在しないセグメントファイルの前記表現を備えるセグメントファイルをプルすることを含む、請求項1に記載の方法。
  6. 前記マニフェストは、各々が前記特定のコンテンツのビデオコンポーネント、オーディオコンポーネントおよび字幕コンポーネントの特定の条件である1つまたは複数の表現を参照する1つまたは複数の子マニフェストを含むマスタマニフェストを含む、請求項1に記載の方法。
  7. 前記マニフェストを解析する前に、デフラグメンテーションを実行する時刻を示すデフラグメンテーションタイマ値が、前記CDN内のネットワークリソースの最小利用期間である最小ネットワーク利用時間フレームの期間内にあると判断すること(1004)と、
    前記マニフェストを解析する前に、前記デフラグメンテーションタイマ値が、前記特定のコンテンツのABRアセットの人気度の高い期間である人気度タイムウィンドウ内にあると判断すること(1012、1056)と、
    を更に含む、請求項1に記載の方法。
  8. 前記1つまたは複数の配信規則は管理ノード(112)から取得される、請求項1に記載の方法。
  9. 1つまたは複数の配信規則は、前記コンテンツ配信ノード(1100)において維持される前記ABRアセット配信パターンに基づいて決定される、請求項1に記載の方法。
  10. アダプティブストリーミングコンテンツを配信するように設定されたコンテンツ配信ネットワーク(CDN)(100、1200)内で動作可能なコンテンツ配信ノード(1100)であって、
    1つまたは複数のプロセッサ(1102)と、
    前記コンテンツ配信ノード(1100)にストリーミングされたコンテンツのセグメントファイルを記憶するためのデータベースキャッシュ(1118)と、
    前記1つまたは複数のプロセッサ(1102)に結合された永続メモリ(1110)に具現されたコンテンツデフラグメンテーションモジュール(1111)であって、前記コンテンツデフラグメンテーションモジュール(1111)は、前記1つまたは複数のプロセッサ(1102)によって実行可能な命令であって、
    前記コンテンツ配信ノード(1100)の前記データベースキャッシュ(1118)に記憶された特定のコンテンツおよびセグメントファイルに関して前記コンテンツ配信ノード(1100)に利用可能なマニフェストを解析して、前記マニフェストによって参照される任意のセグメントファイルが前記データベースキャッシュ(1118)に存在しないか否かを判断し(1080)、
    存在しない場合、前記コンテンツ配信ノード(1100)に関連付けられた1つまたは複数の配信規則を適用して、前記1つまたは複数の配信規則を満たす前記存在しないセグメントファイルの表現を決定し(1082)、前記配信規則は、前記コンテンツ配信ノード(1100)においてダウンロードされた1つまたは複数のアダプティブビットレート(ABR)アセットの履歴配信パターンに基づいて確立され、前記表現は、ビデオコンポーネント、オーディオコンポーネント、および字幕コンポーネントの条件を含む、コンテンツの特定の条件であり、
    前記CDN(100、1200)の別のコンテンツ配信ノードから、前記1つまたは複数の配信規則を満たす前記存在しないセグメントファイルの前記決定された表現を備えるセグメントファイルのみをプルし(1084)、前記プルされたセグメントファイルを前記コンテンツ配信ノード(1100)の前記データベースキャッシュ(1118)に記憶する(1084)、
    ように設定される命令を有する、コンテンツデフラグメンテーションモジュール(1111)と、
    を備える、コンテンツ配信ノード(1100)。
  11. 前記ABRアセットは、ビデオコンポーネント、オーディオコンポーネントおよび字コンポーネントのうちの少なくとも1つを備える、請求項10に記載のコンテンツ配信ノード(1100)。
  12. 前記履歴配信パターンは、前記コンテンツ配信ノード(1100)においてある期間にわたってダウンロードされる全てのビデオコンポーネント、全てのオーディオコンポーネントおよび全ての字幕コンポーネントについて得られる、請求項11に記載のコンテンツ配信ノード(1100)。
  13. 前記コンテンツ配信ノード(1100)の前記配信規則は、前記コンテンツ配信ノード(1100)からダウンロードされたビデオコンポーネントのビットレートに基づくビデオ配信規則と、前記コンテンツ配信ノード(1100)からダウンロードされたオーディオコンポーネントに基づくオーディオ配信規則と、前記コンテンツ配信ノード(1100)からダウンロードされた字幕コンポーネントに基づく字幕配信規則とのうちの少なくとも1つを含む、請求項12に記載のコンテンツ配信ノード(1100)。
  14. 別のコンテンツ配信ノードから前記1つまたは複数の配信規則を満たす前記存在しないセグメントファイルの前記表現を備えるセグメントファイルをプルする前記命令は、地域サーバノード(104−1)から前記存在しないセグメントファイルの前記表現を備えるセグメントファイルをプルする命令を含む、請求項10に記載のコンテンツ配信ノード(1100)。
  15. 別のコンテンツ配信ノードから前記1つまたは複数の配信規則を満たす前記存在しないセグメントファイルの前記表現を備えるセグメントファイルをプルする前記命令は、エッジサーバノード(106−1)から前記存在しないセグメントファイルの前記表現を備えるセグメントファイルをプルする命令を含む、請求項10に記載のコンテンツ配信ノード(1100)。
  16. 前記マニフェストは、各々が前記特定のコンテンツのビデオコンポーネント、オーディオコンポーネントおよび字幕コンポーネントの特定の条件である1つまたは複数の表現を参照する1つまたは複数の子マニフェストを含むマスタマニフェストを含む、請求項10に記載のコンテンツ配信ノード(1100)。
  17. 前記コンテンツデフラグメンテーションモジュール(1111)は、
    前記マニフェストを解析する前に、タイマ(1104)によって提供される、デフラグメンテーションを実行する時刻を示すデフラグメンテーションタイマ値が、前記CDN内のネットワークリソースの最小利用期間である最小ネットワーク利用時間フレーム(1106)の期間内にあると判断し(1004)、
    前記マニフェストを解析する前に、前記デフラグメンテーションタイマ値が、前記特定のコンテンツのABRアセットの人気度の高い期間である人気度タイムウィンドウ(1108)内にあると判断する(1012、1056)、
    ように設定された命令を更に含む、請求項10に記載のコンテンツ配信ノード(1100)。
  18. 前記1つまたは複数の配信規則は管理ノード(112)から取得される、請求項10に記載のコンテンツ配信ノード(1100)。
  19. 1つまたは複数の配信規則は、前記コンテンツ配信ノード(1100)にローカルに記憶されたABRアセット配信パターンに基づいて決定される、請求項10に記載のコンテンツ配信ノード(1100)。
  20. 命令が記憶された非一時的コンピュータ可読媒体であって、前記命令は、コンピュータシステムによって実行されると、コンテンツ配信ネットワーク(100、1200)に関連付けられたコンテンツ配信ノード(1100)として動作し、以下の動作、すなわち、
    前記コンテンツ配信ノード(1100)のデータベースキャッシュ(1118)に記憶された特定のコンテンツおよびセグメントファイルに関して前記コンテンツ配信ノード(1100)に利用可能なマニフェストを解析して、前記マニフェストによって参照される任意のセグメントファイルが前記データベースキャッシュ(1118)に存在しないか否かを判断すること(1080)と、
    存在しない場合、前記コンテンツ配信ノード(1100)に関連付けられた1つまたは複数の配信規則を適用して、前記1つまたは複数の配信規則を満たす前記存在しないセグメントファイルの表現を決定すること(1082)であって、
    前記配信規則は、前記コンテンツ配信ノード(1100)においてダウンロードされた1つまたは複数のアダプティブビットレート(ABR)アセットの履歴配信パターンに基づいて確立され
    前記表現は、ビデオコンポーネント、オーディオコンポーネント、および字幕コンポーネントの条件を含む、コンテンツの特定の条件である
    決定すること(1082)と、
    前記CDN(100、1200)の別のコンテンツ配信ノードから、前記1つまたは複数の配信規則を満たす前記存在しないセグメントファイルの前記決定された表現を備えるセグメントファイルのみをプルし(1084)、前記プルされたセグメントファイルを前記コンテンツ配信ノード(1100)の前記データベースに記憶すること(1084)と、
    を実行するように設定される、非一時的コンピュータ可読媒体。
  21. 前記マニフェストを解析する前に、タイマ(1104)によって提供される、デフラグメンテーションを実行する時刻を示すデフラグメンテーションタイマ値が、前記CDN内のネットワークリソースの最小利用期間である最小ネットワーク利用時間フレーム(1106)の期間内にあると判断する(1004)ように設定される命令を更に含む、請求項20に記載の非一時的コンピュータ可読媒体。
  22. 前記マニフェストを解析する前に、前記デフラグメンテーションタイマ値が、前記特定のコンテンツのABRアセットの人気度の高い期間である人気度タイムウィンドウ(1108)内にあると判断する(1012、1056)ように設定される命令を更に含む、請求項20に記載の非一時的コンピュータ可読媒体。
JP2016526820A 2013-11-01 2014-10-31 コンテンツ配信ネットワーク(cdn)においてコンテンツのデフラグメンテーションを最適化するためのシステムおよび方法 Expired - Fee Related JP6564773B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/069,565 2013-11-01
US14/069,565 US10841353B2 (en) 2013-11-01 2013-11-01 System and method for optimizing defragmentation of content in a content delivery network
PCT/IB2014/065744 WO2015063734A1 (en) 2013-11-01 2014-10-31 System and method for optimizing defragmentation of content in a content delivery network

Publications (2)

Publication Number Publication Date
JP2017503228A JP2017503228A (ja) 2017-01-26
JP6564773B2 true JP6564773B2 (ja) 2019-08-21

Family

ID=53003444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016526820A Expired - Fee Related JP6564773B2 (ja) 2013-11-01 2014-10-31 コンテンツ配信ネットワーク(cdn)においてコンテンツのデフラグメンテーションを最適化するためのシステムおよび方法

Country Status (6)

Country Link
US (2) US10841353B2 (ja)
EP (1) EP3063945B1 (ja)
JP (1) JP6564773B2 (ja)
CN (1) CN105900438B (ja)
CA (1) CA2929115C (ja)
WO (1) WO2015063734A1 (ja)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10841353B2 (en) 2013-11-01 2020-11-17 Ericsson Ab System and method for optimizing defragmentation of content in a content delivery network
US9516084B2 (en) * 2013-11-01 2016-12-06 Ericsson Ab System and method for pre-provisioning adaptive bitrate (ABR) assets in a content delivery network
EP3113499B1 (en) * 2014-02-26 2021-04-07 Sony Corporation Reception device, reception method, transmission device, and transmission method
US20150271541A1 (en) * 2014-03-19 2015-09-24 Time Warner Cable Enterprises Llc Apparatus and methods for recording a media stream
CA2944840C (en) * 2014-04-24 2022-11-01 Sony Corporation Reception apparatus, reception method, transmission apparatus, and transmission method
US10142386B2 (en) * 2014-10-29 2018-11-27 DLVR, Inc. Determining manifest file data used in adaptive streaming video delivery
US10084838B2 (en) 2014-10-29 2018-09-25 DLVR, Inc. Generating and using manifest files including content delivery network authentication data
US9509742B2 (en) 2014-10-29 2016-11-29 DLVR, Inc. Configuring manifest files referencing infrastructure service providers for adaptive streaming video
US9961004B2 (en) * 2015-02-18 2018-05-01 Viasat, Inc. Popularity-aware bitrate adaptation of linear programming for mobile communications
US9405813B1 (en) * 2015-02-19 2016-08-02 Vuclip Media device knowledge base
US10375452B2 (en) 2015-04-14 2019-08-06 Time Warner Cable Enterprises Llc Apparatus and methods for thumbnail generation
CN105634992B (zh) * 2015-12-29 2019-01-11 网宿科技股份有限公司 Cdn平台自适应带宽控制方法和系统
US9942577B1 (en) * 2016-02-23 2018-04-10 Amazon Technologies, Inc. Dynamic objects caching for media content playback
US10652594B2 (en) 2016-07-07 2020-05-12 Time Warner Cable Enterprises Llc Apparatus and methods for presentation of key frames in encrypted content
GB2554877B (en) * 2016-10-10 2021-03-31 Canon Kk Methods, devices, and computer programs for improving rendering display during streaming of timed media data
US10642917B2 (en) * 2016-11-14 2020-05-05 Triton Us Vp Acquisition Co. Method and device for sharing segmented video content across multiple manifests
US10425700B2 (en) 2016-12-31 2019-09-24 Turner Broadcasting System, Inc. Dynamic scheduling and channel creation based on real-time or near-real-time content context analysis
US11134309B2 (en) * 2016-12-31 2021-09-28 Turner Broadcasting System, Inc. Creation of channels using pre-encoded media assets
US10075753B2 (en) 2016-12-31 2018-09-11 Turner Broadcasting System, Inc. Dynamic scheduling and channel creation based on user selection
US11038932B2 (en) 2016-12-31 2021-06-15 Turner Broadcasting System, Inc. System for establishing a shared media session for one or more client devices
US12022142B2 (en) 2016-12-31 2024-06-25 Turner Broadcasting System, Inc. Publishing a plurality of disparate live media output stream manifests using live input streams and pre-encoded media assets
US11051061B2 (en) 2016-12-31 2021-06-29 Turner Broadcasting System, Inc. Publishing a disparate live media output stream using pre-encoded media assets
US10856016B2 (en) 2016-12-31 2020-12-01 Turner Broadcasting System, Inc. Publishing disparate live media output streams in mixed mode based on user selection
US10992973B2 (en) 2016-12-31 2021-04-27 Turner Broadcasting System, Inc. Publishing a plurality of disparate live media output stream manifests using live input streams and pre-encoded media assets
US10694231B2 (en) 2016-12-31 2020-06-23 Turner Broadcasting System, Inc. Dynamic channel versioning in a broadcast air chain based on user preferences
US11962821B2 (en) 2016-12-31 2024-04-16 Turner Broadcasting System, Inc. Publishing a disparate live media output stream using pre-encoded media assets
US10645462B2 (en) 2016-12-31 2020-05-05 Turner Broadcasting System, Inc. Dynamic channel versioning in a broadcast air chain
US11546400B2 (en) 2016-12-31 2023-01-03 Turner Broadcasting System, Inc. Generating a live media segment asset
US10965967B2 (en) 2016-12-31 2021-03-30 Turner Broadcasting System, Inc. Publishing a disparate per-client live media output stream based on dynamic insertion of targeted non-programming content and customized programming content
US11051074B2 (en) 2016-12-31 2021-06-29 Turner Broadcasting System, Inc. Publishing disparate live media output streams using live input streams
US11503352B2 (en) 2016-12-31 2022-11-15 Turner Broadcasting System, Inc. Dynamic scheduling and channel creation based on external data
US11109086B2 (en) 2016-12-31 2021-08-31 Turner Broadcasting System, Inc. Publishing disparate live media output streams in mixed mode
US11290755B2 (en) * 2017-01-10 2022-03-29 Qualcomm Incorporated Signaling data for prefetching support for streaming media data
CN108668141B (zh) * 2017-03-30 2020-07-17 中国科学院声学研究所 一种视频内容预部署方法
US11245964B2 (en) 2017-05-25 2022-02-08 Turner Broadcasting System, Inc. Management and delivery of over-the-top services over different content-streaming systems
US10623787B1 (en) * 2017-11-01 2020-04-14 Amazon Technologies, Inc. Optimizing adaptive bit rate streaming for content delivery
US10659512B1 (en) * 2017-12-05 2020-05-19 Amazon Technologies, Inc. Optimizing adaptive bit rate streaming at edge locations
CN110446054B (zh) * 2018-05-03 2021-06-15 腾讯科技(深圳)有限公司 一种直播流传输方法、装置、节点、系统及存储介质
US11082734B2 (en) 2018-12-21 2021-08-03 Turner Broadcasting System, Inc. Publishing a disparate live media output stream that complies with distribution format regulations
US10880606B2 (en) 2018-12-21 2020-12-29 Turner Broadcasting System, Inc. Disparate live media output stream playout and broadcast distribution
US10873774B2 (en) 2018-12-22 2020-12-22 Turner Broadcasting System, Inc. Publishing a disparate live media output stream manifest that includes one or more media segments corresponding to key events
US11269612B2 (en) 2019-12-10 2022-03-08 Paypal, Inc. Low latency dynamic content management
KR20220122973A (ko) 2019-12-30 2022-09-05 나그라비젼 에스에이알엘 전달된 콘텐츠 스트림에 기초하여 콘텐츠 스트림을 제공하는 기술
CN111756646B (zh) * 2020-07-08 2023-09-29 腾讯科技(深圳)有限公司 网络传输控制方法、装置、计算机设备及存储介质
CA3126585A1 (en) * 2020-08-03 2022-02-03 Comcast Cable Communications, Llc Video content processing systems and methods
US11445252B1 (en) * 2021-07-08 2022-09-13 Meta Platforms, Inc. Prioritizing encoding of video data received by an online system to maximize visual quality while accounting for fixed computing capacity
US11997338B1 (en) * 2021-08-16 2024-05-28 Amazon Technologies, Inc. Enhanced parsing of media manifests for streaming media
US11843682B1 (en) * 2022-08-31 2023-12-12 Adobe Inc. Prepopulating an edge server cache
US20240276077A1 (en) * 2023-02-15 2024-08-15 Netflix, Inc. Techniques for switching between video tracks when playing back a media title
US12058398B1 (en) * 2023-02-15 2024-08-06 Netflix, Inc. Techniques for generating video tracks based on user preferences
US20240276076A1 (en) * 2023-02-15 2024-08-15 Netflix, Inc. Techniques for automatically personalizing media viewing experiences

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7240100B1 (en) 2000-04-14 2007-07-03 Akamai Technologies, Inc. Content delivery network (CDN) content server request handling mechanism with metadata framework support
WO2002017082A1 (en) 2000-08-22 2002-02-28 Akamai Technologies, Inc. Dynamic content assembly on edge-of-network servers in a content delivery network
US6928471B2 (en) * 2001-05-07 2005-08-09 Quest Software, Inc. Method and apparatus for measurement, analysis, and optimization of content delivery
US9167036B2 (en) 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
AU2010201379B2 (en) 2010-04-07 2012-02-23 Limelight Networks, Inc. System and method for delivery of content objects
EP1972092B1 (fr) 2006-01-09 2013-04-10 Thomson Licensing, Inc. Procede et systeme de distribution de contenu multimedia
WO2007141684A1 (en) * 2006-06-08 2007-12-13 Nxp B.V. Device for remote defragmentation of an embedded device
JP4435819B2 (ja) 2007-10-23 2010-03-24 富士通株式会社 キャッシュ制御プログラム、キャッシュ制御装置、キャッシュ制御方法、およびキャッシュサーバ
EP2053831B1 (en) 2007-10-26 2016-09-07 Alcatel Lucent Method for caching content data packages in caching nodes
US8489731B2 (en) * 2007-12-13 2013-07-16 Highwinds Holdings, Inc. Content delivery network with customized tracking of delivery data
US9060208B2 (en) * 2008-01-30 2015-06-16 Time Warner Cable Enterprises Llc Methods and apparatus for predictive delivery of content over a network
WO2009149063A1 (en) 2008-06-02 2009-12-10 Azuki Systems, Inc. Media mashup system
US20100094958A1 (en) 2008-10-15 2010-04-15 Patentvc Ltd. Systems and methods for aggregating erasure-coded fragments
US8909806B2 (en) 2009-03-16 2014-12-09 Microsoft Corporation Delivering cacheable streaming media presentations
US20110055386A1 (en) * 2009-08-31 2011-03-03 Level 3 Communications, Llc Network analytics management
CN102948126B (zh) * 2010-06-18 2015-12-16 诺基亚公司 生成和处理流媒体体验质量度量的方法和装置
EP2638682A4 (en) 2010-11-12 2014-07-23 Realnetworks Inc TRAFFIC MANAGEMENT IN ADAPTIVE STREAMING PROTOCOLS
GB2486002A (en) 2010-11-30 2012-06-06 Youview Tv Ltd Media Content Provision
US8615577B2 (en) 2011-02-01 2013-12-24 Limelight Networks, Inc. Policy based processing of content objects in a content delivery network using mutators
EP2487609A1 (en) 2011-02-07 2012-08-15 Alcatel Lucent A cache manager for segmented multimedia and corresponding method for cache management
US8849950B2 (en) 2011-04-07 2014-09-30 Qualcomm Incorporated Network streaming of video data using byte range requests
WO2013005478A1 (ja) * 2011-07-04 2013-01-10 日本電気株式会社 コンテンツ配信システム、コンテンツ配置決定装置、コンテンツ配置決定方法およびプログラム
US20130067109A1 (en) 2011-09-12 2013-03-14 Tektronix, Inc. Monitoring Over-the-Top Adaptive Video Streaming
JP2013069073A (ja) 2011-09-21 2013-04-18 Nec Corp 配信ネットワークとサーバ及び配信方法
US20150082345A1 (en) 2011-09-29 2015-03-19 Avvasi Inc. System for generating enhanced advertizements and methods for use therewith
US20140181266A1 (en) 2011-09-29 2014-06-26 Avvasi Inc. System, streaming media optimizer and methods for use therewith
US20150163273A1 (en) 2011-09-29 2015-06-11 Avvasi Inc. Media bit rate estimation based on segment playback duration and segment data length
US20150026309A1 (en) 2011-09-29 2015-01-22 Avvasi Inc. Systems and methods for adaptive streaming control
US20130304934A1 (en) 2011-09-29 2013-11-14 Avvasi Inc. Methods and systems for controlling quality of a media session
US8903955B2 (en) 2011-12-02 2014-12-02 Cisco Technology, Inc. Systems and methods for intelligent video delivery and cache management
EP2792123B1 (en) 2011-12-06 2017-09-27 Echostar Technologies L.L.C. Remote storage digital video recorder and related operating methods
US9049484B2 (en) 2011-12-06 2015-06-02 Echostar Technologies L.L.C. Efficient assignment of program copies in a network digital video recorder
US10038927B2 (en) 2011-12-22 2018-07-31 Cisco Technology, Inc. Out-of-band signaling and device-based content control
US9438487B2 (en) 2012-02-23 2016-09-06 Ericsson Ab Bandwith policy management in a self-corrected content delivery network
US9253051B2 (en) 2012-02-23 2016-02-02 Ericsson Ab System and method for delivering content in a content delivery network
US8861932B2 (en) * 2012-05-18 2014-10-14 At&T Mobility Ii Llc Video service buffer management
EP2869579B1 (en) * 2012-07-02 2017-04-26 Sony Corporation Transmission apparatus, transmission method, and network apparatus for multi-view video streaming using a meta file including cache priority or expiry time information of said video streams
US9549010B2 (en) 2012-09-17 2017-01-17 Netscout Systems Texas, Llc Method and apparatus for media session identification, tracking, and analysis
WO2014113603A2 (en) * 2013-01-16 2014-07-24 Huawei Technologies Co., Ltd. Storing and transmitting content for downloading and streaming
US20140365613A1 (en) 2013-06-06 2014-12-11 Ericsson Television Inc. Defragmentation of adaptive streaming segment files in a content delivery network
US20150039680A1 (en) 2013-08-02 2015-02-05 Avvasi Inc. Methods and systems for video quota management
US9571540B2 (en) 2013-09-19 2017-02-14 Verizon Patent And Licensing Inc. Broadcast/multicast offloading and recommending of infrastructural changes based on usage tracking
US10841353B2 (en) 2013-11-01 2020-11-17 Ericsson Ab System and method for optimizing defragmentation of content in a content delivery network
US9516084B2 (en) 2013-11-01 2016-12-06 Ericsson Ab System and method for pre-provisioning adaptive bitrate (ABR) assets in a content delivery network

Also Published As

Publication number Publication date
EP3063945A1 (en) 2016-09-07
US20150127845A1 (en) 2015-05-07
JP2017503228A (ja) 2017-01-26
WO2015063734A1 (en) 2015-05-07
CN105900438A (zh) 2016-08-24
CN105900438B (zh) 2019-05-28
US20210029185A1 (en) 2021-01-28
EP3063945B1 (en) 2018-08-29
CA2929115A1 (en) 2015-05-07
US11736550B2 (en) 2023-08-22
CA2929115C (en) 2023-03-28
EP3063945A4 (en) 2017-08-09
US10841353B2 (en) 2020-11-17

Similar Documents

Publication Publication Date Title
JP6564773B2 (ja) コンテンツ配信ネットワーク(cdn)においてコンテンツのデフラグメンテーションを最適化するためのシステムおよび方法
JP6469676B2 (ja) コンテンツ配信ネットワークにおいてアダプティブビットレート(abr)アセットを事前プロビジョニングするためのシステムおよび方法
US9800683B2 (en) Bandwidth policy management in a self-corrected content delivery network
US9189806B2 (en) Streaming playback and dynamic ad insertion
CN105814900B (zh) 用于在自适应流播环境中管理相邻频道的系统和方法
CN111526395B (zh) 流播政策管理系统和方法
EP3311579B1 (en) Directory limit based system and method for storing media segments
US9253051B2 (en) System and method for delivering content in a content delivery network
CN111526418B (zh) 用于在自适应流播环境中实行快速频道改变的系统和方法
US20120278496A1 (en) Startup Bitrate In Adaptive Bitrate Streaming
CN108737355B (zh) 基于用户带宽的流媒体播放
EP3457633A1 (en) Bandwith policy management in a self-corrected content delivery network
EP3017377B1 (en) System and method for delivering content in a content delivery network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170929

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181009

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190729

R150 Certificate of patent or registration of utility model

Ref document number: 6564773

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees