(57)【特許請求の範囲】
【請求項１】
プロバイダネットワークであって、
ネットワーク基盤と、
複数のマルチテナントホストデバイスであって、各ホストデバイスは、複数のクライアントリソースインスタンスを含み、各クライアントリソースインスタンスは、前記プロバイダネットワークの複数のクライアントのうちの１つに割り当てられ、少なくとも１つのホストデバイス上の少なくとも２つのクライアントリソースインスタンスは、前記複数のクライアントのうちの異なるクライアントに割り当てられる、複数のマルチテナントホストデバイスと、
オーバーレイネットワーク分析サービスを実装する１つ以上のコンピューティングデバイスと、を備え、
各ホストデバイスは、１つ以上のオーバーレイネットワークトンネルに関する性能データを収集するように構成され、各オーバーレイネットワークトンネルは、対応するホストデバイスから、前記ネットワーク基盤上の前記ホストデバイスのうちの別のホストデバイスにオーバーレイネットワークパケットを運搬し、対応するオーバーレイネットワークトンネル上の各オーバーレイネットワークパケットは、前記対応するホストデバイス上の前記クライアントリソースインスタンスのうちの１つから取得され、かつ前記別のホストデバイス上の前記クライアントリソースインスタンスのうちの１つをターゲットとするクライアントデータを含み、前記性能データは、前記オーバーレイネットワークトンネルを介して配信されるオーバーレイネットワークパケットに関して決定される往復時間を含み、
前記オーバーレイネットワーク分析サービスは、
前記複数のホストデバイスから前記性能データを取得し、かつ
前記取得された性能データに従って、前記オーバーレイネットワークに関する性能情報を生成するように構成され、前記性能情報は、前記トンネルの前記決定された往復時間に従って算出される前記オーバーレイネットワークトンネルのレイテンシ測定基準を含む、前記プロバイダネットワーク。
【請求項２】
各ホストデバイスは、オーバーレイネットワークトンネルを介して別のホストデバイスに送信された少なくとも１つのオーバーレイネットワークパケットに関して、
前記オーバーレイネットワークパケットが前記オーバーレイネットワークトンネル上でいつ送信されたかを示す送信時間を記録し、
前記オーバーレイネットワークトンネルを介して、前記別のホストデバイスから前記オーバーレイネットワークパケットの受信の確認を受信し、かつ
前記記録された送信時間及び前記確認に従って、前記オーバーレイネットワークパケットの前記往復時間を算出するようにさらに構成される、請求項１に記載の前記プロバイダネットワーク。
【請求項３】
各ホストデバイスは、オーバーレイネットワークトンネルを介して別のホストデバイスに送信された２つ以上のオーバーレイネットワークパケットに関して、
前記オーバーレイネットワークトンネルを介して、前記別のホストデバイスから前記２つ以上のオーバーレイネットワークパケットに関する単一の確認メッセージを受信し、かつ
前記確認メッセージに従って、前記２つ以上のオーバーレイネットワークパケットに関する性能データを決定するようにさらに構成される、請求項１に記載の前記プロバイダネットワーク。
【請求項４】
前記オーバーレイネットワーク分析サービスによって取得される前記性能データは、前記複数のクライアントのうちの２つ以上のクライアントリソースインスタンス間のオーバーレイネットワークトンネルに関して収集される性能データを含み、前記性能情報は、前記２つ以上のクライアントに関する集約された性能データに従って生成される、請求項１に記載の前記プロバイダネットワーク。
【請求項５】
前記オーバーレイネットワーク分析サービスは、
前記集約された性能データ及び前記ネットワーク基盤に関するトポロジー情報に従って、前記オーバーレイネットワークのマッピングを生成することであって、前記マッピングは、前記ホストデバイス間の前記ネットワーク基盤上の前記ホストデバイス及びルートを示す、生成することと、
前記集約された性能データ及び前記トポロジー情報に従って、前記ネットワーク基盤の１つ以上の構成要素の各々の性能測定基準を生成することと、を行うようにさらに構成される、請求項４に記載の前記プロバイダネットワーク。
【請求項６】
方法であって、
プロバイダネットワーク上の１つ以上のコンピューティングデバイス上に実装されるサービスによって、前記プロバイダネットワーク内の異なるホスト間のネットワーク基盤上のオーバーレイネットワーク上で送信されるクライアントデータパケットに関する性能データを取得することであって、各クライアントデータパケットは、前記オーバーレイネットワークを介して前記ネットワーク基盤上で前記クライアントデータパケットをルーティングするために、オーバーレイネットワークメタデータでタグ付けされる、取得することと、
前記性能データに従って、前記オーバーレイネットワークの１つ以上の性能測定基準を決定することとであって、前記性能測定基準は、前記ネットワーク基盤上の１つ以上のオーバーレイネットワークルートの各々のレイテンシ測定基準を含む、決定することと、
前記オーバーレイネットワークの前記１つ以上の性能測定基準を示す出力を生成することと、を含む、前記方法。
【請求項７】
各ホストは、複数のクライアントリソースインスタンスを含み、各クライアントリソースインスタンスは、前記プロバイダネットワークの複数のクライアントのうちの１つに割り当てられ、少なくとも１つのホスト上の少なくとも２つのクライアントリソースインスタンスは、前記プロバイダネットワークの異なるクライアントに割り当てられる、請求項６に記載の前記方法。
【請求項８】
前記クライアントリソースインスタンスは、前記ホスト上に仮想マシン（ＶＭ）として
実装され、各ホストは、対応するホスト上の前記複数の仮想マシン（ＶＭ）をモニタ
し、かつ前記ホスト上のクライアントリソースインスタンスから始まるクライアントデー
タパケットを、オーバーレイネットワークルートを介して前記ネットワーク基盤上に送信
する仮想マシンモニタ（ＶＭＭ）を含む、請求項７に記載の前記方法。
【請求項９】
前記ホストにおいて前記性能データを生成することをさらに含み、前記性能データを前記生成することは、各ホストにおいて、対応するオーバーレイネットワークルートを介した１つ以上の他のホストにおける１つ以上の他のクライアントリソースインスタンスへのオーバーレイネットワークパケットとしての配信に関する前記ホストにおけるオーバーレイネットワークプロトコルに従って、前記ホストにおける１つ以上のクライアントリソースインスタンスから開始し、かつオーバーレイネットワークメタデータでタグ付けされるクライアントデータパケットに関する性能データを収集することを含む、請求項７に記載の前記方法。
【請求項１０】
各ホストにおいて前記性能データを生成することは、オーバーレイネットワークルートを介して別のホストに送信される１つ以上のオーバーレイネットワークパケットの各々に関して、
前記オーバーレイネットワークパケットが前記オーバーレイネットワークルート上でいつ送信されたかを示す送信時間を記録することと、
前記オーバーレイネットワークルートを介して、前記別のホストからオーバーレイネットワークパケットの受信の確認を受信することと、
前記記録された送信時間及び前記確認に従って、前記オーバーレイネットワークルート上の前記オーバーレイネットワークパケットの往復時間を算出することと、を含む、請求項９に記載の前記方法。
【請求項１１】
各ホストにおいて前記性能データを生成することは、オーバーレイネットワークルートを介して別のホストに送信されたオーバーレイネットワークパケットに関して、
前記ホストによって、前記別のホストに送信されたＮ番目毎のオーバーレイネットワークパケットにおいて、前記別のホストから確認メッセージを要求することと、
前記ホストによって、前記Ｎ個の送信されたオーバーレイネットワークパケットうちの２つ以上の受信を示す単一の確認メッセージを前記別のホストから受信することと、
前記確認メッセージに従って、前記Ｎ個の送信されたオーバーレイネットワークパケットに関する性能データを生成することと、を含む、請求項９に記載の前記方法。
【請求項１２】
前記性能データは、各オーバーレイネットワークルートに関して決定される往復時間を含み、各オーバーレイネットワークルートの前記レイテンシ測定基準は、前記対応するオーバーレイネットワークルートの前記往復時間から決定される、請求項６に記載の前記方法。
【請求項１３】
前記性能データは、前記オーバーレイネットワークルートに関する廃棄パケットを示し、各オーバーレイネットワークルートに関して決定される前記性能測定基準は、前記オーバーレイネットワークルートに関する廃棄パケットの前記指示に従って算出されるパケット損失率をさらに含む、請求項６に記載の前記方法。
【請求項１４】
前記サービスによって取得される前記性能データは、前記プロバイダネットワーク上の特定のクライアントのプライベートネットワーク実装における、クライアントリソースインスタンス間のオーバーレイネットワークルートに関して収集される性能データを含み、前記１つ以上の性能測定基準は、前記プロバイダネットワーク上の前記特定のクライアントのプライベートネットワーク実装に関して決定される、請求項６に記載の前記方法。
【請求項１５】
前記性能データに従って、前記クライアントのプライベートネットワーク実装のマッピングを生成することをさらに含み、前記マッピングは、前記プライベートネットワーク実装における前記クライアントリソースインスタンス及び前記クライアントリソースインスタンス間の前記オーバーレイネットワークルートを示す、請求項１４に記載の前記方法。
【発明の詳細な説明】
【背景技術】
【０００１】
多くの企業及び他の組織は、例えば、共同設置された（例えば、ローカルネットワークの一部として）、または代わりに複数の別個の地理的な場所に設置された（例えば、１つ以上のプライベートまたはパブリック中間ネットワークを介して接続された）コンピューティングシステムなどを用いて、それらの操作を支持するために多数のコンピューティングシステムを相互接続するコンピュータネットワークを操作する。例えば、著しい数の相互接続されたコンピューティングシステムを格納するデータセンターは、一般的になっており、例えば、単一の機関によって操作され、また単一の機関のためのプライベートデータセンター、及びコンピューティングリソースを顧客またはクライアントに提供するための事業としてエンティティによって操作されるパブリックデータセンターなどである。幾つかのパブリックデータセンターの操作者は、ネットワークアクセス、電力、及び種々のクライアントによって所有されるハードウエアのための安全なインストール設備を提供し、一方、他のパブリックデータセンターの操作者は、それらのクライアントによる使用に利用可能にされたハードウエアリソースも含む「完全なサービス」設備を提供する。しかしながら、典型的なデータセンターの規模及び範囲が増加するにつれ、物理的コンピューティングリソースを設定、運営、及び管理する課題は、ますます複雑になっている。
【０００２】
コモディティハードウエアのための仮想化テクノロジーの出現は、多様な需要を有する多くのクライアントのための大規模なコンピューティングリソースの管理に関して利益を提供し、種々のコンピューティングリソースが複数のクライアントによって効率的及び安全に共有されることを可能にした。例えば、仮想化テクノロジーは、各ユーザに、単一の物理的計算機によってホストされる１つ以上の仮想マシンを、各かかる仮想マシンが、ユーザに彼らが所与のハードウエアコンピューティングリソースの唯一の操作者及び管理者であるという錯覚を提供する別個の論理コンピューティングシステムとして働くソフトウエアシミュレーションである状態で、各ユーザに提供し、また一方で、種々の仮想マシン間にアプリケーションの単離及びセキュリティを提供することによって、単一の物理的計算機が複数のユーザ間で共有されることを可能にすることができる。さらに、幾つかの仮想化テクノロジーは、複数の別個の物理的コンピューティングシステムにわたる複数の仮想プロセッサを有する単一の仮想マシンなどの、２つ以上の物理的リソースにわたる仮想リソースを提供することができる。
【０００３】
別の例として、仮想化テクノロジーは、複数のデータ記憶デバイスにわたって分散されることができる仮想化されたデータ記憶を、各かかる仮想化されたデータ記憶が、ユーザに彼らがデータ記憶リソースの唯一の操作者及び管理者であるという錯覚を提供する別個の論理データ記憶として働く状態で、各ユーザに提供することによって、データ記憶ハードウエアが複数のユーザ間で共有されることを可能にすることができる。
【図面の簡単な説明】
【０００４】
【図１】少なくとも幾つかの実施形態による、オーバーレイネットワーク分析方法のハイレベルフローチャートである。
【図２】少なくとも幾つかの実施形態による、図１に例証されるオーバーレイネットワーク分析方法内のデータフロー及び該オーバーレイネットワーク分析方法の操作を例証するハイレベルブロック図である。
【図３】少なくとも幾つかの実施形態による、プロバイダネットワーク環境におけるオーバーレイネットワーク分析サービス例を例証する。
【図４】少なくとも幾つかの実施形態による、クライアントリソースインスタンス間の特定のトンネルまたはルートに関する性能データの取得及び分析を例証する。
【図５】図５Ａ〜５Ｃは、少なくとも幾つかの実施形態による、オーバーレイネットワークデータパケット例及びオーバーレイネットワーク確認パケット例を例証する。
【図６】少なくとも幾つかの実施形態による、クライアントのオーバーレイネットワークトラフィックに従って、オーバーレイネットワーク上のクライアントのプライベートネットワーク実装に関する性能を分析するための方法のフローチャートである。
【図７】少なくとも幾つかの実施形態による、集約されたクライアントネットワークトラフィックに従って、オーバーレイネットワークの性能をマッピング及び分析するための方法のフローチャートである。
【図８】図８Ａ〜８Ｄは、少なくとも幾つかの実施形態による、オーバーレイネットワーク分析方法のための出力例を例証する。
【図９】少なくとも幾つかの実施形態による、プロバイダネットワーク環境例を例証する。
【図１０】幾つかの実施形態による、ＩＰトンネリングテクノロジーを使用してネットワーク基盤上にオーバーレイネットワークを実装するデータセンター例を例証する。
【図１１】少なくとも幾つかの実施形態による、記憶仮想化サービス及びハードウエア仮想化サービスをクライアントに提供するプロバイダネットワーク例のブロック図である。
【図１２】少なくとも幾つかの実施形態による、仮想化されたプライベートネットワークを少なくとも幾つかのクライアントに提供するプロバイダネットワーク例を例証する。
【図１３】幾つかの実施形態において使用することができるコンピュータシステム例を例証するブロック図である。
【０００５】
実施形態は、幾つかの実施形態及び例証的な図面のための例のために本明細書に説明されているが、当業者は、実施形態は、説明される実施形態または図面に限定されないことを認識するであろう。図面及びそれに対する発明を実施するための形態は、実施形態を開示される特定の形態に限定することを意図するものではなく、対照的に、添付の特許請求の範囲によって定義される精神及び範囲内に含まれる全ての修正、同等物、及び代替物を網羅することを意図するものであることが理解されるべきである。本明細書に使用される表題は、単に組織的な目的のためであり、説明及び特許請求の範囲の範囲を限定するために使用されることを意味するものではない。本明細書を通して使用されるとき、語句「することができる」は、必須的な意味（すなわち、しなければならないことを意味する）というよりむしろ、許可的な意味（すなわち、する可能性を有することを意味する）で使用される。同様に、語句「含む（ｉｎｃｌｕｄｅ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」、及び「含む（ｉｎｃｌｕｄｅｓ）」は、含むがそれらに限定されないことを意味する。
【発明を実施するための形態】
【０００６】
ネットワークトラフィックマッピング及び性能分析のための方法及び装置の種々の実施形態が、説明される。具体的には、オーバーレイネットワーク上のクライアントパケットトラフィックデータを含むがそれらに限定されないデータを取得し、取得されたデータに基づいて１つ以上の分析を実施して、オーバーレイネットワーク及び／またはオーバーレイネットワークが実装されるネットワーク基盤に関するトポロジー情報及び／または性能情報を生成及び出力する、オーバーレイネットワーク分析方法の実施形態が説明される。特定のクライアントリソースインスタンスに関して収集されるクライアントトラフィックデータは、インスタンス間のオーバーレイネットワークの性能測定基準を生成するために分析することができる。特定のクライアントに関する集約されたクライアントトラフィックデータもまた、オーバーレイネットワーク上のクライアントのプライベートネットワーク実装のマッピング、及びオーバーレイネットワーク上のクライアントのプライベートネットワークの性能測定基準を生成するために分析することができる。それに加えて、複数のクライアントからのクライアントトラフィックデータは、オーバーレイネットワーク全体のマッピング及び性能測定基準を生成するために集約及び分析することができる。
【０００７】
オーバーレイネットワーク分析方法の実施形態は、オーバーレイネットワーク分析モジュールとしてか、またはその中に実装することができる。オーバーレイネットワーク分析モジュールは、例えば、図３に例証されるサービスプロバイダのプロバイダネットワーク環境内のオーバーレイネットワーク分析サービスによって、ネットワーク環境内の１つ以上のコンピューティングシステム上か、またはそれによって実装することができる。オーバーレイネットワーク分析モジュール及び／またはオーバーレイネットワーク分析サービスの実施形態を実装することができるコンピュータシステム例は、図１３に例証される。
【０００８】
オーバーレイネットワーク分析方法及び装置の実施形態は概して、インターネットなどの中間ネットワークを介して、サービスプロバイダのプロバイダネットワーク上に実装される仮想化されたリソース（例えば、仮想化されたコンピューティング及び記憶リソース）をクライアントに提供するサービスプロバイダの文脈において本明細書に説明される。図９〜１２、及びプロバイダネットワーク環境例と題される章は、本明細書に説明される方法及び装置の実施形態を実装することができる環境例を例証及び説明し、限定的であることを意図するものではない。少なくとも幾つかの実施形態では、プロバイダネットワークを介してサービスプロバイダのクライアントに提供されるリソースのうちの少なくとも一部は、他のクライアント（単数または複数）と共有されるマルチテナントハードウエア上に、及び／または特定のクライアント専用のハードウエア上に実装される仮想化されたコンピューティングリソースであることができる。各仮想化されたコンピューティングリソースは、リソースインスタンスと称することができる。リソースインスタンスは、例えば、サービスプロバイダのクライアントに賃借またはリースされることができる。例えば、サービスプロバイダのクライアントは、プロバイダネットワークの１つ以上のサービスに該サービスへのＡＰＩを介してアクセスして、リソースインスタンスを取得及び構成し、例えば、図１２に例証される仮想化されたプライベートネットワークなどの、リソースインスタンスを含む仮想ネットワーク構成を構築及び管理することができる。
【０００９】
リソースインスタンスは、例えば、複数のオペレーティングシステムがホストコンピュータ上で同時に、即ち、ホスト上で仮想マシン（ＶＭ）として動作することを可能にするハードウエア仮想化テクノロジーに従って実装することができる。ホスト上のハイパーバイザ、または仮想マシンモニタ（ＶＭＭ）は、ホスト上のＶＭに仮想プラットフォームを提示し、ＶＭの実行をモニタする。各ＶＭは、１つ以上のプライベートＩＰアドレスを提供されることができ、ホスト上のＶＭＭは、ホスト上のＶＭのプライベートＩＰアドレスを認識することができる。ハードウエア仮想化テクノロジーについてのさらなる情報に関しては、図１０を参照されたい。
【００１０】
ＶＭＭは、インターネットプロトコル（ＩＰ）トンネリングテクノロジーを使用して、プロバイダネットワーク内の異なるホスト上のクライアントリソースインスタンス間のネットワーク基盤上で、クライアントデータパケットをカプセル化及びルーティングすることができる。プロバイダネットワークは、ルータ、スイッチ、ネットワークアドレス変換器（ＮＡＴ）などのネットワークデバイス、及びデバイス間の物理的接続を含む、物理的ネットワーク基盤を含むことができる。プロバイダネットワークは、ＩＰトンネリングテクノロジーを用いて、それを介してカプセル化されたパケットが（即ち、オーバーレイネットワーク上でルーティングするためのオーバーレイネットワークアドレス情報を含むがそれらに限定されない、オーバーレイネットワークメタデータでタグ付けされたクライアントパケット）トンネルまたはオーバーレイネットワークルートを介してネットワーク基盤を通過されることができる、オーバーレイネットワークを提供することができる。ＩＰトンネリングテクノロジーは、ネットワーク基盤上にオーバーレイネットワークを作成するためのマッピング及びカプセル化システムを提供することができ、オーバーレイネットワーク層（パブリックＩＰアドレス）及びネットワーク基盤層（プライベートＩＰアドレス）のための別々の名前空間を提供することができる。少なくとも幾つかの実施形態では、オーバーレイネットワーク層内のカプセル化されたパケットは、それらのトンネル基盤ターゲット（プライベートＩＰアドレス）が何であるべきかを決定するために、マッピングディレクトリと照合されることができる。ＩＰトンネリングテクノロジーは、物理的ネットワーク基盤上に重なり合う仮想ネットワークトポロジーを提供し、クライアントに提示されるインターフェース（例えば、サービスＡＰＩ）は、クライアントリソースインスタンスが、パケットが送信されるべきＩＰアドレスを提供するときに、ＩＰアドレスが、ＩＰオーバーレイアドレスがどこにあるかを決定することができるマッピングサービスと通信することによって、仮想空間内で動作されるように、オーバーレイネットワークに取り付けられる。オーバーレイネットワークテクノロジーについてのさらなる情報に関しては、図１０を参照されたい。
【００１１】
ホスト上のクライアントリソースインスタンスは、伝送制御プロトコル（ＴＣＰ）などのステートフルプロトコルに従って、及び／またはユーザデータグラムプロトコル（ＵＤＰ）などのステートレスプロトコルに従って、同一のホスト上または異なるホスト上の他のクライアントリソースインスタンスと通信することができる。しかしながら、クライアントパケットは、送信ＶＭＭによってオーバーレイネットワークプロトコルに従ってカプセル化され、受信ＶＭＭによって非カプセル化される。ホスト上のＶＭＭは、ホスト上のクライアントリソースインスタンスからの、別のクライアントリソースインスタンスのＩＰアドレスをターゲットとするクライアントパケット（例えば、ＴＣＰまたはＵＤＰパケット）の受信に応じて、オーバーレイネットワーク（またはＩＰトンネリング）プロトコルに従ってクライアントパケットをカプセル化またはタグ付けし、カプセル化されたパケットをオーバーレイネットワーク上に配信のために送信する。カプセル化されたパケットは次に、ＩＰトンネリングテクノロジーに従って、オーバーレイネットワークを介して別のＶＭＭにルーティングされることができる。他のＶＭＭは、パケットからオーバーレイネットワークカプセル化を外す、クライアントパケット（例えば、ＴＣＰまたはＵＤＰパケット）を、ターゲットクライアントリソースインスタンスを実装するホスト上の適切なＶＭに配信する。
【００１２】
従来、オーバーレイネットワークは、無接続（またはステートレス）ＩＰプロトコルに従って実装されるステートレスネットワークである。送信ＶＭＭは、ルーティング及び配信のためにカプセル化されたパケットをオーバーレイネットワーク上に送信するが、確認（ＡＣＫ）またはパケットの配信に関する他の応答は受信しない。
【００１３】
オーバーレイネットワーク分析方法
オーバーレイネットワーク分析方法の少なくとも幾つかの実施形態では、性能統計及び他の目的のためのオーバーレイネットワークトラフィックのモニタ及び分析を可能にするために、オーバーレイネットワークプロトコルは、オーバーレイネットワークプロトコルパケット情報内に追加の情報（例えば、確認フラグ、タイムスタンプ、パケットシーケンス番号など）を含むように拡張されることができる。それに加えて、オーバーレイネットワークプロトコルは、ＶＭＭによる受信されるオーバーレイネットワークパケットの確認を可能にするように、拡張されることができる。したがって、ＶＭＭが１つ以上のオーバーレイネットワークパケットをオーバーレイネットワーク上に送信した後、ＶＭＭは、オーバーレイネットワークパケット（単数または複数）の受信に応答して、別のＶＭＭから確認メッセージ（単数）またはメッセージ（複数）を受信することができる。幾つかの実施形態では、各オーバーレイネットワークパケットは、確認メッセージを生成することができる。別法として、Ｎ番目毎のオーバーレイネットワークパケットのみが、確認メッセージを生成することができる。少なくとも幾つかの実施形態によるオーバーレイネットワークデータパケット例及びオーバーレイネットワーク確認パケット例に関しては、図５Ａ〜５Ｃを参照されたい。拡張されたオーバーレイネットワークプロトコルは、パケットの横断時間（例えば、往復時間または片道横断時間）などの性能データを決定及び収集することを可能にすることができ、該性能データから、平均往復時間、レイテンシ、スループット、及びパケット廃棄率などの性能測定基準を、ＶＭＭ間の特定のトンネルまたはオーバーレイネットワークルートに関して決定することができる。複数のＶＭＭからの集約されたデータは、クライアントプライベートネットワークレベルの、及び／もしくはオーバーレイネットワーク全体に関する性能統計、マッピング、及び／または他の情報を決定するために分析することができる。少なくとも幾つかの実施形態では、ネットワーク基盤に関するトポロジー情報を伴う複数のクライアントからの集約されたデータは、オーバーレイネットワーク上の問題が発生しているネットワーク基盤上の場所または特定の構成要素を決定するために分析することができる。少なくとも幾つかの実施形態では、往復時間、スループット、及びレイテンシなどの時間ベースのデータ及び測定基準を正確に算出することができるように、時間同期技術またはテクノロジーを使用して、ＶＭＭを実装するホストデバイス間で時間を同期させることができる。
【００１４】
図１は、少なくとも幾つかの実施形態による、オーバーレイネットワーク分析方法のハイレベルフローチャートである。１００に示される通り、オーバーレイネットワーク上のクライアントリソースインスタンス間のパケットトラフィックに基づくオーバーレイネットワーク性能に関連するデータは、例えば、プロバイダネットワーク内のホストデバイス上の仮想マシンモニタ（ＶＭＭ）から取得することができる。ＶＭＭは、拡張されたオーバーレイネットワークプロトコルに従って取得されたデータを収集し、収集されたデータをオーバーレイネットワーク分析構成要素に定期的または不定期的に提供することができる。１０２に示される通り、取得されたデータは、性能統計、マッピング、及びオーバーレイネットワークに関する他の情報を決定するために分析することができる。決定される情報は、特定のクライアントリソースインスタンスに関して収集されるデータに基づく特定のリソースインスタンス／トンネルレベルの情報、クライアントに特異的な複数のクライアントリソースインスタンス／トンネルに関して収集されるデータに基づくクライアントレベルの情報、及び／または複数のクライアントの複数のクライアントリソースインスタンス／トンネルに関して収集されるデータに基づくオーバーレイネットワークの集約レベルの情報を含むことができる。１０４に示される通り、決定された情報を示す出力を提供することができる。出力は、クライアントリソースインスタンスレベルの、クライアントレベルの、及び／またはオーバーレイネットワークの集約レベルの性能統計及び／またはマッピング出力を挙げることができる。図１に例証される方法の要素は、図２〜１３に関連して下記にさらに説明される。
【００１５】
図２は、少なくとも幾つかの実施形態による、図１に例証されるオーバーレイネットワーク分析方法内のデータフロー及び該オーバーレイネットワーク分析方法の操作を例証するハイレベルブロック図である。オーバーレイネットワークデータ収集構成要素２００及びオーバーレイネットワーク分析構成要素２０２は、プロバイダネットワーク上に、例えば、プロバイダネットワーク上の１つ以上のサーバシステム上に実装することができる。オーバーレイネットワークデータ収集構成要素２００は、オーバーレイネットワーク上の１つ以上のソースから、オーバーレイネットワーククライアントトラフィックデータフローに関連するデータを取得することができる。例えば、少なくとも幾つかの実施形態では、プロバイダネットワーク内のホストデバイス上の仮想マシンモニタ（ＶＭＭ）は、各々、ＶＭＭにおける仮想マシンに対応するクライアントリソースインスタンスから開始するクライアントトラフィックに関するオーバーレイネットワークトンネル（またはルート）トラフィックデータを収集し、収集されたデータをオーバーレイネットワークデータ収集構成要素２００に定期的または不定期的に提供することができる。ＶＭＭによってデータ収集構成要素２００に提供されるトンネルトラフィックデータは、各トンネルのパケットレベルであってもよく、または別法として、各トンネルの複数のパケットに関する要約データであってもよい。それに加えて、ＶＭＭによってデータ収集構成要素２００に提供されるトンネルトラフィックデータは、特定のクライアントのリソースインスタンスに特異的なデータであってもよく、または複数のクライアントのリソースインスタンスに関して収集される集約データであってもよい。トンネルトラフィックデータは、パケットのソースまたはパケットのターゲットである特定のクライアント及び／または特定のクライアントリソースインスタンスを識別する情報などの識別情報、ならびに往復時間及び廃棄パケットの指示などの性能情報または測定基準を含むことができるが、それらに限定されない。
【００１６】
したがって、オーバーレイネットワークデータ収集構成要素２００は、プロバイダネットワーク上の各ＶＭＭから、オーバーレイネットワークトンネルまたはルート上のオーバーレイネットワーククライアントトラフィックデータフローに関連するデータを取得することができる。各ＶＭＭから取得されるデータは、ＶＭＭにおいて１つ、２つ、またはそれ以上のクライアントリソースインスタンスに関して収集されるデータを含むことができる。所与のクライアントリソースインスタンスに対応するデータは、それを介してクライアントリソースインスタンスから開始するクライアントデータが別のＶＭＭにおける別のクライアントリソースインスタンスに送信される、対応するＶＭＭから開始する１つ以上のオーバーレイネットワークトンネルに関して収集されるデータを含むことができる。それに加えて、クライアントリソースインスタンスは、他のクライアント（単数または複数）と共有されるマルチテナントハードウエア（ホストデバイスまたはシステム）上に実装されることができ、したがって、各ＶＭＭから取得されるデータは、必ずしもではないが、対応するホストデバイス上に実装されるクライアントリソースインスタンスを有するプロバイダネットワークの２つ以上の異なるクライアントに関して収集されるデータを含むことができる。
【００１７】
オーバーレイネットワーク分析構成要素２０２は、オーバーレイネットワークデータ収集構成要素２００によってＶＭＭから収集される、パケットレベルデータ、トンネルレベルデータ、または要約データを取得することができる。少なくとも幾つかの実施形態では、データ収集構成要素２００は、収集されたデータを分析構成要素２０２に直接供給することができる。別法として、収集されたデータは、データ収集構成要素２００によって、分析構成要素２０２がそこからデータにアクセスすることができるメモリまたはデータ記憶に記憶されることができる。少なくとも幾つかの実施形態では、分析構成要素２０２は、特定のリソースインスタンスもしくは特定のクライアントのリソースインスタンスに特異的なデータ、または２つ以上もしくは全てのクライアントのリソースインスタンスに対応する集約データを取得することができる。
【００１８】
少なくとも幾つかの実施形態では、オーバーレイネットワーク分析構成要素２０２は、１つ以上のソースからネットワーク基盤トポロジー情報を取得することもできる。ネットワーク基盤トポロジー情報は、例えば、ユーザ入力及び／または他のソース（例えば、テキストまたは図形ファイル入力）を介して取得することができる。ネットワーク基盤トポロジー情報は、例えば、ネットワーク基盤の物理的構成または配置、及び各構成要素に関する場所情報を伴うネットワーク基盤の特定の構成要素（ケーブルスパン、ネットワークデバイスなど）を示す情報を示すことができる。
【００１９】
分析構成要素２０２は、データ収集構成要素から取得されるデータを定期的に分析して、オーバーレイネットワークマッピング及び／または性能情報２０４を生成することができる。少なくとも幾つかの実施形態では、分析は、クライアントレベルまたは集約（マルチクライアント）レベルで実施することができる。クライアントレベルの分析は、例えば、図４及び１２に例証されるクライアントの仮想化されたプライベートネットワークに関して、クライアントのプロバイダネットワーク実装に特異的な性能、健全性、及び／または他の情報を生成するために、特定のクライアントのリソースインスタンスに特異的なデータに従って実施することができる。幾つかの実施形態では、分析はまた、クライアントのプロバイダネットワーク実装における特定のクライアントリソースインスタンス間の特定のオーバーレイネットワークトンネル（単数）またはトンネル（複数）に特異的な性能、健全性、及び／または他の情報を生成するために、クライアントリソースインスタンスレベルで実施することもできる。
【００２０】
集約分析は、オーバーレイネットワーク全体に関する性能、健全性、ネットワークマッピング、及び／または他の情報を生成するために、２つ以上のクライアントのリソースインスタンスに対応する集約データに従って実施することができる。それに加えて、集約分析は、仮想化されたオーバーレイネットワークが実装される物理的ネットワーク基盤の構成要素の性能測定基準を決定するために実施することができる。後者の場合、オーバーレイネットワーク分析構成要素２０２は、ネットワーク基盤トポロジー情報を伴う複数のクライアントに関連付けられる複数のトンネルからの集約データを使用して、ネットワーク基盤内の問題箇所、例えば、オーバーレイネットワーク上で遅延を引き起こしている、及び／または廃棄パケットをもたらしているネットワーク構成要素（ルータ、スイッチ、ケーブルなど）を特定することができる。
【００２１】
少なくとも幾つかの実施形態では、オーバーレイネットワーク分析構成要素２０２によって生成されるクライアントレベルのオーバーレイネットワークマッピング及び／または性能情報２０４は、例えば、図３に例証されるオーバーレイネットワーク分析サービス３２０によって提供される１つ以上のＡＰＩを介して、対応するクライアントに提供されることができる。例として、プロバイダネットワーク上の特定のクライアントのプライベートネットワーク実装に関するクライアントレベルの情報２０４は、例えば、図１１に例証されるクライアントネットワーク１１５０上のコンソール１１９４などのクライアントの外部ネットワーク上のデバイス上に、クライアントのエージェント（単数または複数）による閲覧のために提供及び表示されることができる。少なくとも幾つかの実施形態では、１つ以上のクライアントに関するクライアントレベルの情報２０４はまた、プロバイダネットワーク上の、例えば、ネットワーク管理コンソールなどのデバイスを介して、サービスプロバイダのエージェント（例えば、ネットワーク管理者または技師）によってアクセスされることもできる。オーバーレイネットワーク分析構成要素２０２によって生成される集約レベルのオーバーレイネットワークマッピング及び／または性能情報２０４は、プロバイダネットワーク上の、例えば、ネットワーク管理コンソールなどのデバイスを介して、例えば、図３に例証されるオーバーレイネットワーク分析サービス３２０によって提供される１つ以上のＡＰＩを介して、サービスプロバイダのエージェント（例えば、ネットワーク管理者または技師）に提供されることができる。幾つかの実施形態では、集約レベルの（マルチクライアント）情報は、個々のクライアントには提供されなくてもよい。他の実施形態では、少なくとも幾つかの集約レベルの情報は、少なくとも幾つかの場合において、例えば、サービスへのＡＰＩ（単数または複数）を介して、クライアントに対してアクセス可能にされてもよい。
【００２２】
少なくとも幾つかの実施形態では、オーバーレイネットワーク情報２０４は、定期的または不定期的に更新される動的表示を介して提供され、新規に分析されたクライアント特異的なまたは集約された情報を報告することができる。代替的にかまたはそれに加えて、オーバーレイネットワーク情報２０４は、定期的または不定期的なレポートとして生成されることができ、またはサービスへのＡＰＩ（単数または複数）を介したプロバイダネットワークのエージェントもしくはクライアントのエージェントの要求に応じて、生成されることができる。図８Ａ〜８Ｄは、クライアントレベルの及び集約レポートの例を示す。
【００２３】
オーバーレイネットワーク分析サービス
少なくとも幾つかの実施形態では、本明細書に説明されるオーバーレイネットワークトラフィックマッピング及び性能分析は、サービスプロバイダのプロバイダネットワーク環境のオーバーレイネットワーク分析サービスによって提供されることができる。図３は、少なくとも幾つかの実施形態による、プロバイダネットワーク環境におけるオーバーレイネットワーク分析サービス例を例証する。プロバイダネットワーク環境例は、図９〜１２にさらに例証される。オーバーレイネットワーク分析サービスまたはそれらの構成要素を実装することができるコンピュータシステム例は、図１３に例証される。
【００２４】
図３を参照すると、各仮想マシンモニタ（ＶＭＭ）３１２は、プロバイダネットワーク３００内の対応するホスト３１０デバイス上の複数の仮想マシン（ＶＭ）をモニタする。クライアントリソースインスタンス３１４は、ＶＭ１つ当り１つのクライアントリソースインスタンス３１４を有して、ＶＭ上に実装することができる。ホスト３１０は、サービスプロバイダの２つ以上のクライアントによって共有されるマルチテナントハードウエアであり得ることに留意されたい。したがって、所与のホスト３１０は、サービスプロバイダの２つ以上の異なるクライアントに関するクライアントリソースインスタンス３１４をホストすることができ、ホスト３１０上のＶＭＭ３１２は、２つ以上の異なるクライアントのクライアントリソースインスタンス３１４を実装するＶＭをモニタすることができる。ＶＭＭ３１２は、クライアントリソースインスタンス３１４と、例えば、インターネットプロトコル（ＩＰ）トンネリングテクノロジーに従って実装されるオーバーレイネットワークなどのネットワーク基盤３０２上のオーバーレイネットワークとの間の中間物として機能することができる。
【００２５】
少なくとも幾つかの実施形態では、性能統計及び他の目的のためのオーバーレイネットワークトラフィックのモニタ及び分析を可能にするために、オーバーレイネットワークプロトコルは、オーバーレイネットワークプロトコルパケット情報内に追加の情報（例えば、確認フラグ、タイムスタンプ、パケットシーケンス番号など）を含むように拡張されることができる。それに加えて、少なくとも幾つかの実施形態では、オーバーレイネットワークプロトコルは、ＶＭＭ３１２による受信されるオーバーレイネットワークパケットの確認を可能にするように拡張されることができる。拡張されたオーバーレイネットワークプロトコルは、パケットの往復時間などの性能データを決定及び収集することを可能にすることができ、該性能データから、平均往復時間、スループット、及びレイテンシなどの性能測定基準を、特定のクライアントリソースインスタンス３１４間のトンネルに関して決定することができる。複数のＶＭＭ３１２からの集約されたデータは、クライアントプライベートネットワークレベルの、及び／もしくはオーバーレイネットワーク全体に関する性能統計、マッピング、及び／または他の情報を決定するために分析することができる。少なくとも幾つかの実施形態では、ネットワーク基盤に関するトポロジー情報を伴う複数のクライアントからの集約されたデータは、オーバーレイネットワーク上の問題が発生しているネットワーク基盤上の場所または特定の構成要素を決定するために分析することができる。少なくとも幾つかの実施形態では、往復時間、スループット、及びレイテンシなどの時間ベースの測定基準を正確に算出することができるように、時間同期技術またはテクノロジーを使用して、ＶＭＭ３１２を実装するホスト３１０間で時間を同期させることができる。
【００２６】
ＶＭＭ３１２は、ホスト３１０上の１つ以上のクライアントリソースインスタンス３１４からクライアントデータパケット（例えば、ＴＣＰまたはＵＤＰパケット）を受信することができる。例えば、ＶＭＭ３１２Ａは、ホスト３１０Ａ上のリソースインスタンス（単数または複数）３１４Ａからクライアントデータパケットを受信することができる。クライアントデータパケットのうちの少なくとも幾つかは、例えば、ホスト３１０Ｂ上のリソースインスタンス３１４Ｂ及び／またはホスト３１４Ｃ上のリソースインスタンス３１４Ｃのために、プロバイダネットワーク３００上の他のホスト３１０上に実装される他のクライアントリソースインスタンス３１４をターゲットとすることができる。ＶＭＭ３１２（例えば、ＶＭＭ３１２Ａ）は、オーバーレイネットワークプロトコルに従ってクライアントデータパケットをカプセル化し、拡張された情報（例えば、タイムスタンプ、クライアントリソースインスタンス識別子、パケットシーケンス番号、確認フラグなど）を含み、ターゲットクライアントリソースインスタンス３１４をモニタするＶＭＭ３１２（例えば、ＶＭＭ３１４Ｂ及び３１４Ｃ）への配信のために、オーバーレイネットワークデータパケットをオーバーレイネットワーク上に送信する。少なくとも幾つかの実施形態によるオーバーレイネットワークデータパケットの例に関しては、図５Ａを参照されたい。少なくとも幾つかの実施形態では、ＩＰトンネリングテクノロジーを使用して、送信ＶＭＭ３１２において、ＩＰオーバーレイアドレス（パブリックＩＰアドレス）を基盤３０２ＩＰアドレス（プライベートＩＰアドレス）にマッピングし、２つの名前空間の間のオーバーレイネットワークトンネル３０６を介してルーティングするためにＩＰトンネリング（またはオーバーレイネットワーク）プロトコルに従ってクライアントデータパケットをカプセル化またはタグ付けすることができる。カプセル化されたクライアントデータパケットは次に、ネットワーク基盤３０２上のトンネル３０６を介して正しい終点（受信ＶＭＭ３１２）に配信されることができ、カプセル化は、受信ＶＭＭ３１２においてクライアントデータパケットから外され、クライアントデータパケットは、適切なリソースインスタンス３１４に配信される。
【００２７】
少なくとも幾つかの実施形態では、送信ＶＭＭ３１２（例えば、ＶＭＭ３１２Ａ）はまた、例えば、図４に例証される送信パケットログ内などに、オーバーレイネットワーク上に送信されたオーバーレイネットワークデータパケットのうちの一部または全部に関する情報を局所的に記録することもできる。送信パケットに関する記録される情報は、データ流／シーケンス番号情報などのＶＭＭ３１２へのパケットを一意的に識別する方法、タイムスタンプと称されるデータパケットが送信された時間、オーバーレイネットワークデータパケット内のカプセル化されたクライアントデータパケットを開始したＶＭ、クライアント、及び／またはクライアントリソースインスタンスの指示、ならびにクライアントデータパケットのターゲットの指示のうちの１つ以上を含むことができるが、それらに限定されない。
【００２８】
少なくとも幾つかの実施形態では、オーバーレイネットワークデータパケットを受信する１つ以上のＶＭＭ３１２（例えば、ＶＭＭ３１２Ｂ及び３１２Ｃ）は、各受信されたパケットに応答して、オーバーレイネットワークを介して確認メッセージまたはパケットを送信ＶＭＭ３１２（例えば、ＶＭＭ３１２Ａ）に戻すことができる。少なくとも幾つかの実施形態によるオーバーレイネットワーク確認パケット例に関しては、図５Ｂ及び５Ｃを参照されたい。確認パケットは、データ流／シーケンス番号識別子などの、確認されているオーバーレイネットワークデータパケットを識別する情報を含むことができる。少なくとも幾つかの実施形態では、確認パケットは、オーバーレイネットワークデータパケットがＶＭＭ３１２にて受信されたときのタイムスタンプ、及び／または確認パケットがＶＭＭ３１２によって送信されたときのタイムスタンプなどの追加の情報を含むことができる。図５Ｂに示される通り、幾つかの場合では、オーバーレイネットワーク確認パケットは、クライアントデータを含まなくてもよい。しかしながら、他の場合では、オーバーレイネットワーク確認パケットは、クライアントデータ（例えば、クライアント確認パケット）も含むことができる。
【００２９】
幾つかの実施形態では、各受信されたパケットに応答して確認メッセージを送信する代わりに、Ｎ番目毎（例えば、２番目、１２番目、１００番目など）の受信されたパケットのみが、確認メッセージを生成することができる。例えば、確認メッセージは単に、送信ＶＭＭ３１２からの確認要求に応答して受信ＶＭＭ３１２によって送信されることができる。例えば、送信ＶＭＭ３１２は、データ流内の各パケットと共にタイムスタンプ及びシーケンス番号を送信するが、例えば、パケットのオーバーレイネットワークパケットヘッダ内に確認要求フラグを設定することによって、Ｎパケット毎にのみ確認メッセージを要求することができる。Ｎ（この要求に関するパケットの数）の指示もまた、オーバーレイネットワークパケットヘッダ内に含まれることができる。Ｎは、必ずしもではないが、固定された数であり得ることに留意されたい。受信ＶＭＭ３１２は、受信されるパケットの測定基準を収集し、確認要求を受信した後、最後の確認が行われて以降に受信された全パケット、または最後のＮ個の受信されたパケットに関する統計を戻すことができる。戻される統計は、限定されるものではないが、パケットの平均または集約通過時間、及び何個のパケットが実際に受信されたかの計数のうちの１つ以上を含むことができる。例えば、確認要求内に示される通りＮ＝１００であり、受信ＶＭＭ３１２が、最後の確認要求以降に９８パケットのみ受信しているならば、受信ＶＭＭ３１２は、９８パケットのみが受信されたということを確認メッセージ内に示すことができる。別法として、幾つかの実施形態では、受信されたＮ個のパケットの各々の受信時間及びシーケンス番号を、確認パケット内に戻すことができる。
【００３０】
前述の通り、ホスト３１０上のクライアントリソースインスタンス３１４は、伝送制御プロトコル（ＴＣＰ）などのステートフルプロトコル及び／またはユーザデータグラムプロトコル（ＵＤＰ）などのステートレスプロトコルに従って、異なるホスト３１４上の他のクライアントリソースインスタンス３１４と通信することができる。ＴＣＰなどのステートフルプロトコルを使用するクライアントリソースインスタンス間の通信セッションでは、確認（ＡＣＫ）メッセージは、受信クライアントリソースインスタンス３１４から送信クライアントリソースインスタンス３１４へ送信されることができる。幾つかの実施形態は、送信クライアントリソースインスタンス３１４に送り返されているクライアントＡＣＫメッセージ上にオーバーレイネットワークプロトコル確認メッセージをピギーバックすることによって、ステートフルプロトコルのこの態様を利用することができる。これらの実施形態では、オーバーレイネットワークプロトコルに従って別々の確認メッセージを生成する代わりに、受信ＶＭＭ３１２は、受信クライアントリソースインスタンスから送信されているＡＣＫメッセージ（例えば、ＴＣＰ  ＡＣＫメッセージ）を検出し、１つ以上の受信されたパケットに関してそれが収集したオーバーレイネットワーク分析情報をＡＣＫパケットがカプセル化されるオーバーレイネットワークヘッダの中に含むことができる。ＵＤＰなどのステートレスプロトコルは、典型的には、確認メッセージを生成せず、したがってステートレスプロトコルが使用されるクライアント間のデータ流に関しては、統合的な確認メッセージが、前述の通り生成されることができる。
【００３１】
少なくとも幾つかの実施形態では、確認パケットを受信した後、送信ＶＭＭ３１２（例えば、ＶＭＭ３１２Ａ）は、パケット内に含まれる情報を使用して、対応するエントリ（単数）（またはエントリ（複数））を送信パケットログ内に位置付けることができる。ＶＭＭ３１２は次に、確認パケット内のもしくはそれに関する情報（例えば、確認パケットがＶＭＭ３１２において受信された時間）、及び／または対応するログエントリ（単数）またはエントリ（複数）からの情報（例えば、対応するパケット（単数または複数）が送信されたときのタイムスタンプ（単数または複数））を使用して、例えば、往復時間などの、ネットワーク基盤３０２上のオーバーレイネットワークトンネル３０６の１つ以上の性能測定基準を計算することができる。トンネル３０６は、送信ＶＭＭ３１２（例えば、ＶＭＭ３１２Ａ）のホスト３１０におけるクライアントリソースインスタンス３１４と、受信ＶＭＭ３１２（例えば、ＶＭＭ３１２Ｂ）のホスト３１０における別のクライアントリソースインスタンス３１４との間のネットワーク基盤３０２上のルートまたはパスに対応することに留意されたい。また、複数のパケットは、あるＶＭＭ３１２におけるあるクライアントリソースインスタンス３１４から別のＶＭＭ３１２における別のクライアントリソースインスタンス３１４へ所与のトンネル３０６を流れることができることにも留意されたい。
【００３２】
場合により、オーバーレイネットワークデータパケットは、何らかの理由により廃棄されることがあり、したがって送信ＶＭＭ３１２は、以前に送信されたオーバーレイネットワークデータパケットに関する確認を受信しないことがある。少なくとも幾つかの実施形態では、送信ＶＭＭ３１２は、例えば、時間閾値に従って、廃棄パケットを検出し、廃棄パケットを記録することができる。例えば、送信パケットログ内に記録されたパケットが閾値によって特定される期間内に確認を受信しない場合、ＶＭＭ３１２は、そのパケットを廃棄されたものとして送信パケットログ内にマークすることができる。
【００３３】
プロバイダネットワーク３００内の各ＶＭＭ３１２は、送信及び受信ＶＭＭの両方として働くことができる。各ＶＭＭ３１２は、対応するＶＭＭ３１２から他のＶＭＭ３１２へ送信されたオーバーレイネットワークデータパケットを追跡し、上述の通りＶＭＭ３１２から他のＶＭＭ３１２へのオーバーレイネットワーククライアントトラフィックデータフローに関連するデータを記録することができる。各ＶＭＭ３１２は、収集されたオーバーレイネットワークトラフィックデータを、プロバイダネットワーク３００上のオーバーレイネットワーク分析サービス３２０のオーバーレイネットワークデータ収集モジュール３２２へ定期的または不定期的に送信することができる。データは、ＩＰトンネリングプロトコルに従ってオーバーレイネットワークトンネル上でデータ収集モジュール３２２に送信されることができ、または別法として、データは、例えば、ＴＣＰもしくはＵＤＰなどの、幾つかの他のネットワークプロトコルに従ってネットワーク基盤上に送信されることができる。図示されてはいないが、オーバーレイネットワーク分析サービス３２０は、ネットワーク基盤３０２及び／またはオーバーレイネットワークに面する１つ以上のＡＰＩを提供することができ、それを介して、ＶＭＭ３１２は、例えば、収集されるオーバーレイネットワークトラフィックデータをサービス３２０へ送信するために、サービス３２０と通信することができる。
【００３４】
少なくとも幾つかの実施形態では、オーバーレイネットワークデータ収集モジュール３２２は、ＶＭＭ３１２から収集されるオーバーレイネットワークトラフィックデータのうちの少なくとも一部を、データ記憶３３０へ記憶することができる。代替的にかまたはそれに加えて、オーバーレイネットワークデータ収集モジュール３２２は、収集されるデータのうちの一部または全部を、オーバーレイネットワーク分析モジュール３２４へ直接提供することができる。
【００３５】
オーバーレイネットワーク分析モジュール３２４は、オーバーレイネットワークデータ収集モジュール３２２から、データ記憶３３０から、またはその両方から、オーバーレイネットワークトラフィックデータを取得することができる。分析モジュール３２４は、クライアント特異的トラフィックデータを取得して、クライアントレベルの分析３２６を実施することができる。分析モジュール３２４は、例えば、特定のＶＭＭ３１２によって収集されるクライアント特異的トラフィックデータを取得して、特定のクライアントリソースインスタンス３１４に関する分析を実施してもよく、または複数のＶＭＭ３１２から集約されるクライアント特異的トラフィックデータを取得して、特定のクライアントのプライベートネットワーク実装全体の分析を実施してもよい。分析モジュール３２４はまた、集約されたオーバーレイネットワークトラフィックデータをＶＭＭ３１２から取得して、オーバーレイネットワーク全体の集約分析を実施するか、または問題が発生しているネットワーク基盤３０２上の場所もしくは特定の構成要素を決定することもできる。
【００３６】
少なくとも幾つかの実施形態では、オーバーレイネットワーク分析モジュール３２４はまた、１つ以上のソースからネットワーク基盤トポロジー情報を取得することもできる。ネットワーク基盤トポロジー情報は、例えば、ネットワーク基盤３０２の物理的構成または配置、及び各構成要素の場所情報を伴うネットワーク基盤３０２の特定の構成要素（ケーブルスパン、ネットワークデバイスなど）を示す情報を示すことができる。
【００３７】
オーバーレイネットワーク分析モジュール３２４は、収集されるオーバーレイネットワークトラフィックデータ及びネットワーク基盤トポロジー情報に基づいて、クライアントレベルの分析３２６及び／または集約分析３２８を実施することができる。クライアントレベルの分析３２６は、ある期間にわたって複数のＶＭＭ３１２から集約されたクライアント特異的トラフィックデータを使用して、実施することができる。クライアントレベルの分析３２６は、クライアントのリソースインスタンスとオーバーレイネットワーク上のクライアントのリソースインスタンス間の接続（トンネル）とを含む、クライアントのプライベートネットワーク構成のマップを生成するために実施することができる。クライアントレベルの分析３２６はまた、オーバーレイネットワークプロトコルに従って、送信ＶＭＭ３１２によって一定期間にわたって収集されたオーバーレイネットワークパケットデータ（例えば、往復時間、廃棄パケット情報など）に基づいて、例えば、クライアントのリソースインスタンス間の接続の平均往復時間、レイテンシ、スループット、及びパケット損失率統計などの、生成されたクライアントのプライベートネットワーク構成のマップの性能測定基準または統計を生成することもできる。クライアントレベルの分析３２６はまた、例えば、総ネットワークレイテンシ、パケット廃棄率などのクライアントのリソースインスタンス間の接続の性能測定基準または統計に基づいて、クライアントのプライベートネットワーク全体の性能測定基準または統計を生成することもできる。クライアントレベルの分析３２６はまた、例えば、図４に例証される通り、特定のクライアントリソースインスタンス３１４間の特定のデータフローを分析することもできる。
【００３８】
集約分析３２８は、複数のクライアント及び複数のＶＭＭ３１２からの集約されたトラフィックデータ及びネットワーク基盤トポロジー情報を使用して実施することができる。集約分析３２８は、ネットワーク基盤３０２上のＶＭＭ３１２間のオーバーレイネットワークのルートのマッピングを生成するために実施することができる。集約分析３２８はまた、生成されたオーバーレイネットワークのマップの性能測定基準または統計、例えば、一定期間にわたるＶＭＭ３１２間のルートまたはオーバーレイネットワーク全体に関するレイテンシ、スループット、及びパケット損失統計を生成することもできる。それに加えて、集約分析３２８は、ネットワーク基盤３０２の特定の構成要素に関する性能統計を決定し、問題が発生している可能性のあるネットワーク基盤上の特定の場所または構成要素を決定することができる。例えば、マッピングによって決定されるネットワーク基盤３０２上の基盤３０２の共通の部分を横断する２つ以上のルートに関する性能統計は、三角測量技術に従って、ネットワーク基盤３０２の特定の構成要素に関する性能統計を決定し、ネットワーク通信問題（レイテンシに寄与している伝送遅延、パケット損失など）が発生している可能性のあるネットワーク基盤上の場所（単数または複数）を正確に示すために分析することができる。
【００３９】
オーバーレイネットワーク分析モジュール３２４は、種々のオーバーレイネットワークマッピング及び／または性能レポートを出力として生成することができる。オーバーレイネットワーク分析モジュール３２４のクライアントレベルの分析３２６は、１つ以上のクライアントレベルのレポートを出力として生成することができる。オーバーレイネットワーク分析モジュール３２４の集約分析３２８は、１つ以上の集約レポートを出力として生成することができる。クライアントエージェント及びプロバイダネットワークエージェントは、１つ以上のＡＰＩ３３２を介してオーバーレイネットワーク分析サービス３２０にアクセスして、オーバーレイネットワーク分析サービス３２０のオーバーレイネットワーク分析モジュール３２４によって生成されるオーバーレイネットワークマッピング及び／または性能レポートを要求及び／または閲覧することができる。クライアントエージェントは、ＡＰＩ（単数または複数）３３２を介してサービス３２０にアクセスして、クライアントレベルのレポート３４０を要求及び閲覧することができる。クライアントレベルのレポート３４０は、例えば、クライアントの外部ネットワーク内のコンソール、例えば、図１１に例証されるクライアントネットワーク１１５０上のコンソール１１９４上のインターフェースを介して、クライアントに提供されることができる。クライアントレベルのレポート３４０は、はコンソール上のブラウザインターフェースまた他のプログラムを介して提供されることができる。プロバイダネットワークエージェントは、ＡＰＩ（単数または複数）３３２を介してサービス３２０にアクセスして、集約レポート３５０を要求及び閲覧することができる。クライアントレベルのレポート３４０は、例えば、プロバイダネットワーク内のコンソール上のインターフェースを介してエージェントに提供されることができる。集約レポート３４０は、コンソール上のブラウザインターフェースまたは他のプログラムを介して提供されることができる。幾つかの実施形態では、クライアントはまた、少なくとも幾つかの集約レポート３４０を要求及び閲覧することも可能である。図８Ａ〜８Ｄは、クライアントレベルの及び集約レポートの例を示す。
【００４０】
少なくとも幾つかの実施形態では、クライアントレポート（単数または複数）３４０及び集約レポート（単数または複数）３５０は、新規に分析されたクライアント特異的または集約情報を報告するように定期的または不定期的に更新される動的表示を介して提供されることができる。代替的にかまたはそれに加えて、クライアントレポート（単数もしくは複数）３４０及び集約レポート（単数もしくは複数）３５０は、定期的もしくは不定期的なレポートとして生成されることができ、またはサービスへのＡＰＩ（単数または複数）３３２を介したプロバイダネットワークのエージェントもしくはクライアントのエージェントの要求に応じて、生成されることができる。
【００４１】
データフロー分析
図４は、少なくとも幾つかの実施形態による、プロバイダネットワーク上のクライアントプライベートネットワーク内のクライアントリソースインスタンス間の特定のトンネルまたはデータフローに関する性能データの取得及び分析を例証する。クライアントは、プロバイダネットワーク上にプライベートネットワーク４１０を構築することができる。プライベートネットワーク４１０は、ＶＭＭ４１２によってモニタされるＶＭ上に実装される複数のクライアントリソースインスタンス４１４を含むことができる。例えば、クライアントリソースインスタンス４１４Ａは、ＶＭＭ４１２Ａによってモニタされることができ、クライアントリソースインスタンス４１４Ｂは、ＶＭＭ４１２Ｂによってモニタされることができる。
【００４２】
クライアントリソースインスタンス４１４Ａは、クライアントデータパケットをクライアントリソースインスタンス４１４Ｂに送信することができる。ＶＭＭ４１２Ａは、クライアントデータパケットを受信し、オーバーレイネットワークプロトコルに従ってクライアントデータパケットをカプセル化し、ＩＰトンネリングテクノロジーに従ってオーバーレイネットワークデータパケットをネットワーク基盤４０２上に実装されるオーバーレイネットワーク上に送信することができる。オーバーレイネットワークデータパケットは、ＩＰトンネリングテクノロジーに従って、トンネル４０６を介してオーバーレイネットワークパケット内の情報に従ってＶＭＭ４１２Ｂへルーティングされることができる。オーバーレイネットワーク、トンネル、及びＩＰトンネリングテクノロジーに関するさらなる情報に関しては、図１０を参照されたい。ルーティングにおいて使用される情報に加えて、ＶＭＭ４１２Ａは、オーバーレイネットワークパケット内に追加の情報（例えば、確認フラグ、タイムスタンプ、パケットシーケンス番号など）を含むことができる。少なくとも幾つかの実施形態によるオーバーレイネットワークデータパケット例に関しては、図５Ａを参照されたい。
【００４３】
クライアントリソースインスタンス４１４Ａからクライアントリソースインスタンス４１４Ｂへの１つ、２つ、またはそれ以上の別々のデータフローが存在することができ、各データフローは、リソースインスタンス４１４Ａの特定の終点とリソースインスタンス４１４Ｂの特定の終点との間の通信セッションに対応し、したがって、２つのリソースインスタンス４１４間に１つ、２つ、またはそれ以上のトンネル４０６が存在することができることに留意されたい。さらに、クライアントリソースインスタンス４１４Ａ及び４１４Ｂは、伝送制御プロトコル（ＴＣＰ）などのステートフルプロトコル、ユーザデータグラムプロトコル（ＵＤＰ）などのステートレスプロトコル、またはその両方に従って通信することができることに留意されたい。さらに、クライアントリソースインスタンス４１４Ａ及び４１４Ｂはまた、オーバーレイネットワークを介してクライアントプライベートネットワーク４１０内の他のクライアントリソースインスタンスと通信することもでき、したがって、各々はネットワーク基盤４０２上の他のトンネルに関連付けられることができることに留意されたい。
【００４４】
少なくとも幾つかの実施形態では、ＶＭＭ４１２Ａはまた、オーバーレイネットワークデータパケットの一部または全部に関する情報を送信パケットログ４１６内に記録することもできる。記録される情報は、データ流／シーケンス番号情報などのＶＭＭ４１２Ａへのパケットを一意的に識別する方法、タイムスタンプと称されるデータパケットが送信された時間、オーバーレイネットワークデータパケット内のカプセル化されたクライアントデータパケットを開始したＶＭ、クライアント、及び／またはクライアントリソースインスタンスの指示、ならびにクライアントデータパケットのターゲットの指示のうちの１つ以上を含むことができるが、それらに限定されない。
【００４５】
トンネル４０６上でオーバーレイネットワークデータパケットを受信した後、ＶＭＭ４１２Ｂは、クライアントデータパケットからカプセル化を外し、クライアントデータパケットをクライアントリソースインスタンス４１４Ｂへ転送することができる。それに加えて、少なくとも幾つかの実施形態では、ＶＭＭ４１２Ｂは、トンネル４０６を介して確認（ＡＣＫ）メッセージをＶＭＭ４１２Ａに戻すことができる。少なくとも幾つかの実施形態によるオーバーレイネットワーク確認パケット例に関しては、図５Ｂ及び５Ｃを参照されたい。確認パケットは、データ流／シーケンス番号識別子などの、確認されているオーバーレイネットワークデータパケットを識別する情報を含むことができる。少なくとも幾つかの実施形態では、確認パケットは、オーバーレイネットワークデータパケットがＶＭＭ４１２Ｂにて受信されたときのタイムスタンプ、及び／または確認パケットがＶＭＭ４１２Ｂによって送信されたときのタイムスタンプなどの追加の情報を含むことができる。図５Ｂに示される通り、幾つかの場合では、オーバーレイネットワーク確認パケットは、クライアントデータを含まなくてもよい。しかしながら、他の場合では、オーバーレイネットワーク確認パケットはまた、クライアントデータ（例えば、ＴＣＰ  ＡＣＫなどのクライアント確認パケット）を含むこともできる。
【００４６】
前述の通り、幾つかの実施形態では、ＶＭＭ４１２Ｂは、各受信されたパケットに応答して、確認（ＡＣＫ）メッセージをＶＭＭ４１２Ａに戻すことができる。幾つかの実施形態では、各受信されたパケットに応答して確認メッセージを送信する代わりに、確認メッセージは、例えば、ＶＭＭ４１２Ａによって要求されたときにのみ、Ｎ番目毎のパケットにてＶＭＭ４１２Ｂによって送信されることができる。幾つかの実施形態では、クライアントリソースインスタンス４１４Ａと４１４Ｂとの間の通信セッションがステートフルプロトコル（例えば、ＴＣＰ）に従って構築される場合、ＶＭＭ４１２Ｂは、送信クライアントリソースインスタンス４１４Ａに送り返されているクライアントＡＣＫメッセージ上にオーバーレイネットワークプロトコル確認メッセージをピギーバックすることによって、ステートフルプロトコルを利用することができる。
【００４７】
少なくとも幾つかの実施形態では、トンネル４０６を介してＶＭＭ４１２Ｂから確認パケットを受信した後、ＶＭＭ４１２Ａは、パケット内に含まれる情報を使用して、対応するエントリ（単数）またはエントリ（複数）を送信パケットログ４１６内に位置付けることができる。少なくとも幾つかの実施形態では、ＶＭＭ４１２Ａは次に、確認パケット内のもしくはそれに関する情報（例えば、確認パケットがＶＭＭ４１２Ａにおいて受信された時間）、及び／または対応するログエントリ（単数）またはエントリ（複数）からの情報（例えば、対応するパケット（単数または複数）が送信されたときのタイムスタンプ（単数または複数））を使用して、例えば、往復時間などの、ネットワーク基盤４０２上のオーバーレイネットワークトンネル４０６の１つ以上の性能測定基準を計算することができる。
【００４８】
異なる技術を使用して、往復時間を算出することができる。例えば、幾つかの実施形態では、ＶＭＭ４１２Ａは、トンネル４０６上に送信される各パケットに関して、タイムスタンプを送信パケットログ４１６内に記録することができる。確認パケットを受信した後、ＶＭＭ４１２Ａは、確認パケットがＶＭＭ４１２Ａにおいて受信されたときのタイムスタンプを、確認が受信された送信パケットに対応するログ４１６のエントリ内に記録することができる。往復時間は、２つの時間の間の差として算出することができる。この方法は、タイムスタンプが確認パケット内に含まれることを必要としないことに留意されたい。
【００４９】
別法として、幾つかの実施形態では、ＶＭＭ４１２Ａは、トンネル４０６上に送信される各パケットに関して、タイムスタンプを送信パケットログ４１６内に記録することができる。確認パケットを受信した後、ＶＭＭ４１２Ａは、確認パケットが受信されたときのタイムスタンプを、確認が受信された送信パケットに対応するログ４１６のエントリ内に読み取り記録することができる。それに加えて、確認パケットは、オーバーレイネットワークデータパケットがＶＭＭ４１２Ｂにおいて受信されたときのタイムスタンプ、及び／または確認パケットがＶＭＭ４１２Ｂによって送信されたときのタイムスタンプを含むことができる。確認パケットからのこのタイムスタンプ情報もまた、送信パケットログ４１５内に記録することができる。次に、オーバーレイネットワークデータパケット及び確認パケットのオーバーレイネットワーク横断時間が、タイムスタンプに従って算出される。次に、往復時間が、２つの時間の和として算出されることができる。幾つかの実施形態では、往復時間を算出する代わりに、オーバーレイネットワークデータパケットの片道横断時間を、例えば、送信パケットログ４１６内に記録された送信された時間と、確認パケット内に記録された受信された時間との間の差として、タイムスタンプ情報から代わりに算出することができる。これらの方法は、タイムスタンプ（単数または複数）は確認パケット内に含まれることを必要とせず、またＶＭＭ４１２間の時間同期も必要としないことに留意されたい。したがって、往復時間を正確に算出することができるように、時間同期技術またはテクノロジーを使用して、ＶＭＭ４１２を実装するホストデバイス間で時間を同期させることができる。
【００５０】
場合により、オーバーレイネットワークデータパケット及び／または確認パケットは、何らかの理由により廃棄されることがあり、したがってＶＭＭ４１２Ａは、以前に送信されたオーバーレイネットワークデータパケットに関する確認パケットを受信しないことがある。少なくとも幾つかの実施形態では、ＶＭＭ４１２Ａは、例えば、時間閾値に従って、廃棄パケットを検出し、廃棄パケットを記録することができる。例えば、送信パケットログ４１６内に記録されたパケットが、閾値によって特定される期間内に確認を受信しない場合、ＶＭＭ４１２Ａは、そのパケットを廃棄されたものとして送信パケットログ４１６内にマークすることができる。
【００５１】
幾つかの実施形態では、各受信されたオーバーレイネットワークデータパケットに応答して確認パケットを送信する代わりに、受信ＶＭＭ４１２Ｂは、受信されたパケットに関する情報が記録される受信パケットログを代わりに維持することができる。受信パケットに関する記録される情報は、データ流／シーケンス番号情報などの受信パケットを一意的に識別する方法、データパケットがいつ受信されたかを示すタイムスタンプ、及びパケットがどのＶＭＭから受信されたかを示す情報のうちの１つ以上を含むことができるが、それらに限定されない。ＶＭＭ４１２Ｂは次に、複数のパケットに関して記録された情報を、定期的または不定期的に、例えば、ＶＭＭ４１２Ａが定期的または不定期的に確認パケットを要求するときに、ＶＭＭ４１２Ａに送信することができる。ＶＭＭ４１２Ｂから情報を受信した後、ＶＭＭ４１２Ａは次に、この情報を送信パケットログ４１６内に記録された情報と比較して、トンネル４０６に関する性能情報を算出することができる。確認パケットは各パケットに関して送信されないため、往復時間は算出することができないことに留意されたい。代わりに、オーバーレイネットワークデータパケットの片道横断時間を、例えば、送信パケットログ４１６内に記録された送信された時間と、ＶＭＭ４１２Ｂから受信された情報内に記録された受信された時間との間の差として算出することができる。それに加えて、廃棄パケットを、ＶＭＭ４１２Ｂから受信される情報を送信パケットログ４１６と比較することによって決定することができる。例えば、送信パケットログ４１６内に記録されたパケットが、ＶＭＭ４１２Ｂから受信された情報から失われている場合、そのパケットは、廃棄されたものとしてマークされることができる。
【００５２】
ＶＭＭ４１２Ａは、トンネル４０６上に送信される各オーバーレイネットワークデータパケットに関するデータをオーバーレイネットワーク分析サービス４２０に送信することができ、または別法として、トンネル４０６に対応する送信パケットログ４１６内に収集されるデータを、オーバーレイネットワーク分析サービス４２０に定期的もしくは不定期的に送信することができる。オーバーレイネットワーク分析サービス４２０は、このデータを収集及び記憶することができ、幾らかの時間間隔にわたってデータの分析を実施して、例えば、トンネル４０６のレイテンシ、スループット、及びパケット廃棄率などの、クライアントリソースインスタンス４１４Ａ及び４１４Ｂの間のトンネル４０６に特異的な性能統計を生成することができる。性能統計は、リソースインスタンスデータフローレポート４３０として、例えば、サービス４２０へのＡＰＩを介してクライアントに出力することができる。図８Ａは、少なくとも幾つかの実施形態によるリソースインスタンスデータフローレポートの例を示す。クライアントリソースインスタンス４１４Ａからクライアントリソースインスタンス４１４Ｂへの１つ、２つ、またはそれ以上のトンネルが存在することができ、また各トンネルに関して別々のデータフローレポート４３０を生成することができることに留意されたい。
【００５３】
それに加えて、トンネル４０６に関するＶＭＭ４１２Ａから受信されたデータは、ＶＭＭ４１２Ａから、及び／またはクライアントプライベートネットワーク４１０上のクライアントのリソースインスタンス４１４間の他のトンネルに特異的な他のＶＭＭから受信される他のデータと集約することができる。このクライアントのリソースインスタンスに関する集約されたデータは、例えば、リソースインスタンス４１４及びインスタンス間の接続（トンネル）を示すクライアントプライベートネットワーク４１０トポロジーのマッピング、及び／または接続に関する性能統計（例えば、レイテンシ、パケット廃棄率、スループットなど）などの、クライアントレポート（単数または複数）４４０を生成するために分析することができる。図８Ｂは、少なくとも幾つかの実施形態によるクライアントレベルのレポートの例を示す。
【００５４】
それに加えて、クライアントのデータは、１つ以上の他のクライアントからのデータと集約することができる。複数のクライアントから集約されるデータは、例えば、ＶＭＭ４１２間の接続（トンネル）のマッピング、及び接続に関する性能統計（例えば、レイテンシ、パケット廃棄率、スループットなど）の、オーバーレイネットワークに関する集約レポート（単数または複数）４５０を生成するために分析することができる。集約されたデータはまた、ネットワーク基盤の特定の構成要素に関する性能統計を決定するために、及びネットワーク基盤内の問題個所を識別するために使用することもできる。図８Ｃ及び８Ｄは、少なくとも幾つかの実施形態による集約レポートの例を示す。
【００５５】
オーバーレイネットワークパケット
図５Ａ〜５Ｃは、少なくとも幾つかの実施形態による、オーバーレイネットワークデータパケット例及びオーバーレイネットワーク確認パケット例を例証する。図５Ａは、少なくとも幾つかの実施形態によるオーバーレイネットワークデータパケット５００の例を示す。パケット５００は、例えば、送信ＶＭＭによって、オーバーレイネットワークプロトコルに従ってカプセル化またはタグ付けされたクライアントデータパケット５１０を含むことができる。オーバーレイネットワークプロトコルは、オーバーレイネットワークヘッダ５０２を含むことができる。オーバーレイネットワークプロトコルは、必ずしもではないが、オーバーレイネットワークフッタ５０８を含むこともできる。オーバーレイネットワークヘッダ５０２は、オーバーレイネットワーク上のパケット５００を目的地へ（例えば、受信またはターゲットＶＭＭへ）ルーティングするために使用することができる、オーバーレイネットワークアドレス情報５０４を含むことができる。送信機（例えば、送信ＶＭＭ）は、クライアントデータパケット５１０をカプセル化するときに、この情報５０４を書き込むことができる。オーバーレイネットワークヘッダ５０２はまた、オーバーレイネットワーク分析情報５０６を含むこともできる。オーバーレイネットワーク分析情報５０６は、このパケット５００が、確認されるべきであることを示す確認フラグ、このパケット５００が送信されたときのタイムスタンプ、及びこのパケット５００のパケットシーケンス番号のうちの１つ以上を含むことができるが、それらに限定されない。分析情報５０６は、例えば、このパケット５００に関する特定のデータ流／トンネルを識別する情報などの他の情報を含むことができる。幾つかの実施形態では、オーバーレイネットワークヘッダ５０２はまた、確認メッセージが送信されるべきであるかを示すためにこのメッセージに応答して使用することができるフラグ、及びこの確認要求が関するパケット数の指示を含むこともできる。
【００５６】
図５Ｂは、少なくとも幾つかの実施形態による、オーバーレイネットワーク確認パケット５２０の例を示す。確認パケット５２０は、オーバーレイネットワークヘッダ５２２を含むことができる。確認パケット５２０は、必ずしもではないが、オーバーレイネットワークフッタ５２８を含むこともできる。オーバーレイネットワークヘッダ５２２は、オーバーレイネットワーク上のパケット５２０を目的地へ（例えば、この確認パケット５２０がそのために生成された、オーバーレイネットワークデータパケット５００を送信したＶＭＭへ）ルーティングするために使用することができる、オーバーレイネットワークアドレス情報５２４を含むことができる。送信機（例えば、この確認パケット５２０がそのために送信されるオーバーレイネットワークデータパケット５００を受信したＶＭＭ）は、この情報５２４を書き込むことができる。オーバーレイネットワークヘッダ５２２はまた、オーバーレイネットワーク分析情報５２６を含むこともできる。オーバーレイネットワーク分析情報５２６は、１つ以上のタイムスタンプ（例えば、データパケット５００がいつ受信されたかを示すタイムスタンプ、及び／または確認パケット５２０がいつ送信されたかを示すタイムスタンプ）、及びこの確認パケット５２０に対応するデータパケット５００のパケットシーケンス番号のうちの１つ以上を含むことができるが、それらに限定されない。分析情報５２６は、例えば、このパケット５２０に対応するデータパケット５００の特定のデータ流／トンネルを識別する情報などの他の情報を含むことができる。
【００５７】
図５Ｃは、少なくとも幾つかの実施形態による、ステートフルプロトコルＡＣＫメッセージ上に確認メッセージをピギーバックするときに使用することができるオーバーレイネットワーク確認パケット例５３０を示す。幾つかの実施形態では、クライアントリソースインスタンス間の通信セッションがステートフルプロトコル（例えば、ＴＣＰ）に従って構築される場合、オーバーレイネットワーク分析方法は、送信クライアントリソースインスタンスに送り返されているクライアントＡＣＫメッセージ上にオーバーレイネットワークプロトコル確認メッセージをピギーバックすることによって、ステートフルプロトコルを利用することができる。これらの場合、アドレス情報５３４及び分析情報５３６及び任意選択的なオーバーレイネットワークフッタ５３８を含むオーバーレイネットワークヘッダ５３２と共にカプセル化またはタグ付けされることに加えて、カプセル化されたクライアントデータ（例えば、クライアント確認パケット５４０）は、オーバーレイネットワークパケット内に含まれることもできる。
【００５８】
分析方法
図６〜８は、少なくとも幾つかの実施形態による、オーバーレイネットワーククライアントトラフィックを収集及び分析して、種々のレベルのオーバーレイネットワーク性能及び他の情報を決定するための幾つかの方法のフローチャートである。これらの方法は、図１及び２に例証される一般的な方法に基づくが、限定的であることを意図するものではない。
【００５９】
図６は、少なくとも幾つかの実施形態による、クライアントのオーバーレイネットワークトラフィックに従って、オーバーレイネットワーク上のクライアントのプライベートネットワーク実装に関する性能を分析するための方法のフローチャートである。クライアントレベルの分析は、一定期間にわたって収集される特定のクライアントのリソースインスタンスに特異的なデータに従って分析されて、例えば、図４及び１２に例証されるクライアントの仮想化されたプライベートネットワークに関する、クライアントのプロバイダネットワーク実装に特異的な性能、健全性、及び／または他の情報を生成することができる。
【００６０】
図６の６００に示される通り、プロバイダネットワーク上の１つ以上のＶＭＭは、オーバーレイネットワーク上の特定のクライアントのリソースインスタンス間のトラフィックに基づいて、オーバーレイネットワーク性能に関連するデータを収集することができる。データは、例えば、図４に示される通り、特定のクライアントリソースインスタンス間のトンネル上のオーバーレイネットワークパケットトラフィックに対応することができる。収集されるデータは、例えば、トンネル上のデータパケット及び確認パケットから算出される、往復時間を含むことができる。代替的にかまたはそれに加えて、収集されるデータは、オーバーレイネットワークデータパケットの片道横断時間を含むことができる。収集されるデータはまた、廃棄パケットの指示を含むこともできる。データは、例えば、図４に示されるように、例えば、送信パケットログ内に記録することができる。
【００６１】
図６の６０２に示される通り、ＶＭＭは、収集されるデータをプロバイダネットワークのオーバーレイネットワーク分析サービスに定期的または不定期的に提供することができる。データは、ＩＰトンネリングプロトコルに従ってオーバーレイネットワークトンネル上でオーバーレイネットワーク分析サービスに送信されることができ、または別法として、データは、例えば、ＴＣＰもしくはＵＤＰなどの、幾つかの他のネットワークプロトコルに従ってネットワーク基盤上に送信されることができる。少なくとも幾つかの実施形態では、オーバーレイネットワーク分析サービスは、ネットワーク基盤及び／またはオーバーレイネットワークに面する１つ以上のＡＰＩを提供することができ、それを介して、ＶＭＭは、例えば、収集されるオーバーレイネットワークトラフィックデータをサービスへ送信するために、サービスと通信することができる。
【００６２】
図６の６０４に示される通り、オーバーレイネットワーク分析サービスは、クライアントに関して収集されるデータを分析して、プロバイダネットワーク上のクライアントのプライベートネットワーク実装のマッピング及び性能統計を決定する。例えば、各トンネルに関して収集される往復または片道通過時間は、トンネルのレイテンシを決定するために分析することができる。別の例として、データは、トンネルのパケット廃棄率を決定するために分析することができる。算出されたトンネルの性能測定基準は、例えば、総レイテンシ及び／またはパケット廃棄率などの、プライベートネットワーク実装全体に関する性能統計を決定するために分析することができる。
【００６３】
図６の６０６に示される通り、オーバーレイネットワーク分析サービスは、分析によって生成されるクライアントのプライベートネットワーク実装に関する情報を、サービスへのＡＰＩを介してクライアントに提供することができる。例えば、クライアント特異的情報は、例えば、図１１に例証されるクライアントネットワーク１１５０上のコンソール１１９４などの、クライアントの外部ネットワーク内のコンソール上のインターフェースを介してクライアントに提供されることができる。
【００６４】
図７は、少なくとも幾つかの実施形態による、集約されたクライアントネットワークトラフィックに従って、オーバーレイネットワークの性能をマッピング及び分析するための方法のフローチャートである。集約分析は、オーバーレイネットワーク全体に関するマッピング、性能、健全性、及び／または他の情報を生成するために、ある期間にわたって複数のクライアントに関して収集されたデータに従って実施することができる。
【００６５】
図７の７００に示される通り、プロバイダネットワーク上のＶＭＭは、オーバーレイネットワーク上のクライアントのリソースインスタンス間のトラフィックに基づいて、オーバーレイネットワーク性能に関連するデータを収集する。データは、例えば、図４に示される通り、クライアントリソースインスタンス間のトンネル上のオーバーレイネットワークパケットトラフィックに対応することができる。収集されるデータは、例えば、トンネル上のデータパケット及び確認パケットから算出される、往復時間を含むことができる。代替的にかまたはそれに加えて、収集されるデータは、オーバーレイネットワークデータパケットの片道横断時間を含むことができる。収集されるデータはまた、廃棄パケットの指示を含むこともできる。ＶＭＭ上の全てのクライアントに関して収集されたデータは、例えば、図４に示される通り、例えば、送信パケットログ（単数）またはログ（複数）内に記録することができる。
【００６６】
図７の７０２に示される通り、ＶＭＭは、収集されたデータをプロバイダネットワークのオーバーレイネットワーク分析サービスに定期的または不定期的に提供することができる。データは、ＩＰトンネリングプロトコルに従ってオーバーレイネットワークトンネル上でオーバーレイネットワーク分析サービスに送信されることができ、または別法として、データは、例えば、ＴＣＰもしくはＵＤＰなどの、幾つかの他のネットワークプロトコルに従ってネットワーク基盤上に送信されることができる。少なくとも幾つかの実施形態では、オーバーレイネットワーク分析サービスは、ネットワーク基盤及び／またはオーバーレイネットワークに面する１つ以上のＡＰＩを提供することができ、それを介して、ＶＭＭは、例えば、収集されるオーバーレイネットワークトラフィックデータをサービスへ送信するために、サービスと通信することができる。
【００６７】
図７の７０４に示される通り、オーバーレイネットワーク分析サービスは、クライアントの一部または全部に関する収集されるデータを分析して、オーバーレイネットワーク全体のマッピング及び性能統計を決定する。例えば、性能情報（例えば、レイテンシ及びパケット廃棄率）は、ＶＭＭ間のクライアントのトンネルの全てに関して算出することができる。算出されたトンネルに関する性能情報は、例えば、総レイテンシ及び／またはパケット廃棄率などの特定のＶＭＭ間及び／またはオーバーレイネットワーク全体に関する性能統計を決定するために、集合的に分析することができる。ネットワーク基盤上のＶＭＭ間のオーバーレイネットワークのルートのマッピングは、集約されたデータ及びネットワーク基盤トポロジー情報に従って生成することができる。ネットワーク基盤の特定の構成要素に関する性能統計を、生成することができる。例えば、マッピングによって決定されるネットワーク基盤上の基盤の共通の部分を横断する２つ以上のルートに関する性能統計は、三角測量技術に従って、ネットワーク基盤の特定の構成要素に関する性能統計を決定し、問題が発生している可能性のあるネットワーク基盤上の特定の場所または構成要素を決定するために分析することができる。
【００６８】
図７の７０６に示される通り、オーバーレイネットワーク分析サービスは、複数のクライアントに関して集約されたデータの分析によって生成されるオーバーレイネットワーク情報を、サービスへのＡＰＩを介して提供することができる。例えば、情報は、プロバイダネットワーク内のコンソール上のインターフェースを介してプロバイダネットワークのエージェントに提供されることができる。
【００６９】
分析出力
図８Ａ〜８Ｄは、少なくとも幾つかの実施形態によるオーバーレイネットワーク分析方法のための出力例を例証し、限定的であることを意図するものではない。図８Ａ及び８Ｂは、クライアントレベルのレポートの例であり、図８Ｃ及び８Ｄは、集約レベルのレポートの例である。実施形態は、クライアントレベルの及び集約レポートを図形及び／またはテキスト形式で出力することができる。レポートは、静的レポートとして出力されることができ、または別法として、新規のデータが受信及び分析されるときに動的に表示及び更新されることができる。
【００７０】
図８Ａは、少なくとも幾つかの実施形態による、図４に示されるリソースインスタンスデータフローレポート例を例証する。識別フィールド８００は、データフローに関するソースリソースインスタンスＡ及び目的地リソースインスタンスＢを示すことができ、またリソースインスタンス間の特定のデータフローを識別する情報を含むこともできる。リソースインスタンスデータフローレポートは、算出されたデータフローまたはトンネルのスループット８０２、レイテンシ８０４、及びパケット損失率８０６を示すフィールドを含むことができる。ソースリソースインスタンスＡと目的地リソースインスタンスＢとの間に、２つ以上のトンネルが存在することができる。図８Ａに示される通り、別々のリソースインスタンスデータフローレポートが、生成されることができ、また単独でもしくは集合的に表示されることができる。それに加えて、リソースインスタンスデータフローレポートは、他のリソースインスタンスに関して生成されることができ、また単独でもしくは集合的に表示されることができる。
【００７１】
図８Ａは、２つのリソースインスタンス間の特定のデータフローまたはトンネルに関する性能統計を表すことを意図する。しかしながら、少なくとも幾つかの実施形態では、２つのリソースインスタンス間の複数のトンネルからの性能統計は、２つのリソースインスタンス間の総データフロー統計を生成するために組み合わせることができる。
【００７２】
図８Ｂは、少なくとも幾つかの実施形態によるクライアントレベルのレポート例を例証する。この例は、オーバーレイネットワーク上のクライアントのリソースインスタンス間のクライアントの集約されたパケットトラフィックデータの分析に従って生成される、プロバイダネットワーク上のクライアントプライベートネットワーク実装例の図形的マッピングを示す。クライアントリソースインスタンス８１４Ａ〜８１４Ｅが示される。クライアントリソースインスタンス８１４間の接続またはデータフローは、トンネル８０６Ａ〜８０６Ｇとして示される。各リソースインスタンス８１４は、１つ、２つ、またはそれ以上の他のリソースインスタンス８１４へのトンネル８０６の終点であることができる。それに加えて、クライアントリソースインスタンス８１４Ａと８１４Ｂとの間のトンネル８０６Ｃ及び８０６Ｄなどの、２つの所与のリソースインスタンス８１４間に２つ以上のトンネル８０６が存在することができる。例えば、図８Ａに示される通り、個々のトンネル８０６に関する性能統計は、対応するトンネル８０６に隣接して表示することができる。少なくとも幾つかの実施形態では、クライアントレベルのレポートは、相互作用的であることができる。例えば、ユーザは、特定のトンネル８０６またはリソースインスタンス８１４を選択して、そのトンネル８０６またはリソースインスタンス８１４に関する性能統計を表示することができる。
【００７３】
図８Ｃは、少なくとも幾つかの実施形態による、プロバイダネットワーク上のＶＭＭ間のルートに関する集約レポート例を例証する。レポートは、２つのＶＭＭ間のオーバーレイネットワーク上の全てのトンネルに関する集約データフロー情報の分析に従って生成することができる。識別フィールド８３０は、ルートに関するソースＶＭＭ  Ａ及び目的地ＶＭＭ  Ｂを示すことができ、またＶＭＭ間の特定のルートを識別する情報を含むこともできる。ルート集約レポートは、算出されたルートのスループット８３２、レイテンシ８３４、及びパケット損失率８３６を示すフィールドを含むことができる。
【００７４】
図８Ｄは、少なくとも幾つかの実施形態によるオーバーレイネットワークに関する集約レポート例を例証する。オーバーレイネットワークレベルの集約レポートは、オーバーレイネットワークが実装されるネットワーク基盤に関するトポロジー情報と組み合わせた、ＶＭＭ間のオーバーレイネットワーク上の一部または全部のトンネルに関する集約データフロー情報の分析に従って生成することができる。この例は、オーバーレイネットワーク上の複数のクライアントからの集約されたデータの分析に従って生成される、プロバイダネットワークのネットワーク基盤上のオーバーレイネットワーク実装例のマッピングの図形表示を示す。
【００７５】
図８Ｄは、プロバイダネットワーク上の仮想マシンモニタ（ホスト／ＶＭＭ８１２Ａ〜８１２Ｃ）及びホスト／ＶＭＭ８１２間のルート８２０を有する、ホストデバイス例の図形表示を示す。ホスト／ＶＭＭ８１２の各対の間に、１つ以上のルート８２０（例えば、ルート８２０Ａ〜８２０Ｅ）が存在することができる。円は、ルータ、スイッチなどのネットワーク基盤上のノード（例えば、ネットワークデバイス）を表す。ホスト／ＶＭＭ８１２とノードとの間の線は、例えば、光ファイバ接続などの、ノード間またはノードとホストデバイスとの間の接続またはリンクを表す。２つ以上のルート８２０が、所与のノードを通過することができることに留意されたい。例えば、ルート８２０Ｄ及び８２０Ｅは、どちらもノード８２２Ａを通過し、ルート８２０Ｃ及び８２０Ｅは、どちらもノード８２２Ｂを通過する。それに加えて、２つのルート８２０は、接続（例えば、光ファイバーケーブル）を共有することができる。例えば、ルート８２０Ｃ及び８２０Ｅは、ノード８２２Ｂとホスト／ＶＭＭ８１２Ｂとの間の接続を共有する。例えば、図８Ｃに示される通り、ルート８２０に関する性能統計は、対応するルートに隣接して表示することができる。少なくとも幾つかの実施形態では、集約レポートは、相互作用的であることができる。例えば、ユーザは、特定のルート８２０またはホスト／ＶＭＭ８１２を選択して、対応するルート８２０またはホスト／ＶＭＭ８１２に関する性能統計を表示することができる。それに加えて、ノード及び接続に関する性能統計は、集約分析に従って算出されることができ、対応するノード及び接続と共に集約レポート上に表示されるか、または相互作用的にアクセスされることができる。少なくとも幾つかの実施形態では、問題のノードまたは接続が、集約分析に従って識別され、例えば、視覚的な（例えば、色）、テキストの、また他の指示を使用して、集約レポート上に示されることができる。
【００７６】
プロバイダネットワーク環境例
本章は、ネットワークトラフィックマッピング及び性能分析方法ならびに装置の実施形態を実装することができるプロバイダネットワーク環境例を説明する。しかしながら、これらのプロバイダネットワーク環境例は、限定的であることを意図するものではない。
【００７７】
図９は、少なくとも幾つかの実施形態による、プロバイダネットワーク環境例を例証する。プロバイダネットワーク９００は、１つ以上のデータセンター内のプロバイダネットワーク（単数）またはネットワーク（複数）内のデバイス上に実装される、クライアントが計算及び記憶リソースを含むがそれらに限定されない仮想化されたリソースのインスタンス９１２を購入、賃借、ないしは別の方法で取得することを可能にする１つ以上の仮想化サービス９１０を介して、リソースの仮想化をクライアントに提供することができる。プライベートＩＰアドレス９１６は、リソースインスタンス９１２に関連付けられることができ、プライベートＩＰアドレスは、プロバイダネットワーク９００上のリソースインスタンス９１２の内部ネットワークアドレスである。幾つかの実施形態では、プロバイダネットワーク９００はまた、クライアントがプロバイダ９００から取得することができるパブリックＩＰアドレス９１４及び／またはパブリックＩＰアドレス範囲（例えば、インターネットプロトコルバージョン４（ＩＰｖ４）またはインターネットプロトコルバージョン６（ＩＰｖ６）アドレス）を提供することもできる。
【００７８】
従来、プロバイダネットワーク９００は、仮想化サービス９１０を介して、サービスプロバイダのクライアント（例えば、クライアントネットワーク９５０Ａを操作するクライアント）が、クライアントに割り当てられるかまたは配分される少なくとも幾つかのパブリックＩＰアドレス９１４を、クライアントに割り当てられる特定のリソースインスタンス９１２に動的に関連付けることを可能にする。プロバイダネットワーク９００はまた、クライアントが、クライアントに配分されたある仮想化されたコンピューティングリソースインスタンス９１２に以前にマッピングされたパブリックＩＰアドレス９１４を、同様にクライアントに配分された別の仮想化されたコンピューティングリソースインスタンス９１２に再マッピングすることを可能にする。サービスプロバイダによって提供される仮想化されたコンピューティングリソースインスタンス９１２及びパブリックＩＰアドレス９１４を使用して、クライアントネットワーク９５０Ａの操作者などのサービスプロバイダのクライアントは、例えば、クライアント特異的アプリケーションを実装し、クライアントのアプリケーションをインターネットなどの中間ネットワーク９４０上に提示することができる。中間ネットワーク９４０上の他のネットワークエンティティ９２０は次に、クライアントネットワーク９５０Ａによって発行される目的地パブリックＩＰアドレス９１４までのトラフィックを生成することができ、トラフィックは、サービスプロバイダデータセンターへルーティングされ、データセンターにて、ネットワーク基盤を介して、目的地パブリックＩＰアドレス９１４へ現在マッピングされている仮想化されたコンピューティングリソースインスタンス９１２のプライベートＩＰアドレス９１６へルーティングされる。同様に、仮想化されたコンピューティングリソースインスタンス９１２からの応答トラフィックは、ネットワーク基盤を介して、ソースエンティティ９２０への中間ネットワーク９４０上にルーティングし返されることができる。
【００７９】
プライベートＩＰアドレスは、本明細書で使用されるとき、プロバイダネットワーク内のリソースインスタンスの内部ネットワークアドレスを指す。プライベートＩＰアドレスは、プロバイダネットワーク内でのみルーティング可能である。プロバイダネットワークの外部で開始するネットワークトラフィックは、プライベートＩＰアドレスに直接ルーティングされず、その代わりに、トラフィックは、リソースインスタンスへマッピングされるパブリックＩＰアドレスを使用する。プロバイダネットワークは、パブリックＩＰアドレスからプライベートＩＰアドレスへの、またその逆のマッピングを実施するような、ネットワークアドレス変換（ＮＡＴ）または類似の機能性を提供するネットワークデバイスまたは機器を含むことができる。
【００８０】
パブリックＩＰアドレスは、本明細書で使用されるとき、サービスプロバイダかまたはクライアントかのいずれかによってリソースインスタンスに割り当てられる、インターネットルーティング可能なネットワークアドレスである。パブリックＩＰアドレスへルーティングされるトラフィックは、例えば、１：１ネットワークアドレス変換（ＮＡＴ）を介して、変換され、リソースインスタンスの対応するプライベートＩＰアドレスへ転送される。
【００８１】
幾つかのパブリックＩＰアドレスは、プロバイダネットワーク基盤によって特定のリソースインスタンスに割り当てられることができ、これらのパブリックＩＰアドレスは、標準パブリックＩＰアドレス、または単に標準ＩＰアドレスと称することができる。少なくとも幾つかの実施形態では、リソースインスタンスのプライベートＩＰアドレスへの標準ＩＰアドレスのマッピングは、全てのリソースインスタンスの種類に関するデフォルトデフォルトの起動構成である。
【００８２】
少なくとも幾つかのパブリックＩＰアドレスは、プロバイダネットワーク９００のクライアントに配分されるか、またはプロバイダネットワーク９００のクライアントによって取得されることができ、クライアントは次に、それらの配分されたパブリックＩＰアドレスを、クライアントに配分される特定のリソースインスタンスに割り当てることができる。これらのパブリックＩＰアドレスは、クライアントパブリックＩＰアドレス、または単にクライアントＩＰアドレスと称することができる。標準ＩＰアドレスの場合のように、プロバイダネットワーク９００によってリソースインスタンスに割り当てられる代わりに、クライアントＩＰアドレスは、例えば、サービスプロバイダによって提供されるＡＰＩを介して、クライアントによってリソースインスタンスに割り当てられることができる。標準ＩＰアドレスとは異なり、クライアントＩＰアドレスは、クライアントアカウントに配分され、必要に応じてかまたは所望により、対応するクライアントによって他のリソースインスタンスに再マッピングすることができる。クライアントＩＰアドレスは、特定のリソースインスタンスにではなくクライアントのアカウントに関連付けられ、クライアントは、そのＩＰアドレスを、クライアントがそれを解放することを選択するまで制御する。従来の静的ＩＰアドレスとは異なり、クライアントＩＰアドレスは、クライアントが、クライアントのパブリックＩＰアドレスをクライアントのアカウントに関連付けられる任意のリソースインスタンスに再マッピングすることによって、リソースインスタンスまたはアベイラビリティゾーンの故障をマスクすることを可能にする。クライアントＩＰアドレスは、例えば、クライアントが、クライアントＩＰアドレスを代替リソースインスタンスに再マッピングすることによって、クライアントのリソースインスタンスまたはソフトウエアに伴う問題を整備することを可能にする。
【００８３】
図１０は、少なくとも幾つかの実施形態による、ＩＰトンネリングテクノロジーを使用してネットワーク基盤上にオーバーレイネットワークを実装するデータセンター例を例証する。プロバイダデータセンター１０００は、ルータ、スイッチ、ネットワークアドレス変換器（ＮＡＴ）などのネットワークデバイス１０１２を含む、ネットワーク基盤を含むことができる。少なくとも幾つかの実施形態は、インターネットプロトコル（ＩＰ）トンネリングテクノロジーを用いて、オーバーレイネットワークを提供することができ、該オーバーレイネットワークを介して、カプセル化されたパケットはトンネルを使用してネットワーク基盤１０１０を通過することができる。ＩＰトンネリングテクノロジーは、ネットワーク（例えば、図１０のデータセンター１０００内のローカルネットワーク）上にオーバーレイネットワークを作成するためのマッピング及びカプセル化システムを提供することができ、オーバーレイ層（パブリックＩＰアドレス）及びネットワーク基盤１０１０層（プライベートＩＰアドレス）のための別々の名前空間を提供することができる。オーバーレイ層内のパケットは、マッピングディレクトリ（例えば、マッピングサービス１０３０によって提供される）と照合されて、それらのトンネル基盤ターゲット（プライベートＩＰアドレス）が何であるべきかを決定することができる。ＩＰトンネリングテクノロジーは、仮想ネットワークトポロジー（オーバーレイネットワーク）を提供し、クライアントに提示されるインターフェース（例えば、サービスＡＰＩ）は、オーバーレイネットワークに取り付けられ、その結果、クライアントが、クライアントがパケットを送信したいと考えるＩＰアドレスを提供するときに、ＩＰアドレスが、ＩＰオーバーレイアドレスがどこにあるかを知っているマッピングサービス（例えば、マッピングサービス１０３０）と通信することによって仮想空間内で動作される。
【００８４】
少なくとも幾つかの実施形態では、ＩＰトンネリングテクノロジーは、ＩＰオーバーレイアドレス（パブリックＩＰアドレス）を基盤ＩＰアドレス（プライベートＩＰアドレス）にマッピングし、２つの名前空間間のトンネル内のパケットをカプセル化し、トンネルを介して、カプセル化がパケットから外される正しい終点にパケットを配信することができる。図１０では、ホスト１０２０Ａ上の仮想マシン（ＶＭ）１０２４Ａから中間ネットワーク１０５０上のデバイスへのオーバーレイネットワークトンネル例１０３４Ａ、及びホスト１０２０Ｂ上のＶＭ１０２４Ｂとホスト１０２０Ｃ上のＶＭ１０２４Ｃとの間のオーバーレイネットワークトンネル例１０３４Ｂが示される。幾つかの実施形態では、パケットは、送信前にオーバーレイネットワークパケット形式でカプセル化されることができ、オーバーレイネットワークパケットは、受信後に外されることができる。他の実施形態では、オーバーレイネットワークパケット内にパケットをカプセル化する代わりに、オーバーレイネットワークアドレス（パブリックＩＰアドレス）が、送信前にパケットの基盤アドレス（プライベートＩＰアドレス）内に組み込まれ、受信後にパケットアドレスから外されることができる。例として、オーバーレイネットワークは、３２ビットＩＰｖ４（インターネットプロトコルバージョン４）アドレスを使用してパブリックＩＰアドレスとして実装されることができ、ＩＰｖ４アドレスは、プライベートＩＰアドレスとして基盤ネットワーク上で使用される１２８ビットＩＰｖ６（インターネットプロトコルバージョン６）アドレスの一部として組み込まれることができる。
【００８５】
図１０を参照すると、実施形態を実装することができる少なくとも幾つかのネットワークは、複数のオペレーティングシステムがホストコンピュータ（例えば、図１０のホスト１０２０Ａ及び１０２０Ｂ）上で同時に、即ち、ホスト１０２０上の仮想マシン（ＶＭ）１０２４として動作することを可能にする、ハードウエア仮想化テクノロジーを含むことができる。ＶＭ１０２４は、例えば、ネットワークプロバイダのクライアントに賃借またはリースされることができる。ホスト１０２０上のハイパーバイザ、または仮想マシンモニタ（ＶＭＭ）１０２２は、ホスト上のＶＭ１０２４に仮想プラットフォームを提示し、ＶＭ１０２４の実行をモニタする。各ＶＭ１０２４は、１つ以上のプライベートＩＰアドレスを提供されることができ、ホスト１０２０上のＶＭＭ１０２２は、ホスト上のＶＭ１０２４のプライベートＩＰアドレスを認識することができる。マッピングサービス１０３０は、ローカルネットワーク上でＩＰアドレスを提供するルータまたは他のデバイスの、全てのネットワークＩＰプレフィックス及びＩＰアドレスを認識することができる。これは、複数のＶＭ１０２４を管理するＶＭＭ１０２２のＩＰアドレスを含む。マッピングサービス１０３０は、例えば、サーバシステム上に、集中させることができ、または別法として、ネットワーク上の２つ以上のサーバシステムもしくは他のデバイス間に分散されることができる。ネットワークは、例えば、マッピングサービステクノロジー及びＩＰトンネリングテクノロジーを使用して、例えば、データセンター１０００ネットワーク内の異なるホスト１０２０上のＶＭ１０２４間でデータパケットをルーティングする。かかるローカルネットワーク内でルーティング情報を交換するために、内部ゲートウェイプロトコル（ＩＧＰ）が使用されてもよいことに留意されたい。
【００８６】
それに加えて、プロバイダデータセンター１０００ネットワーク（自律システム（ＡＳ）と称されることもある）などのネットワークは、マッピングサービステクノロジー、ＩＰトンネリングテクノロジー、及びルーティングサービステクノロジーを使用して、ＶＭ１０２４からインターネット目的地へ、及びインターネットソースからＶＭ１０２４へパケットをルーティングすることができる。外部ゲートウェイプロトコル（ＥＧＰ）または境界ゲートウェイプロトコル（ＢＧＰ）が、典型的にはインターネット上のソース及び目的地間のインターネットルーティングのために使用されることに留意されたい。図１０は、少なくとも幾つかの実施形態による、リソース仮想化テクノロジーを提供し、またインターネットトランジットプロバイダ（ｔｒａｎｓｉｔ  ｐｒｏｖｉｄｅｒ）に接続するエッジルータ（単数または複数）１０１４を介した完全なインターネットアクセスを提供するネットワークを実装する、プロバイダデータセンター例１０００を示す。プロバイダデータセンター１０００は、例えば、ハードウエア仮想化サービスを介して仮想コンピューティングシステム（ＶＭ１０２４）を実装する能力、及び記憶仮想化サービスを介して記憶リソース１０１８上に仮想化されたデータ記憶１０１６を実装する能力をクライアントに提供することができる。
【００８７】
データセンター１０００ネットワークは、ＩＰトンネリングテクノロジー、マッピングサービステクノロジー、及びルーティングサービステクノロジーを実装して、例えば、データセンター１０００内のホスト１０２０上のＶＭ１０２４からインターネット目的地へ、及びインターネットソースからＶＭ１０２４へパケットをルーティングするなど、仮想化されたリソースへ及び仮想化されたリソースからトラフィックをルーティングすることができる。インターネットソース及び目的地は、例えば、中間ネットワーク１０４０に接続するコンピューティングシステム１０７０、及び中間ネットワーク１０４０に接続するローカルネットワーク１０５０に接続するコンピューティングシステム１０５２（例えば、ネットワーク１０５０をインターネットトランジットプロバイダへ接続するエッジルータ（単数または複数）１０１４を介して）を含むことができる。プロバイダデータセンター１０００ネットワークはまた、例えば、データセンター１０００内のホスト１０２０上のＶＭ１０２４から、データセンター１０００内の同一のホスト上または他のホスト１０２０上の他のＶＭ１０２４へ、データセンター１０００内のリソース間でパケットをルーティングすることもできる。
【００８８】
データセンター１０００を提供するサービスプロバイダはまた、データセンター１０００に類似のハードウエア仮想化テクノロジーを含み、また中間ネットワーク１０４０に同様に接続される、追加のデータセンター（単数または複数）１０６０を提供することもできる。パケットは、例えば、データセンター１０００内のホスト１０２０上のＶＭ１０２４から、別の類似のデータセンター１０６０内の別のホスト上の別のＶＭへ、及びその逆など、データセンター１０００から他のデータセンター１０６０へ転送されることができる。
【００８９】
上記は、複数のオペレーティングシステムがホスト上の仮想マシン（ＶＭ）としてホストコンピュータ上で同時に動作することを可能にし、ＶＭがネットワークプロバイダのクライアントに賃借またはリースされることができるハードウエア仮想化テクノロジーを説明しているが、ハードウエア仮想化テクノロジーはまた、例えば、記憶リソース１０１８などの他のコンピューティングリソースを、ネットワークプロバイダのクライアントに仮想化されたリソースとして類似の方式で提供することもできる。
【００９０】
図１１は、少なくとも幾つかの実施形態による、記憶仮想化サービス及びハードウエア仮想化サービスをクライアントに提供するプロバイダネットワーク例のブロック図である。ハードウエア仮想化サービス１１２０は、複数の計算リソース１１２４（例えば、ＶＭ）をクライアントに提供する。計算リソース１１２４は、例えば、プロバイダネットワーク１１００のクライアントに（例えば、クライアントネットワーク１１５０を実装するクライアントに）賃借またはリースされることができる。各計算リソース１１２４は、１つ以上のプライベートＩＰアドレスを提供されることができる。プロバイダネットワーク１１００は、計算リソース１１２４のプライベートＩＰアドレスからパブリックインターネット目的地へ、及びパブリックインターネットソースから計算リソース１１２４へパケットをルーティングするように構成することができる。
【００９１】
プロバイダネットワーク１１００は、例えば、ローカルネットワーク１１５６を介して中間ネットワーク１１４０に連結される、クライアントネットワーク１１５０に、中間ネットワーク１１４０及びプロバイダネットワーク１１００に連結されるハードウエア仮想化サービス１１２０を介して、仮想コンピューティングシステム１１９２を実装する能力を提供することができる。幾つかの実施形態では、ハードウエア仮想化サービス１１２０は、それを介してクライアントネットワーク１１５０が、例えば、コンソール１１９４を介して、ハードウエア仮想化サービス１１２０によって提供される機能性にアクセスすることができる、１つ以上のＡＰＩ１１０２、例えば、ウェブサービスインターフェースなどを提供することができる。少なくとも幾つかの実施形態では、プロバイダネットワーク１１００において、クライアントネットワーク１１５０における各仮想コンピューティングシステム１１９２は、リース、賃借、ないしは別の方法でクライアントネットワーク１１５０に提供される計算リソース１１２４に対応することができる。
【００９２】
仮想コンピューティングシステム１１９２及び／または別のクライアントデバイス１１９０もしくはコンソール１１９４のインスタンスから、クライアントは、記憶仮想化サービス１１１０の機能性に、例えば、１つ以上のＡＰＩ１１０２を介してアクセスして、プロバイダネットワーク１１００によって提供される仮想データ記憶１１１６からのデータにアクセスし、また仮想データ記憶１１１６へデータを記憶することができる。幾つかの実施形態では、仮想化されたデータ記憶ゲートウェイ（図示なし）が、クライアントネットワーク１１５０に提供されることができ、それは、例えば、頻繁にアクセスされるかまたは重要なデータなどの少なくとも幾つかのデータを局所的にキャッシュすることができ、また主要なデータの記憶（仮想化されたデータ記憶１１１６）が維持されるように、１つ以上の通信チャネルを介して仮想化されたデータ記憶サービス１１１０と通信して、新規のデータまたはローカルキャッシュから修正されたデータを更新することができる。少なくとも幾つかの実施形態では、ユーザは、仮想コンピューティングシステム１１９２及び／または別のクライアントデバイス１１９０を介して、ユーザには局所的な仮想化された記憶１１９８として見える仮想データ記憶１１１６容量を搭載し、それにアクセスすることができる。
【００９３】
図１１には示されてはいないが、仮想化サービス（単数または複数）はまた、ＡＰＩ（単数または複数）１１０２を介してプロバイダネットワーク１１００内のリソースインスタンスからアクセスされることもできる。例えば、クライアント、機器サービスプロバイダ、または他のエンティティは、ＡＰＩ１１０２を介してプロバイダネットワーク１１００上の対応するプライベートネットワーク内の仮想化サービスにアクセスして、そのプライベートネットワーク内または別のプライベートネットワーク内の１つ以上のリソースインスタンスの配分を要求することができる。
【００９４】
図１２は、少なくとも幾つかの実施形態による、プロバイダネットワーク上のプライベートネットワークを少なくとも幾つかのクライアントに提供するプロバイダネットワーク例を例証する。プロバイダネットワーク１２００上のクライアントの仮想化されたプライベートネットワーク１２６０は、例えば、クライアントが、クライアントネットワーク１２５０上のそれらの既存の基盤（例えば、デバイス１２５２）を一組の論理的に単離されたリソースインスタンス（例えば、ＶＭ１２２４Ａ及び１２２４Ｂならびに記憶１２１８Ａ及び１２１８Ｂ）に接続して、セキュリティサービス、ファイアウォール、及び侵入検出システムなどの管理能力を、それらのリソースインスタンスを含むように拡張することを可能にする。
【００９５】
クライアントの仮想化されたプライベートネットワーク１２６０は、プライベート通信チャネル１２４２を介してクライアントネットワーク１２５０に接続されることができる。プライベート通信チャネル１２４２は、例えば、ネットワークトンネリングテクノロジーに従って実装されるトンネル、または中間ネットワーク１２４０上の幾つかの他のピアリング接続であることができる。中間ネットワークは、例えば、共有ネットワーク、またはインターネットなどのパブリックネットワークであることができる。別法として、プライベート通信チャネル１２４２を、仮想化されたプライベートネットワーク１２６０とクライアントネットワーク１２５０との間の直接的な専用の接続上に実装することができる。
【００９６】
パブリックネットワークは、複数のエンティティへの自由なアクセス及び複数のエンティティ間の相互接続を提供するネットワークとして、広義に定義することができる。インターネット、またはワールドワイドウェブ（ＷＷＷ）は、パブリックネットワークの例である。共有ネットワークは、アクセスが一般的に限定されていないパブリックネットワークと対照的に、アクセスが２つ以上のエンティティに限定されるネットワークとして広義に定義することができる。共有ネットワークは、例えば、相互接続されてワイドエリアネットワーク（ＷＡＮ）を形成する、１つ以上のローカルエリアネットワーク（ＬＡＮ）及び／もしくはデータセンターネットワーク、または２つ以上のＬＡＮもしくはデータセンターネットワークを含むことができる。共有ネットワークの例としては、企業ネットワーク及び他の事業ネットワークを挙げることができるが、それらに限定されない。共有ネットワークは、ローカルエリアを網羅するネットワークからグローバルネットワークまでの範囲内の任意の場所にあることができる。共有ネットワークは、少なくとも幾つかのネットワーク基盤をパブリックネットワークと共有することができ、また共有ネットワークは、他のネットワーク（単数または複数）と共有ネットワークとの間に制御されたアクセスを有する、パブリックネットワークを含むことができる１つ以上の他のネットワークに連結されることができることに留意されたい。共有ネットワークはまた、インターネットなどのパブリックネットワークと対照的に、プライベートネットワークとして閲覧されることもできる。実施形態では、共有ネットワークかまたはパブリックネットワークかのいずれかが、プロバイダネットワークとクライアントネットワークとの間の中間ネットワークとして働くことができる。
【００９７】
プロバイダネットワーク１２００上にクライアントのための仮想化されたプライベートネットワーク１２６０を構築するために、１つ以上のリソースインスタンス（例えば、ＶＭ１２２４Ａ及び１２２４Ｂならびに記憶１２１８Ａ及び１２１８Ｂ）が、仮想化されたプライベートネットワーク１２６０に配分されることができる。他のリソースインスタンス（例えば、記憶１２１８Ｃ及びＶＭ１２２４Ｃ）は、他のクライアント利用のためにプロバイダネットワーク１２００上で利用可能なままであり得ることに留意されたい。パブリックＩＰアドレスの範囲もまた、仮想化されたプライベートネットワーク１２６０に配分されることができる。それに加えて、プロバイダネットワーク１２００の１つ以上のネットワークデバイス（ルータ、スイッチなど）が、仮想化されたプライベートネットワーク１２６０に配分されることができる。プライベート通信チャネル１２４２は、仮想化されたプライベートネットワーク１２６０におけるプライベートゲートウェイ１２６２とクライアントネットワーク１２５０におけるゲートウェイ１２５６との間に構築されることができる。
【００９８】
少なくとも幾つかの実施形態では、プライベートゲートウェイ１２６２に加えて、またはその代わりに、仮想化されたプライベートネットワーク１２６０は、仮想化されたプライベートネットワーク１２６０内のリソースが、プライベート通信チャネル１２４２を介する代わりかまたはそれに加えて、中間ネットワーク１２４０を介してエンティティ（例えば、ネットワークエンティティ１２４４）と直接通信すること及びその逆を可能にする、パブリックゲートウェイ１２６４を含むことができる。
【００９９】
仮想化されたプライベートネットワーク１２６０は、必ずしもではないが、２つ以上のサブネット１２７０に分割することができる。例えば、プライベートゲートウェイ１２６２及びパブリックゲートウェイ１２６４の両方を含む実装では、プライベートネットワークは、プライベートゲートウェイ１２６２を通じて到達可能なリソース（この例では、ＶＭ１２２４Ａ及び記憶１２１８Ａ）を含むサブネット１２７０Ａ、及びパブリックゲートウェイ１２６４を通じて到達可能なリソース（この例では、ＶＭ１２２４Ｂ及び記憶１２１８Ｂ）を含むサブネット１２７０Ｂに分割することができる。
【０１００】
クライアントは、特定のクライアントパブリックＩＰアドレスを仮想化されたプライベートネットワーク１２６０内の特定のリソースインスタンスに割り当てることができる。中間ネットワーク１２４０上のネットワークエンティティ１２４４は次に、クライアントによって発行されるパブリックＩＰアドレスにトラフィックを送信することができ、トラフィックは、関連付けられるリソースインスタンスにプロバイダネットワーク１２００によってルーティングされる。リソースインスタンスからの戻りトラフィックは、プロバイダネットワーク１２００によって、中間ネットワーク１２４０上のネットワークエンティティ１２４４へルーティングし返される。リソースインスタンスとネットワークエンティティ１２４４との間のトラフィックのルーティングは、リソースインスタンスのパブリックＩＰアドレスとプライベートＩＰアドレスとの間で変換するためのネットワークアドレス変換を必要とする場合があることに留意されたい。
【０１０１】
少なくとも幾つかの実施形態は、クライアントが、図１２に例証されるクライアントの仮想化されたプライベートネットワーク１２６０内のパブリックＩＰアドレスを、クライアントの外部ネットワーク１２５０上のデバイスに再マッピングすることを可能にすることができる。パケットが（例えば、ネットワークエンティティ１２４４から）受信されると、ネットワーク１２００は、パケットによって示される目的地ＩＰアドレスが外部ネットワーク１２５０上の終点に再マッピングされたことを決定し、プライベート通信チャネル１２４２かまたは中間ネットワーク１２４０かのいずれかを介して、対応する終点へのパケットのルーティングを処理することができる。応答トラフィックは、プロバイダネットワーク１２００を通じて終点からネットワークエンティティ１２４４にルーティングされることができ、または別法として、クライアントネットワーク１２５０によってネットワークエンティティ１２４４に直接ルーティングされることができる。ネットワークエンティティ１２４４の観点からは、ネットワークエンティティ１２４４は、プロバイダネットワーク１２００上のクライアントのパブリックＩＰアドレスと通信しているかのように見える。しかしながら、ネットワークエンティティ１２４４は、実際にはクライアントネットワーク１２５０上の終点と通信している。
【０１０２】
図１２は、中間ネットワーク１２４０上及びプロバイダネットワーク１２００の外部のネットワークエンティティ１２４４を示しているが、ネットワークエンティティは、プロバイダネットワーク１２００上のエンティティであってもよい。例えば、プロバイダネットワーク１２００によって提供されるリソースインスタンスのうちの１つは、トラフィックをクライアントによって発行されるパブリックＩＰアドレスに送信するネットワークエンティティであることができる。
【０１０３】
実施形態例
本開示の実施形態は、以下の付記を考慮して説明することができる：
１．プロバイダネットワークであって、
ネットワーク基盤と、
複数のマルチテナントホストデバイスであって、各ホストデバイスは、複数のクライアントリソースインスタンスを含み、各クライアントリソースインスタンスは、プロバイダネットワークの複数のクライアントのうちの１つに割り当てられ、少なくとも１つのホストデバイス上の少なくとも２つのクライアントリソースインスタンスは、複数のクライアントのうちの異なるクライアントに割り当てられる、複数のマルチテナントホストデバイスと、
オーバーレイネットワーク分析サービスを実装する１つ以上のコンピューティングデバイスと、を備え、
各ホストデバイスは、１つ以上のオーバーレイネットワークトンネルに関する性能データを収集するように構成され、各オーバーレイネットワークトンネルは、対応するホストデバイスから、ネットワーク基盤上のホストデバイスのうちの別のホストデバイスにオーバーレイネットワークパケットを運搬し、対応するオーバーレイネットワークトンネル上の各オーバーレイネットワークパケットは、対応するホストデバイス上のクライアントリソースインスタンスのうちの１つから取得され、かつ別のホストデバイス上のクライアントリソースインスタンスのうちの１つをターゲットとするクライアントデータを含み、性能データは、オーバーレイネットワークトンネルを介して配信されるオーバーレイネットワークパケットに関して決定される往復時間を含み、
オーバーレイネットワーク分析サービスは、
複数のホストデバイスから性能データを取得し、かつ
取得された性能データに従って、オーバーレイネットワークに関する性能情報を生成するように構成され、性能情報は、トンネルの決定された往復時間に従って算出されるオーバーレイネットワークトンネルのレイテンシ測定基準を含む、プロバイダネットワーク。
２．オーバーレイネットワークトンネルに関して収集される性能データは、オーバーレイネットワークトンネルに関する廃棄パケットを示し、性能情報は、オーバーレイネットワークトンネルに関する廃棄パケットの指示に従って少なくとも１つのオーバーレイネットワークトンネルに関して算出されるパケット損失率をさらに含む、付記１に記載のプロバイダネットワーク。
３．各ホストデバイスは、オーバーレイネットワークトンネルを介して別のホストデバイスに送信された少なくとも１つのオーバーレイネットワークパケットに関して、
オーバーレイネットワークパケットがオーバーレイネットワークトンネル上でいつ送信されたかを示す送信時間を記録し、
オーバーレイネットワークトンネルを介して、別のホストデバイスからオーバーレイネットワークパケットの受信の確認を受信し、かつ
記録された送信時間及び確認に従って、オーバーレイネットワークパケットの往復時間を算出するようにさらに構成される、付記１に記載のプロバイダネットワーク。
４．各ホストデバイスは、オーバーレイネットワークトンネルを介して別のホストデバイスに送信された２つ以上のオーバーレイネットワークパケットに関して、
オーバーレイネットワークトンネルを介して、別のホストデバイスから２つ以上のオーバーレイネットワークパケットに関する単一の確認メッセージを受信し、かつ
確認メッセージに従って、２つ以上のオーバーレイネットワークパケットに関する性能データを決定するようにさらに構成される、付記１に記載のプロバイダネットワーク。
５．オーバーレイネットワーク分析サービスによって取得される性能データは、プロバイダネットワーク上の特定のクライアントのプライベートネットワーク実装における、クライアントリソースインスタンス間のオーバーレイネットワークトンネルに関して収集される性能データを含み、性能情報は、プロバイダネットワーク上の特定のクライアントのプライベートネットワーク実装に関して生成される、付記１に記載のプロバイダネットワーク。
６．オーバーレイネットワーク分析サービスは、性能データに従ってクライアントのプライベートネットワーク実装のマッピングを生成するようにさらに構成され、マッピングは、クライアントのプライベートネットワーク実装におけるクライアントリソースインスタンス及びクライアントリソースインスタンス間のオーバーレイネットワークトンネルを示す、付記５に記載のプロバイダネットワーク。
７．オーバーレイネットワーク分析サービスによって取得される性能データは、複数のクライアントのうちの２つ以上のクライアントリソースインスタンス間のオーバーレイネットワークトンネルに関して収集される性能データを含み、性能情報は、２つ以上のクライアントに関する集約された性能データに従って生成される、付記１に記載のプロバイダネットワーク。
８．オーバーレイネットワーク分析サービスは、
集約された性能データ及びネットワーク基盤に関するトポロジー情報に従って、オーバーレイネットワークのマッピングを生成することであって、マッピングは、ホストデバイス間のネットワーク基盤上のホストデバイス及びルートを示す、生成することと、
集約された性能データ及びトポロジー情報に従って、ネットワーク基盤の１つ以上の構成要素の各々の性能測定基準を生成することと、を行うようにさらに構成される、付記７に記載のプロバイダネットワーク。
９．方法であって、
プロバイダネットワーク上の１つ以上のコンピューティングデバイス上に実装されるサービスによって、プロバイダネットワーク内の異なるホスト間のネットワーク基盤上のオーバーレイネットワーク上で送信されるクライアントデータパケットに関する性能データを取得することであって、各クライアントデータパケットは、オーバーレイネットワークを介してネットワーク基盤上でクライアントデータパケットをルーティングするために、オーバーレイネットワークメタデータでタグ付けされる、取得することと、
性能データに従って、オーバーレイネットワークの１つ以上の性能測定基準を決定することとであって、性能測定基準は、ネットワーク基盤上の１つ以上のオーバーレイネットワークルートの各々のレイテンシ測定基準を含む、決定することと、
オーバーレイネットワークの１つ以上の性能測定基準を示す出力を生成することと、を含む、方法。
１０．各ホストは、複数のクライアントリソースインスタンスを含み、各クライアントリソースインスタンスは、プロバイダネットワークの複数のクライアントのうちの１つに割り当てられ、少なくとも１つのホスト上の少なくとも２つのクライアントリソースインスタンスは、プロバイダネットワークの異なるクライアントに割り当てられる、付記９に記載の方法。
１１．クライアントリソースインスタンスは、ホスト上に仮想マシン（ＶＭ）として実装され、各ホストは、対応するホスト上の複数の仮想マシン（ＶＭ）をモニタし、かつホスト上のクライアントリソースインスタンスから始まるクライアントデータパケットを、オーバーレイネットワークルートを介してネットワーク基盤上に送信する仮想マシンモニタ（ＶＭＭ）を含む、付記１０に記載の方法。
１２．ホストにおいて性能データを生成することをさらに含み、該性能データを生成することは、各ホストにおいて、対応するオーバーレイネットワークルートを介した１つ以上の他のホストにおける１つ以上の他のクライアントリソースインスタンスへのオーバーレイネットワークパケットとしての配信に関するホストにおけるオーバーレイネットワークプロトコルに従って、ホストにおける１つ以上のクライアントリソースインスタンスから開始し、かつオーバーレイネットワークメタデータでタグ付けされるクライアントデータパケットに関する性能データを収集することを含む、付記１０に記載の方法。
１３．各ホストにおいて性能データを生成することは、オーバーレイネットワークルートを介して別のホストに送信される１つ以上のオーバーレイネットワークパケットの各々に関して、
オーバーレイネットワークパケットがオーバーレイネットワークルート上でいつ送信されたかを示す送信時間を記録することと、
オーバーレイネットワークルートを介して、別のホストからオーバーレイネットワークパケットの受信の確認を受信することと、
記録された送信時間及び確認に従って、オーバーレイネットワークルート上のオーバーレイネットワークパケットの往復時間を算出することと、を含む、付記１２に記載の方法。
１４．各ホストにおいて性能データを生成することは、オーバーレイネットワークルートを介して別のホストに送信されたオーバーレイネットワークパケットに関して、
ホストによって、別のホストに送信されたＮ番目毎のオーバーレイネットワークパケットにおいて、別のホストから確認メッセージを要求することと、
ホストによって、Ｎ個の送信されたオーバーレイネットワークパケットうちの２つ以上の受信を示す単一の確認メッセージを別のホストから受信することと、
確認メッセージに従って、Ｎ個の送信されたオーバーレイネットワークパケットに関する性能データを生成することと、を含む、付記１２に記載の方法。
１５．各ホストにおいて性能データを生成することは、オーバーレイネットワークルートを介して別のホストに送信された少なくとも１つのオーバーレイネットワークパケットに関して、オーバーレイネットワークルートを介して他のホストからのオーバーレイネットワークパケットの受信の確認を受信することを含む、付記１２に記載の方法。
１６．受信の確認は、オーバーレイネットワークを介してネットワーク基盤上にクライアント確認パケットをルーティングするために、他のホストにおいてオーバーレイネットワークメタデータでタグ付けされたクライアント確認パケットを伴って含まれる、付記１５に記載の方法。
１７．性能データは、各オーバーレイネットワークルートに関して決定される往復時間を含み、各オーバーレイネットワークルートのレイテンシ測定基準は、対応するオーバーレイネットワークルートの往復時間から決定される、付記９に記載の方法。
１８．性能データは、オーバーレイネットワークルートに関する廃棄パケットを示し、各オーバーレイネットワークルートに関して決定される性能測定基準は、オーバーレイネットワークルートに関する廃棄パケットの指示に従って算出されるパケット損失率をさらに含む、付記９に記載の方法。
１９．サービスによって取得される性能データは、プロバイダネットワーク上の特定のクライアントのプライベートネットワーク実装における、クライアントリソースインスタンス間のオーバーレイネットワークルートに関して収集される性能データを含み、１つ以上の性能測定基準は、プロバイダネットワーク上の特定のクライアントのプライベートネットワーク実装に関して決定される、付記９に記載の方法。
２０．性能データに従って、クライアントのプライベートネットワーク実装のマッピングを生成することをさらに含み、マッピングは、プライベートネットワーク実装におけるクライアントリソースインスタンス及びクライアントリソースインスタンス間のオーバーレイネットワークルートを示す、付記１９に記載の方法。
２１．オーバーレイネットワーク分析サービスによって取得される性能データは、プロバイダネットワークの複数のクライアントのうちの２つ以上のクライアントリソースインスタンス間のオーバーレイネットワークルートに関して収集される性能データを含み、性能測定基準は、２つ以上のクライアントに関する集約された性能データに従って決定される、付記９に記載の方法。
２２．集約された性能データ及びネットワーク基盤に関するトポロジー情報に従ってオーバーレイネットワークのマッピングを生成することをさらに含み、マッピングは、ホスト及びホスト間のネットワーク基盤上のルートを示す、付記２１に記載の方法。
２３．集約された性能データ及びネットワーク基盤に関するトポロジー情報に従って、ネットワーク基盤の１つ以上の構成要素の各々の性能測定基準を生成することをさらに含む、付記２１に記載の方法。
２４．非一時的なコンピュータアクセス可能記憶媒体であって、
プロバイダネットワーク内の異なるホスト間のオーバーレイネットワークを介してネットワーク基盤上に送信されるクライアントデータパケットに関する性能データを収集することであって、性能データは、オーバーレイネットワークを介して配信されるオーバーレイネットワークパケットに関して決定される往復時間を含み、オーバーレイネットワークパケットは、オーバーレイネットワーク上でのルーティングのためのオーバーレイネットワークプロトコルに従ってカプセル化されるクライアントデータパケットである、収集することと、
性能データに従ってオーバーレイネットワークに関する性能情報を決定することであって、性能情報は、１つ以上のオーバーレイネットワークルートの各々のレイテンシ測定基準を含み、各オーバーレイネットワークルートのレイテンシ測定基準は、対応するオーバーレイネットワークルートの往復時間から決定される、決定することと、
オーバーレイネットワークに関する性能情報を示す出力を生成することと、を実装するようなコンピュータ実行可能なプログラム命令を記憶する、非一時的なコンピュータアクセス可能記憶媒体。
２５．各ホストは、複数のクライアントリソースインスタンスを含み、各クライアントリソースインスタンスは、プロバイダネットワークの複数のクライアントのうちの１つに割り当てられ、少なくとも１つのホスト上の少なくとも２つのクライアントリソースインスタンスは、プロバイダネットワークの異なるクライアントに割り当てられる、付記２４に記載の非一時的なコンピュータアクセス可能記憶媒体。
２６．収集される性能データは、オーバーレイネットワークルートに関する廃棄パケットをさらに示し、性能情報は、対応するオーバーレイネットワークルートに関する廃棄パケットの指示に従って算出されるオーバーレイネットワークルートのうちの１つ以上の各々のパケット損失率をさらに含む、付記２４に記載の非一時的なコンピュータアクセス可能記憶媒体。
２７．収集される性能データは、プロバイダネットワーク上の特定のクライアントのプライベートネットワーク実装における、クライアントリソースインスタンス間のオーバーレイネットワークルートに関して収集される性能データを含み、性能情報は、プロバイダネットワーク上の特定のクライアントのプライベートネットワーク実装に関して決定される、付記２４に記載の非一時的なコンピュータアクセス可能記憶媒体。
２８．収集される性能データは、プロバイダネットワークの複数のクライアントのうちの２つ以上のクライアントリソースインスタンス間のオーバーレイネットワークルートに関して収集される性能データを含み、性能情報は、２つ以上のクライアントに関する集約された性能データに従って決定される、付記２４に記載の非一時的なコンピュータアクセス可能記憶媒体。
２９．プログラム命令は、収集される性能データ及びネットワーク基盤に関するトポロジー情報に従って、オーバーレイネットワークのマッピングを生成することを実装するようにさらにコンピュータ実行可能であり、マッピングは、ホスト、及びホスト間のネットワーク基盤上のホスト間のオーバーレイネットワークルートを示す、付記２４に記載の非一時的なコンピュータアクセス可能記憶媒体。
３０．プログラム命令は、収集される性能データ及びネットワーク基盤に関するトポロジー情報に従って、ネットワーク基盤の１つ以上の構成要素の各々の性能測定基準を生成することを実装するようにさらにコンピュータ実行可能である、付記２４に記載の非一時的なコンピュータアクセス可能記憶媒体。
【０１０４】
例証的なシステム
少なくとも幾つかの実施形態では、本明細書に説明されるネットワークトラフィックマッピング及び性能分析方法及び装置の一部または全部を実装するサーバは、図１３に例証されるコンピュータシステム２０００などの、１つ以上のコンピュータアクセス可能媒体を含むか、または１つ以上のコンピュータアクセス可能媒体にアクセスするように構成される汎用コンピュータシステムを含むことができる。例証される実施形態では、コンピュータシステム２０００は、入力／出力（Ｉ／Ｏ）インターフェース２０３０を介してシステムメモリ２０２０に連結される１つ以上のプロセッサ２０１０を含む。コンピュータシステム２０００は、Ｉ／Ｏインターフェース２０３０に連結されるネットワークインターフェース２０４０をさらに含む。
【０１０５】
種々の実施形態では、コンピュータシステム２０００は、１つのプロセッサ２０１０を含む単一プロセッサシステム、または複数のプロセッサ２０１０（例えば、２、４、８、または別の好適な数）を含むマルチプロセッサシステムであることができる。プロセッサ２０１０は、命令を実行することができる任意の好適なプロセッサであることができる。例えば、種々の実施形態では、プロセッサ２０１０は、ｘ８６、ＰｏｗｅｒＰＣ、ＳＰＡＲＣ、またはＭＩＰＳ  ＩＳＡ、または任意の他の好適なＩＳＡなどの多様な命令セットアーキテクチャ（ＩＳＡ）のいずれかを実装する汎用または組み込みプロセッサであることができる。マルチプロセッサシステムでは、プロセッサ２０１０の各々は、必ずしもではないが、同一のＩＳＡを共通して実装することができる。
【０１０６】
システムメモリ２０２０は、プロセッサ（単数または複数）２０１０によってアクセス可能な命令及びデータを記憶するように構成することができる。種々の実施形態では、システムメモリ２０２０は、静的ランダムアクセスメモリ（ＳＲＡＭ）、同期型動的ＲＡＭ（ＳＤＲＡＭ）、不揮発性／フラッシュ型メモリ、または任意の他の種類のメモリなどの任意の好適なメモリテクノロジーを使用して実装することができる。例証される実施形態では、ネットワークトラフィックマッピング及び性能分析方法及び装置に関して上記に説明される方法、技術、及びデータなどの１つ以上の所望の機能を実装するプログラム命令及びデータは、コード２０２５及びデータ２０２６としてシステムメモリ２０２０内に記憶されて示される。
【０１０７】
一実施形態では、Ｉ／Ｏインターフェース２０３０は、プロセッサ２０１０と、システムメモリ２０２０と、ネットワークインターフェース２０４０または他の周辺インターフェースを含むデバイス内の任意の周辺デバイスとの間のＩ／Ｏトラフィックを連係させるように構成することができる。幾つかの実施形態では、Ｉ／Ｏインターフェース２０３０は、ある構成要素（例えば、システムメモリ２０２０）からのデータ信号を、別の構成要素（例えば、プロセッサ２０１０）による使用に好適な形式に変える任意の必要なプロトコル、タイミング、または他のデータ変形を実施することができる。幾つかの実施形態では、Ｉ／Ｏインターフェース２０３０は、例えば、周辺構成要素相互接続（ＰＣＩ）バス標準またはユニバーサルシリアルバス（ＵＳＢ）標準の変形などの、種々の種類の周辺バスを通じて取り付けられるデバイス用の支持を含むことができる。幾つかの実施形態では、Ｉ／Ｏインターフェース２０３０の機能は、例えば、ノースブリッジ及びサウスブリッジなどの２つ以上の別々の構成要素に分割することができる。また、幾つかの実施形態では、システムメモリ２０２０に対するインターフェースなどのＩ／Ｏインターフェース２０３０の機能性の一部または全部は、プロセッサ２０１０内に直接組み込むことができる。
【０１０８】
ネットワークインターフェース２０４０は、コンピュータシステム２０００と、例えば、図１〜１２に例証される他のコンピュータシステムまたはデバイスなどのネットワーク（単数）またはネットワーク（複数）２０５０に取り付けられる他のデバイス２０６０との間でデータが交換されることを可能にするように構成することができる。種々の実施形態では、ネットワークインターフェース２０４０は、例えば、イーサネット（登録商標）ネットワーク型などの、任意の好適な有線または無線の一般的なデータネットワークを介して通信を支持することができる。それに加えて、ネットワークインターフェース２０４０は、アナログ音声ネットワークもしくはデジタルファイバ通信ネットワークなどの電気通信／電話通信ネットワークを介して、ファイバチャネルＳＡＮなどのストレージエリアネットワークを介して、または任意の他の好適な種類のネットワーク及び／もしくはプロトコルを介して、通信を支持することができる。
【０１０９】
幾つかの実施形態では、システムメモリ２０２０は、ネットワークトラフィックマッピング及び性能分析方法の実施形態の実装に関して図１〜１２に上述される、プログラム命令及びデータを記憶するように構成されるコンピュータアクセス可能媒体の一実施形態であることができる。しかしながら、他の実施形態では、プログラム命令及び／またはデータは、異なる種類のコンピュータアクセス可能媒体上で受信、送信、または記憶することができる。一般的に言えば、コンピュータアクセス可能媒体は、非一時的な記憶媒体またはメモリ媒体、例えば、Ｉ／Ｏインターフェース２０３０を介してコンピュータシステム２０００に連結されるディスクまたはＤＶＤ／ＣＤなどの磁気または光媒体などを含むことができる。非一時的なコンピュータアクセス可能記憶媒体はまた、コンピュータシステム２０００の幾つかの実施形態にシステムメモリ２０２０または別の種類のメモリとして含まれることができる任意の揮発性または不揮発性媒体、例えば、ＲＡＭ（例えば、ＳＤＲＡＭ、ＤＤＲ  ＳＤＲＡＭ、ＲＤＲＡＭ、ＳＲＡＭなど）、ＲＯＭなどを含むことができる。さらに、コンピュータアクセス可能媒体は、ネットワークインターフェース２０４０を介して実装することができるような、ネットワーク及び／または無線リンクなどの通信媒体を介して伝達される伝送媒体または信号、例えば、電気、電磁気、またはデジタル信号などを含むことができる。
【０１１０】
結論
種々の実施形態は、前述の説明に従ってコンピュータアクセス可能媒体上に実装される命令及び／またはデータを、受信、送信、または記憶することをさらに含むことができる。一般的に言えば、コンピュータアクセス可能媒体としては、例えば、ディスクまたはＤＶＤ／ＣＤ−ＲＯＭなどの磁気または光媒体などの記憶媒体またはメモリ媒体、ＲＡＭ（例えば、ＳＤＲＡＭ、ＤＤＲ、ＲＤＲＡＭ、ＳＲＡＭなど）、ＲＯＭなどの揮発性または不揮発性媒体、ならびにネットワーク及び／もしくは無線リンクなどの通信媒体を介して伝達される、電気、電磁気、またはデジタル信号などの伝送媒体または信号を挙げることができる。
【０１１１】
図面に例証される、及び本明細書に説明される種々の方法は、方法の例示的な実施形態を表す。方法は、ソフトウエア、ハードウエア、またはそれらの組み合わせで実装することができる。方法の順序は変更することができ、種々の要素が、追加する、再順序化する、組み合わせる、省略する、修正するなどすることができる。
【０１１２】
種々の修正及び変更は、本開示の利益を有する当業者に明らかであろうように行うことができる。全てのかかる修正及び変更を包含することが意図され、したがって、上述の説明は、限定的な意味というよりむしろ例証的な意味で考えられるべきである。
【図１】
0006030805.tif 000002
【図６】
0006030805.tif 000003
【図７】
0006030805.tif 000004
【図２】
0006030805.tif 000005
【図３】
0006030805.tif 000006
【図４】
0006030805.tif 000007
【図５】
0006030805.tif 000008
【図８】
0006030805.tif 000009
【図９】
0006030805.tif 000010
【図１０】
0006030805.tif 000011
【図１１】
0006030805.tif 000012
【図１２】
0006030805.tif 000013
【図１３】
0006030805.tif 000014