JP2004507128A - ミラーデータセンタ間のグローバル負荷分散 - Google Patents
ミラーデータセンタ間のグローバル負荷分散 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1034—Reaction to server failures by a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1038—Load balancing arrangements to avoid a single path through a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data 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
Description
(技術分野)
本発明は一般に高性能で、フォールトトレラントなコンテントデリバリに関するものであり、特にグローバルコンピュータネットワークの中のミラーデータセンタの負荷を分散するためのシステムと方法に関するものである。
【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】
【0036】
表1が示すように、待ち時間に基づいて、この例では東海岸のデータセンタは西海岸のデータセンタに比べてより小さいコアポイントに対する平均待ち時間をそなえるように現れている。次に、待ち時間の時間重み付けされた平均と損失の時間重み付けされた平均が演算される。重みは形成可能な時定数(たとえば、300秒の時定数)で時間とともに指数的に減衰する。tiがi番目の測定時点、xiが測定された値(たとえば、xiは待ち時間の測定値latiまたは損失の測定値lossiであり得る)である測定系列(ti,xi)に対して、待ち時間の時間重み付けされた平均が次のように演算される。
【0037】
時定数C=300秒と仮定し、表1のデータを使用して、平均待ち時間の時系列は次のように演算される。
データを使用して、データセンタ300に対する平均待ち時間は次のように演算される。
【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)
- 一組のコンテントプロバイダミラーサイトの中のどれがエンドユーザの最初のコンテント要求を受信すべきかを決定する方法であって、
一組のミラーサイトの各々から発して与えられたネームサーバに向かうトレースが交差するインタネット内の与えられたポイントを各代理ポイントが表す、一組の代理ポイントを識別することと、
代理ポイントを精査することにより、与えられたデータを生成することと、
前記与えられたデータに基づいて各ミラーサイトに対するダウンロード予測子スコアを生成することと、
前記ダウンロード予測子スコアに基づいてどのミラーサイトが最良のダウンロード性能を与えるかを識別することと、
与えられたネームサーバIPアドレスを前記識別されたミラーサイトと結合することと、
与えられたローカルネームサーバに対するエンドユーザの最初のコンテント要求に応答して、前記識別されたミラーサイトのIPアドレスを返送することと
を含む決定方法。 - 一組のミラーサイトで複製される(replicated)コンテントプロバイダウェブサイトに対するユーザの最初の要求を最適化する方法であって、
前記コンテントプロバイダウェブサイトに要求を行っているエンドユーザのローカルネームサーバに応答して、一組の代理ポイントからミラーサイトへの相対接続性を推定するネットワークマップをそなえるグローバル負荷分散サービスに前記要求を向かわせることと、
前記ネットワークマップを使用して、前記要求がサービスを受けられる最適のミラーサイトを表すIPアドレスを前記エンドユーザのローカルネームサーバに返送することと
を含む最適化方法。 - 各コアポイントがミラーサイトから発してローカルネームサーバに至るトレースルートの交差点を表す、請求項2記載の最適化方法。
- 一組のミラーサイトで複製されるコンテントプロバイダウェブサイトに対するユーザの最初の要求をルーチングする方法であって、
前記コンテントプロバイダウェブサイトに要求を行っているエンドユーザのローカルネームサーバに応答して、一組の代理ポイントからミラーサイトへの相対接続性を推定するネットワークマップをそなえるグローバル負荷分散サービスに前記要求を向かわせることと、
前記エンドユーザのローカルネームサーバを前記ミラーサイトの一つに結合するデータを前記ネットワークマップが含むかどうかを判定することと、
前記データを前記ネットワークマップが含まない場合には、デフォルトルーチング機構を使用して前記要求に応答すべき与えられたミラーサイトを識別することと
を含む要求ルーチング方法。 - 前記デフォルトルーチング機構がBGPである、請求項4記載の要求ルーチング方法。
- 前記デフォルトルーチング機構が地理ルーチング(geo−routing)である、請求項4記載の要求ルーチング方法。
- ミラーサイトを運用している一組のコンテントプロバイダに対するグローバルトラヒックリダイレクションの管理方法であって、
ミラーサイトのホストとなる一組のデータセンタの各々から、一組のコアポイントの各々に対して、与えられたネットワークテストを実行することと、
前記与えられたネットワークテストを実行することにより生成されたデータに基づいて、与えられた計量の時間重み付けされた平均を生成することと、
コアポイント当たり各データセンタに対するスコアを生成することと、
一組のネームサーバの各々に対する一組の候補データセンタを生成することと、
候補データセンタを一組のIPアドレス空間ブロックの各々に結合することによりマップを生成することと、
前記マップをネームサーバに与えることと、
前記マップを使用することにより、ミラーサイトに対するエンドユーザの要求を与えられたデータセンタに向かわせることと
を含むグローバルトラヒックリダイレクション管理方法。 - 前記与えられたネットワークテストがピングテスト(ping test)である、請求項7記載のグローバルトラヒックリダイレクション管理方法。
- 前記与えられた計量が待ち時間(latensy)またはパケット損失である、請求項7記載のグローバルトラヒックリダイレクション管理方法。
- 前記一組の候補データセンタから、与えられた運用基準に適合しないどのデータセンタをも廃棄するステップをも含む、請求項7記載のグローバルトラヒックリダイレクション管理方法。
- 前記与えられた運用基準がファイルダウンロードテストを使用して評価される、請求項10記載のグローバルトラヒックリダイレクション管理方法。
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)
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)
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)
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)
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 |
-
2001
- 2001-05-25 AU AU2001265051A patent/AU2001265051A1/en not_active Abandoned
- 2001-05-25 CA CA2450394A patent/CA2450394C/en not_active Expired - Lifetime
- 2001-05-25 WO PCT/US2001/017176 patent/WO2001093530A2/en active Application Filing
- 2001-05-25 EP EP01939545A patent/EP1290853A2/en not_active Withdrawn
- 2001-05-25 JP JP2001588195A patent/JP4690628B2/ja not_active Expired - Lifetime
- 2001-05-29 US US09/866,897 patent/US7111061B2/en not_active Expired - Lifetime
Patent Citations (6)
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)
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 |