(57)【特許請求の範囲】
【請求項１】
ネットワークにおいて、データを記憶する複数のコンテンツソースから受信デバイスに前記データをルーティングするための方法であって、
前記データを記憶する前記コンテンツソースのそれぞれが、それぞれの無限容量仮想通信リンクによって共通の仮想コンテンツサーバにそれぞれ接続された仮想ルータとして表されるネットワークトポロジーを生成するステップであって、前記仮想通信リンクは、無限帯域幅、ゼロ待ち時間リンクである、ステップと、
前記仮想コンテンツサーバから前記受信デバイスへの前記データに対する前記ネットワークトポロジーを通した最適化されたルーティングを決定するステップと、
前記最適化されたルーティングに従い、前記受信デバイスに前記ネットワークを通してデータを送信するために前記コンテンツソースのそれぞれに対するデータ割振りを決定するステップと、
を含む、方法。
【請求項２】
前記コンテンツソースのそれぞれに対して、前記コンテンツソースに対する前記データ割振りによる命令を提供するステップを含み、前記命令が、前記コンテンツソースと前記受信デバイスとの間の1つまたは複数の割り当てられた経路と、前記1つまたは複数の割り当てられた経路に対する割り振られたデータレートと、を含む、請求項1に記載の方法。
【請求項３】
前記データ割振りに従って前記コンテンツソースのうちの1つまたは複数から前記受信デバイスに前記データの部分を送信するステップを含む、請求項1に記載の方法。
【請求項４】
各コンテンツソースに対する前記データ割振りが、前記データを送るためのデータレートを含む、請求項3に記載の方法。
【請求項５】
各コンテンツソースに対する前記データ割振りが、前記コンテンツソースと前記受信デバイスとの間の1つまたは複数の経路を定義する、請求項4に記載の方法。
【請求項６】
各コンテンツソースに対する前記データ割振りが、前記コンテンツソースと前記受信デバイスとの間の1つまたは複数の経路と、前記1つまたは複数の経路のそれぞれに対して使用されるべきデータレートと、前記コンテンツソースによって送信されるべき前記データの量とを定義する、請求項3に記載の方法。
【請求項７】
閾値数のパケットを受信し次第、前記データを復元することができるように、アプリケーション層順方向誤り訂正符号化を使用して前記コンテンツソースからパケット内に送られた符号化データを含む、請求項3に記載の方法。
【請求項８】
前記順方向誤り訂正符号化が、噴水符号化を含む、請求項7に記載の方法。
【請求項９】
各コンテンツソースに対する前記データ割振りが、どのデータを前記コンテンツソースから前記受信デバイスに送るべきかを定義する、請求項1から8のいずれか一項に記載の方法。
【請求項１０】
前記複数のコンテンツソースが、コンテンツサーバ、ゲートウェイノード、ネットワークルータまたはデータキャッシュのうちの1つまたは複数を含む、請求項1から8のいずれか一項に記載の方法。
【請求項１１】
データを記憶する複数のコンテンツソースから受信デバイスへのネットワークを通した前記データのトラフィックルーティングを最適化するためのシステムであって、
前記データを記憶する前記コンテンツソースのそれぞれが、それぞれの無限容量仮想通信リンクによって共通の仮想コンテンツサーバにそれぞれ接続された仮想ルータとして表されるネットワークトポロジーを生成し、前記仮想通信リンクは、無限帯域幅、ゼロ待ち時間リンクであり、
前記仮想コンテンツサーバから前記受信デバイスへの前記データに対する前記ネットワークトポロジーを通した最適化されたルーティングを決定し、
前記最適化されたルーティングに従い、前記ネットワークを通して前記受信デバイスにデータを送信するために前記コンテンツソースのそれぞれに対するデータ割振りを決定する
ように構成されたトラフィックオプティマイザを備える、システム。
【請求項１２】
前記トラフィックオプティマイザが、前記コンテンツソースのそれぞれに対して、前記コンテンツソースに対する前記データ割振りによる命令を提供するように構成され、前記命令が、前記コンテンツソースと前記受信デバイスとの間の1つまたは複数の割り当てられた経路と、前記1つまたは複数の割り当てられた経路に対する割り振られたデータレートとを含む、請求項11に記載のシステム。
【請求項１３】
前記ネットワークに利用可能なコンテンツソースおよび前記コンテンツソースに記憶されたコンテンツを識別する情報を記憶するコンテンツ位置データベースと、
前記データに対応するコンテンツ要求を前記受信デバイスから受信し、前記コンテンツ位置データベースに基づいて、同じデータを含む前記コンテンツソースを決定し、前記トラフィックオプティマイザに通知するように構成されたコンテンツ位置サーバであって、前記トラフィックオプティマイザから、前記コンテンツソースのそれぞれに対して決定された前記データ割振りを受信し、前記データ割振りに従って前記コンテンツソースのうちから前記データを前記受信デバイスに前記送信することを調整するように構成されるコンテンツ位置サーバと、
を備える、請求項11に記載のシステム。
【請求項１４】
各コンテンツソースに対する前記データ割振りが、前記データを送るためのデータレートを含む、請求項13に記載のシステム。
【請求項１５】
各コンテンツソースに対する前記データ割振りが、前記コンテンツソースと前記受信デバイスとの間の1つまたは複数の経路と、前記1つまたは複数の経路のそれぞれに対するデータレートとを定義する、請求項13に記載のシステム。
【請求項１６】
閾値数のパケットを受信し次第、前記受信デバイスにおいて前記データを復元することができるように、前記コンテンツソースが、そこからパケット内に送られたデータをアプリケーション層順方向誤り訂正符号化を使用して符号化するように構成される、請求項13に記載のシステム。
【請求項１７】
前記順方向誤り訂正符号化が、噴水符号化を含む、請求項16に記載のシステム。
【請求項１８】
各コンテンツソースに対する前記データ割振りが、前記データのどの部分を前記コンテンツソースから前記受信デバイスに送るべきかを定義する、請求項13に記載のシステム。
【請求項１９】
前記コンテンツ位置サーバが、前記コンテンツソースのそれぞれに記憶された前記データの量を前記トラフィックオプティマイザに通知するように構成される、請求項13に記載のシステム。
【請求項２０】
ネットワークにおいて、データを記憶する複数のコンテンツソースから受信デバイスに前記データをルーティングするためのトラフィック最適化を実装するためのコンピュータ命令を備えるコンピュータプログラムであって、トラフィック最適化プロセッサに、
前記データを記憶する前記コンテンツソースのそれぞれが、それぞれの無限容量仮想通信リンクによって共通の仮想コンテンツサーバにそれぞれ接続された仮想ルータとして表されるネットワークトポロジーを生成させ、前記仮想通信リンクは、無限帯域幅、ゼロ待ち時間リンクであり、
前記仮想コンテンツサーバから前記受信デバイスへの前記データに対する前記ネットワークトポロジーを通した最適化されたルーティングを決定させ、
前記最適化されたルーティングに従い、前記ネットワークを通して前記受信デバイスにデータを送信するために前記コンテンツソースのそれぞれに対するデータ割振りを決定させる
命令を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その内容が参照により本明細書に組み込まれている、2015年1月8日に出願した米国特許出願第14/592,616号の優先権を主張する。
【０００２】
本開示は、ネットワークにおけるコンテンツソースおよびルーティングオプションの選択を最適化するためのシステムおよび方法に関する。
【背景技術】
【０００３】
コンテンツ供給ネットワークまたはコンテンツ配信ネットワーク(CDN:content distribution network)システムでは、同じデータをコンテンツサーバおよびローカルキャッシングセンタなどの複数のコンテンツコンテナまたはソースに記憶することができ、コンテンツソースとコンテンツ受信デバイスとの間に数多くのルーティングオプションが存在する。CDNは、一般に、要求側デバイスからのユーザの要求を満足させるために特定のコンテンツサーバを選択するとき、物理的距離、待ち時間、負荷バランシングおよび費用などの1つまたは複数の基準に基づいてサーバ選択機構を使用する。さらに、CDNは、一般に、選択されたコンテンツソースから要求側デバイスへのネットワークを通した経路およびデータレートを選択するために同様の基準を適用するのにトラフィック工学(TE:traffic engineering)を使用する。
【発明の概要】
【課題を解決するための手段】
【０００４】
実施形態例によれば、ネットワークにおいて、データを記憶する複数のコンテンツソースから受信デバイスにデータをルーティングするための方法が適用される。方法は、データを記憶するコンテンツソースのそれぞれが、それぞれの無限容量通信リンによって共通の仮想コンテンツサーバにそれぞれ接続された仮想ルータとして表されるネットワークトポロジーを生成するステップと、仮想コンテンツサーバから受信デバイスへのデータに対するネットワークトポロジーを通した最適化されたルーティングを決定するステップと、最適化されたルーティングに従い、ネットワークを通して受信デバイスにデータを送信するためにコンテンツソースのそれぞれに対するデータ割振りを決定するステップとを含む。
【０００５】
別の実施形態例によれば、データを記憶する複数のコンテンツソースから受信デバイスにネットワークを通したデータのトラフィックルーティングを最適化するためのシステムが提供される。システムは、データを記憶するコンテンツソースのそれぞれが、それぞれの無限容量通信リンによって共通の仮想コンテンツサーバにそれぞれ接続された仮想ルータとして表されるネットワークトポロジーを生成するように構成されたトラフィックオプティマイザを含む。トラフィックオプティマイザは、仮想コンテンツサーバから受信デバイスへのデータに対するネットワークトポロジーを通した最適化されたルーティングも決定し、最適化されたルーティングに従い、ネットワークを通して受信デバイスにデータを送信するためにコンテンツソースのそれぞれに対するデータ割振りも決定する。
【０００６】
別の実施形態例によれば、ネットワークにおいて、データを記憶する複数のコンテンツソースから受信デバイスにデータをルーティングするためのトラフィック最適化を実装するためのコンピュータ命令を記憶する非一時的コンピュータ可読媒体を含むコンピュータプログラム製品が提供される。その命令により、トラフィック最適化プロセッサは、データを記憶するコンテンツソースのそれぞれが、それぞれの無限容量通信リンによって共通の仮想コンテンツサーバにそれぞれ接続された仮想ルータとして表されるネットワークトポロジーを生成し、仮想コンテンツサーバから受信デバイスへのデータに対するネットワークトポロジーを通した最適化されたルーティングを決定し、最適化されたルーティングに従い、ネットワークを通して受信デバイスにデータを送信するためにコンテンツソースのそれぞれに対するデータ割振りを決定する。
【０００７】
本開示をより完全に理解するために、次に、以下の説明を、以下に列挙された添付の図面と併せて参照する。
【図面の簡単な説明】
【０００８】
【図１】本明細書に説明する方法およびシステムの実施形態例を適用することができるコンテンツ配信ネットワーク(CDN)の例の概略図である。
【図２】実施形態例による、CDNにおけるデータソースおよびルーティングの選択を同時に最適化するための方法を示す流れ図である。
【図３】実施形態例による、図1のCDNに対して作り出されたネットワークトポロジーの例の概略図である。
【図４】最適化公式化例を示す図である。
【図５】実施形態例による、配信コンテンツキャッシングの例を示す図である。
【発明を実施するための形態】
【０００９】
同じ参照番号が、同様の要素および特徴を表すために図全体を通して使用される。本開示の態様を、例示される実施形態と併せて説明するが、そのような実施形態に本開示を限定することが意図されていないことは理解されよう。
【００１０】
図1は、例えば、ソース選択とトラフィック工学(TE)とを最適化するためのシステムおよび方法の実施形態例を適用することができるコンテンツ配信ネットワーク(CDN)120であり得る通信ネットワークを表す。CDN120は、1つまたは複数の有線通信ネットワークまたはワイヤレス通信ネットワークまたは有線通信ネットワークとワイヤレス通信ネットワークとの組合せを含むことができる。CDN120は、第4世代(4G)または第5世代(5G)電気通信ネットワーク、ロングタームエボリューション(LTE)、第3世代パートナーシッププロジェクト(3GPP)、ユニバーサル移動体通信システム(UMTS)および他のワイヤレスまたはセルラー通信ネットワークを含むがそれらに限定されない、1つまたは複数の標準または技術により動作することができる。
【００１１】
図1のCDN120において、同じデータを、例えば、1つまたは複数のコンテンツサーバ110とコンテンツキャッシュ112とを含む複数のデータソースまたはデータコンテナノードに記憶することができる。データは、ルータ114によってCDN120を通してルーティングされ、無線ノード116などのネットワークゲートウェイノードを通してユーザ機器(UE)118などの受信デバイスにワイヤレスで送信され、無線ノード116は、例えば、基地局またはワイヤレスアクセスポイントを含むことができる。コンテンツキャッシュ112は、例えば、ルータ114において、無線ノード116または他のゲートウェイノードを含む、CDN120内のまたはCDN120の外部の異なるネットワークノードにおいて物理的に実装することができる。受信デバイスUE118を図1にワイヤレス通信デバイスとして示すが、データ受信デバイスは、有線接続によってゲートウェイノードを通してCDN120に接続されたデバイスを含むこともできる。
【００１２】
典型的なデータアクセス状況において、UE118は、データへの要求をCDN120に送る。従来のCDNシステムでは、データ検索は、適切なコンテンツソース(例えば、コンテンツサーバ110またはコンテンツキャッシュ112)が要求されたデータを提供するように選択され、それに続いて、選択されたデータソースからUE118へのCDN120を通した経路およびデータレートが決定される2ステッププロセスである。第1のステップ、すなわち、コンテンツソースの選択は、典型的には、要求側デバイスによってまたはコンテンツプロバイダによってのいずれかで行われる。例えば、ピアツーピア(P2P)ネットワーク形成では、UE118がP2Pネットワークに加わったとき、UE118は、利用可能なデータソース(他のピア、例えば、他のUEデバイス118を含むことができる)の位置が知らされ、次いで、UE118は、どのピアデバイスにアクセスすべきかを選択し、それにより、典型的には、結果としてコンテンツソースの準最適選択となる。データプロバイダによるサーバ選択の場合、オンラインビデオサービスなどの商用コンテンツプロバイダは、データをユーザにより近づけることによる過負荷を避け、送信遅延を低減するために複数のデータセンタを有する。コンテンツプロバイダによって実施されるコンテンツソースの選択は、典型的には、要求側通信デバイス118の地理的な位置および負荷バランシングの検討に基づくが、それはトラフィック工学の観点からすれば準最適であり得る。P2Pおよび商用CDNシステムの両方において、準最適コンテンツソース選択は、次いで、結果として準最適TE決定となる。
【００１３】
P2Pおよび商用配信環境においてコンテンツを供給するためのCDNネットワークの使用が増大するにつれて、およびネットワーク内のデータソース(例えば、フェムトセル無線基地局におけるデータキャッシングを含む)が拡大するにつれて、データソースの最適な選択およびデータソースからコンテンツユーザへの最適なネットワークルーティングが非常に望ましくなる。
【００１４】
CDN120内のデータソースの選択およびトラフィック工学(例えば、経路選択およびレート割振り)の両方を同時に最適化するための方法およびシステムを、次に実施形態例により説明する。図1に示すように、一実施形態例において、最適化システム100は、コンテンツ位置サーバ122とトラフィック工学(TE)オプティマイザ126とを含む。
【００１５】
実施形態例において、コンテンツ位置サーバ122は、CDN120の一部またはCDN120にアクセス可能であるデータソースに記憶されたコンテンツの位置を追跡するために、IPアドレスによって表され、CDN120の内部または外部に実装される。コンテンツ位置サーバ122は、例えば、コンテンツサーバ110上に実装することができる。コンテンツ位置サーバ122は、参加しているデータソースを識別するコンテンツ位置データベース124およびデータソースのそれぞれから利用可能であるコンテンツを維持する。図1の例において、コンテンツ位置データベース124は、データソースのそれぞれにおいてどんなデータが利用可能であるかを示す在庫を識別する情報とともに、3つの利用可能なデータソース(すなわち、コンテンツサーバ110およびキャッシュ112のそれぞれ)のアドレス(または他の識別子)を記憶する。いくつかの実施形態例において、コンテンツ位置サーバ122は、CDN120においてデータソースを周期的にポーリングして、そのようなデータソースに記憶されたデータが変更されたかどうかを決定し、それに応じてコンテンツ位置データベース124におけるコンテンツ在庫を更新するように構成される。いくつかの実施形態例において、参加しているデータソースは、コンテンツ位置データベース124が更新されることを可能にするためにコンテンツ位置サーバ122にメッセージを送って、局所的に記憶されたコンテンツの変更を通知するように構成される。したがって、どんなときでも、コンテンツ位置サーバ122は、CDN120に利用可能なデータソースのどこにどんなコンテンツが記憶されているかを示す適度に新しい表示を有する。
【００１６】
TEオプティマイザ126は、CDN120を通してデータを送信するために経路とデータレートとを選択するように構成され、コンテンツ位置サーバ122と同様に、IPアドレスで表すこともでき、CDN120のノードにおいてサーバ上に実装することができる。いくつかの例において、TEオプティマイザ126は、コンテンツ位置サーバ122と同じネットワーク位置に実装される。実施形態例において、TEオプティマイザ126は、データソース(例えば、コンテンツサーバ110およびキャッシュ112)と、ルータ114と、無線ノード116と、これらの要素間の通信リンクとを含むCDN120の物理的要素のリストを記憶するトポロジーデータベース128を維持するか、またはトポロジーデータベース128にアクセスできるかのいずれかである。一例において、トポロジーデータベース128は、CDN120に対して物理的変更が行われた後に更新される。代替実施形態例において、コンテンツ位置サーバ122およびTEオプティマイザ126の特徴を共通のサーバ上に実装することができ、または複数のサーバを介して配信することができる。さらに、いくつかの代替実施形態において、コンテンツ位置サーバ122において実施されるものとして本明細書に説明する特徴には、代わりにTEオプティマイザ126によって実施することができるものもあり、TEオプティマイザ126において実施されるものとして本明細書に説明する特徴には、代わりにコンテンツ位置サーバ122において実施することができるものもある。いくつかの実施形態例において、コンテンツ位置サーバ122およびTEオプティマイザ126の機能の少なくともいくつかは、UEデバイス118において実装することができる。
【００１７】
図2は、CDN120に適用するためのソースおよびルーティング同時最適化のための方法例200を示す。図2に示すように、方法200は、指定されたデータへのUE118からの要求から開始される(動作202)。実施形態例において、コンテンツ要求が、UE118からコンテンツ位置サーバ122によって受信され、それに続いて、次いで、コンテンツ位置サーバ122が、要求されたデータをどんなコンテンツソース110、112が含むのかを決定するためにコンテンツ位置データベース124にアクセスし(動作204)、コンテンツ要求を行ったUE118および要求されたデータが利用可能であるコンテンツソース110、112を識別するメッセージをTEオプティマイザ126に送る(動作206)。現在論じている例において、データソース110、112のそれぞれは、要求されたデータのすべてを含むが、以下により詳細に論じるように、いくつかの実施形態例において、異なるデータセグメントを様々なレベルのデータ重複を有する異なるデータソース間に配信することができる。
【００１８】
TEオプティマイザ126は、CDN120に対して仮想ネットワークノードと物理ネットワークノードとの組合せを含むハイブリッドネットワークトポロジーを生成するためにコンテンツ位置サーバ122から受け取った情報およびトポロジーデータベース128に含まれる情報を使用する(動作208)。図3は、そのようなハイブリッドネットワークトポロジー300を概略的に表す。ハイブリッドネットワークトポロジー300を生成するステップは、UE118によって要求されたデータを含むものとしてコンテンツ位置サーバ122によって識別されたCDN120における物理データソース110、112のそれぞれの代わりに仮想ルータ304を用いるステップを含む(動作208A)。図3に示すように、本例において、UE118によって要求されたデータは、各キャッシュ112において、およびコンテンツサーバ110においても利用可能であり、したがって、コンテンツサーバ110およびキャッシュサーバ112のそれぞれは、ネットワークトポロジー300においてそれぞれの仮想ルータ304として表される。ハイブリッドネットワークトポロジー300を生成するステップは、仮想ルータ304のそれぞれとの仮想無限容量通信リンク306によって接続された仮想コンテンツサーバ302を模倣するステップも含む(動作208B)。仮想通信リンク306のそれぞれは、無限帯域幅、ゼロ待ち時間リンクである。CDN120の残りの物理的要素は、ハイブリッドネットワークトポロジー300に含まれる。
【００１９】
したがって、ハイブリッドネットワークトポロジー300において、同じデータを含む物理的に分散したデータソースの組が、複数の仮想ルータ304との無限容量通信リンク306を有し、各仮想ルータ304が実際の物理データソース110、112のそれぞれの1つの位置に取って代り、その位置を占める単一の仮想データソース(仮想コンテンツサーバ302)としてモデル化される。したがって、仮想ルータ304は、ハイブリッドネットワークトポロジー300の実際の物理的要素とネットワークトポロジー300の仮想要素との間のインターフェースとして働く。
【００２０】
次いで、TEオプティマイザ126は、仮想コンテンツサーバ302からUE118への要求されたデータを得るためにハイブリッドネットワーク300において使用すべき最適な経路とデータレートとを決定するために仮想コンテンツサーバ302を唯一のデータソースとして使用してマルチパスTE最適化を実施する(動作210)。物理データソースを、無限容量リンクによって共通の仮想コンテンツサーバ302データソースに接続された仮想ルータ304で置き換えることにより、TE最適化のための経路選択に行うことが必要とされる計算が、単一のソースに基づいて計算を行うことができるので、大幅に簡略化される。いくつかの単一ソースマルチパス最適化アルゴリズムを、最適化されることが所望される属性(費用、帯域幅の使用、経路の混雑状態、ワイヤレスノードの混雑状態、待ち時間など)によりTEオプティマイザ126によって適切に使用することができる。非制限令により、図4に示す、持続時間内の効用関数を最大にしようとする最適化アルゴリズムを適用することができる。
【００２１】
実施形態例において、TEオプティマイザ126によって実施されたときの最適化アルゴリズムの結果は、複数の経路のそれぞれに対するデータ割振りとともに、仮想コンテンツサーバ302とUE118との間の複数のネットワーク経路を識別するリストの形の最適化されたルーティングである。実施形態例において、データ割振りは、データレートおよびデータ量の両方を含む。次いで、TEオプティマイザ126は、識別された経路および関連付けられたデータ/レート割振りを物理データソースの各1つにマッピングする(動作212)。特に、ハイブリッドトポロジー300における識別された経路のそれぞれは、仮想ルータ304のうちの1つを含み、上記のように、仮想ルータ304のそれぞれは、実際の物理データソース(例えば、物理コンテンツサーバまたはキャッシュ)を表す。したがって、TEオプティマイザ126は、識別されたネットワーク経路における仮想要素のそれぞれを物理データソースで置き換えることができ、それによって、UE118によって要求されたデータに最適化情報214を提供する。最適化情報214は、要求されたデータに対して、(i)複数のデータソース(例えば、コンテンツサーバ110およびキャッシュ112)、(ii)データソースのそれぞれからUE118への1つまたは複数の割り当てられた経路、(iii)割り当てられた経路のそれぞれに対するデータ割振りを識別し、実施形態例において、データ割振りは、割り当てられた経路のそれぞれに対する割り振られたデータレートと、データソース110、112のそれぞれから送られるべきデータの割り振られた量(例えば、データのビットまたはバイトの数)とを含む。
【００２２】
実施形態例において、最適化情報214は、TEオプティマイザ126によってコンテンツ位置サーバ122に提供され、次いで、コンテンツ位置サーバ122は、CDN120における割り当てられた経路を通したデータソースからUE118への要求されたデータの送信を調整するためにその情報を使用する(動作216)。実施形態例において、要求されたデータは、k個のシンボルのメッセージが、オリジナルメッセージをn個のシンボルのサブセットから復元できるようにn個のシンボルを有するより長いメッセージ(符号語)に変換されるアプリケーション層順方向誤り訂正(AL-FEC: application layer forward error correction)スキームを使用してCDN120を通して送信される。そのような実施形態において、コンテンツサーバ間のデータセグメンテーションは、コンテンツソースの組合せがオリジナルメッセージを復元するのに必要な符号化されたデータセグメントの総数を集合的に送る限り、ビットレベルにおいて調整する必要はない。例により、データシンボルの閾値数が合計でコンテンツソースから累積的に送信されるという条件でセグメンテーションおよびデータソース不可知論であるシステムを作り出すのに噴水符号化を使用することができる。そのような実施形態例において、コンテンツ位置サーバ122は、最適化情報214に基づいて、各特定のコンテンツソース110、112から送るべきデータの量を認識している。一実施形態例において、コンテンツ位置サーバ122は、各個々のコンテンツソース110、112に、それがUE118に送るために割り当てられたデータのそれぞれの量(例、ビットまたはバイトの数)、使用すべき経路、および各経路に対して割り振られたデータレートについて命令し、次いで、個々のコンテンツソース110、112は命令された通りにデータを送信する。ある実施形態例において、個々のコンテンツソース110、112に命令することと併せて、コンテンツ位置サーバ122は、どの個々のコンテンツソース110、112が要求されたデータをUE118に送るように割り当てられたか、各コンテンツソース110、112に割り当てられたデータの量、および割り振られたデータレートをUE118に通知もする。いくつかの実施形態例において、コンテンツ位置サーバ122は、コンテンツソース110、112と通信しない可能性があるが、むしろ、要求されたデータをどの個々のコンテンツソース110、112がUE118に送るために割り当てられたのか、各コンテンツソースに割り当てられたデータの量、および割り振られたデータレートだけをUE118に通知し、それに続いて、UE118は、データの割り振られた量をそれぞれのデータソースの各々に要求する。
【００２３】
いくつかの実施形態例において、データソース調整(動作216)は、コンテンツ位置サーバ122ではなくUE118において実施することができ、その場合、TEオプティマイザ126によって生成された最適化情報214は、コンテンツ位置サーバ122によってUE118に提供される。
【００２４】
上記に説明した例は、データパケットの個々のコンテンツの順序に特に関係なくデータ割振りをデータソース間で行うことができるようにAL-FECが使用されるシステムを論じたが、いくつかの実施形態例において、システムは、具体的なデータパケットが具体的なコンテンツソースから送られることを必要とする符号化システムを使用することができる。そのようなシステムでは、コンテンツ位置サーバ122は、コンテンツ位置サーバ122からコンテンツソース110、112のそれぞれに送られた命令が各コンテンツソース110、112のどのデータセグメントが送ることになるのか、ならびに割り当てられた経路に対して指定されたデータおよびデータレートを送るのに使用すべき経路を指定するように、重複を避けるために具体的なデータセグメントまたはパケットが具体的なコンテンツソースに割り当てられることを確実にするように構成することができる。あるいは、いくつかの実施形態において、コンテンツソース110、112は、コンテンツ位置サーバ122によってデータの量ならびに割り当てられた経路およびデータレートが通知されるだけであり、コンテンツソース110、112は、各コンテンツソース110、112のどのそれぞれのデータセグメントが重複を避けるために送るのかに関してそれら自体の間で折り合いをつけるように構成される。
【００２５】
上記に説明した実施形態例において、購読サービスが伴う商用データ配信ネットワークの場合にはよくあることだが、UE118によって要求されたデータの全部は、CDN120内のコンテンツソース110、112のそれぞれにおいて記憶された。しかし、例えば、無線ノード116などの様々なネットワークノード、および複数のUEデバイス118を含めて、CDN120内の複数のノードにおける配信されたデータの部分キャッシングは、特にP2P環境において行うこともできる。この点において、次に、UE118によって要求されたデータが異なるデータソース間で配信される実施形態例を説明する。図5は、2つのコンテンツサーバ110(S1およびS2)と3つのコンテンツキャッシュ112(C1、C2およびC3)とを含む、CDN120におけるデータソース間で、データ0〜nを含むコンテンツが配信される、配信キャッシング例を示す。S1およびS2は、それぞれ、コンテンツセグメント0〜nを記憶し、C1はコンテンツセグメントa〜cを記憶し、C2はコンテンツセグメントb〜eを記憶し、またC3はコンテンツセグメントd〜nを記憶する。C2におけるセグメントはC1およびC3におけるセグメントと重複し、C1、C2およびC3のそれぞれは、S1およびS2と部分的に重複することに留意されたい。実施形態例において、C1、C2またはC3のうちの1つまたは複数は、それぞれの無線ノード116または他のネットワークノードに配置することができる。コンテンツ位置サーバ122によって維持されるコンテンツ位置データベース124は、データソースS1、S2、C1、C2、C3と、各データソースに記憶されたデータ0〜nのそれぞれのセグメント部分とを識別する。
【００２６】
図5の例において、図1および図2をさらに参照すると、コンテンツ位置サーバ122は、データa〜eに対するコンテンツ要求をUE118から受信する(動作202)。次いで、コンテンツ位置サーバ122は、どんなコンテンツソースがデータ0〜eを含むのかを決定するためにコンテンツ位置データベース124にアクセスする(動作204)。本例において、コンテンツ位置サーバ122は、データ0〜eのすべてがS1およびS2に配置されており、およびC1、C2およびC3がそれぞれ、データ0〜eのそれぞれのサブセットを記憶していると決定する。そのような例では、コンテンツ位置サーバ122は、データ重複がそれぞれのコンテンツソース間で生じる場所を識別し、TEオプティマイザ126に通知する(動作206)。したがって、図5の例示された例において、コンテンツ位置サーバは、(i)セグメント0がS1およびS2に記憶され、(ii)セグメントa〜bがS1、S2およびC1に記憶され、(iii)セグメントb〜cがS1、S2、C1およびC2に記憶され、(iv)セグメントc〜dがS1、S2およびC2に記憶され、(v)セグメントd〜eがS1、S2、C2およびC3に記憶され、(vi)セグメントe〜nがS1、S2およびC3に記憶されていることをTEオプティマイザ126に通知する。実際には、図5の例においては、データ0〜nは、データソースの固有の組合せからそれぞれ利用可能である6つのコンテンツセグメントに分割することができる。
【００２７】
上記に説明するように、TEオプティマイザ126は、TEオプティマイザ126が単一ソース最適化アルゴリズムをマルチソース環境に適用することを可能にするために、同一データのソースに対するハイブリッドネットワークトポロジーを生成するように構成される(動作208)。したがって、図5の例では、最適化が、データソースの固有の組合せにおいて利用可能であるものとして識別された各コンテンツセグメントに対して実施される。例えば、コンテンツセグメント0〜aに関する限りでは、TEオプティマイザ126は、C1、C2およびC3を無視し、S1およびS2が、それぞれ、仮想ルータで置き換えられ、次いで、無限容量データリンクによって単一の仮想コンテンツサーバに接続されるハイブリッドネットワークトポロジーを生成する(動作208A、208B)。次いで、マルチパスTE最適化が、仮想コンテンツサーバを単一のデータソースとして使用して実施され(動作210)、次いで、セグメント0〜aのどの位をS1およびS2のそれぞれに割り振るべきか、ならびにセグメント0〜aをUE118に送るための、それらのそれぞれによって使用されるべき経路およびデータレートを決定するために、結果が物理ネットワークにまたマッピングされる(動作212)。TEオプティマイザ126は、識別されたコンテンツセグメントのそれぞれに対して最適化動作208〜212を実施し、コンテンツセグメントa〜bでは、最適化はデータソースS1、S2およびC1の間での割振りのために実施され、セグメントb〜cでは、最適化はデータソースS1、S2、C1およびC2の間での割振りのために実施され、セグメントc〜dでは、最適化はデータソースS1、S2、およびC2の間での割振りのために実施され、セグメントd〜eでは、最適化はデータソースS1、S2、C2およびC3の間での割振りのために実施され、セグメントe〜nでは、最適化はデータソースS1、S2およびC3の間での割振りのために実施される。次いで、結果として得られた最適化情報は、データ0〜eのUE118へのデータ送信を調整するのに使用される。
【００２８】
いくつかの実施形態例において、コンテンツ位置サーバ122は、要求されたデータの閾値量を含まないデータソースを無視するように構成される。例により、図5の状況で、動作202においてデータ0〜eへの要求を受信し次第、コンテンツ位置サーバ122は、動作204において、C1およびC2上に記憶されたデータのサブセットが最適化動作に効率よく含まれるには小さ過ぎることを決定するように構成することができ、その場合、C1およびC2は、動作206において、TEオプティマイザに提供されたコンテンツソースのリストから割愛され、TEオプティマイザ126は、代わりに、コンテンツセグメント0〜dがS1およびS2に記憶され、コンテンツセグメントd〜nがS1、S2およびC3に記憶されたことが通知される。次いで、TEオプティマイザ126は、ソースS1およびS2の状況でセグメント0〜dに関する限りでは、およびS1、S2およびC3の状況でセグメントd〜eに関する限りでは、最適化動作208〜212を実施する。データソースC1およびC2は無視される。
【００２９】
したがって、データソースおよびルート選択を同時に最適化することを可能にするためのシステムおよび方法を本明細書に説明してきたことが理解されよう。
【００３０】
本開示は、開示された方法およびシステムの例を実装するためのあるアルゴリズムおよび計算の例を提供する。しかし、本開示は、任意の特定のアルゴリズムまたは計算に縛られない。
【００３１】
本開示は、ある順序のステップを有する方法およびプロセスを説明するが、方法およびプロセスの1つまたは複数のステップは、必要に応じて割愛または改変することができる。1つまたは複数のステップは、必要に応じて、それらが説明される順序以外の順序で行うことができる。
【００３２】
本開示を少なくとも部分的には方法の観点から説明したが、本開示は説明した方法の態様および特徴の少なくとも一部を実施するための様々な構成要素も対象としており、それはハードウェア構成要素、ソフトウェアまたは2つの任意の組合せによることを当業者は理解するであろう。したがって、本開示の技術的解決策は、ソフトウェア製品の形で具現化することができる。適切なソフトウェア製品は、例えば、DVD、CD-ROM、USBフラッシュディスク、取り外し可能ハードディスク、または他の記憶媒体を含む、あらかじめ記録された記憶デバイスまたは他の同様の不揮発性もしくは非一時的コンピュータ可読媒体に記憶することができる。ソフトウェア製品は、その上に、処理デバイス(例えば、パーソナルコンピュータ、サーバ、またはネットワークデバイス)が本明細書に開示された方法の例を実行することを可能にする、有形に記憶された命令を含む。
【００３３】
本開示は、特許請求の範囲の主題から逸脱することなく、他の具体的な形で具現化することができる。説明した実施形態例は、すべての点において、制限的ではなく例示的だけであるものとして考慮されるものとする。上記に説明した実施形態のうちの1つまたは複数からの選択された特徴は、明示的に説明されていない代替実施形態を作り出すために組み合わせることができ、そのような組合せに適切な特徴は、本開示の範囲内で理解される。
【００３４】
開示された範囲内のすべての値および部分的な範囲も開示されている。また、本明細書に開示されおよび示されたシステム、デバイスおよびプロセスは、具体的な数の要素/構成要素を含むことができるが、システム、デバイスおよび組立品は、そのような要素/構成要素のうちの追加のまたはより少ない数の要素/構成要素を含むように変更することができる。例えば、開示された要素/構成要素のうちのいずれかは、単数であるものとして参照することができるが、本明細書に開示された実施形態は、複数のそのような要素/構成要素を含むように変更することができる。本明細書に説明した主題は、すべての適切な技術の変更を包含することを意図している。
【符号の説明】
【００３５】
100  最適化システム
110  コンテンツサーバ、コンテンツソース、データソース、物理データソース
112  コンテンツキャッシュ、コンテンツソース
114  ルータ
116  無線ノード
118  ユーザ機器(UE)、要求側通信デバイス
120  コンテンツ配信ネットワーク(CDN)
122  コンテンツ位置サーバ
124  コンテンツ位置データベース
126  トラフィック光学オプティマイザ(TEオプティマイザ)
128  トポロジーデータベース
300  ハイブリッドネットワークトポロジー
302  仮想コンテンツサーバ
304  仮想ルータ
306  仮想通信リンク
【図１】
0006475342.tif 000002
【図２】
0006475342.tif 000003
【図３】
0006475342.tif 000004
【図４】
0006475342.tif 000005
【図５】
0006475342.tif 000006