JP2022525217A - 複数のコンテンツデリバリネットワークと通信可能なクライアント装置によるデータセグメントの取得方法 - Google Patents
複数のコンテンツデリバリネットワークと通信可能なクライアント装置によるデータセグメントの取得方法 Download PDFInfo
- Publication number
- JP2022525217A JP2022525217A JP2021555572A JP2021555572A JP2022525217A JP 2022525217 A JP2022525217 A JP 2022525217A JP 2021555572 A JP2021555572 A JP 2021555572A JP 2021555572 A JP2021555572 A JP 2021555572A JP 2022525217 A JP2022525217 A JP 2022525217A
- Authority
- JP
- Japan
- Prior art keywords
- network
- client device
- networks
- score
- segment
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling 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/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/08—Testing, supervising or monitoring using real traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/18—Selecting a network or a communication service
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- User Interface Of Digital Computer (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
複数のコンテンツデリバリネットワーク(CDN1、CDN2)と通信可能なクライアント装置によるデータセグメントの取得方法が提案され、この方法は、複数のネットワークの各ネットワークに対して、当該ネットワークからクライアント装置へのデータ伝送の品質を示す、当該ネットワークに結合されるスコアを計算する工程(100)と;複数のネットワークの中の1つのネットワークを任意に抽出する工程(102)であって、当該任意抽出は、第1の伝送品質を示すスコアに結合される複数のネットワークの中から1つのネットワークを抽出する確率が、第1の伝送品質を下回る第2の伝送品質を示すスコアに結合される複数のネットワークの中から1つのネットワークを抽出する確率よりも高くなるように適合される、任意抽出工程と;抽出されたデータセグメントをクライアント装置が得るように、抽出されたネットワークをポーリングする工程(104)と、を含む。
Description
本発明は、複数のデリバリネットワークと通信可能なクライアント装置によるデータセグメントの取得方法に関する。
本発明は、有利には(限定的ではないが)、このようなデータセグメントを含むマルチメディアフローの読み取り範囲内で用いられる。
周知のように、コンテンツデリバリネットワーク(Content Delivery Network、以下CDNと略す)は、インターネットを介してネットワークに接続される1つまたは複数のサーバを含み、これらのサーバが協働して、ユーザが所持するクライアント装置にコンテンツまたはデータを利用提供する。
同一のデータセグメントは、複数の競合するCDNのもとで自由に利用できる。換言すれば、1つの装置は、このデータセグメントを得るために複数のCDNの間で選択を行うことができる。
その場合には、利用可能な様々なCDNの中で最高のコンテンツ伝送品質をクライアント装置に提供するCDNの選択を検討可能であろう。
このアプローチは、短期的には有効であるとしても中長期的にはそれほど有効ではない。なぜなら、CDNにより提供される伝送品質は時間の経過と共に著しく変動しうるので、その結果、所定の瞬間に伝送品質が最適とみなされても、時間がたつにつれて品質が不十分になる可能性があるからである。
本発明は、最初に述べたアプローチよりも柔軟性のあるやり方でCDNとクライアント装置との間のデータ伝送条件を考慮することによって、クライアント装置が、利用可能な複数のCDNの中から1つのデータセグメントを得られる1つのCDNを選択できるようにすることをめざしている。
したがって、本発明の第1の側面によれば、複数のコンテンツデリバリネットワークと通信可能なクライアント装置によるデータセグメントの取得方法が提案され、この方法は、
-複数のネットワークの各ネットワークに対して、このネットワークからクライアント装置へのデータ伝送の品質を示す、当該ネットワークに結合されるスコアを計算する工程と、
-複数のネットワークの中の1つのネットワークを任意に抽出する工程であって、当該任意抽出は、第1の伝送品質を示すスコアに結合される1つのネットワークを複数のネットワークの中から抽出する確率が、第1の伝送品質を下回る第2の伝送品質を示すスコアに結合される1つのネットワークを複数のネットワークの中から抽出する確率よりも高くなるように適合される抽出工程と、
-抽出されたネットワークからクライアント装置がデータセグメントを得るように、抽出されたネットワークをポーリングする工程と、
を含む。
-複数のネットワークの各ネットワークに対して、このネットワークからクライアント装置へのデータ伝送の品質を示す、当該ネットワークに結合されるスコアを計算する工程と、
-複数のネットワークの中の1つのネットワークを任意に抽出する工程であって、当該任意抽出は、第1の伝送品質を示すスコアに結合される1つのネットワークを複数のネットワークの中から抽出する確率が、第1の伝送品質を下回る第2の伝送品質を示すスコアに結合される1つのネットワークを複数のネットワークの中から抽出する確率よりも高くなるように適合される抽出工程と、
-抽出されたネットワークからクライアント装置がデータセグメントを得るように、抽出されたネットワークをポーリングする工程と、
を含む。
本発明の第1の側面による方法は、単独もしくはそれが技術的に可能である場合には互いに結合された以下の特徴または工程を同様に含むことができる。
任意抽出は、走査パラメータに依存しうる。その場合、この任意抽出は、
-走査パラメータの値が第1の方向に変化するとき、複数のネットワークの中から他のネットワークを抽出する確率に関して計算された全てのスコアの中で最も高いスコアに結合されるネットワークを抽出する確率を上げ、および/または
-走査パラメータの値が第1の方向とは反対の第2の方向に変化するとき、複数のネットワークの中から他のネットワークを抽出する確率に関して計算された全てのスコアの中で最も高いスコアに結合されるネットワークを抽出する確率を下げるために、
適合される。
-走査パラメータの値が第1の方向に変化するとき、複数のネットワークの中から他のネットワークを抽出する確率に関して計算された全てのスコアの中で最も高いスコアに結合されるネットワークを抽出する確率を上げ、および/または
-走査パラメータの値が第1の方向とは反対の第2の方向に変化するとき、複数のネットワークの中から他のネットワークを抽出する確率に関して計算された全てのスコアの中で最も高いスコアに結合されるネットワークを抽出する確率を下げるために、
適合される。
この方法は、
-データセグメントを含むマルチメディアフローのクライアント装置による読み取り条件等の、データセグメントを含むデータ集合のクライアント装置による処理条件が劣化するリスクを評価する工程と、
-評価された劣化リスクによる走査パラメータ値の補正工程と、
をさらに含む。
-データセグメントを含むマルチメディアフローのクライアント装置による読み取り条件等の、データセグメントを含むデータ集合のクライアント装置による処理条件が劣化するリスクを評価する工程と、
-評価された劣化リスクによる走査パラメータ値の補正工程と、
をさらに含む。
複数のネットワークの中の少なくとも2つのネットワーク、さらには複数のネットワークの中の全てのネットワークが抽出される確率が好ましくはゼロでないようにされる。
スコアの計算工程、任意抽出工程、およびポーリング工程が、マルチメディアフローまたはファイル等のデータ集合に属する複数のデータセグメントに対して好ましくは繰り返される。
好ましくは、データセグメントが1つのデータ集合に属しており、装置がデータ集合のいずれか1つのセグメントを得る前にスコアが初期値に初期化される。
たとえば、複数のネットワークの中の1つのネットワークのスコアの初期値は、クライアント装置とは異なる少なくとも1つの第3の装置への同ネットワークからのデータセグメントの伝送品質を示す情報に応じて決定される。
これらの情報は、たとえば、第3の装置の各々と通信可能な集約サーバによりクライアント装置に供給される。
複数のネットワークの中の第1のネットワークが、初期化以降、データ集合に属する少なくとも1つのデータセグメントを得るためにクライアント装置によりすでにポーリングされている場合、この第1のネットワークのスコアは、第1のネットワークによりクライアント装置に伝送された少なくとも1つのセグメントの実際の伝送品質を考慮して好ましくは更新される。
さらに、複数のネットワークの中の第2のネットワークが、初期化以降、データ集合に属するデータセグメントを得るためにクライアント装置によりまだポーリングされていない場合、この第2のネットワークのスコアは、第1のネットワークのスコアの値を考慮して好ましくは更新される。
この方法は、複数のネットワークの中の1つのネットワークからクライアント装置にデータセグメントを伝送するために利用可能な通過帯域を示す通過帯域ヒューリスティックの計算を含むことができ、このネットワークに結合されるスコアは、計算された通過帯域ヒューリスティックに依存する。
代替的あるいは補完的に、この方法は、複数のネットワークの中の1つのネットワークに結合される伝送エラーヒューリスティックの計算を含むことができ、当該伝送エラーヒューリスティックは、クライアント装置によりネットワークにあらかじめ要求されたデータセグメントの伝送エラーを示し、このネットワークに結合されるスコアは、計算された伝送エラーヒューリスティックに依存する。
好ましくは、複数のネットワークの中の1つのネットワークに結合される伝送エラーヒューリスティックは、当該ネットワークがクライアント装置へのデータセグメントの伝送に失敗したとき、ネットワークの任意抽出の確率を下げるように変化する。
好ましくは、複数のネットワークの中の1つのネットワークに結合される伝送エラーヒューリスティックは、このネットワークに結合される過去のセグメント伝送エラーの数につれてそれ自体が増加する或る量で変化する。
好ましくは、1つのネットワークに結合される伝送エラーヒューリスティックは、当該ネットワークがクライアント装置へのデータセグメントの伝送に成功したとき、ネットワークの任意抽出の確率を上げるように変化する。
好ましくは、1つのネットワークの伝送エラーヒューリスティックは、あらかじめ決められた期間内に当該ネットワークからクライアント装置にデータセグメントが全く伝送されなかったとき、ネットワークの任意抽出の確率を上げるように変化する。
1つのネットワークに結合されるスコアは、さらに、このネットワークに固有の所定の重みに依存することができ、この重みはたとえば一定である。
本発明の第2の側面によれば、複数のデータセグメントを含むマルチメディアフローのクライアント装置による読み取り方法が同様に提案され、当該方法は、本発明の第1の側面による方法を用いて、複数のデータセグメントの中の少なくとも1つのデータセグメントを取得することを含む。
本発明の第3の側面によれば、クライアント装置によりこのプログラムが実行されたとき、本発明の第1の側面または第2の側面に従って当該方法の工程を実行するためのプログラムコード命令を含む、コンピュータプログラム製品が同様に提案される。
本発明の第4の側面によれば、本発明の第1の側面または第2の側面に従って当該方法の工程を実行するためのプログラムコード命令を含むコンピュータプログラムが保存される、クライアント装置による読み取り媒体が同様に提案される。
本発明の第5の側面によれば、データセグメントを得るためのクライアント装置が同様に提案され、このクライアント装置は、複数のコンテンツデリバリネットワークと通信するための通信インターフェースと、本発明の第1の側面または第2の側面に従って当該方法の工程の実施を制御するように構成された、処理ユニットとを含む。
本発明の他の特徴、目的および長所は、添付図面を参照しながら限定的ではなくもっぱら例として挙げられた以下の説明を読めば明らかになるであろう。
図全体において、同様の要素には同じ参照符号を付す。
図1では、複数のコンテンツデリバリネットワーク(CDN)と通信可能なクライアント装置1を示した。この図では、CDN1とCDN2の2個のCDNだけを示したが、以下の説明では、より一般的に、1~Nの指標を付けたN個のCDNの集合について考慮する。
図1に概略的に示したように、各CDNは少なくとも1つのサーバを含み、これらのCDNは、最初に述べたように1個以上のサーバを含むことができる。
各CDNは、同一のデータ集合に属するデータセグメントを保存している。たとえば、全てのCDNは、完全なデータ集合すなわちこのデータ集合の全てのセグメントを含んでいる。
データ集合は、ファイルへのアクセスのためにファイルシステム内で参照されるように構成されたデータファイルとすることができる。あるいは、データ集合は、1つまたは複数のファイルの形態を呈するマルチメディアフローである。
考慮されたデータ集合のセグメントは互いに順序立てられている。ファイルタイプのデータ集合の場合、セグメントは、このファイルを形成するバイナリ形式の様々な部分に対応し、各部分が、ファイルの冒頭アドレスに対して固有の相対的なアドレス(オフセット)を有している。
マルチメディアフローのセグメントは暫定的に順序立てられている。すなわち各セグメントは、このセグメントに固有のタイムスタンプに結合されるか、このタイムスタンプを含む。様々なタイムスタンプによって、マルチメディアフローの様々なセグメントを読み取り装置がどのような順序で読み取るべきかを決定することができる。
中継(「live」)マルチメディアフローの個々のケース、より一般的にはDVRフローのケースでは、最後のN分または最後のM時間に対応する時間窓だけをコンテンツネットワークで利用することができる。この場合、データ集合とは、この時間窓を形成するマルチメディアデータのコレクションを意味する。ライブエンコーダが新しいビデオセグメントを発生すると、これがデータ集合に付加され、その一方で最も古いセグメントが消去されてデータ集合から除去される。
データ集合の形態がどうであろうと、本明細書において、1つのデータセグメントは、同じデータ集合の他のデータセグメントから独立してクライアント装置1に伝送されうるデータ集合の一部分を示すものとみなす。
クライアント装置1は、さらに、様々なCDNと通信してこれらのCDNからデータ集合のセグメントを特に受信するための通信インターフェース2を含む。
クライアント装置1は、通信インターフェース2を介して受信したセグメントを記憶するためのメモリ4と、メモリ4内に含まれるデータセグメントを処理するように構成された処理ユニット6とを含む。
処理ユニット6は、たとえば、この処理をインプリメントするコード命令を含むコンピュータプログラムを実行するように構成された少なくとも1つのプロセッサを含む。
データ集合がマルチメディアフローである場合、処理ユニット6は、データセグメントを読み込むように構成された読み取り装置を含む。通常、このような読み取り装置は、セグメントをデコードするように構成されたデコーダと、セグメントのコンテンツを再生するためにデコーダの出口に配置された出力とを含み、当該出力は、たとえばビデオセグメントの場合はディスプレイスクリーン、あるいはオーディオセグメントの場合はスピーカである。
データ集合がファイルである場合、処理ユニット6は、このファイルを形成する様々なセグメントをいったん受信すると、これらのセグメントを組み立てるように構成され、それによってクライアント装置1のファイルシステム内で参照されるファイルコピーを形成する。
さらに、処理ユニット6は、処理すべきデータセグメントを得るために様々なCDNの中でポーリングすべき1つのCDNを選択するように構成される。この選択は、これらのセグメントの後段での処理をインプリメントするコード命令を含むコンピュータプログラムまたは、選択プログラム内に別にインプリメントされたコンピュータプログラム内にたとえばインプリメントされる。
クライアント装置1は、当該クライアント装置がアクセス可能な様々なCDNを認識している。たとえば、これらのCDNのアドレスがクライアント装置1のメモリ4に記憶される。
図1では、クライアント装置1が通信可能な集約サーバ8が同様に示されている。集約サーバは、メモリと、クライアント装置1から受信したデータに計算を適用するように構成された処理ユニットと、別のクライアント装置1a、1bとを含んでおり、これらの別のクライアント装置については、クライアント装置1と対比して第3の装置と示す。
クライアント装置1a、1bは、クライアント装置1と同様に構成される。
これらの装置1、1a、1bのいずれか1つは、たとえばデスクトップコンピュータ、テレビ、ラップトップコンピュータ、タブレット、スマートフォン等の形態を呈することができる。
次に、クライアント装置1による前述のデータ集合の処理方法について説明する。
図2を参照すると、処理すべきデータ集合の1つのセグメントに対して以下の工程が実施される。
処理ユニット6は、1からNまでの全てのiに対して、指標iのCDNに結合されるスコアxiを計算する。スコアxiは、指標iのCDNからクライアント装置1へのデータ伝送の品質を示している(工程100)。次に、この計算100についてさらに詳しく説明する。
逆も検討可能であるが、以下、スコアxiの値がこのCDNからクライアント装置1へのデータ伝送の品質につれて上がる1つの実施例について詳述する。換言すれば、たとえばスコア10はスコア5を上回るデータ伝送品質を示す。
処理ユニット6は、様々なCDNの中から1つのCDNの任意抽出を実施する(工程102)。
以下、この任意抽出102を介して利用可能なN個のCDNの中で指標iのCDNを抽出する確率をPiと記す。
任意抽出102は、相対的に高い伝送品質を示すスコアに結合されるCDNを抽出する確率が、相対的に低い伝送品質を示すスコアに結合されるCDNを抽出する確率を上回るように適合される。
この任意抽出102は、さらに、N個のCDNの少なくとも2個、さらには全てのCDNが抽出される確率がゼロでないようにされる。
実際には、任意抽出工程102が以下の下位工程を含むことができる。
・処理ユニット6は、スコアxjに結合される抽出確率Pjを計算する。
・次に、処理ユニット6は、確率Pjの和に長さが等しい間隔で、或る数の均質な任意抽出を実施する。この間隔は、様々なCDNにそれぞれ結合されるN個の個別の下位間隔を結合したものである。1からNまでの全てのjに対して、指標jのCDNに結合される下位間隔の長さは確率Pjに等しい。
・工程102の間に任意抽出されたCDNは、抽出された数を含む下位間隔に結合されるCDNである。
・処理ユニット6は、スコアxjに結合される抽出確率Pjを計算する。
・次に、処理ユニット6は、確率Pjの和に長さが等しい間隔で、或る数の均質な任意抽出を実施する。この間隔は、様々なCDNにそれぞれ結合されるN個の個別の下位間隔を結合したものである。1からNまでの全てのjに対して、指標jのCDNに結合される下位間隔の長さは確率Pjに等しい。
・工程102の間に任意抽出されたCDNは、抽出された数を含む下位間隔に結合されるCDNである。
任意抽出102は、好ましくはパラメータC、いわゆる走査パラメータに依存する。任意抽出は、走査パラメータの値が第1の方向に変化するとき、複数のネットワークの中の他のネットワークを抽出する確率に関して計算された全てのスコアの中で、最も高いスコアに結合されるネットワークを抽出する確率を上げるように、および/または、走査パラメータの値が第1の方向とは反対の第2の方向に変化するとき、複数のネットワークの中の他のネットワークを抽出する確率に関して計算された全てのスコアの中で、最も高いスコアに結合されるネットワークを抽出する確率を下げるように適合される。
パラメータCを用いることが有利である。なぜなら、これによって、任意抽出の多少とも走査的な特徴を調整できるからである(パラメータの名前が「走査」パラメータであるのはそのためである)。上記の式が用いられるとき、パラメータCの値が大きいと、任意抽出102は、最大品質とみなされるCDNの抽出を他のCDNに優先させる傾向がある。Cの値が小さいと、このような長所の重みは減少するので、その結果、伝送品質に関する最適性が低い複数のCDNが工程102の間に抽出される可能性が高くなる。
走査パラメータCは一定であってもよいが、しかし、同様にダイナミックに調整してもよい(このようなダイナミック調整については後述する)。
任意抽出されたネットワークはその後、クライアント装置1がデータ集合の1つのセグメントを得るようにクライアント装置1によりポーリングされる(工程104)。
このポーリング104は、たとえば、抽出されたCDN宛のセグメントリクエストを通信インターフェース2を介してクライアント装置1から送信することや、リクエストに応えて、抽出されたCDNから、リクエストが対象とするセグメントを伝送することを含む。
クライアント装置により抽出されたCDNのポーリング104の結果は、成功したり失敗したりする。なぜなら、このポーリングの最中には次のような数々のエラーが発生しうるからである:抽出されたCDNにリクエストが到達しない可能性;抽出されたCDNが内部バグを理由として、要求された全てのセグメントを送信しない可能性;さらに、抽出されたCDNがクライアント装置1により要求されたセグメントを送信可能であるが、このセグメントがクライアント装置1まで正しく伝送されない可能性。
クライアント装置1がセグメントを受信しない場合、クライアント装置1はデータセグメントを得るまでポーリング工程104を繰り返すことができる。しかし、このようなポーリングについては、すぐには繰り返さないことが好ましい:以下、この実施形態について説明する。
ポーリング工程104の間にクライアント装置がセグメントを適切に受信した場合、当該セグメントはメモリ4に記憶され、処理ユニット6により処理される。たとえば、受信したばかりのデータセグメントが、読み取るべきマルチメディアフローの一部をなしている場合、処理ユニット6は、読み取り装置によるデータセグメントの読み取りを命令することができる(セグメントの処理が読み取りである)。
データセグメントが、ファイルシステム内で参照されるファイルの一部をなしている場合、処理ユニット6は、ファイルを形成する全てのセグメントが受信されたかどうか検証する。イエスの場合、処理ユニット6は全てのセグメントを組み立ててファイルのコピーを再生し、ファイルシステム内にリファレンスを構成する。ノーの場合、当該ユニットは、ファイルの他のデータセグメントの待機を開始する。
さらに、処理ユニット6は、あらかじめ任意抽出されたCDNから受信したセグメントの実際の伝送品質を評価する(工程106)。
この評価は、抽出されたCDNからクライアント装置1へのデータ伝送のために利用可能な通過帯域を示す通過帯域ヒューリスティックの計算を含むことができる。
一般に、通過帯域ヒューリスティックは、工程104の間に抽出されたCDNのセグメントを得るためにクライアント装置1に利用提供される瞬間通過帯域に依存する。この瞬間通過帯域は、一般には、セグメントを得るのにかかる時間と、このセグメントのサイズとの比として計算される。
前述のように、抽出されたCDNのポーリング104は、成功(クライアント装置1が1つのデータセグメントを得る)することもあれば、失敗(クライアント装置1がデータセグメントを受信しない)することもある。したがって、セグメントの実際の伝送品質の評価は、伝送エラーヒューリスティックの計算を含むことができ、この伝送ヒューリスティックは、クライアント装置がネットワークにあらかじめ要求したデータセグメント(特に、ポーリング工程104の間に、抽出されたCDNのもとでクライアント装置が要求したセグメント)の伝送エラーを示す。
このような伝送エラーは、実際には、セッション層(一般にHTTP)のレベルまたは、アプリケーション層等のOSIモデルの上位レベル層でクライアント装置1により測定可能である。
これらのエラーの性質は多様である:エラー404(または40Xまたは50X)、タイムアウトエラー(クライアント装置1のhttpダウンロードモジュールにより与えられた所与の時間内にセグメントを得られなかった)、クライアント装置1の一時的なネットワーク遮断、HTTPSハンドシェイクのエラー、ブラウザ(CORS、HTTP/HTTPSの混合コンテンツ)のセキュリティに対するエラー等。
計算された各ヒューリスティックは、クライアント装置1のメモリ4に記憶される。
さらに、上記の抽出確率が走査パラメータCに依存する場合、処理ユニット6は、データセグメントを含むデータ集合のクライアント装置1による処理条件が劣化するリスクを評価し、評価された劣化リスクに基づいて走査パラメータCの値を補正することができる(工程108)。
これらの処理条件は、たとえば、このデータ集合が、作用すべきマルチメディアフローである場合、クライアント装置1によるデータセグメントの読み取り条件である。具体的には、作用すべきマルチメディアフローの読み取り条件の劣化リスクの評価が工程108で実施されるとき、クライアント装置1の読み取り装置の上流におけるバッファの充填率の変化を考慮に入れることができる。なぜなら、このような充填率は、工程102の間に抽出されたCDNの品質が最適ではなく、かつ、抽出されたこのCDNでのセグメントのダウンロードが予想以上に時間をとる場合、フローの読み取りが遮断されるリスクの有無を示すことができるからである(一般に、読み取り装置が新しいセグメントを処理する必要がある一方でバッファが空のとき、このような遮断が生じる)。
たとえば、これらの処理条件の劣化リスクが高いことが検知された場合、安全を期すためにCの値を変化させることによって抽出の走査性を下げることが好ましいことがある。リスクがないときあるいは劣化リスクがもっと低いときは、考慮されたものよりも品質の高い別のCDNのポーリングを許可できる。換言すれば、この場合、Cの値を補正して抽出の走査性をさらに上げることができる。
データ集合の処理条件の劣化リスクを評価する別の方式は、得られた結果を工程106で問い合わせることからなる。一般に、抽出されたCDNに対して装置が要求したセグメントの伝送が工程104で失敗した場合、リスクは高まる。
図2に示された工程100、102、104、106、108は、この方法の反復を形成している。この方法の複数の反復が時間中に実施され、各反復は、データ集合の新しいセグメントを取得してこれを処理することをめざしている。たとえば、クライアント装置1が取得して処理すべき各々の新しいセグメントに対して、新しい反復が実施される。
データ集合の1つのセグメントを得るためのCDNの選択の確率特性をみると、特にデータ集合のセグメント数が多い場合、データ集合の処理前または処理中にクライアント装置1によって複数のCDNがポーリングされるのはほぼ確実である。
特に、クライアント装置1が、1つの反復のポーリング工程104の実施中に抽出された1つのCDNの1つのデータセグメントを得られない場合、次の反復の工程102の間に新たな任意抽出が実施される。セグメントの供給に失敗したのとは別のCDNが抽出される可能性があり、その後、クライアント装置1がこれをポーリングして同じセグメントを供給する。
さらに、工程100の繰り返しは、所定のCDNのために複数のスコア計算が時間中に実施されることを意味する。好ましくは、所定のCDNに対してスコア変数が1つだけメモリに割り当てられる。工程100の新たな実施に際しては各スコアが更新される。このようにして、時間中、各CDNのスコアが変化する。1つのCDNのスコアの品質は低下したり上昇したりしうるので、これは、後段の任意抽出に当然影響する。
クライアント装置1は、このクライアント装置1へのデータセグメントの伝送品質を示す情報を、いずれかのCDNから集約サーバ8に送信することができる(工程110)。これらの情報は、所定のCDNに結合された少なくとも1つの以下のデータを含むことができる:
・工程100の実施中に当該CDNに対して計算されたスコア
・工程106の実施中に当該CDNに対して計算されたヒューリスティック(通過帯域ヒューリスティックおよび/または伝送エラー)。これらの情報はスコアよりも細かい。
・クライアント装置1がCDNからのダウンロードに成功したデータ集合のセグメントの数および/またはサイズ、CDNをポーリングすることによってクライアント装置1が遭遇したセグメントダウンロードの数および/またはエラー。これらの情報は、ヒューリスティックよりもさらに細かい。
・ダウンロードされたセグメントが属するデータ集合を識別可能な情報。
・工程100の実施中に当該CDNに対して計算されたスコア
・工程106の実施中に当該CDNに対して計算されたヒューリスティック(通過帯域ヒューリスティックおよび/または伝送エラー)。これらの情報はスコアよりも細かい。
・クライアント装置1がCDNからのダウンロードに成功したデータ集合のセグメントの数および/またはサイズ、CDNをポーリングすることによってクライアント装置1が遭遇したセグメントダウンロードの数および/またはエラー。これらの情報は、ヒューリスティックよりもさらに細かい。
・ダウンロードされたセグメントが属するデータ集合を識別可能な情報。
しかしながら、クライアント装置1が集約サーバに情報を送信するこの工程110を、各反復時に実施する必要はない。図2に示された他の工程に対して非同期で工程110を開始するように構成することも同様に可能である。実際には、クライアント側で最も細かい情報を集約して、これを定期的に集約サーバ8に送信するように構成する。
クライアント装置1がデータ集合の全てのセグメントを受信して処理すると、この方法は終了する。
次に、様々なCDNに結合されるスコアが、この方法の最中に様々な状況でどのように計算されるかについて詳しく説明する。これらの状況は、考慮された反復と、これらのCDNがクライアント装置1によりすでにポーリングされているかどうか知るという問題とに依存する。
スコアの初期化
この方法の第1の反復全体の計算工程100に際して、様々なCDNのスコアが初期値に初期化される。
この方法の第1の反復全体の計算工程100に際して、様々なCDNのスコアが初期値に初期化される。
これらの初期値はたとえば等しい値であり、その場合、第1の反復の最中に実施される任意抽出102に際してCDNが抽出される可能性は全て同じである。
変形実施形態では、これらの初期値が異なり、当該初期値は、これらの様々なCDNに結合される個々の重みに比例する。
初期値はクライアント装置1が自動的に決定可能である。初期値はたとえば、あらかじめメモリ4に記憶される。
しかし、特に有利な実施形態では、集約サーバ8が、様々なCDNに結合されるスコアの初期値を決定可能な情報をクライアント装置1に提供する。
この実施形態では、クライアント装置1と同じ方法を実施した少なくとも1つの第3の装置によりあらかじめ遡られた情報に応じて、集約サーバ8がクライアント装置1に提供する初期値が決まる(実際には前述のように、クライアント装置1がそれ自体で、工程110の間にこの装置が集約サーバ8で計算したスコアの全部または一部を送信する)。
集約サーバ8が、指標iのCDNのスコアの初期値をクライアント装置1に直接供給することも検討できるだろう。この場合、集約サーバ8は、少なくとも1つの第3の装置1aまたは1b等から受信した、指標iのCDNに関する情報を集約する。
しかしながら、集約サーバ8は、スコアよりも細かい情報、たとえば上記のようなヒューリスティックを供給することが好ましい。この場合、装置1が発生したヒューリスティックは、それ自体が、集約サーバ8から受信した値に初期化される。その後、ヒューリスティックのこれらの初期値によって、計算工程100の第1の実施の最中にスコアの初期値を計算することができる。換言すれば、この実施形態では、計算工程100が、第1の反復とそれ以降の複数の反復において同様の仕方で実施される。
さらに、集約サーバ8によりクライアント装置1に供給された情報には、幾つかの有利なフィルタをかけることが好ましい。そのため、集約された情報は、以下の情報だけを含むことができる:
・最近の測定だけを考慮するために、あらかじめ決められた持続時間の平滑窓に関する情報。
・クライアント装置1によりネットワーク付近の基準にしたがって選択された、第3の装置のみによって遡られた情報(同じFAI、同じ国、さらには同じ町、または同じASNでさえも)。
・同じ放送装置に関する情報:実際にはTF1とM6のユーザは、同一のCDNに対して必ずしも同じ性能を得られない。なぜなら、各CDNは多少とも高性能の複数の下位サーバネットワークを有しているからである。
・情報は、クライアント装置1が処理すべきデータ集合と同じデータ集合に関与する:実際、人気のあるコンテンツはCDNの多数のサーバでキャッシュされるのに対し、人気のないコンテンツは全くキャッシュされることができない。このことは、CDNの性能にかなりの影響を与える場合がある。
・最近の測定だけを考慮するために、あらかじめ決められた持続時間の平滑窓に関する情報。
・クライアント装置1によりネットワーク付近の基準にしたがって選択された、第3の装置のみによって遡られた情報(同じFAI、同じ国、さらには同じ町、または同じASNでさえも)。
・同じ放送装置に関する情報:実際にはTF1とM6のユーザは、同一のCDNに対して必ずしも同じ性能を得られない。なぜなら、各CDNは多少とも高性能の複数の下位サーバネットワークを有しているからである。
・情報は、クライアント装置1が処理すべきデータ集合と同じデータ集合に関与する:実際、人気のあるコンテンツはCDNの多数のサーバでキャッシュされるのに対し、人気のないコンテンツは全くキャッシュされることができない。このことは、CDNの性能にかなりの影響を与える場合がある。
集約サーバ8をポーリングすることによって、より関連性のある初期値にスコアを初期化することができる。その結果、この方法は、考慮されたデータ集合の第1のセグメントを取得かつ処理するのにいっそう有効である。
第1の反復が終了すると、全てのスコアがまさに1つの値(初期値)を有し、その初期値に基づいて複数のCDNの中の1つのCDNが抽出され、次いで、装置がデータ集合の第1のセグメントを得るようにポーリングされる。しかし、他の全てのCDN(全部でN-1個)は、データ集合の1つのセグメントを得るようにクライアント装置1によりまだポーリングされていない。
すでにポーリングされたCDNのスコアの更新
次に、指標iのCDNが少なくとも1つの以前の反復の最中にクライアント装置1によりポーリングされたと仮定する。以下、「ポーリングされた」という表現は暗々裏に、ポーリング工程104と前述のデータ集合とに関与する。換言すれば、「ポーリングされた」CDNは、工程102の実施中に少なくとも1回は任意に抽出され、考慮されたデータ集合の少なくとも1つのセグメントをクライアント装置1に供給している。したがって、評価工程106は、この指標iのCDNの場合、当該指標iのCDNにより以前に伝送されてクライアント装置1により受信された少なくとも1つのセグメントに対し、少なくとも1回実施される。
次に、指標iのCDNが少なくとも1つの以前の反復の最中にクライアント装置1によりポーリングされたと仮定する。以下、「ポーリングされた」という表現は暗々裏に、ポーリング工程104と前述のデータ集合とに関与する。換言すれば、「ポーリングされた」CDNは、工程102の実施中に少なくとも1回は任意に抽出され、考慮されたデータ集合の少なくとも1つのセグメントをクライアント装置1に供給している。したがって、評価工程106は、この指標iのCDNの場合、当該指標iのCDNにより以前に伝送されてクライアント装置1により受信された少なくとも1つのセグメントに対し、少なくとも1回実施される。
今やクライアント装置1は、新たな反復、いわゆる現行の反復での処理のために、データ集合の新しいセグメント、いわゆる基準セグメントを取得しなければならない。
現行の反復は第1の反復ではないので、現行の反復に先行する反復の計算工程100の間にスコアxiに対する値がすでに決定されている。
現行の反復の工程100の際に、処理ユニット6は、指標iのCDNに結合されかつ以前に計算された少なくとも1つのヒューリスティック(通過帯域ヒューリスティックおよび/またはエラーヒューリスティック)に応じて、スコアxiを更新する。このようにして、新しいスコアxiは、指標iのCDNのセグメントをクライアント装置1がすでに受信した受信条件を考慮する。
まだポーリングされていないCDNのスコアの更新
CDNのスコアがまだポーリングされていない場合、現行の反復の工程100の際に更新がどのように行われるか知りたいという問題が提起される。なぜなら、このCDNは、データ集合のセグメントをクライアント装置にまだ伝送していないからである。
CDNのスコアがまだポーリングされていない場合、現行の反復の工程100の際に更新がどのように行われるか知りたいという問題が提起される。なぜなら、このCDNは、データ集合のセグメントをクライアント装置にまだ伝送していないからである。
1つの可能性はごく単純に、まだポーリングされていないCDNのスコアを更新しないことである。このような実施形態では、CDNのスコアの値は、このCDNがポーリングされるまでその初期値にとどまる。
しかし、これは、クライアント装置1によりすでにポーリングされたCDNのスコアと、まだポ-リングされていないCDNのスコアとの間に潜在的に大きな隔たりを形成するという不都合を有する。このような隔たりは、任意抽出104でまだポーリングされていないCDNに訳もなく不利に働くことがある。
このような隔たりの出現は、ヒューリスティックの初期値、これは、第3の装置(クライアント装置1が認める品質とは非常に異なるCDNとの通信品質を享受する)により計算されたヒューリスティックに依存する値であるが、この初期値をクライアント装置1が受信するときに生じうる。たとえばクライアント装置1がCDNへの良好な(たとえば光ファイバ)接続を享受している一方で、第3の装置1a、1bがこれらのCDNよりも性能の低い接続(たとえばADSL)を享受していると仮定する。クライアント装置1が、その固有のヒューリスティックを、第3の装置1aまたは1bによって遡られたヒューリスティック値に依存する値に初期化した場合、これらのヒューリスティックの初期値(したがってクライアント装置1によりスコアベースで計算されたスコアの初期値)は、CDNとクライアント装置1との間の実際の通信条件を適切に反映しない。それゆえ、1つのCDNに結合される1つのヒューリスティックをクライアント装置が更新すると、この更新に起因するヒューリスティック値と、初期値にとどまる他のCDNのヒューリスティックとの間に顕著な隔たりを生じさせる可能性がある。
こうしたエッジ効果を回避するために、第1の反復とは異なる現行の反復のスコア計算工程100では、まだポーリングされていないCDNのスコアを、先行する1つの反復の際にすでに抽出された少なくとも1つのCDNに対して更新されたスコアに応じて、更新することが好ましい。
たとえば、指標iのCDNが現行の反復の前の反復で抽出されたと仮定する。現行の反復のとき、指標iのCDNのスコアは、前述のようにあらかじめ評価されたヒューリスティックを用いて処理ユニット6により更新される。この更新によって、指標iのCDNのスコアの値が特定の係数(更新後のスコアと更新前のスコアとの比に等しい)で変化する。
処理ユニット6は、指標iのCDNの更新係数に基づいて、まだポーリングされていない指標jのCDNの更新係数を計算する。たとえば、まだポーリングされていない指標jのCDNに対して計算された更新係数は、すでにポーリングされた指標iのCDNの更新係数に比例する。変形実施形態では、まだポーリングされていない指標jのCDNに対して計算された更新係数が、すでにポーリングされた複数のCDN、たとえばデータ集合のセグメントを得るためにすでにポーリングされた全てのCDNの、個々の更新係数の平均値に比例する。
次に、処理ユニット6は、指標jのCDNに対して計算されたばかりの更新係数により現行のスコアの値を乗じることによって、指標jのCDNのスコアを更新する。
すでにポーリングされたCDNのスコアに、まだポーリングされていないCDNのスコアを揃えるこのアラインメントメカニズムは、不当な著しいスコアの隔たりを回避するには有効であるが、時間的には制限することが好ましい。そのため、まだポーリングされていないCDNに対して計算された更新係数を、現行の反復の指標および/またはクライアント装置1によりすでに得られたセグメントの総数と共に変化させて、更新係数を1に近づけることが有利である。したがって、まだポーリングされていないCDNの更新係数により生じるアラインメント効果は時間の経過と共に減少する。
ヒューリスティックの更新
図2に関して先に説明した任意抽出工程102とポーリング工程104が、現行のいずれか1つの反復の最中に実施される。
図2に関して先に説明した任意抽出工程102とポーリング工程104が、現行のいずれか1つの反復の最中に実施される。
さらに、第1の反復とは異なる現行の反復の評価工程106の際に、ユニットは、現行の反復の任意抽出工程の間に抽出されたCDNに結合される既存のヒューリスティックを更新するので、その結果、これらのヒューリスティックは、抽出されたCDNの現行の反復のポーリング工程104において、基準セグメントが受信した諸条件を考慮する。
そのため、現行の反復中に更新された通過帯域ヒューリスティックは、基準セグメントの受信中に用いられた瞬間通過帯域を考慮する一方で、以前、先行する複数の反復中に指標iのCDNにより伝送された、データ集合の別の各セグメントで使用された瞬間通過帯域を同様に考慮する。
好ましくは、通過帯域ヒューリスティックは、たとえば指標平滑移動平均(英語のexponential weighted moving averageまたはEWMA)として計算される。このようにして、通過帯域ヒューリスティックは、以前受信したセグメントよりも最近受信したセグメントに、より多くの重みを付与するようにされる。
さらに、伝送エラーヒューリスティックは、幾つかの有利な規則に応じて変化するように現行の反復に入れられる。
現行の反復中に抽出されたCDNが、現行の反復のポーリング工程104の最中にクライアント装置1への基準セグメントの伝送に失敗した場合、抽出されたCDNに結合されるエラーヒューリスティックは、この方法の次の反復の最中にこのCDNの任意抽出の確率を下げるように更新される。たとえば、エラーヒューリスティックは、この場合、工程100の次の実施の際に当該CDNのスコアの値を小さくするように更新される。
その反対に、現行の反復中に抽出されたCDNが、現行の反復のポーリング工程104の最中にクライアント装置1への基準セグメントの伝送に成功した場合、抽出されたCDNに結合されるエラーヒューリスティックは、当該方法の次の反復の最中にこのCDNの任意抽出の確率を上げるように更新される。たとえば、エラーヒューリスティックは、工程100を次に実施する際に、このCDNのスコアの値を上昇するように更新される。
さらに、現行の反復中に抽出されたネットワークのエラーヒューリスティックは、このネットワークに結合される過去のセグメントの伝送エラー数につれてそれ自体が増加する或る量で変化する。そのため、このメカニズムは、セグメント伝送エラーを蓄積する1つのCDNにますます大きいペナルティを与える。
他のCDN(すなわち現行の反復中に抽出されなかったもの)に結合されるエラーヒューリスティックは、以下の様式に従って同様に更新可能である。
処理ユニット6は、現行の反復の最中に抽出されなかったCDNが最後にポーリングされたのはいつであるか決定する。これを決定するために、ユニットは時間をカウントし、あるいは、当該方法のセグメント数または反復数をカウントすることができる。
現行の反復中に抽出されなかった指標iのCDNが所定の期間内に抽出されなかった(たとえば、受信したK個の最後のセグメントが指標iのCDN以外の他のCDNから送られるか、または、指標iのCDNをどのセグメントもx秒前から受信していない)ことを処理ユニット6が気づいた場合、指標iのこのCDNのエラーヒューリスティックは、当該方法の次の反復中、指標iのネットワークの任意抽出の確率を上げるように更新される。このメカニズムは、最終的には、規制の原則を設定することに帰する:十分に長い期間にわたってペナルティを受けなかったCDNは、たとえこのCDNがこの期間前にペナルティを受けていたとしても、将来的にはポーリングされる可能性が高いことが認められる。
上記の全ての原則は、非常に多様なやり方でインプリメント可能である。
たとえば、後述するインサートは、上記のスコア、確率およびヒューリスティックの計算工程で考えられる1つの実施形態の疑似コードを示す。
各CDNで反復されるループを含むこうした疑似コード例についての説明は次の通りである:
・on errorブランチは、クライアント装置1へのCDNによるセグメント伝送エラーの際に実行される。
・on succesブランチは、クライアント装置1がCDNのセグメント受信に成功したときに実行される。
・measured_bandwidth変数は、考慮されたCDNからクライアント装置1が受信した最終セグメントに対して測定された瞬間通過帯域である。
・1つのCDNに結合される通過帯域ヒューリスティックは、ここではbandwidth変数である。
・on errorブランチは、クライアント装置1へのCDNによるセグメント伝送エラーの際に実行される。
・on succesブランチは、クライアント装置1がCDNのセグメント受信に成功したときに実行される。
・measured_bandwidth変数は、考慮されたCDNからクライアント装置1が受信した最終セグメントに対して測定された瞬間通過帯域である。
・1つのCDNに結合される通過帯域ヒューリスティックは、ここではbandwidth変数である。
確認できるように、1つのCDNに対して計算されるスコアはこの変数に依存する。この通過帯域ヒューリスティックは、measured_bandwidth>bandwidthである場合、上方修正され、そうでない場合は下方修正される。
・1つのCDNに結合されるエラーヒューリスティックは、ここでは、パワーhpwにおける高いHANDICAP_BASE項に対応する。hpwの値は、考慮されたCDNからのセグメント伝送エラーをクライアント装置1が検出したとき増加し、この増加はそれ自体が、error_rate項と共に増加する(on errorブランチを通過した場合のerror_rateパワーにおける高いERROR_PERCENTAGE_BASE項参照)。
・on tickブランチは、前述の規制の原則に対応する:このブランチは、カウンタの満了時に実行される。実際には、このブランチは各CDNに対して定期的に実行される。各通過時に、1つのCDNに結合されるhpwの値は小さくなり、たとえばGAMMAが0.01の場合、毎秒1%減る。
・与えられた1つのCDNに対する所定の重みはweightデータである。
・変数probabilityは、前述の確率Pi(0から1に含まれる値)に直接対応するものではない。この確率を得るには、たとえば、全てのCDNの変数probabilityの和によってこの値を割ることができる。
具体的な1例を挙げると、たとえばエラーの直前にhpwが0でerror_rateが0.01の場合、(一定である)パラメータBETAが0.1になり、HANDICAP_BASEとERROR_PERCENTAGE_BASEが10になる。以下の反復では、hpwが更新され、10^1=10となる(さらに、更新後はerror_rateが(1-0.1)*0.01+0.1=0.109となる)。式score=weight*bandwidth/HANDICAP_BASE^hpwにより最終スコアが得られる。したがって、この実施例では、分母が10^10となる。
Claims (19)
- 複数のコンテンツデリバリネットワーク(CDN1、CDN2)と通信可能なクライアント装置によるデータセグメントの取得方法であって、
-複数のネットワークの各ネットワークに対して、このネットワークからクライアント装置へのデータ伝送の品質を示す、当該ネットワークに結合されるスコアを計算する工程と、
-複数のネットワークの中の1つのネットワークを任意に抽出する工程であって、前記任意抽出は、第1の伝送品質を示すスコアに結合される1つのネットワークを複数のネットワークの中から抽出する確率が、第1の伝送品質を下回る第2の伝送品質を示すスコアに結合される1つのネットワークを複数のネットワークの中から抽出する確率よりも高くなるように適合される、任意抽出工程と、
-抽出されたネットワークからクライアント装置がデータセグメントを得るように、抽出されたネットワークをポーリングする工程と、
を含む方法。 - 前記任意抽出が1つのパラメータに依存し、前記任意抽出は、
-前記パラメータの値が第1の方向に変化するとき、複数のネットワークの中から他のネットワークを抽出する確率に関して計算された全てのスコアの中で最も高いスコアに結合されるネットワークを抽出する確率を上げるために、および/または
-前記パラメータの値が第1の方向とは反対の第2の方向に変化するとき、複数のネットワークの中から他のネットワークを抽出する可能性に関して計算された全てのスコアの中で最も高いスコアに結合されるネットワークを抽出する確率を下げるために、
適合される、請求項1に記載の方法。 - -データセグメントを含むマルチメディアフローのクライアント装置による読み取り条件等の、データセグメントを含むデータ集合のクライアント装置による処理条件が劣化するリスクを評価する工程と、
-評価された劣化リスクによるパラメータ値の補正工程と、
をさらに含む、請求項2に記載の方法。 - 複数のネットワークの中の少なくとも2つのネットワーク、さらには複数のネットワークの中の全てのネットワークが抽出される確率がゼロでない、請求項1から3のいずれか一項に記載の方法。
- スコアの計算工程、任意抽出工程、およびポーリング工程が、マルチメディアフローまたはファイル等のデータ集合に属する複数のデータセグメントに対して繰り返される、請求項1から4のいずれか一項に記載の方法。
- データセグメントが1つのデータ集合に属しており、前記装置がデータ集合のいずれか1つのセグメントを得る前にスコアが初期値に初期化され、複数のネットワークの中の1つのネットワークのスコアの初期値が、たとえば、クライアント装置とは異なる少なくとも1つの第3の装置への同一ネットワークからのデータセグメントの伝送品質を示す情報に応じて決定され、前記情報は、たとえば、前記第3の装置の各々と通信可能な集約サーバによりクライアント装置に供給される、請求項1から5のいずれか一項に記載の方法。
- 複数のネットワークの中の第1のネットワークが、初期化以降、データ集合に属する少なくとも1つのデータセグメントを得るためにクライアント装置によりすでにポーリングされている場合、この第1のネットワークのスコアは、前記第1のネットワークにより前記クライアント装置に伝送された少なくとも1つのセグメントの実際の伝送品質を考慮して更新される、請求項6に記載の方法。
- さらに、複数のネットワークの中の第2のネットワークが、初期化以降、データ集合に属するデータセグメントを得るためにクライアント装置によりまだポーリングされていない場合、この第2のネットワークのスコアは、第1のネットワークのスコアの値を考慮して更新される、請求項7に記載の方法。
- 複数のネットワークの中の1つのネットワークによりクライアント装置にデータセグメントを伝送するために利用可能な通過帯域を示す通過帯域ヒューリスティックの計算を含み、このネットワークに結合されるスコアが、計算された通過帯域ヒューリスティックに依存する、請求項1から8のいずれか一項に記載の方法。
- 複数のネットワークの中の1つのネットワークに結合される伝送エラーヒューリスティックの計算を含み、前記伝送エラーヒューリスティックが、前記クライアント装置により前記ネットワークにあらかじめ要求されたデータセグメントの伝送エラーを示し、このネットワークに結合されるスコアが、計算された伝送エラーヒューリスティックに依存する、請求項1から9のいずれか一項に記載の方法。
- 複数のネットワークの中の1つのネットワークに結合される伝送エラーヒューリスティックは、前記ネットワークが前記クライアント装置へのデータセグメントの伝送に失敗したとき、このネットワークの任意抽出の確率を下げるように変化する、請求項10に記載の方法。
- 複数のネットワークの中の1つのネットワークに結合される伝送エラーヒューリスティックは、このネットワークに結合される過去のセグメント伝送エラーの数につれてそれ自体が増加する或る量で変化する、請求項11に記載の方法。
- 1つのネットワークに結合される伝送エラーヒューリスティックは、前記ネットワークが前記クライアント装置へのデータセグメントの伝送に成功したとき、前記ネットワークの任意抽出の確率を上げるように変化する、請求項10から12のいずれか一項に記載の方法。
- 1つのネットワークの伝送エラーヒューリスティックは、あらかじめ決められた期間内に前記ネットワークから前記クライアント装置にデータセグメントが全く伝送されなかったとき、前記ネットワークの任意抽出の確率を上げるように変化する、請求項10から13のいずれか一項に記載の方法。
- 1つのネットワークに結合されるスコアが、このネットワークに固有の所定の重みに依存する、請求項1から14のいずれか一項に記載の方法。
- 複数のデータセグメントを含むマルチメディアフローのクライアント装置による読み取り方法であって、請求項1から15のいずれか一項に記載の方法を用いて、複数のデータセグメントの中の少なくとも1つのデータセグメントを取得することを含む方法。
- 処理ユニットによりプログラムが実行されたとき、請求項1から16のいずれか一項に記載の方法の工程の実行を制御するためのプログラムコード命令を含む、コンピュータプログラム製品。
- 請求項1から16のいずれか一項に記載の方法の工程を実行するためのプログラムコード命令を含む、コンピュータプログラム。
- 複数のコンテンツデリバリネットワーク(CDN1、CDN2)と通信するための通信インターフェースと、請求項1から16のいずれか一項に記載の方法の工程の実施を制御するように構成された処理ユニットとを含むクライアント装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1902989 | 2019-03-22 | ||
FR1902989A FR3094164B1 (fr) | 2019-03-22 | 2019-03-22 | Procédé d’obtention d’un segment de données par un dispositif client apte à communiquer avec une pluralité de réseaux de diffusion de contenu |
PCT/EP2020/057862 WO2020193429A1 (fr) | 2019-03-22 | 2020-03-20 | Procédé d'obtention d'un segment de données par un dispositif client apte à communiquer avec une pluralité de réseaux de diffusion de contenu |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022525217A true JP2022525217A (ja) | 2022-05-11 |
Family
ID=67107877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021555572A Pending JP2022525217A (ja) | 2019-03-22 | 2020-03-20 | 複数のコンテンツデリバリネットワークと通信可能なクライアント装置によるデータセグメントの取得方法 |
Country Status (9)
Country | Link |
---|---|
US (2) | US11528658B2 (ja) |
EP (1) | EP3942778A1 (ja) |
JP (1) | JP2022525217A (ja) |
KR (1) | KR20210139431A (ja) |
AU (1) | AU2020249319A1 (ja) |
CA (1) | CA3133413A1 (ja) |
FR (1) | FR3094164B1 (ja) |
SG (1) | SG11202110485QA (ja) |
WO (1) | WO2020193429A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3094597B1 (fr) * | 2019-03-27 | 2021-06-11 | Streamroot | Procédé de diffusion de contenus en streaming dans un réseau pair à pair |
CN113038190A (zh) * | 2021-02-23 | 2021-06-25 | 北京达佳互联信息技术有限公司 | 内容分发网络的调度方法和内容分发网络的调度装置 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6687753B2 (en) * | 1998-06-25 | 2004-02-03 | International Business Machines Corporation | Method and system for providing three-dimensional graphics over computer networks |
US7600014B2 (en) * | 2000-11-16 | 2009-10-06 | Symantec Corporation | Method and system for monitoring the performance of a distributed application |
US7185052B2 (en) * | 2001-05-16 | 2007-02-27 | Akamai Technologies, Inc. | Meta content delivery network system |
US20150341812A1 (en) * | 2003-08-29 | 2015-11-26 | Ineoquest Technologies, Inc. | Video quality monitoring |
US20050256677A1 (en) * | 2004-05-12 | 2005-11-17 | Hayes Dennis P | System and method for measuring the performance of a data processing system |
US7930393B1 (en) * | 2008-09-29 | 2011-04-19 | Amazon Technologies, Inc. | Monitoring domain allocation performance |
US8938549B2 (en) * | 2008-10-15 | 2015-01-20 | Aster Risk Management Llc | Reduction of peak-to-average traffic ratio in distributed streaming systems |
US7853710B2 (en) * | 2008-10-15 | 2010-12-14 | Patentvc Ltd. | Methods and devices for controlling the rate of a pull protocol |
KR101689778B1 (ko) * | 2009-08-19 | 2016-12-27 | 오팡가 네트웍스, 인크. | 네트워크 통신 품질 및 트래픽의 실시간 분석에 기반한 개선된 데이터 전달 |
US8825886B2 (en) * | 2010-07-28 | 2014-09-02 | Hong Kong Applied Science and Technology Research Institute Company Limited | System and method for evaluating network transport effects on delivery of media content |
US8903935B2 (en) * | 2010-12-17 | 2014-12-02 | Ryan Eric GRANT | Remote direct memory access over datagrams |
US8878794B2 (en) * | 2011-09-27 | 2014-11-04 | Z124 | State of screen info: easel |
KR101803621B1 (ko) * | 2012-12-21 | 2017-12-28 | 코닌클리즈케 케이피엔 엔.브이. | 저 지연 스트리밍 |
US9667747B2 (en) * | 2012-12-21 | 2017-05-30 | Akamai Technologies, Inc. | Scalable content delivery network request handling mechanism with support for dynamically-obtained content policies |
US9769527B2 (en) * | 2013-07-11 | 2017-09-19 | Dejero Labs Inc. | Systems and methods for transmission of data streams |
US9025486B1 (en) * | 2013-10-08 | 2015-05-05 | Netscout Systems, Inc. | Determining quality of radio access network transmissions |
CA2962040C (en) * | 2014-09-22 | 2020-07-21 | Arris Enterprises Llc | Video quality of experience based on video quality estimation |
US9497243B1 (en) * | 2014-09-30 | 2016-11-15 | Amazon Technologies, Inc. | Content delivery |
CN105634836B (zh) * | 2014-10-27 | 2020-03-17 | 香港理工大学 | 信息处理方法及装置 |
US9509742B2 (en) * | 2014-10-29 | 2016-11-29 | DLVR, Inc. | Configuring manifest files referencing infrastructure service providers for adaptive streaming video |
US10256942B2 (en) * | 2015-01-26 | 2019-04-09 | Sony Corporation | Receiver for receiving data in a broadcast system using redundancy data |
US9826016B2 (en) * | 2015-02-24 | 2017-11-21 | Koninklijke Kpn N.V. | Fair adaptive streaming |
US10476926B2 (en) * | 2015-06-12 | 2019-11-12 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for managing ABR bitrate delivery responsive to video buffer characteristics of a client |
EP3311577B1 (en) * | 2015-06-16 | 2020-05-27 | Intel IP Corporation | A dynamic adaptive streaming over hypertext transfer protocol (dash) assisting network element (dane) transcoding media content based on a set of metric and status messages received from the dash client and corresponding dash client device |
WO2017117264A1 (en) * | 2015-12-29 | 2017-07-06 | Echostar Technologies L.L.C | Remote storage digital video recorder streaming and related methods |
US20170255875A1 (en) * | 2016-03-03 | 2017-09-07 | Pearson Education, Inc. | Validation termination system and methods |
US9936434B2 (en) * | 2016-06-27 | 2018-04-03 | Ringcentral, Inc. | Method and phone system for pre-call quality of service assessment of available networks |
EP3840392A1 (en) * | 2016-09-08 | 2021-06-23 | InterDigital CE Patent Holdings | Method and apparatus for multimedia content distribution |
US10341241B2 (en) * | 2016-11-10 | 2019-07-02 | Hughes Network Systems, Llc | History-based classification of traffic into QoS class with self-update |
CN114980221A (zh) * | 2016-12-30 | 2022-08-30 | 英特尔公司 | 用于无线电通信的方法和设备 |
US10432486B2 (en) * | 2017-01-06 | 2019-10-01 | Mz Ip Holdings, Llc | System and method for updating application clients using a plurality of content delivery networks |
US10839304B2 (en) * | 2017-01-25 | 2020-11-17 | Pearson Education, Inc. | Platform-agnostic Bayes net content aggregation system and method |
US20190007286A1 (en) * | 2017-06-30 | 2019-01-03 | DeviceRadio AB | Module for handling a stream of data over multiple wireless communication channels |
US10609119B2 (en) * | 2017-11-03 | 2020-03-31 | Salesforce.Com, Inc. | Simultaneous optimization of multiple TCP parameters to improve download outcomes for network-based mobile applications |
US10628252B2 (en) * | 2017-11-17 | 2020-04-21 | Google Llc | Real-time anomaly detection and correlation of time-series data |
US20190261243A1 (en) * | 2018-02-20 | 2019-08-22 | Netgear, Inc. | Video-based channel selection in a wireless network-connected camera system |
US11250720B2 (en) * | 2018-03-30 | 2022-02-15 | Pearson Education, Inc. | Systems and methods for automated and direct network positioning |
US10630990B1 (en) * | 2018-05-01 | 2020-04-21 | Amazon Technologies, Inc. | Encoder output responsive to quality metric information |
US11882024B2 (en) * | 2018-06-18 | 2024-01-23 | Cisco Technology, Inc. | Application-aware links |
US10750404B2 (en) * | 2018-07-09 | 2020-08-18 | Vmware, Inc. | Systems and methods for mobile network guidance for over-the-top applications |
CN109981765B (zh) * | 2019-03-18 | 2023-03-24 | 北京百度网讯科技有限公司 | 用于确定内容分发网络的访问路径的方法和装置 |
-
2019
- 2019-03-22 FR FR1902989A patent/FR3094164B1/fr active Active
-
2020
- 2020-03-20 AU AU2020249319A patent/AU2020249319A1/en not_active Abandoned
- 2020-03-20 CA CA3133413A patent/CA3133413A1/en active Pending
- 2020-03-20 KR KR1020217034291A patent/KR20210139431A/ko unknown
- 2020-03-20 EP EP20712568.3A patent/EP3942778A1/fr active Pending
- 2020-03-20 JP JP2021555572A patent/JP2022525217A/ja active Pending
- 2020-03-20 WO PCT/EP2020/057862 patent/WO2020193429A1/fr active Application Filing
- 2020-03-20 SG SG11202110485QA patent/SG11202110485QA/en unknown
- 2020-03-20 US US16/825,809 patent/US11528658B2/en active Active
-
2022
- 2022-12-10 US US18/078,945 patent/US20230354173A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
FR3094164A1 (fr) | 2020-09-25 |
WO2020193429A1 (fr) | 2020-10-01 |
AU2020249319A1 (en) | 2021-10-28 |
FR3094164B1 (fr) | 2021-10-29 |
EP3942778A1 (fr) | 2022-01-26 |
KR20210139431A (ko) | 2021-11-22 |
SG11202110485QA (en) | 2021-10-28 |
US11528658B2 (en) | 2022-12-13 |
US20230354173A1 (en) | 2023-11-02 |
CA3133413A1 (en) | 2020-10-01 |
US20200305070A1 (en) | 2020-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9508095B2 (en) | System and method for optimizing the selection of cloud services based on price and performance | |
CN109964488B (zh) | 利用聚合网络统计来提高来自移动设备的直播视频流传输的质量和用户体验 | |
CN107211178B (zh) | 体感质量最佳化系统、装置、方法以及建议请求装置、方法和可读存储介质 | |
CN110413294A (zh) | 服务发布系统、方法、装置和设备 | |
JP2022525217A (ja) | 複数のコンテンツデリバリネットワークと通信可能なクライアント装置によるデータセグメントの取得方法 | |
EP3136650B1 (en) | Method and system for optimizing network parameters to improve customer satisfaction of network content | |
WO2017031692A1 (zh) | 视频下载方法、装置及系统 | |
US20070299746A1 (en) | Converged tool for simulation and adaptive operations combining it infrastructure performance, quality of experience, and finance parameters | |
CN102792299A (zh) | 特定于用户的馈送推荐 | |
US9893973B2 (en) | Real-time, low memory estimation of unique client computers communicating with a server computer | |
CN105451099B (zh) | 视频码率调整方法和装置 | |
CN108390775B (zh) | 一种基于spice的用户体验质量评价方法及系统 | |
CN113067731B (zh) | 节点带宽调整方法、装置、设备和存储介质 | |
CN109729433A (zh) | 一种视频播放评估方法及装置 | |
JP6946082B2 (ja) | 広告配信支援装置、広告配信支援方法、およびプログラム | |
CN109688065B (zh) | 参数的处理方法、装置及存储介质 | |
CN111130984B (zh) | 用于处理信息的方法和装置 | |
CN113179224B (zh) | 用于内容分发网络的流量调度方法及装置 | |
US20230089895A1 (en) | System and methods for bid optimization in real-time bidding | |
CN111225223A (zh) | 一种直播平台榜单信息优化的方法、系统、服务器及存储介质 | |
US11275797B2 (en) | Information processing apparatus correcting access frequency of shared information, information processing system, and non-transitory computer readable medium | |
CN113454934B (zh) | 多服务器通信系统中的下载控制 | |
CN112751924B (zh) | 一种数据推送方法、系统及装置 | |
CN115278354B (zh) | 一种基于用户行为指标的视频传输质量评估和优化的方法和系统 | |
CN111756850B (zh) | 一种服务于互联网数据采集的代理ip请求频率自动调整方法及系统 |