(57)【要約】サーバ管理されたルーティング機構を備えているコンテンツ配信システムの操作方法を開示する。同方法は、自律システムからプレフィックスエントリを収集する工程と、特定のデジタルコンテンツのプレフィックスへの送信を求めるコンテンツ要求を受信する工程と、自律システムから収集したプレフィックスエントリにプレフィックスが列挙されているとき、ホストサーバが、デジタルコンテンツのインターネットプロトコル（ＩＰ）パケットに対して自律システムに基づいて不透明ラベルを生成する工程と、ネットワーク機器の不透明ラベルに関連付けられた出口インターフェースからＩＰパケットを転送する工程とを含む。
2016517240.tif 000002
【特許請求の範囲】
【請求項１】
自律システムからプレフィックスエントリを収集する、収集工程と、
特定のデジタルコンテンツのプレフィックスへの送信を求めるコンテンツ要求を受信する工程と、
前記自律システムから収集した前記プレフィックスエントリに前記プレフィックスが挙げられている場合、ホストサーバが、前記デジタルコンテンツのインターネットプロトコル（ＩＰ）パケットに対して前記自律システムに基づいて不透明ラベルを生成する工程と、
前記ＩＰパケットをネットワーク機器の出口インターフェースから転送する工程であって、前記出口インターフェースは、前記不透明ラベルに対応している、転送工程と、を含む、方法。
【請求項２】
前記不透明ラベルは、前記自律システムに直接的に接続された前記ネットワーク機器の前記出口インターフェースに対応している、請求項１に記載の方法。
【請求項３】
前記プレフィックスエントリを前記ネットワーク機器からオフラインで記憶する工程をさらに含む、請求項１または２に記載の方法。
【請求項４】
前記ネットワーク機器は、前記不透明ラベルと前記出口インターフェースとの間のマッピングを記憶する、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記収集工程は、前記ネットワーク機器に対して透過性の経路収集サービスを通じて前記プレフィックスエントリを収集することを含む、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記収集工程は、前記自律システムを前記プレフィックスに到達するためのデフォルト経路として示す完全なインターネット・ルーティング・テーブルを収集することを含む、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
ネットワーク機器を通じてプレフィックスエントリを収集する工程と、
送信ネットワークトラフィックを監視することによってネットワーク条件が満たされているか否かを判定する工程と、
前記ネットワーク条件に基づいて不透明ラベルを前記プレフィックスエントリの宛先プレフィックスに関連付ける、関連付け工程と、
前記宛先プレフィックスに向かうことになっているインターネットプロトコル（ＩＰ）パケットに前記不透明ラベルを付ける工程と、
前記不透明ラベルに基づいて前記ネットワーク機器にある前記ＩＰパケットを転送する工程を含む、方法。
【請求項８】
送信ネットワークトラフィックの前記監視は、
ホストサーバ上のトラフィック・サンプリング・サービスを提供して、前記宛先プレフィックスからのトラフィックをサンプリングする工程と、
前記プレフィックスエントリとサンプリングされた前記トラフィックとを対にして、前記ホストサーバから前記宛先プレフィックスにどれだけのデータが送信されたかを判定する工程とを含む、請求項７に記載の方法。
【請求項９】
前記関連付け工程は、
前記宛先プレフィックスにどれだけのデータが送信されるかに基づいて第１自律システムを通るトラフィックの流れを担う前記宛先プレフィックスを選択する工程と、
前記宛先プレフィックスに到達でき前記第１自律システムより低いレイテンシを有する第２自律システムに対応する前記不透明ラベルを選択する工程とを含む、請求項８に記載の方法。
【請求項１０】
前記関連付け工程は、前記ネットワーク機器に接続されているホストサーバの全部ではなく一部にプログラムされ、前記ホストサーバは前記宛先プレフィックスにトラフィックを提供する、請求項９に記載の方法。
【請求項１１】
送信ネットワークトラフィックの前記監視は、第１自律システムの第１帯域幅使用割合と第２自律システムの第２帯域幅使用割合とを前記ネットワーク機器から推定する工程を含み、
前記ネットワーク条件は、前記第１帯域幅使用割合が所定のしきい値を超えるか否かである、請求項７に記載の方法。
【請求項１２】
前記関連付け工程は、前記第２帯域幅使用割合が前記第１帯域幅使用割合より低く、かつ、前記第２自律システムが前記トラフィックを引き受けるのに利用できる帯域幅を有するとき、前記第１自律システムから前記第２自律システムにトラフィックを移動させる工程を含む、請求項１１に記載の方法。
【請求項１３】
前記関連付け工程は、前記宛先プレフィックスに関連付ける新規な不透明ラベルを選択することによって第１自律システムから第２自律システムにトラフィックを移動させる工程を含み、前記新規な不透明ラベルは、前記第２自律システムに接続されている前記ネットワーク機器の出口インターフェースに対応している、請求項７に記載の方法。
【請求項１４】
送信ネットワークトラフィックの前記監視は、前記ネットワーク機器に接続されているホストサーバから届くトラフィック・カテゴリを判定する工程を含み、
前記関連付け工程は、
前記不透明ラベルを前記ホストサーバに特有の前記宛先プレフィックスに関連付ける工程と、
前記トラフィック・カテゴリに基づいて、第１自律システムから第２自律システムにトラフィックを移動させる工程であって、前記第２自律システムは、前記第１自律システムより低いレイテンシを有する、工程とを含む、請求項７に記載の方法。
【請求項１５】
ネットワーク・ファブリック・システムであって、
１つのネットワーク・ファブリックと１つ以上の隣接する自律システムとの間を相互接続し、前記１つ以上の隣接する自律システムに接続されている出口ポートを有するネットワーク機器と、
前記ネットワーク機器に結合されているホストサーバと、
サービスモジュールを記憶している非一時的メモリと、
前記サービスモジュールを実行する１つ以上のプロセッサであって、
前記ネットワーク機器に結合され、プレフィックスエントリを収集するよう構成されている経路収集モジュールであって、前記プレフィックスエントリの各々は、前記ネットワーク機器の出口ポートを通じて接続された自律システムに関連付けられている、経路収集モジュールと、
不透明ラベルを前記プレフィックスエントリにおいて識別されているプレフィックスに関連付けるよう構成されているトラフィック・エンジニアリング・モジュールであって、前記不透明ラベルは、前記出口ポートに関連付けられている、トラフィック・エンジニアリング・モジュールとを含む、１つ以上のプロセッサとを備え、
前記ホストサーバは前記不透明ラベルに関連付けられている前記プレフィックスからのコンテンツ要求に基づいて前記不透明ラベルを送信ＩＰパケットに割り当て、
前記ネットワーク機器は前記送信ＩＰパケットを前記不透明ラベルに関連付けられている前記出口ポートを通じて転送する、システム。
【請求項１６】
前記トラフィック・エンジニアリング・モジュールは、前記ネットワーク・ファブリックにおけるネットワーク条件の成立に基づいて、前記プレフィックスに関連付けられている前記不透明ラベルを変更するよう構成されている、請求項１５に記載のシステム。
【請求項１７】
プレフィックス記憶装置をさらに備え、前記経路収集モジュールは、前記プレフィックスエントリを前記プレフィックス記憶装置に記憶しており、前記プレフィックスエントリは、ローカルの完全なインターネット・ルーティング・テーブルを含む、請求項１５または１６に記載のシステム。
【請求項１８】
前記サービスモジュールは、トラフィック・サンプリング・モジュールを含み、前記トラフィック・サンプリング・モジュールは、前記ホストサーバに結合されており、前記プレフィックスエントリに送信した前記ホストサーバからの送信トラフィックをサンプリングするよう構成されている、請求項１５〜１７のいずれか１項に記載のシステム。
【請求項１９】
前記サービスモジュールは、データ集約モジュールを含み、前記データ集約モジュールは、前記トラフィック・サンプリング・モジュールに結合されており、前記プレフィックスエントリの各プレフィックスとサンプリングされたトラフィックとを対にして、どれだけのデータが各プレフィックスに送信されるかを判定し、ネットワーク条件が満たされているか否かを判定するよう構成されており、
前記トラフィック・エンジニアリング・モジュールは、前記ネットワーク条件が満たされているとき、異なる不透明ラベルを前記プレフィックスに関連付けるよう構成されている、請求項１８に記載のシステム。
【請求項２０】
前記サービスモジュールは、前記隣接する自律システムの各々にどれだけのデータが送信されるかを判定するよう構成されているネットワーク・モニタ・モジュールを含み、
前記トラフィック・エンジニアリング・モジュールは、前記隣接する自律システムの各々にどれだけのデータが送信されるかに基づいて前記不透明ラベルを選択するよう構成されている、請求項１５〜１９のいずれか１項に記載のシステム。
【請求項２１】
請求項１〜６のいずれか１項に記載の方法を行うために実行されるとき動作可能なソフトウェアを具現化する、１つ以上の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概してコンテンツ配信システムに関し、詳細にはコンテンツ配信システムのネットワークルーティング機構に関する。
【背景技術】
【０００２】
今日のインターネットサービスは、ネットワークエッジにおけるコンテンツ配信ネットワーク（ＣＤＮ：Ｃｏｎｔｅｎｔ  Ｄｅｌｉｖｅｒｙ  Ｎｅｔｗｏｒｋ）に関して、ネットワークの観点からますます多くのトラフィックソースを展開している。インターネットのポイント・オブ・プレゼンス（ＰｏＰ：Ｐｏｉｎｔ  ｏｆ  Ｐｒｅｓｅｎｃｅ）におけるローカル・ネットワーク・ファブリックは、送信トラフィックを容易にするために高価なネットワーク装置／機器を必要とする。ボーダ・ゲートウェイ・プロトコル（ＢＧＰ：Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）などのネットワークプロトコルは、これらのコンテンツ配信サーバを種々の自律システム（ＡＳ：Ａｕｔｏｎｏｍｏｕｓ  Ｓｙｓｔｅｍ）に接続する。プレフィックスまたは他の到達可能情報がＡＳ間で交換され、コアとなるルーティングを決定する。ベストパスなどの単純な経路選択アルゴリズムを使用するネットワークプロトコルは、一部のＡＳが帯域幅に負荷をかけ過ぎている高トラフィックシナリオに適応する知能を持ち合わせていない。
【発明の概要】
【０００３】
本明細書に開示する技法は、ルーティングの決定をサービスネットワークのエッジにおけるルータなどのネットワーク機器／装置からサービスネットワークのホストサーバへ移すことを可能にする。開示する技法は、ネットワーク機器がコンテンツ配信システムからＩＰパケットを転送する方法を変更する。従来のルーティング方式のもとでは、ネットワーク機器は、設定可能なプリファレンスに基づいて独立して転送決定をする。ここで、コンテンツ配信システムは、インターネットプロトコル（ＩＰ）パケットがネットワーク機器における経路計算に基づいてではなく不透明ラベルに基づいて転送されるようにルーティング方式を変更することができる。宛先ＩＰアドレス／プレフィックスに基づく経路計算は、ネットワーク・ファブリックのホストサーバでなされる。ルーティングの決定がホストサーバに移されるので、コンテンツ配信システムは、ネットワーク機器の機能要件が低減されることから、ネットワーク機器の貴重なコストを節約する。
【０００４】
また、本明細書に開示する技法は、設定可能な経路のプリファレンスを有することに加え、条件付きルーティング機能を備えたコンテンツ配信システムを可能にする。条件付きルーティング・ポリシーはネットワーク使用率に基づくことができる。ネットワーク条件はリアルタイムで監視することができる。例えば、コンテンツ配信システムは、ホストサーバの不透明ラベルポリシーを変更することでトラフィックを容量８０％のリンクから第２のリンクに移動させる。ネットワーク使用率に基づいてトラフィックを１つのリンクから他のリンクへ移動させる機能がなければ、コンテンツ配信ネットワーク・ファブリック全体は、最低容量／帯域幅リンクの最小公分母によって制限されるであろう。開示するネットワーク使用率データに基づく条件は、コンテンツ配信システムが、応答が早くかつ細かいレベルでネットワークトラフィックレベルを監視、管理できるようにする。
【０００５】
一部の実施形態は、上述したことに加えまたは代わりに、他の態様、要素、特徴、および工程を備える。これらの可能な追加や置換は、明細書の残りの部分を通して説明される。
【０００６】
本発明に係る実施形態は、方法、記憶媒体およびシステムを対象にした添付の特許請求
の範囲において特に開示される。請求の範囲の１つのカテゴリ、例えば方法、で述べた任意の特徴については、請求の範囲の他のカテゴリ、例えばシステム、においても主張できる。添付の特許請求の範囲における従属または参照は形式的な理由によってのみ選ばれる。しかしながら、任意の既出の請求項（特に多項従属）を意図的に参照することから生じる任意の主題も請求することができる。したがって、請求項およびそれらの特徴の任意の組み合わせが開示され、添付の特許請求の範囲において選ばれた従属性に関係なく請求することができる。
【０００７】
本発明に係る一実施形態において、方法は、
自律システムからプレフィックスエントリを収集する、収集工程と、
特定のデジタルコンテンツのプレフィックスへの送信を求めるコンテンツ要求を受信する工程と、
前記自律システムから収集した前記プレフィックスエントリに前記プレフィックスが挙げられている場合、ホストサーバが、前記デジタルコンテンツのインターネットプロトコル（ＩＰ）パケットに対して前記自律システムに基づいて不透明ラベルを生成する工程と、
前記ＩＰパケットをネットワーク機器の出口インターフェースから転送する工程であって、前記出口インターフェースは、前記不透明ラベルに対応している、転送工程と、を含む。
【０００８】
前記不透明ラベルは、前記自律システムに直接的に接続された前記ネットワーク機器の前記出口インターフェースに対応している。
本発明に係る一実施形態において、方法は、前記プレフィックスエントリを前記ネットワーク機器からオフラインで記憶することをさらに含む。
【０００９】
前記ネットワーク機器は、前記不透明ラベルと前記出口インターフェースとの間のマッピングを記憶する。
前記収集工程は、前記ネットワーク機器に対して透過性の経路収集サービスを通じて前記プレフィックスエントリを収集することを含む。
【００１０】
前記収集工程は、前記自律システムを前記プレフィックスに到達するためのデフォルト経路として示す完全なインターネット・ルーティング・テーブルを収集することを含む。
同様に特許を請求する本発明の別の実施形態において、方法は、
ネットワーク機器を通じてプレフィックスエントリを収集する工程と、
送信ネットワークトラフィックを監視することによってネットワーク条件が満たされているか否かを判定する工程と、
前記ネットワーク条件に基づいて不透明ラベルを前記プレフィックスエントリの宛先プレフィックスに関連付ける、関連付け工程と、
前記宛先プレフィックスに向かうことになっているインターネットプロトコル（ＩＰ）パケットに前記不透明ラベルを付ける工程と、
前記不透明ラベルに基づいて前記ネットワーク機器にある前記ＩＰパケットを転送する工程を含む。
【００１１】
送信ネットワークトラフィックの前記監視は、
ホストサーバ上のトラフィック・サンプリング・サービスを提供して、前記宛先プレフィックスからのトラフィックをサンプリングする工程と、
前記プレフィックスエントリとサンプリングされた前記トラフィックとを対にして、前記ホストサーバから前記宛先プレフィックスにどれだけのデータが送信されたかを判定する工程とを含む。
【００１２】
前記関連付け工程は、
前記宛先プレフィックスにどれだけのデータが送信されるかに基づいて第１自律システムを通るトラフィックの流れを担う前記宛先プレフィックスを選択する工程と、
前記宛先プレフィックスに到達でき前記第１自律システムより低いレイテンシを有する第２自律システムに対応する前記不透明ラベルを選択する工程とを含む。
【００１３】
前記関連付け工程は、前記ネットワーク機器に接続されているホストサーバの全部ではなく一部にプログラムされ、該ホストサーバは前記宛先プレフィックスにトラフィックを提供する。
【００１４】
送信ネットワークトラフィックの前記監視は、第１自律システムの第１帯域幅使用割合と第２自律システムの第２帯域幅使用割合とを前記ネットワーク機器から推定する工程を含み、前記ネットワーク条件は、前記第１帯域幅使用割合が所定のしきい値を超えるか否かである。
【００１５】
前記関連付け工程は、前記第２帯域幅使用割合が前記第１帯域幅使用割合より低く、かつ、前記第２自律システムが前記トラフィックを引き受けるのに利用できる帯域幅を有するとき、前記第１自律システムから前記第２自律システムにトラフィックを移動させる工程を含む。
【００１６】
前記関連付け工程は、前記宛先プレフィックスに関連付ける新規な不透明ラベルを選択することによって前記第１自律システムから前記第２自律システムにトラフィックを移動させる工程を含み、前記新規な不透明ラベルは、前記第２自律システムに接続されている前記ネットワーク機器の出口インターフェースに対応している。
【００１７】
送信ネットワークトラフィックの前記監視は、前記ネットワーク機器に接続されているホストサーバから届くトラフィック・カテゴリを判定する工程を含み、
前記関連付け工程は、
前記不透明ラベルを前記ホストサーバに特有の前記宛先プレフィックスに関連付ける工程と、前記トラフィック・カテゴリに基づいて、第１自律システムから第２自律システムにトラフィックを移動させる工程であって、前記第２自律システムは、前記第１自律システムより低いレイテンシを有する、工程とを含む。
【００１８】
本発明の一実施形態において、ネットワーク・ファブリック・システムは、
１つのネットワーク・ファブリックと１つ以上の隣接する自律システムとの間を相互接続し、前記１つ以上の隣接する自律システムに接続されている出口ポートを有するネットワーク機器と、
前記ネットワーク機器に結合されているホストサーバと、
サービスモジュールを記憶している非一時的メモリと、
前記サービスモジュールを実行する１つ以上のプロセッサであって、
前記ネットワーク機器に結合され、プレフィックスエントリを収集するよう構成されている経路収集モジュールであって、前記プレフィックスエントリの各々は、前記ネットワーク機器の出口ポートを通じて接続された自律システムに関連付けられている、経路収集モジュールと、
不透明ラベルを前記プレフィックスエントリにおいて識別されているプレフィックスに関連付けるよう構成されているトラフィック・エンジニアリング・モジュールであって、前記不透明ラベルは、前記出口ポートに関連付けられている、トラフィック・エンジニアリング・モジュールとを含む、１つ以上のプロセッサとを備え、
前記ホストサーバは前記不透明ラベルに関連付けられている前記プレフィックスからのコンテンツ要求に基づいて前記不透明ラベルを送信ＩＰパケットに割り当て、
前記ネットワーク機器は前記送信ＩＰパケットを前記不透明ラベルに関連付けられている前記出口ポートを通じて転送する。
【００１９】
前記トラフィック・エンジニアリング・モジュールは、前記ネットワーク・ファブリックにおけるネットワーク条件の成立に基づいて、前記プレフィックスに関連付けられている前記不透明ラベルを変更するよう構成されている。
【００２０】
本発明に係る一実施形態において、システムはプレフィックス記憶装置をさらに備え、前記経路収集モジュールは、前記プレフィックスエントリを前記プレフィックス記憶装置に記憶しており、前記プレフィックスエントリは、ローカルの完全なインターネット・ルーティング・テーブルを含む。
【００２１】
前記サービスモジュールは、トラフィック・サンプリング・モジュールを含み、前記トラフィック・サンプリング・モジュールは、前記ホストサーバに結合されており、前記プレフィックスエントリに送信した前記ホストサーバからの送信トラフィックをサンプリングするよう構成されている。
【００２２】
前記サービスモジュールは、データ集約モジュールを含み、前記データ集約モジュールは、前記トラフィック・サンプリング・モジュールに結合されており、前記プレフィックスエントリの各プレフィックスとサンプリングされたトラフィックとを対にして、どれだけのデータが各プレフィックスに送信されるかを判定し、ネットワーク条件が満たされているか否かを判定するよう構成されており、
前記トラフィック・エンジニアリング・モジュールは、前記ネットワーク条件が満たされているとき、異なる不透明ラベルを前記プレフィックスに関連付けるよう構成されている。
【００２３】
前記サービスモジュールは、前記隣接する自律システムの各々にどれだけのデータが送信されるかを判定するよう構成されているネットワーク・モニタ・モジュールを含む。ここでは、前記トラフィック・エンジニアリング・モジュールは、前記隣接する自律システムの各々にどれだけのデータが送信されるかに基づいて前記不透明ラベルを選択するよう構成されている。
【００２４】
本発明の別の実施形態において、１つ以上の非一時的コンピュータ可読記憶媒体は、本発明または任意の上記実施形態に係る方法を行うために実行されるとき動作可能なソフトウェアを具現化する。
【００２５】
同様に特許請求される本発明の別の実施形態において、システムは、１つ以上のプロセッサと、前記プロセッサに結合されて、前記プロセッサにより実行可能な命令を含むメモリとから成り、前記プロセッサは、本発明または任意の上記実施形態に係る方法を行うために前記命令を実行するとき動作可能である。
【図面の簡単な説明】
【００２６】
【図１】サーバ管理されたルーティング機構を備えたコンテンツ配信システムを操作するためのシステム環境の制御フローの例。
【図２】サーバ管理されたルーティング機構を備えたコンテンツ配信システムを操作するためのシステム環境の制御フローの別の例。
【図３Ａ】コンテンツ配信システムがクライアントＡを後退させずにクライアントＢに対するトラフィックをどのように操作できるかの例。
【図３Ｂ】コンテンツ配信システムがトラフィック分類に基づいてトラフィックをどのように操作できるかの例。
【図４】サーバ管理されたルーティング機構を備えたコンテンツ配信システムを操作する方法のフローチャート。
【図５】ネットワーク条件に応答する、サーバ管理されたルーティング機構を備えたコンテンツ配信システムを操作する方法のフローチャート。
【図６】本明細書に記載する任意の１つ以上の方法またはモジュールをマシーンに行わせる命令一式が実行されるコンピュータシステムの例となっているマシーンの図式による表示。
【発明を実施するための形態】
【００２７】
図は、説明のためだけに種々の実施形態を示す。当業者は以下の記述から、本明細書に図示する構造および方法の代替実施形態は本明細書に記載する原理から逸脱することなく採用してもよいことを容易に認識するであろう。
【００２８】
図１は、サーバ管理されたルーティング機構を備えたコンテンツ配信システム１０２の例を操作するためのシステム環境１００の制御フローを示す。コンテンツ配信システム１０２はインターネットのポイント・オブ・プレゼンス（ＰｏＰ）の一部であってもよい。コンテンツ配信システム１０２は、ネットワーク・ノードが１つ以上のネットワーク機器１０６を通じて相互にかつ外部システムに接続するネットワーク・ファブリック１０４から構成されている。ネットワーク・ノードの各々はホストサーバ１０８とすることができる。ホストサーバ１０８はコンピュータサーバである。コンピュータサーバは、図６に表すようなコンピュータシステムとすることができる。ネットワーク機器１０６は、コンピュータネットワークにおいてデータを仲介するコンピュータネットワーク装置である。例えば、ネットワーク機器１０６には、ルータ、ゲートウェイ、ネットワークブリッジ、スイッチ、ハブ、リピータ、プロキシ、ネットワーク・インターフェース・コントローラ、またはそれらの任意の組み合わせが含まれる。
【００２９】
ホストサーバ１０８は、コンテンツ・サービス・アプリケーション１１４を記憶するための非一時的メモリと、コンテンツ・サービス・アプリケーション１１４を実行するためのプロセッサとを備える。コンテンツ配信システム１０２の外部にあるクライアント装置１１６は、デジタルコンテンツ要求をコンテンツ配信システム１０２に送信することができる。コンテンツがホストサーバ１０８によってアクセスされる場合、ホストサーバ１０８上のコンテンツ・サービス・アプリケーション１１４はデジタルコンテンツをホストサーバ１０８からクライアント装置１１６に転送する。デジタルコンテンツは、１つ以上の自律システム１２０を含むインターネット・サービス・プロバイダ１１８をＩＰパケットとして移動する。自律システム１２０は、共通の明確に規定されたルーティング・ポリシーをインターネットに提示する少なくとも１つのネットワークオペレータの管理下にある接続されたＩＰルーティングプレフィックスの集合である。クライアント装置１１６はインターネットにアクセス可能な電子装置である。例えば、クライアント装置１１６は、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、テレビ、セットトップボックス、ビデオゲーム機、携帯電話機、またはそれらの任意の組み合わせであってもよい。
【００３０】
コンテンツ配信システム１０２は、不透明ラベルを生成して、ネットワーク機器１０６に通知し、特定の出口ポート１２４を通じてＩＰパケットを転送する１つ以上の方法を含むことができる。１つ以上の方法は、本明細書に記載するモジュールとストアによって実装される。モジュールは、ハードウェア構成要素、ソフトウェアモジュール、またはそれらの任意の組み合わせとして実装される。例えば、記載するモジュールは、図６に示すマシーン上のプロセッサまたはコントローラによって実行できる非一時的メモリ上の命令として実装されるソフトウェアモジュールとすることができる。ストアは、１つ以上の記憶装置上のフォーマットされた記憶空間である。ストアは、各モジュールを実行するプロセ
ッサまたはコントローラによってアクセス可能である。
【００３１】
各モジュールは、個々に、他のモジュールから独立して動作することができる。モジュールの一部または全部は同じホストサーバ上で実行される。モジュールの一部または全部は１つのモジュールとして組み合わせることができる。単一のモジュールはサブモジュールに分割することもでき、各サブモジュールは、単一モジュールの１つまたは複数の別個の方法ステップを実行する。モジュールはメモリ空間へのアクセスを共有することができる。１つのモジュールは、別のモジュールによってアクセスされるか変換されるデータにアクセスすることができる。１つのモジュールからアクセスまたは変更されたデータを別のモジュールでアクセスできるようにする物理接続または仮想接続を直接的または間接的に共有する場合、モジュールは相互に「結合されている」とみなすことができる。
【００３２】
コンテンツ配信システム１０２は、種々の用途のために、追加のモジュール、より少ないモジュール、または異なるモジュールを備えることができる。ネットワーク・インターフェース、セキュリティ機能、ロードバランサ、フェイルオーバーサーバ、管理およびネットワークオペレーションコンソール等の従来の構成要素は、システムの詳細を不明瞭にしないよう、図示されていない。１つまたは複数のモジュールは、コンテンツを提供するホストサーバの１つ、または１つまたは複数のモジュールの機能に専用の１つ以上のホストサーバ上で動作する。
【００３３】
コンテンツ配信システム１０２は経路収集サービスモジュール１２６を含む。経路収集サービスモジュール１２６は、ＢＧＰ情報などの経路情報をネットワーク機器１０６からまたはネットワーク機器１０６を通じて集約し、プレフィックス・ストア１２８に経路情報を記憶する。各自律システム１２０は、自律システム１２０を通じて到達できるプレフィックスエントリを広告する。経路情報には、プレフィックスをネットワーク機器１０６に隣接する各自律システム１２０に関連付けるプレフィックステーブルが含まれる。ネットワーク・プレフィックスは、システム一式のＩＰ位置を示すインターネットアドレスである。ネットワーク・プレフィックスは、ＩＰアドレスでサブネットマスクを論理的にＡＮＤ演算することで選択できるＩＰアドレスの一部とすることができる。そして今度は、各自律システム１２０がネットワーク機器１０６の特定の出口ポート１２４に関連付けられる。プレフィックス・ストア１２８はオフラインにしておくことができる。プレフィックス・ストア１２８はリアルタイムで更新される。
【００３４】
経路収集サービスモジュール１２６はＢＧＰスピーカとして実装される。一例では、ＢＧＰセッションはネットワーク機器１０６上に存在することができる。ネットワーク機器１０６は、伝送制御プロトコル（ＴＣＰ：Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）ポート１７９から供給されたものと共に、ＩＰｖ６近隣探索などのオフラインサーバにある一定のパケットを送出できる。それにより、経路収集サービスモジュール１２６は、ネットワーク機器１０６に隣接する自律システム１２０間でＢＧＰスピーカとして機能することができる。経路収集サービスモジュール１２６は、自律システム１２０の間のネットワーク機器１０６に対して透過性とすることができる。
【００３５】
経路収集サービスモジュール１２６は、コンテンツ配信システム１０２が、インターネット上で学習したすべてのプレフィックスを取り込んでネットワーク機器１０６からオフラインでプレフィックスエントリを記憶できるようにする。記憶されたプレフィックスエントリは、複数の完全なインターネットルートテーブルとすることができ、これらのテーブルは、コンテンツ配信システム１０２のトラフィック・エンジニアリング・サービスモジュール１３０によってパス決定のために使用することができる。
【００３６】
トラフィック・エンジニアリング・サービスモジュール１３０は、特定のプレフィック
スに経路を生成するための、コンテンツ配信システム１０２のモジュールである。トラフィック・エンジニアリング・サービスモジュール１３０は、プレフィックス・ストア１２８から各プレフィックスのデフォルト出口ポートを判定することができる。各出口ポートは対応する不透明ラベルを有する。トラフィック・エンジニアリング・サービスモジュール１３０は、各プレフィックスのデフォルト出口ポートを変更するためにシステム管理者にインターフェースを提供することができる。外部の介入なしで、トラフィック・エンジニアリング・サービスモジュール１３０は、ネットワーク・ファブリック１０４（例えば、自律システム１２０）のピアから学習した経路のすべてをネットワーク・ファブリック１０４（例えば、ＰｏＰ）内のホストサーバ１０８にプログラムすることができる。トラフィック・エンジニアリング・サービスモジュール１３０がどの出口ポートを各プレフィックスに関連付けるかを決定すると、トラフィック・エンジニアリング・サービスモジュール１３０は、その情報を経路プログラムモジュール１３２を通じてホストサーバ１０８に更新する。
【００３７】
経路プログラムモジュール１３２は、ネットワーク・ファブリック１０４内のホストサーバ１０８に経路のプログラミングを提供するための、コンテンツ配信システム１０２のモジュールである。経路は、潜在的な宛先プレフィックスに関連付けられた不透明ラベルの形をとっている。経路プログラムモジュール１３２は、ネットワーク・ファブリック１０４上のホストサーバ１０８の１つで動作できるか、トラフィックを提供する各ホストサーバ１０８の一部とすることができる。ホストサーバ１０８は、特定の宛先プレフィックスに関連付けられた不透明ラベルを、ホストサーバ１０８から配信されるデジタルコンテンツのＩＰパケットに割り当てる命令を経路プログラムモジュール１３２から受信する。ＩＰパケットは、どの特定の出口ポート１２４にＩＰパケットを転送するかをネットワーク機器１０６に指示する、ホストサーバ１０８によって割り当てられた不透明ラベルを有する。
【００３８】
ネットワーク機器１０６は、自身の３値連想メモリ（ＴＣＡＭ：Ｔｅｒｎａｒｙ  Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）などのメモリに不透明ラベルの変換テーブルを記憶する。各不透明ラベルは、ネットワーク機器１０６の出口ポート１２４に対応する。潜在的な宛先プレフィックスと不透明ラベルとの間の関連を判定する際に変換テーブルのコピーもトラフィック・エンジニアリング・サービスモジュール１３０によってアクセス可能であってよい。
【００３９】
本明細書に開示するコンテンツ配信システム１０２は、ルーティングの決定をホストサーバに移すことができる。ネットワーク機器の機能要件が低減されることから、コンテンツ配信システム１０２はネットワーク機器の貴重なコストを節約する。従来のネットワーク機器は完全なインターネット・ルーティング・テーブルを保持しなければならない。しかし、ルーティングの決定がホストサーバに移されるので、コンテンツ配信システム１０２のネットワーク機器１０６であれば、完全なインターネット・ルーティング・テーブルを保持して使用するための追加のメモリと処理能力を必要としない。ネットワーク機器１０６は、不透明ラベルに基づいてＩＰパケットを転送することのみを求められる。コンテンツ配信システム１０２は、ネットワーク・ファブリック１０４を構築する際に資本的支出（ＣＡＰＥＸ：Ｃａｐｉｔａｌ  Ｅｘｐｅｎｄｉｔｕｒｅ）の節約を可能にする。ネットワーク機器１０６は、スイッチ、総称ルーティングカプセル化（ＧＲＥ：Ｇｅｎｅｒｉｃ  Ｒｏｕｔｉｎｇ  Ｅｎｃａｐｓｕｌａｔｉｏｎ）トンネルのベース、パケット・オーバーＳＯＮＥＴ（ＰＯＳ：Ｐａｃｋｅｔ  ｏｖｅｒ  Ｓｙｎｃｈｒｏｎｏｕｓ  Ｏｐｔｉｃａｌ  Ｎｅｔｗｏｒｋｉｎｇ）のベースに簡素化することができる。
【００４０】
図２は、サーバ管理されたルーティング機構を備えたコンテンツ配信システム２０２の別の例を操作するためのシステム環境２００の制御フローを示す。コンテンツ配信システ
ム２０２は図１のコンテンツ配信システム１０２を含んでもよい。コンテンツ配信システム２０２はインターネットのポイント・オブ・プレゼンス（ＰｏＰ）の一部であってもよい。コンテンツ配信システム２０２は、ネットワーク・ノードが１つ以上のネットワーク機器２０６を通じて相互にかつ外部システムと接続するネットワーク・ファブリック２０４から構成されている。ネットワーク・ファブリック２０４は図１のネットワーク・ファブリック１０４とすることができる。ネットワーク機器２０６は図１のネットワーク機器１０６とすることができる。ネットワーク・ノードの各々はホストサーバ２０８とすることができる。ホストサーバ２０８は、図１のホストサーバ１０８などのコンピュータサーバである。コンピュータサーバは、図６に表すようなコンピュータとすることができる。
【００４１】
ホストサーバ１０８と同様に、ホストサーバ２０８は、コンテンツ・サービス・アプリケーション１１４を記憶するための非一時的メモリと、コンテンツ・サービス・アプリケーション１１４を実行するためのプロセッサとを備える。コンテンツ配信システム２０２の外部にあるクライアント装置１１６は、デジタルコンテンツ要求をコンテンツ配信システム２０２に送信することができる。コンテンツがホストサーバ２０８によってアクセスされる場合、ホストサーバ２０８上のコンテンツ・サービス・アプリケーション１１４はデジタルコンテンツをクライアント装置１１６に転送する。デジタルコンテンツは、１つ以上の自律システム１２０を含むインターネット・サービス・プロバイダ１１８を通ってＩＰパケットとして移動する。
【００４２】
コンテンツ配信システム２０２は、ネットワーク条件に基づいて不透明ラベルを生成して、ネットワーク機器２０６に通知し、ＩＰパケットを特定の出口ポート２２４を通じて転送する１つ以上の方法を含むことができる。１つ以上の方法は、本明細書に記載するモジュールとストアによって実装される。モジュールは、ハードウェア構成要素、ソフトウェアモジュール、またはそれらの任意の組み合わせとして実装される。例えば、記載するモジュールは、図６に示すマシーン上のプロセッサまたはコントローラによって実行できる非一時的メモリ上の命令として実装されるソフトウェアモジュールとすることができる。ストアは、１つ以上の記憶装置上のフォーマットされた記憶空間である。ストアは、各モジュールを実行するプロセッサまたはコントローラによってアクセス可能であってもよい。
【００４３】
各モジュールは、個々に、他のモジュールから独立して動作することができる。モジュールの一部または全部は同じホストサーバで実行される。モジュールの一部または全部は１つのモジュールとして組み合わせることができる。単一のモジュールはサブモジュールに分割することもでき、各サブモジュールは、単一モジュールの１つまたは複数の別個の方法ステップを実行する。モジュールはメモリ空間へのアクセスを共有することができる。１つのモジュールは別のモジュールによってアクセスされるか変換されるデータにアクセスすることができる。１つのモジュールからアクセスまたは変更されたデータを別のモジュールでアクセスできるようにする物理接続または仮想接続を直接的または間接的に共有する場合、モジュールは相互に「結合されている」とみなすことができる。
【００４４】
コンテンツ配信システム２０２は、種々の用途のために、追加のモジュール、より少ないモジュール、または異なるモジュールを備えることができる。ネットワーク・インターフェース、セキュリティ機能、ロードバランサ、フェイルオーバーサーバ、管理およびネットワークオペレーションコンソール等の従来の構成要素は、システムの詳細を不明瞭にしないよう、図示されていない。１つまたは複数のモジュールは、コンテンツを提供するホストサーバの１つ、または１つまたは複数のモジュールの機能に専用の１つ以上のホストサーバで動作できる。
【００４５】
コンテンツ配信システム２０２は、図１に示すような経路収集サービスモジュール１２
６とプレフィックス・ストア１２８とを備える。また、コンテンツ配信システム２０２はトラフィック・エンジニアリング・サービスモジュール２３０を備える。トラフィック・エンジニアリング・サービスモジュール２３０は、ネットワーク条件に基づいて特定のプレフィックスへのＩＰパケットの経路を変更するための、コンテンツ配信システム１０２のモジュールである。ネットワーク条件は、トラフィック・エンジニアリング・サービスモジュール２３０に記憶することができ、ネットワーク・ファブリック２０４のホストサーバ２０８に対して送信ＩＰパケットをどこへ転送するかの最終決定を下すビジネスロジックを包含する。
【００４６】
トラフィック・エンジニアリング・サービスモジュール２３０は、まずプレフィックス・ストア１２８から各プレフィックスのデフォルト出口ポートを判定することができる。トラフィック・エンジニアリング・サービスモジュール２３０は、ネットワーク・ファブリック２０４（例えば、自律システム１２０）のピアから学習した経路のすべてを図１の経路プログラムモジュール１２３などの経路プログラムモジュール２３２を通じてプレフィックス・ストア１２８からネットワーク・ファブリック２０４（例えば、ＰｏＰ）内のホストサーバ２０８にプログラムすることができる。
【００４７】
コンテンツ配信システム２０２は、トラフィック・サンプリング・サービスモジュール２３４をさらに備える。トラフィック・サンプリング・サービスモジュール２３４は、各ホストサーバ２０８から送信されたＩＰパケットをサンプリングする。ＩＰソースアドレス、ポート番号、次のＩＰアドレス等を含め、送信ＩＰパケットからの情報が取り込まれる。トラフィック・サンプリング・サービスモジュール２３４が送信ＩＰパケットの情報を収集する時間と頻度およびそのＩＰパケットのサイズに基づいて、トラフィック・サンプリング・サービスモジュール２３４はビット毎秒をネットワーク使用率ストア２３６に記憶される帯域幅使用率に正規化できる。トラフィック・サンプリング・サービスモジュール２３４はホストサーバのサンプリング速度を変更する柔軟性を有する。トラフィック・サンプリング・サービスモジュール２３４がネットワーク使用率またはトラフィック傾向を判定しているとき、トラフィック・サンプリング・サービスモジュール２３４はさらに低いサンプリング速度を有することができる。トラフィック・サンプリング・サービスモジュール２３４がネットワーク問題をデバッグするために使用されている場合、トラフィック・サンプリング・サービスモジュール２３４は、さらなる可視性およびより正確なデータを得るために、さらに速いサンプリング速度でサンプリングすることができる。
【００４８】
あるいは、トラフィック・サンプリング・サービスモジュール２３４は、ネットワーク・ファブリック２０４に出入りするＩＰトラフィックを監視するために、ネットワーク上でＮｅｔＦｌｏｗ（商標）を実行することができる。トラフィックを監視またはサンプリングするために、ネットワークとホスト装置を監視するための技術であるｓＦｌｏｗなどの他の技術を利用することができる。トラフィック・サンプリング・サービスモジュール２３４は多数のトラフィック・サンプリング・サービスおよびトラフィック監視サービスを実行して最終的な帯域幅使用率データを正規化できる。帯域幅使用率データはサンプリングされたＩＰパケットの５組（５タプル）で体系化することができる。５組は、ソースＩＰアドレス、ソースポート番号、宛先ＩＰアドレス、宛先ポート番号、およびＴＣＰなどのプロトコルの種類を特定する。
【００４９】
トラフィック・サンプリング・サービスモジュール２３４は送信ＩＰパケットを監視するだけでなく、ネットワーク・ファブリック２０４内のホスト間トラフィックも監視することができる。例えば、ホストサーバ群とサーバラックとの間のトラフィックも追跡できる。
【００５０】
ネットワーク使用率ストア２３６の帯域幅使用率データとプレフィックス・ストア１２
８からのプレフィックスエントリは、データ集約サービスモジュール２３８を通じてトラフィック・マップ・ストア２４０へ集約される。データ集約サービスモジュール２３８はプレフィックス・ストア１２８からのプレフィックスエントリを各プレフィックスからの帯域幅使用率データと対にして、ネットワーク・ファブリック２０４がどれだけのトラフィックを特定のプレフィックスに送信しているかを判定する。トラフィック・マップ・ストア２４０は、ネットワーク機器２０６を通じて使用頻度上位Ｎ位を判定するなどのプレフィックス毎のネットワーク使用率データのフィルタリングおよび仕分けを可能にする。帯域幅使用率データは５組に基づいてサンプリングされる。宛先ＩＰアドレスはネットワーク・プレフィックスに集約される。したがって、プレフィックスエントリと５組における宛先ＩＰアドレスとの対形成は、帯域幅使用率データをプレフィックスによって体系化できるようにする。トラフィック・マップ・ストア２４０は、どれだけのデータがどのホストからプレフィックス・ストア１２８の既知のプレフィックスの各々に送信されるかについての情報を含むことができる。
【００５１】
コンテンツ配信システム２０２は、ネットワーク機器２０６に結合されたネットワーク・モニタ・サービスモジュール２４２を備える。ネットワーク・モニタ・サービスモジュール２４２は、ネットワーク・ファブリック２０４のエッジにあるネットワーク機器２０６を監視する。例えば、ネットワーク・モニタ・サービスモジュール２４２は、各ネットワーク機器２０６の入口および出口インターフェースを監視して、各ネットワーク機器２０６に隣接する各自律システム１２０にどれだけのトラフィックが出入りしているかを判定することができる。各自律システム１２０にどれだけのトラフィックが出入りしているかはネットワーク・インターフェース・トラフィック・ストア２４４に記憶される。
【００５２】
トラフィック・エンジニアリング・サービスモジュール２３０は、コンテンツ配信システム２０２が、トラフィック・マップ・ストア２４０に記憶された宛先プレフィックスによって体系化されたトラフィックマップに基づいて送信ＩＰパケットの不透明ラベルを変更できるようにする。ネットワーク・インターフェース・トラフィック・ストア２４４に記憶されたデータおよびトラフィック・マップ・ストア２４０からの自律システム１２０についての追加のプロフィール情報、または、ネットワーク・インターフェース・トラフィック・ストア２４４に記憶されたデータもしくはトラフィック・マップ・ストア２４０からの自律システム１２０についての追加のプロフィール情報を使って、トラフィック・エンジニアリング・サービスモジュール２３０は各自律システム１２０の容量負荷を判定することができる。容量負荷が、ある一定の割合を超える場合、トラフィック・エンジニアリング・サービスモジュール２３０をトラフィック救済モードに設定することができる。トラフィック救済モードでは、トラフィック・エンジニアリング・サービスモジュール２３０は、自律システム１２０の１つに進むプレフィックス毎のトラフィックを、異なる出口ポートをプレフィックスに関連付けている別の自律システム１２０へ移動させる。
【００５３】
トラフィック・エンジニアリング・サービスモジュール２３０がどの出口ポートを各プレフィックスに関連付けるかを決定すると、トラフィック・エンジニアリング・サービスモジュール２３０はその情報を経路プログラムモジュール２３２を通じてホストサーバ２０８に更新することができる。経路プログラムモジュール２３２は、ネットワーク・ファブリック２０４内のホストサーバ２０８に経路のプログラミングを提供するための、コンテンツ配信システム２０２のモジュールである。異なるホストサーバ２０８に対して、同一プレフィックスの経路は、トラフィック・エンジニアリング・サービスモジュール２３０のトラフィック操作ポリシーに応じて異なっていてもよい。経路は、潜在的な宛先プレフィックスに関連付けられた不透明ラベルの形をとっている。経路プログラムモジュール２３２は、ネットワーク・ファブリック２０４上のホストサーバ２０８の１つで動作できるか、トラフィックを提供する各ホストサーバ２０８の一部とすることができる。ホストサーバ２０８は、特定の宛先プレフィックス（すなわち、デジタルコンテンツを要求して
いるクライアントの宛先）に関連付けられた不透明ラベルを、ホストサーバ２０８から配信されるデジタルコンテンツのＩＰパケットに割り当てる命令を経路プログラムモジュール２３２から受信する。ＩＰパケットは、どの特定の出口ポート２２４にＩＰパケットを転送するかをネットワーク機器２０６に指示する、ホストサーバ２０８によって割り当てられた不透明ラベルを有する。
【００５４】
ネットワーク機器１０６と同様に、ネットワーク機器２０６は自身の３値連想メモリ（ＴＣＡＭ）などのメモリに不透明ラベルの変換テーブルを記憶する。各不透明ラベルはネットワーク機器２０６の出口ポート２２４に対応する。変換テーブルのコピーは、トラフィック・エンジニアリング・サービス２３０によってアクセス可能であってもよい。
【００５５】
コンテンツ配信システム２０２はデータセンタ・ルーティング機器２５０を備えることもできる。ネットワーク・ファブリック２０４のホストサーバ２０８は、コンテンツ配信ネットワーク（ＣＤＮ：Ｃｏｎｔｅｎｔ  Ｄｅｌｉｖｅｒｙ  Ｎｅｔｗｏｒｋ）データセンタなどのデータセンタ２５２から頻繁にデータを取り出す必要があるかもしれない。経路収集サービスモジュール１２６はネットワーク機器２０６の機能要件を緩和することができる。しかし、ネットワーク機器２０６の機能が制限されると、各ホストサーバ２０８にコンテンツを調達するのに必要なデータセンタ２５２の位置を突き止めるためにデータセンタ・ルーティング機器２５０が必要となるかもしれない。データセンタ・ルーティング機器２５０は、ホストサーバ２０８自身およびネットワーク機器２０６、または、ホストサーバ２０８自身もしくはネットワーク機器２０６と直接接続することができる。データセンタ・ルーティング機器２５０は、ＩＰルックアップができ、データ取り出し要求をデータセンタ２５２に送信し、取り出したコンテンツをネットワーク機器２０６を通じて正確にルーティングできる知能装置として機能することができる。
【００５６】
コンテンツ配信システム１０２と同様に、本明細書に開示するコンテンツ配信システム２０２は、ルーティングの決定をホストサーバに移すことができる。したがって、コンテンツ配信システム２０２は、同様に、ネットワーク・ファブリック２０４を構築する際に資本的支出（ＣＡＰＥＸ）の節約を可能にする。しかも、本明細書に開示するコンテンツ配信システム２０２は、隣接する自律システムの容量オーバーを回避する効果的なネットワーク管理を可能にする。トラフィックの低下を回避することにより、コンテンツ配信システム２０２はよりよいネットワークパフォーマンスを可能にし、したがって運用コスト（ＯＰＥＸ：Ｏｐｅｒａｔｉｏｎａｌ  Ｅｘｐｅｎｄｉｔｕｒｅ）の節約を実現する。
【００５７】
本明細書において図１および図２のモジュールに取り入れた技法は、ソフトウェアおよびファームウェアまたはソフトウェアもしくはファームウェアによってプログラムまたは構成されるプログラム可能回路によって実装され、あるいは、専用の「ハードワイヤード」回路によって、またはそのような形態の組み合わせで完全に実装される。このような専用の回路は（もしあれば）、例えば１つ以上の特定用途向け集積回路（ＡＳＩＣ：Ａｐｐｌｉｃａｔｉｏｎ−Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、プログラマブル・ロジック・デバイス（ＰＬＤ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）等の形をとることができる。
【００５８】
図３Ａは、コンテンツ配信システム２０２が、クライアントＡ３０４を後退させずにクライアントＢ３０２に対するトラフィックをどのように操作できるかの例を示す。この例では、ＰｏＰ３０６はネットワーク機器３０８を通じて自律システムＸ３１０と自律システムＹ３１２に接続されている。ＰｏＰ３０６は図２のネットワーク・ファブリック２０４とすることができ、ネットワーク機器３０８は図２のネットワーク機器２０６とすることができる。
【００５９】
自律システムＸ３１０は１０ギガビット毎秒（Ｇｂｐｓ）の容量を有し、自律システムＹ３１２は２０Ｇｂｐｓの容量を有することができる。図に示すように、自律システムＸ３１０は８０％の容量で動作している。ネットワーク機器３０８に接続されたリンクの１つが８０％以上の容量であるとき、可能であればトラフィックを自律システムＸ３１０から移動させるために、コンテンツ配信システム２０２はトラフィック・エンジニアリング・サービスモジュール２３０に条件を記憶する。
【００６０】
データ集約サービスモジュール２３８はトラフィック・エンジニアリング・サービスモジュール２３０に、どれだけのトラフィックがどのホストからどの自律システムを通じて各プレフィックスに送信されているかを提供する。図に示すように、クライアントＢ３０２は、自律システムＸ３１０を通じて現在ルーティングしている４Ｇｂｐｓのトラフィックを有し、クライアントＡ３０４は、自律システムＹ３１２を通じて現在ルーティングしている１０Ｇｂｐｓのトラフィックを有する。図１および図２のプレフィックス・ストア１２８は、自律システムＸ３１０を除いて、どの代替出口ポートがクライアントＢ３０２に到達できるかについての情報を提供する。この例では、自律システムＹ３１２が代替出口ポートであると判断される。それが分かれば、トラフィック・エンジニアリング・サービスモジュール２３０は、クライアントＢ３０２への４Ｇｂｐｓのトラフィック全体を自律システムＸ３１０から自律システムＹ３１２に移動させる。あるいは、自律システムＸ３１０を救済した結果、自律システムＹ３１２に負担をかけ過ぎないように、トラフィック・エンジニアリング・サービスモジュール２３０は、クライアントＢ３０２のトラフィックの一部、例えばトラフィックの２Ｇｂｐｓ、のみを自律システムＸ３１０から自律システムＹ３１２に移動させることができ、したがって、自律システムＸ３１０と自律システムＹ３１２の負荷のバランスをとる。これは、自律システムＹ３１２の出口ポートを指し示す不透明ラベルをそのＩＰパケットのすべてに割り当てるよう、トラフィックの一部を提供するホストサーバをプログラムすることで実現できる。
【００６１】
図３Ｂは、コンテンツ配信システム２０２がトラフィック分類に基づいてどのようにトラフィックを操作できるかの例を示す。ＰｏＰ３５２は、ＰｏＰ３５２を隣接する自律システムと接続するネットワーク機器３５４を含むよう示されている。ＰｏＰ３５２は異なる種類のトラフィックを提供することができる。例えば、ＰｏＰ３５２は、ウェブサイトの基本的なレンダリングである動的トラフィックと、音声ファイル、写真、または映像などの繰り返し要求されるコンテンツのトラフィックであるＣＤＮトラフィックを提供することができる。ＣＤＮトラフィックは一般的にレイテンシに対してより感度が低い（すなわち、人々はビデオストリームまたはオーディオストリームをロードするのに待つことに慣れている）ので、トラフィック・エンジニアリング・サービスモジュール２３０は、ＣＤＮトラフィックの代わりに動的トラフィックの大部分を、低いレイテンシを有する隣接する自律システムに移動するという優先事項を確実にするようトラフィックを移動して操作することができる。
【００６２】
例では、ＰｏＰ３５２は自律システムＣ３５６と自律システムＤ３５８に隣接する。自律システムＣ３５６が低いレイテンシを有する一方、自律システムＤ３５８は高レイテンシを有する。トラフィック・エンジニアリング・サービスモジュール２３０は、トラフィックの特定のクラスに不透明ラベルを設定するようＰｏＰ３５２内のホストサーバをプログラムすることができる。例えば、動的トラフィックホスト３６０は、基本的なウェブサイト情報をクライアント装置３６２に提供するホストサーバであり、ＣＤＮトラフィックホスト３６４は、ビデオストリームを提供するホストサーバである。動的トラフィックホスト３６０はその送信ＩＰパケットに自律システムＣ３５６に対応する不透明ラベルを付けるようプログラムでき、ＣＤＮトラフィックホスト３６４はその送信ＩＰパケットに自律システムＤ３５８に対応する不透明ラベルを付けるようプログラムできる。あるいは、トラフィック・エンジニアリング・サービスモジュール２３０は、特定の種類の検出トラ
フィックに不透明ラベルを設定するようネットワーク機器３５４を直接プログラムできる。
【００６３】
自律システムのレイテンシは多数の方法で検出される。例えば、レイテンシはクライアント側から試験される。クライアント装置３６２は、クライアント装置３６２をトリガして、多数のＰｏＰから１キロバイトの画像などのデジタルコンテンツの小さな断片を要求させる、非同期ＪａｖａＳｃｒｉｐｔ（登録商標）とＸＭＬ（ＡＪＡＸ：Ａｓｙｎｃｈｒｏｎｏｕｓ  ＪａｖａＳｃｒｉｐｔ  ａｎｄ  ＸＭＬ）コードなどのクライアント側スクリプトの断片を含むことができる。クライアント側コードはクライアント装置３６２が最も低いレイテンシを有するＰｏＰを選択できるようにする。例えば、クライアント側コードによってＰｏＰ３５２が選択されたら、ＰｏＰ３５２のホストサーバはクライアント側スクリプトと協働してＰｏＰ３５２に接続された自律システムのレイテンシとパフォーマンスを判定することができる。クライアント側コードへの試験用ＩＰパケットは、特定の不透明ラベルを有する試験用ＩＰパケットを転送するための、ある自律システムを特別に選択すること（すなわち、選択された自律システムに接続する出口ポートを決定する不透明ラベル）で、ＰｏＰ３５２から送信できる。その結果、クライアント側スクリプトによって報告されたレイテンシは、選択された自律システムと相関させることができる。往復レイテンシのデータおよび送信レイテンシのデータを含め、他の種類のパフォーマンス試験をネットワーク機器３５４を通じてまたはＰｏＰ３５２のホストサーバから直接行うことができる。これらのレイテンシ／パフォーマンスデータをトラフィック・エンジニアリング・サービスモジュール２３０に供給し、ＰｏＰ３５２から出て行くトラフィックをどのように操作するかを決定することができる。
【００６４】
図４は、サーバ管理されたルーティング機構を備えた、コンテンツ配信システム１０２などのネットワーク管理されたコンテンツ配信システムを操作する方法４００のフローチャートを示す。方法４００は、自律システムに関連付けられたプレフィックスエントリをネットワーク機器を通じて自律システムから収集するステップ４０２で始まる。収集したプレフィックスエントリはネットワーク機器からオフラインで記憶される。プレフィックスが自律システムから収集したプレフィックスエントリの１つであるとき、ステップ４０４で、デジタルコンテンツのＩＰパケットに対して不透明ラベルが生成される。不透明ラベルは、自律システムに直接接続されたネットワーク機器の出口インターフェースに関連付けられている。不透明ラベルは、コンテンツ要求のプレフィックスおよび、プレフィックスエントリ内のプレフィックスに関連付けられた自律システムに基づいて生成される。不透明ラベルは、ネットワーク管理されたコンテンツ配信システムのホストサーバ上で生成される。
【００６５】
ステップ４０６において、ある時点で、特定のデジタルコンテンツのプレフィックスへの送信を求める旨のコンテンツ要求を受信できる。不透明ラベルがＩＰパケットに対して生成されたら、ステップ４０８で、ＩＰパケットは不透明ラベルに基づいてコンテンツ配信システムのネットワーク機器から転送されるが、不透明ラベルは、自律システムに直接つながるネットワーク機器の出口インターフェースに対応している。ネットワーク機器は、不透明ラベルと出口インターフェースとの間のマッピングを記憶する。
【００６６】
図５は、ネットワーク条件に応答する、サーバ管理されたルーティング機構を備えた、コンテンツ配信システム２０２などのネットワーク管理されたコンテンツ配信システムを操作する方法５００のフローチャートを示す。方法５００は、プレフィックスエントリをネットワーク機器を通じて自律システムから収集するステップ５０２で始まる。コンテンツ配信システムは、ステップ５０４で、送信ネットワークトラフィックなどのネットワークトラフィックを監視することによってネットワーク条件が満たされているか否かを判定する。ネットワークトラフィックの監視には、どれだけのトラフィックがネットワーク機
器の各出口ポートを通過しているかを判定することが含まれる。ネットワークトラフィックの監視には、どれだけのトラフィックがプレフィックスエントリの各プレフィックスに送信されるかを判定することも含まれる。ネットワーク条件は、所定のしきい値を超える自律システムの１つのネットワーク使用率であってもよい。
【００６７】
そして、ステップ５０６で、不透明ラベルはネットワーク条件に基づいてプレフィックスエントリの宛先プレフィックスに関連付けられる。不透明ラベルの宛先プレフィックスとの関連付けを変更することによって、第２自律システムに接続されたネットワーク機器の出口インターフェースに対応する不透明ラベルを宛先プレフィックスに関連付けることで、ネットワークトラフィックは第１自律システムから第２自律システムに移動される。そして、ステップ５０８で、宛先プレフィックスに向かうことになっているＩＰパケットは不透明ラベルを付けられる。そして、ステップ５１０で、ネットワーク機器は不透明ラベルに基づいてＩＰパケットを転送する。
【００６８】
ステップ５０４におけるネットワークトラフィックの監視には、ネットワーク機器に接続されたホストサーバから来るトラフィック・カテゴリを判定することが含まれる。そして、不透明ラベルは、そのトラフィック・カテゴリを有するホストサーバに特有の宛先プレフィックスに関連付けられる。そして、そのトラフィック・カテゴリを有するホストサーバからのネットワークトラフィックは、第２自律システムが第１自律システムより低いレイテンシを有する状態で、宛先プレフィックスに関連付けられた不透明ラベルを、第１自律システムに関連付けられた不透明ラベルから第２自律システムに関連付けられた不透明ラベルに変更することで移動される。
【００６９】
ここで図６を参照すると、本明細書に記載する任意の１つ以上の方法またはモジュールをマシーンに行わせる命令一式が実行されてもよいコンピュータシステム６００の例となっているマシーンの図式による表示が示されている。
【００７０】
図６の例では、コンピュータシステム６００は、プロセッサ、メモリ、不揮発性メモリ、およびインターフェース機器を備える。説明を簡素化するために、種々の一般的な構成要素（例えば、キャッシュメモリ）は省略している。コンピュータシステム６００は、図１〜図３Ｂの例に示された任意の構成要素（および本明細書に記載のその他の構成要素）を実装することができるハードウェア装置を示すことを意図したものである。コンピュータシステム６００は、任意の適用できる既知のまたは便利なタイプとすることができる。コンピュータシステム６００の構成要素は、バスを通じて、または、他の既知のまたは便利な装置を通じて互いに結合する。
【００７１】
本開示は、任意の適した物理的形式のコンピュータシステム６００を企図する。限定ではなく例として、コンピュータシステム６００は、組込みコンピュータシステム、システムオンチップ（ＳＯＣ）、（例えば、コンピュータオンモジュール（ＣＯＭ）またはシステムオンモジュール（ＳＯＭ）などの）シングルボードコンピュータシステム（ＳＢＣ）、デスクトップコンピュータシステム、ラップトップまたはノートブック型コンピュータシステム、双方向キオスク、メインフレーム、コンピュータシステム網、携帯電話機、携帯情報端末（ＰＤＡ）、サーバ、またはこれらのうちの２つ以上の組み合わせであってもよい。適切な場合には、コンピュータシステム６００は、１つ以上のコンピュータシステム６００を含んでもよい。すなわち、単体または分散型であっても、複数の場所に及んでいても、複数のマシーンにまたがっていても、１つ以上のネットワークにおいて１つ以上のクラウド・コンポーネントを備えたクラウドにあってもよい。適切な場合には、１つ以上のコンピュータシステム６００は、実質的な空間的または時間的制限なしに、本明細書に記載または図示する１つ以上の方法の１つ以上のステップを行ってもよい。限定ではなく一例として、１つ以上のコンピュータシステム６００は、リアルタイムまたはバッチモ
ードで、本明細書に記載または図示する１つ以上の方法の１つ以上のステップを行ってもよい。１つ以上のコンピュータシステム６００は、適切な場合には、異なる時間にまたは異なる場所で、本明細書に記載または図示する１つ以上の方法の１つ以上のステップを行ってもよい。
【００７２】
プロセッサは例えば、インテル・ペンティアム（登録商標）（Ｉｎｔｅｌ  Ｐｅｎｔｉｕｍ（登録商標））マイクロプロセッサまたはモトローラ・パワーＰＣ（Ｍｏｔｏｒｏｌａ  ｐｏｗｅｒＰＣ）マイクロプロセッサなどの従来のマイクロプロセッサであってもよい。関連技術の当業者であれば、「機械可読（記録）媒体」または「コンピュータ可読（記録）媒体」という用語にはプロセッサによってアクセス可能な任意の種類の装置が含まれることを認識するであろう。
【００７３】
メモリは、例えばバスによってプロセッサに結合されている。メモリは、限定ではなく一例として、ダイナミックＲＡＭ（ＤＲＡＭ）やスタティックＲＡＭ（ＳＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）を含むことができる。メモリは、ローカルメモリ、リモートメモリ、または分散メモリとすることができる。
【００７４】
バスはまた、プロセッサを不揮発性メモリとドライブユニットに結合している。不揮発性メモリは多くの場合、磁気フロッピー（登録商標）もしくはハードディスク、光磁気ディスク、光ディスク、例えばＣＤ−ＲＯＭ、ＥＰＲＯＭ、もしくはＥＥＰＲＯＭなどの読み出し専用メモリ（ＲＯＭ）、磁気もしくは光カード、または他の形態の大量データ用記憶装置である。このデータの一部は、コンピュータ６００でソフトウェアの実行中に、ダイレクトメモリアクセス処理によってメモリに書き込まれることが多い。不揮発性記憶装置は、ローカル記憶装置、リモート記憶装置、または分散型記憶装置とすることができる。適用可能なデータのすべてがメモリにおいて利用可能な状態でシステムが構築されるため、不揮発性メモリは任意である。典型的なコンピュータシステムは通常、少なくとも１台のプロセッサ、メモリ、およびメモリをプロセッサに結合する装置（例えば、バス）を含むものである。
【００７５】
ソフトウェアは一般に、不揮発性メモリおよびドライブユニット、または、不揮発性メモリもしくはドライブユニットに記憶される。実際は、大きなプログラムについては、メモリにプログラム全体を記憶することさえできないこともある。しかし、当然のことながら、ソフトウェアが動作するためには、必要であれば、処理に適したコンピュータ読み取り可能な場所に移され、説明のために本明細書ではその場所はメモリと称する。実行のためにソフトウェアをメモリに移動させた場合でも、プロセッサは、一般にハードウェアレジスタを利用して、ソフトウェアに関連付けられた値と理想的には実行を高速化させるために機能するローカルキャッシュを記憶する。本明細書で使用するように、ソフトウェアプログラムが「コンピュータ可読媒体に実装される」と称される場合、ソフトウェアプログラムは（不揮発性記憶装置からハードウェアレジスタまでの）任意の既知または便利な場所に記憶されると想定される。プログラムに関連付けられた少なくとも１つの値がプロセッサ可読レジスタに記憶されている場合、プロセッサは「プログラムを実行するよう構成されている」とみなされる。
【００７６】
バスはまた、プロセッサをネットワーク・インターフェース機器に結合している。インターフェースは、１つ以上のモデムまたはネットワーク・インターフェースを含むことができる。当然のことながら、モデムまたはネットワーク・インターフェースは、コンピュータシステム６００の一部であるとみなすことができる。インターフェースは、アナログモデム、ＩＳＤＮモデム、ケーブルモデム、トークンリング・インターフェース、衛星伝送インターフェース（例えば、「ｄｉｒｅｃｔ  ＰＣ」）、またはコンピュータシステムを他のコンピュータシステムに結合するためのその他のインターフェースを含むことがで
きる。インターフェースは１つ以上の入力および出力装置または入力もしくは出力装置を含むことができる。Ｉ／Ｏ装置は、限定ではなく一例として、キーボード、マウスまたは他のポインティングデバイス、ディスクドライブ、プリンタ、スキャナ、および表示装置を含む他の入力および出力装置または入力もしくは出力装置を含むことができる。表示装置は、限定ではなく一例として、陰極線管（ＣＲＴ：Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）、液晶ディスプレイ（ＬＣＤ）、または他の適用可能な既知のまたは便利な表示装置を含むことができる。簡単にするために、図６の例に示されていない任意の装置のコントローラはインターフェース内にあることが想定されている。
【００７７】
動作に際しては、コンピュータシステム６００は、ディスク・オペレーティング・システムなどのファイル管理システムを含むオペレーティング・システム・ソフトウェアによって制御できる。関連するファイル管理システム・ソフトウェアを有するオペレーティング・システム・ソフトウェアの一例は、ワシントン州レドモンドのマイクロソフト社（Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ）のＷｉｎｄｏｗｓ（登録商標）として知られるオペレーティング・システム・ファミリーとこれらに関連するファイル管理システムである。関連するファイル管理システム・ソフトウェアを有するオペレーティング・システム・ソフトウェアの別の例は、Ｌｉｎｕｘ（登録商標）オペレーティング・システムとそれに関連するファイル管理システムである。ファイル管理システムは一般に、不揮発性メモリおよびドライブユニット、または、不揮発性メモリもしくはドライブユニットに記憶され、オペレーティング・システムによって要求される種々の行為をプロセッサに実行させて、データを入出力し、ファイルを不揮発性メモリおよびドライブユニット、または、不揮発性メモリもしくはドライブユニットに保存することを含め、データをメモリに保存する。
【００７８】
詳細な説明の一部分は、コンピュータメモリ内のデータビットに対する操作のアルゴリズムおよび記号表現の観点から提示されてもよい。これらのアルゴリズム的記述および表現は、データ処理の技術分野における当業者が自身の研究内容を他の当業者に最も効果的に伝えるために使用する手段である。アルゴニズムはここでは一般的に、所望の結果に導く首尾一貫した一連の操作であると考えられる。操作は、物理量の物理的操作を必要とするものである。通常、必ずしもそうではないが、これらの量は、記憶、転送、合成、比較、および別の方法で操作可能な電気信号または磁気信号の形をとる。主として一般的な用法という理由で、これらの信号をビット、値、要素、記号、文字、項、数等と称することが時には便利であることがわかっている。
【００７９】
しかしながら、これらの用語および類似の用語はすべて、適切な物理量に関連付けられるものであり、これらの物理量に適用される便宜的なラベルにすぎないことを念頭に置いておくべきである。以下の記述から明らかなように、特に明記しない限り、例えば「処理する」または「計算する」または「算出する」または「判定する」または「表示する」または「生成する」等の用語を使用する記述は、本明細書全体を通じて、コンピュータシステムのレジスタおよびメモリ内で物理（電子）量として表されるデータを操作し、コンピュータシステムのメモリもしくはレジスタ、または他のそのような情報記憶装置、情報送信装置、もしくは情報表示装置内で物理量として同様に表される他のデータに変換するコンピュータシステムまたは類似の電子コンピューティング装置の動作および処理を意味することが理解される。
【００８０】
本明細書に提示するアルゴリズムおよび表示は、本質的に、どの特定のコンピュータまたは他の装置にも関連していない。本明細書の教示に応じたプログラムと共に種々の汎用システムを使用してもよく、一部の実施形態の方法を実行するために、より専門的な装置を構成することが便利であることがわかる場合もある。種々のこれらのシステムに必要な構造は以下の説明から明らかになるだろう。さらに、技法はどの特定のプログラミング言
語にも関連して記載されておらず、したがって、種々のプログラミング言語を使用して様々な実施形態を実施してもよい。
【００８１】
代替実施形態では、マシーンはスタンドアロン型装置として動作するが、他のマシーンに接続（例えばネットワーク化）されていてもよい。ネットワーク化した配置において、マシーンは、クライアント−サーバネットワーク環境ではサーバまたはクライアントマシンとして動作してもよく、ピアツーピア（または分散）ネットワーク環境ではピアマシンとして動作してもよい。
【００８２】
マシーンは、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ（ＰＣ）、タブレットＰＣ、ラップトップコンピュータ、セットトップボックス（ＳＴＢ）、携帯情報端末（ＰＤＡ）、携帯電話機、ｉＰｈｏｎｅ（登録商標）、Ｂｌａｃｋｂｅｒｒｙ（登録商標）、プロセッサ、電話機、ウェブ・アプライアンス、ネットワークルータ、スイッチもしくはブリッジ、または自身が取るべき動作を指定する（順次的またはそれ以外の）命令一式を実行できる任意のマシーンであってもよい。
【００８３】
機械可読媒体または機械可読記憶媒体は例示的実施形態において単一の媒体で示されているが、「機械可読媒体」および「機械可読記憶媒体」という用語は、単一の媒体または１式以上の命令を記憶する複数の媒体（例えば、集中もしくは分散データベースならびに関連するキャッシュおよびサーバ、あるいは、集中もしくは分散データベースまたは関連するキャッシュおよびサーバ）を含むと解釈すべきである。また、「機械可読媒体」および「機械可読記憶媒体」という用語は、マシーンによる実行に対する命令一式を記憶、符号化、または持ち運び可能で、ここに開示する技法および革新の１つ以上の方法またはモジュールをマシーンに実行させる任意の媒体を含むと解釈すべきである。
【００８４】
一般に、本開示の実施形態を実施するために実行されるルーチンは、オペレーティング・システムもしくは特定のアプリケーション、構成要素、プログラム、オブジェクト、モジュール、または「コンピュータ・プログラム」と称される一連の命令の一部として実装されてもよい。コンピュータ・プログラムは一般に、コンピュータ内の様々なメモリおよび記憶装置に様々な時に設定され、かつ、コンピュータ内の１つ以上の処理装置またはプロセッサによって読み込まれて実行されたとき、本開示の種々の態様を含む要素を実行するためにコンピュータに操作を実行させる１つ以上の命令からなる。
【００８５】
さらに、実施形態は、完全に機能するコンピュータおよびコンピュータシステムとの関連で記載したが、当業者であれば、種々の実施形態が種々の形態のプログラム・プロダクトとして流通でき、実際に流通させるのに使用する特定の種類のマシーンまたはコンピュータ可読媒体に関係なく本開示が等しく適用されることを理解するであろう。
【００８６】
機械可読記憶媒体、機械可読媒体、またはコンピュータ可読（記憶）媒体の更なる例には、数ある中で、揮発性および不揮発性記憶装置、フロッピーおよび他の取り外し可能ディスク、ハードディスクドライブ、光ディスク（例えば、コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多目的ディスク（ＤＶＤ）等）などの追記型の媒体と、デジタルおよびアナログの通信リンクなどの伝送型の媒体が含まれるがそれらに限定されない。
【００８７】
状況によっては、例えば２進数１から２進数０へのまたはその逆の状態の変化などの記憶装置の動作は、物理的変換などの変換を含んでもよい。特定の種類の記憶装置によれば、そのような物理的変換は、物品の異なる状態または物への変換を含んでもよい。例えば、限定ではなく、一部の種類の記憶装置については、状態の変化は、電荷の蓄積と保存または保存した電荷の解放を含んでもよい。同様に、他の記憶装置において、状態の変化は
、磁気配向における物理的変化もしくは変換、または、結晶から非結晶へまたはその逆などの分子構造における物理的変化もしくは変換を含んでもよい。上記は、記憶装置における２進数１から２進数０へのまたはその逆の状態の変化が、物理的変換などの変換を含んでもよいすべての例の完全なリストであることを意図していない。むしろ、上記は、説明的な例として意図されている。
【００８８】
記憶媒体は一般に不揮発性であってもよく、非一時的な装置からなっていてもよい。この文脈において、非一時的記憶媒体は、有形の装置を含んでもよく、これは、装置がその物理的状態を変化させることもあるが具体的な物理形状を有することを意味する。したがって、例えば、非一時的とは、この状態の変化にもかかわらず有形であり続ける装置のことを指す。
【００８９】
上記説明および図面は説明のためのものであり、開示した正確な形態に本発明を限定するものとして解釈すべきではない。関連技術の当業者であれば、上記開示に照らして多くの変形や変更が可能であることを理解できる。本開示を完全に理解できるように多数の具体的な詳細を記載したが、場合によっては、説明を曖昧にしないように周知のまたは従来の詳細は記載していない。
【００９０】
本明細書における「一実施形態」または「ある実施形態」への言及は、実施形態に関連して記載された特定の特徴、構造、または特性が本開示の少なくとも１つの実施形態に含まれることを意味する。「一実施形態において」という語句が本明細書の様々な箇所で出現するが、必ずしもすべてが同一の実施形態について言及しているわけではなく、他の実施形態と互いに排他的な別のまたは代替の実施形態について言及しているわけでもない。さらに、種々の特徴が記載されているが、それらは、一部の実施形態によって示され、その他の実施形態によって示されなくてもよい。同様に、様々な要件が記載されているが、それらは、一部の実施形態に対する要件であって、その他の実施形態に対する要件でなくてもよい。
【００９１】
本明細書に使用するように、「接続された」、「結合された」という用語またはそれらの変形は、システムのモジュールに適用する場合、２つ以上の要素間の直接的または間接的な接続または結合を意味し、要素間の接続の結合は、物理的、論理的、またはそれらの任意の組み合わせとすることができる。さらに、「本明細書において」、「上記の」、「以下の」という単語および同様の趣旨の単語は、本願に使用される場合、本願の特定の部分ではなく本願を全体として参照するものとする。文脈が許せば、上記の発明を実施するための形態において単数または複数を使用した単語の各々は、複数または単数を含んでもよい。２つ以上の項目のリストに関する「または」という単語は、以下の解釈をすべて網羅する。すなわち、リスト内の項目のいずれか、リスト内の項目のすべて、およびリスト内の項目の任意の組み合わせ。
【００９２】
当業者であれば、以下に示していない他の形態および方法で本発明を実施してもよいことを理解するであろう。第１の、第２の、上部および下部等などの関係語の使用は、もしあれば、ある実体または動作を他の実体または動作と識別するためにのみ使用され、そのような実体または動作間に必ずしもそのような実際の関係または順序を必要または意味していないことが理解される。
【００９３】
プロセスまたはブロックは任意の順序で提示されているが、代替実施形態は、異なる順序でステップを有するルーチンを実行してもよく、または、異なる順序でブロックを有するシステムを採用してもよい。一部のプロセスまたはブロックを削除、移動、追加、細分、置換、組み合わせ、および／または変更して別のまたはサブ組み合わせを提供してもよい。これらのプロセスまたはブロックの各々は、種々の異なる方法で実施されてもよい。
また、プロセスまたはブロックは、時には連続して実行されるように示されるが、代わりに同時に実行されてもよく、または、異なる時に実行されてもよい。さらに、本明細書において述べた特定の数字は単なる例である。別の実施は異なる値や範囲を採用してもよい。
【００９４】
本明細書に提供する開示の教示は、必ずしも上述したシステムに限らず、他のシステムにも適用できる。上述した種々の実施形態の要素および行為を組み合わせて更なる実施形態を提供することができる。
【００９５】
上述の任意の特許、出願、および他の参考文献は、添付の出願書類に記載されたものを含め、引用により本明細書に援用する。本開示の態様は、必要に応じて、上述した種々の文献のシステム、機能、および概念を採用するよう変更して本開示の更なる実施形態を提供することができる。
【００９６】
上記の発明を実施するための形態に照らして、これらの変更および他の変更を本開示に加えることができる。上記の説明は本開示の特定の実施形態を記載し、考えられる最良の形態を記載しているが、上記が本文でいかに詳細に説明されていても、本教示は多くの方法で行うことができる。システムの詳細は、その実装の詳細の点で相当異なってもよいが、依然として本明細書に開示する主題によって包含される。上述したように、本開示のある特徴または態様を記載する際に使用した特定の専門用語は、その専門用語が関連する本開示の任意の特定の特性、特徴、または態様に限定されるように本明細書で再定義されていることを意味するよう解釈されるべきではない。一般に、以下の特許請求の範囲で使用する用語は、上記の発明を実施するための形態の節でそのような用語を明示的に定義しない限り、本開示を本明細書に開示した特定の実施形態に限定するよう解釈されるべきではない。したがって、本開示の実際の範囲は、開示した実施形態だけでなく、特許請求の範囲の下で本開示を実行または実施するすべての同等の方法も包含する。
【００９７】
本開示のある態様は、ある請求項の形式で以下に提示されているが、本発明者らは、本開示の種々の態様を任意の数の請求項の形式で企図する。米国特許法１１２条第６段落に基づいて取り扱われることを意図した請求項はいずれも「〜のための手段」という単語で始まる。したがって、本出願人は、本願出願後に更なる請求項を追加して、本開示の他の態様のためにこのような追加の請求項形式を追求する権利を留保する。
【００９８】
本明細書で使用する用語は一般に、本開示の文脈内で、また、各用語が使用される具体的な文脈において、当該技術分野における通常の意味を有する。本開示を記載するのに使用するある特定の用語については、以上にまたは本明細書の他の箇所で記載し、本開示の説明に関して実務者に更なるガイダンスを提供する。便宜上、ある特定の用語は、例えば大文字使用、イタリック体、および／または引用符を使用して強調することがある。強調表示の使用は、用語の範囲および意味に影響を及ぼすことはなく、すなわち、用語の範囲および意味は、強調されていようがいまいが、同じ文脈では同じである。当然のことながら、同じ要素は複数の方法で記載できる。
【００９９】
したがって、代替用語や同義語を本明細書で述べた任意の１つ以上の用語に使用してもよく、用語が本明細書において詳しく述べられているか論じられているかどうかに特別な重要性が置かれるものではない。ある特定の用語に対しては同義語を提供している。１つ以上の同義語を列挙することは他の同義語の使用を排除するものではない。本明細書に述べる任意の用語の例を含め、本明細書の任意の箇所での例の使用は一例に過ぎず、本開示または任意の例示する用語の範囲および意味を更に限定することを意図していない。同様に、本開示は、本明細書で示す種々の実施形態に限定されない。
【０１００】
本開示の範囲を更に限定することを意図せず、本開示の実施形態に係る機器、装置、方法、およびそれらに関係のある結果の例を以下に示す。読者の便宜のために、例中、タイトルまたはサブタイトルを使用することがあるが、これらは決して本開示の範囲を限定するものではないことに留意されたい。特に定義しない限り、本明細書に使用するすべての技術的および科学的用語は、本開示が関連する当事者が一般的に理解する意味と同じ意味を有する。抵触する場合、定義を含めて本明細書が優先する。
【０１０１】
この説明の一部分は、本発明の実施形態を、情報に対する操作のアルゴリズムおよび記号表現の観点から記載している。これらのアルゴリズム的記述および表現は、データ処理の技術分野における当業者が自身の研究内容を他の当業者に効果的に伝えるために一般的に使用するものである。これらの操作は、機能的、計算的、または論理的に記載されているが、コンピュータ・プログラムまたは同等の電気回路、マイクロコード等によって実施されると理解される。さらに、一般性を失うことなく、操作のこれらの仕組みをモジュールと称することが時には便利であることがわかっている。記載する操作およびそれらに関連するモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組み合わせにおいて具現化してもよい。
【０１０２】
本明細書に記載するステップ、操作、またはプロセスはいずれも、１つ以上のハードウェアまたはソフトウェアモジュールを使用して、単独でまたは他の装置と組み合わせて実行または実施してもよい。一実施形態において、ソフトウェアモジュールは、記載したステップ、操作、またはプロセスのいずれかまたはすべてを実行するためにコンピュータ・プロセッサによって実行可能なコンピュータ・プログラム・コードを含むコンピュータ可読媒体を備えたコンピュータ・プログラム・プロダクトを使用して実施される。
【０１０３】
本発明の実施形態は、本明細書に記載の操作を実行するための装置に関連していてもよい。この装置は必要とされる目的のために特別構成しかつコンピュータに記憶されたコンピュータ・プログラムによって選択的に起動もしくは再構成される汎用計算装置を含んでもよく、または、この装置は必要とされる目的のために特別構成するかもしくはコンピュータに記憶されたコンピュータ・プログラムによって選択的に起動もしくは再構成される汎用計算装置を含んでもよい。そのようなコンピュータ・プログラムは、コンピュータ・システム・バスに結合されていてもよい非一時的かつ有形のコンピュータ可読記憶媒体または電子的命令を記憶するのに適した任意の種類の媒体に記憶されてもよい。さらに、本明細書において言及する計算システムはいずれも、単一のプロセッサを含んでもよく、または、計算能力を向上させるために複数プロセッサの設計を採用したアーキテクチャとしてもよい。
【０１０４】
また、本発明の実施形態は、本明細書に記載する計算プロセスによって製造される製品に関連していてもよい。そのような製品は、計算プロセスから生じる情報を含んでもよく、その情報は非一時的かつ有形のコンピュータ可読記憶媒体に記憶され、本明細書に記載するコンピュータ・プログラム・プロダクトまたは他のデータの組み合わせの任意の実施形態を含んでもよい。
【０１０５】
本明細書に使用する用語は、主に読み易さと教授の目的で選択されたものであり、発明の主題を詳述または制限するために選択されたものでなくてもよい。したがって、本発明の範囲は、この詳細な説明によってではなく、むしろ本明細書に基づく出願に由来する任意の請求項によって限定されることを意図している。したがって、本発明の実施形態の開示は、以下の特許請求の範囲に記載する本発明の範囲を例示するものであって、限定するものではないことを意図している。
【図１】
2016517240.tif 000003
【図２】
2016517240.tif 000004
【図３Ａ】
2016517240.tif 000005
【図３Ｂ】
2016517240.tif 000006
【図４】
2016517240.tif 000007
【図５】
2016517240.tif 000008
【図６】
2016517240.tif 000009
【国際調査報告】
2016517240.tif 000010
2016517240.tif 000011