(57)【特許請求の範囲】
【請求項１】
コンテンツ配信ネットワーク内の第１のノードに１つまたは複数のコンテンツ項目をキャッシュする方法であって、
コンテンツ項目の要求を受信するステップと、
前記コンテンツ項目がローカルキャッシュに格納されているかどうかを判定するステップと、
前記コンテンツ項目がローカルキャッシュに格納されていない場合には、
前記コンテンツ項目を第２のノードに要求するステップ、および
１つまたは複数の既定容量基準が、第１のノードによってローカルにのみ生成される統計に基づいて満足される場合に、前記コンテンツ項目を前記ローカルキャッシュに格納し編成するステップであって、前記統計がコンテンツ人気予測および需要分布予測の１つまたは複数を含む、ステップを実行する、ステップを備える方法。
【請求項２】
前記第２のノードが階層ネットワーク内の親ノードである、請求項１に記載の方法。
【請求項３】
前記既定容量基準が、前記第２のノードのキャッシュに格納された他の項目と比較して前記コンテンツ項目の人気指標の評価を含み、各コンテンツ項目の前記人気指標が、各コンテンツ項目について前記第２のノードによって受信された要求を数えることにより生成される、請求項１に記載の方法。
【請求項４】
前記既定容量基準が、前記ローカルキャッシュの容量および前記ローカルキャッシュに格納された他の項目の必要メモリと比較して前記コンテンツ項目の必要メモリの評価を含む、請求項１に記載の方法。
【請求項５】
コンテンツ配信ネットワーク内の第１のノードに１つまたは複数のコンテンツ項目をキャッシュするための装置であって、
メモリ、ならびに
そのメモリに結合された少なくとも１つのプロセッサを備え、該プロセッサが
コンテンツ項目の要求を受信し、
前記コンテンツ項目がローカルキャッシュに格納されているかを判定し、
前記コンテンツ項目がローカルキャッシュに格納されていない場合には、
第２のノードに前記コンテンツ項目を要求するステップ、および
既定容量基準が、第１のノードによってローカルにのみ生成される統計に基づいて満足される場合に、前記ローカルキャッシュ内に前記コンテンツ項目を格納し編成するステップであって、前記統計がコンテンツ人気予測および需要分布予測の１つまたは複数を含む、ステップを実行するように機能する、装置。
【請求項６】
前記既定容量基準が、前記ローカルキャッシュの容量および前記ローカルキャッシュに格納された他の項目の必要メモリと比較して、前記コンテンツ項目の必要メモリの評価を含む、請求項５に記載の装置。
【請求項７】
前記第２のノードが階層ネットワーク内の親ノードである、請求項５に記載の装置。
【請求項８】
前記既定容量基準が、前記ローカルキャッシュに格納された他の項目と比較して、前記コンテンツ項目の人気指標の評価を含む、請求項５に記載の装置。
【請求項９】
１つまたは複数のプログラムを含む機械可読の記憶媒体を備える、コンテンツ配信ネットワーク内の第１のノードに１つまたは複数のコンテンツ項目をキャッシュするための製造品であって、実行されるときには
コンテンツ項目の要求を受信するステップと、
前記コンテンツ項目がローカルキャッシュ内に格納されているかどうかを判定するステップと、
前記コンテンツ項目がローカルキャッシュに格納されていない場合には、
第２のノードに前記コンテンツ項目を要求するステップ、および
既定容量基準が、第１のノードによってローカルにのみ生成される統計に基づいて満足される場合に、前記コンテンツ項目を前記ローカルキャッシュに格納し編成するステップであって、前記統計がコンテンツ人気予測および需要分布予測の１つまたは複数を含む、ステップを実行するようにステップを実装する、製造品。
【請求項１０】
前記既定容量基準が、前記ローカルキャッシュの容量および前記ローカルキャッシュに格納された他の項目の必要メモリと比較して、前記コンテンツ項目の必要メモリの評価を含む、請求項９に記載の製造品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツキャッシング技法に関し、特に、コンテンツ配信ネットワーク内の自立性コンテンツキャッシングのための方法および装置に関する。
【背景技術】
【０００２】
コンテンツ配信ネットワーク（ｃｏｎｔｅｎｔ  ｄｅｌｉｖｅｒｙ  ｎｅｔｗｏｒｋｓまたはｃｏｎｔｅｎｔ  ｄｉｓｔｒｉｂｕｔｉｏｎ  ｎｅｔｗｏｒｋｓ（ＣＤＮ））は、コンテンツ（大容量の媒体コンテンツなど）をエンドユーザに配信する。コンテンツ配信ネットワーク内のノードは、エンドユーザによるコンテンツの要求を満足させるために互いに協力する。通常は、コンテンツ配信ネットワークは、配信プロセスを向上させるために、１つまたは複数の最適化技法を用いる。たとえば、コンテンツ配信ネットワークはしばしば、帯域幅コストを低減するために、エンドユーザ性能を向上させるために、またはその両方のために、配信プロセスを最適化する。エンドユーザ性能を最適化するとき、たとえば、ユーザ要求は通常、コンテンツを速くユーザに配信することができるノードに送信される（たとえば、最も少ないホップをもつ、または要求側から最も少ないネットワーク秒数のノードを選択することによって）。
【０００３】
コンテンツ配信ネットワーク内のノードはしばしば、１人のユーザによって要求されたコンテンツを、１人または複数の追加のユーザへのその後の配信のためにキャッシュに格納する。この形式では、キャッシュに格納された同一項目を必要とする同一ノードによって供される他のユーザは、キャッシュからその項目を取得することができる。マサチューセッツ州、ケンブリッジのＡｋａｍａｉ  Ｔｅｃｈｎｏｌｏｇｉｅｓ，Ｉｎｃ．などのコンテンツ配信会社によって使用される既存のキャッシング方式は、一般に、比較的小さな（数メガバイト程度或いはそれ以下の）コンテンツ向けに、およびインターネットタイプのネットワーク向けに設計されている。かかるコンテンツ配信ネットワークは、要求コンテンツがエンドユーザに比較的近いクラスタにしばしば格納されている、効果的なキャッシングを提供する。結果として、最も多く要求されるファイルは各宛先に到達するために元のサーバから移動する必要がなく、各ホップでの帯域幅使用を節減し、待ち時間も低減する。
【０００４】
ビデオオンデマンド（ＶＯＤ）およびインターネットテレビジョンサービスなどの次世代ネットワークアプリケーションの人気が高まるにつれて、キャッシュに格納されることになるファイルの数およびサイズは大きく増加することになる。たとえば、高解像度様式の２時間の長編映画は、約５ＧＢ（ＤＶＤの記憶域要件に類似）になることがある。従って、キャッシング容量の問題はますます重要になっており、数百テラバイト程度のキャッシング容量も容易に予期される。同様に、優れたキャッシング方式による帯域幅の節減は、大容量コンテンツ配信ネットワークにおける帯域幅要件に非常に大きな影響を及ぼすことができる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】「Ｅｎｇｉｎｅｅｒｉｎｇ  ａｎｄ  Ｏｐｅｒａｔｉｏｎｓ  ｉｎ  ｔｈｅ  Ｂｅｌｌ  Ｓｙｓｔｅｍ」、Ｂｅｌｌ  Ｔｅｌｅｐｈｏｎｅ  Ｌａｂｏｒａｔｏｒｉｅｓ、２ｎｄ  Ｅｄｉｔｉｏｎ、Ｈａｒｄｃｏｖｅｒ、１９７８
【非特許文献２】「Ｖｉｄｅｏ  Ｏｖｅｒ  ＩＰ」、ｈｔｔｐ：／／ｗｗｗ．ｌｉｇｈｔｒｅａｄｉｎｇ．ｃｏｍ／ｄｏｃｕｍｅｎｔ．ａｓｐ？ｓｉｔｅ＝ｌｉｇｈｔｒｅａｄｉｎｇ＆ｄｏｃ＿ｉｄ＝４０８１１＆ｐａｇｅ＿ｎｕｍｂｅｒ＝４
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従って、効果的にキャッシュを使用し、所要の帯域幅を減らす、大容量コンテンツ配信ネットワーク内のキャッシング技法の必要性が存在する。小サイズのコンテンツ（ＫＢからＭＢサイズ）とは異なり、このタイプのコンテンツは、通常は、ビデオコンテンツの所有者／プロバイダによって所有されている。従って、かかるコンテンツは、大概はこの種のコンテンツ配信のために設計された、通常は所有権を主張できるネットワーク内の特定のノードにのみキャッシュされることができる。今日のコンテンツ配信ネットワークにおいて行われているような、特定の項目の最善の位置およびそれらの人気分布の定数計算の著しいオーバヘッドを回避するために、かかるコンテンツ配信ネットワークにおける自立性キャッシング技法の必要性が従って存在する。この形式では、キャッシュに格納されたデータは、著しいモニタリングまたは管理なしに編成されることができる。
【課題を解決するための手段】
【０００７】
概して、コンテンツ配信ネットワーク内の自立性キャッシングのための方法および装置が提供される。本明細書において、「自立性」は、外部エージェントに依存せずにコンテンツの人気または需要分布の予測を提供するキャッシング方式を意味するものとする。さらに、自立性機構は通常は、コンテンツ組織のためだけのノード間の明示通信の必要性を取り除き、代わりに各キャッシュノードの場所での需要パターンの出現に頼って行動の方針を決定する。
【０００８】
本発明の一態様によれば、１つまたは複数の要求コンテンツ項目が、コンテンツ配信ネットワーク内のノードにキャッシュされる。開示される方法は、コンテンツ項目がローカルキャッシュに格納されているかどうかを判定し、そして、そのコンテンツ項目がローカルキャッシュに格納されていない場合、以下のステップが実行される：コンテンツ項目を別のノードに要求するステップ、および、１つまたは複数の既定容量基準が満足される場合にコンテンツ項目をローカルキャッシュに格納するステップ。コンテンツ配信ネットワークは、階層ネットワークまたは非階層ネットワークでもよい。
【０００９】
例示的な階層ネットワーク実装では、コンテンツ項目の要求は、エンドユーザか子ノードのどちらかから受信される。コンテンツ項目がローカルキャッシュに格納されていない場合、そのコンテンツ項目が親ノードに要求される。さらに、取得された後、コンテンツ項目は、要求しているエンドユーザまたは子ノードに提供される。
【００１０】
既定容量基準は、ローカルキャッシュに格納された他の項目と比較してコンテンツ項目の人気指標を評価することができる。たとえば、既定容量基準は、ローカルキャッシュの容量およびローカルキャッシュに格納された他の項目の必要メモリと比較してコンテンツ項目の必要メモリを評価することができる。
【００１１】
本発明ならびに本発明のさらなる特徴および利点の完全な理解は、以下の詳しい説明および図面を参照することによって得られることができよう。
【図面の簡単な説明】
【００１２】
【図１】本発明がその中で実装されることができる例示的な階層ネットワーク環境を説明する図である。
【図２】本発明による図１の例示的な階層ネットワーク環境におけるエンドユーザ要求を説明する図である。
【図３】本発明による例示的なノードの構成図である。
【図４】本発明の特徴を組み込んだ自立性キャッシングプロセスの例示的な実装を説明する流れ図である。
【図５】本発明の特徴を組み込んだ例示的なキャッシング指標のサンプル表である。
【発明を実施するための形態】
【００１３】
本発明は、階層および非階層ネットワークのための比較的少ない通信および計算オーバヘッドをもつキャッシング手順を提供する。階層ネットワークはしばしば、電話会社（たとえば、公衆交換電話網（ＰＳＴＮ）を使用する会社）によって実装されるものなどの、顧客アクセスネットワークで使用される。ますます、電話アクセス広帯域ネットワークはより多くの電話サービスに使用されている。たとえば、多数の電話会社が現在、電話アクセスネットワークを介して広帯域インターネットサービスおよびビデオ配信サービスを提供する。いくつかある利点の中でも特に、電話アクセスネットワークは概して、テレビジョンおよびビデオオンデマンドサービスに関連する大容量ファイルを格納するための重大な相互接続された記憶容量を既にもつ信頼できるネットワークである。
【００１４】
図１は、本発明がその中で実装されることができる例示的な階層ネットワーク環境１００を図示する。図１のノードの明示は説明のためにすぎず、提案される方式によって要求されないことに留意されたい。適切な階層ネットワーク環境１００のさらに詳細な解説は、たとえば、その開示を参照により本明細書に組み込む、「Ｅｎｇｉｎｅｅｒｉｎｇ  ａｎｄ  Ｏｐｅｒａｔｉｏｎｓ  ｉｎ  ｔｈｅ  Ｂｅｌｌ  Ｓｙｓｔｅｍ」、Ｂｅｌｌ  Ｔｅｌｅｐｈｏｎｅ  Ｌａｂｏｒａｔｏｒｉｅｓ、２ｎｄ  Ｅｄｉｔｉｏｎ、Ｈａｒｄｃｏｖｅｒ、１９７８を参照されたい。
【００１５】
図１に示すように、例示的な階層ネットワーク環境１００は、ヘッドエンドサーバ１１０、１つまたは複数のルータ１２０−１から１２０−Ｎ（以下、総称してルータ１２０という）、１つまたは複数の中央局１３０−１から１３０−Ｎ（以下、総称して中央局１３０という）、１つまたは複数のＤＳＬＡＭ（デジタル加入者線アクセスマルチプレクサ）１４０−１から１４０−Ｎ（以下、総称してＤＳＬＡＭ１４０という）を備え、それらすべてが、よく知られている形式で、階層の樹状構成で配置されている。各エンドユーザ１５０−１から１５０−Ｎ（以下、総称してエンドユーザ１５０という）は、ＤＳＬＡＭ１４０を用いてネットワーク１００に接続する。
【００１６】
本発明のキャッシング手順は、例示的な階層ネットワーク環境１００の任意のレベルで任意のノード１１０、１２０、１３０、１４０によって実装されることができる。本発明による例示的なノード３００が、図３と共に以下でさらに解説される。
【００１７】
一般に、エンドユーザ１５０からの要求は、葉ノード（即ち、エンドユーザ１５０に関連付けられたＤＳＬＡＭ１４０）に到達する。さらに、すべてのサポートされるコンテンツは一般に、木１００の根であるヘッドエンド（ＨＥ）１１０で入手可能である（開始時におよび任意の時点で）。さらに、コンテンツは、１つまたは複数の中間ノードでキャッシュされることができる。本明細書においてコンテンツ項目とも称される、要求コンテンツは、省略されていない項目（映画全編など）、ならびに省略されていない１つの項目の１つまたは複数のセグメントを含み得ることに留意されたい。人気のあるコンテンツ項目の一例として、映画「Ｔｈｅ  Ｗｉｚａｒｄ  ｏｆ  Ｏｚ（オズの魔法使い）」を考えられたい。このコンテンツ項目の１つのセグメント（項目全体よりもむしろ人気があるかもしれない）の一例として、有名な表現「Ｔｏｔｏ，Ｉ‘ｖｅ  ｇｏｔ  ａ  ｆｅｅｌｉｎｇ  ｗｅ’ｒｅ  ｎｏｔ  ｉｎ  Ｋａｎｓａｓ  ａｎｙｍｏｒｅ．」を含むセグメントを考えられたい。
【００１８】
図２は、本発明による図１の例示的な階層ネットワーク環境１００におけるエンドユーザ要求を図示する。図２に示すように、エンドユーザ１５０−ｍがコンテンツ項目Ａを要求する。親ノード、ＤＳＬＡＭ１４０−ｌが、コンテンツ項目Ａはそのキャッシュ内にないと判定する。従って、ＤＳＬＡＭ１４０−ｌは、それ自体の親、中央局１３０−ｋにコンテンツ項目Ａを要求する。この例では、中央局１３０−ｋは、コンテンツ項目Ａのコピーをもつ。従って、中央局１３０−ｋは、コンテンツ項目ＡをＤＳＬＡＭ１４０−ｌに提供することになる。ＤＳＬＡＭ１４０−ｌは、項目Ａをエンドユーザ１５０−ｍに引き渡し、そしてまた、たとえば、項目Ａの指標がＤＳＬＡＭ１４０−ｌのキャッシュ内の他の項目の指標よりも高い場合（図４と共に以下にさらに解説するように）、そのキャッシュに項目Ａを格納することになる。時間の経過とともに、中央局１３０−ｋでの項目Ａの指標は、他の項目よりも小さくなることがあり、従って、中央局１３０−ｋのキャッシュから最終的に削除されることがある。項目Ａは、他のエンドノードよりもより頻繁にそれを要求するエンドノードに最も近いそれらのノードのキャッシュに残る。
【００１９】
図３は、本発明による例示的なノード３００の構成図である。図３に示すように、メモリ３３０は、本明細書で開示される自立性キャッシングの手順、ステップ、および機能（まとめて、図３に４００として示される、また図４と共に以下にさらに解説される）を実装するようにプロセッサ３２０を構成する。メモリ３３０は分散型またはローカルでもよく、プロセッサ３２０は分散型または単一でもよい。メモリ３３０は、電気的、磁気的、または光学的メモリとして、或いはこれらまたは他のタイプの記憶装置の任意の組合せとして実装されることができる。プロセッサ３２０を構成する各分散型プロセッサは一般にそれ自体のアドレス可能なメモリ空間を含むことに留意されたい。コンピュータシステム３００の一部またはすべては、パーソナルコンピュータ、サーバ、ラップトップコンピュータ、ハンドヘルドのコンピュータデバイス、特定用途向け回路、または汎用集積回路に組み込まれることができることにも留意されたい。さらに例示的なノード３００はそれぞれ、関連付けられたキャッシュ３４０をもつ。
【００２０】
図４は、本発明の特徴を組み込んだ自立性キャッシングプロセス４００の例示的な実装を説明する流れ図である。図４に示すように、自立性キャッシングプロセス４００は最初に、ステップ４１０でコンテンツ要求が子ノードから受信されたかどうかを判定する。ビデオまたは映画などのコンテンツ項目の要求は、その項目の人気を表す異なる到達パラメータをもつ何らかの分布（ポアソン分布など）に従って階層１００の最低レベル（葉ノード１５０）に到達することに留意されたい。たとえば、すべての利用可能なタイトルのうちの１０％だけが顧客の９５％に要求されると推定されている。従って、本発明による人気のあるコンテンツ項目のキャッシングは、かかる需要環境において非常に効果的になり得る。
【００２１】
コンテンツ要求が受信された後、コンテンツ項目のログ入力が、ステップ４２０で、図５と共に以下にさらに解説されるキャッシュ指標５００中でインクリメントされる。要求コンテンツが既にローカルキャッシュ３４０にあるかどうかを判定するために、ステップ４３０でさらにテストが実行される。ステップ４３０で要求コンテンツが既にローカルキャッシュ３４０にあると判定された場合、次に要求コンテンツはステップ４４０で要求側に配信される。
【００２２】
しかし、ステップ４３０で要求コンテンツがローカルキャッシュ３４０にないと判定された場合、次にステップ４５０で要求コンテンツのコピーが親ノードに要求される。要求コンテンツが親ノードから受信された後、要求コンテンツはステップ４６０で要求している子ノードに送信される。最後に、要求コンテンツの指標がキャッシュ３４０の容量ポジション５１０およびサイズモジュール５４０（図５）を上回る場合、要求コンテンツはステップ４７０でローカルキャッシュ３４０に格納される。即ち、コンテンツ要求の到達時に、各ノードは、ローカルキャッシュ３４０内に余裕がある場合には、必ず要求項目をキャッシュする。記憶空間が不十分な場合、次にノードは、新しい項目（押し出される（ｂｕｍｐｅｄ）すべての項目よりも高い指標をもたなければならない）をキャッシュするために、その項目の「指標」を計算し、そのキャッシュ３４０内の最も低い１つまたは複数の指標をもつ１つまたは複数の項目を押し出す。例示的な一実装形態では、ノードの項目の「指標」は、その項目がこれまでにそのノードから要求された回数として定義される（たとえば、人気測定）。さらなる変形形態では、非常に動的なコンテンツは、より複雑な（時間的）コスト構造を可能にするために、「ウインドウ」をもつことによっておよび／または指標を再定義することによって収容される。
【００２３】
この形式では、手順４００は、要求された項目をキャッシュする葉ノード１４０、そしてまた様々な要求項目もキャッシュするヘッドエンド１１０への経路に沿ったノード１３０、１２０によって開始する。しかし、時間の経過とともに、人気の少ない項目がヘッドエンド１１０のより近くにキャッシュされる一方で、最も人気のある項目が階層の底辺に（そしてその項目がその中で人気がある葉ノード１４０のより近くに）キャッシュされる。階層のより高いレベルにあるノードは、異なる顧客層をもち、異なる人気分布に遭遇する（異なるコンテンツ項目が異なるレベルおよび異なる葉ノードにキャッシュされる結果をもたらす）。これは、現在葉ノード１４０の近くにキャッシュされているそれらの人気コンテンツ項目をより高レベルのキャッシュから消去しつつ、ヘッドエンド１１０からまたは親もしくは親の親から項目を繰り返し取得する「コスト」を軽減する。
【００２４】
たとえば、人気映画は、すべてのＤＳＬＡＭ１４０に亘って人気があることがあり、従って、その人気映画はすべてのＤＳＬＡＭ１４０でキャッシュされることになるが、階層１００内の１つ上のレベルのキャッシュには格納されず、その映画はＤＳＬＡＭ１４０のキャッシュ３４０から配信されることができるので、その人気映画の次のレベルへの要求は絶える。一般に、階層１００のより高いレベルは、より低いレベルにキャッシュされるほどの人気はない人気項目の要求を受ける。
【００２５】
図５は、本発明の特徴を組み込んだ例示的なキャッシング指標５００からのサンプル表である。指標は各ネットワークノードで必要があれば作成されることができ、他のノードとの追加の通信なしにキャッシュ３４０からコンテンツを追加または削除するために使用されることができる。かかるデータが入手可能で、階層１００内のノードに自由に分散されることができる場合、その方式の収束をより速くするために先行配信としてニールセンタイプのレーティングを使用することによって指標の計算を強化することができることに留意されたい。図５に示す例示的な方式では、各ノードは、項目がその子ノードによってそれに要求された回数の経過のみを追跡する。
【００２６】
図５に示すように、例示的なキャッシング指標５００は、それぞれ異なるコンテンツ項目と関連付けられた複数の記録を含む。各コンテンツ項目について、フィールド５２０にはコンテンツ識別子が、フィールド５３０にはそのコンテンツ項目が要求された回数を示す要求総数が、そしてサイズモジュール５４０がある。さらに、例示的なキャッシング指標５００は、ローカルキャッシュ３４５の現在の容量を識別するキャッシュ容量インディケータ５１０をもつ。一般に、所与のコンテンツ項目の指標がキャッシュ容量５１０を上回る場合、次にその項目はローカルキャッシュ３４０に格納される。しかし、所与のコンテンツ項目の指標がキャッシュ容量５１０を下回る場合、そのときその項目はローカルキャッシュ３４０に格納されない。サイズモジュール５４０は、各要求コンテンツ項目の必要メモリを示す。さらに記録５５０は、コンテンツ項目Ａ、Ｂ、およびＣの合わせた必要メモリがキャッシュ容量（Ｃ）５１０を下回り、そして追加のコンテンツ項目Ｄでキャッシュ容量（Ｃ）５１０が超過されることを示す。
【００２７】
図５に示す例では、項目Ｄは８３回要求された。次に項目Ｄが要求されると、総数は８４に増やされることになる。項目Ｄが格納されることを容量５１０が許さないことになるので、項目Ｄの指標が項目Ｃの指標を超えるまで、それは格納されないことになる。従って、項目Ｄは、要求総数が８５に増えた後に、キャッシュに格納されることになる（項目Ｃを項目Ｄで置き換える）。一般に、Ｄは、Ｃ（Ａ）＋Ｃ（Ｂ）＋Ｃ（Ｄ）≦Ｃの場合に、格納されることになる。
【００２８】
本発明は、すべてのｍの値について、以下の式を最小化することを示すことができる：
【数１】
0005718225.tif 000002
ここで、ｍはダウンロードされる項目のサイズであり、ｈはユーザに情報を配信するためのホップコストであって、情報源とエンドユーザの間を横切るホップの数として表されることができる。従って、本発明の利点は、ダウンロードされる項目のサイズと共に増すと言うことができる（結合されたキャッシングおよび移送コストを考慮するとき）。従って、本発明は、ネットワーク１００内の各ホップの帯域幅要件を大きく低減することができる。
【００２９】
本発明のいくつかある利益の中でも特に、どうしても生じなければならない、そのキャッシュに既にあるのではない項目についてその親ノードに項目を要求すること以外には、ノード間で交換されるべき追加の「状態」は存在しない。従って、開示される方式は、ゼロ「状態」を必要とすると言うことができる。しかし、時間の経過とともに、コンテンツは、それらの人気に従って、下流のキャッシュのヘッドエンド１１０から移動する、即ち、それらの人気のみに基づいてキャッシュを自立性する。
【００３０】
結論
図１に示す例示的なネットワーク環境１００は階層（木）ネットワークであるが、そのネットワークは非階層ネットワークでも実装されることができることが、当業者には明らかであろう。階層ネットワークでは、２地点間に一意の、予測可能な経路が存在する。しかし、非階層ネットワークでは、２地点間に複数の経路が存在し得る。従って、ネットワーク内の所与のノードは、所与の要求に遭遇するかもしれないし、しないかもしれない。非階層ネットワークについての例示的な一実装形態では、ある構造が２地点間の経路指定に課されるように経路指定が編成される。たとえば、Ａ地点とＢ地点の間に２つの経路がある場合、経路指定構造は、要求のうちの５０％が各経路を進むことを保証することができる。ＩＰネットワークを介した代替ビデオの解説は、その開示を参照により本明細書に組み込む、「Ｖｉｄｅｏ  Ｏｖｅｒ  ＩＰ」、ｈｔｔｐ：／／ｗｗｗ．ｌｉｇｈｔｒｅａｄｉｎｇ．ｃｏｍ／ｄｏｃｕｍｅｎｔ．ａｓｐ？ｓｉｔｅ＝ｌｉｇｈｔｒｅａｄｉｎｇ＆ｄｏｃ＿ｉｄ＝４０８１１＆ｐａｇｅ＿ｎｕｍｂｅｒ＝４を参照されたい。
【００３１】
図４はステップの例示的な順番列を示すが、本発明の実施形態ではまた、その順番列は変えられることもできる。アルゴリズムの様々な置換が、本発明の代替実施形態として企図される。
【００３２】
本発明の例示的な実施形態がソフトウェアプログラム内の処理ステップに関して説明されているが、様々な機能はソフトウェアプログラム内に、回路要素もしくは状態機械によってハードウェア内に、またはソフトウェアとハードウェアの両方の組合せに処理ステップとしてデジタル領域に実装されることができることが、当業者には明らかであろう。かかるソフトウェアは、たとえば、デジタル信号プロセッサ、マイクロコントローラ、または汎用コンピュータで使用されることができる。かかるハードウェアおよびソフトウェアは、集積回路内に実装された回路内で実施されることができる。
【００３３】
従って、本発明の機能は、それらの方法を実行するための方法および装置の形態で実施されることができる。本発明の１つまたは複数の態様は、たとえば、記憶媒体に格納されるのでも、機械にロードされるおよび／または機械によって実行されるのでも、或いは何らかの伝送媒体を介して伝送されるのでも、プログラムコードの形態で実施されることができ、そのプログラムコードがコンピュータなどの機械にロードされるときおよび実行されるとき、その機械は本発明を実行するための装置となる。汎用プロセッサに実装されるとき、プログラムコードセグメントは、特定の論理回路と類似して動作するデバイスを提供するために、プロセッサと結合する。本発明は、集積回路、デジタル信号プロセッサ、マイクロプロセッサ、およびマイクロコントローラのうちの１つまたは複数に実装されることができる。
【００３４】
システムおよび製造品の詳細
当技術分野で知られているように、本明細書で解説される方法および装置は、そこに実施されたコンピュータ可読のコード手段をもつコンピュータ可読の媒体をそれ自体が備える製造品として流通されることができる。コンピュータ可読のプログラムコード手段は、本明細書で解説される方法を実行するためのすべてのまたは一部のステップを実施するためにまたは装置を作成するために、コンピュータシステムと共に、動作可能である。コンピュータ可読の媒体は、記録可能媒体（たとえば、フロッピー（登録商標）ディスク、ハードドライブ、コンパクトディスク、メモリカード、半導体デバイス、チップ、特定用途向け集積回路（ＡＳＩＣ））でもよく、或いは伝送媒体（たとえば、光ファイバ、ワールドワイドウェブ、ケーブル、または、時分割多元接続、符号分割多元接続、もしくは他の無線周波数チャネルを使用する無線チャネルを備えるネットワーク）でもよい。コンピュータシステムでの使用に適した情報を格納することができる知られているまたは開発された任意の媒体が使用されることができる。コンピュータ可読のコード手段は、磁気媒体の磁気的な変更またはコンパクトディスクの表面上の高さの変更などの、命令およびデータをコンピュータが読むことを可能にするための任意の機構である。
【００３５】
本明細書に記載のコンピュータシステムおよびサーバはそれぞれ、本明細書で開示される方法、ステップ、および機能を実装するために関連プロセッサを構成することになるメモリを含む。メモリは分散型またはローカルでもよく、プロセッサは分散型または単一でもよい。メモリは、電気的、磁気的もしくは光学的メモリとして、或いはこれらのまたは他のタイプの記憶装置の任意の組合せとして実装されることができる。さらに、用語の「メモリ」は、関連プロセッサによってアクセスされるアドレス可能な空間内のアドレスから読み取られるまたはそれに書き込まれることができる任意の情報を含むように十分広く解釈されるべきである。本定義では、ネットワーク上の情報は、関連プロセッサがネットワークからその情報を取り出すことができるので、まだメモリ内にある。
【００３６】
本明細書に示されるおよび記載される実施形態および変形形態は、本発明の原理の例示的なものにすぎず、本発明の範囲および趣旨から逸脱することなしに様々な修正形態が当業者によって実装され得ることが理解されよう。
【図１】
0005718225.tif 000003
【図２】
0005718225.tif 000004
【図３】
0005718225.tif 000005
【図４】
0005718225.tif 000006
【図５】
0005718225.tif 000007