(57)【要約】  ネットワーク性能データを収集し解析する技法が記載される。サーバは、再送データを含む接続データが、データをクライアントに供給するデータセンタの各サーバに記憶されるように変更される。次に、各サーバは、記憶された接続データを収集サーバに送信し、収集サーバはデータを集計する。収集サーバは、サーバが配置されているデータセンタおよびクライアントの位置またはルーティングのクラスタに基づいて、サーバからの接続データをソートする。クライアントの位置は、クライアントの地理的対応付け、自律システム番号によるルーティング、またはＩＰアドレスプリフィックスに基づくことができる。特定のデータセンタから特定のクライアント位置への再送率が高いことは、ネットワークの特定のエリアでの問題を示し得る。データ送信のルーティングを異なるデータセンタに変更してもよく、または異なるルーティングを割り当てることにより変更してもよい。
2011520168.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク性能データを収集する方法であって、
複数のサーバから、前記複数のサーバおよび１つまたは複数のクライアントが送受信したデータパケットの伝送に基づく接続データを受信するステップであって、前記複数のサーバのそれぞれは、複数のデータセンタのうちの特定のデータセンタに配置されるステップと、
前記複数のサーバからの前記接続データを集計するステップと、
前記サーバが配置されている前記データセンタおよび前記クライアントに関連するクラスタに基づいて、前記集計された接続データをソートするステップと、
前記データセンタおよび前記クライアントに関連する前記クラスタに基づいて前記集計された接続データをソートした後、前記ソートされ集計された接続データを記憶するステップと
を含む、方法。
【請求項２】
集計される接続データは、送信データパケット量、送信された再送データパケット量、受信データパケット量、受信された再送データパケット量、およびデータパケットの往復時間を含む、請求項１に記載の方法。
【請求項３】
前記クライアントに関連する前記クラスタは、前記クライアントのＩＰアドレスが対応付けられた地理的位置を含む、請求項１に記載の方法。
【請求項４】
前記地理的位置は市である、請求項３に記載の方法。
【請求項５】
前記地理的位置は国である、請求項３に記載の方法。
【請求項６】
前記クライアントに関連する前記クラスタは、前記クライアントのＩＰアドレスが関連するルーティングの識別子を含む、請求項１に記載の方法。
【請求項７】
前記ルーティングの前記識別子は、自律システム番号である、請求項６に記載の方法。
【請求項８】
集計される接続データは、前記サーバが提供するアプリケーションをさらに含む、請求項２に記載の方法。
【請求項９】
前記接続データを、前記複数のサーバから絶え間なく受信する、請求項８に記載の方法。
【請求項１０】
ネットワーク性能データを収集するシステムであって、
複数のデータセンタのうちの特定のデータセンタにそれぞれ配置された複数のサーバと、
収集サーバと、
複数のクライアントと
を備え、
前記複数のサーバは、前記複数のサーバおよび１つまたは複数のクライアントが送受信したデータパケットの伝送に基づく接続データを記憶し、
前記複数のサーバは、接続データを前記収集サーバに送信し、
前記収集サーバは前記接続データを集計し、
前記収集サーバは、前記サーバが配置されている前記データセンタおよび前記クライアントに関連するクラスタに基づいて、前記集計された接続データをソートし、
前記データセンタおよび前記クライアントに関連する前記クラスタに基づいて前記集計された接続データをソートした後、前記収集サーバは、前記ソートされ集計された接続データを記憶する、システム。
【請求項１１】
集計される接続データは、送信データパケット量、送信された再送データパケット量、受信データパケット量、受信された再送データパケット量、およびデータパケットの往復時間を含む、請求項１０に記載のシステム。
【請求項１２】
前記クライアントに関連する前記クラスタは、前記クライアントのＩＰアドレスが対応付けられた地理的位置を含む、請求項１０に記載のシステム。
【請求項１３】
前記クライアントに関連する前記クラスタは、前記クライアントのＩＰアドレスが関連するルーティングの識別子を含む、請求項１０に記載のシステム。
【請求項１４】
前記ルーティングの前記識別子は、自律システム番号である、請求項１０に記載のシステム。
【請求項１５】
１つまたは複数のプロセッサにより実行されると、前記１つまたは複数のプロセッサに、
複数のサーバから、前記複数のサーバおよび１つまたは複数のクライアントが送受信したデータパケットの伝送に基づく接続データを受信することであって、前記複数のサーバのそれぞれは、複数のデータセンタのうちの特定のデータセンタに配置されることと、
前記複数のサーバからの前記接続データを集計することと、
前記サーバが配置されている前記データセンタおよび前記クライアントに関連するクラスタに基づいて、前記集計された接続データをソートすることと、
前記データセンタおよび前記クライアントに関連する前記クラスタに基づいて前記集計された接続データをソートした後、前記ソートされ集計された接続データを記憶することと
を実行させる１つまたは複数の命令シーケンスを搬送するコンピュータ可読記憶媒体。
【請求項１６】
集計される接続データは、送信データパケット量、送信された再送データパケット量、受信データパケット量、受信された再送データパケット量、およびデータパケットの往復時間を含む、請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１７】
前記クライアントに関連する前記クラスタは、前記クライアントのＩＰアドレスが対応付けられた地理的位置を含む、請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１８】
前記地理的位置は市である、請求項１６に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記地理的位置は国である、請求項１６に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記クライアントに関連する前記クラスタは、前記クライアントのＩＰアドレスが関連する自律システム番号を含む、請求項１５に記載のコンピュータ可読記憶媒体。
【請求項２１】
前記接続データを、前記複数のサーバから絶え間なく受信する、請求項１５に記載のコンピュータ可読記憶媒体。
【請求項２２】
集計される接続データは、前記サーバが提供するアプリケーションをさらに含む、請求項１６に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク性能に関連するデータの収集および解析に関する。
【背景技術】
【０００２】
この項において説明する手法は、追求可能な手法であるが、必ずしも以前に構想または追求された手法であるとは限らない。したがって、別段のことが示されない限り、この項において説明されるいかなる手法も、単にこの項に含まれることだけで従来技術として見なされるものと想定すべきではない。
【０００３】
インターネットからデータを検索する重要性が増大したため、どのようにしてデータを素早く正確に送信できるかを監視し解析することが非常に重要になった。例えば、ユーザは、トピック「車」についてより多くを学びたい場合がある。ユーザは、インターネット検索エンジンウェブサイトを開き、次に、検索クエリに「車」をタイプすることにより検索を開始し得る。この要求は、検索エンジンの検索アプリケーションとして機能する、データセンタのうちの１つに配置されるサーバにルーティングされる。クエリに応答して、サーバは、ユーザがアクセスする可能性のある、トピック「車」に関連するリソースリストを有する応答をクライアントに返送する。クライアントコンピュータが応答を受信すると、データがユーザに表示される。ユーザは、表示された結果を見ることができるだけであるが、要求および応答がネットワーク内でどのようにルーティングされるかは、ユーザの経験に影響する。検索エンジンまたは他の任意の情報プロバイダの場合、ユーザがデータを素早く正確に受信することを保証することが、良好なユーザ経験を提供する重要な一側面である。
【０００４】
データプロバイダは、多くの場合、データを効率的に提供することを助けるために、データセンタ内に配置された、同一コンテンツを提供する多数のサーバを所有する。本明細書において使用される用語「データセンタ」は、関連するサーバの集まりを指す。万が一、データプロバイダが、任意のネットワーク異常または障害があることを検出した場合、データプロバイダへの要求は、全面的に障害の性質に応じて、データセンタ内の異なるサーバまたは異なるデータセンタにルーティングすることができる。
【０００５】
特定のデータセンタに属するサーバは、通常、同じ建物または複合施設内にあるが、異なるデータセンタは、互いに地理的に離れて配置されることが多い。自然災害または他の災難に起因する、あるデータセンタ内の壊滅的な障害が他のデータセンタにも障害を生じさせないように、地理的に距離を置くことで保護する。例えば、あるデータセンタがニューヨークの東海岸に配置され、別のデータセンタがサンフランシスコの西海岸に配置され得る。したがって、そのデータセンタに障害を生じさせる地震がサンフランシスコで発生した場合、要求は、サンフランシスコにあるデータセンタではなく、ニューヨークにあるデータセンタにルーティングすることができる。
【０００６】
データセンタが隔てられることにより、大規模データプロバイダは、サーバの負荷をより効率的に利用することもできる。例えば、ニューヨークにあるデータセンタは、８５％のサーバ負荷を有し得、サーバに対して多数の接続が行われていることを示す。サンフランシスコにあるデータセンタは、同じ瞬間に３５％のサーバ負荷を有し得る。サーバ負荷をより均等に利用するために、それまではニューヨーク内のデータセンタに送信されていた後続する任意の接続要求は、サーバ負荷が等しくなるまで、ニューヨーク内のデータセンタではなく、サンフランシスコ内のデータセンタにルーティングされる。
【０００７】
様々なデータセンタへのルーティング、または様々な経路によるルーティングは、ネットワークの状況についての情報を収集し、それらの状況に基づいて調整を行うことによっても決定することができる。例えば、ネットワーク障害がネットワーク内の単一点で発生し、ネットワークのそのエリア内で移動しているすべてのデータパケットが、そのデータパケットの宛先に転送されなくなる場合がある。別の例では、ネットワークの同じエリア内で移動しているデータパケットが多すぎることにより生じるトラフィックの輻輳が、そのネットワークエリアでのネットワークトラフィックをかなり遅くする場合がある。ネットワーク内の障害点または輻輳点を特定することにより、ネットワークトラフィックが可能な限りスムーズに動けるように、ネットワークルーティングを調整することができる。したがって、ネットワークおよびネットワーク性能について可能な限り多くの情報を得ることが、検索エンジン等の大規模データプロバイダにとってますます重要になっている。
【０００８】
本発明を限定ではなく例として、同様の参照番号が同様の要素を指す添付図面の図に示す。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態によるデータセンタ、サーバ、クライアント、および収集サーバの関係を表示するブロック図である。
【図２】本発明の実施形態によるネットワーク性能データの収集および解析のために辿るステップを表示する図である。
【図３】本発明の実施形態を実施し得るコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００１０】
ネットワーク性能に関連するデータを収集し解析する技法について説明する。以下の説明では、説明のため、本発明の完全な理解を提供するために、多くの特定の詳細が記される。しかし、本発明をそれら特定の詳細なしで実施してもよいことが理解される。他の例では、周知の構造および装置は、本発明を不必要に分かりにくくしないように、ブロック図の形態で示される。
【００１１】
本明細書において使用される「ネットワーク性能データ」は、ネットワーク上のデータ伝送の速度および性能を示すデータである。ネットワーク性能データは、エンドユーザ性能も含み得る。ネットワーク性能データは、サーバとクライアントとの接続データに基づく。ネットワーク性能データは、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート、送信データ、再送データ、受信データ、最大輻輳ウィンドウ、データパケットの往復時間、およびネットワーク性能の特定に使用し得る他の任意の測定または測定基準を含む。ネットワーク性能に影響する要因の中には、ネットワークトラフィック輻輳、ネットワーク障害、またはルータ障害がある。ネットワークの様々な部分での問題を検出することにより、よりよいネットワーク性能を保証するように、ルーティングを調整することができる。
【００１２】
一実施形態では、サーバは、接続データが、データプロバイダによりデータをクライアントに供給するデータセンタの各サーバに記憶されるように変更される。ネットワーク問題を検出するために、サーバは、再送データを記憶するようにさらに変更される。別の実施形態では、再送データは、ネットワーク問題の検出に使用される多くの要因（すなわち、データ待ち時間、輻輳）のうちの１つである。次に、各サーバは、接続データを収集サーバに送信し、収集サーバはデータを集計する。送信データパケット数および再送データパケット数の集計ならびにデータパケットの送信元および宛先の特定は、輻輳または他の問題が発生している可能性があり、ネットワークに応答してルーティングを変更する可能性があるネットワークのエリアの特定に役立つ。
【００１３】
一実施形態では、収集サーバは、サーバが配置されているデータセンタおよびクライアントの位置に基づいて、サーバからの接続データをソートする。クライアントの位置は、クライアントの地理的対応付け、自律システム番号、またはＩＰアドレス範囲に基づき得る。自律システム番号は、ルーティングを示す番号である。ＩＰアドレス範囲は様々であり得る。例えば、ＩＰアドレス範囲は、潜在的に多くのユーザを有する広い範囲であってもよく、またはより細かい粒度を示す狭い範囲であってもよい。
【００１４】
一実施形態では、ソートされたデータは、データセンタおよびクライアントの位置に基づいて解析することが可能である。特定のデータセンタから特定のクライアント位置への高い再送率は、ネットワークの特定のエリアでの問題を示し得る。その場合、データ送信のルーティングを異なるデータセンタに変更してもよく、または異なるルートを割り当てることにより変更してもよい。
【００１５】
一実施形態によりサーバ、データセンタ、収集サーバ、およびクライアントがどのように対話するかを表示するブロック図を図１に示す。図１には、３つのデータセンタ：データセンタ１０３、データセンタ１０５、およびデータセンタ１０７がある。データセンタ１０３は２つのサーバを備える。各データセンタ内に配置されるサーバ数は、実施態様毎に広く変化する。サーバ１１１およびサーバ１１３がデータセンタ１０３内に配置される。データセンタ１０５も２つのサーバを備える。サーバ１２１およびサーバ１２３がデータセンタ１０５内に配置される。データセンタ１０７は３つのサーバを備える。サーバ１３１、サーバ１３３、およびサーバ１３５が、データセンタ１０７内に配置される。
【００１６】
各サーバはクライアントに接続する。クライアントは、クライアント１５１、クライアント１５３、クライアント１５５、クライアント１５７、およびクライアント１５９として示される。サーバは、サーバがクライアントに接続した場合、再送データを含む接続データを記憶するように変更される。接続データは収集サーバ１０１に送信され、収集サーバ１０１は、利用可能な他のすべてのサーバからもデータを収集する。収集サーバにおいて、受信された接続データは、他のサーバからの接続データと併せて集計される。次に、収集サーバは、サーバが配置されているデータセンタおよびクライアントの実際の位置またはクライアントに割り当てられたルーティングに基づいて接続データをソートする。この情報から、ルーティング変更の決断またはネットワーク問題のさらなる調査を行うことができる。
【００１７】
サーバへのネットワーク性能データの記憶
一実施形態では、サーバは、接続データが、データプロバイダによりデータをクライアントに供給するデータセンタの各サーバに記憶されるように変更される。サーバは、再送データを記憶するようにさらに変更される。データ伝送は、ＴＣＰを含む任意の種類のデータ伝送プロトコルに従い得る。伝送制御プロトコル（「ＴＣＰ」）は、ネットワーク接続されたホスト上のアプリケーションが、別のホストに接続できるようにするインターネットプロトコルである。例えば、ウェブページを要求しているクライアントが一方のホストを表し、ウェブページコンテンツをクライアントに提供しているサーバが、他方のホストを表し得る。
【００１８】
ＴＣＰプロトコルは、ホスト間の接続に関連する多くの属性を有する。ＴＣＰは、送信者から受信者への確実で順序正しいデータ伝送を保証する。順序正しい伝送を達成するために、ＴＣＰは、損失パケットの再送および送信された重複パケットの破棄も提供する。ＴＣＰは、同じホストで実行中の並行アプリケーション（例えば、ウェブサーバおよび電子メールサーバ）による複数の接続のデータを区別することも可能である。
【００１９】
ＴＣＰ接続を開始するには、開始側ホストが、同期（ＳＹＮ）パケットを送信して、初期シーケンス番号を使用して接続を開始する。初期シーケンス番号は、転送されたデータが送信中に発生し得る任意の断片化または順番のずれに関わりなく順番通りの状態を保つように、各ホストから送信されるバイトの順序を識別する。バイトが送信される毎に、シーケンス番号がインクリメントされる。送信される各バイトには、送信者によりシーケンス番号が割り当てられ、次に、受信者は、確認応答（ＡＣＫ）を送信者に返送して、送信を確認する。
【００２０】
例えば、コンピュータＡ（サーバ）が４バイトをシーケンス番号５０と共に送信した場合（パケット内の４バイトには、シーケンス番号５０、５１、５２、および５３が割り当てられる）、コンピュータＢ（クライアント）は、コンピュータＡに５４の確認応答を返送し、コンピュータＢが受信を予期する次のバイトを示す。５４の確認応答を送信することにより、コンピュータＢは、バイト５０、５１、５２、および５３を正しく受信したことを通知する。万が一、最後の２バイトが破損した場合、コンピュータＢは、バイト５０および５１は受信に成功したため、確認応答値５２を送信する。コンピュータＡは次に、コンピュータＢにシーケンス番号５２から始まるデータパケットを再送する。
【００２１】
一実施形態では、すべてのデータセンタ内の各サーバは、サーバから任意のクライアントへの接続データを記憶するように変更される。この変更は、ＴＣＰ接続に基づいて接続データを記憶するようにサーバのカーネルを変更することにより実施することができる。一実施形態では、カーネルは、接続毎の再送バイト、ＳＹＮパケットの往復時間、送信された合計バイト数、および接続毎の合計スループットを含むすべてのＴＣＰ接続フローを記録するように変更される。
【００２２】
本明細書において使用される「接続データ」は、ネットワーク接続に使用される任意の測定、測定基準、またはデータを指す。接続データのいくつかの例としては、送信元ＩＰアドレス、送信元ポート、宛先ＩＰアドレス、宛先ポート、送信データ、再送データ、受信データ、受信された重複データ、最大輻輳ウィンドウ、ＳＹＮ往復時間、平滑化往復時間（ｓｍｏｏｔｈ  ｒｏｕｎｄ−ｔｒｉｐ  ｔｉｍｅ）、およびネットワーク接続の他の任意のデータまたは測定が挙げられるが、これらに限定されない。接続データは、任意の形式で記憶し得る。一実施形態では、接続データは、送信元ＩＰアドレス、送信元ポート、宛先ＩＰアドレス、宛先ポート、送信データ、再送データ、受信データ、受信された重複データ、最大輻輳ウィンドウ、ＳＹＮ往復時間、および平滑化往復時間の形式で記憶される。再送データは、サーバからのデータ再送の発生を示す。受信された重複データは、クライアントからのデータ再送の発生を示す。
【００２３】
接続データは、より多くの情報を記憶することにより機能性を追加することもできる。例えば、接続データは、接続が行われた時により粒度の細かい応答時間を記憶することもできる。一実施形態では、往復時間のみを記憶するのではなく、サーバが完全な要求を送信するためにかかった時間、サーバが、クライアント要求の受信後に確認応答を送信するためにかかった時間、およびクライアントが要求を送信するためにかかった時間も記憶される。これらのより粒度の細かい時間により、データがサーバを出た後のデータ送信のスループットまたは速度を特定する際の精度を高くすることができる。
【００２４】
ＳＹＮ往復時間は、ＳＹＮパケットが送信されてから、確認応答を受信するまでにかかる時間である。平滑化往復時間は、パケットが近隣に送信されてから確認応答を受信するまでにかかる時間である。平滑化往復時間は、特定の近隣への経路に沿った１つまたは複数のリンクの速度を示す。かかる時間は、ミリ秒等の任意の時間間隔で測定し得る。
【００２５】
一実施形態では、接続データは、いかなる整形もせずに未処理のログまたはログファイルとして記憶される。一実施形態では、接続データは、収集サーバに定期的に送信されるまで、ある時間にわたってサーバに記憶される。別の実施形態では、接続データは、データがサーバに記録されている際、収集サーバに絶え間なく送信される。
【００２６】
一実施形態では、収集サーバは、各サーバから接続データを受信する。収集サーバは、各サーバからのデータを集計し、サーバが配置されたデータセンタに基づいて、次にクライアントの位置を示すクラスタにより、サーバからの接続データをソートする。クラスタリングは、クライアントの地理的対応付け、自律システム番号、または可変長のＩＰアドレスプリフィックスに基づき得る。
【００２７】
地理的対応付けによるクラスタリング
クライアントの地理的対応付けは、地理位置特定を通して行うことができる。本明細書において使用される地理位置特定は、インターネットに接続されたコンピュータまたは装置の現実世界の地理的位置の特定を指す。地理位置特定は、地理的位置にＩＰアドレス、ＭＡＣアドレス、Ｗｉ−Ｆｉ接続位置、ＧＰＳ座標、または他の任意の特定情報を関連付けることにより実行し得る。一実施形態では、特定のＩＰアドレスが記録される場合、その特定のＩＰアドレスの所有者として列挙される組織または物理的住所が見つけられ、次に、その位置から特定のＩＰアドレスへの対応付けが行われる。例えば、サーバは、宛先ＩＰアドレス１．２．３．４を記録した。このＩＰアドレスを問い合わせて、そのアドレスが、サンフランシスコ内に本部を有するＡＣＭＥ  Ｃｏｍｐａｎｙにより所有されているＩＰアドレスブロック内に含まれることを突きとめる。ＩＰアドレス１．２．３．４のクライアントがサンフランシスコ内に物理的に配置されていることの絶対的な確実性はないが（プロキシサーバが使用される場合があるため）、ＩＰアドレス１．２．３．４を使用して行われた大半の接続がサンフランシスコ内にある確率は高い。ネットワークゲートウェイおよびルータ位置の追跡等の他の方法を利用してもよい。
【００２８】
一実施形態では、収集サーバは、地理位置特定データアグリゲータからのクラスタに基づいて、ＩＰアドレスを地理的位置にマッピングする。ＩＰアドレス位置ならびに他の方法に基づいて物理的位置を特定する、カリフォルニア州Ｍｏｕｎｔａｉｎ  Ｖｉｅｗに配置されたＱｕｏｖａ等の多くの地理位置特定データアグリゲータがある。ＩＰアドレスの数は、物理的位置に基づいてグループにクラスタ化される。一実施形態では、物理的位置の粒度は変更し得る。例えば、クラスタが市または州で地理位置特定される場合があり得る。別の例では、クラスタは、米国北東部等の領域で地理位置特定され得る。別の例では、クラスタは国で地理位置特定され得る。
【００２９】
自律システム番号およびＩＰアドレスプリフィックスによるクラスタリング
一実施形態では、集計データは、サーバのデータセンタおよび自律システム番号に基づくクラスタに基づいて収集サーバによりソートされる。自律システム番号は、自律システムに割り当てられる、ＢＧＰルーティングで使用される番号であり、データ送信に使用すべきルーティングを示す。
【００３０】
ボーダーゲートウェイプロトコル（「ＢＧＰ」）は、インターネットのコアルーティングプロトコルである。ＢＧＰは、ネットワークに到達する能力を示すＩＰネットワークまたは「プリフィックス」のルーティングテーブルを保持することにより機能する。ルーティングテーブル内の情報は、宛先ネットワークのＩＰアドレス、パケットを送信すべき経路を移動するために必要な時間、および「次のホップ」とも呼ばれる、パケットを宛先までの途中の過程で送信すべき次のステーションのアドレスを含み得るが、これらに限定されない。ＢＧＰは、利用可能な経路およびネットワークポリシーに基づいてルーティングを決定する。例えば、同じ宛先への利用可能な２つの経路がある場合、ルーティングは、パケットが最速で宛先に到達可能な経路を選択することにより決定し得る。これは、「最も近い」ルートを返す。
【００３１】
本明細書において使用される自律システムは、単一の明確に定義された外部ルーティングポリシーを有する１つまたは複数のネットワーク運営者により運営されるＩＰネットワーク群である。自律システムは、外部ルーティング情報を近隣の自律システム間で交換するために使用されると共に、自律システム自体の識別子として使用されるグローバルで一意の自律システム番号を有する。
【００３２】
別の実施形態では、集計データは、収集サーバにより、サーバのデータセンタおよび可変長のＩＰアドレスプリフィックスに基づくクラスタに基づいてソートされる。例えば、集計データは、１．２．３．ｘのＩＰアドレスプリフィックスに基づいてクラスタ化することができ、クラスタ化されるすべてのアイテムは、ＩＰアドレス「１．２．３」で始まり、０〜２５５の任意の番号が「ｘ」の場所を占める。これは、ＩＰ範囲の粒度を、可能な２５６個の組み合わせに制限する。別の例では、ＩＰアドレスプリフィックスの粒度は、１．２．ｙ．ｘ等のはるかに粗いものであり得る。この例では、「１．２」で始まるすべてのＩＰアドレスがクラスタに含まれ、「ｙ」に０〜２５５の値および「ｘ」に０〜２５５の値を有し、６５，５３６（２５６２）個の組み合わせがある。より多くの可能なＩＰアドレスをクラスタ化し得るが、粒度は低くなる。
【００３３】
記憶されたデータの解析
集計されソートされた接続データは、収集サーバに記憶され、次に、ネットワーク性能の解析に使用される。集計されソートされたデータは、特定のデータセンタに基づいてネットワーク性能を解析することができるような形式で記憶される。一実施形態では、特定のデータセンタ毎に、ＩＰアドレスの地理位置特定またはＢＧＰに基づく自律システム番号のクラスタが記憶される。データセンタおよびＩＰアドレスの地理位置特定が記憶される場合、そのデータセンタから特定の地理的位置へのネットワーク性能を特定することができる。例えば、データセンタ１からの再送率は、ニューヨーク市に対しては極めて高いが、米国の東海岸に沿った他のすべての市に対しては中程度である場合がある。この情報から、データがデータセンタ１からニューヨーク内のクライアントに送信される際のネットワーク問題が特定される。データプロバイダは、問題がある可能性があるニューヨークにサービス提供するインターネットサービスプロバイダと連絡をとってもよく、またはデータトラフィックをニューヨークに異なる様式でルーティングしてもよい。
【００３４】
別の実施形態では、再送率のみに頼るのではなく、他の要因がネットワーク性能の特定に考慮される。例えば、往復時間またはデータ待ち時間を、ネットワーク問題を特定する際に再送と共に考慮し得る。さらに別の実施形態では、再送率以外のデータが、ネットワーク問題の検出に考慮される唯一の要因である。例えば、ネットワーク問題は、データパケットの往復時間のみに基づいてもよい。
【００３５】
ＢＧＰからのデータセンタおよび自律システム番号が記憶される場合、特定のルーティング経路を辿るデータセンタからのネットワーク性能を特定することができる。例えば、特定の経路を辿るデータセンタ１からの再送率が極めて高い場合がある。データプロバイダは、それ以降は高い再送率を有するルーティングでデータを送信しないことを選択し、それに代えて、エラーの少ない別のルーティングを選択し得る。
【００３６】
一実施形態によるネットワーク性能データを収集し解析するために行われるステップの図を図２に示す。ステップ２０１において、サーバは、システム管理者またはプログラマにより、サーバからクライアントに対して行われた接続が記憶されるように変更される。接続データには、再送データパケットが含まれる。ステップ２０３において、各サーバは、記憶された接続データを収集サーバに送信する。収集サーバは、接続データを収集し、次に、すべてのサーバからの接続データを集計する。ステップ２０５に示すように、収集サーバは次に、サーバからの接続データをソートする。接続データは、サーバが配置されているデータセンタおよびクライアントの位置またはルーティングのクラスタに基づいてソートされる。位置は、物理的な現実世界の任意の位置であってよく、ルーティングは、自律システム番号により識別し得る。最後に、ステップ２０７において、収集サーバにおいてソートされ集計された接続データに基づき、再送データを指標として使用して、ネットワーク問題およびトラブルスポットを検出することができる。ネットワークの特定のエリアでの高い再送率は、問題がある可能性が高いことを示す。解析の結果、クライアントに対して行われるそれ以降の接続は、ネットワーク問題エリアを回避するために、異なるデータセンタから、または代替のルーティングを使用して行うことができる。
【００３７】
より正確なネットワーク性能データを有することにより、最も効率的にするには、データセンタをどこに配置または位置決めすべきかを判断することも可能になる。例えば、データは、所与の国内のコロケーション１およびコロケーション２から供給し得る。ネットワーク性能の測定を実行した後、ネットワーク性能データにより、コロケーション１およびコロケーション２が大半のユーザに対して高い再送率を有することが示される。別のコロケーションセットも、別の国または位置から同じユーザにサービス提供している場合がある。ネットワーク性能データにより、別の国または位置からのコロケーションセットの再送率がより低いことが示される場合、データセンタの位置をその他の国に、または新しいコロケーションに移すことができる。換言すれば、より正確なネットワーク性能データにより、再送または解析し得る他の任意のネットワーク性能測定基準の点で最良の性能を示すデータプロバイダを選択するために、より多くの情報に基づいて選択することが可能である。
【００３８】
ハードウェア概説
図３は、本発明の実施形態を実施し得るコンピュータシステム３００を示すブロック図である。コンピュータシステム３００は、バス３０２または情報を通信する他の通信機構と、バス３０２に結合され、情報を処理するプロセッサ３０４とを含む。コンピュータシステム３００は、バス３０２に結合され、情報およびプロセッサ３０４により実行される命令を記憶する、ランダムアクセスメモリ（ＲＡＭ）または他の動的記憶装置等のメインメモリ３０６も含む。メインメモリ３０６は、プロセッサ３０４により実行される命令の実行中に、一時変数および他の中間情報を記憶するために使用することもできる。コンピュータシステム３００は、バス３０２に結合され、静的な情報およびプロセッサ３０４の命令を記憶する読み取り専用メモリ（ＲＯＭ）３０８または他の静的記憶装置をさらに含む。磁気ディスクまたは光ディスク等の記憶装置３１０が提供され、バス３０２に結合され、情報および命令を記憶する。
【００３９】
コンピュータシステム３００は、バス３０２を介して、情報をコンピュータユーザに表示する陰極線管（ＣＲＴ）等のディスプレイ３１２に結合することができる。英数字キーおよび他のキーを含む入力装置３１４が、バス３０２に結合され、情報およびコマンド選択をプロセッサ３０４に伝える。別の種類のユーザ入力装置は、方向情報およびコマンド選択をプロセッサ３０４に伝え、ディスプレイ３１２上のカーソルの移動を制御する、マウス、トラックボール、またはカーソル方向キー等のカーソル制御装置３１６である。この入力装置は通常、２軸：第１の軸（例えば、ｘ）および第２の軸（例えば、ｙ）において２度の自由度を有し、それにより、装置は平面における位置を特定することが可能である。
【００４０】
本発明は、本明細書において説明する技法を実施するコンピュータシステム３００の使用に関する。本発明の一実施形態によれば、これらの技法は、プロセッサ３０４がメインメモリ３０６に含まれる１つまたは複数の命令の１つまたは複数のシーケンスを実行することに応答して、コンピュータシステム３００により実行される。そのような命令は、記憶装置３１０等の別の機械可読媒体からメインメモリ３０６に読み込むことができる。メインメモリ３０６に含まれる命令シーケンスの実行により、プロセッサ３０４は、本明細書において説明される処理ステップを実行する。代替の実施形態では、本発明を実施するソフトウェア命令に代えて、または本発明を実施するソフトウェア命令と併せて、ハードワイヤード回路を使用してもよい。したがって、本発明の実施形態は、ハードウェア回路とソフトウェアとのいかなる特定の組み合わせにも限定されない。
【００４１】
本明細書において使用される用語「機械可読媒体」は、機械を特定の様式で動作させるデータを提供する際に関わる任意の媒体を指す。コンピュータシステム３００を使用して実施される実施形態では、様々な機械可読媒体が、例えば、実行するために命令をプロセッサ３０４に提供する際に関わる。そのような媒体は、記憶媒体および伝送媒体を含むが、これらに限定されない多くの形態をとり得る。記憶媒体は、不揮発性媒体および揮発性媒体の両方を含む。不揮発性媒体は、例えば、記憶装置３１０等の光ディスクまたは磁気ディスクを含む。揮発性媒体は、メインメモリ３０６等のダイナミックメモリを含む。伝送媒体は、バス３０２を構成するワイヤを含む同軸ケーブル、銅線、および光ファイバを含む。伝送媒体は、電波データ通信および赤外線データ通信中に生成されるような音波または光波の形態をとることもできる。そのようなすべての媒体は、命令を機械に読み込む物理的な機構が媒体により運ばれる命令を検出できるように、明確でなければならない。
【００４２】
機械可読媒体の一般的な形態としては、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、または他の任意の磁気媒体、ＣＤ−ＲＯＭ、他の任意の光学媒体、パンチカード、紙テープ、パターンになった穴を有する他の任意の物理的な媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、他の任意のメモリチップまたはカートリッジ、後述するような搬送波、またはコンピュータが読み取り可能な他の任意の媒体が挙げられる。
【００４３】
様々な形態の機械可読媒体が、実行のために１つまたは複数の命令の１つまたは複数のシーケンスをプロセッサ３０４に搬送する際に関わり得る。例えば、命令は最初、遠隔コンピュータの磁気ディスクに保持され得る。遠隔コンピュータは、その命令をダイナミックメモリにロードし、モデムを使用して電話回線を介して送信することができる。コンピュータシステム３００にローカルなモデムが、電話回線上でそのデータを受信し、赤外線送信器を使用してデータを赤外線信号に変換することができる。赤外線検出器が、赤外線信号で搬送されたデータを受信し、適切な回路が、そのデータをバス３０２に配置することができる。バス３０２はデータをメインメモリ３０６に運び、メインメモリ３０６から、プロセッサ３０４は命令を検索して実行する。メインメモリ３０６により受信された命令は、任意的に、プロセッサ３０４により実行される前または実行された後に記憶装置３１０に記憶してもよい。
【００４４】
コンピュータシステム３００は、バス３０２に結合された通信インタフェース３１８も含む。通信インタフェース３１８は、ローカルネットワーク３２２に接続されたネットワークリンク３２０への２方向データ通信結合を提供する。例えば、通信インタフェース３１８は、対応する種類の電話回線へのデータ通信接続を提供するサービス総合デジタル網（ＩＳＤＮ）カードまたはモデムであり得る。別の例として、通信インタフェース３１８は、互換性のあるＬＡＮへのデータ通信接続を提供するローカルエリアネットワーク（ＬＡＮ）カードであってもよい。無線リンクを実施してもよい。そのような任意の実施態様では、通信インタフェース３１８は、様々な種類の情報を表すデジタルデータストリームを搬送する電気信号、電磁信号、または光信号を送受信する。
【００４５】
ネットワークリンク３２０は通常、１つまたは複数のネットワークを通してデータ通信を他のデータ装置に提供する。例えば、ネットワークリンク３２０は、ローカルネットワーク３２２を通しての接続をホストコンピュータ３２４またはインターネットサービスプロバイダ（ＩＳＰ）３２６により操作されるデータ機器に提供することができる。そして、ＩＳＰ３２６は、現在では一般に「インターネット」３２８と呼ばれる世界規模パケットデータ通信網を通してデータ通信サービスを提供する。ローカルネットワーク３２２およびインターネット３２８は両方とも、デジタルデータストリームを搬送する電気信号、電磁信号、または光信号を使用する。コンピュータシステム３００にデジタルデータを搬送すると共に、コンピュータシステム３００からデータを搬送する、様々なネットワークを通る信号、ネットワークリンク３２０上の信号、および通信インタフェース３１８を通る信号は、情報を運ぶ搬送波の例示的な形態である。
【００４６】
コンピュータシステム３００は、ネットワーク、ネットワークリンク３２０、および通信インタフェース３１８を通して、プログラムコードを含むメッセージを送信し、データを受信することができる。インターネットの例では、サーバ３３０は、インターネット３２８、ＩＳＰ３２６、ローカルネットワーク３２２、および通信インタフェース３１８を通してアプリケーションプログラムの要求されたコードを送信することができる。
【００４７】
受信されたコードは、受信時にプロセッサ３０４により実行されてもよく、かつ／または後で実行するために、記憶装置３１０もしくは他の不揮発性記憶装置に記憶されてもよい。このようにして、コンピュータシステム３００は、搬送波の形態でアプリケーションコードを得ることができる。上記明細書において、本発明の実施形態について、実施態様毎に変更され得る多くの特定の詳細を参照して説明した。したがって、本発明が何であるか、および出願人が本発明であるものとして何を意図するのかを唯一排他的に示すものは、あらゆる後の補正も含め、特許請求の範囲が示す特定の形態で、本願に示される一連の請求項である。そのような請求項内に含まれる用語について、本明細書において明示的に記載されるあらゆる定義により、特許請求の範囲内で使用されるそのような用語の意味が決定される。したがって、請求項内に明示的に記載されない限定、要素、特性、特徴、利点、または属性は、そのような請求項の範囲を決して限定しない。したがって、本明細書および図面は、限定の意味ではなく例示の意味で考えられるべきである。
【図１】
2011520168.tif 000003
【図２】
2011520168.tif 000004
【図３】
2011520168.tif 000005
【国際調査報告】
2011520168.tif 000006
2011520168.tif 000007