(57)【特許請求の範囲】
【請求項１】
装置であって、
ハードウェアであるプロセッサと、
キャッシュと、
前記ハードウェアであるプロセッサによって実行されることにより、前記装置に方法を実行させるコンピュータ・プログラム命令を保持するコンピュータ・メモリと、を含み、  前記方法が、
コンテンツに対する要求を受信し、
前記コンテンツに対する要求に応答して、
（ｉ）  前記コンテンツが第１のタイプ又は第２のタイプのいずれであるかを判定し、前記第１のタイプは、前記装置とは別個のコンテンツ配信ネットワーク（ＣＤＮ）を介して配信されるようになされているコンテンツであり、前記第２のタイプは前記第１のタイプとは別個のタイプであり、
（ｉｉ）  前記コンテンツが第１のタイプのものであり、前記キャッシュ内に存在して新しいものである場合、前記コンテンツに対する要求に同期して前記ＣＤＮと通信することにより、前記ＣＤＮからキャッシュ処理命令を受信し、前記ＣＤＮから受信した前記キャッシュ処理命令を適用し当該命令に従って前記コンテンツを供給し、
（ｉｉｉ）  前記コンテンツが前記第２のタイプのものである場合、前記要求に応答して前記コンテンツをトランスペアレントにキャッシュし供給すること、
を含む、装置。
【請求項２】
前記キャッシュ処理命令を受信するステップが、
前記ＣＤＮにおいてエッジ・リソースを識別する情報を受信するサブステップと、
前記識別したエッジ・リソースに有効化要求を差し向けるサブステップと、
前記有効化要求に応答して前記キャッシュ処理命令を受信し、前記キャッシュ処理命令がカスタマに固有の構成データを適用することによって前記エッジ・リソースにおいて判定されている、サブステップと、
を含む、請求項１に記載の装置。
【請求項３】
前記キャッシュが第１の部分及び第２の部分に分割され、前記第１の部分が前記第１のタイプのコンテンツをキャッシュするためのものであり、前記第２の部分が前記第２のタイプのコンテンツをキャッシュするためのものである、請求項１に記載の装置。
【請求項４】
前記コンテンツが第１のタイプのものであるか否かを判定する前記ステップが、前記要求に関連付けられたドメインをＣＤＮエッジ・トラフィック・ドメインのリストと比較する、請求項１に記載の装置。
【請求項５】
前記ドメインが正規名（ＣＮＡＭＥ）のトップ・レベル・ドメイン（ＴＤＬ）である、請求項４に記載の装置。
【請求項６】
前記ＣＤＮから受信した前記キャッシュ処理命令が、ＴＴＬ（time-to-live）満了時刻、「ノー・ストア」命令、及び前記コンテンツを前記キャッシュからパージするべきか否かを示すデータの１つである、請求項１に記載の装置。
【請求項７】
前記方法が、前記ＣＤＮに対して前記キャッシュを認証することを更に含む、請求項１に記載の装置。
【請求項８】
前記方法が、前記ＣＤＮにデータを提供することを更に含む、請求項１に記載の装置。
【請求項９】
前記データが、前記キャッシュから供給された前記第１のタイプのデータ及び前記キャッシュから供給された前記第２のタイプのデータを識別する、請求項８に記載の装置。
【請求項１０】
前記キャッシュ処理命令が、ＣＤＮカスタマに関連付けられた特定のドメインに一意に関連付けられたキャッシュ・キーを含む、請求項１に記載の装置。
【請求項１１】
第三者のコンテンツ配信ネットワーク（ＣＤＮ）に関連して実行されるコンテンツ配信方法であって、前記ＣＤＮが、一連のエッジ・サーバ及び、前記ＣＤＮがサービスする１つ以上のコンテンツ・プロバイダ・ドメインに対して権限を有するＤＮＳを含むものであり、
前記方法が、
前記ＣＤＮとは別個のネットワークにおいてキャッシュを配備し、
前記キャッシュと少なくとも１つのエッジ・サーバとの間に情報チャネルを確立し、
前記情報チャネルを用いて前記コンテンツ・プロバイダ・ドメインに関連付けられたコンテンツをどのように前記キャッシュから供給するかを制御すること、
を含み、
前記１つ以上のコンテンツ・プロバイダ・ドメインに関連付けられた所与のコンテンツに対する要求に応答して、前記コンテンツが前記キャッシュ内に存在して新しいものである場合に、前記キャッシュが前記所与のコンテンツに対する要求に同期して前記ＣＤＮと通信することにより、前記情報チャネルを介して前記ＣＤＮから少なくとも１つのキャッシュ処理命令を受信し、前記所与のコンテンツをどのように前記キャッシュから供給するかを制御することを特徴とする方法。
【請求項１２】
前記ネットワークがモバイル・ネットワークである、請求項１１に記載の方法。
【請求項１３】
前記ネットワークが有線ネットワークである、請求項１１に記載の方法。
【請求項１４】
前記コンテンツ・プロバイダ・ドメイン以外のドメインに関連付けられたコンテンツを前記キャッシュにトランスペアレントにキャッシュし、そこから供給することを更に含む、請求項１１に記載の方法。
【請求項１５】
前記キャッシュが前記コンテンツ配信ネットワークを前記ネットワークに拡張する、請求項１１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は２０１０年６月１８日付け出願第６１／３５６，３０６号に基づいている。
【０００２】
本出願は一般に、コンテンツ配信ネットワーク（ＣＤＮ）機能を、インターネット・ベースで管理されるＣＤＮサービスの提供が実用的でないか又は可能でないモバイル・ネットワーク等のネットワークに拡張することに関する。
【背景技術】
【０００３】
分散コンピュータ・システムは公知である。このような分散コンピュータ・システムの一例として、サービス・プロバイダによって運営・管理される「コンテンツ配信ネットワーク」又は「ＣＤＮ」がある。サービス・プロバイダは一般に、コンテンツ・プロバイダ・カスタマ等の第三者に代わってコンテンツ配信サービスを提供する。この種の「分散システム」は一般に、コンテンツ配信やアウトソースド・サイト・インフラストラクチャの支援のような種々のサービスを容易にするよう設計されたソフトウェア、システム、プロトコル及び技術を含め、単一の又は複数のネットワークによってリンクされた自律的コンピュータの集合を意味する。典型的には、「コンテンツ配信」は、コンテンツの蓄積、キャッシング、又は転送、コンテンツ・プロバイダに代わってのメディア及びアプリケーションのストリーミング、更には、これと併用される補助的技術、例えば、ＤＮＳリクエスト・ハンドリング、プロビジョニング、データ・モニタリング及びレポーティング、コンテンツ・ターゲティング、パーソナライゼーション、及びビジネス・インテリジェンスを意味する。
【０００４】
従来技術において、インターネット・コンテンツ配信ネットワーク（ＩＣＤＮ）を、エンタープライズ・ファイアウォールの背後に配置されている場合があるエンタープライズ・コンピューティング環境に拡張することが知られている。その一例は、所有者が共通である米国特許第７，６００，０２５号に記載されている。また、所有者が共通である米国特許第７，０１０，５７８号に記載されているように、第三者のキャッシュをコンテンツ配信ネットワークに関連付けることも知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第７，６００，０２５号
【特許文献２】米国特許第７，０１０，５７８号
【特許文献３】米国特許第７，１１１，０５７号
【特許文献４】米国特許第７，２４０，１００号
【特許文献５】米国特許第７，４７２，１７８号
【特許文献６】米国特許第７，３７６，７１６号
【特許文献７】米国特許出願公開公報第２００４００９３４１９号
【特許文献８】米国特許第６，１０８，７０３号
【発明の概要】
【発明が解決しようとする課題】
【０００６】  固定又は無線モバイル・ネットワークが構築され運用される態様ゆえに、そこで（すなわちエンド・ユーザの近傍で）完全に管理されたＣＤＮサーバを配備することが常に可能又は実用的であるわけではない。例えば、支配的な３Ｇモバイル技術であるＵＭＴＳ（Universal Mobile Telecommunications System）の場合、モバイル・デバイスは無線でタワーに接続し、タワーはＵＴＲＡＮ（UMTS Terrestrial Radio Access Network）と呼ばれる地上ネットワークを介してＲＮＣ（Radio NetworkControllers）に接続し、ＲＮＣはパケット・コアを介してサービス・ノードに接続し、サービス・ノードはゲートウェイを介してインターネットに接続する。典型的なモバイル・ネットワークは、これらのインターネット・ゲートウェイを少数しか持たず、これらはエンド・ユーザから数千マイル及び数十又は数百ミリ秒離れていることがあるが、これらのゲートウェイは単にＣＤＮの完全に管理されたサーバを配備可能な場所であるに過ぎない場合がある。これらの場所を越えて、パケット・コア及びＵＴＲＡＮ内へ、パブリック・ルーティング可能なＩＰアドレス及びインターネットに対するオープン・ポートを有するデバイスを配備することは通常不可能である。【０００７】
また、有線ネットワークは通常バリアを有し、これを越えて完全に管理されたＣＤＮサーバを配備することはできない。一般に、有線ネットワークにおけるこのバリアは、モバイル・ネットワークの場合よりもエンド・ユーザに対して一層深くかつ一層近いが、多くの場合、ＣＤＮ又は他の分散ネットワークの利点を充分に実現するには現実的に支障となる。また、このような技術的バリアが存在しない場合であっても、文化的又はビジネス上のバリアが存在することが多いことを留意すべきである。具体的には、多くのネットワーク・オペレータは自身のネットワークに対して極めて保護的であり、完全に管理されたデバイスがそこのバリアを越えることを認めない。
【課題を解決するための手段】
【０００８】  コンテンツ配信ネットワーク（ＣＤＮ）は、エッジ・サーバのセットと、ＣＤＮがサービスするコンテンツ・プロバイダ・ドメインに対して権限を有するドメイン・ネーム・サービス（ＤＮＳ）と、を含む。ＣＤＮは、完全に管理されたＣＤＮエッジ・サーバをサポートすることができないか又は他の方法ではサポートしない１つ以上のモバイル又は有線ネットワークに拡張される。特に、モバイル又は有線ネットワークにおいて、好ましくはＣＤＮのエッジを越えるがＣＤＮの制御下でＣＤＮが提供するコンテンツを供給するパッシブ・ウェブ・キャッシング・プロキシとして「エクステンダ」を配備する。また、エクステンダを用いて非ＣＤＮコンテンツをトランスペアレントにキャッシュし供給することができる。エクステンダとＣＤＮとの間に情報チャネルを確立してエクステンダの機能性を高める。【０００９】
一実施形態では、情報チャネルによって以下のキャッシング方法が容易になる。この方法は、コンテンツに対する要求をエクステンダで受信した際に開始する。次いで、コンテンツが第１のタイプ又は第２のタイプのいずれであるかを判定する。第１のタイプはコンテンツ配信ネットワーク（ＣＤＮ）を介して配信されるように適合されたコンテンツである。コンテンツが第１のタイプのもの（ＣＤＮコンテンツ）でありキャッシュ内に配置されている場合、エクステンダは情報チャネルを用いてＣＤＮからキャッシュ処理命令を取得する。次いで、そのＣＤＮが提供した命令が適用され、コンテンツが供給される。しかしながら、コンテンツが第２のタイプのもの（非ＣＤＮコンテンツ）である場合、エクステンダは要求に応答してコンテンツをトランスペアレントにキャッシュし供給するが、この場合はＣＤＮ以外から（例えばオリジン・サーバから）受信したキャッシュ処理命令を用いる。
【００１０】
以上、本発明の比較的核心的な特性のいくつかを概説した。これらの特性は単に例示のためのものとして解釈されるべきである。開示した本発明を異なる方法で適用することによって、又は本発明を以下に記載するように変更することによって、他の多くの有益な結果を達成することができる。
【００１１】
本発明及びその利点を更に完全に理解するため、ここで添付図面と関連付けて以下の記載を参照する。
【図面の簡単な説明】
【００１２】
【図１】代表的な実施形態の例示的な態様を実施することができる分散コンピュータ・システム環境の例示的なブロック図を示す。
【図２】図１のコンテンツ配信ネットワークにおけるエッジ・サーバ・マシーンの例示的なブロック図である。
【図３】本開示の技法に従ってどのようにインターネット・コンテンツ配信ネットワーク（ＣＤＮ）を拡張するかを示すブロック図である。
【図４】本明細書に記載したようなエクステンダが本開示に従ってどのようにＣＤＮエッジ・サーバとインターオペレートすることができるかを示す。
【図５】特定のドメインがＣＤＮカスタマに属するか否かを判定する際に用いるネームサーバ・ルックアップ動作である。
【図６】ネットワーク内でサポートされる多数のエクステンダを示す。
【図７】代表的なエクステンダ・アーキテクチャを示す。
【発明を実施するための形態】
【００１３】  図１に示すような既知のシステムにおいて、分散コンピュータ・システム１００をＣＤＮとして構成し、インターネットに一連のマシーン１０２ａ−１０２ｎが分散していると想定する。多くの場合、マシーンの多くはインターネットのエッジの近傍に、すなわちエンドユーザ・アクセス・ネットワークに又はそれに隣接して配置されたサーバである。ネットワーク・オペレーションズ・コマンド・センタ（ＮＯＣＣ）１０４は、システム中の種々のマシーンの動作を管理する。第三者、例えばウェブ・サイト１０６が、コンテンツ（例えば、ＨＴＭＬ、埋め込まれたページ・オブジェクト、ストリーミング・メディア、ソフトウェア・ダウンロード等）の配信を分散コンピュータ・システム１００に、特に「エッジ」サーバにオフロードする。多くの場合、コンテンツ・プロバイダは、所与のコンテンツ・プロバイダ・ドメイン又はサブ・ドメインを（例えばＤＮＳ  ＣＮＡＭＥによって）サービス・プロバイダの権限あるドメイン・ネーム・サービスにより管理されるエッジ・トラフィック・ドメインにエイリアシング処理することによってそのコンテンツ配信をオフロードする。このようなコンテンツを希望するエンド・ユーザを分散コンピュータ・システムに差し向けることによって、より確実にかつ効率的にコンテンツを得ることができる。詳しくは図示しないが、分散コンピュータ・システムはその他のインフラストラクチャ、例えばエッジ・サーバから使用及び他のデータを収集し、そのデータを１つの領域又は一連の領域を通して集約し、これを他のバックエンド・システム１１０、１１２、１１４、及び１１６に通すことによって、モニタリング、ロッギング、警告、請求書作成、管理その他の運用管理機能を容易にすることができる分散データ収集システム１０８も含むことができる。分散ネットワーク・エージェント１１８は、ネットワーク及びサーバ負荷をモニターして、ネットワーク、トラフィック、及び負荷データを、ＣＤＮの管理下にあるコンテンツ・ドメインに対して権限を持つＤＮＳ機構１１５に提供する。分散データ伝送機構１２０を利用することによって、制御情報（例えばコンテンツを管理し、負荷平衡を容易にする等を目的とするメタデータ）をエッジ・サーバに配分することができる。
【００１４】
一実施形態においては、上述のＣＤＮリソースは、既存のインターネット・インフラストラクチャ（第三者のネットワーク、コロケーション設備、サーバ、ルータ等）上の「オーバーレイ」として実施される。
【００１５】
図２に示すように、所与のマシーン２００は、１つ以上のアプリケーション２０６ａ−２０６ｎをサポートするオペレーテイング・システム・カーネル（Linux又は変形等）２０４を動作させるコモディティ・ハードウェア（例えばIntel Pentiumプロセッサ）２０２を含む。コンテンツ配信サービスを容易にするため、例えば所与のマシーンは典型的に、ＨＴＴＰ（ウェブ）プロキシ２０７、ネームサーバ２０８、ローカル・モニタリング・プロセス２１０、分散データ収集プロセス２１２等の一連のアプリケーションを実行する。ストリーミング・メディアでは、マシーンは通常、サポートされるメディア・フォーマットの要件に応じて、Windows Media Server（ＷＭＳ）又はフラッシュ・サーバ等の１つ以上のメディア・サーバを含む。
【００１６】  ＣＤＮエッジ・サーバは、好ましくは構成システムを利用するエッジ・サーバに配分されている構成ファイルを利用して、好ましくはドメイン特化型、カスタマ特化型の１つ又は２つ以上の広範なコンテンツ配信特性を提供するように構成されている。所与の構成ファイルは、ＸＭＬをベースとし、１つ以上の高度のコンテンツ処理特性を容易にする一連のコンテンツ処理規則及び命令を含むことが好ましい。構成ファイルは、データ伝送機構を介してＣＤＮエッジ・サーバに配信することができる。米国特許第７，１１１，０５７号は、エッジ・サーバ・コンテンツ制御情報を配信及び管理するための有用なインフラストラクチャを開示しており、これ及び他のエッジ・サーバ制御情報は、ＣＤＮサービス・プロバイダ自体、又は（エクストラネット等を介して）オリジン・サーバを運用するコンテンツ・プロバイダ・カスタマによって設定することができる。このコンテンツ制御情報をエッジ・サーバで受信したコンテンツ要求に適用するための技法が、米国特許第７，２４０，１００号に記載されている。この開示内容は引用により本願にも含まれるものとする。この開示によれば、クライアント要求は、ＣＤＮの権限あるＤＮＳによって識別されたエッジ・サーバで受信される。クライアント要求はＨＴＴＰホスト・ヘッダを含み、そのコンテンツが最初にチェックされて、この要求がＣＤＮの管理下のコンテンツに対するものである（従って、コンテンツが以前に他のものによって要求されたことがあり今なおキャッシュ内に存在するならばエッジ・サーバ・キャッシュで利用可能であり得る）ことを検証する。要求がＣＤＮ管理コンテンツに対するものである場合、要求にＸＭＬ構成内の規則を適用し、適切な応答をクライアント要求に戻す。
【００１７】
ＣＤＮは、米国特許第７，４７２，１７８号に記載されたもののような記憶サブシステムを含むことができる。ＣＤＮは、カスタマ・コンテンツの中間キャッシングを提供するためにサーバ・キャッシュ階層を運用することができる。このようなキャッシュ階層サブシステムの一例が米国特許第７，３７６，７１６号に記載されている。ＣＤＮは、米国特許出願公開公報第２００４００９３４１９号に記載されたように、クライアント・ブラウザ、エッジ・サーバ、及びカスタマ・オリジン・サーバ間でセキュアなコンテンツ配信を提供することができる。これに記載されたセキュアなコンテンツ配信は、一方ではクライアントとエッジ・サーバ・プロセスとの間で、他方ではエッジ・サーバ・プロセスとオリジン・サーバ・プロセスとの間でＳＳＬベースのリンクを実施する。これによって、ＳＳＬによって保護されたウェブ・ページ及び／又はそのコンポーネントを、エッジ・サーバを介して配信することができる。
【００１８】
エクステンダ
上述のことを背景として、ここで本開示の主題について説明する。本開示によれば、ＣＤＮ「エクステンダ」は、１個のソフトウェア又は装置（このようなソフトウェアを含むラック搭載型の機器等）であり、これは、（１）ＣＤＮ対応コンテンツを供給することができ、（２）これをＣＤＮの制御下で実行するが、（３）必ずしもＣＤＮの一部として完全に管理されない。これらのプロパティを以下で説明する。図３に見られるように、エクステンダ３００はＣＤＮの配信機能を、ＣＤＮの完全に管理されたサーバを（技術的又は他の理由で）配備することができないネットワーク内に深く拡張する。この機能は、モバイル・ネットワーク、有線ネットワーク、又はＣＤＮオーバーレイ・ネットワーク・リソース及びサービスが利用可能でない又は実現されない他のいずれかのネットワーキング環境において実施可能である。
【００１９】
「エクステンダ」という用語は記述の目的で用いており、開示する主題の範囲を限定するために用いるものではない。
【００２０】
一般化すると、エクステンダはＣＤＮのエッジを越えてパッシブ・ウェブ・キャッシング・プロキシとして動作する。通常、エクステンダは、ＣＤＮにおけるカスタマ構成メタデータに直接アクセスせず、要求をＣＤＮエッジに転送してエッジから受信した応答ヘッダに基づいてコンテンツをキャッシング／供給することによってＣＤＮとインタラクトする。
【００２１】
好ましくは、エクステンダはＣＤＮの一部として完全に管理される必要はないが、いくつかのその機能を利用する。これについては後に説明する。このため、エクステンダはパブリック・ルーティング可能なインターネット・プロトコル（ＩＰ）・アドレス又はインターネットに対するオープン・ポートを有する必要はない。ＣＤＮネットワーク・オペレーションズ・コマンド・センタ（図１のＮＯＣＣ１０４等）は、これをモニターする必要はない。また、エクステンダは分散データ収集サービス（図１のシステム１０８等）にリポートする必要はない。同様に、ＣＤＮ  ＮＯＣＣ１０３は、構成、プロビジョニング、及び／又は運営・管理のためにエクステンダに対する（例えばＳＳＨ等を介した）アクセスを確保する必要ない。ＮＯＣＣはエクステンダに対するソフトウェア更新をインストールする必要はなく、エクステンダは構成データ更新又は他の制御データを受信する必要はない。エクステンダは、ＣＤＮマッピング・サービスが提供するいずれのマッピング制御のもとにもある必要はない。簡潔に言えば、エクステンダはサービスとして管理される必要はない。後に説明するように、エクステンダはネットワーク・オペレータに提供されるソフトウェア又はデバイスであり、この管理及びモニターはそのネットワーク・オペレータに任される。
【００２２】
エクステンダは、ＣＤＮの一部として必ずしも管理されることはなく、完全に管理されることもないが、全ての形態のＣＤＮコンテンツ（すなわちＣＤＮを介してＣＤＮＳＰが配信するためにコンテンツ・プロバイダによってオフロードされたコンテンツ）を配信することが好ましい。更に、エクステンダは、オンデマンド・メディアを含むキャッシャブル・コンテンツをキャッシュ及び配信することができる。また、エクステンダは、非キャッシャブル・コンテンツ、セキュアなコンテンツ、及びライブ・メディアを配信することができる。
【００２３】
ＣＤＮコンテンツを配信するために、エクステンダはＣＤＮの制御下で動作する。この制御は必須である。なぜなら通常、正しいコンテンツがカスタマ・メタデータ規則に従って配信されることを（ＣＤＮカスタマが）希望するからである。更に、ＣＤＮＳＰはそのコンテンツがエクステンダのキャッシュから配信される場合であっても、配信についてそのカスタマ（例えばコンテンツ・プロバイダ）に課金することを希望する。同様に、ＣＤＮカスタマ（コンテンツ・プロバイダ）はそのコンテンツの配信をモニターしリポートすることを希望する。
【００２４】
この制御を容易にするため、エクステンダは好ましくは全ての要求について、好ましくは本明細書では「情報チャネル」と称することがあるＨＴＴＰベースのアプリケーション・プログラミング・インタフェース（ＡＰＩ）を用いてＣＤＮリソース（例えば完全に管理され構成されたＣＤＮサーバ）と通信する。具体的には、本明細書の技法に従って、エクステンダがＣＤＮコンテンツに対する要求を受信した時はいつでも、すでにそのコンテンツがキャッシュされているか否かには関わらず、エクステンダはＣＤＮサーバに対してＨＴＴＰ要求を行うことが好ましい。通常は完全に管理されたＣＤＮサーバは、次いで（コンテンツのための）メタデータ規則を用い（適用し）、ＨＴＴＰ応答を返信して、エクステンダが受信した要求に対してどのように応答するべきかをエクステンダに命令する。好ましくは、ＣＤＮサーバのＨＴＴＰ応答は、必要な場合に配信されるデータと、必要に応じてエクステンダがそのローカル・キャッシュ内でそのデータ・オブジェクトを正しくインデックスすることを可能とする適切なキャッシュ・キーと、を含む。ＣＤＮサーバ（典型的にエッジ・サーバ）は、要求内の情報を用いて、ログを記述し（例えば請求書作成及び履歴リポートのため）、リアルタイム・リポートのためにデータをデータ収集システム１０８に記述し、他のいずれかの必要なアクションを実行する。
【００２５】  エクステンダは、ＣＤＮカスタマ・コンテンツを供給することに加えて、キャッシャブルな非ＣＤＮカスタマ・コンテンツにトランスペアレントなキャッシングを行うことができる。トランスペアレントなキャッシングにより、エクステンダはインラインで実施され、一連のエンド・ユーザの全てのＨＴＴＰ要求を受信する。ＣＤＮコンテンツに対する要求の場合、エクステンダはエクステンダＡＰＩを用いて上述のように動作する。非ＣＤＮコンテンツの場合、エクステンダは従来のトランスペアレントなキャッシュのように動作する。しかしながら、従来のトランスペアレントなキャッシュとは異なり、エクステンダはＵＲＩに加えて、データ・オブジェクトを一意に識別しキャッシュするための情報（コンテンツ長及びチェックサム等）を用いることができる。
【００２６】
図４は、ＣＤＮコンテンツ及び非ＣＤＮコンテンツの双方を処理する「デュアル式」に動作するエクステンダの代表的な動作を示す。この動作は、プロセッサで実行される一連のプログラム命令としてソフトウェアで実施される。動作はステップ４００で開始し、エクステンダにおいてエンド・ユーザからの要求を受信する。上記のように、エクステンダは、ＣＤＮオーバーレイ・ネットワークとは別個のネットワーク内に又はこのネットワークに関連付けて配置されているが、エクステンダはエクステンダＡＰＩを介してＣＤＮとインターオペレートする機能を有する。ステップ４０２において、要求がＣＤＮカスタマ・コンテンツに対するものであるか否かを判定するためにテストを実行する。この判定を行うための簡単な技法について、後に説明する図５を参照して以下に記載する。ステップ４０２におけるテストの結果、要求がＣＤＮカスタマ・コンテンツに対するものであることが示されると、ルーチンは分岐してステップ４０４に進む。ステップ４０４において、要求されたコンテンツがすでにエクステンダのキャッシュ内に存在するか否かを判定するためにテストを実行する。存在する場合、ルーチンは続いてステップ４０６に進み、ＩＭＳ（if-modified-since）要求をＣＤＮに（及び、特にＣＤＮＤＮＳによって決定されるようなＣＤＮエッジ・サーバに）送信する。ＣＤＮから受信した応答に基づいて、ルーチンは続いてステップ４０８に進み、エクステンダは要求側のエンド・ユーザに適切なＨＴＴＰ応答コード又及び／又はコンテンツ要求を供給する。しかしながら、ステップ４０４のテストの結果、要求されたコンテンツがエクステンダのキャッシュ内に存在しないことが示された場合（又はコンテンツが存在するが新しくない場合）、ルーチンは分岐してステップ４１０に進む。このステップでは、エクステンダはコンテンツをフェッチするためのＨＴＴＰＧＥＴ要求をＣＤＮに送信する。ＣＤＮから受信した応答に基づいて、プロセスは前述したように続いてステップ４０８に進む。
【００２７】
ステップ４０２におけるテストの結果、要求されたコンテンツがＣＤＮカスタマ・コンテンツでないことが示された場合、ルーチンは分岐してステップ４１２に進む。このステップでは、コンテンツがエクステンダ・キャッシュ内に存在するか否かを判定するためにテストを行う。ステップ４１２におけるテストの結果がネガティブである場合、エクステンダはＧＥＴ要求をオリジン・サーバ（権威エンティティ）に送信する。これがステップ４１４である。応答に基づいて、ルーチンは続いて前述したようなステップに進む。しかしながら、ステップ４１４におけるテストの結果、コンテンツがエクステンダ・キャシュから供給されるために利用可能であることが示された場合、ステップ４１６においてコンテンツが有効であるか否かを判定するためにテストを行う。有効である場合、ステップ４１８においてコンテンツを要求側エンド・ユーザに供給する。コンテンツがキャッシュ内にあるが有効でない場合、エクステンダはＩＭＳをオリジン・サーバに送信してコンテンツを有効化することができるか否かを判定する。これがステップ４２０である。応答に基づいて、ルーチンは続いて前述のようにステップ４０８に進む。これによりプロセスは完了する。
【００２８】
このように、エクステンダは、非ＣＤＮコンテンツのためのインテリジェントでトランスペアレントなウェブ・プロキシとして機能し、一方でＣＤＮカスタマ・コンテンツも供給する（更に、適宜キャッシュする）。プロセス・フローのステップ４０２は、エンド・ユーザ要求に関連付けられたドメインがＣＤＮカスタマに属するか否かの判定を含む。このドメインはＨＴＴＰホスト・ヘッダに含むことができる。この判定を行うための簡単であるが効率的な方法は、ドメインに対するＤＮＳルックアップをエクステンダに実行させることである。通常、ＣＤＮカスタマでは、ＣＮＡＭＥ（正規名：canonical name）のトップ・レベル・ドメイン（ＴＬＤ）・サフィックスは、１つ以上の一連のＣＤＮエッジ・トラフィック・ドメインに属するネームである。最後のＣＮＡＭＥのＴＬＤドメインをエッジ・トラフィック・ドメインのリスト（このようなネームはめったに変化しないので、これは比較的短いはずである）と比較することによって、エクステンダは、コンテンツがＣＤＮカスタマ・コンテンツであるか又は非ＣＤＮカスタマ・コンテンツであるかを判定することができる。図５は、カスタマ・ドメイン「...bestbuy.com」に対するサンプルのＤＮＳルックアップを示し、その結果、ＣＤＮに関連付けられた（すなわちＣＤＮを識別する）ＴＬＤサフィックス「akamai.net」を含む最後のＣＮＡＭＥを戻す。ＤＮＳルックアップの実行の代替的な手法は、エクステンダが利用する（subscribe）ことができるエッジ・トラフィック・ドメインのリストを公表する等によって、ＨＴＴＰヘッダ内のこのような情報を渡すことである。上述の（ＤＮＳルックアップを用いた）手法は有利であるが、その理由は、情報（カスタマがＣＤＮに対する特定のドメインをＣＮＡＭＥしたか否か）を１つのＤＮＳ  ＴＴＬ（time-to-live）内で全てのエクステンダ・インスタンスに伝播可能であるからであり、更に、エクステンダからのＤＮＳルックアップによってトラフィックを供給するためのコンテンツ・プロバイダの地勢に基づいたポリシーを捕獲するからである。
【００２９】
上述のように、エクステンダは、ＣＤＮエッジ・サーバからのコンテンツ及びキャッシュ制御命令に関する受信情報に基づいてＣＤＮカスタマ・コンテンツをキャッシュ及び供給する。このため、実質上、ＣＤＮ（及び特にエッジ・サーバ）はエクステンダのための「オリジン」・サーバとして機能する。エクステンダがＣＤＮカスタマのコンテンツに対する要求を受信するたびに（上述のようにＤＮＳルックアップにより判定される）、エクステンダはＣＤＮサーバ（ＤＮＳルックアップが戻したＩＰの１つ）に前進し、コンテンツをフェッチするか、又はコンテンツがすでにキャッシュ内に存在する場合はこれを有効化する（好ましくはＩＭＳによって）。デフォルトで、この前進要求は、エクステンダのキャッシュ内のオブジェクトについて同期して行われる。あるいは、前進動作は、例えばコンテンツ・プロバイダ、エクステンダが配置されているネットワークに関連付けたネットワーク・オペレータ等の要求時に非同期で実行することができる。好ましくは、エッジ・サーバが何バイトをエンド・ユーザに供給したかを正確にログすることを可能とするために、エクステンダからの前進要求は、エンド・ユーザがＩＭＳ要求を行ったか否かを示す適切なＨＴＴＰヘッダを含む。エンド・ユーザに部分的なオブジェクトが供給された場合、エクステンダはＣＤＮエッジ・サーバにＨＴＴＰ  ＰＯＳＴ要求を行って、コンテンツ・プロバイダの代わりに何バイトを供給したかを正確に示すことができる。
【００３０】
ＣＤＮエッジ・サーバがエクステンダに応答する場合、１つ以上のＨＴＴＰ応答ヘッダにおいて一部又は全ての利用可能なキャッシュ制御情報を伝達することが好ましい。このキャッシュ制御情報は、例えばＴＴＬ満了時刻、（必要な場合）コンテンツ・プロバイダ・カスタマに固有の適切なキャッシュ・キー、オブジェクトが「ノー・ストア（no-store）」であるか否か、キャッシュされたオブジェクトをパージするべきか否か（パージに明示ヘッダは必要ない。ＨＴＴＰ４０４の供給によってオブジェクトをキャッシュから削除すべきことをエクステンダに知らせることができる）等を含む。所望の場合、ＣＤＮエッジ・サーバは、エクステンダによってプリフェッチするべきオブジェクトのリストを含むヘッダを用いて応答することができる。更に、ＣＤＮエッジ・サーバは、特定のメタデータ・タグをエクステンダに伝達して、そのコンテンツ処理動作を更にカスタマイズすることができる。更に別の代替案では、ＣＤＮエッジ・サーバは、オブジェクトのポピュラリティに関するヒントをエクステンダに与えるヘッダを含む。この情報は次いでエクステンダのキャッシュ置換アルゴリズムにおいて用いられる。
【００３１】
好ましくは、エクステンダは、ユーザが発生したコンテンツ（これに限定されない）を含む第三者のコンテンツをキャッシュ及び供給する。所望の場合、エクステンダは、ターゲットの一連の（非ＣＤＮ）コンテンツ・プロバイダのみからのコンテンツをキャッシュするように構成することができる。このように、エクステンダは、既製のトランスペアレントなキャッシュよりもはるかに高いキャッシュ・ヒット率を与える。このために、エクステンダは好ましくはウェブ・ベース又はコマンド・ライン構成インタフェースを含み、これによってオペレータは、エクステンダ配備によってキャッシュすべきドメイン、サブディレクトリ、及びコンテンツ・タイプ／ファイル拡張子のリストを動的に構成する。一実施形態において、このターゲットのトランスペアレントな構成はネットワーク・オペレータ又はＣＤＮによって手動で発生される。構成は、オペレータのネットワークにおけるエクステンダ・インスタンスについて同一であってもよいし異なる場合があってもよい。
【００３２】
明確に定義されたＨＴＴＰベースのＡＰＩを用いることによって、エクステンダはＣＤＮにとって通常のブラウザと極めて似たものに見える。一実施形態では、エクステンダから（ＣＤＮに対する）ＨＴＴＰ要求は、米国特許第６，１０８，７０３号及び関連特許に記載されたもの等の従来のＣＤＮベースのマッピング技法を用いて最も近いＣＤＮエッジ・サーバにマッピングされるが、これは必須ではない。エクステンダが特定のＣＤＮエッジ・サーバ又はエッジ・サーバ・クラスタの位置を特定する他の方法もあり得る。所望の場合、エクステンダはＣＤＮサーバとの通信において永続的な接続及び他の最適化されたプロトコルを用いることができる。永続的な接続は、コンテンツのいくつかのドメイン又はクラスについて使用可能である。最適化されたプロトコルの例は、ＴＣＰウィンドウ・サイズ及びＲＴＯを履歴データに基づいて調節するもの等とすることができる。エクステンダは、多数のエッジ・サーバから平行してコンテンツをフェッチすることでスループットを最大化することができる。
【００３３】  好ましくは、エクステンダはＣＤＮエッジ・サーバとのインタラクションが可能となる前に認証され権限を与えられる。これによって、ＣＤＮサーバが正当なエクステンダに対してのみ応答を配信することが確実となる。この目的のためにＨＭＡＣキー交換プロトコルを使用可能である。同様に、好ましくは、ＣＤＮはエクステンダ・インスタンスを監査して、正当でないとわかった場合にクレデンシャルを取り消すことができる。これを達成するため、ＡＰＩ及び、正当なエクステンダであることの意味を定義する動作仕様に対してテスト・スイートを評価する。エクステンダ・クレデンシャルは、このテスト・スイートに合格したソフトウェア又はデバイスにのみ与えられ、そのソフトウェア又はデバイスが後にテスト・スイートによる監査に不合格となるとクレデンシャルは取り消される。１つの限定でない実施形態では、クレデンシャルは認証及び権限付与のための標準的な機構を用いた共有の秘密又は証明書の形態である。クレデンシャルは、各ＣＤＮエクステンダ又はエクステンダ・ファミリーのための識別子を含むことができる。例えば、所与のネットワークで配備される全てのエクステンダは、リポートの目的のために共通の識別子を共有することができる。これらのエクステンダがＡＰＩを呼び出した場合、その識別子はＣＤＮにログされ、これが例えばエクストラネット（ウェブ・ベースのセキュアなカスタマ・ポータル等）を介したリポートを可能とする。次いで、ネットワーク・オペレータはポータルにアクセスし、そのネットワークでエクステンダからどのくらいのトラフィックが配信されたかを示すリポートを見ることができる。好ましくは、エクステンダが供給した全ての第三者のトラフィックをＣＤＮ（エッジ・サーバ）にリポートして、これを後のデータ収集システムによるリポートのためにログ及び処理することができる。ログ・ボリュームを低減するため、（エッジ要求及び供給したバイト、オリジン要求及びフェッチしたバイト等に関する）データは、全てのヒットを別個にリポートするのでなく集約ベースでリポートする。
【００３４】
好ましくは、エクステンダはネットワーク固有のプロトコル最適化をサポートする。多くの場合、ネットワークプロパティ（帯域幅、レイテンシ、ジッタ等）は、上流セグメント（エクステンダと、エクステンダがマップされるＣＤＮエッジ・サーバとの間）に比べて下流セグメント（エクステンダとエンド・ユーザ・デバイスとの間）では大きく異なる。エクステンダにおいてＴＣＰを終端させることによって、２つのセグメント間で異なるＴＣＰパラメータ及び異なる最適化を適用することができ、これによって全体的なスループット及び効率を向上させる。
【００３５】  また、エクステンダは、低レベルのネットワーク情報を捕捉し、これをコンテンツ適合（アダプテーション）及び認証の目的のためにアプリケーション・レイヤに渡す機能も有することができる。例えば、モバイル・ネットワークに統合したエクステンダは、モバイル通信プロトコルに埋め込まれた低レベルのデバイス情報を見ることができる。デバイス識別及び関連情報を取得するため、エクステンダはネットワーク・オペレータの１つ又は複数の制御チャネルにアクセスする。このような場合、エクステンダはその情報を抽出し、それをエクステンダがＣＤＮに対して行うＨＴＴＰ  ＡＰＩコールに含ませるように構成することができる。ここでデバイス情報はＨＴＴＰヘッダにあるので、このような情報をＣＤＮ（又はカスタマのオリジン・インフラストラクチャ）において用いて、ターゲットのモバイル・デバイスのためのコンテンツ適合を行うことができる。
【００３６】
同様に、認証のため、低レベルのモバイル通信プロトコルに存在する識別子（例えばＳＩＭ識別子）を抽出し、ＣＤＮに返されるＨＴＴＰ  ＡＰＩコールに含ませることができる。ここでこの識別子はＨＴＴＰヘッダにあるので、識別子をカスタマの認証システムの一部として用いることができる。これらのＳＩＭ識別子は強力な認証コードであり、これによって簡単な形態の２要素認証を可能とする。例えば、モバイル・ネット・バンキング（e-banking）・アプリケーションでは、モバイル・デバイス及びパスワードを有することでユーザを認証することができる。更に、ＨＴＴＰレイヤにおけるこの統合は、カスタマ（この例では銀行）がＣＤＮと単一の統合を行うだけで良いことを意味する。それらは各モバイル・ネットワーク・オペレータと別個の統合を行う必要はない。
【００３７】
このため、エクステンダがＣＤＮエッジ・サーバに前進すると、エッジ・サーバは正当なエクステンダと通信中であることを検証することができ、エッジ・サーバはエクステンダが属するオペレータを識別することができる。
【００３８】
エクステンダは、「マイクロ・エクステンダ（micro-Extender）」としてスケールダウンした方法で実施することができる。この場合も、本明細書における用語は限定として解釈するべきではない。通常、マイクロ・エクステンダは、ＣＤＮコンテンツに対する要求の識別及びそれらの要求の近傍ＣＤＮエッジ・サーバに対する転送等、基本的なエクステンダの機能性のサブセットを提供する。ＵＭＴＳネットワークの場合、このような機構を用いると、ＣＤＮ関連要求は、パケット・コアを経て極めて遠くであり得るインターネット・ゲートウェイに向かう必要はない。代わりに、ＣＤＮ関連要求はずっと近くにあるＣＤＮサーバに向かう。更に、要求は上述のように低レベルのプロトコル・パラメータを含む場合がある。
【００３９】
一連のエクステンダは、同位置に配置するか、又はクラスタ内で相互に近く配置することができ、この場合、それらに負荷共有ルーチンを実施することができる。これによって、追加の負荷の処理もしくはフェイルオーバのため又は双方のために、単一の位置に多数のエクステンダを有することができる。クラスタ内のエクステンダからノー・ストア・コンテンツを（例えばＩＣＰを介して）フェッチすることができる。
【００４０】  更に一般的には、どのようにオペレータがターゲット・ネットワークに統合することを希望するか又はどのようにトラフィックをリダイレクトするかに応じて、特定のネットワーク実施例が多数の異なるタイプのエクステンダを用いることができる。簡単な統合はＤＮＳベースのリダイレクトを用いる。この場合、エクステンダはＣＤＮコンテンツに対する要求のみを受信する。エクステンダはトランスペアレントなキャッシングを実行せず、低レベルのプロトコル・パラメータをピックアップしない。別の可能な統合は、ウェブ・キャッシュ通信プロトコル（ＷＣＣＰ）を用いて、あるポート上の全てのＨＴＴＰ要求をエクステンダにリダイレクトする。図６は、この技法を用いた代表的な実施例を示す。この例では、エクステンダ６０２、６０４、及び６０６は、ネットワーク内のルータ６０８に関連付けられている。周知のように、ＷＣＣＰはトラフィックをトランスペアレントなキャッシング・プロキシに差し向けるための最も一般的に用いられる方法である。これによって、１つ（ＷＣＣＰｖ１）又は２つ以上（ＷＣＣＰｖ２）のルータがキャッシング・サーバ・クラスタをローカル・コンテンツ・プロキシとして用いることができる。キャッシュ・サーバ・クラスタ内で１つのサーバがリーダとして選ばれる。この統合はトランスペアレントなキャッシングを可能とするが、低レベルのプロトコル・パラメータをピックアップすることは可能でない。最後に、この統合は、通信経路に直接的にインラインであるエクステンダによって実行可能である。この統合では、その経路上のプロトコルにエクステンダを特化する必要がある。このような場合、エクステンダは低レベルのプロトコル・パラメータをピックアップする。この後者のタイプの統合は、他の場合にアクセス可能でないネットワーク内の深くには好都合である。
【００４１】
上述のエクステンダの各プロセスは、特殊目的マシーンとして、１つ以上のプロセッサにおいて実行可能な一連のプログラム命令としてコンピュータ・ソフトウェアで実施することが好ましい。本明細書における主題が提供される代表的なマシーンは、Linux又はLinux変形オペレーティング・システム及び１つ以上のアプリケーションを実行してここに記載した機能性を実現するIntel Pentiumベースのコンピュータとすることができる。上述のプロセスの１つ以上は、記載した機能性を実行するためのコンピュータ・プログラムとしてすなわち一連のコンピュータ命令として実施される。図７は、ラック搭載型のハードウェア機器として実施された代表的なエクステンダを示す。エクステンダ７００は、１つ以上のプロセッサ７０２、ディスク・ストア７０４、メモリ７０６、オペレーティング・システム７０８、トランスペアレントな接続キャッシュ７１０、アプリケーション及びプラグイン７１２、ウェブ・ベースのコンフィギュレータ７１４、及びネットワークＩ／Ｏサポート７１６を含む。トランスペアレントな接続キャッシュ７１０は、１つ以上のアプリケーション７１２によって修正又は制御されて本明細書に記載した機能性を提供するApache Traffic Server（ＨＴＴＰ／１．１準拠のキャッシング・プロキシ・サーバ）等の既知のプロキシ・キャッシング・ソフトウェアを用いて実施可能である。キャッシュ７１０は、ＣＤＮカスタマ・コンテンツをキャッシュするための第１の部分及び非ＣＤＮコンテンツをキャッシュするための第２の部分に細分（分割）することができる。
【００４２】  更に、本明細書における主題は、いずれかの特定のタイプの電気通信ネットワーク、プロトコル、又は技術と共に用いることに限定されない。例示の目的のみで、本開示は、代表的なモバイル・サービス・プロバイダのネットワーキング環境としてのＵＭＴＳ／ＧＳＭネットワークに関連して本発明を記載する。本発明は同様に、ＣＤＭＡネットワーキング環境において、又は、限定ではないがＥＰＣ（Evolved Packet Core）、４Ｇ／ＬＴＥ、ＷＬＡＮ（ＷｉＦｉを含む）等を含む他の既知の環境又は後に開発された環境において実施可能である。同様に、ＣＤＮ実施形態も例示的なものであり、他の形態のＣＤＮアーキテクチャ（例えば少数のデータ・センタに大きなサーバ・クラスタを配備するもの、大きなピアリング・ポイントの近傍又は大きなピアリング・ポイントにサーバを配置するもの等）が、本明細書に記載したようにモバイル又は有線のネットワークとインターオペレートすることができる。
【００４３】
例示的な状況において、エクステンダは、オペレータのコア・ネットワーク・インフラストラクチャ（例えばＳＧＳＮ、ＧＧＳＮ等を含むことができるモバイル・オペレータのゲートウェイ・サイト）に関連付けてＵＭＴＳ３Ｇ準拠のネットワーク内で実施され、モバイル接続デバイス（例えばスマートフォン又はタブレット）に対するコンテンツ（ＣＤＮコンテンツを含む）の配信を容易にするために用いられる。
【００４４】
上述のように、エクステンダは、例えばネットワーク・オペレータによる動的な構成管理を可能とするウェブ・ベースの構成インタフェースを含むことが好ましい。この動的な構成は多数の選択肢を含む。１つの選択肢は、どのＣＤＮカスタマ・コンテンツをキャッシュ可能とするかを指定する（ドメイン及びコンテンツ・タイプのリストとして指定される）能力である。デフォルトの選択肢は、ＣＤＮエッジ・サーバからのキャッシュ制御命令に基づいたオーバーライドによって全てのＣＤＮカスタマ・コンテンツをキャッシュすることである。別の選択肢は、どの第三者のコンテンツをキャッシュ可能とするかを指定する（ドメイン及びコンテンツ・タイプのリストとして指定される）能力である。デフォルトの選択肢は、全ての第三者のコンテンツをキャッシュすることである。更に別の選択肢は、ＣＤＮカスタマ・コンテンツ対第三者コンテンツのためにディスク・キャッシュ空間を分割すること、及び／又は特定のドメイン又はドメインのセットのためにディスク・キャッシュ空間を分割する選択肢である。更に別の選択肢は、エクステンダの利用可能なスループットを分割して、ＣＤＮカスタマ・コンテンツ及び第三者のトランスペアレントにキャッシュしたコンテンツのために所望のレベル／割合のスループットを達成する選択肢である。
【００４５】  好ましくは、ネットワーク・オペレータは、ＣＤＮがオペレータのエクステンダ配備からどのくらいのトラフィックを供給しているかを決定することができる。これらのリポートは、分散データ・システムによって処理されるログ又は他のデータに基づいている。それらは例えば、供給されるトラフィックの総計、ＣＤＮカスタマ・トラフィック対非ＣＤＮカスタマ・トラフィックの比較、特定したウェブ・サイトのトラフィック、エンド・ユーザの地理的位置によるトラフィックの内訳、エクステンダ・クラスタ又はその地理的位置によるトラフィックの内訳等を含むことができる。エクステンダは、かかるデータをＳＮＭＰ又は他のネットワーク管理ソフトウェアもしくはシステムを介してエクスポートすることができる。
【００４６】
上述のように、エクステンダはキャッシュを実施する。すでに説明したように、このキャッシュはトランスペアレントに（ＣＤＮに）接続したキャッシュである。所望の場合、エクステンダは、（ＣＤＮによって提供される情報に基づいた）グローバル・ポピュラリティによって影響されるキャッシュ排除（エビクション）率を実現することができ、オペレータは構成インタフェースを用いてエクステンダ配備で発生したポピュラリティ・データを共有することができる。所望の場合、ＣＤＮエッジ・サーバは、ネットワーク条件、予測データ、コンテンツ規則等の追加データをエクステンダに提供して、ＣＤＮ及び非ＣＤＮトラフィックの双方に関してエクステンダの動作に影響を与えるようにプログラムすることができる。
【００４７】  ＣＤＮエッジ・サーバがクライアントに応答を供給しなかったであろう場合、エクステンダはクライアントに応答を供給しない。好ましくは、エクステンダがキャッシュから応答を供給するのは、応答が差し向けられたＣＤＮエッジ・サーバが同じ応答をクライアントに供給したであろう場合である。上述の手法では、エクステンダにおいてキャッシュ・ヒットがあった場合、エクステンダはＣＤＮエッジ・サーバにクエリを実行する。ＣＤＮエッジ・サーバ（及び特にそのウェブ・キャッシング・プロキシ）は、その特定の要求のためにエクステンダがキャッシュされたコンテンツを用いるべきか、又はＣＤＮエッジ・サーバから受信した新しいコンテンツを供給するべきかを決定する。この状況において、任意所与の要求について、何をどのくらい長くキャッシュ可能であるかを決定するビジネス・ロジックをＣＤＮエッジ・サーバにおいて実施する。換言すると、エクステンダは処理をＣＤＮに委ねる。１つの代替案は、ビジネス・ロジックの一部をエクステンダに移して、全ての要求についてエクステンダがＣＤＮと接触しなくてもよくすることである。この変形では、エクステンダは、どのようにＣＤＮエッジ・サーバがある特定の要求を処理するか（従ってその機能性自体を引き継ぐことができるか）に関して何らかの不変量のアプリオリの知識を取得するか、又はどのようにその処理自体を実行するかについて命令を（エッジ・サーバから）受信する。更に別の代替案では、エクステンダは、クライアント要求についてキャッシュした応答をクライアントに供給することが安全であるか否かを独立して決定可能とするための充分な情報をＣＤＮエッジ・サーバから受信する。エクステンダが、そのキャッシュから特定の要求に応答することが安全であると判定できない場合、ＣＤＮに前進する。この手法は、ＣＤＮエッジ・サーバが知っている情報をすでにエクステンダに伝達した後にこの情報が変化したという状況では制約があり得る。これに対処するため、他の考慮事項よりも優先して、エクステンダがキャッシュしたコンテンツを再有効化する最小頻度を課すことができる。
【００４８】
あるＣＤＮ−エクステンダ動作状況において、ＣＤＮエッジ・サーバが、（要求されたＵＲＬに適用可能なカスタマ・メタデータに従って）応答がＵＲＬのみに依存すると判定することができる場合、エッジ・サーバはフェッチしたオブジェクトのキャッシュ可能性及び残りのＴＴＬを応答ヘッダ内でエクステンダに伝達することが好ましい。この結果エクステンダは、残りのＴＴＬの持続時間中にそのようなオブジェクトをキャッシュすることが安全であることがわかる。しかしながら、ＣＤＮエッジ・サーバが、応答が要求ＵＲＬのみに依存すると判定できない場合は、この事実を応答ヘッダ内でエクステンダに伝達し、この場合エクステンダは応答をキャッシュしない場合がある。ＣＤＮエッジ・サーバが、（例えば要求されたＵＲＬに適用可能なカスタマ・メタデータに従って）応答が要求ＵＲＬによって及び特定の要求ヘッダ・フィールドによって充分に決定されると判定可能である場合、好ましくはエッジ・サーバは特定の要求ヘッダ・フィールドを「Vary」応答ヘッダ内にリスト化する。応答−変更タグが安全マッチ（ホスト要求ヘッダ又はＵＲＬ上のマッチ等）以外のマッチ（条件）内に現れるＣＤＮエッジ・サーバにおけるいずれかのカスタマ構成によって、ＣＤＮエッジ・サーバがエクステンダに応答して特別な制御ビットをセットすることが好ましい。
【００４９】
上記は本発明のいくつかの実施形態によって実行される動作の特定の順序を記載したが、このような順序は例示的なものであり、代替的な実施形態では、異なる順序での動作の実行、いくつかの動作の組み合わせ、いくつかの動作の重複等があり得ることは理解されよう。本明細書における所与の実施形態の参照は、記載する実施形態が特定の特性、構造、又は特徴を含む場合があるが、全ての実施形態がその特定の特性、構造、又は特徴を必ずしも含むものではないことを示している。
【００５０】
開示した主題を方法又はプロセスの状況において記載したが、主題の開示は本明細書における動作を実行するための装置にも関する。この装置は、必要な目的のために特別に構築することができ、又はコンピュータに記憶したコンピュータ・プログラムによって選択的に活性化又は再構成される汎用コンピュータを含むことができる。このようなコンピュータ・プログラムは、限定ではないが、光ディスク、ＣＤ−ＲＯＭ、及び光磁気ディスクを含むいずれかのタイプのディスク、読み出し専用メモリ（ＣＤ−ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、磁気もしくは光カード、又は電子命令を記憶するために適切ないずれかのタイプの媒体等のコンピュータ読み取り可能記憶媒体に記憶することができ、その各々はコンピュータ・システム・バスに結合される。
【００５１】
システムの所与のコンポーネントを別個に記載したが、それらの機能のいくつかは、所与の命令、プログラム・シーケンス、コード部分等において組み合わせるか共有することが可能であることは当業者には認められよう。
【００５２】
我々の発明を記載したので、以下のように特許請求を行う。
【図１】
0005874146.tif 000002
【図２】
0005874146.tif 000003
【図３】
0005874146.tif 000004
【図４】
0005874146.tif 000005
【図５】
0005874146.tif 000006
【図６】
0005874146.tif 000007
【図７】
0005874146.tif 000008