JP2017062799A - セグメント化されたコンテンツについての制御されたストリーミング - Google Patents

セグメント化されたコンテンツについての制御されたストリーミング Download PDF

Info

Publication number
JP2017062799A
JP2017062799A JP2016197799A JP2016197799A JP2017062799A JP 2017062799 A JP2017062799 A JP 2017062799A JP 2016197799 A JP2016197799 A JP 2016197799A JP 2016197799 A JP2016197799 A JP 2016197799A JP 2017062799 A JP2017062799 A JP 2017062799A
Authority
JP
Japan
Prior art keywords
segment
client
locator
request
network
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.)
Granted
Application number
JP2016197799A
Other languages
English (en)
Other versions
JP6258432B2 (ja
Inventor
ファン・デーフェンター,マタイス・オスカル
Oskar Van Deventer Mattijs
ファンブランデンブルク,ライ
Van Brandenburg Ray
ニアムット,オマール・アジス
Aziz Niamut Omar
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nederlandse Organisatie voor Toegepast Natuurwetenschappelijk Onderzoek TNO
Koninklijke KPN NV
Original Assignee
Nederlandse Organisatie voor Toegepast Natuurwetenschappelijk Onderzoek TNO
Koninklijke KPN NV
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 Nederlandse Organisatie voor Toegepast Natuurwetenschappelijk Onderzoek TNO, Koninklijke KPN NV filed Critical Nederlandse Organisatie voor Toegepast Natuurwetenschappelijk Onderzoek TNO
Publication of JP2017062799A publication Critical patent/JP2017062799A/ja
Application granted granted Critical
Publication of JP6258432B2 publication Critical patent/JP6258432B2/ja
Active 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
    • H04L65/762Media network packet handling at the source 
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

【課題】セグメント化されたコンテンツのクライアント制御によるストリーミングを可能にする方法およびシステムを提供する。【解決手段】マニフェスト・ファイルから選択される少なくとも1つのセグメント識別子に基づいて少なくとも1つのセグメントの配信を要求するステップと、要求されたセグメントに基づいて、マニフェスト・ファイルから、予想される将来のセグメント要求に関連付けられる、少なくとも1つの別のセグメント識別子を選択するステップと、第1のセグメント・ロケ−タに関連付けられるネットワーク情報を取得するために、選択した別のセグメント識別子に関連付けられる第1のセグメント・ロケ−タを事前解決するステップからなる。【選択図】図3

Description

本発明は、セグメント化されたコンテンツについての制御されたストリーミングに関するものである。より詳細には、排他的ではないが、セグメント化されたコンテンツについての制御されたストリーミングを可能にする方法、セグメント化されたコンテンツについてストリーミングを制御するクライアント、クライアントで使用するためのネットワーク・ノードおよびデータ構造、並びにこのような方法を用いたコンピュータ・プログラム製品に関するものである。
従来技術
現在のところ、拡大しているビデオ・ストリーミング技術は、いわゆるセグメント化(segmentation)を用いる。例えば、HTTP適用可能ストリーミング(HAS)、スケーラブル・ビデオ符号化(SVC)、および空間的にセグメント化したビデオ(例えば、タイル化したビデオ)は、それぞれ、時間、品質、および空間に基づいてセグメント化を用いる。セグメント化処理の間、異なるセグメンント・ファイルおよび/またはストリームの間の関係、並びにセグメントを抽出できる位置について記述する所謂マニフェスト・ファイルが生成されることになる。セグメント・ファイルはセグメント・データを含むファイルに関連し、当該セグメント・データはファイル抽出プロトコル、例えばHTTPまたはFTPにより抽出することができる。同様に、セグメント・ストリームはセグメント・データを含むストリームに関連し、当該セグメント・データは、ストリーミング・プロトコル、例えばRTSP/RTPまたはHASにより抽出することができるセグメント・データにより抽出することができる。以降において、セグメント・ファイルまたはストリームについてセグメントと称することがある。更に、ビデオ、より包括的にはセグメント化方式でレンダリングされるコンテンツをセグメント化されたコンテンツ(segmented content)と称することがある。
セグメント化されたコンテンツは、例えば、高品質から低品質へとビデオ・ストリームを切り替えることにより、帯域幅要件の変更に対して動的に調整するのに使用することができる。更に、セグメント化されたコンテンツはまた、ポピュラーなビデオ・セグメントとあまりポピュラーではないビデオ・セグメントの間を区別するのを可能にする。例えば、通例、ビデオの開始に関連付けられるコンテンツは、終了したコンテンツよりもより頻繁に(よりポピュラーに)視聴される(ダウンロード/アクセス/抽出される)ことになる。同様に、低ビットレートでより低い品質のビデオ・コンテンツ(例えば、最低解像度のHASセグメントまたはSVC基礎レイヤ)は、高品質コンテンツ(例えば、より高い解像度のHASセグメントまたはSVC強化レイヤ)よりもより頻繁に視聴される(ダウンローにアクセス/抽出される)ことになる。
したがって、コンテンツをセグメント化するときは、特定のセグメントが他のコンテンツよりも消費者によって(非常に)より頻繁に要求されることになる。この特性は、コンテンツを消費者に配信するように構成されるコンテンツ配信ネットワーク(CDN)により使用されると有利なものとなる。CDNは、例えば、CDN内の複数のノードにおいてよりポピュラーなコンテンツに関連付けられるセグメントを格納することができる。その結果、(とても離れたサーバから多くのポピュラーなセグメントを取得することによりネットワーク帯域が輻輳することがあるというような)帯域幅の課題を低減させることができ、配信の効率性が保証される。CDNコンテンツ位置マネージャは、セグメントを抽出するCDN内の位置を中央で管理することができる。
クライアントによる、CDN内に格納されるセグメントへのアクセスを可能とするために、クライアントには、セグメント識別子と、ネットワーク内の位置をポイントするセグメント・ロケータと、についてのリストを識別する所謂マニフェスト・ファイルが提供され、クライアントがセグメントを抽出するのを可能にする。通例、プレイ・アウトが開始される前に、クライアント(デバイス)に関連付けられるセグメント・バッファが所定の数のセグメントにより負荷を掛けられるように、クライアントはセグメントを抽出するように構成される。更にまた、プレイ・アウトの間、クライアントは、マニフェスト・ファイルに基づいてセグメントを継続的に抽出し、その結果、十分なセグメントがバッファ内に維持される。このように、セグメントの抽出に関連するレイテンシは、セグメントのシームレスなプレイ・アウトと干渉することはない。
しかしながら、幾らかの場合では、クライアントは、コンテンツのプレイ・アウト(例えば、早送り(fast-forwarding)、パン(panning)、ズーム、および/またはタイル化)をユーザに相互作用させることもある。更に、ユーザは、別のレートまたはビデオ品質に切り替えるように、クライアントに指示することもある。上記の全ての場合において、セグメントのプレイ・アウトはバッファ内で利用可能なことを必要とはしなくてもよく、その結果、クライアントは、オンザフライ(on the fly)で(CDNまたは別のネットワークから)そのセグメントの抽出を開始することになる。しかしながら、この処理は相当量の時間を要する場合がある。何故ならば、セグメントが、DNSルック・アップおよびHTTPリダイレクトを伴うことがある解決処理を用いて位置特定および抽出されることになるからである。更には、幾らかの場合では、コンテンツ・アイテム(例えば、ビデオ/動画)に関連付けられる(コンテンツ)セグメントは、2つ以上の異なるCDNに所属する(CDN/他のネットワークの)ノードに格納する場合がある。その場合は、どの中央の位置マネージャも、異なるCDNドメイン内のセグメントを位置特定するのに利用可能ではない。それ故、第1のCDNに関連付けられるマニフェスト・ファイルは、別のCDNにおいてルーティング機能を参照することのみができる。何故ならば、第1のCDNは、第2のCDNにあるセグメントの位置に関する知識を有しないからである。別の(第2の)CDNからのあるセグメントが要求される都度、その他の(第2の)CDNへのルーティング要求は必要とされる。また、1つ以上の更なるルーティング要求(および応答)が別の(第2の)CDNで生成されることがある。このような要求は、要求ルーティングの遅延を生じさせることになり、その結果、クライアントが要求されたセグメントを受信するのにより多くの時間、最大数秒も掛かることになる。
したがって、上記のことから、ユーザの如何なる相互作用なしで、DNS要求に関連する遅延、リダイレクトおよび/またはCDN間(CDN−I)の要求ルーティングは、(ビデオ)ストリームの品質についてユーザの知覚にほとんど影響しないということになる。何故ならば、クライアントは通例、バッファされた少しのセグメントを有し、あるスラックを許容するからである。しかしながら、(セグメント化された)コンテンツとの相互作用が認められる場合は、バッファ内で利用可能ではないセグメントについてのプレイ・アウトは、相当量の時間を要する。何故ならば、セグメントは、解決処理を用いて位置特定される必要があるからである。この処理は、複雑に相互接続されたCDNの場合、最大で秒数も掛かることになり、その結果、セグメント化された(ビデオ)コンテンツのシームレスなプレイ・アウトはもはや可能ではなく、ユーザ経験(user experience)は深刻に格下げされる。
したがって、当該技術分野では、セグメント化されたコンテンツについてクライアントへの効率的なストリーミングの必要性が存在する。具体的には、ユーザがセグメント化されたコンテンツと相互作用する場合であっても、セグメント化されたコンテンツのシームレスなプレイ・アウトを提供する方法およびシステムの必要性が存在する。
本発明の目的は、当該技術分野において公知とされる欠点の内の少なくとも1つを削減または排除して、本発明の第1の態様における方法を提供することである。
当該方法は、1つ以上の配信ノードを位置特定するマニフェスト・ファイルに基づいて、セグメント化されたコンテンツのストリーミング、好ましくはクライアントにより制御される(client-controlled)ストリーミングを可能にする。当該方法は次のステップの内少なくとも1つを含むことができる。即ち、マニフェスト・ファイルに基づいて、少なくとも1つのセグメントの配信を要求するステップ、当該セグメントの要求に関連付けられるセグメント識別子に基づいて、マニフェスト・ファイルから少なくとも1つの別のセグメント識別子を選択するステップであって、当該別のセグメント識別子が、予想された将来のセグメント要求に関連付けられるステップ、および、第1のセグメント・ロケ−タに関連付けられたネットワーク情報を取得するために、上記選択した別のセグメント識別子に関連付けられる第1セグメント・ロケ−タの少なくとも一部を事前解決するステップである。一実施形態では、マニフェスト・ファイルは、1つ以上のセグメント識別子および/または1つ以上の関連するセグメント・ロケータを含む。他の実施形態では、配信ノードは、当該セグメント識別子によって識別される1つ以上のセグメントをクライアントに配信するように構成できる。更なる他の実施形態では、セグメント・ロケ−タは、ネットワーク・ノードをポイントする所定のURLの一部とすることができる。
したがって、本方法は、クライアントが、マニフェスト・ファイルにリストされ、将来要求されることになると予想されるセグメントを選択することを可能にし、また、クライアントによって要求される1つ以上のセグメントの内の1つに基づいて、これら選択されるセグメントに関連付けられる1つ以上のセグメント・ロケータを少なくとも部分的に事前解決することを可能にする。このようにして、要求ルーティング、DNS要求および/またはリダイレクトに関連する遅延は、除去されるかまたは少なくとも実質的に削減される。その結果、ユーザ相互作用の間においてシームレスなまたは少なくとも実質的にシームレスなセグメントのプレイ・アウトを実現することができる。
一実施形態では、ネットワーク情報は、第1セグメント・ロケ−タの少なくとも一部に関連付けられるネットワーク・アドレスの少なくとも一部に関する情報や、選択した別のセグメント識別子に関連付けられる第1のセグメント・ロケ−タが、上記予想された将来のセグメント要求に関連付けられるセグメントの配信のための配信ノードをポイントするか、若しくは、上記予想された将来のセグメント要求のリダイレクトのためにネットワーク・ノードをポイントするかについての情報、および/または、上記選択された別のセグメント・ロケータに関連付けられる第2のセグメント・ロケ−タの少なくとも一部を含むことができる。他の実施形態では、本方法は、第1セグメント・ロケ−タがリダイレクトのためにネットワーク・ノードをポイントする場合に、当該第1セグメント・ロケ−タを、上記選択された別のセグメント識別子に関連付けられる第2のセグメント・ロケ−タに事前解決するステップを含むことができる。更なる他の実施形態では、上記ネットワーク情報に基づいて上記マニフェスト・ファイルを修正するステップを含む。したがって、抽出したネットワーク情報に基づいて、マニフェスト・キャッシュに格納されるマニフェスト・ファイルを更新することができる。このようにして、特に、クライアントに関連付けられる事前解決機能は、継続的におよび動的に、事前解決セグメント・ロケータの全部および/または一部を用いてマニフェスト・ファイルを更新することができる。
一実施形態において、本方法は、上記第2セグメント・ロケ−タの少なくとも一部に基づいて、上記マニフェスト・ファイルを修正するステップであって、好ましくは、第1セグメント・ロケ−タの少なくとも一部を第2セグメント・ロケ−タの少なくとも一部で置き換えるステップを含むことができる。事前解決ステップについての結果は、元のセグメント・ロケータを部分的な事前解決された別のセグメント・ロケータにリプレイおよび/または修正するのに使用することができる。その結果、部分的に事前解決されるセグメント・ロケータに関連付けられるセグメントが要求されると、セグメント・ロケータを解決することに関連する遅延が実質的に削減される。
更なる実施形態では、本方法は、第2セグメント・ロケータが、予想された将来のセグメント要求に関連付けされるセグメントの配信のために、配信ノードのネットワーク・アドレスに関連付けられる場合に、上記第2セグメント・ロケータに基づいて、マニフェスト・ファイルを修正するステップを含む。事前解決ステップの結果は、元のセグメント・ロケータを完全に事前解決したセグメント・ロケータにリプレイおよび/または修正するのに使用することができる。その結果、セグメントが要求されても、セグメント要求の解決は必要ない。
更なる他の実施形態では、本方法は次のステップの内の少なくとも1つを含むことができる。即ち、ネットワーク情報についての要求を、第1セグメント・ロケータに関連付けられるネットワーク・ノードに送信するステップ、応答メッセージを受信するステップ、上記選択した別のセグメント識別子に関連付けられる第1セグメント・ロケータが、上記予想された将来のセグメント要求に関連付けられるセグメントの配信のために配信ノードをポイントするか、または上記予想された将来のセグメント要求のリダイレクトのためにネットワーク・ノードをポイントするかについて、応答メッセージに基づいて決定するステップである。
更なる他の実施形態では、ネットワーク情報についての要求が、HTTP、RTSPおよび/若しくはDNSのプロトコル・メッセージ、好ましくは、HTTPHEADメッセージ若しくはRTSP DESCRIBEメッセージを含むことができ、並びに/または、上記応答メッセージがHTTP若しくはRTSPの応答メッセージである。
一実施形態では、上記事前解決ステップは、少なくとも1つのセグメントの少なくとも一部の配信の間、バックグラウンド処理として実施することができる。
一実施形態では、本方法は、ユーザ・プロファイル、ユーザ・ナビゲーション履歴、セグメント化されたコンテンツとのユーザ相互作用、並びに/またはユーザの地理的位置の少なくとも一部に基づいて、上記少なくとも1つの別のセグメント識別子を選択するステップを含むことができる。したがって、予想される将来のセグメント要求に関連付けられるセグメントの選択は、ユーザ関連情報に基づくものとすることができる。
一実施形態では、マニフェスト・ファイルは、将来のセグメント要求のために1つ以上の別のセグメント識別子をマークする1つ以上のマーカを含み、好ましくは、当該マーカはランキング値を含む。このようにして、事前解決のためのセグメントの選択は、マニフェスト・ファイルの情報に基づくことができる。この情報は、CDNによってまたはコンテンツ・プロバイダによって、マニフェスト・ファイルに挿入することができる。
一変更態様では、事前解決するステップは、次の内の少なくとも1つを含むことができる。即ち、ネットワーク情報についての要求、好ましくは、HTTPHEADメッセージまたはRTSP DESCRIBEメッセージを第1のコンテンツ配信ネットワーク(CDN1)に送信するステップであって、上記要求が少なくとも選択される別のセグメント識別子を含むステップ、第1コンテンツ配信ネットワーク(CDN1)が、選択される別のセグメント識別子によって識別されるセグメントについての将来の配信をネゴシエートするために、上記選択された別のセグメント識別子を含むCDN間要求メッセージ、好ましくはDELIVERYREQUESTメッセージを、第2のコンテンツ配信ネットワーク(CDN2)に送信するステップ、および/または、第1コンテンツ配信ネットワーク(CDN1)が、位置情報、好ましくは第2コンテンツ配信ネットワーク(CDN2)内の1つ以上の配信ノードに関連付けられるネットワーク・アドレスまたはセグメント・ロケータを含むCDN内応答メッセージ、好ましくは、DELIVERYRESPONSEメッセージを受信するステップであって、1つ以上の配信ノードが、上記選択された別のセグメント識別子によって識別されるセグメントをクライアントに配信するように構成されるステップである。したがって、事前解決処理の間、第1のCDN内のネットワーク・ノードは、セグメント識別子の事前解決に関連付けられるネットワーク情報についての要求を識別し、当該要求を第2のCDN内のネットワーク・ノードに転送することができる。これにより、事前解決処理の効率性を改良することができる。
一実施形態では、CDN間(inter-CDN)要求メッセージはフラグを含むことができ、第2コンテンツ配信ネットワーク(CDN2)により、CDN間要求メッセージがセグメント・ロケータの事前解決に関連付けられるのを判断することを可能にする。
他の実施形態では、CDN間要求メッセージが、HTTP HEADメッセージ若しくはRTSP DESCRIBEメッセージに基づいて実装され、これにより、第2コンテンツ配信ネットワーク(CDN2)により、CDN間メッセージがセグメント・ロケータについての事前解決に関連付けられるのを判断することを可能にする。
更なる他の実施形態では、マニフェスト・ファイルは、第1のコンテンツ配信ネットワーク(CDN1)内の1つ以上の配信ノードに関連付けられる第1の位置情報、好ましくはネットワーク・アドレス、および第2のコンテンツ配信ネットワーク(CDN2)内の1つ以上の配信ノードに関連付けられる第2の位置情報、好ましくはネットワーク・アドレスを含むことができる。
更なる実施形態では、上記セグメント化されたコンテンツは、時間的にセグメント化されたコンテンツであり、上記クライアントは、時間的距離を規定する時間近接度パラメータを用いる。その結果、クライアントによって現在処理されている時間的セグメントから時間近接度距離内に配置される時間的セグメントを識別する1つ以上のセグメント識別子を、1つ以上の関連するセグメント・ロケータを事前解決するために、マークする、および/または選択することができ、或いは、
上記セグメント化されたコンテンツは、空間的にセグメント化されたコンテンツであり、上記クライアントは、空間的距離を規定する空間的近接度パラメータを用いる。その結果、クライアントによって現在処理されている空間的セグメントから空間近接度距離内に配置される空間的セグメントを識別する1つ以上のセグメント識別子を、1つ以上の関連するセグメント・ロケータを事前解決するために、マークする、および/または選択することができ、或いは、
上記セグメント化されたコンテンツは、品質的にセグメント化されたコンテンツであり、上記クライアントは品質的距離を規定する品質的近接度パラメータを用いる。その結果、クライアントによって現在処理されている品質的セグメントから品質的近接度距離内に配置される品質的セグメントを識別する1つ以上のセグメント識別子を、1つ以上の関連するセグメント・ロケータを事前解決するために、マークする、および/または選択することができる。
更なる態様では、本発明は、ネットワーク内の1つ以上の配信ノードにホストされたセグメント化されたコンテンツについてのクライアント制御ストリーミングのためのクライアントに関するものである。当該クライアントは、マニフェスト・ファイルの少なくとも一部を格納するためのマニフェスト・キャッシュであって、当該マニフェスト・ファイルが、1つ以上のセグメント識別子と、1つ以上のセグメント識別子によって識別される1つ以上のセグメントをクライアントに配信するにように構成される1つ以上の配信ノードを位置特定するための1つ以上の関連のセグメント・ロケ−タ、好ましくは1つ以上のURLを含むマニフェスト・キャッシュ、マニフェスト・ファイル内の少なくとも1つのセグメント識別子に基づいて少なくとも1つのセグメントの配信を要求するセグメント抽出機能、少なくとも1つのセグメント識別子に基づいて少なくとも1つの予想される将来のセグメント要求に関連付けられる少なくとも1つの別のセグメント識別子を選択するように構成されるセグメント・セレクタ、そして、第1セグメント・ロケータに関連付けられるネットワーク情報を取得するために少なくとも1つの別のセグメント識別子に関連付けられる第1セグメント・ロケータの少なくとも一部を事前解決する事前解決機能を含む。
他の態様では、本発明は、先に説明したクライアントと共に使用するためのネットワーク・ノードに関するものである。ネットワーク・ノードは、第1のコンテンツ配信ネットワーク(CDN1)に関連付けられる。また、ネットワーク・ノードは、セグメント・ロケータに関連付けられるネットワーク情報についての要求をクライアントから受信し、好ましくは、上記要求が、HTTPHEADメッセージまたはRTSP DESCRIBEメッセージを含み、セグメント・ロケータが、セグメントを識別するセグメント識別子に関連付けられ、CDN間要求メッセージ、好ましくは、セグメントの将来の配信をネゴシエートするために、上記セグメント・ロケータおよび/またはセグメント識別子の少なくとも一部を含むDELIVERYREQUESTメッセージを、第2のコンテンツ配信ネットワーク(CDN2)に送信するように構成される。CDN間要求メッセージはフラグを含み、CDN間要求メッセージは、HTTPHEADメッセージ若しくはRTSP DESCRIBEメッセージに基づくものであり、フラグ、HTTPHEADメッセージ、またはRTSP DESCRIBEメッセージにより、CDN間メッセージがクライアントによって要求されたセグメント・ロケータについての事前解決に関連付けられることを、第2コンテンツ配信ネットワーク(CDN2)が判断するのを可能にする。
更なる別の態様では、本発明は、先に説明したようなクライアントで使用するためのデータ構造、好ましくはマニフェスト・ファイルである。データ構造は、1つ以上のセグメント識別子、および当該1つ以上のセグメント識別子によって識別される1つ以上のセグメントをクライアントに配信するように構成される1つ以上の配信ノードを位置特定するための1つ以上の関連のセグメント・ロケ−タ、好ましくはURLを含む。当該データ構造は更に、上記セグメント識別子の内の1つ以上に関連付けられる1つ以上のマーカを含む。1つ以上のマーカは、クライアントの事前解決機能が、将来のセグメント要求について別のセグメント識別子を選択するのを可能にする。好ましくは、1つ以上のマーカは、ランキング値、好ましくは有名度スコアに関連付けられる。
本発明はまた、コンピュータのメモリにおいて実施したときに、先に説明した方法ステップの少なくとも1つを実行するように構成されるソフトウェア・コード部を含むコンピュータ・プログラム製品に関するものである。
本発明について添付の図面を参照して更に説明する。図面は本発明の実施形態を概略的に示している。本発明は、これら特定の実施形態に如何なる方法でも制限されないことが理解されるであろう。
図1Aは、クライアントで使用するための適用ストリーミング・クライアントおよびマニフェスト・ファイルを示す。 図1Bは、クライアントで使用するための適用ストリーミング・クライアントおよびマニフェスト・ファイルを示す。 図2は、従来型のASクライアントについてのセグメント抽出およびプレイ・アウト処理のフロー図を示す。 図3は、本発明の一実施形態によるクライアントについて示す。 図4Aは、本発明の一実施形態により、CDNベース・コンテンツ配信システム、およびCDNベース・コンテンツ配信システムにおける位置を解決するための事前解決処理に関連するフロー図である。 図4Bは、本発明の一実施形態により、CDNベース・コンテンツ配信システム、およびCDNベース・コンテンツ配信システムにおける位置を解決するための事前解決処理に関連するフロー図である。 図5は、本発明の一実施形態による事前解決セグメントの抽出について示す。 図6は、本発明の一実施形態により、クライアントによって実施されるセグメント事前解決および抽出処理に関連するフロー図である。 図7は、本発明の一実施形態により、クライアントのマニフェスト・キャッシュに格納されるマニフェスト・ファイルの少なくとも一部を事前解決する例について示す。 図8は、マニフェスト・ファイルの要求およびプレイ・アウトについて、マニフェスト・ファイルにおける未解決セグメントURLが事前解決される処理のフロー図について示す。 図9は、本発明の実施形態により、クライアントにおける事前解決機能により実行される処理についての詳細なフロー図である。 図10は、本発明の一実施形態により、事前解決のための適切なセグメントの選択について示す。 図11は、本発明の他の実施形態により、事前解決のための適切なセグメントの選択について示す。 図12は、本発明の更なる他の実施形態により、事前解決のための適切なセグメントの選択について示す。 図13は、本発明の一実施形態により事前解決のためにマークされるセグメントを含むマニフェスト・ファイルの少なくとも一部について示す。
図1Aおよび図1Bは、それぞれ、従来型の適応ストリーミング(AS; adaptive streaming)クライアント、およびこのようなASクライアントで使用するマニフェスト・ファイルについて示す。
クライアント102は、端末(図示せず)にホストすることができ、ネットワーク内の1つ以上のメディア・サーバと通信して、例えば、アップル社のHTTPLive Streaming[http://tools.ietf.org/html/draft-pantos-http-live-streaming-07]、マイクロソフト社のSmooth Streaming[http://www.iis.net/download/SmoothStreaming]、アドビ社のHTTP Dynamic Streaming[http://www.adobe.com/products/httpdynamicstreaming]、3GPP―DASH[3GPP-DASH [TS 26.247 Transparent end-to- end Packet-switched Streaming Service (PSS); Progressive Download and Dynamic Adaptive Streaming over HTTP]、そして、MPEG Dynamic Adaptive Streamingover HTTP [MPEG DASH ISO/IEC 23001-6]のような適応ストリーミング・プロトコルに基づいて、コンテンツのストリーミングを可能にするように構成される。
端末は、全般的に、コンテンツ処理デバイス、例えば、電子タブレット、スマートフォン、ノートブック、メディア・プレーヤ等のような(モバイル)コンテンツ・プレイ・アウト・デバイスに関する。実施形態の中には、端末は、コンテンツ・プレイ・アウト・デバイスによる将来の消費のためのコンテンツを処理し、一時的に格納するように構成されるセットトップ・ボックスまたはコンテンツ・ストレージ・デバイスとしてもよい。
ユーザは、ネットワーク、例えばインターネットに端末を接続し、ビデオ・タイトルのリンクを含むコンテンツ・プロバイダのウェブサイトをブラウズして、その1つを選択することができる。リンク、例えばURLの選択に応じて、所謂マニフェスト・ファイルをクライアントに送信することができる。ここで、マニフェスト・ファイルという用語は、一般的に、ビデオ・タイトル、ネットワーク・ノード(1または複数)、例えばメディア・サーバ(1または複数)のセットについて位置情報を識別するセグメント識別子(記述子)を含む特別のデータ構造のことを称し、セグメントをクライアントに配信するか、情報をクライアントに提供するかのいずれかのように構成することができる。クライアントでは、セグメント、オプションとしてセグメント間の関係を決定するセグメント制御情報を抽出することができる。セグメント制御情報は、プレイ・アウトについてのセグメントのシーケンスを正確に決定するために、クライアントにより使用されることができる。異なるプロトコルはマニフェスト・ファイルに対して異なる名前を用いてもよい。例えば、DASHストリーミング・プロトコルでは、マニフェスト・ファイルは、メディア・プレゼンテーション記述(MPD)と称してもよい。
図1Bは、コンテンツ・アイテムを構築するセグメント、および1つ以上のネットワーク・ノードへの参照を含む位置情報を識別するための識別子を含むマニフェスト・ファイルについての概略図である。1つ以上のネットワーク・ノードは、識別されるセグメントをクライアントに配信するように構成され、またはセグメントを抽出できるクライアントに情報を提供するように構成される。したがって、このような参照は、以降ではセグメント・ロケータと称するが、識別されるセグメントを配信するように構成されるネットワーク・ノードをポイントするか、または、その代替として、識別されるセグメントを配信可能である1つ以上のネットワーク・ノードを決定することができるネットワーク・ノードをポイントすることができる。更に他の実施形態では、セグメント・ロケータはまた、ネットワーク・ノードの位置をポイントすることもできる。例えば、異なるセグメント・ロケータは、1つの配信ノードにおいて定められる異なるフォルダをポイントすることができる。
図1Bは、マニフェスト・ファイルで識別されるセグメントをクライアントに配信するように構成される配信ノードの位置特定をするために、クライアントにより使用されるマニフェスト・ファイルの概略図である。そのために、マニフェスト・ファイルは、セグメントを識別するために、少なくとも1つのセグメント識別子、例えばセグメント・ファイル名、セグメント識別子に関連付けられる少なくとも1つのセグメント識別子の形態の位置情報を含むことができる。セグメント・ロケータは、1つ以上のネットワーク・ノード(またはネットワーク・ノード上の1つ以上のフォルダ)をポイントするように規定することができる。当該ネットワーク・ノードは、識別されたセグメントをホストし、セグメントをクライアントまで配信するように構成されるか、または識別されたセグメントをクライアントに配信可能な1つ以上の別のネットワーク・ノードを決定するように構成される。
実施形態の中には、セグメント識別子およびセグメント・ロケータは、URLのような所定のデータ構造の一部とすることができるものもある。例えば、central.cdnA.com/segment1-1.aviというURLは、セグメント・ロケータ central.cdnA.com、即ちCDNAのネットワークへのポインタ(または参照)、およびセグメント識別子、即ちセグメント・ファイル名segment1-1.aviを含む。ここで、セグメント・ロケータcentral.cdnA.comに関連付けられるネットワーク・ノードは、セグメントをクライアントに配信するように構成することができ、または、セグメントsegment1-1.aviを配信可能な1つ以上のネットワーク・ノードをポイントする1つ以上の別のセグメント・ロケータを配信するように構成することができる。以下の例示では、URLを用いて説明するが、本発明はそれに限定されない。他の実施形態では、セグメント識別子およびセグメント・ロケータは、ネットワークにおいてセグメントを識別および位置特定するために、如何なる適切なフィーマットとしてもよい。実施形態の中には、セグメント識別子およびセグメント・ロケータは、セグメント識別子またはセグメント・ロケータのどちらかが、ネットワーク内でセグメントを識別および位置特定するのに使用できるという意味において一致させることができる。
図1Bの例では、マニフェスト・ファイルは、異なる2セットのセグメント、即ち、低ビットレート・セグメントである第1のセット、および高ビットレート・セグメントである第2のセットに関連付けられるセグメント識別子およびセグメント・ロケータを含むことができ、各セットはビデオ・タイトルを収容する。低ビットレートのセグメントに関連付けられるURLのセグメント・ロケータ部は、第1のコンテンツ配信ネットワークCDNAのネットワーク・ノードをポイントし、また、高ビットレートのセグメントに関連付けられるURLのセグメント・ロケータ部は、第2のCDNBのネットワーク・ノードをポイントする。クライアントは、マニフェスト・ファイル内のセグメントのURLに基づいて、セグメントを抽出することができる。この方式について、以下により詳細に説明する。
図1Aに示したように、マニフェスト・ファイルは、マニフェスト・キャッシュ104に格納され、パースされて、セグメント・リスト、即ち論理データ構造に構造化されることができる。当該セグメント・リストは、セグメントを抽出するための情報、例えば、セグメント識別子(例えばセグメント・ファイル名)およびセグメント・ロケータ(例えばURL(1または複数)のうち所定の部分)を抽出する情報、これらセグメントが抽出される位置を決定する情報、およびセグメントのプレイ・アウト、即ちセグメント間の関係(例えば、時間的関係、品質的関係、および/または空間的関係)を制御するためのプレイ・アウト制御情報を含む。
セグメント抽出機能106は、マニフェスト・キャッシュ内の位置情報を使用することができ、その結果、メディア・サーバまたはコンテンツ配信ネットワーク(CDN)に関連付けられる1つ以上の配信ノードからセグメントを抽出することができる。セグメントは、(セグメント)転送プロトコル(通例はHTTPであるが、加えて、RTSP/RTP、FTPおよび他のプロトコルを使用することもできる。)を使用して抽出され、一時的にセグメント・バッファ108に格納することができる。更に、ビデオ・プレイ・アウト機能110(これはまた、メディア・エンジンとも称することがある)が、マニフェスト・キャッシュ内の情報に基づいてセグメント・バッファ内に格納されるセグメントをプレイ・アウトすることができる。
セグメント抽出機能は、セグメントを抽出して、プレイ・アウトが開始されないうちに、セグメント・バッファが所定の数のセグメントによって負荷を掛けられるように構成することができる。更に、プレイ・アウトの間、セグメント抽出機能は、マニフェスト・ファイルに基づいて継続的にセグメントを抽出する。その結果、充分なセグメントをセグメント・バッファに格納することができる。このように、セグメント抽出に関連したレイテンシは、セグメントのシームレスなプレイ・アウトを干渉することがない。セグメント抽出機能は、ユーザ・ナビゲーション機能112からのセグメント抽出命令を受け入れて処理することができる。ここで、ユーザ・ナビゲーション機能からのセグメント抽出命令は、時間的ナビゲーション(例えば早送り)、または空間的ナビゲーション(例えばパニング・ズーム・タイトル化)に関するものとすることができる。
図1Aに示すような従来型のASクライアントに関する1つの課題は、ユーザ・ナビゲーション機能がセグメント・バッファにおいて利用可能ではないセグメントのプレイ・アウトを要求する場合に、セグメント抽出機能が、要求されたセグメントをオンザフライで抽出するのを開始することになってしまうという事実に関する。この処理は、しかしながら、相当量の時間を要する。何故ならば、セグメントは、解決処理を用いて位置特定される必要があるからであり、ここでは、マニフェスト・ファイルの(未解決の)セグメント・ロケータが、セグメントをホストするネットワークに関連付けられるネットワーク・アドレスに解決される。この解決処理は、DNSルック・アップ、HTTPリダイレクト、および/またはCDN間(CDN―I)要求ルーティングを伴うことがある。この処理は、複雑なまたは相互接続されたCDNの場合に、最大で数秒も掛かることがある。セグメントをダウンロードする処理はまた、著しく時間が掛かることもある。しかしながら、プレイ・アウト処理は、セグメント全体がダウンロードされないうちに既に開始することになるので、ユーザが知覚する経験の品質は、コンテンツを通じてナビゲートするときは、主にセグメント解決処理によって決定されることになる。
図2は、図1Aに示した従来型のクライアントについてのセグメント抽出およびプレイ・アウト処理について、より詳細に示している。t=0において処理は開始し、クライアントはバッファ・セグメント、この場合は第1のセグメント「segment1-1.avi」のプレイ・アウトを開始することができる(ステップ200)。バッファ・セグメントは、図1Aおよび図1Bを参照して説明したマニフェスト・ファイルに基づくセグメント抽出機能により、CDNから既に抽出されている。第1セグメントのプレイ・アウトが一旦終了すると、後続のt=1でのセグメント(segment1-2.avi)、およびt=2でのセグメント(segment1-3.avi)が処理されて、プレイ・アウトされることになる。
次いで、t=2において、segment1-3.aviのセグメント・ファイル名を有するセグメントのプレイ・アウトの間、ユーザは、クライアントのユーザ・ナビゲーション機能を用いて、(例えば、ボタンを低ビットレートのプレイ・アウト・モードに入れよう選択することによって)コンテンツと相互作用することができる。相互作用の結果として、端末のセグメント・バッファにおいて利用可能ではない新規のセグメント、即ち低ビットレートのセグメントsegment2-4.aviが要求される(ステップ202)。
クライアントは、セグメントがバッファにおいて利用可能ではないと決定するときに、セグメント抽出機能をトリガして、マニフェスト・ファイルの低ビットレート・セグメントsegment2-4.aviの位置情報、例えばセグメント・ロケータを抽出し、CDNAの要求ルーティング機能に関連付けられるセグメント・ロケータcentral.cdnA.comを含むDNS要求メッセージをDNSシステムに送信することによって、セグメント・ロケータcentral.cdnA.comを解決する。DNSシステムは、解決済みのIPアドレスを含むDNS応答メッセージをクライアントに戻すことができる(ステップ204,206)。応答では、クライアントは、セグメントsegment2-4.aviついてのHTTPゲット要求をCDNAの要求ルーティング・ノードのDNS解決済みIPアドレス123.45.67.89に送信することができる(ステップ208)。要求に応答して、CDNA、上流(upstream)CDNは、CDN B、下流(downstream)CDNと要求されたセグメントの配信について協議することができる(ステップ210,212)。
ここで、CDN AとCDNBの間の通信は、draft−ietf−cdni−problem−statement−01に説明されるように、CDNI要求ルーティング(RR)インタフェースに基づいてもよい。このインタフェースは、相互接続されるCDN内の要求ルーティング・ノードが通信するのを可能にし、ユーザ要求が上流CDN(この場合CDNB)から下流CDNの代理物(surrogate)まで(リ)ダイレクトされるのを確実にすることができる。CDNI RRインタフェースは、下流CDNが、情報(例えば、リソース、フットプリント、負荷)を上流CDNに提供するのを可能にし、コンテンツ要求を処理するときに、上流CDNの要求ルーティング・システムによる下流CDNの選択を容易にする。
CDN間による協議の後に、CDN Aの要求ルーティング・ノードは、この特定のユーザについてのセグメントの配信がCDN Bによって最良に届けられることを判断することができる。CDN Aの要求ルーティング機能は、それ故、CDNBの要求ルーティング・ノードの位置情報(central.cdnB.com/segment2-4.avi)を収容するHTTPリダイレクト応答をクライアントに送信し戻すことができる(ステップ214)。HTTPリダイレクトを受信すると、クライアントは、別のDNSクエリを実行し、新規のHTTPゲットを解決済みのIPアドレス98.65.45.201に送信する(ステップ216−220)。
その後に、CDN Bの要求ノード、特にCDNBのCDN制御機能(CDNCF)は、特定のセグメントをクライアントに配信するのに最適な配信ノード(DN)を決定し(ステップ222,224)、セグメント・ロケータ(この場合は、node3.cdnB.com)を収容するHTTPリダイレクトをクライアントに送信し戻す。クライアントは、その後、別のDNSクエリを実行して、配信ノードのIPアドレス24.67.13.57を抽出することができる。次いで、クライアントは、URL24.67.13.57/segment2-4.aviを含むHTTP GETを、配信ノードのこのような解決済みのIPアドレスに送る(ステップ228−232)。これに応答して、配信ノードは、要求されたセグメント(segment2-4.avi)をクライアントに送信する(ステップ234)。次いで、t=9において、クライアント、segment2-4.aviを受信し、プレイ・アウトを開始することができる。
したがって、図2からも分かるように、ユーザ相互作用なしで、リダイレクトおよび要求ルーティングの遅延は、ユーザ知覚への影響をほとんど有さない。何故ならば、クライアントは、通例、プレイ・アウトを開始しないうちに幾らかのセグメントをバッファするからである。しかしながら、クライアントとのユーザ相互作用が許容される場合、そのクライアントは、どのセグメントをユーザが選択することになるかについての知識を何ら有しない。図2に示すように、時間的(早送り)、空間的(パニング/ズーミング)、またはマルチ・レート方式での別のレートへのスイッチは、アドホックの抽出を必要とし、相当量の遅延が生じることになる。例えば、図2では、t=2におけるユーザ相互作用と、t=9におけるそのユーザ・アクションに関連するセグメントの受信との間で全てのプロトコル変換(DNS、HTTPリダイレクト、およびCDN間シグナリング)を実行するために、最大で数秒ものレイテンシがあり得る。このようなレイテンシは、セグメントのシームセスなプレイ・アウトを中断することになり、これによりユーザ経験を損なう。
図3は、本発明の一実施形態によるクライアントを示す。特に、図3は、事前解決機能314を含むASクライアントを示す。事前解決機能314は、プレイ・アウトのためにクライアントによって近い将来に選択されることが予想されるセグメントのセグメント・ロケータ、例えば少なくともURLの一部を事前解決するように構成される。
このようなセグメントを予測するために、セグメント・セレクタ313は、ユーザ・ナビゲーション機能312からのユーザ・ナビゲーション情報を用いることができ、その結果、マニフェスト・ファイル304に格納されるセグメント・リストから少なくとも1つのセグメントを選択することができる。この処理について以下により詳細に説明する。クライアントは更に、図1を参照して説明したような、セグメント抽出機能306、セグメント・バッファ308、およびビデオ・プレイ・アウト機能310(メディア・エンジン)を含むことができる。
プレイ・アウトのセグメントに基づいて、また、ユーザ・ナビゲーション機能により提供されるナビゲーション情報に基づいて、セグメント・セレクタは、どのセグメント(1または複数)が、近い将来にクライアントによって選択されることに概ねなるかについて予測することができる。ユーザ・ナビゲーション情報は、つまり、コンテキスト情報、即ち、ユーザに特化した情報(例えばユーザ・プロファイル、ユーザ・ナビゲーション履歴、ユーザの(地理的)位置など)を供給する。コンテキスト情報は、将来のセグメント・プレイ・アウトを予測するセグメント・セレクタによって使用される。
事前解決機能はまた、プレイされるセグメント・コンテンツに関連付けられる包括的なナビゲーション情報、例えば、特定のコンテンツ・アイテムに関連付けられる頻繁に要求されるセグメントに関する情報を使用することもできる。この包括的なナビゲーション情報は、将来のセグメントのプレイ・アウトを予測するために、ユーザ・ナビゲーション情報と共に用いることができる。一実施形態では、コンテンツ・プロバイダまたはCDNの制御機能は、マニフェスト・ファイル内の包括的なコンテンツ・ナビゲーション情報(例えばポピュラーなものとしてマークされたセグメント)を、それがクライアントに配信されたときに、挿入することができる。当該実施形態について、図13を参照して更に詳細に説明する。他の実施形態では、事前解決機能は、コンテンツ・プロバイダ、CDNまたはサード・パーティから別の通信チャネルを通じて包括的なナビゲーション情報を受信することができる。
予測したセグメント(1または複数)がセグメント・キャッシュにない場合は、事前解決機能は事前解決処理を開始することができ、予測したセグメントのセグメント・ロケータが、予測したセグメントを実際に抽出することなく、完全にまたは少なくとも部分的に事前解決される。ここで、事前解決という用語とは、予測したセグメントのセグメント位置に関連付けられるネットワーク情報を取得する処理に関するものである。ネットワーク情報は、IPアドレス、別のセグメント・ロケータ(一部)、および/またはセグメント・ロケータがネットワーク・ノードをポイントするかについての情報を含むことができる。ネットワーク・ノードは、セグメントをクライアント(即ち配信ノード)に配信する、またはネットワーク情報についての要求をリダイレクトするように構成される。予測したセグメントの事前解決セグメント・ロケータについての当該処理は、セグメントのプレイ・アウトと共に並行して(またはバックグラウンド処理として)実施することができ、また、DNSルック・アップ、リダイレクト、および/または実際にセグメント抽出することのないCDN間要求ルーティングのような技術を用いることができる。
セグメント・ロケータと関連付けられるネットワーク情報は、クライアントのマニフェスト・ファイルを修正するのに用いることができる。例えば、一実施形態では、予測したセグメントのセグメント・ロケータを事前解決する処理の結果、完全に事前解決したセグメント・ロケータ、即ちクライアントにセグメントを配信するように構成された配信ノードのネットワーク・アドレスをポイントするセグメント・ロケータとなる場合は、事前解決機能は、事前解決済みのネットワーク・アドレスを受信し、当該ネットワーク・アドレスを用いて、マニフェスト・キャッシュ304内に格納されたセグメント・リストのエントリを修正およびリライトすることができる。代替として、事前解決機能は、解決済みのネットワーク・アドレスをセグメント・リストに追加することができる。更に、予測したセグメントのセグメント・ロケータについての事前解決処理の結果、部分的に事前解決セグメント・ロケータ、即ち第2のセグメント・ロケータ(これは、完全に事前解決したセグメント・ロケータへとそれを解決させるために、1つ以上の別の事前解決ステップを必要とする)となる場合は、事前解決機能は、当該部分的に事前解決済みのセグメント・ロケータを使用して、マニフェスト・キャッシュ304内に格納されたセグメント・リストのエントリを更新、例えば修正およびリライトすることができる。
このようにして、完全にまたは部分的に事前解決済みのセグメントがユーザ・ナビゲーション機能を通じてユーザによって選択されたときに、クライアントは、図2を参照して説明する解決ステップの全部または少なくとも一部をスキップすることができる。これにより、予測したセグメントについての抽出時間を相当量削減することができる。特に、セグメント・ロケータが完全に事前解決される場合は、クライアントは、マニフェスト・ファイルに格納された事前解決済みのネットワーク・アドレスに基づいて、最小の要求ルーティング遅延でセグメントを抽出することができる。当該アドレスは、事前解決機能によってより早く決定されている。
図4Aは、本発明の一実施形態によるコンテンツ・ストリーミング・システムを示す。特に、図4Aは、CDN相互接続インタフェース464を介して少なくとも第2のCDN404(下流CDNとも称される)に相互接続する第1のCDN402(上流CDNとも称される)を備えるCDNベース・コンテンツ配信システムを示す。
コンテンツ配信システムは更に、クライアントのホストする1つ以上の端末408にトランスポート・ネットワーク407を介して接続されるコンテンツ・ソース406を備えることができる。コンテンツ・ソースは、コンテント・プロバイダ・システムCPS、コンテンツ準備システム、または別のCDNに関する。CPSは、コンテンツ、例えばビデオ・タイトルを顧客に供給するように構成するこができる。顧客は、ビデオ・プレイ・アウトについて図3を参照して説明したASクライアントを用いて、コンテンツを購入および受信することができる。
CDNは、配信ノード410,413,414、および少なくとも1つの中央のDNノード416,418を備えることができる。各配信ノードは、コントローラ420,422,424、並びにコンテンツを格納およびバッファするためのキャッシュ440,442,444を備え、または関連付けることができる。各中央CDNノードは、外部ソース、例えばコンテンツ・プロバイダまたは別のCDNからのコンテンツの摂取(ingestion)を制御するための摂取ノード(ingestion node)(またはコンテンツ起始機能、COF; content origin function)425,427、コンテンツがCDN内に格納される場所についての情報を保持するためのコンテンツ位置データベース434,436、および、コンテンツの1つ以上のコピーを配信ノードに配給するのを制御し且つ適切な配信ノードに対してクライアントをリダイレクトする(要求ルーティングとしてまた知られる処理)ためのCDN制御機能426,428を備え、または関連付けることができる。一実施形態では、CDNCFをホストするノードは、要求ルーティングRRと称することもある。顧客は、要求をウェブポータル(WP)432に送信することにより、コンテンツ、例えばビデオ・タイトルをCPS430から購入することができる。WP432は、購入可能なコンテンツ・アイテムを識別するタイトルの参照を提供するように構成される。CDNCFは、セグメントがコンテンツ位置データベース434,436を用いて抽出される位置を管理することができる。
図4Aのコンテンツ配信システムでは、上流CDNは、クライアントへのセグメントの配信の一部を下流CDNにアウトソースすることができる。例えば、一実施形態では、低品質セグメントは、(例えば、モバイル・デバイスにコンテンツを配信するように構成される)第1のCDNAによって位置決定および配信することができ、また、高品質セグメントは、(例えば、HDTV技術をサポートするホーム・メディア・デバイスに高品質セグメントを配信するように構成される)第2のCDNBによって位置決定および配信することができる。
図4Bは、本発明の一実施形態による事前解決処理に関連するフロー図を示す。図4Bは、特に、HTTPHEADメッセージが使用されるHTTPベース事前解決処理についてのフロー図を示す。
t=2において、クライアントによるセグメントのバッファリングおよびプレイ・アウトの間、ユーザは、クライアントのユーザ・ナビゲーション機能を用いて(例えば、ボタンを押下してパニング動作を実行させることによって)コンテンツと相互作用することができる。相互作用の間、セグメント・セレクタは、マニフェスト・ファイル内の特定のセグメント、segment2-4.aviが、近い将来プレイ・アウトによって要求することができるということ、およびこのような要求に関連付けられるセグメントが現在のところ端末のセグメント・バッファでは利用可能でない見込みが高いということを判断(予測)することができる。このようなセグメント要求は、予測した将来のセグメント要求と称することもある。
この予測したセグメントがセグメント・バッファでは利用可能でないと判断されるときは、クライアントは、セグメント・ロケータに関連付けられたネットワーク情報をネットワークから要求することによって、予測したセグメントの(未解決の)セグメント・ロケータを、部分的にまたは完全に事前解決するよう決定することができる(ステップ452)。
このネットワーク情報に基づいて、事前解決機能は、例えばセグメント・ロケータ(この場合は、要求ルーティング・ノードcentral.cdnA.comをポイントするURLの一部)を修正して別のセグメント・ロケータとすることができる。このような別のセグメント・ロケータは、部分的に事前解決したセグメント・ロケータ、または完全に事前解決したセグメント・ロケータに関するものであり、セグメント・ロケータは、このセグメントをクライアントに配信するように構成される少なくとも1つの配信ノードに関連付けられるネットワーク・アドレス、例えばIPアドレスを含む。事前解決セグメント・ロケータについてのこの処理について、以下により詳細に説明する。
事前解決処理は、ネットワーク・ノード、例えば、CDN Aの要求ルーティング機能を含むネットワーク・ノードに関連付けられるURLの一部(central.cdnA.com)を含むDNS要求メッセージをネットワーク内の解決機能、例えばDNSシステムに送信することによって開始することができる。そして、ネットワーク・ノード、この場合はCDNAに関連付けられる要求ルーティング機能を含むネットワーク・ノードのIPアドレスを含む応答メッセージを受信することができる(ステップ454,456)。更に、クライアントは、このネットワーク・ノードが、予測したセグメントを配信することができるかどうかについて検査することができる。そのために、クライアントは、segment2-4.aviについてのHTTP HEAD要求をDNS解決IPアドレス123.45.67.89に送信することができる(ステップ458)。このネットワーク・ノードが、要求されたセグメントを配信することができる場合は、HTTP200 OKメッセージにより当該要求に応答することができる。要求したセグメントを送信することができない場合は、別のセグメント・ロケータを含むHTTPREDIRETメッセージにより応答することができる。別のセグメント・ロケータは更に事前解決される必要があり、その結果、要求されたセグメントをクライアントに配信するように構成されるネットワーク・ノードのネットワーク・アドレスを取得することができる。既に先に説明したように、このような別のセグメント・ロケータについて、以降では部分的に事前解決したセグメント・ロケータと称することもある。
したがって、HTTP HEAD要求メッセージを受信するときは、CDN Aの要求ルーティング機能は、CDNI要求ルーティング(RR)インタフェースを介して、要求されたセグメントの配信についてCDNBと協議することができる(ステップ460,462)。
一実施形態では、クライアントをCDN Bにリダイレクトしないうちに、CDN AのRRノードは、CDNBが特定のセグメントをクライアントに配信することができ、且つその意思があることの確認を要求することができる。その場合、CDNAは、CDN間メッセージ、例えばDELIVERY REQUESTメッセージをCDN BのRRノードに送信することができる。ここでは、要求は、要求したセグメントおよび位置情報、例えばクライアントのIPアドレスを識別するパラメータを含むことができる。このDELIVERYREQUESTは、HTTP GETメッセージにより実施することができる。
他の実施形態では、CDN間メッセージ、例えばHTTP GET DELIVERY REQUESTメッセージは、CDNAのRRノードによりCDN BのRRノードに送信され、特定のCDN間メッセージが、クライアントによる実際のコンテンツ要求(例えばHTTPGETメッセージ)に関連しないものの、クライアントにより(例えばHTTP HEADメッセージに基づいて)実行される事前解決ステップに関連することを示すフラグを含むことができる。当該フラグは、CDN BのRRノードに要求の性質(nature)を通知するように使用され、CDN BのRRノードは(チャージ、統計等の目的で)適切な後続のアクションの選択が可能になる。
他の実施形態では、CDN間メッセージ、例えばDELIVERY REQUESTがコンテンツ要求の代わりに事前解決ステップに関連する場合は、CDN間メッセージは、HTTP GETメッセージの代わりにHTTP HEADメッセージにより実装することができ、その結果、CDNBのRRノードは、要求の性質により、(チャージ、統計等の目的で)適切な後続のアクションが選択になる。この実施形態では、HTTPHEADメッセージに応答して、HTTP OK応答メッセージは、要求されたセグメントおよび位置情報、例えば、クライアントのIPアドレスをそのヘッダーに含めることができる(HTTPHEADへの応答メッセージはボディ部を有しないためである)。
CDN Bとの協議の後、CDNAの要求ルーティング・ノードは、この特定のユーザへのこの特定のセグメントの配信がCDNBにより最適にサービス提供されることを決定することができる。それ故、部分的に解決したセグメント・ロケータ、例えば、CDNBの要求ルーティング・ノードをポイントするURLの一部(central.cdnB.com)を含むHTTP 302 REDIRECT応答を、クライアントに送り戻す(ステップ464)。HTTPHEADメッセージに応答して送信されるメッセージは、ボディ部を有しないので、HTTP302 REDIRECTメッセージもまたボディ部を有しない。しかしながら、このことは課題にはならない。何故ならば、リダイレクト情報は、部分的に解決したセグメント・ロケータを含むが、そのヘッダーには収容されず、その結果、メッセージのボディ部は必要されることはないからである。
部分的に解決したセグメント・ロケータを含むHTTP REDIRECTメッセージを受信すると、クライアントは、要求内のセグメント・ロケータが完全に事前解決されてネットワーク・アドレスにはなっていないと判断する。事前解決機能は、次いで、事前解決処理を停止するよう決定し、元のセグメント・ロケータcentral.cdnA.comを、部分的に解決したセグメント・ロケータcentral.cdnB.comに置き換えることにより、マニフェスト・キャッシュ内のマニフェスト・ファイルの一部をリライトすることができる(図4Bには図示せず)。
代替として、HTTP REDIRECTを受信すると、ASクライアントは、別のDNSクエリを実行することによって事前解決処理を継続し(ステップ466,468)、そして、新規のHTTPHEADを、CDN Bの要求ルーティング・ノードの解決済みのIPアドレス98.65.45.210を送信する(ステップ470)ように決定することができる。
その後に、CDN Bの要求ノード、特にCDNBのCDN制御機能(CDNCF)は、配信ノード(DN)を決定することができる。DNは、特定のセグメントをクライアントに配信し(ステップ472,474)、そして、選択した配信ノードの位置、この場合はセグメント・ロケータnode3.cdnB.comを収容するHTTPリダイレクトをクライアントに送信し戻す(ステップ476)のに最適なものとなる。HTTPREDIRECTメッセージを受信すると、クライアントは、事前解決処理を停止して、元のセグメント・ロケータcentral.cdnA.comを、部分的に事前解決済みのセグメント・ロケータnode3.cdnB.comで置き換える(その結果、修正したURLであるnode3.cdnB.com/segment2-4.aviとする)ことによりマニフェスト・キャッシュ内のマニフェスト・ファイルの一部をリライトするか、または、事前解決処理を継続するかについて、再度決定することができる。
クライアントは、別のDNSクエリを実行することにより事前解決処理を継続することができ(ステップ478,480)、その結果、URLを解決して、セグメントをクライアントに配信するように構成される配信ノードのネットワーク・アドレス(この場合、24.67.13.57)とすることができる。また、この時に、事前解決機能は、事前解決処理を停止し、結果、即ちセグメント・ロケータ24.67.13.57をマニフェスト・キャッシュに格納するように決定することができる(図示せず)。
事前解決機能による事前解決処理が継続される場合は、当該事前解決機能は、事前解決済みのセグメント・ロケータに関連付けられたネットワーク・ノードが予測したセグメントを配信可能かについて、再度検査することができる。そのために、ASクライアントは、HTTPHEADを配信ノードのネットワーク・アドレスに送信することができる(ステップ482)。ここでは、応答により、事前解決処理が早期のセグメント・ロケータ(即ち、開始時に、または事前解決処理の中間段階において使用されるもの)を完全に解決したことを事前解決機能に確認するHTTP200 OKメッセージを送信する。このようにして、セグメントがURL24.67.13.57/segment2-4.aviに基づいて抽出できるかについて決定することができる(ステップ484)。
次いで、t=9において、事前解決処理は、元のセグメント・ロケータcentral.cdnA.comを完全に事前解決済みのセグメント・ロケータ24.67.13.57で置き換えることによって(その結果、完全に解決済みのURL24.67.13.57/segment2-4.aviとなる)、マニフェスト・キャッシュ内のマニフェスト・ファイルの一部をリライトすることができる(ステップ486)。フラグ即ちセグメント・ロケータに関連付けられるインジケータは、セグメント・ロケータが、完全に事前解決済みかまたは部分的に事前解決済みかについて示すことができる。先に説明した処理は、他のセグメントについて繰り返すことができ、ユーザ・ナビゲーション情報により、どの後続のセグメントが部分的にまたは完全に解決したかについて決定する。
したがって、上記から導き出すことができるように、部分的にまたは完全に事前解決する事前解決機能では、セグメント・ロケータに関連付けられるネットワーク情報に基づいてASクライアントのマニフェスト・キャッシュ内にあるマニフェスト・ファイルにおいて、セグメント・ロケータを予め規定している。このようなネットワーク情報を取得するために、事前解決機能は、RFC2616に規定されるDNS要求またはHTTPHEAD要求のような、予め規定されたプロトコル・メッセージを使用することができる。HEAD要求は、ネットワーク・ノードが応答のメッセージ・ヘッダを戻すのみであるという点を除き、HTTTGET要求と同一である。HEAD要求をマニフェスト・ファイル内に見いだされるURLに送信することによって、ASクライアントは、URLが実際のセグメントをホストするか否かを、応答メッセージに基づいて検査することができる。HTTPHEAD要求がHTTP OK応答を戻す場合は、ASクライアントは、URLが最終宛先であり、更なる要求ルーティング遅延を予想する必要がないことを分かる。サーバの応答がHTTPREDIRECTメッセージである場合は、ASクライアントは、その時点で事前解決処理を停止し、未解決のセグメントURLを部分的に解決済みのセグメントURLで置き換えることができる。代替として、クライアントは、別のHTTPHEAD要求をリダイレクト・メッセージ内にリストされたURLに送信することによって、事前解決処理を継続するように決定することができる。この処理は、最終的に完全に事前解決済みのURLが受信されるまで繰り返すことができる。次いで、マニフェスト・キャッシュに格納したURLは、事前解決処理により取得したURLで置き換えることができる。
図4Bに示した処理ではHTTPプロトコルに関して説明したが、これに限定されない。例えば、マニフェスト・ファイルが1つ以上のRTSPセグメント・ロケータ、例えばRTSPURLを含む場合は、クライアントは、RTSP DESCRIBE要求を用いてセグメント・ロケータについて事前解決を実行することができる。更に、RTSPでは、応答時に3xx応答を用いることによって、リダイレクトをHTTPと同様のやり方で処理することができる。したがって、クライアントがRTSPDESCRIBEに応答して3xx応答を受信したときに、クライアントは、別のRTSPDESCRIBE要求を3xx応答のURLに送信する必要があることが分かる。
図5は、本発明の一実施形態により、事前解決済みのセグメント・ロケータに基づいたセグメントの抽出に示す。この特定の例では、処理は、図2を参照して説明した処理、即ち、バッファされたセグメントのプレイ・アウトと同一のやり方で開始することができる。ここでは、セグメント・バッファは、セグメント抽出機能により別のセグメントで継続的に満たされる。セグメント抽出機能は、セグメント・プレイ・アウト処理と並行に実施することができる。一方、図4に示した事前解決処理は、バックグラウンド処理としてクライアントにおいて実施することができる。その結果、セグメント・ロケータcentral.cdnA.comを含む、マニフェスト・ファイルのセグメント・ロケータは、図3を参照して説明したユーザ・ナビゲーション情報に基づき事前解決される。
したがって、図5に示すように、t=0において、クライアントは、セグメント(この場合、segment1-1.avi)のプレイ・アウトを開始することができる。簡単のため、セグメント抽出機能については図示しない(ステップ500)。最初のセグメントのプレイ・アウトが一旦終了すると、t=1(segment1-2.avi)およびt=2(segment1-3.avi)において後続のセグメントを処理およびプレイ・アウトすることができる。次いで、t=2では、クライアントがsegment1-3.aviをプレイ・アウトするときに、ユーザは、(例えば、ボタンを押下して、パニング動作を実行することによって)コンテンツと相互作用することができる。当該相互作用の結果は、新規のセグメントsegment2-4.aviが要求されるというものである。
このセグメントに関連付けられるセグメント・ロケータは、バックグランド処理で起動する事前解決機能によって既に完全に事前解決しているので、クライアントは、HTTPGETを配信ノードのアドレスに送信する。ここでは、HTTP GETメッセージはセグメント識別子segment2-4.aviを含む(ステップ532)。CDN Bの配信ノードは、HTTP200 OK応答メッセージの要求セグメントsegment2-4.aviをクライアントに送信することによって応答することができる(ステップ534)。次いで、t=4において、クライアントは、segment2-4.aviの受信およびプレイを開始する(ステップ536)。
図5からも理解できるように、クライアントの事前解決機能は、クライアントとのユーザ相互作用を受けて、セグメント抽出処理により導出される遅延を著しく削減させる。セグメントが部分的に事前解決のみされている場合は、事前解決処理の未終了の部分については、セグメントが抽出できる前に、終了される必要がある。それにもかかわらず、その場合はまた(特に、大多数のセグメントが事前解決される必要がある場合は)、要求ルーティング遅延の削減において相当量の改良を達成することができる。このようにして、ユーザによる経験の知覚品質は、コンテンツを通じてナビゲートするときに、相当量を改良することができる。更に、事前解決機能は、クライアント・ソフトウェアの更新を要求のみする既存のネットワーク技術と共に使用することができる。
図6は、本発明の実施形態により、クライアントによって実施される事前解決処理およびセグメント抽出処理に関するフロー図である。ウェブサイトをブラウズしている間の或る時に、ユーザはウェブ・ビデオへのリンクを選択する。選択を受けて、ユーザのクライアントは、HTTPGET要求をリンク内に収容されたURLに送信する。この場合は、リンクは、CDN Aの要求ルーティング・ノード上のmanifest.mfと名付けられるマニフェスト・ファイルをポイントする(ステップ600)。マニフェスト・ファイルについてのクライアントによる要求を受け取ると、要求ルーティング・ノードは、クライアントにマニフェスト・ファイルを配信するのにどの配信ノードが最も適しているかについて決定することができる。次いで、HTTPREDIRECTメッセージを、選択された配信ノードのURLを収容するクライアントに送信することができる(ステップ601)。クライアントが、一旦、HTTPREDIRECTメッセージを受信すると、クライアントは、REDIRECTメッセージに収容されるURL(この場合は、node1.cdnA.com/manifest.mf)に新規のHTTP GETを送信することができる(ステップ602)。CDN Aの配信ノードは、要求されたマニフェスト・ファイルをクライアントに送信することによって応答することができる(ステップ603)。
マニフェスト・ファイルを受信すると、クライアントは、当該マニフェスト・ファイルをパースして、記述されたコンテンツの構造についての概念(idea)をゲットすることができる(ステップ604)。マニフェスト・ファイルをパースした後、クライアント処理を(少なくとも)2つの別個の処理(スレッド)に分割する。第1の処理は、図5を参照して説明したセグメントの要求およびプレイ・アウト(第1処理607)についてのものであり、第2の(バックグラウンド)処理は、図3から図4を参照して説明した、セグメント・セレクタにより選択されたセグメントに関連付けられるセグメント・ロケータの事前解決(第2処理606)についてのものである。
これらのメッセージのフローは、一旦セグメント・ロケータが事前解決されると、更なるリダイレクトは何れも必要とされないことを明確に示している。何故ならば、クライアントは、マニフェスト・キャッシュ内の事前解決済みのネットワーク・アドレスに基づいて、セグメントをホストするサーバと即座にコンタクトできるからである。また、異なるセグメントが異なるノード上で位置される場合であっても、また、異なるCDNにおける場合であっても、セグメントの効率的な抽出を実現できることを示している。
図7は、本発明の一実施形態により、マニフェスト・ファイルの少なくとも一部のセグメント・ロケータを事前解決する例を示す。特に、図7は、如何にしてクライアントが事前解決処理を用いて、セグメント・ロケータ、例えば、端末のマニフェスト・キャッシュに格納されたURLの所定の一部を置き換えることができるかについての例を示す。ここでは、事前解決されることになるセグメント・ロケータは、(図3を参照して説明した)ユーザ・ナビゲーション情報およびコンテンツ・ナビゲーション情報に基づいて、セグメント・セレクタによって選択される。
第1のマニフェスト・ファイル700は、図6を参照して説明したように、CDNからクライアントが受信することができる。この場合、マニフェスト・ファイルは、所謂多数の空間的セグメント・ファイルに関連し、空間的にセグメント化されたコンテンツをクライアントにストリーミングするのに使用することができる。
空間的にセグメント化されたコンテンツ、即ちタイル化されたコンテンツは、所謂タイル化されたビデオ・システムにおいて使用され、ビデオ・コンテンツ・ファイルについての複数の解像度のレイヤを生成することができる。タイル化されたビデオ・システムの例は、Mavlankarらによる、「An interactive region-of-interest video streaming system for online lecturing viewing」ICIP2010会報,4437-4440ページに記載されている。
空間的にセグメント化されたコンテンツは、ビデオ・ファイルのビデオ・フレームを所謂タイルに空間的に分割することによって生成することができ、各タイルは、そこから該タイルが生成される元のビデオ・フレームの空間領域に関連付けられるコンテンツを含む。ビデオ・フレームのシーケンスに基づいて、1つの空間領域に関連付けられるタイルのシーケンスは、別個のストリーム、例えばMPEGストリームとして生成およびフォーマットすることができる。このようなストリームは、空間的なセグメント・ストリーム、即ち、空間セグメントと称することができる。
したがって、空間的ストリームは、各々独立してコード化され、配給(即ちストリーム)される。端末のビデオ・クライアントは、特定の空間領域、即ち関心領域(ROI; Region of Interest)を要求することができ、サーバは、引き続いてROI要求を1つ以上の空間セグメントにマップして、空間セグメントについて選択したグループをクライアントに送信する。端末は、空間セグメントのストリームを1つのシームレスなビデオに結合するように構成される。セグメント化したコンテンツについては、図10から図12を参照してより詳細に説明する。
図7のマニフェスト・ファイルは、空間的にセグメント化されたコンテンツがコンテンツ・ソース・ファイルMovie_4に基づいて生成されたこと、また、セグメント識別子(ファイル名)によって規定される4つの別個の空間セグメントのストリーム、Movie-4-1.seg,Movie-4-2.seg,Movie-4-3.seg,Movie-4-4.segがCDN Aのドメイン内に格納されていることを示す。ここでは、URLの所定の一部central.cdn_A.com(701a−701d)は、CDN A内の包括的なRequestRoutingノードをポイントする。したがって、これらのセグメント・ロケータは、セグメントを抽出できるノードのネットワーク・アドレスを備えていないという意味では未解決である。このマニフェスト・ファイルがストリーミング処理においてクライアントによって使用されるときは、図4を参照して詳細に説明したように、事前解決処理を用いることができる。
その処理の間、4つのセグメントに関連付けられるURL701a−701dにおける未解決のセグメント・ロケータの少なくとも一部central.cdn_A.comは、ネットワーク・アドレスで置き換えることができる。このようにして、4つの未解決のURL703a−703dは、これらセグメントが抽出することができる配信ノードのネットワーク・アドレスをそれぞれ含むように形成することができる。解決済みのURLは、例えば1つ以上の配信ノードをポイントすることができ、その内の幾らかは、例えば別のCDNBに位置することができる。図7に見ることができるように、セグメントは、ネットワーク・アドレス24.67.13.57により識別される1つの配信ノードから全て抽出することができる。
図8は、マニフェスト・ファイルの要求およびプレイ・アウトのための処理についてのフロー図を示し、未解決のセグメント・ロケータが少なくとも部分的に事前解決される。この処理は、クライアントが所望のコンテンツに関連付けられるマニフェスト・ファイルを要求することにより開始する(ステップ800)。当該要求に応じて、クライアントは、サーバからマニフェスト・ファイルを受信し(ステップ801)、マニフェスト・ファイル内にリストされる最初のセグメントを要求することによってビデオのプレイ・アウトを開始する(ステップ802)。
プレイ・アウトの間、ユーザ相互作用は、セグメント・セレクタによって分析されて、どのセグメントおよび関連のセグメント・ロケータをユーザが好ましくは近い将来において要求するかについて予測する(ステップ803)。これら予測したセグメント・ロケータは、次いで、(部分的な)事前予測のために、セグメント・セレクタによってマークされる。事前解決機能は、次いで、事前解決のためにマークされたセグメント・ロケータを部分的にまたは完全に事前解決することができる(ステップ804)。最後のセグメント・ロケータが処理されると(ステップ805)、本処理は停止する。そうでない場合は、事前解決についての新規のラウンドを開始する。
図9は、本発明の実施形態による、事前解決処理についての詳細なフロー図を示す。特に、図9は事前解決処理のフロー図を示し、マニフェスト・ファイル内のセグメント・ロケータは、これらセグメント・ロケータに関連付けられるネットワーク情報に基づいて事前解決される。
最初のステップ900では、事前解決機能は、部分的にまたは完全に事前解決される必要があるセグメント・ロケータ、例えばURLについてのリストを受信することができる。セグメント・ロケータに関連付けられる各セグメントは、特定のセグメント識別子、例えばセグメント・ファイル名により識別される。このリストは、図8を参照して説明した処理のステップ803の間、生成することができる。
事前解決機能は、最初のセグメント・ロケータ、例えばネットワーク・ノードをポイントするURLの所定の一部を、解決するのに必要とされるセグメント・ロケータのリストからフェッチすることができ(ステップ901)、そして、セグメント・ロケータに関連するネットワーク情報の取得を開始する(ステップ902)。ネットワーク情報は、図4Bを参照して説明したように、ネットワーク情報についての1つ以上の要求メッセージを用いて取得することができる。これらのメッセージは、1つ以上のDNSメッセージ(例えばDNSクエリ)、セグメントの配信若しくは要求のリダイレクトのためのネットワーク・ノードをセグメント・ロケータがポイントするかを判断する1つ以上の要求メッセージ(例えば、HTTPHEADまたはRTSP DESCRIBEメッセージ)、および/またはセグメント・ロケータがセグメントの配信のためのネットワーク・ノード、若しくは要求のリダイレクトのためのネットワーク・ノードをポイントするかを示す1つ以上の応答メッセージ(例えば、HTTP200 OKメッセージ若しくは3xxRTSPエラー・メッセージ)を含むことができる。
これらメッセージに基づいて、事前解決機能は、ネットワーク情報を用いてセグメント・ロケータを更新することができる(ステップ903)。ネットワーク情報に基づいて、更新されたセグメント・ロケータが、セグメント・ロケータに関連付けられるセグメントを配信するために配信ノードをポイントすることが確立される(ステップ904)(何故ならば、例えばHTTP200 OKメッセージが受信されたからである。)場合は、事前解決機能は、更新されたセグメント・ロケータが完全に事前解決済みのセグメント・ロケータであることを判断することができる(ステップ905)。事前解決機能は更に、マニフェスト・リスト内の当初のセグメント・ロケータを、完全に事前解決済みのセグメント・ロケータで置き換えることによって、セグメント・リストを更新することができる(ステップ906)。オプションとして、フラグ、即ち、インジケータを用いて、このように修正したセグメント・ロケータが完全に事前解決済みのセグメント・ロケータに関連することをクライアントにシグナリングすることができる。
ネットワーク情報に基づいて、更新されたセグメント・ロケータは、配信ノードをポイントするのではなく、リダイレクトのためにノードをポイントすることが確立される(何故ならば、例えばHTTPREDIRECTが受信されたからである)場合は、事前解決機能は、事前解決処理を停止すべきか否かについて判断することができる(ステップ907)。事前解決手段が事前解決処理の係属を決定する場合(ステップ908)は、ネットワーク情報を取得する処理が開始される(ステップ902)。事前解決処理の停止を決定する場合は、事前解決機能は、更新されたセグメント・ロケータが部分的に解決済みのセグメント・ロケータであると判断することができる(ステップ909)。事前解決機能は更に、マニフェスト・ファイル内の当初のセグメント・ロケータを部分的に事前解決済みのセグメント・ロケータで置き換えることによって、セグメント・リストを更新することができる(ステップ910)。オプションとして、フラグ、即ちインジケータを用いて、このように修正したセグメント・ロケータが完全に事前解決済みのセグメント・ロケータに関連することをクライアントに示すことができる。
セグメント・リストを更新した後、事前解決機能は、セグメント・ロケータが更に事前解決される必要があるかどうかを判断することができる(ステップ911)。この場合は、事前解決機能は、次のセグメント・ロケータに基づいて事前解決処理を開始することができる(ステップ912)。
この事前解決処理は、ネットワークからセグメントを抽出する間、バックグラウンドで実施することができる。このようにして、セグメント・リストは、完全におよび/または部分的に事前解決したセグメント・ロケータで継続的におよび動的に更新される。ここでは、事前解決されることになるセグメント・ロケータは、例えばユーザ・プロファイル、ユーザ・ナビゲーション履歴および/若しくはユーザの地理的位置のようなユーザ関連情報のような事前解決済みの情報、または、例えば、事前解決機能が事前解決のためにマークされたセグメント・ロケータを選択することができるために、マニフェスト・ファイル内で識別される特定のセグメント・ロケータをマークするためのセグメント・マーカのようなマニフェスト・ファイル内の情報に基づいて、セグメント・セレクタによって選択される。
図10は、本発明の一実施形態による事前解決のための適切なセグメント・ロケータの選択について示す。特に、図10は、時間的にセグメント化されたビデオ、例えばHASベースのビデオ・ストリームに関連付けられるマニフェスト・ファイル内のどのセグメント・ロケータが、事前解決に適しているかについてセグメント・セレクタが判断するための簡潔なアルゴリズムを示す。この場合、現在視聴されているセグメント1000の時間的に近くにあるセグメント1001は事前解決するのに適している。現在視聴されているセグメントから、時間において更に遠く離れて位置する時間的なセグメント(1002)は、事前解決に(未だ)適していない。一実施形態では、クライアントは、時間的距離を規定する時間的な近接度パラメータを用いることができる。時間的近接度パラメータは、マニフェスト・ファイル内に識別されるどのセグメントが、クライアントによって現在プレイ・アウトされているセグメントに近い時間的近接度にあるかについて決定するために用いることができる。その時間的距離内にある、マニフェスト・ファイルにおいて識別されるセグメントは、事前解決のためにマークすることができる。
図11は、本発明の他の実施形態により、事前解決のための適切なセグメント・ロケータの選択について示す。特に、図11は、質的にセグメント化されたビデオに関連付けられるマニフェスト・ファイル内のどのセグメント・ロケータが、事前解決に適しているかについてセグメント・セレクタが判断するための簡潔なアルゴリズムを示す。この場合、品質が現在視聴されている品質(1100)に(品質の尺度において)近くにある品質レイヤ1101に関連付けられるセグメント・ロケータが、事前解決するのに適している。現在視聴されている品質から遠く離れる品質を有する品質レイヤ1102に関連付けられるセグメント・ロケータは、事前解決に適していない。一実施形態では、クライアントは、品質的距離を規定する品質的近接度パラメータを用いることができる。品質的近接度パラメータは、マニフェスト・ファイル内に識別されるどのセグメントが、クライアントによって現在プレイ・アウトされているセグメントに近い品質的近接度にあるかについて決定するために用いることができる。その品質的距離内にある、マニフェスト・ファイルにおいて識別されるセグメントは、事前解決のためにマークすることができる。
図12は、本発明の更なる他の実施形態による、事前解決のための適切なセグメント・ロケータの選択について示す。特に、図12は、空間的にセグメント化されたビデオに関連付けられるマニフェスト・ファイル内のどのセグメント・ロケータが、事前解決に適しているかについてセグメント・セレクタが判断するための簡潔なアルゴリズムを示す。アルゴリズムは、空間的セグメントのマトリクスを決定する。各空間的セグメントは、空間的セグメントのマトリクスによりカバーされる総合的なエリア内の(点線で形成される)特定の領域のコンテンツに関連付けられる。ユーザは、1つの特定の空間的セグメント1201を選択して視聴することができる。したがって、ユーザが(例えば、パニング動作を通じて)端末上に表示されるコンテンツとの相互作用を開始するときは、視聴されているセグメントと直接境界を有する(bordering)1つ以上のセグメントが、プレイ・アウトのためにユーザによって選択されることになるという大きな機会がある。この状況では、事前解決に適した空間的なセグメント・ロケータは、視聴されるセグメントの周りで直接位置特定される。したがって、ユーザ・ナビゲーション情報が特定のエリアx,yと関連付けられる空間的セグメントがプレイ・アウトされることを示す場合は、セグメント・セレクタは、別のセグメント・ロケータのセット、例えば、位置(x−1,y)(x−1,y−1)(x−1,y+1)(x,y+1)(x,y−1)(Sx+1,y)(x+1,y―1)(x+1,y+1)でのエリアに関連付けられる空間的セグメント・ロケータを、事前解決に適したセグメント・ロケータとして選択することができる。ユーザ・ナビゲーション情報に基づいて、セグメント・セレクタは、他の空間的セグメントが事前解決に(未だ)適していないと判断することができる。一実施形態では、クライアントは、空間的距離を規定する空間的近接度パラメータを用いることができる。現在視聴されている空間的セグメント(1または複数)からの空間的近接距離内に位置するエリアに関連付けられる空間的セグメントは、事前解決のためにマークされる。
図13は、本発明の一実施形態により、事前解決のためにマークされる(URLの一部としての)未解決のセグメント・ロケータ1302を含むマニフェスト・ファイルの少なくとも一部を示す。この特定の実施形態では、コンテンツ・プロバイダまたはCDNプロバイダは、特定のセグメント・ロケータについてのマーカ1301a,1302bをマニフェスト・ファイル1300に挿入することができる。これらのマーカは、セグメントのナビゲーション統計に基づいて挿入することができ、その結果、ポピュラーなセグメント、例えば、頻繁に要求されるセグメントは、マニフェスト・ファイル内のマーカに基づいてクライアントによって識別されることができる。このようなマーカは、セグメント・ロケータを事前解決に適したものとして識別する。一実施形態では、マーカは、ランキング値、例えば有名度スコアに関連付けることができ、その結果、未解決のセグメント・ロケータはランキングに従ってランク付けされることができる。これらのマーカは、つまり、将来のセグメント要求についての1つ以上の別のセグメント識別子を選択するために、セグメント・セレクタのためにランキング方式を提供する。このように、高い有名度スコアに関連付けられる未解決のセグメント・ロケータは、低い有名度スコアに関連付けられるものよりも早期に事前解決することができる。一実施形態では、コンテンツ・プロバイダまたはCDNは、これらマーカをマニフェスト・ファイルに挿入することができる。他の実施形態では、コンテンツ・プロバイダまたはCDNは、新規にマークされたマニフェスト・ファイルを生成することができる。
如何なる一実施形態に関連して説明した如何なる特徴もが単独で、または説明した他の特徴と組み合わせて使用することができ、また、如何なる他の実施形態の1つ以上の特徴と組み合わせて、または如何なる他の実施形態の如何なる組み合わせにおいて使用することもできることが理解されるべきである。
本発明の一実施形態では、コンピュータ・システムと共に使用するためのプログラム製品として実施することができる。このプログラム製品のプログラム(1または複数)は、(本明細書で説明した方法を含む)実施形態の機能を規定し、多様なコンピュータ可読ストレージ媒体上に収容することができる。例示のコンピュータ可読ストレージ媒体は、以下を含むが、これに限定されるものではない。即ち、(i)情報が永続的に格納される、(例えば、CD−ROMドライブにより読み取り可能なCD−ROMディスクのようなコンピュータ内のリード・オンリ・メモリ・デバイス、フラッシュ・メモリ、ROMチップ、または如何なる種別のソリッド・ステート非一時的半導体メモリのような)非書き込み可能なストレージ媒体、および(ii)代替可能な情報が格納される、(例えば、ディスケット・ドライブ内のフロッピー・ディスク、ハード・ディスク・ドライブ、または如何なる種別のソリッド・ステート・ランダム・アクセス半導体メモリのような)書き込み可能なストレージ媒体である。本発明は、先に説明した実施形態に限定されることはなく、添付の特許請求の範囲内で変更を加えることができる。

Claims (16)

  1. セグメント化されたコンテンツのストリーミングをマニフェスト・ファイルに基づいて可能にするための方法であって、前記マニフェスト・ファイルが、1つ以上のセグメント識別子と、該セグメント識別子によって識別される1つ以上のセグメントをクライアントに配信するように構成される1つ以上の配信ノードを位置特定するための1つ以上の関連のセグメント・ロケ−タとを含み、当該方法が、
    前記マニフェスト・ファイル内のセグメント識別子に少なくとも基づいて、少なくとも1つのセグメントの配信を要求するステップと、
    前記少なくとも1つのセグメント識別子に基づいて、前記マニフェスト・ファイルから少なくとも1つの別のセグメント識別子を選択するステップであって、前記別のセグメント識別子が少なくとも1つの予想される将来のセグメント要求に関連付けられる、ステップと、
    第1セグメント・ロケ−タに関連付けられるネットワーク情報を取得するために、前記選択された別のセグメント識別子に関連付けられる前記第1セグメント・ロケ−タの少なくとも一部を事前解決するステップと、
    を含み、前記事前解決するステップが、
    ネットワーク情報についての要求を、前記第1セグメント・ロケータに関連付けられるネットワーク・ノードに送信するステップであって、該要求がHTTPHEADまたはRTSP DESCRIBEメッセージである、ステップと、
    応答メッセージを受信するステップと、
    前記選択された別のセグメント識別子に関連付けられる前記第1セグメント・ロケータが、前記予想された将来のセグメント要求に関連付けられるセグメントの配信のために配信ノードをポイントするか、または前記予想された将来のセグメント要求のリダイレクトのためにネットワーク・ノードをポイントするかについて、前記応答メッセージに基づいて決定するステップと、
    を含む、方法。
  2. 請求項1記載の方法において、前記ネットワーク情報が、前記第1セグメント・ロケ−タの少なくとも一部に関連付けられるネットワーク・アドレスの少なくとも一部に関する情報、前記選択された別のセグメント識別子に関連付けられる第1セグメント・ロケ−タが、前記予想された将来のセグメント要求に関連付けられるセグメントの配信のための配信ノードをポイントする、若しくは前記予想された将来のセグメント要求のリダイレクトのためにネットワーク・ノードをポイントするかについての情報、および/または、前記選択された別のセグメント識別子に関連付けられる第2セグメント・ロケ−タの少なくとも一部を含む、方法。
  3. 請求項1または2記載の方法であって、更に、
    前記第1セグメント・ロケ−タがリダイレクトのためにネットワーク・ノードをポイントする場合に、前記第1セグメント・ロケ−タの少なくとも一部を、前記選択された別のセグメント識別子に関連付けられる第2セグメント・ロケ−タの少なくとも一部に事前解決するステップを含む、方法。
  4. 請求項1から3のいずれか一項記載の方法であって、
    前記ネットワーク情報に基づいて前記マニフェスト・ファイルを修正するステップを含む、方法。
  5. 請求項2または3記載の方法であって、
    前記第2セグメント・ロケ−タの前記少なくとも一部に基づいて前記マニフェスト・ファイルを修正するステップを含む、方法。
  6. 請求項5記載の方法において、前記修正するステップが、前記第1セグメント・ロケ−タの少なくとも一部を、前記第2セグメント・ロケ−タの前記少なくとも一部で置き換えるステップを含む、方法。
  7. 請求項1から6のいずれか一項記載の方法において、前記事前解決ステップが、前記少なくとも1つのセグメントの少なくとも一部の配信の間、バックグラウンド処理として実施される、方法。
  8. 請求項1から7のいずれか一項記載の方法であって、
    ユーザ・プロファイル、ユーザ・ナビゲーション履歴、前記セグメント化されたコンテンツとのユーザ相互作用、並びに/または、前記クライアントおよび/若しくはユーザの地理的位置の内、少なくとも一部に基づいて、前記少なくとも1つの別のセグメント識別子を選択するステップを含む、方法。
  9. 請求項1から8のいずれか一項記載の方法において、
    前記セグメント化されたコンテンツが時間的にセグメント化されたコンテンツであり、前記クライアントが、時間的距離を規定する時間的近接度パラメータを使用して、1つ以上の関連するセグメント・ロケータを事前解決するために、前記クライアントによって現在処理されている時間的セグメントから前記時間的距離内に配置される前記時間的セグメントを識別する1つ以上のセグメント識別子をマークおよび/または選択し、
    或いは、
    前記セグメント化されたコンテンツが空間的にセグメント化されたコンテンツであり、前記クライアントが、空間的距離を規定する空間的近接度パラメータを使用して、1つ以上の関連するセグメント・ロケータを事前解決するために、前記クライアントによって現在処理されている空間的セグメントから前記空間的距離内に配置される前記空間的セグメントを識別する1つ以上のセグメント識別子をマークおよび/または、選択し、
    或いは、
    前記セグメント化されたコンテンツが品質的にセグメント化されたコンテンツであり、前記クライアントが、品質的距離を規定する品質的近接度パラメータを使用して、1つ以上の関連するセグメント・ロケータを事前解決するために、前記クライアントによって現在処理されている品質的セグメントから前記品質的距離内に配置される前記品質的セグメントを識別する1つ以上のセグメント識別子をマークおよび/または選択する、
    方法。
  10. 請求項1から9のいずれか一項記載の方法において、
    ネットワーク情報についての前記要求が第1コンテンツ配信ネットワーク(CDN1)に送信され、前記要求が前記選択された別のセグメント識別子を少なくとも含み、
    前記第1コンテンツ配信ネットワーク(CDN1)が、前記選択された別のセグメント識別子によって識別される前記セグメントの将来の配信をネゴシエートするために、前記選択された別のセグメント識別子を含むCDN間要求メッセージを、第2コンテンツ配信ネットワーク(CDN2)に送信し、
    前記第1コンテンツ配信ネットワーク(CDN1)が、前記第2コンテンツ配信ネットワーク(CDN2)内の1つ以上の配信ノードに関連付けられるネットワーク・アドレスまたはセグメント・ロケータを含むCDN間応答メッセージを受信し
    前記CDN間要求メッセージがインジケータを含み、前記第2コンテンツ配信ネットワーク(CDN2)により、前記CDN間要求メッセージがセグメント・ロケータについての事前解決に関連付けられるのを判断することを可能にし、または、前記CDN間要求メッセージが、HTTPHEADメッセージ若しくはRTSP DESCRIBEメッセージに基づいて実装され、これにより、前記第2コンテンツ配信ネットワーク(CDN2)により、前記CDN間要求メッセージがセグメント・ロケータについての事前解決に関連付けられるのを判断することを可能にする、方法。
  11. ネットワーク内の1つ以上の配信ノードにホストされたセグメント化されたコンテンツについてのクライアント制御によるストリーミングのためのクライアントであって、
    マニフェスト・ファイルの少なくとも一部を格納するためのマニフェスト・キャッシュであって、前記マニフェスト・ファイルが、1つ以上のセグメント識別子と、該セグメント識別子によって識別される1つ以上のセグメントを当該クライアントに配信するように構成される1つ以上の配信ノードを位置特定するための1つ以上の関連のセグメント・ロケ−タとを含む、マニフェスト・キャッシュと、
    前記マニフェスト・ファイル内の少なくとも1つのセグメント識別子に基づいて、少なくとも1つのセグメントの配信を要求するセグメント抽出機能と、
    前記少なくとも1つのセグメント識別子に基づいて、少なくとも1つの予想される将来のセグメント要求に関連付けられる少なくとも1つの別のセグメント識別子を、前記セグメント抽出機能から選択するように構成されるセグメント・セレクタと、
    第1セグメント・ロケータに関連付けられるネットワーク情報を取得するために、前記少なくとも1つの別のセグメント識別子に関連付けられる前記第1セグメント・ロケータの少なくとも一部を事前解決する事前解決機能と、
    を備え、前記事前解決することが、
    ネットワーク情報についての要求を、前記第1セグメント・ロケータに関連付けられるネットワーク・ノードに送信することと、
    応答メッセージを受信することと、
    前記選択された別のセグメント識別子に関連付けられる前記第1セグメント・ロケータが、前記予想された将来のセグメント要求に関連付けられるセグメントの配信のために配信ノードをポイントするか、または前記予想された将来のセグメント要求のリダイレクトのためにネットワーク・ノードをポイントするかについて、前記応答メッセージに基づいて決定することと、
    を含む、クライアント。
  12. 請求項11記載のクライアントにおいて、前記要求がHTTP HeadまたはRTSP DESCRIBEメッセージである、クライアント。
  13. 請求項11または12記載のクライアントにおいて、前記事前解決することが、更に、
    前記第1セグメント・ロケ−タがリダイレクトのためにネットワーク・ノードをポイントする場合に、前記第1セグメント・ロケ−タの少なくとも一部を、前記選択された別のセグメント識別子に関連付けられる第2セグメント・ロケ−タの少なくとも一部に事前解決することを含む、クライアント。
  14. 請求項11から13のいずれか一項記載のクライアントにおいて、前記事前解決機能が更に、前記ネットワーク情報に基づいて前記マニフェスト・ファイルを修正するように構成される、クライアント。
  15. 請求項11から14のいずれか一項記載のクライアントにおいて、前記少なくとも1つの別のセグメント識別子を選択することが、ユーザ・プロファイル、ユーザ・ナビゲーション履歴、セグメント化されたコンテンツとのユーザ相互作用、並びに/または、クライアントおよび/若しくはユーザの地理的位置の内、少なくとも一部に基づく、クライアント。
  16. コンピュータのメモリにおいて実施したときに、請求項1〜10のいずれか一項に記載の方法のステップを実行するように構成されるソフトウェア・コード部を含むコンピュータ・プログラム。
JP2016197799A 2011-12-29 2016-10-06 セグメント化されたコンテンツについての制御されたストリーミング Active JP6258432B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP11196064 2011-12-29
EP11196064.7 2011-12-29
EP12153228 2012-01-31
EP12153228.7 2012-01-31

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014549463A Division JP6023213B2 (ja) 2011-12-29 2012-12-27 セグメント化されたコンテンツについての制御されたストリーミング

Publications (2)

Publication Number Publication Date
JP2017062799A true JP2017062799A (ja) 2017-03-30
JP6258432B2 JP6258432B2 (ja) 2018-01-10

Family

ID=47505012

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014549463A Active JP6023213B2 (ja) 2011-12-29 2012-12-27 セグメント化されたコンテンツについての制御されたストリーミング
JP2016197799A Active JP6258432B2 (ja) 2011-12-29 2016-10-06 セグメント化されたコンテンツについての制御されたストリーミング

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2014549463A Active JP6023213B2 (ja) 2011-12-29 2012-12-27 セグメント化されたコンテンツについての制御されたストリーミング

Country Status (5)

Country Link
US (2) US10225306B2 (ja)
EP (2) EP3525474A1 (ja)
JP (2) JP6023213B2 (ja)
CN (1) CN104137564B (ja)
WO (1) WO2013098319A1 (ja)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8135912B2 (en) 2009-05-18 2012-03-13 Hola Networks, Ltd. System and method of increasing cache size
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
US8732569B2 (en) * 2011-05-04 2014-05-20 Google Inc. Predicting user navigation events
EP3068102B1 (en) 2011-12-29 2017-11-08 Koninklijke KPN N.V. Network-initiated content streaming control
GB2513139A (en) * 2013-04-16 2014-10-22 Canon Kk Method and corresponding device for streaming video data
US9883011B2 (en) 2012-10-12 2018-01-30 Canon Kabushiki Kaisha Method and corresponding device for streaming video data
US9128892B2 (en) * 2012-12-10 2015-09-08 Netflix, Inc. Managing content on an ISP cache
US20140366080A1 (en) * 2013-06-05 2014-12-11 Citrix Systems, Inc. Systems and methods for enabling an application management service to remotely access enterprise application store
US9894125B2 (en) * 2013-07-03 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Redistributing sources for adaptive bit rate streaming
JP6444398B2 (ja) 2013-07-03 2018-12-26 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ セグメント化コンテンツのストリーミング
US10104190B2 (en) * 2013-07-12 2018-10-16 Canon Kabushiki Kaisha Adaptive data streaming method with push messages control
GB2534057B (en) * 2013-07-12 2017-01-11 Canon Kk Methods for providing media data, method for receiving media data and corresponding devices
US9628528B2 (en) * 2013-07-19 2017-04-18 Electronics And Telecommunications Research Institute Apparatus and method for providing content
WO2015013720A1 (en) 2013-07-26 2015-01-29 Futurewei Technologies Inc. Spatial adaptation in adaptive streaming
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
US8718445B1 (en) 2013-09-03 2014-05-06 Penthera Partners, Inc. Commercials on mobile devices
US10171501B2 (en) 2013-09-20 2019-01-01 Open Text Sa Ulc System and method for remote wipe
EP2851833B1 (en) 2013-09-20 2017-07-12 Open Text S.A. Application Gateway Architecture with Multi-Level Security Policy and Rule Promulgations
US10824756B2 (en) 2013-09-20 2020-11-03 Open Text Sa Ulc Hosted application gateway architecture with multi-level security policy and rule promulgations
US9244916B2 (en) * 2013-10-01 2016-01-26 Penthera Partners, Inc. Downloading media objects
US11477262B2 (en) 2014-02-13 2022-10-18 Koninklijke Kpn N.V. Requesting multiple chunks from a network node on the basis of a single request message
US10523723B2 (en) * 2014-06-06 2019-12-31 Koninklijke Kpn N.V. Method, system and various components of such a system for selecting a chunk identifier
US9692800B2 (en) * 2014-06-11 2017-06-27 Google Inc. Enhanced streaming media playback
US10033824B2 (en) * 2014-06-30 2018-07-24 Samsung Electronics Co., Ltd. Cache manifest for efficient peer assisted streaming
US9992251B2 (en) * 2014-07-18 2018-06-05 Cisco Technology, Inc. Segment routing support in MPEG dash
KR20160041398A (ko) * 2014-10-07 2016-04-18 삼성전자주식회사 컨텐츠 처리 장치 및 그의 컨텐츠 처리 방법
US9509742B2 (en) 2014-10-29 2016-11-29 DLVR, Inc. Configuring manifest files referencing infrastructure service providers for adaptive streaming video
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
JP2016129014A (ja) * 2015-01-01 2016-07-14 利仁 曽根 配信サーバ方法
US9826016B2 (en) 2015-02-24 2017-11-21 Koninklijke Kpn N.V. Fair adaptive streaming
JP5973616B1 (ja) * 2015-04-15 2016-08-23 西日本電信電話株式会社 受信端末及びその映像取得方法
US10057314B2 (en) 2015-04-17 2018-08-21 Telefonaktiebolaget Lm Ericsson (Publ) Dynamic packager network based ABR media distribution and delivery
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
US9954930B2 (en) * 2015-08-06 2018-04-24 Airwatch Llc Generating content fragments for content distribution
US11593075B2 (en) 2015-11-03 2023-02-28 Open Text Sa Ulc Streamlined fast and efficient application building and customization systems and methods
CN110225371B (zh) * 2016-01-27 2020-11-06 上海交通大学 一种基于媒体自身属性以支持空间分块的存储与传输方法
US11388037B2 (en) * 2016-02-25 2022-07-12 Open Text Sa Ulc Systems and methods for providing managed services
CN105872598A (zh) * 2016-04-25 2016-08-17 乐视控股(北京)有限公司 多媒体直播方法及装置
CN110140335B (zh) * 2016-11-10 2022-08-12 瑞典爱立信有限公司 用于改进递送性能的资源分段
WO2018186718A1 (en) * 2017-04-07 2018-10-11 Samsung Electronics Co., Ltd. A method and apparatus for reducing latency of network protocols
US10972515B2 (en) * 2017-07-31 2021-04-06 Verizon Digital Media Services Inc. Server assisted live stream failover
EP3767495B1 (en) 2017-08-28 2023-04-19 Bright Data Ltd. Method for improving content fetching by selecting tunnel devices
US11190374B2 (en) 2017-08-28 2021-11-30 Bright Data Ltd. System and method for improving content fetching by selecting tunnel devices
US10650078B2 (en) * 2017-09-26 2020-05-12 Adobe Inc. Reducing latency in rendering of content
US10838924B2 (en) * 2017-10-02 2020-11-17 Comcast Cable Communications Management, Llc Multi-component content asset transfer
EP3729759A1 (en) * 2017-12-20 2020-10-28 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatus for content delivery
CN109862438B (zh) * 2019-02-19 2021-05-07 普联技术有限公司 一种代理转发实时流协议流媒体数据的方法及设备
EP4177771A1 (en) 2019-02-25 2023-05-10 Bright Data Ltd. System and method for url fetching retry mechanism
WO2020202135A2 (en) 2019-04-02 2020-10-08 Luminati Networks Ltd. System and method for managing non-direct url fetching service
EP4111698A4 (en) * 2020-02-28 2024-03-13 Hulu Llc CLIENT-BASED REMOTE ELEMENT RESOLUTION STORAGE
CN115136611A (zh) 2020-02-28 2022-09-30 葫芦有限责任公司 用于动态元素替换的组中元素的标识
US11368505B2 (en) * 2020-09-15 2022-06-21 Disney Enterprises, Inc. Dynamic variant list modification to achieve bitrate reduction

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009104631A (ja) * 2000-03-20 2009-05-14 Nec Corp ウェブコンテントの知的フェッチと配送のためのシステムと方法
WO2009075033A1 (ja) * 2007-12-13 2009-06-18 Fujitsu Limited パケット通信システム及びパケット通信方法並びにノード及びユーザ端末
US20090292819A1 (en) * 2008-05-23 2009-11-26 Porto Technology, Llc System and method for adaptive segment prefetching of streaming media
WO2011047335A1 (en) * 2009-10-16 2011-04-21 Qualcomm Incorporated Adaptively streaming multimedia

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1153244A (ja) 1997-08-01 1999-02-26 Fujitsu Ltd 情報提供システム
US6553376B1 (en) * 1998-11-18 2003-04-22 Infolibria, Inc. Efficient content server using request redirection
US6938005B2 (en) 2000-12-21 2005-08-30 Intel Corporation Digital content distribution
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US8090761B2 (en) 2002-07-12 2012-01-03 Hewlett-Packard Development Company, L.P. Storage and distribution of segmented media data
US20050071881A1 (en) * 2003-09-30 2005-03-31 Deshpande Sachin G. Systems and methods for playlist creation and playback
US8321690B2 (en) 2005-08-11 2012-11-27 Microsoft Corporation Protecting digital media of various content types
US9386064B2 (en) * 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
CN101146110B (zh) 2007-09-25 2011-06-29 深圳市迅雷网络技术有限公司 一种播放流媒体的方法
CN101141627A (zh) 2007-10-23 2008-03-12 深圳市迅雷网络技术有限公司 一种流媒体文件的存储系统及方法
WO2009095078A1 (en) 2008-01-31 2009-08-06 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for obtaining media over a communications network
JP2009187466A (ja) 2008-02-08 2009-08-20 Ntt Docomo Inc プロキシシステム及び中継方法
EP2131362A1 (en) 2008-06-06 2009-12-09 Koninklijke KPN N.V. Method and system for managing content data
JP5223480B2 (ja) 2008-06-13 2013-06-26 富士通株式会社 コンテンツ配信方法及び通信端末装置
US8938548B2 (en) 2008-12-23 2015-01-20 At&T Mobility Ii Llc Streaming enhancements through pre-fetch background
US8099473B2 (en) 2008-12-31 2012-01-17 Apple Inc. Variant streams for real-time or near real-time streaming
US9225794B2 (en) * 2009-03-31 2015-12-29 Google Inc. Adaptive DNS pre-resolution
WO2011026887A1 (en) 2009-09-03 2011-03-10 Koninklijke Kpn N.V. Pre-loading follow-up content
US8392600B2 (en) * 2009-09-14 2013-03-05 Adobe Systems Incorporated Dynamic stream switch control
EP2486491A4 (en) * 2009-10-06 2013-10-23 Unwired Planet Llc MANAGING NETWORK TRAFFIC BY EDITING A MANIFEST FILE AND / OR USING A INTERMEDIATE FLOW CONTROL
EP2507941A4 (en) 2009-12-04 2013-12-04 Streamocean Inc SYSTEM AND METHOD FOR DELIVERING MULTIMEDIA CONTENT TO DISPLAY VIA A NETWORK
US9355144B2 (en) 2009-12-10 2016-05-31 Nokia Technologies Oy Method and apparatus for recycling information fragments in information spaces
US8850116B2 (en) 2010-03-10 2014-09-30 Lsi Corporation Data prefetch for SCSI referrals
CN102882845B (zh) 2010-04-07 2016-07-13 苹果公司 实时或准实时流传输
US9137278B2 (en) * 2010-04-08 2015-09-15 Vasona Networks Inc. Managing streaming bandwidth for multiple clients
WO2011139305A1 (en) * 2010-05-04 2011-11-10 Azuki Systems, Inc. Method and apparatus for carrier controlled dynamic rate adaptation and client playout rate reduction
WO2012047064A2 (ko) 2010-10-07 2012-04-12 삼성전자 주식회사 Drm 서비스 제공 방법 및 장치
EP2487609A1 (en) 2011-02-07 2012-08-15 Alcatel Lucent A cache manager for segmented multimedia and corresponding method for cache management
US20120254591A1 (en) 2011-04-01 2012-10-04 Hughes Christopher J Systems, apparatuses, and methods for stride pattern gathering of data elements and stride pattern scattering of data elements
WO2011100901A2 (zh) * 2011-04-07 2011-08-25 华为技术有限公司 媒体内容的传输处理方法、装置与系统
TW201720194A (zh) * 2011-06-01 2017-06-01 內數位專利控股公司 內融傳遞網路互連(cdni)機制
US9615126B2 (en) 2011-06-24 2017-04-04 Google Technology Holdings LLC Intelligent buffering of media streams delivered over internet
US9026670B2 (en) 2011-08-22 2015-05-05 Allot Communications Ltd. System and method for efficient caching and delivery of adaptive bitrate streaming
US9860604B2 (en) 2011-11-23 2018-01-02 Oath Inc. Systems and methods for internet video delivery
US8806193B2 (en) 2011-12-22 2014-08-12 Adobe Systems Incorporated Methods and apparatus for integrating digital rights management (DRM) systems with native HTTP live streaming
US9401968B2 (en) 2012-01-20 2016-07-26 Nokia Techologies Oy Method and apparatus for enabling pre-fetching of media
US20140089467A1 (en) 2012-09-27 2014-03-27 Andre Beck Content stream delivery using pre-loaded segments
US9612972B2 (en) 2012-12-03 2017-04-04 Micron Technology, Inc. Apparatuses and methods for pre-fetching and write-back for a segmented cache memory
EP2929695A1 (en) 2012-12-10 2015-10-14 Koninklijke KPN N.V. Digital rights management for segmented content
JP6444398B2 (ja) 2013-07-03 2018-12-26 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ セグメント化コンテンツのストリーミング

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009104631A (ja) * 2000-03-20 2009-05-14 Nec Corp ウェブコンテントの知的フェッチと配送のためのシステムと方法
WO2009075033A1 (ja) * 2007-12-13 2009-06-18 Fujitsu Limited パケット通信システム及びパケット通信方法並びにノード及びユーザ端末
US20090292819A1 (en) * 2008-05-23 2009-11-26 Porto Technology, Llc System and method for adaptive segment prefetching of streaming media
WO2011047335A1 (en) * 2009-10-16 2011-04-21 Qualcomm Incorporated Adaptively streaming multimedia

Also Published As

Publication number Publication date
US10225306B2 (en) 2019-03-05
EP3525474A1 (en) 2019-08-14
JP6258432B2 (ja) 2018-01-10
US20140359081A1 (en) 2014-12-04
WO2013098319A1 (en) 2013-07-04
CN104137564A (zh) 2014-11-05
EP2798854B1 (en) 2019-08-07
EP2798854A1 (en) 2014-11-05
JP2015508596A (ja) 2015-03-19
JP6023213B2 (ja) 2016-11-09
US20190149589A1 (en) 2019-05-16
CN104137564B (zh) 2018-06-12

Similar Documents

Publication Publication Date Title
JP6258432B2 (ja) セグメント化されたコンテンツについての制御されたストリーミング
US10609101B2 (en) Streaming of segmented content
US10516717B2 (en) Network-initiated content streaming control
EP2719142B1 (en) Locating and retrieving segmented content
US9332051B2 (en) Media manifest file generation for adaptive streaming cost management
EP2053859A1 (en) A method and apparatus for reducing delay of media play
WO2017184551A1 (en) Just in time transcoding and packaging in ipv6 networks
CN113141522B (zh) 资源传输方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20170911

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171025

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171206

R150 Certificate of patent or registration of utility model

Ref document number: 6258432

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250