JP2016519457A - コンテンツ配信ネットワークにおいて分散型コンテンツ・キャッシングを実現する方法および装置 - Google Patents

コンテンツ配信ネットワークにおいて分散型コンテンツ・キャッシングを実現する方法および装置 Download PDF

Info

Publication number
JP2016519457A
JP2016519457A JP2016501519A JP2016501519A JP2016519457A JP 2016519457 A JP2016519457 A JP 2016519457A JP 2016501519 A JP2016501519 A JP 2016501519A JP 2016501519 A JP2016501519 A JP 2016501519A JP 2016519457 A JP2016519457 A JP 2016519457A
Authority
JP
Japan
Prior art keywords
content
cdn
server
gateway
gateway devices
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
JP2016501519A
Other languages
English (en)
Other versions
JP6272451B2 (ja
Inventor
メダード,ミューリエル
ピン カルモン,フラヴィオ・デュ
ピン カルモン,フラヴィオ・デュ
ゼン,ウェイフェイ
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.)
Massachusetts Institute of Technology
Original Assignee
Massachusetts Institute of Technology
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 Massachusetts Institute of Technology filed Critical Massachusetts Institute of Technology
Publication of JP2016519457A publication Critical patent/JP2016519457A/ja
Application granted granted Critical
Publication of JP6272451B2 publication Critical patent/JP6272451B2/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

コンテンツ配信サーバについて記載する。このコンテンツ配信サーバは、コンテンツ配信ネットワーク(CDN)において使用することができる。また、分散型コンテンツ・キャッシング技法についても記載する。この分散型コンテンツ・キャッシング技法は、CDN内部において効率的に低コストで実現することができる。種々の実施形態において、ネットワークにおけるコンテンツ配信に関連するコスト関数を減少させる(理想的には最少化する)ことによって、CDN内部にある複数のゲートウェイ・デバイスにおけるキャッシュするために、コンテンツを識別する。コスト関数は、ゲートウェイ・デバイスからユーザにコンテンツを配信するコスト、およびCDNの集中位置からユーザにコンテンツを配信することに関連するコストを考慮に入れることができる。【選択図】図1

Description

