(57)【要約】  複数の配信サーバを有するコンテンツ配信ネットワーク（ＣＤＮ）における、コンピュータにより実装される方法。当該ＣＤＮは、少なくとも１つのコンテンツプロバイダに代わってコンテンツを配信する。複数の別個の配信サーバが、複数の配信サーバグループに論理的にグループ分けされる。１つまたは複数のＣＤＮネームサーバが、当該複数の配信サーバグループのうちの幾つかに関連付けられる。当該複数の配信サーバグループのうちの少なくとも幾つかに関連付けられた当該ＣＤＮネームサーバにより決定されるネットワークデータを用いて、ネットワークマップデータが決定される。あるリゾルバに関連するＣＤＮネームサーバに関するネットワークデータは、当該リゾルバからの当該ＣＤＮネームサーバの人気、の予測に基づいたものである。クライアントの要求に応答して、コンテンツプロバイダに関連付けられたホストネームを含め、少なくとも１つのＣＤＮネームサーバが、ネットワークマップデータを用いて、当該クライアントの要求を処理する少なくとも１つの配信サーバを決定する。
2019517196.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツ配信ネットワーク（ＣＤＮ）における、コンピュータにより実装される方法であって、前記ＣＤＮは、複数の配信サーバを含み、前記ＣＤＮは、少なくとも１つのコンテンツプロバイダに代わってコンテンツを配信し、前記コンピュータにより実装される方法は、
（Ａ）前記複数の配信サーバのうちの別個の配信サーバを配信サーバグループに論理的にグループ分けし、かつ、１つまたは複数のＣＤＮネームサーバを前記配信サーバグループのうちの少なくとも幾つかに関連付ける段階と、
（Ｂ）前記配信サーバグループのうちの少なくとも幾つかに関連付けられた前記１つまたは複数のＣＤＮネームサーバのうちの少なくとも幾つかにより決定されたネットワークデータを用いて、ネットワークマップデータを決定する段階であって、特定のリゾルバに関連する前記１つまたは複数のＣＤＮネームサーバのうちの特定のＣＤＮネームサーバに関する前記ネットワークデータは、前記特定のリゾルバからの前記特定のＣＤＮネームサーバの人気、の予測に基づいたものであり、前記人気の予測は、前記特定のＣＤＮネームサーバにより決定される、決定する段階と、
（Ｃ）コンテンツプロバイダに関連付けられたホストネームを含むクライアントの要求に応答して、少なくとも１つのＣＤＮネームサーバが、前記クライアントの要求を処理する少なくとも１つの配信サーバを決定する段階であって、前記ネットワークマップデータを使用する、決定する段階と、
（Ｄ）前記クライアントの要求を処理するための前記少なくとも１つの配信サーバに関する情報を前記クライアントに提供する段階と
を備える、コンピュータにより実装される方法。
【請求項２】
（Ｅ）前記ネットワークデータの変化に基づいて前記ネットワークマップを更新する段階
を更に備える、請求項１に記載のコンピュータにより実装される方法。
【請求項３】
前記ネットワークデータはまた、前記ＣＤＮの周りに配置された監視エージェントから生成される、請求項１または２に記載のコンピュータにより実装される方法。
【請求項４】
前記特定のリゾルバは、前記１つまたは複数のＣＤＮネームサーバから前記特定のリゾルバへの不要なインバウンド接続を防止するファイアウォールにより、前記１つまたは複数のＣＤＮネームサーバから隔離される、請求項１から３の何れか一項に記載のコンピュータにより実装される方法。
【請求項５】
前記特定のリゾルバからの前記特定のＣＤＮネームサーバの前記人気、の予測は、コンテンツプロバイダに関連付けられた特定のホストネームを解決しようとする、前記特定のリゾルバによる１つまたは複数の試みに基づいて行われる、請求項１から４の何れか一項に記載のコンピュータにより実装される方法。
【請求項６】
前記特定のＣＤＮネームサーバの前記人気の予測は、前記特定のホストネームのドメインネームシステム（ＤＮＳ）記録内の前記特定のホストネームに関連付けられた有効生存期間（ＴＴＬ）値に基づいて、前記特定のＣＤＮネームサーバにより決定される、請求項５に記載のコンピュータにより実装される方法。
【請求項７】
前記特定のＣＤＮネームサーバは、前記特定のＣＤＮネームサーバが前記特定のリゾルバから受信する名前解決要求の数に基づいて、ＴＴＬに応じて、前記特定のＣＤＮネームサーバの人気の予測を決定する、請求項１から６の何れか一項に記載のコンピュータにより実装される方法。
【請求項８】
（Ａ）において前記別個の配信サーバを前記グループ分けすることは、前記配信サーバの物理的位置に基づいて行われる、請求項１から７の何れか一項に記載のコンピュータにより実装される方法。
【請求項９】
（Ａ）において前記１つまたは複数のＣＤＮネームサーバを前記関連付けることは、前記配信サーバの前記物理的位置に基づいて行われる、請求項８に記載のコンピュータにより実装される方法。
【請求項１０】
前記１つまたは複数のＣＤＮネームサーバは、物理的に同じ位置に配置された、対応する複数の配信サーバと同じ位置に配置される、請求項１から９の何れか一項に記載のコンピュータにより実装される方法。
【請求項１１】
前記物理的に同じ位置に配置された複数の配信サーバは、クラスタを含む、請求項１０に記載のコンピュータにより実装される方法。
【請求項１２】
前記クライアントの要求は、所与のリゾルバを介して行われ、前記少なくとも１つのＣＤＮネームサーバが、自身が前記所与のリゾルバに人気があると判断した場合に、前記少なくとも１つのＣＤＮネームサーバは、同じ位置に配置された複数の配信サーバのクラスタに関する情報を前記クライアントに提供する、請求項１から１１の何れか一項に記載のコンピュータにより実装される方法。
【請求項１３】
コンテンツ配信ネットワーク（ＣＤＮ）における、コンピュータにより実装される方法であって、前記ＣＤＮは、複数の配信サーバを含み、前記ＣＤＮは、少なくとも１つのコンテンツプロバイダに代わってコンテンツを配信し、前記コンピュータにより実装される方法は、
（Ａ）前記複数の配信サーバのうちの別個の配信サーバを配信サーバグループに論理的にグループ分けし、かつ、１つまたは複数のＣＤＮネームサーバを前記配信サーバグループのうちの少なくとも幾つかに関連付ける段階と、
（Ｂ）前記配信サーバグループのうちの少なくとも幾つかに関連付けられた前記１つまたは複数のＣＤＮネームサーバのうちの少なくとも幾つかにより決定されたネットワークデータを用いて、ネットワークマップデータを決定する段階であって、特定のリゾルバに関連する前記１つまたは複数のＣＤＮネームサーバのうちの特定のＣＤＮネームサーバに関する前記ネットワークデータは、前記特定のＣＤＮネームサーバと前記特定のリゾルバとの間のラウンドトリップタイム予測に基づいたものであり、前記ラウンドトリップタイム予測は、前記特定のリゾルバからの、第１の名前解決要求に対するカスタマイズされたＣＮＡＭＥ応答を用いて、前記特定のＣＤＮネームサーバにより決定される、決定する段階と、
（Ｃ）コンテンツプロバイダに関連付けられたホストネームを含むクライアントの要求に応答して、少なくとも１つのＣＤＮネームサーバが、前記クライアントの要求を処理する少なくとも１つの配信サーバを決定する段階であって、前記ネットワークマップデータを使用する、決定する段階と、
（Ｄ）前記クライアントの要求を処理する前記少なくとも１つの配信サーバに関する情報を前記クライアントに提供する段階と
を備える、コンピュータにより実装される方法。
【請求項１４】
前記特定のリゾルバは、前記１つまたは複数のＣＤＮネームサーバから前記特定のリゾルバへの不要なインバウンド接続を防止するファイアウォールにより、前記１つまたは複数のＣＤＮネームサーバから隔離される、請求項１３に記載の方法。
【請求項１５】
前記カスタマイズされたＣＮＡＭＥ応答は、前記特定のＣＤＮネームサーバにより生成される、請求項１３または１４に記載の方法。
【請求項１６】
（ｉ）前記特定のＣＤＮネームサーバにおいて受信された前記第１の名前解決要求に応答して、前記特定のＣＤＮネームサーバは、前記特定のリゾルバに前記カスタマイズされたＣＮＡＭＥ応答を提供し、かつ、前記特定のリゾルバに、前記１つまたは複数のＣＤＮネームサーバのうちの１つに対する第２の名前解決要求を行わせ、前記ラウンドトリップタイム予測は、前記特定のＣＤＮネームサーバが前記カスタマイズされたＣＮＡＭＥ応答を前記特定のリゾルバに提供するアウトバウンド時間と、前記第２の名前解決要求が前記１つまたは複数のＣＤＮネームサーバのうちの１つにより受信されるインバウンド時間とに基づいて決定される、請求項１３から１５の何れか一項に記載の方法。
【請求項１７】
前記第２の名前解決要求を受信する前記１つまたは複数のＣＤＮネームサーバのうちの前記１つは、前記特定のＣＤＮネームサーバである、請求項１６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
この特許協力条約（ＰＣＴ）特許出願は、２０１６年５月１９日に出願された「ＮＥＴＷＯＲＫ  ＭＡＰＰＩＮＧ  ＩＮ  ＣＯＮＴＥＮＴ  ＤＥＬＩＶＥＲＹ  ＮＥＴＷＯＲＫ」と題する米国特許出願第１５／１５８，８７７号に基づく優先権に関するもの、および、当該優先権を主張するものであり、その内容全体が、あらゆる目的のために参照によって本明細書に組み込まれる。
【０００２】
［著作権声明］
本特許文献は、著作権保護の対象となる資料を含む。著作権所有者は、本特許文献または米国特許商標局のファイル内のいかなる関連資料の複製に対しても異議を唱えるわけではないが、その他の点では、いかなる理由があろうとも全ての著作権を保有している。
【０００３】
本発明は、コンテンツ配信およびコンテンツ配信ネットワークに関する。より具体的には、本発明は、コンテンツ配信ネットワークにおけるデバイス接続性およびネットワークマッピングを決定することに関する。
【図面の簡単な説明】
【０００４】
添付図面を参照して以下の説明および添付請求項を考慮すれば、本発明の目的、特徴および特性、並びに、関連する構造要素の動作および機能の方法と、製造時の部品の組み合わせおよび経済性とがより明らかになるであろう。これらの添付図面は全て、本明細書の一部を形成する。
【０００５】
【図１】本明細書の例示的な実施形態に係るコンテンツ配信ネットワーク（ＣＤＮ）の態様を示している。
【図２】本明細書の例示的な実施形態に係るコンテンツ配信ネットワーク（ＣＤＮ）の態様を示している。
【図３】本明細書の例示的な実施形態に係るコンテンツ配信ネットワーク（ＣＤＮ）の態様を示している。
【０００６】
【図４】本明細書の例示的な実施形態に係るコンピューティングの態様を示している。
【発明を実施するための形態】
【０００７】
［用語］
本明細書で使用しているように、以下の用語または略語は、別の方法で使用されない限り、以下の意味を持つ。
【０００８】
ＣＤＮはコンテンツ配信ネットワークを意味する。
【０００９】
ＣＮＡＭＥは正規名を意味する。
【００１０】
ＤＮＳはドメインネームシステムを意味する。
【００１１】
ＨＴＴＰはハイパーテキスト転送プロトコルを意味する。
【００１２】
ＨＴＴＰはＨＴＴＰセキュアを意味する。
【００１３】
ＩＰはインターネットプロトコルを意味する。
【００１４】
ＩＰｖ４はインターネットプロトコルバージョン４を意味する。
【００１５】
ＩＰｖ６はインターネットプロトコルバージョン６を意味する。
【００１６】
ＩＰアドレスは、ＩＰｖ４およびＩＰｖ６の両方を含むインターネットプロトコルにおいてサーバなどのような電子デバイスを特定するのに使用されるアドレスを意味する。
【００１７】
ＴＴＬは有効生存期間を意味する。
【００１８】
ＵＲＩはユニフォームリソース識別子を意味する。
【００１９】
ＵＲＬはユニフォームリソースロケータを意味する。
【００２０】
「機構」は、任意のデバイス、プロセス、ルーチン、サービス、モジュールまたはそれらの組み合わせを指す。機構は、特定用途向けデバイスを用いてハードウェア、ソフトウェア、ファームウェアで実装されてもよいし、それらの任意の組み合わせで実装されてもよい。機構は単一のデバイスに統合されてもよいし、複数のデバイスに分散されてもよい。ある機構の様々なコンポーネントが同じ位置に配置されてもよいし、分散されてもよい。この機構は、他の複数の機構から形成されてよい。従って、本明細書で使用しているように、「機構」という用語は一般的に、デバイスおよび／またはプロセスおよび／またはサービスという用語の省略表現と見なされてよい。
【００２１】
［説明］
コンテンツ配信ネットワーク（ＣＤＮ）が、１つまたは複数のコンテンツプロバイダに代わって、好ましくは公衆インターネットを介してコンテンツ（例えば、リソース）をクライアントに効率的に配信する。コンテンツプロバイダが、オリジンソース（オリジンサーバまたはオリジン）を介してコンテンツ（例えば、リソース）を提供する。ＣＤＮが、反対方向に、すなわち、クライアントからオリジンサーバへとコンテンツを効率的に送信するためのオーバー・ザ・トップ搬送機構を提供することもできる。エンドユーザ（クライアント）およびコンテンツプロバイダの両方が、ＣＤＮを使用することで恩恵を受ける。ＣＤＮを用いることで、コンテンツプロバイダが、それ自体のサーバから負担を取り除く（ことにより、それ自体のサーバにかかる負荷を軽減する）ことができる。ＣＤＮのクライアントが、より少ない遅れでコンテンツを取得できることにより恩恵を受ける。
【００２２】
米国特許第８，０６０，６１３号および第８，８２５，８３０号に、例示的なＣＤＮに関する記述がある。
【００２３】
図１は、例示的なＣＤＮ１００の態様を示している。ここでは、１つまたは複数のコンテンツプロバイダ１０２が、１つまたは複数のオリジンソース１０４および／または配信サービス（サーバ）１０６を経由し、１つまたは複数のネットワーク１１０を介して、クライアント１０８にコンテンツを提供する。配信サービス（サーバ）１０６は、クライアントがそこからコンテンツを取得し得る配信ネットワークを形成してよい。配信サービス１０６は、論理的かつ／または物理的に階層的に編成されてよく、エッジキャッシュを含んでよい。ネットワーク１１０は、ローカルエリアネットワーク（ＬＡＮ）およびワイドエリアネットワーク（ＷＡＮ）などのＣＤＮのようなネットワークを含んでよく、通常はインターネットを備える。
【００２４】
コンテンツ（例えば、コンテンツプロバイダのプロパティに関連付けられたリソース）は、ＣＤＮ内の様々な位置で、例えば、ＣＤＮの様々な配信サービスにより形成された配信ネットワーク内のノードにおいてキャッシュされ得る。コンテンツは、例えば、それがＣＤＮから供給されると、キャッシュされ得る。
【００２５】
動作中、クライアント１０８がＣＤＮに１つまたは複数のリソース（例えば、コンテンツ）を要求した場合は、当該クライアントの要求を処理するために、当該クライアントが１つまたは複数の適切なサーバに向けられるのが好ましい。適切なサーバは、負荷の大きすぎない状態にあり、かつ、ある程度のネットワーク距離という観点から見てクライアントから遠すぎないものであることが好ましい。
【００２６】
ＣＤＮは、クライアントの要求を処理する適切なサーバにそれらの要求を向けるために、いわゆるランデブー機構またはランデブーシステム１１２を使用する。ランデブーシステム１１２は、１つまたは複数のＤＮＳネームサーバ１１４を含み得る。ランデブーシステム１１２は、以下で論じるように、サーバをクライアントの要求に関連付けるために、サーバ選択機構１２０を使用してもよいし、備えてもよい。選択機構１２０は、ＤＮＳネームサーバ１１４に統合されてもよいし、統合されなくてもよい。
【００２７】
動作中、クライアント１０８は、ＵＲＩ（ＵＲＬなど）を用いてコンテンツを要求する。ＲＦＣ１７３８「Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒｓ（ＵＲＬ）」にＵＲＬの形式的記述があり、１９９８年８月のＮｅｔｗｏｒｋ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ  ＲＦＣ２３９６「Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒｓ  （ＵＲＩ）：Ｇｅｎｅｒｉｃ  Ｓｙｎｔａｘ」にＵＲＩの記述があり、それら両方の内容全体が、あらゆる目的のために本明細書に完全に組み込まれる。
【００２８】
ＵＲＬは、コンテンツがそこから取得され得る、１つまたは複数の位置を特定するドメイン（またはホストネーム）を含む。クライアントは、当該ドメインまたはホストネームからネットワークアドレスを、通常はＩＰアドレスを解決しようと試みる。次に、当該ネットワークアドレスを用いて、サービスに接続し、かつ、ＵＲＬで指定されたコンテンツを、ＵＲＬで指定されたプロトコルであれば何でも用いて要求する。
【００２９】
クライアント１０８に関連付けられたリゾルバ１１６が、ホストネームからネットワークアドレスを解決するために、ドメインネームシステム（ＤＮＳ）１１８を使用する。周知のように、リゾルバは名前に関する質問を適切なサーバに送信し、かつ、サーバの返事に適切に応答することにより、それらの質問を解決する機構（例えば、プログラム）である。最も一般的な応用では、ウェブブラウザが、ＤＮＳ内の名前を調べるために、同じコンピュータ上のローカルのスタブリゾルバライブラリを使用する。当該スタブリゾルバは、オペレーティングシステムの一部である。スタブリゾルバは大抵、ＤＮＳサービス専用のネットワーク上のキャッシングリゾルバ、サーバまたはサーバグループに問い合わせを転送することになる。それらのリゾルバは、当該ＤＮＳの名前に関するＩＰアドレスを見つけるべく、１つまたは複数の権威サーバに問い合わせを送信することになる。
【００３０】
従って、ＵＲＬで指定されたコンテンツがＣＤＮにより供給されている場合、ＤＮＳ１１８（例えば、ＤＮＳ１１８内のネームサーバ）は、更なる解決のために、当該ＵＲＬに（または、当該ＵＲＬ内のドメインまたはホストネームに）関連付けられた要求をＣＤＮランデブーシステム１１２に向けてよい。従って（「公衆」のＤＮＳ１１８からＣＤＮランデブーシステム１１２へと）向けることは、例えば、ＣＮＡＭＥなどを用いて実現され得る。ＣＤＮランデブーシステム１１２（それに関連付けられた１つまたは複数のＤＮＳネームサーバ１１４を含む）は、それぞれの特定のクライアントの要求が向けられるべき適切な（例えば、「最良」のまたは「最適」な）サーバを決定するために「最良」のまたは「最適」なサーバ選択機構１２０を使用するのが好ましい。
【００３１】
サーバ選択機構１２０は、論理的にはランデブーシステム１１２の一部と見なされてよく、ＣＤＮ  ＤＮＳネームサーバ１１４に完全にまたは部分的に組み込まれてよい。
【００３２】
当然のことながら、任意の特定のクライアントの要求に対して１つより多くの適切なサーバがあるかもしれず、要求されたリソースが別のサーバから提供されるであろうよりも速く、かつ／または安く、適切なサーバがクライアントにそれらのリソースを提供するのが好ましい。
【００３３】
米国特許第６，１８５，５９８号に、ある例示的なサーバ選択アルゴリズムの記述があり、その内容全体が、あらゆる目的のために参照によって本明細書に完全に組み込まれる。
【００３４】
クライアントの要求を（１つまたは複数の適切なサーバへ）適切に向けるべく、サーバ選択機構１２０は、ネットワークの状態の態様およびネットワーク内のデバイスに関する様々なＣＤＮデータ１２２を使用してよい。特に、サーバ選択機構１２０により使用されるＣＤＮデータ１２２は、（ＣＤＮおよびクライアントを含む）ネットワークの現在（または最近）の状態に近いネットワークマップ１２４（例えば、リンクコストマップ）を含み得る。ネットワークマップ１２４は、ネットワーク内のノード間の（例えば、接続時間に関連する）コストを含むのが好ましい。ネットワークマップ１２４内のこれらのコストなどのデータは、特定のクライアント１０８からの要求に適切なサーバを決定するのに使用され得る。「コスト」という用語は、クライアントに対するコンテンツ配信の質に影響を及ぼし得る、速度、帯域幅、負荷などを含む任意の要因を指す。例えば、あるクライアントが複数の位置から同じコンテンツを取得できる場合は、当該コンテンツを当該クライアントに最短で届けることのできるものが「最適」な位置であってよい。
【００３５】
ＣＤＮランデブーシステム１１２のコンポーネント（サーバ選択装置１２０を含む）は、ネットワークマップ１２４のコピーを問い合わせてよく、および／または、ネットワークマップ１２４のローカルコピーを維持してよい。
【００３６】
インターネットのようなネットワークは、（ノードが加わり、そして離れるにつれて）トポロジに関しても（ノードまたはパスの負荷の増減、および／または、ノードまたはパスのコストの増減につれて）コストに関しても絶えず変化している。ネットワークマップ１２４は、ネットワーク内の変化（コストおよび接続性）を反映するために繰り返し定期的に更新される必要がある。現在の好ましい実装によると、ネットワークマップは、少なくとも１時間ごとに再計算および更新される。
【００３７】
ネットワークマップ１２４の態様を構築および維持するために、マップビルダ機構１２６が使用され得る。ＣＤＮデータ１２２はネットワークデータ１２８を含むのが好ましく、マップビルダ１２６は、それらのネットワークデータ１２８を用いてネットワークマップ１２４の態様を構築し得る。ネットワークデータ１２８は、ネットワーク内のノードに関連付けられたコストを含む、ネットワーク接続性に関する情報を含み得る。
【００３８】
制御機構１３０が、（ネットワークデータ１２８を含むＣＤＮデータ１２２に関する）データ収集およびネットワークマップ構築の態様を制御し得る。
【００３９】
ＣＤＮを介してクライアントにコンテンツを配信するには、各ＣＤＮ配信サーバからクライアントに届くコストを知ることが重要である。しかしながら、インターネットのような大きな動的ネットワークでは、あらゆる潜在的クライアントを、または、あらゆる潜在的クライアントの位置でさえ知ることができないため、クライアントの（または潜在的クライアントの）位置が一般的に、（ネットワークの観点から見て）当該クライアントに近いことが推定される既知の位置に近接している。例えば、場合によっては、クライアントがそのＩＳＰ（インターネットサービスプロバイダ）に、またはそのＩＳＰの近くに配置されされていると見なされ得る。
【００４０】
図２を参照しながら、ネットワークに関する情報を収集する態様について論じる。図２は、図１のフレームワークの態様を示している。
【００４１】
ＣＤＮは、配信サーバ１０６により少なくとも部分的に収集されたネットワークデータを用いて（ネットワーク接続性／コストマップを構築するために）ネットワーク接続性を測定し得る。配信サーバ１０６は、クラスタなどにグループ分けされ得る。クラスタは、同じ位置に配置された複数のサーバの物理的集合に相当するのが好ましく、例えば、特定のラック内の全てのサーバを含み得る。各クラスタ（またはラック）内の少なくとも１つのサーバ２０６が、エージェント／機構（本明細書ではｎｅｔｄエージェント機構２０８と呼ばれている）を実行する。様々なｎｅｔｄエージェント機構２０８は、それらが動作するサーバからネットワーク内の様々な既知の位置へのネットワーク接続性を試験および測定する。ｎｅｔｄエージェント機構２０８は、これらの様々な既知の位置までの測定値（例えば、ラウンドトリップタイム）を取得するために、ピング、トレースルートなどのような既知の手段を使用し得る。
【００４２】
ｎｅｔｄエージェント機構２０８は、定期的かつ連続的に動作することで、ネットワークデータ１２８に対して実質的にリアルタイムの絶え間ない情報を提供するのが好ましい。好ましい実装によると、各ｎｅｔｄエージェント機構２０８は、例えば、コントローラ１３０などにより命令されると動作する。コントローラ１３０は、一定の間隔で、例えば、マップビルダ１２６がネットワークマップを更新するのに間に合うように、複数のｎｅｔｄエージェント機構２０８のうちの幾つかまたは全てに情報を更新するよう命令し得る。現在のある好ましい実装によると、ｎｅｔｄエージェント機構２０８は、コントローラ１３０により、約５分ごとに動作するよう命令される。ｎｅｔｄエージェント機構２０８は、例えば、マップビルダ１２６が使用できるよう、測定結果をネットワークデータ１２８に提供する。
【００４３】
コントローラ１３０は、どのターゲットを測定（どのターゲットに「ピング送信」）すべきかｎｅｔｄエージェント機構２０８に教えるために、リスト（例えば、ピングターゲットリスト）を使用し得る。
【００４４】
接続性／コストのネットワークマップ１２４を構築するという目的において、特定のクラスタまたはラック内の複数のサーバ１０６は、「測定値が同等のもの」と見なされ、ひいては、ｎｅｔｄエージェント機構２０８が、１つのクラスタまたはラックにつき１つのサーバで動作しさえすればよい。
【００４５】
ｎｅｔｄ２０８プログラムにより測定および／または収集されたデータは、ネットワークデータ１２８としてＣＤＮに提供されてよく、ネットワークマップ１２４を構築または維持するためにマップビルダ１２６により使用されてよい。
【００４６】
しかしながら、説明されているように、様々なサーバ１０６で動作しているｎｅｔｄエージェント機構２０８は、実際のクライアント１０８に関するネットワーク接続性を決定できないことがある。
【００４７】
クライアント１０８は通常、１つまたは複数の、いわゆるインターネットサービスプロバイダ（ＩＳＰ）に関連付けられる。例えば、図２に示されているように、クライアント１０８−１はＩＳＰ−１に関連付けられ、クライアント１０８−２はＩＳＰ−２に関連付けられ、...クライアント１０８−ｋはＩＳＰ−ｋに関連付けられるなどである。特定のＩＳＰに関連付けられたクライアントが、１つまたは複数のファイアウォールに守られていることがある。各ＩＳＰは、クライアントへの不要な直接接続を防止するファイアウォールなどを提供し得る。加えて、クライアント（または、クライアントがその上で操作し、かつ、クライアントがそれを用いてＩＳＰに接続する、ＬＡＮまたはＷＡＮ）自身が、不要な外部接続を防止する１つまたは複数のファイアウォールを提供し得る。従って、例えば、ＩＳＰ−１に関連付けられたクライアント１０８−１−１が、１つまたは複数のファイアウォールにより、ネットワーク１１０、ひいては、ＣＤＮコンポーネント（例えば、サーバ１０６）から隔離され得る（図面に示されているファイアウォールは２つだけだが、他のファイアウォールも使用しているかもしれない）。
【００４８】
従って、多くの場合、ｎｅｔｄエージェント機構２０８は、（ファイアウォールに守られていない）ＩＳＰのリゾルバに関連する接続性情報だけを収集することができ、クライアント自身に関連する接続性情報もファイアウォールに守られているコンポーネントに関連する接続性情報も収集することができない。場合によっては、ＩＳＰリゾルバがＣＤＮコンポーネントから到達可能（例えば、ピング送信可能）でないこともある。この場合、ｎｅｔｄ２０８機構は、近いと分かっているものに到達しようと試みてよい。
【００４９】
［到達不可能なネットワークコンポーネントの測定］
ここでは、１つまたは複数のファイアウォールに守られている到達不可能（例えば、ピング送信不可能）なコンポーネントを処理する手法について説明する。
【００５０】
図３を参照すると、ネームサーバが、例えば、ゲートウェイなどに関連付けられた配信サーバ１０６のグループと共に配置され（または、同じ位置に配置され）ている。ネームサーバは、あるクライアントのリゾルバからあるグループに関連付けられたネームサーバへのネットワークコストが、当該クライアントのリゾルバからグループ内のサーバ１０６へのネットワークコストと実質的に同じとなるよう位置付けられるのが好ましい。従って、特定のサーバグループに関連付けられたネームサーバは、当該特定のサーバグループ内のサーバと測定値が同等のものと見なされる。例えば、図３を参照すると、サーバ１０６は、ｍ個のサーバグループ、３０８−１、３０８−２...３０８−ｍにグループ分けされている。ここで、各サーバグループ３０８−ｊ内のサーバは、例えば、同じゲートウェイ（図示せず）にあるか、または、同じゲートウェイに関連付けられる。ネームサーバＮＳｊが、ｊ番目のサーバグループ３０８−ｊに関連付けられる。従って、例えば、ネームサーバＮＳ１  １１４−１がサーバグループ３０８−１に関連付けられ、ネームサーバＮＳ２  １１４−２がサーバグループ３０８−２に関連付けられるなどである。
【００５１】
ｊ個のサーバグループの各々について、および、各クライアントリゾルバについて、クライアントリゾルバからサーバグループｊ内のネームサーバＮＳｊへのネットワークコストは、当該クライアントリゾルバからサーバグループｊ内のサーバへのネットワークコストの実質的な近似値と見なされ得る。
【００５２】
コンテンツプロバイダ１０２がＣＤＮを使用するために、ＤＮＳは、ＣＤＮにより処理される当該コンテンツプロバイダのコンテンツ（プロパティ）の要求が、ＣＤＮのランデブーシステム１１２により少なくとも部分的に解決されるよう構成される。この結果は、ＣＮＡＭＥなどを用いて達成され得る。例えば、あるコンテンツプロバイダ（「ＣＰ」）が、ＣＤＮにより供給される（例えば、「ｗｗｗ．ＣＰ．ｃｏｍ」における）特定のプロパティを有し得る。当該コンテンツプロバイダは、ｗｗｗ．ＣＰ．ｃｏｍを解決するための要求によりＣＰ．ｆｐ．ｎｅｔが解決されるよう、ＣＮＡＭＥ  ＣＰ．ｆｐ．ｎｅｔを使用してよい。ここで、「ＣＰ．ｆｐ．ｎｅｔ」は、ＣＤＮネームサーバ１１４により解決される。
【００５３】
従って、クライアント１０８が、ＣＤＮにより処理されているリソースに関するＵＲＬ内のホストネームまたはドメインを解決しようと試みる場合は、クライアントのリゾルバが、例えば、ＣＮＡＭＥのため、ＣＤＮネームサーバ１１４またはリゾルバに向けられることになる。クライアントのリゾルバ（またはＩＳＰのリゾルバ）が、（ＣＤＮネームサーバがどこにあるか教えられる、すなわち、ＣＤＮネームサーバのネットワークアドレスを与えられる）ＤＮＳ特定プロセスを経る場合、クライアントのリゾルバは通常、ＵＲＬからホストネーム／ドメインを解決するのに使用され得るＣＤＮ内のネームサーバ（および関連付けられるＩＰアドレス）のリストを得る。
【００５４】
例えば、「ＣＰ．ｆｐ．ｎｅｔ」という名前の場合は、クライアントリゾルバ２１６がネームサーバおよび対応するＩＰアドレスのリスト、すなわち、
ｎｓ１．ｆｐ．ｎｅｔ    ＩＰ１
ｎｓ２．ｆｐ．ｎｅｔ    ＩＰ２
…
ｎｓ９．ｆｐ．ｎｅｔ    ＩＰ９
を受信し得る。
【００５５】
これらＩＰアドレスの各々は、ＵＲＬからホストネーム／ドメインを解決し得るＣＤＮネームサーバに相当する。この例では９個のネームサーバがリストに提供されたが、これは単なる例に過ぎず、異なる数のネームサーバが使用され得ることを認識されたい。これらのネームサーバ（および対応するＩＰアドレス）は、ｊ個のサーバグループ（図３の３０８）に関連付けられた様々なネームサーバＮＳｊのうちの幾つかに対応し得る。
【００５６】
ネームサーバおよびアドレスのリストを受信すると、クライアントリゾルバまたはＩＳＰリゾルバは次に、これらのアドレスのうちの１つを用いて名前の解決を継続する。
【００５７】
リゾルバは、時間をかけて、最良のまたは最適なネームサーバをリストから選んで名前を解決する、いわゆる最小レイテントアルゴリズムを実装している機構を含むのが好ましい。最小レイテントアルゴリズムは以下のように動作する。ある名前が最初に解決されたとき、リゾルバは、リスト内のネームサーバのうちの１つをランダムに選んで、当該ネームサーバに要求を発行する。リゾルバは次に、選択されたネームサーバから回答を受け取るのにかかった時間を記録する。リゾルバが次に当該名前を解決しなければならないとき、リゾルバは、リスト内のネームサーバのうちの別のサーバを選んで、名前の解決を得るための+時間を追跡する。このプロセスは、リゾルバが当該名前を解決しようと試みるたびに繰り返される。人気がある名前の場合は、リゾルバが、リスト内のネームサーバの各々を１回ずつ用いて、当該ネームサーバの全てを最終的に経由することになる。有効生存期間（ＴＴＬ）フィールドが、各リソース記録に関連付けられ、キャッシングネームサーバのキャッシュに記録が保持され得る時間の長さを制御する。リゾルバは、それがネームサーバから受信する記録の全てについて、固定されたＴＴＬ（有効生存期間）（例えば、ＴＴＬ＝２３０秒）を使用しなければならない。
【００５８】
クライアントがこのリゾルバに名前の解決を要請している間、リゾルバは、ＴＴＬ（例えば、２３０秒）にわたって回答をキャッシュすることになり、次に、キャッシュされた結果が古い場合は、再び要請する。リゾルバは、それが与えられた、ネームサーバの各々に関するタイミング測定値を集め、当該ネームサーバの各々に重み付けを行う。クライアントリゾルバは、それがネームサーバから回答を得るたびに、当該ネームサーバに重み数を加える。１つのネームサーバが大幅により近い（ある程度のネットワーク近接性により、例えば、最短の応答時間をもたらす）場合は、当該名前がクライアントリゾルバによってより頻繁に使用されることになる。
【００５９】
各クライアントリゾルバは最終的に、どのネームサーバ１１４−ｊが当該リゾルバにとって「最良」であるかを決定する。（リゾルバは、それが現在「最良」のネームサーバを有しているとしても、他のネームサーバのうちの１つが良くなるか、または「最良」になった場合は、リゾルバが規定通りに当該他のネームサーバを再検査する。）ｊ番目のネームサーバが特定のクライアントリゾルバにとって「最良」である場合は、ｊ番目のサーバグループ内の配信サーバ３０６−ｊが、当該クライアントリゾルバに関連付けられたクライアント１０８にとって「最良」であると見なされる。特定のクライアントリゾルバにとって「最良」のネームサーバが変化した場合は、当該クライアントリゾルバにとって「最良」のサーバグループも変化することになる。
【００６０】
各ネームサーバ１１４−ｊは、それが特定のリゾルバ（またはクライアント）にとって最良であるかどうかを、それが当該リゾルバ（またはクライアント）から受信する名前解決要求の頻度に基づいて決定することができる。（ＵＲＬ内のホストネーム／ドメインを解決するための要求に応答して）リゾルバにより返されたリストにｋ個のＩＰアドレスがある場合、および、リスト内の各ＩＰアドレスのＴＴＬが同じ場合は、（各サーバグループ内の）各ネームサーバが、（ＴＴＬがリゾルバにより高く評価されていると見なして）平均ｋ＊ＴＴＬ秒ごとに１回解決要求を得るべきである。すなわち、各ネームサーバはｋ個の要求ごとに１つの要求を得るべきである。ネームサーバが、それが特定のリゾルバから、ｋ個の要求ごとに１つより多くの（または実質的により多くの）要求を得ている（例えば、それがＴＴＬごとに要求を得ている）と判断した場合、当該ネームサーバは、それが当該特定のリゾルバにとって最も人気のあるネームサーバであると見なすことができる。あるネームサーバは、（リゾルバの最小レイテントアルゴリズムの実装に基づいて）当該ネームサーバが特定のリゾルバにとって「最良」または「最適」である場合に、当該リゾルバにとって最も人気が高くなる。ネームサーバは、解決要求ごとにリゾルバにより提供されたアドレスに基づいて、リゾルバを特定することができる。
【００６１】
あるネームサーバは、それが特定のリゾルバにとって「最良」のまたは「最適」なネームサーバであると判断すると、当該情報を、次のネットワークマップ構築のためにマップビルダ１２６により使用されるネットワークデータ１２８として提供することができる。
【００６２】
加えて（または代わりに）、あるネームサーバは、それが特定のリゾルバにとって「最良」のまたは「最適」なネームサーバであると判断すると、その位置で、または、その位置にあるサーバの位置（例えば、ネットワークアドレス）で直接応答し得る。この応答の目的において、当該ネームサーバの位置は、そのサーバグループ内の他のサーバの位置と同じであると見なされる。
【００６３】
あるネームサーバが特定のリゾルバにとって最も人気がある（すなわち最も待ち時間が短い）という、当該ネームサーバによる判断はまた、特に、当該リゾルバが到達可能でなく、かつ、当該他の情報が予測に基づいたものであるときに、当該リゾルバに関する他の情報を確認または検証するために使用され得る。
【００６４】
様々なサーバグループ３０８−ｋ内のネームサーバ１１４−ｋによりネットワークデータ１２８として提供された情報が、ネットワークマップ１２４を構築または拡張するためにマップビルダ１２６により使用され得る。様々なサーバグループ３０８−ｋ内のネームサーバ１１４−ｋによりネットワークデータ１２８として提供されるその情報は、１つまたは複数のファイアウォールに守られているコンポーネント（例えば、クライアントリゾルバ２１６）に関する接続性情報を含んでいることを認識されたい。当該ファイアウォールは、当該クライアントリゾルバに対する外部からの接続を防止することにより、様々なｎｅｔｄエージェント機構２０８がクライアントリゾルバ２１６（および、場合によってはＩＳＰリゾルバ）に接続（例えば、ピング送信）するのを防止し得る。しかしながら、クライアントリゾルバ（およびＩＳＰリゾルバ）はネームサーバ１１４にアウトバウンド接続できることから、ファイアウォールに守られた状態で行われた測定の結果は、ネットワークマップ１２４を構築または拡張するのに使用され得る。当業者であれば、この説明を読んで、特定のリゾルバにとって「最適」なまたは「最良」のネームサーバ１１４−ｋには、当該リゾルバが実際に当該ネームサーバについて取得した測定値（例えば、レイテンシ測定値）がどれくらいであるのかが分からず、当該ネームサーバが、それが当該特定のリゾルバにとって「最適」なまたは「最良」のネームサーバ１１４−ｋとして選択されたと判断することしかできないことを自覚および認識するであろう。
【００６５】
ファイアウォールに守られている特定のリゾルバについては、（「ピング」などを用いて）サーバグループから当該リゾルバまでのレイテンシを測定することができない。従って、様々なサーバグループに関連付けられた様々なネームサーバまでのリゾルバ自体のレイテンシ測定は、プロキシ測定と見なされてよく、「最良」のまたは「最適」なネームサーバを選択し、これにより、当該「最良」のまたは「最適」なネームサーバから特定のリゾルバまでのレイテンシが、サーバグループに関連付けられたネームサーバ全ての中で最も低いことが示唆される。あるサーバグループに関連付けられたネームサーバは当該サーバグループ内のサーバと測定値が同等のものであることから、当該サーバグループは、当該特定のリゾルバにとって（ひいては、当該特定のリゾルバに関連付けられたクライアントにとって）「最良」または「最適」である。
【００６６】
［更なる／代替的な手法］
（単独でおよび／または上記の手法と組み合わせて使用され得る）別の手法によると、特定のＣＤＮネームサーバ１１４が、時としてアドレス記録の代わりにＣＮＡＭＥで幾つかの要求に応答するよう構成される。当該ＣＮＡＭＥは、要求の時点で、かつ、要求に応答して構築され、当該ＣＮＡＭＥを解決しようとする試みが、当該ＣＮＡＭＥを生成したネームサーバに戻るよう形成される。当該ネームサーバは次に、それがあるリゾルバにＣＮＡＭＥを提供したときから、ＣＮＡＭＥ要求が当該リゾルバから戻るまでにかかった時間を判断し、当該時間を、ネームサーバとリゾルバとの間のプロキシ、またはレイテンシと同等のものとして使用し得る。当該レイテンシと同等の情報は、ネットワークマップ１２４を生成するのに使用されるネットワークデータ１２８としてネームサーバにより提供され得る。
【００６７】
例として、図３を再び参照すると、特定のドメインネーム（例えば、顧客ドメインでＣＮＡＭＥに、「ｃｐ．ｆｐ．ｎｅｔ」に変換される「ｗｗｗ．ｃｐ．ｃｏｍ」）を解決するための、特定のクライアントリゾルバ２１６から特定のネームサーバ１１４への要求に応答して、当該特定のネームサーバは、ＣＮＡＭＥ（例えば、「ｃｐ．ｆｐ．ｎｅｔ．ｔｑ．＜＜ｔｉｍｅｓｔａｍｐ＞＞．ｃ．ｆｐ．ｎｅｔ」を生成する。ＣＮＡＭＥ内の＜＜ｔｉｍｅｓｔａｍｐ＞＞フィールドは、ＣＮＡＭＥが作成された時間である。すなわち、「．ｔｑ．」フィールドは、このＣＮＡＭＥが、受信されると、更なる処理を必要とすることをネームサーバ１１４にシグナリングする。ＣＮＡＭＥは、要求しているリゾルバの識別を含んでもよい。
【００６８】
ＣＮＡＭＥを発行したネームサーバに要求を強制的に戻すべく、各ネームサーバは、ＣＮＡＭＥに含まれ得る独自のドメインを与えられ得る。（ＣＮＡＭＥ発行者とは）異なるネームサーバに要求が行く場合は、ＣＮＡＭＥ内のタイムスタンプがレイテンシを決定するのに使用され得るが、当該レイテンシは、第１のネームサーバからリゾルバまでのアウトバウンドレイテンシ、および、リゾルバから第２ネームサーバへ戻るまでの第２レイテンシに相当する。ＣＮＡＭＥが１つのＣＤＮネームサーバにより発行され、かつ、ＣＮＡＭＥの解決が第２ＣＤＮネームサーバにより処理される、このプロセスでは、当該ＣＤＮネームサーバの時計が同期されていると見なされる。
【００６９】
ＣＮＡＭＥが要求しているリゾルバ２１６に返されると、当該リゾルバは、好ましくは、ＣＮＡＭＥを生成および発行した特定のＣＤＮネームサーバ１１４へ戻ることにより、当該名前を解決しようと試みることになる。当該ＣＤＮネームサーバは次に、要求しているリゾルバにとって適切なネットワークアドレスで応答することになる。加えて、当該ＣＤＮネームサーバは、リゾルバまでのラウンドトリップタイムを決定することができ、当該情報は、ネットワークデータ１２８として提供されてよい。ここで、再び、（例えば、リゾルバが１つまたは複数のファイアウォールに守られていることがあるので）ネームサーバが要求しているリゾルバに「ピング送信」または接続できないことがあるとしても、ＣＤＮネームサーバは、リゾルバまでのラウンドトリップタイムを決定することができる。リゾルバは、それがＣＮＡＭＥを解決しようと試みる前に、更なる処理をしなければならない。そのため、ラウンドトリップタイムは、「ピング送信」にかかる時間よりも多い可能性が高いが、それでも、ラウンドトリップタイムは、ネットワークマップを決定するために単独でまたは他のデータと共に使用され得る測定値を提供する。更に、あるＣＮＡＭＥに関連付けられた（発行してから返すまでの）レイテンシは、他のＣＮＡＭＥに関連付けられた、他のリゾルバからのレイテンシ、および、他のネームサーバまでのレイテンシと同等であり得る。
【００７０】
これらのＣＮＡＭＥ応答では要求の実処理に合わせて時間が追加されるので、当該ＣＮＡＭＥ応答はあまりにも頻繁に行われるべきではない。例えば、１，０００回の要求に１回、または１０，０００回の要求に１回、または１００，０００回の要求に１回の割合で、クライアントの体験に影響を与えることなく使用され得る。代替として、（リゾルバごとの）ＣＮＡＭＥは、時間周期ごとに（例えば、１時間につき１回）行われ得る。
【００７１】
システムは、どの機械がピング送信されるべきか決定するのにリストを使用し得る。例えば、述べられているように、コントローラ１３０は、どのターゲットを測定（どのターゲットに「ピング送信」）すべきかｎｅｔｄエージェント機構２０８に指示するために、リスト（例えば、ピングターゲットリスト）を使用し得る。このリストは、ネームサーバが動作を拡張するのに利用できるようにされ得る。例えば、ＣＮＡＭＥ修正プロセスは、到達不可能（例えば、ピング送信不可能）な機械にのみ使用されてもよいし、到達可能な機械のピング送信結果を確認するのに使用されてもよい。
【００７２】
［コンピューティング］
以上に図示および説明したサービス、機構、動作および行為は、ＣＤＮ１００の１つまたは複数のコンピュータで動作しているソフトウェアにより少なくとも部分的に実装される。
【００７３】
係る方法を実装するプログラム（および他のタイプのデータ）が、複数の方式で様々な媒体（例えば、コンピュータ可読媒体）を用いて記憶および伝送され得る。様々な実施形態のプロセスを実装し得るソフトウェア命令のうちの幾つかまたは全ての代わりに、またはそれらと組み合わせて、ハードワイヤード回路またはカスタムハードウェアが使用され得る。従って、ハードウェアおよびソフトウェアの様々な組み合わせが、ソフトウェアのみの代わりに使用され得る。
【００７４】
当業者であればこの説明を読んで容易に認識および理解するであろうが、本明細書で説明する様々なプロセスは、例えば、適切にプログラムされた汎用コンピュータ、特定用途向けコンピュータ、およびコンピューティングデバイスにより実装され得る。１つまたは複数の係るコンピュータまたはコンピューティングデバイスは、コンピュータシステムと呼ばれ得る。
【００７５】
図４は、本開示の実施形態が実装および実行され得るコンピュータシステム４００の概略図である。
【００７６】
本例によると、コンピュータシステム４００は、バス４０２（すなわちインターコネクト）、１つまたは複数のプロセッサ４０４、メインメモリ４０６、リムーバブル記憶媒体４１０、リードオンリメモリ４０８、大容量記憶装置４１２、および１つまたは複数の通信ポート４１４を含む。通信ポート４１４は、コンピュータシステム４００がそれ経由でデータを受信および／または伝送し得る、１つまたは複数のネットワークに接続され得る。
【００７７】
本明細書で使用しているように、「プロセッサ」は、１つまたは複数のマイクロプロセッサ、複数の中央処理装置（ＣＰＵ）、複数のコンピューティングデバイス、複数のマイクロコントローラ、複数のデジタル信号プロセッサ、または、複数の同様のデバイスもしくはそれらの任意の組み合わせを、それらのアーキテクチャに関係なく意味する。プロセスを実行する装置には、例えば、プロセッサと、当該プロセスを実行するのに適切な、入力デバイスおよび出力デバイスのようなそれらのデバイスが含まれ得る。
【００７８】
プロセッサ４０４は、限定されるわけではないが、Ｉｎｔｅｌ（登録商標）Ｉｔａｎｉｕｍ（登録商標）もしくはＩｔａｎｉｕｍ２（登録商標）プロセッサ、ＡＭＤ（登録商標）Ｏｐｔｅｒｏｎ（登録商標）もしくはＡｔｈｌｏｎ  ＭＰ（登録商標）プロセッサ、またはＭｏｔｏｒｏｌａ（登録商標）のプロセッサ商品ラインなどのような、任意の既知のプロセッサであってよい。通信ポート４１４は、モデムベースのダイアルアップ接続に使用するためのＲＳ−２３２ポート、１０／１００イーサネット（登録商標）ポート、銅またはファイバを用いたギガビットポート、またはＵＳＢポートなどのうちの何れかであってよい。通信ポート４１４は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、ＣＤＮ、または、コンピュータシステム４００が接続する任意のネットワークなどのネットワークに応じて選択され得る。コンピュータシステム４００は、入出力（Ｉ／Ｏ）ポート４２０を介して周辺デバイス（例えば、ディスプレイスクリーン４１６、入力デバイス４１８）と通信状態にあってよい。
【００７９】
メインメモリ４０６は、ランダムアクセスメモリ（ＲＡＭ）、または、当技術分野において一般的に知られている任意の他の動的記憶デバイスであってよい。リードオンリメモリ４０８は、プロセッサ４０４に対する命令などの静的情報を記憶するためのプログラマブルリードオンリメモリ（ＰＲＯＭ）チップのような任意の静的記憶デバイスであってよい。大容量記憶装置４１２は、情報および命令を記憶するのに使用され得る。例えば、Ａｄａｐｔｅｃ（登録商標）の小型コンピュータシリアルインタフェース（ＳＣＳＩ）ドライブのファミリのようなハードディスク、光学ディスク、Ａｄａｐｔｅｃ（登録商標）のＲｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ（ＲＡＩＤ）ドライブのファミリなどのＲＡＩＤのような数々のディスク、または、任意の他の大容量記憶デバイスが使用され得る。
【００８０】
バス４０２は、プロセッサ４０４を、その他のメモリブロック、記憶ブロックおよび通信ブロックと通信可能に連結する。バス４０２は、使用される記憶デバイスなどに応じて、ＰＣＩ／ＰＣＩ−Ｘ、ＳＣＳＩ、またはユニバーサルシリアルバス（ＵＳＢ）ベースのシステムバス（など）であってよい。リムーバブル記憶媒体４１０は、任意の種類の外部ハードドライブ、フロッピードライブ、ＩＯＭＥＧＡ（登録商標）ジップドライブ、コンパクトディスク−リードオンリメモリ（ＣＤ−ＲＯＭ）、コンパクトディスク−リライタブル（ＣＤ−ＲＷ）、デジタル多用途ディスク−リードオンリメモリ（ＤＶＤ−ＲＯＭ）などであってよい。
【００８１】
本明細書における実施形態は、１つまたは複数のコンピュータプログラム製品として提供され得る。当該１つまたは複数のコンピュータプログラム製品には、プロセスを実行するようコンピュータ（などの電子デバイス）をプログラムするのに使用され得る命令を記憶した機械可読媒体が含まれ得る。本明細書で使用しているように、「機械可読媒体」という用語は、コンピュータ、プロセッサまたは同様のデバイスにより読み取られ得るデータ（例えば、命令、データ構造）の提供に関与する任意の媒体、複数の同じ媒体、または異なる媒体の組み合わせを指す。係る媒体は、限定されるわけではないが、不揮発性媒体、揮発性媒体および伝送媒体を含む多くの形態を取り得る。不揮発性媒体には、例えば、光ディスクまたは磁気ディスクなどの永続メモリが含まれる。揮発性媒体には、コンピュータのメインメモリを通常は構成する動的ランダムアクセスメモリが含まれる。伝送媒体には、プロセッサに連結されたシステムバスを備えるワイヤを含む、同軸ケーブル、銅線および光ファイバが含まれる。伝送媒体は、無線周波数（ＲＦ）通信および赤外（ＩＲ）データ通信の間に生成されるもののような音波、光波および電磁放射線を含んでもよいし、伝達してもよい。
【００８２】
機械可読媒体には、限定されるわけではないが、フロッピーディスケット、光学ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、ＲＯＭ、ＲＡＭ、消去可能プログラマブルリードオンリメモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）、磁気カードもしくは光カード、フラッシュメモリ、または、電子的命令を記憶するのに適切な他のタイプの媒体／機械可読媒体が含まれ得る。更に、本明細書における実施形態は、コンピュータプログラム製品としてダウンロードされてもよい。ここで、プログラムは、搬送波などの伝播媒体で具現化されたデータ信号経由で、通信リンク（例えば、モデム接続またはネットワーク接続）を介して、リモートコンピュータから要求しているコンピュータに転送され得る。
【００８３】
様々な形態のコンピュータ可読媒体が、データ（例えば、一連の命令）をプロセッサへ搬送することに関与し得る。例えば、データは、（ｉ）ＲＡＭからプロセッサに配信されてよく、（ｉｉ）無線伝送媒体を介して搬送されてよく、（ｉｉｉ）数々のフォーマット、規格またはプロトコルに従ってフォーマットおよび／または伝送されてよく、および／または（ｉｖ）当技術分野で周知の様々なやり方のうちの何れかで暗号化されてよい。
【００８４】
コンピュータ可読媒体は、当顔方法を実行するのに適切なそれらのプログラム要素を（任意の適切なフォーマットで）記憶することができる。
【００８５】
示されているように、メインメモリ４０６は、本明細書で論じるような機能をサポートするアプリケーション４２２（当該アプリケーション４２２は、本明細書で説明するＣＤサービスの機能の一部または全てを提供するアプリケーションであってよい）でエンコードされる。アプリケーション４２２（および／または、本明細書で説明する他のリソース）は、本明細書で説明する様々な実施形態に係る処理機能をサポートするデータおよび／または論理命令のようなソフトウェアコード（例えば、メモリに、またはディスクのような別のコンピュータ可読媒体に記憶されたコード）として具現化され得る。
【００８６】
一実施形態の動作中、プロセッサ４０４は、アプリケーション４２２の論理命令を開始、実行、実施、解釈または遂行すべく、バス４０２を用いてメインメモリ４０６にアクセスする。アプリケーション４２２の実行によって、アプリケーションに関連するサービスの処理機能が生まれる。すなわち、プロセス４２４は、コンピュータシステム４００内のプロセッサ４０４の内部または上で実行しているアプリケーション４２２の１つまたは複数の部分を表す。
【００８７】
本明細書で論じるような動作を実行するプロセス４２４に加えて、本明細書における他の実施形態は、アプリケーション４２２自体（すなわち、実施されていない、または実行していない論理命令および／またはデータ）を含んでいることに留意されたい。アプリケーション４２２は、ディスクのようなコンピュータ可読媒体（例えば、レポジトリ）または光学媒体に記憶され得る。他の実施形態によると、アプリケーション４２２は、ファームウェア、リードオンリメモリ（ＲＯＭ）のようなメモリタイプのシステムに記憶されてもよいし、この例のように、メインメモリ４０６内（例えば、ランダムアクセスメモリまたはＲＡＭ内）の実行可能なコードとして記憶されてもよい。例えば、アプリケーション４２２は、リムーバブル記憶媒体４１０、リードオンリメモリ４０８および／または大容量記憶デバイス４１２に記憶されてもよい。
【００８８】
当業者であれば、コンピュータシステム４００が、ハードウェアリソースの割り当ておよび使用を制御するオペレーティングシステムのような他のプロセス並びに／またはソフトウェアコンポーネントおよびハードウェアコンポーネントを含み得ることを理解するであろう。
【００８９】
本明細書で論じるように、本発明の実施形態は様々な段階または動作を含む。様々なこれらの段階が、ハードウェアコンポーネントにより実行されてもよいし、機械実行可能命令に具現化されてもよい。当該機械実行可能命令は、当該命令でプログラムされた汎用プロセッサまたは特定用途向けプロセッサに動作を実行させるのに使用され得る。代替的に、これらの段階は、ハードウェア、ソフトウェアおよび／またはファームウェアの組み合わせにより実行され得る。「モジュール」という用語は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせを含み得る自己完結型の機能コンポーネントを指す。
【００９０】
当業者であれば、この説明を読んで容易に認識および理解するであろうが、装置の実施形態は、説明されているプロセスの一部（ではあるが、必ずしも全てとは限らない）を実行するよう動作可能なコンピュータ／コンピューティングデバイスを含み得る。
【００９１】
プログラムまたはデータ構造を記憶するコンピュータ可読媒体の実施形態は、実行されるとプロセッサに、説明されているプロセスの一部（ではあるが、必ずしも全てとは限らない）を実行させ得るプログラムを記憶するコンピュータ可読媒体を含む。
【００９２】
本明細書においてあるプロセスについて説明する場合、当業者であれば、当該プロセスがユーザの介入が全くなくても動作し得ることを認識するであろう。別の実施形態によると、当該プロセスは、何らかの人的介入を含む（例えば、ある段階が、人間の支援により、または人間の支援の下で実行される）。
【００９３】
特許請求の範囲を含めて、本明細書で使用しているように、「少なくとも幾つか」という言い回しは「１つまたは複数」を意味し、１つだけの場合を含む。従って、例えば、「少なくとも幾つかのサービス」という言い回しは「１つまたは複数のサービス」を意味し、１つのサービスの場合を含む。
【００９４】
特許請求の範囲を含めて、本明細書で使用しているように、「〜に基づいて」という言い回しは「〜に部分的に基づいて」または「〜に少なくとも部分的に基づいて」を意味し、排他的なものではない。従って、例えば、「要因Ｘに基づいて」という言い回しは「要因Ｘに部分的に基づいて」または「要因Ｘに少なくとも部分的に基づいて」を意味する。「のみ」という文言を用いての具体的な記述がない限り、「Ｘに基づいて」という言い回しは、「Ｘのみに基づいて」を意味するものではない。
【００９５】
特許請求の範囲を含めて、本明細書で使用しているように、「〜を用いて」という言い回しは「〜を少なくとも用いて」を意味し、排他的なものではない。従って、例えば、「Ｘを用いて」という言い回しは、「少なくともＸを用いて」を意味する。「のみ」という文言を用いた具体的な記述がない限り、「Ｘを用いて」という言い回しは「Ｘのみを用いて」を意味するものではない。
【００９６】
一般的に、特許請求の範囲を含めて、本明細書で使用しているように、ある言い回しの中で「のみ」という文言が具体的に使用されない限りは、当該言い回しを「のみ」という意味に解釈すべきではない。
【００９７】
特許請求の範囲を含めて、本明細書で使用しているように、「別個である」という言い回しは、「少なくとも部分的に別個である」ことを意味する。具体的な記述がない限り、別個は完全に別個であることを意味するものではない。従って、例えば、「ＸがＹとは別個である」という言い回しは、「ＸがＹとは少なくとも部分的に別個である」ことを意味し、「ＸがＹとは完全に別個である」ことを意味するものではない。従って、特許請求の範囲を含めて、本明細書で使用しているように、「ＸがＹとは別個である」という言い回しは、ＸがＹとは少なくとも何らかの点で異なることを意味する。
【００９８】
特許請求の範囲を含めて、本明細書で使用しているように、リストはアイテムを１つだけ含んでよく、別段の記述がない限り、複数のアイテムのリストが任意の特定の方式で順序付けされる必要はない。リストは重複アイテムを含み得る。例えば、本明細書で使用しているように、「ＣＤＮサービスのリスト」という言い回しは、１つまたは複数のＣＤＮサービスを含み得る。
【００９９】
本明細書および特許請求の範囲における「第１の」および「第２」という文言は、区別または識別のために使用しているのであって、連続的または数的な制限を示すために使用しているわけではないことを認識されたい。同様に、（「（ａ）」および「（ｂ）」などのような）文字または数字による符号の使用は、区別および／または識別を助けるために使用しているのであって、連続的もしくは数的ないかなる制限または順序付けを示すために使用しているわけではない。
【０１００】
具体的な図示および記述がない限り、フロー図のうちの何れにおいても、符号付けされたボックスのうちの何れかによって順序付けが示唆されることはない。切り離された複数のボックスが図に示されている場合、それらのボックスに関連付けられた動作は、完全にまたは部分的に並行して実行される場合を含めて、任意の順序で実行され得る。
【０１０１】
最も実用的で好ましい実施形態であると現在見なされているものとの関連で本発明について説明してきたが、本発明は、開示されている実施形態に限定されるべきではなく、それどころか、添付の請求項の主旨および範囲に含まれる様々な変形例および均等物の構成を網羅することを目的としていることを理解されたい。
【図１】
2019517196.tif 000003
【図２】
2019517196.tif 000004
【図３】
2019517196.tif 000005
【図４】
2019517196.tif 000006
【国際調査報告】
2019517196.tif 000007