JP5901024B2 - コンテンツ配信に利用される動的バインド - Google Patents

コンテンツ配信に利用される動的バインド Download PDF

Info

Publication number
JP5901024B2
JP5901024B2 JP2013509165A JP2013509165A JP5901024B2 JP 5901024 B2 JP5901024 B2 JP 5901024B2 JP 2013509165 A JP2013509165 A JP 2013509165A JP 2013509165 A JP2013509165 A JP 2013509165A JP 5901024 B2 JP5901024 B2 JP 5901024B2
Authority
JP
Japan
Prior art keywords
content
server
servers
content provider
provider
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013509165A
Other languages
English (en)
Other versions
JP2013525931A (ja
Inventor
ニュートン、クリストファー
フラガー、デヴィッド
Original Assignee
レベル スリー コミュニケーションズ,エルエルシー
レベル スリー コミュニケーションズ,エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by レベル スリー コミュニケーションズ,エルエルシー, レベル スリー コミュニケーションズ,エルエルシー filed Critical レベル スリー コミュニケーションズ,エルエルシー
Publication of JP2013525931A publication Critical patent/JP2013525931A/ja
Application granted granted Critical
Publication of JP5901024B2 publication Critical patent/JP5901024B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23103Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available

Description

開示されている実施形態は、概してコンテンツ配信ネットワーク(CDN)のキャパシティ管理に係る。より詳しくは、ここに記載する実施形態は、CDN上のサーバにCDNの顧客をバインドすることに関する。
特許協力条約(PCT)特許出願は、2010年5月4日提出の「コンテンツ配信に利用される動的バインド」という名称の米国出願番号第12/773,086の優先権を請求しており、この全体をここに参照として組み込む。
インターネットおよび所謂ワールドワイドウェブ(WWW)は、ユビキタス時代に入った。近年は、数万の所謂コンテンツプロバイダ(発行元:publisher)が、インターネット(および特にWWW)を利用して、世界中の数万、数十万のクライアントにあらゆる種類のコンテンツを提供するようになっている。
コンテンツの一部または全てを提供する負担から解放されるべく、多くのコンテンツプロバイダが、所謂コンテンツ配信ネットワーク(CDN)と契約するようになってきている。CDNを利用すると、コンテンツプロバイダのコンテンツの一部(または全て)が、コンテンツプロバイダのサーバからではなくて、CDNから(つまりCDNの1以上のサーバから)、クライアント(コンテンツを要求するユーザ)に提供されるようになる。さらにキャッシュCDNでは、提供されるコンテンツを、該コンテンツの提供前に、または該コンテンツの具体的な要求を受けて、CDNサーバの一部または全てにもキャッシュすることができる。
ここで利用されるコンテンツという用語は、何を表していたとしても(regardless of its representation and regardless of what it represents)、任意の形態の任意の種類のデータを意味する。コンテンツには、これらに限定はされないが、静的および/または動的画像、文字、音声コンテンツ(ストリーミングされた音声、ビデオコンテンツを含み、ストリーミングされたビデオ、ウェブページ、コンピュータプログラム、文書、ファイル等を含む)が含まれてよい。一部のコンテンツは、マークアップ言語(例えばハイパーテキスト・マークアップ言語(HTML)および拡張可能マークアップ言語(XML))を利用して、他のコンテンツに埋め込まれていても良い。コンテンツには、特定の要求に応じて特別に作成、形成、または構成された(composed)コンテンツが含まれてよい。「リソース」という用語は、ここではコンテンツという意味で利用される場合がある。
CDNは配信コンテンツプロバイダのコンテンツに関するサービスを提供するので、コンテンツプロバイダは、ここでは、CDNの顧客またはCDNプロバイダの顧客と称される場合がある。通常、CDNプロバイダは、コンテンツサーバまたはサーバクラスタ(複数のサーバからなる複数のグループ)を、CDN内部またはその周辺の複数の位置で維持、稼動する。サーバまたはクラスタは、コンテンツを要求するユーザの近くに該コンテンツを格納することができるように、複数の異なる地理的領域(例えば都市部)に位置している。CDNはしばしば、ネットワークの端部のサーバ(所謂「エッジサーバ」)およびネットワークのコア内のサーバ(所謂「配信元サーバ:origin server」)を含む。配信元サーバは、エッジサーバにコンテンツを格納したり取得したり、提供したりしてよく、エッジサーバは、コンテンツを後の配信に備えてキャッシュすることができる。
通常、エッジサーバは、コンテンツを要求するユーザの近くにある。この構成では、要求されているコンテンツが近隣のエッジサーバにある場合には、要求を発したユーザに対して、より迅速にまたは効率的に配信することができる。理想的な世界では、可能な全てのコンテンツが近隣のエッジサーバに格納されるだろうが、現実には、コンテンツサーバの稼動に関するリソースおよびコストが限られていることから、このような構成は非現実的である。従って実際の稼動においては、エッジサーバに格納するために選ぶコンテンツの量を制限する。最も需要のある(例えばより頻繁に要求される)コンテンツのみをエッジサーバに格納することが多い。コンテンツの需要が変化すると、エッジサーバの限られた格納スペースにおいて、あまり需要のないコンテンツが、より需要のあるコンテンツに置き換えられる。
CDN運営業者は、各顧客のコンテンツの配信を処理するために利用すべきCDNサーバ、および、CDNサーバのキャパシティ量を判断する必要がある。過剰なサーバキャパシティを顧客に割り当てるとサーバが比較的アイドル状態になり、過小なサーバキャパシティを顧客に割り当てるとサーバには過ロードがかかる事態が想定される。さらに事態を複雑にするのが、配信するコンテンツオブジェクトのサイズが異なると、ロードの特性が異なってくる、ということである。さらに、顧客のコンテンツに対する需要が変化すると、この顧客のコンテンツを処理するサーバおよびサーバキャパシティ量に関する初期の判断が、あてはまらなくなる。
ここに開示する実施形態は、概して、CDNの顧客に割り当てるサーバキャパシティを動的に決定することに関する。実施形態はさらに、CDN顧客をCDN内の1以上のサーバに関連付けるための方法およびシステムを含む。CDN顧客をCDN内の1以上のサーバに関連付けることを、ここではバインドと称することにする。ある顧客がサーバまたはサーバクラスタにバインドされると、このサーバまたはサーバクラスタの少なくとも一部が、顧客のコンテンツのクライアントへの配信を処理する。バインドは、顧客のコンテンツまたは顧客のコンテンツに関連するトラフィックのうち1以上の特性の関数として動的に変化しうる。例えば、顧客のライブラリのサイズおよび/または顧客のコンテンツの要求数が、この顧客にバインドされるサーバ数に影響を与える。
コンピュータプログラムプロダクトの一部の実施形態には、コンピュータ実行可能命令を格納する1以上のコンピュータ可読媒体が含まれる。コンピュータ実行可能命令が実行されると、汎用コンピュータは、1以上のアルゴリズムを実行する。
一実施形態において動的バインドを実装するのに適したネットワーク環境の一例を示す。
複数のサーバに対して1つのコンテンツプロバイダ顧客をバインドする1つの可能性のある例を示すバインドマップである。
一実施形態において動的バインドを実行する電子動的バインドシステムの一例を示す。
一実施形態においてロードメトリックの関数としてネットワーク利用を示す理論モデルを示すグラフである。
一実施形態において動的バインドを実行するためのアルゴリズムの一例を示すフローチャートである。
ここに示す実施形態における、動的バインドアプリケーションおよびプロセスで符号化されたコンピュータシステムのブロック図の一例である。
図1は、一実施形態において動的バインドを実装するのに適したネットワーク環境100の一例を示す。バインドとは、コンテンツプロバイダ(例えばコンテンツ配信ネットワーク(CDN)の顧客)を1以上のCDNサーバまたはクラスタにマッピングすることをいう。動的バインドとは、CDN顧客のコンテンツまたは関連トラフィックに関するネットワークメトリックの変化に応じて、自動的に適合するバインドのことである。図1の図では、CDN102は、1以上のサーバクラスタ104を含む。各サーバクラスタ104は、1以上のユーザクライアント108からのコンテンツ要求に応答するよう設定されている1以上のサーバコンピュータまたはラック106(図示の便宜上クラスタ104Nのみに示されている)を含む。ラックは通常、複数のサーバ(例えば24個のサーバ)を含む。
例示している実施形態では、コンテンツプロバイダが、CDN102の顧客である顧客ネットワーク114を運営している。コンテンツプロバイダサーバ112上のコンテンツは、CDN102のサーバクラスタ104に伝播することができ、一実施形態では、このコンテンツをクラスタ104のサーバ106にキャッシュする。
クライアント108は、顧客ネットワーク114を運営しているコンテンツプロバイダにより提供されるコンテンツを要求することができる。顧客ネットワーク114は、1以上のドメイン名サーバ(DNS)システム116を含んでいる。DNSシステム116は、要求されているコンテンツを配信することができるCDN102内のサーバ(例えばサーバ106)またはクラスタ(例えばクラスタ104A)にコンテンツ要求を方向付ける。概して、クライアントコンピュータ108が生成するハイパーテキスト転送プロトコル(HTTP)要求等の要求は、DNSシステム116で受信される。DNSシステム116は、要求されているコンテンツを提供することができるサーバ106またはクラスタ104のアドレスを探すための要求で、ユニフォームリソースロケータ(URL)名を利用する。このDNS検索(lookup)は、DNSシステム116が実行する検索に加えて、またはこれに関連して、CDN102内で(CDN DNS設定の一環として)、行われうる。
コンテンツプロバイダは、通常、CDN102内の1以上の選択されたクラスタ104またはサーバ106に関連づけられている、またはバインドされている。コンテンツプロバイダのコンテンツは、該コンテンツプロバイダがバインドされているクラスタ104またはサーバ106により配信される。例えば、例示されている実施形態では、クラスタネットワーク114が、クラスタグループ118内のクラスタ104Aおよびクラスタ104Bにバインドされている、としてよい。
操作中に、DNSシステム116は、1以上のロードメトリック等の情報をクラスタ104から受信する。DNSシステム116は、ロードメトリックを利用して、要求されているコンテンツを提供すべきクラスタ104の決定を促す。以下でさらに詳しく述べるように、DNSシステム116は、コンテンツプロバイダがどのクラスタ104またはサーバ106にバインドされているかを判断することもできる。この点に関しては、DNSシステムは、CDN102内のクラスタ104および/またはサーバ106へのコンテンツプロバイダのバインドを動的に適合させることのできる動的バインドシステムを含んでいる。
一実施形態では、サーバ106は、DNSシステム116にメトリックを報告する。DNSシステム116は、アルゴリズムに従ってバインドを調節するための動的バインド機能を含む。一実施形態では、動的バインドアルゴリズムは複数のメトリックを組み合わせて、この組み合わせに基づいてバインドを調節する。
一実施形態では、コンテンツまたはトラフィックの特性が変化すると、顧客ネットワーク114の顧客は、選択されたサーバ106またはクラスタに対して動的にバインドされてよい。例えば、サーバのロードが増えたり、ライブラリのサイズが増えたりすると、顧客のネットワーク114に対して、より多くのサーバがバインドされてよい。逆に、ロードが低減したり、ライブラリのサイズが減ったりすると、顧客にバインドされるクラスタ内のサーバ数またはクラスタ数が減ることもある。このようにして、格納スペース、プロセッサ速度または帯域幅等のサーバリソースを、自動的に効率的に割り当てることができる。
特定の顧客に対して選択されたバインドは、さらに地理的考慮に基づいていてもよい。顧客は、特定の1以上の地理的領域に制限されてよい。例えば、ある顧客が、アメリカ合衆国(US)のみにクライアントを有している場合を考える。この例では、この顧客は、USのクラスタにバインドされ、世界の他の領域のクラスタにはバインドされない。別の例として、顧客がアメリカ合衆国の西部のみにクライアンを有する場合を考える。この場合、この顧客は、アメリカ合衆国の西部のクラスタのみにバインドされてよい。
ある顧客向けに選択されるバインドは、クラスタで利用可能なインフラストラクチャの種類に応じて決められる。あるクラスタは、あるサーバ上に、他のサーバ上にはない特別なハードウェアを含む場合がある。一例では、あるサーバが、コンテンツのスモールオブジェクトを配信するのに適したフラッシュメモリ(例えばフラッシュ固体ドライブ(flash solid state drive:SSD))を有している。この例では、数多くスモールオブジェクトを発行する顧客を、フラッシュメモリを有するクラスタまたはサーバにバインドすることができる。別のサーバまたはクラスタを、ある種類のコンテンツを提供するある顧客にバインドするときには、他のハードウェアまたはソフトウェア特徴をサーバまたはクラスタに設けることもできる。
図2は、1つの可能性のある実施形態におけるバインドのグラフ(binding graph)200の一例を示す。バインドのグラフ200は、顧客Aに対する最大のサーバ割り当てを含んでおり、10箇所の位置に分割されている(例えば位置1から位置10)。これら位置は、ロサンゼルス、ニューヨークシティ、ロンドン等といった都市部の位置に対応していてよい。複数のサーバが各位置にあり、顧客Aに対する割り当てが可能である。バインドマップ200に示されているサーバは、顧客Aのコンテンツおよび関連するトラフィックの特性に従って顧客Aに割り当てられる。図2に示す例では、各位置に10個のサーバからなるクラスタが存在している。もちろん、実際の運営では、位置およびサーバの数が図2に示すものと大小する場合がある。
バインドの一例では、顧客Aが、初期値として、ネットワークサーバキャパシティの10%を割り当てられてもよい。このバインドでは、各位置で1つずつサーバを顧客Aに割り当てることができるだろう。例えば顧客Aが、最初、サーバ10、サーバ20、サーバ30、サーバ40、サーバ50、サーバ60、サーバ70、サーバ80、サーバ90、およびサーバ100とバインドされている、としてよい。トラフィックモニタは、サーバおよびコンテンツと関連付けられている1以上のメトリックを監視している。メトリックが変化すると、顧客Aに対するバインドを動的に変化させてよい。例えば、決定されている閾値をロードが上回ったときには、顧客Aに、ネットワークサーバキャパシティの20%を割り当てて良い。この場合には、顧客Aは、各位置で2つのサーバとバインドされてよい。
図3は、一実施形態において動的バインドを実行する電子動的バインドシステム302の一例を示す。電子バインドシステム302は、図6に示し後述する汎用コンピュータ等であるがこれに限定はされない1以上のコンピューティングデバイス内に実装することができる。電子動的バインドシステム302は、クラスタ/サーバ識別子(ID)304、顧客ID306、バインドマップ308、トラフィックモニタ310、メトリック決定モジュール312、閾値調節モジュール314、および、コールド・ノード保護モジュール316等の、複数の機能モジュールおよびデータを含む。
クラスタ/サーバID304は、CDNで利用可能なコンテンツサーバおよび/またはクラスタの識別子のリストを含む。クラスタ/サーバID304は、例えば都市部ごと、といった一定の様式に組織化されてよい。顧客ID306は、CDNの顧客の識別子(例えば名称)のリストを含む。バインドマップ308は、顧客ID306のうちの各顧客IDを、クラスタ/サーバID304のうちの1以上のクラスタ/サーバIDに関連付けることができる。バインドマップ308は、コンテンツ配信メトリックが変わると、調節されることがある。
トラフィックモニタ310は、コンテンツ配信に関連するネットワークトラフィックを監視する。一実施形態では、トラフィックモニタ310は、各サーバおよび/またはクラスタで取り扱われるコンテンツ要求を収集する。メトリック決定モジュール312は、トラフィックモニタ310からのネットワークトラフィックデータを利用して、1以上のコンテンツ配信メトリックを生成する。決定されうるメトリックの例には、中央処理装置(CPU)のオーバヘッド、帯域幅、レイテンシー、コンテンツの需要度、ライブラリのサイズ、およびコンテンツのサイズ(例えばファイルサイズ、オブジェクトサイズ等)が含まれるが、これらに限定はされない。
メトリック決定モジュール312の一部の実施形態では、ロードの監視も利用する。一部の実施形態では、全てのトランザクションのCPUオーバヘッドが決定される(例えばスモールオブジェクトの顧客)。一部の実施形態では、メトリック決定モジュール312は、ディスクから(off disk)コンテンツをどのくらい速く取得することができるかを判断する(例えばラージオブジェクトの顧客)。
一部の実施形態では、メトリック決定モジュール312は、複数のメトリックの組み合わせである複合メトリックを生成するよう構成されてもよい。例えばメトリック決定モジュール312は、各顧客からのコンテンツに関するCPUオーバヘッド、レイテンシー、コンテンツサイズ、または需要度の重み付け平均を生成することができる。
閾値調節モジュール314は、メトリック決定モジュール312からのメトリックに基づいて、ネットワークの割合の閾値を調節する。例えば、CDNがある顧客に対してネットワークトラフィック全体のX%を超える割合で、(または一部の実施形態ではこれ未満の割合で)配信を行っている場合、この顧客のバインドを調整して、トラフィックのX%程度の提供を行って(sufficient for X% of traffic)、CDNの周辺にトラフィックを分散することで、「ホットスポット」を回避する。例えば、帯域幅がその顧客のコンテンツに対して特に高い位置に、より多くのサーバが含まれるように、顧客のバインドを調節してよい。
一実施形態では、閾値調節モジュール314は、予測(anticipatory)調節アルゴリズムを利用する。この実施形態では、クラスタ/サーバマッピングを、ある顧客に関するトラフィックが実際に変化する前に作成しておく。例えば、特定の位置においてある顧客のコンテンツ要求が増えると予想して、この顧客に対してより多くのクラスタをバインドしておく、といったことができる。
コールド・ノード保護モジュール316は、あるコンテンツプロバイダに新たに関連付けられたコンテンツサーバに関する機能を提供するものである。一実施形態では、コールド・ノード保護モジュール316は、徐々に、コンテンツプロバイダに新たにバインドされたコンテンツサーバに、コンテンツ要求が行くようにする。つまり、コンテンツサーバが最初、あるコンテンツプロバイダにバインドされていたとする。しかし、このコンテンツサーバの受信するコンテンツ要求の数が限られていることから、要求処理および要求されたコンテンツのキャッシュへの充填処理を、徐々に新たなコンテンツサーバに担わせるようにする、ということである。
一実施形態では、自動コールド・ノード保護モジュール316が、新たに追加されるサーバまたはクラスタに対するロードを自動的に低減させて、コンテンツ要求の突然の集中(barrage)を防止する。新たなサーバ/クラスタは、オンラインになると、コンテンツ要求の突然の集中を防止する目的で、人工的に高いロードを報告する。時間が経って、この新たなサーバ/クラスタがより多くのコンテンツをキャッシュするようになると、このサーバ/クラスタは、報告するロードの量を減らす。この新たなサーバ/クラスタは、要求に対する応答に関するメトリックを自動決定することができる(例えば新たなオブジェクト要求(未キャッシュのもの)のカウント、全キャッシュ効率、応答時間等)。削減係数(shed factor)を利用することもできる。一般的には、削減係数は、本来はサーバ/クラスタに送られたはずだが(つまり、ネットワークがクライアントおよびロードに近いので)、そうならずに、その位置から二次的なサーバ/クラスタへと送られ削減されてしまったトラフィック量に関している。例えば、削減係数が50%に設定されている場合、ある特定のサーバ/クラスタに送られるべきであった要求の半分のみが、実際にはこの特定のサーバ/クラスタに送られる。例えば、キャッシュ効率が80%未満に低下すると、サーバ/クラスタの性能をチェックする。この処理を行うことで、手動の環境において、サーバまたはクラスタを、人工的に高い報告モードであり続けることがないようにすることができる。
図4は、一実施形態においてロードメトリックの関数としてネットワーク利用を示す理論モデル400を示すグラフである。モデル400は、ある顧客(顧客N)のメトリックが変化した場合の、サーバキャパシティ閾値の推移の一例を示している。ロードメトリックは、1以上のメトリック(例えばCPUオーバヘッド、データ取得速度、レイテンシー、重要度、その他)の組み合わせである複合メトリックであってよい。
この例の実施形態では、最初に閾値MAX1 402が顧客Nに割り当てられている。言い換えると、最初に顧客Nに割り当てられている最大サーバキャパシティが、ネットワークキャパシティ全体のMAX1パーセント、ということになる。ロードメトリックが増えるにつれて、閾値が上方へ移行して(404)、新たな閾値MAX2(406)となる。
一部の実施形態では、移行404は、実際にさらなるサーバ容量が必要になる前に生じることもある。これらの実施形態では、最大サーバキャパシティの必要性が予測される。ロードメトリックが再度低下すると、閾値はMAX1 402へと戻る。
一部の実施形態では、ヒステリシスを利用して、サーバキャパシティ閾値を移行させる(404)。ヒステリシスにより、サーバキャパシティ閾値がちょこちょこと(jerky)変化しないようにすることができる。
図5は、一実施形態の動的バインドアルゴリズム500を示すフローチャートである。動的バインドアルゴリズム500は、システム(図3の動的バインドシステム302または1以上の他のシステム)によって実行されてよい。
追加処理502により、顧客レジストリに新たな顧客が追加される(例えば図3の顧客ID304参照)。レジストリには、自身のコンテンツ配信にコンテンツ配信ネットワーク(CDN)を利用している顧客の識別子が含まれている。一実施形態では、追加処理502により、顧客レジストリに新たな顧客の識別子が追加されて、初期値のサーバキャパシティ閾値が選択される。
サーバキャパシティ閾値が選択された後で、追加処理502によって、新たな顧客は、選択されたサーバキャパシティ閾値に対応する1以上のCDNサーバまたはクラスタからなる初期セットにバインドされる。新たな顧客を、1以上のCDNサーバまたはクラスタからなる初期セットに関連付ける処理では、新たな顧客IDを1以上の初期CDNサーバまたはクラスタのIDに関連付ける処理が行われても良い。顧客とサーバとのバインドの例は、図2のバインドのグラフに示されている。クラスタまたはサーバの初期セットは、初期格納レベルを提供するよう選択されてよく、CDNの周辺の幾つかの地理的位置における初期値のロードに対応していてよい。加えて、一実施形態では、各顧客が、異なるクラスタまたはサーバからなる初期セットを有している。
受信処理504では、処理502で追加された顧客から1以上のコンテンツ要求が受信される。コンテンツを求めるコンテンツ要求が複数受信されると、決定処理506で、コンテンツプロバイダに関連付けられている利用メトリックを判断する。メトリックは、1以上のメトリック(例えば要求されているファイルの数、要求されているファイルのサイズ、要求されているデータの総量等)の組み合わせであってよい。一実施形態では、決定処理506において、これらメトリックに基づき、コンテンツプロバイダに関連付けられている全CDN帯域幅の割合を決定する。
処理506で決定されたCDN帯域幅の割合に基づいて、調節処理508で、コンテンツプロバイダに関連付けられている最大サーバキャパシティ閾値が調節される。調節処理では、ヒステリシスアルゴリズムの利用により閾値間の調節を円滑に行ってよい。ヒステリシスパラメータは設定可能である。上述したように、閾値とは、コンテンツプロバイダに割り当てられるCDN格納の上限を表しているが、一実施形態では閾値が下限を表していてもよい。閾値は、そのコンテンツプロバイダにバインドされているクラスタまたはサーバ数を決定するために利用される。通常、処理500はCDNの各顧客について継続して繰り返される。
図6は、本発明の実施形態を実装または実行することのできるコンピュータシステム600の概略図である。例えば、1以上のコンピューティングデバイス600は、ある顧客を、クラスタまたはサーバの初期セットにバインドして、顧客のコンテンツに関連するトラフィックを監視して、この顧客を、1以上のメトリックに応じて、クラスタまたはサーバの別のセットにバインドするように設定されていてよい。一般的には、コンピュータシステム600は、汎用コンピュータ(デスクトップ、ラップトップ、またはサーバコンピュータ)、または専用コンピュータ(例えばエンベデッドシステム)を含む任意の数のコンピューティングデバイスであってよい。
本例では、コンピュータシステム600は、バス601(インターコネクト)、少なくとも1つのプロセッサ602、少なくとも1つの通信ポート603、メインメモリ604、取り外し可能格納媒体605、読み出し専用メモリ606、および大容量ストレージ607を含むことができる。プロセッサ602は、Intel(登録商標)Itanium(登録商標)またはItanium2(登録商標)プロセッサ、AMD(登録商標)Opteron、またはAthlon MP(登録商標)プロセッサ、またはMotorola(登録商標)ラインのプロセッサ等の任意の公知のプロセッサであってよい。
通信ポート603は、モデムに基づくダイアルアップ接続で利用されるRS−232ポート、10/100Ethernet(登録商標)ポート、銅または繊維を利用するギガビットポート、またはUSBポートのうちの任意のものであってよいが、これらに限定もされない。通信ポート603は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、またはコンピュータシステム600が接続する任意のネットワーク等のネットワークに応じて選択されてよい。コンピュータシステム600は、周辺デバイス(例えば表示スクリーン630、入力デバイス616)と、これに限定もされないが入出力(I/O)ポート609等を介して接続可能であってよい。
メインメモリ604は、ランダムアクセスメモリ(RAM)であってもよいし、技術分野で公知の任意の他の動的格納デバイスであってもよい。読み出し専用メモリ606は、プロセッサ602に対する命令等の静的な情報を格納するための、プログラム可能読み出し専用メモリ(PROM)チップ等の任意の静的格納デバイスであってよい。大容量ストレージ607は、情報および命令を格納するために利用することができる。例えば、スカジー(SCSI:Small Computer Serial Interface)ドライブのAdaptec(登録商標)ファミリー等のハードディスク、光ディスク、RAID(Redundant Array of Independent Disks)ドライブのAdaptec(登録商標)ファミリー等のRAID等のディスクアレイ、または、その他の任意の大容量格納デバイスを利用することができる。
バス601は、プロセッサ602を、他のメモリ、格納および通信ブロックに、通信可能に連結する。バス601は、利用する格納デバイスに応じて、PCI/PCI−X、SCSI,またはユニバーサルシリアルバス(USB)に基づくシステムバス(またはその他)であってよい。取り外し可能格納媒体605は、任意の種類の外部ハードドライブ、フロッピー(登録商標)ドライブ、IOMEGA(登録商標)ジップドライブ、CD−ROM、CD−RW、DVD−ROM等であってよい。
ここに記載される実施形態は、コンピュータ(その他の電子デバイス)にプロセスを行わせるために利用することができる命令を格納した機械可読媒体を含みうるコンピュータプログラムプロダクトとして提供されてよい。機械可読媒体は、これらに限定はされないが、フロッピー(登録商標)ディスク、光ディスク、CD−ROM,光磁気ディスク、ROM、RAM、EPROM、EEPROM、磁気カード、光カード、フラッシュメモリ、その他の、電子命令の格納に適した種類の媒体/機械可読媒体を含んでよい。さらに、ここに記載する実施形態は、コンピュータプログラムプロダクトとしてダウンロードすることもでき、ここで、プログラムは、搬送波その他の伝播媒体で具現化されるデータ信号によって、通信リンク(例えばモデムまたはネットワーク接続)を介して、遠隔コンピュータから、要求を発するコンピュータへと転送されてよい。
示されているように、メインメモリ604は、ここで記載する機能をサポートする動的バインドアプリケーション650−1で符号化される。例えば、動的バインドアプリケーション650−1は、バインドマップ、トラフィックモニタ、閾値調節モジュール、および、メトリック決定モジュールを含むことができる。動的バインドアプリケーション650−1(および/またはここで記載するその他のリソース)は、ここに記載する別の実施形態における処理機能をサポートするデータおよび/または論理命令(例えば、メモリ、その他、ディスク等のコンピュータ可読媒体に格納されているコード)等のソフトウェアコードとして具現化されてよい。
一実施形態の処理中に、プロセッサ602は、バス601を利用してメインメモリ604にアクセスして、動的バインドアプリケーション650−1の論理命令を起動する、走らせる、実行する、解釈する、または行う(launch, run, execute, interpret or otherwise perform)。動的バインドアプリケーション650−1の実行によって、動的バインドプロセス650−2の処理機能が生成される。言い換えると、動的バインドプロセス650−2は、コンピュータシステム600内のプロセッサ602内で、またはこの上で実行される動的バインドアプリケーション650−1の一以上の部分を表している。
ここで記載した、処理を実行する動的バインドプロセス650−2に加え、本明細書の他の実施形態には、動的バインドアプリケーション650−1自身(つまり、未実行の、または、未実装の論理命令および/またはデータ(un-executed or non-performing logic and/or data))が含まれてよい点にも留意されたい。動的バインドアプリケーション650−1は、フロッピー(登録商標)ディスク、ハードディスク等のコンピュータ可読媒体(例えばレポジトリ)、または光媒体に格納されてよい。他の実施形態では、動的バインドアプリケーション650−1はさらに、ファームウェア、読み出し専用メモリ(ROM)等のメモリのタイプのシステムに格納されてもよく、またはこの例では、メインメモリ604内の(例えばランダムアクセスメモリ(またはRAM)内の)実行可能コードとして格納されてもよい。例えば、動的バインドアプリケーション650−1は、取り外し可能格納媒体605、読み出し専用メモリ606、および/または、大容量格納デバイス607に格納されてもよい。
コンピュータシステム600がサポートする機能の例(より詳しくは、動的バインドアプリケーション650−1および動的バインドプロセス650−2に関する機能)については、図1から図5を参照して前に詳述したとおりである。
これらの実施形態に加え、さらに、本明細書の他の実施形態には、プロセッサ602内で動的バインドアプリケーション650−1を動的バインドプロセス650−2として実行することも含まれている。従って当業者であれば、コンピュータシステム600に、割り当ておよびハードウェアリソースを制御するオペレーティングシステム等の、他のプロセスおよび/またはソフトウェアおよびハードウェアコンポーネントが含まれうることを理解する。
ここで説明したように、本発明の実施形態は、様々な段階および処理を含んでいる。これら様々な段階は、ハードウェアコンポーネントによる実行が可能であり、または、該命令でプログラミングされた汎用または専用プロセッサに、処理を行わせるために利用される機械実行可能命令に具現化することができる。または、段階はハードウェア、ソフトウェア、および/または、ファームウェアの組み合わせにより実行されてもよい。「モジュール」という用語は、内蔵型の機能上のコンポーネントを指し、これには、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせが含まれてよい。
ここで記載してきた例示的な実施形態には、本発明の範囲を逸脱せずに様々な変形例および追加を想到することができる。例えば、上述してきた実施形態では、特定の特徴が言及されていようとも、本発明の範囲には、これら特徴の異なる組み合わせを含む実施形態、および、記載した特徴が全ては含まれていない実施形態も含まれる。従って、本発明の範囲は、これら全ての代替例、変形例、および変更例、並びにこれらの全ての均等物を含むことが意図されている。本明細書によれば、以下の各項目に記載の事項もまた開示される。
[項目1]
コンテンツ配信ネットワークの第1セットのコンテンツサーバに、コンテンツプロバイダをマッピングする段階と、
前記コンテンツプロバイダから、前記コンテンツ配信ネットワークの前記第1セットのコンテンツサーバが配信するコンテンツを受信する段階と、
前記コンテンツプロバイダからの前記コンテンツに関連するネットワークトラフィックを監視する段階と、
前記ネットワークトラフィックに関連付けられる少なくとも1つのメトリックを決定する段階と、
前記少なくとも1つのメトリックに基づいて、前記コンテンツ配信ネットワークの第2セットのコンテンツサーバに前記コンテンツプロバイダをマッピングしなおす段階と
を備える方法。
[項目2]
前記第1セットのコンテンツサーバは、複数の地理的位置にある複数のサーバを含む、項目1に記載の方法。
[項目3]
前記少なくとも1つのメトリックは、中央処理装置(CPU)のオーバヘッド、レイテンシー、コンテンツのサイズ、ライブラリのサイズ、およびコンテンツの重要度を含む、項目1に記載の方法。
[項目4]
前記少なくとも1つのメトリックからなる複合メトリックを生成する段階をさらに備える、項目3に記載の方法。
[項目5]
前記第2セットのコンテンツサーバに前記コンテンツプロバイダをマッピングしなおす段階は、
前記複合メトリックが閾値を超える場合にマッピングをしなおす段階を有する、項目4に記載の方法。
[項目6]
コンテンツを提供する複数のコンテンツサーバにマッピングされたコンテンツプロバイダからの前記コンテンツに関連するネットワークトラフィックを監視するトラフィックモニタと、
前記ネットワークトラフィックに関連付けられる少なくとも1つのメトリックを計算するメトリック決定モジュールと、
前記コンテンツプロバイダにマッピングされたコンテンツサーバの数を調節する閾値調節モジュールと、
前記コンテンツプロバイダにマッピングされた前記コンテンツサーバを識別するバインドマップと
を有する電子動的バインドシステムを備えるシステム。
[項目7]
前記電子動的バインドシステムは、コンテンツプロバイダにバインドされたコンテンツサーバへと、コンテンツ要求を徐々に誘導するコールド・ノード保護モジュールをさらに有する、項目6に記載のシステム。
[項目8]
前記バインドマップは、前記コンテンツプロバイダにバインドすることが可能な最大数のコンテンツサーバのセットを識別する、項目6に記載のシステム。
[項目9]
前記閾値調節モジュールは、前記コンテンツサーバの数を調節するときにヒステリシスを提供する、項目6に記載のシステム。
[項目10]
前記メトリック決定モジュールは、中央処理装置のオーバヘッド、レイテンシー、コンテンツのサイズ、ライブラリのサイズ、および重要度を含む群から選択される1以上のメトリックを決定する、項目6に記載のシステム。
[項目11]
前記バインドマップが階層状である、項目6に記載のシステム。
[項目12]
実行されるとコンピュータにプロセスを実行させるコンピュータ実行可能命令を格納しているコンピュータ可読媒体であって、
1以上のサーバクラスタは各々、コンテンツプロバイダからのコンテンツを配信するよう設定されている1以上のサーバを含み、
前記プロセスは、
前記1以上のサーバクラスタを前記コンテンツプロバイダに関連付ける段階と、
前記コンテンツプロバイダに、1以上のサーバクラスタからなる第1セットにおける少なくとも1つのサーバを関連付ける段階と、
前記コンテンツに対する要求を受けると、前記コンテンツを、前記1以上のサーバクラスタからなる第1セットから配信する段階と、
前記要求を受けて生成されたネットワークトラフィックを監視する段階と、
1以上のネットワークメトリックを決定する段階と、
前記1以上のネットワークメトリックに基づき、前記コンテンツプロバイダからの前記コンテンツを配信するよう設定するコンテンツサーバの数を調節する段階と
を含む、コンピュータ可読媒体。
[項目13]
前記1以上のサーバクラスタは地理的に分散している、項目12に記載のコンピュータ可読媒体。
[項目14]
前記1以上のサーバクラスタは、前記コンテンツプロバイダのクライアントの位置に基づき選択される、項目13に記載のコンピュータ可読媒体。
[項目15]
前記1以上のネットワークメトリックは、中央処理装置のオーバヘッド、レイテンシー、コンテンツのサイズ、ライブラリのサイズ、およびコンテンツの重要度を含む、項目12に記載のコンピュータ可読媒体。
[項目16]
前記プロセスは、前記コンテンツプロバイダに新たに関連付けられたコンテンツサーバに対して、コンテンツ要求を徐々に増加させる段階をさらに含む、項目12に記載のコンピュータ可読媒体。
[項目17]
前記プロセスは、前記1以上のメトリックの組み合わせである複合値を生成する段階をさらに含む、項目15に記載のコンピュータ可読媒体。

Claims (16)

  1. コンテンツ配信ネットワークの第1セットのコンテンツサーバ、コンテンツプロバイダとを互いに関連付けることで、前記第1セットのコンテンツサーバに前記コンテンツプロバイダをマッピングする段階と、
    前記コンテンツプロバイダから、前記コンテンツ配信ネットワークの前記第1セットのコンテンツサーバが配信するコンテンツを受信する段階と、
    前記コンテンツプロバイダからの前記コンテンツに関連するネットワークトラフィックを監視する段階と、
    前記ネットワークトラフィックに関連付けられる少なくとも1つのメトリックを決定する段階と、
    前記少なくとも1つのメトリックに基づいて、前記コンテンツ配信ネットワークの第2セットのコンテンツサーバに前記コンテンツプロバイダをマッピングしなおす段階と
    前記第2セットのコンテンツサーバへと、コンテンツ要求を徐々に誘導する段階と
    を備え
    前記マッピングしなおす段階では、前記コンテンツプロバイダにマッピングされた前記コンテンツサーバを識別するバインドマップを調節する方法。
  2. 前記第1セットのコンテンツサーバは、複数の地理的位置にある複数のサーバを含む、請求項1に記載の方法。
  3. 前記少なくとも1つのメトリックは、前記コンテンツサーバの中央処理装置(CPU)のオーバヘッド、コンテンツ配信に関連するレイテンシー、前記コンテンツプロバイダにより提供されるコンテンツのサイズ、前記コンテンツプロバイダのライブラリのサイズ、および、前記コンテンツプロバイダにより提供されるコンテンツの重要度の少なくとも1つを含む、請求項1または2に記載の方法。
  4. 前記少なくとも1つのメトリックからなる複合メトリックを生成する段階をさらに備える、請求項1からの何れか1項に記載の方法。
  5. 前記第2セットのコンテンツサーバに前記コンテンツプロバイダをマッピングしなおす段階は、
    前記複合メトリックが閾値を超える場合にマッピングをしなおす段階を有する、請求項4に記載の方法。
  6. コンテンツを提供する複数のコンテンツサーバとコンテンツプロバイダとを互いに関連付けることで前記複数のコンテンツサーバにマッピングされた前記コンテンツプロバイダからの前記コンテンツに関連するネットワークトラフィックを監視するトラフィックモニタと、
    前記ネットワークトラフィックに関連付けられる少なくとも1つのメトリックを生成するメトリック決定モジュールと、
    前記コンテンツプロバイダにマッピングされたコンテンツサーバの数を調節する閾値調節モジュールと、
    前記コンテンツプロバイダにマッピングされた前記コンテンツサーバを識別するバインドマップと
    を有する電子動的バインドシステムを備え
    前記電子動的バインドシステムは、前記コンテンツプロバイダに新たにバインドされたコンテンツサーバへと、コンテンツ要求を徐々に誘導するコールド・ノード保護モジュールをさらに有するシステム。
  7. 前記新たにバインドされたコンテンツサーバがオンラインになると、前記新たにバインドされたコンテンツサーバは、人工的に高いロードを報告して、前記新たにバインドされたコンテンツサーバでのコンテンツ要求の突然の集中を防止する、請求項6に記載のシステム。
  8. 前記バインドマップは、前記コンテンツプロバイダにバインドすることが可能な最大数のコンテンツサーバのセットを識別する、請求項6または7に記載のシステム。
  9. 前記閾値調節モジュールは、前記コンテンツサーバの数を調節するときにヒステリシスを提供する、請求項6から8の何れか1項に記載のシステム。
  10. 前記メトリック決定モジュールは、前記コンテンツサーバの中央処理装置のオーバヘッド、コンテンツ配信に関連するレイテンシー、前記コンテンツプロバイダにより提供されるコンテンツのサイズ、前記コンテンツプロバイダのライブラリのサイズ、および、前記コンテンツプロバイダにより提供される重要度を含む群から選択される1以上のメトリックを決定する、請求項6から9の何れか1項に記載のシステム。
  11. 前記バインドマップが階層状である、請求項6から10の何れか1項に記載のシステム。
  12. 実行されるとコンピュータにプロセスを実行させるコンピュータ実行可能命令を格納しているコンピュータ可読媒体であって、
    1以上のサーバクラスタは各々、コンテンツプロバイダからのコンテンツを配信するよう設定されている1以上のサーバを含み、
    前記プロセスは、
    前記1以上のサーバクラスタを前記コンテンツプロバイダに関連付ける段階と、
    前記コンテンツプロバイダに、1以上のサーバクラスタからなる第1セットにおける少なくとも1つのサーバを関連付ける段階と、
    前記コンテンツに対する要求を受けると、前記コンテンツを、前記1以上のサーバクラスタからなる第1セットから配信する段階と、
    前記要求を受けて生成されたネットワークトラフィックを監視する段階と、
    1以上のネットワークメトリックを決定する段階と、
    前記1以上のネットワークメトリックに基づき、前記コンテンツプロバイダからの前記コンテンツを配信するよう設定するコンテンツサーバの数を調節する段階と
    前記コンテンツプロバイダに新たに関連付けられたコンテンツサーバに対して、コンテンツ要求を徐々に増加させる段階と
    を含む、コンピュータ可読媒体。
  13. 前記1以上のサーバクラスタは地理的に分散している、請求項12に記載のコンピュータ可読媒体。
  14. 前記1以上のサーバクラスタは、前記コンテンツプロバイダのクライアントの位置に基づき選択される、請求項12または13に記載のコンピュータ可読媒体。
  15. 前記1以上のネットワークメトリックは、前記コンテンツサーバの中央処理装置のオーバヘッド、コンテンツ配信に関連するレイテンシー、前記コンテンツプロバイダにより提供されるコンテンツのサイズ、前記コンテンツプロバイダのライブラリのサイズ、および、前記コンテンツプロバイダにより提供されるコンテンツの重要度を含む、請求項12から14の何れか1項に記載のコンピュータ可読媒体。
  16. 前記プロセスは、前記1以上のメトリックの組み合わせである複合値を生成する段階をさらに含む、請求項12から15の何れか1項に記載のコンピュータ可読媒体。
JP2013509165A 2010-05-04 2011-05-03 コンテンツ配信に利用される動的バインド Expired - Fee Related JP5901024B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/773,086 2010-05-04
US12/773,086 US20110276679A1 (en) 2010-05-04 2010-05-04 Dynamic binding for use in content distribution
PCT/US2011/034906 WO2011140023A1 (en) 2010-05-04 2011-05-03 Dynamic binding for use in content distribution

Publications (2)

Publication Number Publication Date
JP2013525931A JP2013525931A (ja) 2013-06-20
JP5901024B2 true JP5901024B2 (ja) 2016-04-06

Family

ID=44902682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013509165A Expired - Fee Related JP5901024B2 (ja) 2010-05-04 2011-05-03 コンテンツ配信に利用される動的バインド

Country Status (5)

Country Link
US (4) US20110276679A1 (ja)
EP (1) EP2567327B1 (ja)
JP (1) JP5901024B2 (ja)
CA (1) CA2798054C (ja)
WO (1) WO2011140023A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110276679A1 (en) 2010-05-04 2011-11-10 Christopher Newton Dynamic binding for use in content distribution
JPWO2011142334A1 (ja) * 2010-05-12 2013-07-22 日本電気株式会社 コンテンツ配信システム、スクリプト生成装置、端末、コンテンツ配信方法、及びコンテンツ配信プログラム
US9766947B2 (en) * 2011-06-24 2017-09-19 At&T Intellectual Property I, L.P. Methods and apparatus to monitor server loads
US8775628B2 (en) * 2011-08-31 2014-07-08 Metaswitch Networks Ltd. Load balancing for SIP services
EP2791819B1 (en) 2011-12-14 2017-11-01 Level 3 Communications, LLC Content delivery network
US9992260B1 (en) 2012-08-31 2018-06-05 Fastly Inc. Configuration change processing for content request handling in content delivery node
US9106700B2 (en) 2012-09-06 2015-08-11 Amazon Technologies, Inc. Risk aware domain name service
US10701149B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having origin services
US10791050B2 (en) 2012-12-13 2020-09-29 Level 3 Communications, Llc Geographic location determination in a content delivery framework
US9847917B2 (en) 2012-12-13 2017-12-19 Level 3 Communications, Llc Devices and methods supporting content delivery with adaptation services with feedback
US20140337472A1 (en) 2012-12-13 2014-11-13 Level 3 Communications, Llc Beacon Services in a Content Delivery Framework
US20140344453A1 (en) * 2012-12-13 2014-11-20 Level 3 Communications, Llc Automated learning of peering policies for popularity driven replication in content delivery framework
US9634918B2 (en) 2012-12-13 2017-04-25 Level 3 Communications, Llc Invalidation sequencing in a content delivery framework
US10652087B2 (en) 2012-12-13 2020-05-12 Level 3 Communications, Llc Content delivery framework having fill services
US10701148B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having storage services
US9667501B2 (en) * 2013-02-05 2017-05-30 Cisco Technology, Inc. Pre-processing framework component of distributed intelligence architectures
US9391847B2 (en) 2013-08-08 2016-07-12 Level 3 Communications, Llc Content delivery methods and systems
BR112015010309A2 (pt) * 2014-05-08 2017-08-22 Ericsson Telecomunicacoes Sa Gerenciamento de armazenagem fornecido por rede de entrega de conteúdo
US9525782B2 (en) * 2014-05-13 2016-12-20 Verizon Patent And Licensing Inc. Usage-based adaptive data allocation for a toll-free data service campaign
US10348589B2 (en) * 2015-06-15 2019-07-09 Netflix, Inc. Managing networks and machines that deliver digital content
US10291531B2 (en) * 2016-06-30 2019-05-14 Juniper Networks, Inc. Bandwidth management for resource reservation protocol LSPS and non-resource reservation protocol LSPS
US10673805B2 (en) * 2017-09-29 2020-06-02 Level 3 Communications, Llc Dynamic binding and load determination in a content delivery network (CDN)
CN110049356A (zh) * 2019-01-23 2019-07-23 阿里巴巴集团控股有限公司 显示控制方法、装置和电子设备
US10887380B2 (en) * 2019-04-01 2021-01-05 Google Llc Multi-cluster ingress
CN113839999A (zh) * 2021-09-18 2021-12-24 上海明略人工智能(集团)有限公司 基于多集群的设备回调分发方法、系统、设备及存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108703A (en) * 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
JP2001306433A (ja) * 2000-04-10 2001-11-02 Nec Corp 費用効率の高いコンテンツ配信サービスのためのシステムおよび方法
US7484002B2 (en) * 2000-08-18 2009-01-27 Akamai Technologies, Inc. Content delivery and global traffic management network system
EP1410215A4 (en) * 2000-08-22 2006-10-11 Akamai Tech Inc COMPILING DYNAMIC CONTENT ON EDGE-OF-NETWORK SERVER IN A CONTENT DELIVERY NETWORK
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US20020152301A1 (en) * 2000-12-19 2002-10-17 Reactive Networking, Inc. System and method for determining the state of a service within a computer network
US6959333B2 (en) * 2001-05-08 2005-10-25 Lucent Technologies Inc. Technique for content delivery over the internet
JP4410963B2 (ja) * 2001-08-28 2010-02-10 日本電気株式会社 コンテンツ動的ミラーリングシステム、
JP2003085067A (ja) * 2001-08-30 2003-03-20 Internatl Business Mach Corp <Ibm> 情報の提供方法および情報の提供システムおよびプログラム
EP2403219B1 (en) * 2001-09-28 2014-10-22 Level 3 CDN International, Inc. Method for name to address resolution
CA2411806A1 (en) * 2001-11-16 2003-05-16 Telecommunications Research Laboratory Wide-area content-based routing architecture
US7428588B2 (en) * 2004-04-08 2008-09-23 International Business Machines Corporation Method for distributing and geographically load balancing location aware communication device client-proxy applications
US7613704B2 (en) * 2005-01-19 2009-11-03 Hewlett-Packard Development Company, L.P. Enterprise digital asset management system and method
US8005933B2 (en) * 2005-04-13 2011-08-23 International Business Machines Corporation Probabalistic throttling of application server requests
US7778417B2 (en) * 2005-05-17 2010-08-17 International Business Machines Corporation System and method for managing encrypted content using logical partitions
US7860968B2 (en) * 2005-11-21 2010-12-28 Sap Ag Hierarchical, multi-tiered mapping and monitoring architecture for smart items
EP2274684A4 (en) * 2008-04-04 2012-12-05 Level 3 Communications Llc HANDLING LONG TAIL CONTENT IN A CONTENT DELIVERY NETWORK (CDN)
US8364710B2 (en) * 2008-07-10 2013-01-29 Juniper Networks, Inc. Model-based resource allocation
US20110276679A1 (en) 2010-05-04 2011-11-10 Christopher Newton Dynamic binding for use in content distribution

Also Published As

Publication number Publication date
CA2798054C (en) 2018-02-27
WO2011140023A1 (en) 2011-11-10
EP2567327B1 (en) 2017-07-12
US20210144423A1 (en) 2021-05-13
US20110276679A1 (en) 2011-11-10
CA2798054A1 (en) 2011-11-10
US20190327507A1 (en) 2019-10-24
US10904597B2 (en) 2021-01-26
EP2567327A1 (en) 2013-03-13
US20180115793A1 (en) 2018-04-26
JP2013525931A (ja) 2013-06-20
US10341700B2 (en) 2019-07-02
EP2567327A4 (en) 2014-07-30

Similar Documents

Publication Publication Date Title
JP5901024B2 (ja) コンテンツ配信に利用される動的バインド
US10778801B2 (en) Content delivery network architecture with edge proxy
CN106790324B (zh) 内容分发方法、虚拟服务器管理方法、云平台和系统
JP5654022B2 (ja) 企業ネットワーク内の割り当てられたクラウドリソースの動的な負荷分散およびスケーリング
EP2266043B1 (en) Cache optimzation
EP2515504B1 (en) Content delivery method, system and schedule server
US20100037225A1 (en) Workload routing based on greenness conditions
US20130007282A1 (en) Method of load balancing edge-enabled applications in a content delivery network (CDN)
CN102118433A (zh) 多层次的分布式集群系统
WO2011044829A1 (zh) 资源缓存方法、资源获取方法及其装置、系统
US20230069240A1 (en) Dynamic cloning of application infrastructures
KR101120572B1 (ko) 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 다운로드 방법
KR101089509B1 (ko) 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법
JP5957965B2 (ja) 仮想化システム、負荷分散装置、負荷分散方法、及び負荷分散プログラム
US10341454B2 (en) Video and media content delivery network storage in elastic clouds
CN109067898A (zh) 一种通过文件散列分布降低内容分发网络边缘节点回源率的方法
US8583819B2 (en) System and method for controlling server usage in peer-to-peer (P2P) based streaming service
KR20150011087A (ko) 컨텐츠 전송 서비스를 위한 분산 캐싱 관리 방법 및 이를 위한 중앙 관리 장치
KR101218574B1 (ko) 네트워크의 스토리지를 이용한 컨텐츠 전달
CN116633921A (zh) 基于边缘缓存的cdn-p2p网络及缓存方法、缓存放置方法
US20160188306A1 (en) Methods Circuits Devices Systems and Associated Computer Executable Code for Providing Application Data Services to a Mobile Communication Device
KR20150010415A (ko) 분산 캐싱을 위한 컨텐츠 전송 서비스 방법 및 중계 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150407

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150706

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: 20160209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160304

R150 Certificate of patent or registration of utility model

Ref document number: 5901024

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees