JP5150769B2 - 要求ルーティングおよびクライアントロケーション情報を利用したルーティング情報の更新 - Google Patents

要求ルーティングおよびクライアントロケーション情報を利用したルーティング情報の更新 Download PDF

Info

Publication number
JP5150769B2
JP5150769B2 JP2011536598A JP2011536598A JP5150769B2 JP 5150769 B2 JP5150769 B2 JP 5150769B2 JP 2011536598 A JP2011536598 A JP 2011536598A JP 2011536598 A JP2011536598 A JP 2011536598A JP 5150769 B2 JP5150769 B2 JP 5150769B2
Authority
JP
Japan
Prior art keywords
query
dns
identifier
location
network point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011536598A
Other languages
English (en)
Other versions
JP2012509623A (ja
Inventor
アール. リチャードソン デイヴィッド
イー. マーシャル ブラッドリー
シヴァスブラマニアン スワミナサン
コーミー ジョン
エス. パテル イムラン
ダブリュー.エス. レッドマン ベンジャミン
エー. シーハン リチャード
Original Assignee
アマゾン テクノロジーズ インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/272,683 external-priority patent/US7991910B2/en
Priority claimed from US12/272,687 external-priority patent/US8028090B2/en
Application filed by アマゾン テクノロジーズ インコーポレーテッド filed Critical アマゾン テクノロジーズ インコーポレーテッド
Publication of JP2012509623A publication Critical patent/JP2012509623A/ja
Application granted granted Critical
Publication of JP5150769B2 publication Critical patent/JP5150769B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • H04L61/301Name conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/20Communication route or path selection, e.g. power-based or shortest path routing based on geographic position or location

Description

本発明は、要求ルーティングおよびクライアントロケーション情報を利用してルーティング情報を更新することに関する。
背景技術
一般的に述べると、コンピューティングデバイスおよび通信ネットワークは、情報を交換するために利用できる。通常の適用例では、コンピューティングデバイスは、通信ネットワークを介して別のコンピューティングデバイスにコンテンツを要求することができる。たとえば、パーソナルコンピューティングデバイスにおけるユーザは、インターネットを介してサーバコンピューティングデバイスにウェブページを要求するために、ソフトウェアブラウザアプリケーションを利用することができる。そのような実施形態では、ユーザコンピューティングデバイスをクライアントコンピューティングデバイスと呼ぶことができ、サーバコンピューティングデバイスをコンテンツプロバイダと呼ぶことができる。
コンテンツプロバイダは一般に、しばしばクライアントコンピューティングデバイスへの要求されたコンテンツの効率的な送信を考慮して、および/またはコンテンツの送信に関連付けられたコストを考慮して、クライアントコンピューティングデバイスに要求されたコンテンツを提供するように動機づけされる。より大規模な実装形態の場合、コンテンツプロバイダは、高ボリュームのクライアントコンピューティングデバイスからコンテンツ要求を受信し得、コンテンツプロバイダのコンピューティングリソースに負荷をかけ得る。さらに、クライアントコンピューティングデバイスにより要求されたコンテンツは、複数の構成部分を有することがあり、これは、コンテンツプロバイダのコンピューティングリソースにさらなる負荷をかけ得る。
例示的な例を参照すると、要求されたウェブページまたはオリジナルコンテンツは、イメージまたはビデオなどの、ウェブページで表示されるべき複数のさらなるリソースを伴う場合がある。1つの特定の実施形態では、ウェブページのさらなるリソースは、ユニフォームリソースロケータ(「URL」)などの複数の埋込みリソース識別子により特定される。次に、クライアントコンピューティングデバイス上のソフトウェアは、典型的には、コンテンツに対する要求を生成するために埋込みリソース識別子を処理する。しばしば、埋込みリソースに関連付けられたリソース識別子は、コンテンツプロバイダに関連付けられたコンピューティングデバイスを参照し、それにより、クライアントコンピューティングデバイスは、さらなるリソースに対する要求を参照されたコンテンツプロバイダのコンピューティングデバイスに送信する。したがって、コンテンツ要求を満たすために、コンテンツプロバイダは、ウェブページに関連付けられたクライアントコンピューティングデバイスデータならびに埋込みリソースに関連付けられたデータを提供することとなる。
いくつかのコンテンツプロバイダは、コンテンツ配信ネットワーク(「CDN」)サービスプロバイダを利用して、ウェブページおよび/またはウェブページ中で識別されるリソースなどの要求されたコンテンツの配信を可能にしようと試みる。CDNサーバプロバイダは、典型的には、様々なコンテンツプロバイダからのコンテンツを維持することできる通信ネットワーク中に、複数のコンピューティングデバイスを維持する。次に、コンテンツプロバイダは、CDNサービスプロバイダのコンピューティングデバイスからコンテンツプロバイダのコンテンツの一部またはすべてを要求するように、要求クライアントコンピューティングデバイスに命令する、または場合によっては、示唆することができる。
コンテンツプロバイダの場合と同様に、CDNサービスプロバイダも一般に、しばしばクライアントコンピューティングデバイスへの要求されたコンテンツの効率的な送信を考慮して、および/またはコンテンツの送信に関連付けられたコストを考慮して、クライアントコンピューティングデバイスに要求されたコンテンツを提供するように動機づけられる。したがって、CDNサービスプロバイダはしばしば、サービスレベルの契約を満たす、または配信サービスの質を全体的に改善するために、要求されたコンテンツの配信の待ち時間などの要因を考慮する。
複数のクライアントコンピューティングデバイスと、コンテンツプロバイダと、コンテンツ配信ネットワークサービスプロバイダとを含むコンテンツ配信環境を示すブロック図である。 図1のコンテンツ配信環境のブロック図であり、コンテンツプロバイダのコンテンツ配信サービスプロバイダへの登録を示す。 図1のコンテンツ配信環境のブロック図であり、クライアントコンピューティングデバイスからコンテンツプロバイダへのコンテンツ要求の生成および処理を示す。 図1のコンテンツ配信環境のブロック図であり、クライアントコンピューティングデバイスからコンテンツ配信ネットワークサービスプロバイダへの埋込みリソースに対応するDNSクエリの生成および処理、ならびに後続の、クライアントコンピューティングデバイスからコンテンツ配信ネットワークへの第1の代替リソース識別子に対応するDNSクエリの生成および処理の一実施形態を示す。 図1のコンテンツ配信環境のブロック図であり、クライアントコンピューティングデバイスからコンテンツ配信ネットワークサービスプロバイダへの埋込みリソースに対応するDNSクエリの生成および処理、ならびに後続の、クライアントコンピューティングデバイスからコンテンツ配信ネットワークへの第1の代替リソース識別子に対応するDNSクエリの生成および処理の一実施形態を示す。 図1のコンテンツ配信環境のブロック図であり、クライアントコンピューティングデバイスからコンテンツ配信ネットワークサービスプロバイダへの埋込みリソースに対応するDNSクエリの生成および処理の別の実施形態を示す。 図1のコンテンツ配信環境のブロック図であり、クライアントコンピューティングデバイスからコンテンツ配信ネットワークサービスプロバイダへの埋込みリソース要求の生成および処理を示す。 リソース要求を処理するためにクエリIPアドレスのロケーションベース識別子へのマッピングを利用するコンテンツ配信ネットワークサービスプロバイダにより実装される要求ルーティングルーチンを示す流れ図である。 取得されたロケーションベース識別子に基づいてリソース要求をサービスするためのネットワークのポイントオブプレゼンスを決定するために、図7の例示的な流れ図のコンテンツ配信ネットワークサービスプロバイダにより実装される要求ルーティングサブルーチンを示す流れ図である。
発明の詳細な説明
本発明の上記の態様および付随する利点の多くは、以下の詳細な説明を添付の図面とともに参照することにより、より良く理解されることが容易に諒解されよう。
一般的に述べると、本開示は、コンテンツ要求に対応するクライアントコンピューティングデバイスからのDNSクエリの、コンテンツ配信ネットワーク(「CDN」)サービスプロバイダなどの、ネットワークリソースによるルーティングを対象とする。CDNサービスプロバイダによるDNSクエリの処理は、一般に要求ルーティングと呼ばれる。具体的には、本開示の態様は、クライアントコンピューティングデバイスに関連付けられたクライアントロケーション情報に応じたCDNサービスプロバイダドメイン内のクライアントコンピューティングデバイスのDNSクエリのルーティングに関して説明される。一実施形態では、CDNサービスプロバイダは、要求されたリソースを提供するようにCDNネットワークの構成部分を選択するために、クエリIPアドレスのロケーションベース識別子へのマッピングを利用する。クライアントコンピューティングデバイスのロケーションを特定することと、クライアントのロケーションに関連付けられた宛先中のCDNネットワークの構成部分から要求されたリソースを送信することによって要求ルーティングに関連するパフォーマンスを改善しようと試みることとによって、CDNネットワーク構成部分を選択することができる。本開示の他の態様は、DNSクエリを解決することに関するパフォーマンスデータを収集することと、そのパフォーマンスデータに基づいてクライアントロケーション情報に関連するルーティング情報を更新することを対象とする。例示的な例および実施形態に関して、本開示の様々な態様について以下に説明するが、当業者には、開示する実施形態および例を限定的に解釈すべきではないことが諒解されよう。
図1は、コンテンツ要求の管理および処理のためのコンテンツ配信環境100の例を示すブロック図である。図1に示すように、コンテンツ配信環境100は、コンテンツプロバイダおよび/またはCDNサービスプロバイダにコンテンツを要求するための複数のクライアントコンピューティングデバイス102(一般にクライアントと呼ばれる)を含む。例示的な実施形態では、クライアントコンピューティングデバイス102は、パーソナルコンピューティングデバイス、ラップトップコンピューティングデバイス、ハンドヘルドコンピューティングデバイス、ターミナルコンピューティングデバイス、モバイルデバイス、ワイヤレスデバイス、様々な電子デバイスおよび電子アプライアンスなどを含む多種多様なコンピューティングデバイスに対応することができる。例示的な実施形態では、クライアントコンピューティングデバイス102は、ワイドエリアネットワークまたはローカルエリアネットワークなどの通信ネットワーク108を介する通信を確立するために、必要なハードウェア構成部分およびソフトウェア構成部分を含む。たとえば、クライアントコンピューティングデバイス102は、インターネットまたはイントラネットを介する通信を可能にするネットワーキング機器およびブラウザソフトウェアアプリケーションを備えることができる。
図1には示されていないが、各クライアントコンピューティングデバイス102は、DNSネームサーバなど、そのクライアントコンピューティングデバイスに起因してDNSクエリを生成する、ある種のローカルDNS解決構成部分を利用する。一実施形態では、クライアントコンピューティングデバイス102が属する企業ネットワークによってローカルDNS解決構成部分を提供することができる。別の実施形態では、通信ネットワーク接続をクライアントコンピューティングデバイス102に提供するインターネットサービスプロバイダ(ISP)によって、ローカルDNS解決構成部分を提供することができる。
コンテンツ配信環境100はまた、通信ネットワーク108を介して1つまたは複数のクライアントコンピューティングデバイス102と通信しているコンテンツプロバイダ104をも含むことができる。図1に示すコンテンツプロバイダ104は、コンテンツプロバイダに関連付けられた1つまたは複数のコンピューティングデバイスの論理的関連性に対応する。具体的には、コンテンツプロバイダ104は、クライアントコンピューティングデバイス102から(ウェブページなどの)コンテンツに関する要求を取得および処理するために、1つまたは複数のサーバコンピューティングデバイスに対応するウェブサーバ構成部分110を含むことができる。コンテンツプロバイダ104は、CDNサービスプロバイダからネットワークリソースに関する要求を取得および処理するために、1つまたは複数のコンピューティングデバイスに対応する起点サーバ構成部分112と関連付けられたストレージ構成部分114とをさらに含むことができる。当業者には、コンテンツプロバイダ104は、コンテンツおよびリソース、DNSネームサーバなどの管理のためのさらなるコンピューティングデバイスなどの様々なさらなるコンピューティングリソースに関連付けられ得ることが諒解されるであろう。たとえば、図1には示されていないが、コンテンツプロバイダ104は、コンテンツプロバイダに関連付けられた登録ドメインネームに関係するDNSクエリを受信するように動作可能である、1つまたは複数のDNSネームサーバ構成部分に関連付けられ得る。1つまたは複数のDNSネームサーバは、コンテンツプロバイダ104の登録ドメインネームに対応するクライアントコンピューティングデバイスのDNSクエリを解決するための権限を有することができる。DNSネームサーバが応答IPアドレスを提供することによってクエリを解決することができる場合、DNSネームサーバ構成部分はDNSクエリに対して権限を有すると見なされる。
図1を引き続き参照すると、コンテンツ配信環境100は、通信ネットワーク108を介して1つまたは複数のクライアントコンピューティングデバイス102およびコンテンツプロバイダ104と通信しているCDNサービスプロバイダ106をさらに含むことができる。図1に示すCDNサービスプロバイダ106は、CDNサービスプロバイダに関連付けられた1つまたは複数のコンピューティングデバイスの論理的関連性に対応する。具体的には、CDNサービスプロバイダ106は、通信ネットワーク108上のノードに対応する複数のポイントオブプレゼンス(「POP」)ロケーション116、122、128を含むことができる。各POP116、122、128は、クライアントコンピュータ102からのDNSクエリを解決するために、複数のDNSサーバコンピューティングデバイスから構成されたDNS構成部分118、124、130を含む。各POP116、122、128はまた、コンテンツプロバイダからのリソースを記憶し、様々な要求されたリソースを様々なクライアントコンピュータに送信するために、複数のキャッシュサーバコンピューティングデバイスから構成されたリソースキャッシュ構成部分120、126、132を含む。
さらに、CDNサービスプロバイダ106は、参照により本明細書に組み込まれる2007年6月29日付けで出願された「Mapping Attributes to Network Addresses」と題する米国特許出願第11/771,679号に開示されるような、クエリIPアドレスとロケーションベース識別子とのマッピングに関する情報、ならびにそれらのマッピングに関連付けられた確信度を維持するためのルーティングデータストア134を含む。いくつかの実施形態では、ロケーションベース識別子は、DNSクエリの起点に関連付けられた物理ロケーションまたは論理ロケーションに基づいて直接決定されたロケーションに対応することができる。それに加えて、またはそれに替えて、ロケーションベース識別子は、相対ロケーションを既知のロケーションに関連付けることに基づいて推測できる。たとえば、ロケーションベース識別子は、クライアントコンピューティングデバイスまたはそのローカルDNS解決手段とこれらPOPとの間の要求ルーティングに関連付けられた測定された待ち時間情報に基づく(CDNサービスプロバイダに対応する)POPの既知のロケーションに起因し得る。テスト手順または以前に観察された要求ルーティング挙動などによって測定された待ち時間情報を予め測定することができる。代替的には、リアルタイムベースまたは半リアルタイムベースで、測定された待ち時間情報を動的に測定することができる。
また、ルーティングデータストア134は、領域CDN宛先識別子に対するロケーションベース識別子のマッピングなど、さらなるロケーションマッピング情報を維持することができる。さらに、ロケーションマッピングデータストア134は、各CDN宛先識別子に関連付けられたPOPのセットを識別する情報を含むことができる。さらに、ルーティングデータストア134はユーザプロファイル情報を含むことができ、そこから代替ユーザロケーション情報を取得することができる。さらに、ルーティングデータストア134は、コンテンツ要求をルーティングするためにCDNサービスプロバイダ106により利用される、地域サービスプラン情報または他のルーティング基準などのコンテンツプロバイダ識別子(または起点識別子)に関連付けられたコンテンツプロバイダルーティング基準を含むことができる。さらに、ルーティングデータストア134は、処理要求に関連するパフォーマンスデータを維持することもできる。
例示的な実施形態では、ルーティングデータストア134は、POP116、122、128によってウェブサービスなどを介してアクセス可能な中央データストアに対応する。別の実施形態では、各POP116、122、128は、より詳細に後で説明するように要求ルーティングにおける利用のために、ルーティングデータストア134のローカル版を維持することができる。さらに、ルーティングデータストア134を単一のデータストアとして示しているが、当業者には、ルーティングデータストア134は1つまたは複数のデータストアに対応することができ、分散的な方法で実装できることが諒解されよう。
DNS構成部分118、124、130と、リソースキャッシュ構成部分120、126、132とは、負荷バランシングソフトウェア/ハードウェア構成部分または負荷分散ソフトウェア/ハードウェア構成部分を含むが、それらに限定されない、通信を容易にするさらなるソフトウェアおよび/またはハードウェア構成部分をさらに含むことができる。
例示的な実施形態では、DNS構成部分118、124、130およびリソースキャッシュ構成部分120、126、132は、構成部分または構成部分の一部分が物理的に別個であるかどうかにかかわらず、論理的にグループ化されていると考えられる。さらに、図1にはPOP116、122、128がCDNサービスプロバイダ106に論理的に関連付けられているものとして示されているが、POPは、様々な構成属性のクライアントコンピューティングデバイス102に最も良好にサービスを提供する方法で、通信ネットワーク108全体にわたって地理的に分散される。さらに、当業者には、CDNサービスプロバイダ106が、コンテンツおよびリソースなどの管理のためのさらなるコンピューティングデバイスなどの様々なさらなるコンピューティングリソースに関連付けられ得ることが諒解されよう。
当業者には、図1で提供された構成部分および構成が本質的に例示的なものであることが諒解されよう。したがって、特に、通信を容易にするためのさらなる構成部分、システムおよびサブシステムに関して、さらなる構成部分および/または構成あるいは代替的な構成部分および/または構成を利用してもよい。
次に図2〜図6を参照して、図1のコンテンツ配信環境100の様々な構成部分間の相互動作を示す。しかしながら、例のために、図は単純化されており、通信を容易にするために利用される構成部分のうちの多くが示されていない。当業者には、本開示の趣旨および範囲から逸脱することなく、そのような構成部分を利用することができ、それに応じて、さらなる相互動作が生じるであろうことが諒解されよう。
図2を参照して、コンテンツプロバイダ104のCDNサービスプロバイダ106への登録のための例示的な相互作用について説明する。図2に示すように、CDNコンテンツ登録プロセスは、コンテンツプロバイダ104のCDNサービスプロバイダ106への登録で開始する。例示的な実施形態では、コンテンツプロバイダ104は、CDNサービスプロバイダ106がコンテンツプロバイダ104に代わってコンテンツを提供できるように、CDNサービスプロバイダ106に登録するために登録アプリケーションプログラムインターフェース(「API」)を利用する。登録APIは、要求されたリソースをCDNサービスプロバイダ106に提供するコンテンツプロバイダ104の起点サーバ112の識別情報を含む。さらに、後で詳しく述べるように、コンテンツプロバイダ104は、コンテンツ要求をルーティングするためにCDNサービスプロバイダ106により利用される、地域サービスプランの情報または他のルーティング基準などの追加情報をも提供することができる。一実施形態では、ルーティング基準は、特定の地域サービスプランの仕様を含むことができ、その仕様は、コンテンツ要求がCDNサービスプロバイダ106によって解決され得る地域を限定し得る。別の実施形態では、ルーティング基準は、CDNサービスプロバイダ106が特定の地域宛先またはPOPから、あるいは地域宛先またはPOPの特定の分布から特定のリソース要求をサービスしようと試みなければならないという、コンテンツプロバイダ104による選択を含むことができる。
当業者には、妥当性のある起点サーバ112が識別されると、コンテンツプロバイダ104は、コンテンツに関する要求をクライアントコンピューティングデバイス102からCDNサービスプロバイダ106に向け始めることができることが諒解されよう。具体的には、DNSルーティング原理に従って、リソース識別子に対応するクライアントコンピューティングデバイス要求は最終的に、CDNサービスプロバイダ106に関連付けられたPOP116、122、128に向かって送られる。選択されたPOPのリソースキャッシュ構成部分120、126、132が、クライアントコンピューティングデバイス102により要求されたリソースの複製を有しない場合、リソースキャッシュ構成部分は、コンテンツプロバイダ104によって以前に登録されている起点サーバ112にリソースを要求する。
図2を引き続き参照すると、CDNサービスプロバイダ106は、登録APIを受信すると、登録情報を取得し、処理する。例示的な実施形態では、CDNサービスプロバイダ106は次いで、クライアントコンピューティングデバイス102によりコンテンツ要求の一部として使用される追加情報を生成することができる。追加情報は、コンテンツプロバイダ識別コードまたは起点サーバ識別子などのコンテンツプロバイダ識別子、スクリプトベースの命令などのリソース識別子を処理するための実行可能コードなどを含むことができるが、これらに限定されるものではない。当業者には、CDNサービスプロバイダ106によって、様々なタイプの追加情報を生成することができ、追加情報を様々なフォーマットのいずれか1つで実施できることが諒解されよう。
CDNサービスプロバイダ106は、(以前に提供されたものでない限り)CDNサービスプロバイダのための適用可能なドメインの識別情報と、任意の追加情報とをコンテンツプロバイダ104に戻す。次に、コンテンツプロバイダ104は、記憶されたコンテンツをコンテンツプロバイダ固有の情報を用いて処理することができる。一例では、図2に示すように、コンテンツプロバイダ104は、当初起点サーバ112のドメインに向けられたリソース識別子をCDNサービスプロバイダに対応するドメインに変換する。変換されたURLは、変換されたURLに対するDNSクエリは、CDNサービスプロバイダ106に対応するDNSサーバ対して解決し、コンテンツプロバイダ104に対応するDNSサーバに対しては解決されない方法で、要求されたコンテンツに埋め込まれる。変換プロセスを図2に示すが、いくつかの実施形態では、より詳細に後で説明する方法で変換プロセスを省略することができる。
一般に、当初コンテンツプロバイダ104に向けられたリソースの識別情報は、ブラウザソフトウェアアプリケーションなどを通じて、クライアントコンピューティングデバイス102によって処理できるソース識別子の形態とすることができる。例示的な実施形態では、リソース識別子は、ユニフォームリソースロケータ(「URL」)の形態とすることができる。リソース識別子がコンテンツプロバイダに向けられた要求されたコンテンツ中に含まれるので、一般に、リソース識別子を「コンテンツプロバイダURL」と呼ぶことができる。説明的な例では、コンテンツプロバイダURLは、コンテンツプロバイダ104のドメイン(たとえば、contentprovider.com)と、要求されるべきリソース名(たとえば、「resource.xxx」)と、リソースが発見される経路(たとえば、「path」)とを特定することができる。この説明的な例では、コンテンツプロバイダURLは、
http://www.contentprovider.com/path/resource.xxx
の形態を有する。
例示的な変換プロセス中に、コンテンツプロバイダURLが変更され、変換されたURLに関連付けられたリソースに関する要求がCDNサービスプロバイダ106に関連付けられたPOPに対して解決するようになる。一実施形態では、変換されたURLは、CDNサービスプロバイダ106のドメイン(たとえば、「cdnprovider.com」)と、要求されるべきリソースの同じ名前(たとえば、「resource.xxx」)と、リソースが発見される同じ経路(たとえば、「path」)とを特定する。さらに、変換されたURLは、さらなる処理情報(たとえば、「追加情報」)を含むことができる。具体的には、前述のように、1つの例示的な実施形態では、追加情報は、コンテンツプロバイダの識別子を含むことができる。さらに、変換されたURLは、限定されないが、サービスプラン情報、ファイル識別子などを含む、要求ルーティング中にCDNサービスプロバイダにより利用される任意の追加情報を含むことができる。そのような情報は、変更されたURL中に含まれ得、あるいは、変換されたURLから除外され、コンテンツプロバイダ識別子によるルックアップなどによって要求ルーティングプロセス中にCDNサービスプロバイダ106によって取得され得る。変換されたURLは、以下の形態を有することとなる。
http://additional_information.cdnprovider.com/path/resource.xxx
別の実施形態では、CDNサービスプロバイダ106に関連する情報は、プリペンディングまたは他の技法などによって変更URL中に含まれ、それにより、変換されたURLは、元のURLに伴う情報のすべてを維持することができる。この実施形態では、変換されたURLは、以下の形態を有することとなる。
http://additional_information.cdnprovider.com/www.contentprovider.com/path/resource.xxx
次に図3を参照すると、図2に示された登録処理および変換処理の完了後に、クライアントコンピューティングデバイス102は、続いて、ウェブサーバ110などを介して、コンテンツプロバイダ104によって受信および処理されるコンテンツ要求を生成する。例示的な実施形態によると、コンテンツの要求は、ハイパーテキスト転送プロトコル(「HTTP」)などの通常のネットワークプロトコルに従うことができる。コンテンツ要求を受信すると、コンテンツプロバイダ104は、妥当性のある応答コンテンツを識別する。例示的な実施形態では、要求されたコンテンツは、ハイパーテキストマークアップ言語(「HTML」)、拡張可能マークアップ言語(「XML」)などのような、情報の処理を介してクライアントコンピューティングデバイス102上に表示されるウェブページに対応できる。要求されたコンテンツはまた、要求されたコンテンツの処理の一部としてクライアントコンピューティングデバイス102により取得されなければならないリソースオブジェクトに対応する、上述の複数の埋込みリソース識別子を含むことができる。埋込みリソース識別子は一般に、元のリソース識別子または元のURLと呼ぶことができる。
要求されたコンテンツを受信すると、クライアントコンピューティングデバイス102は、ブラウザソフトウェアアプリケーションなどを介して、コンテンツ中に含まれるマークアップコードのうちのいずれかの処理を開始し、埋込みリソース識別子により特定されるリソースを獲得しようと試みる。したがって、コンテンツを獲得する第1のステップは、クライアントコンピューティングデバイス102による(そのローカルDNS解決手段を介した)、変換されたURLの「.」部分および「com」部分に対して権限を有するDNSサーバの識別情報を生じる元のURLリソース識別子に関するDNSクエリの発行に対応する。埋込みURLの「.」部分および「com」部分を処理した後、クライアントコンピューティングデバイス102は次いで、埋込みURLの「.cdnprovider」部分に対して権限を有するDNSサーバの識別情報を生じるリソースURLに関するDNSクエリを発行する。URLの「.」部分および「com」部分に対応するDNSクエリの発行はよく知られており、図示してはいない。
次に図4Aを参照すると、例示的な実施形態では、元のURLの「cdnprovider」部分の正常な解決は、IPアドレスなど、CDNサービスプロバイダ106に関連付けられたDNSサーバのネットワークアドレスを特定する。一実施形態では、IPアドレスは、POPのDNSサーバ構成部分に固有の特定のネットワークアドレスとすることができる。別の実施形態では、1つまたは複数のPOPによって、IPアドレスを共有することができる。この実施形態では、共有IPアドレスに対するさらなるDNSクエリは、特定のPOPがネットワークトポロジに応じて要求を受信するように、エニーキャストなどの1対多数のネットワークルーティングスキームを利用する。たとえば、エニーキャスト実装形態では、共有IPアドレスに対してクライアントコンピューティングデバイス102により発行されたDNSクエリは、クライアントコンピューティングデバイスからのネットワークトポロジ距離が論理的には最も短いDNSサーバ構成部分に到着し、この構成部分は、しばしばネットワークホップと呼ばれる。ネットワークトポロジ距離は、地理的距離に必ずしも対応するものではない。しかしながら、いくつかの実施形態では、ネットワークトポロジ距離は、クライアントコンピューティングデバイス102とPOPとの間の最短のネットワーク距離であると推測できる。
図4Aを引き続き参照すると、上記の特定された実施形態(または任意の他の実施形態)のいずれにおいても、POP116のDNS構成部分118中の特定のDNSサーバは、元のURLに対応するDNSクエリをクライアントコンピューティングデバイス102から受信する。DNS構成部分118中のDNSサーバのうちの1つが要求を受信すると、その特定のDNSサーバは要求を解決しようと試みる。1つの例示的な実施形態では、図5を参照して示すように、特定のDNSサーバは、要求されたリソースに関する要求を処理するキャッシュサーバ構成部分のIPアドレスを特定することによって、DNSクエリを解決する。上述のように、また図6を参照してさらに後述するように、選択されたリソースキャッシュ構成部分は、利用可能な場合には要求されたリソースを提供し、あるいは、要求されたリソースをピアキャッシュサーバコンピューティングデバイスまたはコンテンツプロバイダ104の起点サーバ112などの別のソースから取得しようとすることによって、要求を処理できる。
図4Aに戻ると、図5を参照して説明するようにDNSクエリを受信したときにリソースキャッシュ構成部分を選択することに替わる方法として、CDNサービスプロバイダ106は、様々な代替リソース識別子のセットを維持することができる。代替リソース識別子は、CDNサービスプロバイダ106によって、クライアントコンピューティングデバイス102に提供でき、それにより、代替リソース識別子に関する後続のDNSクエリが、CDNサービスプロバイダのネットワーク内の異なるDNSサーバ構成部分によって、処理される。例示的な実施形態では、代替リソース識別子は、1つまたは複数の正規名(「CNAME」)レコードの形態である。一実施形態では、各CNAMEレコードは、CDNサービスプロバイダ106のドメイン(たとえば、「cdnprovider.comまたはcdnprovider−l.com)を特定する。後でさらに詳しく述べるように、CNAME中にドメインは、元のURL中で、または、以前のCNAMEレコード中で見出されるのと同じドメインである必要はない。さらに、各CNAMEレコードは、要求ルーティング情報などの追加情報を含む(たとえば、「request routing information」)。例示的なCNAMEレコードは、以下の形態を有することができる。
http://request_routing_information.cdnprovider.com/path/resource.xxx CNAME request routing_information_cdnprovider.com
例示的な実施形態では、CNAMEレコードは、CDNサービスプロバイダ106のより妥当性のあるDNSサーバを識別するために、DNSサーバにより生成され、提供される。本開示に従って使用される場合、妥当性は、様々な目的のためにCDNサービスプロバイダ106によって定義することができる。例示的な実施形態では、図7および図8を参照して後でさらに詳しく述べるように、CDNサービスプロバイダ106は、少なくとも部分的には、CDNサービスプロバイダ106のより妥当性のあるDNSサーバを特定するために、クライアントコンピューティングデバイス102またはそのローカルDNS解決手段に関連付けられたクライアントロケーション情報を利用する。具体的には、CDNサービスプロバイダ106は、クライアントコンピューティングデバイスのDNSクエリに関連付けられたIPアドレスを利用して、クライアントコンピューティングデバイスの可能なロケーションを表す対応するロケーションベースの識別子を特定することができる。CDNサービスプロバイダ106は、次に、リソース要求が解決されなければならないCDNサービスプロバイダ106に関連付けられた地域を表す宛先識別子を特定するために、ロケーションベース識別子を利用できる。次いで、宛先識別子に基づいて、CDNサービスプロバイダ106は、宛先識別子に対応する宛先に対してリソース要求に対応してサービスを提供することが可能なPOPのセットからPOP116、122、128を選択することができる。一例では、2つ以上のPOPがセット中で特定される場合、CDNサービスプロバイダ106は特定された宛先に関連付けられた特定のPOPを選択するために配信割振りを利用することができる。別の例では、POPが選択されると、CDNサービスプロバイダ106はさらに健康情報を使用して、選択されたPOPに対応するCNAMEをクライアントコンピューティングデバイスに提供する前に、選択されたPOPがサービス要求に対して利用可能であるかどうかを判断することができる。当業者には、上記の機能が本質的に例にすぎず、したがって、限定として解釈されるべきではないことが諒解されよう。
上述のように、クライアントロケーション情報(エンドクライアントまたはその関連付けられたローカルDNS解決構成部分のいずれか)を考慮するだけでなく、CDNサービスプロバイダ106は、変換されたURL中に含まれるさらなる情報(たとえば、追加情報)を利用して、より妥当性のあるDNSサーバを選択することができる。一態様では、CDNサービスプロバイダ106は、クライアントロケーション情報に関連する基準を満していると識別されるDNSサーバのセットから選択するために、追加情報を利用できる。別の態様では、CDNサービスプロバイダ106は、追加情報を利用して、クライアントロケーション情報に従って選択されたDNSサーバを有効にする、またはクライアントロケーション情報に従って以前に選択された代替DNSサーバを選択することができる。一例では、CDNサービスプロバイダ106は、追加の地理的基準に従って、DNSクエリをDNSサーバに向けることを試みることができる。追加の地理的基準は、CDNサービスプロバイダ106とコンテンツプロバイダ104との間に結ばれた地理ベースの地域サービスプランに対応することができ、様々なCDNサービスプロバイダ106のPOPが地域へとグループ化される。したがって、コンテンツプロバイダの地域プランに対応しない地域で受信されたクライアントコンピューティングデバイス102のDNSクエリは、コンテンツプロバイダの地域プランに対応する地域のDNSサーバによって、より良好に処理できる。
別の例では、CDNサービスプロバイダ106は、サービスレベル基準に従ってDNSクエリをDNSサーバに向けることを試みることができる。サービスレベル基準は、CDNサービスプロバイダ106とコンテンツプロバイダ104との間に結ばれるサービスメトリックまたはパフォーマンスメトリックに対応することができる。パフォーマンスメトリックの例として、CDNサービスプロバイダのPOPとクライアントコンピューティングデバイス102との間のデータ送信の待ち時間、コンテンツプロバイダ104に代わってCDNサービスプロバイダのPOPにより提供される全データ、データ送信のためのエラーレートなどを含むことができる。
さらなる一例では、CDNサービスプロバイダ106は、ネットワークパフォーマンス基準に従って、DNSクエリをDNSサーバに向けることを試みることができる。ネットワークパフォーマンス基準は、CDNサービスプロバイダのPOPからクライアントコンピューティングデバイス102にデータを送信することについてのネットワークパフォーマンスの測定に対応することができる。ネットワークパフォーマンスメトリックの例として、(クライアントコンピューティングデバイスまたはCDNサービスプロバイダ106により測定された)ネットワークデータ転送待ち時間、ネットワークデータエラーレートなどを含むことができる。
例示的な実施形態によると、DNSサーバは、様々な元のURLに対するCNAMEレコードを定義するデータストアを維持する。特定の元のURLに対応するDNSクエリがデータストア中のエントリに一致する場合、DNSサーバはデータストアにおいて定義されるようにCNAMEレコードを戻す。例示的な実施形態では、データストアは、特定の元のURLに対応する複数のCNAMEレコードを含むことができる。複数のCNAMEレコードは、クライアントコンピューティングデバイスに戻すことができる潜在的な候補のセットを定義する。このような実施形態では、DNSサーバは、直接、またはネットワークベースサービスを介してのいずれかにより、CNAMEの可能なセットから妥当性のあるCNAMEを選択することにおいてさらなる論理を実施できる。例示的な実施形態では、各DNSサーバ構成部分118、124、130は、CNAMEレコードを定義する同じデータストアを維持し、それらは、CDNサービスプロバイダ106によって集中的に管理できる。代替的には、各DNSサーバ構成部分118、124、130は、CNAMEレコードを定義する、POPに限定されたデータストアを有することができ、それらは、CDNサービスプロバイダ106によって集中的に、または、POP116、122、128においてローカルで管理できる。さらに、DNSサーバ構成部分118、124、130内の各DNSサーバコンピューティングデバイスは、それぞれに対応するPOPにより管理された共有データストア、または個々のDNSサーバコンピューティングデバイスに固有のローカルデータストアを利用することができる。
また、戻されたCNAMEは、現在のDNSクエリのURL/CNAME中で提供される情報とは異なる要求ルーティング情報を含むことができ、または、現在のDNSクエリのURL/CNAME中で提供される情報に加えて要求ルーティング情報を含むことができる。たとえば、特定の地域プランは、特定のCNAMEレコードの「request_routing_information」部分で特定できる。CNAMEレコードの「request_routing_information」部分に特定の識別子を含むことによって、サービスレベルプランおよびファイル管理を特定するために、同様の手法をとることができる。別の実施形態では、要求ルーティング情報は、現在のURL/CNAME中で見出されるドメインとは異なるCDNサービスプロバイダ106のドメインの識別情報中で見出すことができる。たとえば、特定の地域プランドメイン(たとえば、「cdnprovder−region1.com」)は、特定のCNAMEレコードのドメイン名部分において使用され得る。任意のさらなる要求ルーティング情報を、以前の要求ルーティング情報が失われないように、現在のURL/CNAME中の既存の要求ルーティング情報にプリペンディングできる(たとえば、serviceplan.regionalplan.cdnprovider.com)。当業者には、追加の技法もしくは代替技法および/または技法の組合せを使用して、DNSサーバ構成部分118により選択されるCNAMEレコード中にさらなる要求ルーティング情報を含めることができる。
図4Aを引き続き参照すると、当業者には、DNSサーバが、CDNサービスプロバイダ106のより妥当性のあるDNSサーバに対して解決することを意図するCNAMEレコードを選択する(または場合によっては、取得する)ことができることが諒解されよう。しかしながら、同じDNSサーバが、クライアントコンピューティングデバイスに提供されるべきCNAMEに関する後続のDNSクエリに対しても権限を有することが可能であり得る。たとえば、特定のDNSサーバは、クライアントコンピュータデバイスに関連付けられた特定の地理的ロケーションと、クライアントロケーション情報に基づいてコンテンツプロバイダプランにより特定される特定の地域プランとに基づいて権限を有することができる。したがって、CNAMEを戻した結果、依然として、DNSクエリは、(同じくクライアントコンピューティングデバイスの地理にも部分的に起因し得る)同じDNSサーバに到着することになる。このような実施形態では、DNSサーバ構成部分118などのDNSサーバは、事前に将来のDNSクエリを解決するように選択することができる。
次に図4Bに参照すると、クライアントコンピューティングデバイス102は、DNSサーバ構成部分118からCNAMEを受信すると、CNAMEに対応する後続のDNSクエリを生成する。図4Aに関して前述したように、DNSクエリ処理はまず、「.」部分および「com」部分に関するDNSクエリで開始することができ、CNAMEの「cdnprovider」部分に関するクエリがその後に続く。しかしながら、以前のDNSクエリの結果をキャッシュすることができる(およびそれが有効なままである)限り、クライアントコンピューティングデバイス102は、キャッシュされた情報を利用することができ、プロセス全体を反復する必要はない。しかしながら、ある時点で、DNSサーバ構成部分118により提供されたCNAME(図4A)と以前のURL/CNAMEとが、共通するCDNサービスプロバイダドメインを共有するかどうかに応じて、現在のCNAMEDNSクエリは、CDNサービスプロバイダ106により提供される異なるPOPにより処理される。図4Bに示すように、POP122のDNSサーバ構成部分124は、DNSサーバ構成部分118によって、以前に提供された現在のCNAME中の異なる情報に基づいて、現在のCNAMEを受信する。前述のように、DNSサーバ構成部分124は、次いで、コンテンツ要求を処理するキャッシュ構成部分のIPアドレスを用いてCNAMEに関するDNSクエリを解決するべきかどうか、または上述の方法で選択された別の代替リソース識別子を提供すべきかどうかを決定できる。
例示のために、リソースキャッシュ構成部分のIPアドレスを戻すことによって、DNSサーバ構成部分124がコンテンツ要求を処理すると仮定する。例示的な実施形態では、DNSサーバ構成部分124は、リソースキャッシュ構成部分を選択する際に様々な情報を利用できる。一例では、DNSサーバ構成部分124は、同じPOPのリソースキャッシュ構成部分を選択するようにデフォルト設定できる。別の例では、DNSサーバ構成部分は、様々な負荷バランシングアルゴリズムまたは負荷分散アルゴリズムに基づいてリソースキャッシュ構成部分を選択できる。さらに、DNSサーバ構成部分は、ネットワークパフォーマンスメトリックまたは測定を利用して、特定のリソースキャッシュ構成部分を割り当てることができる。DNSサーバ構成部分により選択されるIPアドレスは、リソースキャッシュ中の特定のキャッシングサーバに対応し得る。代替的には、IPアドレスは、(ロードバランサなどの)ハードウェア/ソフトウェア選択構成部分に対応することができる。
図4Bを引き続き参照すると、CDNサービスプロバイダ106は、コンテンツ要求の解決に関連するパフォーマンスデータを収集し、そのパフォーマンスデータを利用して、ルーティング情報に対して何か更新が行われなければならないかどうかを決定する。CDNサービスプロバイダ106は、プロセス中の任意の時間に、またはコンテンツ要求の解決後に、パフォーマンスデータを収集することができる。そのようなパフォーマンスデータは、CDNサービスプロバイダのPOPからクライアントコンピューティングデバイス102へのデータ送信についての、ネットワークパフォーマンスの測定を含むことができる。一実施形態では、要求されたリソースの配信に伴うネットワークデータ転送待ち時間が、クライアントコンピューティングデバイス102により測定される。代替的には、CDNサービスプロバイダ106は、リソースキャッシュ構成部分などを介して、クライアントコンピューティングデバイスにコンテンツを提供することの一部としての、パフォーマンスを測定することができる。そのようなネットワークパフォーマンスデータは、CDNサービスプロバイダによって包括的に管理および維持でき、CDNのDNSサーバと、または、個別にCDNサービスプロバイダのDNSサーバによって共有できる。さらに、ネットワークパフォーマンス基準は、POPからのバッチプロセスとして提供できるか、または1つのPOPから別のPOPへの要求に応答して送られる。
さらに、一実施形態では、エンドクライアントの経験と関係するパフォーマンスデータを収集することができるが、このデータ収集は、どのようにクライアント要求がルーティングされるかと無関係とすることができる。たとえば、クライアント要求のためのルーティング選択は、クライアントのDNS解決手段に関連付けられたIPアドレスに基づくことができるが、その要求の解決に関連するパフォーマンスデータは、エンドクライアントデバイスの経験に基づくことができる。
次いで、収集されたパフォーマンスデータに基づいて、CDNサービスプロバイダは、クライアントロケーション情報に関連するルーティング情報の更新が必要かどうかを決定することができる。ルーティング情報の更新は、既存のルーティング情報を修正および/または削除すること、新しいルーティング情報を追加することなどによって複数の方法で実現できる。一実施形態では、更新の決定は、CDNサービスプロバイダによって包括的に、あるいは個々のDNSサービス構成部分またはDNSサーバにより行うことができる。個々のDNSサーバがルーティング情報を更新すべきかどうかを決定する例示的な実施形態では、各DNSサーバは、特定のDNSサーバに固有のルーティング情報を管理および維持することができる。この例示的な実施形態では、パフォーマンスデータを、CDNサービスプロバイダによって包括的に維持し、DNS構成部分および/またはDNSサーバと共有することができ、各DNS構成部分および/またはDNSサーバは、どのようにパフォーマンスデータが使用されるかを管理する。したがって、ルーティング情報は、DNS構成部分/サーバごとに異なり得る。
次に図6を参照すると、例示的な例において、DNSサーバ構成部分124がPOP122のリソースキャッシュ構成部分126を選択したと仮定する。リソースキャッシュ構成部分126のIPアドレスを受信すると、クライアントコンピューティングデバイス102は、要求されるコンテンツへの要求をリソースキャッシュ構成部分126に送信する。リソースキャッシュ構成部分126は、上述の方法で要求を処理し、要求されたコンテンツは、クライアントコンピューティングデバイス102に送信される。
次に図7を参照すると、リソース要求ならびにリソース要求の解決に関連するパフォーマンスデータを処理するためにCDNサービスプロバイダ106により実装される要求ルーチン700の一実施形態を説明する。当業者には、ルーチン700について概説される動作/ステップが、CDNサービスプロバイダ106に関連付けられた1つまたは複数のコンピューティングデバイス/構成部分によって実装できることが諒解されよう。したがって、ルーチン700は、一般に、CDNサービスプロバイダ106により実行されるように論理的に関連付けられ、したがって、以下の例示的な実施形態は限定的なものと解釈されるべきではない。
ブロック702において、DNSサーバ構成部分118、124、130のうちの1つが、リソース識別子に対応するDNSクエリを受信する。前述のように、リソース識別子は、クライアントコンピューティングデバイス102により要求され、コンテンツプロバイダ104によって以前に提供されたコンテンツ中に埋め込まれたURLとすることができる。代替的には、リソース識別子はまた、クライアントコンピューティングデバイス102から以前に受信されたDNSクエリに応答して、コンテンツプロバイダのDNSサーバにより提供されたCNAMEに対応できる。また、ブロック702において、受信側DNSサーバは、要求側クライアントコンピューティングデバイス102(「クエリIPアドレス」)からDNSクエリに関連付けられたIPアドレスを取得する。クエリIPアドレスは、クライアントコンピューティングデバイスまたはクライアントコンピューティングデバイスに関連付けられた任意のローカルDNS解決構成部分のIPアドレスに対応することができる。
次に、ブロック704において、受信側DNSサーバは、クエリIPアドレスに関連付けられたロケーションベース識別子を取得する。各DNSサーバは、ロケーションベース識別子のセットを既知のIPアドレスの少なくとも一部分にマッピングする(たとえば、特定のロケーションベース識別子を特定のIPアドレスまたは特定の部分IPアドレスとマッピングする)データストア134を維持する(または場合によっては、データストア134アクセスする)。データストア134を利用して、受信側DNSサーバは、(ローカルDNSレゾルバ構成部分を介して送信されるような)クライアントコンピューティングデバイス102のDNSクエリに関連付けられたIPアドレスをデータストア134中のIPアドレスと照合することを試みる。クエリIPアドレスがデータストア134中のIPアドレスと部分的に照合できる場合、DNSサーバは対応するロケーションベース識別子を特定する。このようにして、受信側DNSサーバが以前に評価しなかったクエリIPアドレスを、既存のデータに基づいて、およびさらに後で説明するようにルーティングすることができ、その後、クエリに関係するパフォーマンスデータに基づいて、ルーティング情報に対して更新を行うことができる。たとえば、受信側DNSサーバは、CDNサービスプロバイダ106が、クエリIPアドレスを別様に扱われなければならないと決定するまで、IPアドレス(たとえば、128.1.x.x)の特定のグループに入るクエリIPアドレス(たとえば、128.1.3.12)が同様に扱われることを決定することができる。
上で同様に示されるように、ロケーションベース識別子は、DNSクエリの起点に関連付けられた物理ロケーションまたは論理ロケーションに基づいて直接決定されたロケーションに対応することができる。さらに、ロケーションベース識別子は、相対ロケーションを既知のロケーションに関連付けることに基づいて推測できる。たとえば、ロケーションベース識別子は、クライアントコンピューティングデバイスまたはそのローカルDNS解決手段とこれらのPOPとの間の要求ルーティングに関連する待ち時間の測定情報に基づいて、(CDNサービスプロバイダに対応する)POPの既知のロケーションに帰属させることができる。テスト手順または以前に観察された要求ルーティング挙動などによって、待ち時間測定情報を事前に測定することができる。代替的には、待ち時間測定情報は、リアルタイムベースまたは半リアルタイムベースで動的に測定することができる。
例示的な実施形態では、DNSサーバはまた、ブロック704において、データストア134からロケーションベース識別子に関連付けられた確信度を任意選択で取得する。確信度は、クエリIPアドレスへの関連付けられたロケーションベース識別子の精度における信頼度に対応する。任意選択の確信度については、図8を参照してさらに説明する。
次に、ブロック706において、受信側DNSサーバは、リソース要求を解決するために、取得されたロケーションベース識別子に関連付けられた1つまたは複数のPOPのセットから1つのPOPを決定する。一般に、1つまたは複数のPOPのセットは、要求側クライアントコンピューティングデバイス102の識別されたロケーションに関連付けられた地域からのリソース要求に対応してサービスを提供することが可能である。さらに後で説明するように、図8は、ブロック706に関連する機能を実行するための要求ルーティングサブルーチンの一実施形態を示す。
決定ブロック708において、現在のDNSサーバがDNSクエリを解決する権限を有するかどうかを決定するために、テストが行われる。1つの例示的な実施形態では、DNSサーバは、リソース要求を解決するために決定されたPOPが受信側DNSサーバに関連付けられた同じPOPに対応する場合、DNSクエリを解決する権限を有するかどうかを決定できる。決定されたPOPが受信側DNSサーバに関連付けられた同じPOPに実際に対応する場合、受信側DNSサーバは権限を有すると見なされ、受信側DNSサーバは、ブロック710において後続のクライアントリソース要求(たとえば、埋込みリソースに関する要求)を処理するために、同じPOPからのリソースキャッシュ構成部分に関連付けられたキャッシュサーバを特定する。受信側DNSサーバは、たとえば、同じPOPからのリソースキャッシュ構成部分に関連付けられたデフォルトのキャッシュサーバもしくは特定のキャッシュサーバ、または(適切であれば)負荷バランシング構成部分のIPアドレスを戻すことによって、DNSクエリを解決する。POPにおいて、妥当性のあるリソースキャッシュ構成部分を選択するための複数の方法を実装することができる。
代替的には、決定ブロック708で、決定されたPOPがCDNサービスプロバイダ106の別のPOPに対応し、したがって受信側DNSサーバが権限を有しない場合、受信側DNSサーバはブロック712において、代替リソース識別子を選択し、送信する。具体的には、一実施形態では、受信側DNSサーバは、選択されたPOPに対応する妥当性のあるCNAMEを特定し、CNAMEをクライアントコンピューティングデバイス102に送信する。次いで、ブロック714において、異なるDNSサーバ構成部分118、124、130は、CNAMEに対応するクライアントコンピューティングデバイス102からDNSクエリを受信する。次いで、ルーチン700は、決定ブロック708に戻り、適宜、反復し続ける。
DNSサーバが権限を有するどうかを判断するために、代替的な方法またはさらなる方法を実行してもよい。一実施形態では、受信側DNSサーバは、CDNサービスプロバイダ106の地域に基づいて要求ルーティング処理の様々な代替形態を定義する1つまたは複数のCNAMEを維持することができる。実施形態では、取得されたロケーションベース識別子に関連付けられたPOPをブロック706において決定する代わりに、受信側DNSサーバは、図8を参照して同様に後述するように、ブロック806において、クライアントコンピューティングデバイスの得られたロケーションに関連付けられた宛先識別子を決定することができる。この代替実施形態におけるDNSサーバは次いで、決定された宛先識別子のみに基づいて、または、他の要求ルーティング基準と組み合わせて、代替POPの妥当性のあるCNAMEを選択できる。
次に、ブロック716において、CDNサービスプロバイダ106は、コンテンツ要求の解決に関連するパフォーマンスデータを収集し、パフォーマンスデータを利用して、クライアントロケーション情報に関するルーティング情報に対して任意の更新を行わなければならないかどうかを決定する。上述のように、CDNサービスプロバイダ106は、上記のプロセス中の任意の時間に、またはコンテンツ要求の解決後に、パフォーマンスデータを収集することができる。次いで、CDNサービスプロバイダ106は、ルーティングデータストア134に対して任意の更新を行わなければならないかどうかを決定するために、ブロック716において収集されたパフォーマンスデータを処理することができる。さらに以下で説明されるように、クライアントロケーション情報に関連するルーティング更新は、たとえば、クエリIPアドレスのロケーションベース識別子へのマッピング、ロケーションベース識別子の宛先識別子へのマッピング、POP配信割振り、フェールオーバーリストエントリ、配信割振りなどに対する更新を含む。
1つの例示的な実施形態では、CDNサービスプロバイダ106は、ルーティングデータストア134中のクエリIPアドレスのロケーションベース識別子へのマッピングに対して、任意の修正を行わなければならないかどうかを決定するために、パフォーマンスデータを収集することができる。たとえば、特定のロケーションベース識別子に関連付けられた第1のリソース要求が、不良なルーティングパフォーマンスを生じ、同じロケーションからのさらに他のリソース要求が、良好なルーティングパフォーマンスを生じる場合、CDNサービスプロバイダは、第1のリソース要求に関連付けられたロケーションベース識別子が不正確であると決定することができる。この例では、CDNサービスプロバイダ106は、クエリIPアドレスにマッピングするための代替ロケーションを決定するために、要求側クライアントコンピューティングデバイスに関連付けられたクライアントプロファイルデータを利用することができる。たとえば、CDNサービスプロバイダ106は、クライアントのための代替的な請求アドレスまたは配達アドレスを決定するために、ルーティングデータストア134中のクライアントのユーザプロファイルデータを参照することができる。CDNサービスプロバイダ106は、クエリIPアドレスに関連付けられた新しいロケーションベース識別子を指定するために、この新たに決定されたロケーションを使用することができる。具体的には、一実施形態では、CDNサービスプロバイダ106は、ルーティングデータストア134に、クエリIPアドレスを新しいロケーションベース識別子にマッピングする、新しいエントリを追加することができる。代替的には、別の実施形態では、CDNサービスプロバイダ106は、新しいロケーションベース識別子を既存のロケーションベース識別子と置き換えることによって、クエリIPアドレスに関連付けられた、既存のロケーションベース識別子の少なくとも部分的なIPアドレスへのマッピングエントリを修正できる。特定の例示的な実施形態では、CDNサービスプロバイダ106は、パフォーマンスデータを使用して、2つ以上の、ロケーションベース識別子の少なくとも部分的なIPアドレスへのマッピングエントリを新しい単一のマッピングエントリへと圧縮することを決定することができる。それに加えて、またはそれに替えて、CDNサービスプロバイダ106は、現在のマッピングエントリを2つ以上のマッピングエントリへと分離するために、パフォーマンスデータを使用できる。
別の実施形態では、特定のロケーションベース識別子に関連するすべてのリソース要求が不良ルーティングパフォーマンスを生じる場合、CDNサービスプロバイダ106はクエリIPアドレスのロケーションベース識別子へのマッピングが正確であるが、(図8を参照してブロック806において、さらに説明するような)関連付けられた宛先識別子、または関連付けられたPOP(もしくは対応するCNAME)は修正を必要とすることを決定し得る。この例では、CDNサービスプロバイダは、ロケーションベース識別子の宛先識別子へのマッピング、あるいはロケーション識別子および/または宛先識別子に関連付けられた利用可能なPOP選択を修正し得る。
さらに別の例示的な実施形態では、(ブロック706、またはさらに以下で説明するブロック808などにおいて、)セット中の各POP(または対応するCNAME)を選択する可能性は、複数の方法で最初に定義でき、受信側DNSサーバは、定義された可能性に基づいてPOP/CNAMEを選択する。たとえば、POPのセットは、図8を参照してさらに後で説明するように、特定の宛先識別子に対応するものとして特定できる。セットからの特定のPOPの選択は、配信割振りに基づくことができる。たとえば、CDNサービスプロバイダ106は、米国の西海岸地方に、シアトルPOP、サンフランシスコPOP、およびロサンゼルスPOPなどの3つのPOPを提供し得る。この例では、配信割振りは、シアトルPOPが時間の60%使用され、サンフランシスコPOPとロサンゼルスPOPとが各々、時間の20%使用されるものとし得る。したがって、この例示的な実施形態において、DNSサーバは、選択の可能性が最も高いPOP/CNAMEを最も頻繁に選択するが、対応する可能性に基づいて、時折、選択の可能性がより低いCNAMEを選択することがある。この場合、可能性は、対応するコンピューティングデバイスの予期されたパフォーマンスに対応する。CDNサービスプロバイダ106は、要求されたリソースをこれらのPOPに配信するパフォーマンスを監視することができ、その後、可能性を更新することができる。さらなる実施形態では、可能性は、負荷制限または他のネットワークトラフィック緩和に対応することができる。さらに、他の実施形態では、特定の地域に設置されたPOPのうちいくつかは、初期配信割振りから除外することができ、代わりに、フェールオーバーリスト中で特定し、最初に選択されたPOPのうちの1つが利用不可能な場合、使用することができる。フェールオーバーリストはまた、リスト中のPOPのセットに割り当てられた配信割振りを有することができ、パフォーマンスデータに基づいて更新することもできる。
次に図8を参照して、要求側クライアントコンピューティングデバイスのロケーションに関連付けられたPOPを選択するための要求ルーティングサブルーチン800の一実施形態について説明する。当業者には、ルーチン800について概説される動作/ステップは、CDNサービスプロバイダ106に関連付けられた1つまたは複数のコンピューティングデバイス/構成部分によって実装できることが諒解されよう。したがって、ルーチン800は、CDNサービスプロバイダ106により実行されるものとして論理的に関連付けられていた。
決定ブロック802において、この時点でCDNサービスプロバイダ106の受信側DNSサーバが(図7のブロック704から)ロケーションベース識別子に関連付けられた確信度を取得しているが、確信度が最小しきい値を超えるかどうかを決定する判断が行われる。確信度が最小しきい値を超えない場合、DNSサーバは、ブロック804において、デフォルトのロケーションベース識別子を割り当てる。一実施形態では、デフォルトのロケーションベース識別子は、受信側DNSサーバのロケーションに対応し得る。ブロック802において、取得されたロケーションベース識別子に関連付けられた確信度が最小しきい値を超えた場合、またはブロック804において、デフォルトのロケーションベース識別子が割り当てられた後に、ブロック806において、受信側DNSサーバがDNSクエリのための宛先識別子を決定する。
しかしながら、代替実施形態では、確信度を取得し、分析することに関する上記の機能を省くことができる。一実施形態では、この機能は代替的には、データストア134に提供されるクエリIPアドレスのロケーションベース識別子へのマッピングを、信頼度評価を既に考慮にいれるように、前処理ステップとして実装できる。たとえば、クエリIPアドレスのロケーションベース識別子へのマッピングを生成する前に、確信度が低いいかなるデータマッピングエントリも、データマッピングからフィルタ除去できる。次いで、ブロック806において、宛先識別子を決定するために、フィルタされたクエリIPアドレスのロケーションベース識別子へのマッピングをCDNサービスプロバイダ106によって使用することができる。
図8のブロック806に戻ると、一実施形態では、受信側DNSサーバは、データストア134から手作業で生成されたテーブルに従って、宛先識別子を決定するが、宛先識別子はロケーションベース識別子に応じて決定される。ただし、受信側DNSサーバは、手動で開始された管理プロセスに従って、代替の宛先識別子を提供することもできる。初期宛先識別子の選択と手作業で開始された管理プロセスの一実施形態は以下の通りである。
例示的な実施形態では、受信側DNSサーバは、ベクトルマッピングおよびさらなるCDN管理者操作に基づいて、ロケーションベース識別子を宛先識別子にマッピングする手作業で生成されたテーブルを利用する。宛先識別子は、1つまたは複数のロケーションを含んでいる地域の定義(たとえば、ワシントン州、オレゴン州、およびカリフォルニア州を含んでいる西海岸宛先)に対応する。しかしながら、DNSサーバは、(DNSクエリ中に含まれるコンテンツプロバイダ識別子により取得されるような)コンテンツプロバイダが何であるかに応じて決定された、手作業で設定された例外プロセスに従って、デフォルト宛先識別子をオーバーライドするように構成できる。
一実施形態では、CDNの管理者は、特定のコンテンツプロバイダ識別子に対する宛先識別子の割振りをオーバーライドすることができる。たとえば、DNSサーバはコンテンツプロバイダ識別子を利用して、CDNサービスプロバイダ106とのコンテンツのプロバイダ契約が、マッピングテーブルにおける特定された宛先からコンテンツを提供することを認めていることを確実する。別の例として、(たとえば、異なる宛先にオフロードすることによって、単一の宛先を介して単一のウェブページに関するコンテンツ要求をサービスすることを回避するために)いくつかのPOPのうち特定のコンテンツプロバイダのための着信リソース要求の少なくとも一部分を再分配するために、コンテンツプロバイダ識別子を、代替の宛先識別子に関連付けるように手作業で指定できる。
次に、ブロック808において、選択された宛先識別子に基づいて、受信側DNSサーバは、特定された宛先のために、リソース要求に対応してサービスを提供することができるように、CDNの管理者によって手作業で決定された1つまたは複数のPOPのリストから1つのPOPを選択する。2つ以上のPOPがPOPのリスト中で特定される場合、受信側DNSサーバは、対応する宛先のための特定された配信割振り(たとえば、POP A(75%)、POP B(25%))に従って、特定のPOPを選択できる。定義された配信割振りは、特定のロケーションベース識別子または宛先識別子に基づいて特定的に定義できる。そのような配信割振りは、上記で説明したように処理されたパフォーマンスデータに基づいて修正できる。
次いで、受信側DNSサーバは、決定ブロック810において、選択されたPOPが利用可能であるかどうかを判定する。一実施形態では、DNSサーバは、着信リソース要求を処理するために選択されたPOPの可用度を示すPOP健康情報を使用して、選択されたPOPの可用度を評価する。選択されたPOPが(POP健康情報を介して示されるように)利用可能である場合、受信側DNSサーバはブロック808からのPOP選択を維持する。それに応じて、プロセスは図7の決定ブロック708に戻り、受信側DNSサーバが権限を有しない場合、受信側DNSサーバは選択されたPOP(または識別されたPOPのセットのうちの1つ)によってDNSクエリの受信を生じるCNAMEを戻す。しかしながら、選択されたPOPが受信側DNSサーバの現在のPOPに対応する(すなわち、受信側DNSサーバが権限を有する)場合、(さらなる要求ルーティング処理が実装されない限り)CNAMEを必ずしも提供する必要がないので、受信側DNSサーバはPOPにおけるデフォルトのリソースキャッシュ構成部分のIPアドレスを戻すことによって、DNSクエリを解決する。
選択されたPOPが(POP健康情報を介して示されるように)利用可能でない場合、受信側DNSサーバは、DNSクエリを処理するために、ブロック814において代替のPOPを選択できる。一実施形態では、代替POPは、CDNの管理者によって手作業で設定された代替POPのフェールオーバーリストを介して選択できる。具体的には、受信側DNSサーバは、特定された配信に従って、フェールオーバーリストから特定の代替POPを選択することができる。同様に上述したように、処理は次いで、図7の決定ブロック708に戻り、受信側DNSサーバが代替POPに対して権限を有しない場合、受信側DNSサーバは、選択された代替POP(またはPOPのセットのうちの1つ)によってDNSクエリの受信を生じるCNAMEを戻す。しかしながら、選択された代替POPが受信側DNSサーバの現在のPOPに対応する(すなわち、受信側DNSサーバが権限を有する)場合、(さらなる要求ルーティング処理が実装されない限り)CNAMEを必ずしも提供する必要がないので、受信側DNSサーバは代替POPにおけるデフォルトのリソースキャッシュ構成部分のIPアドレスを戻すことによって、DNSクエリを解決する。
当業者には、本開示で説明する機能のすべてが、開示された構成部分および移動通信デバイスの1つまたは複数のプロセッサにより実行されるソフトウェアで実施できることが諒解されよう。ソフトウェアは、任意のタイプの不揮発性ストレージ中に永続的に記憶できる。
仮定的な言語、とりわけ、「can」、「could」、「might」、または「may」などは、別段に明記されていない限り、または使用される文脈から明らかでない限り、一般には、ある特定の実施形態がある特定の特徴、要素および/またはステップを含むが、他の実施形態はそれらを含まないことを表すことを意図するものである。したがって、そのような仮定的な言語は一般に、フィーチャ、要素および/またはステップがいかなる方法でも1つまたは複数の実施形態のために必要とされること、あるいは、1つまたは複数の実施形態が、ユーザ入力またはユーザプロンプトを用いて、またはそれらを用いずに、これらの特徴、要素および/またはステップが任意の特定の実施形態に含まれるか、または任意の特定の実施形態において実行されるべきかどうかを決定するための論理を必ず含むことを意図するものではない。
本明細書で説明した、および/または添付の各図に示した流れ図中の任意のプロセス説明、要素、またはブロックは、プロセス中の特定の論理関数またはステップを実現するための1つまたは複数の実行可能な命令を含むモジュール、セグメント、またはコードの一部分を潜在的に表すものであることを理解されたい。当業者には理解されるように、代替実装形態は、本明細書で説明した実施形態の範囲内に含まれ、関与する機能に応じて要素または関数を削除したり、実質的に同時にまたは逆の順番も含めて図示され説明された順番ではない順番で実行したりすることができる。さらに、上述したデータおよび/または構成部分は、コンピュータ可読媒体に記憶でき、CD−ROM、DVDーROM、またはネットワークインターフェースなどのコンピュータ実行可能構成部分を記憶する読取り可能なコンピュータと関連付けられたドライブ機構を使用して、コンピューティングデバイスのメモリにロードでき、さらに、構成部分および/またはデータを単一のデバイス中に含んでも、任意の方法で分散してもよいことが諒解されよう。したがって、汎用コンピューティングデバイスは、上述した様々なデータおよび/または構成部分の処理および/または実行とともに、本開示のプロセス、アルゴリズムおよび方法を実現するように構成ができる。
第1節 方法において、
第1のDNSサーバにおいてクライアントコンピューティングデバイスからDNSクエリを取得し、そのDNSクエリが、コンテンツプロバイダによって提供された元のリソース識別子に関連付けられた要求されたリソースに対応し、第1のDNSサーバがコンテンツ配信ネットワークサービスに対応することと、
第1のDNSサーバにおいてそのDNSクエリに関連付けられたクエリIPアドレスを取得することと、
クエリIPアドレスに関連付けられたロケーションベース識別子と確信度とを取得することであって、確信度が、クエリIPアドレスの関連付けに対するロケーションベース識別子の精度に関連付けられた確信度に対応することと、
確信度がしきい値を超えるかどうかを判断することと、
確信度がしきい値を超える場合、
DNSクエリに関連付けられた宛先識別子を判断することと含み、その宛先識別子が、ロケーションベース識別子に基づいて判断され、
その宛先識別子に基づいて、コンテンツ配信ネットワークサービスプロバイダに関連付けられたネットワークポイントオブプレゼンスを選択することと、
選択されたネットワークポイントオブプレゼンスに基づいて、第1のDNSサーバがそのDNSクエリに対して権限を有するかどうかを判断することと、
第1のDNSサーバが権限を有しない場合、
選択されたネットワークポイントオブプレゼンスに基づいて代替リソース識別子を取得し、その代替リソース識別子が、DNSクエリに選択されたネットワークポイントオブプレゼンスに対応するドメインを解決させるための情報を含むことと、
その代替リソース識別子をクライアントコンピューティングデバイスに送信することと、
第2のDNSサーバでクライアントコンピューティングデバイスから後続のDNSクエリを取得することであって、その後続のDNSクエリが、コンテンツ配信ネットワークサービスプロバイダによって提供される代替リソース識別子に対応することと、
第2のDNSサーバがその後続のDNSクエリに対して権限を有するかどうかを判定することと、
第2のDNSサーバが第2のDNSクエリに対して権限を有する場合に、第2のDNSサーバが第2のDNSクエリと関連付けられたコンテンツを提供するためのキャッシュ構成要素を選択することと、
第2のDNSサーバが権限を有すると判断された場合に、選択されたキャッシュ構成部品を特定する情報を送信することとを含む、方法。
第2節 確信度がしきい値を越えない場合に、第1のDNSサーバに関連付けられたロケーションベース識別子を割り当てることをさらに含む、第1節に記載の方法。
第3節 宛先識別子が、ロケーションベース識別子に関連付けられたロケーションを含んでいる地域に対応する、第1節に記載の方法。
第4節 元のリソース識別子に基づいて、判断された宛先識別子をオーバーライドすることをさらに含み、元のリソース識別子が、代替宛先識別子に関連する情報を提供する、第1節に記載の方法。
第5節 ネットワークポイントオブプレゼンスを選択することが、判断された宛先識別子に関連付けられたリソース要求に対応してサービスを提供することができるネットワークポイントオブプレゼンスの組から1つのネットワークポイントオブプレゼンスを選択することを含む、第1節に記載の方法。
第6節 ネットワークポイントオブプレゼンスが、配信割り振りに基づいてネットワークポイントオブプレゼンスの組から選択される、第5節に記載の方法。
第7節 選択されたネットワークポイントオブプレゼンスに基づいて、第1のDNSサーバがDNSクエリに対して権限を有するかどうかを判定する前に、選択されたネットワークポイントオブプレゼンスが利用可能であるかどうかを判定することと、
選択されたネットワークポイントオブプレゼンスが利用可能である場合、選択されたネットワークポイントオブプレゼンスを維持することと、
選択されたネットワークポイントオブプレゼンスが利用可能でない場合、代替ネットワークポイントオブプレゼンスを選択することと
をさらに含む、第1節に記載の方法。
第8節 選択されたネットワークポイントオブプレゼンスの可用性が、選択されたネットワークポイントオブプレゼンスの可用性を示す健康情報に基づいて着信リソース要求を処理する、第7節に記載の方法。
第9節 代替ネットワークポイントオブプレゼンスを選択することが、代替ネットワークポイントオブプレゼンスのフェールオーバーリストから代替ネットワークポイントオブプレゼンスを選択することを含む、第7節に記載の方法。
第10節 ネットワークポイントオブプレゼンスが、配信割り振りに基づいてフェールオーバーリストから選択される、第9節に記載の方法。
第11節 第1のDNSサーバが権限を有すると判定される場合、
元のリソース要求に関連付けられたコンテンツを提供するためにキャッシュ構成部分を選択することと、
選択されたキャッシュ構成部分を特定する情報を送信することと、
をさらに含む、第1節に記載の方法。
第12節 コンテンツプロバイダがアイデンティティに基づいて、決定された宛先識別子をオーバーライドすることさらに含む、第1節に記載の方法。
第13節 コンテンツ配信ネットワークサービスプロバイダとのコンテンツプロバイダのサブスクリプションが、宛先識別子に対応する宛先から提供されるコンテンツを提供しない場合に、決定された宛先識別子がオーバーライドされる、第12節に記載の方法。
第14節 コンテンツ配信ネットワークサービスプロバイダとのコンテンツプロバイダのサブスクリプションが、代替宛先識別子の使用を提供する場合に、決定された宛先識別子がオーバーライドされる、第12節に記載の方法。
第15節 クエリIPアドレスが、クライアントコンピューティングデバイスに関連付けられている、第15節に記載の方法。
第16節 クエリIPアドレスが、クライアントコンピューティングデバイスに関連付けられたDNS解決構成部分に関連付けられている、第15節に記載の方法。
第17節 ロケーションベース識別子が、クライアントコンピューティングデバイスに関連付けられた物理ロケーションに対応する、第1節に記載の方法。
第18節 ロケーションベース識別子が、クライアントコンピューティングデバイスに関連付けられた論理ロケーションに対応する、第1節に記載の方法。
第19節 ロケーションベース識別子が相対ロケーションに対応する、第1節に記載の方法。
第20節 相対ロケーションが、既知のロケーションに対する相対ロケーションの関連付けることに基づいて推測される、第19節に記載の方法。
第21節 相対ロケーションが待ち時間情報に基づいて推測される、第20節に記載の方法。
第22節 方法において、
第1のDNSサーバにおいてクライアントコンピューティングデバイスからDNSクエリを取得し、DNSクエリが、コンテンツプロバイダによって提供された元のリソース識別子に関連付けられた要求されたリソースに対応し、第1のDNSサーバがコンテンツ配信ネットワークサービスに対応することと、
第1のDNSサーバにおいてDNSクエリに関連付けられたクエリIPアドレスを取得することと、
クエリIPアドレスに関連付けられたロケーションベース識別子と確信度とを取得することと、
ロケーションベース識別子に基づいて、コンテンツ配信ネットワークサービスプロバイダに関連付けられたネットワークポイントオブプレゼンスを選択することと、
選択されたネットワークポイントオブプレゼンスに基づいて、第1のDNSサーバがDNSクエリに対して権限を有するかどうかを判断することと、第1のDNSサーバが権限を有しない場合、
選択されたネットワークポイントオブプレゼンスに基づいて代替リソース識別子を取得し、代替リソース識別子が、DNSクエリに選択されたネットワークポイントオブプレゼンスに対応するドメインを解決させるための情報を含むことと、
代替リソース識別子をクライアントコンピューティングデバイスに送信することとを含む、方法。
第23節 DNSクエリに関連付けられた宛先識別子を決定することをさらに含み、ネットワークポイントオブプレゼンスを選択することがさらに、宛先識別子に基づく、第22節に記載の方法。
第24節 宛先識別子が、ロケーションベース識別子の機能として判断される、第23節に記載の方法。
第25節 宛先識別子が、ロケーションベース識別子に関連付けられたロケーションを含んでいる地域に対応する、第24節に記載の方法。
第26節 コンテンツプロバイダがアイデンティティに基づいて、判断された宛先識別子をオーバーライドすることさらに含む、第23節に記載の方法。
第27節 コンテンツプロバイダの前記アイデンティティが、元のリソース識別子に基づいて獲得される、第26節に記載の方法。
第28節 コンテンツ配信ネットワークサービスプロバイダを伴うコンテンツプロバイダの分配が、宛先から対応する宛先識別子へ提供されるコンテンツを提供しない場合、判断された宛先識別子をオーバーライドする、第26節に記載の方法。
第29節 コンテンツ配信ネットワークサービスプロバイダを伴うコンテンツプロバイダの分配が、代替宛先識別子の使用を提供する場合、判断された宛先識別子をオーバーライドする、第26節に記載の方法。
第30節 元のリソース識別子に基づいて、判断された宛先識別子をオーバーライドすることをさらに含み、元のリソース識別子が、代替宛先識別子に関連する情報を提供する、第23節に記載の方法。
第31節 宛先識別子が、コンテンツプロバイダがアイデンティティに基づいて判断される、第23節に記載の方法。
第32節 宛先識別子が、獲得されたロケーションベース識別子に基づいてさらに判断される、第31節に記載の方法。
第33節 ネットワークポイントオブプレゼンスを選択することが、判断された宛先識別子に関連付けられたリソース要求に対応してサービスを提供することができるネットワークポイントオブプレゼンスの組から1つのネットワークポイントオブプレゼンスを選択することを含む、第23節に記載の方法。
第34節 ネットワークポイントオブプレゼンスが、配信割振りに基づいてネットワークポイントオブプレゼンスの組から選択される、第33節に記載の方法。
第35節 選択されたネットワークポイントオブプレゼンスに基づいて、第1のDNSサーバがDNSクエリに対して権限を有するかどうかを判定する前に、選択されたネットワークポイントオブプレゼンスが利用可能であるかどうかを判定することと、
選択されたネットワークポイントオブプレゼンスが利用可能である場合、選択されたネットワークポイントオブプレゼンスを維持することと、
選択されたネットワークポイントオブプレゼンスが利用可能でない場合、代替ネットワークポイントオブプレゼンスを選択することさらに含む、第22節に記載の方法。
第36節 選択されたネットワークポイントオブプレゼンスの利用可能性が、着信リソース要求を処理するために、選択されたネットワークポイントオブプレゼンスの利用可能性の健康情報の表示に基づく、第35節に記載の方法。
第37節 代替ネットワークポイントオブプレゼンスを選択することが、代替ネットワークポイントオブプレゼンスのフェールオーバーリストから代替ネットワークポイントオブプレゼンスを選択することを含む、第35節に記載の方法。
第38節 代替ネットワークポイントオブプレゼンスが、配信割振りに基づいてフェールオーバーリストから選択される、第37節に記載の方法。
第39節 第1のDNSサーバが権限を有すると判定される場合、
元のリソース要求に関連付けられたコンテンツを提供するためにキャッシュ構成部分を選択することと、
選択されたキャッシュ構成部分を特定する情報を送信することとをさらに含む、第22節に記載の方法。
第40節 クエリIPアドレスへのロケーションベース識別子の精度に関連付けられた信頼度に対応する確信度を取得することをさらに含む、第22節に記載の方法。
第41節 確信度が閾値を超える場合、ネットワークポイントオブプレゼンスが、ロケーションベース識別子に基づいて選択される、第40節に記載の方法。
第42節 ロケーションベース識別子が、クエリIPアドレスを含むデータストアからロケーションベース識別子マッピングエントリへ獲得される、第22節に記載の方法。
第43節 クエリIPアドレスへのロケーションベース識別子の精度に関連付けられた信頼度に対応する、確信度の最小しきい値を超えた場合のみ、データストアが、クエリIPアドレスのロケーションベース識別子へのマッピングを含む、第42節に記載の方法。
第44節 クエリIPアドレスが、クライアントコンピューティングデバイスに関連付けられている、第22節に記載の方法。
第45節 クエリIPアドレスが、クライアントコンピューティングデバイスに関連付けられたDNSレゾルバ構成部分に関連付けられている、第44節に記載の方法。
第46節 ロケーションベース識別子が、クライアントコンピューティングデバイスに関連付けられた物理ロケーションに対応する、第22節に記載の方法。
第47節 ロケーションベース識別子は、クライアントコンピューティングデバイスに関連した論理ロケーションに対応する、第22節に記載の方法。
第48節 ロケーションベース識別子は、相対ロケーションに対応する、第22節に記載の方法。
第49節 相対ロケーションは、既知のロケーションに対する相対ロケーションの関連付けに基づいて推測される、第48節に記載の方法。
第50節 相対ロケーションは、待ち時間情報に基づいて推測される、第49節に記載の方法。
第51節 要求ルーティングのためのシステムであって、
コンテンツ配信ネットワークサービスプロバイダに関連づけた第1のネットワークポイントオブプレゼンスであって、第1のネットワークポイントオブプレゼンスは、クライアントコンピューティングデバイスからDNSクエリを受信するDNSサーバコンポーネントを含み、DNSクエリは、第1のリソース識別子に関連づけた、要求されたリソースに対応し、第1のネットワークポイントオブプレゼンス内のDNSサーバは、
第1のDNSサーバにてDNSクエリに関連づけたクエリIPアドレスを取得し、
クエリIPアドレスに関連づけたロケーションベース識別子を取得し、
ロケーションベース識別子に基づいてコンテンツ配信ネットワークサービスプロバイダに関連づけたネットワークポイントオブプレゼンスを選択し、
第1のDNSサーバが、選択されたネットワークポイントオブプレゼンスに基づいてDNSクエリに対して権限を有するか否かを判定し、
第1のDNSサーバが権限を有しないのであれば、
選択されたネットワークポイントオブプレゼンスに基づいて代替リソース識別子を取得し、代替リソース識別子は、選択されたネットワークポイントオブプレゼンスに対応するドメインにDNSクエリを解決させるための情報を含み、
クライアントコンピューティングデバイスに代替リソース識別子を伝送することに使用可能である第1のネットワークポイントオブプレゼンス
を含むシステム。
第52節 第1のネットワークポイントオブプレゼンス内のDNSサーバは、DNSクエリに関連づけた宛先識別子を決定することにさらに使用可能であり、ネットワークポイントオブプレゼンスを選択することは、さらに宛先識別子に基づく、第51節に記載のシステム。
第53節 宛先識別子は、ロケーションベース識別子の機能として決定される、第52節に記載のシステム。
第54節 第1のネットワークポイントオブプレゼンス内のDNSサーバは、コンテンツプロバイダのアイデンティティに基づいて、決定された宛先識別子を無効にすることにさらに使用可能である、第52節に記載のシステム。
第55節 コンテンツプロバイダのアイデンティティは、オリジナルのリソース識別子に基づいて取得される、第54節に記載のシステム。
第56節 ネットワークポイントオブプレゼンスを選択することは、決定された宛先識別子に関連づけたリソース要求を提供することができるネットワークポイントオブプレゼンスの集合からネットワークポイントオブプレゼンスを選択することを含む、第51節に記載のシステム。
第57節 配信割振りに基づいてネットワークポイントオブプレゼンスの集合からネットワークポイントオブプレゼンスが選択される、第56節に記載のシステム。
第58節 第1のネットワークポイントオブプレゼンス内のDNSサーバは、
第1のDNSサーバが選択されたネットワークポイントオブプレゼンスに基づいてDNSクエリに対して権限を有するか否かを判定することに先立って、選択されたネットワークポイントオブプレゼンスが使用可能であるか否かを判定し、
選択されたネットワークポイントオブプレゼンスが使用可能であれば、選択されたネットワークポイントオブプレゼンスを維持し、
選択されたネットワークポイントオブプレゼンスが使用可能でない場合は、代替ネットワークポイントオブプレゼンスを選択すること
にさらに使用可能である、第51節に記載のシステム。
第59節 選択されたネットワークポイントオブプレゼンスの使用可能性は、着信リソース要求を処理するために選択されたネットワークポイントオブプレゼンスの使用可能性を示す健康情報に基づく、第58節に記載のシステム。
第60節 代替ネットワークポイントオブプレゼンスを選択することは、代替ネットワークポイントオブプレゼンスのフェールオーバーリストから代替ネットワークポイントオブプレゼンスを選択することを含む、第58節に記載のシステム。
第61節 代替ネットワークポイントオブプレゼンスは、配信割振りに基づいてフェールオーバーリストから選択される、第60節に記載のシステム。
第62節 コンテンツ配信ネットワークサービスプロバイダに関連づけた第2のネットワークポイントオブプレゼンスであって、第2のネットワークポイントオブプレゼンスは、クライアントコンピューティングデバイスから後続のDNSクエリを受信するDNSサーバコンポーネントを含み、後続のDNSクエリは、代替リソース識別子に関連づけた、要求されたリソースに対応し、第2のネットワークポイントオブプレゼンス内のDNSサーバは、
オリジナルのリソース要求に関連づけたコンテンツを提供するためのキャッシュコンポーネントを識別するために後続のDNSクエリを解決し、
クライアントコンピューティングデバイスに対して識別されたキャッシュコンポーネントを識別する情報を送信することに使用可能である第2のネットワークポイントオブプレゼンス
をさらに含む、第51節に記載のシステム。
第63節 第1のDNSサーバにてクライアントコンピューティングデバイスからDNSクエリを取得するステップであって、DNSクエリは、コンテンツプロバイダによって提供されるオリジナルのリソース識別子に関連づけた、要求されたリソースに対応し、第1のDNSサーバは、コンテンツ配信ネットワークサービスに対応するステップと、
第1のDNSサーバにてDNSクエリに関連づけたクエリIPアドレスを取得するステップと、
クエリIPアドレスに関連づけたロケーションベース識別子を取得するステップと、
取得されたロケーションベース識別子に基づいて宛先識別子を取得するステップと、
第1のDNSサーバが宛先識別子に基づいてDNSクエリに対して権限を有するか否かを判定するステップと、
第1のDNSサーバが権限を有しないのであれば、
選択されたネットワークポイントオブプレゼンスに基づいて代替リソース識別子を取得するステップであって、代替リソース識別子は、選択されたネットワークポイントオブプレゼンスに対応するドメインにDNSクエリを解決させるための情報を含むステップと、
クライアントコンピューティングデバイスに対して代替リソース識別子を送信するステップと
を含む方法。
第64節 要求ルーティングのための方法であって、
第1のDNSサーバでクライアントコンピューティングデバイスからDNSクエリを取得するステップであって、DNSクエリは、リソース識別子に関連づけた、要求されたリソースに対応し、第1のDNSサーバは、コンテンツ配信ネットワークサービスプロバイダに対応するステップと、
第1のリソース識別子がクライアントコンピューティングデバイスに関連づけたロケーション情報に基づいて代替リソース識別子を関連づけられていることを判定するステップであって、ロケーション情報は、既知のロケーションに対する少なくとも部分的なIPアドレスのマッピングに対応する情報から取得されるステップと、
クライアントコンピューティングデバイスに代替リソース識別子を送信するステップであって、代替リソース識別子は、第1のリソース識別子に含まれないコンテンツ配信サービスプロバイダと追加の要求ルーティング情報とに対応するドメインにDNSクエリを解決させるための情報を含むステップと、
第2のDNSサーバにてクライアントコンピューティングデバイスからの後続のDNSクエリを取得するステップであって、後続のDNSクエリは、コンテンツ配信ネットワークサービスプロバイダによって提供される代替リソース識別子に対応し、第2のDNSサーバは、コンテンツ配信ネットワークサービスプロバイダに対応するステップと、
第2のDNSサーバにて、オリジナルのリソース要求に関連づけたコンテンツを提供するためのキャッシュコンポーネントを識別するために後続のDNSクエリを解決するステップと、
クライアントコンピューティングデバイスに対して識別されたキャッシュコンポーネントを識別する情報を送信するステップと
を含む方法。
第65節 コンピュータで実行される方法であって、
第1のDNSサーバにてクライアントコンピューティングデバイスからの第1のDNSクエリを取得するステップであって、第1のDNSクエリは、第1の要求されたリソースに対応し、第1のDNSサーバは、コンテンツ配信ネットワークサービスに対応するステップと、
第1のDNSサーバにて第1のDNSクエリに関連づけたクエリIPアドレスを取得するステップと、
ルーティングデータストアからのクエリIPアドレスに対応する少なくとも部分的なIPアドレスに関連づけたロケーションベース識別子を取得するステップであって、ルーティングデータストアは、ロケーションベース識別子マッピングに対する少なくとも部分的なIPアドレスを含むステップと、
ロケーションベース識別子に基づいて第1のDNSクエリを解決するステップと、
第1の要求されたリソースを送信することに関連づけたパフォーマンスデータを収集するステップと、
クエリIPアドレスに関連づけた更新されたロケーションベース識別子を備えたパフォーマンスデータに基づいてルーティングデータストアを変更するステップと、
第2のDNSサーバにてクライアントコンピューティングデバイスから第2のDNSクエリを取得するステップであって、第2のDNSクエリは、第2の要求されたリソースに対応するステップと、
クライアントコンピューティングデバイスのクエリIPアドレスに関連づけた更新されたロケーションベース識別子に基づいて第2のDNSクエリを解決するステップと
を含む方法。
第66節 更新されたロケーションベース識別子は、クライアントコンピューティングデバイスに関連づけたユーザプロフィール情報に基づいて判定される、第65節に記載の方法。
第67節 更新されたロケーションベース識別子は、クライアントコンピューティングデバイスに関連づけた代替請求アドレスに対応する、第66節に記載の方法。
第68節 更新されるロケーションベース識別子は、クライアントコンピューティングデバイスに関連づけた配達アドレスに対応する、第66節に記載の方法。
第69節 ルーティングデータストアを変更するステップは、更新されたロケーションベース識別子に対してクエリIPアドレスをマップするルーティングデータストアに新たなエントリを追加するステップを含む、第65節に記載の方法。
第70節 ルーティングデータストアを修正することが、更新されたロケーションベース識別子を用いて、既存のロケーションベース識別子の少なくとも部分的なIPアドレスへのマッピングエントリに修正することを含む、第65節に記載の方法。
第71節 クエリIPアドレスが、クライアントコンピューティングデバイスに関連付けられている、第65節に記載の方法。
第72節 クエリIPアドレスが、クライアントコンピューティングデバイスに関連付けられたDNS解決構成部分に関連付けられている、第71節に記載の方法。
第73節 ロケーションベース識別子が、クライアントコンピューティングデバイスに関連付けられた物理ロケーションに対応する、第65節に記載の方法。
第74節 ロケーションベース識別子が、クライアントコンピューティングデバイスに関連付けられた論理ロケーションに対応する、第65節に記載の方法。
第75節 ロケーションベース識別子が、相対ロケーションに対応する、第65節に記載の方法。
第76節 相対ロケーションが、既知のロケーションへの相対ロケーションの関連付けに基づいて推測される、第75節に記載の方法。
第77節 相対ロケーションが、待ち時間情報に基づいて推測される、第76節に記載の方法。
第78節 コンピュータで実行された方法において、
第1のDNSサーバにおいてクライアントコンピューティングデバイスから第1のDNSクエリを取得し、第1のDNSクエリが、第1の要求されたリソースに対応し、第1のDNSサーバがコンテンツ配信ネットワークサービスに対応することと、
第1のDNSサーバにおいて第1のDNSクエリに関連付けられたクエリIPアドレスを取得することと、
クエリIPアドレスに対応する少なくとも部分的なIPアドレスに関連付けられたロケーションベース識別子を、ルーティングデータストアから取得することと、
ロケーションベース識別子に基づいて、第1のDNSクエリを解決することと、
第1の要求されたリソースの送信に関連するパフォーマンスデータを収集することと、
パフォーマンスデータに基づいて、クライアントコンピューティングデバイスのクエリIPアドレスに関連付けられたルーティングデータストア中のルーティング情報を更新することと、
第2のDNSサーバにおいてクライアントコンピューティングデバイスから第2のDNSクエリを取得し、第2のDNSクエリが、第2の要求されたリソースに対応することと、
クライアントコンピューティングデバイスのクエリIPアドレスに関連付けられた更新されたルーティング情報に基づいて、第2のDNSクエリを解決することとを含む、方法。
第79節 ルーティングデータストアが、少なくとも部分的なIPアドレスのロケーションベース識別子へのマッピングを含む、第78節に記載の方法。
第80節 ルーティング情報を更新することが、クエリIPアドレスに関連付けられた更新されたロケーションベース識別子での、パフォーマンスデータに基づいてルーティングデータストアを修正することを含む、第79節に記載の方法。
第81節 ルーティングデータストアを修正することが、クエリIPアドレスを更新されたロケーションベース識別子にマッピングする新しいエントリをルーティングデータストアに追加することを含む、第80節に記載の方法。
第82節 ルーティングデータストアを修正することが、更新されたロケーションベース識別子を用いて、既存のロケーションベース識別子の少なくとも部分的なIPアドレスへのマッピングエントリを修正することを含む、第80節に記載の方法。
第83節 ルーティング情報を更新することが、パフォーマンスデータに基づいて、2つ以上のロケーションベース識別子の少なくとも部分的なIPアドレスへのマッピングエントリを、単一のロケーションベース識別子の少なくとも部分的なIPアドレスへのデータエントリへと圧縮することを含む、第78節に記載の方法。
第84節 少なくとも部分的なIPアドレスのロケーションベース識別子へのマッピングが各々、対応する確信度を有する、第79節に記載の方法。
第85節 ルーティング情報を更新することが、クライアントコンピューティングデバイスのクエリIPアドレスに関連付けられた少なくとも部分的なIPアドレスのロケーションベース識別子へのマッピングに対応する確信度を更新することによって、パフォーマンスデータに基づいてルーティングデータストアを修正することを含む、第84節に記載の方法。
第86節 ルーティングデータストアが、ロケーションベース識別子の宛先識別子へのマッピングをさら含む、第79節に記載の方法。
第87節 ルーティング情報を修正することが、クエリIPアドレスに関連付けられたロケーションベース識別子に対応する更新された宛先識別子でのパフォーマンスデータに基づいてルーティングデータストアを修正することを含む、第86節に記載の方法。
第88節 ルーティングデータストアが、ロケーションベース識別子および宛先識別子のうちの少なくとも1つに対するネットワークポイントオブプレゼンスマッピングをさらに含む、第86節に記載の方法。
第89節 ルーティング情報を修正することが、更新されたネットワークポイントオブプレゼンスマッピングでのパフォーマンスデータに基づいてルーティングデータストアを修正することを含む、第88節に記載の方法。
第90節 ネットワークポイントオブプレゼンスマッピングが配信割振りを含む、第88節に記載の方法。
第91節 ルーティング情報を修正することが、更新された配信割り振りでのパフォーマンスデータに基づいてルーティングデータストアを修正することを含む、第90節に記載の方法。
第92節 ルーティングデータストが、各ネットワークポイントオブプレゼンスマッピングのためのフェールオーバーリストをさらに含み、ネットワークポイントオブプレゼンスマッピング中で特定されたネットワークポイントオブプレゼンスが利用不可能である場合、フェールオーバーリストが、クエリIPアドレスに関連付けられたDNSクエリを解決するために、1つまたは複数の代替ネットワークポイントオブプレゼンスを特定する、第88節に記載の方法。
第93節 ルーティング情報を修正することが、更新されたフェールオーバーでのパフォーマンスデータに基づいてルーティングデータストアを修正することを含む、第92節に記載の方法。
第94節 クエリIPアドレスが、クライアントコンピューティングデバイスに関連付けられている、第78節に記載の方法。
第95節 クエリIPアドレスが、クライアントコンピューティングデバイスに関連付けられたDNS解決構成部分に関連付けられている、第94節に記載の方法。
第96節 ロケーションベース識別子が、クライアントコンピューティングデバイスに関連付けられた物理ロケーションに対応する、第78節に記載の方法。
第97節 ロケーションベース識別子が、クライアントコンピューティングデバイスに関連付けられた論理ロケーションに対応する、第78節に記載の方法。
第98節ロケーションベース識別子が、相対ロケーションに対応する、第78節に記載の方法。
第99節 相対ロケーションが、既知のロケーションへの相対ロケーションの関連付けに基づいて推測される、第98節に記載の方法。
第100節 相対ロケーションが、待ち時間情報に基づいて推測される、第99節に記載の方法。
第101節 コンピュータシステムであって、
少なくとも部分的なクエリIPアドレスのロケーションベース識別子へのマッピングを含むルーティングデータストアと、
コンテンツ配信ネットワークサービスプロバイダに関連付けられた第1のネットワークポイントオブプレゼンスと備え、第1のネットワークポイントオブプレゼンスが、
第1のDNSサーバにおいてクライアントコンピューティングデバイスから第1のDNSクエリを取得し、第1のDNSクエリが、第1の要求されたリソースに対応し、第1のDNSサーバがコンテンツ配信ネットワークサービスに対応することと、
第1のDNSサーバにおいて第1のDNSクエリに関連付けられたクエリIPアドレスを取得することと、
ルーティングデータストアから、クエリIPアドレスに対応する少なくとも部分的なIPアドレスに関連付けられたロケーションベース識別子を取得することと、
ロケーションベース識別子に基づいて、第1のDNSクエリを解決することと、
第1の要求されたリソースの送信に関連するパフォーマンスデータを収集することと、
パフォーマンスデータに基づいて、クライアントコンピューティングデバイスのクエリIPアドレスに関連付けられたルーティングデータストア中のルーティング情報を更新することと、
第2のDNSサーバにおいてクライアントコンピューティングデバイスから第2のDNSクエリを取得し、第2のDNSクエリが、第2の要求されたリソースに対応することと、
クライアントコンピューティングデバイスのクエリIPアドレスに関連付けられた更新されたルーティング情報に基づいて、第2のDNSクエリを解決することとを行うように動作可能である、コンピュータシステム。
第102節 ルーティング情報を更新することが、クエリIPアドレスに関連付けられた更新されたロケーションベース識別子でのパフォーマンスデータに基づいてルーティングデータストアを修正することを含む、第101節に記載のシステム。
第103節 ルーティングデータストアを修正することが、クエリIPアドレスを更新されたロケーションベース識別子にマッピングする新しいエントリをルーティングデータストアに追加することを含む、第102節に記載のシステム。
第104節 ルーティングデータストアを修正することが、更新されたロケーションベース識別子を用いて、既存のロケーションベース識別子の少なくとも部分的なIPアドレスへのマッピングエントリを修正することを含む、第102節に記載のシステム。
第105節 ルーティング情報を更新することが、パフォーマンスデータに基づいて、2つ以上のロケーションベース識別子の少なくとも部分的なIPアドレスへのマッピングエントリを、単一のロケーションベース識別子の少なくとも部分的なIPアドレスへのデータエントリへと圧縮することを含む、第101節に記載のシステム。
第106節 ルーティングデータストア中の少なくとも部分的なIPアドレスのロケーションベース識別子へのマッピングが各々、対応する確信度を有する、第102節に記載の方法。
第107節 ルーティング情報を更新することが、クライアントコンピューティングデバイスのクエリIPアドレスに関連付けられた少なくとも部分的なIPアドレスのロケーションベース識別子へのマッピングに対応する確信度を更新することによって、パフォーマンスデータに基づいてルーティングデータストアを修正することを含む、第106節に記載のシステム。
第108節 ルーティングデータストアが、ロケーションベース識別子の宛先識別子へのマッピングをさら含む、第102節に記載のシステム。
第109節 ルーティング情報を修正することが、クエリIPアドレスに関連付けられたロケーションベース識別子に対応する更新された宛先識別子でのパフォーマンスデータに基づいてルーティングデータストアを修正することを備える、第108節に記載のシステム。
第110節 ルーティングデータストアが、ロケーションベース識別子および宛先識別子のうちの少なくとも1つへのネットワークポイントオブプレゼンスマッピングをさらに含む、第108節に記載のシステム。
第111節 ルーティング情報を修正することが、更新されたネットワークポイントオブプレゼンスマッピングでのパフォーマンスデータに基づいてルーティングデータストアを修正することを含む、第110節に記載のシステム。
第112節 ネットワークポイントオブプレゼンスマッピングが配信割振りを含む、第110節に記載のシステム。
第113節 ルーティング情報を修正することが、更新された配信割り振りでのパフォーマンスデータに基づいてルーティングデータストアを修正することを含む、第112節に記載のシステム。
第114節 ルーティングデータストが、各ネットワークポイントオブプレゼンスマッピングのためのフェールオーバーリストをさらに含み、ネットワークポイントオブプレゼンスマッピング中で識別されたネットワークポイントオブプレゼンスが利用不可能である場合、フェールオーバーリストが、クエリIPアドレスに関連付けられたDNSクエリを解決するために、1つまたは複数の代替ネットワークポイントオブプレゼンスを識別する、第110節に記載のシステム。
第115節 ルーティング情報を修正することが、更新されたフェールオーバーでのパフォーマンスデータに基づいてルーティングデータストアを修正することを含む、第114節に記載のシステム。
第116節 クエリIPアドレスが、クライアントコンピューティングデバイスに関連付けられている、第101節に記載のシステム。
第117節 ロケーションベース識別子が、クライアントコンピューティングデバイスに関連付けられたDNS解決構成部分に対応する、第116節に記載のシステム。
第118節 ロケーションベース識別子が、クライアントコンピューティングデバイスに関連付けられた物理ロケーションに対応する、第101節に記載のシステム。
第119節 ロケーションベース識別子が、クライアントコンピューティングデバイスに関連付けられた論理ロケーションに対応する、第101節に記載のシステム。
第120節 ロケーションベース識別子が、相対ロケーションに対応する、第101節に記載のシステム。
第121節 相対ロケーションが、既知のロケーションに相対ロケーションへの関連付けに基づいて推測される、第120節に記載のシステム。
第122節 相対ロケーションが、待ち時間情報に基づいて推測される、第121節に記載のシステム。
上記の実施形態に多くの変更および修正を加えることができ、その要素は許容できる例に含まれるものと理解されるべきであることを強調されるべきである。すべてのそのような修正および変更は、本明細書における本開示の範囲内に含まれ、特許請求の範囲によって保護されることを意図する。

Claims (18)

  1. 方法において、
    第1のDNSサーバにおいてクライアントコンピューティングデバイスからDNSクエリを取得し、前記DNSクエリが、コンテンツプロバイダによって提供された元のリソース識別子に関連付けられた要求されたリソースに対応し、前記第1のDNSサーバがコンテンツ配信ネットワークサービスに対応することと、
    前記第1のDNSサーバにおいて前記DNSクエリに関連付けられたクエリIPアドレスを取得することと、
    クエリIPアドレスに関連付けられたロケーションベース識別子を取得することと、
    前記ロケーションベース識別子に基づいて、前記コンテンツ配信ネットワークサービスプロバイダに関連付けられたネットワークポイントオブプレゼンスを選択することと、
    前記選択されたネットワークポイントオブプレゼンスに基づいて、前記第1のDNSサーバが前記DNSクエリに対して権限を有するかどうかを判断することと、
    前記第1のDNSサーバが権限を有しない場合、
    前記選択されたネットワークポイントオブプレゼンスに基づいて代替リソース識別子を取得し、前記代替リソース識別子が、DNSクエリに前記選択されたネットワークポイントオブプレゼンスに対応するドメインを解決させるための情報を含むことと、
    前記代替リソース識別子を前記クライアントコンピューティングデバイスに送信することとを含む、方法。
  2. 前記DNSクエリに関連付けられた宛先識別子を決定することをさらに含み、ネットワークポイントオブプレゼンスを選択することがさらに、前記宛先識別子に基づく、請求項1に記載の方法。
  3. 前記宛先識別子が、前記ロケーションベース識別子に関連付けられたロケーションを含んでいる地域に対応する、請求項2に記載の方法。
  4. 前記コンテンツプロバイダがアイデンティティに基づいて、前記決定された宛先識別子をオーバーライドすることさらに含む、請求項2に記載の方法。
  5. 前記元のリソース識別子に基づいて、前記判断された宛先識別子をオーバーライドすることをさらに含み、前記元のリソース識別子が、代替宛先識別子に関連する情報を提供する、請求項2に記載の方法。
  6. ネットワークポイントオブプレゼンスを選択することが、前記判断された宛先識別子に関連付けられたリソース要求に対応してサービスを提供することができるネットワークポイントオブプレゼンスの組から1つのネットワークポイントオブプレゼンスを選択することを含む、請求項2に記載の方法。
  7. 前記選択されたネットワークポイントオブプレゼンスに基づいて、前記第1のDNSサーバが前記DNSクエリに対して権限を有するかどうかを判定する前に、前記選択されたネットワークポイントオブプレゼンスが利用可能であるかどうかを判定することと、
    前記選択されたネットワークポイントオブプレゼンスが利用可能である場合、前記選択されたネットワークポイントオブプレゼンスを維持することと、
    選択されたネットワークポイントオブプレゼンスが利用可能でない場合、代替ネットワークポイントオブプレゼンスを選択することさらに含む、請求項1に記載の方法。
  8. 前記第1のDNSサーバが権限を有すると判定される場合、
    前記元のリソース要求に関連付けられたコンテンツを提供するためにキャッシュ構成部分を選択することと、
    前記選択されたキャッシュ構成部分を特定する情報を送信することとをさらに含む、請求項1に記載の方法。
  9. 要求ルーティングのためのシステムにおいて、
    コンテンツ配信ネットワークサービスプロバイダに関連付けられた第1のネットワークポイントオブプレゼンスを備え、前記第1のネットワークポイントオブプレゼンスが、クライアントコンピューティングデバイスからDNSクエリを受信するDNSサーバ構成部分を含み、前記DNSクエリが、第1のリソース識別子に関連付けられた要求されたリソースに対応し、前記第1のネットワークポイントオブプレゼンス中の前記DNSサーバが、
    前記第1のDNSサーバにおいて前記DNSクエリに関連付けられたクエリIPアドレスを取得することと、
    前記クエリIPアドレスに関連付けられたロケーションベース識別子を取得することと、
    前記ロケーションベース識別子に基づいて、前記コンテンツ配信ネットワークサービスプロバイダに関連付けられたネットワークポイントオブプレゼンスを選択することと、
    前記選択されたネットワークポイントオブプレゼンスに基づいて、前記第1のDNSサーバが前記DNSクエリに対して権限を有するかどうかを判定することと、
    前記第1のDNSサーバが権限を有しない場合、
    前記選択されたネットワークポイントオブプレゼンスに基づいて代替リソース識別子を取得し、前記代替リソース識別子が、DNSクエリに前記選択されたネットワークポイントオブプレゼンスに対応するドメインを解決させるための情報を含むことと、
    前記代替リソース識別子を前記クライアントコンピューティングデバイスに送信することとを含む、システム。
  10. 前記第1のネットワークポイントオブプレゼンス中の前記DNSサーバがさらに、前記DNSクエリに関連付けられた宛先識別子を判断するように動作可能であり、ネットワークポイントオブプレゼンスを選択することがさらに、前記宛先識別子に基づく、請求項9に記載のシステム。
  11. 前記第1のネットワークポイントオブプレゼンス中の前記DNSサーバがさらに、
    前記選択されたネットワークポイントオブプレゼンスに基づいて、前記第1のDNSサーバが前記DNSクエリに対して権限を有するかどうかを判定する前に、前記選択されたネットワークポイントオブプレゼンスが利用可能であるかどうかを判定することと、
    前記選択されたネットワークポイントオブプレゼンスが利用可能である場合、前記選択されたネットワークポイントオブプレゼンスを維持することと、
    前記選択されたネットワークポイントオブプレゼンスが利用可能でない場合、代替ネットワークポイントオブプレゼンスを選択することとを行うように動作可能である、請求項9に記載のシステム。
  12. コンテンツ配信ネットワークサービスプロバイダに関連付けられた第2のネットワークポイントオブプレゼンスを備え、前記第2のネットワークポイントオブプレゼンスが、クライアントコンピューティングデバイスから後続のDNSクエリを受信するDNSサーバ構成部分を含み、前記後続のDNSクエリが、前記代替リソース識別子に関連付けられた要求されたリソースに対応し、前記第2のネットワークポイントオブプレゼンス中の前記DNSサーバが、
    前記元のリソース要求に関連付けられたコンテンツを提供するためのキャッシュ構成部分を特定するために、前記後続のDNSクエリを解決することと、
    前記特定されたキャッシュ構成部分を識別する情報を前記クライアントコンピューティングデバイスに送信することとを行うように動作可能である、請求項9に記載のシステム。
  13. コンピュータ実装された方法において、
    第1のDNSサーバにおいてクライアントコンピューティングデバイスから第1のDNSクエリを取得し、前記第1のDNSクエリが、第1の要求されたリソースに対応し、前記第1のDNSサーバがコンテンツ配信ネットワークサービスに対応することと、
    前記第1のDNSサーバにおいて前記第1のDNSクエリに関連付けられたクエリIPアドレスを取得することと、
    前記クエリIPアドレスに対応する少なくとも部分的なIPアドレスに関連付けられたロケーションベース識別子を、ルーティングデータストアから取得することと、
    前記ロケーションベース識別子に基づいて、前記第1のDNSクエリを解決することと、
    前記第1の要求されたリソースの送信に関連するパフォーマンスデータを収集することと、
    前記パフォーマンスデータに基づいて、前記クライアントコンピューティングデバイスの前記クエリIPアドレスに関連付けられた前記ルーティングデータストア中のルーティング情報を更新することと、
    第2のDNSサーバにおいて前記クライアントコンピューティングデバイスから第2のDNSクエリを取得し、前記第2のDNSクエリが、第2の要求されたリソースに対応することと、
    前記クライアントコンピューティングデバイスの前記クエリIPアドレスに関連付けられた前記更新されたロケーションベース識別子に基づいて、前記第2のDNSクエリを解決することとを含む、方法。
  14. 前記ルーティングデータストアが、少なくとも部分的なIPアドレスのロケーションベース識別子へのマッピングを含む、請求項13に記載の方法。
  15. コンピュータシステムであって、
    少なくとも部分的なクエリIPアドレスのロケーションベース識別子へのマッピングを含むルーティングデータストアと、
    コンテンツ配信ネットワークサービスプロバイダに関連付けられた第1のネットワークポイントオブプレゼンスと備え、前記第1のネットワークポイントオブプレゼンスが、
    第1のDNSサーバにおいてクライアントコンピューティングデバイスから第1のDNSクエリを取得し、前記第1のDNSクエリが、第1の要求されたリソースに対応し、前記第1のDNSサーバがコンテンツ配信ネットワークサービスに対応することと、
    前記第1のDNSサーバにおいて前記第1のDNSクエリに関連付けられたクエリIPアドレスを取得することと、
    前記ルーティングデータストアから、前記クエリIPアドレスに対応する少なくとも部分的なIPアドレスに関連付けられたロケーションベース識別子を取得することと、
    前記ロケーションベース識別子に基づいて、前記第1のDNSクエリを解決することと、
    前記第1の要求されたリソースの送信に関連付けられたパフォーマンスデータを収集することと、
    前記パフォーマンスデータに基づいて、前記クライアントコンピューティングデバイスの前記クエリIPアドレスに関連付けられた前記ルーティングデータストア中のルーティング情報を更新することと、
    第2のDNSサーバにおいて前記クライアントコンピューティングデバイスから第2のDNSクエリを取得し、前記第2のDNSクエリが、第2の要求されたリソースに対応することと、
    前記クライアントコンピューティングデバイスの前記クエリIPアドレスに関連付けられた前記更新されたルーティング情報に基づいて、前記第2のDNSクエリを解決することとを行うように動作可能である、コンピュータシステム。
  16. 前記ルーティング情報を更新することが、前記クエリIPアドレスに関連付けられた更新されたロケーションベース識別子での前記パフォーマンスデータに基づいて前記ルーティングデータストアを修正することを含む、請求項15に記載のシステム。
  17. 前記ルーティングデータストア中の前記少なくとも部分的なIPアドレスのロケーションベース識別子へのマッピングが各々、対応する確信度を有する、請求項16に記載のシステム。
  18. 前記ルーティングデータストアが、ロケーションベース識別子の宛先識別子へのマッピングをさら含む、請求項16に記載のシステム。
JP2011536598A 2008-11-17 2009-11-17 要求ルーティングおよびクライアントロケーション情報を利用したルーティング情報の更新 Active JP5150769B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US12/272,687 2008-11-17
US12/272,683 2008-11-17
US12/272,683 US7991910B2 (en) 2008-11-17 2008-11-17 Updating routing information based on client location
US12/272,687 US8028090B2 (en) 2008-11-17 2008-11-17 Request routing utilizing client location information
PCT/US2009/064816 WO2010057192A1 (en) 2008-11-17 2009-11-17 Request routing and updating routing information utilizing client location information

Publications (2)

Publication Number Publication Date
JP2012509623A JP2012509623A (ja) 2012-04-19
JP5150769B2 true JP5150769B2 (ja) 2013-02-27

Family

ID=42170420

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011536598A Active JP5150769B2 (ja) 2008-11-17 2009-11-17 要求ルーティングおよびクライアントロケーション情報を利用したルーティング情報の更新

Country Status (5)

Country Link
EP (2) EP2356577B1 (ja)
JP (1) JP5150769B2 (ja)
CN (2) CN103731481B (ja)
CA (1) CA2741895C (ja)
WO (1) WO2010057192A1 (ja)

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
CN104012049B (zh) * 2011-10-13 2016-12-07 交互数字专利控股公司 用于在内容递送网络之间提供接口的方法和设备
US8904009B1 (en) 2012-02-10 2014-12-02 Amazon Technologies, Inc. Dynamic content delivery
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
GB2500936B (en) * 2012-04-05 2014-11-26 Blis Media Ltd Identifying the physical location of an internet service provider
CN104303489A (zh) * 2012-04-30 2015-01-21 Nec欧洲有限公司 在网络中执行dns解析的方法、内容分发系统和用于在内容分发系统中进行部署的客户端终端
US9444779B2 (en) * 2012-06-04 2016-09-13 Microsoft Technology Lincensing, LLC Dynamic and intelligent DNS routing with subzones
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
FR2995487A1 (fr) * 2012-09-11 2014-03-14 France Telecom Technique de traitement d'une requete de distribution de contenu
US9135048B2 (en) 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
CN102970351B (zh) * 2012-11-06 2017-11-17 中兴通讯股份有限公司 一种基于cdn和网络融合的用户定位的方法及装置
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
CN103281409B (zh) * 2013-06-24 2016-03-16 广州市动景计算机科技有限公司 基于tcp协议的移动互联网域名解析方法及dns服务器
CN104427007A (zh) * 2013-08-23 2015-03-18 政务和公益机构域名注册管理中心 Dns的域名查询方法
CN104519146A (zh) * 2013-09-29 2015-04-15 中国电信股份有限公司 基于用户位置进行域名解析服务的方法与系统
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
CN104392008B (zh) * 2014-12-19 2017-12-05 北京奇虎科技有限公司 网页数据获取方法、浏览器客户端及cdn服务器
JP2018507579A (ja) * 2014-12-31 2018-03-15 レベル スリー コミュニケーションズ,エルエルシー ネットワークアドレス解決
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US10103945B2 (en) 2015-04-06 2018-10-16 Level 3 Communications, Llc Server side content delivery network quality of service
CN104994123B (zh) * 2015-05-12 2018-10-02 段利平 一种cdn云平台及cdn云平台的流量调度方法
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
CN114422400B (zh) * 2015-09-04 2023-09-05 动态网络服务股份有限公司 使用实时用户监控数据进行实时流量引导的方法和装置
US11895212B2 (en) 2015-09-11 2024-02-06 Amazon Technologies, Inc. Read-only data store replication to edge locations
KR102161161B1 (ko) * 2015-09-11 2020-09-29 아마존 테크놀로지스, 인크. 에지 위치들에서 맞춤형 이벤트-트리거된 컴퓨터의 조작을 위한 시스템, 방법 및 컴퓨터-판독가능한 스토리지 매체
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10616250B2 (en) 2016-10-05 2020-04-07 Amazon Technologies, Inc. Network addresses with encoded DNS-level information
CN106797410A (zh) * 2016-12-23 2017-05-31 深圳前海达闼云端智能科技有限公司 域名解析方法和装置
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
KR102415645B1 (ko) * 2017-03-29 2022-07-04 삼성전자주식회사 멀티미디어 서비스 콘텐트 제공 장치 및 방법
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
CN106992938B (zh) 2017-05-15 2020-03-31 网宿科技股份有限公司 一种网络流量动态调度分配方法及系统
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
CN107370678B (zh) * 2017-06-19 2020-04-14 深圳市盛路物联通讯技术有限公司 一种应用于物联网的路由转发表更新方法及系统
US10447648B2 (en) * 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
EP3745659A4 (en) 2018-02-13 2020-12-09 Huawei Technologies Co., Ltd. METHOD AND DEVICE FOR GUIDING ROUTING
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
SE1850454A1 (en) 2018-04-19 2019-10-20 Hive Streaming Ab Segmenting a corporate communications network
CN109167674B (zh) * 2018-07-24 2021-05-18 网宿科技股份有限公司 服务节点的评分方法、域名系统dns调度方法及服务器
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108703A (en) * 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US7441045B2 (en) * 1999-12-13 2008-10-21 F5 Networks, Inc. Method and system for balancing load distribution on a wide area network
US6754706B1 (en) * 1999-12-16 2004-06-22 Speedera Networks, Inc. Scalable domain name system with persistence and load balancing
US7725602B2 (en) * 2000-07-19 2010-05-25 Akamai Technologies, Inc. Domain name resolution using a distributed DNS network
WO2002071242A1 (en) * 2001-03-01 2002-09-12 Akamai Technologies, Inc. Optimal route selection in a content delivery network
US7343399B2 (en) * 2001-06-25 2008-03-11 Nortel Networks Limited Apparatus and method for managing internet resource requests
US7088718B1 (en) * 2002-03-19 2006-08-08 Cisco Technology, Inc. Server load balancing using IP option field approach to identify route to selected server
US7310686B2 (en) * 2002-10-27 2007-12-18 Paxfire, Inc. Apparatus and method for transparent selection of an Internet server based on geographic location of a user
US20060146820A1 (en) * 2002-11-26 2006-07-06 Robert Friedman Geo-intelligent traffic manager
JP4339627B2 (ja) * 2003-05-23 2009-10-07 株式会社日立製作所 パーソナルストレージサービス提供方法
EP1744498A1 (en) * 2004-05-06 2007-01-17 Matsushita Electric Industries Co. Ltd. Internet connection terminal apparatus and internet connection status determining method
US20060206586A1 (en) * 2005-03-09 2006-09-14 Yibei Ling Method, apparatus and system for a location-based uniform resource locator
CN100556047C (zh) * 2005-04-13 2009-10-28 北京交通大学 一种IPv6网络中实现动态域名更新的方法
CN100583796C (zh) * 2006-02-17 2010-01-20 联想(北京)有限公司 无线网络配置方法和终端、及无线网络预测方法和设备

Also Published As

Publication number Publication date
WO2010057192A1 (en) 2010-05-20
CN103731481A (zh) 2014-04-16
CA2741895C (en) 2015-01-20
EP2356577A4 (en) 2017-03-22
JP2012509623A (ja) 2012-04-19
CN102216923B (zh) 2014-01-29
CA2741895A1 (en) 2010-05-20
EP3567881B1 (en) 2021-02-24
CN102216923A (zh) 2011-10-12
EP3567881A3 (en) 2020-02-19
EP2356577A1 (en) 2011-08-17
EP3567881A2 (en) 2019-11-13
EP2356577B1 (en) 2019-08-14
CN103731481B (zh) 2017-06-20

Similar Documents

Publication Publication Date Title
US11811657B2 (en) Updating routing information based on client location
JP5150769B2 (ja) 要求ルーティングおよびクライアントロケーション情報を利用したルーティング情報の更新
US11115500B2 (en) Request routing utilizing client location information
US9800539B2 (en) Request routing management based on network components
US9160703B2 (en) Request routing management based on network components
JP5389153B2 (ja) クラスに基づいてルーティングをリクエストするための方法とシステム
JP5404766B2 (ja) ルーティングをリクエストするための方法とシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121102

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121203

R150 Certificate of patent or registration of utility model

Ref document number: 5150769

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151207

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250