第1のデータセンタの第1のドメイン名システムDNSサーバにおいて、ローカルDNSリゾルバからの第1のDNSクエリを受信するステップであって、前記第1のDNSクエリは、クエリドメイン名に対応するネットワークアドレスを要求する、受信するステップと、前記ローカルDNSリゾルバを第2のデータセンタの1つまたは複数のリフレクタDNSサーバに反射することによって、前記第1のDNSサーバから、前記第1のDNSクエリに応答するステップであって、前記第1のデータセンタおよび第2のデータセンタの両方は前記クエリドメイン名に対応する、応答するステップと、前記1つまたは複数のリフレクタDNSサーバにおいて、1つまたは複数の追加のDNSクエリを受信するステップと、前記クエリドメイン名に対応する前記ネットワークアドレスを用いて、コレクタDNSサーバから、最終DNSクエリに応答するステップと、前記ローカルDNSリゾルバと、前記第2のデータセンタの前記1つまたは複数のリフレクタDNSサーバおよび前記コレクタDNSサーバとの間の通信に基づいて、前記ローカルDNSリゾルバと前記第2のデータセンタとの間の通信の1つまたは複数のネットワーク性能測定結果を判定するステップとを備えたことを特徴とする方法。前記ネットワークアドレスは、前記クエリドメイン名に対応する第3のデータセンタ内のサーバのインターネットプロトコルIPアドレスであることを特徴とする請求項1に記載の方法。前記1つまたは複数のネットワーク性能測定結果は、前記1つまたは複数のリフレクタDNSサーバのうちの第1のサーバにおいて受信される前記ローカルDNSリゾルバからの第1の要求と、前記リフレクタDNSサーバのうちの第2のサーバもしくは前記コレクタDNSサーバで受信される前記ローカルDNSリゾルバからの第2の要求との間で経過した時間量として判定された、前記第2のデータセンタと前記ローカルDNSリゾルバとの間の通信の往復時間を含むことを特徴とする請求項1に記載の方法。前記1つまたは複数のネットワーク性能測定結果は、前記ローカルDNSリゾルバによって識別される、前記第2のデータセンタと前記ローカルDNSリゾルバとの間の通信の往復時間を含むことを特徴とする請求項1に記載の方法。前記1つまたは複数のネットワーク性能測定結果は、前記第2のデータセンタと前記ローカルDNSリゾルバとの間のパケット損失率またはパケット損失パターンを含むことを特徴とする請求項1に記載の方法。前記1つまたは複数のネットワーク性能測定結果は、前記第2のデータセンタ内の1つまたは複数のDNSサーバから前記ローカルDNSリゾルバに送信されたパケットのパケット損失率、またはパケット損失パターンの第1の測定である第1の数と、前記ローカルDNSリゾルバから前記第2のデータセンタ内の前記1つまたは複数のDNSサーバに送信されたパケットのパケット損失率、またはパケット損失パターンの第2の測定である第2の数とを含むことを特徴とする請求項5に記載の方法。前記第1のDNSサーバから前記第1のDNSクエリに応答するステップは、前記第1のDNSサーバによって前記ローカルDNSリゾルバに返される応答を生成するステップを含み、前記応答は、前記1つまたは複数のリフレクタDNSサーバのうちの1つのネットワークアドレスと、前記最終DNSクエリに応答して含まれることになる前記クエリドメイン名に対応する前記ネットワークアドレスの両方を含むことを特徴とする請求項1に記載の方法。前記第1のDNSクエリに応答するステップは、前記クエリドメイン名に対応する前記ネットワークアドレスを組み込んだエイリアスを前記応答内に含めるステップを含み、1つまたは複数の追加のDNSクエリを受信するステップは、前記エイリアスを含む1つまたは複数の追加のDNSクエリを受信するステップを含み、前記方法は、前記コレクタDNSサーバにおいて、前記エイリアスから前記クエリドメイン名に対応する前記ネットワークアドレスを取得するステップをさらに備えたことを特徴とする請求項7に記載の方法。前記1つまたは複数のリフレクタDNSサーバおよび前記コレクタDNSサーバは、前記第2のデータセンタ内の同一コンピューティングデバイス上で実装され、前記コンピューティングデバイスは複数のネットワークインターフェースを有することを特徴とする請求項1に記載の方法。前記コレクタDNSサーバは、前記第2のデータセンタ内に含まれることを特徴とする請求項1に記載の方法。プロセッサと、複数の命令を記憶した1つまたは複数のコンピュータ可読媒体とを備え、前記プロセッサによる前記複数の命令の実行は、リフレクタドメイン名システムDNSサーバにおいて、ドメイン名に対応するネットワークアドレスの第1のDNS要求であって、ローカルDNSリゾルバから受信されている第1のDNS要求を受信し、前記ローカルDNSリゾルバに、前記ローカルDNSリゾルバをコレクタDNSサーバに反射する第1の応答を返し、前記コレクタDNSサーバにおいて、前記ドメイン名に対応する前記ネットワークアドレスの第2のDNS要求であって、前記ローカルDNSリゾルバから受信されている第2のDNS要求を受信し、前記ローカルDNSリゾルバに、前記ドメイン名に対応する前記ネットワークアドレスを含む第2の応答を返し、前記第1の要求、前記第2の要求、前記第1の応答、および前記第2の応答のうちの2つ以上に基づいて、前記ローカルDNSリゾルバと前記データセンタのと間の通信の1つまたは複数のネットワーク性能測定結果を判定することを前記プロセッサにさせることを特徴とするコンピューティングデバイス。前記リフレクタDNSサーバおよび前記コレクタDNSサーバの両方は、複数のネットワークインターフェースを有する同一コンピューティングデバイスに実装されることを特徴とする請求項11に記載のコンピューティングデバイス。前記第1のDNS要求および前記第2のDNS要求の両方は、第3のDNSサーバから前記ローカルDNSリゾルバによって取得されるエイリアスを含み、前記ドメイン名に対応する前記ネットワークアドレスである目標アドレスは、前記エイリアスに組み込まれることを特徴とする請求項11に記載のコンピューティングデバイス。前記リフレクタDNSサーバおよび前記コレクタDNSサーバの両方は、同一データセンタに含まれ、前記1つまたは複数のネットワーク性能測定結果は、前記第1の要求および前記第2の要求との間で経過した時間量として判定される、前記データセンタと前記ローカルDNSリゾルバとの間の通信の往復時間を含み、前記第1の要求および前記第2の要求は、前記ローカルDNSリゾルバからの2つの後続の要求であることを特徴とする請求項11に記載のコンピューティングデバイス。前記リフレクタDNSサーバおよび前記コレクタDNSサーバの両方は、同一データセンタ内に含まれ、前記1つまたは複数のネットワーク性能測定結果は、前記データセンタと前記ローカルDNSリゾルバとの間のパケット損失に関する情報を含むことを特徴とする請求項11に記載のコンピューティングデバイス。DNSリフレクションを使用したネットワーク性能の測定を本明細書で論じる。ドメイン名システムDNSクエリは、そのうちの1つがDNSクエリで要求されたネットワークアドレスを提供する、データセンタ内の複数の異なるDNSサーバに、そのクエリを反射することによって、解決される。ローカルDNSリゾルバとDNSクエリを解決するのに使用されるデータセンタ内の異なるDNSサーバの間の通信の1つまたは複数のネットワーク性能測定結果を、DNSクエリの解決中に判定する。これらのネットワーク性能測定結果は、ローカルDNSリゾルバとデータセンタとの間の通信遅延を示す往復時間、ならびに/または、ローカルDNSリゾルバとデータセンタとの間のパケット損失を含み得る。異なるDNSクエリについて判定されるネットワーク性能測定結果の記録を保持し、かつどのデータセンタがどのコンピューティングデバイスによってアクセスされることになるかを判断するために使用することができる。図1は、1つまたは複数の実施形態によるDNSリフレクションを使用したネットワーク性能の測定を実装する例示的システム100を示す。システム100は、ローカルDNSリゾルバ104と通信することができる1つまたは複数mのコンピューティングデバイス102を含む。ローカルDNSリゾルバ104は、ネットワーク108を介して1つまたは複数nのデータセンタ106と通信することができる。ネットワーク108は、インターネット、ローカルエリアネットワークLAN、公衆電話網、イントラネット、他の公衆のおよび/または所有権を主張できるネットワーク、それらの組合せなどを含む、様々な異なるネットワークとすることができる。コンピューティングデバイス102は、ローカルDNSリゾルバ104と直接に、あるいはネットワークたとえば、ネットワーク108に類似したネットワークを介して、通信することができる。各コンピューティングデバイス102は、様々な異なるタイプのデバイスとすることができる。たとえば、コンピューティングデバイス102は、デスクトップコンピュータ、移動局、エンターテイメント器具、表示デバイスに通信で結合されたセットトップボックス、テレビジョン、セルラもしくは他のワイヤレス電話、ゲーム機、自動車用コンピュータなどとすることができる。したがって、コンピューティングデバイス102は、かなりのメモリおよびプロセッサリソースを有する豊富なリソースのデバイスたとえば、パーソナルコンピュータ、ゲーム機などから、限られたメモリおよび/または処理リソースを有する低リソースのデバイスたとえば、従来型のセットトップボックス、携帯ゲーム機まで多岐にわたり得る。異なるコンピューティングデバイス102は、同一あるいは異なるタイプのコンピューティングデバイスとすることができる。各データセンタ106は、1つまたは複数のDNSサーバ110および1つまたは複数のオペレーションサーバ112を含む。オペレーションサーバ112は、1つまたは複数のサービスをコンピューティングデバイス102に提供するように動作する。たとえば、オペレーションサーバ112は、情報サービスたとえば、1つまたは複数のウェブページをホスティングする、ソーシャルネットワーキングサービス、電子メールサービス、メッセージングサービス、画像および/またはビデオ共有サービス、ファイルストレージサービス、ゲームまたは他のエンターテイメントサービスなどのうちの1つまたは複数を提供することができる。DNSサーバ110は、オペレーションサーバ112のアドレスをコンピューティングデバイス102に提供するように動作し、コンピューティングデバイス102がオペレーションサーバ112によって提供されるサービスにアクセスするおよびそれを使用することを可能にする。前述のコンピューティングデバイス102の論議と同様に、DNSサーバ110およびオペレーションサーバ112は、かなりのメモリおよびプロセッサリソースを有する豊富なリソースのデバイスから限定されたメモリおよび/または処理リソースを有する低リソースのデバイスに及ぶ、様々な異なるタイプのコンピューティングデバイスとすることができる。各データセンタ106は通常は、複数のサーバたとえば、約数十、数百、またはそれ以上のサーバを含む。データセンタ106は世界中の様々な場所に位置し得ることに留意されたい。データセンタ106はしばしば、異なるグループのユーザと地理的により近づけるために、世界中に物理的に置かれ得る。しかし、2つ以上のデータセンタ106が、互いに地理的にごく接近して位置付けられ場合もある。多様な地理的存在の利点は、任意の特定のエンドユーザにデータセンタの複数の選択肢を提供することであり、そして、正確に行われれば、エンドユーザは、エンドユーザによって最も良く認識される性能を生み出す最適なデータセンタからサービスされることになる。複数のデータセンタ106にわたるオペレーションサーバ112は、集合的に動作して1つまたは複数のサービスをコンピューティングデバイス102に提供する。異なるデータセンタ106内のオペレーションサーバ112は、重複データを記憶すること、および/または、協力して1つまたは複数のサービスをコンピューティングデバイス102に提供することができる。複数のデータセンタ106にわたるオペレーションサーバ112は集合的に動作し、各コンピューティングデバイス102は通常は1つのデータセンタ106のオペレーションサーバ112と通信する。本明細書で論じられるDNSリフレクションを使用してネットワーク性能を測定する技法を、特定のコンピューティングデバイス102について、どのデータセンタ106が特定のコンピューティングデバイス102によってアクセスされることになるかを識別するために使用することができる。本明細書で論じられるDNSリフレクションを使用してネットワーク性能を測定する技法は、DNSシステムを利用する。DNSシステムは、ネットワークアドレスインターネットプロトコルIPv4またはv6アドレスなどよりもユーザによって通常はより容易に使用および参照されるドメイン名URLUniformResourceLocatorなどを使用してサービスを識別することを可能にする。データセンタ106内のオペレーションサーバ112は、異なるネットワークアドレスを有するが、同一ドメイン名に対応する。同様に、集合的に動作して1つまたは複数のサービスをコンピューティングデバイス102に提供する複数のデータセンタ106は、同一ドメイン名に対応する。1つまたは複数のDNSサーバは、特定のオペレーションサーバにアクセスするためにコンピューティングデバイスによって使用可能な、対応するネットワークアドレスに特定のドメイン名をマップするように動作する。対応するネットワークアドレスへのドメイン名のこのマッピングは、DNS解決とも呼ばれる。本明細書の議論の多くはURLおよびIPアドレスを参照するが、他のドメイン名および/またはネットワークアドレスが本明細書で論じられるDNSリフレクションを使用してネットワーク性能を測定する技法とともに使用可能であることが理解されよう。加えて、本明細書で論じられるDNSシステムは、たとえば、1987年11月、ネットワーク作業グループコメント要求1035で論じられるような既知のDNSプロトコルにしたがったシステムを参照する。しかし、本明細書で論じられるDNSリフレクションを使用してネットワーク性能を測定する技法は、DNSプロトコルと同様に、ドメイン名を特定のネットワークアドレスにマップすることを可能にする、他のシステムとともに使用することができる。ローカルDNSリゾルバ104は、特定のURLのIPアドレスの要求であるコンピューティングデバイス102からのDNSクエリを受信する。ローカルDNSリゾルバ104は、これらのDNSクエリを1つまたは複数のDNSサーバ110に転送する。IPアドレスがDNSクエリに応答してリゾルバ104に返されると、IPアドレスを、DNSクエリを受信した元のコンピューティングデバイス102に返す。加えて、ローカルDNSリゾルバ104は、IPアドレスにURLをマップするキャッシュを任意選択で保持することができ、キャッシュに含まれるURLについてのDNSクエリに応答して、ローカルDNSリゾルバ104がURLのIPアドレスを返すことを可能にする。ローカルDNSリゾルバ104を、インターネットサービスプロバイダISPのサーバまたは他のデバイス内、コンピューティングデバイス102を含むローカルエリアネットワーク上のデバイス内など、様々な異なるデバイス内に実装することができる。単一のローカルDNSリゾルバ104を図1に示しているが、任意の数のローカルDNSリゾルバ104をシステム100に含むことができることを理解されたい。たとえば、オペレーションサーバ112が集合的に作動してインターネット検索エンジンを提供すると仮定する。このインターネット検索エンジンは、www.bing.comなどの単純なURLを使用し、容易に識別することができる。インターネット検索エンジンにアクセスするために、コンピューティングデバイス102が、URLwww.bing.comのIPアドレスを要求するローカルDNSリゾルバ104へのDNSクエリを提出する。ローカルDNSリゾルバ104は、次いで、URLwww.bing.comのIPアドレスを要求する1つまたは複数のDNSサーバ110へのDNSクエリを提出する。ローカルDNSリゾルバ104がDNSクエリを提出する先の特定のDNSサーバ110を、以下により詳細に論じる。最終的に、DNSサーバ110が、ローカルDNSリゾルバ104にURLwww.bing.comのIPアドレスを返す。このIPアドレスは、オペレーションサーバ112のうちの1つのアドレスであり、ローカルDNSリゾルバ104は、DNSクエリを受信した元のコンピューティングデバイス102にこのIPアドレスを返す。IPアドレスがローカルDNSリゾルバ104に返される特定のオペレーションサーバ112を、様々な異なる形で1つまたは複数のDNSサーバ110によって選択することができる。たとえば、特定のオペレーションサーバ112を、DNSクエリを提出したコンピューティングデバイス102とデータセンタ106との間の通信遅延が最も小さいデータセンタ106内のオペレーションサーバ112、DNSクエリを提出したコンピューティングデバイス102とデータセンタ106との間の失われたパケットの数が最も小さいデータセンタ106内のオペレーションサーバ112などとして選択することができる。コンピューティングデバイス102は続いて、DNSクエリに応答して受信したIPアドレスを使用し、インターネット検索エンジンにアクセスしてオペレーションサーバ112のうちの1つにアクセスすることができる。DNSサーバ110のうちの1つまたは複数は、IPアドレスへのローカルDNSリゾルバのマップを保持する。このマップは、ローカルDNSリゾルバ104からのDNSクエリに応答して返されることになるオペレーションサーバ112の特定のIPアドレスを指示する。このマップは通常はオペレーションサーバIPアドレスへのローカルDNSリゾルバのマッピングであるが、一方で、このマップはオペレーションサーバIPアドレスへのコンピューティングデバイス102のマッピングとすることができることに留意されたい。DNSサーバがDNSクエリを受信するが、別のDNSサーバにDNSクエリに応答してオペレーションサーバの特定のIPアドレスを返す責任を委譲するという状況が生じ得る。DNSリフレクションは、1つのDNSサーバがクエリを行うローカルDNSリゾルバが応答を受信したときにもう1つのDNS要求を第2の所望のDNSサーバに発行することになるという方法で委譲応答を制御するという、委譲の特定の使用を指す。システム100の動作中に、ローカルDNSリゾルバ104とデータセンタ106の1つまたは複数のDNSサーバ110との間の通信の1つまたは複数のネットワーク性能測定結果を判定する。これらのネットワーク性能測定結果を、以下にさらに詳しく論じるように、DNSクエリ内で提出されたURLのIPアドレスを返すプロセスの部分として、判定する。これらのネットワーク性能測定結果の記録を保持し、かつDNSサーバ110によって保持されるIPアドレスへのローカルDNSリゾルバのマップの更新の基礎として使用することができる。図2は、ローカルDNSリゾルバとデータセンタの間のネットワーク性能測定結果を1つまたは複数の実施形態にしたがって判定する例示的システム200を示す。システム200は、コンピューティングデバイス202、ローカルDNSリゾルバ204、トップレベルDNSサーバ206、リフレクタDNSサーバ208、およびコレクタDNSサーバ210を含む。コンピューティングデバイス202は、たとえば、図1のコンピューティングデバイス102とすることができる。ローカルDNSリゾルバ204は、たとえば、図1のローカルDNSリゾルバ104とすることができる。トップレベルDNSサーバ206、リフレクタDNSサーバ208、およびコレクタDNSサーバ210は、各々、たとえば、図1のDNSサーバ110とすることができる。リフレクタDNSサーバ208およびコレクタDNSサーバ210は、同一データセンタ212たとえば、図1の特定のデータセンタ106に含まれる。トップレベルDNSサーバ206を、リフレクタDNSサーバ208およびコレクタDNSサーバ210と同じデータセンタ内に、あるいは異なるデータセンタ内に含むことができる。コンピューティングデバイス202は、特定のURLのIPアドレスを要求するローカルDNSリゾルバ204へのDNSクエリ214を提出する。また、この特定のURLを、クエリURLまたはクエリドメイン名と呼ぶことができる。ローカルDNSリゾルバ204は、DNSクエリ214を受信し、DNSクエリ216としてのDNSクエリをトップレベルDNSサーバ206に提出する。トップレベルDNSサーバ206は、特定のURLの権限をもつネームサーバauthoritativenameserver、マスタネームサーバとも呼ばれるであり、ローカルDNSリゾルバのIPアドレスへのマッピング230を保持する。ローカルDNSリゾルバ204は、トップレベルDNSサーバ206からのIPアドレスの指示の受信、DNSシステムにしたがったたとえば、図1のネットワーク108などのネットワークを介してアクセスされる別のデバイスからのIPアドレスの取得など、様々な異なる形でトップレベルDNSサーバ206のIPアドレスを取得することができる。DNSクエリ216に応答して、トップレベルDNSサーバ206は、コンピューティングデバイス202に返されることになるデータセンタ内のオペレーションサーバのIPアドレスを判定する。トップレベルDNSサーバ206は、マップ230内のローカルDNSリゾルバ204を探索することによって、このIPアドレスを判定する。この探索は、ローカルDNSリゾルバ204のDNSクエリ216に含まれるIPアドレス、ローカルDNSリゾルバ204の名または他の識別子などに基づくことができる。マップ230は、コンピューティングデバイス202に返されることになるデータセンタ内のオペレーションサーバのIPアドレスである特定のIPアドレスへのローカルDNSリゾルバ204のマッピングを含む。トップレベルDNSサーバ206は、DNSクエリ216に応答して、ローカルDNSリゾルバ204に応答218を提供する。応答218は、リフレクタDNSサーバ208の識別子ならびにコレクタDNSサーバ210の識別子を含む。応答218は、トップレベルDNSサーバ206がDNS解決をリフレクタDNSサーバ208に委譲したというローカルDNSリゾルバ204への指示を含む。応答218はまたコンピューティングデバイス202に返されることになるオペレーションサーバのIPアドレスを含むが、このIPアドレスを、IPアドレスが応答218に含まれていることがローカルDNSリゾルバ204には分からないような形で、応答218に含めている。したがって、ローカルDNSリゾルバ204は、以下にさらに詳しく論じるように、リフレクタDNSサーバ208にIPアドレスを要求する。1つまたは複数の実施形態で、応答218は、エイリアスとも呼ばれるCNAMEを含む。CNAMEは、リフレクタDNSサーバ208およびコレクタDNSサーバ210のIPアドレスと、そしてまたマップ230に基づいて判定されるようにコンピューティングデバイス202に返されることになるデータセンタ内のオペレーションサーバのIPアドレスである目標IPアドレスを組み込む。サーバ208および210は、トップレベルDNSサーバ206が権限をもつネームサーバであるドメインの部分についてのネットワークアドレスへのローカルDNSリゾルバのマッピングを管理することができるので、リフレクタDNSサーバ208およびコレクタDNSサーバ210をまた、トップレベルDNSサーバ206のサブドメインサーバと呼ぶことができる。応答218はまた、リフレクタDNSサーバ208の名およびIPアドレスである、ローカルDNSリゾルバ204がDNSクエリ220を送信しようとする先のサーバを示すサブドメインサーバ名およびサブドメインIPアドレスを含む。たとえば、応答218は、rand.lax.reflector-collector-target.msrapollo.netのCNAMEを含み得る。CNAMEにおいて、reflectorはリフレクタDNSサーバ208のIPアドレスであり、collectorはコレクタDNSサーバ210のIPアドレスであり、そして、targetは目標IPアドレスである。さらに、応答218は、ns.reflector-collector-target.msrapollo.netのサーバ名またはNSを含み得る。このサーバ名は、リフレクタDNSサーバ208の名である。応答218はまた、reflectorのサーバアドレスまたはNS_ADDRESSを含み得る。このサーバアドレスは、リフレクタDNSサーバ208のIPアドレスである。ローカルDNSリゾルバ204は、応答218を受信し、DNS解決がリフレクタDNSサーバ208に委託されたと応答218内の指示に基づいて判断する。目標IPアドレスは応答218に組み込まれるが、ローカルDNSリゾルバ204は組み込まれた目標IPアドレスを解釈する仕方を知らない。したがって、応答218の受信に応えて、ローカルDNSリゾルバ204は、リフレクタDNSサーバ208にDNSクエリ220を提出し、特定のURLのIPアドレスを要求する。DNSクエリ220は、コンピューティングデバイス202に返されることになるオペレーションサーバのIPアドレスおよびまたコレクタDNSサーバ210の識別子を含み、両方ともたとえば、CNAMEに組み込まれ応答218でローカルDNSリゾルバ204によって受信されたものである。したがって、応答218に組み込まれているのがコンピューティングデバイス202に返されることになるオペレーションサーバのIPアドレスであっても、ローカルDNSリゾルバ204は組み込まれた目標IPアドレスの解釈の仕方を知らないので、ローカルDNSリゾルバ204はDNSクエリ220をリフレクタDNSサーバ208に提出する。1つまたは複数の実施形態で、応答218は、リフレクタDNSサーバ208の名およびIPアドレスを含み、DNSクエリ220が提出されようとする先のDNSサーバをローカルDNSリゾルバ204に知らせる。ローカルDNSリゾルバ204は、ネットワークアドレスがそのために要求されるドメイン名として応答218で受信されるCNAMEをDNSクエリ220内に含む。リフレクタDNSサーバ208は、DNSクエリ220を受信し、DNSクエリ220に応答して、リフレクタDNSサーバ208がDNS解決をコレクタDNSサーバ210に委託したという指示を含む応答222を生成する。これをまた、DNSクエリのコレクタDNSサーバ210への反射と呼ぶ。応答222はまた、前述のように、トップレベルDNSサーバ206によって判定され、応答218に含まれたコンピューティングデバイス202に返されることになるオペレーションサーバのIPアドレスを含む。1つまたは複数の実施形態で、応答222は、DNSクエリ220で受信されたCNAMEを含む。応答222はまた、コレクタDNSサーバ210の名およびIPアドレスである、ローカルDNSリゾルバ204がDNSクエリ224を送信しようとする先のサーバを指示するサブドメインサーバ名およびサブドメインIPアドレスを含む。ローカルDNSリゾルバ204は、応答222を受信し、DNS解決がコレクタDNSサーバ210に委託されたと応答222の指示に基づいて判断する。目標IPアドレスは応答222に組み込まれるが、ローカルDNSリゾルバ204は、組み込まれた目標IPアドレスの解釈の仕方を知らない。したがって、応答222の受信に応答して、ローカルDNSリゾルバ204は、DNSクエリ224をコレクタDNSサーバ210に提出して、特定のURLのIPアドレスを要求する。DNSクエリ224は、応答222でローカルDNSリゾルバ204によって受信されたたとえば、CNAMEに組み込まれた、コンピューティングデバイス202に返されることになるオペレーションサーバのIPアドレスを含む。したがって、応答222内に組み込まれたのが、コンピューティングデバイス202に返されることになるオペレーションサーバのIPアドレスであっても、ローカルDNSリゾルバ204は組み込まれた目標IPアドレスの解釈の仕方を知らないので、ローカルDNSリゾルバ204は、DNSクエリ224をコレクタDNSサーバ210に提出する。1つまたは複数の実施形態で、応答222は、コレクタDNSサーバ210の名およびIPアドレスを含み、DNSクエリ224が提出されることになる先のDNSサーバをローカルDNSリゾルバ204に知らせる。ローカルDNSリゾルバ204は、ネットワークアドレスがそのために要求されるドメイン名として応答222で受信されるCNAMEをDNSクエリ224内に含む。コレクタDNSサーバ210は、DNSクエリ224を受信し、DNSクエリ224に応答してコンピューティングデバイス202に返されることになるオペレーションサーバの前述のようにトップレベルDNSサーバ206によって判定され、応答218および応答222に含まれるIPアドレスを含む応答226を生成する。ローカルDNSリゾルバ204は、応答226を受信し、応答して、応答228を生成してコンピューティングデバイス202に送信する。応答228は、前述のようにトップレベルDNSサーバ206によって判定されたコンピューティングデバイス202に返されることになるオペレーションサーバのIPアドレスを含む。1つまたは複数の実施形態で、コレクタDNSサーバ210は、DNSクエリ224から、DNSクエリ224で受信されたCNAMEに組み込まれた、目標IPアドレスを取得する。コレクタDNSサーバ210は、マップ230に基づいて判定されるようなコンピューティングデバイス202に返されることになるデータセンタ内のオペレーションサーバのIPアドレスとしてローカルDNSリゾルバ204に目標IPアドレスを返す。加えて、ローカルDNSリゾルバ204およびデータセンタ212の間の通信の1つまたは複数のネットワーク性能測定結果を判定する。これらのネットワーク性能測定結果は、ローカルDNSリゾルバ204とデータセンタ212の間の往復時間RTT、ならびに/またはローカルDNSリゾルバ204とデータセンタ212の間のパケット損失測定結果とすることができる。ローカルDNSリゾルバとデータセンタ212の間の通信のネットワーク性能測定結果を、ローカルDNSリゾルバ204とサーバ208および210の間の通信に基づいて判定する。ローカルDNSリゾルバ204およびデータセンタ212の間の通信の往復時間を、コレクタDNSサーバ210によって、あるいは別のモジュールもしくはデバイスによって、判定することができる。この往復時間を、応答222のローカルDNSリゾルバ204への送信とコレクタDNSサーバ210によるDNSクエリ224の受信の間に経過した時間量として判定する。あるいは、この往復時間を、リフレクタDNSサーバ208によるDNSクエリ220の受信とコレクタDNSサーバ210によるDNSクエリ224の受信の間に経過した時間量など、他の形で判定することができる。ローカルDNSリゾルバ204とデータセンタ212の間の距離、ローカルDNSリゾルバ204とデータセンタ212の間のネットワーク内のデバイスの数および/もしくはタイプ、ローカルDNSリゾルバ204とデータセンタ212の間のネットワークの帯域幅、ローカルDNSリゾルバ204とデータセンタ212との間のネットワークのトラフィックもしくは輻輳の量など、様々な異なる要因がこの往復時間に影響を与え得ることが理解されよう。ローカルDNSリゾルバ204とデータセンタ212との間のパケット損失測定結果を、異なる形で判定することができる。ローカルDNSリゾルバ204とDNSサーバたとえば、サーバ206、208、および210との間の通信は、ネットワークたとえば、図1のネットワーク108を介してパケットで情報を通信することによって、運ばれる。ネットワークを介して送信される1つまたは複数のパケットが、それらの意図した宛先に到達せず、したがって、失われたパケットと呼ばれるという状況が生じ得る。1つまたは複数のパケットの損失を、異なる方式で識別することができる。1つまたは複数の実施形態で、リフレクタDNSサーバ208からローカルDNSリゾルバ204への応答222を含むパケットの損失を、識別することができる。ローカルDNSリゾルバ204は通常は、DNSクエリ220の送信の、タイムアウト期間としばしば呼ばれる、特定の時間内にDNSクエリ220への応答222を期待する。ローカルDNSリゾルバ204がこのタイムアウト期間内に応答222を受信しない場合、リゾルバ204がDNSクエリ220を再送する。したがって、リフレクタDNSサーバ208が同一DNSクエリ220を複数回受信した場合、サーバ208は、応答222がローカルDNSリゾルバ204によって受信されなかったと知る。リフレクタDNSサーバ208は、サーバ208が以前に受信した同一DNSクエリ220を受信するたびに、応答222を含むパケットが失われたと見なすことができる。加えて、異なるローカルDNSリゾルバは異なるタイムアウト期間を実装することができるが、これらのタイムアウト期間は通常は、0.5秒または1秒などの固定された時間量である。これらのタイムアウト期間は通常は、ローカルDNSリゾルバ204とデータセンタ212の間の往復時間よりもはるかに長い。したがって、タイムアウト期間は、往復時間と容易に区別することができる。リフレクタDNSサーバ208は、DNSクエリ220に応答222を送信しないことによってローカルDNSリゾルバ204によって使用されるタイムアウト期間を定めることができる。応答222を送信しなかったとき、ローカルDNSリゾルバ204は、ローカルDNSリゾルバ204によって使用されるタイムアウト期間が経過した後に、DNSクエリ220を再送することになる。リフレクタDNSサーバ208は、最初に送信されたDNSクエリ220と再送されたDNSクエリ220の間に経過する時間をローカルDNSリゾルバ204によって使用されるタイムアウト期間としてたとえば、最も近い2分の1秒単位の時間にして定めることができる。1つまたは複数の実施形態で、ローカルDNSリゾルバ204からコレクタDNSサーバ210へのDNSクエリ224を含むパケットの損失を識別することができる。コレクタDNSサーバ210は、応答222がリフレクタDNSサーバ208によって送信された後にDNSクエリ224を予期することを知っている。応答222の送信とDNSクエリ224の受信の間の時間量が閾値を超える場合、コレクタDNSサーバ210は、DNSクエリ224を含むパケットが失われたと見なすことができる。この閾値時間量は、前述のように判定され得る、ローカルDNSリゾルバ204によって使用されるタイムアウト期間に基づくことができる。応答222の送信とDNSクエリ224の受信との間の時間量がローカルDNSリゾルバ204によって使用されるタイムアウト期間を超える場合、コレクタDNSサーバ210は次いで、DNSクエリ224を含むパケットが失われたと見なすことができる。1つまたは複数の実施形態で、コレクタDNSサーバ210からローカルDNSリゾルバ204への応答226を含むパケットの損失を識別することができる。ローカルDNSリゾルバ204は通常は、DNSクエリ224の送信の、しばしばタイムアウト期間と呼ばれる、特定の時間量内にDNSクエリ224への応答226を期待する。このタイムアウト期間は、DNSクエリ220への応答222を期待しているローカルDNSリゾルバ204によって使用される同一タイムアウト期間、あるいは異なるタイムアウト期間とすることができる。ローカルDNSリゾルバ204がこのタイムアウト期間内に応答226を受信しなかった場合、リゾルバ204はDNSクエリ224を再送する。したがって、コレクタDNSサーバ210が同一DNSクエリ224を複数回受信した場合、サーバ210は、応答226がローカルDNSリゾルバ204によって受信されなかったと知る。コレクタDNSサーバ210は、サーバ210がそれが前に受信した同一DNSクエリ224を受信するたびに、応答226を含むパケットが失われたと見なすことができる。同様に、複数のパケットの損失を判定することができる。タイムアウト期間は、異なる失われたパケットにより異なる場合がある。たとえば、1秒の第1のタイムアウトは、第1のパケットが失われた後に、使用することができ、2秒の第2のタイムアウトは、その次のパケットが失われた場合に使用することができ、3秒の第3のタイムアウトは、その次のパケットが失われた場合に使用することができるなど。これらの異なるタイムアウト期間は、前述のように識別することができるたとえば、リフレクタDNSサーバ208は、ローカルDNSリゾルバ204から受信された最初の3つのDNSクエリ220に応答222を送信しないことによってローカルDNSリゾルバ204によって使用されるタイムアウト期間を定めることができる。あるいは、ローカルDNSリゾルバ204は、失われたパケットに関する情報を識別および保持するための機能を含み得る。このような状況で、ローカルDNSリゾルバ204はまた、呼び出されてたとえば、リフレクタDNSサーバ208および/またはコレクタDNSサーバ210によってローカルDNSリゾルバ204からの失われたパケットに関する情報を取得することができる、アプリケーションプログラミングインターフェースAPIなどのインターフェースを露出することができる。パケットの損失に関する様々な情報を保持する。パケットの損失に関するこの情報は、たとえば、パケット損失率、またはパケットが失われる頻度、パケット損失パターンたとえば、失われるパケットの数、失われる連続パケット、パケット損失の時刻、パケット損失の曜日などなどを含み得る。1つまたは複数のパケットの損失を、通常はリフレクタDNSサーバ208および/またはコレクタDNSサーバ210によって識別するが、一方で1つまたは複数のパケットの損失はデータセンタ212の別のモジュールもしくはデバイスによって識別することができる。1つまたは複数のパケットの損失の識別に加えて、このような損失が生じた方向もまた識別することができる。すなわち、データセンタ212からローカルDNSリゾルバ204に送信されたパケットの損失を、ローカルDNSリゾルバ204からデータセンタ212に送信されるパケットの損失とは別個に識別することができる。このような損失が生じた特定の方向でのパケットの損失に関する様々な情報を保持することができる。したがって、DNS解決プロセスの部分として、ローカルDNSリゾルバとデータセンタの間の通信のネットワーク性能測定結果を取得する。複数の異なるローカルDNSリゾルバの各々について、ネットワーク性能測定結果を、ローカルDNSリゾルバと複数の異なるデータセンタの間で取得することができる。これらの取得されたネットワーク性能測定結果の記録を保持する。この記録を、1つまたは複数のヒストグラムなどの異なる形で保持することができる。ローカルDNSリゾルバとデータセンタの間のネットワーク性能測定結果は、リゾルバからアドレスへのマップ230に記憶されるような、データセンタの特定のオペレーションサーバIPアドレスへの特定のローカルDNSリゾルバのマッピングを判定するために使用することができる。ローカルDNSリゾルバとデータセンタの間のネットワーク性能測定結果は、様々な異なる形でのデータセンタの特定のオペレーションサーバIPアドレスへの特定のローカルDNSリゾルバのマッピングを判定するために使用することができる。特定のローカルDNSリゾルバについて、ローカルDNSリゾルバと異なるデータセンタの間の取得されたネットワーク性能測定結果は、比較または他の方法で分析されてデータセンタを選択することができる。選択されたデータセンタ内のオペレーションサーバのIPアドレスは、マップ230に含まれる。たとえば、データセンタと特定のローカルDNSリゾルバとの間で最も短い往復時間測定が取得されたデータセンタを選択することができる。別の例として、データセンタと特定のローカルDNSリゾルバとの間の失われたパケットの最小数を取得したまたは、データセンタから特定のローカルDNSリゾルバに送信された失われたパケットの最小数を取得したデータセンタを選択することができる。あるいは、取得された往復時間測定結果および/またはパケット損失測定結果を、様々な他の技法またはプロセスとともにデータセンタを選択するために使用することができる。1つまたは複数の実施形態で、リゾルバからアドレスへのマップ230は、前述のようにネットワーク性能測定結果に基づいて経時的に更新可能な特定のローカルDNSリゾルバの初期のマッピングを含む。特定のローカルDNSリゾルバの初期のマッピングは、様々な異なる形で取得可能であり、地理的位置、他のローカルDNSリゾルバがマップされた先のデータセンタ、無作為抽出、他の基準またはルールなどの様々な異なる基準に基づくことができる。たとえば、トップレベルDNSサーバ206は、リゾルバ204のネットワークアドレス内のプレフィックスを分析すること、および、同一プレフィックスを有する別のローカルDNSリゾルバにマップされたリゾルバ204にオペレーションサーバアドレスをマップすることによって、ローカルDNSリゾルバ204の初期のマッピングを識別することができる。たとえば、ローカルDNSリゾルバ204がaaa.bbb.ccc.dddのネットワークアドレスを有し、マップ230内の別のローカルDNSリゾルバがaaa.bbb.ccc.eeeのネットワークアドレスを有する場合、次いでこれらの2つのローカルDNSリゾルバは、同一プレフィックスaaa.bbb.cccを有するネットワークアドレスを有し、トップレベルDNSサーバ206は、ネットワークアドレスaaa.bbb.ccc.eeeを有するローカルDNSリゾルバがマップされるのと同じオペレーションサーバアドレスにローカルDNSリゾルバ204をマップする。1つまたは複数の実施形態で、ローカルDNSリゾルバ204を、ローカルDNSリゾルバ204がトップレベルDNSサーバ206に提出する各DNSクエリに応答してリフレクタDNSサーバ208およびコレクタDNSサーバ210に反射することができる。あるいは、トップレベルDNSサーバ206は、ローカルDNSリゾルバ204を特定のDNSクエリについてのみサーバ208および210に反射することになると定めることができる。これらの特定のDNSクエリを、時間間隔に基づいて、DNSクエリが受信される頻度に基づいて、特定のローカルDNSリゾルバについて以前に反射されたDNSクエリの数に基づいてなど、様々な異なる形で識別することができる。たとえば、トップレベルDNSサーバ206は、各ローカルDNSリゾルバについて1時間当たりに1つのDNSクエリをサーバ208および210に反射することになるように定めることができる。別の例として、トップレベルDNSサーバ206は、閾値数のDNSクエリを反射するまで、ローカルDNSリゾルバからの各DNSクエリをサーバ208および210に反射することになるように定めることができ、次いでローカルDNSリゾルバについて1時間当たりに1つのDNSクエリをサーバ208および210に反射することになる。この閾値数は、固定数たとえば、50DNSクエリ、あるいは相対数たとえば、そのドメイン名に対応するデータセンタの数の2倍とすることができる。あるいは、他の技法を使用してデータセンタ212とローカルDNSリゾルバ204の間のネットワーク性能測定結果を取得することができ、本明細書で論じられるDNSリフレクションを使用してネットワーク性能を測定する技法を、このような他の技法が失敗したときにあるいは、このような他の技法を介して取得されたネットワーク性能測定結果を確認するために使用する。たとえば、データセンタ212内のデバイスリフレクタDNSサーバ208およびコレクタDNSサーバ210を含むデバイスなどは、従来のping要求を使用してデータセンタ212とローカルDNSリゾルバ204の間のネットワーク性能測定結果を取得することができる。ping要求を使用するときの往復時間および/または失われたパケットを、前述のものと同様の技法を使用して、識別することができる。本明細書で論じられるDNSリフレクションを使用してネットワーク性能を測定する技法は、ping要求を使用して取得されたネットワーク性能測定結果を確認するために使用することができる、または、ローカルDNSリゾルバ204がping要求に応答しない場合に使用することができる。別の例として、データセンタ212内のデバイスリフレクタDNSサーバ208およびコレクタDNSサーバ210を含むデバイスなどは、ローカルDNSリゾルバ204にDNSクエリを送信することによって、ネットワーク性能測定結果を取得することができる。このDNSクエリは、単純な.または.comなどの様々な異なるドメイン名を解決するための要求とすることができる。このようなDNSクエリを提出するときの往復時間および/または失われたパケットは、前述のものと同様の技法を使用して識別され得る。本明細書で論じられるDNSリフレクションを使用してネットワーク性能を測定する技法は、このようなDNSクエリを提出するときに取得されたネットワーク性能測定結果を確認するために使用することができる、または、ローカルDNSリゾルバ204がこのようなDNSクエリを提出するときに応答しなかった場合に使用することができる。加えて、ローカルDNSリゾルバ204を、1つまたは複数の特定のドメインのDNSクエリに応答してリフレクタDNSサーバ208およびコレクタDNSサーバ210に反射することができることに留意されたい。トップレベルDNSサーバ206がこれらの1つまたは複数の特定のドメインのうちの1つについてのDNSクエリを受信するとき、ローカルDNSリゾルバ204を、前述のように、サーバ208および210に反射する。しかし、トップレベルDNSサーバ206が異なるドメインについてのDNSクエリを受信するとき、サーバ206は、ローカルDNSリゾルバ204を反射することなしにマップ230から要求されたネットワークアドレスを返す。トップレベルDNSサーバ206に1つまたは複数の特定のドメインのみについてDNSクエリを反射させることは、様々な異なる使用のシナリオをサポートする。たとえば、コンピューティングデバイス202に返されることになるウェブページが、特定のファイルへのURLを組み込んでいる場合がある。この特定のファイルは、サイズは小さくてもよく、ウェブページの部分として表示される必要さえない。しかし、この特定のファイルへのURLは、DNSクエリが反射される1つまたは複数の特定のドメインのうちの1つである。したがって、ウェブページをコンピューティングデバイス202によって要求するとき、ウェブページのURLを解決し、ネットワークアドレスが、DNSクエリを反射することなしにトップレベルDNSサーバ206によって返される。ウェブページは次いで、コンピューティングデバイス202として検索および表示することが可能であり、この検索および表示の部分として、特定のファイルへの組み込まれたURLを識別する。しかしながら、この組み込まれたURLは、前述のようにリフレクタDNSサーバ208およびコレクタDNSサーバ210へのURLを含むDNSクエリを反射することによって解決される。図2の例では、1つのデータセンタ212を示す。しかしながら、複数のデータセンタが、前述のように特定のドメイン名に対応する。トップレベルDNSサーバ206は、ローカルDNSリゾルバが、時間間隔に基づいて、DNSクエリを特定のデータセンタに反射する頻度に基づいて、各データセンタに前に反射されたDNSクエリの数に基づいて、データセンタの地理的位置に基づいてなど、様々な異なる形で反射される先の特定のデータセンタを判断することができる。たとえば、トップレベルDNSサーバ206は、各ローカルDNSリゾルバについて1時間ごとに1つのDNSクエリを各データセンタに反射することになると判定することができる。別の例として、サーバ206が、DNSクエリを特定のデータセンタに反射することになると判定するたびに、データセンタの順序付きリストで識別される次のデータセンタがDNSクエリを、反射される先のデータセンタとして選択するように、トップレベルDNSサーバ206は、データセンタの順序付きリストを保持し、ラウンドロビン方式でデータセンタを識別することができる。さらに別の例として、トップレベルDNSサーバ206は、特定のローカルDNSリゾルバがマップされた現在のデータセンタについて取得されたネットワーク性能測定結果が閾値を上回る場合、次いで、特定のローカルDNSリゾルバを、現在のデータセンタの地理的にごく近傍にないデータセンタに反射する必要がないと判断することができる。この閾値は、固定値たとえば、0.2秒未満の往復時間、または相対的値たとえば、マップ230内のその他のマッピングのオペレーションサーバアドレスについての往復時間の少なくとも70未満の往復時間とすることができる。データセンタの地理的近傍を、マイルでの直線距離、同市内に置かれたデータセンタ、同大陸内に置かれたデータセンタなど、異なる形で判定することができる。たとえば、特定のローカルDNSリゾルバがマップされた現在のデータセンタについて取得されたネットワーク性能測定結果が閾値を上回り、そして、現在のデータセンタが北米に置かれている場合、そのとき、特定のローカルDNSリゾルバを、ヨーロッパまたはオーストラリアのデータセンタに反射する必要はない。リフレクタDNSサーバ208およびコレクタDNSサーバ210は、2つの異なるIPアドレスを有し、ローカルDNSリゾルバ204によって2つの異なるサーバとして見られる。それでもなお、1つまたは複数の実施形態で、リフレクタDNSサーバ208およびコレクタDNSサーバ210を両方とも同一コンピューティングデバイスに実装したとえば、複数のネットワークインターフェースを有し、同一クロックを両方のサーバ208および210が使用することを可能にする。サーバ208および210の同一クロックの使用を可能にすることは、2つの異なるデバイスからのクロックを同期化する必要がないので、ネットワーク性能測定結果の取得を単純化する。あるいは、リフレクタDNSサーバ208およびコレクタDNSサーバ210を、2つの異なるコンピューティングデバイス上に、これらの2つの異なるコンピューティングデバイス上のクロックを互いに同期化しながら、実装することができる。本明細書に記載の技法を使用して取得されたネットワーク性能測定結果は、ローカルDNSリゾルバとデータセンタとの間のネットワーク性能測定結果であることに留意されたい。同様に、リゾルバからアドレスへのマップ230は、データセンタ内のオペレーションサーバのネットワークアドレスへのローカルDNSリゾルバのマッピングである。ローカルDNSリゾルバによって送信される特定のコンピューティングデバイスからのDNSクエリに基づいて取得されるネットワーク性能測定結果は、任意の追加のコンピューティングデバイスに対して使用可能であり、同一ローカルDNSリゾルバを使用することもできる。したがって、同一ローカルDNSリゾルバを使用する様々なコンピューティングデバイスが、同一ネットワークアドレスへとDNSクエリを解決させることになる。たとえば、コンピューティングデバイス202に加えて、複数の追加のコンピューティングデバイスが、ローカルDNSリゾルバ204を使用してDNSクエリを解決することができる。これらの複数の追加のコンピューティングデバイスの各々、ならびにコンピューティングデバイス202は、同一ネットワークアドレスへと同一DNSクエリを解決させる。前述の議論で、リゾルバからアドレスへのマップ230を、トップレベルDNSサーバ206によって保持するものとして論じている。あるいは、マップ230を、リフレクタDNSサーバ、コレクタDNSサーバ、または、様々なデータセンタ内の他のデバイスなど、他のデバイスによって保持することができる。マップ230を保持する方式に応じて、マップのコピーを、異なるデバイスにわたって同期化することができる。たとえば、様々なデータセンタ内のコレクタDNSサーバはマップ230を保持することができ、特定のコレクタDNSサーバによってマップ230に行われた各変更を、その他のコレクタDNSサーバに通信する。マップ230をトップレベルDNSサーバ206以外のデバイスによって保持する実施形態では、DNSクエリ216内で要求されているネットワークアドレスを、サーバ206によって判定せず、サーバ206が返す応答218に組み込まないことを理解されたい。そうではなくて、DNSクエリ216内で要求されているネットワークアドレスを、別のデバイスによって判定することになる。たとえば、マップ230を様々なデータセンタ内のコレクタDNSサーバによって保持する場合、次いで、コレクタDNSサーバ210はDNSクエリ216内で要求されているネットワークアドレスを判定し、それゆえにネットワークアドレスをDNSクエリ220および224に含まない。加えて、前述の議論では、DNSクエリを、1つのリフレクタDNSサーバおよび1つのコレクタDNSサーバに反射するものとして論じている。しかし、本明細書で論じられるDNSリフレクションを使用してネットワーク性能を測定する技法を、データセンタ内の複数の異なるDNSサーバにDNSクエリを反射するために使用することができる。たとえば、ローカルDNSリゾルバ204をコレクタDNSサーバ210に反射するのではなくて、ローカルDNSリゾルバ204を、データセンタ212内の複数の異なるリフレクタDNSサーバ208に反射することができる。これらの追加の反射についてのネットワーク性能測定結果を、測定結果の取得に関する前述の議論に類似して、取得することができる。さらに、本明細書で論じられるDNSリフレクションを使用してネットワーク性能を測定する技法を、複数の異なるデータセンタの複数の異なるリフレクタおよびコレクタDNSサーバにDNSクエリを反射するために使用することができることを理解されたい。たとえば、要求されたネットワークアドレスを返すのではなくて、コレクタDNSサーバ210は、ドメイン名に対応する追加のデータセンタのリフレクタDNSサーバにローカルDNSリゾルバ204からのDNSクエリを反射することができる。この追加のデータセンタについてのネットワーク性能測定結果を、前述のようにデータセンタ212について取得される測定結果と類似して、取得することができる。図2の議論で、リフレクタDNSサーバ208およびコレクタDNSサーバ210を、別個のDNSサーバとして論じる。ローカルDNSリゾルバ204を通常は、リゾルバ204がそのDNSサーバから応答を受信した後に、同一DNSサーバにDNSクエリを再送しないように構成する。したがって、2つの異なるDNSサーバ208および210を図2で使用する。ローカルDNSリゾルバ204は、リゾルバ204がDNSサーバから応答を受信した後に、同一DNSサーバへのDNSクエリの再送をサポートすることになり、その場合、リフレクタDNSサーバ208およびコレクタDNSサーバ210は同一DNSサーバとすることができる。図3は、1つまたは複数の実施形態によるDNSリフレクションを使用したネットワーク性能の測定を実装するデバイスの例示的プロセス300を示す流れ図である。プロセス300を、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せに実装することができる。プロセス300を、1組の動作として示すが、様々な動作の操作を実行するために示された順番に限定しない。プロセス300は、DNSリフレクションを使用したネットワーク性能の測定のための例示的プロセスであり、DNSリフレクションを使用したネットワーク性能の測定の追加の議論が異なる図面を参照して本明細書に含まれる。プロセス300で、トップレベルDNSサーバは、ドメイン名に対応するネットワークアドレスについてのDNSクエリを受信する動作302。このDNSクエリをローカルDNSリゾルバから受信し、ドメイン名を通常は、前述のようにURLとして識別する。要求されるネットワークアドレスは、前述のように、IPアドレスあるいは別のアドレスとすることができる。トップレベルDNSサーバは、別のサーバにローカルDNSリゾルバを反射してネットワークアドレスを取得するローカルDNSリゾルバに応答を返す動作304。この他のサーバは、トップレベルDNSサーバを含むデータセンタとは通常は但し、その必要はない異なるデータセンタであるデータセンタ内に含まれるリフレクタDNSサーバである。リフレクタDNSサーバが、ドメイン名に対応するネットワークアドレスのDNSクエリを受信する動作306。動作306のこのDNSクエリを、ローカルDNSリゾルバから受信し、動作306でこのDNSクエリを受信するリフレクタDNSサーバは、動作304でトップレベルDNSサーバが指示するリフレクタDNSサーバである。リフレクタDNSサーバは、さらに別のサーバにローカルDNSリゾルバを反射してネットワークアドレスを取得するローカルDNSリゾルバに応答を返す動作308。ローカルDNSリゾルバが反射される先のこの他のサーバは、リフレクタDNSサーバと同じデータセンタに含まれるコレクタDNSサーバである。あるいは、1つまたは複数のリフレクタDNSサーバは、リフレクタDNSサーバが最終的にローカルDNSリゾルバをコレクタDNSサーバに反射する前に、別のリフレクタDNSサーバにローカルDNSリゾルバを反射することができる。コレクタDNSサーバが、ドメイン名に対応するネットワークアドレスのDNSクエリを受信する動作310。動作310のこのDNSクエリをローカルDNSリゾルバから受信し、動作310でこのDNSクエリを受信するコレクタDNSサーバは、動作308でリフレクタDNSサーバにが指示するコレクタDNSサーバである。コレクタDNSサーバが、ローカルDNSリゾルバに、ドメイン名に対応する要求されたネットワークアドレスを含む応答を返す動作312。コレクタDNSサーバは、前述のように、コレクタDNSサーバによって受信されるDNSクエリに組み込まれたものとしてネットワークアドレスを識別すること、ネットワークアドレスの表または他の記録にアクセスすることによってなど、異なる形でネットワークアドレスを識別することができる。コレクタDNSサーバによって返される応答が実際にDNSリフレクションオペレーションを終了させるので、動作310で受信されるクエリを、最終DNSクエリとも呼び、動作312での応答の返信を、最終DNS応答とも呼ぶ。加えて、リフレクタDNSサーバおよびコレクタDNSサーバの両方でのローカルDNSリゾルバとの間の通信を、ネットワーク性能測定結果を判定するために使用する動作314。これらのネットワーク性能測定結果は、ローカルDNSリゾルバとリフレクタDNSサーバおよびコレクタDNSサーバの両方を含むデータセンタの間の通信のネットワーク性能の測定結果である。異なるネットワーク性能測定結果を、前述のように往復時間およびパケット損失情報など、動作314で識別することができる。したがって、本明細書で論じられるDNSリフレクションを使用してネットワーク性能を測定する技法は、DNSシステムを活用して、ローカルDNSリゾルバとデータセンタの間の実際の通信に基づくネットワーク性能測定結果を取得することが理解されよう。DNSクエリの別のサーバへの反射を、それらの正規のオペレーションの部分として標準的なローカルDNSリゾルバによってサポートし、それゆえに、本明細書で論じられるDNSリフレクションを使用してネットワーク性能を測定する技法をサポートするために、標準的な既存のローカルDNSリゾルバへの改変を行う必要はない。さらに、ローカルDNSリゾルバを、それらが他の点で応答するように構成するようになるのではない追加の要求ping要求などに応答するように構成する必要はない。さらに、本明細書で論じられるDNSリフレクションを使用してネットワーク性能を測定する技法を、DNS解決プロセスで使用する。データセンタのオペレーションサーバが保持するデータの要求および/または要求への応答は通常は、影響されない。言い換えれば、本明細書で論じられるDNSリフレクションを使用してネットワーク性能を測定する技法は、データセンタのオペレーションサーバから要求されるデータを取得する際にどのサーバをアクセスするかではなく、DNSクエリを解決するときにどのサーバをアクセスするかに影響を与える。図4は、1つまたは複数の実施形態によるDNSリフレクションを使用したネットワーク性能の測定を実装するように構成可能な例示的コンピューティングデバイス400を示す。コンピューティングデバイス400は、たとえば、図1のコンピューティングデバイス102もしくは図2のコンピューティングデバイス202とすることができ、または、図1のローカルDNSリゾルバ104、DNSサーバ110、およびオペレーションサーバ112のいずれか、もしくは、図2のリゾルバ204、トップレベルDNSサーバ206、リフレクタDNSサーバ208、およびコレクタDNSサーバ210のいずれかを実装するために使用可能である。コンピューティングデバイス400は、1つまたは複数のプロセッサまたは処理ユニット402、1つまたは複数のメモリおよび/またはストレージ構成要素406を含むことができる1つまたは複数のコンピュータ可読媒体404、1つまたは複数の入力/出力I/Oデバイス408、ならびに、様々な構成要素およびデバイスが互いに通信できるようにするバス410を含む。コンピュータ可読媒体404および/または1つもしくは複数のI/Oデバイス408を、コンピューティングデバイス400の部分として含むことができ、あるいはそれに結合することができる。バス410は、メモリバスもしくはメモリコントローラ、周辺バス、加速グラフィックポート、プロセッサもしくはローカルバス、および、様々な異なるバスアーキテクチャを使用するその他のものを含む、いくつかのタイプのバス構造体のうちの1つもしくは複数を表す。バス410は、ワイヤードおよび/またはワイヤレスバスを含むことができる。メモリ/ストレージ構成要素406は、1つまたは複数のコンピュータストレージ媒体を表す。構成要素406は、揮発性媒体ランダムアクセスメモリRAMなどおよび/または非揮発性媒体読取り専用メモリROM、フラッシュメモリ、光ディスク、磁気ディスクなどを含むことができる。構成要素406は、固定媒体たとえば、RAM、ROM、固定ハードドライブなどならびに取外し可能な媒体たとえば、フラッシュメモリドライブ、取外し可能なハードドライブ、光ディスクなどを含むことができる。本明細書で論じる技法を、1つまたは複数の処理ユニット402によって実行される命令を有する、ソフトウェアで実装することができる。異なる命令が、処理ユニット402内、処理ユニット402の様々なキャッシュメモリ内、デバイス400図示せずの他のキャッシュメモリ内、他のコンピュータ可読媒体内など、コンピューティングデバイス400の異なる構成要素内に記憶可能であることを理解されたい。加えて、命令がコンピューティングデバイス400内で記憶される場所は経時的に変化し得ることを理解されたい。1つまたは複数の入力/出力デバイス408は、ユーザがコンピューティングデバイス400にコマンドおよび情報を入力できるようにし、そしてまた情報がユーザおよび/または他の構成要素もしくはデバイスに提示されることを可能にする。入力デバイスの例は、キーボード、カーソル制御デバイスたとえば、マウス、マイクロフォン、スキャナなどを含む。出力デバイスの例は、表示デバイスたとえば、モニタもしくはプロジェクタ、スピーカ、プリンタ、ネットワークカードなどを含む。様々な技法を、ソフトウェアもしくはプログラムモジュールの一般的状況において本明細書で説明することができる。一般に、ソフトウェアは、特定のタスクを実行するまたは特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造体などを含む。これらのモジュールおよび技法の実装を、ある種の形態のコンピュータ可読媒体に記憶することができ、またはそれらを介して送信することができる。コンピュータ可読媒体は、コンピューティングデバイスによってアクセス可能な任意の利用可能な媒体とすることができる。例として、そして限定ではなく、コンピュータ可読媒体は、コンピュータストレージ媒体および通信媒体を含むことができる。コンピュータストレージ媒体は、コンピュータ可読命令、データ構造体、プログラムモジュール、または他のデータなどの情報の記憶のための任意の方法または技術で実装される揮発性および非揮発性、取外し可能なおよび取外し不可能な媒体を含む。コンピュータストレージ媒体を、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタル多用途ディスクDVDもしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または、所望の情報を記憶するために使用することができる、そしてコンピュータによってアクセス可能な、任意の他の媒体を含むが、これらに限定しない。通信媒体は通常は、搬送波もしくは他の移送機構などの変調されたデータ信号でコンピュータ可読命令、データ構造体、プログラムモジュール、または、他のデータを具現化する。通信媒体はまた、任意の情報配信媒体を含む。変調されたデータ信号という用語は、信号内の情報をコード化するような方式でその特徴のうちの1つまたは複数をセットまたは変更される信号を意味する。例として、限定ではなく、通信媒体は、ワイヤードネットワークまたはダイレクトワイヤード接続などのワイヤード媒体と、音響、RF、赤外線、および他のワイヤレス媒体などのワイヤレス媒体とを含む。前述のいずれかの組合せもまた、コンピュータ可読媒体の範囲に含まれる。概して、本明細書に記載の機能または技法のいずれも、ソフトウェア、ファームウェア、ハードウェアたとえば、固定論理回路、マニュアル処理、またはこれらの実装の組合せを使用し、実装することができる。本明細書で使用されるモジュールおよび構成要素という用語は概して、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せを表す。ソフトウェア実装の場合、モジュールまたは構成要素は、プロセッサたとえば、1つまたは複数のCPUで実行されるときに指定されたタスクを実行するプログラムコードを表す。プログラムコードを、そのさらなる説明を図4を参照して見ることができる1つまたは複数のコンピュータ可読メモリデバイスに記憶することができる。本明細書に記載のDNSリフレクションを使用してネットワーク性能を測定する技法の特徴は、プラットフォームに依存しないことであり、その技法が様々なプロセッサを有する様々な商用計算プラットフォームに実装可能であることを意味する。本主題を構造的特徴および/または方法論的動作に特有の言語で説明するが、添付の特許請求の範囲で定義される主題は前述の特定の特徴または動作に必ずしも限定しないことを理解されたい。そうではなくて、前述の特定の特徴および動作を、本特許請求の範囲を実装する例示的形態として開示する。