(57)【要約】配信ネットワークは、ネットワークアウトレット、インターフェース、およびルーティング機能を含む。前記ネットワークアウトレットは、複数のフルルートネットワークに連結されるが、それぞれは、コンテンツオブジェクトを複数の端末ネットワークに配信することができる。エンドユーザのコンピュータは、前記端末ネットワークの端末に連結できる。前記インターフェースは、前記複数のコンピュータに提供するためのコンテンツオブジェクトを受信する。ルーティング機能の２つのモードは、前記ネットワークアウトレットから前記端末ネットワークへの第一のルート経路と、前記ネットワークアウトレットから前記端末ネットワークへの第二のルート経路に基づいて、コンテンツオブジェクトを送る。
2009504105.tif 000002
【特許請求の範囲】
【請求項１】
インターネット上でのコンテンツオブジェクトの配信を支援するための配信ネットワークであって、該配信ネットワークは、
ネットワークアウトレットであって、
該ネットワークアウトレットは、複数のフルルートネットワークに連結されており、
該複数のフルルートネットワークの各々は、コンテンツオブジェクトを複数の端末ネットワークに配信することが可能であり、
該複数の端末ネットワークは、端末ネットワークを含んでおり、
該複数の端末ネットワークは、複数のエンドユーザのコンピュータに連結されている、
ネットワークアウトレットと、
該複数のエンドユーザのコンピュータに配信するためのコンテンツオブジェクトを受信するインターフェースと、
少なくとも２つのモードでコンテンツオブジェクトをルーティングするルーティング機能と
を備えており、
第一のモードは、該ネットワークアウトレットから端末ネットワークへの第一のルート経路に基づいて、コンテンツオブジェクトをルーティングし、
該第一のルート経路は、配信効率に基づいて選択され、
第二のモードは、該ネットワークアウトレットから該端末ネットワークへの第二のルート経路を使用して、少なくともいくつかのコンテンツオブジェクトをルーティングし、
該第一のモードから該第二のモードへの切り替えは、該第一のルート経路の少なくとも一部分が予め決定されたレベルに到達するとトリガされ、
該第一および第二のルート経路は異なっており、
該第二のルート経路は該第一のルート経路よりも効率が低い、配信ネットワーク。
【請求項２】
前記第二のルート経路のための前記ネットワークアウトレットからのエグレスは、前記端末ネットワークに直接連結されたフルルートのネットワークを使用し、
別のフルルートのネットワークもまた、該端末ネットワークに到達する該第二のルート経路において使用される、請求項１に記載のインターネット上でのコンテンツオブジェクトの配信を支援するための配信ネットワーク。
【請求項３】
前記第二のルート経路および前記第一のルート経路は、前記端末ネットワークへの経路上で同じフルルートのネットワークを通過する、請求項１に記載のインターネット上でのコンテンツオブジェクトの配信を支援するための配信ネットワーク。
【請求項４】
前記複数のフルルートのネットワークの各々は、該フルルートのネットワークが、トラフィックの送信先の前記端末ネットワークに直接連結されている場合に、別のフルルートネットワークへのトラフフィックを通過しない、請求項１に記載のインターネット上でのコンテンツオブジェクトの配信を支援するための配信ネットワーク。
【請求項５】
前記ネットワークアウトレットは、ポイントオブプレゼンス（ＰＯＰ）に配置され、
該ＰＯＰは複数のＰＯＰの１つであり、地理的に分散されている、請求項１に記載のインターネット上でのコンテンツオブジェクトの配信を支援するための配信ネットワーク。
【請求項６】
ストアをさらに備え、該ストアは前記コンテンツオブジェクトの少なくとも１つをキャッシュする、請求項１に記載のインターネット上でのコンテンツオブジェクトの配信を支援するための配信ネットワーク。
【請求項７】
前記コンテンツオブジェクトは、ファイル全体またはストリーム全体である、請求項１に記載のインターネット上でのコンテンツオブジェクトの配信を支援するための配信ネットワーク。
【請求項８】
インターネット上でコンテンツオブジェクトを配信するための方法であって、該方法は、
該インターネット上のアドレスに配信するためのコンテンツオブジェクトを受信するステップと、
第一のエグレスポイントおよび第二のエグレスポイントが、該アドレスへルーティング可能であることを決定するステップと、
該第一のエグレスポイントが、該第二のエグレスポイントよりも、端末ネットワークへのさらに効率的なルートであることを決定するステップと、
該さらに効率的なルートは機能しているが、予め決定された閾値を超えて利用されていることを決定するステップと、
該効率的なルートが該予め決定された閾値を超えて利用されている場合に、該コンテンツオブジェクトを配信するために、該第二のエグレスポイントを選択するステップと、
該エグレスポイントを用いて該コンテンツオブジェクトを配信するステップと
を包含する、方法。
【請求項９】
前記第一および第二のエグレスポイントの少なくとも１つは、フルルートのネットワークに関連付けられている、請求項８に記載のインターネット上でコンテンツオブジェクトを配信するための方法。
【請求項１０】
前記予め決定された閾値に到達後のコンテンツオブジェクトの配信は、複数のフルルートのネットワークの中で無作為に分配され、
前記第二のエグレスポイントは、該複数のフルルートのネットワークのうちの１つに相互接続する、請求項８に記載のインターネット上でコンテンツオブジェクトを配信するための方法。
【請求項１１】
前記予め決定された閾値に到達後のコンテンツオブジェクトの配信は、順次アルゴリズムに従って、複数のエグレス相互接続の中で分配される、請求項８に記載のインターネット上でコンテンツオブジェクトを配信するための方法。
【請求項１２】
前記予め決定された閾値に到達後のコンテンツオブジェクトの配信は、加重アルゴリズムを使用して、複数のエグレス相互接続の中で分配される、請求項８に記載のインターネット上でコンテンツオブジェクトを配信するための方法。
【請求項１３】
前記予め決定された閾値に到達後のコンテンツオブジェクトの配信は、加重アルゴリズムを使用して、複数のエグレス相互接続の中で分配され、
該加重アルゴリズムは、帯域幅コスト、待ち時間、パケットロス、または最大帯域幅のうちの少なくとも１つにより加重される、請求項８に記載のインターネット上でコンテンツオブジェクトを配信するための方法。
【請求項１４】
前記予め決定された閾値に到達後のコンテンツオブジェクトの配信は、順次アルゴリズムに従って、複数のエグレス相互接続の中で分配される、請求項８に記載のインターネット上でコンテンツオブジェクトを配信するための方法。
【請求項１５】
前記予め決定された閾値は、前記第一のエグレスポイントのキャパシティの割合である、請求項８に記載のインターネット上でコンテンツオブジェクトを配信するための方法。
【請求項１６】
前記予め決定された閾値は、前記第一のエグレスポイントのパケットロス率により定義される、請求項８に記載のインターネット上でコンテンツオブジェクトを配信するための方法。
【請求項１７】
前記第一のエグレスポイントは、前記第二のエグレスポイントよりも、前記コンテンツオブジェクトの配信にかかるコストが低い、請求項８に記載のインターネット上でコンテンツオブジェクトを配信するための方法。
【請求項１８】
インターネット上でコンテンツオブジェクトを配信するための方法であって、該方法は、
エンドユーザのコンピュータに配信するためのコンテンツオブジェクトを受信するステップであって、該エンドユーザのコンピュータは、アドレスにより指定される、ステップと、
該アドレスが端末ネットワークに関連付けられていることを決定するステップと、
第一のエグレスポイント、第二のエグレスポイント、および第三のエグレスポイントが、該端末ネットワークへのルートであることを決定するステップと、
該第一のエグレスポイントが、該端末ネットワークへのさらに効率的なルートであることを決定するステップと、
該さらに効率的なルートが、予め決定された閾値を超えて利用されていることを決定するステップと、
該効率的なルートが該予め決定された閾値を超えて利用されている場合には、該コンテンツオブジェクトを配信するために、該第二または第三のエグレスポイントのうちの１つのポイントを選択するステップと、
該コンテンツオブジェクトを該１つのポイントを用いて配信するステップと
を包含する、方法。
【請求項１９】
前記第二のルート経路および前記第一のルート経路は、前記端末ネットワークへの経路上で同じフルルートネットワークを通過する、請求項１８に記載のインターネット上でコンテンツオブジェクトを配信するための方法。
【請求項２０】
前記１つのポイントは、該１つのポイントで配信を開始するルーティングの効率を考慮せずに選択される、請求項１８に記載のインターネット上でコンテンツオブジェクトを配信するための方法。
【請求項２１】
前記配信ステップは、少なくとも２つのフルルートのネットワークから前記コンテンツオブジェクトを配信するステップを含んでおり、
該少なくとも２つは、前記端末ネットワークに直接連結されている、請求項１８に記載のインターネット上でコンテンツオブジェクトを配信するための方法。
【請求項２２】
前記１つのポイントは、
ラウンドロビン方式、
無作為、または
順次
の少なくとも１つで選択される、請求項１８に記載のインターネット上でコンテンツオブジェクトを配信するための方法。
【請求項２３】
前記第一のエグレスポイントは第一の地理的場所にあり、
前記第二のエグレスポイントは第二の地理的場所にあり、
該第一の地理的場所は該第二の地理的場所とは異なる、請求項１８に記載のインターネット上でコンテンツオブジェクトを配信するための方法。
【請求項２４】
前記第一のエグレスポイントは第一のＰＯＰにあり、
前記１つのポイントは該第一のＰＯＰとは異なる第二のＰＯＰにある、請求項１８に記載のインターネット上でコンテンツオブジェクトを配信するための方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、米国仮特許出願第６０／７６１，５８２号（２００６年１月２３日出願）の利益を主張し、上記米国仮特許出願の本出願であり、米国特許出願第１１／１９５，２４７号（２００５年８月１日出願）の一部継続出願である。これらの両方は、本出願の譲受人に譲渡されており、あらゆる目的のために、参照により本明細書中に明示的に援用される。
【０００２】
本開示は、概してコンテンツの配信に関し、より具体的には、負荷下でのコンテンツの配信に関するが、これに限定されない。
【背景技術】
【０００３】
コンテンツの発信元は、インターネット上で受信者にコンテンツオブジェクトを提供する。インターネットは、受信者がコンテンツオブジェクトを受信することができるように、お互いのネットワークトラフィックを渡す、さまざまなネットワークの集まりである。さまざまなネットワークは、ティア１と端末ネットワークに分類することが可能である。すべてのティア１ネットワークは、フルルートのネットワークであるので、端末ネットワークとその他のフルルートのネットワークを使用することにより、ティア１ネットワークによってインターネット上の任意のポイントに到達できる。各受信者は、端末ネットワークからのインターネットサービスを有するので、コンテンツ発信者は、コンテンツオブジェクトを配信するために、ティア１と端末ネットワークの組み合わせを使用することができる。さまざまなネットワーク、コンテンツ発信元および受信者は、ティア１ネットワークを使用して、コンテンツオブジェクトを配信するために、なんらかの形で支払を行う。
【０００４】
コンテンツ配信ネットワーク（ＣＤＮ）は、コンテンツをより効率的に配信するために、多数のコンテンツ発信元により使用される。ＣＤＮは、コンテンツをホスト、ミラー、またはキャッシュすることができるとともに、リクエスト側に配信することができる。ウェブサイトまたは発信サーバは、ＣＤＮに連結されるので、一部または全部のコンテンツは、コンテンツ発信元が直接の送信元となるのではなく、ＣＤＮが送信元となることができる。また、ＣＤＮは、ティア１ネットワークも使用するので、端末ネットワークとピアの関係を有することができる。ＣＤＮによりリンクをフルフィルメントするこのプロセスは、通常、受信者側には見えない。
【０００５】
現在、世界中には、約１０から１５のティア１ネットワークが存在する。中には、インターネット上のさまざまな送信先に５０〜１５０ＧＢ／分で送信可能なネットワークがある。これを実現するためには、ティア１ネットワークは、端末ネットワークやその他のティア１ネットワークを有するピアにコンテンツオブジェクトを渡す。ピアのティア１ネットワークは、コストをかけずに、端末ネットワークあてのその他のティア１ネットワークから、コンテンツオブジェクトを渡すことに合意する。ティア１ネットワークは、一般的に、コンテンツオブジェクトを渡すことに対して、コンテンツプロバイダや端末ネットワークに課金するので、これらの環境では、ピアの関係が一般的に回避される。
【０００６】
ピアのティア１ネットワークは、端末ネットワークが最初にトラフィックを受信しているティア１ネットワークに接続されていない場合にだけ、お互いにトラフィックを渡すことに合意するが、その他のピアのティア１ネットワークはその端末ネットワークへの接続を有する。ティア１ネットワークが、ティア１ネットワークには直接接続されていない端末ネットワークあてのコンテンツオブジェクトを受信すると、オブジェクトは、ピアの合意に基づいて、その端末ネットワークへの接続のあるピアのティア１ネットワークに渡される。
【０００７】
特定のティア１ネットワークに端末ネットワークへの接続がある場合、その端末ネットワークにあてられたコンテンツオブジェクトは、端末ネットワークへの接続をも有し得るピアのティア１ネットワークには渡すことはできない。端末ネットワークへの相互接続が過負荷（ｏｖｅｒｗｈｅｌｍｅｄ）の場合には、コンテンツオブジェクトは失われる可能性がある。ティア１ピアと端末ネットワーク間の相互接続は高価であり、最悪の場合の需要を満たすために、過剰に構築される傾向にある。
【０００８】
大量イベントのシングルキャストは、ＣＤＮまたはティア１ネットワークにとっては効率的に配信することが困難な可能性がある。大量イベントでは、コンテンツオブジェクト（例えば、ファイルやストリーム）を、短時間で何万人もの受信者に送信することが必要になる。ＣＤＮおよび／またはティア１からのエグレス（ｅｇｒｅｓｓ）は、これらの大量イベントにより過負荷になる可能性がある。これらのエグレスポイントには、大量イベントの障害となる有限の帯域幅がある。これらの障害を回避するために、ＣＤＮおよびティア１ネットワークは、負荷を想定して、エグレスポイントを過剰に構築する。現在、一部の事例では、どのＣＤＮまたはティア１ネットワークも、ネットワークの一部に負荷をかけずに、大量イベントをサービスすることができない。例えば、重大な臨時ニュースイベントを報告しているニュースサイトでは、配信システムが需要の突然の上昇に対応できない可能性がある。
【発明の開示】
【課題を解決するための手段】
【０００９】
本開示は、添付の図面を参照して、説明される。
【００１０】
添付の図面では、同様の構成要素および／または機能には、同じ参照標示が付けられている場合がある。さらに、同じ種類の様々な構成要素は、同様な構成要素を区別するダッシュ記号と第二の標示により、参照標示によって区別することができる。明細書に第一の参照標示だけが使用されている場合、説明は、第二の参照標示に関係なく、同じ第一の参照標示が付けられている同様の構成要素のうちの任意の１つに適用できる。
【００１１】
次の説明は、好ましい例示的実施形態を提供するだけであって、本発明の範囲、適用性または構成を限定することを意図するものではない。むしろ、好ましい実施例の次の説明は、当業者に、本発明の好ましい実施例を実施することができるような説明を提供するものである。添付の請求項に記載されているように、本発明の精神や範囲を逸脱することなく、要素の機能や配置にはさまざまな変更を行うことができることが理解されるべきである。
【００１２】
実施例の理解を深めるために、次の説明では、特定の詳細を述べる。しかしながら、実施例は、当業者によって、これらの特定の詳細がなくても実施され得ることを理解されたい。例えば、回路は、不要に詳細化して実施例を不明確にしないためにブロック図に示され得る。その他の場合において、周知の回路、プロセス、アルゴリズム、構造、および技法は、実施例の不明確性を回避するために、不要に詳細化せずに示され得る。
【００１３】
また、実施例は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として表されるプロセスとして説明することができる。フローチャートは、順次プロセスとして操作を説明することができるが、多くの操作は、並列または同時に実施することが可能である。さらに、操作の順序は入れ替えることができる。プロセスは、その操作が完了すると、終了するが、図には含まれていない追加のステップを有し得る。プロセスは、方法、関数、手順、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応する場合、その終了は、呼び出している関数またはメインの関数への関数のリターンに対応する。
【００１４】
さらに、本明細書に開示するように、「格納媒体」という用語は、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気式ＲＡＭ、コアメモリ、磁気ディスク格納媒体、光学式格納媒体、フラッシュメモリ装置および／または、情報を格納するためのその他の機械可読媒体など、データを格納するための１つ以上の装置を表し得る。「コンピュータ可読媒体」という用語は、携帯式または固定格納装置だけに限定されず、光学式格納装置、ワイヤレスチャネルおよびその他の命令および／またはデータを格納、維持または運搬する能力のあるさまざまな媒体を含む。
【００１５】
さらに、実施例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはこれらの任意の組み合わせにより実施され得る。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードに実装する場合、必要なタスクを実施するプログラムコードまたはコードセグメントは、格納媒体のような機械可読媒体に格納され得る。プロセッサは必要なタスクを実行することができる。コードセグメントは、手順、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造またはプログラム宣言文の任意の組み合わせを表現することができる。コードセグメントは、情報、データ、引数、パラメータまたはメモリコンテンツを渡すことにより、および／または受け取ることにより、別のコードセグメントまたはハードウェア回路に連結され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージを渡す、トークンを渡す、ネットワーク送信などの任意の適切な手段により、渡す、転送、または送信され得る。
【発明を実施するための最良の形態】
【００１６】
図１Ａを参照すると、コンテンツシステム１００−１の実施例が示されている。コンテンツ発信元１０６は、コンテンツオブジェクトを作成する。コンテンツ発信元１０６に含まれるのは、コンテンツプロバイダ１０８とコンテンツ発信元サイトまたはウェブサイト１１６である。コンテンツオブジェクトは、任意のコンテンツファイルまたはコンテンツストリームで、例えば、ソフトウェア、オーディオ、ビデオ、写真、データおよび／またはテキストを含み得る。コンテンツオブジェクトは、ライブであったり、遅延または格納されたりし得る。コンテンツサイト１１６は、コンテンツプロバイダ１０８のインフラストラクチャ内、および／または代替的な場所に配置され得る。本明細書では、コンテンツオブジェクト、コンテンツストリームおよび／またはコンテンツファイルに対する参照がなされ得るが、これらの用語は、これらが使用されている場所であればどれも同じ意味で使用され得ることを理解されたい。
【００１７】
コンテンツ発信元１０６は、コンテンツオブジェクトの情報源または再分配元である。コンテンツサイト１１６は、受信者のコンピュータ１２８により、インターネット１０４を経由して、直接または間接的にアクセス可能なインターネットサイトである。コンテンツプロバイダ１０８からのコンテンツオブジェクトは、コンテンツサイト１１６により、受信者１１２に公開される。ある実施例では、コンテンツサイト１１６は、ウェブブラウザでコンテンツが閲覧可能なウェブサイトであり得る。その他の実施例では、コンテンツサイト１１６は、ウェブブラウザ以外のアプリケーションソフトウェアによりアクセス可能、および／またはパーソナルコンピュータ以外の装置からアクセス可能であり得る。一部の事例では、受信者のコンピュータ１２８は、コンテンツ発信元１０６として機能することが可能で、コンテンツ発信元１０６は受信者コンピュータ１２８として機能することが可能である。
【００１８】
受信者のコンピュータ１２８は、コンテンツオブジェクトを受信して、それを受信者１１２のために処理する。受信者のコンピュータ１２８は、パーソナルコンピュータ、メディアプレーヤ、携帯型コンピュータ、インターネット機器のセットトップボックス、電話、またはその他任意のコンテンツオブジェクトを受信できる装置であり得る。一部の事例では、受信者のコンピュータ１２８は、ネットワークに接続できるいくつかの演算装置であり得る。
【００１９】
各受信者のコンピュータまたはその他の装置１２８は、インターネットサービスプロバイダ（ＩＳＰ）または端末ネットワークに関連付けられる。ＩＳＰは、図１Ａのインターネット１０４の一部である。各ＩＳＰは、インターネットの接続を１つ以上の受信者コンピュータまたはその他の装置１２８に提供する。受信者のコンピュータまたはその他の装置１２８は、受信者１１２が認識するコンテンツオブジェクトをリクエストして受け取る。ＩＳＰは、コンテンツ発信元１０６と受信者コンピュータ１２８との間でコンテンツを配信するために、インターネット１０４のその他のネットワークと協働する。
【００２０】
図１Ｂを参照すると、コンテンツ発信元１０６がコンテンツオブジェクトの配信をコンテンツ配信ネットワーク（ＣＤＮ）１１０にオフロードする場合のコンテンツシステム１００の実施例が示されている。ＣＤＮ１１０は、コンテンツ発信元１０６からの一部またはすべてのコンテンツオブジェクト配信をオフロードするために使用される。実施例では、複数のＣＤＮ１１０を使用し得るか、コンテンツ発信元１０６と一体のＣＤＮ１１０を有し得る。コンテンツサイト１１６は、コンテンツプロバイダ１０８のインフラストラクチャ内、ＣＤＮ１１０内、および／または代替的な場所に配置され得る。
【００２１】
多数のコンテンツプロバイダ１０８は、ＣＤＮ１１０を使用して、コンテンツオブジェクトを顧客または受信者に配信する。コンテンツオブジェクトが受信者によりリクエストされると、ＣＤＮ１１０は、コンテンツプロバイダ１０８からコンテンツオブジェクトを呼び出す。あるいは、コンテンツプロバイダ１０８は、最初のリクエストの前に、コンテンツオブジェクトをＣＤＮ１１０に直接提供することができる。そして、ＣＤＮ１１０は、コンテンツオブジェクトを受信者１１２に提供する。コンテンツプロバイダ１０８は、典型的に、コンテンツオブジェクトの配信についてＣＤＮ１１０に支払いをする。その他の実施例では、ＣＤＮ１１０は、コンテンツプロバイダ１０８に専用または提携しており、支払は実施されないことがあり得る。コンテンツサイト１１６上のリンクおよび／または個別のコンテンツオブジェクトへのリンクは、１つ以上のＣＤＮ１１０から配信できるように構造化される。リンクは、ウェブページがレンダリングされる前、あるいは例えばリダイレクトを使用してリンクが有効になった後で、再度書き込まれ得る。
【００２２】
図２Ａを参照すると、インターネット１０４のルーティングを詳細に示す、コンテンツシステム２００−１の実施例のブロック図が示されている。この実施例は、インターネット１０４を構成するさまざまなネットワーク２１２、２２２、２２４の間の複雑な関係を示している。その他の多数の相互接続構成が可能であり、この実施例は、明確化のために簡略化されており、接続やネットワークの多くは示されていない。
【００２３】
受信者コンピュータ１２８は、端末ネットワーク２２４から、インターネットのアクセスを取得する。受信者コンピュータ１２８への配信に関与する最後のネットワークは、端末ネットワーク２２４である。端末ネットワーク２２４は、一般的に、インターネットサービスプロバイダ（ＩＳＰ）と呼ばれる。一般的に、コンテンツ発信元１０６は、端末ネットワーク２２４を含むことになるインターネット１０４を使用して、コンテンツオブジェクトを受信者コンピュータ１２８に渡す。
【００２４】
インターネット１０４は、主に、無料（例えば、ピアの関係）またはいくらかの料金でお互いのネットワークトラフィックを運ぶことに合意するネットワーク２１２、２２２、２２４のグループである。これらのネットワーク２１２、２２２、２２４は、ティア１またはフルルートのネットワーク２２２、複数のフルルートのネットワークを使用するティア０ネットワーク２１２、および端末ネットワーク２２４を含む。さまざまなネットワーク２１２、２２２、２２４の間の相互接続は、一般的に、帯域幅が制御または制限されたパケット交換または回路交換接続で実装され得る。例えば、第一のコンテンツ発信元１０６−１は、１０ＭＢ／分の接続である第一のティア１ネットワーク２２２−１を有し得る。過度に利用されている相互接続は、一般的に、速度の減少および／またはパケットロスなどを含み得る低品質のＱｏＳになる。
【００２５】
ティア１ネットワーク２２２は、ＣＤＮ１１０、端末ネットワーク２２４およびコンテンツ発信元１０６から、コンテンツオブジェクトを受信または送信する場合に典型的に課金するネットワークである。ティア１ネットワーク２２２は、フルルートのネットワークであり、任意のインターネットプロトコル（ＩＰ）アドレスは、任意のティア１ネットワーク２２２から到達可能である。端末ネットワーク２２４は、ティア１ネットワーク２２２のフルルート能力を使用して、フルルートサービスを、インターネットサービスのために端末ネットワーク２２４に加入している受信者コンピュータ１２８に提供する。逆に、コンテンツ発信元１０６およびＣＤＮは、コンテンツを任意のＩＰアドレスに配信するために、フルルートサービスを使用する。
【００２６】
ＣＤＮ１１０およびコンテンツ発信元１０６は、インターネット１０４を構成するさまざまなネットワーク２１２、２２２、２２４を有するさまざまな配置を有し得る。これらの異なる配置のために、各ＣＤＮ１１０への配信コストは、特定の受信者１１２または受信者１１２に対して選択されたルートでは異なり得る。この実施例では、ＣＤＮ１１０は、２つのエグレスポイントを有し、すなわち、第一のエグレスポイントは第一のティア０ネットワーク２１２へ行き、第二のエグレスポイントは第三のティア１ネットワーク２２２−３へ行く。ティア０ネットワーク２１２および第三のティア１ネットワーク２２２−３とのＣＤＮ１１０の関係のために、いずれかが、コンテンツオブジェクトを配信するために、ＣＤＮ１１０によって使用され得る。第一のコンテンツ発信元１０６−１は、インターネットとの通信およびコンテンツオブジェクトの配信のために、第一および第二のティア１ネットワーク２２２−１、２２２−２の配置を有している。第二のコンテンツ発信元１０６−２は、通信および配信のために、ティア０ネットワーク２１２を使用する。
【００２７】
各ティア１ネットワーク２２２は、すべての端末ネットワーク２２４にルートすることが可能であるが、特定のエンドポイントへの効率は、各ティア１ネットワーク２２２で異なり得る。すべてのティア１ネットワークは、一般的に、その他のティア１ネットワークとピアの関係を有するが、第一のティア１ネットワーク２２２−１は、第一のティア１ネットワーク２２２−１にトラフィックのために目的の受信者コンピュータ１２８に関連付けられた端末ネットワーク２２４へのエグレスがある場合には、別のティア１ネットワーク２２２−２にトラフィックを渡すことはできない。例えば、第二のティア１ネットワーク２２２−２が第三の端末ネットワーク２２４−３に配信するためのコンテンツオブジェクトを受信すると、第二のティア１ネットワーク２２２−２には第三の端末ネットワーク２２４−３への直接のエグレスがないので、コンテンツオブジェクトは、配信のために第一または第三のティア１ネットワーク２２２−１に渡され得る。別の例では、第一のティア１ネットワーク２２２−１は、第二の端末ネットワーク２２４−２に配信するためのコンテンツオブジェクトを受信し得るが、この２つの間の相互接続に不適切なＱｏＳを提供するような負荷がある場合でも、コンテンツオブジェクトを第二の端末ネットワーク２２４−２に配信しようと試みなければならない。
【００２８】
ティア０ネットワーク２１２は、一般的に、少なくとも２つのティア１ネットワーク２２２との相互接続を有する。この実施例では、ティア０ネットワーク２１２は、３つのティア１ネットワーク２２２との相互接続を有する。その他の実施例では、ティア０ネットワーク２１２は、さまざまな端末ネットワーク２２４への相互接続も有する。コンテンツ発信元１０６およびＣＤＮ１１０のいずれも、配信のために、ティア１ネットワーク２２２または端末ネットワーク２２４ではなく、ティア０ネットワーク２１２を使用し得る。一部の事例では、ティア１ネットワーク２２２は、配信のためにティア０ネットワーク２１２を使用する可能性さえある。例えば、第二のティア１ネットワーク２２２−２は、第二の端末ネットワーク２２４−２のためのコンテンツオブジェクトを有し得るが、第二のティア１ネットワーク２２２−２は、第二の端末ネットワーク２２４−２への相互接続が不適切なＱｏＳを提供することを決定する。第二のティア１ネットワーク２２２−２は、第一または第三の端末ネットワーク２２４−１、２２４−３を使用して、ティア０ネットワーク２１２による配信のために、コンテンツオブジェクトをティア０ネットワーク２１２に渡し得る。
【００２９】
ティア０ネットワーク２１２は、少なくとも２つのモードでのルートが可能である。第一のモードでは、ティア０ネットワーク２１２は、ルーティングをガイドする効率を使用して、３つのティア１ネットワークでルートする。効率的なルーティングは、典型的に、ホップの数とそれらホップの間のルータの速度に基づく。例えば、効率的または最適な経路は、待ち時間またはその他の従来の技法に基づいて選択され得る。第一のモードは、従来のルーティング方法に対応する。
【００３０】
一部のポイントで、効率的な相互接続のうちの１つは、閾値を超えて利用され得、これが第二のモードでのルーティングをトリガし得る。ティア０ネットワーク２１２は、３つの接続されたティア１ネットワーク２２２のうちのいずれかを使用してトラフィックを通信することができる。１つの相互接続に閾値を超える負荷がかかれば、最適でない場合でも、その他の相互接続を使用することができる。ティア１ネットワーク２２２のいずれかは、フルルートであるので、コンテンツオブジェクトを配信するために最適以下のティア１ネットワーク２２２に与えると、低いＱｏＳであっても、結果的には受信者のコンピュータ１２８への配信が行われる。最適以下のルートは、軽負荷条件の下で効率が低いルートとして定義され、効率性に関する決定に基づく従来のアルゴリズムによっては選択されることはない。
【００３１】
ルーティングモードの切り替えは、次の例で示される。ティア０ネットワーク２１２と第三のティア１ネットワーク２２２−３との間の相互接続は、例えば、５０ＭＢ／分の能力であり得る。第三の端末ネットワーク２２４−３の受信者コンピュータ１２８−３への最も効率的な経路は、この実施例では第三のティア１ネットワーク２２２−３を使用する。ティア０ネットワーク２１２と第三のティア１ネットワーク２２２−３との間の相互接続が４０ＭＢ／分の利用閾値に到達すると、例えば、第二のルーティング方法が開始される。第二のルーティングモードのティア０ネットワーク２１２は、第一および第二のティア１ネットワーク２２２−１、２２２−２を使用して、通常の条件では、第三の端末ネットワーク２２４−３への効率が低いにもかかわらず、第三の端末ネットワーク２２４−３の受信者コンピュータ１２８−３へのルーティングを開始し得る。
【００３２】
第二のモードのルーティングはいくつかの形式で実行され得る。ある実施例では、すべてのルーティングは、無作為または混合形式で実行される。任意の１つの相互接続が閾値に到達すると、その後すべてのコンテンツオブジェクトは、第一のモードで実行されたようなルーティングの最適化を考慮しない形式で選択されたティア１ネットワーク２２２に配信される。相互接続は、無作為に使用する、順次方式で割り当てる、最も利用度の低い相互接続に割り当てる、あるいは、その他一部の非最適化ルーティング方法であり得る。一般的に、ティア０ネットワーク２１２は、最適以下のルーティングが、最適なティア１ネットワーク２２２へのなんらかの障害が可能な限り回避されるという確信がある場合、重負荷においては最適以下のルーティングに切り替える。利用度が第二の閾値未満になると、ティア０ネットワーク２１２は、もう一度、第一のルーティングモードでのルーティングを再開し得る。
【００３３】
次に図２Ｂを参照すると、インターネット１０４のルーティング詳細を示す、コンテンツシステム２００−２の別の実施例のブロック図が示されている。この実施例では、ティア０ネットワーク２１２は、ティア１ネットワーク２２２−１、２２２−２および１つの端末ネットワーク２２４−３への相互接続を有する。端末ネットワーク２２４−３は、第一のティア１ネットワーク２２２−１、第二のティア１ネットワーク２２２−２およびティア０ネットワーク２１２から相互接続を受信する。第三の端末ネットワーク２２４−３は、相互接続に対して、ティア０ネットワーク２１２に料金を支払うことができる。ティア０ネットワーク２１２が第三の端末ネットワーク２２４−３にルーティングする場合、第一のモードのルーティングは、ティア０ネットワーク２１２と端末ネットワーク２２４−３との間の直接相互接続を使用し得る。ルーティングの第二のモードに切り替えると、受信者コンピュータ１２８−３の第三のグループへの追加のルートとして、第一および第二のティア１ネットワーク２２２−１、２２２−２が使用され得る。ある実施例では、ティア１ネットワーク２２２は、コンテンツを配信するために、ティア０ネットワーク２１２とともに配置することができる。例えば、第一のティア１ネットワーク２２２−１が第一の端末ネットワーク２２４から配信するためのコンテンツオブジェクトを受信する場合、第一のティア１ネットワーク２２２−１は、第一のティア１ネットワーク２２２−１への相互接続の利用が過剰であるかどうかを決定できる。第一のティア１ネットワーク２２２−１は、例えば、配信のために、第二のティア１ネットワーク２２２−２に渡すことが可能なティア０ネットワーク２１２に、コンテンツオブジェクトの配信を依頼し得る。ティア０ネットワーク２１２は、この能力に対して課金することができる。あるいは、その他のコンテンツオブジェクトを配信する第一のティア１ネットワーク２２２−１を使用するための料金に対して、この料金を差し引きし得る。
【００３４】
次に、図２Ｃを参照すると、インターネット１０４のルーティング詳細を示す、コンテンツシステム２００−３のまた別の実施例のブロック図が示されている。この実施例では、ティア０ネットワークが存在しないが、ティア１プラスネットワーク２２６が第二のモードで、その他のティア１プラスネットワーク２２６でのルーティングを許可する。ティア１ネットワーク２２２は、相互接続先の端末ネットワークに向けてトラフィックをルーティングしないが、ティア１プラスネットワーク２２６は、ティア１プラスネットワーク２２６と端末ネットワーク２２４との間の接続に閾値を超える負荷があれば、そのルーティングを実行し得る。ティア１プラスネットワーク２２６とティア１ネットワーク２２２との間の違いが、例を挙げて示される。この例では、ＣＤＮ１１０は、第三の端末ネットワークによって、受信者コンピュータ１２８−３の第三のグループにあてられたコンテンツオブジェクトを受信する。ＣＤＮ１１０がティア１ネットワーク２２２を使用してコンテンツオブジェクトを送信することを選択すると、ティア１ネットワーク２２２と端末ネットワーク２２４−３との間の障害はＱｏＳに影響を与え得る。あるいは、ＣＤＮ１１０は、第二のティア１プラスネットワーク２２６−２を使用し得る。第二のティア１プラスネットワーク２２６−２と第三の端末ネットワーク２２４−３との間の接続がある閾値を超えて利用されるようになり、かつ／またはＱｏＳが下がり始めると、第二のティア１プラスネットワーク２２６−２は、第一のティア１プラスネットワーク２２６−１と第三の端末ネットワーク２２４−３との間の接続を利用するために、コンテンツオブジェクトを第一のティア１プラスネットワーク２２６−１に渡し得る。
【００３５】
次に図２Ｄを参照すると、インターネット１０４のルーティング詳細を示す、コンテンツシステム２００−４のまた別の実施例のブロック図が示されている。この実施例では、ティア１ネットワークはなく、すべてがティア１プラスネットワーク２２６である。この実施例では、任意のＣＤＮ１１０またはコンテンツ発信元１０６は、単独のティア１プラスネットワーク２２６との接続を有することだけが必要である。従って、ティア１プラスネットワーク２２６への接続が過負荷でない限り、インターネット１０４のその他の部分に対するＱｏＳは適切であり得る。
【００３６】
図３を参照すると、ティア０ネットワーク２１２の実施例のブロック図が示されている。この実施例では、中央ＰＯＰトラフィック分配元３１６と、いくつかのリモートＰＯＰ３０４に対するＷＡＮ３２０またはその他の基幹により連結されるコンテンツリクエスト３１４がある。さまざまな実施例では、コンテンツを配信するために地理的に分散したいくつかのＰＯＰ３０４が存在し得る。各ＰＯＰ３０４は、受信者コンピュータ１２８と通信するために、その他のネットワーク２２２、２２４、２２６との接続を有する。ティア０ネットワーク２１２とその他のネットワーク２２２、２２４、２２６との間には、複数の相互接続が存在し得る。複数の接続は、複数のＰＯＰ３０４の中に分散され得る。例えば、ティア０ネットワーク２１２は、シカゴとマイアミにおけるＰＯＰ３０４にあるティア１ネットワーク２２２に接続し得るが、ロサンジェルスにおけるＰＯＰ３０４にあるティア１ネットワーク２２２に接続することはできない。複数の相互接続がある場合、ティア０ネットワークは、第一および第二のルーティングモードで操作する場合に、それらを個別的に、あるいはまとめて処理することができる。例えば、ティア１ネットワーク２２２とのシカゴの相互接続が閾値を超えて利用されるようになると、その他のティア１ネットワーク２２２との接続とともに、同じティア１ネットワーク２２２へのマイアミの接続がモード２のルーティングで使用され得る。
【００３７】
ルーティングの決定は、ＰＯＰトラフィック分配元３１６およびまたはＰＯＰ３０４で行われる。ある実施例では、ＰＯＰトラフィック分配元３１６はＰＯＰ３０４を選択して、ＰＯＰ３０４はエグレスポイントを選択する。別の実施例では、ＰＯＰトラフィック分配元３１６は、ＣＤＮ１１０内のすべてのルーティング決定を行う。その他の実施例では、ＰＯＰ３０４に、それがコンテンツオブジェクトを配信するか、または別のＰＯＰ３０４に配信を依頼するかどうかを、独立的に直接決定させ得る。
【００３８】
ＰＯＰトラフィック分配元３１６は、コンテンツリクエストインターフェース３１４からコンテンツオブジェクトのリクエストを受信して、これらのリクエストをそのリクエストのサービスに最も適切なＰＯＰ３０４に分配する。「最適な」ＰＯＰは、モード１またはモード２のルーティング時で異なる場合がある。ＰＯＰトラフィック分配元３１６とＰＯＰとの間の通信は、ＷＡＮの基幹３２０（たとえば、専用回線、プラィベートネットワークおよび／またはインターネット１０４）で行われる。代替的実施例では、ＷＡＮの基幹３２０は、インターネット１０４上のトンネル接続または従来のインターネット接続で置き換えられ得る。
【００３９】
この実施例では、コンテンツのリクエストをサービスするＰＯＰ３０４が３つある。ＰＯＰ３０４それぞれには、さまざまな受信者コンピュータ１２８をサービスするためのさまざまなティア１ネットワーク２２２、２２６および端末ネットワーク２２４への接続がある。別のＰＯＰ３０４が別のネットワークと通信し得る。ＰＯＰトラフィック分配元３１６は、特定の受信者コンピュータ１２８に関連付けられた端末ネットワーク２２０、２２４に加えて、各ＰＯＰ３０４の通信オプションを認識する。従って、特定のＰＯＰ３０４および／または接続が閾値を超えて利用されない限り、ＰＯＰトラフィック分配元３１６は、特定のコンテンツオブジェクトを配信する可能性がある選択肢として、そのＰＯＰ３０４を含み得る。コンテンツオブジェクトのリクエストが特定のＰＯＰ３０４に関連付けられると、これは、ＰＯＰ３０４からサービスあるいはストリームされる。つまり、この実施例では、特定のコンテンツオブジェクトは、配信するために複数のＰＯＰ３０４で分割されない。
【００４０】
次に図４Ａを参照すると、特定の地域におけるネットワークの相互通信を示す、コンテンツシステム１００のある部分４００−１の実施例のブロック図が示されている。この実施例では、ネットワーク間に追加および冗長の接続のある追加の地域が存在し得るが、この図で示される簡略化された実施例では、特定の地域のネットワークだけが示されている。複数のコンテンツ発信元１０６は、ティア０ネットワーク２１２に連結される。あるＰＯＰでは、ティア０ネットワーク２１２は、３つのティア１ネットワーク２２２および端末ネットワーク２２４−４と相互接続される。この実施例では、第四の端末ネットワーク２２４は配信されたコンテンツに対して料金を支払うので、ティア０ネットワーク２１２から端末ネットワーク２２４への間の接続が、どのティア１ネットワーク２２２を使用するよりも好ましい。この実施例のさまざまなルーティング経路が表Ｉに示されている。ホップは、コンテンツ発信元１０６と受信者グループとの間のルーティングで使用する２つの相互接続間のルーティング操作に対応する。それぞれの余分なホップは、一般的に、待ち時間を長くするとともに、障害に到達するリスクを増加させる。例えば、第一の受信者グループ１２８−１へのルーティングでは、１つのルートには３つのホップがあり、その他のルートには４つのホップがある。第一のモードでのルーティングは、ホップを最小限に抑えることに基づき得るが、ティア０ネットワーク２１２と第一のティア１ネットワーク２２２−１との間の接続が閾値を超えて利用されるようになると、ルーティングは第二のモードに切り替わり得る。第二のモードでは、３つのルートすべてが、ラウンドロビンまたは無作為方式で使用され得るので、今後のすべての配信ストリームは、すべての可能な経路で分割される。あるいは、第二のモードでは利用過剰なルートが除去されて、除外されたルートの利用が減少するまで、残りのルートが使用され得る。
【００４１】
【表１】
2009504105.tif 000003
【００４２】
【表２】
2009504105.tif 000004
図４Ｂを参照すると、特定の地域におけるネットワークの相互通信を示す、コンテンツシステム１００のある部分４００−２の実施例のブロック図が示されている。この実施例では、端末ネットワーク２２４−１とコンテンツ発信元１０６により使用される地域に、２つのティア１プラスネットワーク２２６および１つのティア１ネットワーク２２２が存在する。表ＩＩに利用可能なさまざまなルーティングオプションを示す。２つのティア１プラスネットワーク間の相互リンクは、ティア１プラスネットワークに送信先の端末ネットワーク２２４との直接接続がある場合でも、使用され得る。表ＩＩは、イタリック体で、ティア１プラスネットワーク２２６がルーティングの第二のモードで相互リンクを利用している場合を示している。ティア１プラスネットワーク２２６は、ルーティングの第二のモードで使用されるトラフィックを考慮し得る。このトラフィックは、ピア合意を超えると、課金され得る。例えば、第一のティア１プラスネットワーク２２６−１は、第三の端末ネットワーク２２４−３が送信先となる第二のティア１プラスネットワーク２２６−２にトラフィックを渡すと課金され得る。逆に、第二のティア１プラスネットワーク２２６−２は、第三の端末ネットワーク２２４−３が送信先となる第一のティア１プラスネットワーク２２６−１にトラフィックを渡すと課金され得る。ある実施例では、さまざまな料金は合計されて、定期的に行われる支払い前に一部が取り消され得る。この実施例では、ティア１プラスまたはティア１ネットワーク２２２、２２６は、受信側のネットワーク２２２、２２６に送信先ネットワーク２２４への接続がある場合にだけ、別のティア１プラスまたはティア１ネットワーク２２２、２２６にトラフィックを渡す。その他の実施例では、接続の有無に関係なく、トラフィックを渡すことを許可し得る。例えば、第一のコンテンツ発信元１０６−１と受信者コンピュータの第五のグループ１２８−５との間では、１０６−１、２２６−１、２２６−２、２２２、２２４−５、１２８−５のルートが可能である。ある実施例においては、この方式におけるトラフィックの移動は、第二のルーティングモードがトリガされる場合にのみ実行し得る。
【００４３】
【表３】
2009504105.tif 000005
【００４４】
【表４】
2009504105.tif 000006
【００４５】
【表５】
2009504105.tif 000007
次に図４Ｃを参照すると、特定の地域におけるネットワークの相互通信を示す、コンテンツシステム１００のある部分４００−３の実施例のブロック図が示されている。この実施例では、この地域でコンテンツの配信に使用されるティア１プラスネットワーク２２６が３つ存在する。表ＩＩＩに受信者コンピュータ１２８のさまざまなグループに利用可能なルーティングを示す。イタリック体で示されたルートは、通常のティア１ネットワーク２２２の代わりにティア１プラスネットワーク２２６を使用することにより、利用可能になる。
【００４６】
【表６】
2009504105.tif 000008
【００４７】
【表７】
2009504105.tif 000009
図５Ａを参照すると、コンテンツを配信するために、ルーティング方法を切り替える、プロセス５００−１の実施例のフロー図が示されている。描かれた部分のプロセスは、コンテンツオブジェクトのリクエストがティアネットワーク２１２またはティア１プラスネットワーク２２６により受信されるステップ５０４で始まる。これは、望ましいコンテンツオブジェクトを示す、ＵＲＩまたはＵＲＬの形式であり得る。ティア０ネットワーク２１２またはティア１プラスネットワーク２２６は、ＵＲＩを渡すために、プロトコルレベルのハンドシェイクからリクエストしているコンピュータ１２８のＩＰアドレスを決定することができる。ＩＰアドレスは、端末ネットワーク２２４および一般的な地域に対応する。この情報から、使用可能なＰＯＰ３０４を決定するために、ピアの関係、ＰＯＰの地理的場所および相互接続ポイントが分析される。
【００４８】
ステップ５０８では、閾値を超えて利用されているすべてのＰＯＰ３０４および相互接続ポイントは、考慮事項から削除され得る。飽和状態となっているＰＯＰは、すべての相互接続ポイントで完全に飽和状態、あるいは、関連のピアネットワーク２２２、２２６または端末ネットワーク２２４への相互接続で部分的に飽和状態になり得る。例えば、受信者コンピュータの第六のグループ１２８−６へのルーティングは、２つの地理的に多様なＰＯＰ３０４に対しては、以下の表Ｉに指定された可能なルートになる。この例では、受信者コンピュータ１２８−６はアリゾナ州フェニックスに位置する。第一のＰＯＰ３０４−１はアリゾナ州トゥーソンの近辺にあり、図４Ａに対応する。また、第二のＰＯＰ３０４−２はニューヨーク州ニューヨークの近辺にあり、図４Ｃに対応する。第六の端末ネットワーク２２４−６は、異なる地域間でトラフィックを渡すことができるので、ニューヨーク州ニューヨークで受信されたトラフィックは、アリゾナ州トゥーソンまたはその他の場所の受信者コンピュータ１２８−６に渡され得る。この実施例では、利用過剰の閾値は８０％に設定される。受信者コンピュータ１２８−６への第一のＰＯＰ３０４−１のすべてのルートは閾値を超える飽和状態にあるので、第一のＰＯＰ３０４−１は、受信者コンピュータ１２８−６に地理的に近いが、考慮事項から削除される。この実施例では、帯域幅の利用度だけを考慮するが、その他の実施例では、ＱｏＳに影響を与え得るその他のリソースの利用度を考慮する。例えば、処理リソースの９０％が利用されている場合には、ＰＯＰは考慮事項から削除され得る。
【００４９】
【表８】
2009504105.tif 000010
ステップ５１２では、最も効率的なエグレスポイントが決定される。この例では、第二のＰＯＰ３０４−２だけが考慮対象となる唯一のＰＯＰ３０４であるが、その他の実施例では、さらに多くのＰＯＰが利用可能になり得るので、複数のＰＯＰからの相互接続が考慮される。この例では、第三のコンテンツ発信元１０６−３が、第六の受信者コンピュータ１２８−６に配信されているコンテンツオブジェクトの情報源である。第三のコンテンツ発信元１０６−３と第二のＰＯＰ３０４−２との間には可能なルーティングが２つ存在するが、１つにはホップが２つあり、他方には３つある。この実施例では、さらに効率的なルートにはホップが少ないが、その他の実施例では、その他の形式で効率性が決定され得る。コンテンツオブジェクトに対するリクエストは、ステップ５１６で第二のＰＯＰ３０４−２に渡される。一部の実施例には、端末ネットワーク２２４のようなコストがさらに低いルートがある。例えば、図２Ｂのティア０ネットワーク２１２は、ティア１ネットワーク２２２または端末ネットワーク２２４−３のどちらにもルートできるが、端末ネットワーク２２４−３のほうが、コストが低くなる、あるいは、コストがかからない可能性が高い。この実施例では、ステップ５２８で典型的にはコストが高くなるフルルートのネットワーク（例えば、ティア１およびティア１プラスネットワーク２２２、２２６）を使用する前に、ステップ５１８と５２０でコストのさらに低いネットワークにルートすることを試みる。ステップ５１８の決定により、例えば、ピアの関係またはコストが低くなるネットワークが存在する場合には、ステップ５２０でリクエストは端末ネットワーク２２４に渡される。あるいは、端末ネットワーク２２４が存在しない場合には、ステップ５２８でフルルートのネットワークに渡される。コストの面で有利なネットワークが存在しない場合には、配信に最も効率的なフルルートのネットワークを選択するために、リクエストは、ステップ５１８からステップ５２８に渡される。この実施例では、特定のルートで配信が開始すると、ストリームまたはファイルの配信が完了するまで、そのルートで配信を継続する。
【００５０】
ステップ５２０では、飽和閾値がある数値に設定される。ある実施例では、飽和状態は、まず、使用される相互接続の帯域幅の数値により決定される。パケットロスがあるレベルを超えて増加すると、パケットロスはエグレスポイントと送信先コンピュータ１２８の間に別の帯域幅の障害があることを示す指標であるので、エグレスポイントの帯域幅が完全に使用されていない場合でも、飽和状態と考えられる。端末ネットワーク２２４が飽和状態であると決定された場合、ステップ５３４で端末ネットワーク２２４がコンテンツオブジェクトを配信するのではなく、フルルートネットワークの経路を探すために、処理はステップ５２８に進む。
【００５１】
ピアのネットワーク接続がステップ５２０で決定される飽和状態である場合、代替的フルルートティア１またはティア１プラスネットワーク２２２、２２６がステップ５２８で検索される。この例では、１０６−３から２２６−２から２２４−６から１２８−６へは、ホップが最小であるので、最も効率的であると考えられる。影響を受けるＰＯＰ３０４−１は、第一のＰＯＰ３０４−１の飽和レベルが減少するまで、受信者コンピュータの第六のグループ１２８−６に対しては、新しいトラフィックすべてをこのパスに切り替える。
【００５２】
選択された経路は、第二のティア１プラスネットワーク２２６−２からの利用が過剰であるかどうかを確認することにより、ステップ５２４で飽和状態を確認する。その他の実施例では、経路のいずれかで障害を探すために、経路全体を確認し得る。飽和状態の決定は、エグレスポイントの理論的な帯域幅および／またはパケットロス両方の関数である。帯域幅の過剰な使用あるいはパケットロスが認められると、ステップ５２４で、ティア１プラスネットワーク２２６−２と第六の端末ネットワーク２２４−６の間の相互接続が過剰利用されているかどうかが決定され得る。この実施例では、利用閾値は９０％で、１０６−３から２２６−２、２２４−６、１２８−６への経路は９４％まで利用されている。閾値を下回る利用であれば、処理は、コンテンツオブジェクトを配信するために、ステップ５２４からステップ５３４に進む。
【００５３】
ティア１プラスネットワーク２２６−２と第六の端末ネットワーク２２４−６との間の相互接続が表ＩＶの例に示されているように利用過剰である場合、コンテンツオブジェクトは、利用可能であればその他のなんらかの経路により配信される。ステップ５３６で、代替的ルートのリストが決定されて、ステップ５４０で、ルーティングは第二のモードに切り替わる。この例では、１０６−３から２２６−２から２２６−３から２２４−６から１２８−６への経路は、さらに効率的な２つのホップと過剰利用されている経路の代わりに、３つのホップを使用する代替の経路である。過剰に利用されている経路へルーティングされるトラフィックは、ステップ５４４で、第二のルーティングモードで、利用度はさらに低いが、効率がさらに悪い経路に迂回される。いくつかの代替経路がある場合、コンテンツオブジェクトは、一般的に負荷を分配するように、無作為または混合方式で経路の間で分割することができる。ステップ５４４で、その他の経路を選択するアルゴリズムには、多数のさまざまな可能性がある。これらのアルゴリズムは、一般的に、その他の経路も飽和状態ではない限り、トラフィックを１つ以上のＰＯＰ３０４内のさまざまなネットワーク２２２、２２４、２２６に分配する。例えば、第一のオーバーフローリクエストは、第一のＰＯＰ３０４によりサービスされ得、次のオーバーフローリクエストは第二のＰＯＰ３０４によりサービスされ得る。
【００５４】
一部の実施例では、飽和状態が発生した場合、その他のＰＯＰ３０４を考慮するのではなく、ＰＯＰ３０４に関連付けられたその他のティア１またはティア１プラスネットワーク２２２、２２６へだけオーバーフローする。一部のアルゴリズムは、利用度、コストおよび／または効率性に従って、ルートの代替性に重みをつけ得る。最も効率的なネットワーク２２２、２２４、２２６は既に飽和状態であるので、これらのアルゴリズムのどれも、効率性だけに基づくことはない。第一のルーティングモードは、すべての不飽和状態の経路を考慮して、１つ以上の最も効率的な経路を決定する。利用が過剰になった後、それ以降のコンテンツオブジェクトのリクエストは、同じコストのすべての経路で、無作為にあるいは順次に配分される。いくつかのコストレベルがある場合には、１つのアルゴリズムは、関連コストに従って、ルートの魅力度に重みをつける。別のアルゴリズムは、飽和レベルに従ってリクエストを配分するので、最も飽和レベルの低い経路が飽和レベルの高い経路よりも好まれる。また別のアルゴリズムではすべての経路を考慮して、それらの間でトラフィックを分配する。ステップ５４４で代替経路が選択されると、ステップ５３４でリクエストが満たされる。
【００５５】
図５Ｂを参照すると、コンテンツを配信するために、ルーティング方法を切り替える、プロセス５００−２の別の実施例のフロー図が示されている。この実施例では、ステップ５２０と５２８の間のリンクを排除するので、端末ネットワーク２２４が飽和状態にあると決定された後、効率的なフルルートのネットワーク２２２、２２６を検索しない。端末ネットワーク２２４が飽和状態になると、処理はステップ５２０からステップ５３６に進む。従って、第一の選択された端末ネットワーク２２４またはフルルートのネットワーク２２２、２２６が飽和状態である場合、その他の可能性を検索するために、代替の経路が分析される。ある実施例では、これにより、トラフィックが多数の代替経路に分配される。
【００５６】
図５Ｃを参照すると、コンテンツを配信するために、ルーティング方法を切り替える、プロセス５００−３のまた別の実施例のフロー図が示されている。この実施例は、ステップ５１６の後までは、図５Ａの実施例と異ならない。ステップ５３０で、最も効率的なルートが決定されるが、これは、端末ネットワーク２２４、ティア１ネットワーク２２２またはティア１プラスネットワーク２２６へのエグレスである可能性がある。ステップ５２２で第一の選択が飽和状態になければ、ステップ５３４でコンテンツオブジェクトが配信される。
【００５７】
最初のルートが飽和状態になると、処理はステップ５３８に継続して、代替経路が決定される。代替経路は、現在のＰＯＰ３０４、すべての可能なＰＯＰ３０４および／またはすべての不飽和状態のＰＯＰ３０４から選択され得る。ステップ５４２では、影響を受けるＰＯＰは、効率性以外の要素に基づいて、ルーティングを切り替える。例えば、ルーティングは、代替経路がコスト、飽和レベルまたは／あるいは効率性により重みを付けられる場合には、代替経路の中で順次または無作為に支払われ得る。特定のリクエストに対する代替経路はステップ５４６で選択されて、ステップ５３４で配信される。ある実施例では、代替のルーティングへの切り替えは、余分な部分をコンテンツの一部を配信し得るその他の経路へ配信する。
【００５８】
実施例は、上記のように、飽和状態で説明されたが、代替のルーティング方法または第二のモードへの切り替えは、飽和状態の前に実行され得る。例えば、切り替えは、４０％、５０％、６０％、７０％または８０％の利用度のような任意の閾値であり得る。飽和状態という用語を使用することは、必ずしも、パフォーマンスが低下するということを暗示することを意味するものではない。確かに、一部の実施例では、９５％以上の飽和度までは、パフォーマンスは影響されるかもしれない。５０％の利用度で代替のルーティングに切り替えると、飽和状態によるパフォーマンス低下の早期リスクを回避するようになる。どの事例においても、飽和状態の閾値は、さまざまな実施例では、例えば、４０％、５０％、６０％、７０％、８０％、９０％、９５％または１００％など、任意の値に設定することが可能である。上記の実施例の一部では、第一と第二のモードにおけるティア０ネットワークとティア１プラスネットワークのルーティングを説明した。その他の実施例では、コンテンツ発信元は、相互接続された配信ネットワークに多様性が存在する場合には、２つのモードでもルーティングし得る。また、端末ネットワークは、相互接続ネットワークのコンテンツオブジェクトのリクエストを行う場合には、２つのモードのルーティングを使用し得る。確かに、相互接続性に多様性を有する任意のネットワークは、利用度の決定に基づいて、２つのモードでルーティングし得る。ある実施例では、２つのモードのルーティングにより障害を回避することができる。
【００５９】
本開示の原則を特定の装置および方法との関連において上記で説明したが、この説明は、あくまでも例として行われたものであり、本発明の範囲を制限するものではないことを明確に理解されたい。
【図面の簡単な説明】
【００６０】
【図１Ａ】図１Ａ〜１Ｂは、コンテンツシステムの実施例のブロック図である。
【図１Ｂ】図１Ａ〜１Ｂは、コンテンツシステムの実施例のブロック図である。
【図２Ａ】図２Ａ〜２Ｄは、インターネットのルーティング詳細を示すコンテンツシステムの実施例のブロック図である。
【図２Ｂ】図２Ａ〜２Ｄは、インターネットのルーティング詳細を示すコンテンツシステムの実施例のブロック図である。
【図２Ｃ】図２Ａ〜２Ｄは、インターネットのルーティング詳細を示すコンテンツシステムの実施例のブロック図である。
【図２Ｄ】図２Ａ〜２Ｄは、インターネットのルーティング詳細を示すコンテンツシステムの実施例のブロック図である。
【図３】図３は、ティア０ネットワークの実施例のブロック図である。
【図４Ａ】図４Ａ〜４Ｃは、特定の地域において、ネットワークの対話を示す、コンテンツシステムの一部の実施例のブロック図である。
【図４Ｂ】図４Ａ〜４Ｃは、特定の地域において、ネットワークの対話を示す、コンテンツシステムの一部の実施例のブロック図である。
【図４Ｃ】図４Ａ〜４Ｃは、特定の地域において、ネットワークの対話を示す、コンテンツシステムの一部の実施例のブロック図である。
【図５Ａ】図５Ａ〜Ｃは、ルーティング方法を切り替える、コンテンツを配信するためのプロセスの実施例のフロー図である。
【図５Ｂ】図５Ａ〜Ｃは、ルーティング方法を切り替える、コンテンツを配信するためのプロセスの実施例のフロー図である。
【図５Ｃ】図５Ａ〜Ｃは、ルーティング方法を切り替える、コンテンツを配信するためのプロセスの実施例のフロー図である。
【図１Ａ】
2009504105.tif 000011
【図１Ｂ】
2009504105.tif 000012
【図２Ａ】
2009504105.tif 000013
【図２Ｂ】
2009504105.tif 000014
【図２Ｃ】
2009504105.tif 000015
【図２Ｄ】
2009504105.tif 000016
【図３】
2009504105.tif 000017
【図４Ａ】
2009504105.tif 000018
【図４Ｂ】
2009504105.tif 000019
【図４Ｃ】
2009504105.tif 000020
【図５Ａ】
2009504105.tif 000021
【図５Ｂ】
2009504105.tif 000022
【図５Ｃ】
2009504105.tif 000023
【国際調査報告】
2009504105.tif 000024