JP2011509029A - エニーキャストを介したマップレスグローバルトラフィック負荷のバランシング - Google Patents

エニーキャストを介したマップレスグローバルトラフィック負荷のバランシング Download PDF

Info

Publication number
JP2011509029A
JP2011509029A JP2010540864A JP2010540864A JP2011509029A JP 2011509029 A JP2011509029 A JP 2011509029A JP 2010540864 A JP2010540864 A JP 2010540864A JP 2010540864 A JP2010540864 A JP 2010540864A JP 2011509029 A JP2011509029 A JP 2011509029A
Authority
JP
Japan
Prior art keywords
network
server
servers
client
request
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
JP2010540864A
Other languages
English (en)
Other versions
JP5255653B2 (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 JP2011509029A publication Critical patent/JP2011509029A/ja
Application granted granted Critical
Publication of JP5255653B2 publication Critical patent/JP5255653B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • 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
    • 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
    • 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/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • 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/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer

Abstract

クライアントと最も近いウェブサーバとの間の接続を指示するための技術について説明する。ネットワークの情報提供DNSリゾルバがネットワークの端部に配置される。エニーキャストを使用して、情報提供DNSリゾルバが、自身の宛先ネットブロックのルートをインターネットに通知する。クライアントからのネットワークに接続するための要求が、BGPテーブルに基づいて最も近い特定の情報提供DNSリゾルバへルーティングされる。要求が受信されると、応答が最も近いウェブサーバのIPアドレスと共にクライアントへ送信される。ネットワーク内の健康診断の測定結果を通じて最も近いウェブサーバが決定され、情報提供DNSリゾルバが自身に最も近いIPアドレスを動的に選択する。パケットを最も近い情報提供DNSリゾルバへ向けるルーティングプロトコルが、後続するトラフィックのネットワークへのルートも指示する。従って、情報提供DNSリゾルバにより選択された最も近いウェブサーバが、クライアントに最も近いウェブサーバとなる。
【選択図】図3A

Description

本発明は、ネットワーク上のグローバルトラフィック管理に関し、特に、ある基準に基づいてクライアントを特定のサーバへ向けることに関する。
この項で説明するアプローチは追求できるアプローチではあるが、必ずしも以前から想到又は追求されていたアプローチではない。従って、他に指示がない限り、この項で説明するアプローチのいずれかを、単にこの項に含まれているという理由で従来技術として見なすべきではない。
グローバルロードバランシングすなわち「GLB」は、サーバへのクライアントアクセスを分散したサーバの組全体に分散させる。クライアントアクセスが分散されるサーバの組は、例えばインターネットなどのワイドエリアネットワーク上のサーバであってもよい。説明する目的で、GLBを使用してインターネット上のサーバ全体にクライアントアクセスを分散させる例について考えてみる。クライアントアクセスのためのサーバの種類は様々であり、以下に限定されるわけではないが、HTTPウェブサーバ、FTPサーバ、SMTP(メール)サーバ、その他の標準的なインターネットプロトコルサーバ、又は専用プロトコルを有するサーバが挙げられる。本明細書で使用する場合、「サーバ」という用語は上記のいずれかの種類のサーバを意味するものとする。
多くのGLBは、様々な能動的及び受動的モニタリング技術を使用して複雑なインターネットのマップを生成する。このマップに基づき、GLBは、トラフィックルーティングを決定してクライアントを「最も近い」サーバに接続する。本明細書で使用する場合、「近い」とは、必ずしも決定の基礎を地理的な近さのみに置くことを意味するものではない。本明細書で使用する場合、「近い」サーバとは、クライアントへの接続が最も速いサーバのことである。従って、ネットワークの混雑により、クライアントが200マイル離れたところにあるサーバに到達するよりも100マイル離れたところにあるサーバに到達する方が遅い場合、GLBは、クライアントを200マイル離れたサーバへルーティングする。
グローバルロードバランシングの最も一般的な形は、図1に示すドメインネームサービス(「DNS」)に基づくものである。図1に示すシステムでは、地理的に異なるエリアに位置することができる2又はそれ以上のデータセンタが、ウェブアプリケーションをホストできる数多くのサーバを含む。クライアント105が、2つのデータセンタの各々によりホストされるウェブアプリケーションに接続したいと望む。例えば、ウェブアプリケーションをホストする一方のデータセンタがニューヨーク103に位置し、ウェブアプリケーションをホストする他方のデータセンタがサンフランシスコ101に位置することがある。
インターネットサービスプロバイダ(「ISP」)は、ISPのネットワーク内に存在するとともにISPのユーザと通信してこれらのDNS要求を処理する、再帰的DNSリゾルバとも呼ばれる集中型ローカルネームリゾルバを使用することができる。クライアントがローカルネームリゾルバと通信し、ローカルネームリゾルバは、ユーザが要求する情報をどこで発見すべきかを判断する。ドメインの情報提供(authoritative)DNSリゾルバが、ローカルネームリゾルバから要求を受け取り、ドメインのIPアドレスをローカルネームリゾルバへ送信する。ドメインの情報提供DNSリゾルバとは、ドメインのネットワーク内に存在してこのネットワークのデータを保持するサーバのことである。GLBは、情報提供DNSリゾルバの一部であってもよく、或いは情報提供DNSリゾルバとは別個のものであってもよい。本明細書で使用する場合、「リゾルバ」という用語は情報提供DNSリゾルバのことを意味するものとするが、GLBがこの一部であってもなくてもよい。
例えば、図1では、クライアント105が、「www.sampledomain.com.」などのドメイン名を含む要求111をローカルネームリゾルバ107へ送信する。ローカルネームリゾルバ107は、「www.sampledomain.com.」の所有者である情報提供DNSリゾルバ109に「www.sampledomain.com.」のIPアドレスを要求する(115)。「www.sampledomain.com.」の情報提供DNSリゾルバ(及びGLB)109は、GLBにより生成されたマップ内の情報に基づくデータセンタのIPアドレスでローカルネームリゾルバ107に応答する。GLBが、サンフランシスコ101にあるデータセンタへの高トラフィックを検出した場合、GLBは、ニューヨークにあるデータセンタ103の方がクライアント105から地理的にかなり離れているとしても、ニューヨークにある「より近い」データセンタ103への接続を送信することができる。ローカルネームリゾルバ107は、ニューヨーク103にあるデータセンタのIPアドレスをクライアント105へ送信する。この時に初めて、クライアント105は、ニューヨーク103にあるデータセンタに接続(119)を行い、サンフランシスコ101にあるデータセンタには接続(117)しない。
ファイバの切断、装置の問題、容量の問題、ネットブロックの移動、又は人の介入などによりネットワークトポロジー又は接続性が変化した時に、多くの場合ゼロからインターネットマップを再構築する必要がある。マップの作成又は更新に使用するプロトコル及びアルゴリズムにもよるが、この処理はかなりの時間を必要とする場合がある。インターネットトポロジーの動的性質に起因して、GLBは、完全で正確なインターネットのモデルを保持することが困難となる場合がある。この結果生じるマップの不正確性が誤ったルーティング決定につながる可能性があり、これがクライアントにとって深刻な影響をサーバ性能に与える可能性がある。この結果、DNSベースのGLBを使用してインターネットのマップを生成し保持することに基づかない「最も近い」接続をサーバに提供する技術の必要性が存在する。
本発明を、同じ参照数字が類似の要素を示す添付図面の図に限定としてではなく例示として示す。
DNSに基づくグローバルロードバランシングを示す図である。 本発明の実施形態による、最も近いGLB/情報提供DNSサーバにルーティングされるネーム解決要求IPパケットを示す図である。 本発明の実施形態によるウェブサーバに接続するクライアントを示す図である。 本発明の実施形態による、フェイルオーバーが発生したウェブサーバに接続するクライアントを示す図である。 本発明の実施形態を実施できるコンピュータシステムを示すブロック図である。
サーバが属する(インターネットなどの)ネットワークのマップを生成することに依拠しない技術を使用してクライアントをサーバに接続するための技術について説明する。以下の説明では、説明を目的として、本発明の完全な理解をもたらすために数多くの特定の詳細について記載する。しかしながら、本発明は、これらの特定の詳細を伴わずに実施できることが明らかであろう。その他の場合、本発明を不必要に曖昧にしないために、周知の構造及び装置についてはブロック図形式で示す。
概要
ある実施形態では、プロバイダのネットワークの端部の異なる場所に複数の情報提供DNSリゾルバが配置される。本明細書で使用する場合、ネットワークの「端部(edge)」とは、ネットワークの別のネットワークからの接続ポイント又はエントリポイントであるネットワークの部分のことである。他のネットワークとして、以下に限定されるわけではないが、別の私的ネットワーク又はインターネットを挙げることができる。プロバイダのネットワークはまた、クライアントをプロバイダのネットワークに接続できるサーバも含む。プロバイダのネットワーク内のサーバの種類は様々であってもよく、以下に限定されるわけではないが、HTTPウェブサーバ、FTPサーバ、SMTP(メール)サーバ、その他の標準的なインターネットプロトコルサーバ、又は専用プロトコルを有するサーバを含む。複数の情報提供DNSリゾルバは、IPパケットを「最も近い」情報提供DNSリゾルバへルーティングできるようにする宛先IPアドレスを通知(announce)する。情報提供DNSリゾルバが、プロバイダのネットワークに接続するための要求をクライアントから受け取った場合、情報提供リゾルバは、クライアントが接続できるウェブサーバのIPアドレスで応答する。
ある実施形態では、グローバルロードバランシングが、情報提供DNSリゾルバとともに、応答中の情報提供DNSリゾルバまでのウェブサーバの「近さ」に基づいて、ウェブサーバへのIPアドレスを動的に選択する。パケットを特定の情報提供DNSリゾルバへ向けたルーティングプロトコルが、プロバイダのネットワークへの後続するトラフィックフローのルートも指図する。従って、情報提供DNSリゾルバにより選択される最も近いウェブサーバは、クライアントに最も近いウェブサーバでもある。その後、クライアントは、情報提供DNSリゾルバにより指定されたウェブサーバに直接接続する。
これらの方法は、インターネットのマップを構築又は保持する必要なく、クライアントを「最も近い」利用可能なサーバへ動的にリアルタイムで向ける機能を提供する。基本プロトコルが、障害又はトポロジーの変化に対して動的及び自己修正されるように設計されているので、マップの更新に数週間が必要であることとは対照的に、変化に対する秒単位の反応時間で正確なトラフィックルーティングの決定を行うことができる。インターネットのパケットフローを管理してグローバルロードバランシングを決定する同じ基本プロトコルを使用して、本技術は、より正確かつタイムリーなトラフィックルーティングを提供し、この結果向上したウェブサイト性能をもたらすことができる。
エニーキャスト
ある実施形態では、ネットワークの端部の異なる場所に配置された情報提供DNSリゾルバとともにエニーキャストを使用して、クライアントを「最も近い」情報提供DNSリゾルバにルーティングする。エニーキャストとは、各々が同じIPアドレスを有する複数の利用可能なサーバの場所の1つへインターネットトラフィックをルーティングする方法のことである。ある実施形態では、ネットワークの端部に配置された情報提供DNSリゾルバの2以上に同じIPアドレスが与えられることにより、クライアントIPパケットが最も近い情報提供DNSリゾルバにルーティングされるようになる。エニーキャストは、ユニキャスト及びマルチキャストという用語に似ている。ユニキャストでは、ソースネットワークアドレスと宛先ネットワークエンドポイントとの間に1対1の関係が存在する。マルチキャストでは、ソースネットワークアドレスと宛先ネットワークエンドポイントとの間に1対多の関係が存在する。個々の宛先アドレスが受信者エンドポイントの組を識別し、全ての情報が複製される。対照的に、エニーキャストは、ソースネットワークアドレスと潜在的宛先ネットワークエンドポイントとの間が1対任意の関係にある。個々の宛先アドレスは受信者エンドポイントの組を識別するが、任意の時点においてこれらのうちの1つのみが選択されて、任意の送信者からの情報を受信する。
エニーキャストは、これを全てのインターネットプロトコルに対しては使用できないという不都合を有する。例えば、エニーキャストは、TCPストリーム内の全てのパケットを同じ宛先に届ける必要がある場合、一貫したポイントツーポイント通信を保証することができず、またTCPストリームに依拠するウェブトラフィックアプリケーションにエニーキャストを使用することはできない。エニーキャストはまた、接続の状態を維持することもできない。しかしながら、エニーキャストは、DNSネーム解決などの単一のパケット要求及び応答プロトコルを使用するアプリケーションには有用である。
エニーキャストは、ボーダーゲートウェイプロトコル(「BGP」)を使用することにより実施することができる。BGPは、インターネットのコアルーティングプロトコルである。BGPは、IPネットワークのルーティングテーブル、又はネットワークに到達する能力を指定する「プレフィックス」を保持することにより機能する。ルーティングテーブル内の情報として、以下に限定されるわけではないが、宛先ネットワークのIPアドレス、パケットを送信すべき経路のコスト、及び「ネクストホップ」とも呼ばれる、宛先への途中でパケットを送信すべき次のステーションのアドレスを挙げることができる。この結果、BGPは、利用可能な経路及びネットワークポリシーに基づいてルーティング決定を行う。例えば、同じ宛先への利用可能な2つの経路が存在し、第2の経路よりも第1の経路の方がコストが低い場合、コストが主な問題である場合には第1の経路ルーティングを選択することができる。別の例では、同じ宛先への利用可能な2つの経路が存在する場合、どちらの経路の方がパケットを宛先に速く届けることができるかによってルーティングを決定することができる。これにより「最も近い」ルートが戻される。経路を選択するための基準は実施構成ごとに異なってもよい。
エニーキャストはDNSに関して広範に使用されてきた。例えば、DNSでは、クライアントが、ネーム解決に関する単一のパケット要求を、複数の情報提供DNSリゾルバのいずれか1つが応答する大規模ネットワークへ送信することができる。この要求を満たすために、接続又はTCPストリームの状態は要求されないので、DNSはエニーキャストのための理想的なアプリケーションである。エニーキャストでは、同じプレフィックス、又は宛先IPアドレスのブロックが、インターネット上の多くの異なる場所から同時に通知される。この結果、特定のプレフィックスにアドレス指定されたIPパケットを、所与のプレフィックスを通知したインターネット上の「最も近い」場所へルーティングすることができる。
ある実施形態では、DNSアドミニストレータが、ネットワークの端部にある単一のIPアドレスの背後にマスクされた複数の場所にわたって複数のサーバを配置する。BGPを使用して、情報提供DNSリゾルバ、又は情報提供サーバの前にあるルータが、ネットワークの端部からこれらの宛先IPブロックへのルートをインターネット全体に通知する。本明細書では、情報提供DNSリゾルバのIPブロックへのルートを通知する場合、情報提供DNSリゾルバとは、情報提供DNSリゾルバ自体、情報提供DNSリゾルバの前にあるルータ、又は情報提供DNSリゾルバの一部であり得るGLBサーバのことを意味することができる。
クライアントがネットワークに接続したいと望む場合、クライアントは、ネーム解決IPパケットをネットワークへ送信する。着信IPパケットは、BGPテーブルに基づいて、クライアントからプロバイダのネットワーク内の「最も近い」情報提供DNSリゾルバへの最短経路によりルーティングされる。
この技術の例を図2に示す。図2では、クライアント201がネットワーク221に接続したいと望む。ネットワークの例は、ドメイン「www.sampledomain.com.」に関するネットワークであってもよい。ネットワーク219の端部の異なる場所又はエントリポイントに(グローバルロードバランシングを含む)情報提供DNSリゾルバが配置されている。エントリポイント215はDNSリゾルバ203を含み、エントリポイント217はDNSリゾルバ205を含み、エントリポイント219はDNSリゾルバ207を含む。ネットワークはまた、クライアントに接続できるウェブサーバ209、211、及び213も含む。
エニーキャストを使用して、情報提供DNSリゾルバ、又は情報提供DNSリゾルバの前にあるルータの2以上が、「www.sampledomain.com」ネットワークに関する同じIP宛先アドレス又はプレフィックスを隣接するネットワークに通知し、これらの隣接するネットワークを介してインターネット全体に通知する。この通知に少なくとも部分的に基づいて、BGPが、ルータ223、225、227及び229に記憶されるルーティングテーブルを生成する。クライアント201が「www.sampledomain.com」ネットワークに接続したいと望む場合、クライアント201はネーム解決IPパケットを送信する。IPパケットは、ネットワークへのあらゆる経路をたどることができる。IPパケットが経路251をたどる場合、IPパケットはルータ223に到達する。ルータ223は、経路253経由による情報提供DNSリゾルバ203への接続を示すルーティングテーブルを含む。ルータ223からの経路257はルータ225に接続する。IPパケットが経路255をたどる場合、IPパケットはルータ225に到着する。ルータ225において、経路259はルータ227に通じる。ルータ227からは、ネットワーク及びDNSリゾルバ205への経路261を取ることができる。経路263はルータ229に通じる。ルータ229は、経路265を経由してDNSリゾルバ207に接続することができる。このようにして、クライアント201は、1つのルータ(ルータ223)ホップを介してDNSリゾルバ203に、2つのルータホップ(ルータ225、227)を介してDNSリゾルバ205に、及び3つのルータホップ(ルータ225、227、229)を介してDNSリゾルバ207に接続することができる。
BGPに基づき、IPパケットは、最短経路を使用してネットワーク221へルーティングされる。いくつかの例では、情報提供DNSリゾルバ203への経路251及び経路253を取ることが地理的及び速度的に最も近いものとなり得る。その他の例では、経路255−259−261などの、より地理的に長い経路が速度的に「より近い」ものとなる場合があり、この経路上でIPパケットがルーティングされる。
最も近いウェブサーバの選択
ある実施形態では、グローバルロードバランシング(「GLB」)により、情報提供DNSリゾルバが着信ネーム解決要求に動的応答を提供できるようになる。ネーム解決要求が、エニーキャストを使用する「最も近い」情報提供DNSリゾルバにより受信されると、この情報提供DNSリゾルバに対して「最も近い」利用可能なウェブサーバのIPアドレスを含む応答が行われる。本明細書で使用する場合、以下に限定されるわけではないが、地理的な近さ、トラフィックロード、操作性、及びウェブサーバの健康状態を含む多くの要素により、「近い」ウェブサーバを決定することができる。
IPパケットをクライアントから特定の情報提供DNSリゾルバへ向けた基本ルーティングプロトコルは、後続する接続トラフィックのルートもプロバイダのネットワークへ向けるので、情報提供DNSリゾルバに「最も近い」ウェブサーバは、クライアントに「最も近い」ウェブサーバでもある。
ある実施形態では、定期的な健康診断中に、いずれのウェブサーバが情報提供DNSリゾルバに「最も近い」かが判断される。ウェブサーバの健康診断では、情報提供DNSリゾルバが、構成されるウェブサーバの全てにポーリングを行う。情報提供DNSリゾルバは、いずれのサーバが利用可能であるか、及びいずれのサーバが最も近いかに関する情報を収集する。ウェブサーバの健康状態を調べることにより利用可能性を判断することができ、ウェブサーバから情報提供DNSリゾルバへの応答の待ち時間により近さを判断することができる。この情報が収集され処理されると、情報提供DNSリゾルバは、最も近い利用可能なウェブサーバのIPアドレスでネーム解決要求に応答する。後続するTCPトラフィックフローは、ネットワークの端部にある情報提供DNSリゾルバを通過してウェブサーバに到達するので、このウェブサーバが、クライアントに最も近い利用可能なウェブサーバにもなる。
本発明のある実施形態による、サーバに接続中のクライアントの例を図3Aに示す。クライアント319がネットワーク300に接続したいと望む。ネットワークの端部又はエントリポイントには、「1.1.1.1」の宛先IPアドレスを通知する(情報提供DNSリゾルバを含む)GLB301、303、及び305が位置する。エントリポイント313はDNSリゾルバ301を含み、エントリポイント315はDNSリゾルバ303を含み、エントリポイント317はDNSリゾルバ305を含む。
ネットワークはまた、クライアントとTCP接続を行うことができるウェブサーバも含む。この例では、ウェブサーバ307が「2.2.2.2」のIPアドレスを有する。ウェブサーバ309は「3.3.3.3」のIPアドレスを有し、ウェブサーバ311は「4.4.4.4」のIPアドレスを有する。
クライアント319がネットワーク300に接続したいと望む場合、クライアント319は、ネーム解決IPパケットをネットワーク300へ送信する。IPパケットは、BGPを介して「最も近い」情報提供DNSリゾルバ301へルーティングされる。この特定の図には、エニーキャスト及びBGPの処理は示していない。この例では、クライアント319がIPパケットを送信し、これが経路323を経由して「最も近い」情報提供DNSリゾルバへルーティングされるが、この場合の情報提供DNSリゾルバは情報提供DNSリゾルバ301である。情報提供DNSリゾルバ301は、利用可能なウェブサーバの各々の健康診断を既に行っている。情報提供DNSリゾルバ301は、経路329を介してウェブサーバ307に、経路327を介してウェブサーバ309に、経路325を介してウェブサーバ311にポーリングを行う。この例では、情報提供DNSリゾルバ301は、ウェブサーバ307が「最も近い」と判断する。この結果、情報提供DNSリゾルバ301は、ウェブサーバ307のIPアドレス(「2.2.2.2」)をクライアント319へ送信する。この結果、クライアントは、同じ基本プロトコルを使用して、情報提供DNSリゾルバ301が位置するネットワークの端部に接続を行ってウェブサーバ307に接続する。このようにして、クライアント319は、インターネットのマップを生成せずに最も近いウェブサーバ307に接続することができる。
サーバフェイルオーバー
ある実施形態では、選択された情報提供DNSサーバに近いウェブサーバが存在しなかったり、或いはウェブサーバに障害がある場合、クライアントからウェブサーバへの接続は依然として、選択された情報提供DNSリゾルバと同じネットワークエントリポイントを通過する。このことは、フェイルオーバー又はオーバーロードフィードバックにおいて発生する場合がある。本明細書で使用する場合、サーバのフェイルオーバーとは、以前アクティブであったサーバの障害又は異常終了時に冗長化サーバ又はスタンバイサーバに自動的に切り換わる機能のことを意味する。本明細書で使用する場合、オーバーロードフィードバックとは、ワーク又はネットワークトラフィックの量が、指定の閾値を超えていること、及び異なるサーバに対する接続要求を行うべきであることを示すサーバ又はネットワークからの情報のことを意味する。このことを図3Bに示す。
図3Bでは、ウェブサーバ307に障害がある。これは、動作障害又はトラフィックオーバーロードに起因し得る。障害は、情報提供DNSリゾルバ301により通常の健康診断下において検出される。クライアントは、図3Aに示すものと同じ「近い」情報提供DNSリゾルバ301へルーティングされる。この状況下では、クライアントは、依然として同じネットワークエントリポイント313を通過する。情報提供DNSリゾルバ301は、「最も近い」ウェブサーバは機能していないウェブサーバ307ではなくウェブサーバ309であると判断する。情報提供DNSリゾルバ301は、ウェブサーバ309のIPアドレス(「3.3.3.3」)をクライアント319へ送信する。この結果、クライアント319は、エントリポイント313を介して接続を行い、経路331をとってウェブサーバ309に接続する。
ある実施形態では、クライアントがウェブサーバに接続されているときにウェブサーバに障害が起きた場合、クライアントは、ネーム解決IPパケットをネットワークに再送信してネットワークに再接続する。初期接続が行われたときと同じ情報提供DNSリゾルバへIPパケットをルーティングすることができる。情報提供DNSリゾルバは、ポーリングによる利用可能性及び近接性に基づいてウェブサーバを選択する。障害のあるウェブサーバはこれ以上利用できない。新しく選択されたウェブサーバのIPアドレスがクライアントへ送信され、クライアントから新しく選択されたウェブサーバに接続が設定される。
ハードウェアの概要
図4は、本発明の実施形態を実施できるコンピュータシステム400を示すブロック図である。コンピュータシステム400は、情報を通信するためのバス402又はその他の通信機構、及び情報を処理するための、バス402に結合されたプロセッサ404を含む。コンピュータシステム400はまた、プロセッサ404により実行される情報及び命令を記憶するための、バス402に結合されたランダムアクセスメモリ(RAM)又はその他の動的記憶装置などのメインメモリ406も含む。メインメモリ406を使用して、プロセッサ404により実行される命令の実行中に一時的変数又はその他の中間情報を記憶することもできる。コンピュータシステム400は、プロセッサ404のための静的情報及び命令を記憶するための、バス402に結合された読出し専用メモリ(ROM)408又はその他の静的記憶装置をさらに含む。情報及び命令を記憶するための磁気ディスク又は光ディスクなどの記憶装置410が提供され、バス402に結合される。
コンピュータシステム400を、バス402を介して、コンピュータユーザに情報を表示するためのブラウン管(CRT)などのディスプレイ412に結合することができる。情報及びコマンド選択をプロセッサ404に通信するための英数字及びその他のキーを含む入力装置414がバス402に結合される。別の種類のユーザ入力装置には、方向情報及びコマンド選択をプロセッサ404に通信するとともにディスプレイ412上のカーソルの動きを制御するためのマウス、トラックボール、又はカーソル方向キーなどのカーソル制御416がある。通常、この入力装置は、装置が平面内で位置を特定できるようにする、(xなどの)第1軸及び(yなどの)第2軸の2つの軸の形の2つの自由度を有する。
本発明は、本明細書で説明する技術を実施するためのコンピュータシステム400の使用に関する。本発明の1つの実施形態によれば、これらの技術は、メインメモリ406に含まれる1又はそれ以上の命令の1又はそれ以上の連続をプロセッサ404が実行することに応答してコンピュータシステム400により実行される。このような命令を、記憶装置410などの別の機械可読媒体からメインメモリ406に読み込むことができる。メインメモリ406に含まれる一連の命令を実行することにより、本明細書で説明する処理ステップをプロセッサ404が実行するようになる。代替の実施形態では、ソフトウェア命令の代わりに、又はソフトウェア命令と組み合わせて配線回路を使用して本発明を実施することができる。従って、本発明の実施形態は、ハードウェア回路とソフトウェアとのいずれの特定の組み合わせにも限定されるものではない。
本明細書で使用する「機械可読媒体」という用語は、特定の様式で機械を動作させるデータを提供することに関与するあらゆる媒体のことを意味する。コンピュータシステム400を使用して実施される実施形態では、例えば、実行用のプロセッサ404に命令を提供することに様々な機械可読媒体が関与する。このような媒体は、以下に限定されるわけではないが、記憶媒体及び送信媒体を含む多くの形を取ることができる。記憶媒体として、不揮発性媒体及び揮発性媒体の両方が挙げられる。不揮発性媒体としては、例えば記憶装置410などの光又は磁気ディスクが挙げられる。揮発性媒体としてはは、メインメモリ406などの動的メモリが挙げられる。送信媒体として、バス402を含むワイヤを含む、同軸ケーブル、銅線及び光ファイバが挙げられる。送信媒体はまた、電波及び赤外線データ通信中に生成されるような音波又は光波の形を取ることもできる。このような媒体は全て、媒体によって運ばれた命令を、機械に命令を読み込む物理機構により検出できるようにするために有形のものでなければならない。
機械可読媒体の共通形式として、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、又は他のあらゆる磁気媒体、CD−ROM、他のあらゆる光媒体、パンチカード、紙テープ、穴のパターンを含む他のあらゆる物理媒体、RAM、PROM、及びEPROM、FLASH−EPROM、他のあらゆるメモリチップ又はカートリッジ、以下で説明するような搬送波、又はコンピュータが読み込むことのできる他のあらゆる媒体が挙げられる。
実行用のプロセッサ404に1又はそれ以上の命令の1又はそれ以上のシーケンスを搬送する際に、様々な形の機械可読媒体を関与させることができる。例えば、最初に命令を遠隔コンピュータの磁気ディスクに記憶して搬送することができる。遠隔コンピュータは、命令を自身の動的メモリにロードし、モデムを使用して電話回線を介して命令を送信することができる。コンピュータシステム400に対してローカルなモデムが、データを電話回線上で受信し、赤外線送信器を使用してこのデータを赤外線信号に変換することができる。赤外線検出器が、赤外線信号の形で搬送されたデータを受信することができ、また適切な回路がこのデータをバス402上に配置することができる。バス402がデータをメインメモリ306に搬送し、ここからプロセッサ304が命令を取り出して実行する。プロセッサ404による実行の前又は後のいずれかに、メインメモリ406により受信された命令を任意に記憶装置410に記憶することができる。
コンピュータシステム400は、バス402に結合された通信インターフェイス418を含む。通信インターフェイス418は、ローカルネットワーク422に接続されたネットワークリンク420に結合する双方向データ通信を提供する。例えば、通信インターフェイス418は、対応する種類の電話回線へのデータ通信接続を提供するための統合デジタル通信サービス網(ISDN)カード又はモデムであってもよい。別の例として、通信インターフェイス418は、互換性のあるLANにデータ通信接続を提供するためのローカルエリアネットワーク(LAN)カードであってもよい。無線リンクを実現することもできる。あらゆるこのような実施構成において、通信インターフェイス418は、様々な種類の情報を表すデジタルデータストリームを搬送する電気、電磁又は光信号を送受信する。
通常、ネットワークリンク420は、1又はそれ以上のネットワークを介して他のデータ装置にデータ通信を提供する。例えば、ネットワークリンク420は、ローカルネットワーク422を介してホストコンピュータ424に又はインターネットサービスプロバイダ(ISP)426により動作されるデータ装置に接続を提供することができる。さらにISP426は、現在では一般に「インターネット」428と呼ばれるワールドワイドパケットデータ通信ネットワークを介してデータ通信サービスを提供する。ローカルネットワーク422及びインターネット428はともに、デジタルデータストリームを搬送する電気、電磁又は光信号を使用する。コンピュータシステム400との間でデジタルデータを搬送する、様々なネットワークを介する信号、及び通信インターフェイス418を介するネットワークリンク420上の信号は、情報を伝送する搬送波の例示的な形である。
コンピュータシステム400は、(単複の)ネットワーク、ネットワークリンク420及び通信インターフェイス418を介してメッセージを送信するとともに、プログラムコードを含むデータを受信することができる。インターネットの例では、サーバ430が、アプリケーションプログラムに求められるコードをインターネット428、ISP426、ローカルネットワーク422及び通信インターフェイス418を介して送信することができる。
プロセッサ404は、受信したコードを受信時に実行することができ、及び/又は後で実行するために記憶装置410、又はその他の不揮発性記憶装置に記憶することができる。このようにして、コンピュータシステム400は、搬送波の形のアプリケーションコードを取得することができる。
上述の明細書では、実施構成に応じて異なり得る数多くの特定の詳細を参照しながら本発明の実施形態について説明した。従って、本発明が何であるか、及び出願人が何を発明として意図しているかを示す唯一かつ排他的なものが、本出願に由来する特許請求の範囲の組であり、このような特許請求の範囲が発行される特定の形には今後のあらゆる補正が含まれる。本明細書に明確に示す、このような特許請求の範囲に含まれる用語のあらゆる定義が、特許請求の範囲で使用するこのような用語の意味を規定するものとする。従って、特許請求の範囲に明確に記載していない限定事項、要素、特性、特徴、利点又は属性により、決してこのような特許請求の範囲を限定すべきではない。従って、明細書及び図面については限定的な意味ではなく例示的な意味でとらえるべきである。
300 ネットワーク
301 GLB(グローバルロードバランシング)
303 GLB(グローバルロードバランシング)
305 GLB(グローバルロードバランシング)
307 サーバ
309 サーバ
311 サーバ
313 エントリポイント
315 エントリポイント
317 エントリポイント
319 クライアント
321 経路
323 経路
325 経路
327 経路
329 経路

Claims (20)

  1. サーバに接続するための方法であって、
    第2のネットワーク内の第1の複数のサーバから第1のネットワークに前記第2のネットワークへのルートを通知するステップと、
    前記通知に少なくとも部分的に基づいて前記第1の複数のサーバのうちの第1の特定のサーバへルーティングされたクライアントからの要求を受信するステップと、
    前記第1の特定のサーバにおける前記要求の受信時に、前記第2のネットワーク内の第2の複数のサーバのうちの第2の特定のサーバを少なくとも1つの基準に基づいて選択するステップと、
    前記第2の特定のサーバを選択したことに応答して、前記クライアントが前記第2の特定のサーバに接続するための前記第2の特定のサーバのIPアドレスを前記クライアントに対して出力するステップと、
    を含むことを特徴とする方法。
  2. 前記第1の複数のサーバの各々が、前記第2のネットワークの端部に位置する、
    ことを特徴とする請求項1に記載の方法。
  3. 前記要求が、エニーキャストに基づいてルーティングされる、
    ことを特徴とする請求項1に記載の方法。
  4. エニーキャストがボーダーゲートウェイプロトコルを使用して実施される、
    ことを特徴とする請求項3に記載の方法。
  5. 前記第1の複数のサーバが、前記第2のネットワークのドメインに関連するDNSサーバを含む、
    ことを特徴とする請求項1に記載の方法。
  6. 前記第1の複数のサーバがグローバルロードバランシングサーバをさらに含む、
    ことを特徴とする請求項5に記載の方法。
  7. 前記第2の特定のサーバを選択するステップが、前記第2の複数のサーバの中でいずれのサーバが前記第1の特定のサーバに最も近いかを判断するステップに基づく、
    ことを特徴とする請求項1に記載の方法。
  8. 前記第2の特定のサーバを選択するステップが、前記第1の複数のサーバの各々が前記第2の複数のサーバの利用可能性及び健康状態をモニタするステップをさらに含む、
    ことを特徴とする請求項1に記載の方法。
  9. 第2のネットワークの端部に位置し、該第2のネットワークへのルートを第1のネットワークに通知するように構成された第1の複数のサーバと、
    前記第2のネットワーク内の第2の複数のサーバと、
    を含むシステムであって、
    前記第1の複数のサーバのうちの第1の特定のサーバがクライアントから要求を受信するように構成され、前記要求は、前記第1の複数のサーバからの通知に少なくとも部分的に基づいて前記第1の特定のサーバへルーティングされ、
    前記第1の特定のサーバは、前記要求の受信時に、前記第2のネットワーク内の前記第2の複数の接続サーバのうちの第2の特定のサーバを少なくとも1つの基準に基づいて選択するように構成され、
    前記第1の特定のサーバは、前記第2の特定のサーバの選択に応答して、前記第2の特定のサーバのIPアドレスを前記クライアントに対して出力するように構成された、
    ことを特徴とするシステム。
  10. 前記要求がエニーキャストに基づいてルーティングされる、
    ことを特徴とする請求項9に記載のシステム。
  11. 前記第1の複数のサーバが、前記第2のネットワークのドメインに関連するDNSサーバを含む、
    ことを特徴とする請求項9に記載のシステム。
  12. 前記第2の特定のサーバを選択するステップが、前記第2の複数のサーバの中でいずれのサーバが前記第1の特定のサーバに最も近いかを判断するステップに基づく、
    ことを特徴とする請求項9に記載のシステム。
  13. サーバに接続するための命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、1又はそれ以上のプロセッサにより実行された場合、前記1又はそれ以上のプロセッサに、
    第2のネットワーク内の第1の複数のサーバから第1のネットワークに前記第2のネットワークへのルートを通知するステップと、
    前記通知に少なくとも部分的に基づいて前記第1の複数のサーバのうちの第1の特定のサーバへルーティングされたクライアントからの要求を受信するステップと、
    前記第1の特定のサーバにおける前記要求の受信時に、前記第2のネットワーク内の第2の複数のサーバのうちの第2の特定のサーバを少なくとも1つの基準に基づいて選択するステップと、
    前記第2の特定のサーバを選択したことに応答して、前記クライアントが前記第2の特定のサーバに接続するための前記第2の特定のサーバのIPアドレスを前記クライアントに対して出力するステップと、
    を実行させる命令を含む、
    ことを特徴とするコンピュータ可読記憶媒体。
  14. 前記複数のサーバの各々が前記第2のネットワークの端部に位置する、
    ことを特徴とする請求項13に記載のコンピュータ可読記憶媒体。
  15. 前記要求がエニーキャストに基づいてルーティングされる、
    ことを特徴とする請求項13に記載のコンピュータ可読記憶媒体。
  16. エニーキャストがボーダーゲートウェイプロトコルを使用して実施される、
    ことを特徴とする請求項15に記載のコンピュータ可読記憶媒体。
  17. 前記複数のサーバが、前記第2のネットワークのドメインに関連するDNSサーバを含む、
    ことを特徴とする請求項13に記載のコンピュータ可読記憶媒体。
  18. 前記複数のサーバがグローバルロードバランシングサーバをさらに含む、
    ことを特徴とする請求項17に記載のコンピュータ可読記憶媒体。
  19. 前記特定の接続サーバを選択するステップが、前記特定のサーバに最も近い前記接続サーバを決定するステップに基づく、
    ことを特徴とする請求項13に記載のコンピュータ可読記憶媒体。
  20. 前記特定の接続サーバを選択するステップが、前記複数のサーバの各々が前記複数の接続サーバの利用可能性及び健康状態をモニタするステップをさらに含む、
    ことを特徴とする請求項13に記載のコンピュータ可読記憶媒体。
JP2010540864A 2007-12-28 2008-12-23 エニーキャストを介したマップレスグローバルトラフィック負荷のバランシング Active JP5255653B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/966,989 US20090172192A1 (en) 2007-12-28 2007-12-28 Mapless Global Traffic Load Balancing Via Anycast
US11/966,989 2007-12-28
PCT/US2008/088158 WO2009086373A2 (en) 2007-12-28 2008-12-23 Mapless global traffic load balancing via anycast

Publications (2)

Publication Number Publication Date
JP2011509029A true JP2011509029A (ja) 2011-03-17
JP5255653B2 JP5255653B2 (ja) 2013-08-07

Family

ID=40799949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010540864A Active JP5255653B2 (ja) 2007-12-28 2008-12-23 エニーキャストを介したマップレスグローバルトラフィック負荷のバランシング

Country Status (8)

Country Link
US (2) US20090172192A1 (ja)
EP (1) EP2235885B1 (ja)
JP (1) JP5255653B2 (ja)
KR (1) KR101177203B1 (ja)
CN (1) CN101911600B (ja)
AU (1) AU2008345200B2 (ja)
TW (1) TWI398149B (ja)
WO (1) WO2009086373A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014087850A1 (ja) * 2012-12-05 2014-06-12 株式会社日立製作所 自動障害対応キャッシュシステム及びキャッシュサーバの障害対応処理方法並びにキャッシュマネージャ

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8312120B2 (en) * 2006-08-22 2012-11-13 Citrix Systems, Inc. Systems and methods for providing dynamic spillover of virtual servers based on bandwidth
US8493858B2 (en) * 2006-08-22 2013-07-23 Citrix Systems, Inc Systems and methods for providing dynamic connection spillover among virtual servers
US8180896B2 (en) 2008-08-06 2012-05-15 Edgecast Networks, Inc. Global load balancing on a content delivery network
US8706878B1 (en) * 2008-08-21 2014-04-22 United Services Automobile Association Preferential loading in data centers
US20110035497A1 (en) * 2009-08-05 2011-02-10 Dynamic Network Services, Inc. System and method for providing global server load balancing
US9882809B2 (en) * 2009-11-24 2018-01-30 Verizon Patent And Licensing Inc. Just-in time forwarding information base
US8230054B2 (en) * 2009-12-23 2012-07-24 Citrix Systems, Inc. Systems and methods for managing dynamic proximity in multi-core GSLB appliance
US8856281B2 (en) * 2010-03-22 2014-10-07 At&T Intellectual Property I, L.P. Internet protocol version 6 content routing
US8639748B2 (en) 2010-09-01 2014-01-28 Edgecast Networks, Inc. Optimized content distribution based on metrics derived from the end user
US8745128B2 (en) 2010-09-01 2014-06-03 Edgecast Networks, Inc. Optimized content distribution based on metrics derived from the end user
US8949410B2 (en) * 2010-09-10 2015-02-03 Cisco Technology, Inc. Server load balancer scaling for virtual servers
US8468222B2 (en) 2010-11-16 2013-06-18 Edgecast Networks, Inc. Discrete mapping for targeted caching
US9407539B1 (en) * 2011-06-24 2016-08-02 Amazon Technologies, Inc. Techniques for utilizing network destination identifiers simultaneously announced from multiple locations
CN102223381A (zh) * 2011-07-07 2011-10-19 莫雅静 一种消息推送方法、服务器、客户端及系统
US9154549B2 (en) 2011-10-27 2015-10-06 Cisco Technology, Inc. Dynamic server farms
US8745177B1 (en) 2011-11-01 2014-06-03 Edgecast Networks, Inc. End-to-end monitoring and optimization of a content delivery network using anycast routing
US8738766B1 (en) 2011-11-01 2014-05-27 Edgecast Networks, Inc. End-to-end monitoring and optimization of a content delivery network using anycast routing
US8924581B1 (en) * 2012-03-14 2014-12-30 Amazon Technologies, Inc. Managing data transfer using streaming protocols
WO2013166707A1 (en) * 2012-05-11 2013-11-14 Hewlett-Packard Development Company,L.P. Server selection
US9686158B1 (en) 2013-03-13 2017-06-20 United Services Automobile Association (Usaa) Point to node in a multi-tiered middleware environment
US9197487B2 (en) 2013-03-15 2015-11-24 Verisign, Inc. High performance DNS traffic management
CN104144227B (zh) * 2013-05-10 2017-11-21 中国电信股份有限公司 Ip地址查询方法、系统与全网资源控制器
US10097503B2 (en) 2013-09-27 2018-10-09 Fastly, Inc. Content node network address selection for content delivery
CN104519146A (zh) * 2013-09-29 2015-04-15 中国电信股份有限公司 基于用户位置进行域名解析服务的方法与系统
US9467506B2 (en) * 2014-01-27 2016-10-11 Google Inc. Anycast based, wide area distributed mapping and load balancing system
US9887914B2 (en) * 2014-02-04 2018-02-06 Fastly, Inc. Communication path selection for content delivery
US10044609B2 (en) 2014-02-04 2018-08-07 Fastly, Inc. Communication path selection for content delivery
US9900281B2 (en) 2014-04-14 2018-02-20 Verisign, Inc. Computer-implemented method, apparatus, and computer-readable medium for processing named entity queries using a cached functionality in a domain name system
US9560124B2 (en) * 2014-05-13 2017-01-31 Google Inc. Method and system for load balancing anycast data traffic
US9923959B2 (en) 2014-06-05 2018-03-20 Microsoft Technology Licensing, Llc Load balancing with layered edge servers
CN104144222B (zh) * 2014-08-20 2015-08-19 北京阅联信息技术有限公司 Dns授权系统中基于别名记录的负载均衡方法及系统
US10015077B2 (en) * 2015-05-22 2018-07-03 Microsoft Technology Licensing, Llc Forwarding current request based on, at least in part, previous request(s)
CN105592181A (zh) * 2015-10-15 2016-05-18 杭州华三通信技术有限公司 一种链路负载均衡方法及装置
US10505894B2 (en) * 2016-10-13 2019-12-10 Microsoft Technology Licensing, Llc Active and passive method to perform IP to name resolution in organizational environments
US10298543B2 (en) * 2016-12-12 2019-05-21 Verisign, Inc. Real-time association of a policy-based firewall with a dynamic DNS hostname
US11032127B2 (en) 2017-06-26 2021-06-08 Verisign, Inc. Resilient domain name service (DNS) resolution when an authoritative name server is unavailable
CN108600051B (zh) * 2018-04-28 2020-02-18 网宿科技股份有限公司 BGP Anycast集群服务质量探测方法和探测设备
CN108833609B (zh) * 2018-06-25 2021-07-13 哈尔滨工业大学 一种基于历史拓扑测量数据的局部网络目的ip地址选择方法
CN109005253B (zh) * 2018-09-06 2021-08-17 中电科航空电子有限公司 网络负载均衡的系统
WO2020087002A1 (en) * 2018-10-26 2020-04-30 Akamai Technologies, Inc. Dns everywhere
US11005929B1 (en) 2019-01-30 2021-05-11 Cisco Technology, Inc. Dynamic data center load balancing using border gateway protocol
CN110457631A (zh) * 2019-07-30 2019-11-15 维沃移动通信有限公司 跳转异常信息确定方法及装置
CN110933128B (zh) * 2019-10-08 2021-04-16 网宿科技股份有限公司 节点流量调度方法、装置、电子设备及存储介质
CN111953802A (zh) * 2020-07-06 2020-11-17 网宿科技股份有限公司 一种域名的解析方法、系统、设备及存储介质
US20220321479A1 (en) * 2021-04-02 2022-10-06 Microsoft Technology Licensing, Llc Anycast routing technique for a content delivery network
US20230239215A1 (en) * 2022-01-21 2023-07-27 Qualcomm Incorporated Server availability checking for edge computing services

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020103846A1 (en) * 1998-07-15 2002-08-01 Radware Ltd. Load balancing
US20030079027A1 (en) * 2001-10-18 2003-04-24 Michael Slocombe Content request routing and load balancing for content distribution networks
US20060193252A1 (en) * 2005-02-25 2006-08-31 Cisco Technology, Inc. Active-active data center using RHI, BGP, and IGP anycast for disaster recovery and load distribution

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6665702B1 (en) * 1998-07-15 2003-12-16 Radware Ltd. Load balancing
US6415323B1 (en) 1999-09-03 2002-07-02 Fastforward Networks Proximity-based redirection system for robust and scalable service-node location in an internetwork
US6785704B1 (en) * 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
US6405252B1 (en) * 1999-11-22 2002-06-11 Speedera Networks, Inc. Integrated point of presence server network
EP1236329A1 (en) 1999-11-23 2002-09-04 Infolibria, Inc. Optimal request routing by exploiting packet routers topology information
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
FI108592B (fi) 2000-03-14 2002-02-15 Sonera Oyj Laskutus langatonta sovellusprotokollaa käyttävässä matkapuhelinjärjestelmässä
US6976090B2 (en) * 2000-04-20 2005-12-13 Actona Technologies Ltd. Differentiated content and application delivery via internet
US7020698B2 (en) * 2000-05-31 2006-03-28 Lucent Technologies Inc. System and method for locating a closest server in response to a client domain name request
US7165116B2 (en) * 2000-07-10 2007-01-16 Netli, Inc. Method for network discovery using name servers
US7725602B2 (en) * 2000-07-19 2010-05-25 Akamai Technologies, Inc. Domain name resolution using a distributed DNS network
TWI223942B (en) * 2001-02-20 2004-11-11 Li Jian Min Contents transmission network system and creating method thereof
US7333794B2 (en) 2001-03-06 2008-02-19 At&T Mobility Ii Llc Real-time network analysis and performance management
US7007089B2 (en) * 2001-06-06 2006-02-28 Akarnai Technologies, Inc. Content delivery network map generation using passive measurement data
US20030055979A1 (en) * 2001-09-19 2003-03-20 Cooley William Ray Internet domain name resolver
KR100428767B1 (ko) * 2002-01-11 2004-04-28 삼성전자주식회사 트래픽 정보를 이용한 가입자 라우팅 설정 방법 및 이를위한 기록매체
CN100403293C (zh) * 2002-01-28 2008-07-16 特瑞帝德国际公司 用于阶层式服务和内容分布的网络系统方法和协定
US7512702B1 (en) * 2002-03-19 2009-03-31 Cisco Technology, Inc. Method and apparatus providing highly scalable server load balancing
US7139840B1 (en) * 2002-06-14 2006-11-21 Cisco Technology, Inc. Methods and apparatus for providing multiple server address translation
JPWO2004073269A1 (ja) * 2003-02-13 2006-06-01 富士通株式会社 伝送システム,配信経路制御装置,負荷情報収集装置および配信経路制御方法
US7159034B1 (en) * 2003-03-03 2007-01-02 Novell, Inc. System broadcasting ARP request from a server using a different IP address to balance incoming traffic load from clients via different network interface cards
US8037203B2 (en) * 2004-02-19 2011-10-11 International Business Machines Corporation User defined preferred DNS reference
US7584435B2 (en) * 2004-03-03 2009-09-01 Omniture, Inc. Web usage overlays for third-party web plug-in content
US7548945B2 (en) * 2005-04-13 2009-06-16 Nokia Corporation System, network device, method, and computer program product for active load balancing using clustered nodes as authoritative domain name servers
US20070036146A1 (en) 2005-08-10 2007-02-15 Bellsouth Intellectual Property Corporation Analyzing and resolving internet service problems
US8307065B2 (en) 2006-08-22 2012-11-06 Centurylink Intellectual Property Llc System and method for remotely controlling network operators
US9479341B2 (en) 2006-08-22 2016-10-25 Centurylink Intellectual Property Llc System and method for initiating diagnostics on a packet network node
US8743703B2 (en) 2006-08-22 2014-06-03 Centurylink Intellectual Property Llc System and method for tracking application resource usage
US8015294B2 (en) 2006-08-22 2011-09-06 Embarq Holdings Company, LP Pin-hole firewall for communicating data packets on a packet network
US20080167886A1 (en) 2007-01-05 2008-07-10 Carl De Marcken Detecting errors in a travel planning system
US20090100128A1 (en) 2007-10-15 2009-04-16 General Electric Company Accelerating peer-to-peer content distribution
US7962631B2 (en) * 2007-12-21 2011-06-14 Yahoo! Inc. Method for determining network proximity for global traffic load balancing using passive TCP performance instrumentation
US20090245114A1 (en) * 2008-04-01 2009-10-01 Jayanth Vijayaraghavan Methods for collecting and analyzing network performance data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020103846A1 (en) * 1998-07-15 2002-08-01 Radware Ltd. Load balancing
US20030079027A1 (en) * 2001-10-18 2003-04-24 Michael Slocombe Content request routing and load balancing for content distribution networks
US20060193252A1 (en) * 2005-02-25 2006-08-31 Cisco Technology, Inc. Active-active data center using RHI, BGP, and IGP anycast for disaster recovery and load distribution

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6012063433; Mayank Sharma: 'Faster, safer Internet with OpenDNS' linux.com , 20070201 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014087850A1 (ja) * 2012-12-05 2014-06-12 株式会社日立製作所 自動障害対応キャッシュシステム及びキャッシュサーバの障害対応処理方法並びにキャッシュマネージャ

Also Published As

Publication number Publication date
EP2235885A2 (en) 2010-10-06
US20090172192A1 (en) 2009-07-02
JP5255653B2 (ja) 2013-08-07
TWI398149B (zh) 2013-06-01
WO2009086373A2 (en) 2009-07-09
US20100235441A1 (en) 2010-09-16
EP2235885B1 (en) 2018-02-07
TW200941988A (en) 2009-10-01
CN101911600A (zh) 2010-12-08
EP2235885A4 (en) 2013-05-29
WO2009086373A3 (en) 2009-09-11
AU2008345200A1 (en) 2009-07-09
US8073953B2 (en) 2011-12-06
KR101177203B1 (ko) 2012-08-24
KR20100106540A (ko) 2010-10-01
AU2008345200B2 (en) 2012-04-05
CN101911600B (zh) 2016-06-29

Similar Documents

Publication Publication Date Title
JP5255653B2 (ja) エニーキャストを介したマップレスグローバルトラフィック負荷のバランシング
EP2817926B1 (en) Delegate forwarding and address resolution in fragmented network
Misra et al. Network routing: fundamentals, applications, and emerging technologies
CA3109946A1 (en) Independent datastore in a network routing environment
US7646731B2 (en) Route monitoring in a network management system
EP2422502B1 (en) Intra-realm aaa fallback mechanism
EP2451125B1 (en) Method and system for realizing network topology discovery
JP4100353B2 (ja) 複数ルータ間調停方法、ルータ優先度計算装置及びルータ装置
JP2022548152A (ja) ルーティング制御方法、装置、プログラム及びコンピュータ装置
JP2000307657A (ja) ホスト・クラスタのためのネットワーク・ディスパッチャを利用するデータ伝送システムにおけるルータ監視システム
WO2018068588A1 (zh) 提供组播业务的方法和软件定义网络控制器
US8612626B2 (en) Group member detection among nodes of a network
EP2892196B1 (en) Method, network node and system for implementing point-to-multipoint multicast
CN103107942B (zh) 一种静态路由的跟踪方法和设备
Cisco Multiprotocol BGP (MP-BGP) Support for CLNS
JP2017208718A (ja) 通信装置および通信方法
US8023407B2 (en) Redundancy in a communication network
CN113545130A (zh) 利用分布式散列的无线客户端的快速漫游和统一策略
WO2024065424A1 (zh) 链路优化方法和系统
JP2011239082A (ja) 通信装置及びアドレス変換方法
JP2011193379A (ja) 通信システム
WO2023201125A2 (en) Mechanism to optimize mass switching triggered by cloud dc site failures or degradation
CN116746117A (zh) 网络计算环境中的最佳路径计算卸载
GB2495611A (en) Client-directed traffic management over virtual tunnel links
Martínez et al. An approach to a fault tolerance LISP architecture

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120712

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121012

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121206

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130419

R150 Certificate of patent or registration of utility model

Ref document number: 5255653

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

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350