(57)【要約】      （修正有）【課題】コンテンツプロバイダが多くのコンピューティングデバイスからコンテンツリクエストを受信する場合のコンピューティングリソースの負担を管理する方法を提供する。【解決手段】コンテンツデリバリネットワーク（ＣＤＮ）サービスプロバイダ１０６はクライアントコンピューティングデバイス１０２のセットに関連付けられたクラスを決定し、決定されたクラスに関してリソースリクエストを監視する。コンテンツデリバリネットワークサービスプロバイダは、決定されたクラスに依存して、クライアントコンピューティングデバイスにコンテンツを提供する少なくとも１つのキャッシュコンポーネントを識別する。キャッシュコンポーネントの代わりに、コンテンツデリバリネットワークサービスプロバイダが、コンテンツ情報を提供する決定されたクラスに依存して、クライアントコンピューティングデバイスの第２のセットを識別しても良い。【選択図】図１
2015072694.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツデリバリネットワークサービスプロバイダにおいて、クライアントコンピューティングデバイスの第１のクラスタからのリソースリクエストを監視するステップと、
前記第１のクラスタからの前記リソースリクエストに対応するコンテンツのセットを識別するステップと、
クライアントコンピューティングデバイスの第２のクラスタに情報を提供する権限を有するキャッシュコンポーネントにおいて、識別された前記コンテンツのセットをプレロードするステップとを有することを特徴とする、方法。
【請求項２】
リソースリクエストを監視するステップは、ある期間中に第１のタイムゾーン内のクライアントコンピューティングデバイスの第１のクラスタから受信するリソースリクエストを監視するステップを含み、
コンテンツをプレロードするステップは、前記期間と同一の期間中に異なるタイムゾーン内のクライアントコンピューティングデバイスの第２のクラスタに情報を提供する権限を有するキャッシュコンポーネントにおいてコンテンツをプレロードするステップを含む、請求項１記載の方法。
【請求項３】
前記第１のクラスタに関して前記リソースリクエストに対応するコンテンツのセットを識別するステップは、前記第１のクラスタに関して頻繁にリクエストされたコンテンツを識別するステップを含む、請求項１記載の方法。
【請求項４】
コンテンツデリバリネットワークサービスプロバイダにおいて、第１のクライアントコンピューティングデバイスからリソースリクエストを取得するステップと、
前記第１のクライアントコンピューティングデバイスに関連付けられたクラスを決定するステップと、
前記クラスとリクエストされたコンテンツに関連付けるステップと、
関連付けられた前記クラスに依存して、リクエストされたコンテンツを前記コンテンツデリバリネットワークサービスプロバイダのキャッシュコンポーネントにプレロードするステップとを有することを特徴とする、方法。
【請求項５】
前記クラスの決定は、ある期間にわたる特性の観察および観察された前記特性に基づく前記クラスの決定に相当する、請求項４記載の方法。
【請求項６】
関連付けられたクラスに依存して、リクエストされたコンテンツをキャッシュコンポーネントにプレロードするステップは、前記キャッシュコンポーネントによって情報が提供されるコンピューティングデバイスに関連付けられたクラスを、前記第１のクライアントコンピューティングデバイスに関連付けられている決定されたクラスと相互に関連させるステップを含む、請求項４記載の方法。
【請求項７】
クライアントコンピューティングデバイスのセットに関連付けられたクラスを決定するステップと、
決定された前記クラスに関してリソースリクエストを監視するステップと、
決定された前記クラスに依存して、クライアントコンピューティングデバイスにコンテンツを提供する少なくとも１つのキャッシュコンポーネントを識別するステップと、
コンテンツ情報を識別された前記キャッシュコンポーネントに提供するステップとを有することを特徴とする、方法。
【請求項８】
前記コンテンツ情報は、決定された前記クラスに関して頻繁にリクエストされたコンテンツのリストを含む、請求項７記載の方法。
【請求項９】
さらに、
頻繁にリクエストされたコンテンツの前記リストに基づき、識別された前記キャッシュコンポーネントにロードすべきコンテンツを選択するステップと、
配信されるリストに記載されたリソースのアベイラビリティを識別された前記キャッシュコンポーネントによって検査するステップと、
リストに記載された１つまたは複数のリソースが利用可能でない場合には、リストに記載された１つまたは複数のリソースを取得するステップとを有する、請求項８記載の方法。
【請求項１０】
さらに、識別された前記コンテンツを前記キャッシュコンポーネントにおいて管理するステップを有する、請求項７記載の方法。
【請求項１１】
識別された前記コンテンツを前記キャッシュコンポーネントにおいて管理するステップは、前記キャッシュコンポーネントのメモリ内の識別された前記コンテンツに関連付けられたキャッシュ制御データを変更するステップを含む、請求項１０記載の方法。
【請求項１２】
クライアントコンピューティングデバイスのセットに関連付けられたクラスを決定するステップと、
決定された前記クラスに関してリソースリクエストを監視するステップと、
決定された前記クラスに依存して、クライアントコンピューティングデバイスの第２のセットを識別するステップと、
前記リソースリクエストに関係するコンテンツ情報をクライアントコンピューティングデバイスの前記第２のセットに提供するステップとを有することを特徴とする、方法。
【請求項１３】
前記コンテンツ情報は、決定された前記クラスに関して頻繁にリクエストされたコンテンツのリストを含む、請求項１２記載の方法。
【請求項１４】
観察された特性に基づいて、第１のキャッシュコンポーネントにおいてリソースリクエストを監視するステップと、
第２のキャッシュコンポーネントにおいて観察された前記特性に関連付けられたコンテンツのアベイラビリティを提供するステップとを有することを特徴とする、方法。
【請求項１５】
第２のキャッシュコンポーネントにおいて観察された特性に関連付けられたコンテンツのアベイラビリティを提供するステップは、キャッシュコンポーネントのメモリ内のコンテンツに関連付けられた有効期間データを拡大するステップを含む、請求項１４記載の方法。
【請求項１６】
コンテンツデリバリネットワークサービスプロバイダに関連付けられたプレゼンスの第１のネットワークポイントと、クライアントコンポーネントとを有し、
前記プレゼンスの第１のネットワークポイントは、
第１のクライアントコンピューティングデバイスからリソースリクエストを取得し、
前記第１のクライアントコンピューティングデバイスをクライアントコンピューティングデバイスの第１のクラスタに関連付け、
前記第１のクラスタに関するリソースリクエストを監視し、
前記第１のクラスタに関して監視される前記リソースリクエストに依存して、第２のクライアントコンピューティングデバイスに関するコンテンツを識別し、
前記クライアントコンポーネントは前記第２のクライアントコンピューティングデバイスにおいて識別された前記コンテンツを管理することを特徴とする、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
一般的に、コンピューティングデバイスおよび通信ネットワークは情報を交換するために利用することができる。通常の用途では、コンピューティングデバイスが通信ネットワークを介して他のコンピューティングデバイスからコンテンツを要求することができる。例えば、パーソナルコンピューティングデバイスのユーザは、インターネットを介してサーバコンピューティングデバイスからウェブページを要求するために、ソフトウェアブラウザアプリケーションを利用することができる。そのような実施形態では、ユーザコンピューティングデバイスはクライアントコンピューティングデバイスと称され、またサーバコンピューティングデバイスはコンテンツプロバイダと称される。
【０００２】
一般的に、コンテンツプロバイダには、リクエストされたコンテンツのクライアントコンピューティングデバイスへの効率的な伝送、および／または、コンテンツの伝送に関するコストを頻繁に考慮しながら、リクエストされたコンテンツをクライアントコンピューティングデバイスに提供することが推奨されている。より広範な規模の実施形態に関しては、コンテンツプロバイダが非常に多くのコンピューティングデバイスからコンテンツリクエストを受信する可能性があり、それによりコンテンツプロバイダのコンピューティングリソースに負担が掛かるおそれがある。さらには、クライアントコンピューティングデバイスによってリクエストされたコンテンツが多数の要素を有していることも考えられ、それによりコンテンツプロバイダのコンピューティングリソースにはさらなる負担がかかるおそれがある。
【０００３】
１つの例を参照すると、リクエストされたウェブページ、またはオリジナルのコンテンツを多数の付加的なリソース、例えばウェブページと共に表示することができる画像、動画などと関連付けることができる。１つの特定の実施形態においては、ウェブページの付加的なリソースが、多数の埋め込みリソース識別子、例えばユニフォーム・リソース・ロケータ（「ＵＲＬ」）によって識別される。次に、クライアントコンピューティングデバイスのソフトウェアは埋め込みリソース識別子を処理し、コンテンツリクエストを生成する。クライアントコンピューティングデバイスは付加的なリソースに関するリクエストを参照先のコンテンツプロバイダコンピューティングデバイスに伝送することが考えられるので、埋め込みリソースに関連付けられたリソース識別子がコンテンツプロバイダに関連付けられたコンピューティングデバイスを参照することが多い。したがってコンテンツリクエストを満たすために、コンテンツプロバイダは、ウェブページに関連付けられたデータ、ならびに、埋め込みリソースに関連付けられたデータをクライアントコンピューティングデバイスに提供する。
【０００４】
コンテンツデリバリネットワーク（「ＣＤＮ」）サービスプロバイダを利用して、ウェブページおよび／またはウェブページ内で識別されるリソース識別子のようなリクエストされたコンテンツの配信を容易にすることを試みるコンテンツプロバイダも存在する。ＣＤＮサービスプロバイダは一般的に、通信ネットワーク内に存在し、種々のコンテンツプロバイダからのコンテンツを管理することができる多数のコンピューティングデバイスを管理する。コンテンツプロバイダは、コンテンツプロバイダのコンテンツのうちの幾つかまたは全てのコンテンツをＣＤＮサービスプロバイダのコンピューティングデバイスからリクエストすることをクライアントコンピューティングデバイスに指示することができるか、さもなければ提案することができる。
【０００５】
コンテンツプロバイダと同様に、一般的にＣＤＮサービスプロバイダにも、リクエストされたコンテンツをクライアントコンピューティングデバイスに効率的に伝送すること、および／または、コンテンツの伝送に関連するコストを頻繁に考慮しながら、リクエストされたコンテンツをクライアントコンピューティングデバイスに提供することが推奨されている。したがって、ＣＤＮサービスプロバイダは、サービスレベルアグリーメント（ＳＬＡ）を満たすため、もしくは一般的に配信サービスの品質を改善するために、リクエストされたコンテンツの配信の待ち時間のような要因を頻繁に考慮している。
【０００６】
上述の種々の態様、またそれに伴う本願発明の多くの利点は、添付の図面と関連付けられた以下の発明の詳細な説明を参照することによってより容易に認められ、またより良く理解される。
【図面の簡単な説明】
【０００７】
【図１】多数のクライアントコンピューティングデバイス、コンテンツプロバイダおよびコンテンツデリバリネットワークサービスプロバイダを含む、コンテンツ配信環境の概略的なブロック図を示す。
【図２】クライアントコンピューティングデバイスからコンテンツプロバイダへのコンテンツリクエストの生成および処理を示している、図１のコンテンツ配信環境の概略的なブロック図を示す。
【図３】クライアントコンピューティングデバイスからコンテンツデリバリネットワークサービスプロバイダへと伝送される、埋め込みリソースに対応するＤＮＳクエリの生成および処理を示している、図１のコンテンツ配信環境の概略的なブロック図を示す。
【図４】クライアントコンピューティングデバイスからコンテンツデリバリネットワークサービスプロバイダへと伝送される、埋め込みリソースリクエストの生成および処理を示している、図１のコンテンツ配信環境の概略的なブロック図を示す。
【図５】リソースキャッシュコンポーネントによって収集された、関連付けられたクラス情報の処理および管理を示している、図１のコンテンツ配信環境の概略的なブロック図を示す。
【図６】リソースキャッシュコンポーネントによって収集された、関連付けられたクラス情報の処理および管理の別の実施例を示している、図１のコンテンツ配信環境の概略的なブロック図を示す。
【図７】リソースキャッシュコンポーネントによって収集された、関連付けられているクラス情報の処理および管理のさらに別の実施例を示している、図１のコンテンツ配信環境の概略的なブロック図を示す。
【図８】クライアントコンピューティングデバイスからのリソースリクエストを監視するためにコンテンツデリバリネットワークサービスプロバイダによって実行されるコンテンツ監視ルーチンのフローチャートを示す。
【図９】クライアントコンピューティングデバイスのクラスに配信するためのコンテンツを管理するためにコンテンツデリバリネットワークサービスプロバイダによって実行されるコンテンツ処理ルーチンのフローチャートを示す。
【発明を実施するための形態】
【０００８】
一般的に、本発明は、クライアントコンピューティングデバイスからコンテンツデリバリネットワーク（「ＣＤＮ」）サービスプロバイダに対してなされるリソースリクエストの管理および処理に関する。殊に、本発明の態様を、クライアントコンピューティングデバイスのクラスタからのリソースリクエストの監視、および、クラスタに関して監視されるリソースリクエストに基づいて１つまたは複数のクライアントコンピューティングデバイスへと配信するためのコンテンツの管理を考慮して説明する。本発明の別の態様は、そのような監視されるリソースリクエストに基づいた、クライアントコンピューティングデバイスに関連付けられたクラスに対応するリソースリクエストの監視に関する。本発明の種々の態様を種々の実施例および実施形態に関して説明するが、当業者であれば、本明細書に記載されている実施形態および実施例は限定を意図したものではないことが分かる。
【０００９】
図１は、コンテンツリクエストを管理および処理するためのコンテンツ配信環境１００の概略的なブロック図を示す。図１に示されているように、コンテンツ配信環境１００には、コンテンツプロバイダおよび／またはＣＤＮサービスプロバイダからコンテンツをリクエストする、複数のクライアントコンピューティングデバイス１０２（一般的にクライアントと称される）が含まれる。図示されている実施例において、クライアントコンピューティングデバイス１０２は、パーソナルコンピューティングデバイス、ラップトップコンピューティングデバイス、ハンドヘルドコンピューティングデバイス、ターミナルコンピューティングデバイス、モバイルデバイス、ワイヤレスデバイス、種々の電子装置および電子機器などを含む多種多様なコンピューティングデバイスに対応することができる。図示されている実施例において、クライアントコンピューティングデバイス１０２は、通信ネットワーク１０８、例えばワイドエリアネットワークまたはローカルエリアネットワークを介する通信を確立するために必要なハードウェアコンポーネントおよびソフトウェアコンポーネントを有している。例えば、クライアントコンピューティングデバイス１０２に、インターネットまたはイントラネットを介する通信を容易にするためのネットワーク機器およびブラウザソフトウェアアプリケーションを実装することができる。
【００１０】
図１には図示されていないが、各クライアントコンピューティングデバイス１０２は何らかのタイプのローカルＤＮＳリゾルバコンポーネント、例えばクライアントコンピューティングデバイスに属するＤＮＳクエリを生成するＤＮＳネームサーバを使用する。１つの実施形態においては、クライアントコンピューティングデバイス１０２が所属している企業ネットワークによってローカルＤＮＳリゾルバコンポーネントを提供することができる。別の実施例においては、クライアントコンピューティングデバイス１０２との通信ネットワークコネクションを提供するインターネットサービスプロバイダ（ＩＳＰ）によってローカルＤＮＳリゾルバコンポーネントを提供することができる。
【００１１】
コンテンツ配信環境１００には、通信ネットワーク１０８を介して１つまたは複数のクライアントコンピューティングデバイス１０２と通信するコンテンツプロバイダ１０４も含ませることができる。図１に示されているコンテンツプロバイダ１０４はコンテンツプロバイダに関連付けられた１つまたは複数のコンピューティングデバイスの論理関連付けに対応する。殊に、コンテンツプロバイダ１０４は、クライアントコンピューティングデバイス１０２からのコンテンツ（例えばウェブページ）に関するリクエストを取得して処理するための１つまたは複数のサーバコンピューティングデバイスに対応するウェブサーバコンポーネント１１０を有することができる。さらにコンテンツプロバイダ１０４は、ＣＤＮサービスプロバイダからのネットワークリソースに関するリクエストを取得して処理するための１つまたは複数のコンピューティングデバイスに対応する、オリジンサーバコンポーネント１１２および関連するストレージコンポーネント１１４を有することができる。当業者であれば、コンテンツプロバイダ１０４を種々の付加的なコンピューティングリソース、例えば、コンテンツおよびリソースを管理するための付加的なコンピューティングデバイス、ＤＮＳネームサーバなどに関連付けできることが分かる。例えば、図１には図示していないが、コンテンツプロバイダのドメインに対応するクライアントコンピューティングデバイスＤＮＳクエリを解決する権限を有する１つまたは複数のＤＮＳネームサーバコンポーネントにコンテンツプロバイダ１０４を関連付けることができる。
【００１２】
図１の参照を続ける。コンテンツ配信環境１００にはさらに、通信ネットワーク１０８を介して１つまたは複数のクライアントコンピューティングデバイス１０２およびコンテンツプロバイダ１０４と通信するＣＤＮサービスプロバイダ１０６を含ませることができる。図１に示されているＣＤＮサービスプロバイダ１０６はＣＤＮサービスプロバイダに関連付けられた１つまたは複数のコンピューティングデバイスの論理関連付けに対応する。殊に、ＣＤＮサービスプロバイダ１０６は、通信ネットワーク１０８のノードに対応する複数のＰＯＰ（Point of Presence）ロケーション１１６，１２２，１２８を含むことができる。各ＰＯＰ１１６，１２２，１２８は、クライアントコンピュータ１０２からのＤＮＳクエリを解決するための複数のＤＮＳサーバコンピューティングデバイスからなるＤＮＳコンポーネント１１８，１２４，１３０を有する。さらに各ＰＯＰ１１６，１２２，１２８は、コンテンツプロバイダに由来するリソースを記憶し、また、リクエストされた種々のリソースを種々のクライアントコンピュータへと伝送する、複数のキャッシュサーバコンピューティングデバイスからなるリソースキャッシュコンポーネント１２０，１２６，１３２を有する。ＤＮＳコンポーネント１１８，１２４，１３０ならびにリソースキャッシュコンポーネント１２０，１２６，１３２はさらに、通信を容易にする付加的なソフトウェアコンポーネントおよび／またはハードウェアコンポーネントを有することができ、そのようなコンポーネントには負荷分散および負荷共有のためのソフトウェア／ハードウェアコンポーネントが含まれるが、コンポーネントはそれらに限定されるものではない。
【００１３】
図示されている実施例において、ＤＮＳコンポーネント１１８，１２４，１３０およびリソースキャッシュコンポーネント１２０，１２６，１３２は、それらのコンポーネントまたはコンポーネントの一部が物理的に隔てられているか否かにかかわらず、論理的にグループをなすものと見なされる。さらに、ＰＯＰ１１６，１２２，１２８は図１において、ＣＤＮサーバプロバイダ１０６に論理的に関連付けられているものとして示されているが、クライアントコンピューティングデバイス１０２の種々のデモグラフィックが最善に提供されるように、ＰＯＰは通信ネットワーク１０８にわたり地理的に分散されていてもよい。さらには、当業者であれば、ＣＤＮサーバプロバイダ１０６を種々の付加的なコンピューティングリソース、例えば付加的なコンテンツプロバイダ１３４、コンテンツおよびリソースを管理するための付加的なコンピューティングデバイスなどに関連付けできることが分かる。
【００１４】
当業者であれば、図１に示されているコンポーネントおよび構成が単に例示的なものに過ぎないことが分かる。したがって、殊に通信を容易にするための付加的なコンポーネント、システムおよびサブシステムに関して、付加的または代替的なコンポーネントおよび／または構成を使用することができる。
【００１５】
次に図２から図４を参照して、図１のコンテンツ配信環境１００の種々のコンポーネント間のインタラクションを説明する。しかしながらそれらは例示を意図したものなので、図示されている実施例は簡略的なものであり、通信を容易にするために使用される多くのコンポーネントは図示されていない。当業者であれば、本発明の精神および範囲から逸脱することなく、そのようなコンポーネントを使用することができ、したがって付加的なインタラクションを行えることが分かる。
【００１６】
ここで図２を参照する。クライアントコンピューティングデバイス１０２は、コンテンツリクエストを生成する。このコンテンツリクエストはコンテンツプロバイダ１０４によって、例えばウェブサーバ１１０を介して受信および処理される。図示されている実施例に関して、コンテンツに関するリクエストは一般的なネットワークプロトコル、例えばハイパーテキストトランスファープロトコル（「ＨＴＴＰ」）に従うものでよい。コンテンツリクエストの受信に基づいて、コンテンツプロバイダ１０４は適切な応答コンテンツを識別する。図示されている実施例において、リクエストされたコンテンツを、情報、例えばハイパーテキストマークアップ言語（「ＨＴＭＬ」）、拡張可能マークアップ言語（「ＸＭＬ」）などを処理することによってクライアントコンピューティングデバイス１０２に表示されるウェブページに対応させることができる。リクエストされたコンテンツは多数の埋め込みリソース識別子も含むことができ、それらはリクエストされたコンテンツの処理の一部としてクライアントコンピューティングデバイス１０２によって取得されるべきリソースオブジェクトに対応する。埋め込みリソース識別子は一般的にリソース識別子またはリソースＵＲＬと称される。
【００１７】
１つの実施例において、リソースＵＲＬではＣＤＮサービスプロバイダ１０６のドメイン（例えば、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」部分の解決が成功すると、ＣＤＮサービスプロバイダ１０６に関連付けられたＤＮＳサーバのネットワークアドレス、例えばＩＰアドレスが識別される。１つの実施例において、ＩＰアドレスはＰＯＰのＤＮＳサーバコンポーネントにとってユニークな特定のネットワークアドレスでよい。別の実施例においては、ＩＰアドレスを１つまたは複数のＰＯＰによって共有することができる。この実施例においては、共有ＩＰアドレスについての別のＤＮＳクエリが一対多のネットワークルーティングスキーマ、例えばエニーキャストを使用し、特定のＰＯＰがネットワークトポロジの機能としてリクエストを受信する。例えば、エニーキャストを実施する場合、共有ＩＰアドレスについてクライアントコンピューティングデバイス１０２によって発行されたＤＮＳクエリがクライアントコンピューティングデバイスから、論理的に最短のネットワークトポロジ距離（頻繁にネットワークホップと称される）を有しているＤＮＳサーバコンポーネントに到達する。ネットワークトポロジ距離は地理的な距離に対応している必要はない。しかしながら、幾つかの実施形態においては、ネットワークトポロジ距離がクライアントコンピューティングデバイス１０２とＰＯＰとの間の最短ネットワーク距離を表すことが考えられる。当業者であれば、ネットワークトポロジを決定する種々の手段が存在していることが分かる。
【００２１】
図３の参照を続ける。上記のいずれかの実施例（またはいずれかの他の実施例）においては、ＰＯＰ１１６のＤＮＳコンポーネント１１８における特定のＤＮＳサーバがクライアントコンピューティングデバイス１０２からリソースＵＲＬに対応するＤＮＳクエリを受信する。ＤＮＳコンポーネント１１８におけるＤＮＳサーバのうちの１つがリクエストを受信すると、特定のＤＮＳサーバはリクエストの解決を試みる。図３に示されているような１つの実施例においては、特定のＤＮＳサーバが、リクエストされたリソースに関するリクエストを処理するリソースキャッシュサーバコンポーネントのＩＰアドレスを識別することによって、ＤＮＳクエリを解決する。リソースキャッシュコンポーネント１２０，１２６，１３２の選択に基づき、ＤＮＳサーバコンポーネント１１８はキャッシュサーバコンピューティングデバイス、リソースキャッシュコンポーネント、または、リソースキャッシュコンポーネントに関連付けられた負荷分散／負荷共有デバイスのＩＰアドレスを提供する。
【００２２】
ここで図４を参照する。クライアントコンピューティングデバイス１０２は、ＩＰアドレスによって識別されたリソースキャッシュコンポーネントからリソースをリクエストするために、インターネット通信プロトコルを使用することができる。リソースキャッシュコンポーネントは以下においてより詳細にするようにリクエストを処理し、リソースをクライアントコンピューティングデバイス１０２に提供する。受信に基づき、リクエストされたリソースはクライアントコンピューティングデバイス１０２におけるブラウザアプリケーションによって適切に処理される。当業者には明らかであるように、選択されたリソースキャッシュコンポーネント１２０，１２６，１３２は、上述のように、可能であればリクエストされたリソースを提供することができるか、リクエストされたリソースを別のソース、例えばピアキャッシュサーバコンピューティングデバイスまたはコンテンツプロバイダ１０４のオリジンサーバ１１２から取得することを試みることができる。
【００２３】
図４の参照を続ける。リソースリクエストの処理に関連して、リソースキャッシュコンポーネントは、リクエストを行ったクライアントコンピューティングデバイスに関連付けられたクラスを決定する。１つの実施形態において、リソースキャッシュコンポーネントはクライアントから受信した情報を使用し、クラスを決定する。そのようなクラスをクライアントから直接的に決定することができる（例えば、クライアントコンピューティングデバイスまたはＩＳＰによって提供された情報）か、間接的に決定することができる（例えば、クライアントコンピューティングデバイスのＩＰアドレスを介して推測された情報）。さらに、リソースキャッシュコンポーネントは付加的な情報、例えば、リクエストを行ったクライアントコンピューティングデバイスが所在しているタイムゾーンを使用し、クラスを決定することができる。リソースキャッシュコンポーネントはクラス情報をリクエストされたコンテンツに関連付け、その関連付けられたクラス情報、例えばログファイルをＣＤＮサービスプロバイダ１０６と共有するために保存する。図示されている実施例においては、事前に規定されたクラス定義に基づいてクラスを静的に決定することができるので、クラスの関連付けをリソースリクエストの受信と同時に実施することができる。例えば、リクエストを処理する時点において地理的なロケーションを知らせることができる。別の実施例においてはクラスを動的に決定することができ、この場合にはリクエストを処理する時点ではクラスは決定されない（またはクラスを決定することができない）。例えば、ある時間窓にわたる行動の観察に基づいて行動的なクラスを決定する場合、そのように観察を行う時間窓にわたり観察されるデータの処理が完了するまでクラスは決定されない。
【００２４】
１つの実施例においては、クライアントコンピューティングデバイスが属している特定の地理的な領域にクラスを対応付けることができる。付加的または代替的に、クラスを一時的な範囲、例えばタイムゾーン、ビジネスアワー、日中、夜間、休日などに対応付けることができる。別の実施例においては、リクエストされたコンテンツまたはユーザ、もしくはその両方に関連付けられた特定の従属的な領域、例えばニュースグループにクラスを対応付けることができる。さらには、クラスを地理的なデータに対応付けることができる。クライアントコンピューティングデバイスから収集することができる情報に依存して、リソースキャッシュコンポーネントはこの情報を当業者には公知である種々のやり方で決定および管理することができる。さらには、リソースを受信したＰＯＰにおける１つまたは複数のコンピューティングデバイスが上述のあらゆる機能を実施できることも当業者には明らかである。
【００２５】
以下では図５を参照しながら、リソースキャッシュコンポーネント１３２によって収集された、関連付けられたクラス情報をＣＤＮサービスプロバイダ１０６がどのように処理および管理するかの実施例を説明する。リソースキャッシュコンポーネント１３２は、ＰＯＰ１２８において収集された、関連付けられたクラス情報をＣＤＮサービスプロバイダ１０６に提供する。続いて、関連付けられたクラス情報をＣＤＮサービスプロバイダによって種々のやり方で処理することができる。１つの実施例において、ＣＤＮサービスプロバイダは、関連付けられたクラス情報に基づいて、ＣＤＮのコンピューティングデバイスに提供するコンテンツ情報を識別することができる。識別されたコンテンツ情報は、リソースキャッシュコンポーネント１３２において収集された、関連付けられたクラス情報に基づいて、頻繁にリクエストされたコンテンツのリストを含むことができる。択一的に、識別されたコンテンツ情報は頻繁にリクエストされたコンテンツ自体も、この頻繁にリクエストされたコンテンツに関連付けられた付加的な情報、例えばネットワーク性能メトリクス、コンテンツプロバイダのサービスレベルアグリーメントなど、および/または、他の相応のコンテンツ（例えば、相応のドキュメント、広告など。これに関しては以下において図７を参照しながら詳細に説明する）も含むことができる。
【００２６】
コンテンツ情報の識別の他に、ＣＤＮサービスプロバイダ１０６はこのコンテンツ情報が提供される特定のキャッシュコンポーネント１２０を識別することができる。特定のキャッシュコンポーネントの識別は、リソースキャッシュコンポーネント１３２によって収集された、関連付けられたクラス情報を基礎としてもよい。例えばクラスがタイムゾーンに相当する場合、ＣＤＮサービスプロバイダは、異なるタイムゾーンを有するクライアントコンピューティングデバイスに情報を提供する権限を有するリソースキャッシュコンポーネント１２０を識別することができる。別の実施例においては、ＣＤＮサービスプロバイダは識別されたコンテンツ情報を単純に、ＣＤＮサービスプロバイダの全てのリソースキャッシュコンポーネントまたはリソースキャッシュコンポーネントのサブセットに送信し、識別されたコンテンツ情報をどのように管理するかをそれらのリソースキャッシュコンポーネントに決定させることができる。
【００２７】
図５の参照を続ける。この実施例との関係において、関連付けられたクラス情報がＣＤＮサービスプロバイダによって一度処理されると、識別されたコンテンツ情報は選択されたリソースキャッシュコンポーネント１２０に提供され、このリソースキャッシュコンポーネント１２０が、ＣＤＮサービスプロバイダ１０６によって提供された、識別されたコンテンツ情報を管理する。１つの実施例においては、リソースキャッシュコンポーネント１２０は、識別されたコンテンツに関してリソースキャッシュコンポーネント１２０に対して行われる後続のコンテンツリクエストに先行して、ストレージロケーションからコンテンツを取得することによって、識別されたコンテンツ情報を管理する。別の実施例においては、キャッシュコンポーネント１２０は識別されたコンテンツをディスクメモリからリソースキャッシュコンポーネント１２０のメモリに移すことができる。さらに別の実施例においては、キャッシュコンポーネント１２０は、リソースキャッシュコンポーネント１２０のメモリにおいて識別されたコンテンツに関連付けられた有効期間を変更することができ、これにより、クライアントコンピューティングデバイスによって後にリクエストが行われる場合でもコンテンツの利用が可能である状態を保証することができる。さらに別の実施例においては、キャッシュコンポーネントは識別されたコンテンツのリソースキャッシュコンポーネントにおけるアベイラビリティを単純に変更することができる。
【００２８】
当業者であれば、本発明の精神および範囲から逸脱することなく、種々のあらゆる方法論またはアルゴリズムを関連付けられたクラス情報の処理および管理に使用できることが分かる。以下において説明する特別な実施例はさらなる例示を目的としたものである。
【００２９】
第１のタイムゾーンを有する領域内のクライアントコンピューティングデバイスのセットに関して監視されるコンテンツリクエストにクラス情報が対応している１つの実施例においては、ＣＤＮサービスプロバイダがクラス情報を処理し、第１のタイムゾーンにおいて頻繁にリクエストされたリソースのセットを識別する。続いてＣＤＮサービスプロバイダは、異なるタイムゾーンにおけるクライアントコンピューティングデバイスのセットに情報を提供する権限を有するリソースキャッシュコンポーネントにおいて識別された、頻繁にリクエストされたリソースのセットに関連付けられたコンテンツをプレロードする。したがって、ＣＤＮサービスプロバイダはその後、そのようなプレロードされたコンテンツを短い配信待ち時間で提供することができる。さらに当業者であれば、異なるタイムゾーンに位置するクライアントコンピューティングデバイスのセットの使用に関して権限を有するキャッシュコンポーネントは、個々のキャッシュコンポーネントに課される制約条件の処理に基づき、適切な時点において何時でもコンテンツをプレロードすることができる。また、キャッシュコンポーネントにおいてコンテンツ全体、またはコンテンツの一部のみをプレロードできることも当業者には明らかである。
【００３０】
別の実施例においては、ＣＤＮサービスプロバイダは関連付けられたクラス情報を処理し、頻繁にリクエストされたリソースのリストを識別し、このリストをリソースキャッシュコンポーネントのセットに提供する。続いて、各リソースキャッシュコンポーネントは、頻繁にリクエストされた１つまたは複数のリソースをプレロードすべきか否かを別個に決定することができる。
【００３１】
コンテンツ情報がクライアントコンピューティングデバイスの第１のクラスタによって行われたリソースリクエストから導出されたコンテンツリストであり、そのコンテンツリストがクライアントコンピューティングデバイスの第２のクラスタを使用するキャッシュコンポーネントに提供されているさらに別の実施例においては、第２のクラスタにおけるクライアントコンピューティングデバイスが後にそのリストからコンテンツをリクエストするか否かをＣＤＮサービスプロバイダが監視することができる。続いてＣＤＮサービスプロバイダは、第１のクラスタによって第２のクラスタに推奨されたコンテンツリストを後に学習される第２のクラスタの特性に基づいて修正すべきか否かを決定することができる。当業者であれば、そのような特性を監視し、その特性に基づいて推奨を更新するために種々のロジックを実施できることが分かる。
【００３２】
さらに別の実施例においては、ＣＤＮサービスプロバイダがクライアントコンピューティングデバイスの第１のクラスタからのリソースリクエストを監視し、そのリクエストに対応するコンテンツのセットを識別する。続いてＣＤＮサービスプロバイダは、クライアントコンピューティングデバイスの第２のクラスタに情報を提供する権限を有するリソースキャッシュコンポーネントにおいて識別されたコンテンツのセットを管理することができる。上述のように、識別されたコンテンツのセットを管理する方法は複数存在し、そのような方法として、例えば、リソースキャッシュコンポーネントにおけるコンテンツのプレロード、コンテンツのアベイラビリティの検査、メモリ内のコンテンツに関係するキャッシュ制御情報の管理（有効期間に関するデータの変更および有効期間に関する変数の処理）などが挙げられる。第１のクラスタおよび第２のクラスタが同一であってもよい、もしくは異なっていてもよいことも当業者には明らかである。
【００３３】
さらに別の実施例においては、ＣＤＮサービスプロバイダがコンピューティングデバイスのクラスに関連付けられたリソースリクエストを監視し、リクエストされたリソースをクラスに関連付ける。１つの実施形態においては、ＣＤＮサービスプロバイダが続いて、ＣＤＮのリソースキャッシュコンポーネントにおいてコンテンツをクラスに依存してプレロードする。この機能には、ＣＤＮサービスプロバイダがクライアントコンピューティングデバイスのクラスとリソースに関連付けられたクラスとを一致させるマッチング決定を含ませることができる。例えば、ＣＤＮサービスプロバイダは関心のあるクラスのトピック、例えばバスケットボールのスコアを、先行のリクエストに基づいて同一のクラスに関連付けられているリソースに一致させることができる。択一的に、この機能には、ＣＤＮサービスプロバイダがクライアントコンピューティングデバイスのクラスをリソースに関連付けられた異なるクラスと相互に関連付ける相関決定を含ませることができる。例えば、ＣＤＮサービスプロバイダは第１の地理的なクラス、例えばニューヨークシティを、別の地理的なクラス、例えばサンフランシスコと相互に関連付けることができる。１つの実施例においては、マッチング決定または相関決定を、例えば管理者による手動の処理によって、もしくは観察された特性に基づいて容易にすることができる。
【００３４】
以下では図６を参照しながら、リソースキャッシュコンポーネント１３２によって収集された、関連付けられたクラス情報をＣＤＮサービスプロバイダ１０６がどのように処理および管理するかの択一的な実施例を説明する。この実施例は、上記において図５を参照しながら説明した実施例と実質的に同一のものであるが、識別されたコンテンツを送信するために特定のリソースキャッシュコンポーネントを識別する代わりに、クライアントコンピューティングデバイスが識別される点において異なっている。またこの実施例においては、上記の実施例では識別されたリソースキャッシュコンポーネントによって実行された後続の処理機能を識別されたクライアントコンピューティングデバイスによって同様に実行することができる。この択一的な実施例に関して、ＣＤＮサービスプロバイダ１０６は識別されたコンテンツをクライアントコンピューティングデバイスにおいて管理するために、クライアントコンポーネント、例えばソフトウェアアプリケーションを有する。ＣＤＮサービスプロバイダ１０６はそのようなサービスへの参加を所望するクライアントコンピューティングデバイスにクライアントコンポーネントを提供する。
【００３５】
図６の参照を続ける。特定の実施例においては、リソースキャッシュコンポーネント１３２が、リソースキャッシュコンポーネント１３２において収集された、関連付けられたクラス情報をＣＤＮサービスプロバイダ１０６に提供する。この実施例においては、関連付けられたクラス情報が、クライアントコンピューティングデバイスの第１のセットに関連付けられたクラスに関してなされたリクエストに対応するコンテンツを識別するデータを含む。この関連付けられたクラス情報の受信に基づき、ＣＤＮサービスプロバイダ１０６は、クライアントコンピューティングデバイスの第１のセットに依存して、クライアントコンピューティングデバイスの第２のセットを識別する。続いてＣＤＮサービスプロバイダは、リソースリクエストに関係するコンテンツ情報を、クライアントコンピューティングデバイスの第２のセット内のクライアントコンピューティングデバイスに提供する。この実施例においては、コンテンツ情報が、クライアントコンピューティングデバイスの第１のセットに関連付けられたクラスに関して頻繁にリクエストされたコンテンツのリストを含む。クライアントコンピューティングデバイスの第２のセット内のクライアントコンピューティングデバイスは、リストに記載されたコンテンツのアベイラビリティを検査し、また、利用可能でない場合には、リストに記載された１つまたは複数のリソースを取得することによって、（ＣＤＮサービスプロバイダによって提供されたクライアント側のアプリケーションを用いて）このコンテンツ情報を管理する。
【００３６】
ここで図７を参照する。１つの実施例において、ＣＤＮサービスプロバイダ１０６は、付加的な処理のためにＰＯＰから収集したクラス情報を提供することができる。図１を参照して既に説明したように、１つまたは付加的なコンテンツプロバイダ１３４がＣＤＮサービスプロバイダ１０６の一部であってよい。付加的なコンテンツプロバイダ１３４はＣＤＮサービスプロバイダ１０６に関連付けられた付加的なコンポーネントまたはサービス、例えば広告エンジンまたは広告サービス、推奨エンジンまたは推奨サービス、セキュリティアプリケーションまたはセキュリティサービスなどに対応するものであってよい。さらには、サードパーティーのコンテンツプロバイダ１３４を上記においてはＣＤＮサービスプロバイダ１０６の一部として示したが、当業者であれば、サードパーティーの１つまたは複数のコンテンツプロバイダ１３４が独立するものであってもよいことが分かる。
【００３７】
ＣＤＮサービスプロバイダ１０６によって提供されたクラス情報、さもなければＣＤＮサービスプロバイダ１０６によって利用可能にされたクラス情報に基づいて、サードパーティーのコンテンツプロバイダ１３４は入力としてクラス情報を使用することができる。例えば、１つの実施例においては、サードパーティーのコンテンツプロバイダ１３４が広告エンジンまたは広告コンポーネントに対応する場合には、キャッシュにおいて将来の広告表示の機会を期待するためにクラス情報を処理することができる。したがって、サードパーティーのコンテンツプロバイダ１３４は入力を処理することができ、またＣＤＮサービスプロバイダ１０６は付加的なステップを実施することができる。例えば、１つの実施例においては、サードパーティーのコンテンツプロバイダ１３４が広告エンジンまたは広告コンポーネントに対応する場合には、キャッシュにおいて将来の広告表示の機会を期待するためにクラス情報を処理することができる。したがって、サードパーティーのコンテンツプロバイダ１３４は入力を処理することができ、またＣＤＮサービスプロバイダ１０６は付加的なステップを実施することができる。当業者であれば、本発明の精神および範囲から逸脱することなく、種々のあらゆる方法論またはアルゴリズムをクラス情報の処理に使用できることが分かる。
【００３８】
図７の参照を続ける。付加的なコンテンツプロバイダ１３４は処理した情報をさらなる処理のためにＣＤＮサービスプロバイダに再び提供することができる。付加的または代替的に、付加的なコンテンツプロバイダ１３４は処理された情報を直接的に１つまたは複数のＰＯＰ、例えばＰＯＰ１１６に提供することができる。別の実施例においては、ＣＤＮサービスプロバイダ１０６によって実行される付加的なアクションに、付加的な広告の通知、および／または、表示の機会、リソースキャッシュコンポーネントにプレロードすることもできる付加的なコンテンツの識別、および／または、リソースキャッシュコンポーネントに既に記憶されているコンテンツのさらなる管理を含ませることができる。
【００３９】
以下では図８を参照しながら、クライアントコンピューティングデバイスからのリソースリクエストを監視するためにＣＤＮサービスプロバイダ１０６によって実施されるコンテンツ監視ルーチン８００の一実施例を説明する。当業者であれば、ルーチン８００に関して概略的に表されている動作／ステップを、ＣＤＮサービスプロバイダ１０６に関連付けられている１つまたは複数のコンピューティングデバイス／コンポーネントによって実行できることが分かる。つまり、ルーチン８００はＣＤＮサービスプロバイダ１０６によって一般的に実行できるものとして論理的に関連付けられており、したがって以下において説明する実施例は制限を意図して構成されたものではない。
【００４０】
ブロック８０２において、リソースキャッシュコンポーネント１３２はクライアントコンピューティングデバイスからコンテンツリクエストを受信する。続くブロック８０４においては、クライアントコンピューティングデバイスに関連付けられたクラス情報が決定される。図示されている実施例において、ブロック８０４におけるクラスの決定には、殊に、リクエストを行うクライアントコンピューティングデバイスの他のクライアントコンピューティングデバイスの第１のクラスタへの種々の判定基準に基づいた関連付けが含まれてもよい。１つの実施例においては、判定基準はクライアントコンピューティングデバイスが位置するタイムゾーンに対応する。後続のブロック８０６においては、リソースキャッシュコンポーネントが識別されたクラス情報をリクエストされたコンテンツにさらに関連付ける。次に、ブロック８０８においては、リソースキャッシュコンポーネント１３２が、関連付けられたクラスに関係するＣＤＮサービスプロバイダ１０６に情報を提供する。ルーチンはブロック８１０において終了する。
【００４１】
以下では図９を参照しながら、クライアントコンピューティングデバイスのクラスへのコンテンツの配信の管理に関するコンテンツ処理ルーチン９００の一実施例を説明する。当業者であれば、ルーチン９００に関して概略的に表されている動作／ステップを、ＣＤＮサービスプロバイダ１０６に関連付けられている１つまたは複数のコンピューティングデバイス／コンポーネントによって実行できることが分かる。つまり、ルーチン９００はＣＤＮサービスプロバイダ１０６によって実行できるものとして論理的に関連付けられている。
【００４２】
ブロック９０２においては、ＣＤＮサービスプロバイダ１０６が関連付けられたクラス情報に関係する情報、例えば図８のブロック８１０においてリソースキャッシュコンポーネントから提供された情報を受信する。次に、ブロック９０４においては、ＣＤＮサービスプロバイダ１０６が受信したクラス情報を処理する。上述のように、受信したクラス情報を処理するための種々のロジックをＣＤＮサービスプロバイダにおいて実施することができる。図８を参照して説明した実施例を用いて説明を続けると、ＣＤＮサービスプロバイダ１０６は、第１のタイムゾーン内のクライアントコンピューティングデバイスによって行われたリソースリクエストに関する情報を受信し、情報を処理するが、この処理は、第１のタイムゾーン内のクライアントコンピューティングデバイスによって行われたリソースリクエストに基づいて、第２のタイムゾーン内のクライアントコンピューティングデバイスに情報を提供する権限を有するキャッシュコンポーネントに関するコンテンツを識別することにより行われる。例えば、ＣＤＮサービスプロバイダ１０６は第１のタイムゾーンにおいて最も多くリクエストされたコンテンツのリストを、第２のタイムゾーン内のクライアントコンピューティングデバイスに情報を提供する権限を有するキャッシュコンポーネントに提供することができる。
【００４３】
図９のブロック９０６に進むと、ＣＤＮサービスプロバイダは、ブロック９０４において関連付けられたクラス情報について実施された処理に基づきコンテンツを管理する。上述のように、コンテンツを管理するための種々のロジックを実施することができる。この実施例に関して、ＣＤＮサービスプロバイダは処理された情報に基づきコンテンツを管理することができるが、この管理は、第２のタイムゾーン内のキャッシュコンポーネントにおいて、識別されたコンテンツをストレージロケーションから取得することによって、もしくは、より詳細には、第２のタイムゾーン内のクライアントコンピューティングデバイスからの同様のリクエストを期待して、コンテンツをキャッシュコンポーネントにおいてリストからプレロードすることによって行われる。ルーチン９００はブロック９０８において終了する。
【００４４】
当業者には明らかであるように、処理および管理に関する機能はこの実施例においてＣＤＮサービスプロバイダの種々のコンポーネントにおいて実施されるものとして説明したが、それらの機能をＣＤＮサービスプロバイダの１つまたは複数のコンピューティングデバイスにわたり分散させることができる。さらには、リソースキャッシュコンポーネントにおいて監視される、関連付けられたクラス情報およびコンテンツリクエストをＣＤＮサービスプロバイダによって包括的に保存し、ＣＤＮサービスプロバイダの全てのサブセットもしくは幾つかのサブセットと共有することができる。同様に、関連付けられたクラス情報の処理に基づいて識別されたコンテンツ情報を、リソースキャッシュコンポーネントについてのバッチ処理として提供することができるか、一方のキャッシュコンポーネントから他方のキャッシュコンポーネントへのリクエストに対する応答として送信することができる。
【００４５】
当業者には明らかであるように、本明細書において記載した全ての機能を、本明細書において記載したコンポーネントおよびモバイル通信機器の１つまたは複数のプロセッサによって実行できるソフトウェアとして実現することができる。そのようなソフトウェアをあらゆるタイプの不揮発性の記憶装置に永続的に記憶することができる。
【００４６】
条件を表す記述、例えば、とりわけ「可能」、「可能性がある」、「であろう」または「できる」は、別個の記載が無い限り、もしくは使用されているコンテキスト内で理解される限り、一般的に特定の実施形態は特定の特徴、構成要素および／またはステップを含むが、他の実施形態はそれらの特定の特徴、構成要素および／またはステップを含まないことを意味する。したがってそのような条件を表す言葉は、特徴、構成要素および／またはステップが１つまたは複数の実施形態にいずれにせよ必要とされること、もしくは、１つまたは複数の実施形態が、ユーザ入力またはプロンプトの使用の有無に拘らず、それらの特徴、構成要素および／またはステップがいずれかの特定の実施形態に含まれるか否か、またはいずれかの特定の実施形態において実施されるべきか否かを決定するためのロジックを含んでいなければならないことを意味しているのではない。
【００４７】
本明細書において説明した、および／または、添付の図面に示したフローチャートにおけるあらゆるプロセスの説明、構成要素またはブロックは、プロセスにおける特定の論理的な機能またはステップを実施するための１つまたは複数の実行可能な命令を含むコードモジュール、コードセグメントまたはコード部分を潜在的に表すものと解されるべきである。当業者であれば分かるように、択一的な実施形態は、そこに含まれる機能に依存して構成要素または機能を削除することができるか、（実質的に同時の実行または反対の順序での実行も含めて）図示または説明した順序とは異なる順序で実行することができる、本明細書において説明した実施形態の範囲に含まれる。さらには、上記において説明したデータおよび／またはコンポーネントを、コンピュータ読み取り可能媒体に記憶し、コンピュータが実行可能なコンポーネントを記憶しているコンピュータ読み取り可能記憶媒体、例えばＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭに関連付けられたドライブ機構を使用して、もしくは、さらにネットワークインタフェースを使用して、コンピューティングデバイスのメモリにロードすることができ、コンポーネントおよび／またはデータを単一の機器に記憶させることができるか、または、何らかのやり方で分散させて記憶できることも明らかである。したがって、汎用コンピューティングデバイスを、上述の種々のデータおよび／またはコンポーネントの処理および／または実行も含めて、本発明によるプロセス、アルゴリズムおよび方法論を実施するよう構成することができる。
【００４８】
上記の実施形態についての種々のヴァリエーションおよび修正形態が考えられ、それらの構成要素は他の許容される実施例に含まれると解するべきである。そのような全ての修正形態およびヴァリエーションは本願発明の範囲に含まれ、添付の特許請求の範囲に記載された発明によって保護されることが意図されている。
【００４９】
第１項  コンテンツデリバリネットワークサービスプロバイダにおいて、クライアントコンピューティングデバイスの第１のクラスタからのリソースリクエストを監視するステップと、
第１のクラスタからのリソースリクエストに対応するコンテンツのセットを識別するステップと、
クライアントコンピューティングデバイスの第２のクラスタに情報を提供する権限を有するキャッシュコンポーネントにおいて、識別されたコンテンツのセットをプレロードするステップとを有する、方法。
【００５０】
第２項  第１のクラスタは第２のクラスタと同一である、第１項記載の方法。
【００５１】
第３項  第１のクラスタは第２のクラスタとは異なる、第１項記載の方法。
【００５２】
第４項  クライアントコンピューティングデバイスの第１のクラスタは第１のタイムゾーン内に存在するクライアントコンピューティングデバイスを含む、第１項記載の方法。
【００５３】
第５項  クライアントコンピューティングデバイスの第２のクラスタは第２のタイムゾーン内に存在するクライアントコンピューティングデバイスを含む、第１項記載の方法。
【００５４】
第６項  リソースリクエストを監視するステップは、ある期間中に第１のタイムゾーン内のクライアントコンピューティングデバイスの第１のクラスタから受信するリソースリクエストを監視するステップを含み、
コンテンツをプレロードするステップは、同一の期間中に異なるタイムゾーン内のクライアントコンピューティングデバイスの第２のクラスタに情報を提供する権限を有するキャッシュコンポーネントにおいてコンテンツをプレロードするステップを含む、第１項記載の方法。
【００５５】
第７項  第１のクラスタに関してリソースリクエストに対応するコンテンツのセットを識別するステップは、第１のクラスタに関して頻繁にリクエストされたコンテンツを識別するステップを含む、第１項記載の方法。
【００５６】
第８項  識別されたコンテンツのセットをプレロードするステップは、識別された頻繁にリクエストされたコンテンツをプレロードするステップを含む、第７項記載の方法。
【００５７】
第９項  識別されたコンテンツのセットをプレロードするステップは、識別された頻繁にリクエストされたコンテンツに関連付けられた付加的なコンテンツをプレロードするステップを含む、第７項記載の方法。
【００５８】
第１０項  コンテンツデリバリネットワークサービスプロバイダにおいて、第１のクライアントコンピューティングデバイスからリソースリクエストを取得するステップと、
第１のクライアントコンピューティングデバイスに関連付けられたクラスを決定するステップと、
クラスとリクエストされたコンテンツに関連付けるステップと、
関連付けられたクラスに依存して、リクエストされたコンテンツをコンテンツデリバリネットワークサービスプロバイダのキャッシュコンポーネントにプレロードするステップとを有する、方法。
【００５９】
第１１項  クラスの決定は、ある期間にわたる特性の観察および観察された特性に基づくクラスの決定に相当する、第１０項記載の方法。
【００６０】
第１２項  リクエストされたコンテンツをプレロードするステップは、クラスおよび時間に依存して、リクエストされたコンテンツをキャッシュコンポーネントにプレロードするステップを含む、第１０項記載の方法。
【００６１】
第１３項  クラスは一時的な範囲に対応する、第１０項記載の方法。
【００６２】
第１４項  関連付けられたクラスに依存して、リクエストされたコンテンツをキャッシュコンポーネントにプレロードするステップは、キャッシュコンポーネントによって情報が提供されるコンピューティングデバイスに関連付けられたクラスを、第１のクライアントコンピューティングデバイスに関連付けられている決定されたクラスと相互に関連させるステップを含む、第１０項記載の方法。
【００６３】
第１５項  関連付けられたクラスに依存して、リクエストされたコンテンツをキャッシュコンポーネントにプレロードするステップは、キャッシュコンポーネントによって情報が提供されるコンピューティングデバイスに関連付けられたクラスを、第１のクライアントコンピューティングデバイスに関連付けられている決定されたクラスとマッチングさせるステップを含む、第１０項記載の方法。
【００６４】
第１６項  関連付けられたクラスに依存して、リクエストされたコンテンツをキャッシュコンポーネントにプレロードするステップは、第１のクライアントコンピューティングデバイスに関連付けられている決定されたクラスと一致するクラスを有するクライアントコンピューティングデバイスにコンテンツを提供するキャッシュコンポーネントを選択するステップと、
リクエストされたコンテンツを選択されたキャッシュコンポーネントにプレロードするステップとを含む、第１０項記載の方法。
【００６５】
第１７項  クライアントコンピューティングデバイスのセットに関連付けられたクラスを決定するステップと、
決定されたクラスに関してリソースリクエストを監視するステップと、
決定されたクラスに依存して、クライアントコンピューティングデバイスにコンテンツを提供する少なくとも１つのキャッシュコンポーネントを識別するステップと、
コンテンツ情報を識別されたキャッシュコンポーネントに提供するステップとを有する、方法。
【００６６】
第１８項  決定クラスは一時的な範囲に対応する、第１７項記載の方法。
【００６７】
第１９項  一時的な範囲は第１のタイムゾーンに対応し、
決定されたクラスに依存して、コンテンツ情報をクライアントコンピューティングデバイスに提供する少なくとも１つのキャッシュコンポーネントを識別するステップは、コンテンツ情報を第２のタイムゾーン内のクライアントコンピューティングデバイスに提供する少なくとも１つのキャッシュコンポーネントを識別するステップを含む、第１８項記載の方法。
【００６８】
第２０項  コンテンツ情報は、決定されたクラスに関して頻繁にリクエストされたコンテンツを含む、第１７項記載の方法。
【００６９】
第２１項  コンテンツ情報は、決定されたクラスに関して頻繁にリクエストされたコンテンツに関連付けられた付加的な情報を含む、第１７項記載の方法。
【００７０】
第２２項  コンテンツ情報は、決定されたクラスに関して頻繁にリクエストされたコンテンツのリストを含む、第１７項記載の方法。
【００７１】
第２３項  さらに、配信されるリストに記載されたコンテンツのアベイラビリティを識別されたキャッシュコンポーネントによって検査するステップを有する、第２２項記載の方法。
【００７２】
第２４項  さらに、リストに記載された１つまたは複数のリソースが利用可能でない場合には、リストに記載された１つまたは複数のリソースを取得するステップを有する、第２３項記載の方法。
【００７３】
第２５項  さらに、
頻繁にリクエストされたコンテンツのリストに基づき、識別されたキャッシュコンポーネントにロードすべきコンテンツを選択するステップと、
配信されるリストに記載されたリソースのアベイラビリティを識別されたキャッシュコンポーネントによって検査するステップと、
リストに記載された１つまたは複数のリソースが利用可能でない場合には、リストに記載された１つまたは複数のリソースを取得するステップとを有する、第２２項記載の方法。
【００７４】
第２６項  さらに、識別されたコンテンツをキャッシュコンポーネントにおいて管理するステップを有する、第１７項記載の方法。
【００７５】
第２７項  識別されたコンテンツをキャッシュコンポーネントにおいて管理するステップは、識別されたコンテンツをキャッシュコンポーネントのディスクメモリからキャッシュコンポーネントのメモリに移すステップを含む、第２６項記載の方法。
【００７６】
第２８項  識別されたコンテンツをキャッシュコンポーネントにおいて管理するステップは、キャッシュコンポーネントのメモリ内の識別されたコンテンツに関連付けられたキャッシュ制御データを変更するステップを含む、第２６項記載の方法。
【００７７】
第２９項  識別されたコンテンツをキャッシュコンポーネントにおいて管理するステップは、識別されたコンテンツをストレージロケーションから取得するステップを含む、第２６項記載の方法。
【００７８】
第３０項  クライアントコンピューティングデバイスのセットに関連付けられたクラスを決定するステップと、
決定されたクラスに関してリソースリクエストを監視するステップと、
決定されたクラスに依存して、クライアントコンピューティングデバイスの第２のセットを識別するステップと、
リソースリクエストに関係するコンテンツ情報をクライアントコンピューティングデバイスの第２のセットに提供するステップとを有する、方法。
【００７９】
第３１項  決定クラスは一時的な範囲に対応する、第３０項記載の方法。
【００８０】
第３２項  一時的な範囲は第１のタイムゾーンに対応し、
決定されたクラスに依存して、クライアントコンピューティングデバイスの第２のセットを識別するステップは、異なるタイムゾーン内のクライアントコンピューティングデバイスの第２のセットを識別するステップを含む、第３１項記載の方法。
【００８１】
第３３項  コンテンツ情報は、決定されたクラスに関して頻繁にリクエストされたコンテンツを含む、第３０項記載の方法。
【００８２】
第３４項  コンテンツ情報は、決定されたクラスに関して頻繁にリクエストされたコンテンツに関連付けられた付加的な情報を含む、第３０項記載の方法。
【００８３】
第３５項  コンテンツ情報は、決定されたクラスに関して頻繁にリクエストされたコンテンツのリストを含む、第３０項記載の方法。
【００８４】
第３６項  さらに、配信されるリストに記載されたコンテンツのアベイラビリティをクライアントコンピューティングデバイスの第２のセットによって検査するステップを有する、第３５項記載の方法。
【００８５】
第３７項  さらに、リストに記載された１つまたは複数のリソースが利用可能でない場合には、リストに記載された１つまたは複数のリソースを取得するステップを有する、第３７項記載の方法。
【００８６】
第３８項  さらに、
頻繁にリクエストされたコンテンツのリストに基づき、クライアントコンピューティングデバイスの第２のセットにロードすべきコンテンツを選択するステップと、
配信されるリストに記載されたリソースのアベイラビリティをクライアントコンピューティングデバイスの第２のセットによって検査するステップと、
リストに記載された１つまたは複数のリソースが利用可能でない場合には、リストに記載された１つまたは複数のリソースを取得するステップとを有する、第３５項記載の方法。
【００８７】
第３９項  観察された特性に基づいて、第１のキャッシュコンポーネントにおいてリソースリクエストを監視するステップと、
第２のキャッシュコンポーネントにおいて観察された特性に関連付けられたコンテンツのアベイラビリティを提供するステップとを有する、方法。
【００８８】
第４０項  第２のキャッシュコンポーネントにおいて観察された特性に関連付けられたコンテンツのアベイラビリティを提供するステップは、コンテンツをキャッシュコンポーネントのディスクメモリからキャッシュコンポーネントのメモリに移すステップを含む、第３９項記載の方法。
【００８９】
第４１項  第２のキャッシュコンポーネントにおいて観察された特性に関連付けられたコンテンツのアベイラビリティを提供するステップは、キャッシュコンポーネントのメモリ内のコンテンツに関連付けられた有効期間データを拡大するステップを含む、第３９項記載の方法。
【００９０】
第４２項  第２のキャッシュコンポーネントにおいて観察された特性に関連付けられたコンテンツのアベイラビリティを提供するステップは、コンテンツをストレージロケーションから取得するステップを含む、第３９項記載の方法。
【００９１】
第４３項  コンテンツデリバリネットワークサービスプロバイダに関連付けられたプレゼンスの第１のネットワークポイントと、クライアントコンポーネントとを有し、
プレゼンスの第１のネットワークポイントは、
第１のクライアントコンピューティングデバイスからリソースリクエストを取得し、
第１のクライアントコンピューティングデバイスをクライアントコンピューティングデバイスの第１のクラスタに関連付け、
第１のクラスタに関するリソースリクエストを監視し、
第１のクラスタに関して監視されるリソースリクエストに依存して、第２のクライアントコンピューティングデバイスに関するコンテンツを識別し、
クライアントコンポーネントは第２のクライアントコンピューティングデバイスにおいて識別されたコンテンツを管理する、システム。
【００９２】
第４４項  識別されたコンテンツを管理するステップは、識別されたコンテンツを第２のクライアントコンピューティングデバイスのディスクメモリから第２のクライアントコンピューティングデバイスのメモリに移すステップを含む、第４３項記載の方法。
【００９３】
第４５項  識別されたコンテンツを管理するステップは、第２のクライアントコンピューティングデバイスのメモリ内の識別されたコンテンツに関連付けられた有効期間データを拡大するステップを含む、第４３項記載の方法。
【００９４】
第４６項  識別されたコンテンツを管理するステップは、識別されたコンテンツをストレージロケーションから取得するステップを含む、第４３項記載の方法。
【図１】
2015072694.tif 000003
【図２】
2015072694.tif 000004
【図３】
2015072694.tif 000005
【図４】
2015072694.tif 000006
【図５】
2015072694.tif 000007
【図６】
2015072694.tif 000008
【図７】
2015072694.tif 000009
【図８】
2015072694.tif 000010
【図９】
2015072694.tif 000011
【手続補正書】
【提出日】平成26年12月5日(2014.12.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンテンツデリバリネットワーク（ＣＤＮ）サービスプロバイダにおいて、クライアントコンピューティングデバイスの第１のグループに由来する、ＣＤＮサービスプロバイダへのリクエストに少なくとも部分的に基づき、クライアントコンピューティングデバイスの前記第１のグループとは異なるクライアントコンピューティングデバイスの第２のグループを決定するステップと、
クライアントコンピューティングデバイスの前記第２のグループに関するコンテンツの第２のセットを、クライアントコンピューティングデバイスの前記第１のグループに集合的に対応する、コンテンツの第１のグループに少なくとも部分的に基づき識別するステップであって、前記識別されたコンテンツの第２のセットはコンテンツの前記第１のグループとは異なるステップと、
クライアントコンピューティングデバイスの前記第２のグループに情報を提供する権限を有するキャッシュコンポーネントにおいて、前記識別されたコンテンツの第２のセットの少なくとも一部をプレロードするステップとを有しており、
前記ＣＤＮサービスプロバイダの１つまたは複数のコンピューティングデバイスによって実行されることを特徴とする、方法。
【請求項２】
前記識別されたコンテンツの第２のセットは広告表示コンテンツを含む、請求項１記載の方法。
【請求項３】
前記識別されたコンテンツの第２のセットは、クライアントコンピューティングデバイスの前記第２のグループからの将来のコンテンツリクエストを期待して提供されるコンテンツを含む、請求項１記載の方法。
【請求項４】
前記第２のグループの各メンバーは前記第１のグループの各メンバーとは異なる、請求項１記載の方法。
【請求項５】
コンテンツデリバリネットワーク（ＣＤＮ）サービスプロバイダのキャッシュコンポーネントによって情報が提供される他のクライアントコンピューティングデバイスに関連付けられた第２のクラスを、クライアントコンピューティングデバイスの第１のクラスに由来する、ＣＤＮサービスプロバイダへのコンテンツに関するリクエストに依存して、クライアントコンピューティングデバイスの第１のクラスと関連させるステップと、
前記他のクライアントコンピューティングデバイスからの後続のリクエストを期待して、クライアントコンピューティングデバイスの前記第１のクラスによって集合的にリクエストされたコンテンツに依存して、前記キャッシュコンポーネントにおいて種々のコンテンツをプレロードするステップとを有しており、
前記コンテンツデリバリネットワークサービスプロバイダの１つまたは複数のコンピューティングデバイスによって実行されることを特徴とする、方法。
【請求項６】
前記種々のコンテンツは広告コンテンツを含む、請求項５記載の方法。
【請求項７】
前記クラスは一時的な範囲に対応する、請求項５記載の方法。
【請求項８】
第２のクラスを第１のクラスに関連させるステップは、該第２のクラスを該第１のクラスとマッチングさせるステップを含む、請求項５記載の方法。
【請求項９】
前記他のクライアントコンピューティングデバイスの各クライアントコンピューティングデバイスは、前記第１のクラスのクライアントコンピューティングデバイスとは異なる、請求項５記載の方法。
【請求項１０】
コンテンツデリバリネットワーク（ＣＤＮ）サービスプロバイダに関連付けられた１つまたは複数のコンピューティングデバイスを含むシステムにおいて、
前記１つまたは複数のコンピューティングデバイスのうちのいずれか１つのコンピューティングデバイス、またはコンピューティングデバイスの組み合わせによって、
クライアントコンピューティングデバイスの第１のグループに由来する、ＣＤＮサービスプロバイダへのリクエストに少なくとも部分的に基づき、クライアントコンピューティングデバイスの前記第１のグループとは異なるクライアントコンピューティングデバイスの第２のグループを決定し、
クライアントコンピューティングデバイスの前記第２のグループに関する１つまたは複数のリソースを、クライアントコンピューティングデバイスの前記第１のグループに集合的に対応する、コンテンツの第１のグループに少なくとも部分的に基づき識別し、ただし、前記識別された１つまたは複数のリソースはコンテンツの前記第１のグループとは異なり、
クライアントコンピューティングデバイスの前記第２のグループに情報を提供する権限を有するキャッシュコンポーネントにおいて、前記識別された１つまたは複数のリソースの少なくとも１つをプレロードする、
ことを特徴とするシステム。
【請求項１１】
前記識別された１つまたは複数のリソースは広告表示コンテンツを含む、請求項１０記載のシステム。
【請求項１２】
前記識別された１つまたは複数のリソースは、クライアントコンピューティングデバイスの前記第２のグループからの将来のコンテンツリクエストを期待して提供されるコンテンツを含む、請求項１０記載のシステム。
【請求項１３】
前記第２のグループの各メンバーは前記第１のグループの各メンバーとは異なる、請求項１０記載のシステム。
【請求項１４】
コンテンツデリバリネットワークサービスプロバイダに関連付けられた１つまたは複数のコンピューティングデバイスを含むシステムにおいて、
前記１つまたは複数のコンピューティングデバイスのうちのいずれか１つのコンピューティングデバイス、またはコンピューティングデバイスの組み合わせによって、
コンテンツデリバリネットワーク（ＣＤＮ）サービスプロバイダのキャッシュコンポーネントによって情報が提供される他のクライアントコンピューティングデバイスに関連付けられた第２のクラスを、クライアントコンピューティングデバイスの第１のクラスに由来する、ＣＤＮサービスプロバイダへのコンテンツに関するリクエストに依存して、クライアントコンピューティングデバイスの第１のクラスと関連させ、
前記他のクライアントコンピューティングデバイスからの後続のリクエストを期待して、クライアントコンピューティングデバイスの前記第１のクラスによって集合的にリクエストされたコンテンツに依存して、前記キャッシュコンポーネントにおいて種々のコンテンツをプレロードする、
ことを特徴とする、システム。
【請求項１５】
前記種々のコンテンツは広告コンテンツを含む、請求項１４記載のシステム。
【請求項１６】
前記クラスは一時的な範囲に対応する、請求項１４記載のシステム。
【請求項１７】
第２のクラスを第１のクラスに関連させることは、該第２のクラスを該第１のクラスとマッチングさせることを含む、請求項１４記載のシステム。
【請求項１８】
前記他のクライアントコンピューティングデバイスの各クライアントコンピューティングデバイスは、前記第１のクラスのクライアントコンピューティングデバイスとは異なる、請求項１４記載のシステム。
【外国語明細書】
2015072694.tif 000012
2015072694.tif 000013
2015072694.tif 000014
2015072694.tif 000015
2015072694.tif 000016
2015072694.tif 000017
2015072694.tif 000018
2015072694.tif 000019
2015072694.tif 000020
2015072694.tif 000021
2015072694.tif 000022
2015072694.tif 000023
2015072694.tif 000024
2015072694.tif 000025
2015072694.tif 000026
2015072694.tif 000027
2015072694.tif 000028
2015072694.tif 000029
2015072694.tif 000030
2015072694.tif 000031
2015072694.tif 000032
2015072694.tif 000033
2015072694.tif 000034
2015072694.tif 000035
2015072694.tif 000036
2015072694.tif 000037
2015072694.tif 000038
2015072694.tif 000039
2015072694.tif 000040
2015072694.tif 000041
2015072694.tif 000042
2015072694.tif 000043
2015072694.tif 000044
2015072694.tif 000045
2015072694.tif 000046
2015072694.tif 000047