JP4001698B2 - 負荷分散システム - Google Patents

負荷分散システム Download PDF

Info

Publication number
JP4001698B2
JP4001698B2 JP29290699A JP29290699A JP4001698B2 JP 4001698 B2 JP4001698 B2 JP 4001698B2 JP 29290699 A JP29290699 A JP 29290699A JP 29290699 A JP29290699 A JP 29290699A JP 4001698 B2 JP4001698 B2 JP 4001698B2
Authority
JP
Japan
Prior art keywords
server
primary
load balancer
load
client
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.)
Expired - Fee Related
Application number
JP29290699A
Other languages
English (en)
Other versions
JP2001117897A (ja
Inventor
哲也 岡野
昭喜 越智
友嗣 望月
浩一 高場
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP29290699A priority Critical patent/JP4001698B2/ja
Priority to US09/628,353 priority patent/US6725253B1/en
Publication of JP2001117897A publication Critical patent/JP2001117897A/ja
Application granted granted Critical
Publication of JP4001698B2 publication Critical patent/JP4001698B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1038Load balancing arrangements to avoid a single path through a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、クライアント/サーバシステムにおけるサーバの負荷を分散させる負荷分散装置に関するものであり、特に、災害発生時のサービス停止回避機能を備える負荷分散システムに関するものである。
【0002】
近時、インターネットに代表される大規模ネットワークにおいては、1台のサーバに対する負荷集中を解決すべく、多数のアクセスを受けるサーバ側にサーバを複数台用意して、クライアントに対して、上記複数のサーバがあたかも1台のサーバとして機能しているように構成する負荷分散技術が用いられている。
【0003】
この負荷分散技術は、クライアントからのアクセスを複数のサーバに分散させることにより、1台のサーバの負荷を低減させるための技術である。したがって、負荷分散技術においては、クライアントよりアクセスがあった場合、複数のサーバのうち、できるだけ低負荷であってかつ当該クライアントとの間の距離が短い1台のサーバに当該アクセスを振り分けることがネットワーク効率を高める上で重要である。
【0004】
【従来の技術】
図18は、従来のネットワークシステムの構成例1を示す図である。この図に示したネットワークシステムには、DNS(Domain Name System)サーバにおける負荷分散の方式として、ラウンド・ロビン方式が採用されている。このラウンド・ロビン方式は、後述するドメイン名を用いてアクセスを受け付け、そのドメイン名をIP(Internet Protocol)アドレスに変換する際に、複数のサーバのIPアドレスを順番に用いることにより、負荷分散を行う方式である。
【0005】
同図において、LAN(Local Area Network)/WAN(Wide Area Network)1およびLAN/WAN4は、インターネットワーキング(相互接続)によって、物理的に離隔配置されている複数のコンピュータ間でデータ通信を行うための大規模ネットワークであり、たとえば、インターネットである。
【0006】
ここで、上記インターネットとしては、つぎの条件を満たすネットワークが該当する。
(1)コンピュータネットワークが、TCP/IP(Transmission Control Protocol/Internet Protocol)と呼ばれる通信プロトコル(通信接続手順)を実装していること。
(2)コンピュータネットワークが、いくつかの基幹ネットワークを中心として構成された一つの世界規模のネットワークに接続されていること。
【0007】
また、上記TCP/IPとしては、OSI(Open Systems Interconnection:開放形システム間相互接続)参照モデルの第4層(トランスポート層)にあるTCPおよびUDP(User Datagram Protocol)の各プロトコルが定義されている。上記TCPの特徴は、信頼性のあるデータ通信(転送)を行うこと、すなわち、通信の開始から終了まで通信路の信頼性を保持してデータの正常な通信の制御、さらにエラー時のエラー検出及び回復を行うことにある。
【0008】
また、上記TCPが信頼性を確保するためにコネクション形のサービス形態をとっているのに対して、UDPは、処理の高速化のためのコネクションレス型と呼ばれるデータ伝送プロトコルであり、信頼性向上のための応答確認やネットワーク内の異なった経路を通ってきた受信データの順序調整等を行わない。
【0009】
クライアント2は、クライアント(ユーザ)側に設置されており、LAN/WAN1に接続されている。このクライアント2は、LAN/WAN1およびLAN/WAN4を介して、後述するサーバ6(サーバ7)に対してサービスを要求するためのコンピュータ端末である。クライアント側DNSサーバ3は、インターネット標準のDNSを実現するためのサーバであり、LAN/WAN1に接続されている。
【0010】
ここで、上記DNSについて詳述する。インターネットにおいては、上述したように端末を識別するためにIPアドレスが用いられているが、このIPアドレスは、4オクテット(32ビット)で表現される数字の組み合わせからなるため、人間にとって非常に覚えにくい。そこで、各端末には、人間にも理解し易い識別名称としてドメイン名(名前空間)がそれぞれ付与されている。
【0011】
上記DNSは、ドメイン名とIPアドレスとの対応を管理し、クライアント2からのドメイン名による問い合わせに対してIPアドレスを応答するシステムである。このことから、クライアント側DNSサーバ3は、上記DNSを実現するための装置であり、クライアント2に対してローカルなDNSサーバとして位置づけられる。
【0012】
サーバ6は、サービス提供者側に設置されており、LAN/WAN4に接続されている。このサーバ6は、クライアント2からのサービス要求に応じてクライアント2に対してサービスの提供を行うためのコンピュータ端末である。サーバ7は、サーバ6と同様にして、サービス提供者側に設置されており、LAN/WAN4に接続されている。このサーバ7は、クライアント2からのサービス要求に応じてクライアント2に対してサービスの提供を行うための端末である。ここで、上述したサーバ6およびサーバ7は、それぞれ物理的に別々の場所に設置されている。したがって、サーバ6およびサーバ7とクライアント2(クライアント側DNSサーバ3)との間の各距離は、それぞれ異なる。
【0013】
さらに、サーバ6およびサーバ7は、クライアント2からみればあたかも1台のサーバとして機能している。また、サーバ6およびサーバ7には、代表として一つのドメイン名(以下、代表ドメイン名と称する)が付与されているとともに、それぞれにIPアドレスが付与されている。すなわち、この場合には、一つのドメイン名に複数のIPアドレスが登録されており、クライアント2が一つのドメイン名としてアクセスすることにより、サーバ6、サーバ7のうちいずれか一つのサーバにアクセス可能とされる。
【0014】
すなわち、サーバ6、サーバ7は、代表ドメイン名で表される一つの仮想サーバを構成しており、クライアント2は、この仮想サーバの代表ドメイン名に対してアクセスする。このように、サーバ6、サーバ7に対して一つの代表ドメイン名を付与するとともに、クライアント2からのアクセスをサーバ6、サーバ7のいずれか一つのサーバにアクセス可能としたのは、前述した負荷分散するためである。この負荷分散については後述する。
【0015】
サーバ側DNSサーバ5は、クライアント側DNSサーバ3と同様にして、DNSサーバとしての機能を有しており、クライアント側DNSサーバ3の上位装置として位置づけられている。すなわち、サーバ側DNSサーバ5は、クライアント側DNSサーバ3からのIPアドレスの問い合わせに対して応答する機能を有している。
【0016】
また、サーバ側DNSサーバ5は、サーバ6、サーバ7を配下に置いており、クライアント側DNSサーバ3から代表ドメイン名をIPアドレスに変換するための問い合わせがあったとき、代表ドメイン名を、サーバ6、サーバ7のうち、いずれか一つのサーバのIPアドレスに変換して、クライアント側DNSサーバ3に応答する。すなわち、サーバ側DNSサーバ5は、クライアント2からのアクセス要求を、サーバ6、サーバ7のうち、いずれか一つへ振り分けているのである。この振り分けが上述した負荷分散である。
【0017】
上記構成において、上述した代表ドメイン名の仮想サーバにアクセスする場合、たとえば、ステップSA1では、クライアント2は、クライアント側DNSサーバ3に対してIPアドレスの問い合わせを行べく、代表ドメイン名をクライアント側DNSサーバ3へLAN/WAN1を介して、通知する。
【0018】
クライアント側DNSサーバ3は、自身のキャッシュメモリ(図示略)にアクセスし、問い合わせ履歴データを参照することで、過去に同様の問い合わせがあったか否かを判断する。ここで、過去に同様の問い合わせがあった場合には、ステップSA4では、クライアント側DNSサーバ3は、問い合わせ履歴データに含まれるIPアドレスをLAN/WAN1を介してクライアント2へ通知する。なお、キャッシュメモリにおける問い合わせ履歴データの保存期間は、1日程度である。
【0019】
一方、過去に同様の問い合わせが無かった場合、ステップSA2では、クライアント側DNSサーバ3は、LAN/WAN1およびLAN/WAN4を介してサーバ側DNSサーバ5へDNS問合せを行う。具体的には、クライアント側DNSサーバ3は、代表ドメイン名をサーバ側DNSサーバ5へ通知する。これにより、ステップSA3では、サーバ側DNSサーバ5は、まず、第1番目のサーバをサーバ6、第2番目のサーバをサーバ7とする振分テーブル(図示略)を参照することで、通知を受けた代表ドメイン名をたとえば第1番目のサーバ6のIPアドレスに変換する。
【0020】
つぎに、サーバ側DNSサーバ5は、上記サーバ6のIPアドレスをLAN/WAN4およびLAN/WAN1を介してクライアント側DNSサーバ3へ通知する。これにより、ステップSA4では、クライアント側DNSサーバ3は、サーバ6のIPアドレスを前述した問い合わせ履歴データとしてキャッシュメモリ(図示略)に保存した後、LAN/WAN1を介してクライアント2へ通知する。
【0021】
そして、ステップSA5では、上記通知を受けたクライアント2は、サーバ6のIPアドレスを含むIPパケットをLAN/WAN1およびLAN/WAN4を介してサーバ6へ送出する。そして、上記IPパケットは、図示しないルータによりルーティングされた後、サーバ6に到着する。この結果、クライアント2とサーバ6との間に接続が確立し、サーバ6は、クライアント2から要求されたサービスを提供する。
【0022】
また、図示しない別のクライアントにより、代表ドメイン名がクライアント側DNSサーバ3へLAN/WAN1を介して通知されると(ステップSA1)、ステップSA2では、クライアント側DNSサーバ3は、上述した動作と同様にして、LAN/WAN1およびLAN/WAN4を介してサーバ側DNSサーバ5へIPアドレスの問い合わせを行う。この場合、過去に同様の問い合わせが無かったものとする。
【0023】
これにより、ステップSA3では、サーバ側DNSサーバ5は、振分テーブル(図示略)を参照することで、通知を受けた代表ドメイン名を、つぎの第2番目のサーバ7のIPアドレスに変換する。そして、サーバ側DNSサーバ5は、上記サーバ7のIPアドレスをLAN/WAN4およびLAN/WAN1を介してクライアント側DNSサーバ3へ通知する。つぎのステップSA4では、クライアント側DNSサーバ3は、サーバ7のIPアドレスをLAN/WAN1を介してクライアント(図示略)へ通知する。
【0024】
そして、ステップSA5では、上記通知を受けたクライアント(図示略)は、サーバ7のIPアドレスを含むIPパケットをLAN/WAN1およびLAN/WAN4を介してサーバ7へ送出する。そして、上記IPパケットは、図示しないルータによりルーティングされた後、サーバ7に到着する。この結果、クライアント(図示略)とサーバ7との間に接続が確立し、サーバ7は、クライアント(図示略)から要求されたサービスを提供する。
【0025】
以後、サーバ側DNSサーバ5は、IPアドレスの問い合わせを受ける度に、振分テーブルを参照しつつ、クライアントからのアクセスをサーバ6→サーバ7→サーバ6→サーバ7→・・・という具合に振り分けることにより、負荷分散を行う。
【0026】
つぎに、図19に示したように、災害が発生することにより、サーバ6がシステムダウンするとともに、サーバ7にかかる回線が切断された場合の動作について説明する。同図において、災害発生により、サーバ6がシステムダウンするとともに、サーバ7にかかる回線が切断されると、サーバ6およびサーバ7は、外部からのアクセスができない状態になる。このとき、サーバ側DNSサーバ5における振分テーブルから上記サーバ6およびサーバ7が削除されていないものとする。
【0027】
このような状態において、ステップSB1では、クライアント2は、クライアント側DNSサーバ3に対してIPアドレスの問い合わせを行べく、代表ドメイン名をクライアント側DNSサーバ3へLAN/WAN1を介して、通知する。
【0028】
クライアント側DNSサーバ3は、自身のキャッシュメモリ(図示略)にアクセスし、問い合わせ履歴データを参照することで、過去に同様の問い合わせがあったか否かを判断する。ここで、災害が発生する以前の問い合わせ履歴データがキャッシュメモリに保存されているものとすると、ステップSB4では、クライアント側DNSサーバ3は、問い合わせ履歴データに含まれる、たとえば、サーバ6のIPアドレスをLAN/WAN1を介してクライアント2へ通知する。
これにより、ステップSB5では、クライアント2は、サーバ6へアクセスを試みるが、サーバ6がシステムダウンしているため、アクセスできない。すなわち、この場合には、キャッシュメモリに災害が発生する以前の問い合わせ履歴データがそのまま残っているため、実際にはアクセス不可能なサーバ6のIPアドレスがクライアント2へ通知されたのである。
【0029】
一方、過去に同様の問い合わせが無かった場合、ステップSB2では、クライアント側DNSサーバ3は、LAN/WAN1およびLAN/WAN4を介して代表ドメイン名をサーバ側DNSサーバ5へ通知する。これにより、ステップSB3では、サーバ側DNSサーバ5は、まず、第1番目のサーバをサーバ6、第2番目のサーバをサーバ7とする振分テーブル(図示略)を参照することで、通知を受けた代表ドメイン名をたとえば第1番目のサーバ6のIPアドレスに変換する。ここで、注意すべき点は、上記振分テーブルは、災害発生以前のものであり、現時点のサーバ6の状態(アクセス不可能)が反映されたものではない。
【0030】
つぎに、ステップSB3でサーバ側DNSサーバ5は、上記サーバ6のIPアドレスをLAN/WAN4およびLAN/WAN1を介してクライアント側DNSサーバ3へ通知する。これにより、ステップSB4では、クライアント側DNSサーバ3は、サーバ6のIPアドレスを前述した問い合わせ履歴データとしてキャッシュメモリ(図示略)に保存した後、LAN/WAN1を介してクライアント2へ通知する。そして、ステップSB5では、上記通知を受けたクライアント2は、サーバ6へアクセスを試みるが、サーバ6がシステムダウンしているため、アクセスできない。
【0031】
また、図示しない別のクライアントにより、代表ドメイン名がクライアント側DNSサーバ3へLAN/WAN1を介して通知されると(ステップSB1)、ステップSB2では、クライアント側DNSサーバ3は、上述した動作と同様にして、LAN/WAN1およびLAN/WAN4を介してサーバ側DNSサーバ5へ仮想サーバのIPアドレスの問い合わせを行う。この場合、過去に同様の問い合わせが無かったものとする。
【0032】
これにより、ステップSB3では、サーバ側DNSサーバ5は、振分テーブル(図示略)を参照することで、通知を受けた代表ドメイン名を、つぎの第2番目のサーバ7のIPアドレスに変換する。ここで注意すべき点は、上記振分テーブルの内容は、災害が発生する以前のものであり、現時点のサーバ7の状態(アクセス不可能)が反映されたものではない。
【0033】
そして、サーバ側DNSサーバ5は、上記サーバ7のIPアドレスをLAN/WAN4およびLAN/WAN1を介してクライアント側DNSサーバ3へ通知する。つぎのステップSB4では、クライアント側DNSサーバ3は、サーバ7のIPアドレスをLAN/WAN1を介してクライアント(図示略)へ通知する。そして、ステップSB5では、上記通知を受けたクライアントは、サーバ7へアクセスを試みるが、サーバ7にかかる回線が切断されているため、アクセスできない。
【0034】
図20は、従来のネットワークシステムの構成例2を示す図である。この図に示したネットワークシステムでは、負荷分散方式として、NAT(Network Address Translator:ネットワークアドレス変換)によりIPヘッダの宛先アドレスを、振り分け先のサーバのIPアドレスに変換するNAT方式や、上記宛先アドレスを振り分け先のサーバのMAC(Media Access Control:媒体アクセス制御)アドレスに付け替える等のMAC方式が採用されている。
【0035】
同図において、LAN/WAN10は、インターネットワーキング(相互接続)によって、物理的に離隔配置されている複数のコンピュータ間でデータ通信を行うための大規模ネットワークであり、たとえば、インターネットである。クライアント11は、クライアント(ユーザ)側に設置されており、LAN/WAN10に接続されている。
【0036】
このクライアント11は、上述したIPパケットをLAN/WAN10を介して、後述するサーバ13(サーバ14)に対してサービスを要求するためのコンピュータ端末である。負荷分散装置12は、上述したNAT方式やMAC方式により、クライアント11からのアクセス要求をサーバ13、サーバ14のうちいずれか一つへ振り分けることにより、負荷分散を行う装置である。この負荷分散装置12には、サーバ13およびサーバ14を代表する代表IPアドレスが付与されている。
【0037】
サーバ13およびサーバ14は、サービス提供者側に設置されており、LAN/WAN10に接続されている。これらのサーバ13およびサーバ14は、クライアント11からのサービス要求に応じてクライアント11に対してサービスの提供を行うためのコンピュータ端末である。また、サーバ13およびサーバ14は、上述した代表IPアドレスにより、クライアント11からみればあたかも1台のサーバとして機能しており、それぞれにIPアドレスが付与されている。すなわち、サーバ13、サーバ14は、代表IPアドレスで表される一つの仮想サーバを構成しており、クライアント11は、この仮想サーバの代表IPアドレスに対してアクセスする。
【0038】
上記構成において、上述した仮想サーバにアクセスする場合、たとえば、ステップSC1では、クライアント11は、代表IPアドレスを有する負荷分散装置12へLAN/WAN10を介してアクセスする。これにより、ステップSC2では、負荷分散装置12は、クライアント11からのIPパケット(サービス要求)を、NAT方式やMAC方式により、たとえば、サーバ14へ振り分ける。
【0039】
つぎのステップSC3では、クライアント11とサーバ14との間に、LAN/WAN10および負荷分散装置12を介して接続が確立し、サーバ14は、クライアント11から要求されたサービスを提供する。なお、クライアント11とサーバ14との接続ルートとしては、ステップSC4のように、負荷分散装置12を経由せず、LAN/WAN10のみを介する接続ルートの場合もある。
【0040】
つぎに、図21に示したように、災害が発生することにより、負荷分散装置12がシステムダウンするとともに、LAN/WAN10に回線断が発生した場合の動作について説明する。ここで、災害の影響は、サーバ13およびサーバ14には、及んでいないものとする。
【0041】
このような状態において、ステップSD1では、クライアント11は、代表IPアドレスを有する負荷分散装置12へアクセスを試みるが、負荷分散装置12がシステムダウンしているとともに、LAN/WAN10が回線断状態にあるため、サーバ13およびサーバ14が正常に稼働しているにもかかわらず、アクセスできない。
【0042】
【発明が解決しようとする課題】
ところで、従来のネットワークシステムにおいては、図18に示したクライアント側DNSサーバ3およびサーバ側DNSサーバ5、図20に示した負荷分散装置12により効率的に負荷分散を行っている旨を述べた。
【0043】
しかしながら、従来のネットワークシステムは、図19および図21を参照して説明したように、災害に非常に弱いシステムであり、たとえば、一つの負荷分散装置12が災害によりシステムダウンした場合であってもすべてのサービスが停止してしまう。
【0044】
そこで、災害発生によるサービス停止を回避する方法として、各装置を冗長構成にする方法が採られる。しかしながら、この方法は、冗長構成が採られた複数の装置が設置されている地域に地震等の災害が発生した場合、当該複数の装置のすべてが被災する可能性が高く、根本的な解決にはならない。
【0045】
本発明は、このような背景の下になされたもので、災害発生によるサービス停止を回避することができる負荷分散システムを提供することを目的とする。
【0046】
【課題を解決するための手段】
上記目的を達成するために、請求項1にかかる発明は、サービスの提供を求めるクライアント(後述する一実施の形態のクライアント100および200に相当)の要求を、前記サービスを提供するサーバ(後述する一実施の形態のサーバ510、520、610および620に相当)を含むサイト(後述する一実施の形態のサービスサイトSS 1 およびSS 2 に相当)のいずれか1つに振り分けさせる一次負荷分散手段(後述する一実施の形態の一次負荷分散装置410、420、430に相当)と、自身が属するサイトに前記要求が振り分けられた場合に、該サイトに属するサーバのいずれか1つに該要求を振り分ける二次負荷分散手段(後述する一実施の形態の二次負荷分散装置500および600に相当)とを備える負荷分散システムであって、前記一次負荷分散手段は、前記二次負荷分散手段の運転状態を監視し、運転停止していない二次負荷分散手段を含むサイトのいずれか1つに前記要求を振り分けさせるとともに、監視結果を各二次負荷分散手段に配布し、前記二次負荷分散手段は、自身が属するサイトに含まれるサーバの負荷が所定よりも高い場合に、前記監視結果に基づいて運転停止していない他の二次負荷分散手段を選択し、自身が属するサイトへ振り分けられた前記要求を前記他の二次負荷分散手段へ転送することを特徴とする。
【0047】
この請求項1にかかる発明によれば、あるクライアントからサービス要求があると、このサービス要求は、複数の一次負荷分散手段のうちいずれか一つの一次負荷分散手段により一つのサイト(二次負荷分散手段)に一次振り分けされる。そして、二次負荷分散手段は、当該サービス要求を一つのサーバに二次振り分けする。
【0048】
また、一次負荷分散手段は、各二次負荷分散手段の運転状況を監視し、いずれかの二次負荷分散手段が運転停止した場合には、当該二次負荷分散手段は、一次振り分けにおける負荷分散の対象から除外される。したがって、災害発生等により二次負荷分散手段に障害が発生した場合には、クライアントからサービス要求があっても、除外された二次負荷分散手段に対しては一次振り分けが行われることがなく、その他の正常な二次負荷分散に対して一次振り分けが行われる。
【0049】
また、いずれかのサイトの負荷が所定よりも高くなった場合には、そのサイトの二次負荷分散手段が他の正常な二次負荷分散手段へサービス要求を転送することにより、二次負荷分散手段間の協調による負荷分散が実現される
【0050】
このように、請求項1にかかる発明によれば、災害発生によるサービス停止を回避することができ、さらに、二次負荷分散手段間の協調によっても負荷分散を実現可能な2段階方式の負荷分散システムを得ることができる
【0051】
また、請求項2にかかる発明は、請求項1に記載の負荷分散システムにおいて、前記一次負荷分散手段は、サービスを提供するサーバにアクセスするためのドメイン名の解決を求めるDNS問合せに対して、前記二次負荷分散手段のいずれか1つのIPアドレスを応答することにより、該IPアドレスを有する二次負荷分散手段を含むサイトへ前記要求を振り分けさせ、前記二次負荷分散手段は、自身が属するサイトに属するサーバのいずれか1つに前記要求を振り分ける場合に、自身が有するIPアドレスを宛先として前記クライアントから送信された前記要求のヘッダ部を書き換えることにより、前記サービスを提供するサーバに該要求を振り分けることを特徴とする。
【0052】
この請求項2にかかる発明によれば、一次振り分けはDNS問合せに対して応答する二次負荷分散手段のIPアドレスを切り替えることで実現され、一次振り分けはアドレス情報を書き換えることで実現される
【0053】
このように、請求項2にかかる発明によれば、一次振り分けの結果は、DNS問合せのキャッシュとして問合せ元に一定期間記憶され、キャッシュを保持している問合せ元では、このキャッシュに基づいて一次振り分けが行われることになるため、一次負荷分散手段の負荷が軽減される。
【0054】
また、請求項3にかかる発明は、請求項2に記載の負荷分散システムにおいて、前記一次負荷分散手段は、各二次負荷分散手段に対して、前記DNS問合せの送信元と当該の二次負荷分散手段との間の通信経路の経路負荷の計測を依頼し、計測された経路負荷に係る情報に基づいて、サービスを提供するサーバにアクセスするためのドメイン名の解決を求めるDNS問合せを受信した場合に、該DNS問合せの送信元との間の経路負荷が最も少ない二次負荷分散手段のIPアドレスを応答することを特徴とする。
【0055】
この請求項3にかかる発明によれば、一次負荷分散手段は、DNS問合せの送信元との間の経路負荷が最も少ない二次負荷分散手段を、サービス要求の振り分け先として選択する。本来は、サービス要求の送信元との間の経路負荷が最も少ない二次負荷分散手段を、サービス要求の振り分け先として選択することが好ましいが、一次負荷分散手段は、サービス要求の送信元と直接情報のやりとりをすることはないため、サービス要求の送信元を識別することはできない。そこで、一次負荷分散手段は、直接情報のやりとりをし、サービス要求の送信元と近い位置にあると期待されるDNS問合せの送信元との間の経路負荷を基準にして、二次負荷分散手段を選択する
【0056】
このように、請求項3にかかる発明によれば、サービス要求の送信元との間の経路負荷が最も少ないことが期待される二次負荷分散手段がサービス要求の振り分け先として選択されるので、ネットワークに負荷をかけることなく負荷分散を実現することができる。
【0064】
【発明の実施の形態】
以下、図面を参照して本発明にかかる負荷分散システムの一実施の形態について詳細に説明する。
【0065】
図1は、本発明にかかる一実施の形態の概略構成を示すブロック図である。この図において、クライアント100、クライアント側DNSサーバ110、クライアント200、クライアント側DNSサーバ210、サーバ側DNSサーバ群300、一次負荷分散装置群400、二次負荷分散装置500、サーバ510、サーバ520、二次負荷分散装置600、サーバ610およびサーバ620は、それぞれ図示しないルータを含むネットワーク(たとえば、インターネット)に接続されており、それぞれがアクセス可能な状態とされている。
【0066】
また、同図に示したネットワークシステムは、大きく分けて、クライアント側の領域であるDNSゾーンZ1 およびDNSゾーンZ2 、サービスを提供するサービスサイトSS1 およびサービスサイトSS2 、ならびに負荷分散を行う負荷分散サイトLBS(Load Balancing Site)に分類される。
【0067】
DNSゾーンZ1 において、クライアント100は、クライアント(ユーザ)側に設置されており、前述したIPパケットをルータ(図示略)へ送出することにより、後述するサーバ510、サーバ520、サーバ610またはサーバ620からサービスの提供を受けるコンピュータ端末である。また、クライアント100は、サーバへアクセスする前に、クライアント側DNSサーバ110に対して、サーバ510、サーバ520、サーバ610およびサーバ620の代表ドメイン名を通知して、アクセス先のIPアドレスを獲得するというDNS問合せを行う。
【0068】
クライアント側DNSサーバ110は、前述したDNSを実現するためのサーバであり、クライアント100に接続されている。このクライアント側DNSサーバ110は、クライアント100よりDNS問合せがあった場合に、その上位に位置するサーバ側DNSサーバ群300(一次負荷分散装置群400)に対して、DNS問合せを行い、一次負荷分散装置群400から通知される、クライアント100のアクセス先である二次負荷分散装置500または二次負荷分散装置600のIPアドレス(DNS回答)を受け取り、これをクライアント100へ通知する。
【0069】
DNSゾーンZ2 において、クライアント200は、クライアント100と同様にしてクライアント(ユーザ)側に設置されており、前述したIPパケットをルータ(図示略)へ送出することにより、後述するサーバ510、サーバ520、サーバ610またはサーバ620からサービスの提供を受けるコンピュータ端末である。また、クライアント200は、サーバへアクセスする前に、クライアント側DNSサーバ210に対して、サーバ510、サーバ520、サーバ610およびサーバ620の代表ドメイン名を通知して、アクセス先である二次負荷分散装置500または二次負荷分散装置600のIPアドレスを獲得するというDNS問合せを行う。
【0070】
クライアント側DNSサーバ210は、前述したDNSを実現するためのサーバであり、クライアント200に接続されている。このクライアント側DNSサーバ210は、クライアント200よりDNS問合せがあった場合に、その上位に位置するサーバ側DNSサーバ群300(一次負荷分散装置群400)に対して、DNS問合せを行い、一次負荷分散装置群400から通知される、クライアント200のアクセス先である二次負荷分散装置500または二次負荷分散装置600のIPアドレス(DNS回答)を受け取り、これをクライアント200へ通知する。
【0071】
サーバ側DNSサーバ群300は、クライアント側DNSサーバ110およびクライアント側DNSサーバ210の上位装置であり、前述したDNSを実現するためのものである。ただし、このサーバ側DNSサーバ群300における負荷分散機能は、後述する一次負荷分散装置群400が担っている。また、サーバ側DNSサーバ群300は、サーバ側DNSサーバ(プライマリ)310およびサーバ側DNSサーバ(セカンダリ)320から構成されており、冗長構成が採られている。
【0072】
一次負荷分散装置群400は、クライアント側DNSサーバ110またはクライアント側DNSサーバ210からのDNS問合せに対して、後述する振分テーブル等に基づいて、二次負荷分散装置500または二次負荷分散装置600のうちいずれかのIPアドレスをDNS回答とする。すなわち、一次負荷分散装置群400は、クライアント100またはクライアント200からのアクセス要求を二次負荷分散装置500宛または二次負荷分散装置600宛という具合に大まかに一次振り分けすることにより、一次負荷分散を行う装置である。
【0073】
また、一次負荷分散装置群400は、一次負荷分散装置(プライマリ)410、一次負荷分散装置(セカンダリ)420および一次負荷分散装置(バックアップ)430から構成されており、冗長構成が採られている。これらの一次負荷分散装置(プライマリ)410、一次負荷分散装置(セカンダリ)420および一次負荷分散装置(バックアップ)430のそれぞれは、負荷分散を行う点で共通の機能を備えている。
【0074】
一次負荷分散装置(プライマリ)410は、負荷分散機能の他に、一次負荷分散装置(セカンダリ)420および一次負荷分散装置(バックアップ)430を制御する機能を備えている。一次負荷分散装置(セカンダリ)420は、一次負荷分散装置(プライマリ)410の機能が停止した場合に、一次負荷分散装置(プライマリ)410に代わってプライマリとして機能する装置である。なお、一次負荷分散装置群400においては、プライマリ以外の装置は、すべてバックアップとしての装置である。したがって、一次負荷分散装置(セカンダリ)420は、バックアップとしての装置であるとともに、セカンダリとしての装置でもある。
【0075】
サービスサイトSS1 において、二次負荷分散装置500は、サーバ510、サーバ520の近傍に配置されている。この二次負荷分散装置500は、一次負荷分散装置群400により一次振り分けされたIPパケット(サービス要求)を、サーバ510、サーバ520の運転状態に応じて、最良の運転状態のサーバへ二次振り分けを行うことにより、二次負荷分散を行う装置である。この二次振り分けには、前述したNATによりIPヘッダの宛先アドレスを、振り分け先のサーバのIPアドレスに変換する方法や、上記宛先アドレスを振り分け先のサーバのMACアドレスに付け替える等の方法が採られる。
【0076】
また、二次負荷分散装置500は、一次負荷分散装置群400からの計測依頼をトリガとして、たとえば、クライアント側DNSサーバ110(サーバ510、サーバ520)との間の通信経路における経路負荷を測定する機能を備えている。サーバ510は、サービス提供者側に設置されており、たとえば、クライアント100からのアクセスに基づくサービス要求に応じて、クライアント100に対してサービスの提供を行うためのコンピュータ端末である。同様にして、サーバ520は、サービス提供者側に設置されており、たとえば、クライアント100からのサービス要求に応じて、クライアント100に対してサービスの提供を行うためのコンピュータ端末である。
【0077】
サービスサイトSS2 において、二次負荷分散装置600は、サーバ610、サーバ620の近傍に配置されている。この二次負荷分散装置600は、二次負荷分散装置500と同様にして、一次負荷分散装置群400により一次振り分けされたIPパケット(サービス要求)を、サーバ610、サーバ620の運転状態に応じて、最良の運転状態のサーバへ二次振り分けを行うことにより、二次負荷分散を行う装置である。この二次振り分けには、前述したNATによりIPヘッダの宛先アドレスを、振り分け先のサーバのIPアドレスに変換する方法や、上記宛先アドレスを振り分け先のサーバのMACアドレスに付け替える等の方法が採られる。
【0078】
また、二次負荷分散装置600は、二次負荷分散装置500と同様にして、一次負荷分散装置群400からの計測依頼をトリガとして、たとえば、クライアント側DNSサーバ210(サーバ610、サーバ620)との間の通信経路における経路負荷を測定する機能を備えている。サーバ610は、サービス提供者側に設置されており、たとえば、クライアント200からのアクセスに基づくサービス要求に応じて、クライアント200に対してサービスの提供を行うためのコンピュータ端末である。同様にして、サーバ620は、たとえば、クライアント200からのサービス要求に応じて、クライアント200に対してサービスの提供を行うためのコンピュータ端末である。
【0079】
ここで、サーバ510、サーバ520、サーバ610およびサーバ620は、クライアント100(クライアント200)からみればあたかも1台の仮想サーバとして機能している。したがって、これらのサーバ510、サーバ520、サーバ610およびサーバ620には、代表として一つの代表ドメイン名が付与されている。ただし、サーバ510、サーバ520、サーバ610およびサーバ620それぞれには、固有のIPアドレスが付与されている。また、サービスサイトSS1 における二次負荷分散装置500には、サーバ510およびサーバ520を仮想サーバとするIPアドレスが付与されている。同様にして、サービスサイトSS2 における二次負荷分散装置600には、サーバ610およびサーバ620を仮想サーバとするIPアドレスが付与されている。
【0080】
つぎに、図2を参照して一実施の形態の具体的構成について説明する。この図において、図1の各部にそれぞれ対応する部分には同一の符号を付ける。ただし、図2においては、説明を簡略化するために、図1に示したクライアント200およびクライアント側DNSサーバ210が省略されている。
【0081】
また、図2には、相互接続されたLAN/WAN700、LAN/WAN800、LAN/WAN900およびLAN/WAN1000が図示されている。LAN/WAN700には、クライアント100およびクライアント側DNSサーバ110が接続されている。LAN/WAN800には、サーバ側DNSサーバ(プライマリ)310および一次負荷分散装置(プライマリ)410が接続されている。
【0082】
また、LAN/WAN900には、サーバ側DNSサーバ(セカンダリ)320、一次負荷分散装置(バックアップ)430、二次負荷分散装置500、サーバ510およびサーバ520が接続されている。LAN/WAN1000には、一次負荷分散装置(セカンダリ)420、二次負荷分散装置600、サーバ610およびサーバ620が接続されている。
【0083】
このように、クライアント100、・・・、サーバ620のそれぞれは、地域災害発生による集中的な被災を避けるべく、地理的に分散配置されている。特に、一次負荷分散装置群400(図1参照)を構成する一次負荷分散装置(プライマリ)410、一次負荷分散装置(セカンダリ)420および一次負荷分散装置(バックアップ)430は、システムの中枢を担う装置である。したがって、一次負荷分散装置(プライマリ)410等を地理的に分散配置させる意義は大きい。同様にして、サーバ側DNSサーバ(プライマリ)310およびサーバ側DNSサーバ(セカンダリ)320についても、地理的に分散配置する意義が大きい。
【0084】
つぎに、図3を参照して、図2に示した一次負荷分散装置410(プライマリ)の構成について説明する。この図において、図2の各部に対応する部分には同一の符号を付ける。一次負荷分散装置(プライマリ)410は、装置各部を制御する制御部411、記憶部412、外部装置(クライアント側DNSサーバ110等)との間で通信を行う通信部413および通信部414から構成されている。
【0085】
制御部411は、DNS応答スレッドS1 、DNS振分テーブル配布スレッドS2 、・・・、経路負荷計測結果集計スレッドS9 を発生させるとともに、これらのスレッドの実行に伴う制御を行う。この制御部411の動作の詳細については、後述する。記憶部412は、DNS振分テーブルT1 、サイト運転状態テーブルT2 、・・・、サイト連携振分テーブルT7 およびDNSアクセスログLを記憶する。
【0086】
上記DNS振分テーブルT1 は、クライアント側DNSサーバ110からのDNS問合せに応じて、前述した一次振り分けを行う場合に用いられるテーブルであり、制御部411により、サイト負荷状態テーブルT4 、経路負荷計測テーブルT5 およびポリシー情報テーブルT6 等に基づいて作成される。すなわち、図4に示したように、DNS振分テーブルT1 は、メインテーブルTa 、振分先一貫性保持テーブルTb およびLD情報テーブルTc から構成されている。
【0087】
メインテーブルTa は、代表ドメイン名を示す[ドメイン名]、振分先一貫性保持テーブルTb へのポインタを示す[テーブルポインタ(1)]、振分先一貫性保持テーブルTb の数を示す[テーブル数(1)]、LD情報テーブルTc へのポインタを示す[テーブルポインタ(2)]、LD(Local Dispatcher)情報テーブルTc の数を示す[テーブル数(2)]から構成されている。
【0088】
振分先一貫性保持テーブルTb は、DNS問合せ元のクライアント側DNSサーバへの一次振分先のIPアドレスを一定時間保持するためのテーブルである。この振分先一貫性保持テーブルTb は、DNS問合せ元のクライアント側DNSサーバのIPアドレスを示す[クライアント側DNSサーバアドレス]、当該DNS問合せに対応する二次負荷分散装置500または二次負荷分散装置600のIPアドレスを示す[回答アドレス]から構成されている。
【0089】
LD情報テーブルTc は、二次負荷分散装置500または二次負荷分散装置600における動作状態等に関する情報が格納されたテーブルである。すなわち、LD情報テーブルTc において、[LDアドレス]は、二次負荷分散装置500のIPアドレス(二次負荷分散装置600のIPアドレス)を示す。
【0090】
[LD動作状態コード]は、二次負荷分散装置500(二次負荷分散装置600)の動作状態を示す動作状態コードを示す。この動作状態コードとしては、正常に動作していることを示す0x0001(=正常動作中)、停止状態にあることを示す0x0002(=停止)、高負荷状態にあることを示す0x0003(=高負荷)、一次振り分け先として予約されていることを示す0x0004(=予約)がある。
【0091】
また、[優先コード]は、優先的に一次振り分けが行われるDNS問合せ元のクライアント側DNSサーバを識別するための優先コードを示しており、後述する経路負荷計測テーブルT5 における経路負荷計測結果に基づくものである。この優先コードとしては、単一のクライアント側DNSサーバを指定していることを示す0x0001(単一IPアドレス指定)、複数のクライアント側DNSサーバを範囲指定していることを示す0x0002、クライアント側DNSサーバのIPアドレスに加えてサブネットを指定していることを示す0x0003がある。
【0092】
ここで、[優先コード]として0x0001(=単一IPアドレス指定)が格納されている場合には、[クライアント側DNSアドレス(1)]に当該クライアント側DNSサーバのIPアドレスが格納される。また、[優先コード]として、0x0002(=範囲指定)が格納されている場合には、[クライアント側DNSアドレス(1)]に複数のクライアント側DNSサーバにおける若番のIPアドレスが格納されるとともに、[クライアント側DNSアドレス(2)]に複数のクライアント側DNSサーバにおける老番のIPアドレスが格納される。
【0093】
また、[優先コード]として、0x0003(=IPアドレス+サブネット指定)が格納されている場合には、[クライアント側DNSアドレス(1)]に当該クライアント側DNSサーバのIPアドレスが格納されるとともに、[クライアント側DNSアドレス(2)]にサブネットが格納される。
【0094】
図5に示したサイト運転状態テーブルT2 は、二次負荷分散装置500、二次負荷分散装置600の運転状態(停止または運転中)を示すテーブルである。すなわち、サイト運転状態テーブルT2 は、二次負荷分散装置500(二次負荷分散装置600)のIPアドレスを示す[LDアドレス]、二次負荷分散装置500(二次負荷分散装置600)の運転状態を示す[運転状態フラグ](0:停止、15:運転中)から構成されている。
【0095】
また、サイト運転状態テーブルT2 は、一次負荷分散装置(プライマリ)410の起動時に作成され、一次負荷分散装置(プライマリ)410から二次負荷分散装置500(二次負荷分散装置600)に対して一定時間間隔で行われる運転監視(LD運転監視スレッドS5 :図3参照)に基づいて更新される。
【0096】
図6に示したLBC(Load Balancing Controller)運転状態テーブルT3 は、一次負荷分散装置(セカンダリ)420(一次負荷分散装置(バックアップ)430)の運転状態(停止または運転中)を示すテーブルである。すなわち、LBC運転状態テーブルT3 は、一次負荷分散装置(セカンダリ)420(一次負荷分散装置(バックアップ)430)のIPアドレスを示す[LBCアドレス]、一次負荷分散装置(セカンダリ)420(一次負荷分散装置(バックアップ)430)の運転状態を示す[運転状態フラグ](0:停止、15:運転中)、一次負荷分散装置群400におけるセカンダリを示す[セカンダリフラグ]から構成されている。
【0097】
また、LBC運転状態テーブルT3 は、一次負荷分散装置(プライマリ)410の起動時に作成され、一次負荷分散装置(プライマリ)410から一次負荷分散装置(セカンダリ)420(一次負荷分散装置(バックアップ)430)に対して一定時間間隔で行われる運転監視(LBC運転監視スレッドS6 :図3参照)の結果に基づいて更新される。
【0098】
図7に示したサイト負荷状態テーブルT4 は、サイト(サービスサイトSS1 、サービスサイトSS2 :図1参照)毎の負荷状態を示すテーブルである。すなわち、サイト負荷状態テーブルT4 には、二次負荷分散装置500(二次負荷分散装置600)のIPアドレスを示す[LDアドレス]、[VIP]、当該サイトが広域振り分け(広域負荷分散)対象であるか否かを示す[広域振分フラグ](対象:OFF、対象外:ON)が含まれている。
【0099】
また、サイト負荷状態テーブルT4 において、[サイト連携フラグ](対象:OFF、対象外:ON)は、複数のサイトが連携して、あるサイトで処理しきれないサービス要求(IPパケット)を別のサイトに転送するというサイト連携の対象であるか否かを示すフラグである。[負荷状態フラグ](通常負荷:OFF、高負荷:ON)は、当該サイトの負荷状態(通常負荷または高負荷)を示すフラグである。
【0100】
[サイト連携受入フラグ](受入:ON、拒否:OFF)は、当該サイトが他のサイトからサイト連携を受け入れているか否かを示すフラグである。[サイト連携受入実行フラグ](実行:ON、未実行:OFF)は、当該サイトが他のサイトへのサイト連携を実行しているか否かを示すフラグである。また、サイト負荷状態テーブルT4 は、一次負荷分散装置(プライマリ)410の起動時に作成され、後述する広域負荷分散管理スレッドS4 (図3参照)が実行され、サイト負荷情報が受信された場合に更新される。
【0101】
図8に示した経路負荷計測テーブルT5 は、二次負荷分散装置500(二次負荷分散装置600)により実行される経路負荷計測の方法、結果等の情報からなるテーブルである。すなわち、経路負荷計測テーブルT5 は、線路負荷計測の対象となる二次負荷分散装置500(二次負荷分散装置600)、クライアント側DNSサーバ110のIPアドレスを示す[対象アドレス]、経路負荷計測の方法を示す[計測方法]、経路負荷計測の結果を示す[計測結果]、経路負荷計測の計測日時を示す[計測日時]からなる。この経路負荷計測テーブルT5 は、後述する経路負荷計測結果集計スレッドS9 が実行された場合に更新される。この経路負荷計測テーブルT5 における経路負荷計測結果は、DNS振分テーブルT1 に反映される。
【0102】
図9に示したポリシー情報テーブルT6 は、ネットワークシステムに用いられるドメイン名の一覧を示す[ドメイン名一覧]、設定されたDNSの数を示す[設定DNS数]、二次負荷分散装置500(二次負荷分散装置600)のIPアドレスを示す[LDアドレス]、二次負荷分散装置500、二次負荷分散装置600の数を示す[LD数]、一次負荷分散装置群400における一次振り分けの優先順位を示す[振分優先情報]からなる。
【0103】
図10に示したDNSアクセスログLは、クライアント側DNSサーバ110からDNS問合せがある毎に記録されるものであり、アクセス累計、アクセス数等からなる。すなわち、DNSアクセスログLは、問合せ元のクライアント100のDNS名を示す[DNS名]、アクセスの累計を示す[アクセス累計]、クライアント側DNSサーバ110のIPアドレスを示す[アクセスクライアントDNSアドレス]、アクセス時間を示す[アクセス時間]、アクセス数を示す[アクセス数]から構成されている。
【0104】
図3に戻り、サイト連携振分テーブルT7 は、前述したアクセス連携において振分元のサイトと、振分先のサイトとの関係を示すテーブルである。また、一次負荷分散装置(プライマリ)410において、DNS応答スレッドS1 は、クライアント側DNSサーバ110からのDNS問合せに対するDNS応答に関する処理を行うためのスレッドである。
【0105】
DNS振分テーブル配布スレッドS2 は、DNS振分テーブルT1 を一次負荷分散装置(セカンダリ)420、一次負荷分散装置(バックアップ)430へ配布するためのスレッドであり、DNS振分テーブルT1 の作成時および更新時に実行される。したがって、DNS振分テーブル配布スレッドS2 が一定時間間隔毎に実行されることにより、一次負荷分散装置(プライマリ)410、一次負荷分散装置(セカンダリ)420および一次負荷分散装置(バックアップ)430におけるDNS振分テーブルT1 およびDNS振分テーブルT1’(図11参照)は、内容的に同期がとられる。
【0106】
DNSアクセスログ同期スレッドS3 は、一次負荷分散装置(プライマリ)410におけるDNSアクセスログLと、一次負荷分散装置(セカンダリ)420(一次負荷分散装置(バックアップ)430)におけるDNSアクセスログL’(図11参照)との同期をとる処理を行うためのスレッドである。広域負荷分散管理スレッドS4 は、広域負荷分散に関する管理(サイト運転状態テーブルT2 、サイト連携テーブルT7 の更新等)を行うためのスレッドである。
【0107】
LD運転監視スレッドS5 は、二次負荷分散装置500(二次負荷分散装置600)の運転監視を行うためのスレッドである。LBC運転監視スレッドS6 は、一次負荷分散装置(セカンダリ)420(一次負荷分散装置(バックアップ)430)の運転監視を行うためのスレッドである。サイト連携振分テーブル配布スレッドS7 は、サイト連携振分テーブルT7 を二次負荷分散装置500(二次負荷分散装置600)へ配布するためのスレッドである。
【0108】
経路負荷計測依頼スレッドS8 は、二次負荷分散装置500(二次負荷分散装置600)に対して経路負荷計測を依頼するためのスレッドである。経路負荷計測結果集計スレッドS9 は、上記経路負荷計測の終了後、二次負荷分散装置500(二次負荷分散装置600)からの経路負荷計測結果を集計するためのスレッドである。
【0109】
つぎに、図11を参照して、図2に示した一次負荷分散装置(セカンダリ)420の構成について説明する。この図において、図2の各部に対応する部分には同一の符号を付ける。一次負荷分散装置(セカンダリ)420は、装置各部を制御する制御部421、記憶部422、外部装置(クライアント側DNSサーバ110、一次負荷分散装置(プライマリ)410)との間で通信を行う通信部423から構成されている。
【0110】
記憶部422には、DNS振分テーブルT1’、LBC運転状態テーブルT3’、ポリシー情報テーブルT6’およびDNSアクセスログL’が記憶されている。これらのDNS振分テーブルT1’、LBC運転状態テーブルT3’、ポリシー情報テーブルT6’およびDNSアクセスログL’は、図3に示したDNS振分テーブルT1 、LBC運転状態テーブルT3 、ポリシー情報テーブルT6 およびDNSアクセスログLに対応している。
【0111】
また、一次負荷分散装置(セカンダリ)420において、DNS応答スレッドS10は、クライアント側DNSサーバ110からのDNS問合せに対するDNS応答に関する処理を行うためのスレッドである。DNS振分テーブル配布スレッドS11は、一次負荷分散装置(プライマリ)410からのDNS振分テーブルT1 の配布を受けるためのスレッドである。
【0112】
DNSアクセスログ同期スレッドS12は、一次負荷分散装置(セカンダリ)420におけるDNSアクセスログL’と、一次負荷分散装置(プライマリ)410におけるDNSアクセスログLとの同期をとる処理を行うためのスレッドである。広域負荷分散管理スレッドS13は、一次負荷分散装置(プライマリ)410の制御により、広域負荷分散に関する管理を行うためのスレッドである。LBC運転監視スレッドS14は、一次負荷分散装置(プライマリ)410の運転監視を行うためのスレッドである。
【0113】
なお、一次負荷分散装置(バックアップ)430の基本的な構成およびスレッドは、上述した一次負荷分散装置(セカンダリ)420と同様である。すなわち、一次負荷分散装置(バックアップ)430は、制御部431、記憶部432および通信部433を備えている。
【0114】
(運転監視動作)
つぎに、図12を参照して一実施の形態における運転監視動作について説明する。同図において、一次負荷分散装置(プライマリ)410が起動されると、LD運転監視スレッドS5 およびLBC運転監視スレッドS6 (図3参照)が実行される。これにより、一次負荷分散装置(プライマリ)410は、二次負荷分散装置500、二次負荷分散装置600、一次負荷分散装置(セカンダリ)420および一次負荷分散装置(バックアップ)430へ運転監視メッセージ(ステップSE1〜ステップSE4)をそれぞれ一定時間間隔で送信する。
【0115】
そして、二次負荷分散装置500および二次負荷分散装置600により上記運転監視メッセージが受信されると、二次負荷分散装置500および二次負荷分散装置600は、送信元の一次負荷分散装置(プライマリ)410へ運転応答メッセージをそれぞれ送信する。
【0116】
また、一次負荷分散装置(セカンダリ)420および一次負荷分散装置(バックアップ)430により運転監視メッセージが受信されると、一次負荷分散装置(セカンダリ)420および一次負荷分散装置(バックアップ)430は、LBC運転監視スレッドS14(図11参照)を実行することにより、運転監視応答メッセージを送信元の一次負荷分散装置(プライマリ)410へ送信する。
【0117】
そして、一次負荷分散装置(プライマリ)410は、運転監視メッセージを送信してから一定時間待機し、この間に運転応答メッセージが受信された場合、送信先の装置が正常に運転しているものと判断する。一方、一定時間内に運転応答メッセージが受信されない場合には、当該装置に対して運転監視メッセージを再送する。以後、再送動作を一定回数(デフォルト3回)繰り返し、それでもなお、当該装置からの運転監視メッセージが受信されない場合、一次負荷分散装置(プライマリ)410は、当該装置の運転が停止しているものと判断する。この運転停止の要因の一つとしては、前述した災害の発生が挙げられる。
【0118】
ここで、二次負荷分散装置500(または二次負荷分散装置600)が運転停止(被災)しているものと判断した場合、一次負荷分散装置(プライマリ)410は、図5に示したサイト運転状態テーブルT2 における[運転状態フラグ]を0(=運転停止)とする。
【0119】
さらに、一次負荷分散装置(プライマリ)410は、図4に示したDNS振分テーブルT1 のLD情報テーブルTc における[LD動作状態コード]を0x0002(=停止)とするとともに、図3に示したサイト連携振分テーブルT7 における二次負荷分散装置500(または二次負荷分散装置600)の運転状態を停止とする。これにより、二次負荷分散装置500(または二次負荷分散装置600)は、一次振り分け対象から除外される。
【0120】
また、一次負荷分散装置(プライマリ)410は、一次負荷分散装置(セカンダリ)420および一次負荷分散装置(バックアップ)430へ、二次負荷分散装置500(または二次負荷分散装置600)が運転停止した旨を通知する。これにより、一次負荷分散装置(セカンダリ)420および一次負荷分散装置(バックアップ)430のそれぞれは、DNS振分テーブルT1’(図11参照)を更新し、二次負荷分散装置500(または二次負荷分散装置600)を一次振り分け対象から除外する。
【0121】
また、一次負荷分散装置(バックアップ)430(または一次負荷分散装置(セカンダリ)420)が運転停止(被災)しているものと判断した場合、一次負荷分散装置(プライマリ)410は、図6に示したLBC運転状態テーブルT3 における[運転状態フラグ]を0(=運転停止)とする。
【0122】
以後、一次負荷分散装置(プライマリ)410は、運転停止していると判断された装置(たとえば、二次負荷分散装置500、一次負荷分散装置(セカンダリ)420等)に対して、運転監視メッセージを一定時間間隔をおいて送信する。ただし、この場合、運転監視メッセージの再送は行われない。そして、運転停止していると判断された当該装置から運転監視応答メッセージを受信すると、一次負荷分散装置(プライマリ)410は、当該装置に対してプライマリアナウンスを送信する。そして、このプライマリアナウンスを受信すると、当該装置は、プライマリ了承メッセージを一次負荷分散装置(プライマリ)410へ送信する。
【0123】
このプライマリ了承メッセージが一次負荷分散装置(プライマリ)410に受信されると、一次負荷分散装置(プライマリ)410は、当該装置に関するDNS振分テーブルT1 、サイト運転状態テーブルT2 (またはLBC運転状態テーブルT3 )を運転中の状態に更新する。なお、一次負荷分散装置(セカンダリ)420が運転停止(被災)している場合、一次負荷分散装置(プライマリ)410は、LBC運転状態テーブルT3 (図6参照)の[セカンダリフラグ]に一次負荷分散装置(バックアップ)430を設定することで、一次負荷分散装置(セカンダリ)420に代えて一次負荷分散装置(バックアップ)430をセカンダリとする。
【0124】
また、一次負荷分散装置(プライマリ)410または一次負荷分散装置(プライマリ)410のリンクが被災することにより、一次負荷分散装置(プライマリ)410からの運転監視メッセージが所定時間(=前回の運転監視時間+運転監視時間+待機時間)が経過しても一次負荷分散装置(セカンダリ)420に受信されない場合、一次負荷分散装置(セカンダリ)420は、つぎの動作を行う。ここで、上記待機時間は、一次負荷分散装置(セカンダリ)420がセカンダリからプライマリに自動的に昇格するのに要する時間である。
【0125】
この場合、一次負荷分散装置(セカンダリ)420は、一次負荷分散装置(プライマリ)410が消失したものと判断し、一次負荷分散装置(バックアップ)430、二次負荷分散装置500および二次負荷分散装置600へ、プライマリアナウンスを送信する。
【0126】
そして、一次負荷分散装置(バックアップ)430、二次負荷分散装置500および二次負荷分散装置600は、上記プライマリアナウンスを受信すると、プライマリ了承メッセージを一次負荷分散装置(セカンダリ)420へ送信する。このプライマリ了承メッセージを受信すると、一次負荷分散装置(セカンダリ)420は、一次負荷分散装置(プライマリ)410に代わって、プライマリとして機能する。以後、一次負荷分散装置(セカンダリ)420は、一次負荷分散装置(プライマリ)410と同様の動作を行う。
【0127】
なお、一次負荷分散装置(プライマリ)410と同時に一次負荷分散装置(セカンダリ)420も被災により運転停止した場合には、一次負荷分散装置(セカンダリ)420からは、プライマリアナウンスが送信されない。したがって、この場合、上述した所定時間を経過しても一次負荷分散装置(バックアップ)430には、上記プライマリアナウンスが受信されない。これにより、一次負荷分散装置(バックアップ)430は、プライマリ探索を行う。この場合には、上位の一次負荷分散装置または最初にプライマリ探索を行った一次負荷分散装置がプライマリとなる。
【0128】
そして、一次負荷分散装置(プライマリ)410が復旧し運転を再開すると、一次負荷分散装置(プライマリ)410は、一次負荷分散装置420、一次負荷分散装置(バックアップ)430、二次負荷分散装置500および二次負荷分散装置600へ自身が本来のプライマリであることを示すプライマリアナウンスを送信する。
【0129】
そして、現時点のプライマリである一次負荷分散装置420が上記プライマリアナウンスを受信すると、一次負荷分散装置420は、一次負荷分散装置(プライマリ)410が本来のプライマリであることを確認した後、負荷分散の管理下にある二次負荷分散装置500、二次負荷分散装置600および一次負荷分散装置(バックアップ)430に対して負荷分散を終了するための負荷分散終了メッセージを送信する。
【0130】
これにより、二次負荷分散装置500、二次負荷分散装置600および一次負荷分散装置(バックアップ)430は、一次負荷分散装置420をプライマリとする負荷分散の参加を取り消すための参加取り消しメッセージを送信する。
【0131】
つぎに、一次負荷分散装置420は、プライマリアナウンスの送信元(一次負荷分散装置(プライマリ)410)をプライマリとした負荷分散に参加を要請するための参加要請メッセージを、一次負荷分散装置(バックアップ)430、二次負荷分散装置500および二次負荷分散装置600へ送信する。そして、一次負荷分散装置(セカンダリ)420、一次負荷分散装置(バックアップ)430、二次負荷分散装置500および二次負荷分散装置600のそれぞれは、一次負荷分散装置(プライマリ)410をプライマリとする負荷分散に参加するための参加メッセージを一次負荷分散装置(プライマリ)410へ送信する。これにより、災害発生前の状態に自動復旧する。
【0132】
また、災害発生等により、一次負荷分散装置(プライマリ)410からの運転監視メッセージが所定時間(=前回の運転監視時間+運転監視時間+待機時間)が経過しても一次負荷分散装置(バックアップ)430に受信されない場合、一次負荷分散装置(バックアップ)430は、つぎの動作を行う。すなわち、この場合、一次負荷分散装置(バックアップ)430は、一次負荷分散装置(プライマリ)410が消失したものと判断し、待機時間内に一次負荷分散装置(セカンダリ)420からのプライマリアナウンスを受信したか否かを判断する。
【0133】
この待機時間内にプライマリアナウンスを受信した場合、一次負荷分散装置(バックアップ)430は、上述したプライマリ了承メッセージを一次負荷分散装置(セカンダリ)420へ送信する。一方、待機時間内にプライマリアナウンスを受信しない場合、一次負荷分散装置(バックアップ)430は、プライマリとなる一次負荷分散装置を探索する。
【0134】
また、災害発生等により、一次負荷分散装置(プライマリ)410からの運転監視メッセージが所定時間(=前回の運転監視時間+運転監視時間+待機時間)が経過しても二次負荷分散装置500(二次負荷分散装置600)に受信されない場合、二次負荷分散装置500(二次負荷分散装置600)は、つぎの動作を行う。すなわち、この場合、二次負荷分散装置500(二次負荷分散装置600)は、一次負荷分散装置(プライマリ)410が消失したものと判断し、待機時間内に一次負荷分散装置(セカンダリ)420からのプライマリアナウンスを受信したか否かを判断する。
【0135】
この待機時間内にプライマリアナウンスを受信した場合、二次負荷分散装置500(二次負荷分散装置600)は、上述したプライマリ了承メッセージを一次負荷分散装置(セカンダリ)420へ送信する。一方、待機時間内にプライマリアナウンスを受信しない場合、二次負荷分散装置500(二次負荷分散装置600)は、プライマリとなる一次負荷分散装置を探索する。
【0136】
(負荷情報収集動作)
つぎに、図13を参照して一実施の形態における負荷情報収集動作について説明する。同図において、一次負荷分散装置(プライマリ)410が起動されると、広域負荷分散管理スレッドS4 (図3参照)が実行される。これにより、一次負荷分散装置(プライマリ)410は、二次負荷分散装置500(二次負荷分散装置600)へ負荷状態の計測を依頼する(ステップSF1およびステップSF2)。
【0137】
これにより、二次負荷分散装置500は、サーバ510およびサーバ520の負荷状態(高負荷、通常負荷)をIPパケットの通過量や計測エージェントにより計測する。同様にして、二次負荷分散装置600は、サーバ610およびサーバ620の負荷状態を計測する。そして、二次負荷分散装置500および二次負荷分散装置600は、負荷状態をサイト負荷情報として一次負荷分散装置(プライマリ)410へ送信する。このサイト負荷情報を受信すると、一次負荷分散装置(プライマリ)410は、サイト負荷状態テーブルT4(図7参照)を更新する。以後、一定時間間隔をおいて、負荷情報収集動作が実行される。
【0138】
(DNSアクセスログ収集動作)
つぎに、図14を参照して一実施の形態におけるDNSアクセスログ収集動作について説明する。同図において、ステップSG1でクライアント側DNSサーバ110から一次負荷分散装置(セカンダリ)420に対してDNS問合せがあると、一次負荷分散装置(セカンダリ)420は、DNSアクセスログL’(図11参照)を更新する。同様にして、ステップSG3でクライアント側DNSサーバ110から一次負荷分散装置(バックアップ)430に対してDNS問合せがあると、一次負荷分散装置(バックアップ)430は、DNSアクセスログL’(図11参照)を更新する。
【0139】
そして、ステップSG2では、一次負荷分散装置(セカンダリ)420は、一定時間間隔毎にDNSアクセスログ同期スレッドS12(図11参照)を実行する。すなわち、一次負荷分散装置(セカンダリ)420は、DNSアクセスログL’を一次負荷分散装置(プライマリ)410へ送信する。同様にして、ステップSG4では、一次負荷分散装置(バックアップ)430は、一定時間間隔毎にDNSアクセスログ同期スレッドS12(図11参照)を実行する。すなわち、一次負荷分散装置(バックアップ)430は、DNSアクセスログL’を一次負荷分散装置(プライマリ)410へ送信する。
【0140】
そして、上記DNSアクセスログL’を受信すると、一次負荷分散装置(プライマリ)410は、DNSアクセスログ同期スレッドS3 を実行し、一次負荷分散装置(セカンダリ)420および一次負荷分散装置(バックアップ)430からのDNSアクセスログL’を集計し、集計結果をDNSアクセスログL(図10参照)に反映させる。
【0141】
(経路負荷情報収集動作)
つぎに、図15を参照して一実施の形態における経路負荷情報収集動作について説明する。同図において、一次負荷分散装置(プライマリ)410は、経路負荷計測依頼スレッドS8 を実行する。すなわち、一次負荷分散装置(プライマリ)410は、DNSアクセスログLを参照することで、最近アクセスがあり、かつ経路負荷計測が実施されていない、たとえば、クライアント側DNSサーバ110を選択する。
【0142】
つぎに、ステップSH1では、一次負荷分散装置(プライマリ)410は、二次負荷分散装置500に対して経路負荷計測を依頼する。これにより、ステップSH2では、二次負荷分散装置500は、クライアント側DNSサーバ110との間の通信経路におけるラウンドトリップタイム、最大セグメントサイズおよび平均輻輳ウインドウサイズ等に基づいて、上記通信経路における実効帯域幅を求める。
【0143】
具体的には、二次負荷分散装置500は、SYN(SYNchronous idle character)パケットをクライアント側DNSサーバ110に対して送信した後、クライアント側DNSサーバ110から送信される返信用のACK(ACKnowledge character)パケットを受信する。これにより、二次負荷分散装置500は、ACKパケットの受信時刻とSYNパケットの送信時刻との差をラウンドトリップタイムとして求める。
【0144】
つぎに、二次負荷分散装置500は、最大セグメントサイズ(単位:バイト)をつぎのようにして求める。TCP通信では、通信経路上のルータの最大送信単位(MTU)に基づいてパケットのサイズが決められている。ここで、中継用のルータが通信経路上に複数あるときは、最大通信単位の最小値がTCP通信の最大セグメントサイズとなる。したがって、二次負荷分散装置500は、クライアント側DNSサーバ110との間の通信経路上にルータのMTUを検出した後、最小値のMTUを最大セグメントサイズとして求める。
【0145】
続いて、二次負荷分散装置500は、平均輻輳ウインドウサイズ(単位:パケット)をつぎのようにして求める。TCP通信では、パケットをスライディングウィンドウ方式により出力制限しながら送出している。すなわち、二次負荷分散装置500は、ウインドウサイズという単位で一度に送出するパケット数を制限しながら、クライアント側DNSサーバ110に対してパケットを送出した後、クライアント側DNSサーバ110からの受信確認パケットによりウインドウサイズ分のパケットが転送されたことを確認する。
【0146】
また、二次負荷分散装置500は、上記ウインドウサイズを送信または受信されたパケットのログ情報に基づいて、一つのウインドウサイクル内で送出されたパケットの数を調べることにより、上述したウィンドウサイズを得る。また、二次負荷分散装置500は、クライアント側DNSサーバ110からの受信確認パケットが所定時間内に到着しない場合、通信経路(ネットワーク)が輻輳しているものと判断し、ウインドウサイズを調整する。このウインドウサイズの調整は、輻輳回避アルゴリズムによって行われる。
【0147】
すなわち、受信確認パケットが所定時間内に到着しない場合、言い換えれば、パケット廃棄が起こった場合、二次負荷分散装置500は、ウインドウサイズを半分に減らし、その後に再び、パケット廃棄が起こるまで一つづつウインドウサイズを増やしていく。そして、パケット廃棄が再び発生すると、再びウインドウサイズを半分に減らして同じことを繰り返す。二次負荷分散装置500は、上述した輻輳回避アルゴリズムが実行されている間のウインドウサイズの平均値を平均輻輳ウインドウサイズとして求める。
【0148】
つぎに、二次負荷分散装置500は、上述したラウンドトリップタイム、最大セグメントサイズおよび平均輻輳ウインドウサイズに基づいて、クライアント側DNSサーバ110との間の通信経路における実効帯域幅(転送速度)を求める。具体的には、二次負荷分散装置500は、実効帯域幅をBW(バイト/秒)、ラウンドトリップタイムをRTT(msec)、最大セグメントサイズをMSS(バイト)および平均輻輳ウインドウサイズをW(パケット)としたつぎの(1)式に各値を代入することにより、実効帯域幅を求める。
BW=W×MSS/RTT ・・・(1)
【0149】
同様にして、ステップSH3では、一次負荷分散装置(プライマリ)410は、二次負荷分散装置600に対して経路負荷計測を依頼する。これにより、ステップSH4では、二次負荷分散装置600は、二次負荷分散装置500と同様にして、クライアント側DNSサーバ110との間の通信経路における実効帯域幅を求める。
【0150】
そして、二次負荷分散装置500および二次負荷分散装置600は、それぞれの実効帯域幅を経路負荷計測結果として一次負荷分散装置(プライマリ)410へ送信する。これにより、経路負荷計測結果集計スレッドS9 が実行され、一次負荷分散装置(プライマリ)410は、経路負荷計測結果を集計し、この集計結果に基づいて経路負荷計測テーブルT5 (図8参照)を更新する。
【0151】
(アクセス動作)
つぎに、図16および図17を参照して一実施の形態におけるアクセス動作について説明する。図16において、ステップSI1では、クライアント100は、クライアント側DNSサーバ110に対して代表ドメイン名に基づくDNS問合せを行う。これにより、クライアント側DNSサーバ110は、自身のキャッシュメモリに回答すべき二次負荷分散装置500または二次負荷分散装置600のIPアドレスが保存されているか否かを判断し、保存されている場合、ステップSI4で上記IPアドレスをクライアント100へ回答する。
【0152】
一方、キャッシュメモリに回答すべきIPアドレスが保存されていない場合、ステップSI2では、クライアント側DNSサーバ110は、問い合わせがあったDNSに関する権限を有するサーバ側DNSサーバ(プライマリ)310に対してDNS問合せを行う。これにより、サーバ側DNSサーバ(プライマリ)310は、登録されている一次負荷分散装置(プライマリ)410、一次負荷分散装置(セカンダリ)420および一次負荷分散装置(バックアップ)430のそれぞれのIPアドレスをクライアント側DNSサーバ110に返答する。
【0153】
ステップSI3では、クライアント側DNSサーバ110は、受信した都合三つのIPアドレスのうち、たとえば、一次負荷分散装置(プライマリ)410のIPアドレスを用いて、一次負荷分散装置(プライマリ)410にアクセスする。すなわち、クライアント側DNSサーバ110は、一次負荷分散装置(プライマリ)410に対してDNS問合せを行う。
【0154】
これにより、一次負荷分散装置(プライマリ)410は、DNS振分テーブルT1 を参照することで、全体の負荷が分散されるようなサイト、すなわち二次負荷分散装置のIPアドレスをクライアント側DNSサーバ110へ回答する。この場合、二次負荷分散装置600のIPアドレスが回答されたものとする。そして、ステップSI4では、クライアント側DNSサーバ110は、上記IPアドレスをクライアント100へ回答する。
【0155】
これにより、図17に示したステップSJ1では、クライアント100は、上記IPアドレスに基づいて二次負荷分散装置600にアクセスする。これにより、ステップSJ2では、二次負荷分散装置600は、クライアント100からのIPパケット(サービス要求)を、NAT方式やMAC方式により、たとえば、サーバ620へ振り分ける。そして、ステップSJ3では、サーバ620は、サービスを提供するための返信パケットを二次負荷分散装置600を介して、または直接クライアント100へ送信する。これにより、サーバ620からクライアント100へサービスが提供される。
【0156】
以上説明したように、一実施の形態によれば、プライマリの一次負荷分散装置410を設定し、この一次負荷分散装置(プライマリ)410により、他の一次負荷分散装置(セカンダリ)420、一次負荷分散装置(バックアップ)430、二次負荷分散装置500および二次負荷分散装置600の運転状態を監視し、運転停止した装置がある場合、当該装置を負荷分散を行う装置から除外するようにしたので、災害発生によるサービス停止を回避することができる。
【0157】
また、一実施の形態によれば、あらかじめセカンダリの一次負荷分散装置420を設定するようにしたので、一次負荷分散装置(プライマリ)410が運転停止した時点で即座に一次負荷分散装置(セカンダリ)420をプライマリとして機能させることができるため、プライマリが不在という致命的な事態を回避することができる。
【0158】
また、一実施の形態によれば、運転停止した一次負荷分散装置(プライマリ)410が運転を再開すると、現時点でのプライマリである一次負荷分散装置420が一次負荷分散装置(プライマリ)410に自動的に切り替わる。したがって、一実施の形態によれば、運転停止した一次負荷分散装置(プライマリ)410の運転状態を相互監視により監視するようにしたので、一次負荷分散装置(プライマリ)410が復旧した時点で即座に現時点でのプライマリとしての一次負荷分散装置(セカンダリ)420を本来の一次負荷分散装置(プライマリ)410に切り換えることができる。
【0159】
また、一実施の形態によれば、一次負荷分散装置(プライマリ)410、一次負荷分散装置(セカンダリ)420、一次負荷分散装置(バックアップ)430、二次負荷分散装置500および二次負荷分散装置600のそれぞれを広域にわたって地理的に分散配置するようにしたので、局部的に発生する災害(地震等)が発生した場合であっても、最小限の被災にとどめることができるため、災害発生によるサービス停止をさらに効果的に回避することができる。
【0160】
また、一実施の形態によれば、一次負荷分散装置(プライマリ)410により作成/更新されたDNS振分テーブルT1 をその他の一次負荷分散装置(セカンダリ)420、一次負荷分散装置(バックアップ)430へ配布するようにしたので、すべての一次負荷分散装置(プライマリ)410、一次負荷分散装置(セカンダリ)420および一次負荷分散装置(バックアップ)430で同一の基準で一次振り分けが行われるため、更新漏れによるトラブルを防止することができる。
【0161】
さらに、一実施の形態によれば、サーバ510、サーバ520、サーバ610およびサーバ620における実際の負荷を測定した結果が反映されたDNS振分テーブルT1 に基づいて、一次振り分けが行われるため、実際の負荷に応じた負荷分散を行うことができる。
【0162】
加えて、一実施の形態によれば、経路負荷が反映されたDNS振分テーブルT1 に基づいて、一次振り分けが行われるため、通信経路の状態に即した最適な負荷分散を行うことができる。
【0163】
【発明の効果】
以上説明したように、請求項1にかかる発明によれば、災害発生によるサービス停止を回避することができ、さらに、二次負荷分散手段間の協調によっても負荷分散を実現可能な2段階方式の負荷分散システムを得ることができるという効果を奏する。
【0164】
また、請求項2にかかる発明によれば、一次振り分けの結果は、DNS問合せのキャッシュとして問合せ元に一定期間記憶され、キャッシュを保持している問合せ元では、このキャッシュに基づいて一次振り分けが行われることになるため、一次負荷分散手段の負荷が軽減されるという効果を奏する。
【0165】
また、請求項3にかかる発明によれば、サービス要求の送信元との間の経路負荷が最も少ないことが期待される二次負荷分散手段がサービス要求の振り分け先として選択されるので、ネットワークに負荷をかけることなく負荷分散を実現することができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明にかかる負荷分散システムの一実施の形態の概略構成を示す図である。
【図2】同一実施の形態の構成を示す図である。
【図3】図2に示した一次負荷分散装置410(プライマリ)の構成を示すブロック図である。
【図4】図3に示したDNS振分テーブルT1 の一例を示す図である。
【図5】図3に示したサイト運転状態テーブルT2 の一例を示す図である。
【図6】図3に示したLBC運転状態テーブルT3 の一例を示す図である。
【図7】図3に示したサイト負荷状態テーブルT4 の一例を示す図である。
【図8】図3に示した経路負荷計測テーブルT5 の一例を示す図である。
【図9】図3に示したポリシー情報テーブルT6 の一例を示す図である。
【図10】図3に示したDNSアクセスログLの一例を示す図である。
【図11】図2に示した一次負荷分散装置420(セカンダリ)および一次負荷分散装置430(バックアップ)の構成を示すブロック図である。
【図12】同一実施の形態における運転監視動作を説明する図である。
【図13】同一実施の形態におけるサイト負荷情報収集動作を説明する図である。
【図14】同一実施の形態におけるDNSアクセスログ収集動作を説明する図である。
【図15】同一実施の形態における経路負荷情報収集動作を説明する図である。
【図16】同一実施の形態におけるアクセス動作を説明する図である。
【図17】同一実施の形態におけるアクセス動作を説明する図である。
【図18】従来のネットワークシステムの構成例1を示す図である。
【図19】従来のネットワークシステムの構成例1における災害発生時の動作を説明する図である。
【図20】従来のネットワークシステムの構成例2を示す図である。
【図21】従来のネットワークシステムの構成例2における災害発生時の動作を説明する図である。
【符号の説明】
100 クライアント
200 クライアント
400 一次負荷分散装置群
410 一次負荷分散装置
420 一次負荷分散装置
430 一次負荷分散装置
500 二次負荷分散装置
510 サーバ
520 サーバ
600 二次負荷分散装置
610 サーバ
620 サーバ

Claims (3)

  1. サービスの提供を求めるクライアントの要求を、前記サービスを提供するサーバを含むサイトのいずれか1つに振り分けさせる一次負荷分散手段と、自身が属するサイトに前記要求が振り分けられた場合に、該サイトに属するサーバのいずれか1つに該要求を振り分ける二次負荷分散手段とを備える負荷分散システムであって、
    前記一次負荷分散手段は、前記二次負荷分散手段の運転状態を監視し、運転停止していない二次負荷分散手段を含むサイトのいずれか1つに前記要求を振り分けさせるとともに、監視結果を各二次負荷分散手段に配布し、
    前記二次負荷分散手段は、自身が属するサイトに含まれるサーバの負荷が所定よりも高い場合に、前記一次負荷分散手段によって予め配布された前記監視結果に基づいて運転停止していない他の二次負荷分散手段を選択し、自身が属するサイトへ振り分けられた前記要求を前記他の二次負荷分散手段へ転送することを特徴とする負荷分散システム。
  2. 前記一次負荷分散手段は、サービスを提供するサーバにアクセスするためのドメイン名の解決を求めるDNS問合せに対して、前記二次負荷分散手段のいずれか1つのIPアドレスを応答することにより、該IPアドレスを有する二次負荷分散手段を含むサイトへ前記要求を振り分けさせ、
    前記二次負荷分散手段は、自身が属するサイトに属するサーバのいずれか1つに前記要求を振り分ける場合に、自身が有するIPアドレスを宛先として前記クライアントから送信された前記要求のヘッダ部を書き換えることにより、前記サービスを提供するサーバに該要求を振り分けることを特徴とする請求項1に記載の負荷分散システム。
  3. 前記一次負荷分散手段は、各二次負荷分散手段に対して、前記DNS問合せの送信元と当該の二次負荷分散手段との間の通信経路の経路負荷の計測を依頼し、計測された経路負荷に係る情報に基づいて、サービスを提供するサーバにアクセスするためのドメイン名の解決を求めるDNS問合せを受信した場合に、該DNS問合せの送信元との間の経路負荷が最も少ない二次負荷分散手段のIPアドレスを応答することを特徴とする請求項2に記載の負荷分散システム。
JP29290699A 1999-10-14 1999-10-14 負荷分散システム Expired - Fee Related JP4001698B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP29290699A JP4001698B2 (ja) 1999-10-14 1999-10-14 負荷分散システム
US09/628,353 US6725253B1 (en) 1999-10-14 2000-07-28 Load balancing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29290699A JP4001698B2 (ja) 1999-10-14 1999-10-14 負荷分散システム

Publications (2)

Publication Number Publication Date
JP2001117897A JP2001117897A (ja) 2001-04-27
JP4001698B2 true JP4001698B2 (ja) 2007-10-31

Family

ID=17787939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29290699A Expired - Fee Related JP4001698B2 (ja) 1999-10-14 1999-10-14 負荷分散システム

Country Status (2)

Country Link
US (1) US6725253B1 (ja)
JP (1) JP4001698B2 (ja)

Families Citing this family (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100719745B1 (ko) * 1999-11-12 2007-05-17 주식회사 케이티 인터넷 전자상거래 서비스 시스템에서의 입점 신청 상점 관리 장치 및 그 방법
US7251688B2 (en) * 2000-05-26 2007-07-31 Akamai Technologies, Inc. Method for generating a network map
US7500243B2 (en) * 2000-08-17 2009-03-03 Sun Microsystems, Inc. Load balancing method and system using multiple load balancing servers
US7277933B2 (en) * 2000-08-28 2007-10-02 Fujitsu Limited System for operating a plurality of apparatuses based on accumulated operating times thereof to equalize the respective operating times of the apparatuses
US6871210B1 (en) * 2000-09-05 2005-03-22 International Business Machines Corporation Automatic allocation of least loaded boot server to PXE client on a network VIA DHCP server
US7454500B1 (en) * 2000-09-26 2008-11-18 Foundry Networks, Inc. Global server load balancing
US9130954B2 (en) * 2000-09-26 2015-09-08 Brocade Communications Systems, Inc. Distributed health check for global server load balancing
US7657629B1 (en) 2000-09-26 2010-02-02 Foundry Networks, Inc. Global server load balancing
JP3885865B2 (ja) * 2000-10-16 2007-02-28 日本電気株式会社 データ配信システム及びデータ配信方法
US7606898B1 (en) 2000-10-24 2009-10-20 Microsoft Corporation System and method for distributed management of shared computers
JP3885483B2 (ja) * 2000-10-30 2007-02-21 富士通株式会社 サービス実行方法および装置
US7219346B2 (en) * 2000-12-05 2007-05-15 Microsoft Corporation System and method for implementing a client side HTTP stack
US7418522B2 (en) * 2000-12-21 2008-08-26 Noatak Software Llc Method and system for communicating an information packet through multiple networks
US7287090B1 (en) * 2000-12-21 2007-10-23 Noatak Software, Llc Method and system for identifying a computing device in response to a request packet
US20020116397A1 (en) 2000-12-21 2002-08-22 Berg Mitchell T. Method and system for communicating an information packet through multiple router devices
US20020087722A1 (en) * 2000-12-29 2002-07-04 Ragula Systems D/B/A/ Fatpipe Networks Domain name resolution making IP address selections in response to connection status when multiple connections are present
US6871347B2 (en) * 2001-04-13 2005-03-22 Interland, Inc. Method and apparatus for facilitating load balancing across name servers
US8135834B1 (en) * 2001-06-18 2012-03-13 Packet Design, Inc. Method and system for causing intra-AS network traffic to be more evenly balanced
US20030009559A1 (en) * 2001-07-09 2003-01-09 Naoya Ikeda Network system and method of distributing accesses to a plurality of server apparatus in the network system
JP2003131961A (ja) * 2001-07-09 2003-05-09 Hitachi Ltd ネットワークシステム及び負荷分散方法
JP3564435B2 (ja) * 2001-07-18 2004-09-08 株式会社エヌ・ティ・ティ・データ アクセス誘導装置及び方法
US20030028640A1 (en) * 2001-07-30 2003-02-06 Vishal Malik Peer-to-peer distributed mechanism
JP3901982B2 (ja) * 2001-10-18 2007-04-04 富士通株式会社 ネットワークプロセッサの負荷分散装置
US20030079016A1 (en) * 2001-10-23 2003-04-24 Sheng (Ted) Tai Tsao Using NAS appliance to build a non-conventional distributed video server
JP3645852B2 (ja) * 2001-11-19 2005-05-11 Necアクセステクニカ株式会社 負荷分散方法、コンテンツ配信システム及び負荷分散装置
US7082122B2 (en) * 2001-12-24 2006-07-25 Innomedia Pte Ltd. Method and system for connecting to a proxy server with the lowest workload through a load balancing proxy server
US7050424B2 (en) * 2001-12-31 2006-05-23 Innomedia Pte Ltd. Method and system for automatic proxy server workload shifting for load balancing
US7085829B2 (en) * 2001-12-31 2006-08-01 Innomedia, Pte Ltd. Method and system for an intelligent proxy server for workload balancing by workload shifting
US7284067B2 (en) * 2002-02-20 2007-10-16 Hewlett-Packard Development Company, L.P. Method for integrated load balancing among peer servers
US7181527B2 (en) * 2002-03-29 2007-02-20 Intel Corporation Method for transmitting load balancing in mixed speed environments
ATE438243T1 (de) * 2002-06-28 2009-08-15 Nokia Corp Lastausgleicheinrichtung und verfahren dafür
KR100497230B1 (ko) * 2002-07-23 2005-06-23 삼성에스디아이 주식회사 플라즈마 디스플레이 패널의 구동 장치 및 구동 방법
US7676576B1 (en) 2002-08-01 2010-03-09 Foundry Networks, Inc. Method and system to clear counters used for statistical tracking for global server load balancing
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
US7571206B2 (en) * 2002-08-12 2009-08-04 Equallogic, Inc. Transparent request routing for a partitioned application service
JP4167876B2 (ja) * 2002-10-03 2008-10-22 株式会社日立製作所 ネットワーク計測設定装置
KR100462886B1 (ko) * 2002-10-15 2004-12-17 삼성전자주식회사 부하 분담 구조와 프라이머리/백업 구조가 혼합된 시스템
US7647427B1 (en) 2002-10-18 2010-01-12 Foundry Networks, Inc. Redundancy support for network address translation (NAT)
US20040111513A1 (en) * 2002-12-04 2004-06-10 Shen Simon S. Automatic employment of resource load information with one or more policies to automatically determine whether to decrease one or more loads
US7627650B2 (en) * 2003-01-20 2009-12-01 Equallogic, Inc. Short-cut response for distributed services
US7461146B2 (en) * 2003-01-20 2008-12-02 Equallogic, Inc. Adaptive storage block data distribution
US7937551B2 (en) * 2003-01-21 2011-05-03 Dell Products L.P. Storage systems having differentiated storage pools
US20040210724A1 (en) * 2003-01-21 2004-10-21 Equallogic Inc. Block data migration
US8037264B2 (en) 2003-01-21 2011-10-11 Dell Products, L.P. Distributed snapshot process
US8499086B2 (en) * 2003-01-21 2013-07-30 Dell Products L.P. Client load distribution
US7254642B2 (en) * 2003-01-30 2007-08-07 International Business Machines Corporation Method and apparatus for local IP address translation
US7450499B2 (en) * 2003-02-21 2008-11-11 Samsung Electronics Co., Ltd. Method and apparatus for interconnecting IPv4 and IPv6 networks
US7072807B2 (en) * 2003-03-06 2006-07-04 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US8122106B2 (en) 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
US7689676B2 (en) 2003-03-06 2010-03-30 Microsoft Corporation Model-based policy application
US7890543B2 (en) 2003-03-06 2011-02-15 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
WO2004107131A2 (en) 2003-05-28 2004-12-09 Caymas Systems, Inc. Policy based network address translation
US7567504B2 (en) * 2003-06-30 2009-07-28 Microsoft Corporation Network load balancing with traffic routing
US7613822B2 (en) * 2003-06-30 2009-11-03 Microsoft Corporation Network load balancing with session information
US7590736B2 (en) * 2003-06-30 2009-09-15 Microsoft Corporation Flexible network load balancing
US7454120B2 (en) * 2003-07-02 2008-11-18 Macrovision Corporation Methods and apparatus for client aggregation of television programming in a networked personal video recording system
US8438601B2 (en) 2003-07-02 2013-05-07 Rovi Solutions Corporation Resource management for a networked personal video recording system
US7603022B2 (en) * 2003-07-02 2009-10-13 Macrovision Corporation Networked personal video recording system
US9584360B2 (en) 2003-09-29 2017-02-28 Foundry Networks, Llc Global server load balancing support for private VIP addresses
US8528015B2 (en) * 2003-11-06 2013-09-03 Aptiv Digital, Inc. Resource sharing system of set-top boxes
US7751327B2 (en) * 2004-02-25 2010-07-06 Nec Corporation Communication processing system, packet processing load balancing device and packet processing load balancing method therefor
US7778422B2 (en) 2004-02-27 2010-08-17 Microsoft Corporation Security associations for devices
US20050246529A1 (en) 2004-04-30 2005-11-03 Microsoft Corporation Isolated persistent identity storage for authentication of computing devies
US7584301B1 (en) * 2004-05-06 2009-09-01 Foundry Networks, Inc. Host-level policies for global server load balancing
US7496651B1 (en) * 2004-05-06 2009-02-24 Foundry Networks, Inc. Configurable geographic prefixes for global server load balancing
US20060020691A1 (en) * 2004-07-20 2006-01-26 Hewlett-Packard Development Company, L.P. Load balancing based on front-end utilization
US7423977B1 (en) * 2004-08-23 2008-09-09 Foundry Networks Inc. Smoothing algorithm for round trip time (RTT) measurements
US8024483B1 (en) * 2004-10-01 2011-09-20 F5 Networks, Inc. Selective compression for network connections
US20060174119A1 (en) * 2005-02-03 2006-08-03 Xin Xu Authenticating destinations of sensitive data in web browsing
JP4512192B2 (ja) * 2005-02-09 2010-07-28 株式会社日立製作所 輻輳制御装置、および、ネットワークの輻輳制御方法
US7793305B2 (en) * 2005-03-14 2010-09-07 At&T Intellectual Property I, L.P. Methods and systems for providing a communication manager for wireless wireline converged telecommunication services
JP4161998B2 (ja) 2005-03-28 2008-10-08 日本電気株式会社 負荷分散振り分けシステム、イベント処理分散制御装置並びにイベント処理分散制御プログラム
US8489728B2 (en) 2005-04-15 2013-07-16 Microsoft Corporation Model-based system monitoring
US7802144B2 (en) 2005-04-15 2010-09-21 Microsoft Corporation Model-based system monitoring
US7797147B2 (en) 2005-04-15 2010-09-14 Microsoft Corporation Model-based system monitoring
US8549513B2 (en) 2005-06-29 2013-10-01 Microsoft Corporation Model-based virtual system provisioning
US7933987B2 (en) * 2005-09-30 2011-04-26 Lockheed Martin Corporation Application of virtual servers to high availability and disaster recovery solutions
US7934216B2 (en) * 2005-10-03 2011-04-26 International Business Machines Corporation Method and system for load balancing of computing resources
US7941309B2 (en) 2005-11-02 2011-05-10 Microsoft Corporation Modeling IT operations/policies
US8582946B2 (en) * 2005-11-04 2013-11-12 Rovi Guides, Inc. Systems and methods for recording programs using a network recording device as supplemental storage
WO2007074797A1 (ja) 2005-12-28 2007-07-05 International Business Machines Corporation クライアント・サーバ・システムにおける負荷分散
US7873065B1 (en) 2006-02-01 2011-01-18 F5 Networks, Inc. Selectively enabling network packet concatenation based on metrics
JP4648224B2 (ja) * 2006-03-16 2011-03-09 富士通株式会社 帯域制御装置、帯域制御プログラム、帯域制御方法
JP2007251818A (ja) * 2006-03-17 2007-09-27 Fujitsu Ltd 送信制御プログラム、送信制御方法および送信制御装置
US8141164B2 (en) 2006-08-21 2012-03-20 Citrix Systems, Inc. Systems and methods for dynamic decentralized load balancing across multiple sites
JP4529974B2 (ja) * 2006-12-26 2010-08-25 日本電気株式会社 サーバ負荷分散システム、サーバ負荷分散装置、コンテンツ管理装置、及びサーバ負荷分散プログラム
US20080168301A1 (en) * 2007-01-10 2008-07-10 Inventec Corporation Method of automatically adjusting storage sources for server a system
US7760642B2 (en) 2007-03-12 2010-07-20 Citrix Systems, Inc. Systems and methods for providing quality of service precedence in TCP congestion control
US7796510B2 (en) 2007-03-12 2010-09-14 Citrix Systems, Inc. Systems and methods for providing virtual fair queueing of network traffic
US8484656B2 (en) * 2007-03-12 2013-07-09 Citrix Systems, Inc. Systems and methods for providing global server load balancing of heterogeneous devices
US8539035B2 (en) * 2008-09-29 2013-09-17 Fujitsu Limited Message tying processing method and apparatus
US7925748B2 (en) 2008-10-24 2011-04-12 International Business Machines Corporation System and method for managing system resources in a network environment
US8260926B2 (en) * 2008-11-25 2012-09-04 Citrix Systems, Inc. Systems and methods for GSLB site persistence
US7930395B2 (en) 2008-12-01 2011-04-19 International Business Machines Corporation System and method for managing system resources in a network environment
CN102158512B (zh) * 2010-02-11 2016-03-30 联想(北京)有限公司 一种负载均衡调度方法、装置及系统
US8949410B2 (en) * 2010-09-10 2015-02-03 Cisco Technology, Inc. Server load balancer scaling for virtual servers
US8817614B1 (en) * 2010-09-16 2014-08-26 Vasona Networks Inc. Policy enforcer having load balancing capabilities
US8549148B2 (en) 2010-10-15 2013-10-01 Brocade Communications Systems, Inc. Domain name system security extensions (DNSSEC) for global server load balancing
US8533285B2 (en) 2010-12-01 2013-09-10 Cisco Technology, Inc. Directing data flows in data centers with clustering services
US9241031B2 (en) * 2011-08-02 2016-01-19 Verizon Patent And Licensing Inc. Selecting an auxiliary event-package server
US9154549B2 (en) 2011-10-27 2015-10-06 Cisco Technology, Inc. Dynamic server farms
CN104811396A (zh) * 2014-01-23 2015-07-29 中兴通讯股份有限公司 一种负荷均衡的方法及系统
US20170201456A1 (en) * 2014-08-07 2017-07-13 Intel IP Corporation Control of traffic from applications when third party servers encounter problems
CN104283804B (zh) * 2014-10-27 2018-05-11 新华三技术有限公司 一种链路负载均衡方法和装置
US10313243B2 (en) 2015-02-24 2019-06-04 Commvault Systems, Inc. Intelligent local management of data stream throttling in secondary-copy operations
US10341426B2 (en) * 2015-04-30 2019-07-02 Amazon Technologies, Inc. Managing load balancers associated with auto-scaling groups
US10412020B2 (en) 2015-04-30 2019-09-10 Amazon Technologies, Inc. Background processes in update load balancers of an auto scaling group
US10038640B2 (en) 2015-04-30 2018-07-31 Amazon Technologies, Inc. Managing state for updates to load balancers of an auto scaling group
US10298680B1 (en) 2015-09-23 2019-05-21 Cohesity, Inc. Dynamic throughput ingestion of backup sources
US10574741B2 (en) 2016-04-18 2020-02-25 Nokia Technologies Oy Multi-level load balancing
US10581749B2 (en) * 2017-07-13 2020-03-03 Nicira, Inc. Automatic discovery of maximum transmission unit size for a software defined network

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4925311A (en) * 1986-02-10 1990-05-15 Teradata Corporation Dynamically partitionable parallel processors
JPH0452953A (ja) * 1990-06-20 1992-02-20 Fujitsu Ltd 負荷分散方式
JPH05265777A (ja) * 1992-03-19 1993-10-15 Hitachi Ltd プリントキュー自動コンフィギュレーションネットワークシステム
US5548724A (en) * 1993-03-22 1996-08-20 Hitachi, Ltd. File server system and file access control method of the same
JPH06309284A (ja) * 1993-04-20 1994-11-04 Hitachi Ltd 問合せ処理負荷分散方法
JP2615408B2 (ja) * 1993-09-20 1997-05-28 工業技術院長 並列計算機システム
JP2743865B2 (ja) * 1995-04-28 1998-04-22 日本電気株式会社 ジョブスケジューリング方式
US5603029A (en) * 1995-06-07 1997-02-11 International Business Machines Corporation System of assigning work requests based on classifying into an eligible class where the criteria is goal oriented and capacity information is available
JP2776338B2 (ja) * 1995-10-03 1998-07-16 日本電気株式会社 ジョブスケジューリング方式
US6185601B1 (en) * 1996-08-02 2001-02-06 Hewlett-Packard Company Dynamic load balancing of a network of client and server computers
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US6108684A (en) * 1996-12-23 2000-08-22 Lsi Logic Corporation Methods and apparatus for balancing loads on a storage subsystem among a plurality of controllers
US6078943A (en) * 1997-02-07 2000-06-20 International Business Machines Corporation Method and apparatus for dynamic interval-based load balancing
JP3784137B2 (ja) * 1997-06-04 2006-06-07 富士通株式会社 負荷分散システム
US6078960A (en) * 1998-07-03 2000-06-20 Acceleration Software International Corporation Client-side load-balancing in client server network
US6393485B1 (en) * 1998-10-27 2002-05-21 International Business Machines Corporation Method and apparatus for managing clustered computer systems
US6671259B1 (en) * 1999-03-30 2003-12-30 Fujitsu Limited Method and system for wide area network load balancing

Also Published As

Publication number Publication date
JP2001117897A (ja) 2001-04-27
US6725253B1 (en) 2004-04-20

Similar Documents

Publication Publication Date Title
JP4001698B2 (ja) 負荷分散システム
US7284051B1 (en) Relaying apparatus for use in a network system
US9143558B2 (en) Geographic resiliency and load balancing for SIP application services
US7343413B2 (en) Method and system for optimizing a network by independently scaling control segments and data flow
JP3224745B2 (ja) 高信頼化ネットワークシステム及びサーバ切り替え方法
US7003575B2 (en) Method for assisting load balancing in a server cluster by rerouting IP traffic, and a server cluster and a client, operating according to same
US9130954B2 (en) Distributed health check for global server load balancing
US7315896B2 (en) Server network controller including packet forwarding and method therefor
CN1909507B (zh) 一种报文转发方法和系统
US9137271B2 (en) System for switching between communication devices, switching method, and switching program
JP2003163689A (ja) ネットワーク連携情報処理システムおよびその複数負荷分散機間のアクセス移動方法
CN107332793B (zh) 一种报文转发方法、相关设备及系统
US10652310B2 (en) Secure remote computer network
JP2001312434A (ja) 情報配信システム
Cisco Novell IPX Commands
Cisco Novell IPX Commands
Cisco Designing SRB Internetworks
Cisco Designing SRB Internetworks
Cisco Designing SRB Internetworks
Cisco Designing SRB Internetworks
Cisco Designing SRB Internetworks
Cisco Novell IPX Commands
Cisco Novell IPX Commands
Cisco Novell IPX Commands
Cisco Novell IPX Commands

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040824

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070720

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070815

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

Free format text: PAYMENT UNTIL: 20100824

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110824

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120824

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120824

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130824

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees