JP6148397B2 - サーバ管理されたルーティングのシステムおよび方法 - Google Patents

サーバ管理されたルーティングのシステムおよび方法 Download PDF

Info

Publication number
JP6148397B2
JP6148397B2 JP2016508959A JP2016508959A JP6148397B2 JP 6148397 B2 JP6148397 B2 JP 6148397B2 JP 2016508959 A JP2016508959 A JP 2016508959A JP 2016508959 A JP2016508959 A JP 2016508959A JP 6148397 B2 JP6148397 B2 JP 6148397B2
Authority
JP
Japan
Prior art keywords
prefix
traffic
network
autonomous system
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2016508959A
Other languages
English (en)
Other versions
JP2016517240A (ja
JP2016517240A5 (ja
Inventor
ショー、スティーブン
グオ、リサ
Original Assignee
フェイスブック,インク.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by フェイスブック,インク. filed Critical フェイスブック,インク.
Publication of JP2016517240A publication Critical patent/JP2016517240A/ja
Publication of JP2016517240A5 publication Critical patent/JP2016517240A5/ja
Application granted granted Critical
Publication of JP6148397B2 publication Critical patent/JP6148397B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明は概してコンテンツ配信システムに関し、詳細にはコンテンツ配信システムのネットワークルーティング機構に関する。
今日のインターネットサービスは、ネットワークエッジにおけるコンテンツ配信ネットワーク(CDN:Content Delivery Network)に関して、ネットワークの観点からますます多くのトラフィックソースを展開している。インターネットのポイント・オブ・プレゼンス(PoP:Point of Presence)におけるローカル・ネットワーク・ファブリックは、送信トラフィックを容易にするために高価なネットワーク装置/機器を必要とする。ボーダ・ゲートウェイ・プロトコル(BGP:Border Gateway Protocol)などのネットワークプロトコルは、これらのコンテンツ配信サーバを種々の自律システム(AS:Autonomous System)に接続する。プレフィックスまたは他の到達可能情報がAS間で交換され、コアとなるルーティングを決定する。ベストパスなどの単純な経路選択アルゴリズムを使用するネットワークプロトコルは、一部のASが帯域幅に負荷をかけ過ぎている高トラフィックシナリオに適応する知能を持ち合わせていない。
本明細書に開示する技法は、ルーティングの決定をサービスネットワークのエッジにおけるルータなどのネットワーク機器/装置からサービスネットワークのホストサーバへ移すことを可能にする。開示する技法は、ネットワーク機器がコンテンツ配信システムからIPパケットを転送する方法を変更する。従来のルーティング方式のもとでは、ネットワーク機器は、設定可能なプリファレンスに基づいて独立して転送決定をする。ここで、コンテンツ配信システムは、インターネットプロトコル(IP)パケットがネットワーク機器における経路計算に基づいてではなくラベルに基づいて転送されるようにルーティング方式を変更することができる。宛先IPアドレス/プレフィックスに基づく経路計算は、ネットワーク・ファブリックのホストサーバでなされる。ルーティングの決定がホストサーバに移されるので、コンテンツ配信システムは、ネットワーク機器の機能要件が低減されることから、ネットワーク機器の貴重なコストを節約する。
また、本明細書に開示する技法は、設定可能な経路のプリファレンスを有することに加え、条件付きルーティング機能を備えたコンテンツ配信システムを可能にする。条件付きルーティング・ポリシーはネットワーク使用率に基づくことができる。ネットワーク条件はリアルタイムで監視することができる。例えば、コンテンツ配信システムは、ホストサーバのラベルポリシーを変更することでトラフィックを容量80%のリンクから第2のリ
ンクに移動させる。ネットワーク使用率に基づいてトラフィックを1つのリンクから他のリンクへ移動させる機能がなければ、コンテンツ配信ネットワーク・ファブリック全体は、最低容量/帯域幅リンクの最小公分母によって制限されるであろう。開示するネットワーク使用率データに基づく条件は、コンテンツ配信システムが、応答が早くかつ細かいレベルでネットワークトラフィックレベルを監視、管理できるようにする。
一部の実施形態は、上述したことに加えまたは代わりに、他の態様、要素、特徴、および工程を備える。これらの可能な追加や置換は、明細書の残りの部分を通して説明される。
本発明に係る実施形態は、方法、記憶媒体およびシステムを対象にした添付の特許請求の範囲において特に開示される。請求の範囲の1つのカテゴリ、例えば方法、で述べた任意の特徴については、請求の範囲の他のカテゴリ、例えばシステム、においても主張できる。添付の特許請求の範囲における従属または参照は形式的な理由によってのみ選ばれる。しかしながら、任意の既出の請求項(特に多項従属)を意図的に参照することから生じる任意の主題も請求することができる。したがって、請求項およびそれらの特徴の任意の組み合わせが開示され、添付の特許請求の範囲において選ばれた従属性に関係なく請求することができる。
本発明に係る一実施形態において、方法は、
自律システムからプレフィックスエントリを収集する、収集工程と、
特定のデジタルコンテンツのプレフィックスへの送信を求めるコンテンツ要求を受信する工程と、
前記自律システムから収集した前記プレフィックスエントリに前記プレフィックスが挙げられている場合、ホストサーバが、前記デジタルコンテンツのインターネットプロトコル(IP)パケットに対して前記自律システムに基づいてラベルを生成する工程と、
前記IPパケットをネットワーク機器の出口インターフェースから転送する工程であって、前記出口インターフェースは、前記ラベルに対応している、転送工程と、を含む。
記ラベルは、前記自律システムに直接的に接続された前記ネットワーク機器の前記出口インターフェースに対応している。
本発明に係る一実施形態において、方法は、前記プレフィックスエントリを前記ネットワーク機器からオフラインで記憶することをさらに含む。
前記ネットワーク機器は、前記ラベルと前記出口インターフェースとの間のマッピングを記憶する。
前記収集工程は、前記ネットワーク機器に対してアクセス可能に構成されている経路収集サービスを通じて前記プレフィックスエントリを収集することを含む。
前記収集工程は、前記自律システムを前記プレフィックスに到達するためのデフォルト経路として示す完全なインターネット・ルーティング・テーブルを収集することを含む。
同様に特許を請求する本発明の別の実施形態において、方法は、
ネットワーク機器を通じてプレフィックスエントリを収集する工程と、
送信ネットワークトラフィックを監視することによってネットワーク条件が満たされているか否かを判定する工程と、
前記ネットワーク条件に基づいてラベルを前記プレフィックスエントリの宛先プレフィックスに関連付ける、関連付け工程と、
前記宛先プレフィックスに向かうことになっているインターネットプロトコル(IP)パケットに前記ラベルを付ける工程と、
記ラベルに基づいて前記ネットワーク機器にある前記IPパケットを転送する工程を
含む。
送信ネットワークトラフィックの前記監視は、
ホストサーバ上のトラフィック・サンプリング・サービスを提供して、前記宛先プレフィックスからのトラフィックをサンプリングする工程と、
前記プレフィックスエントリとサンプリングされた前記トラフィックとを対にして、前記ホストサーバから前記宛先プレフィックスにどれだけのデータが送信されたかを判定する工程とを含む。
前記関連付け工程は、
前記宛先プレフィックスにどれだけのデータが送信されるかに基づいて第1自律システムを通るトラフィックの流れを担う前記宛先プレフィックスを選択する工程と、
前記宛先プレフィックスに到達でき前記第1自律システムより低いレイテンシを有する第2自律システムに対応する前記ラベルを選択する工程とを含む。
前記関連付け工程は、前記ネットワーク機器に接続されているホストサーバの全部ではなく一部にプログラムされ、該ホストサーバは前記宛先プレフィックスにトラフィックを提供する。
送信ネットワークトラフィックの前記監視は、第1自律システムの第1帯域幅使用割合と第2自律システムの第2帯域幅使用割合とを前記ネットワーク機器から推定する工程を含み、前記ネットワーク条件は、前記第1帯域幅使用割合が所定のしきい値を超えるか否かである。
前記関連付け工程は、前記第2帯域幅使用割合が前記第1帯域幅使用割合より低く、かつ、前記第2自律システムが前記トラフィックを引き受けるのに利用できる帯域幅を有するとき、前記第1自律システムから前記第2自律システムにトラフィックを移動させる工程を含む。
前記関連付け工程は、前記宛先プレフィックスに関連付ける新規なラベルを選択することによって前記第1自律システムから前記第2自律システムにトラフィックを移動させる工程を含み、前記新規なラベルは、前記第2自律システムに接続されている前記ネットワーク機器の出口インターフェースに対応している。
送信ネットワークトラフィックの前記監視は、前記ネットワーク機器に接続されているホストサーバから届くトラフィック・カテゴリを判定する工程を含み、
前記関連付け工程は、
記ラベルを前記ホストサーバに特有の前記宛先プレフィックスに関連付ける工程と、前記トラフィック・カテゴリに基づいて、第1自律システムから第2自律システムにトラフィックを移動させる工程であって、前記第2自律システムは、前記第1自律システムより低いレイテンシを有する、工程とを含む。
本発明の一実施形態において、ネットワーク・ファブリック・システムは、
1つのネットワーク・ファブリックと1つ以上の隣接する自律システムとの間を相互接続し、前記1つ以上の隣接する自律システムに接続されている出口ポートを有するネットワーク機器と、
前記ネットワーク機器に結合されているホストサーバと、
サービスモジュールを記憶している非一時的メモリと、
前記サービスモジュールを実行する1つ以上のプロセッサであって、
前記ネットワーク機器に結合され、プレフィックスエントリを収集するよう構成され
ている経路収集モジュールであって、前記プレフィックスエントリの各々は、前記ネットワーク機器の出口ポートを通じて接続された自律システムに関連付けられている、経路収集モジュールと、
ベルを前記プレフィックスエントリにおいて識別されているプレフィックスに関連付けるよう構成されているトラフィック・エンジニアリング・モジュールであって、前記ラベルは、前記出口ポートに関連付けられている、トラフィック・エンジニアリング・モジュールとを含む、1つ以上のプロセッサとを備え、
前記ホストサーバは前記ラベルに関連付けられている前記プレフィックスからのコンテンツ要求に基づいて前記ラベルを送信IPパケットに割り当て、
前記ネットワーク機器は前記送信IPパケットを前記ラベルに関連付けられている前記出口ポートを通じて転送する。
前記トラフィック・エンジニアリング・モジュールは、前記ネットワーク・ファブリックにおけるネットワーク条件の成立に基づいて、前記プレフィックスに関連付けられている前記ラベルを変更するよう構成されている。
本発明に係る一実施形態において、システムはプレフィックス記憶装置をさらに備え、前記経路収集モジュールは、前記プレフィックスエントリを前記プレフィックス記憶装置に記憶しており、前記プレフィックスエントリは、ローカルの完全なインターネット・ルーティング・テーブルを含む。
前記サービスモジュールは、トラフィック・サンプリング・モジュールを含み、前記トラフィック・サンプリング・モジュールは、前記ホストサーバに結合されており、前記プレフィックスエントリに送信した前記ホストサーバからの送信トラフィックをサンプリングするよう構成されている。
前記サービスモジュールは、データ集約モジュールを含み、前記データ集約モジュールは、前記トラフィック・サンプリング・モジュールに結合されており、前記プレフィックスエントリの各プレフィックスとサンプリングされたトラフィックとを対にして、どれだけのデータが各プレフィックスに送信されるかを判定し、ネットワーク条件が満たされているか否かを判定するよう構成されており、
前記トラフィック・エンジニアリング・モジュールは、前記ネットワーク条件が満たされているとき、異なるラベルを前記プレフィックスに関連付けるよう構成されている。
前記サービスモジュールは、前記隣接する自律システムの各々にどれだけのデータが送信されるかを判定するよう構成されているネットワーク・モニタ・モジュールを含む。ここでは、前記トラフィック・エンジニアリング・モジュールは、前記隣接する自律システムの各々にどれだけのデータが送信されるかに基づいて前記ラベルを選択するよう構成されている。
本発明の別の実施形態において、1つ以上の非一時的コンピュータ可読記憶媒体は、本発明または任意の上記実施形態に係る方法を行うために実行されるとき動作可能なソフトウェアを具現化する。
同様に特許請求される本発明の別の実施形態において、システムは、1つ以上のプロセッサと、前記プロセッサに結合されて、前記プロセッサにより実行可能な命令を含むメモリとから成り、前記プロセッサは、本発明または任意の上記実施形態に係る方法を行うために前記命令を実行するとき動作可能である。
サーバ管理されたルーティング機構を備えたコンテンツ配信システムを操作するためのシステム環境の制御フローの例。 サーバ管理されたルーティング機構を備えたコンテンツ配信システムを操作するためのシステム環境の制御フローの別の例。 コンテンツ配信システムがクライアントAを後退させずにクライアントBに対するトラフィックをどのように操作できるかの例。 コンテンツ配信システムがトラフィック分類に基づいてトラフィックをどのように操作できるかの例。 サーバ管理されたルーティング機構を備えたコンテンツ配信システムを操作する方法のフローチャート。 ネットワーク条件に応答する、サーバ管理されたルーティング機構を備えたコンテンツ配信システムを操作する方法のフローチャート。 本明細書に記載する任意の1つ以上の方法またはモジュールをマシーンに行わせる命令一式が実行されるコンピュータシステムの例となっているマシーンの図式による表示。
図は、説明のためだけに種々の実施形態を示す。当業者は以下の記述から、本明細書に図示する構造および方法の代替実施形態は本明細書に記載する原理から逸脱することなく採用してもよいことを容易に認識するであろう。
図1は、サーバ管理されたルーティング機構を備えたコンテンツ配信システム102の例を操作するためのシステム環境100の制御フローを示す。コンテンツ配信システム102はインターネットのポイント・オブ・プレゼンス(PoP)の一部であってもよい。コンテンツ配信システム102は、ネットワーク・ノードが1つ以上のネットワーク機器106を通じて相互にかつ外部システムに接続するネットワーク・ファブリック104から構成されている。ネットワーク・ノードの各々はホストサーバ108とすることができる。ホストサーバ108はコンピュータサーバである。コンピュータサーバは、図6に表すようなコンピュータシステムとすることができる。ネットワーク機器106は、コンピュータネットワークにおいてデータを仲介するコンピュータネットワーク装置である。例えば、ネットワーク機器106には、ルータ、ゲートウェイ、ネットワークブリッジ、スイッチ、ハブ、リピータ、プロキシ、ネットワーク・インターフェース・コントローラ、またはそれらの任意の組み合わせが含まれる。
ホストサーバ108は、コンテンツ・サービス・アプリケーション114を記憶するための非一時的メモリと、コンテンツ・サービス・アプリケーション114を実行するためのプロセッサとを備える。コンテンツ配信システム102の外部にあるクライアント装置116は、デジタルコンテンツ要求をコンテンツ配信システム102に送信することができる。コンテンツがホストサーバ108によってアクセスされる場合、ホストサーバ108上のコンテンツ・サービス・アプリケーション114はデジタルコンテンツをホストサーバ108からクライアント装置116に転送する。デジタルコンテンツは、1つ以上の自律システム120を含むインターネット・サービス・プロバイダ118をIPパケットとして移動する。自律システム120は、共通の明確に規定されたルーティング・ポリシーをインターネットに提示する少なくとも1つのネットワークオペレータの管理下にある接続されたIPルーティングプレフィックスの集合である。クライアント装置116はインターネットにアクセス可能な電子装置である。例えば、クライアント装置116は、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、テレビ、セットトップボックス、ビデオゲーム機、携帯電話機、またはそれらの任意の組み合わせであってもよい。
コンテンツ配信システム102は、ラベルを生成して、ネットワーク機器106に通知し、特定の出口ポート124を通じてIPパケットを転送する1つ以上の方法を含むことができる。1つ以上の方法は、本明細書に記載するモジュールとストアによって実装される。モジュールは、ハードウェア構成要素、ソフトウェアモジュール、またはそれらの任意の組み合わせとして実装される。例えば、記載するモジュールは、図6に示すマシーン上のプロセッサまたはコントローラによって実行できる非一時的メモリ上の命令として実装されるソフトウェアモジュールとすることができる。ストアは、1つ以上の記憶装置上のフォーマットされた記憶空間である。ストアは、各モジュールを実行するプロセッサまたはコントローラによってアクセス可能である。
各モジュールは、個々に、他のモジュールから独立して動作することができる。モジュールの一部または全部は同じホストサーバ上で実行される。モジュールの一部または全部は1つのモジュールとして組み合わせることができる。単一のモジュールはサブモジュールに分割することもでき、各サブモジュールは、単一モジュールの1つまたは複数の別個の方法ステップを実行する。モジュールはメモリ空間へのアクセスを共有することができる。1つのモジュールは、別のモジュールによってアクセスされるか変換されるデータにアクセスすることができる。1つのモジュールからアクセスまたは変更されたデータを別のモジュールでアクセスできるようにする物理接続または仮想接続を直接的または間接的に共有する場合、モジュールは相互に「結合されている」とみなすことができる。
コンテンツ配信システム102は、種々の用途のために、追加のモジュール、より少ないモジュール、または異なるモジュールを備えることができる。ネットワーク・インターフェース、セキュリティ機能、ロードバランサ、フェイルオーバーサーバ、管理およびネットワークオペレーションコンソール等の従来の構成要素は、システムの詳細を不明瞭にしないよう、図示されていない。1つまたは複数のモジュールは、コンテンツを提供するホストサーバの1つ、または1つまたは複数のモジュールの機能に専用の1つ以上のホストサーバ上で動作する。
コンテンツ配信システム102は経路収集サービスモジュール126を含む。経路収集サービスモジュール126は、BGP情報などの経路情報をネットワーク機器106からまたはネットワーク機器106を通じて集約し、プレフィックス・ストア128に経路情報を記憶する。各自律システム120は、自律システム120を通じて到達できるプレフィックスエントリを広告する。経路情報には、プレフィックスをネットワーク機器106に隣接する各自律システム120に関連付けるプレフィックステーブルが含まれる。ネットワーク・プレフィックスは、システム一式のIP位置を示すインターネットアドレスである。ネットワーク・プレフィックスは、IPアドレスでサブネットマスクを論理的にAND演算することで選択できるIPアドレスの一部とすることができる。そして今度は、各自律システム120がネットワーク機器106の特定の出口ポート124に関連付けられる。プレフィックス・ストア128はオフラインにしておくことができる。プレフィックス・ストア128はリアルタイムで更新される。
経路収集サービスモジュール126はBGPスピーカとして実装される。一例では、BGPセッションはネットワーク機器106上に存在することができる。ネットワーク機器106は、伝送制御プロトコル(TCP:Transmission Control Protocol)ポート179から供給されたものと共に、IPv6近隣探索などのオフラインサーバにある一定のパケットを送出できる。それにより、経路収集サービスモジュール126は、ネットワーク機器106に隣接する自律システム120間でBGPスピーカとして機能することができる。経路収集サービスモジュール126は、自律システム120の間のネットワーク機器106に対してアクセス可能とすることができる。
経路収集サービスモジュール126は、コンテンツ配信システム102が、インターネット上で学習したすべてのプレフィックスを取り込んでネットワーク機器106からオフラインでプレフィックスエントリを記憶できるようにする。記憶されたプレフィックスエントリは、複数の完全なインターネットルートテーブルとすることができ、これらのテーブルは、コンテンツ配信システム102のトラフィック・エンジニアリング・サービスモジュール130によってパス決定のために使用することができる。
トラフィック・エンジニアリング・サービスモジュール130は、特定のプレフィックスに経路を生成するための、コンテンツ配信システム102のモジュールである。トラフィック・エンジニアリング・サービスモジュール130は、プレフィックス・ストア128から各プレフィックスのデフォルト出口ポートを判定することができる。各出口ポートは対応するラベルを有する。トラフィック・エンジニアリング・サービスモジュール130は、各プレフィックスのデフォルト出口ポートを変更するためにシステム管理者にインターフェースを提供することができる。外部の介入なしで、トラフィック・エンジニアリング・サービスモジュール130は、ネットワーク・ファブリック104(例えば、自律システム120)のピアから学習した経路のすべてをネットワーク・ファブリック104(例えば、PoP)内のホストサーバ108にプログラムすることができる。トラフィック・エンジニアリング・サービスモジュール130がどの出口ポートを各プレフィックスに関連付けるかを決定すると、トラフィック・エンジニアリング・サービスモジュール130は、その情報を経路プログラムモジュール132を通じてホストサーバ108に更新する。
経路プログラムモジュール132は、ネットワーク・ファブリック104内のホストサーバ108に経路のプログラミングを提供するための、コンテンツ配信システム102のモジュールである。経路は、潜在的な宛先プレフィックスに関連付けられたラベルの形をとっている。経路プログラムモジュール132は、ネットワーク・ファブリック104上のホストサーバ108の1つで動作できるか、トラフィックを提供する各ホストサーバ108の一部とすることができる。ホストサーバ108は、特定の宛先プレフィックスに関連付けられたラベルを、ホストサーバ108から配信されるデジタルコンテンツのIPパケットに割り当てる命令を経路プログラムモジュール132から受信する。IPパケットは、どの特定の出口ポート124にIPパケットを転送するかをネットワーク機器106に指示する、ホストサーバ108によって割り当てられたラベルを有する。
ネットワーク機器106は、自身の3値連想メモリ(TCAM:Ternary Content Addressable Memory)などのメモリにラベルの変換テーブルを記憶する。各ラベルは、ネットワーク機器106の出口ポート124に対応する。潜在的な宛先プレフィックスとラベルとの間の関連を判定する際に変換テーブルのコピーもトラフィック・エンジニアリング・サービスモジュール130によってアクセス可能であってよい。
本明細書に開示するコンテンツ配信システム102は、ルーティングの決定をホストサーバに移すことができる。ネットワーク機器の機能要件が低減されることから、コンテンツ配信システム102はネットワーク機器の貴重なコストを節約する。従来のネットワーク機器は完全なインターネット・ルーティング・テーブルを保持しなければならない。しかし、ルーティングの決定がホストサーバに移されるので、コンテンツ配信システム102のネットワーク機器106であれば、完全なインターネット・ルーティング・テーブルを保持して使用するための追加のメモリと処理能力を必要としない。ネットワーク機器106は、ラベルに基づいてIPパケットを転送することのみを求められる。コンテンツ配信システム102は、ネットワーク・ファブリック104を構築する際に資本的支出(CAPEX:Capital Expenditure)の節約を可能にする。ネットワー
ク機器106は、スイッチ、総称ルーティングカプセル化(GRE:Generic Routing Encapsulation)トンネルのベース、パケット・オーバーSONET(POS:Packet over Synchronous Optical
Networking)のベースに簡素化することができる。
図2は、サーバ管理されたルーティング機構を備えたコンテンツ配信システム202の別の例を操作するためのシステム環境200の制御フローを示す。コンテンツ配信システム202は図1のコンテンツ配信システム102を含んでもよい。コンテンツ配信システム202はインターネットのポイント・オブ・プレゼンス(PoP)の一部であってもよい。コンテンツ配信システム202は、ネットワーク・ノードが1つ以上のネットワーク機器206を通じて相互にかつ外部システムと接続するネットワーク・ファブリック204から構成されている。ネットワーク・ファブリック204は図1のネットワーク・ファブリック104とすることができる。ネットワーク機器206は図1のネットワーク機器106とすることができる。ネットワーク・ノードの各々はホストサーバ208とすることができる。ホストサーバ208は、図1のホストサーバ108などのコンピュータサーバである。コンピュータサーバは、図6に表すようなコンピュータとすることができる。
ホストサーバ108と同様に、ホストサーバ208は、コンテンツ・サービス・アプリケーション114を記憶するための非一時的メモリと、コンテンツ・サービス・アプリケーション114を実行するためのプロセッサとを備える。コンテンツ配信システム202の外部にあるクライアント装置116は、デジタルコンテンツ要求をコンテンツ配信システム202に送信することができる。コンテンツがホストサーバ208によってアクセスされる場合、ホストサーバ208上のコンテンツ・サービス・アプリケーション114はデジタルコンテンツをクライアント装置116に転送する。デジタルコンテンツは、1つ以上の自律システム120を含むインターネット・サービス・プロバイダ118を通ってIPパケットとして移動する。
コンテンツ配信システム202は、ネットワーク条件に基づいてラベルを生成して、ネットワーク機器206に通知し、IPパケットを特定の出口ポート224を通じて転送する1つ以上の方法を含むことができる。1つ以上の方法は、本明細書に記載するモジュールとストアによって実装される。モジュールは、ハードウェア構成要素、ソフトウェアモジュール、またはそれらの任意の組み合わせとして実装される。例えば、記載するモジュールは、図6に示すマシーン上のプロセッサまたはコントローラによって実行できる非一時的メモリ上の命令として実装されるソフトウェアモジュールとすることができる。ストアは、1つ以上の記憶装置上のフォーマットされた記憶空間である。ストアは、各モジュールを実行するプロセッサまたはコントローラによってアクセス可能であってもよい。
各モジュールは、個々に、他のモジュールから独立して動作することができる。モジュールの一部または全部は同じホストサーバで実行される。モジュールの一部または全部は1つのモジュールとして組み合わせることができる。単一のモジュールはサブモジュールに分割することもでき、各サブモジュールは、単一モジュールの1つまたは複数の別個の方法ステップを実行する。モジュールはメモリ空間へのアクセスを共有することができる。1つのモジュールは別のモジュールによってアクセスされるか変換されるデータにアクセスすることができる。1つのモジュールからアクセスまたは変更されたデータを別のモジュールでアクセスできるようにする物理接続または仮想接続を直接的または間接的に共有する場合、モジュールは相互に「結合されている」とみなすことができる。
コンテンツ配信システム202は、種々の用途のために、追加のモジュール、より少ないモジュール、または異なるモジュールを備えることができる。ネットワーク・インターフェース、セキュリティ機能、ロードバランサ、フェイルオーバーサーバ、管理およびネ
ットワークオペレーションコンソール等の従来の構成要素は、システムの詳細を不明瞭にしないよう、図示されていない。1つまたは複数のモジュールは、コンテンツを提供するホストサーバの1つ、または1つまたは複数のモジュールの機能に専用の1つ以上のホストサーバで動作できる。
コンテンツ配信システム202は、図1に示すような経路収集サービスモジュール126とプレフィックス・ストア128とを備える。また、コンテンツ配信システム202はトラフィック・エンジニアリング・サービスモジュール230を備える。トラフィック・エンジニアリング・サービスモジュール230は、ネットワーク条件に基づいて特定のプレフィックスへのIPパケットの経路を変更するための、コンテンツ配信システム102のモジュールである。ネットワーク条件は、トラフィック・エンジニアリング・サービスモジュール230に記憶することができ、ネットワーク・ファブリック204のホストサーバ208に対して送信IPパケットをどこへ転送するかの最終決定を下すビジネスロジックを包含する。
トラフィック・エンジニアリング・サービスモジュール230は、まずプレフィックス・ストア128から各プレフィックスのデフォルト出口ポートを判定することができる。トラフィック・エンジニアリング・サービスモジュール230は、ネットワーク・ファブリック204(例えば、自律システム120)のピアから学習した経路のすべてを図1の経路プログラムモジュール123などの経路プログラムモジュール232を通じてプレフィックス・ストア128からネットワーク・ファブリック204(例えば、PoP)内のホストサーバ208にプログラムすることができる。
コンテンツ配信システム202は、トラフィック・サンプリング・サービスモジュール234をさらに備える。トラフィック・サンプリング・サービスモジュール234は、各ホストサーバ208から送信されたIPパケットをサンプリングする。IPソースアドレス、ポート番号、次のIPアドレス等を含め、送信IPパケットからの情報が取り込まれる。トラフィック・サンプリング・サービスモジュール234が送信IPパケットの情報を収集する時間と頻度およびそのIPパケットのサイズに基づいて、トラフィック・サンプリング・サービスモジュール234はビット毎秒をネットワーク使用率ストア236に記憶される帯域幅使用率に正規化できる。トラフィック・サンプリング・サービスモジュール234はホストサーバのサンプリング速度を変更する柔軟性を有する。トラフィック・サンプリング・サービスモジュール234がネットワーク使用率またはトラフィック傾向を判定しているとき、トラフィック・サンプリング・サービスモジュール234はさらに低いサンプリング速度を有することができる。トラフィック・サンプリング・サービスモジュール234がネットワーク問題をデバッグするために使用されている場合、トラフィック・サンプリング・サービスモジュール234は、さらなる可視性およびより正確なデータを得るために、さらに速いサンプリング速度でサンプリングすることができる。
あるいは、トラフィック・サンプリング・サービスモジュール234は、ネットワーク・ファブリック204に出入りするIPトラフィックを監視するために、ネットワーク上でNetFlow(商標)を実行することができる。トラフィックを監視またはサンプリングするために、ネットワークとホスト装置を監視するための技術であるsFlowなどの他の技術を利用することができる。トラフィック・サンプリング・サービスモジュール234は多数のトラフィック・サンプリング・サービスおよびトラフィック監視サービスを実行して最終的な帯域幅使用率データを正規化できる。帯域幅使用率データはサンプリングされたIPパケットの5組(5タプル)で体系化することができる。5組は、ソースIPアドレス、ソースポート番号、宛先IPアドレス、宛先ポート番号、およびTCPなどのプロトコルの種類を特定する。
トラフィック・サンプリング・サービスモジュール234は送信IPパケットを監視するだけでなく、ネットワーク・ファブリック204内のホスト間トラフィックも監視することができる。例えば、ホストサーバ群とサーバラックとの間のトラフィックも追跡できる。
ネットワーク使用率ストア236の帯域幅使用率データとプレフィックス・ストア128からのプレフィックスエントリは、データ集約サービスモジュール238を通じてトラフィック・マップ・ストア240へ集約される。データ集約サービスモジュール238はプレフィックス・ストア128からのプレフィックスエントリを各プレフィックスからの帯域幅使用率データと対にして、ネットワーク・ファブリック204がどれだけのトラフィックを特定のプレフィックスに送信しているかを判定する。トラフィック・マップ・ストア240は、ネットワーク機器206を通じて使用頻度上位N位を判定するなどのプレフィックス毎のネットワーク使用率データのフィルタリングおよび仕分けを可能にする。帯域幅使用率データは5組に基づいてサンプリングされる。宛先IPアドレスはネットワーク・プレフィックスに集約される。したがって、プレフィックスエントリと5組における宛先IPアドレスとの対形成は、帯域幅使用率データをプレフィックスによって体系化できるようにする。トラフィック・マップ・ストア240は、どれだけのデータがどのホストからプレフィックス・ストア128の既知のプレフィックスの各々に送信されるかについての情報を含むことができる。
コンテンツ配信システム202は、ネットワーク機器206に結合されたネットワーク・モニタ・サービスモジュール242を備える。ネットワーク・モニタ・サービスモジュール242は、ネットワーク・ファブリック204のエッジにあるネットワーク機器206を監視する。例えば、ネットワーク・モニタ・サービスモジュール242は、各ネットワーク機器206の入口および出口インターフェースを監視して、各ネットワーク機器206に隣接する各自律システム120にどれだけのトラフィックが出入りしているかを判定することができる。各自律システム120にどれだけのトラフィックが出入りしているかはネットワーク・インターフェース・トラフィック・ストア244に記憶される。
トラフィック・エンジニアリング・サービスモジュール230は、コンテンツ配信システム202が、トラフィック・マップ・ストア240に記憶された宛先プレフィックスによって体系化されたトラフィックマップに基づいて送信IPパケットのラベルを変更できるようにする。ネットワーク・インターフェース・トラフィック・ストア244に記憶されたデータおよびトラフィック・マップ・ストア240からの自律システム120についての追加のプロフィール情報、または、ネットワーク・インターフェース・トラフィック・ストア244に記憶されたデータもしくはトラフィック・マップ・ストア240からの自律システム120についての追加のプロフィール情報を使って、トラフィック・エンジニアリング・サービスモジュール230は各自律システム120の容量負荷を判定することができる。容量負荷が、ある一定の割合を超える場合、トラフィック・エンジニアリング・サービスモジュール230をトラフィック救済モードに設定することができる。トラフィック救済モードでは、トラフィック・エンジニアリング・サービスモジュール230は、自律システム120の1つに進むプレフィックス毎のトラフィックを、異なる出口ポートをプレフィックスに関連付けている別の自律システム120へ移動させる。
トラフィック・エンジニアリング・サービスモジュール230がどの出口ポートを各プレフィックスに関連付けるかを決定すると、トラフィック・エンジニアリング・サービスモジュール230はその情報を経路プログラムモジュール232を通じてホストサーバ208に更新することができる。経路プログラムモジュール232は、ネットワーク・ファブリック204内のホストサーバ208に経路のプログラミングを提供するための、コンテンツ配信システム202のモジュールである。異なるホストサーバ208に対して、同
一プレフィックスの経路は、トラフィック・エンジニアリング・サービスモジュール230のトラフィック操作ポリシーに応じて異なっていてもよい。経路は、潜在的な宛先プレフィックスに関連付けられたラベルの形をとっている。経路プログラムモジュール232は、ネットワーク・ファブリック204上のホストサーバ208の1つで動作できるか、トラフィックを提供する各ホストサーバ208の一部とすることができる。ホストサーバ208は、特定の宛先プレフィックス(すなわち、デジタルコンテンツを要求しているクライアントの宛先)に関連付けられたラベルを、ホストサーバ208から配信されるデジタルコンテンツのIPパケットに割り当てる命令を経路プログラムモジュール232から受信する。IPパケットは、どの特定の出口ポート224にIPパケットを転送するかをネットワーク機器206に指示する、ホストサーバ208によって割り当てられたラベルを有する。
ネットワーク機器106と同様に、ネットワーク機器206は自身の3値連想メモリ(TCAM)などのメモリにラベルの変換テーブルを記憶する。各ラベルはネットワーク機器206の出口ポート224に対応する。変換テーブルのコピーは、トラフィック・エンジニアリング・サービス230によってアクセス可能であってもよい。
コンテンツ配信システム202はデータセンタ・ルーティング機器250を備えることもできる。ネットワーク・ファブリック204のホストサーバ208は、コンテンツ配信ネットワーク(CDN:Content Delivery Network)データセンタなどのデータセンタ252から頻繁にデータを取り出す必要があるかもしれない。経路収集サービスモジュール126はネットワーク機器206の機能要件を緩和することができる。しかし、ネットワーク機器206の機能が制限されると、各ホストサーバ208にコンテンツを調達するのに必要なデータセンタ252の位置を突き止めるためにデータセンタ・ルーティング機器250が必要となるかもしれない。データセンタ・ルーティング機器250は、ホストサーバ208自身およびネットワーク機器206、または、ホストサーバ208自身もしくはネットワーク機器206と直接接続することができる。データセンタ・ルーティング機器250は、IPルックアップができ、データ取り出し要求をデータセンタ252に送信し、取り出したコンテンツをネットワーク機器206を通じて正確にルーティングできる知能装置として機能することができる。
コンテンツ配信システム102と同様に、本明細書に開示するコンテンツ配信システム202は、ルーティングの決定をホストサーバに移すことができる。したがって、コンテンツ配信システム202は、同様に、ネットワーク・ファブリック204を構築する際に資本的支出(CAPEX)の節約を可能にする。しかも、本明細書に開示するコンテンツ配信システム202は、隣接する自律システムの容量オーバーを回避する効果的なネットワーク管理を可能にする。トラフィックの低下を回避することにより、コンテンツ配信システム202はよりよいネットワークパフォーマンスを可能にし、したがって運用コスト(OPEX:Operational Expenditure)の節約を実現する。
本明細書において図1および図2のモジュールに取り入れた技法は、ソフトウェアおよびファームウェアまたはソフトウェアもしくはファームウェアによってプログラムまたは構成されるプログラム可能回路によって実装され、あるいは、専用の「ハードワイヤード」回路によって、またはそのような形態の組み合わせで完全に実装される。このような専用の回路は(もしあれば)、例えば1つ以上の特定用途向け集積回路(ASIC:Application−Specific Integrated Circuit)、プログラマブル・ロジック・デバイス(PLD)、フィールド・プログラマブル・ゲート・アレイ(FPGA)等の形をとることができる。
図3Aは、コンテンツ配信システム202が、クライアントA304を後退させずにク
ライアントB302に対するトラフィックをどのように操作できるかの例を示す。この例では、PoP306はネットワーク機器308を通じて自律システムX310と自律システムY312に接続されている。PoP306は図2のネットワーク・ファブリック204とすることができ、ネットワーク機器308は図2のネットワーク機器206とすることができる。
自律システムX310は10ギガビット毎秒(Gbps)の容量を有し、自律システムY312は20Gbpsの容量を有することができる。図に示すように、自律システムX310は80%の容量で動作している。ネットワーク機器308に接続されたリンクの1つが80%以上の容量であるとき、可能であればトラフィックを自律システムX310から移動させるために、コンテンツ配信システム202はトラフィック・エンジニアリング・サービスモジュール230に条件を記憶する。
データ集約サービスモジュール238はトラフィック・エンジニアリング・サービスモジュール230に、どれだけのトラフィックがどのホストからどの自律システムを通じて各プレフィックスに送信されているかを提供する。図に示すように、クライアントB302は、自律システムX310を通じて現在ルーティングしている4Gbpsのトラフィックを有し、クライアントA304は、自律システムY312を通じて現在ルーティングしている10Gbpsのトラフィックを有する。図1および図2のプレフィックス・ストア128は、自律システムX310を除いて、どの代替出口ポートがクライアントB302に到達できるかについての情報を提供する。この例では、自律システムY312が代替出口ポートであると判断される。それが分かれば、トラフィック・エンジニアリング・サービスモジュール230は、クライアントB302への4Gbpsのトラフィック全体を自律システムX310から自律システムY312に移動させる。あるいは、自律システムX310を救済した結果、自律システムY312に負担をかけ過ぎないように、トラフィック・エンジニアリング・サービスモジュール230は、クライアントB302のトラフィックの一部、例えばトラフィックの2Gbps、のみを自律システムX310から自律システムY312に移動させることができ、したがって、自律システムX310と自律システムY312の負荷のバランスをとる。これは、自律システムY312の出口ポートを指し示すラベルをそのIPパケットのすべてに割り当てるよう、トラフィックの一部を提供するホストサーバをプログラムすることで実現できる。
図3Bは、コンテンツ配信システム202がトラフィック分類に基づいてどのようにトラフィックを操作できるかの例を示す。PoP352は、PoP352を隣接する自律システムと接続するネットワーク機器354を含むよう示されている。PoP352は異なる種類のトラフィックを提供することができる。例えば、PoP352は、ウェブサイトの基本的なレンダリングである動的トラフィックと、音声ファイル、写真、または映像などの繰り返し要求されるコンテンツのトラフィックであるCDNトラフィックを提供することができる。CDNトラフィックは一般的にレイテンシに対してより感度が低い(すなわち、人々はビデオストリームまたはオーディオストリームをロードするのに待つことに慣れている)ので、トラフィック・エンジニアリング・サービスモジュール230は、CDNトラフィックの代わりに動的トラフィックの大部分を、低いレイテンシを有する隣接する自律システムに移動するという優先事項を確実にするようトラフィックを移動して操作することができる。
例では、PoP352は自律システムC356と自律システムD358に隣接する。自律システムC356が低いレイテンシを有する一方、自律システムD358は高レイテンシを有する。トラフィック・エンジニアリング・サービスモジュール230は、トラフィックの特定のクラスにラベルを設定するようPoP352内のホストサーバをプログラムすることができる。例えば、動的トラフィックホスト360は、基本的なウェブサイト情
報をクライアント装置362に提供するホストサーバであり、CDNトラフィックホスト364は、ビデオストリームを提供するホストサーバである。動的トラフィックホスト360はその送信IPパケットに自律システムC356に対応するラベルを付けるようプログラムでき、CDNトラフィックホスト364はその送信IPパケットに自律システムD358に対応するラベルを付けるようプログラムできる。あるいは、トラフィック・エンジニアリング・サービスモジュール230は、特定の種類の検出トラフィックにラベルを設定するようネットワーク機器354を直接プログラムできる。
自律システムのレイテンシは多数の方法で検出される。例えば、レイテンシはクライアント側から試験される。クライアント装置362は、クライアント装置362をトリガして、多数のPoPから1キロバイトの画像などのデジタルコンテンツの小さな断片を要求させる、非同期JavaScript(登録商標)とXML(AJAX:Asynchronous JavaScript and XML)コードなどのクライアント側スクリプトの断片を含むことができる。クライアント側コードはクライアント装置362が最も低いレイテンシを有するPoPを選択できるようにする。例えば、クライアント側コードによってPoP352が選択されたら、PoP352のホストサーバはクライアント側スクリプトと協働してPoP352に接続された自律システムのレイテンシとパフォーマンスを判定することができる。クライアント側コードへの試験用IPパケットは、特定のラベルを有する試験用IPパケットを転送するための、ある自律システムを特別に選択すること(すなわち、選択された自律システムに接続する出口ポートを決定するラベル)で、PoP352から送信できる。その結果、クライアント側スクリプトによって報告されたレイテンシは、選択された自律システムと相関させることができる。往復レイテンシのデータおよび送信レイテンシのデータを含め、他の種類のパフォーマンス試験をネットワーク機器354を通じてまたはPoP352のホストサーバから直接行うことができる。これらのレイテンシ/パフォーマンスデータをトラフィック・エンジニアリング・サービスモジュール230に供給し、PoP352から出て行くトラフィックをどのように操作するかを決定することができる。
図4は、サーバ管理されたルーティング機構を備えた、コンテンツ配信システム102などのネットワーク管理されたコンテンツ配信システムを操作する方法400のフローチャートを示す。方法400は、自律システムに関連付けられたプレフィックスエントリをネットワーク機器を通じて自律システムから収集するステップ402で始まる。収集したプレフィックスエントリはネットワーク機器からオフラインで記憶される。プレフィックスが自律システムから収集したプレフィックスエントリの1つであるとき、ステップ404で、デジタルコンテンツのIPパケットに対してラベルが生成される。ラベルは、自律システムに直接接続されたネットワーク機器の出口インターフェースに関連付けられている。ラベルは、コンテンツ要求のプレフィックスおよび、プレフィックスエントリ内のプレフィックスに関連付けられた自律システムに基づいて生成される。ラベルは、ネットワーク管理されたコンテンツ配信システムのホストサーバ上で生成される。
ステップ406において、ある時点で、特定のデジタルコンテンツのプレフィックスへの送信を求める旨のコンテンツ要求を受信できる。ラベルがIPパケットに対して生成されたら、ステップ408で、IPパケットはラベルに基づいてコンテンツ配信システムのネットワーク機器から転送されるが、ラベルは、自律システムに直接つながるネットワーク機器の出口インターフェースに対応している。ネットワーク機器は、ラベルと出口インターフェースとの間のマッピングを記憶する。
図5は、ネットワーク条件に応答する、サーバ管理されたルーティング機構を備えた、コンテンツ配信システム202などのネットワーク管理されたコンテンツ配信システムを操作する方法500のフローチャートを示す。方法500は、プレフィックスエントリを
ネットワーク機器を通じて自律システムから収集するステップ502で始まる。コンテンツ配信システムは、ステップ504で、送信ネットワークトラフィックなどのネットワークトラフィックを監視することによってネットワーク条件が満たされているか否かを判定する。ネットワークトラフィックの監視には、どれだけのトラフィックがネットワーク機器の各出口ポートを通過しているかを判定することが含まれる。ネットワークトラフィックの監視には、どれだけのトラフィックがプレフィックスエントリの各プレフィックスに送信されるかを判定することも含まれる。ネットワーク条件は、所定のしきい値を超える自律システムの1つのネットワーク使用率であってもよい。
そして、ステップ506で、ラベルはネットワーク条件に基づいてプレフィックスエントリの宛先プレフィックスに関連付けられる。ラベルの宛先プレフィックスとの関連付けを変更することによって、第2自律システムに接続されたネットワーク機器の出口インターフェースに対応するラベルを宛先プレフィックスに関連付けることで、ネットワークトラフィックは第1自律システムから第2自律システムに移動される。そして、ステップ508で、宛先プレフィックスに向かうことになっているIPパケットはラベルを付けられる。そして、ステップ510で、ネットワーク機器はラベルに基づいてIPパケットを転送する。
ステップ504におけるネットワークトラフィックの監視には、ネットワーク機器に接続されたホストサーバから来るトラフィック・カテゴリを判定することが含まれる。そして、ラベルは、そのトラフィック・カテゴリを有するホストサーバに特有の宛先プレフィックスに関連付けられる。そして、そのトラフィック・カテゴリを有するホストサーバからのネットワークトラフィックは、第2自律システムが第1自律システムより低いレイテンシを有する状態で、宛先プレフィックスに関連付けられたラベルを、第1自律システムに関連付けられたラベルから第2自律システムに関連付けられたラベルに変更することで移動される。
ここで図6を参照すると、本明細書に記載する任意の1つ以上の方法またはモジュールをマシーンに行わせる命令一式が実行されてもよいコンピュータシステム600の例となっているマシーンの図式による表示が示されている。
図6の例では、コンピュータシステム600は、プロセッサ、メモリ、不揮発性メモリ、およびインターフェース機器を備える。説明を簡素化するために、種々の一般的な構成要素(例えば、キャッシュメモリ)は省略している。コンピュータシステム600は、図1〜図3Bの例に示された任意の構成要素(および本明細書に記載のその他の構成要素)を実装することができるハードウェア装置を示すことを意図したものである。コンピュータシステム600は、任意の適用できる既知のまたは便利なタイプとすることができる。コンピュータシステム600の構成要素は、バスを通じて、または、他の既知のまたは便利な装置を通じて互いに結合する。
本開示は、任意の適した物理的形式のコンピュータシステム600を企図する。限定ではなく例として、コンピュータシステム600は、組込みコンピュータシステム、システムオンチップ(SOC)、(例えば、コンピュータオンモジュール(COM)またはシステムオンモジュール(SOM)などの)シングルボードコンピュータシステム(SBC)、デスクトップコンピュータシステム、ラップトップまたはノートブック型コンピュータシステム、双方向キオスク、メインフレーム、コンピュータシステム網、携帯電話機、携帯情報端末(PDA)、サーバ、またはこれらのうちの2つ以上の組み合わせであってもよい。適切な場合には、コンピュータシステム600は、1つ以上のコンピュータシステム600を含んでもよい。すなわち、単体または分散型であっても、複数の場所に及んでいても、複数のマシーンにまたがっていても、1つ以上のネットワークにおいて1つ以上
のクラウド・コンポーネントを備えたクラウドにあってもよい。適切な場合には、1つ以上のコンピュータシステム600は、実質的な空間的または時間的制限なしに、本明細書に記載または図示する1つ以上の方法の1つ以上のステップを行ってもよい。限定ではなく一例として、1つ以上のコンピュータシステム600は、リアルタイムまたはバッチモードで、本明細書に記載または図示する1つ以上の方法の1つ以上のステップを行ってもよい。1つ以上のコンピュータシステム600は、適切な場合には、異なる時間にまたは異なる場所で、本明細書に記載または図示する1つ以上の方法の1つ以上のステップを行ってもよい。
プロセッサは例えば、インテル・ペンティアム(登録商標)(Intel Pentium(登録商標))マイクロプロセッサまたはモトローラ・パワーPC(Motorola powerPC)マイクロプロセッサなどの従来のマイクロプロセッサであってもよい。関連技術の当業者であれば、「機械可読(記録)媒体」または「コンピュータ可読(記録)媒体」という用語にはプロセッサによってアクセス可能な任意の種類の装置が含まれることを認識するであろう。
メモリは、例えばバスによってプロセッサに結合されている。メモリは、限定ではなく一例として、ダイナミックRAM(DRAM)やスタティックRAM(SRAM)などのランダムアクセスメモリ(RAM)を含むことができる。メモリは、ローカルメモリ、リモートメモリ、または分散メモリとすることができる。
バスはまた、プロセッサを不揮発性メモリとドライブユニットに結合している。不揮発性メモリは多くの場合、磁気フロッピー(登録商標)もしくはハードディスク、光磁気ディスク、光ディスク、例えばCD−ROM、EPROM、もしくはEEPROMなどの読み出し専用メモリ(ROM)、磁気もしくは光カード、または他の形態の大量データ用記憶装置である。このデータの一部は、コンピュータ600でソフトウェアの実行中に、ダイレクトメモリアクセス処理によってメモリに書き込まれることが多い。不揮発性記憶装置は、ローカル記憶装置、リモート記憶装置、または分散型記憶装置とすることができる。適用可能なデータのすべてがメモリにおいて利用可能な状態でシステムが構築されるため、不揮発性メモリは任意である。典型的なコンピュータシステムは通常、少なくとも1台のプロセッサ、メモリ、およびメモリをプロセッサに結合する装置(例えば、バス)を含むものである。
ソフトウェアは一般に、不揮発性メモリおよびドライブユニット、または、不揮発性メモリもしくはドライブユニットに記憶される。実際は、大きなプログラムについては、メモリにプログラム全体を記憶することさえできないこともある。しかし、当然のことながら、ソフトウェアが動作するためには、必要であれば、処理に適したコンピュータ読み取り可能な場所に移され、説明のために本明細書ではその場所はメモリと称する。実行のためにソフトウェアをメモリに移動させた場合でも、プロセッサは、一般にハードウェアレジスタを利用して、ソフトウェアに関連付けられた値と理想的には実行を高速化させるために機能するローカルキャッシュを記憶する。本明細書で使用するように、ソフトウェアプログラムが「コンピュータ可読媒体に実装される」と称される場合、ソフトウェアプログラムは(不揮発性記憶装置からハードウェアレジスタまでの)任意の既知または便利な場所に記憶されると想定される。プログラムに関連付けられた少なくとも1つの値がプロセッサ可読レジスタに記憶されている場合、プロセッサは「プログラムを実行するよう構成されている」とみなされる。
バスはまた、プロセッサをネットワーク・インターフェース機器に結合している。インターフェースは、1つ以上のモデムまたはネットワーク・インターフェースを含むことができる。当然のことながら、モデムまたはネットワーク・インターフェースは、コンピュ
ータシステム600の一部であるとみなすことができる。インターフェースは、アナログモデム、ISDNモデム、ケーブルモデム、トークンリング・インターフェース、衛星伝送インターフェース(例えば、「direct PC」)、またはコンピュータシステムを他のコンピュータシステムに結合するためのその他のインターフェースを含むことができる。インターフェースは1つ以上の入力および出力装置または入力もしくは出力装置を含むことができる。I/O装置は、限定ではなく一例として、キーボード、マウスまたは他のポインティングデバイス、ディスクドライブ、プリンタ、スキャナ、および表示装置を含む他の入力および出力装置または入力もしくは出力装置を含むことができる。表示装置は、限定ではなく一例として、陰極線管(CRT:Cathode Ray Tube)、液晶ディスプレイ(LCD)、または他の適用可能な既知のまたは便利な表示装置を含むことができる。簡単にするために、図6の例に示されていない任意の装置のコントローラはインターフェース内にあることが想定されている。
動作に際しては、コンピュータシステム600は、ディスク・オペレーティング・システムなどのファイル管理システムを含むオペレーティング・システム・ソフトウェアによって制御できる。関連するファイル管理システム・ソフトウェアを有するオペレーティング・システム・ソフトウェアの一例は、ワシントン州レドモンドのマイクロソフト社(Microsoft Corporation)のWindows(登録商標)として知られるオペレーティング・システム・ファミリーとこれらに関連するファイル管理システムである。関連するファイル管理システム・ソフトウェアを有するオペレーティング・システム・ソフトウェアの別の例は、Linux(登録商標)オペレーティング・システムとそれに関連するファイル管理システムである。ファイル管理システムは一般に、不揮発性メモリおよびドライブユニット、または、不揮発性メモリもしくはドライブユニットに記憶され、オペレーティング・システムによって要求される種々の行為をプロセッサに実行させて、データを入出力し、ファイルを不揮発性メモリおよびドライブユニット、または、不揮発性メモリもしくはドライブユニットに保存することを含め、データをメモリに保存する。
詳細な説明の一部分は、コンピュータメモリ内のデータビットに対する操作のアルゴリズムおよび記号表現の観点から提示されてもよい。これらのアルゴリズム的記述および表現は、データ処理の技術分野における当業者が自身の研究内容を他の当業者に最も効果的に伝えるために使用する手段である。アルゴニズムはここでは一般的に、所望の結果に導く首尾一貫した一連の操作であると考えられる。操作は、物理量の物理的操作を必要とするものである。通常、必ずしもそうではないが、これらの量は、記憶、転送、合成、比較、および別の方法で操作可能な電気信号または磁気信号の形をとる。主として一般的な用法という理由で、これらの信号をビット、値、要素、記号、文字、項、数等と称することが時には便利であることがわかっている。
しかしながら、これらの用語および類似の用語はすべて、適切な物理量に関連付けられるものであり、これらの物理量に適用される便宜的なラベルにすぎないことを念頭に置いておくべきである。以下の記述から明らかなように、特に明記しない限り、例えば「処理する」または「計算する」または「算出する」または「判定する」または「表示する」または「生成する」等の用語を使用する記述は、本明細書全体を通じて、コンピュータシステムのレジスタおよびメモリ内で物理(電子)量として表されるデータを操作し、コンピュータシステムのメモリもしくはレジスタ、または他のそのような情報記憶装置、情報送信装置、もしくは情報表示装置内で物理量として同様に表される他のデータに変換するコンピュータシステムまたは類似の電子コンピューティング装置の動作および処理を意味することが理解される。
本明細書に提示するアルゴリズムおよび表示は、本質的に、どの特定のコンピュータま
たは他の装置にも関連していない。本明細書の教示に応じたプログラムと共に種々の汎用システムを使用してもよく、一部の実施形態の方法を実行するために、より専門的な装置を構成することが便利であることがわかる場合もある。種々のこれらのシステムに必要な構造は以下の説明から明らかになるだろう。さらに、技法はどの特定のプログラミング言語にも関連して記載されておらず、したがって、種々のプログラミング言語を使用して様々な実施形態を実施してもよい。
代替実施形態では、マシーンはスタンドアロン型装置として動作するが、他のマシーンに接続(例えばネットワーク化)されていてもよい。ネットワーク化した配置において、マシーンは、クライアント−サーバネットワーク環境ではサーバまたはクライアントマシンとして動作してもよく、ピアツーピア(または分散)ネットワーク環境ではピアマシンとして動作してもよい。
マシーンは、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットPC、ラップトップコンピュータ、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話機、iPhone(登録商標)、Blackberry(登録商標)、プロセッサ、電話機、ウェブ・アプライアンス、ネットワークルータ、スイッチもしくはブリッジ、または自身が取るべき動作を指定する(順次的またはそれ以外の)命令一式を実行できる任意のマシーンであってもよい。
機械可読媒体または機械可読記憶媒体は例示的実施形態において単一の媒体で示されているが、「機械可読媒体」および「機械可読記憶媒体」という用語は、単一の媒体または1式以上の命令を記憶する複数の媒体(例えば、集中もしくは分散データベースならびに関連するキャッシュおよびサーバ、あるいは、集中もしくは分散データベースまたは関連するキャッシュおよびサーバ)を含むと解釈すべきである。また、「機械可読媒体」および「機械可読記憶媒体」という用語は、マシーンによる実行に対する命令一式を記憶、符号化、または持ち運び可能で、ここに開示する技法および革新の1つ以上の方法またはモジュールをマシーンに実行させる任意の媒体を含むと解釈すべきである。
一般に、本開示の実施形態を実施するために実行されるルーチンは、オペレーティング・システムもしくは特定のアプリケーション、構成要素、プログラム、オブジェクト、モジュール、または「コンピュータ・プログラム」と称される一連の命令の一部として実装されてもよい。コンピュータ・プログラムは一般に、コンピュータ内の様々なメモリおよび記憶装置に様々な時に設定され、かつ、コンピュータ内の1つ以上の処理装置またはプロセッサによって読み込まれて実行されたとき、本開示の種々の態様を含む要素を実行するためにコンピュータに操作を実行させる1つ以上の命令からなる。
さらに、実施形態は、完全に機能するコンピュータおよびコンピュータシステムとの関連で記載したが、当業者であれば、種々の実施形態が種々の形態のプログラム・プロダクトとして流通でき、実際に流通させるのに使用する特定の種類のマシーンまたはコンピュータ可読媒体に関係なく本開示が等しく適用されることを理解するであろう。
機械可読記憶媒体、機械可読媒体、またはコンピュータ可読(記憶)媒体の更なる例には、数ある中で、揮発性および不揮発性記憶装置、フロッピーおよび他の取り外し可能ディスク、ハードディスクドライブ、光ディスク(例えば、コンパクトディスク読み出し専用メモリ(CD−ROM)、デジタル多目的ディスク(DVD)等)などの追記型の媒体と、デジタルおよびアナログの通信リンクなどの伝送型の媒体が含まれるがそれらに限定されない。
状況によっては、例えば2進数1から2進数0へのまたはその逆の状態の変化などの記
憶装置の動作は、物理的変換などの変換を含んでもよい。特定の種類の記憶装置によれば、そのような物理的変換は、物品の異なる状態または物への変換を含んでもよい。例えば、限定ではなく、一部の種類の記憶装置については、状態の変化は、電荷の蓄積と保存または保存した電荷の解放を含んでもよい。同様に、他の記憶装置において、状態の変化は、磁気配向における物理的変化もしくは変換、または、結晶から非結晶へまたはその逆などの分子構造における物理的変化もしくは変換を含んでもよい。上記は、記憶装置における2進数1から2進数0へのまたはその逆の状態の変化が、物理的変換などの変換を含んでもよいすべての例の完全なリストであることを意図していない。むしろ、上記は、説明的な例として意図されている。
記憶媒体は一般に不揮発性であってもよく、非一時的な装置からなっていてもよい。この文脈において、非一時的記憶媒体は、有形の装置を含んでもよく、これは、装置がその物理的状態を変化させることもあるが具体的な物理形状を有することを意味する。したがって、例えば、非一時的とは、この状態の変化にもかかわらず有形であり続ける装置のことを指す。
上記説明および図面は説明のためのものであり、開示した正確な形態に本発明を限定するものとして解釈すべきではない。関連技術の当業者であれば、上記開示に照らして多くの変形や変更が可能であることを理解できる。本開示を完全に理解できるように多数の具体的な詳細を記載したが、場合によっては、説明を曖昧にしないように周知のまたは従来の詳細は記載していない。
本明細書における「一実施形態」または「ある実施形態」への言及は、実施形態に関連して記載された特定の特徴、構造、または特性が本開示の少なくとも1つの実施形態に含まれることを意味する。「一実施形態において」という語句が本明細書の様々な箇所で出現するが、必ずしもすべてが同一の実施形態について言及しているわけではなく、他の実施形態と互いに排他的な別のまたは代替の実施形態について言及しているわけでもない。さらに、種々の特徴が記載されているが、それらは、一部の実施形態によって示され、その他の実施形態によって示されなくてもよい。同様に、様々な要件が記載されているが、それらは、一部の実施形態に対する要件であって、その他の実施形態に対する要件でなくてもよい。
本明細書に使用するように、「接続された」、「結合された」という用語またはそれらの変形は、システムのモジュールに適用する場合、2つ以上の要素間の直接的または間接的な接続または結合を意味し、要素間の接続の結合は、物理的、論理的、またはそれらの任意の組み合わせとすることができる。さらに、「本明細書において」、「上記の」、「以下の」という単語および同様の趣旨の単語は、本願に使用される場合、本願の特定の部分ではなく本願を全体として参照するものとする。文脈が許せば、上記の発明を実施するための形態において単数または複数を使用した単語の各々は、複数または単数を含んでもよい。2つ以上の項目のリストに関する「または」という単語は、以下の解釈をすべて網羅する。すなわち、リスト内の項目のいずれか、リスト内の項目のすべて、およびリスト内の項目の任意の組み合わせ。
当業者であれば、以下に示していない他の形態および方法で本発明を実施してもよいことを理解するであろう。第1の、第2の、上部および下部等などの関係語の使用は、もしあれば、ある実体または動作を他の実体または動作と識別するためにのみ使用され、そのような実体または動作間に必ずしもそのような実際の関係または順序を必要または意味していないことが理解される。
プロセスまたはブロックは任意の順序で提示されているが、代替実施形態は、異なる順
序でステップを有するルーチンを実行してもよく、または、異なる順序でブロックを有するシステムを採用してもよい。一部のプロセスまたはブロックを削除、移動、追加、細分、置換、組み合わせ、および/または変更して別のまたはサブ組み合わせを提供してもよい。これらのプロセスまたはブロックの各々は、種々の異なる方法で実施されてもよい。また、プロセスまたはブロックは、時には連続して実行されるように示されるが、代わりに同時に実行されてもよく、または、異なる時に実行されてもよい。さらに、本明細書において述べた特定の数字は単なる例である。別の実施は異なる値や範囲を採用してもよい。
本明細書に提供する開示の教示は、必ずしも上述したシステムに限らず、他のシステムにも適用できる。上述した種々の実施形態の要素および行為を組み合わせて更なる実施形態を提供することができる。
上述の任意の特許、出願、および他の参考文献は、添付の出願書類に記載されたものを含め、引用により本明細書に援用する。本開示の態様は、必要に応じて、上述した種々の文献のシステム、機能、および概念を採用するよう変更して本開示の更なる実施形態を提供することができる。
上記の発明を実施するための形態に照らして、これらの変更および他の変更を本開示に加えることができる。上記の説明は本開示の特定の実施形態を記載し、考えられる最良の形態を記載しているが、上記が本文でいかに詳細に説明されていても、本教示は多くの方法で行うことができる。システムの詳細は、その実装の詳細の点で相当異なってもよいが、依然として本明細書に開示する主題によって包含される。上述したように、本開示のある特徴または態様を記載する際に使用した特定の専門用語は、その専門用語が関連する本開示の任意の特定の特性、特徴、または態様に限定されるように本明細書で再定義されていることを意味するよう解釈されるべきではない。一般に、以下の特許請求の範囲で使用する用語は、上記の発明を実施するための形態の節でそのような用語を明示的に定義しない限り、本開示を本明細書に開示した特定の実施形態に限定するよう解釈されるべきではない。したがって、本開示の実際の範囲は、開示した実施形態だけでなく、特許請求の範囲の下で本開示を実行または実施するすべての同等の方法も包含する。
本開示のある態様は、ある請求項の形式で以下に提示されているが、本発明者らは、本開示の種々の態様を任意の数の請求項の形式で企図する。米国特許法112条第6段落に基づいて取り扱われることを意図した請求項はいずれも「〜のための手段」という単語で始まる。したがって、本出願人は、本願出願後に更なる請求項を追加して、本開示の他の態様のためにこのような追加の請求項形式を追求する権利を留保する。
本明細書で使用する用語は一般に、本開示の文脈内で、また、各用語が使用される具体的な文脈において、当該技術分野における通常の意味を有する。本開示を記載するのに使用するある特定の用語については、以上にまたは本明細書の他の箇所で記載し、本開示の説明に関して実務者に更なるガイダンスを提供する。便宜上、ある特定の用語は、例えば大文字使用、イタリック体、および/または引用符を使用して強調することがある。強調表示の使用は、用語の範囲および意味に影響を及ぼすことはなく、すなわち、用語の範囲および意味は、強調されていようがいまいが、同じ文脈では同じである。当然のことながら、同じ要素は複数の方法で記載できる。
したがって、代替用語や同義語を本明細書で述べた任意の1つ以上の用語に使用してもよく、用語が本明細書において詳しく述べられているか論じられているかどうかに特別な重要性が置かれるものではない。ある特定の用語に対しては同義語を提供している。1つ以上の同義語を列挙することは他の同義語の使用を排除するものではない。本明細書に述
べる任意の用語の例を含め、本明細書の任意の箇所での例の使用は一例に過ぎず、本開示または任意の例示する用語の範囲および意味を更に限定することを意図していない。同様に、本開示は、本明細書で示す種々の実施形態に限定されない。
本開示の範囲を更に限定することを意図せず、本開示の実施形態に係る機器、装置、方法、およびそれらに関係のある結果の例を以下に示す。読者の便宜のために、例中、タイトルまたはサブタイトルを使用することがあるが、これらは決して本開示の範囲を限定するものではないことに留意されたい。特に定義しない限り、本明細書に使用するすべての技術的および科学的用語は、本開示が関連する当事者が一般的に理解する意味と同じ意味を有する。抵触する場合、定義を含めて本明細書が優先する。
この説明の一部分は、本発明の実施形態を、情報に対する操作のアルゴリズムおよび記号表現の観点から記載している。これらのアルゴリズム的記述および表現は、データ処理の技術分野における当業者が自身の研究内容を他の当業者に効果的に伝えるために一般的に使用するものである。これらの操作は、機能的、計算的、または論理的に記載されているが、コンピュータ・プログラムまたは同等の電気回路、マイクロコード等によって実施されると理解される。さらに、一般性を失うことなく、操作のこれらの仕組みをモジュールと称することが時には便利であることがわかっている。記載する操作およびそれらに関連するモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組み合わせにおいて具現化してもよい。
本明細書に記載するステップ、操作、またはプロセスはいずれも、1つ以上のハードウェアまたはソフトウェアモジュールを使用して、単独でまたは他の装置と組み合わせて実行または実施してもよい。一実施形態において、ソフトウェアモジュールは、記載したステップ、操作、またはプロセスのいずれかまたはすべてを実行するためにコンピュータ・プロセッサによって実行可能なコンピュータ・プログラム・コードを含むコンピュータ可読媒体を備えたコンピュータ・プログラム・プロダクトを使用して実施される。
本発明の実施形態は、本明細書に記載の操作を実行するための装置に関連していてもよい。この装置は必要とされる目的のために特別構成しかつコンピュータに記憶されたコンピュータ・プログラムによって選択的に起動もしくは再構成される汎用計算装置を含んでもよく、または、この装置は必要とされる目的のために特別構成するかもしくはコンピュータに記憶されたコンピュータ・プログラムによって選択的に起動もしくは再構成される汎用計算装置を含んでもよい。そのようなコンピュータ・プログラムは、コンピュータ・システム・バスに結合されていてもよい非一時的かつ有形のコンピュータ可読記憶媒体または電子的命令を記憶するのに適した任意の種類の媒体に記憶されてもよい。さらに、本明細書において言及する計算システムはいずれも、単一のプロセッサを含んでもよく、または、計算能力を向上させるために複数プロセッサの設計を採用したアーキテクチャとしてもよい。
また、本発明の実施形態は、本明細書に記載する計算プロセスによって製造される製品に関連していてもよい。そのような製品は、計算プロセスから生じる情報を含んでもよく、その情報は非一時的かつ有形のコンピュータ可読記憶媒体に記憶され、本明細書に記載するコンピュータ・プログラム・プロダクトまたは他のデータの組み合わせの任意の実施形態を含んでもよい。
本明細書に使用する用語は、主に読み易さと教授の目的で選択されたものであり、発明の主題を詳述または制限するために選択されたものでなくてもよい。したがって、本発明の範囲は、この詳細な説明によってではなく、むしろ本明細書に基づく出願に由来する任意の請求項によって限定されることを意図している。したがって、本発明の実施形態の開
示は、以下の特許請求の範囲に記載する本発明の範囲を例示するものであって、限定するものではないことを意図している。

Claims (20)

  1. 自律システムからプレフィックスエントリを収集する、収集工程と、
    デジタルコンテンツのプレフィックスへの送信を求めるコンテンツ要求を、ホストサーバにおいて受信する工程と、
    前記コンテンツ要求によって示された前記プレフィックスが前記自律システムから収集した前記プレフィックスエントリに挙げられていることに応答して、メッセージのインターネットプロトコル(IP)パケットに対してラベルを、前記ホストサーバにおいて生成する工程であって、前記ラベルは、前記自律システムに対応し、前記コンテンツ要求の前記プレフィックスに基づく、工程と、
    前記IPパケットをネットワーク機器の出口インターフェースから転送する工程であって、前記出口インターフェースは、前記ラベルに対応している、転送工程と、を含む、方法。
  2. 記ラベルは、前記自律システムに直接的に接続された前記ネットワーク機器の前記出口インターフェースに対応している、請求項1に記載の方法。
  3. 前記プレフィックスエントリを前記ネットワーク機器からオフラインで記憶する工程をさらに含む、請求項1に記載の方法。
  4. 前記ネットワーク機器は、前記ラベルと前記出口インターフェースとの間のマッピングを記憶する、請求項1に記載の方法。
  5. 前記収集工程は、前記ネットワーク機器に対してアクセス可能に構成されている経路収集サービスを通じて前記プレフィックスエントリを収集することを含む、請求項1に記載の方法。
  6. 前記収集工程は、前記自律システムを前記プレフィックスに到達するためのデフォルト経路として示す完全なインターネット・ルーティング・テーブルを収集することを含む、請求項1に記載の方法。
  7. ネットワーク機器を通じてプレフィックスエントリを収集する工程と、
    送信ネットワークトラフィックを監視することによってネットワーク条件が満たされているか否かを判定する工程と、
    前記ネットワーク条件に基づいてラベルを前記プレフィックスエントリの宛先プレフィックスに関連付ける、関連付け工程と、
    前記宛先プレフィックスに向かうことになっているインターネットプロトコル(IP)パケットに、ホストサーバにおいて前記ラベルを付ける工程であって、前記宛先プレフィックスが自律システムに対応するものとして前記プレフィックスエントリに挙げられているとき、前記ラベルは、前記自律システムに対応する、工程と、
    記ラベルに基づいて前記ネットワーク機器にある前記IPパケットを転送する工程を含む、方法。
  8. 送信ネットワークトラフィックの前記監視は、
    前記ホストサーバ上のトラフィック・サンプリング・サービスを提供して、前記宛先プレフィックスからのトラフィックをサンプリングする工程と、
    前記プレフィックスエントリとサンプリングされた前記トラフィックとを対にして、前記ホストサーバから前記宛先プレフィックスにどれだけのデータが送信されたかを判定する工程とを含む、請求項7に記載の方法。
  9. 前記関連付け工程は、
    前記宛先プレフィックスにどれだけのデータが送信されるかに基づいて第1自律システムを通るトラフィックの流れを担う前記宛先プレフィックスを選択する工程と、
    前記宛先プレフィックスに到達でき前記第1自律システムより低いレイテンシを有する第2自律システムに対応する前記ラベルを前記自律システムとして選択する工程とを含む、請求項8に記載の方法。
  10. 前記関連付け工程は、前記ネットワーク機器に接続されているホストサーバの全部ではなく一部にプログラムされ、前記ホストサーバは前記宛先プレフィックスにトラフィックを提供する、請求項9に記載の方法。
  11. 送信ネットワークトラフィックの前記監視は、第1自律システムの第1帯域幅使用割合と第2自律システムの第2帯域幅使用割合とを前記ネットワーク機器から推定する工程を含み、
    前記ネットワーク条件は、前記第1帯域幅使用割合が所定のしきい値を超えるか否かである、請求項7に記載の方法。
  12. 前記関連付け工程は、前記第2帯域幅使用割合が前記第1帯域幅使用割合より低く、かつ、前記第2自律システムが前記トラフィックを引き受けるのに利用できる帯域幅を有するとき、前記第1自律システムから前記第2自律システムにトラフィックを移動させる工程を含む、請求項11に記載の方法。
  13. 前記関連付け工程は、前記宛先プレフィックスに関連付ける新規なラベルを選択することによって第1自律システムから第2自律システムにトラフィックを移動させる工程を含み、前記新規なラベルは、前記第2自律システムに接続されている前記ネットワーク機器の出口インターフェースに対応している、請求項7に記載の方法。
  14. 送信ネットワークトラフィックの前記監視は、前記ネットワーク機器に接続されている前記ホストサーバから届くトラフィック・カテゴリを判定する工程を含み、
    前記関連付け工程は、
    記ラベルを前記ホストサーバに特有の前記宛先プレフィックスに関連付ける工程と、
    前記トラフィック・カテゴリに基づいて、第1自律システムから第2自律システムにトラフィックを移動させる工程であって、前記第2自律システムは、前記第1自律システムより低いレイテンシを有する、工程とを含む、請求項7に記載の方法。
  15. ネットワーク・ファブリック・システムであって、
    1つのネットワーク・ファブリックと1つ以上の隣接する自律システムとの間を相互接続し、前記1つ以上の隣接する自律システムに接続されている出口ポートを有するネットワーク機器と、
    前記ネットワーク機器に結合されているホストサーバと、
    サービスモジュールを記憶している非一時的メモリと、
    前記サービスモジュールを実行する1つ以上のプロセッサであって、前記サービスモジュールは、
    前記ネットワーク機器に結合され、プレフィックスエントリを収集するよう構成されている経路収集モジュールであって、前記プレフィックスエントリの各々は、前記ネットワーク機器の出口ポートを通じて接続された自律システムに関連付けられている、経路収集モジュールと、
    ベルを前記プレフィックスエントリにおいて識別されているプレフィックスに関連付けるよう構成されているトラフィック・エンジニアリング・モジュールであって、前記ラベルは、前記出口ポートに関連付けられている、トラフィック・エンジニアリング・モジュールとを含む、1つ以上のプロセッサとを備え、
    前記ホストサーバは前記ラベルに関連付けられている前記プレフィックスからのコンテンツ要求に基づいて前記ラベルを送信IPパケットに割り当てるように構成されており、
    前記ネットワーク機器は前記送信IPパケットを、前記トラフィック・エンジニアリング・モジュールに応じて前記送信IPパケットの前記ラベルと一致している前記出口ポートを通じて転送するように構成されている、システム。
  16. 前記トラフィック・エンジニアリング・モジュールは、前記ネットワーク・ファブリックにおけるネットワーク条件の成立に基づいて、前記プレフィックスに関連付けられている前記ラベルを変更するよう構成されている、請求項15に記載のシステム。
  17. プレフィックス記憶装置をさらに備え、前記経路収集モジュールは、前記プレフィックスエントリを前記プレフィックス記憶装置に記憶しており、前記プレフィックスエントリは、ローカルの完全なインターネット・ルーティング・テーブルを含む、請求項15に記載のシステム。
  18. 前記サービスモジュールは、トラフィック・サンプリング・モジュールを含み、前記トラフィック・サンプリング・モジュールは、前記ホストサーバに結合されており、前記プレフィックスエントリに送信した前記ホストサーバからの送信トラフィックをサンプリングするよう構成されている、請求項15に記載のシステム。
  19. 前記サービスモジュールは、データ集約モジュールを含み、前記データ集約モジュールは、前記トラフィック・サンプリング・モジュールに結合されており、前記プレフィックスエントリの各プレフィックスとサンプリングされたトラフィックとを対にして、どれだけのデータが各プレフィックスに送信されるかを判定し、ネットワーク条件が満たされているか否かを判定するよう構成されており、
    前記トラフィック・エンジニアリング・モジュールは、前記ネットワーク条件が満たされているとき、異なるラベルを前記プレフィックスに関連付けるよう構成されている、請求項18に記載のシステム。
  20. 前記サービスモジュールは、1以上の前記隣接する自律システムの各々にどれだけのデ
    ータが送信されるかを判定するよう構成されているネットワーク・モニタ・モジュールを含み、
    前記トラフィック・エンジニアリング・モジュールは、1以上の前記隣接する自律システムの各々にどれだけのデータが送信されるかに基づいて前記ラベルを選択するよう構成されている、請求項15に記載のシステム。
JP2016508959A 2013-04-16 2014-04-04 サーバ管理されたルーティングのシステムおよび方法 Expired - Fee Related JP6148397B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/863,602 2013-04-16
US13/863,602 US9374309B2 (en) 2013-04-16 2013-04-16 Server controlled routing system
PCT/US2014/033073 WO2014172123A1 (en) 2013-04-16 2014-04-04 Server controlled routing system

Publications (3)

Publication Number Publication Date
JP2016517240A JP2016517240A (ja) 2016-06-09
JP2016517240A5 JP2016517240A5 (ja) 2016-12-01
JP6148397B2 true JP6148397B2 (ja) 2017-06-14

Family

ID=51687579

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016508959A Expired - Fee Related JP6148397B2 (ja) 2013-04-16 2014-04-04 サーバ管理されたルーティングのシステムおよび方法

Country Status (10)

Country Link
US (2) US9374309B2 (ja)
JP (1) JP6148397B2 (ja)
KR (1) KR101698452B1 (ja)
CN (1) CN105144646B (ja)
AU (1) AU2014254282B2 (ja)
BR (1) BR112015026356A8 (ja)
CA (1) CA2908580C (ja)
IL (1) IL241905A (ja)
MX (1) MX355949B (ja)
WO (1) WO2014172123A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8397088B1 (en) 2009-07-21 2013-03-12 The Research Foundation Of State University Of New York Apparatus and method for efficient estimation of the energy dissipation of processor based systems
US20150029871A1 (en) * 2013-07-24 2015-01-29 Cisco Technology, Inc. Service level agreement validation via service traffic sample-and-replay
US9426215B2 (en) * 2014-04-08 2016-08-23 Aol Inc. Determining load state of remote systems using delay and packet loss rate
US10749769B2 (en) * 2014-08-28 2020-08-18 Ent. Services Development Corporation Lp Identify server cluster by applying social group analysis
US10582745B2 (en) 2015-07-03 2020-03-10 Michal Kadar Llc Ring assembly
GB201512022D0 (en) 2015-07-09 2015-08-19 Level 3 Comm Uk Ltd Dynamic packet routing
US9887708B2 (en) * 2016-01-28 2018-02-06 Amazon Technologies, Inc. Antenna switching circuitry of a mesh network device
SE544512C2 (en) * 2017-08-25 2022-06-28 Telia Co Ab Methods and apparatuses for routing data packets in a network topology
US10439925B2 (en) * 2017-12-21 2019-10-08 Akamai Technologies, Inc. Sandbox environment for testing integration between a content provider origin and a content delivery network
CN114827014A (zh) * 2018-05-28 2022-07-29 华为技术有限公司 一种报文处理方法和装置
US10805210B1 (en) * 2019-09-20 2020-10-13 Juniper Networks, Inc. GRE tunneling with reduced packet encryption at intermediate routers using loose source routing
US11252090B1 (en) * 2019-12-04 2022-02-15 Juniper Networks, Inc Systems and methods for predicting future traffic loads of outgoing interfaces on network devices
US11184433B2 (en) * 2020-03-31 2021-11-23 Microsoft Technology Licensing, Llc Container mobility based on border gateway protocol prefixes
CN113872824B (zh) * 2021-08-19 2023-04-07 网宿科技股份有限公司 Cdn网络质量检测方法、系统、服务器及存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6483833B1 (en) * 1998-06-19 2002-11-19 Nortel Networks Limited Method for transmitting label switching control information using the open shortest path first opaque link state advertisement option protocol
US7133403B1 (en) * 2000-05-05 2006-11-07 Fujitsu Limited Transport network and method
CA2327918A1 (en) * 2000-12-08 2002-06-08 Alcatel Canada Inc. System and method of operating a communication network associated with an mpls implementation on an atm platform
US7292575B2 (en) * 2002-07-24 2007-11-06 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for multi-protocol label switching (MPLS) based data flow aggregation in a third generation (3G) cellular telecommunication system
US20050071469A1 (en) * 2003-09-26 2005-03-31 Mccollom William G. Method and system for controlling egress traffic load balancing between multiple service providers
WO2005109706A1 (fr) * 2004-05-07 2005-11-17 France Telecom S.A. Procede et systeme de protection d’un reseau de communication, ledit reseau de communication incluant un reseau de transport
US7646719B2 (en) 2004-12-02 2010-01-12 Cisco Technology, Inc. Inter-domain TE-LSP selection
US20060165009A1 (en) 2005-01-25 2006-07-27 Zvolve Systems and methods for traffic management between autonomous systems in the Internet
US7483387B2 (en) 2005-05-23 2009-01-27 Cisco Technology, Inc. Hierarchical label distribution for inter-area summarization of edge-device addresses
US20070005734A1 (en) * 2005-06-30 2007-01-04 Microsoft Corporation Generically extensible client application
US7522603B2 (en) 2006-03-14 2009-04-21 Cisco Technology, Inc. Technique for efficiently routing IP traffic on CE-CE paths across a provider network
EP2235642A4 (en) 2007-12-13 2016-08-03 Highwinds Holdings Inc CONTENT DELIVERY NETWORK
JP5271876B2 (ja) * 2009-11-12 2013-08-21 株式会社日立製作所 パケット振り分け機能を有する装置及びパケット振り分け方式
CN103026669B (zh) * 2010-08-20 2015-07-01 日本电气株式会社 通信系统、控制设备以及通信方法
US8601142B2 (en) 2011-01-10 2013-12-03 Verizon Patent And Licensing Inc. Adaptive network address translation binding for wireless networks

Also Published As

Publication number Publication date
CA2908580C (en) 2017-04-11
WO2014172123A1 (en) 2014-10-23
CN105144646A (zh) 2015-12-09
US9374309B2 (en) 2016-06-21
BR112015026356A2 (pt) 2017-07-25
IL241905A (en) 2017-09-28
US20160218969A1 (en) 2016-07-28
AU2014254282B2 (en) 2016-11-17
JP2016517240A (ja) 2016-06-09
CA2908580A1 (en) 2014-10-23
KR20150143657A (ko) 2015-12-23
BR112015026356A8 (pt) 2019-12-24
MX355949B (es) 2018-05-07
US20140310427A1 (en) 2014-10-16
CN105144646B (zh) 2018-03-30
AU2014254282A1 (en) 2015-10-29
MX2015014573A (es) 2016-06-29
KR101698452B1 (ko) 2017-01-20

Similar Documents

Publication Publication Date Title
JP6148397B2 (ja) サーバ管理されたルーティングのシステムおよび方法
US9112794B2 (en) Dynamic multipath forwarding in software defined data center networks
US9722950B2 (en) Processing resource access request in network
US20150319085A1 (en) Flow-based network switching system
US20130294231A1 (en) Method of high-speed switching for network virtualization and high-speed virtual switch architecture
US11336515B1 (en) Simultaneous interoperability with policy-aware and policy-unaware data center sites
US20200336571A1 (en) Application based egress interface selection
EP3249529A1 (en) Method and system for tracking network device information in a network switch
US20250280015A1 (en) Blocking and alerting with domain fronting intelligence
US11627081B2 (en) Method and system segregating application traffic in a wide area network
US12574381B2 (en) Scalable source security group tag (SGT) propagation over third-party WAN networks
EP2793437B1 (en) Server controlled routing system
EP4473718B1 (en) Mechanism to manage bidirectional traffic for high availability network devices
US12476911B2 (en) Mechanism to manage bidirectional traffic for high availability network devices
US12425328B2 (en) Priority based route programing and advertising
US20240236118A1 (en) Detecting and alerting on domain fronting within a network
US20230269159A1 (en) Determining an egress interface for a packet using a processor of a network device
JP2016149716A (ja) アドレス情報書き換え装置、アドレス情報書き換え方法及びパケット転送システム
WO2024249795A1 (en) Scalable source security group tag (sgt) propagation over third-party wan networks

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161007

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161007

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20161007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161216

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20161216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170509

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170518

R150 Certificate of patent or registration of utility model

Ref document number: 6148397

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees