JP2004507128A - ミラーデータセンタ間のグローバル負荷分散 - Google Patents

ミラーデータセンタ間のグローバル負荷分散 Download PDF

Info

Publication number
JP2004507128A
JP2004507128A JP2001588195A JP2001588195A JP2004507128A JP 2004507128 A JP2004507128 A JP 2004507128A JP 2001588195 A JP2001588195 A JP 2001588195A JP 2001588195 A JP2001588195 A JP 2001588195A JP 2004507128 A JP2004507128 A JP 2004507128A
Authority
JP
Japan
Prior art keywords
map
given
data
mirror
name server
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.)
Granted
Application number
JP2001588195A
Other languages
English (en)
Other versions
JP4690628B2 (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
Application filed by アカマイ テクノロジーズ、インコーポレイテッド filed Critical アカマイ テクノロジーズ、インコーポレイテッド
Publication of JP2004507128A publication Critical patent/JP2004507128A/ja
Application granted granted Critical
Publication of JP4690628B2 publication Critical patent/JP4690628B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • 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
    • 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
    • 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/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
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • 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
    • H04L67/1034Reaction to server failures by a load balancer
    • 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
    • H04L67/1038Load balancing arrangements to avoid a single path through a load balancer
    • 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/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Testing Of Balance (AREA)
  • Computer And Data Communications (AREA)

Abstract

本発明はグローバル負荷分散を行うインテリジェントトラヒック再方向付けシステムである。それは、エンドユーザが複製されたリソースにアクセスする必要のあるどんな状況でも使用できる。この方法では、レプリカへのルートがネットワークの見地から良好で、レプリカが過負荷にならないように、エンドユーザが適当なレプリカに向けられる。この手法では好ましくは、ドメインネームサービス(DNS)を使用して適当なレプリカにIPアドレスを与える。最も普通の用途はトラヒックをミラーウェブサイトに向かわせることである。

Description

【0001】
(技術分野)
本発明は一般に高性能で、フォールトトレラントなコンテントデリバリに関するものであり、特にグローバルコンピュータネットワークの中のミラーデータセンタの負荷を分散するためのシステムと方法に関するものである。
【0002】
(関連技術の説明)
ミラーデータセンタにウェブ型コンテントを記憶し、ネットワークトラヒック条件に基づいてデータセンタに対するこのようなコンテント要求を負荷分散することは知られている。既存のグローバル負荷分散プロダクトはインタネットトラヒック条件のマップを作成するための数個の異なるアプローチを使用する。一つのアプローチはボーダゲートウェイプロトコル(BGP)データを使用する。しかし、BGPデータは非常に粗になり得るので、BGPに基づくルーチングは次善のものとなり得る。他のアプローチは、最適マッピングを実時間で演算した後、マッピング情報をキャッシュしようとする。この手法では、初期の「ヒット」の間の貧弱なターンアラウンド時間となり、相次ぐ要求に対する陳腐なマッピングとなる可能性がある。更に、エンドポイントに対する測定の品質は雑音を伴う傾向がある。これらのマッピング手法の欠陥のために、結果として行われる負荷分散は決して有効でない。
【0003】
現在の負荷分散装置は通常、インタネット全体のようなコンピュータネットワーク全体に対する最適マップを演算することができない。現在、インタネットは何億ものホストとルータをそなえている。一組のミラーデータセンタへのインタネット全体の接続時間の推定、たとえば、サーバと各ホストまたはルータとの間のネットワークを評価することによる推定は信じられないほど時間がかかり、余りに多くの帯域幅を消費する。もちろん、実時間のルーチング判断が必要なときには、このような手法は実際的でない。
【0004】
また、このような測定は雑音を含み、不正確になる傾向があり、またファイアウォールが接触するシステム管理者を悩ますことがあり得る。ファイアウォールの後ろのローカルネームサーバには達せられず、(たとえば、ダイヤル呼出し接続等による)「ラストマイル」上の遅い接続は接続ピクチャ(connectivity picture)を混乱させがちである。したがって、地球のまわりに位置するミラーデータセンタ間の負荷分散とともにインテリジェントトラヒックリダイレクション(redirection)を行うために使用することができる最適ネットワーク接続マップ(connectivity map)を生成する有効な手法は従来技術には残っていない。
【0005】
(発明の概要)
本発明はグローバル負荷分散を行うインテリジェントトラヒックリダイレクションシステムである。それは、エンドユーザが複製されたリソースにアクセスする必要のあるどんな状況でも使用できる。この方法では、レプリカへのルートがネットワークの見地から良好で、レプリカが過負荷にならないように、エンドユーザが適当なレプリカに向けられる。この手法では好ましくは、ドメインネームサービス(DNS)を使用して適当なレプリカにIPアドレスを与える。最も普通の用途はトラヒックをミラーウェブサイトに向かわせることである。他の用途は、キャッシュを記憶サーバに向かわせること、ストリーミングサーバを信号取得ポイントに向かわせること、ロギングプロセスをログアーカイブサーバに向かわせること、メールプロセスをメールサーバに向かわせること等である。
【0006】
好適実施例では、この方法はインタネット全体のユーザベースに対して連続的に生成されるネットワークマップに依存する。従来技術固有の問題は、一組のミラーデータセンタに対する相対結合性(relative connectivity)を推定する問題のディメンジョナリティを非常に削減することにより克服される。「データセンタ」は通常、スペースを賃貸しし、インタネットへの結合性を販売する電気通信設備に配置されている。与えられたデータセンタで多数のコンテントプロバイダがそれらのウェブサイトのホストとなることがある。ミラーデータセンタに接続され得る各ローカルネームサーバ(または他のホスト)を精査する代わりに、ネットワークマップが「コア」(または「共通」)ポイントと呼ばれる、ずっと少ない一組の代理ポイントに対する結合性を表す。このとき、コアポイントは、データセンタの視点からはポイントを共用する一組のローカルネームサーバ(または他のホスト)の代表となる。ミラーデータセンタの各組は一組のコアポイントを表す対応するマップをそなえる。
【0007】
本発明の好適実施例によれば、コアポイントは次のようにして発見される。一組のミラーデータセンタの各々から、データセンタに記憶されているレプリカに対する要求を解決するためにクライアントが使用し得るローカルネームサーバに、インクリメンタルなトレースルートが実行される。次に、共通ルーチングポイントでのトレースルートの交差が識別される。したがって、たとえば、共通ルーチングポイントは、データセンタの視点から見たとき、トレースルートに対する第一の共通ポイント(またはローカルネームサーバの視点から見たとき、トレースルートに対する最後の共通ポイント)であってもよい。このとき、共通ルーチングポイントはローカルネームサーバに対するコアポイントとして識別される。同様に、他のローカルネームサーバ(または他のホスト)に対してコアポイントが識別される。したがって、後で説明されるように、与えられた一組のミラーデータセンタはそれらに対応して、その一組のデータセンタへの相対結合性を推定する際に有用である一組のコアポイントをそなえてもよい。
【0008】
コアポイントが識別されると、システマティックな方法を使用して、ミラーデータセンタの各々から、与えられたコアポイントまでの予測された実際のダウンロードタイムを推定する。本発明によれば、ICMP(またはいわゆる「ピング」(ping)パケット)を使用して、データセンタとコアポイントとの間のラウンドトリップタイム(RTT)および待ち時間(latency)を測定する。したがって、たとえば、コアポイントを周期的に(たとえば、30秒毎に)ピングし、対応する待ち時間およびパケット損失データを収集してもよい。このようなデータを使用して、好ましくはすべての前の測定と新しい測定の指数的に時間重み付けされた平均を使用して平均待ち時間が計算される。類似の機能を使用して、平均パケット損失を計算する。その結果を使用して、データセンタの一つとコアポイントとの間の各パスに対するスコアが生成される。スコアは平均待ち時間を修正することにより生成されてもよい。たとえば、平均待ち時間を特有の仕方で重み付けすることによりダウンロード予測を行う与えられたペナルティ係数で平均待ち時間を修正することにより、スコアが生成されてもよい。このとき、(その時間スライスに対する最良の動作を行うネットワークの結合性を表す)最良のスコアをどのデータセンタがそなえても、そのデータセンタはコアポイントと結合される。
【0009】
コアポイント/データセンタのデータ組をIPブロック/データセンタのデータ組に対して一般化することにより完全なネットワークマップが作成される。この「単一化」により、完全になり、ネットワークマップのサイズが小さくなり、新しいローカルネームサーバに対してトラヒックのリダイレクションが実行されることが可能となる。
【0010】
次に、生成されたネットワークマップを使用して、トラヒック再方向付けと負荷分散が行われる。特に、ユーザのローカルネームサーバが(一組のミラーデータセンタの中に配置された)コンテントプロバイダのウェブサイトに対して要求を行うとき、この方法は好ましくはネットワークマップを使用して、最適データセンタでのウェブサーバIPアドレスのリストをローカルネームサーバに返送する。ユーザのローカルネームサーバがピングデータを利用できない(それのIPブロックが単一化によって拡張されていない)場合には、BGPまたは地理ルーチング(geo−routing)を使用してデフォルトルーチング判断を行うことができる。コンテントプロバイダによって指定された負荷分散の好みも、データセンタ間で、または特定のデータセンタ内で容易に実行することもできる。
【0011】
以上、本発明の、より適切な目的および特徴のいくつかの概要を説明した。これらの目的は、本発明のより顕著な特徴と応用のいくつかを表したものに過ぎないと考えるべきである。
【0012】
本発明とその利点の、より完全な理解のために、付図とともに次の詳細な説明を参照すべきである。
【0013】
(好適実施例の詳細な説明)
簡単な背景により、従来技術ではウェブコンテントプロバイダがそのウェブサイトを分散させること、または「ミラー」構成にすることにより、サイトが常に利用でき、グローバルカストマベースに許容できる性能を与えることが知られている。一旦ウェブサイトが分散されると、通常、グローバルトラヒック管理(GTM:global traffic management)の解を使用してユーザを種々のミラーサイトに向かわせる。GTMの解は種々の方法を使用して、どれがユーザを向かわせる「最良の」ミラーサイトであるかを判定する。しかし、インタネット条件は絶えず変化しているので、特定のユーザに対する「最良の」サイトもこれらの条件とともに変化する。本発明は、ミラーデリバリサイトのアベイラビリティと性能を最大にするGTM解である。
【0014】
次に説明する好適実施例では、グローバルトラヒック管理の解は、サービスプロバイダ、たとえばコンテントデリバリネットワーク(CDN)サービスプロバイダ(CDNSP)によって提供される管理されたサービスである。周知のように、CDNは第三者のコンテントプロバイダに代わってディジタルコンテント(たとえば、ウェブコンテント、ストリーミングメディア、およびアプリケーション)の効率的なデリバリのために配置される地理的に分散されたコンテントデリバリノードのネットワークである。与えられたコンテントに対する要求するエンドユーザからの要求は「最良」のレプリカに向けられる。「最良」は通常、コンテントプロバイダのオリジンサーバからフェッチするために要する時間に比べて素早くクライアントにアイテムがサービスされるということを意味する。通常、CDNは、コンテントデリバリインフラストラクチャ、要求ルーチングメカニズム、およびディストリビューションインフラストラクチャの組み合わせとして実現される。コンテントデリバリインフラストラクチャは通常、要求しているエンドユーザにコンテントのコピーを配信するための戦略的ロケーション(たとえば、インタネット存在ポイント、ネットワークアクセスポイント等)に配置された一組の「サロゲート」(代理)オリジンサーバを含む。要求ルーチングメカニズムは要求しているクライアントにコンテントデリバリインフラストラクチャ内のサーバを割り当てるが、その際、ウェブコンテントの配信の場合は与えられたクライアントの応答時間を最小にするように、そしてストリーミングメディアの配信の場合は最高の品質が与えられるように割り当てを行う。ディストリビューションインフラストラクチャは、コンテントをオリジンサーバからサロゲートに移動するオンデマンドまたはプッシュ型メカニズムで構成される。有効なCDNは、与えられた要求しているクライアントに対して最適であるサロゲートからの、しばしばアクセスされるコンテントにサービスする。代表的なCDNでは、単一のサービスプロバイダが要求ルータ、サロゲート、およびコンテントディストリビュータを運用する。更に、そのサービスプロバイダはコンテントパブリッシャとビジネス関係を確立し、それらのオリジンサーバに代わって分散したデリバリシステムを提供するように作用する。ウェブコンテントおよびメディアストリーミングを提供する周知の商用CDNはマサチューセッツ州ケンブリッジ(Cambridge,Massachusetts)のアカマイテクノロジーズ社(Akamai Technologies,Inc.)により提供される。
【0015】
したがって、一実施例では、本発明はコンテントプロバイダのミラーウェブサイトのグローバル負荷分散のための管理されたサービスを実行する。図1は基本的なインプリメンテーション環境を示す。この例では、グローバルトラヒック管理サービス100は、(同じドメイン、たとえば、www.akamai.comで表される)一対のミラーウェブサイト102および104を運用しているコンテントプロバイダにグローバルトラヒック管理を提供する。GTMサービス100はウェブサイトにアクセスしているエンドユーザ106および108を最良ま動作を行うミラーサイトに向かわせることにより、エンドユーザ106および108に改善された反応の速さを与える。図2は、ミラーウェブサイトを運用しているコンテントプロバイダに代わって、管理されたサービスとしてCDNSPまたは他のエンティテイ(「管理されたサービスプロバイダ」)によって上記のように実行されるGTMサービスの高レベルの技術的アーキテクチャを示す。もちろん、当業者には理解されるように、本発明の機能は全体または一部がプロダクトに基づく解として実現してもよい。
【0016】
説明のためだけであるが、図2に示すように、好適なGTMサービス200は多数の構成要素、すなわち、一組のネットワークエージェント202、一組のウェブサーバエージェント204、一組のマップ生成サーバ206、および一組のネームサーバ208を含む。このような構成要素は各々通常はサーバ、たとえば、リナックスオペレーティングシステムを動作させ、後で説明する機能を実行するためのアプリケーションソフトウェア、またはこのようなマシン上で実行される一つ以上のプロセスをそなえるペンティアム(登録商標)に基づくボックスである。後で説明するように、データはネットワークエージェントおよびウェブサーバエージェントによって収集され、マップ生成サーバに渡される。マップ生成サーバはデータを分析し、少なくとも一つのマップサーバがネームサーバのIPアドレス/ブロックを領域に割り当てるマップを作成する。次に、少なくとも一つのマップがネームサーバにアップロードされる。サービスによって管理されているミラーサイトドメインへのアクセスをエンドユーザが要求するとき、ユーザが接続されるべき「最良の」データセンタを表すIPデリゲーションをネームサーバの一つが戻す。
【0017】
図に示された構成要素の特定の配置は代表的なものであり、どの特定のエンティテイも特定のマシンを所有したり、制御することも必要条件ではない。この実施例では、ミラーウェブサイトのホストの役目を果たす各データセンタの中のそれらのネットワークセグメントの中または近くにあるネットワークエージェントをコンテントプロパイダがそなえている。したがって、たとえば、一対のネットワークエージェント202aおよび202bがデータセンタ203a内のコンテントプロパイダ専用のものであり、一対のネットワークエージェント202cおよび202dがデータセンタ203b内のコンテントプロパイダ専用のものであるが、これは必要とされない。これらのネットワークエージェントは好ましくは、コンテントプロパイダのウェブサーバと同じネットワークを共用する。したがって、たとえば、データセンタ203a内のネットワークエージェント202aおよび202bはコンテントプロパイダのウェブサーバ207a−cとネットワーク接続を共用する。管理されたサービスプロバイダがCDNを運用する場合、CDNがその中に配置されるデータセンタ内に一組のネットワークエージェントを配置してもよい。もちろん、多数のコンテントプロパイダが、与えられたデータセンタでそれらのウェブサイトのホストとしての役目を果たし、ネットワークエージェントを共用してもよい。したがって、与えられたネットワークエージェントは与えられたロケーションで第一のコンテントプロパイダに対して一度データを収集した後、同じデータセンタの中に一緒に配置された他のすべてのコンテントプロパイダとデータを共用してもよい。データセンタは通常、スペースを賃貸しし、インタネットへの結合性を売る電気通信設備(たとえば、Exodus、Frontier Global、UUUNet等)に配置される。
【0018】
ネットワークエージェントは二つの主要な機能、すなわち、「コアポイント」ディスカバリ(CPD)を動作させて一組の「コア」ポイントを判定すること、および各コアポイントに対するネットワーク性能を監視することをそなえている。後で説明するように、本発明のシステムは、好ましくはインタネット全体のユーザベースに対して、最適マップを予備演算する。これは有効に行うことができる。インタネットの部分を集合させて、それらを「コア」ポイントで表現することにより、システムが問題のスケールを縮小するからである。コアポイントは通常、与えられたネットワークロケーション(たとえば、データセンタ)の視点からポイントを共用する一組のローカルネームサーバ(または他のホスト)を表す。通常、コアポイントはインタネット上のルータであるが、これは要件ではない。コアポイントディスカバリプロセスから収集された情報は比較的頻繁に、たとえば、30秒毎に1回マップ生成サーバに与えられ、これにより、特定のミラーサイトのホストとなるデータセンタへの結合性を損なったり、影響を及ぼす可能性のあるダウンルート、輻輳、ルート変更、および他のネットワークトラヒック条件が表される。
【0019】
本発明の好適実施例によれば、コア(または「共通」)ポイントが次のように発見される。一組のミラーデータセンタの各々から、データセンタに記憶されたレプリカに対する要求を解決するためにクライアントが使用し得るローカルネームサーバに、インクリメンタルトレースルートが実行される。次に、共通ルーチングポイントでのトレースルート相互の交差が識別される。したがって、たとえば、共通ルーチングポイントは、データセンタの視点から見たとき、トレースルートに対する第一の共通ポイント(またはローカルネームサーバの視点から見たとき、トレースルートに対する最後の共通ポイント)であってもよい。このとき、共通ルーチングポイントはローカルネームサーバに対するコアポイントとして識別される。同様に、他のローカルネームサーバ(または他のホスト)に対してコアポイントが識別される。したがって、後で説明されるように、与えられた一組のミラーデータセンタはそれらに対応して、その一組のデータセンタへの相対結合性を推定する際に有用である一組のコアポイントをそなえてもよい。
【0020】
図3は、本発明の一実施例によるコアポイントディスカバリプロセスの概略図である。例示の目的だけであるが、図3で、データセンタ300は西海岸に配置されたデータセンタに対応し、データセンタ302は東海岸に配置されたデータセンタに対応する。もちろん、データセンタのロケーションは代表的なものに過ぎない。各データセンタは与えられたコンテントプロバイダに対するミラーサイトのホストとしての役目を果たすことができる。本発明によれば、コアポイント305は次のように発見される。一組のミラーデータセンタ300、302の各々から、クライアントマシン310が使用し得るローカルネームサーバ304、306、308に、インクリメンタルトレースルートが実行される。たとえば、図3で、(図示されない)ネットワークエージェントはデータセンタ300とローカルネームサーバ304、306、および308との間で第一組のトレースルートを実行し、データセンタ302とローカルネームサーバ304、306、および308との間で第二組のトレースルートを実行した。周知のように、それぞれのデータセンタとローカルネームサーバ(一つまたは複数)との間のネットワークパスはルータホップを含む。コアポイントを突き止めるために、ネットワークエージェントは、図3にコアポイント305として示されている共通のルーチングポイントでのトレースルートの交差点の、またはそれに近いロケーションを識別する。たとえば、共通のルーチングポイントは、データセンタ300および302の視点から見たとき、トレースルートに対する第一の共通ポイント(またはローカルネームサーバ304の視点から見たとき、トレースルートに対する最後の共通ポイント)であってもよい。このとき、共通ルーチングポイントはローカルネームサーバに対するコアポイント305として識別される。図7は代表的なコアポイントディスカバリプロセスのトレースを示す。
【0021】
たとえば、二つ以上の異なるパスがトレースされ、すべてのパスの少なくとも一部に同じルート(一つまたは複数)が現れた場合には、共通のルーチングポイントはルートのその共通部分に沿ったどこかにあり得る。上記のように、一般に、コアポイントはデータセンタの視点から見たときのトレースルートに対する第一の共通ポイントであり、これはローカルネームサーバの視点から見たときのトレースルートに対する最後の共通ポイントと同じである。
【0022】
コアポイント305はトレースルートの「正確な」交差点にある必要はない。コアポイント305はたとえば、交差点の近傍、または実質的な近傍に配置することができる。コアポイント305は交差点に隣接して配置することもできるし、またはそのポイントに対して行われた測定が交差点で行われる測定を代表するような任意の近傍のポイントに配置することができる。
【0023】
ネットワークエージェントは他のローカルネームサーバ(または他のホスト)に対する他のコアポイントを同様に識別する。したがって、後で説明されるように、与えられた一組のミラーデータセンタはそれらに対応して、その一組のデータセンタへの相対結合性を推定する際に有用である一つ以上のコアポイントをそなえる組をそなえてもよい。インタネット上のネットワークパスが頻繁に変化している場合には、ネットワークエージェントは好ましくは同じ頻度でコアポイントディスカバリを動作させる。
【0024】
上記のようにネットワークエージェントは、既にマッピングされた一つ以上のローカルネームサーバに割り当てられたコアポイントを周期的にチェックする機能も果たす。次に、このプロセスについて説明する。
【0025】
ネットワークエージェントは好ましくは、インタネットコントロールメッセージングプロトコル(ICMP)(またはいわゆる「ピング」(ping)パケット)を使用してコアポイントに対する測定を行うことにより、ラウンドトリップタイム(RTT)、パケット損失、およびルータホップ数のような情報を評価する。したがって、図3の例を使用して、与えられたネットワークエージェントは周期的に(たとえば、30秒毎に)コアポイントを「ピング」し、対応する待ち時間(latency)およびパケット損失を収集する。このようなデータを使用して、ネットワークエージェントは平均待ち時間を計算する。一実施例では、ネットワークエージェントはすべての前の測定と新しい測定の指数的に時間重み付けされた平均を使用して平均待ち時間を計算する。ネットワークエージェントは類似の機能を使用して、平均パケット損失を計算する。この計算については、後で更に詳しく説明する。その結果を使用して、ネットワークエージェントはデータセンタの一つとコアポイントとの間の各パスに対する「スコア」を生成する。たとえば、平均待ち時間を特有の仕方で重み付けすることによりダウンロード予測を行う与えられたペナルティ係数で平均待ち時間を修正することにより、スコアが生成される。このとき、(その時間スライスに対する最良の動作を行うネットワークの結合性を表す)最良のスコアをどのデータセンタがそなえても、そのデータセンタはコアポイントと結合される。
【0026】
図2に戻って、ウェブサーバエージェント204はすべてのウェブサーバIPアドレスまたはローカル負荷分散装置にテストダウンロードを行うことにより、(すなわち、データセンタミラーまたはウェブサーバ毎に)ミラーサイトのアベイラビリティまたは「アライブネス」をテストする。通常、ウェブサーバエージェントはオブジェクト、たとえば、HTTP GET要求を介してウェブサーバ上で利用し得る20バイトのファイルをテストし、エラーとダウンロード時間をチェックする。代表的な実施例では、測定は周期的に、たとえば、10秒毎に行われるが、好ましくは顧客(customer)がタイムアウトを変更できる。ウェブサーバエージェントの中の与えられたパーセントより多くのウェブサーバエージェントがタイムアウト閾値内にテストオブジェクトをダウンロードすることができなければ、IPアドレスは「デッド」と宣言される。これにより、顧客は応答時間に閾値を設定することにより、システムが性能が影響を受けるデータセンタにトラヒックを送らないようにできる。ウェブサーバエージェントは好ましくは、地理的に、またネットワークベースで分散されたロケーションが共通の設備内に分散される。更に、当業者には理解されるように、ウェブサーバエージェントの上記の機能は別の構成要素、たとえば、ネットワークエージェント、マップ生成サーバ、または他のあるサーバによって遂行することができる。更に、本発明のある実施例については、ウェブサーバエージェントもそれの機能(たとえば、データセンタのアライブネスのテストを行うこと)も必要でない。
【0027】
マップ生成サーバ206はネットワークエージェントおよびウェブサーバエージェントからデータを受信し、このデータを使用してマップを生成する。マップは、各IPアドレスブロックに対して最適であるミラーサイトを記述する。好適実施例では、ウェブサーバエージェントデータ、待ち時間とパケット損失の時間重み平均、およびBGPと地理の情報によってマップが達成される。好ましくは、各顧客に対して二つのマップ生成サーバプロセスがあり、マップは周期的に、たとえば、3−5分毎に生成される。制約ではないが、好ましくは、マップ生成サーバはIPブロックをインタネット「領域」と結合することにより、与えられたマップでIPブロックが領域番号に対応するようにする。代表的な実施例では、(IPブロックを領域#に対応させる)マップが2、3分毎に生成された後、ネームサーバにアップロードされる。
【0028】
ネームサーバ208は要求しているエンドユーザに最適データセンタのIPアドレス(一つまたは複数)を与える。通常、ネームサーバ応答は約5分の生存時間(TTL:time to live)をそなえているが、この値は顧客が形成してもよい(customer−configurable)。代表的な実施例ではネームサーバは、エンドユーザの要求をCDNコンテントサーバへルーチングするのを容易にするためにCDNSPによって使用されるのと同じネームサーバである。
【0029】
図4はカスタマウェブサイトがどのように本発明のトラヒックリダイレクティングシステムに統合されるかを示す。代表的な実施例では、顧客が少なくとも二つ以上のミラーサイトの分散ウェブサイトをそなえているとする。本発明のシステムは、多数のサブドメイン/プロパティが同じデータセンタ内にあれば、それらのサブドメイン/プロパティの負荷分散を行う。統合のためには単に、顧客の、権限をもつネームサーバ400がCNAMEをGTMネームサーバ408に返すように顧客が設定しさえすればよい。その後、GTMネームサーバ408を使用して、ミラーカスタマサイトに対するDNS問合わせを解決する。顧客の、権限をもつネームサーバで再帰もディセーブル(disable)される。動作については、エンドユーザ402は従来のウェブブラウザ等を使用してミラーサイトに対して要求を行う。エンドユーザのローカルネームサーバ404は権限をもつネームサーバ400に(または必要があればルートサーバに、ルートサーバは権限をもつネームサーバを表すデータを返す)要求を出す。次に、権限をもつネームサーバは管理されたサービス内のネームサーバ408のネームを返す。
【0030】
次に、ローカルネームサーバはネームサーバ408にIPアドレスを問い合わせる。応答してネームサーバ408は、その与えられたローカルネームサーバに対して、したがって要求しているエンドユーザに対して「最適」である一つ以上のIPアドレスを含むセットでネームサーバ408は応答する。上記のように、IPアドレスの最適セットは、ネットワーク上の代表的なコアポイントの性能をテストすることにより作成されたネットワークマップに基づいて生成される。ローカルネームサーバは「最適」IPアドレスリストからIPアドレスを選択し、要求しているエンドユーザクライアントブラウザにこのIPアドレスを返す。次に、ブラウザはIPアドレスに接続されて、所望のコンテント、たとえば、要求されたサイトのホームページが検索される。
【0031】
図5は、マップを作成するためにデータがどのように処理されるかを示す高レベルフローチャートである。周期的に(たとえば、30秒毎に)、ネットワークエージェントは各データセンタから各コアポイントをピングする。これがステップ500である。各ネットワークエージェントで、待ち時間の時間重み付けされた平均と損失の時間重み付けされた平均が演算される。これがステップ502である。後で説明されるように、重みは形成可能な時定数で時間とともに指数的に減衰する。ステップ504で、データが更に処理されることにより、コアポイント当たり各データセンタに対してスコアが作成される。次に、ステップ506で、各コアポイントは、そのコアポイントが代理であったネームサーバと結合される。ステップ508で、マップ生成プロセスはデータのすべてを通過し、各ネームサーバに対する一組の候補データセンタを決定する。このとき、ウェブサーバエージェントが「アライブ」でないと判定するどのデータセンタも捨てられる。ステップ510で、マップ生成プロセスはネームサーバに対するそれの判断をIPブロックに対する判断に拡張する。単一化アルゴリズムが使用されることにより、この機能が果たされる。このアルゴリズムは一般に次のように動作する。BGP地理ブロックの中のすべてのネームサーバが一致するピング判断をそなえている場合には、どのデータセンタが「最適」であるかという判断がブロック全体に適用される。逆に、不一致がある場合には、各サブブロックですべてのネームサーバが一致するように、ブロックが最大の可能なサブブロックに分解される。ネームサーバをそなえないどのブロックに対しても、BGP地理候補を使用してもよい。
【0032】
次に、図5に戻ってステップ512で、各ブロックに対する候補でマップが作成される。多数の候補がある場合には、できる限り負荷分散の目標に近くなるように割当てが行われる。負荷分散の目標は通常、コンテントプロバイダによって規定され、これらの目標は所望のトラヒック量をデータセンタで分類するパーセント(合計すると100%になる)であってもよい。これにより、マップ生成プロセスが完了する。
【0033】
上記のように、ステップ502では待ち時間の時間重み付けされた平均と損失の時間重み付けされた平均が生成される。より一般的には本発明のこの側面は、種々のフロー制御プロトコル、たとえば、TCPに対する実際のダウンロード時間を予測するための組織的な方法を提供する。知られているように、TCPは今日インタネットで最も普通に使用されるフロー制御プロトコルである。他のプロトコルはUDPの上に作られる。しかし、インタネット上のルートの状態を監視するためにTCPパケットもUDPパケットも使用することができない。本発明によれば、好ましい時点で(たとえば、ネットワークエージェントにより)ICMPパケットがネットワークに注入された後、適切に選択された中間のコアポイントにルーチングされる。次にシステムは、待ち時間とパケット損失を演算することにより、ICMPプローブによって誘導されるインタネットの動作を見る。待ち時間はサーバとコアポイントとの間のラウンドトリップタイム(RTT)の尺度である。損失と待ち時間の時間系列を維持することから、システムは(コアポイントに対応するネームサーバを使用する)クライアントがサーバからのダウンロードを開始し、完了するのに要する時間量を有効に予測することができる。この予測の品質は有効なマッピングのために重要である。クライアントがウェブ要求を行い、サーバに至る可能性のある多数のウェブサーバがあるときには、どのウェブサーバが最良の接続性を正しく予測できることが重要であるからである。これは一般に困難な問題である。インタネットは非常にバースト性があり、非常に変化しやすいトラヒック条件を示すからである。
【0034】
次の例は、本発明の一実施例によれば、時間重み付けされた平均がどのように演算されるかを示す。例示の目的だけで、コンテントプロバイダ(図3)が二つのデータセンタ300(西海岸)と302(東海岸)に配置されたミラーサイトをそなえているものとする。ネットワークエージェントは各データセンタからコアポイント305を「ピング」する。ネットワークエージェントは行われる各測定に対して待ち時間とパケット損失を記憶する。待ち時間と損失のパラメータはネットワークエージェントが追跡することができる信号伝送パラメータの型を代表しているに過ぎないことは理解されるはずである。測定し得る他のパラメータは、速度、品質やネットワークパスの効率を判定するのに役立つ任意のパラメータ、たとえば、パスの機能停止、信号の強さの損失、エラー制御データ、ルート変更等を表すパラメータを含む。
【0035】
各データセンタからコアポイントへの、また各データセンタへの各「ピング」について、それぞれのネットワークエージェントはデータのロギングを行う。表1は、データセンタとコアポイントとの間で30秒毎に行われる測定の進行中にネットワークエージェントが集めるデータの型の例を示す。表1は待ち時間の測定値の表(データは秒単位)であり、現在の測定値(t=0)の後に前に測定された値を示す。
【表1】
Figure 2004507128
【0036】
表1が示すように、待ち時間に基づいて、この例では東海岸のデータセンタは西海岸のデータセンタに比べてより小さいコアポイントに対する平均待ち時間をそなえるように現れている。次に、待ち時間の時間重み付けされた平均と損失の時間重み付けされた平均が演算される。重みは形成可能な時定数(たとえば、300秒の時定数)で時間とともに指数的に減衰する。tがi番目の測定時点、xが測定された値(たとえば、xは待ち時間の測定値latまたは損失の測定値lossであり得る)である測定系列(t,x)に対して、待ち時間の時間重み付けされた平均が次のように演算される。
Figure 2004507128
【0037】
時定数C=300秒と仮定し、表1のデータを使用して、平均待ち時間の時系列は次のように演算される。
データを使用して、データセンタ300に対する平均待ち時間は次のように演算される。
Figure 2004507128
【0038】
指数的に時間重み付けされた平均を演算するために、ネットワークエージェントは各重み付けされた待ち時間の測定値(たとえば、31.88)を加算し、この和を重み係数の和(すなわち、e−30/300+e−60/300 ...等)で割る。このようにして、データセンタ300に対する指数的に時間重み付けされた平均待ち時間は次のように演算される。
指数的に時間重み付けされた平均=31.88/4.0894
指数的に時間重み付けされた平均=7.795
【0039】
これらの演算が示すように、指数的に時間重み付けされた平均は7.79であり、これは演算された平均7.78とは異なる。この差はこの例では顕著ではないが、長期間にわたって平均された測定値についてはより顕著になり得る。より新しい測定値はより古い測定値に比べて大きな重みを与えられるからである。ネットワークエージェントは、一度最適とみなされたコアポイントがまだそうであるか、(与えられた期間の間)良好に動作していたコアポイントが今は劣化したか、等を動的に判定する。指数的に時間重み付けされた平均は測定されたデータの時間による異常をならすのにも役立ち、傾向を示すのに役立つ。
【0040】
同じ情報を使用して、東海岸データセンタ302に対する時間重み付けされた平均待ち時間が同様にして演算される。更に、ここには示されていないが、ネットワークエージェントは同様に損失の時間重み付けされた平均を演算する。
【0041】
上記のように、次に時間重み付けされた平均を処理することにより、コアポイント当たり各データセンタに対するスコアを作成する。好適スコアリング関数は次の通りである。
スコア関数=平均待ち時間+{[max(100,平均待ち時間)]
(ペナルティ係数)}
ここで、スコアはミリ秒を単位として表された値である。各値はミリ秒単位であるが、ペナルティ係数だけは無単位である。値「100」はフロアまたはベースのレベルの値であり、これはパケットが東海岸と西海岸との間を進むのに必要な通常のラウンドトリップタイムを表す。フロアは可変である。「max」という用語は値「100」と平均待ち時間のうち、どちらか大きい方を選択することを表す。次に、その値にペナルティ係数が乗算され、その結果が平均待ち時間に加算されて、スコアが生成される。ペナルティ係数は好ましくは、時間重み付けされた平均損失の関数である。したがって、一実施例では、ペナルティ係数は時間重み付けされた平均損失のある倍数である。乗数はたとえば、損失のパーセントの関数として変えてもよく、パケット損失が大きくなるほど、ペナルティ係数の寄与が大きくなる。
【0042】
本発明によれば、時間重み付けされた平均待ち時間が時間重み付けされた平均損失のペナルティ係数で重み付けされたものに基づく上記のようなスコアリング関数はデータセンタから平均エンドユーザへの平均サイズ(たとえば、10Kバイト)のファイルに対するダウンロードタイムの良好な近似すなわち「代わり」を与えるということが見出された。もちろん、ファイルサイズが変えられるにつれてファイルのダウンロードタイムは変化すると予想されるが、上記のスコアリング関数はなお、ミラーセットのどのデータセンタがより良い性能を与えるかを獲得する傾向があるということが見出された。換言すれば、与えられたスコアの絶対値はデータセンタ特有の(たとえば、西海岸対東海岸の)値ほど重要でない。
【0043】
スコアがマップ生成プロセスに与えられるとき、ネットワークエージェントはコアポイントを、そのコアポイントが「代わり」としての役目を果たすローカルネームサーバと結合する。
【0044】
次に、コンテントプロバイダに代わってミラーウェブサイトを運用することを提供する管理されたサービスとしてのグローバルトラヒック再方向付けシステムの特定の構成を説明する。図6はシステム全体のアーキテクチャ600を示す。上記のように、これらのプロセスは通常、システム内の多数のサーバを通る。これらのプロセスの三つの論理的なグループ分けがある。第一に、ピングサーバ(PingServer)602、ピングプロセッサ(PingProcessor)604、およびテストピングサーバ(TestPingServer)606は、コンテントプロバイダのデータセンタ内に配置されたネットワークエージェント上で動作している。第二に、マップメーカ(MapMaker)608、マップテスタ(MapTester)610、およびDBプッシャ(DBPusher)612はもう一組のサーバ上で動作している。しかし、これらは、グローバルトラヒック管理システムが動作するネットワーク内でサーバが不足している場合には、ネットワークエージェントマシン上で動作させてもよい。マップノートウェブ614およびマップノートDNS616と呼ばれるもう一組のプロセスは一緒に、システムのすべての顧客に対してマシンの比較的静的な組上で動作する。プロセス602、604、608、610、612、614および616は通常、連続的に動作する。アラート(alert)プロセッサ(図示しない)はネットワーク上の一つ以上のマシンが機能を果たしていないかを検出し、一つ以上の対応する警報を送る。アーカイブプロセス(図示しない)は、周期的にファイルおよび他のシステムファイルの自動的ロギングをおこなうために使用される。ファイル移動プロセス(図示しない)は、データファイルを移動するために使用される。各サーバは総称プロセスモニタ(図示しない)を動作させてもよく、総称プロセスモニタはデータをサービスプロバイダ問合せシステムに報告する。
【0045】
説明したように、グローバルトラヒック管理システム600は数個のデータを収集し、その結果、マップがGTMネームサーバ615にアップロードされる。初めに、コアポイントディスカバリ(CPD)は(コアポイントを表す)ファイル内のIPアドレスのリストを作成する。このファイルは各ピングサーバ602に送られる。好ましくは、コンテントプロバイダのデータセンタ(図示しない)内に配置されるネットワークエージェントの各々で動作するピングサーバプロセス602がある。この実施例では、各データセンタに一対のマシンがあり、一方のピングサーバプロセスだけがプライマリである。他方のピングサーバプロセスは動作しているが、プライマリがダウンした場合だけ引き継ぐ。各ピングサーバプロセス602は約30秒毎にコアポイントの各々をピングする。
【0046】
次に、ピングの結果はピングプロセッサ604に送られる。ピングプロセッサ604は好ましくはマップメーカ608と同じマシン上で動作するが、これは必要条件ではない。ピングプロセッサ604はピングの結果を処理し、マップメーカ608に対してデータファイルを降ろす。マップメーカ608はマップノートウェブエージェント614からのデータも必要とする。マップノートウェブエージェント614はコンテントプロバイダのウェブサーバからのダウンロードをテストするウェブサーバエージェントである。これらのテストは、説明したようなデータセンタ内のウェブサーバのアライブネスを判定するために使用される。
【0047】
マップメーカ608はピングデータとともにマップノートウェブデータを見て、トップレベルネームサーバに対するトップレベルマップを作成する。次に、マップはマップテスタ610(これは通常、同じマシン上で動作している)に送られる。マップテスタ610はテストピングサーバ606からのテストピングデータを使用して、マップ内の与えられた数の(たとえば、200−300個の)IPアドレスをチェックする。これはマップが正しいことを確かめるために行われるが、この処理は選択的である。最後に、マップがテストに合格すれば、マップはネームサーバ615へのアップロードのために列に並ばされる。
【0048】
DBプッシャ612は、好ましくはマップメーカ608と同じマシンで動作する他の一つのプロセスである。トップレベルネームサーバ615にDBファイルを押し出すのはこのプロセスの単独責任である。このDBファイルはトップレベルネームサーバ615に対するルックアップデータを完成させる。すなわち、マップメーカ608からのマップは仮想領域番号へのIPアドレスのマッピングを含む。DBファイルは物理IPアドレスへの領域番号のマッピングを実際にそなえるデータファイルである。DBプッシャ612はマップノートウェブデータを監視し、失敗の場合には更新されたDBファイルをネームサーバに押し出す。
【0049】
ピングサーバ602はRTTとパケット損失をコアポイントのリストに対して測定する責任がある。コアポイントのリストは次のように決められる。好ましくは、コンテントプロバイダが共通に配置される各データセンタに各コンテントプロバイダに対して動作するピングサーバプロセスがある。したがって、一実施例では、サービスプロバイダはコンテントプロバイダのデータセンタのすべてにサーバを配置する。もう一つの実施例(図示しない)では、特定のデータセンタに共にあるすべての顧客に対してピングデータが共有され、GTMサービスプロバイダは単に「ポピュラーな」ホスティング設備にサーバを予め配置することにより、システムを使用するように新しい顧客を統合する際の時間を節減する。
【0050】
ピングサーバプロセスはデータセンタ内のネットワークエージェントの各々で動作させる。リーダ選択プロセス(図示しない)を使用して、その同じデータセンタ内でプライマリが失敗した場合には非リーダが引き継げることができるようにしてもよい。ピングサーバはIPアドレスのリストをピングするために使用されるプロセスを含み、IPアドレスのリストはピングサーバがシステムソースから受信する。また、リストがピングされる前に、限定されたリスト上にあるどのIPアドレスもフィルタアウトされる。特に、ピングサーバへのプライマリ入力は次の通りである。
・ 限定されたトリー − ピングされないIPアドレスのリスト。
・ ルータファイル − コアポイントディスカバリを使用して発見されたIPアドレスのリスト。
ピングサーバの出力は次の通りである。
・ ピングの結果 − ピングしているIPアドレスのなま結果。
・ ルータファイル − ピングサーバが使用したすべてのIPアドレスのリスト。
【0051】
ピングプロセッサはピングサーバからなま測定データを取り込んで、時間重み付けされた平均を演算する責任がある。コアポイントに対するRTTとパケット損失測定値の両方に対して時間重み付けされた平均が演算される。時間重み付けされた平均は次のように演算される。ピングプロセッサプロセスのプライマリ入力は次の通りである。
・ ピングサーバからのピング結果
・ ピングサーバからのルータファイル
ピングプロセッサの出力は次の通りである。
・ ネームサーバリスト
・ 処理されたピングデータ
【0052】
マップメーカはトップレベルネームサーバに対するマップを作成する。マップメーカはピングプロセッサからの処理されたピングデータとマップノートウェブからのアライブネスデータを取り込み、マップを作成する。このマップはあるIPブロックと領域番号との間の関係を含む。マップメーカの入力は次の通りである。
・ ピングプロセッサからのネームサーバ
・ ピングプロセッサからのピングスコア
・ BGP−地理トリー情報
マップメーカの出力はたとえば、
・ デバッグマップ
・ マップ状態ファイル
・ マップ
・ ピングデータ
を含み得る。
【0053】
マップテスタは、マップがトップレベルネームサーバにアップロードされる前の最後のプロセスである。マップテスタはマップメーカから候補マップを受信する。次に、マップテスタは(後で更に詳しく説明される、テストピングサーバを使用してピングされる)テストIPアドレスのマッピングを探す。差の数がある閾値より下である場合には、マップは受け入れ可能であるとみなされる。
【0054】
次に、マップはトップレベルネームサーバにアップロードされる。マップテスタのプロセスの入力は次の通りである。
・ デバッグマップ
・ テストピングデータ
・ 状態ファイル
・ マップ
・ ピングデータ
マップテスタのプロセスの出力は次の通りである。
・ マップ
【0055】
テストピングサーバはIPアドレスの小さな部分集合に対するRTTとパケット損失情報を収集する。マップメーカによって作成されたマップが妥当であることを確実にするために、このデータが収集される。マップが良好であるものとして、次にマップテスタはマップをトップレベルネームサーバにロードする。テストピングサーバの入力は次の通りである。
・ 限定されたトリー
・ テストすべきIPアドレスのリスト
テストピングサーバの出力は次の通りである。
・ テストピングデータ
【0056】
上記のように、マップメーカマップはIPブロックと領域番号との間のマッピングを提供するだけなので、好ましくは別のプロセスを使用して領域番号とウェブサーバ(一つまたは複数)の実際のIPアドレスとの間のマッピングを提供する。DBプッシャはマップノートウェブを処理し、トップレベルネームサーバにアップロードされるDBファイルを作成する責任がある。次に、トップレベルネームサーバは、マップ内の与えられたIPに対する領域番号を判定した後、対応するDBファイル内で、与えるべきIPアドレスの正しい組を見出す。DBプッシャの入力は次の通りである。
・ マップノートウェブデータ
DBプッシャの出力は次の通りである。
・ ネームサーバに対するDBファイル − このファイルはDBプッシャにより直接ネームサーバに押し出される。
【0057】
マップノートウェブは、トラヒック管理システムを使用するすべての顧客に対する選択された数のサーバで動作させられる。マップノートウェブは、それがその上でテストダウンロードを行うターゲットURLのリスト(これは、たとえば、それの構成ファイルに記憶され得る)を使用する。好ましくは、これらのテストは簡単なHTTP GET要求であり、時間とエラーだけが重要である。このデータを解釈することにより、データセンタまたはウェブサーバがアライブかデッドかを判定することができる。ダウンロードタイムは時間重み付けされた平均を使用して履歴的に記憶される。マップメーカとDBプッシャはともにこのデータを使用する。マップノートウェブは次の通りである。
・ (構成ファイルに記憶された)測定すべきターゲット
マップノートウェブに対する出力は次の通りである。
・ テスト結果のダウンロード
【0058】
ウェブサーバを監視する代わりにマップノートDNSはネームサーバを監視することを除いて、マップノートDNSはマップノートウェブに関連している。それの基礎的機能は、あるネームに対するネームサーバで測定を行い、時間を報告することである。答えが戻ってこない場合には、プロセスは失敗を起こしたのがネームサーバかネットワークかを判定するためにピングしょうとする。マップノートDNSへの入力は次の通りである。
・ テストすべきネームサーバ
・ テストすべきドメイン
マップノートDNSの出力は次の通りである。
・ DNS問合せ結果
【0059】
詳細には説明しないが、(本発明に関連しない)種々のテストを実行して上記プロセスの各々が正しく動作しているか判定してもよい。
【0060】
本発明のインテリジェントトラヒックリダイレクションシステムは多数の利点をそなえている。本システムは絶えず、インタネット全体のユーザに基づく(または、希望される場合には、それの与えられた小部分)に対する最適マップを事前演算する。これを有効に行うことができるのは、システムがインタネットの部分を集合させて、それらをコアポイントで表すことにより問題の規模を縮小しているからである。システムは複製されている(being replicated)サービスに応じて異なる種類の測定を行うこともできる。本システムはコアポイントに対するこれらの測定を組み合わせて判断とし、たとえば、BGPと地理情報を使用してIPアドレス空間のフォールバックパーティションを越えた単一化を使用して(using unification over a fallback partition)本システムはそれらの判断をインタネット全体に拡張する。本システムはコスト最少化のための負荷分散の能力でも独特である。
【0061】
本システムはすべての時点でインタネット全体に対する最適マッピングを事前演算することができる。不良ネットワーク条件に対する反応能力が極めて早いだけでなく、その応答も極めてきめ細かである。本システムは不良サーバ条件を素早く検出することができ、また多数のローカル負荷分散器とインタフェースすることができる。コアポイントを演算することにより、本システムはファイアウォールおよび他の検出機構に侵入するという問題を緩和する、すぐれた測定を行う。更に、従来技術と異なり、本システムは帯域幅コストを最小にするように負荷分散を行うことができる。
【0062】
単一化アルゴリズムは、それが部分空間に対して高品質の信頼できる情報を使用し、低品質の情報に後退するのではなく高品質の信頼できる情報を空間全体に拡張するという点で有利である。これは、インタネットルータが高速ルックアップを可能にするためIPアドレスを集合させるためのCIDR方式を利用するという事実とともに、CIDRに基づくIPアドレシングの自然なトリー状階層構成を利用することにより達成される。この手法により、再方向付けシステムはIPアドレスの空間全体の部分集合から高品質情報の利点を拡張することができる。これは、インタネットが指数的に成長しつつあるので、非常に重要である。単一化アルゴリズムにより、サービスプロバイダははじめてCDNにアクセスしつつある新しいホストをインテリジェントに扱う手段が得られる。現在のテクノロジーはこのようにマッピング判断を拡張する手段をそなえていない。現在のテクノロジーは低品質情報に後退するか、または本質的に何らの情報も具体化しない、たとえば、ラウンドロビンのようなデフォルト手法を使用する。
【0063】
ICMPプローブと時系列手法を使用するダウンロードタイムの予測にも多数の利点がある。この手法はファイルサイズの範囲とダウンロードの型にいかなる制限も課さず、また異なるサイズのICMPプローブをインテリジェント使用することによりパケット損失を有効に推定する。この手法は、時系列を追跡するための状態はほとんど必要とせず、すべての前の測定値と新しい測定値の指数的に時間重み付けされた平均を使用して新しい推定を素早く演算することができる。TCPフローの確率的モデルを作ろうとするのではなく、本発明の手法はICMPプローブに基づくダウンロードタイムの良好な予測器を抽出するための一般的な方法を提供する。
【0064】
好適実施例では、インテリジェントなトラヒック再方向付けシステムを使用することにより、トラヒックをミラーウェブサイトに向かわせる。一般的に言うと、本発明のシステムと管理されたサービスは、エンドユーザが複製されたリソースにアクセスする必要のあるどんな状況でも使用することができる。上記のように、システムはエンドユーザを適当なレプリカに向かわせ、レプリカへのエンドユーザのルートがネットワークの見地から良好で、レプリカが過負荷にならないようにする。「エンドユーザ」はどのクライアントシステム、マシン、プログラム、またはプロセスに一般化してもよい。したがって、本システムの他の用途には制約なしに、キャッシュを記憶サーバに向かわせること、ストリーミングサーバを信号取得ポイントに向かわせること、ロギングプロセスをログアーカイブサーバに向かわせること、メールプロセスをメールサーバに向かわせること等を含めてもよい。
以上、我々の発明を説明した。
【0065】
(関連出願)
本出願は2000年5月26日に出願された仮出願番号60/208,014に基づいており、それにより優先権を主張する。
【図面の簡単な説明】
【図1】本発明によるグローバルトラヒックマネジャによって管理されるミラーウェブサイトの図である。
【図2】GTMサービスの構成要素の高レベル図である。
【図3】本発明のコアポイント発見プロセスの概略図である。
【図4】管理されるサービスに統合されたミラーウェブサイトに対する本発明のグローバルトラヒックリダイレクションシステムによってエンドユーザ要求がどのように処理されるかを示す概略図である。
【図5】GTMシステムによってどのようにマップが生成されるかを示すフローチャートである。
【図6】本発明のグローバルトラヒック管理システムの一つの実施例の概略ブロック図である。
【図7】コアポイント発見プロセスの間に生成される代表的なトレースルートである。

Claims (11)

  1. 一組のコンテントプロバイダミラーサイトの中のどれがエンドユーザの最初のコンテント要求を受信すべきかを決定する方法であって、
    一組のミラーサイトの各々から発して与えられたネームサーバに向かうトレースが交差するインタネット内の与えられたポイントを各代理ポイントが表す、一組の代理ポイントを識別することと、
    代理ポイントを精査することにより、与えられたデータを生成することと、
    前記与えられたデータに基づいて各ミラーサイトに対するダウンロード予測子スコアを生成することと、
    前記ダウンロード予測子スコアに基づいてどのミラーサイトが最良のダウンロード性能を与えるかを識別することと、
    与えられたネームサーバIPアドレスを前記識別されたミラーサイトと結合することと、
    与えられたローカルネームサーバに対するエンドユーザの最初のコンテント要求に応答して、前記識別されたミラーサイトのIPアドレスを返送することと
    を含む決定方法。
  2. 一組のミラーサイトで複製される(replicated)コンテントプロバイダウェブサイトに対するユーザの最初の要求を最適化する方法であって、
    前記コンテントプロバイダウェブサイトに要求を行っているエンドユーザのローカルネームサーバに応答して、一組の代理ポイントからミラーサイトへの相対接続性を推定するネットワークマップをそなえるグローバル負荷分散サービスに前記要求を向かわせることと、
    前記ネットワークマップを使用して、前記要求がサービスを受けられる最適のミラーサイトを表すIPアドレスを前記エンドユーザのローカルネームサーバに返送することと
    を含む最適化方法。
  3. 各コアポイントがミラーサイトから発してローカルネームサーバに至るトレースルートの交差点を表す、請求項2記載の最適化方法。
  4. 一組のミラーサイトで複製されるコンテントプロバイダウェブサイトに対するユーザの最初の要求をルーチングする方法であって、
    前記コンテントプロバイダウェブサイトに要求を行っているエンドユーザのローカルネームサーバに応答して、一組の代理ポイントからミラーサイトへの相対接続性を推定するネットワークマップをそなえるグローバル負荷分散サービスに前記要求を向かわせることと、
    前記エンドユーザのローカルネームサーバを前記ミラーサイトの一つに結合するデータを前記ネットワークマップが含むかどうかを判定することと、
    前記データを前記ネットワークマップが含まない場合には、デフォルトルーチング機構を使用して前記要求に応答すべき与えられたミラーサイトを識別することと
    を含む要求ルーチング方法。
  5. 前記デフォルトルーチング機構がBGPである、請求項4記載の要求ルーチング方法。
  6. 前記デフォルトルーチング機構が地理ルーチング(geo−routing)である、請求項4記載の要求ルーチング方法。
  7. ミラーサイトを運用している一組のコンテントプロバイダに対するグローバルトラヒックリダイレクションの管理方法であって、
    ミラーサイトのホストとなる一組のデータセンタの各々から、一組のコアポイントの各々に対して、与えられたネットワークテストを実行することと、
    前記与えられたネットワークテストを実行することにより生成されたデータに基づいて、与えられた計量の時間重み付けされた平均を生成することと、
    コアポイント当たり各データセンタに対するスコアを生成することと、
    一組のネームサーバの各々に対する一組の候補データセンタを生成することと、
    候補データセンタを一組のIPアドレス空間ブロックの各々に結合することによりマップを生成することと、
    前記マップをネームサーバに与えることと、
    前記マップを使用することにより、ミラーサイトに対するエンドユーザの要求を与えられたデータセンタに向かわせることと
    を含むグローバルトラヒックリダイレクション管理方法。
  8. 前記与えられたネットワークテストがピングテスト(ping test)である、請求項7記載のグローバルトラヒックリダイレクション管理方法。
  9. 前記与えられた計量が待ち時間(latensy)またはパケット損失である、請求項7記載のグローバルトラヒックリダイレクション管理方法。
  10. 前記一組の候補データセンタから、与えられた運用基準に適合しないどのデータセンタをも廃棄するステップをも含む、請求項7記載のグローバルトラヒックリダイレクション管理方法。
  11. 前記与えられた運用基準がファイルダウンロードテストを使用して評価される、請求項10記載のグローバルトラヒックリダイレクション管理方法。
JP2001588195A 2000-05-26 2001-05-25 エンドユーザのコンテント要求を何れのミラーサイトが受信すべきかを決定する方法 Expired - Lifetime JP4690628B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US20801400P 2000-05-26 2000-05-26
US60/208,014 2000-05-26
PCT/US2001/017176 WO2001093530A2 (en) 2000-05-26 2001-05-25 Global load balancing across mirrored data centers

Publications (2)

Publication Number Publication Date
JP2004507128A true JP2004507128A (ja) 2004-03-04
JP4690628B2 JP4690628B2 (ja) 2011-06-01

Family

ID=22772868

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001588195A Expired - Lifetime JP4690628B2 (ja) 2000-05-26 2001-05-25 エンドユーザのコンテント要求を何れのミラーサイトが受信すべきかを決定する方法

Country Status (6)

Country Link
US (1) US7111061B2 (ja)
EP (1) EP1290853A2 (ja)
JP (1) JP4690628B2 (ja)
AU (1) AU2001265051A1 (ja)
CA (1) CA2450394C (ja)
WO (1) WO2001093530A2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101109915B1 (ko) * 2007-11-26 2012-02-24 에스케이플래닛 주식회사 리치 미디어 전송 시스템 및 그 제어방법
KR101137249B1 (ko) 2008-11-14 2012-04-20 에스케이플래닛 주식회사 복수의 cdn 사업자를 통한 컨텐츠 분배시스템 및 방법, 그 컨텐츠서버
WO2013057985A1 (ja) * 2011-10-21 2013-04-25 株式会社日立製作所 キャッシュサーバ解決方法、装置、及びシステム

Families Citing this family (160)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPQ504100A0 (en) * 2000-01-11 2000-02-03 Notron (No. 325) Pty Limited A method for distribution of streamed data packets on a switched network utilising an intelligent distribution network
US6275470B1 (en) 1999-06-18 2001-08-14 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
US6751191B1 (en) 1999-06-29 2004-06-15 Cisco Technology, Inc. Load sharing and redundancy scheme
US8543901B1 (en) 1999-11-01 2013-09-24 Level 3 Communications, Llc Verification of content stored in a network
US6754699B2 (en) 2000-07-19 2004-06-22 Speedera Networks, Inc. Content delivery and global traffic management network system
US6405252B1 (en) * 1999-11-22 2002-06-11 Speedera Networks, Inc. Integrated point of presence server network
US7523181B2 (en) * 1999-11-22 2009-04-21 Akamai Technologies, Inc. Method for determining metrics of a content delivery and global traffic management network
US7349979B1 (en) * 1999-12-02 2008-03-25 Cisco Technology, Inc. Method and apparatus for redirecting network traffic
US6839829B1 (en) 2000-01-18 2005-01-04 Cisco Technology, Inc. Routing protocol based redundancy design for shared-access networks
US7058007B1 (en) 2000-01-18 2006-06-06 Cisco Technology, Inc. Method for a cable modem to rapidly switch to a backup CMTS
US7886023B1 (en) 2000-01-21 2011-02-08 Cisco Technology, Inc. Method and apparatus for a minimalist approach to implementing server selection
US6996616B1 (en) * 2000-04-17 2006-02-07 Akamai Technologies, Inc. HTML delivery from edge-of-network servers in a content delivery network (CDN)
US7734815B2 (en) * 2006-09-18 2010-06-08 Akamai Technologies, Inc. Global load balancing across mirrored data centers
US6751646B1 (en) * 2000-06-01 2004-06-15 Sprint Communications Company L.P. Method and apparatus for implementing CORBA compliant name services incorporating load balancing features
WO2002006972A1 (en) * 2000-07-13 2002-01-24 Aprisma Management Technologies, Inc. Method and apparatus for monitoring and maintaining user-perceived quality of service in a communications network
US7653706B2 (en) 2000-07-19 2010-01-26 Akamai Technologies, Inc. Dynamic image delivery system
US7484002B2 (en) * 2000-08-18 2009-01-27 Akamai Technologies, Inc. Content delivery and global traffic management network system
US7346676B1 (en) * 2000-07-19 2008-03-18 Akamai Technologies, Inc. Load balancing service
US7155723B2 (en) * 2000-07-19 2006-12-26 Akamai Technologies, Inc. Load balancing service
US8060581B2 (en) * 2000-07-19 2011-11-15 Akamai Technologies, Inc. Dynamic image delivery system
US8341297B2 (en) 2000-07-19 2012-12-25 Akamai Technologies, Inc. Latencies and weightings in a domain name service (DNS) system
US7912978B2 (en) * 2000-07-19 2011-03-22 Akamai Technologies, Inc. Method for determining metrics of a content delivery and global traffic management network
US7725602B2 (en) * 2000-07-19 2010-05-25 Akamai Technologies, Inc. Domain name resolution using a distributed DNS network
US8527639B1 (en) * 2000-08-18 2013-09-03 Cisco Technology, Inc. Content server selection for accessing content in a content distribution network
AU2001290546A1 (en) * 2000-08-22 2002-03-04 Akamai Technologies, Inc. Dynamic content assembly on edge-of-network servers in a content delivery network
US9130954B2 (en) 2000-09-26 2015-09-08 Brocade Communications Systems, Inc. Distributed health check for global server load balancing
US7454500B1 (en) 2000-09-26 2008-11-18 Foundry Networks, Inc. Global server load balancing
US7657629B1 (en) 2000-09-26 2010-02-02 Foundry Networks, Inc. Global server load balancing
US6813635B1 (en) * 2000-10-13 2004-11-02 Hewlett-Packard Development Company, L.P. System and method for distributing load among redundant independent stateful world wide web server sites
US6904602B1 (en) 2000-11-30 2005-06-07 Sprint Communications Company L.P. Method and apparatus for implementing persistence in trader services associated with a computer system
WO2002071242A1 (en) * 2001-03-01 2002-09-12 Akamai Technologies, Inc. Optimal route selection in a content delivery network
AU2002338270A1 (en) * 2001-04-02 2002-10-15 Akamai Technologies, Inc. Scalable, high performance and highly available distributed storage system for internet content
US7149797B1 (en) * 2001-04-02 2006-12-12 Akamai Technologies, Inc. Content delivery network service provider (CDNSP)-managed content delivery network (CDN) for network service provider (NSP)
US7624184B1 (en) * 2001-06-06 2009-11-24 Cisco Technology, Inc. Methods and apparatus for managing access to data through a network device
US7881208B1 (en) 2001-06-18 2011-02-01 Cisco Technology, Inc. Gateway load balancing protocol
JP2003141006A (ja) * 2001-07-17 2003-05-16 Canon Inc 通信システム、通信装置、通信方法、記録媒体及びプログラム
US7113980B2 (en) * 2001-09-06 2006-09-26 Bea Systems, Inc. Exactly once JMS communication
US6826601B2 (en) * 2001-09-06 2004-11-30 Bea Systems, Inc. Exactly one cache framework
JP4160506B2 (ja) 2001-09-28 2008-10-01 レヴェル 3 シーディーエヌ インターナショナル インコーポレーテッド. 構成可能な適応型広域トラフィック制御および管理
US7860964B2 (en) 2001-09-28 2010-12-28 Level 3 Communications, Llc Policy-based content delivery network selection
US7373644B2 (en) 2001-10-02 2008-05-13 Level 3 Communications, Llc Automated server replication
US20030079027A1 (en) 2001-10-18 2003-04-24 Michael Slocombe Content request routing and load balancing for content distribution networks
JP3857105B2 (ja) * 2001-10-30 2006-12-13 富士通株式会社 データ転送装置
JP2003228534A (ja) * 2001-11-30 2003-08-15 Ntt Docomo Inc 情報配信システム、記述データ配信装置、コンテンツ位置管理装置、データ変換装置、受信端末装置、情報配信方法
EP1324546A1 (en) * 2001-12-28 2003-07-02 Motorola, Inc. Dynamic content delivery method and network
US9167036B2 (en) 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
WO2003073311A1 (en) * 2002-02-21 2003-09-04 Bea Systems, Inc. System and method for message driven bean service migration
US20040006622A1 (en) * 2002-07-03 2004-01-08 Burkes Don L. Optimized process for balancing load for data mirroring
US7086061B1 (en) 2002-08-01 2006-08-01 Foundry Networks, Inc. Statistical tracking of global server load balancing for selecting the best network address from ordered list of network addresses based on a set of performance metrics
US7574508B1 (en) 2002-08-07 2009-08-11 Foundry Networks, Inc. Canonical name (CNAME) handling for global server load balancing
US7461147B1 (en) * 2002-08-26 2008-12-02 Netapp. Inc. Node selection within a network based on policy
US7136922B2 (en) * 2002-10-15 2006-11-14 Akamai Technologies, Inc. Method and system for providing on-demand content delivery for an origin server
JP4098610B2 (ja) * 2002-12-10 2008-06-11 株式会社日立製作所 アクセス中継装置
US7233981B2 (en) * 2003-02-27 2007-06-19 Nortel Networks Limited System and method for multi-site load-balancing of encrypted traffic
GB0306971D0 (en) * 2003-03-26 2003-04-30 British Telecomm Client server model
GB0306973D0 (en) * 2003-03-26 2003-04-30 British Telecomm Transmitting video
US7660896B1 (en) 2003-04-15 2010-02-09 Akamai Technologies, Inc. Method of load balancing edge-enabled applications in a content delivery network (CDN)
US7251691B2 (en) * 2003-07-11 2007-07-31 International Business Machines Corporation Autonomic predictive load balancing of output transfers for two peer computers for data storage applications
GB0319251D0 (en) * 2003-08-15 2003-09-17 British Telecomm System and method for selecting data providers
US7715934B2 (en) 2003-09-19 2010-05-11 Macrovision Corporation Identification of input files using reference files associated with nodes of a sparse binary tree
US9584360B2 (en) 2003-09-29 2017-02-28 Foundry Networks, Llc Global server load balancing support for private VIP addresses
US20050097185A1 (en) * 2003-10-07 2005-05-05 Simon Gibson Localization link system
US20050089014A1 (en) * 2003-10-27 2005-04-28 Macrovision Corporation System and methods for communicating over the internet with geographically distributed devices of a decentralized network using transparent asymetric return paths
US7676561B1 (en) * 2003-12-02 2010-03-09 Sun Microsystems, Inc. Method and apparatus for adaptive load balancing
US7269603B1 (en) 2003-12-17 2007-09-11 Sprint Communications Company L.P. Enterprise naming service system and method
US7657622B1 (en) * 2003-12-23 2010-02-02 At&T Intellectual Property Ii, L.P. Unified web hosting and content distribution system and method for assuring predetermined performance levels
US7457868B1 (en) * 2003-12-30 2008-11-25 Emc Corporation Methods and apparatus for measuring network performance
US7877810B2 (en) * 2004-03-02 2011-01-25 Rovi Solutions Corporation System, method and client user interface for a copy protection service
GB0406901D0 (en) * 2004-03-26 2004-04-28 British Telecomm Transmitting recorded material
US7584301B1 (en) 2004-05-06 2009-09-01 Foundry Networks, Inc. Host-level policies for global server load balancing
US7987181B2 (en) * 2004-06-16 2011-07-26 Symantec Operating Corporation System and method for directing query traffic
US7725601B2 (en) * 2004-10-12 2010-05-25 International Business Machines Corporation Apparatus, system, and method for presenting a mapping between a namespace and a set of computing resources
US8346956B2 (en) 2004-10-29 2013-01-01 Akamai Technologies, Inc. Dynamic image delivery system
US8145908B1 (en) 2004-10-29 2012-03-27 Akamai Technologies, Inc. Web content defacement protection system
US7685312B1 (en) * 2005-02-10 2010-03-23 Sun Microsystems, Inc. Resource location by address space allocation
US7640339B1 (en) * 2005-02-14 2009-12-29 Sun Microsystems, Inc. Method and apparatus for monitoring a node in a distributed system
US7941556B2 (en) * 2005-02-23 2011-05-10 At&T Intellectual Property I, Lp Monitoring for replica placement and request distribution
US7809943B2 (en) * 2005-09-27 2010-10-05 Rovi Solutions Corporation Method and system for establishing trust in a peer-to-peer network
US8856278B2 (en) 2005-11-16 2014-10-07 Netapp, Inc. Storage system for pervasive and mobile content
US8086722B2 (en) * 2005-12-21 2011-12-27 Rovi Solutions Corporation Techniques for measuring peer-to-peer (P2P) networks
US8447837B2 (en) * 2005-12-30 2013-05-21 Akamai Technologies, Inc. Site acceleration with content prefetching enabled through customer-specific configurations
JP2007193436A (ja) * 2006-01-17 2007-08-02 Fujitsu Ltd ログ検索プログラム、ログ管理装置、情報処理装置およびログ検索方法
US8254264B1 (en) * 2006-04-28 2012-08-28 Hewlett-Packard Development Company, L.P. Network latency estimation
US7685630B2 (en) * 2006-05-04 2010-03-23 Citrix Online, Llc Methods and systems for providing scalable authentication
JP5088969B2 (ja) * 2006-09-06 2012-12-05 アカマイ テクノロジーズ インコーポレイテッド ハイブリッドcdn−p2pにおけるコンテンツ配信方法
KR101382393B1 (ko) * 2007-01-16 2014-04-09 삼성전자주식회사 서버 및 그의 동시접속 제어 방법
US20090144338A1 (en) * 2007-11-30 2009-06-04 Yahoo! Inc. Asynchronously replicated database system using dynamic mastership
US8489731B2 (en) 2007-12-13 2013-07-16 Highwinds Holdings, Inc. Content delivery network with customized tracking of delivery data
US8200810B2 (en) * 2007-12-13 2012-06-12 Highwinds Holdings, Inc. Content delivery network
EP2240865B1 (en) * 2007-12-20 2020-11-04 Fast Health Corporation Method for redirecting a website upon the occurrence of a disaster or emergency event
US8015144B2 (en) 2008-02-26 2011-09-06 Microsoft Corporation Learning transportation modes from raw GPS data
US8972177B2 (en) 2008-02-26 2015-03-03 Microsoft Technology Licensing, Llc System for logging life experiences using geographic cues
US8458298B2 (en) * 2008-03-03 2013-06-04 Microsoft Corporation Failover in an internet location coordinate enhanced domain name system
US7991879B2 (en) 2008-03-03 2011-08-02 Microsoft Corporation Internet location coordinate enhanced domain name system
US8966121B2 (en) 2008-03-03 2015-02-24 Microsoft Corporation Client-side management of domain name information
US7930427B2 (en) * 2008-03-03 2011-04-19 Microsoft Corporation Client-side load balancing
EP2101503A1 (en) * 2008-03-11 2009-09-16 British Telecommunications Public Limited Company Video coding
US8171115B2 (en) * 2008-03-18 2012-05-01 Microsoft Corporation Resource equalization for inter- and intra- data center operations
US10924573B2 (en) 2008-04-04 2021-02-16 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US9762692B2 (en) 2008-04-04 2017-09-12 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US8930538B2 (en) 2008-04-04 2015-01-06 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US8160063B2 (en) * 2008-06-09 2012-04-17 Microsoft Corporation Data center interconnect and traffic engineering
US8127020B2 (en) * 2008-08-28 2012-02-28 Red Hat, Inc. HTTP standby connection
US7962613B2 (en) * 2008-11-14 2011-06-14 At&T Intellectual Property I, Lp System and method for modifying an allocation scheme based on a resource utilization
EP2200319A1 (en) 2008-12-10 2010-06-23 BRITISH TELECOMMUNICATIONS public limited company Multiplexed video streaming
US8065433B2 (en) 2009-01-09 2011-11-22 Microsoft Corporation Hybrid butterfly cube architecture for modular data centers
US9063226B2 (en) * 2009-01-14 2015-06-23 Microsoft Technology Licensing, Llc Detecting spatial outliers in a location entity dataset
EP2219342A1 (en) 2009-02-12 2010-08-18 BRITISH TELECOMMUNICATIONS public limited company Bandwidth allocation control in multiple video streaming
WO2010099513A2 (en) * 2009-02-27 2010-09-02 Coach Wei Adaptive network with automatic scaling
US20100223364A1 (en) * 2009-02-27 2010-09-02 Yottaa Inc System and method for network traffic management and load balancing
WO2010102084A2 (en) * 2009-03-05 2010-09-10 Coach Wei System and method for performance acceleration, data protection, disaster recovery and on-demand scaling of computer applications
US7966383B2 (en) * 2009-03-27 2011-06-21 Business Objects Software Ltd. Client-server systems and methods for accessing metadata information across a network using proxies
WO2010117623A2 (en) * 2009-03-31 2010-10-14 Coach Wei System and method for access management and security protection for network accessible computer services
US20100325182A1 (en) * 2009-06-17 2010-12-23 Ganz, An Ontario Partnership Consisting Of 2121200 Ontario Inc., And 2121812 Ontario Inc. Downloadable multimedia with access codes
US8839254B2 (en) * 2009-06-26 2014-09-16 Microsoft Corporation Precomputation for data center load balancing
US8189487B1 (en) 2009-07-28 2012-05-29 Sprint Communications Company L.P. Determination of application latency in a network node
US9009177B2 (en) 2009-09-25 2015-04-14 Microsoft Corporation Recommending points of interests in a region
US8199752B2 (en) * 2009-10-02 2012-06-12 Limelight Networks, Inc. Enhanced anycast for edge server selection
WO2011083965A2 (ko) * 2010-01-05 2011-07-14 주식회사 유섹 동적 그리드 시스템을 활용한 비정상 접속 차단 시스템
US20110202682A1 (en) * 2010-02-12 2011-08-18 Microsoft Corporation Network structure for data center unit interconnection
US8612134B2 (en) 2010-02-23 2013-12-17 Microsoft Corporation Mining correlation between locations using location history
US9261376B2 (en) 2010-02-24 2016-02-16 Microsoft Technology Licensing, Llc Route computation based on route-oriented vehicle trajectories
US10288433B2 (en) * 2010-02-25 2019-05-14 Microsoft Technology Licensing, Llc Map-matching for low-sampling-rate GPS trajectories
US8243960B2 (en) * 2010-03-04 2012-08-14 Bose Corporation Planar audio amplifier output inductor with current sense
US20110225120A1 (en) * 2010-03-11 2011-09-15 Yahoo! Inc. System for maintaining a distributed database using leases
US20110225121A1 (en) * 2010-03-11 2011-09-15 Yahoo! Inc. System for maintaining a distributed database using constraints
US8719198B2 (en) 2010-05-04 2014-05-06 Microsoft Corporation Collaborative location and activity recommendations
US9207993B2 (en) 2010-05-13 2015-12-08 Microsoft Technology Licensing, Llc Dynamic application placement based on cost and availability of energy in datacenters
US9183560B2 (en) 2010-05-28 2015-11-10 Daniel H. Abelow Reality alternate
US9593957B2 (en) 2010-06-04 2017-03-14 Microsoft Technology Licensing, Llc Searching similar trajectories by locations
US8549148B2 (en) 2010-10-15 2013-10-01 Brocade Communications Systems, Inc. Domain name system security extensions (DNSSEC) for global server load balancing
US8849469B2 (en) 2010-10-28 2014-09-30 Microsoft Corporation Data center system that accommodates episodic computation
US9063738B2 (en) 2010-11-22 2015-06-23 Microsoft Technology Licensing, Llc Dynamically placing computing jobs
US8825813B2 (en) 2010-12-28 2014-09-02 Microsoft Corporation Distributed network coordinate system based on network performance
US9595054B2 (en) 2011-06-27 2017-03-14 Microsoft Technology Licensing, Llc Resource management for cloud computing platforms
US9450838B2 (en) 2011-06-27 2016-09-20 Microsoft Technology Licensing, Llc Resource management for cloud computing platforms
US9754226B2 (en) 2011-12-13 2017-09-05 Microsoft Technology Licensing, Llc Urban computing of route-oriented vehicles
US20130166188A1 (en) 2011-12-21 2013-06-27 Microsoft Corporation Determine Spatiotemporal Causal Interactions In Data
US9191163B2 (en) * 2012-03-02 2015-11-17 CMMB Vision USA Inc. Systems and methods for hybrid content delivery
US9661002B2 (en) * 2012-03-14 2017-05-23 Daniel Kaminsky Method for user authentication using DNSSEC
US10652318B2 (en) * 2012-08-13 2020-05-12 Verisign, Inc. Systems and methods for load balancing using predictive routing
US8793527B1 (en) * 2013-02-28 2014-07-29 Peaxy, Inc. Apparatus and method for handling partially inconsistent states among members of a cluster in an erratic storage network
US9998530B2 (en) * 2013-10-15 2018-06-12 Nicira, Inc. Distributed global load-balancing system for software-defined data centers
GB2525434A (en) * 2014-04-25 2015-10-28 Ibm Method and device for duplicating a data center
US10234835B2 (en) 2014-07-11 2019-03-19 Microsoft Technology Licensing, Llc Management of computing devices using modulated electricity
US9933804B2 (en) 2014-07-11 2018-04-03 Microsoft Technology Licensing, Llc Server installation as a grid condition sensor
US9729663B2 (en) 2014-09-29 2017-08-08 Limelight Networks, Inc. Dynamic/shared PMTU cache
EP3079089A1 (en) 2015-04-08 2016-10-12 Siemens Healthcare GmbH Method for relocating medical data
US9992163B2 (en) 2015-12-14 2018-06-05 Bank Of America Corporation Multi-tiered protection platform
US9832229B2 (en) 2015-12-14 2017-11-28 Bank Of America Corporation Multi-tiered protection platform
US9832200B2 (en) 2015-12-14 2017-11-28 Bank Of America Corporation Multi-tiered protection platform
CN105704260B (zh) * 2016-04-14 2019-05-21 上海牙木通讯技术有限公司 一种互联网流量来源去向的分析方法
US10250450B2 (en) 2016-06-29 2019-04-02 Nicira, Inc. Distributed network troubleshooting using simultaneous multi-point packet capture
US10270674B2 (en) 2017-05-19 2019-04-23 Akamai Technologies, Inc. Traceroutes for discovering the network path of inbound packets transmitted from a specified network node
US11005929B1 (en) 2019-01-30 2021-05-11 Cisco Technology, Inc. Dynamic data center load balancing using border gateway protocol
US11283757B2 (en) 2019-06-25 2022-03-22 Akamai Technologies, Inc. Mapping internet routing with anycast and utilizing such maps for deploying and operating anycast points of presence (PoPs)
KR102338265B1 (ko) * 2019-10-07 2021-12-09 계명대학교 산학협력단 Ipfs 분산 스토리지 환경에서의 우주 기상 관측 데이터 모니터링 시스템 및 방법
CN111614954A (zh) * 2020-05-15 2020-09-01 腾讯科技(深圳)有限公司 流媒体的指标采集处理方法、装置、计算机及存储介质
CN114448990B (zh) * 2021-12-23 2023-06-23 天翼云科技有限公司 一种基于融合cdn的资源调度方法、装置及设备
CN115473871B (zh) * 2022-09-19 2023-08-04 广州市百果园网络科技有限公司 域名本地解析方法及其装置、设备、介质、产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11168505A (ja) * 1997-12-05 1999-06-22 Fujitsu Ltd 分散自律協調型の応答時間チューニングによる経路選択システム、方法、及び記録媒体
JPH11261580A (ja) * 1998-03-12 1999-09-24 Toshiba Corp ネットワークの情報検索経路調整装置および情報検索経路調整方法
JPH11331256A (ja) * 1998-05-20 1999-11-30 Mitsubishi Electric Corp ネットワーク接続先切り替えシステム
US6052718A (en) * 1997-01-07 2000-04-18 Sightpath, Inc Replica routing
WO2000028713A1 (en) * 1998-11-09 2000-05-18 Telefonaktiebolaget Lm Ericsson (Publ) Internet system and method for selecting a closest server from a plurality of alternative servers

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6003030A (en) * 1995-06-07 1999-12-14 Intervu, Inc. System and method for optimized storage and retrieval of data on a distributed computer network
AU714336B2 (en) * 1996-07-25 1999-12-23 Clearway Acquisition, Inc. Web serving system with primary and secondary servers
WO1998018076A1 (en) * 1996-10-18 1998-04-30 Intervu, Inc. System and method for optimized storage and retrieval of data on a distributed computer network
US6119143A (en) * 1997-05-22 2000-09-12 International Business Machines Corporation Computer system and method for load balancing with selective control
US6578077B1 (en) * 1997-05-27 2003-06-10 Novell, Inc. Traffic monitoring tool for bandwidth management
US6263368B1 (en) * 1997-06-19 2001-07-17 Sun Microsystems, Inc. Network load balancing for multi-computer server by counting message packets to/from multi-computer server
US6112257A (en) * 1997-09-24 2000-08-29 Emc Corporation Dynamic adjustment of mirror service policy for logical volumes in a disk drive system based on collected statistics
US6360262B1 (en) * 1997-11-24 2002-03-19 International Business Machines Corporation Mapping web server objects to TCP/IP ports
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6122666A (en) * 1998-02-23 2000-09-19 International Business Machines Corporation Method for collaborative transformation and caching of web objects in a proxy network
US6115752A (en) * 1998-05-21 2000-09-05 Sun Microsystems, Inc. System and method for server selection for mirrored sites
US6108703A (en) * 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US6295275B1 (en) 1998-08-19 2001-09-25 Mci Communications Corporation Dynamic route generation for real-time network restoration using pre-plan route generation methodology
US6327622B1 (en) * 1998-09-03 2001-12-04 Sun Microsystems, Inc. Load balancing in a network environment
CA2287813C (en) * 1998-10-22 2005-03-29 At&T Corp. System and method for network load balancing
US6442140B1 (en) * 1999-01-04 2002-08-27 3Com Corporation Method for automatic setup of missing RM cell count parameter CRM in an ATM traffic management descriptor
US6587878B1 (en) * 1999-05-12 2003-07-01 International Business Machines Corporation System, method, and program for measuring performance in a network system
US6295015B1 (en) * 1999-09-01 2001-09-25 Zenith Electronics Corporation Reference generator for demodulator calibration
US6405252B1 (en) * 1999-11-22 2002-06-11 Speedera Networks, Inc. Integrated point of presence server network
US6484143B1 (en) * 1999-11-22 2002-11-19 Speedera Networks, Inc. User device and system for traffic management and content distribution over a world wide area network
US6769030B1 (en) 2000-02-07 2004-07-27 International Business Machines Corporation Method and apparatus to evaluate and measure the optimal network packet size for file transfer in high-speed networks
US6820133B1 (en) * 2000-02-07 2004-11-16 Netli, Inc. System and method for high-performance delivery of web content using high-performance communications protocol between the first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination
US6684250B2 (en) * 2000-04-03 2004-01-27 Quova, Inc. Method and apparatus for estimating a geographic location of a networked entity
US6764030B2 (en) * 2001-01-12 2004-07-20 Diamond Power International, Inc. Sootblower nozzle assembly with an improved downstream nozzle

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052718A (en) * 1997-01-07 2000-04-18 Sightpath, Inc Replica routing
JP2001508258A (ja) * 1997-01-07 2001-06-19 ディヴィッド ケイ ギフォード レプリカルーティング
JPH11168505A (ja) * 1997-12-05 1999-06-22 Fujitsu Ltd 分散自律協調型の応答時間チューニングによる経路選択システム、方法、及び記録媒体
JPH11261580A (ja) * 1998-03-12 1999-09-24 Toshiba Corp ネットワークの情報検索経路調整装置および情報検索経路調整方法
JPH11331256A (ja) * 1998-05-20 1999-11-30 Mitsubishi Electric Corp ネットワーク接続先切り替えシステム
WO2000028713A1 (en) * 1998-11-09 2000-05-18 Telefonaktiebolaget Lm Ericsson (Publ) Internet system and method for selecting a closest server from a plurality of alternative servers

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101109915B1 (ko) * 2007-11-26 2012-02-24 에스케이플래닛 주식회사 리치 미디어 전송 시스템 및 그 제어방법
KR101137249B1 (ko) 2008-11-14 2012-04-20 에스케이플래닛 주식회사 복수의 cdn 사업자를 통한 컨텐츠 분배시스템 및 방법, 그 컨텐츠서버
WO2013057985A1 (ja) * 2011-10-21 2013-04-25 株式会社日立製作所 キャッシュサーバ解決方法、装置、及びシステム

Also Published As

Publication number Publication date
US7111061B2 (en) 2006-09-19
AU2001265051A1 (en) 2001-12-11
WO2001093530A2 (en) 2001-12-06
JP4690628B2 (ja) 2011-06-01
CA2450394A1 (en) 2001-12-06
WO2001093530A3 (en) 2002-10-17
EP1290853A2 (en) 2003-03-12
US20020129134A1 (en) 2002-09-12
CA2450394C (en) 2011-07-19

Similar Documents

Publication Publication Date Title
JP4690628B2 (ja) エンドユーザのコンテント要求を何れのミラーサイトが受信すべきかを決定する方法
US7096263B2 (en) Method for predicting file download time from mirrored data centers in a global computer network
US7251688B2 (en) Method for generating a network map
US7734815B2 (en) Global load balancing across mirrored data centers
US7028083B2 (en) Method for extending a network map
Madhyastha et al. iPlane: An information plane for distributed services
US7447798B2 (en) Methods and systems for providing dynamic domain name system for inbound route control
US7274658B2 (en) Optimal route selection in a content delivery network
US7657629B1 (en) Global server load balancing
US6795858B1 (en) Method and apparatus for metric based server selection
US7020698B2 (en) System and method for locating a closest server in response to a client domain name request
US20010049741A1 (en) Method and system for balancing load distribution on a wide area network
Valancius et al. Quantifying the benefits of joint content and network routing
JP5871908B2 (ja) ネットワーク内部のデータ通信を制御するための方法およびシステム
AU2010202981B2 (en) Global load balancing across mirrored data centers
Tomic et al. Implementation and efficiency analysis of composite DNS-metric for dynamic server selection
Tomić et al. Dynamic Server Selection by Using a Client Side Composite DNS-Metric
Lau Automating Geography-Based Redirection
Swain et al. A study of data source selection in distributed web server system
Triantafillou et al. Web Proxy Cache Placement, Replacement, and the ProxyTeller1
Ren Analysis and Implementation of Topology-Aware Overlay Systems on the Internet

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100528

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100616

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100827

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100903

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100927

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101004

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101026

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101129

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: 20110120

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110218

R150 Certificate of patent or registration of utility model

Ref document number: 4690628

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: 20140225

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

EXPY Cancellation because of completion of term