【文献】
村上 誉 他,コグニティブ無線クラウド −(7)複数オペレータ環境下での認証・課金方式の機能要件−,2007年電子情報通信学会総合大会講演論文集 通信1,2007年 3月 7日,p.647,B-17-24
【文献】
R. Anand Kumar et al.,An User-Centric Billing Model for Cloud Computing,Proceedings of 2012 International of Cloud Computing, Technologies, Applications & Management,2012年,pp.132-138
(58)【調査した分野】(Int.Cl.,DB名)
複数のホストを含むプロバイダネットワークのホスト上の第1計測コンポーネントで、(a)エンドポイントアドレス情報、及び(b)トラフィック指標値を含むネットワークメタデータを、該ネットワークメタデータが、前記ホストでインスタンス化される仮想化リソースを含む少なくとも1つのエンドポイント宛ての1つ以上のネットワーク送信信号に関連付けられた状態で確認し、
少なくとも前記第1計測コンポーネントからのネットワークメタデータを第2計測コンポーネントで、集計ポリシーに従って集計し、
前記プロバイダネットワークのトラフィック分類ノードで、前記1つ以上のネットワーク送信信号に対応する1つ以上の分類使用量レコードを、少なくとも前記第2計測コンポーネントで取得される集計ネットワークメタデータに少なくとも部分的に基づいて、かつ前記プロバイダネットワークに関連するネットワークトポロジー接続情報に少なくとも部分的に基づいて作成し、そして
前記1つ以上の分類使用量レコードを使用して、前記1つ以上のネットワーク送信信号に課金される課金額を決定する、方法。
前記第1計測コンポーネントは、前記ホストの管理ソフトウェアスタックのカーネルモードコンポーネントを含み、前記第2計測コンポーネントは、前記管理ソフトウェアスタックのユーザモードコンポーネントを含む、請求項1に記載の方法。
前記1つ以上のネットワーク送信信号は、前記ホストでインスタンス化される前記仮想化リソースを含む1つのエンドポイント宛てのネットワークパケット集合を含み、前記パケット集合の宛先の第2エンドポイントは、特定のインターネットプロトコル(IP)アドレスを有し、前記アドレスエンドポイント情報は、前記特定のIPアドレスを含み、前記トラフィック指標値は、前記ネットワークパケット集合に含めて送信されるバイト数を含み、前記ネットワークメタデータは、前記仮想化リソースを前記ホストでインスタンス化される異なる仮想化リソースから区別する前記仮想化リソースの識別情報を含む、請求項1に記載の方法。
前記1つ以上の分類使用量レコードは、前記1つ以上のネットワーク送信信号の課金対象使用量分類を示す特定の使用量レコードを含み、前記課金対象使用量分類は、(a)地域プロバイダネットワーク分類、(b)地域間プロバイダネットワーク分類、(c)地域外プロバイダネットワーク分類、(d)前記プロバイダネットワークで実行される特定のマルチテナントサービスに関連する分類、(e)クライアントのために前記プロバイダネットワークの内部で構築される専用ネットワークに関連する分類、または(f)クライアントネットワークを前記プロバイダネットワークに接続するために前記プロバイダネットワークのエッジノードで構築される直接物理ネットワークリンクに関連する分類のうちの少なくとも1つの分類を含む、請求項1に記載の方法。
前記ホストはカーネルモードコンポーネントを含み、該カーネルモードコンポーネントは、1つ以上のプロセッサで実行されて前記特定のネットワークメタデータレコードを作成するように構成される、請求項7に記載のシステム。
前記ホストは更に、前記複数のネットワークメタデータレコードを、集計ポリシーに少なくとも部分的に基づいて集計するように構成され、前記集計ポリシーは、(a)前記トラフィック分類ノードに送信される集計ネットワークメタデータの長さを決定するために使用することができるチャンクサイズ決定ポリシー、(b)前記集計ネットワークメタデータを前記トラフィック分類ノードに送信する際に遵守するスケジュールを決定するために使用することができるチャンクスケジューリングポリシー、(c)複数のトラフィック分類ノードがある場合に、前記集計ネットワークメタデータが送信されるトラフィック分類ノードを選択するために使用されるトラフィック分類ノード選択ポリシー、(d)前記集計ネットワークメタデータの送信に適用される圧縮ポリシー、(e)前記集計ネットワークメタデータを送信する前に、IPアドレス集合に関するネットワークメタデータを合成するために使用することができるグループ化ポリシー、または(f)前記トラフィック分類ノードに送信される前記集計ネットワークメタデータの一部を選択するために使用することができるサンプリングポリシーのうちの1つ以上のポリシーを含む、請求項7に記載のシステム。
前記ネットワーク構成情報は、ルーティング変更に関連する1つ以上のタイムスタンプを含み、前記ネットワークトポロジー接続情報は時刻インデックス表示される、請求項12に記載のシステム。
前記レコード集合の中の特定の分類使用量レコードは、課金対象使用量分類の指定値を含み、前記課金対象使用量分類は、(a)地域プロバイダネットワーク分類、(b)地域間プロバイダネットワーク分類、(c)地域外プロバイダネットワーク分類、(d)前記プロバイダネットワークで実行される特定のマルチテナントサービスに関連する分類、(e)クライアントのために前記プロバイダネットワークの内部で構築される専用ネットワークに関連する分類、または(f)クライアントネットワークを前記プロバイダネットワークに接続するために前記プロバイダネットワークのエッジノードで構築される直接物理ネットワークリンクに関連する分類のうちの少なくとも1つの分類を含む、請求項12に記載のシステム。
前記ホストにおける前記複数のネットワークメタデータレコードは、前記ホストで実行される複数のカスタマー仮想マシンに関するレコードである、請求項7に記載のシステム。
【発明を実施するための形態】
【0008】
1つの実施形態によれば、プロバイダネットワークの1つ以上のコンピューティングデバイスは、トラフィック分類フリートを構成するノード群として集合的に指定することができる。これらのトラフィック分類ノード(トラフィック分類ノードは、本明細書では、単に分類ノード群またはCN群と表記することができる)は、ホスト群から(例えば、UMC群から)送信される集計メタデータレコード群を受信するように構成することができる。CN群は更に、プロバイダネットワークの少なくとも幾つかのネットワーク構成部分の時刻インデックス表示ネットワークトポロジー接続情報を取得する、または生成するように構成することができ、このネットワークトポロジー接続情報は、所定のクライアントに、かつ/または所定のサービスに所定の時点で関連するIPアドレス集合のような情報を含む。時刻インデックス表示ネットワークトポロジーを使用して、所定のCNは、所定のホスト集合体で収集されるネットワークメタデータの少なくとも一部を1つ以上の課金対象使用量分類にマッピングすることができ、これらの使用量分類を用いて、ネットワーク転送に対する課金額を算出することができる。幾つかの実施形態では、CNは、このようなマッピング手法を使用して、これらのホストで収集されるトラフィックメタデータに対応する分類使用量レコード群を作成することができる。次に、これらの分類使用量レコードを、例えばプロバイダネットワークの課金ノード群で使用して(幾つかの場合では、集計手順が進んだ後に)、クライアント群のためにホスト群で算出されたネットワークトラフィックに対する課金額を算出することによりクライアント群に供給することができる。1つの実施形態では、各分類使用量レコードは、少なくとも(a)課金使用量指定値、及び(b)或る時間区間における当該課金対象使用量分類に関連する検出トラフィック量の指標値を含むことができる。“usage category(使用量分類)”という用語は、“billable usage category(課金対象使用量分類)”という用語に代わって以下の説明において使用することができることに留意されたい。
【0009】
CN(分類ノード)によって1つの実施形態において行なうことができる種々の種類の動作の以下の動作例について考察する。CNは、所定の仮想化ホストから期間T1に転送される1000メガバイトデータに関するネットワークメタデータ(送信先エンドポイントIPアドレス群を含む)を受信することができる。CNは、時刻インデックス表示ネットワークトポロジー接続情報を使用して、これらのIPアドレスをどのクライアントまたはクライアント群に割り当てて課金すべきかを、かつ/またはデータ転送をいずれの特定のサービスまたはサービス群に関連付けするべきかを判断することができる。一例として、CNは、1000メガバイトの以下の分類使用量レコードと同様の分類使用量レコード群を作成することができる:((500メガバイト、クライアントC1、サービスS1、使用量分類U1),(250メガバイト、クライアントC2、サービスS2、使用量分類U2),(200メガバイト、クライアントC3、サービスS3、使用量分類U3),(50メガバイト、クライアントC1、サービスS4、使用量分類U4))。この実施例におけるこれらの使用量分類は、課金差を、トラフィックが全て、プロバイダネットワークの内部で流れているかどうか、またはトラフィックの少なくとも或る部分が、プロバイダネットワークの外部で流れているかどうか、クライアントに、特定のIPアドレス群に向かう特定の種類のトラフィックに対して割引率を設定させていたかどうかについて、などのような要素に基づいて表示することができる。
【0010】
従って、少なくとも1つの実施形態では、幾つかの使用量分類は、対応するトラフィックの全てが、完全にプロバイダネットワークの内部で流れた(すなわち、プロバイダネットワークの内部の経路のみが使用された)かどうか、または少なくとも一部がプロバイダネットワークの外部で流れた(すなわち、プロバイダネットワークの外部の少なくとも幾つかのネットワーク経路が使用された)かどうかに基づいて定義することができる;他の使用量分類は、加入しているサービス(例えば、専用ネットワークサービスを使用したかどうか)に基づいて、または
図1を参照して以下に説明するように、クライアントのために構築される専用直接物理リンクをデータ転送に使用したかどうかのような特殊事例に基づいて定義することができる。少なくとも幾つかの実施形態では、プロバイダネットワークの内部で流れるトラフィックは、課金目的で、更に細かく下位分類に分類することができ、これらの下位分類として、例えば地域プロバイダネットワークトラフィック、及び地域間プロバイダネットワークトラフィックを挙げることができ、この場合、所定の地域の1つ以上のデータセンターからなる所定のデータセンター集合体の内部に位置するエンドポイント群の間のトラフィックが、地域プロバイダネットワークトラフィックとして分類されるのに対し、プロバイダネットワーク運営者が定める地域境界を横切るトラフィックは、地域間プロバイダネットワークトラフィックとして分類される。同様の分類使用量レコード群は、プロバイダネットワークの複数のホストからのトラフィックに関して作成することができる。幾つかの実施形態では、トポロジー監視ノード群が構成するフリートをプロバイダネットワークの内部で編成して、ネットワーク構成変更(例えば、専用リンク群がクライアントネットワーク群を用いて構築されるシナリオにおいて以下に説明されるプロバイダネットワークのトラフィックフローの一部に影響を及ぼす可能性のある動的ルーティング変更に起因する)を監視することができる。少なくとも1つのこのような実施形態では、トポロジー監視ノード群が監視するネットワーク構成変更は、トポロジー管理部で一元管理することができる。トポロジー管理部は、例えばネットワーク構成情報を組み合わせて、プロバイダネットワークの種々のネットワーク構成部分(及び/又は、プロバイダネットワークに連結される或る外部ネットワーク集合体)の異なる時点におけるネットワークトポロジーの管理接続情報または管理レコードを作成する役割を果たすプロバイダネットワークの1つ以上のハードウェアコンポーネント及び/又はソフトウェアコンポーネントを備えることができる。一元管理される時刻インデックス表示ネットワークトポロジー接続情報は、幾つかの実施形態では、トポロジー管理部がデータベースに、または保存部に格納することができ、これらのCNは、一元管理されるトポロジー接続情報を利用して、分類使用量レコード群を作成することができる。
【0011】
上に説明したように、クライアントに測定ネットワークトラフィックの所有権を割り当てる作業を、KMC群、UMC群、及びCN群のような複数のコンポーネントに分散させることにより、高度にスケーラブルな機構が、少なくとも幾つかの実施形態において導入され得ることができ、何万もの仮想化ホストからのサービスを利用して、それぞれのIPアドレスにおいて何万ものクライアントデバイスを同時に担当することを可能にしえる。これらの仮想化ホスト自体で生じるオーバーヘッドは、ほんの僅かな一連の演算をカーネルレイヤで実行することにより最小限に抑えることができるので、データを送信または受信する際の補助ネットワークスタック演算の障害を低減することができる。CN群が構成する専用フリートを使用して分類使用量レコード群を作成すると、クライアント群、エンドポイント群、及びサービス群の数が増えるとともに、それに応じて仮想化ホスト群の計測負荷が大きくなるということがない、すなわち、計測がククライアントのアプリケーションに及ぼす影響を出来る限り小さく抑えることができる状態を確保することができる。
【0012】
幾つかの実施形態によれば、分散計測システムのコンポーネント群は、上記の通りに導入される基本計測機構を複雑にしている種々の要素を考慮に入れる必要がある。例えば、幾つかの実施形態では、種々の種類の専用ネットワークまたは特定用途ネットワークは、プロバイダネットワークによってサポートすることができる。幾つかのクライアントは、専用ネットワーク群(これらの専用ネットワークは、幾つかのシナリオでは、“virtual private clouds(仮想専用クラウド群)”またはVPC群と表記することができる)をプロバイダネットワーク内で構築することができ、この場合、これらのクライアントは、ネットワークアドレス群をプロバイダネットワーク群のデバイスに割り当てる際に大きなフレキシビリティを有する。その結果、専用ネットワークの一部として割り当てられる特定のIPアドレスIP1は実際には、専用ネットワーク内の他の場所の他の或るデバイス、またはプロバイダネットワークの外部の他の或るデバイスに割り当てられるIPアドレスと同じIPアドレスとなる可能性がある。専用ネットワークに関連するトラフィックに関して収集されるネットワークメタデータは、このような誤解を招く可能性のあるエンドポイントアドレス情報を、例えばKMCが、専用ネットワーク構成に気付いているネットワークスタックのスタック構成部分と通信することにより考慮に入れることができる。更に、幾つかの実施形態では、プロバイダネットワークによりクライアントは、専用直接物理リンク(この専用リンクは、幾つかのシナリオでは、“direct connect(直接接続)”リンクと表記することができる)を、プロバイダネットワークとクライアント固有のネットワークとの間の通過センターで構築することができ、その結果、クライアントネットワークに関連するルーティング情報もプロバイダネットワークの計測インフラストラクチャが考慮に入れる必要がある。1つの実施形態では、プロバイダネットワークにより、VPN群(仮想専用ネットワーク群)を、プロバイダネットワークのネットワーク構成部分(特定のクライアントの専用ネットワークのような)と、クライアントネットワーク群との間に構築することができ、このようなVPN群に関連するネットワークトポロジーも計測及び課金を行なうために考慮に入れる必要がある。
【0013】
種々実施形態では、大容量の計測関連メタデータは、例えば仮想化ホスト上の所定のクライアントアプリケーションが、非常に多くの異なるエンドポイントとの間で、比較的短い期間で通信を確立した場合に生成することができる可能性がある。計測システムが利用することができるリソース群(例えば、KMC群またはUMC群に利用されるメモリリソースまたは計算リソースだけでなく、収集メタデータをCN群に送信するために使用されるネットワークリソース)が膨大になるのを回避するために、少なくとも幾つかの実施形態では、種々の更に別の集計方法及び/又はサンプリング方法を必要に応じて動的に導入することができる。例えば、1つの実施形態では、所定のホストからのトラフィックに関連するエンドポイントIPアドレス群の数が、閾値NをT秒の期間で超える場合、全パケットに対応するエンドポイントIPアドレス群を監視し続けるのではなく、次のT秒の期間に検出されるパケット群のうちのランダムなサンプルパケットのみのエンドポイントIPアドレス群を収集することができる。同様に、幾つかの実施形態では、種々の最適化方法をUMC群でも使用することにより確実に、トラフィック計測に関連するオーバーヘッドを低く抑えることができる。種々の実施形態において用いることができ、かつ前に説明した機能だけでなく、種々の種類の最適化方法及び特殊事例を含む計測システムに関する詳細を以下に提供する。
【0014】
帯域使用量計測システム環境
図1は、少なくとも幾つかの実施形態による例示的なシステム環境を示している。図示のように、システム100はプロバイダネットワーク102を含み、プロバイダネットワーク102は、ネットワーク経由で利用可能な複数種類のマルチテナント(及び/又はシングルテナント)サービスを実行するように構成される。各サービスは、それぞれのサービスマネージャ(SM)によって管理することができ、サービスマネージャ自体が、1つ以上のソフトウェアコンポーネント及び/又はハードウェアコンポーネントまたはソフトウェアリソース及び/又はハードウェアリソースを含むことができる。計算SM(計算サービスマネージャ)146は、例えばマルチテナント仮想計算インスタンスサービスを実行して管理するように構成することができる。同様に、ストレージSM(ストレージサービスマネージャ)147は、マルチテナントストレージサービスを実行することができ、データベースサービスは、データベースSM(データベースサービスマネージャ)148によって管理することができ、そして種々の他のSM群149は、それぞれのサービスを、プロバイダネットワーク102のリソース群を使用して実行するように構成することができる。少なくとも幾つかの実施形態では、幾つかの種類のサービス(以下に説明する内部トポロジー管理サービスのような)は、主として、内部管理目的で利用することができるのに対し、他のサービスは、クライアント群が直接利用することができる機能を実行することができる。図示の実施形態では、これらのサービスのうちの1種類以上のサービスは、ホスト105A上の仮想化リソース114A,114B,及び114C、及びホスト105B上の仮想化リソース114K,114L,114M、及び114Nのような仮想化リソース群(VR群)114の形態で提供することができる。仮想化リソース群114は、種々の実施形態では、例えば仮想計算サーバ群(計算SM146で管理される)または仮想化ストレージデバイス群(ストレージSM147で管理される)のインスタンスを含むことができる。例えば、計算サービスに対応する仮想化リソース114は、ホスト105でクライアントからの要求時にインスタンス化される仮想計算サーバを含むことができる。プロバイダネットワーク102は、幾つかの実施形態では、異なる地域の多数のデータセンターに跨って分散される非常に多くの(例えば、何千もの)ホスト105を備えることができるが;図を分かり易くするために、例示的なホスト105を2つだけ
図1に示している。幾つかの実施形態では、仮想化リソース群のうちの少なくとも幾つかの仮想化リソースを、他のクライアントとは異なるクライアントが保有する、または異なるクライアントに割り当てることができる構成の幾つかの異なる仮想化リソースは、単一のホスト105でインスタンス化することができる。少なくとも幾つかの実施形態では、プロバイダネットワークは、2種類の論理ネットワーク経路及び/又は物理ネットワーク経路−種々のサービスに関連するクライアント作成データの転送に主として使用されるデータネットワーク経路群137、及び運営動作及び/又は管理動作に主として使用される(例えば、以下に説明する種類の計測動作をサポートするために使用される)制御ネットワーク経路群138−を含むことができる。
【0015】
一般的に、クライアント群(例えば、プロバイダネットワークの顧客のために実行されるアプリケーション)は、異なる実施形態では、所定のホスト105の仮想化リソース群114に、少なくとも以下の分類のネットワークロケーションのような種々の異なる種類のネットワークロケーションからアクセスすることができる。図示の実施形態では、幾つかのクライアントは仮想化リソース群114に、プロバイダネットワークに公衆インターネットのリンク群133を介して連結されるクライアントネットワーク130Bと同様のクライアントネットワークからアクセスすることができる。幾つかの実施形態では、プロバイダネットワーク運営者は、クライアントネットワーク130Aのようなクライアントネットワークとの専用直接物理リンク群(リンク127のような)を構築することができる;通常、このような直接専用リンク群は、通過センター152または別のエッジロケーションで、例えばネットワーク装置及びインフラストラクチャの全てではないが幾つかをプロバイダネットワーク運営者が保有する、制御する、または管理する施設で構築することができる。クライアントネットワーク130Aのようなクライアントネットワーク群とのこのような直接物理リンク群を構築すると、クライアント群はより広い帯域を、仮にサードパーティーネットワークサービスプロバイダが、クライアントの外部ネットワーク130Aをプロバイダネットワーク102に連結するために使用されるとした場合に可能になる価格よりも低い価格で取得することができる場合が多い。幾つかの実施形態では、このような専用直接物理リンク群を利用するクライアント群は、ネットワーク帯域使用量について所定の割引を、例えばサードパーティプロバイダまたは公衆インターネットを利用するクライアント群に対する割引よりも多く、プロバイダネットワーク運営者から受けることができる。1つの実施形態では、少なくとも幾つかのクライアントアプリケーションは、1つのホスト105の仮想化リソース群114に、異なるホスト105からアクセスすることができる−例えば、クライアントのネットワークトラフィックの或るトラフィック構成要素は、内部データネットワーク経路群137のみを通過することができ、プロバイダネットワークから出て行くことがない。1つの実施形態では、プロバイダネットワーク102は、専用ネットワークSM144が管理する1種類以上の専用ネットワークサービスをサポートすることができる。専用ネットワークは、複数のホスト105だけでなく、他の種類の計算リソース、ストレージリソース、及び/又はネットワークリソースを備えることができ、これらのリソースを、クライアントは、ネットワークアドレス指定及びネットワーク構成に関して実質的に管理制御する権限が与えられる−例えば、幾つかの実施形態では、専用ネットワークを保有するクライアントは、任意の公開IPアドレス及び/又は専用IPアドレスを専用ネットワーク内の種々のデバイスに割り当てることができ、専用ネットワークの外部のデバイスについて起こり得るアドレスの複製または重複を回避する必要がない。幾つかの場合では、専用ゲートウェイ(
図1に明示的には図示されていない)を、特定のクライアントの専用ネットワークとクライアントの外部ネットワーク130との間に設けることにより、専用ネットワーク内の専用アドレスを使用するデバイス群は、クライアントネットワーク130内のクライアントデバイス群とVPN(仮想専用ネットワーク)を介して通信することができる。
【0016】
少なくとも幾つかの実施形態では、クライアント群が最終的に、ネットワークトラフィックに対して課金される料金は、トラフィック送信に使用されるネットワークアドレス群の分類に少なくとも部分的に基づいて決定することができる。従って、1つの例示的なシナリオでは、クライアントがXメガバイトを、共にプロバイダネットワークの内部のアドレスである2つのアドレスの間で送信する場合、当該トラフィックに対する課金額は、$X
*r1とすることができる(すなわち、課金料は、メガバイトの内部トラフィック当たり$r1とすることができる)のに対し、クライアントがXメガバイトを、クライアントネットワーク130Bに直接専用物理リンクを介して送信する場合、課金額は、$X
*r2とすることができ、そしてクライアントがXメガバイトを、公衆インターネットリンクを介してクライアントネットワーク130Aに送信する場合、課金額は、$X
*r3とすることができる。
図1に示す実施形態では、以下に更に詳細に説明するように、分類フリート170を構成する分類ノード群(CN群)180(例えば、CN180A及びCN180B)は、所定のトラフィック量に関するネットワークメタデータがホスト群105からこれらのノードに供給される当該所定のトラフィック量について、課金のために使用されるネットワークアドレス群の分類を確認し、それに応じて使用量レコード群を作成する役割を果たすことができる。使用量分類は、幾つかの実施形態では、更に別の要素(例えば、単なるIPアドレス群の他の)に基づいて定義することもでき、これらの要素として、例えばネットワークトラフィックに関係するサービスの種類、上に説明した専用直接リンクのようないずれかの特定用途ネットワークリンク群が使用されたかどうか、または数量割引のようないずれかのクライアント特有の割引が行なわれているかどうか、を挙げることができる。
【0017】
図1に示すように、各ホスト105は、それぞれの計測コンポーネントペア:カーネルモード計測コンポーネント(KMC)110(例えば、ホスト105AのKMC110A、及びホスト105BのKMC105B)、及びユーザモード計測コンポーネント(UMC)111(例えば、ホスト105AのUMC111A、及びホスト105BのUMC111B)を備えることができる。1つの実施形態では、KMC及びUMCは共に、ホスト上の管理オペレーティングシステムインスタンス(すなわち、クライアントによる使用に割り当てられていないオペレーティングシステムインスタンス)内で実行することができる。所定のホスト105のKMC110は、1つの実施形態では、ホスト105の種々のVR群(仮想化リソース群)に誘導される、または種々のVR群から誘導されるネットワークパケット群に関する補助ネットワークメタデータ(例えば、送信元エンドポイントまたは送信先エンドポイントのIPアドレス群、及びデータ転送サイズ)を捕捉して、捕捉した下位メタデータを同じホスト上の対応するUMC111に送信し、集計を行なってCN180に送信する役割を果たすことができる。UMC111は、図示の実施形態では、KMC110が作成するメタデータを設定可能な或る期間に亘って収集し、収集メタデータに対して1種類以上の計算を実行し(例えば、メタデータをエンドポイントアドレス群に基づいて集計し)、集計メタデータを圧縮して当該メタデータを、分類フリート170から選択されるCN180に送信することができる。少なくとも幾つかの実施形態では、KMC群及び/又はUMC群は、タイミング情報(例えば、或る一連のネットワーク送信信号が始まった時刻、またはネットワーク送信信号が完了した時刻を表わすタイムスタンプ)を、CN群に供給されるメタデータに添付する役割を果たすことができ、このメタデータを次に、CN群が使用することにより、分類使用量レコード群を送信時刻におけるネットワークトポロジーに基づいて作成することができる。幾つかの実施形態では、幾つかのKMC110は、メタデータを他のホスト群のUMC群111に供給するように構成することができる、すなわち計測情報の作成に関与するKMC及びUMCは、このような実施形態では、同じホストに常駐させる必要はない。所定のUMCは、幾つかの実施形態では、メタデータを複数のKMCから収集することができ、所定のKMCは、他の実施形態では、メタデータを複数のUMCに供給することができる。
【0018】
図1に示す実施形態では、CN群180は、複数のソースから収集されるネットワークトポロジー接続情報を利用して、UMC群111から受信する集計メタデータを分類使用量レコード群にマッピングして課金を行なうことができる。幾つかの実施形態では、TOノード188A及び188Bのような或る数のトポロジー監視(TO)ノード188は、ネットワーク構成に加えられる変更を検出する役割を果たすトポロジー監視フリート178の一部として設けることができる。1つの実施形態では、TOノード群は、受動ルータデバイスまたはルータ状の“phantom(疑似)” ルータデバイスを表わすことができ、当該ルータデバイスは、130Aのようなクライアントネットワーク群に接続されるルータ群を含む他の能動ルータ群144(ルータ144A及び144Bのような)がボーダーゲートウェイプロトコル(Border Gateway Protocol:BGP)または他の同様のプロトコルを使用して行なうルート広告をリッスンするように構成することができ、このクライアントネットワーク130Aに、プロバイダネットワークからのトラフィックを、専用直接物理リンク群127を介してルーティングする必要がある。TOノード群188は更に、幾つかの実施形態では、ネットワーク構成情報(種々のルートに沿って使用されるネットワークマスクのような)を、ゲートウェイ、スイッチなどのような他のネットワークデバイスから収集することができる。1つの実施形態では、TOノード群188は、種々のSM(例えば、計算SM146、ストレージSM147、またはデータベースSM148のような)と対話して、どのIPアドレス群がサービス群の各サービスによって使用されているのかを判断し、そしてこれらのTOノードは、このようなサービスアドレスマップも記録することができる。図示の実施形態では、トポロジー管理部183は、構成情報をTOノード群188のうちの幾つかの、または全てのTOノードから収集して、時刻インデックス表示トポロジー接続情報を作成し、これらの時刻インデックス表示トポロジー接続情報をCN群が使用することにより、分類使用量レコード群を作成することができる。他の実施形態では、CN群は、サービスネットワークアドレス群を、これらのサービスマネージャから直接取得することができる。少なくとも1つの実施形態によれば、内部トポロジーSM145は、プロバイダネットワークの内部ネットワークの最新のトポロジー接続情報を維持する役割を果たすことができ、トポロジー管理部183は、このような実施形態では、トポロジー更新情報を内部トポロジーSM145だけでなく、TOフリート178から取得することができる。1つの実施形態では、ネットワーク構成変更に関連するタイムスタンプまたは他のタイミング情報は、トポロジー管理部が作成し、かつCN群180に供給されるトポロジー接続情報に含めることができる。図示の実施形態では、CN群180が作成するこれらの分類使用量レコードは、課金フリート175の課金ノード群185(例えば、課金ノード185Aまたは185B)に送信することができ、この課金ノードにおいて、クライアント群に対する課金額を算出することができる。
【0019】
専用ネットワーク群が構築されて、どのIPアドレス群をどのデバイス群に割り当てるかについての曖昧さが明らかに生じる(例えば、クライアント群は、これらのクライアントが専用ネットワーク内で選択するIPアドレス群を選択するので)幾つかの実施形態では、この曖昧さは、計測コンポーネント群のうちの1つの計測コンポーネントにおいて−例えば、KMC群110(この場合、専用アドレスに関する情報は、ネットワーク仮想化ソフトウェアコンポーネント群から取得することができる)、UMC群111、またはCN群180のいずれかにおいて−専用ネットワークの構成に関する情報に基づいて解消することができる。幾つかの実施形態では、
図1に示すシステム100のコンポーネント群の全てが設けられる訳ではない−例えば、幾つかの実施形態が、専用直接物理リンク群127をサポートせず、他の実施形態が、TOノード群188を含まないのに対し、更に他の実施形態では、専用ネットワークSM144及び/又は内部トポロジーSM145、及びこれらのサービスマネージャに対応するサービスは実行されないことに留意されたい。
【0020】
ホストごとの計測コンポーネント群
図2は、少なくとも幾つかの実施形態による仮想化ホストで実行することができる計測コンポーネント群を示している。図示のように、オフホストエンドポイント群と114A及び114Bのような仮想化リソース群との間の入力及び出力ネットワークトラフィック230は、ネットワークスタック202の種々のレイヤを途中で通過して仮想化リソース群114に達し/仮想化リソース群114から種々のレイヤを途中で通過することができる。ネットワークスタック202の一部または全部は、ホスト105の管理オペレーティングシステム250の一部(すなわち、管理ソフトウェアスタック)として実行することができる。
【0021】
記号270が付された矢印が示すように、カーネルモード計測コンポーネント(KMC)110は、メタデータ(送信元IPアドレス及び/又は送信先IPアドレス、及び転送されているデータ量)をネットワークスタック202から、例えばパケットヘッダ情報を検査することにより捕捉するように構成することができる。少なくとも幾つかの実施形態では、KMCは、OS250におけるネットワーク関連処理に、極僅かなオーバーヘッドしか伴わないので仮想化リソース群114のアプリケーションが受けるネットワーク遅延に対する影響を最小限に抑えるような軽量モジュールとすることができる。図示のように、幾つかの実施形態では、KMCは、収集メタデータのうちの少なくとも幾つかのメタデータを、KMCバッファ集合群211に格納することができる。1つの実施形態では、KMC110は、メタデータをネットワークスタックから、動的収集ポリシー215に従って収集することができる−例えば、幾つかの期間では、メタデータを入力パケットまたは出力パケットごとに収集することができるのに対し、他の期間では、メタデータは、パケット群の或る一部についてのみ収集することができる(例えば、Nパケットごとに1パケットの割合で、またはランダムサンプリング方法を使用して)。収集ポリシーは、幾つかの実施形態では、UMC111またはCN180から受信するフィードバックに基づいて変更することができるのに対し、他の実施形態では、KMC自体が、KMCによるメタデータ収集動作または収集頻度を変更することができる(例えば、KMCは、捕捉されるメタデータに含まれる異なるエンドポイントIPアドレス群の数が、閾値を、より前の時間区間で超える場合に、サンプリングを1つの時間区間において利用することができる)。幾つかの実施形態では、KMCバッファ群211は、実装しなくてもよい。1つの実施形態では、単一の静的収集ポリシーを用いることができる。
【0022】
KMC110は、
図2に示す実施形態では、収集ネットワークメタデータをUMC111に、記号272が付された矢印が示す通りに供給することができる。幾つかの実施形態では、メタデータを分類ノードに、記号274が付された矢印が示す通りに送信する前に、UMCバッファ群221を使用してメタデータを格納して体系化することができる。メタデータは、メタデータがCNに送信される前に、UMCによって合成してグループ群にすることができる(エンドポイントIPアドレス群に基づいて、かつ/または集計ポリシー225の種々のエレメントに基づいて合成し、このことについての詳細は、
図4の記載に関連して以下に説明される)。1つの簡単な実施形態では、例えばUMCは、KMCから受信するメタデータに含まれる異なる各IPアドレスに関するそれぞれのバイトカウンタ値を保持することができ、そしてIPアドレス群、及びCNに転送される合計バイト数を示すカウンタ値を送信することができる。UMC111は、異なる実施形態では、CN群へのメタデータの送信を種々の方法で−例えば、収集したメタデータのボリュームが極めて大きいと考えられる場合に、メタデータのうちの幾つかのメタデータを省略することにより、メタデータを圧縮することにより、かつ/またはメタデータを送信する頻度を変えることにより−最適化する役割を果たすことができる。幾つかの実施形態では、UMCは更に、KMCのメタデータ収集動作に関するフィードバック(例えば、収集ポリシー215を変更するための)をKMC110に供給する役割を果たすことができる。
【0023】
幾つかの実施形態では、
図2に示すKMC−UMCペアではなく、単一の計測コンポーネントを仮想化ホスト105で実行することができる。このような複合計測コンポーネントは、カーネルモードまたはユーザモードのいずれかで実行することができる。1つの実施形態では、KMC及びUMCについて上に説明した機能と同様の機能をそれぞれ有する2つの計測コンポーネント、すなわちエンドポイントIPアドレス群を含むネットワークメタデータを収集する主機能を有する1つのコンポーネント、及びネットワークメタデータを集計して、当該メタデータを分類ノードに渡す主機能を有する別のコンポーネントは共に、カーネルモードで実行することができる。別の実施形態では、このような計測コンポーネント群は共に、ユーザモードで実行することができる。
【0024】
メタデータレコードコンテンツ
図3は、少なくとも幾つかの実施形態による計測システムに使用されるネットワークメタデータレコード350の例示的な構成エレメント群を示している。レコード350のエレメント群の幾つかのエレメント、または全エレメントの値は、幾つかの実施形態では、KMC110のような計測コンポーネントによって、または特定の仮想化ホスト105上のKMC110及びUMC111のような複合計測コンポーネントによって確認することができる。実施形態が異なる場合、かつ転送が異なる場合、
図3に示すエレメント群の全てが、所定のメタデータレコードに集約される訳ではない−例えば、幾つかの場合では、1種類のサービスのみが、転送の送信側及び受信側の両方に取り込まれ、その結果、1つのサービス識別子のみが必要になる。
【0025】
図3に示すように、メタデータレコード350は、幾つかの実施形態では、送信元IPアドレス及び送信先IPアドレス(それぞれエレメント302及び304)の両方を含むことができる。幾つかの実施形態では、送信に関するメタデータを、仮想化ホスト上及び他の或るホストに位置するオフホストエンドポイント上の仮想化ソース114から収集する場合、後者(オフホスト)のエンドポイントのIPアドレスだけが記録され得るが、その理由は、例えばレコード350(以下に説明するVRインスタンスID311のような)内の他の情報が、仮想化リソースエンドポイントを特定するために十分であり得るからである。1つの実施形態では、ポート番号(例えば、伝送制御プロトコル(TCP)ポート番号)は、受信側、送信側、または受信側及び送信側の両方に関するメタデータレコードに含めることもできる。1つの実施形態では、ネットワーク送信信号に使用される特定のネットワークプロトコル指定情報を含めることができる。幾つかの実施形態では、異なるプロバイダネットワークサービスは、受信者側ではなく、送信者側のトラフィックに関連付けることができ、送信元サービス識別子306(送信者側に対応する)及び送信先サービス識別子308(受信者側に対応する)の両方をレコード350に含めることができる。例えば、特定の送信を行なう一方のエンドポイントが、計算サービスに関連する仮想計算インスタンスを含むことができるのに対し、他方のエンドポイントは、ストレージサービスに関連するストレージオブジェクトを含むことができる。各サービスに関するそれぞれの識別情報を入手することができない場合、1つのサービス識別子をレコードに含めるだけでよい、またはサービス識別子を全く含めなくてもよく、取り込まれるサービス(群)は、後の段階で、例えばCN180が、前に説明したサービスアドレスマップを使用することにより特定することができる。
【0026】
図示の実施形態では、レコード350を作成する計測コンポーネントは、レコード内の課金予測額に関するデータの転送を“所有する”特定のクライアントの識別子310を含むことができる。しかしながら、所有者ID310の確認は、メタデータが最初に収集されるときに必ず可能になる訳ではなく(例えば、所有者は、メタデータが収集されているホストではなく、転送を行なう他方のエンドポイントにおいてのみ特定することができるからである)、この場合、所有権は、後の時点で確認することができる(例えば、CN180で)。前に説明したように、幾つかの実施形態では、仮想化ホストは、複数の仮想化リソース(VRs)114を含むことができる。データ転送に関与する特定のVR114に対応するVRインスタンス識別子311は、幾つかの実施形態では、メタデータレコード350に含めることができる。例えば、特定の仮想化ホスト105は、それぞれのインスタンス識別子I1,I2,I3,I4で実行される4つの異なる仮想化計算サーバインスタンスを有し、かつKMC110が、インスタンスI1からオフホスト送信先へのネットワーク送信信号を検出する場合、識別子I1は、当該送信に関して作成されるメタデータレコード350に含めることができる。
【0027】
少なくとも幾つかの実施形態では、転送サイズ312(例えば、転送のデータ部で転送されるバイト数、またはヘッダ部及びデータ部の両方で転送されるバイト数)は、転送が検出された時刻(この時刻は、転送がホスト105に対して出て行く転送、または入って来る転送であったかどうかによって異なるが、転送が始まった、または終わった時刻にほぼ一致する)を示すタイムスタンプ314と一緒に記録することができる。タイムスタンプは、幾つかの実施形態では、地域別の時間帯に依存しないで、現地時間ではなく、現在世界標準時間(UTC)に基づいて、またはプロバイダネットワークで実行されるグローバルタイムスタンプサービスから得られる出力に基づいて記録することができる。専用ネットワークがサポートされる実施形態では、更に別の専用ネットワークアドレス解決情報316をレコード350に含めることもできる。例えば、専用ネットワーク内のIPアドレス群は、専ネットワークの外部のアドレスに対して一意的である必要がなく、曖昧さを解消する必要がないので、1つの実施形態では、エレメント316は、レコード350の送信元IPアドレス及び/又は送信先IPアドレスが、専用ネットワークに属していることを示す指示情報を含んでいればよく、その結果、アドレスの曖昧さを解消する余分の手順のような特殊処理が、レコード350に関して、UMC111またはCN180において必要になる。
【0028】
異なる実施形態では、作成されるメタデータレコード群350の詳細度は、異ならせることができる。例えば、1つの実施形態では、通常の動作状態において、KMC110は、1つのこのようなレコードを、TCP/IPトラフィックパケットごとに作成することができる。別の実施形態では、単一のレコードを複数個のパケットに関して作成することができる。幾つかの実施形態では、
図3に示すエレメント群以外の更に別のエレメント群をメタデータレコード350に含めることができる(例えば、幾つかの実施形態では、KMC110は、サンプリングがメタデータ収集に使用されていたかどうか、または全パケットに関するメタデータが、当該レコードが作成された時点で収集されていたかどうかについて、レコードとして通知することができる)。少なくとも1つの実施形態では、KMC110で作成される初期メタデータは、
図3に示すエレメント群の一部のみを含むことができ、メタデータレコードが、例えばUMC111によって、かつ/またはCN180で処理されると、他のエレメント群は、レコード群で満たされるようになる。
【0029】
集計ポリシー
少なくとも幾つかの実施形態では、前に説明したように、UMC111は、ホスト105で収集されるメタデータを集計して(例えば、異なる各エンドポイントIPアドレスに関するメタデータを集める)、当該メタデータを最適な方法で、選択されるCN180に送信する役割を果たすことができる。メタデータの集計及び送信の種々の手順は、幾つかの実施形態では、集計ポリシーにより決定することができる。
図4は、少なくとも幾つかの実施形態によるネットワークメタデータに関する集計ポリシーの例示的なエレメント群を示している。
【0030】
1つの実施形態では、ホスト105で収集されるメタデータは、選択されるCN180にUMC111から“chunks(チャンク)”と呼ばれる単位で送信することができる−例えば、メタデータ送信に関するデフォルト単位は、1回当たり256キロバイトチャンクとすることができる。チャンクサイズポリシー402により、CN180に送信されるネットワークメタデータの長さ、及びチャンクサイズを動的に変更する(例えば、幾つかの実施形態では、UMC111とCB180との間のトラフィック頻度に基づいて、またはCN180の利用頻度に基づいて、デフォルトサイズよりも小さい、または大きいチャンクを使用することができる)ことができるかどうかについて決定することができる。幾つかの実施形態では、チャンクサイズは、転送されるメタデータの長さの単位で表現するのではなく、他の単位で表現することができ、他の単位として、例えばチャンク単位で送信されるメタデータの累積データ転送サイズ(例えば、1チャンクは、転送される100メガバイトデータごとに必要とされる)、1回に送信されるメタデータに含まれる異なるエンドポイントアドレスの数(例えば、100,000以下の異なるエンドポイントIPアドレスを載せたメタデータを所定のチャンクに含めることができる)を挙げることができる。チャンクスケジューリングポリシー404は、ネットワークメタデータをUMC111からどの程度の頻度で送信するかについて指示することができる(例えば、ホスト105で検出されるトラフィック量に関係なく、UMC111は、1つの実施形態では、1チャンクのメタデータをCNに、少なくともN秒ごとに1回の割合で送信する必要がある)。
【0031】
分類フリート170が、複数のCN180を含む実施形態では、CN選択ポリシー406は、特定のUMC111がどのようにして、メタデータの送信先の特定のCN180を決定するかについて指示することができる。例えば、CN選択ポリシー406は、CNを各UMCに静的に割り当てることができる、またはCNを、ロケーション(例えば、地理的により近接しているCN群が、より遠く離れているCN群よりも好ましい)、測定遅延(例えば、UMCと或るCN集合体との間のメッセージ往復時間に基づいて、最も短いメッセージ往復時間を持つCNを選択することができる)、CN群からのフィードバック(例えば、過負荷CNは、幾つかのUMCに、利用するのを止めて他のCN群を利用するように要求することができる)、またはアフィニティ(親和性)(UMCは、メタデータを同じCNに出来る限り長く供給する動作を、それとは異なるガイダンスをUMCが受信するまで継続すると予測することができる)のような1つ以上の基準に基づいて動的に選択することができる。圧縮ポリシー408は、幾つかの実施形態では、メタデータをCNに送信する場合に圧縮を使用するかどうかについて、そして圧縮を使用する場合に、特定の圧縮方法または圧縮アルゴリズムを使用すべきかどうかについて指示することができる。
【0032】
IPアドレスグループ化ポリシー410は、メタデータをCN180に送信する前に、UMC111で合成されるメタデータの詳細度を決定することができる。例えば、1つの簡易グループ化ポリシーによれば、UMC111は、入手するメタデータレコード群に含まれる各エンドポイントIPアドレスA.B.C.Dに関するメタデータ(例えば、転送サイズ)を収集する必要がある。しかしながら、所定のホスト105の仮想化リソース群114が、極めて多数の異なるIPアドレスと通信していることが検出される場合、グループ化ポリシー410によりUMCは、メタデータを異なる詳細度で合成することができる−例えば、A.B.C.
*範囲のIPアドレス群の全てに関するメタデータは、一括して合成することにより、CNに送信することができる。転送が所定のホストで単位時間あたりに行なわれる際の転送先の(または転送元の)異なるIPアドレスの数は、本明細書では、“IP fanout(IPファンアウト数)”または“IP density(IP密度)”と表記することができる。IPファンアウト数またはIP密度が大きくなって、グループ化ポリシー410で定義される閾値を超える場合、UMC111は、一時的に集計詳細度を変更することができる(例えば、1つのグループ化ポリシーによれば、IPファンアウト数がF1を超える場合、最大16個のIPアドレスに関するメタデータを、次のN1秒の間にUMCで合成することができ、IPファンアウト数が増えてF2になる場合、最大256個のIPアドレスに関するメタデータを、次のN2秒の間に合成することができる)。幾つかの場合では、幾つかのIPアドレスに関する情報を1つのエントリにグループ化することにより、CNで作成される分類使用量レコード群の精度を下げてしまう可能性がある(例えば、幾つかのネットワーク転送は誤分類される可能性がある)。しかしながら、一般的に、所定のサービス(及び所定のクライアント)は通常、或る範囲の複数の連続するIPアドレスを使用することができるので、トラフィック量を連続する(かつ普通、狭い)範囲のIPアドレスについて合算したグループ化ポリシー410により多くの場合、IPファンアウト数が極めて多くなる結果として生じるオーバーヘッドを無事減らしながらも、正確な使用量レコード群が得られる。1つの実施形態では、複数のIPアドレスに関するグループ化データの他に、またはグループ化データではなく、UMC111及び/又はKMC110は、動作を開始して、IPファンアウト数の大幅な増加を、例えば幾つかのIPアドレス集合に対応するパケット群を管理オペレーティングシステムネットワークスタックにドロップ(廃棄)することにより能動的に阻止する、または抑制することができる。このような実施形態では、所定の一連の時間区間で行なわれる通信の通信先の異なるIPアドレスの数が増えて閾値を超える場合、選択される或るIPアドレス集合(例えば、ランダムに選択されるIPアドレス群)に誘導される(または、IPアドレス集合から受信する)パケット群は、これらのパケットの所望の送信先に供給するのではなく、廃棄することができる。
【0033】
幾つかの実施形態では、サンプリングポリシー412は、データ転送のたびに収集するのではなく、ネットワークメタデータをサンプリングすべきかどうかについて(及び、どの環境下でサンプリングすべきかどうかについて)決定することができる。例えば、サンプリングポリシー412は、UMC111が、当該UMC111に対応するKMC110に指示して、各パケットに関するメタデータの収集を停止させて、サンプリング済みのパケット群の一部に関するメタデータの収集を開始させる条件を指示することができる。サンプリングポリシー412は更に、幾つかの実施形態では、使用するサンプリング方法(例えば、累積サンプリング)を指示することができる。1つの実施形態では、サンプリングは、KMC110(例えば、UMC111からのガイダンスに応じて、またはKMC自体が自発的に)、UMC111(例えば、UMCは、KMCから受信するサンプリング済みのレコード群の一部に関するメタデータを、UMCサンプリングポリシー412に従って合成するだけで済む)のいずれかにおいて、またはKMC及びUMCの両方において行なうことができる。少なくとも幾つかの実施形態では、集計ポリシー225のエレメント群の全てが使用される訳ではなく、他の実施形態では、集計ポリシー225は、
図4に図示されない他のエレメント群を含むことができる。少なくとも、幾つかの実施形態では、CN群180及び/又は課金ノード群185は、これらのノードが受信するデータを、それぞれの集計ポリシーに従って集計することができる−例えば、CN180は、1つ以上の時間窓で受信するメタデータを集計して、使用量レコード群を作成することができ、課金ノード185は、単一クライアントに関連する非常に多くの使用量レコードを、課金額を決定する場合に集計することができることに注目されたい。
【0034】
分類ノード動作
図5は、少なくとも幾つかの実施形態による分散計測システムのトラフィック分類ノード(CN180)と他のエレメント群との間の例示的な相互作用を示している。図示の実施形態では、CNの主要な役割は、課金ノード群185が使用することができる分類使用量レコード群560を作成して、クライアント群570のために発生するネットワークトラフィックに関する課金額580を確認することである。前に説明したように、幾つかの実施形態では、所定のネットワーク帯域使用量に関してプロバイダネットワークのクライアント群に対して最終的に課金される課金額は、関係するエンドポイントアドレス群の特性によって異なる−例えば、ネットワークトラフィックがプロバイダネットワークの内部の2つのアドレス間で流れたかどうかによって(前に説明した地域プロバイダネットワークトラフィック分類または地域間プロバイダネットワーク分類の場合におけるように)、専用直接リンクが使用されたかどうか、トラフィックにより、プロバイダネットワークの内部ネットワークが作動して、例えば公衆インターネットが使用されたかどうかによって異なる。CN180が作成する使用量レコード群は、このようなエンドポイント特性の指示情報を含むことができ、更に各データ転送に関する所有権(課金の支払義務を果たすという意味の)だけでなく、各データ転送に関する課金に関連するサービス(群)を判断または確認することにより、課金ノード群185は、公正かつ正確な課金額580を算出することができる。幾つかの実施形態では、所定のネットワーク転送が行なわれる際に、プロバイダネットワークの1種類よりも多くのサービスをクライアントが使用することができるという構成が可能である−例えば、ストレージサービスを使用して格納されるファイルは、計算サービスを使用してインスタンス化される仮想化計算サーバインスタンスで計算を実行する要求に応じて転送することができるという構成が可能である。このようなシナリオでは、少なくとも、幾つかの実施形態では、クライアントは、少なくとも基本的に、ストレージサービスに関連する課金ネットワーク使用量に対して支払義務を負い、更には、計算サービスに関連する課金ネットワーク使用量に対して支払義務を負う。CN180は、ネットワーク使用量に対する課金に必要なサービスの利用状況を確認する役割を果たすことができる−例えば、クライアントに対して、ストレージサービス、計算サービス、または両方のサービスに関連するネットワーク使用量について課金すべきかどうかを確認する役割を果たすことができる。幾つかの実施形態では、以下に更に詳細に説明する分類ポリシー592を使用して、サービスの利用状況を確認することができる。少なくとも幾つかのシナリオでは、これは、複数のIPアドレスを使用して、所定のサービスを所定のクライアントデバイス群に供給することができる状態に当てはまり、その結果、CNは、異なるIPアドレスに関するメタデータを、分類使用量レコード群を確認する場合に合成する必要がある。
【0035】
記号510A,510B,510C,及び510Dが付された矢印が指示するように、トポロジー監視フリート178は、図示の実施形態では、ネットワーク構成変更情報を、多種多様な送信元から収集することができ、これらのネットワーク構成変更情報は、トポロジー管理部183が一元管理することにより、CN180によって最終的に使用することができる。これらの送信元は、内部トポロジーSM145と、種々のルータ153(これらのルータのうちの幾つかのルータは、専用直接物理リンク群127を用いてプロバイダネットワークとの接続を行なうクライアントネットワーク群に接続することができる)と、を含むことができる。幾つかの実施形態では、TOフリート178は更に、種々のクライアントのために専用ネットワークSM144によって構築される専用ネットワーク群に関する構成情報を収集することができる。少なくとも1つの実施形態では、TOフリート178は、ネットワーク構成データを、ゲートウェイまたはスイッチのような多種多様な他のネットワークデバイス502から収集することができる。図示のように、ネットワーク構成情報は、フリート178のTOノード群からトポロジー管理部183に送信することができる。トポロジー管理部183は、図示の実施形態では、記号514が付された矢印が指示するように、収集した構成情報を一元管理して、当該構成情報をデータベース590に、時刻インデックス表示トポロジーレコード群591の形式で格納することができる。少なくとも幾つかの実施形態では、トポロジー管理部183は更に、種々の種類の分類ポリシー592をデータベース590に格納することができる。分類ポリシー群592は、幾つかの実施形態では、CNが使用することにより、IPアドレス所有権について起こり得る曖昧さを、または使用量分類の曖昧さを解消することができる。分類ポリシー群592は更に、正当であると考えられるネットワークルーティング変化、またはネットワーク構成変更が有効のまま、どの位の長い期間に亘って保持されているかに関する情報を含むことができる−例えば、N秒未満の短時間のネットワーク遮断は、分類使用量レコード群560を作成する場合に無視することができる。
【0036】
CN180は、時間刻印ネットワークメタデータ530を種々のホスト105のUMC群111から受信することができ、ネットワークメタデータ530は、KMC群110が最初に取得し、かつUMC群がエンドポイントIPアドレス群に基づいて集計するエンドポイントアドレス群及び転送サイズに関する情報を含む。CN180は、データベース590の時刻インデックス表示ネットワークトポロジーレコード群591及び分類ポリシー群592を利用することができる。1つの実施形態では、CN180が、データベース590に対する読み出しのアクセスしか行なうことができないのに対し、トポロジー管理部183は、データベースに対する書き込みのアクセスを行なうことができる。幾つかの実施形態では、時間刻印トポロジーレコード群は、サービスアドレスマップ群を含むことができる−例えば、特定の時刻におけるプロバイダネットワークの特定のサービスの供給に関連するIPアドレス集合は、トポロジーレコード群591に含めることができる。特定のネットワーク構成及び/又はサービス構成が有効であった期間を示す情報は、ネットワーク構成を動的に変更することができる少なくとも幾つかの実施形態では、CN180が作成する分類使用量レコード群の正当性を確保するために重要である。例えば、特定のIPアドレスK.L.M.Nが、トラフィック課金料が$r1/メガバイトである特定のサービスS1に最初に関連付けられるシナリオについて考察する。特定の時刻T1では、ルーティング変更が行なわれ(例えば、ルータ153がBGPを使用して行なう新規のルート通知により)、その結果、サービスS1に関連するトラフィックが、K.L.M.NではなくIPアドレスK.L.M.Pに誘導されるのに対し、時刻T2後に、K.L.M.Nに誘導されるトラフィックに対しては、デフォルト料金$rd/メガバイトを課金する必要がある。送信先としてのアドレスK.L.M.Nを用いて時刻T2に行なわれた所定のネットワーク転送NT1に対して、サービスS1の料金$r1、またはデフォルト料金$r2を課金する必要があるかどうかを判断する場合、CN180は、時刻T2が時刻T1よりも後の時刻または前の時刻であったかどうかを考慮に入れる必要がある。T1がT2よりも前の時刻であった場合、ネットワーク転送NT1に対応する使用量レコードは、料金$rdの使用量分類を示す必要があるのに対し、T1がT2よりも後の時刻であった場合、ネットワーク転送NT1に対応する使用量レコードは、料金$r1の使用量分類を示す必要がある。
【0037】
データベース590を使用して、CN180は、受信するメタデータ530の所定のネットワークデータ転送の時刻において、ネットワークトポロジーの接続形態を調査することができる。例えば、1つのレコード591は、所定日の時刻範囲10:00:00UTC−10:00:15UTCにおけるプロバイダネットワークの一部のネットワークトポロジー(どのクライアントが、どのIPアドレス集合を所有していたか、及びどのサービス群がどのIPアドレス群を用いていたかのような詳細を含む)を示すことができ、10:00:07UTCに行なわれたネットワーク転送に関するメタデータを受信する場合、CNは、当該レコード591を参考にして、対応する分類使用量レコード(群)560を作成することができる。幾つかの実施形態では、単一のデータベース590を複数のCN180が共有することができるのに対し、他の実施形態では、各CNは、当該CN固有のデータベースインスタンスまたは複製データベースを保持することができる。
【0038】
少なくとも1つの実施形態では、分類使用量レコード群560を作成する他に、CN180は更に、種々の種類の検査動作を実行するように構成することができる。例えば、G1ギガバイトデータが、アドレス範囲R1をホスト集合体105に保持する仮想化計算リソース群114から、IPアドレス範囲R2を介して時間窓TW1でアクセス可能なストレージサービスに誘導された場合、CN180は、G1ギガバイトデータを、実際に、時間窓TW1で、アドレス範囲R1から宛先IPアドレス範囲で受信したかどうかについて検証することができる(IPアドレス範囲R2から収集されるメタデータを使用して)。送信されていたと予測されたデータ量と実際に受信したデータ量との相違が検出される場合、調査分析(例えば、ログレコード群の検査を含む)を開始することができる。幾つかの実施形態では、CN180は、このような検査動作または検証動作を、ランダムに選択されるデータ転送に対して行なう、かつ/またはスケジュールに従った時間窓で、またはランダムな間隔で行なうように構成することができる。
【0039】
専用ネットワークで発生するトラフィックの計測
専用ネットワーク群がサポートされる幾つかの実施形態では、CN群が使用するトポロジー情報のうちの少なくとも幾つかのトポロジー情報は、専用ネットワーク群で発生しないトラフィックに必要なデータに関する更に別のデータを含む必要がある。例えば、所定のクライアントは、任意のIPアドレス群を、クライアントの専用ネットワークの内部のリソース群に割り当てることができ、かつこのような任意のIPアドレス群は、クライアントの専用ネットワークの外部のリソース群に割り当てられるアドレス群と重複している可能性があるので、専用ネットワークを使用する各クライアントは、他のクライアント群に対してではなく、当該クライアントに対して特に適用可能な対応するネットワークトポロジーを効果的に有する必要がある。専用ネットワークSM144がクライアントC1の専用ネットワークPN1を構築して、C1が、IPアドレスR.S.T.Uを専用ネットワークの内部のデバイスD1に割り当てるシナリオについて考察する。同時に、プロバイダネットワーク内の他の或る場所で、IPアドレスR.S.T.Uが別のデバイスD2に割り当てられる。専用ネットワークPN1の内部の場所から送出される送信先アドレスR.S.T.U宛ての全てのトラフィックがデバイスD1に誘導されるのに対し、トラフィックが専用ネットワークPN1の外部の場所から送出される場合、当該トラフィックはデバイスD2に誘導される。CN180が最終的に、R.S.T.Uがネットワーク転送のエンドポイントであることを示すメタデータを受信する場合、CN180は、トラフィックが専用ネットワークPN1の内部から送出されたかどうかを判断する必要がある。他のクライアントC2及びC3もまた、少なくとも基本的に、R.S.T.Uを、これらのクライアント独自の専用ネットワークの内部のデバイス群に割り当てている可能性があり、クライアントC1もまた、R.S.T.Uを、異なる専用ネットワークPN2内の別のデバイスに割り当てている可能性がある。その結果、CN180が使用するネットワークトポロジー情報は、トポロジーの関連付け先の特定のクライアント群(または、クライアント専用ネットワーク群)を示す追加の規模情報を含む必要がある。
【0040】
少なくとも1つの実施形態では、クライアント群は、ゲートウェイ群を、プロバイダネットワーク102の内部のこれらのクライアントの専用ネットワークと、プロバイダネットワークの外部の、例えばクライアント独自のデータセンター内のクライアントネットワーク群(
図1のネットワーク130Aまたは130Bのような)との間に構築することもできる。この構成により、専用ネットワーク内のリソース群に対応して設定されるIPアドレス群で、クライアントネットワーク内のIPアドレス群とゲートウェイを使用して通信することができる。このようなトラフィックは、幾つかの実施形態では、仮想専用ネットワーク(VPN)トンネルを介してルーティングすることができる。クライアント群は、幾つかの実施形態では、これらのクライアントのVPNトンネルを構築して、BGP(ボーダーゲートウェイプロトコル)を使用して専用ルート群を通知するか、またはクライアント群は、他の実施形態では、特殊なAPIを起動して、静的ルート群を登録することにより、これらのクライアントのVPNに使用することができる。KMC群及びUMC群は、このようなVPNクライアント群に関するIPアドレスごとのメタデータを収集して、当該メタデータを分類フリートに、上に説明した方法で送信することができる。次に、CN群180(及び/又はトポロジー管理部183)は、このような実施形態では、VPNサービスが保持するクライアントごとのルーティングテーブルを調査して、分類使用量レコード群を作成することができる−例えば、異なる使用量分類及び対応する課金料は、専用ネットワークの内部の他のトラフィックではなく、VPNトラフィックについて設定することができる。
【0041】
トラフィックを計測して分類する方法
図6は、少なくとも幾つかの実施形態による種々の動作形態を示すフロー図であり、これらの動作は、計測がエンドポイントアドレスごとにプロバイダネットワーク内で分散して行なわれるように集合的に行なうことができる。エレメント601に示されるように、トラフィック分類フリートの1つ以上のノード(すなわち、CN群180)は、プロバイダネットワーク102でインスタンス化することができ、そしてネットワークトポロジー変更に関する情報を収集することができる。幾つかの実施形態では、トポロジー監視ノード群188及びトポロジー管理部183を更にインスタンス化することにより、例えばルーティング広告及び他のネットワーク構成変更を監視することができ、かつ時間刻印トポロジーデータを供給してCN群が最終的に使用することができるようにする。幾つかの実施形態では、時刻インデックス表示トポロジー接続情報またはトポロジーレコード群はデータベースに格納することができる(例えば、トポロジー管理部183は、TOノード群が収集する構成データを一元管理して、一元管理データをデータベースに書き込むことができる)。1つの実施形態では、時刻インデックス表示トポロジー接続情報の少なくとも一部は、有効なトポロジーに対応するクライアントの識別情報を含むことができる−例えば、異なるトポロジーは、専用ネットワーク群及び/又はVPN群の利用状況に関して上に説明したように、異なるクライアントについて適用することができる。
【0042】
図6のエレメント604に示すように、エンドポイントIPアドレス群及び転送サイズ群を含むネットワークメタデータは、ネットワーク送信信号について所定の仮想化ホストで、例えば低オーバーヘッドの軽量カーネルモード計測コンポーネント(KMC)110によって確認することができる。幾つかの実施形態では、利用可能な情報によって異なるが、KMCまたは同様の計測コンポーネントは、
図3に示すレコード350の種々の種類のエレメントと同様のネットワーク転送に関する他の種類のメタデータ(関連するサービス(群)、またはデータを所有するクライアントの識別情報のような)を収集することもできる。メタデータは、幾つかの実施形態では、データ転送ごとに(例えば、TCP/IPパケットごとに)デフォルトとして収集することができるが、収集モードは、少なくとも幾つかの実施形態では、動的に変更してサンプリングモードとすることにより、転送のほんの一部に関するメタデータだけを必要に応じて収集することができる。
【0043】
幾つかの実施形態では、
図6のエレメント608に示すように、収集したメタデータは、ユーザモード計測コンポーネント(UMC)111のような集計コンポーネントに供給または送信することができる。集計コンポーネントは、メタデータを合成してグループ群とする、例えば固有エンドポイントIPアドレス当たり1グループ、またはIPアドレス範囲に対応して1グループとすることができる。幾つかの実施形態では、集計メタデータの集計プロセス、及び分類ノード群への集計メタデータの送信の種々の形態は、
図4に示すポリシーのようなオンホスト集計ポリシーによって決定することができる。集計ポリシーは、グループ化ガイドラインまたはグループ化ポリシー、チャンクに関するガイドライン(どの程度の量のデータを分類ノード群に1回当たりに送信すべきかを示すガイドライン、及び/又はUMCまたはCNによる送信頻度に関するガイドライン)、圧縮ガイドラインなどを含むことができる。集計ポリシーによれば、メタデータは分類ノード180に送信することができる(エレメント610)。
【0044】
分類ノード180では、集計メタデータを使用して分類使用量レコード群を、例えば時刻インデックス表示ネットワークトポロジー接続情報、及び/又は種々のマッピングポリシーまたは分類ポリシーを用いて作成することができる(エレメント615)。種々の実施形態では、幾つかの異なる種類の使用量分類(及び、帯域使用量に相当する課金料)を定義することができ、例えばプロバイダネットワークのデータセンターまたはデータセンター集合体のような地域ネットワークの境界の内側に留まるトラフィックに対応する地域プロバイダネットワーク分類、プロバイダネットワークについて画定される地域境界を横切るが、プロバイダネットワークから出て行くことがないトラフィックに対応する地域間プロバイダネットワーク分類、プロバイダネットワークの外部の少なくとも1つのネットワークリンクを利用するトラフィックに対応する地域外プロバイダネットワーク分類、プロバイダネットワークでサポートされる異なるサービスに対応するサービスごとの種々の使用量分類、クライアントの専用ネットワークまたはVPNに属するネットワークアドレス群に関連するトラフィックに対応する専用ネットワーク関連分類、プロバイダネットワークのエッジノードで構築される直接専用リンクに沿って流れてクライアントネットワークに達するトラフィックに対応する分類のようなリンクごとの使用量分類などを定義することができる。マッピングポリシーまたは分類ポリシーは、1つよりも多くの使用量分類を適用することができる場合における異なる使用量分類の間の優先順位を指示することができる−例えば、1つの実施形態では、全体デフォルト分類ポリシーは、2つ以上の使用量分類を適用することができる場合に、またはどの使用量分類に、ネットワーク送信信号を厳密にマッピングする必要があるかについての疑問が生じる場合には必ず、使用量分類候補の中で最安価の料金の使用量分類が選択される必要があることを指示することができる。別のマッピングポリシーは、例えば所定のネットワーク転送を、それぞれのサービスS1及びS2に対応する2つの異なる使用量分類にマッピングすることができる場合に、ネットワーク転送をS1に関連する使用量分類にマッピングする必要があることを指示することができる。
【0045】
分類ノード180が作成する分類使用量レコード群は、プロバイダネットワークの課金ノードに供給することができる(エレメント620)。課金ノードでは、クライアント群に対して、これらのクライアントのネットワーク帯域使用量について課金される課金額を図示の実施形態において算出することができる(エレメント625)。幾つかの実施形態では、課金レコード群は、CN群自体で作成することができる、例えば分類使用量レコード群を作成する機能、及び課金額を算出する機能は、プロバイダネットワークの同じノード群により、または同じノード群で実行することができる。
【0046】
図7は、少なくとも幾つかの実施形態による種々の動作形態を示すフロー図であり、これらの動作は、仮想化ホストのカーネルモード計測コンポーネント(例えば、KMC110)、及びユーザモード計測コンポーネント(例えば、UMC111)により行なうことができる。KMC110の動作が
図7の左半分に図示されているのに対し、UMC111の動作は右半分に図示されている。エレメント701に示されるように、KMC110は、次の時間窓(例えば、X秒またはX分)でネットワークメタデータ収集に関する計測モードまたは収集モードを動的に決定することができる。収集モードは、直近の時間窓で観測されるIPファンアウト数、KMCが利用することができるメモリリソースまたは計算リソース、有効な収集ポリシー215のような種々の要素に基づいて、かつ/またはプロバイダネットワーク102の対応するUMC111または他の或るコンポーネントから受信するフィードバックに基づいて決定することができる。図示の実施形態では、2つの例示的な収集モード:各ネットワーク送信信号または各ネットワークパケットに関するメタデータを収集する正確収集モード、及び送信またはパケット群の一部のみに関するメタデータを収集する簡易収集モードが図示されている。正確収集モードが、次の時間窓に対応して選択される場合(エレメント704で決定される)、エンドポイントアドレス情報のようなメタデータは、送信またはパケットごとに収集することができる(エレメント708)。簡易収集モードが選択される場合(これもまた、エレメント704で決定される)、メタデータは、送信またはパケット群の一部についてのみ、例えばサンプリング方法を使用して捕捉することができる(エレメント712)。図示の実施形態では、正確収集モードまたは簡易収集モードのいずれがメタデータ収集に使用されるかどうかに関係なく、KMCは、タイムスタンプ及び仮想化リソースIDをメタデータに付加することができ(エレメント714)、当該メタデータをUMC111に送信することができる(エレメント714)。次に、KMCは、収集モードを次の時間窓に対応して決定して、701よりも後のエレメント群に対応する動作を繰り返すことができる。
【0047】
UMC111は、図示の実施形態では、フィードバックをプロバイダネットワーク102のCN群180から、かつ/またはネットワーク監視部から受信するように構成することができる(エレメント751)。フィードバックは、例えばCNがどの程度ビジーであるのか、またはUMCとCNとの間のネットワーク経路がどの程度ビジーであるのかを示すことができ、これによりUMC111は、収集されるメタデータの長さ、またはメタデータがCNに送信されるデータレート(送信速度)を変更すべきかどうかを判断し易くなる。UMC111は、次のメタデータ集合を、KMC110から受信することができる(エレメント753)。CN群及び/又はネットワーク監視部からのフィードバックに基づいて、かつ/またはKMC110から受信するメタデータの長さ(メタデータの長さは、ホストのIPファンアウト数を示すことができる)に基づいて、UMC111は、KMC110における収集モードを変更すべきかどうかについて判断することができる(エレメント754)。UMCが当該モードを変更すべきであると判断する場合、UMCは、適切なフィードバックをKMCに供給することができる(エレメント755)。フィードバックモードは、例えばKMC110に対して、UMCから見た場合に、正確収集モードに現在の簡易収集モードから切り替えることが許容できることを通知することができる、または正確収集モードから簡易収集モードに切り替えることが推奨されることを通知することができる。KMC110は、収集モードをフィードバックに基づいて変更することができる、または変更しなくてもよい−例えば、リソース不足がKMC自体で検出される場合、1つの実施形態では、KMCは、UMCから受信するフィードバックに関係なく、収集モードをこれらのリソース不足に基づいて決定することができる。
【0048】
UMC111は、図示の実施形態では、当該UMC111の集計パラメータ群(使用するグループ化方法、メタデータをCN180に転送するためのチャンクサイズまたはチャンク送信スケジュールのような)を、例えばCN群からのフィードバック、またはKMC110から受信するデータの長さに基づいて変更することができる(エレメント757)。複数のCNを実行する1つの実施形態では、UMC111は、異なるCNを、当該UMC111による次の集計メタデータ送信に対応して選択することができる−例えば、前に使用されたCNまでのネットワーク経路が、過度に利用される場合、または前に使用されたCNが過負荷になる場合に選択することができる。次のメタデータチャンクを次に、適切なCNに送信することができる(エレメント760)。UMC111は、次の一連のフィードバックをCN群またはネットワーク監視部から受信するために、かつ/または次のメタデータ集合をKMC110から受信するために待機することができ、751よりも後のエレメント群に対応する動作を繰り返すことができる。
【0049】
図8は、少なくとも幾つかの実施形態による種々の動作形態を示すフロー図であり、これらの動作は、時刻インデックス表示ネットワークトポロジー情報を作成するために行なうことができる。エレメント801に示されるように、ネットワーク構成変更に関する情報は、トポロジー監視(TO)ノード188で収集することができる。当該情報は、幾つかの実施形態では、例えば通過センター152のルータ群からの、またはプロバイダネットワークの他のエッジロケーションからの、クライアントネットワーク群130のネットワークデバイス群からの、プロバイダネットワーク内で実行されるサービス群の種々のサービスマネージャからの、かつ/または公衆インターネットに接続されるルータ群からのBGPルーティング広告を検出することにより収集することができる。幾つかの実施形態では、TOノード188は更に、新規に構築される専用ネットワーク群に関する、または専用ネットワーク構成に加えられる変更に関する情報を、例えば専用ネットワークサービスマネージャ144から収集することができる。1つの実施形態では、プロバイダネットワークの内部で使用されるネットワークルータ群に加えられる変更に関する情報は、内部トポロジーSM145から取得することができる。収集情報を使用して、TOノード188は、時間刻印トポロジー情報をトポロジー管理部183に送信することができる(エレメント804)。幾つかの実施形態では、所定の一連のトポロジー情報に関連するタイムスタンプは、絶対的なタイムスタンプとすることができる−例えば、トポロジー管理部183がトポロジー情報をTOノード188から時刻T1及び後の時刻T2に受信し、かついずれの一連のトポロジー情報も相対的なタイムスタンプを含んでいない場合、時刻T2に受信するトポロジー情報は、ほぼ時刻(T1+T2)/2(または、デルタを或る微小時間区間とした場合の時刻(T1+デルタ))を起点として適用可能になると推定することができる。
【0050】
トポロジー管理部183では、図示の実施形態において、1つ以上のTOノード188から受信する時間刻印トポロジー情報を体系化することにより時刻インデックス表示ネットワークトポロジーレコード群とすることができ、そしてこれらの時刻インデックス表示ネットワークトポロジーレコードは、データベースに格納することができる(エレメント808)。これらの時刻インデックス表示レコードは、CNが使用することにより、所定の時刻Tkに行なわれ、かつCNで後の時点で受信するメタデータを含む任意の所定のネットワーク送信信号について、時刻Tkに有効であったネットワークトポロジーを確認することができる。幾つかの大規模プロバイダネットワークでは、幾つかの実施形態において、ネットワークの種々の補助ネットワークに関する個別のトポロジーレコード群を格納することができる。上に説明したように、幾つかの実施形態では、それぞれの時刻インデックス表示ネットワークトポロジー接続情報は、異なるクライアントに関して保持される必要があるが、その理由は、クライアント群のうちの少なくとも幾つかのクライアントが、専用ネットワーク群を構築していて、他のクライアント群に対してではなく、これらのクライアントに対してしか適用できないネットワーク構成を設定しているからである。
【0051】
集計メタデータ(メタデータに表現されているネットワーク送信信号に関するタイミング情報に関連する)をCNで受信する場合(エレメント812)、分類使用量レコード群はメタデータ(エレメント816)に関して、例えばこれらの送信のタイミングを、時刻インデックス表示トポロジーレコード群と照合することにより作成することができる。次に、これらの分類使用量レコードは、幾つかの実施形態では、課金ノード群185に送信することができる。幾つかの実施形態では、前に説明したように、CN180は更に、任意であるが、例えばプロバイダネットワークの1つの送信元ノード集合体から流出する正味のトラフィックを、推定される送信先ノード群に流入する実際のネットワークトラフィックと比較する検査機能を実行するように構成することができ、そして調査は、異常が検出される場合に開始することができる(エレメント820)。
【0052】
種々の実施形態では、
図6,7,及び8に示すこれらの動作のうちの幾つかの動作は、図示の順番で行なわれなくてもよい、または同時に行なってもよい。幾つかの実施形態では、図示の動作のうちの幾つかの動作は省略してもよい−例えば、トポロジー監視ノード群は、1つの実施形態では実行しなくてもよく、エレメント801に示されるこれらの動作は、このような実施形態では、行なわなくてもよい、またはプロバイダネットワークの異なるコンポーネントで行なってもよい。
【0053】
使用事例
ネットワークトラフィックをアドレスごとに効率的に計測する上記方法は、プロバイダネットワーク群にとって多種多様な異なるシナリオにおいて有用となり得る。例えば、プロバイダネットワーク群が、益々大規模になり、プロバイダネットワークにおいて提供される多種多様なサービスが増えていくと、ネットワークトラフィックを、サービスAPIコールに基づいて計測するだけでは十分ではないが、その理由は、トラフィックの大部分は、特定のサービスAPIコールに結び付けることができないからである。更に、プロバイダネットワークの所定の仮想化ホストから流出するトラフィックの流出先の異なるIPアドレス群の数が増えると、計測プロセスの全段階を仮想化ホスト自体で実行することは実用的ではない。このような手法は、例えば仮想化ホスト群で複製されるネットワーク全体に関するトポロジー情報を必要とし、理想的にはクライアントの作業負荷に割り当てられるべきリソースのうちの莫大なリソース(例えば、メモリまたはCPUサイクル)を消費する可能性がある。
【0054】
通過センターのクライアントネットワーク群だけでなく、専用ネットワーク群、及び専用ネットワーク群とクライアントネットワーク群との間のVPN群まで延びる専用リンク及び直接物理リンクのような特徴を取り入れることに関する情報を、ネットワークトラフィックをクライアント群に正確に割り当てるために必要なトポロジー情報に付加することもできる。下位計測、トポロジー変更監視、及び課金のための使用量分類へのトラフィック分類の役割を果たす異なるコンポーネント集合体を有する分散計測システムの使用は、このようなシナリオでは特に有利となり得る。
【0055】
実施形態
本開示の種々実施形態は、以下の条項に記載することができる:
条項1.
複数のコンピューティングデバイスを備えるシステムであって、前記複数のコンピューティングデバイスは:
複数のホストを含むプロバイダネットワークのホスト上の第1計測コンポーネントで、(a)エンドポイントアドレス情報、及び(b)トラフィック指標値を含むネットワークメタデータを、該ネットワークメタデータが、前記ホストでインスタンス化される仮想化リソースを含む少なくとも1つのエンドポイント宛ての1つ以上のネットワーク送信信号に関連付けられた状態で確認し、
前記第1計測コンポーネントから前記ホスト上の第2計測コンポーネントに、前記第1計測コンポーネントで確認される前記ネットワークメタデータの少なくとも一部を供給し、
少なくとも前記第1計測コンポーネントからのネットワークメタデータを前記第2計測コンポーネントで、オンホスト集計ポリシーに従って集計し、
前記第2計測コンポーネントから前記プロバイダネットワークのトラフィック分類ノードに、集計ネットワークメタデータを送信し、
前記トラフィック分類ノードで、分類使用量レコード集合を、前記複数のホストの少なくとも一部から取得される集計ネットワークメタデータに少なくとも部分的に基づいて、かつ前記プロバイダネットワークに関連するネットワークトポロジー接続情報に少なくとも部分的に基づいて作成し、前記分類使用量レコード集合の中の特定の使用量レコードは、特定の課金対象使用量分類が前記1つ以上のネットワーク送信信号に関連付けられることを示し、
前記分類使用量レコード集合を、前記トラフィック分類ノードから前記プロバイダネットワークの課金ノードに供給し、そして
前記分類使用量レコード集合を使用して、前記1つ以上のネットワーク送信信号に課金される課金額を前記課金ノードで決定するように構成される、システム。
条項2.
前記第1計測コンポーネントは、前記ホストの管理ソフトウェアスタックのカーネルモードコンポーネントを含み、前記第2計測コンポーネントは、前記管理ソフトウェアスタックのユーザモードコンポーネントを含む、条項1に記載のシステム。
条項3.
前記1つ以上のネットワーク送信信号は、前記ホストでインスタンス化される前記仮想化リソースを含む1つのエンドポイント宛てのネットワークパケット集合を含み、前記パケット集合の宛先の第2エンドポイントは、特定のインターネットプロトコル(IP)アドレスを有し、前記アドレスエンドポイント情報は前記特定のIPアドレスを含み、前記トラフィック指標値は、前記ネットワークパケット集合に含めて送信されるバイト数を含み、前記ネットワークメタデータは、前記仮想化リソースを前記ホストでインスタンス化される異なる仮想化リソースから区別する前記仮想化リソースの識別情報を含む、条項1に記載のシステム。
条項4.
前記オンホスト集計ポリシーは、(a)前記分類ノードに送信される集計ネットワークメタデータの長さを決定するために使用することができるチャンクサイズ決定ポリシー、(b)前記集計ネットワークメタデータを前記分類ノードに送信する際に遵守するスケジュールを決定するために使用することができるチャンクスケジューリングポリシー、(c)分類ノード選択ポリシー、(d)前記集計ネットワークメタデータの送信に適用される圧縮ポリシー、(e)前記集計ネットワークメタデータを送信する前に、IPアドレス集合に関するネットワークメタデータを合成するために使用することができるグループ化ポリシー、または(f)前記分類ノードに送信される前記集計ネットワークメタデータの一部を選択するために使用することができるサンプリングポリシーのうちの1つ以上のポリシーを含む、条項1に記載のシステム。
条項5.
前記複数のコンピューティングデバイスは:
前記プロバイダネットワークの1つ以上のトポロジー監視ノードで、前記プロバイダネットワークの少なくとも一部に関連するルーティング情報を含むネットワーク構成情報を収集し、そして
前記ネットワーク構成情報及び関連タイムスタンプを、前記ネットワークトポロジー接続情報を前記ルーティング情報及び前記関連タイムスタンプに少なくとも部分的に基づいて作成するように構成されるトポロジー管理ノードに送信するように構成される、条項1に記載のシステム。
条項6.
前記特定の課金対象使用量分類は、(a)地域プロバイダネットワーク分類、(b)地域間プロバイダネットワーク分類、(c)地域外プロバイダネットワーク分類、(d)前記プロバイダネットワークで実行される特定のマルチテナントサービスに関連する分類、(e)クライアントのために前記プロバイダネットワークの内部で構築される専用ネットワークに関連する分類、または(f)クライアントネットワークを前記プロバイダネットワークに接続するために前記プロバイダネットワークのエッジノードで構築される直接物理ネットワークリンクに関連する分類のうちの少なくとも1つの分類を含む、条項1に記載のシステム。
条項7.
複数のホストを含むプロバイダネットワークのホスト上の第1計測コンポーネントで、(a)エンドポイントアドレス情報、及び(b)トラフィック指標値を含むネットワークメタデータを確認し、前記ネットワークメタデータを、前記ホストでインスタンス化される仮想化リソースを含む少なくとも1つのエンドポイント宛ての1つ以上のネットワーク送信信号に関連付けし、
少なくとも前記第1計測コンポーネントからのネットワークメタデータを第2計測コンポーネントで集計ポリシーに従って集計し、
前記プロバイダネットワークのトラフィック分類ノードで、前記前記1つ以上のネットワーク送信信号に対応する1つ以上の分類使用量レコードを、少なくとも前記第2計測コンポーネントから取得される集計ネットワークメタデータに少なくとも部分的に基づいて、かつ前記プロバイダネットワークに関連するネットワークトポロジー接続情報に少なくとも部分的に基づいて作成し、そして
前記1つ以上の分類使用量レコードを使用して、前記1つ以上のネットワーク送信信号に課金される課金額を決定する、方法。
条項8.
前記第1計測コンポーネントは、前記ホストの管理ソフトウェアスタックのカーネルモードコンポーネントを含み、前記第2計測コンポーネントは、前記管理ソフトウェアスタックのユーザモードコンポーネントを含む、条項7に記載の方法。
条項9.
前記1つ以上のネットワーク送信信号は、前記ホストでインスタンス化される前記仮想化リソースを含む1つのエンドポイント宛てのネットワークパケット集合を含み、前記パケット集合の宛先の第2エンドポイントは、特定のインターネットプロトコル(IP)アドレスを有し、前記アドレスエンドポイント情報は前記特定のIPアドレスを含み、前記トラフィック指標値は、前記ネットワークパケット集合に含めて送信されるバイト数を含み、前記ネットワークメタデータは、前記仮想化リソースを前記ホストでインスタンス化される異なる仮想化リソースから区別する前記仮想化リソースの識別情報を含む、条項7に記載の方法。
条項10.
前記集計ポリシーは、(a)前記分類ノードに送信される集計ネットワークメタデータの長さを決定するために使用することができるチャンクサイズ決定ポリシー、(b)前記集計ネットワークメタデータを前記分類ノードに送信する際に遵守するスケジュールを決定するために使用することができるチャンクスケジューリングポリシー、(c)分類ノード選択ポリシー、(d)前記集計ネットワークメタデータの送信に適用される圧縮ポリシー、(e)前記集計ネットワークメタデータを送信する前に、IPアドレス集合に関するネットワークメタデータを合成するために使用することができるグループ化ポリシー、または(f)前記分類ノードに送信される前記集計ネットワークメタデータの一部を選択するために使用することができるサンプリングポリシーのうちの1つ以上のポリシーを含む、条項7に記載の方法。
条項11.
更に:
前記プロバイダネットワークの1つ以上のトポロジー監視ノードで、前記プロバイダネットワークの少なくとも一部に関連するネットワーク構成情報を収集し、そして
前記ネットワーク構成情報及び関連タイムスタンプを、前記ネットワークトポロジー接続情報を前記ネットワーク構成情報及び前記関連タイムスタンプに少なくとも部分的に基づいて作成するように構成されるトポロジー管理ノードに送信する、条項7に記載の方法。
条項12.
前記1つ以上の分類使用量レコードは、前記1つ以上のネットワーク送信信号の課金対象使用量分類を示す特定の使用量レコードを含み、前記課金対象使用量分類は、(a)地域プロバイダネットワーク分類、(b)地域間プロバイダネットワーク分類、(c)地域外プロバイダネットワーク分類、(d)前記プロバイダネットワークで実行される特定のマルチテナントサービスに関連する分類、(e)クライアントのために前記プロバイダネットワークの内部で構築される専用ネットワークに関連する分類、または(f)クライアントネットワークを前記プロバイダネットワークに接続するために前記プロバイダネットワークのエッジノードで構築される直接物理ネットワークリンクに関連する分類のうちの少なくとも1つの分類を含む、条項7に記載の方法。
条項13.
プログラム命令群を格納する非一時的なコンピュータアクセス可能記憶媒体であって、前記プログラム命令群が1つ以上のプロセッサで実行されると、前記プログラム命令群により:
複数のネットワークメタデータレコードの中の特定のネットワークメタデータレコードが、前記ホストで検出される1つ以上のネットワーク送信信号に対応し、かつ前記特定のネットワークメタデータレコードが、(a)前記1つ以上のネットワーク送信信号のエンドポイントアドレス情報と、(b)トラフィック指標値と、を含む構成の複数のネットワークメタデータレコードをプロバイダネットワークのホストで作成し、
前記複数のネットワークメタデータを前記ホストで、前記エンドポイントアドレス情報に少なくとも部分的に基づいて集計し、そして
集計ネットワークメタデータを、前記ホストから前記プロバイダネットワークのトラフィック分類ノードに送信し、
前記トラフィック分類ノードは、前記1つ以上のネットワーク送信信号に対応する分類使用量レコードを、前記プロバイダネットワークに関連するネットワークトポロジー接続情報に少なくとも部分的に基づいて作成するように構成される、非一時的なコンピュータアクセス可能記憶媒体。
条項14.
前記プログラム命令群が前記1つ以上のプロセッサで実行されると、前記プログラム命令群により、前記ホストで実行されるカーネルモードコンポーネントと通信して、前記特定のネットワークメタデータレコードを作成する、条項13に記載の非一時的なコンピュータアクセス可能記憶媒体。
条項15.
前記1つ以上のネットワーク送信信号は、前記ホストでインスタンス化される前記仮想化リソースを含む1つのエンドポイント宛てのネットワークパケット集合を含み、前記パケット集合の宛先の第2エンドポイントは、特定のインターネットプロトコル(IP)アドレスを有し、前記アドレスエンドポイント情報は前記特定のIPアドレスを含み、前記トラフィック指標値は、前記ネットワークパケット集合に含めて送信されるバイト数を含み、前記特定のネットワークメタデータレコードは、前記仮想化リソースを前記ホストでインスタンス化される異なる仮想化リソースから区別する前記仮想化リソースの識別情報を含む、条項13に記載の非一時的なコンピュータアクセス可能記憶媒体。
条項16.
前記プログラム命令群が前記1つ以上のプロセッサで実行されると、前記プログラム命令群により、前記複数のネットワークメタデータレコードを、(a)前記分類ノードに送信される集計ネットワークメタデータの長さを決定するために使用することができるチャンクサイズ決定ポリシー、(b)前記集計ネットワークメタデータを前記分類ノードに送信する際に準拠するスケジュールを決定するために使用することができるチャンクスケジューリングポリシー、(c)分類ノード選択ポリシー、(d)前記集計ネットワークメタデータの送信に適用される圧縮ポリシー、(e)前記集計ネットワークメタデータを送信する前に、IPアドレス集合に関するネットワークメタデータを合成するために使用することができるグループ化ポリシー、または(f)前記分類ノードに送信される前記集計ネットワークメタデータの一部を選択するために使用することができるサンプリングポリシーのうちの1つ以上のポリシーを含む集計ポリシーに少なくとも部分的に基づいて集計する、条項13に記載の非一時的なコンピュータアクセス可能記憶媒体。
条項17.
前記プログラム命令群が前記1つ以上のプロセッサで実行されると、前記プログラム命令群により:
特定の期間の各ネットワーク送信信号に対応するネットワークメタデータレコード群を、別の期間に検出されるネットワーク送信信号に関連する複数の異なるエンドポイントアドレスのカウント数に少なくとも部分的に基づいて確認し、そして
各ネットワーク送信信号に対応するネットワークメタデータレコード群が収集されることがないと判断されると、サンプリング方法を利用して、1つ以上のネットワークメタデータレコードを前記特定の期間に作成する、条項13に記載の非一時的なコンピュータアクセス可能記憶媒体。
条項18.
プログラム命令群を格納する非一時的なコンピュータアクセス可能記憶媒体であって、前記プログラム命令群が1つ以上のプロセッサで実行されると、前記プログラム命令群により:
プロバイダネットワークの少なくとも一部に対応し、かつ前記プロバイダネットワークのトポロジー管理部により、前記プロバイダネットワークの1つ以上のトポロジー監視ノードで収集されるネットワーク構成情報に少なくとも部分的に基づいて作成されるネットワークトポロジー接続情報を取得し、
前記プロバイダネットワークの1つ以上の仮想化ホストの計測コンポーネント群から、前記1つ以上の仮想化ホストで検出されるネットワーク送信信号に関連する複数のネットワークメタデータレコードを、前記複数のネットワークメタデータレコードの中の特定のネットワークメタデータレコードが、エンドポイントアドレス情報及びトラフィック指標値を含む状態で受信し、
分類使用量レコード集合を、前記複数のネットワークメタデータレコードに少なくとも部分的に基づいて、かつ前記ネットワークトポロジー接続情報に少なくとも部分的に基づいて作成して、前記分類使用量レコード集合を、前記1つ以上の仮想化ホストで検出される前記ネットワーク送信信号に関連する課金額を決定するために使用することができるようにする、非一時的なコンピュータアクセス可能記憶媒体。
条項19.
前記ネットワーク構成情報は、ルーティング変更に関連する1つ以上のタイムスタンプを含み、前記ネットワークトポロジー接続情報は時刻インデックス表示される、条項18に記載の非一時的なコンピュータアクセス可能記憶媒体。
条項20.
前記レコード集合の中の特定の分類使用量レコードは、課金対象使用量分類の指定値を含み、前記課金対象使用量分類は、(a)地域プロバイダネットワーク分類、(b)地域間プロバイダネットワーク分類、(c)地域外プロバイダネットワーク分類、(d)前記プロバイダネットワークで実行される特定のマルチテナントサービスに関連する分類、(e)クライアントのために前記プロバイダネットワークの内部で構築される専用ネットワークに関連する分類、または(f)クライアントネットワークを前記プロバイダネットワークに接続するために前記プロバイダネットワークのエッジノードで構築される直接物理ネットワークリンクに関連する分類のうちの少なくとも1つの分類を含む、条項18に記載の非一時的なコンピュータアクセス可能記憶媒体。
【0056】
例示的なコンピュータシステム
少なくとも幾つかの実施形態では、本明細書において記載され、かつKMC群110、UMC群111、CN群180、トポロジー管理部183、及び/又はTOノード群188を実行する方法を含むこれらの技術のうちの1つ以上の技術の一部または全部を実行するサーバは汎用コンピュータシステムを含むことができ、この汎用コンピュータシステムは、1つ以上のコンピュータアクセス可能媒体を含む、または1つ以上のコンピュータアクセス可能媒体にアクセスするように構成される。
図9は、このような汎用コンピューティングデバイス3000を示している。図示の実施形態では、コンピューティングデバイス3000は、システムメモリ3020に入力/出力(I/O)インターフェース3030を介して接続される1つ以上のプロセッサ3010を含む。コンピューティングデバイス3000は更に、I/Oインターフェース3030に接続されるネットワークインターフェース3040を含む。
【0057】
種々の実施形態では、コンピューティングデバイス3000は、1つのプロセッサ3010を含むユニプロセッサシステム、または幾つかの(例えば、2個、4個、8個、または別の適切な個数の)プロセッサ3010を含むマルチプロセッサシステムとすることができる。プロセッサ群3010は、命令群を実行することができる任意の適切なプロセッサとすることができる。例えば、種々の実施形態では、プロセッサ群3010は、x86、PowerPC,SPARC,またはMIPS ISAs、または他のいずれかの適切なISAのような多種多様な命令セットアーキテクチャ(ISAs)のうちのいずれかの命令セットアーキテクチャを実装した汎用プロセッサまたはエンベッデッドプロセッサとすることができる。マルチプロセッサシステムでは、プロセッサ群3010の各プロセッサは普通、必ずという訳ではないが、同じISAを実装することができる。
【0058】
システムメモリ3020は、プロセッサ(群)3010からアクセス可能な命令群及びデータを格納するように構成することができる。種々の実施形態では、システムメモリ3020は、スタティックランダムアクセスメモリ(SRAM)、シンクロナスダイナミックRAM(SDRAM)、不揮発性/フラッシュ系メモリ、またはいずれかの他の種類のメモリのようないずれかの適切なメモリ技術を用いて実現することができる。図示の実施形態では、上に説明したこれらの方法、技術、及びデータのような、1つ以上の所望の機能を実行するプログラム命令群及びプログラムデータは、システムメモリ3020内に、コード3025及びデータ3026として格納されるものとして図示されている。
【0059】
1つの実施形態では、I/Oインターフェース3030は、当該デバイス内のプロセッサ3010、システムメモリ3020、及びいずれかのペリフェラルデバイス群の間のI/Oトラフィックを調整するように構成することができ、これらのペリフェラルデバイスとして、ネットワークインターフェース3040、または他のペリフェラルインターフェースを挙げることができる。幾つかの実施形態では、I/Oインターフェース3030は、いずれかの必要なプロトコル、タイミング変換または他のデータ変換を実行して、1つのコンポーネント(例えば、システムメモリ3020)からのデータ信号を、別のコンポーネント(例えば、プロセッサ3010)による使用に適するフォーマットに変換することができる。幾つかの実施形態では、I/Oインターフェース3030は、例えばペリフェラルコンポーネントインターコネクト(PCI)バス規格またはユニバーサルシリアルバス(USB)規格の拡張版のような種々の種類のペリフェラルバスを介したデバイス群の接続のサポートを行なうことができる。幾つかの実施形態では、I/Oインターフェース3030の機能は、例えばノースブリッジ及びサウスブリッジのような2つ以上の個別コンポーネントに分割することができる。更に、幾つかの実施形態では、システムメモリ3020とのインターフェースのようなI/Oインターフェース3030の機能の或る部分、または全部は、プロセッサ3010に直接組み込むことができる。
【0060】
ネットワークインターフェース3040は、データをコンピューティングデバイス3000と、ネットワークまたはネットワーク群3050に接続される
図1〜
図8に示す他のコンピュータシステムまたはコンピュータデバイスのような他のデバイス群3060との間で授受することができるように構成することができ、他のデバイス群3060は、例えばクライアントとして機能する種々のデバイスを含む。種々の実施形態では、ネットワークインターフェース3040は、例えば種々の種類のイーサネット(登録商標)ネットワークのようないずれかの適切な有線または無線の汎用データネットワークを介した通信をサポートすることができる。更に、ネットワークインターフェース3040は、アナログ音声ネットワークまたはデジタルファイバ通信ネットワークのような電気通信網/電話網を介した通信、Fibre Channel SANsのようなストレージエリアネットワークを介した、またはいずれかの他の適切な種類のネットワーク及び/又はプロトコルを介した通信をサポートすることができる。
【0061】
幾つかの実施形態では、システムメモリ3020は、
図1〜
図8について上に説明したプログラム命令群及びプログラムデータを格納して、対応する方法及びデバイスの実施形態を実現するように構成されるコンピュータアクセス可能媒体の1つの実施形態とすることができる。しかしながら、他の実施形態では、プログラム命令群及び/又はプログラムデータは、異なる種類のコンピュータアクセス可能媒体で受信する、コンピュータアクセス可能媒体から送信する、またはコンピュータアクセス可能媒体に格納することができる。一般的に言うと、コンピュータアクセス可能媒体は、磁気媒体または光媒体、例えばコンピューティングデバイス3000にI/Oインターフェース3030を介して接続されるディスクまたはDVD/CDのような非一時的な記憶媒体またはメモリ媒体を含むことができる。非一時的なコンピュータアクセス可能記憶媒体は更に、RAM(例えば、SDRAM,DDR,SDRAM,RDRAM,SRAMなど)、ROMなどのような任意の揮発性媒体または不揮発性媒体を含むことができ、これらの媒体は、コンピューティングデバイス3000の幾つかの実施形態に、システムメモリ3020または別の種類のメモリとして取り込むことができる。更に、コンピュータアクセス可能な媒体は、電気信号、電磁信号、またはデジタル信号のような伝送媒体または伝送信号を含むことができ、これらの伝送媒体または伝送信号は、ネットワークインターフェース3040を介して実現されるようなネットワーク及び/又は無線リンクのような通信媒体を介して伝送することができる。
図9に示すコンピューティングデバイスのような複数のコンピューティングデバイスの一部または全部を用いて、記載の機能を種々の実施形態において実行することができる;例えば、多種多様な異なるデバイス及びサーバで実行されるソフトウェアコンポーネント群は、連携して機能を実現することができる。幾つかの実施形態では、記載の機能の一部は、汎用コンピュータシステムを用いて実行する他に、または実行するのではなく、ストレージデバイス、ネットワークデバイス、または特定用途コンピュータシステムを用いて実行することができる。“computing device”という用語は、本明細書において使用されるように、少なくとも全てのこれらの種類のデバイスを指し、これらの種類のデバイスに限定されない。
【0062】
結論
種々の実施形態は更に、コンピュータアクセス可能媒体についてのこれまでの説明に従って実行される命令群及び/又はデータを受信する、送信する、または格納することができる。一般的に言うと、コンピュータアクセス可能媒体は、磁気媒体または光媒体、例えばディスクまたはDVD/CD−ROMのような記憶媒体またはメモリ媒体、RAM(例えば、SDRAM,DDR,RDRAM,SRAMなど)、ROMなどのような揮発性媒体または不揮発性媒体だけでなく、ネットワーク及び/又は無線リンクのような通信媒体を介して伝送される電気信号、電磁信号、またはデジタル信号のような伝送媒体または伝送信号を含むことができる。
【0063】
これらの図に図示され、かつ本明細書において記載される種々の方法は、方法の例示的な実施形態を表わしている。これらの方法は、ソフトウェアで実行する、ハードウェアで実行する、またはソフトウェア及びハードウェアを組み合わせて実行することができる。方法の順番は、変更することができ、そして種々の構成要素を追加し、並べ直し、組み合わせ、省略し、変更するなどとすることができる。
【0064】
本開示の恩恵を享受するこの技術分野の当業者には明らかなことであるが、種々の変形及び変更を行なうことができる。本発明は、全てのこのような変形及び変更を包含するものであり、従って上の説明は、限定的な意味ではなく、例示として見なされるべきである。