[0001] 本明細書において開示する主題は、一般には、データ配信に関し、更に特定すれば、1つ以上のコンテンツ・プロバイダから複数のエンド・ユーザへのディジタル・コンテンツ配信に関する。
[0002] コンテンツ配信ネットワーク(CDN)は、ネットワークにおいてディジタル・コンテンツをエンド・ユーザに配信する(distribute)ために使用されるシステムである。CDNは、多くの場合、コンテンツ・プロバイダによってそれらのコンテンツを公衆に配信するために使用される。コンテンツ・プロバイダは、それら自体のCDNを維持することもあり、またはそれらのコンテンツを配信するために独立したCDN運営会社に支払うこともできる。通常、CDNは一定のサービス品質(QoS)でコンテンツをユーザに配信することに同意する。CDNは、通例、コンテンツ配信をサポートするために、1つ以上のデータ・センタを運用する。周知であろうが、データ・センタとは、ユーザへのディジタル・コンテンツの格納および配信に伴うコンピュータ・ハードウェア(例えば、サーバ、ルータ、ディスク・ドライブ等)を通例収容する大型設備である。CDNは、データ・センタ(1つまたは複数)を所有することもできるが、コンテンツ配信を容易にするために1つ以上の独立したデータ・センタと契約を結ぶこともできる。
[0003] 認められようが、CDNは非常に高価であり、運用するのが複雑である可能性がある。加えて、ディジタル・コンテンツに対する需要が増々増加することにより、CDNは、需要を満たすためそしてそれらのサービス品質の義務を果たすために、更に大きく更に多数のデータ・センタを維持することまたはサポートすることが求められている。ディジタル・コンテンツ配信に関連するコストおよびハードウェア要件を低減するために使用することができる技法、システム、およびデバイスが求められている。
[0004] 本明細書において説明する種々の実施形態において、分散型コンテンツ・キャッシング(DCC)を使用してコンテンツ配信ネットワーク(CDN)の性能および設計を向上させる技法およびシステムを提供する。本明細書において説明する特徴の一部は、例えば、CDNの運用の効率を高めるため、そしてこのようなシステムを実現するコストを低減するために使用することができる。ある実施形態では、CDNにおけるDCC性能を最適化するための最適化技法を提供する。例えば、ネットワークにおける異なるゲートウェイまたはエッジ・デバイスに跨がってファイルのシームレスな配信を可能にするために、CDNにコンテンツを格納するためのある実現例において、ネットワーク・コーディング技法(または他のコーディング技法)も、ある実施形態において提供する。ネットワーク・コーディングの使用は、個々のファイル・パーティショニングに関連する問題を迂回することを可能にし、こうして所与のファイルの異なる部分の特定の位置に関わる必要なく、ネットワークでファイルをシームレスに配信することを可能にすることができる。
[0005] 本明細書において説明する概念、システム、回路、および技法の1つの形態によれば、コンテンツを複数のユーザに配信するコンテンツ配信ネットワーク(CDN)における使用のための機械実装方法を提供する。CDNは、コンテンツ配信サービスを管理するために中央サーバを使用し、更にユーザ位置の近くに位置する複数のゲートウェイ・デバイスを使用する。ゲートウェイ・デバイスは、CDNによって配信されるコンテンツの少なくとも一部をキャッシュするデータ格納能力を有する。更に具体的には、この方法は、CDNを記述する情報を収集するステップと、ユーザ・コンテンツ要件に対応するCDNの動作の統計を集計するステップと、コンテンツ配信に関連するコスト関数を最小に抑えることによって、複数のゲートウェイ・デバイスにおいて格納されるコンテンツを決定するステップであって、コスト関数が、サーバからのコンテンツ配信に関連するコスト、およびゲートウェイ・デバイスからのコンテンツ配信に関連するコストを考慮に入れ、コンテンツを決定するステップが、収集した情報および集計した統計を使用するステップを含む、ステップと、格納されるコンテンツを決定するステップの結果にしたがって、キャッシュするためにコンテンツを複数のゲートウェイ・デバイスに送るステップとを含む。
[0006] 一実施形態では、収集するステップ、集計するステップ、決定するステップ、および送るステップは、中央サーバにおいて実行される。
[0007] 一実施形態では、この方法は、更に、CDNを効率的に運用するために、収集するステップ、集計するステップ、決定するステップ、および送るステップを連続的に繰り返すステップも含む。
[0008] 一実施形態では、コスト関数は、サーバの配信遅延を考慮する項を含む。
[0009] 一実施形態では、コスト関数は、サーバ負荷分散に対する制限を含む。
[0010] 一実施形態では、複数のゲートウェイ・デバイスにおいて格納するコンテンツを決定するステップは、コスト関数を最小に抑えるために以下の最適化手順の内少なくとも1つを使用するステップを含む。一般代理勾配方式(General Proxy Gradient Scheme)、内点法、ならびにGUROBIおよびCVXのような数値ソルバ(numerical solver)。
[0011] 一実施形態では、キャッシュするためにコンテンツを複数のゲートウェイ・デバイスに送るステップは、コンテンツをインターネットを介して送るステップを含む。
[0012] 一実施形態では、CDNに関連する複数のゲートウェイ・デバイスは、共通インターネット・サービス・プロバイダ(ISP)を介してインターネットと通信し、中央サーバはインターネットに接続される。
[0013] 一実施形態では、コンテンツを複数のゲートウェイ・デバイスに送るステップは、中央サーバ位置に配置されていない1つ以上のデータ・センタからゲートウェイ・デバイスにコンテンツの少なくとも一部を送らせるステップを含む。
[0014] 一実施形態では、キャッシュするためにコンテンツを複数のゲートウェイ・デバイスに送るステップは、ネットワーク・コード化ファイル・セグメントをゲートウェイ・デバイスに送るステップを含む。
[0015] 本明細書において説明する概念、システム、回路、および技法の他の形態によれば、複数のユーザにコンテンツ配信サービスを提供するコンテンツ配信ネットワーク(CDN)は、当該CDNのためにコンテンツ配信サービスを管理するコンテンツ配信サーバを含む。一実施形態例では、コンテンツ配信サーバは、ユーザ位置またはその近くにおいて配備された複数のゲートウェイ・デバイスにおいて、選択されたコンテンツをキャッシュするためのキャッシング方式をCDNのために実行する(develop)ように構成される。ある実施形態では、キャッシング方式は、コンテンツをユーザに配信するときの効率を高めることができる。ある実施形態では、コンテンツ配信サーバは、コンテンツ配信に関連するコスト関数を最少化することによって、キャッシング方式を実行するように構成され、コスト関数が、ゲートウェイ・デバイスからのコンテンツ配信に関連するコストと、CDNの1つ以上の他のコンテンツ記憶位置からのコンテンツ配信に関連するコストとの双方を考慮に入れる。
[0016] 一実施形態では、ユーザ位置またはその近くに配備された複数のゲートウェイ・デバイスが、CDNの制御下にある。
[0017] また、CDNまたは他のネットワークにおいて使用することができるコンテンツ配信サービスを管理するコンテンツ配信サーバについても記載する。一実施形態例では、コンテンツ配信サーバは、ユーザ位置またはその近くに配備された複数のゲートウェイ・デバイスにおいて、選択されたコンテンツをキャッシュするために、CDNまたは他のネットワークのためにキャッシング方式を実行するように構成される。ある実施形態では、このキャッシング方式は、コンテンツをユーザに配信するときの効率を高めることができる。このキャッシング方式は、システムまたはコンテンツ配信サーバのようなサーバにおいて使用することができる。ある実施形態では、サーバ(例えば、コンテンツ配信サーバ)は、コンテンツ配信に関連するコスト関数を減少させる(そして理想的には最少化する)ことによって、キャッシング方式を実行するように構成され、コスト関数は、ゲートウェイ・デバイスからユーザにコンテンツを配信するコスト、およびCDNの1つ以上の他のコンテンツ格納位置からの配信に関連するコストを考慮に入れる。一実施形態では、コンテンツ配信サーバは、キャッシング方式にしたがって、複数のゲートウェイ・デバイスにおける個々のゲートウェイ・デバイスにコンテンツを配信するように構成される。
[0018] 一実施形態では、コンテンツ配信サーバが、CDNにおける経時的な変化を考慮に入れるために、キャッシング方式を時々更新するように構成される。
[0019] 一実施形態では、コンテンツ配信サーバが、複数のゲートウェイ・デバイスにインターネットを介して結合される。
[0020] 一実施形態では、複数のゲートウェイ・デバイスが、全て共通のインターネット・サービス・プロバイダ(ISP)に関連付けられる。
[0021] 一実施形態では、コンテンツ配信サーバが、CDNの現在の構成についての情報を収集し、ユーザ・コンテンツ要求に対応するCDNの動作の統計を集計し、CDNのためにキャッシング方式を実行するために、収集した情報および集計した統計を使用するように構成される。
[0022] 一実施形態では、コスト関数が、コンテンツ配信サーバが1単位のコンテンツをゲートウェイに送信するコストと、ゲートウェイにおいて1単位のコンテンツをキャッシュするコストとを使用する。
[0023] 一実施形態では、コスト関数が、サーバにおける配信遅延を考慮に入れる項を含む。
[0024] 一実施形態では、コスト関数が、サーバ負荷分散に対する制限を含む。
[0025] 一実施形態では、コンテンツ配信サーバが、ネットワーク・コード化コンテンツを、複数のゲートウェイ・デバイスに、その中にキャッシュするために配信するように構成される。
[0026] 本明細書において説明する概念、システム、回路、および技法の更に他の態様によれば、命令が格納された1つ以上の非一時的コンピュータ読み取り可能媒体を含む製品を提供する。計算システムによってこの命令が実行されると、コンテンツを複数のユーザに配信するコンテンツ配信ネットワーク(CDN)における使用のための方法を実行する。CDNは、コンテンツ配信サービスを管理する中央サーバと、ユーザ位置に近接して配置され、CDNにおいて配信されるコンテンツの少なくとも一部をキャッシュするときの使用のためにデータ記憶能力を有する複数のゲートウェイ・デバイスとを有する。更に特定すれば、この方法は、以下のステップ、CDNを記述する情報を収集するステップと、ユーザ・コンテンツ要件に対応するCDNの動作の統計を集計するステップと、コンテンツ配信に関連するコスト関数を最少化することによって、複数のゲートウェイ・デバイスにおいて格納されるコンテンツを決定するステップであって、コスト関数が、サーバからのコンテンツ配信に関連するコストと、ゲートウェイ・デバイスからのコンテンツ配信に関連するコストとを考慮に入れ、コンテンツの決定が、収集された情報および集計された統計を使用することを含む、ステップと、格納するコンテンツを決定した結果にしたがって、複数のゲートウェイ・デバイスに、それによってキャッシュされるコンテンツを送るステップ、の内1つまたは組み合わせを含むこともできる。
[0027] 一実施形態では、コスト関数が、前記サーバにおける配信遅延を考慮に入れる項を含む。
[0028] 一実施形態では、コスト関数が、サーバ負荷分散に対する制限を含む。
[0029] 以上の特徴は、以下の図面の説明から一層深く理解することができよう。
図1は、実施形態によるコンテンツ配信ネットワーク(CDN)を示すブロック図である。 図2は、CDN内部で利用可能なムービー・ファイルの数(M)の関数として、CDN内部における種々のゲートウェイ数(N)に対する最適コスト値を示すグラフである。 図3は実施形態による最適化プロセスの収束を示すグラフである。 図4は、実施形態によるCDNに対するサーバ容量の関数として種々のコストを示すグラフである。 図5は、実施形態にしたがってDCCを使用するCDNを運用する方法例を示す流れ図である。
[0035] 本明細書では、ネットワークにおいてディジタル・コンテンツをユーザに効率的にそして価格効率的に配信することを可能にする技法、システム、およびデバイスについて説明する。これらの技法、システム、およびデバイスは、例えば、コンテンツ配信に関連するコスト、複雑さ、およびハードウェア要件を低減するために、コンテンツ・プロバイダ、コンテンツ配信ネットワーク(CDN)運用会社、およびデータ・センタ運用会社によって使用することができる。種々の実施形態において、分散型コンテンツ・キャッシング(DCC)技法が、CDNに関連するデータ・センタ内におけるハードアウェア要件を低減するために使用される。更に詳細に説明するが、DCCは、1つ以上の集中位置(例えば、データ・センタ等)の代わりに、ネットワークのエンド・ポイントの近く(即ち、ユーザ位置の近く)において、コンテンツの一部または全部を配信することを伴う。つまり、本明細書において説明するある実施形態では、ネットワークのユーザに関連し、ユーザ位置またはその付近に配置されたエッジ・デバイスまたはゲートウェイ内に、コンテンツが格納される。加えて、種々の実施形態において、ネットワーク内部における格納および通信制限のコストを仮定して、効率的なコンテンツ配信を達成するためにネットワークのゲートウェイ・デバイス内にキャッシュされるコンテンツをインテリジェントに選択するための技法を提供する。本明細書において説明する技法、システム、およびデバイスは、大型および小型双方のネットワーク、ならびにプライベートおよびパブリック双方のネットワークを含む、異なるタイプのネットワークにおいて、コンテンツを配信するために使用することができる。
[0036] ある実施形態では、DCCの運用の効率を高めるときに使用するために1つ以上のコスト関数を設ける。システムに関連する複数の決定変数に対して値を求めるコスト関数を最小化するために、最適化技法を利用することもできる。次いで、決定変数値は、ネットワークのユーザ・ゲートウェイ内に格納されるコンテンツを選択するために使用することができる。ある実施形態では、エッジ位置に格納されるコンテンツをエンコードするために、ネットワーク・コーディングを使用する。この手法を使用すると、コンテンツ・ファイルの部分(例えば、ビデオ・ムービー・ファイル等の別々の部分)のパーティショニングおよびシーケンシングを回避することができる。ネットワーク・コーディング技法を使用すると、コンテンツ・ファイルを複数のコード化セグメントに分けることができ、これらのコード化セグメントは、シーケンス番号を組み立て直して使用可能ファイルを得る必要がない。代わりに、デコーディングを行わせるためには、エンド・ユーザが、異なるソース位置から十分な数のこのようなコード化セグメントを単に収集するだけでよい。デコーディングを可能にする十分な数の線形独立コード化セグメントが受信される限り、コード化セグメントの実際のソースは関係ない。
[0037] 既に説明したように、CDNは、通例、エンド・ユーザへのコンテンツ配信を容易にするために、データ・センタを使用する。データ・センタは、効果的なコンテンツ配信のために必要とされる機器の多くを集中させた大型設備である。この機器の集中化は、維持および通信双方のコストを含む、全体的なコストを低減することを可能にする。しかしながら、このような集中化には、それに関連する問題もある。これらの問題は、過剰プロビジョニング、エネルギ消散、およびエンド・ユーザまでの距離に関連する問題を含むことができる。オンライン・サービスを提供する会社はいずれも、規模は関係なく、その業務モデルの肝要な構成要素(component)として、データ・センタに関連するコストを考慮しなければならない。
[0038] 過剰なプロビジョニングは、殆どのデータ・センタが、平均需要ではなく最大需要に合わせるように設計され、必要とされるサーバ数が大幅に増えるという事実に関係する。それらの物理的アーキテクチャ(例えば、大多数の同時に動作するプロセッサ等)のために、データ・センタは大量の望ましくない熱を発生する可能性があり、連続動作を確保するためにはこの熱を除去する必要がある。この熱の除去は、場合によっては、厄介なことになる可能性がある。また、データ・センタは、通例、ネットワークにおけるユーザ位置から遠ざけられている(far removed from)。これらの長距離は、通信のために帯域幅プロビジョニング増加を必要とする可能性があり、更に、ビデオ・ストリーミングのような、逼迫した遅延制限がある用途に対して、問題が生ずる可能性もある。
[0039] 分散型コンテンツ・キャッシング(DCC)の使用は、ディジタル・コンテンツ配信を実行するときにデータ・センタに関連する問題の一部を軽減または解消する1つの方法である。先に説明したように、DCCは、ユーザ位置またはその近くに配置されたエッジまたはゲートウェイ・デバイスにおいて、ユーザに配信されるコンテンツの一部または全部を格納することを伴う。ストレージの価格が常に低下しているので、ゲートウェイは、ディジタル・コンテンツを格納するときに使用するために大量のディジタル・ストレージを装備することができる。また、これらのデバイスには、ある実施形態ではコンテンツ・キャッシングをサポートするために使用することができるあるレベルのディジタル計算パワーも装備することができる。加えて、このようなデバイスは、通例、ブロードバンド・リンクを介してインターネット(または他のネットワーク)に接続され、コンテンツ配信のための小規模なサーバとして機能する能力をこれらのデバイスに与える。あるシステムでは、異なるユーザに関連するゲートウェイ・デバイスは、比較的低いコストで、直接互いに通信すること、または対応するISPを介して互いに通信することができる。ある実施形態では、この低コスト通信能力は、ピア−ツー−ピア様式で他のゲートウェイにサーブするゲートウェイによって、CDNにおいてDCCを実現するときに利用することができる。
[0040] 以上で説明した理念を例示するために、高解像度、オンデマンド・ビデオ・サービスをユーザに提供することを望むケーブル会社が直面する課題について考える。他方で、このケーブル会社は、一定のコストでコンテンツをユーザに配信するためにそのDCNを使用することができ、このコストは、リソース要求量(例えば、トラフィック・ボリューム、データ・センタのコスト等)に依存する。代替案として、このケーブル会社は、CDN機能の少なくとも一部を委託するために、そのネットワークにおける数千ものゲートウェイのメモリおよび接続(connectivity)を利用することができる。このようにゲートウェイを使用する場合、ケーブル会社は、例えば、ストレージのコスト、ネットワークの通信制限、およびネットワークの信頼性を仮定して、異なるゲートウェイを跨いでコンテンツ・ファイルをどのように配信するか決定しなければならない。既に説明したように、本明細書では、効率的に、価格効率的にゲートウェイ・デバイス間でコンテンツをどのように配信するか決定するために用いることができる技法、システム、およびデバイスについて説明する。
[0041] 図1は、実施形態によるコンテンツ配信ネットワーク(CDN)10を示すブロック図である。図示のように、CDN10は、コンテンツ配信サーバ12を含む。コンテンツ配信サーバ12は、インターネット20または他のネットワークを介したディジタル・コンテンツの複数のユーザ14a〜14nへの配信を管理するために使用される。ディジタル・コンテンツは、要求に応答してエンド・ユーザに配信することができる任意のタイプのコンテンツを含むことができ、例えば、ビデオ・ファイル、オーディオ・ファイル、ソフトウェア・ダウンロード、ストリーミング・メディア、データ・ファイル、テキスト・ファイル、ニュース・コンテンツ、ビデオ・ゲーム、オンライン・ゲーム、および/またはその他を含む。以下に続く説明では、ムービー・オンデマンド型アプリケーションの一部として配信されるムービーのような、ビデオ・ファイルのコンテキストで、種々のコンテンツ配信技法およびシステムについて説明する。しかしながら、説明する技法およびシステムは、他の実現例における他のタイプのディジタル・コンテンツと使用されてもよいことは理解されてしかるべきである。
[0042] 図1に示すように、CDN10に関連するユーザ14a〜14nの各々は、もっと大きなネットワーク(例えば、インターネット20)へのエントリ・ポイントとして機能する、対応ゲートウェイ・デバイス16a〜16nに結合される。ゲートウェイ・デバイス16a〜16nは、各々、ユーザがもっと大きなネットワークに接続することを可能にする任意のタイプのデバイスを含むことができる。例えば、ゲートウェイ・デバイスは、セット・トップ・ボックス、住居用ゲートウェイ、WiMaxゲートウェイ、セルラ・ゲートウェイ、ケーブル・モデム、DSLモデム、セルラ通信システムに関連するピコ−セル、ルータ、ゲーム・コンソール、またはストレージおよび所望の用途をサポートするための十分な計算パワーを有する任意の他のデバイス(デスクトップまたはラップトップ・コンピュータのような)を含むことができる。ある実施形態では、ゲートウェイ・デバイス16a〜16nの内1つ以上が、あるレベルのプロトコル、または異種ネットワーク間における信号フォーマット変換を設けてもよいが、これは必須ではない。加えて、ある実施形態では、異なるタイプのゲートウェイ・デバイス16a〜16nが異なるユーザ14a〜14nによって使用されてもよい。ある実施形態では、ISP、コンテンツ・プロバイダ、またはCDN運用会社によってユーザに供給されるゲートウェイ・デバイス16a〜16nが配備されてもよいが、ユーザが所有するおよび/またはユーザが制御するゲートウェイ・デバイス16a〜16nが使用されてもよい。
[0043] 図示する実施形態では、CDN10に関連するユーザ14a〜14nの全てが、共通のインターネット・サービス・プロバイダ(ISP)18を介してインターネット20に接続する。更に詳しく説明するが、ISPを共有するユーザにCDN10を限定することによって、ゲートウェイ・デバイス16a〜16n間における比較的低コストの通信を確保することができる。しかしながら、ある実施形態では、複数の異なるプロバイダを介してインターネット(または他のネットワーク)と通信するユーザがCDN内部に存在してもよい。図1を参照すると、ゲートウェイ・デバイス16a〜16nは、複数の通信リンク22を介してISP18に結合される。ある実施形態では、ユーザ・ゲートウェイが、仲介するサービス・プロバイダ(即ち、ISP等)を必要とせずに、直接もっと大きなネットワークに接続することもできる。
[0044] 図1に示すユーザ14a〜14nは、各々、それらに関連するユーザ機器を有することができ、ユーザ機器は、ユーザがディジタル・コンテンツを要求し、受信し、それらに配信されているディジタル・コンテンツを利用することを可能にする。ユーザ機器は、例えば、コンピュータ、テレビジョン受像機、メディア・プレーヤ、オーディオ・デバイス、および/またはその他を含むことができる。ビデオ・ストリーミングの用途では、例えば、ストリーミング・ビデオ・ファイルを生成することができるユーザ機器が使用されてもよい。加えてまたは代わりに、多くの他のタイプのユーザ機器が使用されてもよい。ある実現例では、ユーザに関連するユーザ機器は、例えば、ローカル・ネットワーキング機器を含んでもよい。例えば、ユーザ14a〜14nの1つ以上が、対応する住居または事務所の建物内部に、ローカル・エリア・ネットワーク(LAN)を維持することもできる。LANに関連するルータまたはワイヤレス・アクセス・ポイント(WAN)が、LANをインターネットに接続するために、対応するゲートウェイ・デバイスに接続されてもよい。認められようが、このようなLANは、複数のユーザにゲートウェイ・デバイスを共有させることができる。
[0045] ある実施形態では、ユーザ14a〜14nが、各々、対応する建物、住居、または他の固定構造体内というような、固定ユーザ位置におけるユーザを表すこともできる。他の実現例では、ユーザ14a〜14nの一部または全部が、移動体ユーザ機器を有する移動体ユーザであってもよい。これらの実現例では、コンテンツをキャッシュするためにローカル・ストレージを含むゲートウェイは、例えば、移動体ユーザのためにネットワークへのアクセスを与えるワイヤレス基地局(例えば、セルラ・システムにおけるセルラ基地局、WiMaxネットワークにおけるWiMax基地局等)を含むことができる。他のある実施形態では、ワイヤレス基地局が中央サーバとして機能してもよく、移動体デバイス自体は、コンテンツをローカルに格納するローカル・ゲートウェイとして機能してもよい。
[0046] CDNサーバ12は、とりわけ、ユーザからのディジタル・コンテンツを求める要求を受けて処理するために動作することができる。つまり、CDNサーバ12は、例えば、ユーザ14hから、特定のムービーの配信を求める要求を受けることもある。すると、CDNサーバ12は、要求されたムービーがCDN10内のどこに格納されているか判定し、その位置から要求元ユーザにムービーを配信させることができる。他の実現例では、ゲートウェイ・デバイス16a〜16n自体が、ユーザからの要求の一部または全部を受け、近隣のゲートウェイ・デバイス内における要求されたムービーの位置を判定し、要求されたムービー・ファイルの要求元ユーザへの配信を容易にすることもできる。あらう実施形態では、1つの要求ファイルを、CDN10内部における複数の異なる格納位置間で分割することもできる。この場合、CDNサーバ12および/またはゲートウェイは、ファイルの異なる部分の全部をユーザに配信させることができる。ディジタル・コンテンツを格納するためにネットワーク・コーディングが使用される実現例では、特定のファイルに対応するコード化ファイル・セグメントを、CDN10内部の複数の場所に格納することもできる。このシナリオでは、CDNサーバ12またはゲートウェイが、コード化パケットを、種々の異なるソースから要求元ユーザに配信させることができる。ある実現例では、所定数の独立したコード化セグメントがユーザに送られるまで、またはユーザが承認メッセージを送って、デコーディングを行うことを可能にするだけの十分なコード化パケット(即ち、十分な自由度)が受信されたことを示すまで、コード化セグメントの転送が続くことができる。既に説明したように、ある実現例では、種々のゲートウェイ16a〜16nは互いに通信することができる。この通信は、有線でもワイヤレス通信でもよい。ワイヤレス通信がサポートされるとき、この通信はシングル・ホップ通信およびマルチ・ホップ通信の双方を含んでもよい。ある実施形態では、ゲートウェイが互いに、ISP18を介して、または他の何らかの低コストの経路(例えば、インターネット以外の経路)を介して通信してもよい。
[0047] ある実施形態では、要求されたムービー・ファイルが、ゲートウェイ・デバイス16a〜16nの内の1つに格納されていない場合もあり、または現在入手可能でない場合もある。このシナリオでは、CDNサーバ12は、要求されたファイルをユーザに、それ自体のローカル・ストレージから、またはCDN10に関連する1つ以上のデータ・センタ26、28から配信することを決定すればよい。ある実施形態では、中央サーバ12が、全ての可能なムービー・ファイルを、サーバ位置においてローカルに格納している。ある他の実施形態では、ムービー・ファイルが、中央サーバとは同じ位置にない1つ以上のデータ・センタ内に格納されてもよい。更に他の実施形態では、ムービー・ファイルの一部がサーバ位置に格納され、一部が1つ以上の他の場所に格納されてもよい。要求されたファイルが、CDN10に関連するいずれのソースからも入手可能でない場合、CDNサーバ12は要求を拒否することができる。
[0048] 本明細書において説明するある実施形態によれば、CDN内部において効率的なデータ・コンテンツ配信を提供するためには、コンテンツをどのようにCDN内において効率的に配列すべきか決定するための技法およびシステムを提供する。更に具体的には、比較的低コストの動作を生成するためには、どのコンテンツをネットワークの種々のゲートウェイ内部に格納すべきか、CDNが決定することを可能にする技法を提供する。少なくとも1つの実現例では、CDNサーバ12が、効率的および低コストの動作を実行するために、どのゲートウェイ・デバイス16a〜16n内にどのコンテンツを格納するか決定するように構成されてもよい。尚、この機能は、代わりに、CDN10内部の1つ以上の他の位置において実行されてもよいことは認められてしかるべきである。ある実施形態では、この機能は、CDN10内部の複数の場所において分散形式で実行されてもよい。
[0049] 更に詳しく説明するが、ある実施形態では、コンテンツをCDN内部に格納することに伴う種々のコストを計る1つ以上のコスト関数を定める。CDN内部でコンテンツをどのように配列するか決定するために、コスト関数を最小化するために1つ以上の最適化プログラムを使用することができる。最小のコスト関数に到達するために最適化プロセスの間変化することができる決定変数を定める。次いで、決定変数の最終値は、CDN10のどのゲートウェイ・デバイス内にどのコンテンツを格納すべきか決定するために使用することができる。これより、実施形態にしたがって使用することができる最適化技法の例について説明するときに使用する数学的枠組みについて説明する。
[0050] 最初に、CDNの複数のシステム変数を定める。システム変数は、例えば、下記を含むことができる。
X = {1, ..., N}: ホーム・ゲートウェイのインデックス集合。ゲートウェイの総数はNである。
M = {1, ..., M}:CNDにおいて入手可能なムービー・ファイルのインデックス集合。別々のムービー・ファイルの総数はMで与えられる。また、各ムービーのインデックスは、ムービーの人気度(rank of popularity)でもある。
y = (y1, ... , yM):ムービー・ファイルの各々のサイズを有するベクトル。行列は、Y= [y, ... , y]のように、yを繰り返すことによって形成することができる。
C = {c1,... ,CN}: 出立送信に対するゲートウェイiの送信容量。
Pm,i:ゲートウェイiにおいてムービーmに対する需要がある確率。PはM×N行列であり、その位置(m,i)におけるエントリは、Pm,iによって与えられる(即ち、行列Pのi番目の列が、ゲートウェイiにおける各ムービーを要求する確率を与える)。ある実施形態では、ムービーに対する要求は、Zipf分布に従うと仮定することができる。これは、ビデオ・ファイルの人気を測定するための正しい近似として定着している(例えば、"I Tube, You Tube, Everybody Tubes: Analyzing the World's Largest User Generated Content Video System"(アイチューブ、ユーチューブ、エブリボディチューブ:世界最大のユーザ生成コンテンツ・ビデオ・システムの分析)、by Cha et al., Proc. of the 7th ACM SIGCOMM Conference on Internet Measurement, ser. IMC '07, New York, NY, USA; ACM, 2007, pp. 1 -14を参照のこと)。具体的には、人気度j(jでインデックスされる)ムービーは、
Figure 2016519457
の需要確率を有する。
ここで、γは分布を特徴付ける。γ→0となるに連れて、分布は均一に近づく。特に指定されなければ、ここでは Pm,i は全てのiに対して同じであると仮定する。
:中央サーバが1単位のコンテンツを任意のゲートウェイに送信するためのコスト。
:任意のゲートウェイにおいて1単位のコンテンツをキャッシュするコスト。
:サーバの容量。これは、サーバから全てのユーザに送信することができるコンテンツの最大平均総ボリュームである。
δ:サーバ負荷分散の上限。
α:サーバにおける遅延コスト。
[0051] 既に説明したように、図1のCDN10におけるユーザの全てが共通ISPを介してインターネットに接続するので、CDN10内のゲートウェイ間におけるトラフィックは、殆どまたは全くコストがないと仮定することができる。この仮定は、IPSにおけるコストの殆どがISP間トラフィックから発生されるので、ISPの視点からは実用的である。ゲートウェイ間のトラフィック負荷が容量より低い限り、ISPのコストは大したことはない。
[0052] 実施形態による最適化プロセス例の決定変数について、以下に説明する。
Figure 2016519457
:ホーム・ゲートウェイiにおいてキャッシュされた各ムービー・ファイルMの断片。
Figure 2016519457
:ベクトルxiの行列。
i,j,m:ゲートウェイiにおいてmを求める要求がある場合における、ゲートウェイiからゲートウェイjに対するコンテンツmの要求。ai,j,mの単位は、コンテンツmの断片に関する。ファイルmに対する「接続行列」を指定するために、変数Aを使用することができる。即ち、エントリai,j,mは、ゲートウェイiがファイルmを要求した場合における、ユーザjからゲートウェイiによって要求されるファイルmの百分率を表す。
m,i:ゲートウェイiによってサーバに要求されるファイルmの断片。i∈χ,i≦m≦M。対応する行列はLである。
:ゲートウェイi∈χにおいて、M個のムービーの任意のコンテンツをキャッシュするために使用される記憶空間。
Figure 2016519457
:g値のベクトル。
:サーバからのファイルmの要求の平均総ボリューム。
Figure 2016519457
:s値のベクトル。
Figure 2016519457
:中央サーバによってユーザにサーブされるコンテンツの平均総ボリューム。

[0053] 実施形態例にしたがって、以下に、複数の異なる最適化問題の定式化を示す。第1の定式化は、問題の基準線線形プログラム(LP:linear problem)定式化である。次いで、LP定式化の上に、非線形制限および目的を追加して、異なるCDN要求に対する所望の解を生成する(即ち、非線形定式化)。更に詳細に説明するが、定式化の各々において、コスト関数は、種々の制限および条件を決定変数に課しながら、最少化されなければならない。尚、本明細書において説明する技法および戦略は、本明細書において説明する種々の定式化と共に使用することに限定されないことは、認められてしかるべきである。即ち、本明細書において説明するものの機能、結果、または利点の内1つ以上の達成するために、他の定式化を代わりに実行してもよい。
[0054] これより、基準線線形プログラム(LP)定式化について説明する。少なくとも1つの実施形態では、LP定式化は、次のように表現することができる。
定式化1(P1:LP定式化)
Figure 2016519457
以上において種々の変数が定義された。最適化プロセスによって最少化されるコスト関数は、
Figure 2016519457
である。明白であろうが、この関数は、中央サーバからのコンテンツ配信に関連するコスト項と、ゲートウェイ・デバイスにおけるコンテンツ格納に関連するコスト項とを含む。以上で列挙した種々の制限は、実施形態においてネットワークおよびノードに対して課することができる記憶および送信の制限を取り込む(capture)。これらの制限は、ネットワーキング・デバイスおよびユーザ要求の異なる制限を取り込むように一般化することができ、異なる場合に合わせることができる。最適化プロセスは、このコスト関数を最少化する種々の決定パラメータに対して値を求める。次いで、これらの値を使用して、どのコンテンツをどのゲートウェイに格納すべきか決定することができる。ある実現例では、ゲートウェイの数、各ゲートウェイ背後のユーザに対するムービー要求配信(movie demand distribution)、ファイルの数およびサイズが既知であることを仮定してもよい。つまり、目標は、ネットワークを介したムービー流通(dissemination)のコストを最少化するためにゲートウェイにおける最適な(またはほぼ最適な)キャッシング戦略を発見することである。
[0055] 以上で説明したLP定式化では、サーバ平均負荷容量に強いられる制限はない。これは、この実現例では、c・1sを使用する目的関数において、サーバ負荷の使用を抑えれば(penalize)十分であるからである。LP定式化は、サーバにおける遅延コストを無視する。これは、シナリオによっては、非常に望ましくない場合もある。したがって、変更した定式化では、遅延を考慮するために、コスト関数にペナルティ項を追加してもよい。待ち行列理論から、サーバのサービス遅延は、
Figure 2016519457
として、調整することが知られている。ここで、
Figure 2016519457
は、サーバの負荷係数である。新たな定式化は、次のようになる。
定式化2(P2、サービス遅延ペナルティ適用)
Figure 2016519457
上の定式化2において示される制限は、定式化1に関して先に説明したものを簡略化したバージョンとなる。以前と同様、これらの制限は、異なる設定およびユーザ要求に合わせることができる。
[0056] 大規模CDNサーバまたはデータ・センタでは、例えば、システムの安定性および/またはパワー・グリッドの安定性を維持するために、サーバ負荷の変動を制限することが望ましい場合が多い。このような要因を考慮して、サーバ負荷の分散をδsによって制限することができ、ある実施形態による非線形プログラミング(NLP)技法を使用して解くことができる。この定式化は、次のように表すことができる。
定式化3(P3、サーバ負荷分散の制限)
Figure 2016519457
ある実現例では、同じゲートウェイに対して、異なるムービー・ファイルを求める要求は独立であると仮定することができる。その結果、サーバ負荷の分散は、次のように表現することができる。
Figure 2016519457
[0057] LP定式化から始めて、以上で説明した定式化を解く技法について、これより説明する。1つの解決手法では、LP定式化を以下の形式の標準的なLP問題に変換するアルゴリズムを実行した。
Figure 2016519457
決定変数の数は、この手法を使用すると、NおよびMと共に急速に増大する。即ち、元の定式化には、近似的にNM+2MN+M+N個の変数があり、この問題を標準的な形式に変換するためには、更に2NM+MN+N個の遊びの変数を必要とする。その結果、行列Aは急速に増大し、問題のサイズが増大するに連れて、計算および操作するのが困難になる。
[0058] この問題の基準線LP定式化は、少なくとも2つの異なるソルバによって、解くことができる。 中点方法(interpoint method) は、対数バリア関数によって比較的小さい問題(N=10およびN=15、M<60)を解くために、LPに対して使用することができる。もっと大きなサイズの問題には、CVXソルバを使用することができる(例えば、CVX: Matlab Software for Disciplined Convex Programming(自制凸プログラミング用Matlabソフトウェア), version 2.0, July 2013, http://cvxr.com/cvx/; および "Graph Implementations for Nonsmooth Convex Programs"(非平滑凸プログラムについてのグラフ実現例)、 by Grant et al., Recent Advances in Learning and Control, ser. Lecture Notes in Control and Information Sciences, Springer Verlag Limited, 2008, pp. 95-1 10, http://www.stanford.edu/~boyd/papers/pdf/graph_dcp.pdfを参照のこと)。これらの問題は、Nが10から40まで変化しMが25から200までの範囲を取る場合に、解決された。最適化問題に関与する変数の数は、約5,000から680,000個の範囲である。実際の設定において直面するものと比較すると、これらの例示解のサイズは比較的小さいが、これらの分析したシナリオは、貴重な知見を今後の大規模な実現例に提供することを確信する。
[0059] 図2は、ムービー・ファイルの数が25から200まで増えるときの、γ=0.25に対する、Nの種々の値に対する最適コスト値を示すグラフである。この設定では、各ゲートウェイはランダムに800および900メガバイトの間で選択されるが、各ゲートウェイは、ネットワークにおける全ての他のゲートウェイに対して、1つのムービー・サイズの約1/3から1/2のトラフィック・ボリュームをサーブすることを許される。1単位のコンテンツをゲートウェイにおいてキャッシュするコストは、1単位のコンテンツをサーバからサーブするコストよりは遙かに低いことは確実である。予想されるように、最適コストはNおよびM双方の増加関数である。他方では、他のピアにサーブする容量が多いゲートウェイ程、より多いコンテンツが格納される傾向がある。
[0060] 分散の制限があると、この問題は単純な二次プログラムとなる。この問題は、標準的な二次プログラミング技法を使用して解決される。しかしながら、入力行列のサイズのために、比較的小さい寸法の設定のみが検査された。サーバ負荷の分散が厳しく制限されるので、サーバ負荷は急速に減少することが観察される。ゲートウェイにおいてキャッシュされるコンテンツの量が増大し、コンテンツ配信の大部分がピア・ゲートウェイ間で行われるので、この結果は非常に直観的である。
[0061] 少なくとも1つの実施形態では、以上で説明した第2定式化を解くために、一般化された一次方法を使用することができる(即ち、サービス遅延のペナルティがある定式化2)。この問題は凸である(convex)が、目的関数は実現可能な領域内において無限である。1つの手法では、加速一般近似勾配方式を使用することもできる。近似関数は、例えば、標準的なユークリッド・ノルム(自己双対である)を考慮して、平方ノルム(即ち、
Figure 2016519457
)を含むことができる。目的関数の無限性によって発生するかもしれないあらゆる問題を解くために、S≦0.95SCと仮定してもよい。尚、このアルゴリズムの初期ポイントはS≦0.95SCを満たさなければならないことを注記しておく。
[0062] 使用される表記を簡略化すると、第2定式化は以下の一般的な形式を有する。
Figure 2016519457
ここで、χは定式化1の実現可能な領域である。尚、以上の目的関数はP(S)+f(S)として表現できることを注記しておく。ここで、P(S)は線形プログラムの最適値であり、f(S)は非線形ペナルティである。0≦S≦0.95SCと仮定すると、L=400/SCに対して、
Figure 2016519457
となることを注記しておく。
[0063] 勾配降下法方式の繰り返し毎に、標準的な二次プログラムが解かれる。各繰り返しの主要なステップを以下に示す。
Figure 2016519457
以上の問題は、標準的な凸問題であり、任意の凸プログラミング・ツールを使用して解くことができる。一実現例では、速度制限のためにCVXが使用された。図3は、500回の繰り返しに対する本方法の展開(evolution)の収束を示す。このアルゴリズムは、予想通りに、明らかに最適解に収束する。
[0064] 図4は、SCの異なる値に対する異なるコスト
Figure 2016519457
を示すグラフである。尚、コストは遅延ペナルティを含まないことを注記しておく。明らかに、SCが増大するに連れて、総コストはペナルティ制限がないコストに収束する。更に、サーバ負荷によるコストの成分は、ゲートウェイにおける格納コストの減少よりも低いレートで増大する。これが示すのは、実用的な設計では、遅延に対する重大なペナルティを考慮しても、ゲートウェイにおいて格納要求を委託するときに、サーバが重要な役割を果たすということである。加えて、正当な遅延制限を保証しつつ、最適値からせいぜい10%であるコストを達成することができる。
[0065] 図5は、実施形態によるDCCを使用するCDNを動作させる方法例100を示す流れ図である。
[0066] ここでは、矩形エレメント(図5におけるエレメント102によって代表される)は「処理ブロック」を示し、コンピュータ・ソフトウェア命令または命令のグループを表すことができる。尚、図5の流れ図は、本明細書において説明した設計の一実施形態例を表し、概要を説明したプロセスに全体的に従うこのような図における変形(variations)は、本明細書において説明し特許請求する概念、システム、および技法の範囲内に該当すると見なすことは、注記してしかるべきである。
[0067] あるいは、処理ブロックは、ディジタル信号プロセッサ回路、特定用途集積回路(ASIC)、またはフィールド・プログラマブル・ゲート・アレイ(FPGA)のような、機能的に等価な回路によって実行される動作を表すこともできる。ある処理ブロックは手動で実行されてもよく、一方他の処理ブロックはプロセッサまたは他の回路によって実行されてもよい。この流れ図は、いずれの特定のプログラミング言語のシンタックスも示さない。むしろ、この流れ図は、当業者が回路を製作するためおよび/または特定の装置の要求される処理を実行するコンピュータ・ソフトウェアを生成するために必要とする機能的情報を示す。尚、ループおよび変数の初期化、ならびに一時的変数の使用というような、決まり切ったプログラム・エレメントは示されない場合もあることは、注記してしかるべきである。本明細書において別段示されない限り、説明する特定のシーケンスは、例示に過ぎず、本明細書において説明および/または特許請求する概念の主旨から逸脱することなく変更できることは、当業者には認められよう。つまり、別段述べられない限り、以下で説明するプロセスは順不問であり、可能であれば、図5に示すシーケンスを任意の便利なまたは望ましい順序で実行できることを意味する。
[0068] 図5の方法100は、対象のCDNが、コンテンツをキャッシュするために使用する広いディジタル記憶空間を有するユーザ位置またはその近くに配置された複数のゲートウェイを有することを仮定する。これより図5を参照すると、CDNの構成全体に関係する情報をCDNによって集めることができる(ブロック102)。この情報は、例えば、CDNに関連するネットワーク・ゲートウェイの数および識別についての情報、CDNに関連するムービー・ファイル(および/または他のタイプのファイル)の数、識別、およびサイズについての情報、CDNに関連するゲートウェイの送信容量についての情報、サーバの容量についての情報、中央サーバからのコンテンツの配信に関するコスト情報、ゲートウェイにおいてコンテンツをキャッシュすることに関するコスト情報、および/または他の情報を含むことができる。また、CDNの動作のある統計に関係する情報を集計することもできる(ブロック104)。この統計情報の一部または全部が、CDNにおけるユーザの好みおよび要求に関連する統計に関係してもよい。この情報は、例えば、CDNに関連する種々のゲートウェイにおけるムービーの需要に関する確率、種々のムービー・ファイルの人気度、1つのゲートウェイにおいて異なるゲートウェイにキャッシュされている特定のムービーを求める要求に関する情報、ムービー・コンテンツをキャッシュするために種々のゲートウェイにおいて使用される記憶空間に関する情報、異なるムービーを求める要求の平均総ボリューム、および/または他の情報を含むこともできる。
[0069] 次に、サーバ・ベースのコンテンツ配信およびゲートウェイ・ベースのコンテンツ配信の双方に関連するコストを考慮に入れる、CDN動作についてのコスト関数を最少化することによって、ユーザに対するコンテンツの効率的な配信が得られる結果となるCDNのゲートウェイにおけるコンテンツ・キャッシング戦略を実行することができる(ブロック106)。コスト関数最少化プロセスは、通例、1つ以上の決定変数に対して値を生成し、次いでどのコンテンツ項目をどのゲートウェイ内にキャッシュすべきか決定するためにその値を使用することができる。ある実施形態では、コスト関数を最少化するために、1つ以上の周知の最適化技法を使用することもできる。これらの最適化技法は、例えば、一般近似勾配方式、内点法、ならびにGUROBIおよびCVXのような数値ソルバを含むことができる。かわりに、カスタムの最適化手順を実行してもよい。ある実現例では、本明細書において説明した定式化の内の1つ(即ち、定式化1、2、または3)を、コスト関数に使用することもできる。代わりに、他の定式化を使用してもよい。使用される特定の定式化は、実現されるCDNの具体的な特性に依存してもよい。例えば、サーバ遅延が重大であり得るCDNでは、運用会社は、サーバ遅延ペナルティを含む、前述した定式化2を使用することを決定してもよい。サーバ負荷の分散が問題になり得るCDNでは、運用会社は、サーバ負荷分散に制限を課する定式化3を使用することを決定してもよい。
[0070] 異なる決定変数に対する値を生成した後、これらの値の一部または全部をCDNのゲートウェイに送信することができる(ブロック108)。前述のように、決定変数値は、CDN(例えば、中央サーバ)が、ゲートウェイ内においてコンテンツをどのようにキャッシュするか決定するために使用される。次いで、キャッシングのために、所望の様態でコンテンツを種々のゲートウェイ・デバイスに配信する(ブロック110)。新たなキャッシュ・コンテンツがゲートウェイによって受信されたとき、ある実施形態では、このゲートウェイは、この新たなコンテンツを格納する前に、これまで格納されていたキャッシュ・コンテンツを破棄することができる。ある実施形態では、中央サーバは、現在特定のゲートウェイ内に格納されているコンテンツの内どれを削除すべきか、そしてどの新しいコンテンツを追加すべきか決定し、ゲートウェイにこれを行うように命令することができる。この手法を使用すると、新たなコンテンツだけをゲートウェイに配信すれば済む。
[0071] ある実施形態では、図5の方法100は、CDNの寿命の間繰り返し実行されてもよい。例えば、CDNは、周期的に、連続的に、または決められた時点で方法100を繰り返すように構成されてもよい。あるいは、または加えて、CDNは、所定の条件が検出されたときはいつでも、方法100を繰り返すように構成されてもよい。ある実現例では、CDNは、運用会社がCDN内に非効率が存在するかもしれないと感じたときに、運用会社が手動で方法100を開始できるように構成されてもよい。方法100の目標は、CDNのゲートウェイにおいて、ユーザに対する効率的なコンテンツ配信が得られるコンテンツ・キャッシング方式を達成することであればよい。この効率的なコンテンツ配信は、ユーザが高いサービス品質(QoS)のコンテンツに適時アクセスすることを可能にすればよい。理想的なのは、CDNにおけるムービー普及のコストを最少化する最適キャッシング戦略を実行することであるが、最適未満の効率的なキャッシング方式が生成されてもよい。
[0072] 1つの手法では、対応するCDNの中央サーバ内において方法100を主に実行する。しかしながら、複数の位置における分散型実行を含む、他の位置における実行を使用してもよい。ある実施形態では、ネットワークにおいてキャッシュされ送信されるムービー・ファイルはいずれも、既にネットワーク・コード化されていると仮定することもできる。
[0073] 前述のように、ある実施形態では、CDN内に格納されるコンテンツをエンコードするために、ネットワーク・コーディングまたは何らかの他のコーディング技法を使用することができる。ユーザが後にコンテンツを要求するとき、ユーザにはコード化されたコンテンツを配信することができ、ユーザは、それを使用する前に、コンテンツをデコードしなければならない。例えば、格納されたムービー・ファイルをエンコードするためにネットワーク・コーディングを使用するCDNでは、各ムービー・ファイルを複数の異なるセグメントに分割することができる。次いで、セグメントの各々にランダム係数を生成することができる。次いで、異なるセグメントの線形組み合わせを、ランダム係数で重み付けして生成し、以下のようにコード化セグメントを形成することができる。
Figure 2016519457
ここで、aはランダム変数、Sはファイル・セグメント、そしてNはファイル・セグメントの数である。次いで、同じファイル・セグメントを異なるランダム係数と共に使用して、複数の追加のコード化セグメントを生成することができる。ランダム係数を生成するために、乱数発生器を使用してもよい。コード化セグメントを生成するために使用される実際の係数は、デコーディングにおける最終的な使用のために、各コード化セグメントに添付されてもよい。次いで、コード化セグメントをCDN内部の種々の位置に格納することができる。尚、CDNにおいてネットワーク・コーディングを実現するための以上で説明した技法は、ネットワーク・コーディングを使用する1つの可能な方法を表すことは認められてしかるべきである。他の手法も可能である。
[0074] 後にユーザが特定のムービー・ファイルを要求すると、CDNは、そのムービー・ファイルに対応するコード化パケットを、それらが格納されているいずれかの場所からユーザに配信することができる。重要なのは、セグメントがコード化されているので、セグメントをユーザに配信するときに必要なシーケンシングがないことである。即ち、任意の位置からセグメントを引き出し、シーケンス番号を追跡する必要なく、ユーザに配信することができる。ユーザは、首尾良く一定数のコード化セグメントを受信し、コンテンツをデコードすることができなければならない。必要とされるコード化セグメントの数は、通例、ファイルが最初に分割されたセグメントの数Nと同一である。加えて、受信されるコード化セグメントは、デコーディング・プロセスにおいて有用であるためには、互いに線形に独立していなければならない。ランダムに生成される係数の使用は、通例、格納されていた各コード化セグメントが、他のコード化セグメントとは線形に独立する結果になる。デコーディング・プロセスは、通例、N個の未知数に対するN個の線形方程式を解くことを伴う。
[0075] 1つの可能な手法では、承認(ACK)メッセージをユーザから受信して、十分なセグメントが受信されたことを示すまで、CDNがコード化セグメントを要求元ユーザに送り続けてもよい。あるいは、CDNが最初に固定数のコード化セグメント(例えば、N個以上)をユーザに送り、ユーザが更に必要であることを示す場合にのみ更に送るのでもよい。認められようが、コード化セグメントの配信を管理する他の技法を代わりに使用してもよい。
[0076] N個のコード化パケットをデコードする必要があるので、CDNは特定のファイルに対してN個よりも多いコード化パケットを生成し格納すればよい。使用されるセグメントの数、およびセグメントのサイズは異なってもよい。以上で説明した方法100,および同様の方法では、コスト関数を最少化するプロセスは、CDNに対してキャッシング方式を決定するためにCDNにおけるネットワーク・コーディングの使用、または利用可能性を考慮に入れてもよい。次いで、特定のコンテンツ・ファイルに関連するコード化セグメントをどのゲートウェイがキャッシュするのか識別するキャッシング方式を実行してもよい。尚、ネットワーク・コーディング以外のコーディング方式も他の実現例では使用されてもよいことは認められてしかるべきである。使用してもよい他のコーディング方式には、例えば、リード・ソロモン(RS)コードおよび他のMDSコードが含まれるが、ランダム線形コードはエンコーディングを一層容易にする。
[0077] 以上の説明では、種々の実施形態例について述べた。尚、開示した主題の主旨および範囲から逸脱することなく、これらの実施形態例には変更および変形がなされてもよいことは、当業者には明白であろう。これらの変更および変形は、添付した請求項の趣旨および範囲(purview and scope)内に入ると見なす。

Claims (24)

  1. コンテンツを複数のユーザに配信するコンテンツ配信ネットワーク(CDN)における使用のための機械実装方法であって、前記CDNが、コンテンツ配信サービスを管理する中央サーバと、ユーザ位置に近接して配置され、前記CDNにおいて配信される前記コンテンツの少なくとも一部をキャッシュするときの使用のためにデータ記憶能力を有する複数のゲートウェイ・デバイスとを有し、前記方法が、
    前記CDNを記述する情報を収集するステップと、
    ユーザ・コンテンツ要件に対応する前記CDNの動作の統計を集計するステップと、
    コンテンツ配信に関連するコスト関数を最少化することによって、前記複数のゲートウェイ・デバイスにおいて格納されるコンテンツを決定するステップであって、前記コスト関数が、前記サーバからのコンテンツ配信に関連するコストと、前記ゲートウェイ・デバイスからのコンテンツ配信に関連するコストとを考慮に入れ、前記コンテンツの決定が、前記収集された情報および集計された統計を使用することを含む、ステップと、
    格納するコンテンツを決定した結果にしたがって、前記複数のゲートウェイ・デバイスに、それによってキャッシュされるコンテンツを送るステップと、
    を含む、方法。
  2. 請求項1記載の方法において、
    収集する、集計する、決定する、および送るステップが、前記中央サーバにおいて実行される、方法。
  3. 請求項1記載の方法であって、更に、
    前記CDNを効率的に動作させるために、収集する、集計する、決定する、および送るステップを連続的に繰り返すステップを含む、方法。
  4. 請求項1記載の方法において、
    前記コスト関数が、前記サーバにおける配信遅延を考慮に入れる項を含む、方法。
  5. 請求項1記載の方法において、
    前記コスト関数が、サーバ負荷分散に対する制限を含む、方法。
  6. 請求項1記載の方法において、
    前記複数のゲートウェイ・デバイスに格納するコンテンツを決定するステップが、前記コスト関数を最少化するために、一般近似勾配方式、内点法、ならびにGUROBIおよびCVXのような数値ソルバの最適化手順の内少なくとも1つを使用するステップを含む、方法。
  7. 請求項1記載の方法において、
    前記複数のゲートウェイ・デバイスに、それによってキャッシュされるコンテンツを送るステップが、前記コンテンツをインターネットを介して送るステップを含む、方法。
  8. 請求項7記載の方法において、
    前記CDNに関連する前記複数のゲートウェイ・デバイスが、共通インターネット・サービス・プロバイダ(ISP)を介してインターネットと通信し、前記中央サーバがインターネットに接続される、方法。
  9. 請求項1記載の方法において、
    前記複数のゲートウェイ・デバイスにコンテンツを送るステップが、前記コンテンツの少なくとも一部を、前記中央サーバ位置に配置されていない1つ以上のデータ・センタから前記ゲートウェイ・デバイスに送らせるステップを含む、方法。
  10. 請求項1記載の方法において、
    前記複数のゲートウェイ・デバイスにコンテンツを、それによってキャッシュするために送るステップが、ネットワーク・コード化ファイル・セグメントをゲートウェイ・デバイスに送るステップを含む、方法。
  11. コンテンツ配信サービスを複数のユーザに提供するコンテンツ配信ネットワーク(CDN)であって、
    前記CDNのためにコンテンツ配信サービスを管理するコンテンツ配信サーバを含み、
    前記コンテンツ配信サーバが、ユーザ位置またはその近くにおいて配備された複数のゲートウェイ・デバイスにおいて、選択されたコンテンツをキャッシュするためのキャッシング方式を前記CDNのために実行するように構成され、前記キャッシング方式が、コンテンツをユーザに配信するときの効率を高めるためにあり、前記コンテンツ配信サーバが、コンテンツ配信に関連するコスト関数を最少化することによって、前記キャッシング方式を実行するように構成され、前記コスト関数が、前記ゲートウェイ・デバイスからのコンテンツ配信に関連するコストと、前記CDNの1つ以上の他のコンテンツ記憶位置からのコンテンツ配信に関連するコストとの双方を考慮に入れる、コンテンツ配信ネットワーク。
  12. 請求項11記載のCDNにおいて、
    前記ユーザ位置またはその近くに配備された前記複数のゲートウェイ・デバイスが、前記CDNの制御下にある、CDN。
  13. 請求項11記載のCDNにおいて、
    前記コンテンツ配信サーバが、前記キャッシング方式にしたがって前記複数のゲートウェイ・デバイスにおける個々のゲートウェイ・デバイスにコンテンツを格納のために配信するように構成される、CDN。
  14. 請求項11記載のCDNにおいて、
    前記コンテンツ配信サーバが、前記CDNにおける経時的な変化を考慮に入れるために、前記キャッシング方式を時々更新するように構成される、CDN。
  15. 請求項11記載のCDNにおいて、
    前記コンテンツ配信サーバが、前記複数のゲートウェイ・デバイスにインターネットを介して結合される、CDN。
  16. 請求項15記載のCDNにおいて、
    前記複数のゲートウェイ・デバイスが、全て共通のインターネット・サービス・プロバイダ(ISP)に関連付けられる、CDN。
  17. 請求項11記載のCDNにおいて、前記コンテンツ配信サーバが、
    前記CDNの現在の構成についての情報を収集し、
    ユーザ・コンテンツ要求に対応する前記CDNの動作の統計を集計し、
    前記CDNのために前記キャッシング方式を実行するために、前記収集した情報および前記集計した統計を使用する、
    ように構成される、CDN。
  18. 請求項11記載のCDNにおいて、
    前記コスト関数が、前記コンテンツ配信サーバが1単位のコンテンツをゲートウェイに送信するコストと、ゲートウェイにおいて1単位のコンテンツをキャッシュするコストとを使用する、CDN。
  19. 請求項11記載のCDNにおいて、
    前記コスト関数が、前記サーバにおける配信遅延を考慮に入れる項を含む、CDN。
  20. 請求項11記載のCDNにおいて、
    前記コスト関数が、サーバ負荷分散に対する制限を含む、CDN。
  21. 請求項11記載のCDNにおいて、
    前記コンテンツ配信サーバが、ネットワーク・コード化コンテンツを、前記複数のゲートウェイ・デバイスに、その中にキャッシュするために配信するように構成される、CDN。
  22. 命令が格納された1つ以上の非一時的コンピュータ読み取り可能媒体を含む製品であって、計算システムによって前記命令が実行されると、コンテンツを複数のユーザに配信するコンテンツ配信ネットワーク(CDN)における使用のための方法を実行し、前記CDNが、コンテンツ配信サービスを管理する中央サーバと、ユーザ位置に近接して配置され、前記CDNにおいて配信されるコンテンツの少なくとも一部をキャッシュするときの使用のためにデータ記憶能力を有する複数のゲートウェイ・デバイスとを有し、前記方法が、
    前記CDNを記述する情報を収集するステップと、
    ユーザ・コンテンツ要件に対応する前記CDNの動作の統計を集計するステップと、
    コンテンツ配信に関連するコスト関数を最少化することによって、前記複数のゲートウェイ・デバイスにおいて格納されるコンテンツを決定するステップであって、前記コスト関数が、前記サーバからのコンテンツ配信に関連するコストと、前記ゲートウェイ・デバイスからのコンテンツ配信に関連するコストとを考慮に入れ、前記コンテンツの決定が、前記収集された情報および集計された統計を使用することを含む、ステップと、
    格納するコンテンツを決定した結果にしたがって、前記複数のゲートウェイ・デバイスに、それによってキャッシュされるコンテンツを送るステップと、
    を含む、製品。
  23. 請求項22記載の製品において、
    前記コスト関数が、前記サーバにおける配信遅延を考慮に入れる項を含む、製品。
  24. 請求項22記載の製品において、
    前記コスト関数が、サーバ負荷分散に対する制限を含む、製品。
JP2016501519A 2013-03-14 2014-03-12 コンテンツ配信ネットワークにおいて分散型コンテンツ・キャッシングを実現する方法および装置 Active JP6272451B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361783666P 2013-03-14 2013-03-14
US61/783,666 2013-03-14
US14/087,595 US9369541B2 (en) 2013-03-14 2013-11-22 Method and apparatus for implementing distributed content caching in a content delivery network
US14/087,595 2013-11-22
PCT/US2014/024386 WO2014159605A1 (en) 2013-03-14 2014-03-12 Method and apparatus for implementing distributed content caching in a content delivery network

Publications (2)

Publication Number Publication Date
JP2016519457A true JP2016519457A (ja) 2016-06-30
JP6272451B2 JP6272451B2 (ja) 2018-01-31

Family

ID=51533357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016501519A Active JP6272451B2 (ja) 2013-03-14 2014-03-12 コンテンツ配信ネットワークにおいて分散型コンテンツ・キャッシングを実現する方法および装置

Country Status (8)

Country Link
US (1) US9369541B2 (ja)
EP (2) EP2972957B1 (ja)
JP (1) JP6272451B2 (ja)
KR (1) KR101813348B1 (ja)
CN (1) CN105229624B (ja)
ES (1) ES2682358T3 (ja)
PL (1) PL2972957T3 (ja)
WO (1) WO2014159605A1 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10530574B2 (en) 2010-03-25 2020-01-07 Massachusetts Institute Of Technology Secure network coding for multi-description wireless transmission
EP2550806B1 (en) 2010-03-25 2019-05-15 Massachusetts Institute of Technology Secure network coding for multi-resolution wireless video streaming
US9294113B2 (en) 2011-07-05 2016-03-22 Massachusetts Institute Of Technology Energy-efficient time-stampless adaptive nonuniform sampling
US9544126B2 (en) 2011-10-31 2017-01-10 Massachusetts Institute Of Technology Joint use of multi-packet reception and network coding for performance improvement
WO2013067488A1 (en) 2011-11-05 2013-05-10 Massachusetts Institute Of Technology Method and apparatus for efficient transmission of information to multiple nodes
US8780693B2 (en) 2011-11-08 2014-07-15 Massachusetts Institute Of Technology Coding approach for a robust and flexible communication protocol
US9537759B2 (en) 2012-01-31 2017-01-03 Massachusetts Institute Of Technology Multi-path data transfer using network coding
US9160687B2 (en) 2012-02-15 2015-10-13 Massachusetts Institute Of Technology Method and apparatus for performing finite memory network coding in an arbitrary network
US9369255B2 (en) 2012-10-18 2016-06-14 Massachusetts Institute Of Technology Method and apparatus for reducing feedback and enhancing message dissemination efficiency in a multicast network
US9537973B2 (en) * 2012-11-01 2017-01-03 Microsoft Technology Licensing, Llc CDN load balancing in the cloud
US9374276B2 (en) 2012-11-01 2016-06-21 Microsoft Technology Licensing, Llc CDN traffic management in the cloud
US9231885B1 (en) * 2013-03-05 2016-01-05 Emc Corporation Method and system for calculating costs of application operations in a virtually provisioned environment
US9607003B2 (en) 2013-03-14 2017-03-28 Massachusetts Institute Of Technology Network coded storage with multi-resolution codes
US9369541B2 (en) 2013-03-14 2016-06-14 Massachusetts Institute Of Technology Method and apparatus for implementing distributed content caching in a content delivery network
EP2974096A4 (en) 2013-03-14 2016-11-09 Massachusetts Inst Technology METHOD AND APPARATUS FOR SECURE COMMUNICATION
US9185529B2 (en) 2013-03-15 2015-11-10 Massachusetts Institute Of Technology Wireless reliability architecture and methods using network coding
US9019643B2 (en) 2013-03-15 2015-04-28 Massachusetts Institute Of Technology Method and apparatus to reduce access time in a data storage device using coded seeking
US10530882B2 (en) 2013-03-15 2020-01-07 Vivint, Inc. Content storage and processing in network base stations and methods for content delivery in a mesh network
US10771583B2 (en) * 2014-12-29 2020-09-08 Akamai Technologies, Inc. Managing mobile device user subscription and service preferences to predictively pre-fetch content
US20160283480A1 (en) * 2015-03-26 2016-09-29 Linkedin Corporation Assigning content objects to delivery networks
CN105049326B (zh) * 2015-06-19 2017-12-29 清华大学深圳研究生院 一种边缘网络区域中社交内容缓存方法
EP3206348B1 (en) * 2016-02-15 2019-07-31 Tata Consultancy Services Limited Method and system for co-operative on-path and off-path caching policy for information centric networks
WO2017214238A1 (en) 2016-06-07 2017-12-14 Orion Labs Supplemental audio content for group communications
CN106302420A (zh) * 2016-08-08 2017-01-04 上海斐讯数据通信技术有限公司 一种内容分发网络系统及管理方法
CN106301905B (zh) * 2016-08-10 2019-05-14 中国联合网络通信集团有限公司 一种评估cdn部署合理性的方法及装置
US10594824B2 (en) 2017-03-27 2020-03-17 Khalifa University Of Science, Technology And Research Content designation for a content delivery network
GB2560919A (en) * 2017-03-27 2018-10-03 Khalifa Univ Of Science Technology And Research Content designation for a content delivery network
CN110710141B (zh) 2017-03-29 2022-05-31 麻省理工学院 针对基于滑动窗口网络编码的分组生成的系统与技术
KR102376496B1 (ko) 2017-07-26 2022-03-18 한국전자통신연구원 서비스 스트림 분산 포워딩 시스템 및 그 방법
CN112385159B (zh) 2018-05-16 2024-07-19 网络编码代码有限责任公司 多路径编码装置及多路径编码方法
CN109067856B (zh) * 2018-07-18 2021-02-12 南京邮电大学 基于网络编码的WiFi direct多跳移动设备文件分享方法和系统
US11563644B2 (en) 2019-01-04 2023-01-24 GoTenna, Inc. Method and apparatus for modeling mobility and dynamic connectivity on a stationary wireless testbed
US10985951B2 (en) 2019-03-15 2021-04-20 The Research Foundation for the State University Integrating Volterra series model and deep neural networks to equalize nonlinear power amplifiers
US12081841B2 (en) 2020-12-16 2024-09-03 Dolby Laboratories Licensing Corporation Multisource media delivery systems and methods
CN115695560A (zh) * 2021-07-23 2023-02-03 伊姆西Ip控股有限责任公司 内容分发方法、电子设备和计算机程序产品
US11956331B2 (en) * 2022-09-08 2024-04-09 Nokia Solutions And Networks Oy System and method for cache synchronization among network gateways in networks such as software defined networks
CN116996398B (zh) * 2023-09-27 2024-02-27 联通在线信息科技有限公司 一种基于数学规划的cdn业务带宽优化方法及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004073269A1 (ja) * 2003-02-13 2004-08-26 Fujitsu Limited 伝送システム,配信経路制御装置,負荷情報収集装置および配信経路制御方法
JP2005148698A (ja) * 2003-11-14 2005-06-09 Lg Electronics Inc 広告コンテンツ伝送ネットワークシステム及びその運営方法
JP2011151535A (ja) * 2010-01-20 2011-08-04 Nippon Telegr & Teleph Corp <Ntt> コンテンツ配信システムと方法およびプログラム
JP2012518841A (ja) * 2009-02-20 2012-08-16 アルカテル−ルーセント トポロジを意識したキャッシュ協働
JP2012175395A (ja) * 2011-02-21 2012-09-10 Nippon Telegr & Teleph Corp <Ntt> コンテンツ配信制御装置、その方法、ユーザ端末及びプログラム

Family Cites Families (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5577056A (en) 1995-02-24 1996-11-19 Hughes Aircraft Co. Method and apparatus for adjusting the postamble false detection probability threshold for a burst transmission
US6359923B1 (en) 1997-12-18 2002-03-19 At&T Wireless Services, Inc. Highly bandwidth efficient communications
US6128773A (en) 1997-10-01 2000-10-03 Hewlett-Packard Company Automatically measuring software complexity
US8949456B2 (en) 1998-05-29 2015-02-03 Blackberry Limited System and method for redirecting data to a wireless device over a plurality of communication paths
CN1411633A (zh) 2000-01-17 2003-04-16 三星电子株式会社 在宽带码分多址通信系统中利用用于上行链路同步方案的正交可变扩展因子码分配信道的设备和方法
US7432935B2 (en) 2002-11-19 2008-10-07 Mental Images Gmbh Image synthesis methods and systems for generating sample points in a graphics scene
US20110238855A1 (en) 2000-09-25 2011-09-29 Yevgeny Korsunsky Processing data flows with a data flow processor
CN1262972C (zh) 2000-09-28 2006-07-05 罗克马诺尔研究有限公司 改进的霍夫曼数据压缩方法
GB2367459A (en) 2000-09-28 2002-04-03 Roke Manor Research Method of compressing data packets
WO2002057946A1 (en) 2001-01-18 2002-07-25 The Board Of Trustees Of The University Of Illinois Method for optimizing a solution set
US7095343B2 (en) 2001-10-09 2006-08-22 Trustees Of Princeton University code compression algorithms and architectures for embedded systems
US7502317B2 (en) 2002-05-17 2009-03-10 Alcatel-Lucent Usa Inc. Method for differentiating services and users in communication networks
US7164691B2 (en) 2002-06-26 2007-01-16 Standard Microsystems Corporation Communication system and method for sending isochronous streaming data across a synchronous network within a frame segment using a coding violation to signify invalid or empty bytes within the frame segment
US7283564B2 (en) 2002-06-26 2007-10-16 Standard Microsystems Corp. Communication system and method for sending asynchronous data and/or isochronous streaming data across a synchronous network within a frame segment using a coding violation to signify at least the beginning of a data transfer
US20040203752A1 (en) 2002-11-18 2004-10-14 Toshiba America Information Systems, Inc. Mobility communications system
US7574518B2 (en) 2003-06-23 2009-08-11 Microsoft Corporation System and method for computing low complexity algebraic network codes for a multicast network
US7773506B2 (en) 2003-10-14 2010-08-10 Qualcomm Incorporated Method and apparatus for data communications over multiple channels
US7408938B1 (en) 2003-10-15 2008-08-05 Microsoft Coporation System and method for efficient broadcast of information over a network
US7349440B1 (en) 2003-10-15 2008-03-25 Microsoft Corporation System and method for broadcasting information over a network
US20050096040A1 (en) * 2003-10-31 2005-05-05 Haberman William E. Presenting broadcast received by mobile device based on proximity
US7706365B2 (en) 2003-11-25 2010-04-27 California Institute Of Technology Randomized distributed network coding
US7949726B2 (en) * 2004-03-12 2011-05-24 Ocean And Coastal Environmental Sensing, Inc. System and method for delivering information on demand
US7225382B2 (en) 2004-05-04 2007-05-29 Telefonakiebolaget Lm Ericsson (Publ) Incremental redundancy operation in a wireless communication network
US7756051B2 (en) 2004-07-02 2010-07-13 Microsoft Corporation Content distribution using network coding
EP1638239A1 (en) 2004-09-20 2006-03-22 Alcatel Extended repeat request scheme for mobile communication networks
US8102837B2 (en) 2004-12-30 2012-01-24 Massachusetts Institute Of Technology Network coding approach to rapid information dissemination
US7414978B2 (en) 2004-12-30 2008-08-19 Massachusetts Institute Of Technology Minimum-cost routing with network coding
US20060224760A1 (en) 2005-03-15 2006-10-05 1000 Oaks Hu Lian Technology Development (Beijing) Co., Ltd. Method and system for providing streaming content in a peer-to-peer network with network coding
US7529198B2 (en) 2005-04-07 2009-05-05 Microsoft Corporation Scalable overlay network
US7599873B2 (en) 2005-07-19 2009-10-06 Etf Labs, Llc System and method for ETF investing
EP1780924A1 (en) 2005-10-31 2007-05-02 Siemens Aktiengesellschaft Method to determine the number of data streams to be used in a MIMO system
FR2893798B1 (fr) 2005-11-21 2008-01-04 Alcatel Sa Dispositif et procede de generation de rafales composites a preservation de priorite, pour un equipement d'un reseau de communication a commutation de rafales
EP1801979B1 (en) 2005-12-22 2010-06-09 Microsoft Corporation Encoding and decoding optimisations for network coding
US7664198B2 (en) 2006-03-21 2010-02-16 Kyocera Corporation System and method for broadcasting data over a wireless network using rateless codes
US8040836B2 (en) 2006-05-26 2011-10-18 Microsoft Corporation Local network coding for wireless networks
US8233558B2 (en) 2006-05-31 2012-07-31 Cornell University Methods and systems for space-time coding for distributed cooperative communicaton
CN101490999A (zh) 2006-07-13 2009-07-22 杜比实验室特许公司 表示意在用于人感知的刺激的材料与编解码无关的加密
US7821980B2 (en) 2006-08-03 2010-10-26 Nokia Corporation Variable rate soft information forwarding
US7843831B2 (en) 2006-08-22 2010-11-30 Embarq Holdings Company Llc System and method for routing data on a packet network
US8027284B2 (en) 2006-11-27 2011-09-27 Ntt Docomo, Inc. Method and apparatus for reliable multicasting in wireless relay networks
EP2098005B1 (en) 2006-11-29 2013-05-29 Telefonaktiebolaget LM Ericsson (publ) Reliable multicast with linearly independent data packet coding
US20080147484A1 (en) * 2006-12-13 2008-06-19 Xero Mobile Inc. High speed advertising to mobile transceivers
US7876677B2 (en) 2007-05-22 2011-01-25 Apple Inc. Transmission control protocol queue sorting
US7945842B2 (en) 2007-06-19 2011-05-17 International Business Machines Corporation Method and apparatus for rateless source coding with/without decoder side information
US7912003B2 (en) 2007-06-27 2011-03-22 Microsoft Corporation Multipath forwarding algorithms using network coding
JP4952433B2 (ja) * 2007-08-08 2012-06-13 ソニー株式会社 情報処理装置および方法、並びに、情報処理システム
US8705345B2 (en) 2007-11-26 2014-04-22 Iowa State University Research Foundation, Inc. Network protection using network coding
CN101184021B (zh) * 2007-12-14 2010-06-02 成都市华为赛门铁克科技有限公司 一种实现流媒体缓存置换的方法、设备及系统
US8260952B2 (en) * 2008-01-31 2012-09-04 Microsoft Corporation Multi-rate peer-assisted data streaming
EP2104036B1 (en) 2008-03-18 2016-06-01 Canon Kabushiki Kaisha Method and device for building of a network coding scheme for data transmission, corresponding computer program product and storage means
US20080259796A1 (en) 2008-04-17 2008-10-23 Glen Patrick Abousleman Method and apparatus for network-adaptive video coding
US8787250B2 (en) 2008-05-15 2014-07-22 Telsima Corporation Systems and methods for distributed data routing in a wireless network
US8204086B2 (en) 2008-05-19 2012-06-19 Microsoft Corporation Natural network coding for multi-hop wireless network
US8068426B2 (en) 2008-05-29 2011-11-29 Massachusetts Institute Of Technology Feedback-based online network coding
US8509288B2 (en) 2008-06-04 2013-08-13 Polytechnic Institute Of New York University Spatial multiplexing gain for a distributed cooperative communications system using randomized coding
US8130228B2 (en) 2008-06-13 2012-03-06 International Business Machines Corporation System and method for processing low density parity check codes using a deterministic caching apparatus
US8527848B2 (en) 2008-06-16 2013-09-03 Lg Electronics Inc. Cooperative symbol level network coding in multi-channel wireless networks
GB2463006B (en) * 2008-08-26 2011-03-16 Cvon Innovations Ltd Conversion management system, method and computer program
US8279781B2 (en) 2008-08-28 2012-10-02 Massachusetts Institute Of Technology Random linear network coding for time division duplexing
US8504504B2 (en) 2008-09-26 2013-08-06 Oracle America, Inc. System and method for distributed denial of service identification and prevention
KR100970388B1 (ko) 2008-10-31 2010-07-15 한국전자통신연구원 네트워크 흐름기반 스케일러블 비디오 코딩 적응 장치 및 그 방법
EP2438742B1 (en) 2009-06-03 2013-12-18 Telefonaktiebolaget LM Ericsson (publ) Method and node for distributing electronic content in a content distribution network
US8130776B1 (en) 2009-08-28 2012-03-06 Massachusetts Institute Of Technology Method and apparatus providing network coding based flow control
WO2011043754A1 (en) 2009-10-06 2011-04-14 Thomson Licensing A method and apparatus for hop-by-hop reliable multicast in wireless networks
EP2491757B1 (en) 2009-10-22 2016-12-14 InterDigital Patent Holdings, Inc. Method and apparatus for a two-way relaying scheme with physical layer network coding
EP2550806B1 (en) 2010-03-25 2019-05-15 Massachusetts Institute of Technology Secure network coding for multi-resolution wireless video streaming
US8599934B2 (en) 2010-09-08 2013-12-03 Cisco Technology, Inc. System and method for skip coding during video conferencing in a network environment
US8867984B2 (en) 2011-01-19 2014-10-21 Alcatel Lucent Interference coordination for communication network
US8886742B2 (en) 2011-01-28 2014-11-11 Level 3 Communications, Llc Content delivery network with deep caching infrastructure
WO2012167034A2 (en) 2011-06-03 2012-12-06 Massachusetts Institute Of Technology Method and apparatus to perform functional compression
US9294113B2 (en) 2011-07-05 2016-03-22 Massachusetts Institute Of Technology Energy-efficient time-stampless adaptive nonuniform sampling
US20130097277A1 (en) * 2011-10-12 2013-04-18 Electronics And Telecommunications Research Institute Method and apparatus for load balancing of content-centric network
US9544126B2 (en) 2011-10-31 2017-01-10 Massachusetts Institute Of Technology Joint use of multi-packet reception and network coding for performance improvement
WO2013067488A1 (en) 2011-11-05 2013-05-10 Massachusetts Institute Of Technology Method and apparatus for efficient transmission of information to multiple nodes
US8780693B2 (en) 2011-11-08 2014-07-15 Massachusetts Institute Of Technology Coding approach for a robust and flexible communication protocol
US9537759B2 (en) 2012-01-31 2017-01-03 Massachusetts Institute Of Technology Multi-path data transfer using network coding
US9160687B2 (en) 2012-02-15 2015-10-13 Massachusetts Institute Of Technology Method and apparatus for performing finite memory network coding in an arbitrary network
US9225616B2 (en) * 2012-07-30 2015-12-29 Cisco Technology, Inc. Feedback-based tuning of control plane traffic by proactive user traffic observation
WO2014061094A1 (ja) 2012-10-16 2014-04-24 三菱電機株式会社 ターボファンおよび空気調和機
US8942669B2 (en) * 2012-12-05 2015-01-27 Verizon Patent And Licensing Inc. Tiered-based billing for content delivery
US9607003B2 (en) 2013-03-14 2017-03-28 Massachusetts Institute Of Technology Network coded storage with multi-resolution codes
US9369541B2 (en) 2013-03-14 2016-06-14 Massachusetts Institute Of Technology Method and apparatus for implementing distributed content caching in a content delivery network
US9019643B2 (en) 2013-03-15 2015-04-28 Massachusetts Institute Of Technology Method and apparatus to reduce access time in a data storage device using coded seeking
US9185529B2 (en) 2013-03-15 2015-11-10 Massachusetts Institute Of Technology Wireless reliability architecture and methods using network coding
US8892686B1 (en) * 2013-12-19 2014-11-18 Limelight Networks, Inc. Dynamic content transformation for multiple devices

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004073269A1 (ja) * 2003-02-13 2004-08-26 Fujitsu Limited 伝送システム,配信経路制御装置,負荷情報収集装置および配信経路制御方法
US20050188073A1 (en) * 2003-02-13 2005-08-25 Koji Nakamichi Transmission system, delivery path controller, load information collecting device, and delivery path controlling method
JP2005148698A (ja) * 2003-11-14 2005-06-09 Lg Electronics Inc 広告コンテンツ伝送ネットワークシステム及びその運営方法
JP2012518841A (ja) * 2009-02-20 2012-08-16 アルカテル−ルーセント トポロジを意識したキャッシュ協働
JP2011151535A (ja) * 2010-01-20 2011-08-04 Nippon Telegr & Teleph Corp <Ntt> コンテンツ配信システムと方法およびプログラム
JP2012175395A (ja) * 2011-02-21 2012-09-10 Nippon Telegr & Teleph Corp <Ntt> コンテンツ配信制御装置、その方法、ユーザ端末及びプログラム

Also Published As

Publication number Publication date
PL2972957T3 (pl) 2018-10-31
KR20150132377A (ko) 2015-11-25
JP6272451B2 (ja) 2018-01-31
CN105229624A (zh) 2016-01-06
EP3428805A1 (en) 2019-01-16
EP2972957A1 (en) 2016-01-20
ES2682358T3 (es) 2018-09-20
EP2972957B1 (en) 2018-06-06
CN105229624B (zh) 2017-12-19
US9369541B2 (en) 2016-06-14
US20140280454A1 (en) 2014-09-18
EP2972957A4 (en) 2016-11-16
WO2014159605A1 (en) 2014-10-02
KR101813348B1 (ko) 2017-12-28

Similar Documents

Publication Publication Date Title
JP6272451B2 (ja) コンテンツ配信ネットワークにおいて分散型コンテンツ・キャッシングを実現する方法および装置
Jiang et al. Orchestrating massively distributed CDNs
Haßlinger et al. Content delivery and caching from a network provider’s perspective
US9386093B2 (en) Price-aware neighborhood selection for peer-to-peer networks
CN106060605B (zh) 一种基于cdn的直播流自适应方法和系统
US9654329B2 (en) Content distribution over a network
Liang et al. Integrated prefetching and caching for adaptive video streaming over HTTP: An online approach
CN106105149A (zh) 用于速率控制从缓存流送内容的方法和装置
Al-Abbasi et al. Fasttrack: Minimizing stalls for cdn-based over-the-top video streaming systems
Taha A novel CDN testbed for fast deploying HTTP adaptive video streaming
Belmoukadam et al. On accounting for screen resolution in adaptive video streaming: QoE‐driven bandwidth sharing framework
Aldaoud et al. Leveraging ICN and SDN for future internet architecture: a survey
WO2016180284A1 (zh) 服务节点分配方法、装置、cdn管理服务器及系统
Meng et al. Elastic caching solutions for content dissemination services of ip-based internet technologies prospective
Kumar et al. RAN-aware adaptive video caching in multi-access edge computing networks
Let et al. Software-defined networking routing algorithms: issues, QoS and models
Gama et al. An Orchestrator Architecture for Multi-tier Edge/Cloud Video Streaming Services
Anandaraj et al. An efficient framework for large scale multimedia content distribution in P2P network: I2NC
Sasikumar et al. Cache-version selection and content placement for adaptive video streaming in wireless edge networks
Baydeti et al. Scalable Models for Redundant Data Flow Analysis in Online Social Networks
Wen et al. Embracing social big data in wireless system design
Hoang-Van et al. A hierarchical P2P traffic localization method with bandwidth limitation
Huang et al. Joint optimization of content replication and server selection for video-on-demand
CN116916048B (zh) 一种用于流媒体传输优化的混合架构、方法、设备和介质
Tunc et al. Fixed-point analysis of a network of routers with persistent TCP/UDP flows and class-based weighted fair queuing

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170105

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170404

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170704

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171228

R150 Certificate of patent or registration of utility model

Ref document number: 6272451

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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