(57)【特許請求の範囲】
【請求項１】
複数の利用可能なコンテンツ・オブジェクトを配信するコンテンツ配信システム（ＣＤＳ）であって、
複数のコンテンツ記憶ノード（ＣＳＮ）を備え、各ＣＳＮが、少なくとも１つの他のネットワーク・ノードとの通信に適合されたネットワーク・ノードと、ローカル空間に割り振られた第１のメモリ部分および連合空間に割り振られた第２のメモリ部分を有する記憶デバイスとを備え、
各ＣＳＮの前記ローカル空間が、有用性レベルの比較的高い利用可能なコンテンツ・オブジェクトを記憶するように適合され、
各ＣＳＮの前記連合空間が、他のＣＳＮの前記連合空間と協働して、有用性レベルの比較的低い利用可能なコンテンツ・オブジェクトの少なくとも一部を記憶するように適合され、
コンテンツ・オブジェクトが、コンテンツ・オブジェクト有用性レベルの差に応答してローカル空間と連合空間との間で移行される、ＣＤＳ。
【請求項２】
複数の最低階層レベルＣＳＮのそれぞれが、クライアント・デバイスと通信するように適合されたサブネットワークに関連し、
各最低階層レベルＣＳＮが、それぞれのサブネットワークを介して最もよく要求されるコンテンツ・オブジェクトをそのローカル空間に優先的に記憶する、請求項１に記載のＣＤＳ。
【請求項３】
各最低階層レベルＣＳＮが、そのローカル空間から降格されたコンテンツ・オブジェクトを仮想連合空間に優先的に記憶し、前記仮想連合空間が、各ＣＳＮの前記連合空間を論理的に結合することによって形成される、請求項２に記載のＣＤＳ。
【請求項４】
最低階層レベルＣＳＮのグループが、共通の親ＣＳＮとのそれぞれの通信経路を介してコンテンツ・オブジェクトを受け取り、コンテンツ・オブジェクトが、前記共通の親ＣＳＮを介して前記最低階層レベルＣＳＮのグループのメンバ間で移動される、請求項２に記載のＣＤＳ。
【請求項５】
複数の親ＣＳＮのそれぞれが、上位階層レベルＣＳＮとのそれぞれの通信経路を介してコンテンツ・オブジェクトを受け取り、コンテンツ・オブジェクトが、前記上位階層レベルＣＳＮを介して前記複数の親ＣＳＮ間で移動される、請求項４に記載のＣＤＳ。
【請求項６】
ピアツーピア通信チャネルを介して相互に通信する少なくとも２つの最上階層レベルＣＳＮを備え、各最上階層レベルＣＳＮにそれぞれの下位階層レベルＣＳＮグループが関連し、コンテンツ・オブジェクトが、前記ピアツーピア通信チャネルを介して前記それぞれの下位階層レベルＣＳＮグループ間で移動される、請求項１に記載のＣＤＳ。
【請求項７】
第１の上位階層レベルＣＳＮが第１の下位階層レベルＣＳＮグループに関連し、
第２の上位階層レベルＣＳＮが第２の下位階層レベルＣＳＮグループに関連し、
コンテンツ・オブジェクトが、レベル間通信チャネルを介して前記第１の上位階層レベルＣＳＮと前記第２の下位階層レベルＣＳＮグループとの間で移動される、請求項１に記載のＣＤＳ。
【請求項８】
ＣＳＮ記憶デバイス内の連合空間割振りを管理するように適合されたコンテンツ・マネージャをさらに備え、前記コンテンツ・マネージャが、ネットワーク帯域幅コストと記憶デバイス・コストとの少なくとも一方の変化に応答してローカル空間と連合空間の割振りを適合させる、請求項１に記載のＣＤＳ。
【請求項９】
ローカル空間と連合空間との間で割り振られた記憶デバイスをそれぞれが備える複数のコンテンツ記憶ノード（ＣＳＮ）を備えるコンテンツ配信システム（ＣＤＳ）中で、コンテンツの記憶を適合させる方法であって、
ＣＳＮにおいてコンテンツ・オブジェクト要求を受け取るステップと、
前記ＣＳＮのローカル空間に記憶されたコンテンツ・オブジェクトの有用性レベルが、前記要求されたコンテンツ・オブジェクトの有用性レベルよりも低い場合に、ローカル空間に記憶された前記コンテンツ・オブジェクトを前記要求されたコンテンツ・オブジェクトで置き換えるステップと、
連合空間に記憶されたコンテンツ・オブジェクトの有用性レベルが、前記要求されたコンテンツ・オブジェクトの前記有用性レベルよりも低く、前記要求されたコンテンツ・オブジェクトが、ローカル空間に記憶されたコンテンツ・オブジェクトに取って代わらない場合に、連合空間に記憶された前記コンテンツ・オブジェクトを前記要求されたコンテンツ・オブジェクトで置き換えるステップと、
連合空間に記憶されたコンテンツ・オブジェクトの前記有用性レベルが、前記置き換えられたローカル空間コンテンツ・オブジェクトの前記有用性レベルよりも低い場合に、連合空間に記憶された前記コンテンツ・オブジェクトを前記置き換えられたローカル空間コンテンツ・オブジェクトで置き換えるステップとを含む、方法。
【請求項１０】
ソフトウェア・プログラムを記憶したコンピュータ可読媒体であって、前記ソフトウェア・プログラムが、コンピュータによって実行されたとき、コンテンツの記憶を適合させる方法を前記コンピュータに実施させ、前記方法が、
ローカル空間と連合空間との間で割り振られた記憶デバイスをそれぞれが備える複数のコンテンツ記憶ノード（ＣＳＮ）を備えるコンテンツ配信システム（ＣＤＳ）内で、ＣＳＮにおいてコンテンツ・オブジェクト要求を受け取るステップと、
前記ＣＳＮのローカル空間に記憶されたコンテンツ・オブジェクトの有用性レベルが、前記要求されたコンテンツ・オブジェクトの有用性レベルよりも低い場合に、ローカル空間に記憶された前記コンテンツ・オブジェクトを前記要求されたコンテンツ・オブジェクトで置き換えるステップと、
連合空間に記憶されたコンテンツ・オブジェクトの有用性レベルが、前記要求されたコンテンツ・オブジェクトの前記有用性レベルよりも低く、前記要求されたコンテンツ・オブジェクトが、ローカル空間に記憶されたコンテンツ・オブジェクトに取って代わらない場合に、連合空間に記憶された前記コンテンツ・オブジェクトを前記要求されたコンテンツ・オブジェクトで置き換えるステップと、
連合空間に記憶されたコンテンツ・オブジェクトの前記有用性レベルが、前記置き換えられたローカル空間コンテンツ・オブジェクトの前記有用性レベルよりも低い場合に、連合空間に記憶された前記コンテンツ・オブジェクトを前記置き換えられたローカル空間コンテンツ・オブジェクトで置き換えるステップとを含む、コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、参照により本明細書に組み込まれている、２００９年２月２０日に出願した仮特許出願第６１／２０８，１７６号の利益を主張するものである。
【０００２】
本発明は、コンテンツ配信ネットワークの分野に関し、より詳細には、コンテンツ配信および記憶を管理することに関する。
【背景技術】
【０００３】
コンテンツ配信ネットワーク（ＣＤＮ）は、ネットワーク・インフラストラクチャ中にわたって分散するキャッシュからなる。これらのキャッシュは通常、基礎をなすネットワーク・トポロジに従う階層に構成される。各キャッシュは通常、コンテンツを記憶するための大容量記憶デバイスが関連付けられたネットワーク要素またはノードを含む。各キャッシュは、そのキャッシュに直接に所属するユーザ、すなわち、配信階層中でそのキャッシュの直下に位置するユーザのみにサービスする。キャッシュ間の協働は、主として、親および兄弟キャッシュ間でのトラフィックの交換に限定される。このアーキテクチャでは、階層中の同じレベルにある全てのキャッシュは、主として、同じコンテンツを有する。これらのキャッシュは、要求を受け取ると、要求されたコンテンツがキャッシュに記憶されていれば（すなわちキャッシュ・ヒット）そのコンテンツを直接に供給することができ、あるいは、そのコンテンツがキャッシュに記憶されていなければ（すなわちキャッシュ・ミス）要求を親キャッシュに転送することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
基礎をなすネットワーク・インフラストラクチャの平坦化と、ＩＰアドレッシングを介してコンテンツ配信階層に到達する能力とにより、あるキャッシュが、コンテンツ配信ネットワーク中の他のキャッシュからコンテンツを取り出すことが可能である。すなわち、子キャッシュは、要求されたコンテンツ・オブジェクトまたはタイトルのコピーがローカルに記憶されていない場合に、その親キャッシュ以外のキャッシュにアイテムを要求することができる。平坦化されたコンテンツ配信ネットワーク中では、どのコンテンツ・オブジェクトまたはタイトルがどのキャッシュに記憶されるべきか、およびＣＤＮ全体においてどれくらい頻繁にコンテンツ・オブジェクトが記憶されるべきかが、最初に決定される。コンテンツ要求は、その要求に最もうまく応答できるキャッシュにルーティングされる。コンテンツ・オブジェクトが最初に配信されて以後は、キャッシュ間における記憶済みコンテンツの連携はそれ以上ない。
【課題を解決するための手段】
【０００５】
従来技術のこれらおよび様々な他の欠陥は、コンテンツ配信ネットワーク（ＣＤＮ）のコンテキスト内で連携グローバルおよびローカル・キャッシュ管理機能を提供するシステム、方法、および装置によって対処される。ローカル・キャッシュまたはコンテンツ記憶ノード（ＣＳＮ）が、ローカル空間と連合空間との間で区分されたまたは割り振られたローカル大容量記憶デバイスを備え、ローカル空間は主に、より人気のあるコンテンツに充てられ、連合空間は主に、より人気のないコンテンツに充てられる。各コンテンツ・オブジェクトに関連する有用性パラメータが監視され、有用性パラメータは、ＣＤＮを形成する様々なキャッシュ内のローカル空間と連合空間との間でコンテンツを移行するのに使用される。連合空間は、複数のＣＳＮの連合空間を結合することによって形成されるずっと大きい仮想連合空間の一部として管理される。
【０００６】
任意選択で、親と子のコンテンツ記憶ノード間の逆方向チャネル容量を使用して、同じまたは異なる階層レベルのキャッシュ間の効率的なコンテンツ移行を容易にする。この逆方向チャネル容量を使用する決定は、利用可能なタイプの通信チャネルのコスト、大容量記憶装置のコスト、オブジェクトのファイル・サイズ、および／または他の要因の影響を受ける。
【発明の効果】
【０００７】
したがって、様々な実施形態は、ネットワーク内のキャッシュ・ノードの分散集合の協働を、任意選択で基礎的なネットワーク・トポロジに関する知識と共に利用して、ディスク空間および未使用アップリンク容量の使用を活用することによって通過帯域幅のコストを削減する。
【０００８】
本発明の教示は、添付の図面と共に以下の詳細な説明を考察することによって容易に理解することができる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態によるコンテンツ配信システム（ＣＤＳ）の高レベルのブロック図である。
【図２】本明細書に述べる機能を実施する際に使用するのに適した汎用コンピュータの高レベルのブロック図である。
【図３】様々な実施形態によるキャッシュ・メモリ使用を図式的に示す図である。
【図４】様々な実施形態によるキャッシュ・メモリ使用を図式的に示す図である。
【図５】様々な実施形態によるキャッシュ・メモリ使用を図式的に示す図である。
【図６】一実施形態による記憶装置割振り方法の流れ図である。
【図７】図６の記憶装置割振り方法において使用するのに適したコンテンツ昇格／降格方法の流れ図である。
【発明を実施するための形態】
【００１０】
理解を容易にするため、各図に共通の同一要素を示すのに、可能な場合は同一の参照番号を使用している。
【００１１】
本発明は、親／子（アップストリーム／ダウンストリーム）通信経路を使用して同じまたは異なる階層レベルのキャッシュ間でコンテンツが移行される、コンテンツ記憶ノードまたはキャッシュの階層を含むコンテンツ配信ネットワーク（ＣＤＮ）のコンテキスト内で述べる。
【００１２】
様々な実施形態は、個別のキャッシュ記憶装置をローカル空間と連合空間との間で割り振り、ローカル空間は主に、より人気のあるコンテンツに充てられ、連合空間は主に、より人気のないコンテンツに充てられる。コンテンツの人気を示すパラメータが監視され、これらのパラメータは、ＣＤＮを形成する様々なキャッシュ内のローカル空間と連合空間との間でコンテンツを移行するのに使用される。キャッシュ内のローカル空間と連合空間の相対的な量は、コンテンツの人気、キャッシュ間の異なるレベルのコンテンツ要求、局所的／地域的コンテンツ嗜好などの、大域的または局所的な変化に応答して、時の経過に伴って変化する場合がある。
【００１３】
様々な実施形態は、親と子のコンテンツ記憶ノード間の既存の逆方向チャネル容量を利用して、キャッシュ間の効率的なコンテンツ移行を容易にする。このようにすれば、より安価な（かつ、すでに存在する）、親ノードに関連する順方向および逆方向のデータ・チャネルを使用して、共通の親ノードに関連する子ノード間でコンテンツを移行することができる。
【００１４】
本発明の一部は、コンテンツ配信ネットワーク内のネットワーク・トラフィックがしばしば非対称であってアップストリーム方向よりもダウンストリーム方向での需要が高く、今日のネットワークのほとんどの部分が対称容量を有することを、発明者らが認識したことにある。このように、アップストリーム帯域幅が利用可能であって十分に活用されていないことが多く、したがって、既存の（遊休）リソースを利用できるので、ネットワークのトランスポート・リソースを増加させることなくコンテンツのピアツーピア（例えば子から子へ）移行を実施することができる。
【００１５】
様々な実施形態は、通常なら遊休状態にあるこれらのネットワーク・リソースを利用してキャッシュ間のコンテンツ移行の量を増加させ、連合キャッシュのコンテキスト内でよりインテリジェントにキャッシュ・リソースをプールする。結合または連合キャッシュＣＤＮは、階層コンテンツ配信システム中で従来利用可能であったよりも著しく大きいコンテンツ記憶域を提供するが、これは一部には、各キャッシュにおいて記憶する必要のあるコンテンツ・オブジェクトまたはオブジェクトの数が削減されることによる。コンテンツ要求がピアツーピアで満たされることが増加することによってもまた、非常に高価な通信リソースに関連するコンテンツ・ソースまたは他のネットワーク要素にアップストリーム送信しなければならない要求の数が削減される。
【００１６】
図１に、一実施形態によるコンテンツ配信システム（ＣＤＳ）の高レベルのブロック図を示す。図１のＣＤＳ１００は、映画、テレビジョン番組、音楽などのコンテンツを配信するように動作する。概して言えば、コンテンツ・オブジェクトもしくはオブジェクトは最初、コンテンツ保管庫に記憶されているか、または、ＣＤＳ内のリモート・サーバもしくはキャッシュなど何らかの他のコンテンツ・ソースによって提供される。
【００１７】
具体的には、図１のコンテンツ配信システム１００は、コンテンツ保管庫１５０と他のコンテンツ・ソース１６０とのいずれかからコンテンツを受け取る中央または最上レベル・コンテンツ集約ノード１１０を含む。コンテンツ集約ノード１１０は、ネットワーク要素１２０−１〜１２０−Ｎ（まとめて第２レベル・ネットワーク要素１２０）として示される、コンテンツ記憶ノードとして動作する複数の第２レベル・ネットワーク要素のそれぞれにコンテンツを配信する。各第２レベル・ネットワーク要素１２０は、ネットワーク要素１３０−１〜１３０−Ｎ（まとめて第３レベル・ネットワーク要素１３０）として示される、コンテンツ記憶ノードとして動作するそれぞれの複数の第３レベル・ネットワーク要素にコンテンツを配信する。各第３レベル・ネットワーク要素１３０は、１４０−１〜１４０−Ｎ（まとめてクライアント・デバイス１４０）として示されるそれぞれの複数のクライアント・デバイスにコンテンツを配信する。
【００１８】
コンテンツ集約ノード１１０、第２レベル・ネットワーク要素１２０、および第３レベル・ネットワーク要素１３０は、クライアント・デバイス１４０によるコア・ネットワーク１８０へのアクセスを必要に応じて可能にするのに適したアクセス・ネットワークを集合的に表す。
【００１９】
コンテンツ保管庫１５０は、直接におよび／またはコア・ネットワーク１８０を介してコンテンツ集約ノード１１０と通信するものとして示し、他のコンテンツ・ソース１６０は、コア・ネットワーク１８０を介してコンテンツ集約ノード１１０と通信するものとして示す。
【００２０】
コア・ネットワーク１８０と通信するネットワーク・マネージャ１７０も示す。ネットワーク・マネージャ１７０は、様々な実施形態で、複数のコンテンツ・キャッシュの大容量記憶デバイス内の連合空間割振りを管理するように適合されたコンテンツ・マネージャとして動作する。
【００２１】
ネットワーク・マネージャ１７０はコア・ネットワーク１８０のみと通信するように示されているが、ネットワーク・マネージャ１７０は、コンテンツ集約ノード１１０など、管理されているネットワーク内の任意の適したネットワーク要素と通信してもよいことは、当業者には理解されるであろう。さらに、ネットワーク・マネージャ１７０は、別個の要素として示されているが、コンテンツ集約ノード１１０、第２レベル・ネットワーク要素１２０、および第３レベル・ネットワーク要素１３０のいずれかの内に含まれてもよい。
【００２２】
図１に示すコンテンツ配信システム１００は、一実施形態の単純化した表現である。発明者らは、このシステム１００に様々な修正を加えてよいことを企図する。例えば、考察を簡単にするために単一のコンテンツ集約ノード１１０が示されているが、複数のコンテンツ集約ノードを使用してもよく、そのような使用が発明者らによって企図されることは、当業者には理解されるであろう。同様に、２つの階層レベルのみのコンテンツ記憶ノードが示されているが（１２０／１３０）、様々な実施形態のコンテキスト内で、より多いかまたは少ない階層レベルのコンテンツ記憶ノードを使用してもよい。加えて、コンテンツ記憶ノードやクライアント・デバイスなどの数に関係するものとして用語「複数」を使用する場合、これは具体的な数を示すものと解釈すべきではない。例えば、第２レベル・ネットワーク要素１２０の複数Ｎは、第３レベル・ネットワーク要素１３０の複数Ｎおよび／またはクライアント・デバイス１４０の複数Ｎと同じである必要はない。
【００２３】
コンテンツ集約ノード１１０は、各第２レベル・コンテンツ記憶ノード１２０に、それぞれの高帯域幅（かつ高コスト）通信チャネルＨＢＣを介してコンテンツを搬送する。第２レベル・コンテンツ記憶ノード１２０は、対応する第３レベル・コンテンツ記憶ノード１３０と、それぞれの順方向チャネルＦＣおよび逆方向チャネルＲＣを介して通信する。第３レベル・コンテンツ記憶ノード１３０は、例示的には標準ラストマイル通信チャネル（ＬＭ）を介して、それぞれの近傍のクライアント・デバイス１４０と通信する。遠隔通信ネットワークに関係する一実施形態では、コンテンツ集約ノード１１０はオフィス間通信センタを含み、各第２レベル・コンテンツ記憶ノード１２０は中央オフィス（ＣＯ）を含み、各第３レベル・コンテンツ記憶ノード１３０はディジタル加入者線アクセス・マルチプレクサ（ＤＳＬＡＭ）を含む。ケーブル・テレビジョン・ネットワークに関係する他の実施形態では、コンテンツ集約ノードはケーブル・テレビジョン・ヘッドエンド・デバイスを含む。
【００２４】
各コンテンツ記憶ノード１２０／１３０は、コンテンツ・オブジェクトを記憶するための１つまたは複数の大容量記憶デバイスに関連する。コンテンツ記憶ノードの例示的な構成については、後で図２に関してより詳細に論じる。
【００２５】
通常の動作においては、クライアント・デバイス１４０が、クライアント・デバイスにサービスするコンテンツ記憶ノード１３０にコンテンツを要求する。コンテンツ記憶ノード１３０に関連する大容量記憶デバイスが、要求されたコンテンツを含む場合は、コンテンツはクライアント・デバイスに直接に供給される。そうでない場合は、別のコンテンツ記憶ノード、コンテンツ集約ノード１１０、コンテンツ保管庫１５０、または何らかの他のコンテンツ・ソース１６０からコンテンツを取り出さなければならない。後者の場合、要求されたコンテンツを取り出して供給するのに必要な時間量によって、ユーザ体験はいくらか劣化する。
【００２６】
各コンテンツ記憶ノード１２０／１３０は、その大容量記憶デバイス（複数可）に、ＣＤＮを介して利用可能な総コンテンツのうちの一部しか記憶することができない。コンテンツ記憶ノード１２０／１３０に関連する大容量記憶装置は、後でより詳細に論じるように、ローカル空間と連合空間との間で割り振られる。
【００２７】
コンテンツ配信システム内の各コンテンツ・オブジェクトには、有用性パラメータが関連する。有用性パラメータは、コンテンツ・オブジェクトの人気、コンテンツ・オブジェクトのファイル・サイズ、コンテンツ・オブジェクトの場所、コンテンツ・オブジェクトを取り出すコスト、および他の要因のうちの１つまたは複数に基づく。これらの要因は、任意選択で、相互に対して重み付けされる。コンテンツ・オブジェクトの有用性パラメータに関連する要因は、コンテンツの相対的な人気、記憶空間のコスト、ピアツーピア帯域幅使用、親から子への帯域幅使用などに応答して選択される。
【００２８】
コンテンツ・オブジェクトの有用性レベルは、任意選択で、局所有用性レベルおよび／または連合有用性レベルのコンテキスト内で構築される。局所有用性レベルは、ＣＳＮに関連するクライアント・デバイスのサブネットワークに関係するものとしてのコンテンツ・オブジェクトの有用性レベルを含み、連合有用性レベルは、ＣＳＮ全体に関係するものとしてのコンテンツ・オブジェクトの有用性レベルを含む。
【００２９】
様々な実施形態は、利用可能なコンテンツ・オブジェクトに関連する有用性パラメータの変化に応答して、ローカル空間および連合空間に記憶された特定のコンテンツ・オブジェクトを適合させる。例えば、一実施形態では、最も人気のあるコンテンツ・オブジェクトが、各コンテンツ記憶ノードにおけるローカル空間に記憶され、より人気のないコンテンツ・オブジェクトが、全てのコンテンツ記憶ノード中の連合空間にわたって分散される。コンテンツ記憶ノードにおけるローカル空間は有限であり、したがって、相対的な有用性に基づくコンテンツ・オブジェクトのランク順序付きリストを利用して、どのコンテンツ・オブジェクトがローカル空間に記憶されるかが決定される。より人気のあるオブジェクト、より小さいファイル・サイズのコンテンツ・オブジェクトなどを優先することができる。あるコンテンツ・オブジェクトが時の経過に伴って人気が下がってきた（例えば相対的な有用性が低下した）場合、このコンテンツ・オブジェクトは、ローカル空間から「降格」して連合空間に入れることができる。同様に、あるコンテンツ・オブジェクトが時の経過に伴って人気が上がってきた（例えば相対的な有用性が上昇した）場合、このコンテンツ・オブジェクトは連合空間、コンテンツ保管庫、または他のコンテンツ・ソースからローカル空間に「昇格」させることができる。
【００３０】
概して言えば、より人気があり、したがってより頻繁に要求されるコンテンツ・オブジェクトまたはタイトルは、有用性パラメータの値がより高い傾向があることになり、そのためこれらのコンテンツ・オブジェクトまたはタイトルは、ローカル空間に記憶される傾向があることになる。このようにして、新しい映画、テレビジョン番組、スポーツ・イベント、音楽など、非常に人気のあるコンテンツ・オブジェクトは、より素早く要求元ユーザにストリーミングされるように、ローカルに記憶される傾向があることになる。
【００３１】
様々な他の実施形態は、コンテンツ・オブジェクト要求を満たすことに関連するコストの変化に応答して、コンテンツ記憶ノードのローカル空間と連合空間との比率を適合させる。例えば、大容量記憶装置が比較的安価であり、帯域幅コスト（例えばコンテンツ・アグリゲータ１１０と第２レベル・コンテンツ宛先ノード１２０との間の）が比較的高価である場合は、より多くのコンテンツ・オブジェクト、より大きいファイル・サイズのコンテンツ・オブジェクトなどをローカルに記憶することが望ましくなる。この場合、大容量記憶デバイスのサイズの増大、および／または、大容量記憶デバイスのローカル空間への割振りの増大が望まれる。同様に、大容量記憶装置が比較的高価であり、帯域幅コストが比較的安価であるシナリオでは、より少ないコンテンツ・オブジェクト、より小さいファイル・サイズのコンテンツ・オブジェクトなどをローカルに記憶することが望ましくなる。この場合、大容量記憶デバイスのサイズの縮小、および／または、大容量記憶デバイスのローカル空間への割振りの縮小が望まれる。
【００３２】
様々な他の実施形態は、コンテンツを、そのコンテンツを必要とする可能性が最も高いコンテンツ記憶ノードに向けて移動するように動作する。民族特有のコンテンツを、対応する民族グループにサービスするコンテンツ記憶ノードに移動するなどである。これは、民族特有のコンテンツを求める要求が増加したことで、そのようなコンテンツの相対的な有用性レベルが上昇した場合に生じることがある。
【００３３】
様々な実施形態で、ネットワーク・マネージャ１７０は、キャッシュまたはコンテンツ記憶ノードに関連する１つまたは複数の大容量記憶デバイス内のローカル空間と連合空間の割振りを適合させる。様々な実施形態で、ネットワーク・マネージャ１７０は、例示的には、各コンテンツ・オブジェクトに関連する有用性パラメータを定義するのに使用される要因の相対的な重み付けを適合させることによって、コンテンツ記憶ノードの動作を適合させる。このようにして、ネットワーク性能および／またはコスト基準の変化に応答して記憶装置割振り方法を適合させることができる。
【００３４】
様々な実施形態で、ネットワーク・マネージャ１７０は、コンテンツ記憶ノードに関連する大容量記憶デバイス内における連合空間割振りを論理的に結合または集約することによって生み出された仮想連合空間内で、比較的人気のないコンテンツを分散させることを、コンテンツ配信システムに行わせる。様々な分散方法が企図されるが、それらの方法には、コンテンツ・オブジェクトの有用性に関して後で論じる要因のうちの１つまたは複数に基づく分散方法が含まれる。
【００３５】
図２に、本明細書に述べる機能を実施する際に使用するのに適した汎用コンピュータの高レベルのブロック図を示す。具体的には、システム２００は、１つまたは複数の処理要素２２０（例えば中央処理装置（ＣＰＵ））、メモリ２３０、例えばランダム・アクセス・メモリ（ＲＡＭ）および／または読取専用メモリ（ＲＯＭ）、ならびに、様々な入出力デバイス２１０（例えば、限定されないがテープ・ドライブ、フロッピー・ドライブ、ハードディスク・ドライブ、またはコンパクトディスク・ドライブを含めた記憶デバイス、受信機、送信機、スピーカ、表示装置、出力ポート、通信ネットワーク・インタフェース、およびユーザ入力デバイス（キーボード、キーパッド、マウスなど））を備える。加えて、ハードディスク・ドライブやディスク・ドライブ・アレイ等、１つまたは複数の大容量記憶デバイスなどのローカル記憶デバイス２４０が示されている。
【００３６】
システム２００は、図１に関して先に示したコンテンツ、コンテンツ記憶ノード１２０／１３０、および／またはクライアント・デバイス１４０について本明細書に述べる様々な機能を実施する際に有用な基本的なコンピューティング要素の、単純化した表現である。メモリ２３０は、記憶装置割振り２３２、ならびにコンテンツ供給および監視エンジン２３４を含むものとして示されている。様々な実施形態で、記憶装置割振りエンジン２３２は、各コンテンツ記憶ノード１２０／１３０によって実行されるソフトウェア命令を含む。様々な実施形態で、コンテンツ供給および監視エンジン２３４は、コンテンツ集約ノード１１０、ネットワーク・マネージャ１７０、および／または配信ノード１２０／１３０によって実行されるソフトウェア命令を含む。
【００３７】
本明細書でソフトウェア方法として論じるステップのいくつかは、ハードウェア内で、例えばプロセッサと協働して様々な方法ステップを実施する回路として、実現できることが企図される。本発明の一部は、コンピュータ・プログラム製品として実現することができ、その場合、コンピュータ命令は、コンピュータによって処理されたとき、本発明の方法および／または技法が呼び出されるかまたは他の形で提供されるようにコンピュータの動作を適合させる。本発明の方法を呼び出すための命令は、固定もしくは取外し可能な媒体に記憶することができ、放送もしくは他の信号担持媒体中でデータ・ストリームを介して送信することができ、かつ／または、これらの命令に従って動作するコンピューティング・デバイス内のワーキング・メモリ内に記憶することができる。したがって、一実施形態は、ソフトウェア命令を記憶するためのメモリと、ソフトウェア命令を実行するためのプロセッサとを備える装置を含み、ソフトウェア命令は、プロセッサによって実行されたとき、本明細書で論じる様々な実施形態に従って１つまたは複数の方法を装置に実施させる。
【００３８】
様々な実施形態による方法は、様々なコンテンツ・キャッシュまたはコンテンツ記憶ノードの動作を連携させ、それによりキャッシュ連合（すなわち、相互と協働する複数のキャッシュ）を提供する。このようにして、クライアント・デバイスによって要求される可能性が最も高いコンテンツはまた、クライアント・デバイスにとって容易に利用可能である可能性が最も高いコンテンツでもある。
【００３９】
様々な実施形態で、コンテンツ記憶ノードにおける利用可能メモリの可変の一部分が、キャッシュ連合に割り振られる。キャッシュ連合に割り振られていないメモリはローカルに管理され、キャッシュ連合に割り振られたメモリは、他のコンテンツ記憶ノードのキャッシュ連合割振りされたメモリに対して連携方式で管理される。
【００４０】
一実施形態では、キャッシュ連合に割り振られていないメモリを使用して、最も人気があると見なされるコンテンツ・オブジェクトが記憶される。コンテンツ・オブジェクトの人気は、ユーザの総計（例えば、特定のノード、ノード・グループ、またはネットワーク全体に関連する、コンテンツ・オブジェクト要求の数）、特定のコンテンツ記憶ノードに関連する地域人口統計などに関して決定することができる。したがって、人気のあるコンテンツ・オブジェクトまたはタイトルを、多くの（または全ての）コンテンツ記憶ノードのローカル管理されるメモリに、複数回記憶することができる。
【００４１】
一実施形態では、キャッシュ連合に割り振られたメモリを使用して、キャッシュ連合に割り振られていないメモリに記憶されるコンテンツ・オブジェクトよりも人気のないコンテンツ・オブジェクトが記憶される。様々な実施形態で、キャッシュ連合内には、より人気のないコンテンツ・オブジェクトの単一コピーのみが記憶される。例えば、１０個のコンテンツ記憶ノードのキャッシュ連合が、総数１００００個のより人気のないコンテンツ・オブジェクトを記憶すると仮定すると、キャッシュ連合内の１０個のコンテンツ記憶ノードの各々が、それぞれの１０００個（およそ）のより人気のないコンテンツ・オブジェクトを記憶する。他の実施形態では、より人気のないコンテンツ・オブジェクトのいくつかまたは全てが、複数のコンテンツ記憶ノードにおいて（全てのコンテンツ記憶ノードにおいてではないが）記憶される。キャッシュ連合の効果は、複数のコンテンツ記憶ノードまたはキャッシュの利用可能メモリを引き寄せて単一の大きいキャッシュを形成することである。
【００４２】
図３に、単一キャッシュから見たローカルおよび連合メモリ空間を図式的に示す。具体的には、図３には、親コンテンツ記憶ノード１２０が２つの子コンテンツ記憶ノード１３０−１および１３０−２と通信しているのを示す。コンテンツ記憶ノード１３０−２は、いくつかのクライアント・デバイス１４０と、それぞれのサブネットワーク内で通信するものとして示す。コンテンツ記憶ノード１３０−２に関連する大容量記憶デバイス２４０が、連合空間とローカル空間との間で割り振られた記憶空間を有するものとして示す。
【００４３】
図３にはまた、大域人気グラフ（ＧＰ）およびサブネットワーク人気グラフ（ＳＰ）も示す。大域人気グラフは、ＣＤＮ（またはＣＤＮの地理領域）中の全てのコンテンツ記憶ノードに関連するユーザのコンテキスト内でのコンテンツ人気を示す。サブネットワーク人気グラフは、特定のコンテンツ記憶ノードに関連するユーザのコンテキスト内でのコンテンツ人気を示す。これらのグラフの各垂直スライスは、特定の人気評定（または人気評定範囲）を有する１つまたは複数のコンテンツ・オブジェクトに関連し、垂直スライスの長さは、コンテンツ・オブジェクト（複数可）の相対的な人気を示す。すなわち、比較的長い垂直スライスは、比較的より人気のあるコンテンツを示す。
【００４４】
ローカル空間は、サブネットのユーザまたはクライアント・デバイスによって定義される最も人気のあるファイルおよびコンテンツ・オブジェクトを含む。すなわち、サブネットワークに関連するコンテンツ記憶ノードのローカル空間内には、１つまたは複数の上位人気セグメントが記憶される。他のコンテンツ記憶ノードに関連するサブネットワーク中のユーザまたはクライアント・デバイスも、これら他のサブネットワーク中で同様の選好または人気を示す場合があるので、その結果、コンテンツ配信ネットワーク内のどこかでファイルおよび／またはコンテンツ・オブジェクトが複製される可能性がある。特定のサブネットワークについてのコンテンツ・オブジェクトのサブネットワーク人気の図式的表現を、サブネットワーク人気グラフＳＰ中に示す。
【００４５】
連合空間は、コンテンツ配信システム内で利用可能な残りのファイルおよびコンテンツ・オブジェクトの一部を含む。すなわち、サブネットワークに関連するコンテンツ記憶ノードの連合空間内には、残りの人気のセグメントのうちの１つまたは複数が記憶されることになる。人気のあるコンテンツ・オブジェクトまたはタイトルの他のセグメントは、１つまたは複数の他のコンテンツ記憶ノードに関連する大容量記憶デバイス上で割り振られた連合空間に記憶される。
【００４６】
連合空間に関連する人気曲線は、連合記憶空間または仮想連合記憶空間の総体を形成する複数のキャッシュにわたって記憶されるセグメントを含むことに留意されたい。様々な実施形態による方法は、コンテンツ配信ネットワーク中にわたるより効率的なコンテンツ・オブジェクト配信への漸進的な発展が達成されるように、ローカルと連合の記憶空間の比率、ならびに、ローカルと連合の記憶空間に記憶されるコンテンツ・オブジェクトの比率を適合させることになる。この効率は、後で本明細書において詳細に論じるように、コンテンツ移行／サーバ効率と、階層トポロジ内のピアツーピア通信における逆方向チャネルなどの帯域幅利用効率との両方を反映する。
【００４７】
一実施形態では、連合空間は、コンテンツ配信ネットワーク内のどこかで利用可能なコンテンツ・オブジェクトを複製することなく、コンテンツ配信ネットワーク全体の内で人気のあるファイルおよびコンテンツ・オブジェクトを含む。
【００４８】
別の実施形態では、連合空間は、複数のコンテンツ記憶ノードにおいて記憶されるファイルおよびコンテンツ・オブジェクトを含む。このように連合空間内でコンテンツ・オブジェクトの複数コピーを記憶することは、コンテンツ配信システム内でのコンテンツ・オブジェクトの地理的分散および／または階層分散のコンテキスト内で、特に有用である。この実施形態では、任意選択で、連合空間内に記憶されたコンテンツ・オブジェクトのコピーの数が、しきい値数またはカウントに制限される。
【００４９】
図４に、ネットワークから見たローカルおよび連合メモリ空間を図式的に示す。具体的には、図４には、親コンテンツ記憶ノード１２０が２つの子コンテンツ記憶ノード１３０−１および１３０−２と通信しているのを示す。各コンテンツ記憶ノード１３０は、クライアント・デバイス１４０のそれぞれのサブネットワークと通信するものとして示す。各コンテンツ記憶ノード１３０は、それぞれの大容量記憶デバイス２４０に関連する。大容量記憶デバイス２４０−１は、その容量の７５％を連合空間に割り振り、その容量の２５％をローカル空間に割り振るものとして示す。大容量記憶デバイス２４０−２は、その容量の５０％を連合空間とローカル空間のそれぞれに割り振るものとして示す。
【００５０】
ネットワークから見ると、２つの大容量記憶デバイスの連合空間割振りによって、仮想連合空間４１０が定義される。ＣＤＮがさらに多くのコンテンツ記憶ノードを追加するコンテキスト内では、連合空間の割振り量が増加するにつれて、仮想連合空間４１０はますます大きくなる。
【００５１】
前述のキャッシュ連合は、非常に多くのコンテンツ・オブジェクトを記憶することができ、したがって非常に多くのコンテンツ・トンネル要求を満たす。しかし、キャッシュ連合内のコンテンツ記憶ノード間でコンテンツ・オブジェクトを分散記憶させると、ユーザ要求を満たすためにコンテンツ・オブジェクトまたはタイトルがキャッシュ間で移動されるのに伴って、様々なコンテンツ記憶ノード間のトラフィックが増加する。
【００５２】
概して言えば、キャッシュ連合中の各キャッシュは、最も人気のあるアイテムのコピーをそのローカルメモリに記憶する。各キャッシュは、ローカル・アイテムよりは人気がないが、その連合メモリに記憶されていないアイテムよりは人気のあるアイテムが、別のキャッシュの連合メモリに記憶されていない場合に、そのアイテムのコピーを記憶する。各キャッシュは、自身は持っていないが、自身と連合している別のキャッシュに記憶されているコンテンツを求める要求を、ルーティングする。
【００５３】
ローカルメモリと連合メモリとの間の分離は、動的であり、変更することができる。連合キャッシングに充てられるメモリの量は、ｉ）ピアリング・リンク、およびｉｉ）キャッシュ間のリンクにかかる負荷を制御する。すなわち、メモリ・リソースの割振りは、任意選択で、キャッシュ間のリンク使用に従って調整される。キャッシュ間の帯域幅が利用可能な場合、連合とローカルとの間のリソース割振りを用いて、連合メモリの部分を増大させることによって元サーバに向けられる負荷を低くすることができる。
【００５４】
ある特別なケースは、複数の連合キャッシュがトポロジを介して接続され、キャッシュ間で交換されるトラフィックが、ソース・キャッシュから次のホップ・ルータへのアップリンク、次いでターゲット・キャッシュへのダウンストリームを横断する場合である。ほとんどのネットワークでは、アップリンクは、インターネット・トラフィックの非対称性のせいで十分に活用されず、キャッシュ協働に使用することができる。ダウンリンクにかかる負荷はわずかに変化するだけであり、そのような変化は不可避であろう。というのは、コンテンツは依然としてターゲット・キャッシュに送達する必要があるからである。この構成では、キャッシュ間で交換されるトラフィックは、他のトラフィックと競合しない。このシナリオでは、図５に関して以下に示すような多くのトポロジにわたってうまく機能するロバスト設定となるためには、例示的にメモリの９５％を連合キャッシングに充て、５％をローカル・キャッシングに充てることが、発明者らによって決定されている。
【００５５】
図５に、いくつかのコンテンツ配信ネットワーク・トポロジを図式的に示す。具体的には、図５には、階層トポロジ５１０、キャッシュ連合レベル内接続性トポロジ５２０、およびキャッシュ連合レベル間接続性トポロジ５３０のブロック図を図式的に示す。各トポロジ５１０〜５３０は、例示的に、図１のシステム１００に関して先に示したようなＬ１、Ｌ２、Ｌ３として示すコンテンツ記憶ノードまたはキャッシュの３つの階層レベルを含む。最も低い階層レベル（Ｌ３）は、コンテンツを、そのようなコンテンツを要求するクライアント・デバイスＣに配信する。Ｌ１−Ｌ２通信リソースのコストは、Ｌ２−Ｌ３通信リソースのコストよりも大きい。Ｌ２−Ｌ３通信リソースのコストは、Ｌ３−Ｌ２クライアント通信リソースのコストよりも大きい。
【００５６】
本明細書に述べるように、様々な実施形態は、コンテンツ配信ネットワーク内の十分に活用されていないリソースを利用することによって、そのネットワークの効率を改善する。具体的には、様々な実施形態は、本明細書に述べるキャッシュ連合アルゴリズムを適合させて、ＣＤＮ内のアップリンクとダウンリンクとの間で負荷を動的に移し、それにより、階層レベル間のアップストリームとダウンストリームのトラフィックがより対称になるようにする。すなわち、可能な限りＬ２−Ｌ３トラフィックのバランスをとることにより、Ｌ１−Ｌ２トラフィックのかなりの低減を達成することができる。Ｌ１−Ｌ２トラフィックの低減は、きわめて大きいコスト節約をネットワーク・オペレータにもたらす。一般に、連合空間に割り振られるメモリの量を増加させると、Ｌ３−Ｌ２アップストリーム・トラフィックの量が増加し、Ｌ１−Ｌ２ダウンストリーム・トラフィックのイベントが減少する。
【００５７】
図５では、トポロジ・モデル５１０、５２０−５３０の下にそれぞれ、対応する棒グラフ５１５、５２５、５３５を示す。各棒グラフは、左から右に、Ｌ１−Ｌ２通信レベル／コスト、Ｌ２−Ｌ２通信レベル／コスト、およびＬ２−Ｌ３通信レベル／コストを示す。
【００５８】
階層トポロジ５１０中では、各階層Ｌ１、Ｌ２、Ｌ３内のノードまたはキャッシュは、親または子ノードのみと通信する。キャッシュ連合レベル内接続性トポロジ５２０は、Ｌ２−Ｌ２通信を追加することによって階層トポロジ５１０に改良を加えている。追加されたＬ２−Ｌ２通信は、Ｌ１−Ｌ２通信を低減するように、したがってＬ１−Ｌ２通信コストを低くするように作用する。同様に、キャッシュ連合レベル間接続性トポロジ５３０は、追加のＬ２−Ｌ３通信チャネルを加えることによって階層トポロジ５１０に改良を加えている。追加されたＬ２−Ｌ３通信チャネルもまた、Ｌ１−Ｌ２通信を低減するように、したがってＬ１−Ｌ２通信コストを低くするように作用する。
【００５９】
このように、実施形態は、図５に示す具体的なトポロジ５１０〜５３０のいずれかに従ったトポロジを使用して設計されたコンテンツ配信ネットワークを構想する。代替実施形態は、追加のＬ２−Ｌ３リンクまたは通信チャネルと共に、Ｌ２−Ｌ２リンクまたは通信チャネルを追加するなど、これらのトポロジに対する修正を用いて設計されたコンテンツ配信ネットワークを構想する。
【００６０】
図１および５に関して上述したコンテンツ配信ネットワーク（ＣＤＮ）トポロジは、最低階層レベルのコンテンツ記憶ノード（ＣＳＮ）がそれぞれのクライアント・グループに関連し、より高い階層レベルのＣＳＮがそれぞれのより低いＣＳＮグループに関連し、以下同様であるような、ＣＳＮの階層構成を提供する。複数の最上階層レベルのＣＳＮのそれぞれが、コンテンツ集約ノード１１０と通信するのが示されている。コンテンツ集約ノード１１０に関連する機能は、例示的に、１つまたは複数の最上階層レベルのＣＳＮによって実施されてもよいことに留意されたい。
【００６１】
ネットワーク・マネージャは、様々な記憶装置割振り方法を利用して、これらのトポロジのいずれかのコンテンツ・キャッシュまたはＣＳＮ内の連合およびローカル空間割振りを、効率改善およびコスト低下に資するような方式で適合させる。先に論じたように、ピアツーピア・リンクの追加や削除などのネットワーク・トポロジ変更、レベル間接続性、レベル内接続性、通信チャネルのオーバーローディング（すなわち所望の特別なレベルを超える帯域幅利用）などを、ネットワーク・マネージャが使用して、１つまたは複数のＣＳＮ内の連合／ローカル空間割振りを確実に適合させる。
【００６２】
図６に、一実施形態による記憶装置割振り方法の流れ図を示す。記憶装置割振り方法６００は、例えば、図１に関して上述したようなコンテンツ記憶ノード内での使用に適する。
【００６３】
ステップ６１０で方法６００に入り、コンテンツ・オブジェクトを求める要求がクライアント１４０などから受け取られる。
【００６４】
ステップ６２０で、要求されたコンテンツ・オブジェクトの有用性が決定される。すなわち、枠６２５を参照すると、コンテンツ・オブジェクトの人気、コンテンツ・オブジェクトのファイル・サイズ、コンテンツ・オブジェクトの場所、コンテンツ・オブジェクトを取り出すコスト、および／または他の要因のうちの１つまたは複数を使用して、コンテンツ・オブジェクトに関連する有用性パラメータが決定される。
【００６５】
ステップ６３０で、要求されたコンテンツ・オブジェクトの場所が決定される。すなわち、枠６３５を参照すると、要求されたコンテンツ・オブジェクトがローカル記憶デバイス内のローカル空間に記憶されているのか、ローカル記憶デバイス内の連合空間に記憶されているのか、リモート記憶デバイス内の連合空間に記憶されているのか、コンテンツ保管庫に記憶されているのか、他のコンテンツ・ソースに記憶されているのかが決定される。
【００６６】
ステップ６４０で、要求元ユーザへのコンテンツ・オブジェクトの供給が開始される。すなわち、様々な実施形態で、要求元ユーザと、要求されたコンテンツ・オブジェクトに関連するサーバとの間でセッションが確立され、要求されたコンテンツがコンテンツ・ストリームまたはファイルとしてユーザに送信される。
【００６７】
ステップ６５０で、要求されたコンテンツ・オブジェクトに関連する有用性パラメータによって示されるように、コンテンツ昇格／降格方法が実施される。枠６４５を参照すると、要求されたコンテンツ・オブジェクトは、その有用性レベルに応じて、（優先順位の高い方から）ローカル記憶デバイスのローカル空間、ローカル記憶デバイスの連合空間、およびリモート記憶デバイスの連合空間に優先的に記憶される。ローカル記憶デバイスのローカル空間が一杯まで利用されていると仮定すると、要求されたコンテンツ・オブジェクトをローカル空間に記憶するには、ローカル空間から既存の記憶済みコンテンツ・オブジェクトを削除（すなわち降格）する必要がある。次いで、ローカル空間から降格されたコンテンツ・オブジェクト（または、要求されたコンテンツ・アイテムの有用性レベルが低すぎる場合は、要求されたコンテンツ・アイテム）は、ローカル記憶デバイスの連合空間に優先的に記憶されるが、これはまた、この連合空間から既存の記憶済みアイテムを削除（降格）することを必要とする場合がある。次いで、最も有用性レベルの低い、要求されたまたは降格されたコンテンツ・オブジェクトは、別のコンテンツ記憶ノードの連合空間に優先的に記憶される。コンテンツ昇格／降格方法の一実施形態については、後で図７に関して論じる。
【００６８】
任意選択で、要求されたコンテンツに関連する昇格／降格方法は、上方および下方しきい値コピー・カウントのうちの一方または両方に応答して適合される。一実施形態では、上方しきい値コピー・カウントは、連合空間に記憶できるコンテンツ・オブジェクトのコピーの最大数である。一実施形態では、下方しきい値コピー・カウントは、連合空間に記憶できるコンテンツ・オブジェクトのコピーの最大数であり、追加のコピーを記憶すると別のコンテンツ・オブジェクトが削除／降格されることになる。他の実施形態では、各コンテンツ・オブジェクトには単一のしきい値コピー・カウントのみが関連し、この単一のしきい値コピー・カウントは、コンテンツ・オブジェクトを連合空間に記憶できる回数を表す。
【００６９】
様々な実施形態で、記憶決定の頻度が、コンテンツ送達システム中で交換される情報よりも高い場合があり、それにより実際のコピー数が変動する場合があることは理解されるであろう。したがって、いずれかの所与の時点で、コピー・カウントは、ターゲット値／しきい値よりも小さいかまたは大きい場合がある。
【００７０】
ステップ６６０で、ローカル記憶装置割振りが適宜実施される。すなわち、ステップ６６０では、大容量記憶デバイスのローカル空間割振りと連合空間割振りとの比率が、適宜、適合される。枠６６５を参照すると、このような割振りは、帯域幅コストの変化（すなわち、Ｌ１−Ｌ２またはＬ２−Ｌ２帯域幅のコストの減少または増加）、記憶装置コストの変化（すなわち、大容量記憶装置またはキャッシュ・メモリのコストの減少または増加）、トポロジの変化（図５に関して先に示したものなど）、および／または他の要因に応答して適合される。
【００７１】
図６の方法６００は、特定の順序で各ステップを実施するものとして示されているが、本発明を実践しながらもこの特定の順序を修正できることは、当業者には理解されるであろう。例えば、コンテンツ・オブジェクトを要求元ユーザに供給するステップ（６４０）は、要求されたコンテンツ・オブジェクトの有用性の決定（６２０）、要求されたコンテンツ・オブジェクトに関連する任意の昇格／降格の実施（６５０）、または任意のローカル記憶装置再割振りの実施（６６０）の前または後に開始してもよい。同様に、ローカル記憶装置再割振り（６６０）は、いつ実施してもよい。
【００７２】
図７に、コンテンツ昇格／降格方法の流れ図を示す。図７のコンテンツ昇格／降格方法は、例えば図６の記憶装置割振り方法６００内で使用するのに適する。
【００７３】
ステップ７１０で方法７００に入り、要求されたコンテンツ・オブジェクトの有用性が、ローカル空間に記憶されたコンテンツ・オブジェクトの有用性と比較される。要求されたコンテンツ・オブジェクトの有用性が、既存のローカル空間コンテンツ・オブジェクトの有用性以下である場合は、方法はステップ７４０に進む。そうでない場合は、ステップ７２０および７３０で、要求されたコンテンツ・オブジェクトは、ローカル空間で、有用性のより低い既存のローカル空間コンテンツ・オブジェクトに取って代わる。具体的には、ステップ７２０で、要求されたコンテンツ・オブジェクトはローカル空間に記憶（すなわち昇格）され、ステップ７３０で、既存のローカル空間コンテンツ・オブジェクトはローカル空間から除去（すなわち降格）される。
【００７４】
ステップ７４０で、降格されたローカル空間コンテンツ・オブジェクト（または、ステップ７１０での問合せに対する回答が否定的であった場合は、要求されたコンテンツ・オブジェクト）の有用性が、連合空間に記憶されたコンテンツ・オブジェクトの有用性と比較される。降格されたローカル空間コンテンツ・オブジェクト（または昇格されなかった要求されたコンテンツ・オブジェクト）の有用性が、既存の連合空間コンテンツ・オブジェクトの有用性よりも高い場合は、方法はステップ７５０に進む。そうでない場合は、方法は終了する。
【００７５】
ステップ７５０で、連合空間に記憶されている、降格されたローカル空間コンテンツ・オブジェクト（または昇格されなかった要求されたコンテンツ・オブジェクト）のコピーの数が、しきい値数を超えるかどうか判定される。超える場合は、方法は終了する。そうでない場合は、ステップ７６０および７７０で、降格されたローカル空間コンテンツ・オブジェクト（または昇格されなかった要求されたコンテンツ・オブジェクト）は、連合空間で、有用性のより低い既存の連合空間コンテンツ・オブジェクトに取って代わる。具体的には、ステップ７６０で、降格されたローカル空間コンテンツ・オブジェクト（または昇格されなかった要求されたコンテンツ・オブジェクト）は連合空間に記憶され、ステップ７７０で、有用性のより低い既存の連合空間コンテンツ・オブジェクトは連合空間から除去（すなわち降格）される。
【００７６】
図７の方法７００は、特定の順序で各ステップを実施するものとして示されているが、本発明を実践しながらもこの特定の順序を修正できることは、当業者には理解されるであろう。加えて、各図に関して本明細書で論じる様々な実施形態は、種々のコンテンツ・オブジェクトに関連する異なるファイル・サイズに応答して修正されることも理解されるであろう。例えば、ファイル・サイズの比較的小さい複数のコンテンツ・オブジェクトをそれぞれ昇格および／または降格し、ファイル・サイズの比較的大きい１つのコンテンツ・オブジェクトを降格および／または昇格することができる。例えば、ファイル・サイズの大きい、有用性の高いコンテンツ・オブジェクトが、ローカル空間内の２つ以上のコンテンツ・オブジェクトに取って代わってもよい。これらの置換または降格されたコンテンツ・オブジェクトは、それら自体が連合空間中の複数のコンテンツ・オブジェクトに取って代わってもよい。一実施形態では、置換または降格されたコンテンツ・オブジェクトのうちの１つだけを連合空間に挿入することができる場合、最も有用性の高いコンテンツ・オブジェクトを優先的に挿入する決定がなされる。十分な空きが存在しない場合は、可能ならファイル・サイズのより小さいコンテンツ・オブジェクトが挿入される。
【００７７】
本明細書に述べる方法は、コンテンツの人気の変化に応答して、大容量記憶デバイス内のローカル空間と連合空間の割振りの比率をインクリメンタルに、かつ／または徐々に適合させるように動作する。非常に人気がある傾向のあるコンテンツ・オブジェクトは、時の経過に伴って、コンテンツ記憶ノードのローカル空間に記憶されることになる。非常に人気がない傾向のあるコンテンツ・オブジェクトは、時の経過に伴って、コンテンツ記憶ノードのローカル空間から除去されて連合空間のみに記憶されることになり、あるいは、十分に不人気な場合は、コンテンツ保管庫、または他のキャッシュされない場所のみに記憶されることになる。コンテンツ・オブジェクトの人気に関する通常の分布曲線（例えば図３に関して言及したもの）を仮定すると、様々な実施形態は、様々なコンテンツ記憶ノードまたはキャッシュそれぞれの中のローカル空間と連合空間との間で、人気に基づいてコンテンツ・オブジェクトの記憶のバランスをとるように動作する。
【００７８】
一実施形態は、改善型キャッシュ管理方式を提供するが、この場合、コンテンツ配信ネットワーク（ＣＤＮ）内でコンテンツの個別キャッシングから協働キャッシングへと徐々に移行するように、複数のコンテンツ記憶ノードにおけるコンテンツ・キャッシュの動作が適合される。このようにして、コンテンツの複製を減少させることからくるキャッシング効率改善は、局所的に人気のあるコンテンツの複製を増加させることからくる効率改善に対して、バランスがとられる。すなわち、完全なキャッシュ協働は、元のサーバに向けた帯域幅を大幅に低減する（これはインターネット・サービス・プロバイダのピアリング・リンク上の帯域幅節約に直接つながる）が、完全なキャッシュ協働は、実際、キャッシュ間で交換されるトラフィックの量を増加させる。キャッシュ協働のしきい値レベルをインテリジェントに選択することにより、様々な実施形態によるＣＤＮは、その利用可能なリソースを活用してピアリング・リンクを低減する。様々な実施形態で、Ｕターン構成が提供されるが、この構成では、コンテンツ記憶ノードは、通常は使用されない帯域幅を利用してコンテンツを再配信する。
【００７９】
本発明は、記憶デバイスをネットワーク内に配置することができるとともに基礎的なネットワーク・トポロジに関する知識を有する、コンテンツ配布および／または配信をサポートするネットワーク・オペレータにとって、大きな利点をもたらす。これらの利益には、帯域幅のコストの節約、使用されないリソースの使用の増加、およびネットワーク・オペレータの顧客に対するサービスの改善が含まれる。
【００８０】
提案する解決法は、ネットワーク内のキャッシュ・ノードの分散集合の協働を、基礎をなすネットワーク・トポロジに関する知識と共に利用して、ディスク空間および未使用アップリンク容量の使用を活用することによって通過帯域幅のコストを削減する。
【００８１】
一実施形態では、著しい人口統計上の偏りのある地理エリアにサービスしているコンテンツ記憶ノードは、他の場所では一般により関心を持たれないコンテンツ・オブジェクトを求める要求を受け取る傾向があることになり、特に、ネットワーク中の同レベルの他のノードに対してはそうである。本解決法により、このノードは、その利用可能な記憶域の多くの部分をそのローカル・セグメントに充てる結果となり、この部分に、それがサービスしている人々のために最も人気のあるオブジェクトを保持することになる。記憶域の少しの部分が連合空間として使用されることになり、この部分が、ネットワーク全体にわたって中程度の人気のあるコンテンツ・オブジェクトを保持することになる。ローカル空間と連合空間の比率は、民族コンテンツと一般に関心を持たれるコンテンツとの割合に基づいて調整される。この結果、ネットワークのこの部分のトラフィックのかなりの部分がローカルにサービスされることになり、その後、応答時間が改善され、またこのノードについてのアップストリーム・リンクの使用が減少する。
【００８２】
別の実施形態では、所与のオブジェクトの大域的な人気が急上昇すると、その結果、ネットワーク中にわたってこのオブジェクトの複数のコピーが保持されることになる。各コピーがノードのローカル・キャッシュ・セグメントに記憶されることになり、これにより、短い応答時間および向上した応答性を維持しながら、ソース・ノードからのトラフィックが緩和されることになり、ネットワークがこのような突然のトラフィック・パターンの変化に適応できるようにすることになる。
【００８３】
別の実施形態では、人気が高かったが人気が衰え始めたオブジェクトが、ネットワーク中の全てのキャッシュのローカル・セグメントから徐々に除去され始めることになり、単一のノードの連合セグメントに記憶されることになる。このオブジェクトは、その人気レベルが低下し続けるのに伴って、最終的には全ての記憶空間から除去されることになる。このようにして、オブジェクトは、その大域的な人気レベルが記憶を許す限り、ネットワーク内から供給されることになり、コンテンツ・ソースから取り出す必要はない。
【００８４】
本発明の別の実施形態では、ネットワークに追加された新しいキャッシュ対応ノードが、その連合セグメント記憶域をグローバル・プールに加え始めることになり、それにより、全体的な容量を増加させ、ネットワークのアップリンクおよびダウンリンク帯域幅の使用を低減させることになる。ネットワーク中の全てのノードは、最終的に、新しいプール・サイズおよび現在のコンテンツ人気に従って、それら自体のセグメント・サイズを再分散させる場合がある。
【００８５】
本発明の教示を組み込む様々な実施形態について本明細書に詳細に図示および記述したが、当業者なら、これらの教示を依然として組み込む多くの他の多様な実施形態を容易に考案することができる。
【図１】
0005143957.tif 000002
【図２】
0005143957.tif 000003
【図３】
0005143957.tif 000004
【図４】
0005143957.tif 000005
【図５】
0005143957.tif 000006
【図６】
0005143957.tif 000007
【図７】
0005143957.tif 000008