(57)【特許請求の範囲】
【請求項１】
コンテンツ配信ネットワーク（ＣＤＮ）で動作可能な、コンピュータにより実施される方法であって、
前記ＣＤＮにおけるノードにより、
（Ａ）コンテンツについてのリクエストを受信する段階と、
（Ｂ）前記リクエストについての情報を判断する段階と、
（Ｃ）（Ｂ）での前記判断に基づいて、
（Ｃ）（１）前記コンテンツについての十分な情報が判断された場合、前記リクエストを処理する適切なコンテンツ配信（ＣＤ）サービスに前記リクエストを割り当て、
（Ｃ）（２）前記コンテンツについての不十分な情報が判断された場合、前記リクエストを処理する包括的ＣＤサービスに前記リクエストを割り当てる段階と、
（Ｄ）（Ｃ）（２）において前記リクエストが前記包括的ＣＤサービスに割り当てられた場合には、前記包括的ＣＤサービスは、
（Ｄ）（１）前記リクエストを処理し、かつ
（Ｄ）（２）前記コンテンツについての更新済み情報を提供する段階と
を備え、
前記コンテンツについての前記十分な情報は、前記コンテンツのサイズを含む、方法。
【請求項２】
前記受信されたリクエストは、オリジンサーバに格納されたコンテンツのためのものであり、前記リクエストについての情報を判断する前記段階は、前記コンテンツについての情報を判断することの試みを含み、前記判断に基づいて（Ｃ）を実行する前記段階は、（Ｂ）での判断の試みに基づき、
（Ｃ）（１）は、前記コンテンツについての十分な情報が判断されるとき、前記適切なＣＤサービスが前記リクエストを処理することを判断し、前記割り当ては、前記リクエストを処理する前記判断された適切なＣＤサービスに前記リクエストを割り当て、前記適切なＣＤサービスは、前記ＣＤＮにおける異なるノードを含み、
前記コンテンツについての前記不十分な情報は前記コンテンツの前記サイズについての情報の不足を含み、
前記コンテンツについての前記更新済み情報は、前記コンテンツのサイズを含む、
請求項１に記載のコンピュータにより実施される方法。
【請求項３】
前記適切なＣＤサービスおよび前記包括的ＣＤサービスは、ＣＤサービスのキャッシングから選択される、請求項１または２に記載の方法。
【請求項４】
前記リクエストは、リソースについてのＨＴＴＰリクエストである、請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記リクエストは、ＵＲＩまたはＵＲＬを含み、（Ｂ）において前記リクエストについての情報を判断する前記段階は、前記ＵＲＬから前記リクエストに関連付けられている前記コンテンツについての前記情報へのマッピングにアクセスする段階を有する、請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記ＵＲＬは、特定のリソースに対応し、前記特定のリソースについての前記情報は、前記特定のリソースのサイズを含む、請求項５に記載の方法。
【請求項７】
（Ｄ）（２）において前記コンテンツについての更新済み情報を提供する前記段階は、前記マッピングを更新する段階を有する、請求項５または６に記載の方法。
【請求項８】
前記マッピングは、１または複数のデータベースに保持される、請求項５から７のいずれか一項に記載の方法。
【請求項９】
（Ｅ）（Ｃ）（１）において前記リクエストが前記適切なＣＤサービスに割り当てられた場合には、前記適切なＣＤサービスは、
（Ｅ）（１）前記リクエストを処理し、かつ
（Ｅ）（２）前記コンテンツについての更新済み情報を提供する段階
をさらに備える、請求項１から８のいずれか一項に記載の方法。
【請求項１０】
コンテンツ配信ネットワーク（ＣＤＮ）において動作可能な、コンピュータにより実施される方法であって、
前記ＣＤＮにおけるノードにより、
（Ａ）コンテンツについてのリクエストを受信する段階と、
（Ｂ）前記コンテンツのカテゴリを判断する段階と、
（Ｃ）（Ｂ）での前記判断に基づいて、
（Ｃ）（１）前記コンテンツの前記カテゴリが判断された場合、前記コンテンツの前記カテゴリに基づいて、前記リクエストを処理する適切なコンテンツ配信（ＣＤ）サービスに前記リクエストを割り当て、
（Ｃ）（２）前記コンテンツの前記カテゴリが判断されなかった場合、前記リクエストを処理する包括的ＣＤサービスに前記リクエストを割り当てる段階と、
（Ｄ）（Ｃ）（２）において前記リクエストが前記包括的ＣＤサービスに割り当てられた場合には、前記包括的ＣＤサービスは、
（Ｄ）（１）前記リクエストを処理し、かつ
（Ｄ）（２）前記コンテンツの前記カテゴリを提供する段階と
を備え、前記コンテンツの前記カテゴリは、前記コンテンツのサイズに基づく、方法。
【請求項１１】
前記受信されたリクエストは、オリジンサーバに格納されたコンテンツのためのものであり、前記カテゴリを判断する前記段階は、前記カテゴリを判断することの試みを含み、前記判断に基づいて（Ｃ）を実行する前記段階は、（Ｂ）での判断の試みに基づき、
（Ｃ）（１）は、前記コンテンツのカテゴリが判断されるとき、前記適切なＣＤサービスが前記リクエストを処理することを判断し、前記割り当ては、前記コンテンツのカテゴリに基づいて、前記リクエストを処理する前記判断された適切なＣＤサービスに前記リクエストを割り当て、前記適切なＣＤサービスは、前記ＣＤＮにおける異なるノードを含む、
請求項１０に記載のコンピュータにより実施される方法。
【請求項１２】
前記リクエストはＨＴＴＰリクエストであり、前記コンテンツは１または複数のリソースを含む、請求項１０または１１に記載の方法。
【請求項１３】
プログラムであって、
コンテンツ配信サービス（ＣＤＮ）において動作可能なコンピュータに、
（Ａ）コンテンツについてのリクエストを受信する段階と、
（Ｂ）前記リクエストについての情報を判断する段階と、
（Ｃ）（Ｂ）での前記判断に基づいて、
（Ｃ）（１）前記コンテンツについての十分な情報が判断された場合、前記リクエストを処理する適切なコンテンツ配信（ＣＤ）サービスに前記リクエストを割り当て、
（Ｃ）（２）前記コンテンツについての不十分な情報が判断された場合、前記リクエストを処理する包括的ＣＤサービスに前記リクエストを割り当てる段階と、
（Ｄ）（Ｃ）（２）において前記リクエストが前記包括的ＣＤサービスに割り当てられた場合には、前記包括的ＣＤサービスは、
（Ｄ）（１）前記リクエストを処理し、かつ
（Ｄ）（２）前記コンテンツについての更新済み情報を提供する段階と
を実行させ、前記コンテンツについての前記十分な情報は、前記コンテンツのサイズを含む、プログラム。
【請求項１４】
前記リクエストについての判断された前記情報は、前記コンテンツについての情報であり、
（Ｃ）（１）は、前記コンテンツについての十分な情報が判断されるとき、前記適切なＣＤサービスが前記リクエストを処理することを判断し、前記割り当ては、前記リクエストを処理する前記判断された適切なＣＤサービスに前記リクエストを割り当て、前記適切なＣＤサービスは、前記ＣＤＮにおける異なるノードを含み、
前記コンテンツについての前記不十分な情報は前記コンテンツのサイズについての情報の不足を含み、
前記コンテンツについての前記更新済み情報は、前記コンテンツのサイズを含む、
請求項１３に記載のプログラム。
【請求項１５】
前記適切なＣＤサービスおよび前記包括的ＣＤサービスは、ＣＤサービスのキャッシングから選択される、請求項１３または１４に記載のプログラム。
【請求項１６】
前記リクエストは、リソースについてのＨＴＴＰリクエストである、請求項１３から１５のいずれか一項に記載のプログラム。
【請求項１７】
前記リクエストは、ＵＲＩまたはＵＲＬを含み、（Ｂ）において前記リクエストについての前記情報を判断する前記段階は、前記ＵＲＬから前記リクエストに関連付けられている前記コンテンツについての前記情報へのマッピングにアクセスする段階を有する、請求項１３から１６のいずれか一項に記載のプログラム。
【請求項１８】
前記ＵＲＬは、特定のリソースに対応し、前記特定のリソースについての前記情報は、前記特定のリソースのサイズを含む、請求項１７に記載のプログラム。
【請求項１９】
（Ｄ）（２）において前記コンテンツについての更新済み情報を提供する前記段階は、前記マッピングを更新する段階を有する、請求項１７または１８に記載のプログラム。
【請求項２０】
前記マッピングは、１または複数のデータベースに保持される、請求項１７から１９のいずれか一項に記載のプログラム。
【請求項２１】
（Ｅ）（Ｃ）（１）において前記リクエストが前記適切なＣＤサービスに割り当てられた場合には、前記適切なＣＤサービスは、
（Ｅ）（１）前記リクエストを処理し、かつ
（Ｅ）（２）前記コンテンツについての更新済み情報を提供する段階
をさらに備える、請求項１３から２０のいずれか一項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照  本特許協力条約（ＰＣＴ）特許出願は、２０１４年１２月１５日に出願された、"ＲＥＱＵＥＳＴ  ＰＲＯＣＥＳＳＩＮＧ  ＩＮ  Ａ  ＣＯＮＴＥＮＴ  ＤＥＬＩＶＥＲＹ  ＮＥＴＷＯＲＫ"と題する非仮出願第１４／５７０，７４３号の優先権を主張する。当該非仮出願は、その全体がここに参照により組み込まれる。
【０００２】
著作権の宣言  本特許文献は、著作権保護の対象となる資料を含む。著作権者は、本特許文献または米国特許商標局のファイルにおけるあらゆる関連資料の複製に対して異議を唱えるものではないが、そうでなければ、いかなる理由があろうとも全ての著作権を留保する。
【０００３】
参照による組み込み  以下の米国特許出願および米国特許出願公開は、ここに、全ての目的で、参照により本明細書に完全に組み込まれる。１．    ２０１２年１２月１２日に出願された、"Ｃｏｎｔｅｎｔ  Ｄｅｌｉｖｅｒｙ  Ｎｅｔｗｏｒｋ"という発明の名称の米国特許出願公開第２０１３／０１５９４７２号明細書、２．    ２０１２年１２月１２日に出願された、"Ｃｏｎｔｅｎｔ  Ｄｅｌｉｖｅｒｙ  Ｎｅｔｗｏｒｋ"という発明の名称の米国特許出願公開第２０１３／０１５９４７３号明細書、３．    ２０１４年６月１７日に出願された、"Ｏｒｉｇｉｎ  Ｓｅｒｖｅｒ‐Ｓｉｄｅ  Ｃｈａｎｎｅｌ  Ｉｎ  Ａ  Ｃｏｎｔｅｎｔ  Ｄｅｌｉｖｅｒｙ  Ｆｒａｍｅｗｏｒｋ"という発明の名称の米国特許出願公開第２０１４／０３４４３９９号明細書、４．    １９９８年２月１０日に出願された、"Ｏｐｔｉｍｉｚｅｄ  Ｎｅｔｗｏｒｋ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｉｏｎ"という発明の名称の米国特許第６,１８５,５９８号明細書、５．    ２００９年２月２３日に出願され、２０１１年９月６日に登録された、"Ｌｏａｄ‐Ｂａｌａｎｃｉｎｇ  Ｃｌｕｓｔｅｒ"という発明の名称の米国特許第８,０１５,２９８号明細書、および６．    ２０１０年９月１３日に出願され、２０１３年７月１６日に登録された、"Ｌｏａｄ‐Ｂａｌａｎｃｉｎｇ  Ｃｌｕｓｔｅｒ"という発明の名称の米国特許第８,４８９,７５０号明細書。
【０００４】
本発明は、コンテンツ配信およびコンテンツ配信ネットワークに関し、より具体的には、コンテンツ配信ネットワークにおけるリクエスト処理に関する。
【図面の簡単な説明】
【０００５】
本発明のその他の目的、特徴、および特性、並びに、関連する構造の要素の動作および機能に関する方法、製造の部分および経済性の組み合わせは、添付の図面を参照して以下の記載および添付の特許請求項を考慮することによって、より明らかになるであろう。これらの全てが、本明細書の一部分を形成する。
【０００６】
【図１】本明細書の例示的な実施形態に従った例示的なコンテンツ配信フレームワークの態様を示す。
【０００７】
【図２（Ａ）】本明細書の例示的な実施形態に従った例示的なコンテンツ配信ネットワーク（ＣＤＮ）の態様を示す。
【図２（Ｂ）】本明細書の例示的な実施形態に従った例示的なコンテンツ配信ネットワーク（ＣＤＮ）の態様を示す。
【０００８】
【図３（Ａ）】本明細書の例示的な実施形態に従った処理の態様を示すフローチャートである。
【図３（Ｂ）】本明細書の例示的な実施形態に従った処理の態様を示すフローチャートである。
【０００９】
【図４】本明細書の例示的な実施形態に従ったコンピューティングの態様を示す。
【発明を実施するための形態】
【００１０】
用語解説そうでないように使用されない限り、本明細書において使用されるように、以下の用語または略語は、以下の意味を有する。
【００１１】
ＣＤは、コンテンツ配信を意味する。
【００１２】
ＣＤＮは、コンテンツ配信ネットワークを意味する。
【００１３】
ＤＮＳは、ドメイン名システムを意味する。
【００１４】
ＨＴＴＰは、ハイパーテキストトランスファープロトコルを意味する。
【００１５】
ＨＴＴＰＳは、ＨＴＴＰセキュリティを意味する。
【００１６】
ＵＲＩは、ユニフォームリソース識別子を意味する。
【００１７】
ＵＲＬは、ユニフォームリソースロケータを意味する。
【００１８】
バックグラウンドおよび概要  コンテンツ配信ネットワーク（ＣＤＮ）は、１または複数のコンテンツプロバイダの代わりに、好ましくは公衆インターネットを介して、クライアントに効率的にコンテンツ（例えばリソース）を配信する。コンテンツプロバイダは、オリジンソース（オリジンサーバまたはオリジン）を介して、自身のコンテンツ（例えばリソース）を提供する。ＣＤＮは、反対方向に（クライアントからオリジンサーバに）コンテンツを効率的に送信するためのオーバー・ザ・トップ搬送メカニズムも提供できる。エンドユーザ（クライアント）およびコンテンツプロバイダの両方が、ＣＤＮを使用することから恩恵を受ける。ＣＤＮを使用することで、コンテンツプロバイダは、自身のサーバ（例えば、自身のオリジンサーバ）から負担を取り除くこと（および、それにより、サーバにかかる負荷を低減すること）が可能である。クライアントは、より短い遅延でコンテンツを取得することが可能なことにより恩恵を受ける。
【００１９】
例示的なＣＤＮは、両方とも２０１２年１２月１２に出願された米国特許出願公開第２０１３／０１５９４７２号明細書および第２０１３／０１５９４７３号明細書、ならびに２０１４年６月１７日に出願された米国特許出願公開第２０１４／０３４４３９９号明細書、および１９９８年２月１０日に出願された米国特許第６,１８５,５９８号明細書において説明されている。これらのそれぞれの全内容は、全ての目的で、参照により本明細書に完全に組み込まれている。
【００２０】
本明細書において使用されるように、クライアントは、例えばエンドユーザがシステム内でリクエスト（例えば、ＨＴＴＰＳリクエストを含む、ＤＮＳリクエストおよびＨＴＴＰリクエスト）を出すべく使用するエージェント（例えば、ブラウザ、セットトップボックス、または他のアプリケーション）である。ＣＤＮまたは他の媒介者が使用されない場合、そのようなリクエストは、加入者自身のサーバ（例えば、加入者のオリジンサーバ）またはインターネット上の他のコンポーネントに直接向かい得る。コンテンツプロバイダが（例えば、米国特許出願公開第２０１３／０１５９４７２号明細書および第２０１３／０１５９４７３号明細書において説明されるように）ＣＤサービスに加入している場合、エンドユーザのリクエストを、場合によっては途中でコンテンツを変換およびキャッシングして、オリジンリクエストにマッピングし得る中間ＣＤサービスに様々なリクエストが向かい得る。
【００２１】
それぞれの別個のオリジン（例えばオリジンサーバ）は通常、１加入者と関連付けられているが、加入者は、加入者が所有しＣＤＮが提供するオリジンを含む、任意の数のオリジンと関連付けられ得る。
【００２２】
ＣＤＮがインタラクトし得る物理オリジンは、実際には、一連の媒介者からコンテンツ（おそらく例えば、加入者の実際のオリジンサーバで最終的に終わる別個のコンテンツ取得システムの要素）を取得する媒介者であり得る。しかしながら、ＣＤＮの内部構成要素が関連している限り、オリジンは、コンテンツが直接取得されるシステム上の境界の外にあるサービスである。
【００２３】
本明細書において使用されるように、エンドユーザは、サービスプロバイダエンティティにより提供されるいくつかのインターネットサービス（例えば、ウェブサイト、ストリーミングサービス等）を最終的に消費するエンティティ（例えば、人または組織）である。このプロバイダエンティティは、場合によっては、本説明において加入者と称される。なぜなら、プロバイダエンティティは、自身のコンテンツを（例えば自身のオリジンから自身の消費者へ）効率的に配信するためにＣＤＮサービスに加入しているからである。ＣＤＮは、自身の加入者と加入者のエンドユーザとの間に付加価値のある媒介（例えば、キャッシング、変形等）を提供し得る。
【００２４】
ＣＤＮにおけるリクエスト処理  コンテンツ配信フレームワーク１００の例示的な動作態様が、ここで図１を参照して説明される。クライアント１０２（例えば、クライアント１  １０２‐１、クライアント２  １０２‐２…クライアントｋ  １０２‐ｋを含む）は、１または複数の加入者の代わりにコンテンツを供給するＣＤＮ１０４を介して、コンテンツをリクエストする。クライアントは、一般に自身のリクエストがＣＤＮにより処理されているのを認識しておらず、またそうであるのが好ましいことが理解されるべきである。特定のコンテンツ（Ｃ）についての特定のクライアントリクエスト（Ｒ）は、当該リクエストを処理する、ＣＤＮ内のＣＤサービスに送信される。クライアントリクエストは、ＣＤＮの一部である集中メカニズムにより、または任意の既知のやり方で、ＣＤサービスに送信され得る。図１の図面において、リクエスト（Ｒ）はプロキシ（スライサとも称される）１０６に送信される。クライアントの観点からだと、プロキシ１０６はリクエストを処理している。しかしながら、プロキシ１０６は、クライアントのリクエストを処理し得る多数の他のＣＤサービス（例えばサーバ）のフロントエンドであり得る。図１の図面に示されるように、プロキシ１０６は、親１０８の１つを、クライアントリクエスト（Ｒ）を処理するものとして選択し得る。プロキシ１０６は、スイッチ等であり得る。
【００２５】
理解されるべきであるように、プロキシ１０６は、クライアントから受信するリクエストを変更および／または拡張し得る（例えば、プロキシ１０６は、ＵＲＬを正規化し得る。）。この理由で、クライアントからプロキシへのリクエストはＲで示される一方、プロキシから親へのリクエストはＲ'で示される。同様に、親からオリジンへのリクエストは、Ｒ"で示される。多くの場合、ＲはＲ'と同一であり得、Ｒ'はＲ"と同一であり得る。同様に、オリジンにより親に提供されるコンテンツＣは、クライアントに提供される前に変更および／または拡大され得る。従って、親からクライアントへの応答５について、表記Ｃ'が付される。多くの場合、ＣはＣ'と同一であり得、いかなる変更についても要件はない。コンテンツの変更は、メタデータの追加、再フォーマット等を含み得る。
【００２６】
選択される親ＣＤサービスは、与えられるリクエストの種類について適切なものであることが好ましい。例えば、いくつかのＣＤサービスが、大きいリソースを供給するのに効率的になるような方法で構成または調整され得る一方、他のＣＤサービスは、小さいリソースを供給する際により効率的になるよう構成または調整され得る。ノードの調整／構成は、どれだけの物理メモリをノードが有しているか、ノードのディスクドライブの数／サイズ、ノードがスピニングドライブまたはソリッドステートドライブ（ＳＳＤ）のいずれを有しているか、および何のソフトウェアがノード上で動作しているかを含み得る。当業者であれば、本説明を読むと、どの種類のリソースを供給するのに特定のマシンまたはＣＤＮノードが最も良い装備を有しているかを、これらの属性が組み合わさって特定していることに気付くであろうし、これを理解するであろう。例えば、多数のスピニングドライブを備えるものの、メモリが多くないマシンは、ディスクからストリーミングされ得る非常に大きいリソースを供給するのに好適であり得る。逆に、非常に人気というわけではない多数の小さいリソースのライブラリのために、マシンは、当該リソースへのアクセス時間が十分に早くなるよう、多数のＳＳＤを有する必要があるであろう。もしそうであれば、多くの物理メモリを備えるマシンは、ディスクに向かう必要があるよりもはるかに効率的にメモリに適合する大きいまたは小さいリソースのワーキングセットに良く対処し得る。ＣＰＵ能力が高いマシンは、多くの操作（例えば、スクラビング、エッジサイドインクルード（ｅｄｇｅ‐ｓｉｄｅ‐ｉｎｃｌｕｄｅ）または他の「アプリケーションアットジエッジ（ａｐｐｌｉｃａｔｉｏｎ  ａｔ  ｔｈｅ  ｅｄｇｅ）」）処理を必要とするリソース用に好ましいであろう。
【００２７】
一般的に、リクエストされたコンテンツをプロキシ１０６がより認識しているほど、その親ＣＤサービスの選択はより良い（より適切な）ものになるはずである。これに関連して、プロキシ１０６は、１または複数の属性データベース１１０をクエリして、リクエストされたコンテンツ（例えばリソース）について属性を判断し得る。属性データベース１１０は、リソースのサイズのような属性を提供するのが好ましい。本明細書の好ましい例示的な実施形態において、クライアントリクエストは、ＵＲＩまたはＵＲＬ形式のＨＴＴＰリクエスト（ＨＴＴＰＳリクエストを含む）であり、属性データベース１１０は、ＵＲＬを使用して指標化され得る。本明細書において使用されるように、特定のリクエストに対する適切なＣＤサービスは、その特定のリクエストを処理するよう十分に構成されているもの（例えば、ハードウェアおよび／またはソフトウェア）であり得る。他のＣＤサービスが特定のリクエストを処理することが可能であり得る一方、適切なＣＤサービスはその特定のリクエストを効率的に（または少なくとも他のＣＤサービスと同程度効率的に）処理するのが好ましいであろうことが理解されるべきである。
【００２８】
言及されたように、プロキシ１０６は、クライアントリクエストを処理するのに適切な親ＣＤサービス（例えばサーバ）を選択する。選択されたＣＤサービス（例えば親サーバ）は、場合によってはプロキシスライサ１０６を介して、リクエストされたコンテンツ（Ｒ）をリクエスティングクライアントに提供し得る。いくつかの場合において、選択されたＣＤサービスは、コンテンツのプロバイダに関連付けられているオリジンサーバ１１２のような別の位置から、リクエストされたコンテンツを取得し得る。説明されたように、プロキシは、どの特定のコンテンツ（例えばリソース）がリクエストされているかに基づいてリクエストを適切なバックエンドマシンに送るコンタクトポイントとして機能する。つまり、プロキシは、コンテンツについての全てのリクエストを受信し得るが、大きいリソースについてのフィルリクエストを大きいリソース用に調整されたそれらのマシンに、および、小さいリソースについてのフィルリクエストを小さいリソース用に調整されたそれらのマシンに（すなわち、どのような基準がマシンの調整に対応付けられていようと）送信する。
【００２９】
ここで図２（Ａ）を参照して、リクエスト処理の態様が、リクエストを適切な親サーバに割り当てるのに十分な（または任意の）情報をプロキシ１０６が有していない場合について説明される。クライアント１０２は（図２（Ａ）のＡ１で）、コンテンツについてのリクエストＲをする。リクエストＲはプロキシ１０６に送信される。プロキシ１０６は（２０２で）、属性データベース１１０におけるリクエストＲについての情報を検索する。この場合、データベース１１０には、プロキシ１０６が適切な判断をすることを可能にするには不十分な情報がある。特に、いくつかの実装において、プロキシ１０６は、リクエストＲに関連付けられているコンテンツのサイズについての情報を有していない可能性がある。次に、プロキシ１０６は（Ａ２で）、包括的（または任意の）親ＣＤサービス１０８‐ＧにリクエストＲを送信する／割り当てる。
【００３０】
本明細書において使用されるように、包括的ＣＤサービスとは、リクエストＲの処理が可能であり得る任意のＣＤサービスを指すが、当該包括的サービスは、リクエストを処理するのに適切または最適でない可能性がある。
【００３１】
親ＣＤサービス１０８‐Ｇは、リクエストＲに関連付けられているコンテンツ（例えば適切なオリジンサービス１１２）を（Ａ３で）リクエストし、次に、リクエストされたコンテンツＣを、（場合によってはプロキシ１０６を介して）リクエスティングクライアントに（Ａ４〜Ａ５で）提供する。また、親ＣＤサービス１０８‐Ｇは、好ましくはコンテンツＣのサイズを含む、コンテンツＣについての情報を追跡および保持する。次に、親ＣＤサービス１０８‐Ｇは（２０４で）、コンテンツＣについての情報を含む属性データベース１１０を更新し得る。いくつかの場合において、親ＣＤサービス１０８‐Ｇは、また（または代わりに）、Ｃを含むヘッダにコンテンツＣについての属性のいくつかを提供し得る。
【００３２】
以前に処理されているコンテンツについてのリクエストをプロキシ１０６が受信した場合、Ｃについての情報は、既にデータベース１１０に存在する可能性がある。ここで図２（Ｂ）を参照して示されるように、クライアント１０２は（Ｂ１で）、リクエストＲをする。リクエストは、Ｒに関連付けられているコンテンツＣについての情報を判断するプロキシ１０６に送信される。例えば、プロキシ１０６は（２０２で）、データベース１１０をクエリして、コンテンツＣについての属性データ（例えば、コンテンツＣのサイズ）を取得し得る。この場合、プロキシ１０６は、十分な情報を有するので、適切なＣＤサービス（例えば親＃Ａ  １０８‐Ａ）にリクエストＲ'を割り当てる（Ｂ２）。ＣＤサービス１０８‐Ａは、（Ｂ３で）リクエストを処理し、リクエストされたコンテンツを（場合によってはプロキシ１０６を介して）リクエスティングクライアントに提供する。
【００３３】
リクエストを処理するＣＤサービス１０８‐Ａは、例えばコンテンツＣの人気度についての情報を追加すべく、属性データベース１１０にアクセスし得、および／または属性データベース１１０を更新し得ることに留意されたい。
【００３４】
様々なエンティティによる処理の態様が、図３（Ａ）〜３（Ｂ）の例示的なフローチャートを参照して説明される。プロキシ１０６による処理の態様を示す、図３（Ａ）のフローチャートを参照すると、プロキシ１０６は（３０２で）、コンテンツ（Ｃ）についてのリクエスト（Ｒ）を得る。プロキシ１０６は（３０４で）、リクエストされたコンテンツＣ（例えば、Ｃのサイズまたは人気度）についての十分な情報をプロキシ１０６が有しているかどうか判断する。プロキシ１０６は、１または複数のデータベースにアクセスして、コンテンツＣについての情報を判断し得る。適切なＣＤサービス（例えば親サーバ）へのリクエストの割り当てをするためのコンテンツＣについての十分な情報をプロキシ１０６が有していない、かつ、確認できない場合には、プロキシ１０６は（３０８で）、リクエストＲを包括的ＣＤサービス（Ｇ）（例えば包括的親サーバ）に送信する。一方、適切なＣＤサービスへのリクエストの割り当てをするための、リクエストされたコンテンツについての十分な情報を自身が有している（または確認できる）とプロキシ１０６が（３０４で）判断した場合には、プロキシ１０６は（３０６で）、リクエストを適切なＣＤサービス（例えばサーバ）に送信し得る。
【００３５】
包括的サーバ（Ｇ）（例えば、（３０８で）プロキシ１０６からのリクエストを受信した包括的サーバ）による処理の態様を示す、図３（Ｂ）のフローチャートを参照すると、包括的サーバ（Ｇ）は（３１０で）、コンテンツＣについてのリクエストＲを取得する。この場合、リクエストはサーバＧに到達している。なぜなら、プロキシ１０６は、適切なサーバを選択するための、コンテンツＣについての十分な情報を有していなかったからである。しかしながら、依然として、これは、包括的サーバＧがコンテンツＣについての情報を有している、または認識している場合であり得る。包括的サーバＧがコンテンツＣについての情報を認識している、またはコピーを有している場合には、Ｃについての当該情報は、属性データベースにおいて更新される。包括的サーバＧは、リクエストされたコンテンツのコピーを例えばオリジンサーバから（３１２で）得、次に（３１４で）、コンテンツＣをリクエスティングクライアントに供給する。次に、包括的サーバは（３１６で）、コンテンツＣについて自身が確認済みの情報（例えばコンテンツのサイズ）を含むよう、属性データベースを更新する。また（または代わりに）、必要な場合、包括的サーバは、リソースのカテゴリを示すメタデータを応答に付け得る。この次に当該リソースについてリクエストが当該プロキシスライサで受信される時に、包括的サーバは、キャッシュされたメタデータを利用して、適切な親ホストにフィルリクエストを送信する可能性がある。次のリクエストが異なるスライサに到達した場合、包括的サーバは、当該リクエストを適切な親に転送する可能性がある同一の包括的親に連絡し得る。（３０６で送信された）リクエストが適切なサーバにより処理された場合、適切なサーバはまた、コンテンツＣについて自身が確認済みの情報を含むよう属性データベースを更新し得ることが理解されるべきである。同様に、適切なサーバはまた（または代わりに）、リソースのカテゴリを示すメタデータを応答に付け得る。
【００３６】
ＣＤＮはその失効時にリソースについて再学習する必要があり得ることが理解されるべきである。この理由で、リクエストを処理するＣＤサービスは、リソースについての現在の情報に基づいてデータベースを更新する（またはデータベースを更新させる）ことが好ましい。
【００３７】
従って、ＣＤＮがリクエストのカテゴリを自身がそれらを認識するとおりに判断し得るシステムが説明される。ＣＤＮは、コンテンツ（例えばリソース）について、および、それぞれのリソースがどのカテゴリに該当するであろうかについて、自身がリソースについてのリクエストを認識するとおりに学習し得、適切に適応し得る。
【００３８】
コンピューティング  図４は、本明細書において説明された処理を実行するのに使用され得るプロキシ、親サーバまたは他のコンピューティングデバイスを実装したコンピューティングシステム４００の例示的な概略図である。コンピューティングシステムは、バス４０２（すなわち相互接続）、少なくとも１つのプロセッサ４０４、少なくとも１つの通信ポート４１４、メインメモリ４０６、リムーバブルストレージ媒体４１０、リードオンリーメモリ４０８、および大容量ストレージデバイス４１２を含む。プロセッサ４０４は、これに限定されるものではないが、インテル（登録商標）Ｉｔａｎｉｕｍ（登録商標）もしくはＩｔａｎｉｕｍ  ２（登録商標）プロセッサ、ＡＭＤ（登録商標）Ｏｐｔｅｒｏｎ（登録商標）もしくはＡｔｈｌｏｎ  ＭＰ（登録商標）プロセッサ、またはモトローラ（登録商標）の一連のプロセッサ、のような任意の既知のプロセッサであり得る。通信ポート４１４は、モデムベースのダイヤルアップ接続と共に使用するためのＲＳ‐２３２ポート、１０／１００イーサネット（登録商標）ポート、銅もしくはファイバを使用したギガビットポート、またはＵＳＢポートのいずれでもあり得る。通信ポート４１４は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、またはコンピュータシステムが接続する任意のネットワーク、のようなネットワークに応じて選択されてよい。サーバは、入出力（Ｉ／Ｏ）ポート４２０を介して周辺機器（例えば、ディスプレイスクリーン４１６、入力デバイス４１８）と通信し得る。
【００３９】
メインメモリ４０６は、ランダムアクセスメモリ（ＲＡＭ）または当技術分野において一般に知られている任意の他の動的ストレージデバイスであり得る。リードオンリーメモリ４０８は、プロセッサ４０４に対する命令のような静的情報を格納するためのプログラマブルリードオンリーメモリ（ＰＲＯＭ）チップのような、任意の静的ストレージデバイスであり得る。大容量ストレージデバイス４１２は、情報および命令を格納するのに使用され得る。例えば、Ａｄａｐｔｅｃ（登録商標）の小型コンピュータシリアルインタフェース（ＳＣＳＩ）ドライブのファミリのようなハードディスク、光学ディスク、Ａｄａｐｔｅｃ（登録商標）のＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）ドライブのファミリのようなＲＡＩＤのような一連のディスク、または任意の他の大容量ストレージデバイスが使用され得る。
【００４０】
バス４０２は、プロセッサ４０４を他のメモリ、ストレージおよび通信ブロックと通信可能に連結する。バス４０２は、使用されるストレージデバイスに応じて、ＰＣＩ／ＰＣＩ‐Ｘ、ＳＣＳＩもしくはユニバーサルシリアルバス（ＵＳＢ）ベースのシステムバス（またはその他）であり得る。リムーバブルストレージ媒体４１０は、あらゆる種類の外部ハードドライブ、フロッピー（登録商標）ドライブ、ＩＯＭＥＧＡ（登録商標）Ｚｉｐドライブ、コンパクトディスク―リードオンリーメモリ（ＣＤ‐ＲＯＭ）、コンパクトディスク―リライタブル（ＣＤ‐ＲＷ）、デジタルビデオディスク―リードオンリーメモリ（ＤＶＤ‐ＲＯＭ）等であり得る。
【００４１】
本明細書における実施形態は、コンピュータプログラムプロダクトとして提供され得る。コンピュータプログラムプロダクトは、プロセスを実行するようコンピュータ（または他の電子デバイス）をプログラムするのに使用され得る命令が格納された機械可読媒体を含み得る。機械可読媒体は、限定されるものではないが、フロッピー（登録商標）ディスク、光学ディスク、ＣＤ‐ＲＯＭ、光磁気ディスク、ＲＯＭ、ＲＡＭ、消去可能プログラマブルリードオンリーメモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブルリードオンリーメモリ（ＥＥＰＲＯＭ）、磁気カードもしくは光カード、フラッシュメモリ、または電子命令を格納するのに適した他のタイプの媒体／機械可読媒体を含み得る。
【００４２】
示されるように、メインメモリは、様々な図面および他の箇所に関して上記で説明された機能をサポートする１または複数のアプリケーション／サービス４２２で符号化され得る。例えば、一実施形態において、アプリケーション４２２は、本明細書に記載される様々な処理および／または命令を含み得、またはそうでなければ実施し得る。アプリケーション４２２（および／または本明細書において説明される他のリソース）は、本明細書において説明される異なる実施形態に従った処理機能をサポートするデータおよび／または論理命令のようなソフトウェアコード（例えば、メモリに、またはディスクのような別のコンピュータ可読媒体に格納されたコード）として具現化され得る。一実施形態の動作の間、プロセッサ４０４は、アプリケーション４２２の論理命令を起動するため、動作させるため、実行するため、解釈するため、またはそうでなければ行うために、バス４０２の使用を介してメインメモリ４０６にアクセスする。アプリケーション４２２の実行により、アプリケーションプロセス４２４において、処理機能が生成される。言い換えると、プロセス４２４は、コンピュータシステム４００のプロセッサ４０４内で、またはプロセッサ４０４上で動作しているアプリケーション４２２の１または複数の部分を表す。
【００４３】
上記説明は、本開示の技術を具現化する例示的なシステム、方法、技術、命令、シーケンスおよび／またはコンピュータプログラムプロダクトを含む。しかしながら、説明された開示はこれらの具体的詳細なく実施され得ることが理解されよう。本開示において、開示される方法は、デバイスにより読み取り可能な命令またはソフトウェアのセットとして実施され得る。さらに、開示される方法におけるステップの特定の順序または階層は例示的な手法の例であることが理解されよう。設計上の優先性に基づいて、方法におけるステップの特定の順序または階層は、再編成され得るものの、開示される主題内に留まることが理解されよう。添付の方法の請求項は、例としての順序での様々なステップの要素を示しており、示される特定の順序または階層に限定されることを必ずしも意味しない。
【００４４】
結論  特許請求の範囲を含め、本明細書において使用されるように、「少なくともいくつか」という表現は、「１または複数」を意味し、１つだけという場合を含む。従って、例えば、「少なくともいくつかのサービス」という表現は、「１または複数のサービス」を意味し、１つのサービスの場合を含む。
【００４５】
特許請求の範囲を含め、本明細書において使用されるように、「に基づいて」という表現は、「に部分的に基づいて」または「に少なくとも部分的に基づいて」を意味し、排他的なものではない。従って、例えば、「ファクタＸに基づいて」という表現は、「ファクタＸに部分的に基づいて」または「ファクタＸに少なくとも部分的に基づいて」を意味する。「のみ」という文言を用いて具体的に述べられていない限り、「Ｘに基づいて」という表現は、「Ｘのみに基づいて」を意味するものではない。
【００４６】
特許請求の範囲を含め、本明細書において使用されるように、「を使用して」という表現は、「を少なくとも使用して」を意味し、排他的なものではない。従って、例えば、「Ｘを使用して」という表現は、「少なくともＸを使用して」を意味する。「のみ」という文言を用いて具体的に述べられない限り、「Ｘを使用して」という表現は、「Ｘのみを使用して」を意味するものではない。
【００４７】
一般に、特許請求の範囲を含め、本明細書において使用されるように、「のみ」という文言が表現中で具体的に使用されない限り、その表現に解釈されるべきではない。
【００４８】
特許請求の範囲を含め、本明細書において使用されるように、「別個」という表現は、「少なくとも部分的に別個」を意味する。具体的に述べられない限り、別個は完全に別個を意味するものではない。従って、例えば、「ＸはＹとは別個である」という表現は、「Ｘは少なくとも部分的にＹとは別個である」を意味し、「ＸはＹとは完全に別個である」を意味するものではない。従って、特許請求の範囲を含め、本明細書において使用されるように、「ＸはＹとは別個である」という表現は、Ｘは少なくともいくつかの点でＹとは異なることを意味する。
【００４９】
特許請求の範囲を含め、本明細書において使用されるように、リストはアイテムを１つだけ含んでよく、そうでないと述べられない限り、多数のアイテムのリストが任意の特定のやり方で順序付けられる必要はない。リストは、複製のアイテムを含んでよい。例えば、本明細書において使用されるように、「ＣＤＮサービスのリスト」という表現は、１または複数のＣＤＮサービスを含んでよい。
【００５０】
説明および特許請求の範囲における「第１」および「第２」という文言は、区別または識別するために使用されるものであって、連続的または数的限定を示すものではないことが理解されるべきである。同様に、（「（ａ）」、「（ｂ）」等のような）文字または数的符号の使用は、区別および／または識別を助けるために使用されるものであって、いかなる連続的または数的限定もしくは順序も示すものではない。
【００５１】
具体的に示され、述べられない限り、いずれのフロー図においても、符号付けされたボックスのいずれによっても、順序は示唆されない。切り離された複数のボックスが図中に示されている場合、それらのボックスに関連付けられた動作は、完全に、または部分的に並列である場合を含め、任意の順序で実行されてよい。
【００５２】
現在のところ最も実際的かつ好ましいと思われる実施形態に関連して本発明を説明してきたものの、本発明は、開示される実施形態に限定されるべきでなく、それどころか、添付の特許請求の主旨および範囲内に含まれる様々な変更および同等の構成を網羅することが意図されているということが理解されるべきである。
【図１】
0006693670.tif 000002
【図２（Ａ）】
0006693670.tif 000003
【図２（Ｂ）】
0006693670.tif 000004
【図３（Ａ）】
0006693670.tif 000005
【図３（Ｂ）】
0006693670.tif 000006
【図４】
0006693670.tif 000007