(57)【特許請求の範囲】
【請求項１】
ルーティングをリクエストするための方法において、
コンテンツプロバイダによって提供されたオリジナルのリソース識別子に関連付けられている、リクエストされたリソースに対応するＤＮＳクエリを、前記コンテンツプロバイダとは異なるコンテンツデリバリネットワークサービスプロバイダに対応する第１のＤＮＳサーバにおいて、クライアントコンピューティングデバイスから取得するステップを有し、
前記第１のＤＮＳサーバは前記ＤＮＳクエリに対して権限を有しているか否かを決定するステップを有し、
前記第１のＤＮＳサーバが権限を有していないことが決定されると、前記クライアントコンピューティングデバイスおよびコンテンツプロバイダに関連付けられている情報に基づき、ＤＮＳクエリによって前記コンテンツデリバリネットワークサービスプロバイダに対応するドメインに解決させ、且つ、オリジナルのリソース識別子に含まれていないルーティング情報をリクエストさせる情報を含む代替的なリソース識別子を取得するステップを有し、
前記代替的なリソース識別子を前記クライアントコンピューティングデバイスに伝送するステップを有し、
前記コンテンツプロバイダとは異なる前記コンテンツデリバリネットワークサービスプロバイダに対応する第２のＤＮＳサーバにおいて、前記クライアントコンピューティングデバイスから、前記コンテンツデリバリネットワークサービスプロバイダによって提供された前記代替的なリソース識別子に基づく後続のＤＮＳクエリを取得するステップを有し、
前記第２のＤＮＳサーバは前記後続のＤＮＳクエリに対して権限を有しているか否かを決定するステップを有し、
前記第２のＤＮＳサーバが前記第２のＤＮＳクエリに対して権限を有している場合には、オリジナルのリソースリクエストに関連付けられたコンテンツを提供するキャッシュコンポーネントを選択するステップを有し、
前記第２のＤＮＳサーバが権限を有していることが決定されると、選択された前記キャッシュコンポーネントを識別する情報を伝送するステップを有する、
ことを特徴とする方法。
【請求項２】
前記オリジナルのリソース識別子は、前記コンテンツプロバイダによって提供されたユニフォーム・リソース・ロケータに対応し、前記ＤＮＳクエリを前記コンテンツデリバリネットワークサービスプロバイダに対応するドメインに解決する、請求項１記載の方法。
【請求項３】
前記代替的なリソース識別子は正規名レコード識別子に対応する、請求項１記載の方法。
【請求項４】
前記コンテンツプロバイダに関連付けられた情報は局所的なサービス情報を含み、前記代替的なリソース識別子は前記コンテンツデリバリネットワークサービスプロバイダによって提供された局所的なサービスプランを識別する情報を含む、請求項１記載の方法。
【請求項５】
前記コンテンツプロバイダに関連付けられた情報はサービスレベル情報を含み、前記代替的なリソース識別子は前記コンテンツデリバリネットワークサービスプロバイダによって提供されたサービスレベルプランを識別する情報を含む、請求項１記載の方法。
【請求項６】
前記クライアントコンピューティングデバイスに関連付けられた情報は、前記クライアントコンピューティングデバイスの地理的なロケーションに対応する、請求項１記載の方法。
【請求項７】
さらに、
リクエストされた前記コンテンツに関して、前記クライアントコンピューティングデバイスからリクエストを取得するステップを有し、
前記クライアントコンピューティングデバイスからのリクエストに応答して、リクエストされた前記コンテンツを選択された前記キャッシュコンポーネントから伝送するステップを有する、請求項１記載の方法。
【請求項８】
ルーティングをリクエストするための方法において、
第１のリソース識別子に関連付けられているリクエストされたリソースに対応するＤＮＳクエリを、コンテンツデリバリネットワークサービスプロバイダに対応する第１のＤＮＳサーバにおいて、クライアントコンピューティングデバイスから取得するステップを有し、
前記第１のリソース識別子は代替的なリソース識別子に関連付けられていることを決定するステップを有し、
ＤＮＳクエリによってコンテンツデリバリネットワークサービスプロバイダに対応するドメインに解決させ、且つ、前記第１のリソース識別子に含まれていないルーティング情報を付加的にリクエストさせる情報を含む前記代替的なリソース識別子を前記クライアントコンピューティングデバイスに伝送するステップを有し、
前記コンテンツデリバリネットワークサービスプロバイダによって提供された前記代替的なリソース識別子に基づく後続のＤＮＳクエリを、前記コンテンツデリバリネットワークサービスプロバイダに対応する第２のＤＮＳサーバにおいて、前記クライアントコンピューティングデバイスから取得するステップを有し、
前記第２のＤＮＳサーバにおいて前記後続のＤＮＳクエリを解決し、オリジナルのリソースリクエストに関連付けられたコンテンツを提供するキャッシュコンポーネントを識別するステップを有し、
識別された前記キャッシュコンポーネントを識別する情報を前記クライアントコンピューティングデバイスに伝送するステップを有する、
ことを特徴とする方法。
【請求項９】
オリジナルのリソース識別子は代替的なリソース識別子に対応し、前記ＤＮＳクエリを前記コンテンツデリバリネットワークサービスプロバイダに対応するドメインに解決する、請求項８記載の方法。
【請求項１０】
オリジナルのリソース識別子および代替的なリソース識別子は前記コンテンツデリバリネットワークサービスプロバイダに対応する同一のドメインを識別する情報を含む、請求項８記載の方法。
【請求項１１】
代替的なリソース識別子に関連付けられた前記第１のリソース識別子を決定するステップは、
リクエストされた前記コンテンツに関連付けられたコンテンツプロバイダに対応するリソースルーティング情報を取得するステップと、
リクエストされた前記コンテンツに関連付けられた前記コンテンツプロバイダに対応するリソースルーティング情報に依存して、代替的なリソース識別子を選択するステップとを有する、請求項８記載の方法。
【請求項１２】
ルーティングをリクエストするためのシステムにおいて、
コンテンツデリバリネットワークサービスプロバイダに関連付けられた第１のネットワークポイントを有し、前記第１のネットワークポイントはクライアントコンピューティングデバイスからＤＮＳクエリを受信するＤＮＳサーバコンポーネントを含み、
前記ＤＮＳクエリはリクエストされたリソースに対応し、且つ、第１のリソース識別子に関連付けられており、
前記第１のネットワークポイントにおけるＤＮＳサーバは、
前記第１のリソース識別子は代替的なリソース識別子に関連付けられていることを決定し、
前記ＤＮＳクエリによって前記コンテンツデリバリネットワークサービスプロバイダに対応するドメインに解決させ、且つ、前記第１のリソース識別子に含まれていないルーティング情報を付加的にリクエストさせる情報を含む代替的なリソース識別子をクライアントコンピューティングデバイスに伝送し、
さらに、コンテンツデリバリネットワークサービスプロバイダに関連付けられた第２のネットワークポイントを有し、前記第２のネットワークポイントは前記クライアントコンピューティングデバイスから後続のＤＮＳクエリを受信するＤＮＳサーバコンポーネントを含み、
前記後続のＤＮＳクエリはリクエストされたリソースに対応し、且つ、前記代替的なリソース識別子に関連付けられており、
前記第２のネットワークポイントにおけるＤＮＳサーバは、
前記後続のＤＮＳクエリを解決し、オリジナルのリソースリクエストに関連付けられたコンテンツを提供するキャッシュコンポーネントを識別し、
識別された前記キャッシュコンポーネントを識別する情報を前記クライアントコンピューティングデバイスに伝送する、
ことを特徴とするシステム。
【請求項１３】
前記代替的なリソース識別子は正規名レコード識別子に対応する、請求項１２記載のシステム。
【請求項１４】
前記第１のネットワークポイントにおける前記ＤＮＳサーバは前記コンテンツプロバイダに関連付けられた情報を取得し、
前記代替的なリソース識別子は前記コンテンツデリバリネットワークサービスプロバイダによって提供されたサービスレベルプランを識別する情報を含む、請求項１２記載のシステム。
【請求項１５】
識別された前記キャッシュコンポーネントを前記クライアントコンピューティングデバイスに対して識別させる情報は、別のネットワークポイントにおけるキャッシュコンポーネントのネットワークアドレスを含む、請求項１２記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
一般的に、コンピューティングデバイスおよび通信ネットワークは情報を交換するために利用することができる。通常の用途では、コンピューティングデバイスが通信ネットワークを介して他のコンピューティングデバイスからコンテンツを要求することができる。例えば、パーソナルコンピューティングデバイスのユーザは、インターネットを介してサーバコンピューティングデバイスからウェブページを要求するために、ソフトウェアブラウザアプリケーションを利用することができる。そのような実施形態では、ユーザコンピューティングデバイスはクライアントコンピューティングデバイスと称され、またサーバコンピューティングデバイスはコンテンツプロバイダと称される。
【０００２】
一般的に、コンテンツプロバイダには、リクエストされたコンテンツのクライアントコンピューティングデバイスへの効率的な伝送、および／または、コンテンツの伝送に関するコストを頻繁に考慮しながら、リクエストされたコンテンツをクライアントコンピューティングデバイスに提供することが推奨されている。より広範な規模の実施形態に関しては、コンテンツプロバイダが非常に多くのコンピューティングデバイスからコンテンツリクエストを受信する可能性があり、それによりコンテンツプロバイダのコンピューティングリソースに負担が掛かるおそれがある。さらには、クライアントコンピューティングデバイスによってリクエストされたコンテンツが多数の要素を有していることも考えられ、それによりコンテンツプロバイダのコンピューティングリソースにはさらなる負担がかかるおそれがある。
【０００３】
１つの例を参照すると、リクエストされたウェブページ、またはオリジナルのコンテンツを多数の付加的なリソース、例えばウェブページと共に表示することができる画像、動画などと関連付けることができる。１つの特定の実施形態においては、ウェブページの付加的なリソースが、多数の埋め込みリソース識別子、例えばユニフォーム・リソース・ロケータ（「ＵＲＬ」）によって識別される。次に、クライアントコンピューティングデバイスのソフトウェアは埋め込みリソース識別子を処理し、コンテンツリクエストを生成する。クライアントコンピューティングデバイスは付加的なリソースに関するリクエストを参照先のコンテンツプロバイダコンピューティングデバイスに伝送することが考えられるので、埋め込みリソースに関連付けられたリソース識別子がコンテンツプロバイダに関連付けられたコンピューティングデバイスを参照することが多い。したがってコンテンツリクエストを満たすために、コンテンツプロバイダは、ウェブページに関連付けられたデータ、ならびに、埋め込みリソースに関連付けられたデータをクライアントコンピューティングデバイスに提供する。
【０００４】
コンテンツデリバリネットワーク（「ＣＤＮ」）サービスプロバイダを利用して、ウェブページおよび／またはウェブページ内で識別されるリソース識別子のようなリクエストされたコンテンツの配信を容易にすることを試みるコンテンツプロバイダも存在する。ＣＤＮサービスプロバイダは一般的に、通信ネットワーク内に存在し、種々のコンテンツプロバイダからのコンテンツを管理することができる多数のコンピューティングデバイスを管理する。コンテンツプロバイダは、コンテンツプロバイダのコンテンツのうちの幾つかまたは全てのコンテンツをＣＤＮサービスプロバイダのコンピューティングデバイスからリクエストすることをクライアントコンピューティングデバイスに指示することができるか、さもなければ提案することができる。
【０００５】
上記の例に関して、コンテンツプロバイダは埋め込みリソースに関連付けられたリソース識別子の変更または置換をＣＤＮサービスプロバイダに推奨することができる。殊に、リソース識別子がＣＤＮサービスプロバイダに関連付けられたコンピューティングデバイスを参照しており、それによってクライアントコンピューティングデバイスが付加的なリソースに関するリクエストを参照先のコンテンツプロバイダコンピューティングデバイスに伝送することが考えられる。通常の場合、コンテンツプロバイダはＣＤＮプロバイダ固有のリソース識別子をリクエストされたコンテンツ（例えばウェブページ）に含ませることによってＣＤＮプロバイダの利用を容易にしている。このアプローチは一般的に、オリジナルコンテンツに対するクライアントコンピューティングデバイスのリクエストを受信する前にコンテンツプロバイダによって実行される「オフライン」プロセスに対応している。したがって、例えば同一のＣＤＮサービスプロバイダに対して代替的なリソース識別子を提供するため、コンテンツに関するリクエストの処理においてＣＤＮサービスプロバイダによって使用される付加的な情報を提供するため、および／または、代替的なＣＤＮサービスプロバイダを識別するためのリソース識別子の変更は、通常の場合オフラインプロセスの実行をコンテンツプロバイダに要求することになるので非効率的であると考えられる。
【０００６】
上述の種々の態様、またそれに伴う本発明の多くの利点は、添付の図面と関連付けられた以下の発明の詳細な説明を参照することによってより容易に認められ、またより良く理解される。
【図面の簡単な説明】
【０００７】
【図１】多数のクライアントコンピューティングデバイス、コンテンツプロバイダおよびコンテンツデリバリネットワークサービスプロバイダを含む、コンテンツ配信環境の概略的なブロック図を示す。
【図２】コンテンツデリバリネットワークサービスプロバイダを用いたコンテンツプロバイダの登録を示している、図１のコンテンツ配信環境の概略的なブロック図を示す。
【図３】クライアントコンピューティングデバイスからコンテンツプロバイダへのコンテンツリクエストの生成および処理を示している、図１のコンテンツ配信環境の概略的なブロック図を示す。
【図４】クライアントコンピューティングデバイスからコンテンツデリバリネットワークサービスプロバイダへと伝送される、埋め込みリソースに対応するＤＮＳクエリの生成および処理を示している、図１のコンテンツ配信環境の概略的なブロック図を示す。
【図５】クライアントコンピューティングデバイスからコンテンツデリバリネットワークサービスプロバイダへと伝送される、代替的な第１のリソース識別子に対応するＤＮＳクエリの生成および処理を示している、図１のコンテンツ配信環境の概略的なブロック図を示す。
【図６】クライアントコンピューティングデバイスからコンテンツデリバリネットワークサービスプロバイダへと伝送される、代替的な第２のリソース識別子に対応するＤＮＳクエリの生成および処理を示している、図１のコンテンツ配信環境の概略的なブロック図を示す。
【図７】クライアントコンピューティングデバイスからコンテンツデリバリネットワークサービスプロバイダへと伝送される、埋め込みリソースリクエストの生成および処理を示している、図１のコンテンツ配信環境の概略的なブロック図を示す。
【図８】一連の代替的なリソース識別子を使用してコンテンツデリバリネットワークサービスプロバイダによって実行されるリクエストルーティングルーチンのフローチャートを示す。
【発明を実施するための形態】
【０００８】
一般的に、本発明は、ネットワークリソース、例えばコンテンツデリバリネットワーク（「ＣＤＮ」）サービスプロバイダによる、コンテンツリクエストに対応するクライアントコンピューティングデバイスからのＤＮＳクエリのルーティングに関する。殊に、本発明の実施例を、１つまたは複数の代替的なリソース識別子を使用して、コンテンツデリバリネットワークサービスプロバイダドメイン内でのクライアントコンピューティングデバイスのルーティングに関連させて説明する。本発明の種々の態様を種々の実施例および実施形態に関して説明するが、当業者であれば、本明細書に記載されている実施形態および実施例は限定を意図したものではないことが分かる。
【０００９】
図１は、コンテンツリクエストを管理および処理するためのコンテンツ配信環境１００の概略的なブロック図を示す。図１に示されているように、コンテンツ配信環境１００には、コンテンツプロバイダおよび／またはＣＤＮサービスプロバイダからコンテンツをリクエストする、複数のクライアントコンピューティングデバイス１０２（一般的にクライアントと称される）が含まれる。図示されている実施例において、クライアントコンピューティングデバイス１０２は、パーソナルコンピューティングデバイス、ラップトップコンピューティングデバイス、ハンドヘルドコンピューティングデバイス、ターミナルコンピューティングデバイス、モバイルデバイス、ワイヤレスデバイス、種々の電子装置および電子機器などを含む多種多様なコンピューティングデバイスに対応することができる。図示されている実施例において、クライアントコンピューティングデバイス１０２は、通信ネットワーク１０８、例えばワイドエリアネットワークまたはローカルエリアネットワークを介する通信を確立するために必要なハードウェアコンポーネントおよびソフトウェアコンポーネントを有している。例えば、クライアントコンピューティングデバイス１０２に、インターネットまたはイントラネットを介する通信を容易にするためのネットワーク機器およびブラウザソフトウェアアプリケーションを実装することができる。
【００１０】
図１には図示されていないが、各クライアントコンピューティングデバイス１０２は何らかのタイプのローカルＤＮＳリゾルバコンポーネント、例えばクライアントコンピューティングデバイスに属するＤＮＳクエリを生成するＤＮＳネームサーバを使用する。１つの実施例においては、クライアントコンピューティングデバイス１０２が所属している企業ネットワークによってローカルＤＮＳリゾルバコンポーネントを提供することができる。別の実施例においては、クライアントコンピューティングデバイス１０２との通信ネットワークコネクションを提供するインターネットサービスプロバイダ（ＩＳＰ）によってローカルＤＮＳリゾルバコンポーネントを提供することができる。
【００１１】
コンテンツ配信環境１００には、通信ネットワーク１０８を介して１つまたは複数のクライアントコンピューティングデバイス１０２と通信するコンテンツプロバイダ１０４も含ませることができる。図１に示されているコンテンツプロバイダ１０４はコンテンツプロバイダに関連付けられた１つまたは複数のコンピューティングデバイスの論理関連付けに対応する。殊に、コンテンツプロバイダ１０４は、クライアントコンピューティングデバイス１０２からのコンテンツ（例えばウェブページ）に関するリクエストを取得して処理するための１つまたは複数のサーバコンピューティングデバイスに対応するウェブサーバコンポーネント１１０を有することができる。さらにコンテンツプロバイダ１０４は、ＣＤＮサービスプロバイダからのネットワークリソースに関するリクエストを取得して処理するための１つまたは複数のコンピューティングデバイスに対応する、オリジンサーバコンポーネント１１２および関連するストレージコンポーネント１１４を有することができる。当業者であれば、コンテンツプロバイダ１０４を種々の付加的なコンピューティングリソース、例えば、コンテンツおよびリソースを管理するための付加的なコンピューティングデバイス、ＤＮＳネームサーバなどに関連付けできることが分かる。例えば、図１には図示していないが、コンテンツプロバイダのドメインに対応するクライアントコンピューティングデバイスＤＮＳクエリを解決する権限を有する１つまたは複数のＤＮＳネームサーバコンポーネントにコンテンツプロバイダ１０４を関連付けることができる。
【００１２】
図１の参照を続ける。コンテンツ配信環境１００にはさらに、通信ネットワーク１０８を介して１つまたは複数のクライアントコンピューティングデバイス１０２およびコンテンツプロバイダ１０４と通信するＣＤＮサービスプロバイダ１０６を含ませることができる。図１に示されているＣＤＮサービスプロバイダ１０６はＣＤＮサービスプロバイダに関連付けられた１つまたは複数のコンピューティングデバイスの論理関連付けに対応する。殊に、ＣＤＮサービスプロバイダ１０６は、通信ネットワーク１０８のノードに対応する複数のＰＯＰ（Point of Presence）ロケーション１１６，１２２，１２８を含むことができる。各ＰＯＰ１１６，１２２，１２８は、クライアントコンピュータ１０２からのＤＮＳクエリを解決するための複数のＤＮＳサーバコンピューティングデバイスからなるＤＮＳコンポーネント１１８，１２４，１３０を有する。さらに各ＰＯＰ１１６，１２２，１２８は、コンテンツプロバイダに由来するリソースを記憶し、また、リクエストされた種々のリソースを種々のクライアントコンピュータへと伝送する、複数のキャッシュサーバコンピューティングデバイスからなるリソースキャッシュコンポーネント１２０，１２６，１３２を有する。ＤＮＳコンポーネント１１８，１２４および１３０ならびにリソースキャッシュコンポーネント１２０，１２６，１３２はさらに、通信を容易にする付加的なソフトウェアコンポーネントおよび／またはハードウェアコンポーネントを有することができ、そのようなコンポーネントには負荷分散および負荷共有のためのソフトウェア／ハードウェアコンポーネントが含まれるが、コンポーネントはそれらに限定されるものではない。
【００１３】
図示されている実施例において、ＤＮＳコンポーネント１１８，１２４，１３０およびリソースキャッシュコンポーネント１２０，１２６，１３２は、それらのコンポーネントまたはコンポーネントの一部が物理的に隔てられているか否かにかかわらず、論理的にグループをなすものと見なされる。さらに、ＰＯＰ１１６，１２２，１２８は図１において、ＣＤＮサーバプロバイダ１０６に論理的に関連付けられているものとして示されているが、クライアントコンピューティングデバイス１０２の種々のデモグラフィックが最善に提供されるように、ＰＯＰは通信ネットワーク１０８にわたり地理的に分散されていてもよい。さらには、当業者であれば、ＣＤＮサーバプロバイダ１０６を種々の付加的なコンピューティングリソース、例えば、コンテンツおよびリソースを管理するための付加的なコンピューティングデバイスなどに関連付けできることが分かる。
【００１４】
次に図２から図７を参照して、図１のコンテンツ配信環境１００の種々のコンポーネント間のインタラクションを説明する。しかしながらそれらは例示を意図したものなので、図示されている実施例は簡略的なものであり、通信を容易にするために使用される多くのコンポーネントは図示されていない。当業者であれば、本発明の精神および範囲から逸脱することなく、そのようなコンポーネントを使用することができ、したがって付加的なインタラクションを行えることが分かる。
【００１５】
図２を参照して、ＣＤＮサービスプロバイダ１０６によるコンテンツプロバイダ１０４の登録に関する例示的なインタラクションを説明する。図２に示されているように、ＣＤＮコンテンツ登録処理は、コンテンツプロバイダ１０４がＣＤＮサービスプロバイダ１０６に登録されることから始まる。図示されている実施例において、ＣＤＮサービスプロバイダ１０６がコンテンツプロバイダ１０４の代わりにコンテンツを提供できるようになるために、コンテンツプロバイダ１０４は登録アプリケーションプログラムインタフェース（「ＡＰＩ」）を使用してＣＤＮサービスプロバイダ１０６に登録される。登録ＡＰＩは、リクエストされたリソースをＣＤＮサービスプロバイダ１０６に提供することになるコンテンツプロバイダ１０４のオリジンサーバ１１２の識別を含む。
【００１６】
当業者であれば、適切なオリジンサーバ１１２の識別に基づいて、コンテンツプロバイダ１０４はクライアントコンピューティングデバイス１０２からのコンテンツリクエストのＣＤＮサービスプロバイダ１０６への伝送を開始できることが分かる。殊に、ＤＮＳルーティング原理にしたがって、リソース識別子に対応するクライアントコンピューティングデバイスリクエストは最終的に、ＣＤＮサービスプロバイダ１０６に関連付けられたＰＯＰ１１６，１２２，１２８へと伝送される。選択されたＰＯＰのリソースキャッシュコンポーネント１２０，１２６，１３２がクライアントコンピューティングデバイス１０２によってリクエストされたリソースのコピーを有していない場合には、リソースキャッシュコンポーネントはコンテンツプロバイダ１０４によって先行して登録されたオリジンサーバ１１２からリソースをリクエストする。
【００１７】
図２の参照を続ける。登録ＡＰＩの受信に基づいて、ＣＤＮサービスプロバイダ１０６はその登録に関する情報を取得して処理する。図示されている実施例において、ＣＤＮサービスプロバイダ１０６は続いて、コンテンツリクエストの一部としてクライアントコンピューティングデバイス１０２によって使用されることになる付加的な情報を生成することができる。付加的な情報には、クライアント識別子、例えばクライアント識別コード、コンテンツプロバイダ識別子、例えばコンテンツプロバイダ識別コード、リソース識別子を処理するための実行可能なコード、例えばスクリプトベースの命令などが含まれるが、情報はそれらに限定されるものではない。当業者であれば、種々のタイプの付加的な情報をＣＤＮサービスプロバイダ１０６によって生成することができ、また付加的な情報を種々のフォーマットのうちのいずれかによって実施できることが分かる。
【００１８】
ＣＤＮサービスプロバイダ１０６は、ＣＤＮサービスプロバイダに適したドメインの識別子（事前に提供されていない限り）および付加的な何らかの情報をコンテンツプロバイダ１０４に戻す。これにより、コンテンツプロバイダ１０４は記憶しているコンテンツを処理することができ、それらのコンテンツはコンテンツプロバイダ固有の情報を有している。１つの実施例においては、図２に示されているように、コンテンツプロバイダ１０４は、本来はオリジンサーバ１１２のドメインを指しているリソース識別子をＣＤＮサービスプロバイダに対応するドメインに変換する。変換されたＵＲＬは、この変換されたＵＲＬに関するＤＮＳクエリが、コンテンツプロバイダ１０４に対応するＤＮＳサーバではなく、ＣＤＮサービスプロバイダ１０６に対応するＤＮＳサーバに（名前）解決されるように、リクエストされたコンテンツに埋め込まれる。図２には変換処理が示されているが、幾つかの実施形態においては、この変換処理を以下において詳細に説明するよう省略することもできる。
【００１９】
一般的に、本来はコンテンツプロバイダを指しているリソースの識別子は、例えばブラウザソフトウェアアプリケーションを介してクライアントコンピューティングデバイス１０２が処理できるリソース識別子の形態である。図示されている実施例においては、リソース識別子としてユニフォーム・リソース・ロケータ（「ＵＲＬ」）が考えられる。リソース識別子はコンテンツプロバイダを指しているリクエストされたコンテンツに含まれるので、リソース識別子は一般的に「コンテンツプロバイダＵＲＬ」とも称される。例示を意図したものであるが、コンテンツプロバイダＵＲＬではコンテンツプロバイダ１０４のドメイン（例えば、contentprovider.com）、リクエストされるリソースの名前（例えば、「resource.xxx」）およびリソースが発見されるパス（例えば「path」）を識別することができる。この実施例において、コンテンツプロバイダＵＲＬは、
http://www.contentprovider.com/path/resource.xxx
である。
【００２０】
図示されている変換処理の間に、コンテンツプロバイダＵＲＬは、変換されたＵＲＬに関連付けられたリソースに関するリクエストがＣＤＮサービスプロバイダ１０６に関連付けられたＰＯＰに解決されるように変更される。１つの実施例において、変換されたＵＲＬではＣＤＮサービスプロバイダ１０６のドメイン（例えば、cdnprovider.com）、リクエストされるリソースの同一の名前（例えば、「resource.xxx」）およびリソースが発見される同一のパス（例えば「path」）が識別される。変換されたＵＲＬはさらに付加的な処理情報（例えば「additional information」）を含むことができる。変換されたＵＲＬは、
http://additional_information.cdnprovider.com/path/resources.xxx
となる。
【００２１】
別の実施例においては、ＣＤＮサービスプロバイダ１０６に関連付けられた情報が、例えばプリペンディングまたは他の技術によって、変更されたＵＲＬに含まれているので、変換されたＵＲＬはオリジナルのＵＲＬに関連付けられた全ての情報を保持することができる。この実施例において、変換されたＵＲＬは、
http://additional_information.cdnprovider.com/www.contentprovider.com/path/resource.xxx
となる。
【００２２】
ここで図３を参照する。クライアントコンピューティングデバイス１０２は、図２に示した登録処理および変換処理の終了後に、コンテンツリクエストを生成する。このコンテンツリクエストはコンテンツプロバイダ１０４によって、例えばウェブサーバ１１０を介して受信および処理される。図示されている実施例に関して、コンテンツに関するリクエストは一般的なネットワークプロトコル、例えばハイパーテキストトランスファープロトコル（「ＨＴＴＰ」）に従うものでよい。コンテンツリクエストの受信に基づいて、コンテンツプロバイダ１０４は適切な応答コンテンツを識別する。図示されている実施例において、リクエストされたコンテンツを、情報、例えばハイパーテキストマークアップ言語（「ＨＴＭＬ」）、拡張可能マークアップ言語（「ＸＭＬ」）などを処理することによってクライアントコンピューティングデバイス１０２に表示されるウェブページに対応させることができる。上述のように、リクエストされたコンテンツは多数の埋め込みリソース識別子も含むことができ、それらはリクエストされたコンテンツの処理の一部としてクライアントコンピューティングデバイス１０２によって取得されるべきリソースオブジェクトに対応する。埋め込みリソース識別子は一般的にオリジナルリソース識別子またはオリジナルＵＲＬと称される。
【００２３】
リクエストしたコンテンツの受信に基づいて、クライアントコンピューティングデバイス１０２は、例えばブラウザソフトウェアアプリケーションによって、コンテンツに含まれるいずれかのマークアップコードの処理を開始し、埋め込みリソース識別子によって識別されたリソースの取得を試みる。したがって、コンテンツを取得する第１のステップは、クライアントコンピューティングデバイス１０２による（自身のローカルＤＮＳリゾルバを介する）、変換されたＵＲＬの「.」および「com」部分を管轄するＤＮＳサーバを識別できるオリジナルＵＲＬリソース識別子に関するＤＮＳクエリの発行に対応する。埋め込みＵＲＬの「.」および「com」部分を解決した後に、クライアントコンピューティングデバイス１０２は続いて、埋め込みＵＲＬの「.cdnprovider」部分を管轄するＤＮＳサーバを識別できる、リソースＵＲＬに関するＤＮＳクエリを発行する。ＵＲＬの「.」および「com」部分に対応するＤＮＳクエリの発行は周知の事項であるので、ここでは説明しない。
【００２４】
ここで図４を参照する。図示されている実施例においては、オリジナルＵＲＬの「cdnprovider」部分の解決が成功すると、ＣＤＮサービスプロバイダ１０６に関連付けられたＤＮＳサーバのネットワークアドレス、例えばＩＰアドレスが識別される。１つの実施例において、ＩＰアドレスはＰＯＰのＤＮＳサーバコンポーネントにとってユニークな特定のネットワークアドレスである。別の実施例においては、ＩＰアドレスを１つまたは複数のＰＯＰによって共有することができる。この実施例においては、共有ＩＰアドレスについての別のＤＮＳクエリが一対多のネットワークルーティングスキーマ、例えばエニーキャストを使用し、特定のＰＯＰがネットワークトポロジに依存してリクエストを受信する。例えば、エニーキャストを実施する場合、共有ＩＰアドレスについてクライアントコンピューティングデバイス１０２によって発行されたＤＮＳクエリがクライアントコンピューティングデバイスから、論理的に最短のネットワークトポロジ距離（頻繁にネットワークホップと称される）を有しているＤＮＳサーバコンポーネントに到達する。ネットワークトポロジ距離は地理的な距離に対応している必要はない。しかしながら、幾つかの実施形態においては、ネットワークトポロジ距離がクライアントコンピューティングデバイス１０２とＰＯＰとの間の最短ネットワーク距離を表すことが考えられる。
【００２５】
図４の参照を続ける。上記のいずれかの実施例（またはいずれかの他の実施例）においては、ＰＯＰ１１６のＤＮＳコンポーネント１１８における特定のＤＮＳがクライアントコンピューティングデバイス１０２からオリジナルＵＲＬに対応するＤＮＳクエリを受信する。ＤＮＳコンポーネント１１８におけるＤＮＳサーバのうちの１つがリクエストを受信すると、特定のＤＮＳサーバはリクエストの解決を試みる。図示されている実施例においては、特定のＤＮＳサーバが、リクエストされたリソースに関するリクエストを処理するキャッシュサーバコンポーネントのＩＰアドレスを識別することによって、ＤＮＳクエリを解決することができる。上述のように、リクエストされたリソースを別のソース、例えばピアキャッシュサーバコンピューティングデバイスまたはコンテンツプロバイダ１０４のオリジンサーバ１１２から取得できる場合、もしくは取得が試みられる場合、選択されたリソースキャッシュコンポーネントは、リクエストされたリソースを提供することによってリクエストを処理することができる。
【００２６】
キャッシュサーバコンポーネントを選択する代わりに、ＣＤＮサービスプロバイダ１０６は種々の代替的なリソース識別子のセットを保守することができる。代替的なリソース識別子をＣＤＮサービスプロバイダ１０６によってクライアントコンピューティングデバイス１０２に提供することができるが、これは、代替的なリソース識別子に対する後続のＤＮＳクエリがＣＤＮサービスプロバイダのネットワーク内の異なるＤＮＳサーバコンポーネントに解決されるように行われる。図示されている実施例においては、代替的なリソース識別子として１つまたは複数の正規名レコード、すなわち「ＣＮＡＭＥ（canonical name）」レコードが考えられる。１つの実施例において、各ＣＮＡＭＥレコードはＣＤＮサービスプロバイダ１０６のドメイン（例えば「cdnprovider.com」または「cdnprovider-1.com」）を識別する。下記においてより詳細に説明するように、ＣＮＡＭＥにおけるドメインはオリジナルＵＲＬまたは先行のＣＮＡＭＥレコードにおいて発見されたドメインと同一である必要はない。付加的に、各ＣＮＡＭＥレコードはルーティング情報のリクエスト（例えば「request routing information」）のような付加的な情報を含む。ＣＮＡＭＥレコードの例として、
http://request_routing_information.cdnprovider.com
が考えられる。
【００２７】
図示されている実施例において、ＣＮＡＭＥレコードは、ＣＤＮサービスプロバイダ１０６のより適切なＤＮＳサーバを指すためにＤＮＳサーバによって生成および提供される。本明細書に従い使用されているように、適切性は種々の目的に応じた何らかのやり方でＣＤＮサービスプロバイダ１０６によって規定される。１つの例では、ＣＤＮサービスプロバイダ１０６はＤＮＳクエリを地理的な判定基準に従いＤＮＳサーバに伝送することができる。地理的な判定基準は、ＣＤＮサービスプロバイダ１０６とコンテンツプロバイダ１０４との間で締結されている、地理を基礎とした局所的サービスプランに対応するものでよく、このサービスプランにおいては種々のＣＤＮサービスプロバイダ１０６のＰＯＰが地理的な領域にグループ分けされている。したがって、コンテンツプロバイダの局所的なプランには対応していない領域において受信されたクライアントコンピューティングデバイス１０２のＤＮＳクエリを、コンテンツプロバイダの局所的なプランに対応する領域におけるＤＮＳサーバによってより効果的に処理することができる。この例においては、ＤＮＳサーバコンポーネント１１８が地理的な情報をクライアントから直接的に取得することができる（例えば、クライアントコンピューティングデバイスまたはＩＳＰによって提供された情報）か、間接的に取得することができる（例えば、クライアントコンピューティングデバイスのＩＰアドレスを介して推測された情報）。
【００２８】
別の例では、ＣＤＮサービスプロバイダ１０６はＤＮＳクエリをサービスレベル判定基準に従いＤＮＳサーバに伝送することができる。サービスレベル判定基準は、ＣＤＮサービスプロバイダ１０６とコンテンツプロバイダ１０４との間で締結されている、サービスメトリクスまたは性能メトリクスに対応するものでよい。例えば、性能メトリクスには、ＣＤＮサービスプロバイダのＰＯＰとクライアントコンピューティングデバイス１０２との間でのデータ伝送の待ち時間、コンテンツプロバイダ１０４の代わりにＣＤＮサービスプロバイダのＰＯＰによって提供された全てのデータ、データ伝送に関するエラーレートなどが含まれる。
【００２９】
さらに別の例では、ＣＤＮサービスプロバイダ１０６はＤＮＳクエリをネットワーク性能判定基準に従いＤＮＳサーバに伝送することができる。ネットワーク性能判定基準は、ＣＤＮサービスプロバイダのＰＯＰからクライアントコンピューティングデバイス１０２へのデータ伝送に関するネットワーク性能の測定に対応するものでよい。例えば、ネットワーク性能メトリクスには、（クライアントコンピューティングデバイスまたはＣＤＮサービスプロバイダ１０６によって測定された）ネットワークデータ伝送待ち時間、ネットワークデータエラーレートなどが含まれる。
【００３０】
図示されている実施例によれば、ＤＮＳサーバは種々のオリジナルＵＲＬのためのＣＮＡＭＥレコードを規定するデータ記憶部を保守する。特定のオリジナルＵＲＬに対応するＤＮＳクエリがデータ記憶部内のエントリと合致すると、ＤＮＳサーバコンポーネント１１８はＣＮＡＭＥレコードをデータ記憶部内に記憶されているものとして戻す。図示されている実施例においては、データ記憶部は特定のオリジナルＵＲＬに対応する複数のＣＮＡＭＥレコードを含むことができる。複数のＣＮＡＭＥレコードは、クライアントコンピューティングデバイスに戻すことができる潜在的な候補のセットを規定する。そのような実施例においては、ＤＮＳサーバコンポーネント１１８は、直接的に、またはネットワークベースのサービスを介して、考えられるＣＮＡＭＥのセットから適切なＣＮＡＭＥを選択する際に付加的なロジックを実施することができる。図示されている実施例において、各ＤＮＳサーバコンポーネント１１８，１２４，１３０は、ＣＤＮサービスプロバイダ１０６によって中央において管理することができるＣＮＡＭＥレコードを規定する同一のデータ記憶部を保守する。択一的に、各ＤＮＳサーバコンポーネント１１８，１２４，１３０はＣＮＡＭＥレコードを規定するＰＯＰ固有のデータ記憶部を有することができ、このデータ記憶部をＣＤＮサービスプロバイダ１０６によって中央において管理することができるか、ＰＯＰ１１６，１２２，１２８によって局所的に管理することができる。
【００３１】
戻されたＣＮＡＭＥは、現在のＤＮＳクエリのＵＲＬ／ＣＮＡＭＥ内に存在する情報とは異なる、またはその情報に付加的なリクエストルーティング情報を含むことができる。例えば、ＣＮＡＭＥの選択が局所的なプランに基づく場合、特定の局所的なプランをＣＮＡＭＥレコードの「request_routing_information」部分において識別することができる。特定の識別子をＣＮＡＭＥレコードの「request_routing_information」部分に含ませることによって、サービスレベルプランおよびファイル管理を識別するために同様のアプローチを採用することができる。別の実施例においては、リクエストルーティング情報を、現在のＵＲＬ／ＣＮＡＭＥにおいて発見されたドメインとは異なる、ＣＤＮサービスプロバイダ１０６のドメインの識別時に発見することができる。例えば、ＣＮＡＭＥが局所的なプランに基づく場合、特定の局所的なプランのドメイン（例えば「cdnprovder-regionl.com」）を特定のＣＮＡＭＥレコードのドメイン名部分に使用することができる。あらゆる付加的なリクエストルーティング情報を、現在のＵＲＬ／ＣＮＡＭＥにおける既存のリクエストルーティング情報の前に付加することができるので、先行のリクエストルーティング情報が失われることはない（例えばhttp://serviceplan.regionalplan.cdnprovider.com）。当業者には明らかなように、付加的なリクエストルーティング情報をＤＮＳサーバコンポーネント１１８によって選択されているＣＮＡＭＥレコードに含ませるために、付加的な技術または代替的な技術、および／または、それらの技術の組み合わせを使用することができる。
【００３２】
図４の参照を続ける。当業者であれば、ＤＮＳサーバコンポーネント１０８は、ＣＮＤサービスプロバイダ１０６のより適切なＤＮＳサーバに解決することを意図しているＣＮＡＭＥレコードを選択できる（もしくは取得できる）ことが分かる。しかしながら、同一のＤＮＳサーバがクライアントコンピューティングデバイスに提供されるべきＣＮＡＭＥに関する後続のＤＮＳクエリに対しても権限を有するようにしてもよい。例えば、特定のＤＮＳサーバは特定の局所的なプランも、サービスレベルプランも管轄するものであってよい。したがってＣＮＡＭＥが戻されることによって、ＤＮＳクエリの発生と同時に同一のＤＮＳクエリが到来する結果が起こりうる（これは部分的にクライアントコンピューティングデバイスの地理にも起因する）。そのような実施例においては、ＤＮＳサーバ、例えばＤＮＳサーバコンポーネント１１８は、将来のＤＮＳクエリを先行して解決することを選択できる。
【００３３】
ここで図５を参照する。ＤＮＳサーバコンポーネント１１８からのＣＮＡＭＥの受信に基づき、クライアントコンピューティングデバイス１０２はそのＣＮＡＭＥに対応する後続のＤＮＳクエリを生成する。上記において図４を参照して説明したように、ＤＮＳクエリの処理は先ず、ＣＮＡＭＥの「cdnprovider」部分に関するクエリに続く「.」および「com」部分に関するＤＮＳクエリでもって開始される。しかしながら、先行のＤＮＳクエリの結果がキャッシュされる限り（またその結果が有効で有り続ける限り）、クライアントコンピューティングデバイス１０２はキャッシュされた情報を使用することができるので、全体の処理を繰り返す必要はない。しかしながら、ある時点において、ＤＮＳサーバコンポーネント１１８によって提供されたＣＮＡＭＥ（図４を参照されたい）および先行のＵＲＬ／ＣＮＡＭＥが共通のＣＤＮサービスプロバイダドメインを共有するか否かに依存して、ＣＤＮサービスプロバイダ１０６によって提供される異なるＰＯＰに解決することができる。図５に示されているように、ＰＯＰ１２２のＤＮＳサーバコンポーネント１２４はこの時点において、ＤＮＳサーバコンポーネント１１８によって先行して提供された現在のＣＮＡＭＥにおける異なる情報に基づき権限を有している。前述のように、ＤＮＳサーバコンポーネント１２４は、コンテンツリクエストを処理するキャッシュコンポーネントのＩＰアドレスを有するＣＮＡＭＥに対するＤＮＳクエリを解決するか否か、または、上述のようにして選択された他の代替的なリソース識別子を提供するか否かを決定することができる。
【００３４】
例示を目的として、（ＤＮＳサーバコンポーネント１１６によって提供された）現在のＣＮＡＭＥに対応するＤＮＳクエリは、ＤＮＳサーバコンポーネント１１８のデータ記憶部におけるＣＮＡＭＥレコードにも対応していることをＤＮＳサーバコンポーネント１１８が特定した場合を想定する。そのような実施例においては、ＤＮＳサーバコンポーネント１２４が特定のＣＮＡＭＥを選択し、そのＣＮＡＭＥをクライアントコンピューティングデバイスに戻すために必要とされるあらゆる処理を実行する。ここで図６を参照すると、クライアントコンピューティングデバイス１０２は、ＤＮＳサーバコンポーネント１２４によって提供されたＣＮＡＭＥ（図５を参照されたい）に対応している、後続の第２のＤＮＳクエリを伝送している。既に説明したＤＮＳクエリの処理に応じて、この実施例ではＤＮＳクエリがＰＯＰ１２８のＤＮＳサーバコンポーネント１３０によって受信される。ここでもまた、ＤＮＳサーバコンポーネント１３０は、コンテンツリクエストを処理するキャッシュコンポーネントのＩＰアドレスを有するＣＮＡＭＥに対するＤＮＳクエリを解決するか否か、または、上述のようなやり方で選択された他の代替的なリソース識別子を提供するか否かを決定することができる。この実施例においては、ＤＮＳサーバコンポーネント１３０がＩＰアドレスを戻す。
【００３５】
図示されている実施例においては、ＤＮＳサーバコンポーネント、例えばＤＮＳサーバコンポーネント１３０は、リソースキャッシュコンポーネントの選択に関して種々の情報を使用することができる。１つの実施例において、ＤＮＳサーバコンポーネントは同一のＰＯＰのリソースキャッシュコンポーネントをデフォルトで選択することができる。別の実施例においては、ＤＮＳサーバコンポーネントは、負荷分散アルゴリズムおよび負荷共有アルゴリズムに基づいて、リソースキャッシュコンポーネントを選択することができる。さらにＤＮＳサーバコンポーネントは、特定のリソースキャッシュコンポーネントを割り当てるために、ネットワーク性能メトリクスまたはネットワーク性能測定を利用することができる。ＤＮＳサーバコンポーネントによって選択されたＩＰアドレスをリソースキャッシュにおける特定のキャッシュサーバに対応付けることができる。択一的に、ＩＰアドレスを（例えば負荷分散としての）ハードウェア／ソフトウェア選択コンポーネントに対応付けることができる。
【００３６】
ここで図７を参照する。図示されている実施例においては、ＤＮＳサーバコンポーネント１３０がＰＯＰ１２８のリソースキャッシュコンポーネント１３２を選択した場合が想定されている。リソースキャッシュコンポーネント１３２に関するＩＰアドレスの受信に基づき、クライアントコンピューティングデバイス１０２はリクエストされたコンテンツに関するリクエストをリソースキャッシュコンポーネント１３２に伝送する。リソースキャッシュコンポーネント１３２は上述したやり方でリクエストを処理し、リクエストされたコンテンツをクライアントコンピューティングデバイス１０２に伝送する。
【００３７】
以下では図８を参照しながら、ＣＤＮサービスプロバイダ１０６によって実施されるリクエストルーチン８００を説明する。当業者であれば、ルーチン８００に関して概略的に表されている動作／ステップを、ＣＤＮサービスプロバイダ１０６に関連付けられている１つまたは複数のコンピューティングデバイス／コンポーネントによって実行できることが分かる。つまり、ルーチン８００はＣＤＮサービスプロバイダ１０６によって実行できるものとして論理的に関連付けられている。
【００３８】
ブロック８０２においては、ＤＮＳサーバコンポーネント１１８，１２４，１３０のうちの１つがリソース識別子に対応するＤＮＳクエリを受信する。上述したように、リソース識別子としてＵＲＬが考えられ、このＵＲＬはクライアントコンピューティングデバイス１０２によってリクエストされたコンテンツに埋め込まれたものであり、またコンテンツプロバイダ１０４によって先行して提供されたものである。代替的に、リソース識別子は、クライアントコンピューティングデバイス１０２から先行して受信したＤＮＳクエリに対する応答としてコンテンツプロバイダのＤＮＳサーバによって提供されたＣＮＡＭＥに対応するものであってもよい。判定ブロック８０４では、現在のＤＮＳサーバがＤＮＳクエリの解決に関して権限を有しているか否かが判定される。図示されている実施例において、ＤＮＳサーバは、受信したリソース識別子に対応するＣＮＡＭＥレコードが存在しない場合にＤＮＳクエリを解決する権限があるか否かを判定することができる。ＤＮＳサーバが権限を有しているか否かを決定するために、択一的または付加的な方法論を実施することができる。
【００３９】
現在のＤＮＳサーバが（同一のＤＮＳサーバが後続のＤＮＳクエリに対して権限を有するかについての決定も含めて）権限を有している場合、現在のＤＮＳサーバはキャッシュサーバコンポーネントのＩＰアドレスを戻すことによってＤＮＳクエリを解決する。適切なリソースキャッシュコンポーネントを選択するための複数の方法論は上記において挙げているが、それらは制限を意図したものではない。さらに上述のように、ＩＰアドレスをリソースキャッシュコンポーネントの特定のキャッシュサーバに対応付けることができるか、一般的にキャッシュサーバのグループに対応付けることができる。
【００４０】
択一的に、判定ブロック８０４において、ＤＮＳサーバが権限を有していない場合、ブロック８０８においてＤＮＳサーバコンポーネントは代替的なリソース識別子を選択して伝送する。上述のように、ＤＮＳサーバコンポーネントは現在のＤＮＳクエリに依存して適切なＣＮＡＭＥを識別するためにデータ記憶部を使用することができる。さらにＤＮＳサーバコンポーネントは付加的な論理的な処理を実施し、潜在的なＣＮＡＭＥのセットからの選択を行うことができる。ブロック８１０においては、種々のＤＮＳサーバコンポーネント１１８，１２４，１３０がＣＮＡＭＥに対応するＤＮＳクエリを受信する。その後ルーチン８００は判定ブロック８０４に戻り、相応に繰り返される。
【００４１】
上記においては実施例を開示して説明したが、当業者であれば、本発明の範囲および精神から逸脱することなく、付加的な実施形態または代替的な実施形態を実施できることが分かる。さらには、例示を目的として多くの実施例を示したが、当業者であればそれらの実施例を必ずしも組み合わせる必要はない、もしくは一緒に実施する必要はないことが分かる。例えば、図示した幾つかの実施例を本発明についてのヴァリエーションの見地から使用すること、または実施することは必ずしも必要ではない。
【００４２】
条件を表す記述、例えば、とりわけ「可能」、「可能性がある」、「であろう」または「できる」は、別個の記載が無い限り、もしくは使用されているコンテキスト内で理解される限り、一般的に特定の実施形態は特定の特徴、構成要素および／またはステップを含むが、他の実施形態はそれらの特定の特徴、構成要素および／またはステップを含まないことを意味する。したがってそのような条件を表す言葉は、特徴、構成要素および／またはステップが１つまたは複数の実施形態にいずれにせよ必要とされること、もしくは、１つまたは複数の実施形態が、ユーザ入力またはプロンプトの使用の有無に拘らず、それらの特徴、構成要素および／またはステップがいずれかの特定の実施形態に含まれるか否か、またはいずれかの特定の実施形態において実施されるべきか否かを決定するためのロジックを含んでいなければならないことを意味しているのではない。
【００４３】
本明細書において説明した、および／または、添付の図面に示したフローチャートにおけるあらゆるプロセスの説明、構成要素またはブロックは、プロセスにおける特定の論理的な機能またはステップを実施するための１つまたは複数の実行可能な命令を含むコードモジュール、コードセグメントまたはコード部分を潜在的に表すものと解されるべきである。当業者であれば分かるように、択一的な実施形態は、そこに含まれる機能に依存して構成要素または機能を削除することができるか、（実質的に同時の実行または反対の順序での実行も含めて）図示または説明した順序とは異なる順序で実行することができる、本明細書において説明した実施形態の範囲に含まれる。さらには、上記において説明したデータおよび／またはコンポーネントを、コンピュータ読み取り可能媒体に記憶し、コンピュータが実行可能なコンポーネントを記憶しているコンピュータ読み取り可能記憶媒体、例えばＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭに関連付けられたドライブ機構を使用して、もしくは、さらにネットワークインタフェースを使用して、コンピューティングデバイスのメモリにロードすることができ、コンポーネントおよび／またはデータを単一の機器に記憶させることができるか、何らかのやり方で分散させて記憶できることも明らかである。したがって、汎用コンピューティングデバイスを、上述の種々のデータおよび／またはコンポーネントの処理および／または実行も含めて、本発明によるプロセス、アルゴリズムおよび方法論を実施するよう構成することができる。
【００４４】
上記の実施形態についての種々のヴァリエーションおよび修正形態が考えられ、それらの構成要素は他の許容される実施例に含まれると解するべきである。そのような全ての修正形態およびヴァリエーションは本発明の範囲に含まれ、添付の特許請求の範囲に記載された発明によって保護されることが意図されている。
【００４５】
第１項  コンテンツプロバイダによって提供されたオリジナルのリソース識別子に関連付けられている、リクエストされたリソースに対応するＤＮＳクエリを、コンテンツプロバイダとは異なるコンテンツデリバリネットワークサービスプロバイダに対応する第１のＤＮＳサーバにおいて、クライアントコンピューティングデバイスから取得するステップを有し、
第１のＤＮＳサーバはＤＮＳクエリに対して権限を有しているか否かを決定するステップを有し、
ＤＮＳサーバが権限を有していないことが決定されると、クライアントコンピューティングデバイスおよびコンテンツプロバイダに関連付けられている情報に基づき、ＤＮＳクエリによってコンテンツデリバリネットワークサービスプロバイダに対応するドメインに解決させ、且つ、オリジナルのリソース識別子に含まれていないルーティング情報をリクエストさせる情報を含む代替的なリソース識別子を取得するステップを有し、
代替的なリソース識別子をクライアントコンピューティングデバイスに伝送するステップを有し、
コンテンツプロバイダとは異なるコンテンツデリバリネットワークサービスプロバイダに対応する第２のＤＮＳサーバにおいて、クライアントコンピューティングデバイスから、コンテンツデリバリネットワークサービスプロバイダによって提供された代替的なリソース識別子に対応する後続のＤＮＳクエリを取得するステップを有し、
第２のＤＮＳサーバは後続のＤＮＳクエリに対して権限を有しているか否かを決定するステップを有し、
第２のＤＮＳサーバが第２のＤＮＳクエリに対して権限を有している場合には、オリジナルのリソースリクエストに関連付けられたコンテンツを提供するキャッシュコンポーネントを選択するステップを有し、
第２のＤＮＳサーバが権限を有していることが決定されると、選択されたキャッシュコンポーネントを識別する情報を伝送するステップを有する、ルーティングをリクエストする方法。
【００４６】
第２項  オリジナルのリソース識別子は、コンテンツプロバイダによって提供されたユニフォーム・リソース・ロケータに対応し、ＤＮＳクエリをコンテンツデリバリネットワークサービスプロバイダに対応するドメインに解決する、第１項記載の方法。
【００４７】
第３項  オリジナルのリソース識別子は、コンテンツプロバイダによって先行して提供された代替的なリソース識別子に対応し、ＤＮＳクエリをコンテンツデリバリネットワークサービスプロバイダに対応するドメインに解決する、第１項記載の方法。
【００４８】
第４項  代替的なリソース識別子は正規名レコード識別子に対応する、第１項記載の方法。
【００４９】
第５項  オリジナルのリソース識別子および代替的なリソース識別子はコンテンツデリバリネットワークサービスプロバイダに対応する同一のドメインを識別する情報を含む、第１項記載の方法。
【００５０】
第６項  オリジナルのリソース識別子はコンテンツデリバリネットワークサービスプロバイダに対応する第１のドメインを識別する情報を含み、代替的なリソース識別子はコンテンツデリバリネットワークサービスプロバイダに対応する第２のドメインを識別する情報を含む、第１項記載の方法。
【００５１】
第７項  コンテンツプロバイダに関連付けられた情報は局所的なサービス情報を含み、代替的なリソース識別子はコンテンツデリバリネットワークサービスプロバイダによって提供された局所的なサービスプランを識別する情報を含む、第１項記載の方法。
【００５２】
第８項  コンテンツプロバイダに関連付けられた情報はサービスレベル情報を含み、代替的なリソース識別子はコンテンツデリバリネットワークサービスプロバイダによって提供されたサービスレベルプランを識別する情報を含む、第１項記載の方法。
【００５３】
第９項  コンテンツプロバイダに関連付けられた情報はリクエストされたコンテンツに対応するファイル情報を含み、代替的なリソース識別子はコンテンツデリバリネットワークサービスプロバイダによって提供されたファイル処理プランを識別する情報を含む、第１項記載の方法。
【００５４】
第１０項  クライアントコンピューティングデバイスに関連付けられた情報は、クライアントコンピューティングデバイスの地理的なロケーションに対応する、第１項記載の方法。
【００５５】
第１１項  さらに、
第２のＤＮＳサーバが後続のＤＮＳクエリに対して権限を有していないことが決定されると、クライアントコンピューティングデバイスおよびコンテンツプロバイダに関連付けられている情報に基づき、ＤＮＳクエリによってコンテンツデリバリネットワークサービスプロバイダに対応するドメインに解決させ、且つ、オリジナルのリソース識別子または代替的なリソース識別子に含まれていないルーティング情報をリクエストさせる情報を含む第２の代替的なリソース識別子を取得するステップを有し、
代替的なリソース識別子をクライアントコンピューティングデバイスに伝送するステップを有し、
コンテンツプロバイダとは異なるコンテンツデリバリネットワークサービスプロバイダに対応する第３のＤＮＳサーバにおいて、クライアントコンピューティングデバイスから、コンテンツデリバリネットワークサービスプロバイダによって提供された第２の代替的なリソース識別子に対応する第２の後続のＤＮＳクエリを取得するステップを有し、
第３のＤＮＳサーバは第２の後続のＤＮＳクエリに対して権限を有しているか否かを決定するステップを有し、
第３のＤＮＳサーバが第２の後続のＤＮＳクエリに対して権限を有している場合には、オリジナルのリソースリクエストに関連付けられたコンテンツを提供するキャッシュコンポーネントを選択するステップを有し、
第３のＤＮＳサーバが第２の後続のＤＮＳクエリに対して権限を有していることが決定されると、選択されたキャッシュコンポーネントを識別する情報を伝送するステップを有する、第１項記載の方法。
【００５６】
第１２項  さらに、
リクエストされたコンテンツに関して、クライアントコンピューティングデバイスからリクエストを取得するステップを有し、
クライアントコンピューティングデバイスからのリクエストに応答して、リクエストされたコンテンツを選択されたキャッシュコンポーネントから伝送するステップを有する、第１項記載の方法。
【００５７】
第１３項  選択されたキャッシュコンポーネントを識別する情報は、選択されたキャッシュコンポーネントに対応するネットワークアドレスを含む、第１項記載の方法。
【００５８】
第１４項  第１のリソース識別子に関連付けられているリクエストされたリソースに対応するＤＮＳクエリを、コンテンツデリバリネットワークサービスプロバイダに対応する第１のＤＮＳサーバにおいて、クライアントコンピューティングデバイスから取得するステップを有し、
第１のリソース識別子は代替的なリソース識別子に関連付けられていることを決定するステップを有し、
ＤＮＳクエリによってコンテンツデリバリネットワークサービスプロバイダに対応するドメインに解決させ、且つ、第１のリソース識別子に含まれていないルーティング情報を付加的にリクエストさせる情報を含む代替的なリソース識別子をクライアントコンピューティングデバイスに伝送するステップを有し、
コンテンツデリバリネットワークサービスプロバイダによって提供された代替的なリソース識別子に対応する後続のＤＮＳクエリを、コンテンツデリバリネットワークサービスプロバイダに対応する第２のＤＮＳサーバにおいて、クライアントコンピューティングデバイスから取得するステップを有し、
第２のＤＮＳサーバにおいて後続のＤＮＳクエリを解決し、オリジナルのリソースリクエストに関連付けられたコンテンツを提供するキャッシュコンポーネントを識別するステップを有し、
識別されたキャッシュコンポーネントを識別する情報をクライアントコンピューティングデバイスに伝送するステップを有する、ルーティングをリクエストする方法。
【００５９】
第１５項  第１のリソース識別子はユニフォーム・リソース・ロケータに対応し、ＤＮＳクエリをコンテンツデリバリネットワークサービスプロバイダに対応するドメインに解決する、第８項記載の方法。
【００６０】
第１６項  オリジナルのリソース識別子は代替的なリソース識別子に対応し、ＤＮＳクエリをコンテンツデリバリネットワークサービスプロバイダに対応するドメインに解決する、第８項記載の方法。
【００６１】
第１７項  代替的なリソース識別子は正規名レコード識別子に対応する、第８項記載の方法。
【００６２】
第１８項  オリジナルのリソース識別子および代替的なリソース識別子はコンテンツデリバリネットワークサービスプロバイダに対応する同一のドメインを識別する情報を含む、第８項記載の方法。
【００６３】
第１９項  オリジナルのリソース識別子はコンテンツデリバリネットワークサービスプロバイダに対応する第１のドメインを識別する情報を含み、代替的なリソース識別子はコンテンツデリバリネットワークサービスプロバイダに対応する第２のドメインを識別する情報を含む、第８項記載の方法。
【００６４】
第２０項  代替的なリソース識別子に関連付けられた第１のリソース識別子を決定するステップは、
リクエストされたコンテンツに関連付けられたコンテンツプロバイダに対応するリソースルーティング情報を取得するステップと、
リクエストされたコンテンツに関連付けられたコンテンツプロバイダに対応するリソースルーティング情報に依存して、代替的なリソース識別子を選択するステップとを有する、第８項記載の方法。
【００６５】
第２１項  コンテンツプロバイダに関連付けられた情報は局所的なサービス情報を含み、代替的なリソース識別子はコンテンツデリバリネットワークサービスプロバイダによって提供された局所的なサービスプランを識別する情報を含む、第１１項記載の方法。
【００６６】
第２２項  コンテンツプロバイダに関連付けられた情報はサービスレベル情報を含み、代替的なリソース識別子はコンテンツデリバリネットワークサービスプロバイダによって提供されたサービスレベルプランを識別する情報を含む、第１１項記載の方法。
【００６７】
第２３項  さらに、ＤＮＳクエリに関連付けられたクライアントコンピューティングデバイスに対応するリソースルーティング情報を取得するステップを有する、第１１項記載の方法。
【００６８】
第２４項  コンテンツデリバリネットワークサービスプロバイダに関連付けられたプレゼンスの第１のネットワークポイントを有し、プレゼンスの第１のネットワークポイントはクライアントコンピューティングデバイスからＤＮＳクエリを受信するＤＮＳサーバコンポーネントを含み、
ＤＮＳクエリはリクエストされたリソースに対応し、且つ、第１のリソース識別子に関連付けられており、
プレゼンスの第１のネットワークポイントにおけるＤＮＳサーバは、
第１のリソース識別子は代替的なリソース識別子に関連付けられていることを決定し、
ＤＮＳクエリによってコンテンツデリバリネットワークサービスプロバイダに対応するドメインに解決させ、且つ、第１のリソース識別子に含まれていないルーティング情報を付加的にリクエストさせる情報を含む代替的なリソース識別子をクライアントコンピューティングデバイスに伝送し、
コンテンツデリバリネットワークサービスプロバイダに関連付けられたプレゼンスの第２のネットワークポイントを有し、プレゼンスの第２のネットワークポイントはクライアントコンピューティングデバイスから後続のＤＮＳクエリを受信するＤＮＳサーバコンポーネントを含み、
後続のＤＮＳクエリはリクエストされたリソースに対応し、且つ、代替的なリソース識別子に関連付けられており、
プレゼンスの第２のネットワークポイントにおけるＤＮＳサーバは、
後続のＤＮＳクエリを解決し、オリジナルのリソースリクエストに関連付けられたコンテンツを提供するキャッシュコンポーネントを識別し、
識別されたキャッシュコンポーネントを識別する情報をクライアントコンピューティングデバイスに伝送する、ルーティングをリクエストするシステム。
【００６９】
第２５項  オリジナルのリソース識別子は、コンテンツプロバイダによって提供されたユニフォーム・リソース・ロケータに対応し、ＤＮＳクエリをコンテンツデリバリネットワークサービスプロバイダに対応するドメインに解決する、第１２項記載のシステム。
【００７０】
第２６項  代替的なリソース識別子は正規名レコード識別子に対応する、第１２項記載のシステム。
【００７１】
第２７項  コンテンツプロバイダに関連付けられた情報は局所的なサービス情報を含み、代替的なリソース識別子はコンテンツデリバリネットワークサービスプロバイダによって提供された局所的なサービスプランを識別する情報を含む、第１２項記載のシステム。
【００７２】
第２８項  プレゼンスの第１のネットワークポイントにおけるＤＮＳサーバはコンテンツプロバイダに関連付けられた情報を取得し、
代替的なリソース識別子はコンテンツデリバリネットワークサービスプロバイダによって提供されたサービスレベルプランを識別する情報を含む、第１２項記載のシステム。
【００７３】
第２９項  プレゼンスの第１のネットワークポイントにおけるＤＮＳサーバはコンテンツプロバイダに関連付けられた情報を取得し、
代替的なリソース識別子はコンテンツデリバリネットワークサービスプロバイダによって提供されたファイル処理プランを識別する情報を含む、第１２項記載のシステム。
【００７４】
第３０項  プレゼンスの第１のネットワークポイントにおけるＤＮＳサーバは、クライアントコンピューティングデバイスの地理的なロケーションに対応する情報を取得する、第１２項記載のシステム。
【００７５】
第３１項  識別されたキャッシュコンポーネントをクライアントコンピューティングデバイスに対して識別させる情報は、プレゼンスの第２のネットワークポイントにおけるキャッシュコンポーネントのネットワークアドレスを含む、第１２項記載のシステム。
【００７６】
第３２項  識別されたキャッシュコンポーネントをクライアントコンピューティングデバイスに対して識別させる情報は、プレゼンスの別のネットワークポイントにおけるキャッシュコンポーネントのネットワークアドレスを含む、第１２項記載のシステム。
【図１】
0005404766.tif 000002
【図２】
0005404766.tif 000003
【図３】
0005404766.tif 000004
【図４】
0005404766.tif 000005
【図５】
0005404766.tif 000006
【図６】
0005404766.tif 000007
【図７】
0005404766.tif 000008
【図８】
0005404766.tif 000009