JP6597823B2 - ロードバランシング装置、通信システム、制御方法及びプログラム - Google Patents

ロードバランシング装置、通信システム、制御方法及びプログラム Download PDF

Info

Publication number
JP6597823B2
JP6597823B2 JP2018056063A JP2018056063A JP6597823B2 JP 6597823 B2 JP6597823 B2 JP 6597823B2 JP 2018056063 A JP2018056063 A JP 2018056063A JP 2018056063 A JP2018056063 A JP 2018056063A JP 6597823 B2 JP6597823 B2 JP 6597823B2
Authority
JP
Japan
Prior art keywords
load
server
determined
valid time
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018056063A
Other languages
English (en)
Other versions
JP2019168920A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2018056063A priority Critical patent/JP6597823B2/ja
Priority to US16/355,926 priority patent/US11190583B2/en
Publication of JP2019168920A publication Critical patent/JP2019168920A/ja
Application granted granted Critical
Publication of JP6597823B2 publication Critical patent/JP6597823B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/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/1036Load balancing of requests to servers for services different from user content provisioning, e.g. load balancing across domain name 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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • 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
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ロードバランシング装置、通信システム、制御方法及びプログラムに関する。
複数のサイト間でサーバの負荷分散を行う装置としてGSLB(グローバルサーバロードバランシング)装置がある。例えば通常時には、GSLB装置は東京DC(データセンタ)のサーバにトラフィックを転送する。そして一時的に負荷が増大した場合には、GSLB装置は他のDCまたはパブリッククラウドなどにトラフィックを分散させる。これにより広域的な負荷分散が可能となる。
特許文献1、2には、関連する技術として、GSLB装置に関する技術が開示されている。
特開2012−090194号公報 特開2009−259206号公報
ところで、特許文献1に記載の技術は、DNSサーバがサーバの死活監視と負荷情報収集を行い、既存のサーバが高負荷状態もしくはサービス不能状態に陥った場合に、スタンバイ状態の予備サーバに対してDNSサーバがサーバ起動命令を出し、新規に接続してくるクライアント端末からのアクセスを予備サーバに振り分けることで、トラフィックが急上昇した場合でも、サービスを継続する技術である。
しかしながら、急上昇したトラフィックが通常状態に戻った後、すなわち負荷が低減された後も予備サーバが稼働を続けた場合、サーバがオンプレミスサーバである場合には電力の増加に伴いコストが増大し、またサーバがパブリッククラウド上で稼働するサーバである場合には従量課金における通信量の増加に伴いコストが増大してしまう。
本発明の各態様は、上記の課題を解決することのできるロードバランシング装置、通信システム、制御方法及びプログラムを提供することを目的としている。
上記目的を達成するために、本発明の一態様によれば、ロードバランシング装置は、広域負荷分散を行うロードバランシング装置であって、サーバの負荷情報の変化に基づいて負荷変動を予測し、前記負荷変動が前記サーバの負荷が低下することを示す場合に、前記サーバのIPアドレス情報のキャッシュ有効時間を短くし、前記負荷変動が前記サーバの負荷が増大することを示す場合に、前記キャッシュ有効時間を長くする負荷予測・制御部であって、前記サーバの実際の負荷が予め定められた負荷の下限値を下回るか否かを判定し、前記サーバの実際の負荷が前記予め定められた負荷の下限値を下回ると判定した場合、前記キャッシュ有効時間の2倍の時間が経過したか否かを判定し、前記キャッシュ有効時間の2倍の時間が経過していないと判定した場合、所定時間後に前記キャッシュ有効時間の2倍の時間が経過したか否かを再度判定し、前記キャッシュ有効時間の2倍の時間が経過したと判定した場合、前記サーバを停止させ、前記サーバの実際の負荷が前記予め定められた負荷の下限値を下回らないと判定した場合、前記サーバの実際の負荷が予め定められた負荷の上限値を上回るか否かを判定し、前記サーバの実際の負荷が前記予め定められた負荷の上限値を上回ると判定した場合、前記キャッシュ有効時間を初期値に戻し、前記サーバの実際の負荷が前記予め定められた負荷の上限値を上回らないと判定した場合、前記負荷情報に基づいて前記負荷変動を予測する負荷予測・制御部、を備える
本発明の別の態様によれば、通信システムは、上記のロードバランシング装置と、前記ロードバランシング装置が決定したサーバのIPアドレス情報のキャッシュ有効時間により制御されるサーバと、を備える。
本発明の別の態様によれば、制御方法は、サーバの負荷情報の変化に基づいて負荷変動を予測することと、前記負荷変動が前記サーバの負荷が低下することを示す場合に、前記サーバのIPアドレス情報のキャッシュ有効時間を短くすることと、前記負荷変動が前記サーバの負荷が増大することを示す場合に、前記キャッシュ有効時間を長くすることと、広域負荷分散とを行うロードバランシング装置による制御方法であって、前記サーバの実際の負荷が前記予め定められた負荷の下限値を下回るか否かを判定することと、前記サーバの実際の負荷が前記予め定められた負荷の下限値を下回ると判定した場合、前記キャッシュ有効時間の2倍の時間が経過したか否かを判定することと、前記キャッシュ有効時間の2倍の時間が経過していないと判定した場合、所定時間後に前記キャッシュ有効時間の2倍の時間が経過したか否かを再度判定することと、前記キャッシュ有効時間の2倍の時間が経過したと判定した場合、前記サーバを停止させることと、前記サーバの実際の負荷が前記予め定められた負荷の下限値を下回らないと判定した場合、前記サーバの実際の負荷が予め定められた負荷の上限値を上回るか否かを判定することと、前記サーバの実際の負荷が前記予め定められた負荷の上限値を上回ると判定した場合、前記キャッシュ有効時間を初期値に戻すことと、前記サーバの実際の負荷が前記予め定められた負荷の上限値を上回らないと判定した場合、前記負荷情報に基づいて前記負荷変動を予測することと、を含む
本発明の別の態様によれば、プログラムは、サーバの負荷情報の変化に基づいて負荷変動を予測することと、前記負荷変動が前記サーバの負荷が低下することを示す場合に、前記サーバのIPアドレス情報のキャッシュ有効時間を短くすることと、前記負荷変動が前記サーバの負荷が増大することを示す場合に、前記キャッシュ有効時間を長くすることと、広域負荷分散とを行うロードバランシング装置のコンピュータに、前記サーバの実際の負荷が前記予め定められた負荷の下限値を下回るか否かを判定することと、前記サーバの実際の負荷が前記予め定められた負荷の下限値を下回ると判定した場合、前記キャッシュ有効時間の2倍の時間が経過したか否かを判定することと、前記キャッシュ有効時間の2倍の時間が経過していないと判定した場合、所定時間後に前記キャッシュ有効時間の2倍の時間が経過したか否かを再度判定することと、前記キャッシュ有効時間の2倍の時間が経過したと判定した場合、前記サーバを停止させることと、前記サーバの実際の負荷が前記予め定められた負荷の下限値を下回らないと判定した場合、前記サーバの実際の負荷が予め定められた負荷の上限値を上回るか否かを判定することと、前記サーバの実際の負荷が前記予め定められた負荷の上限値を上回ると判定した場合、前記キャッシュ有効時間を初期値に戻すことと、前記サーバの実際の負荷が前記予め定められた負荷の上限値を上回らないと判定した場合、前記負荷情報に基づいて前記負荷変動を予測することと、を実行させる

本発明の各態様によれば、負荷に応じてサーバの稼働台数を適切に制御することができる。
本発明の一実施形態による通信システムの構成を示す図である。 本発明の一実施形態におけるサーバ情報テーブルを示す図である。 本発明の一実施形態による通信システムの処理フローを示す第1の図である。 本発明の一実施形態による通信システムの処理フローを示す第2の図である。 本発明の一実施形態による通信システムの処理を説明するための図である。 本発明の一実施形態による通信システムの処理フローを示す第3の図である。 本発明の一実施形態によるグローバルサーバロードバランシング装置の最小構成を示す図である。 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
<実施形態>
以下、図面を参照しながら実施形態について詳しく説明する。
本発明の一実施形態による通信システム1は、異なるドメイン間の負荷分散において、サーバ負荷の予測に基づいて、最適なDNSキャッシュの有効時間を設定するシステムである。通信システム1は、図1に示すように、クライアント端末10、ローカルDNSサーバ20、グローバルサーバロードバランシング(Global Server Load Balancing)装置(以下、「GSLB装置」と記載)30(ロードバランシング装置の一例)、1つ以上のサーバ40によって構成されるサーバ群60を備える。
クライアント端末10とローカルDNSサーバ20は、同一のドメインである第1ドメインのネットワークに接続される。GSLB装置30とサーバ40は、第1ドメインとは異なるドメインのネットワークに接続される。なお、GSLB装置30とサーバ40は、同一のドメイン(例えば、第2ドメイン)のネットワークに接続されてもよいし、異なるドメインのネットワーク(例えば、GSLB装置30が第2ドメインのネットワーク、サーバ40が第3ドメインのネットワーク)に接続されてもよい。
クライアント端末10は、HTTP(HyperText Transfer Protocol)を用いてサーバ40に接続し、サーバ40にサービス要求を行う。
ローカルDNSサーバ20は、クライアント端末10から名前解決要求を受信すると、GSLB装置30に対して名前解決要求を行い、サーバ40のIPアドレスをクライアント端末10へ出力する(回答する)。
GSLB装置30は、広域負荷分散を行う装置である。GSLB装置30は、サーバ40の状態を監視し、名前解決サービスを提供する。GSLB装置30は、DNS処理部301、サーバ監視部302、負荷予測・制御部303、記憶部304を備える。
DNS処理部301は、ローカルDNSサーバ20からの名前解決要求に対して、サーバ情報テーブルTBL1を参照して、サーバ群60から1つのサーバ40を選択し、そのIPアドレスを応答(返信)する。
サーバ監視部302は、サーバ40の死活状態を監視する処理、及び、サーバ40の負荷情報を収集する処理を定期的に行う。
負荷予測・制御部303は、サーバ監視部302が収集したサーバ40の負荷情報に基づいて、未来の負荷変動を予測する。負荷予測・制御部303は、予測した未来の負荷変動に応じてサーバ情報テーブルTBL1のレコードを更新する。負荷予測・制御部303は、予測した未来の負荷変動に応じて、サーバ40に対して起動または停止命令を行う。
記憶部304は、サーバ情報テーブルTBL1を記憶する。サーバ情報テーブルTBL1は、図2に示すように、ドメイン名501、ホスト名502、IPアドレス503、待受ポート504、キャッシュ有効時間505(動作の有効時間の一例)、死活状態506、負荷情報507、最大接続制限値508を含む。
ドメイン名501は、クライアント端末10のアクセス先となるホスト名である。
ホスト名502は、負荷予測・制御部303にとって、サーバ40を識別するためのホスト名情報である。
IPアドレス503は、サーバ40に割り付けられたIPアドレスである。クライアント端末10は、このIPアドレス宛てにアクセスする。
待受ポート504は、サーバ40のサーバプロセスがクライアント端末10からのアクセスを待ち受けているポート番号である。
キャッシュ有効時間505は、名前解決要求で得られたドメイン名に対するIPアドレスの情報をローカルDNSサーバ20及びクライアント端末10がローカルに保管できる期間である。キャッシュ有効時間505内にクライアント端末10が再度当該ドメイン名にアクセスする場合には名前解決を行わずにサーバ40のIPアドレスを再利用することが可能である。名前解決とは、ドメイン名からIPアドレスを求めることである。キャッシュ有効時間505を過ぎた場合、クライアント端末10は、ローカルからレコードを破棄して、再度名前解決を行う。負荷予測・制御部303は、各サーバ40の負荷状況に応じて、キャッシュ有効時間505を動的に設定することが可能である。
死活状態506は、サーバ40がアクティブ(active)状態、スタンバイ(standby)状態、フェイル(Fail)状態のいずれであるかを示す情報である。
ここで、アクティブ状態とは、サーバ40の電源がオン状態であり、かつサービスを提供できる状態のことである。また、スタンバイ状態とは、サーバ40の電源がオン状態になっていない状態のことである。また、フェイル状態とは、コンピュータの故障や、プログラムの不具合などの理由によりサーバ40がサービスを提供できない状態のことである。
負荷情報507は、サーバ40の負荷を表す値である。ここでの負荷情報507の値は、クライアント端末10からサーバ40へ接続されているTCP(Transmission Control Protocol)接続の接続数を用いている。なお、負荷情報507の値としては、CPU使用率などの負荷情報が用いられてもよい。
最大接続制限値508は、サーバ40の許容性能を表す値である。ここでの最大接続制限値508の値は、クライアント端末10からサーバ40への接続を許容するTCP接続の接続数を用いている。
サーバ40は、クライアント端末10にWebサイトなどのHTTPサービスを提供する。サーバ群60は、1つ以上のサーバ40によって構成される。サーバ40には、サービスを提供しているアクティブ状態のサーバと、スタンバイ状態の予備サーバとがある。各サーバ40は、異なるドメイン (例えば東京データセンタと大阪データセンタ)のネットワークに接続していてもよい。
各サーバ40は、負荷情報処理部401、起動・停止処理部402、HTTP処理部403を備える。
負荷情報処理部401は、サーバ40の負荷情報を収集する。負荷情報処理部401は、サーバ監視部302の負荷情報要求に応答する。負荷情報処理部401は、CPU使用率、TCPコネクション数などの負荷情報を送信する。
起動・停止処理部402は、負荷予測・制御部303からサーバ起動・停止命令を受けた場合、サーバ40の起動・停止処理を行う。具体的には、起動・停止処理部402は、負荷予測・制御部303からサーバの起動を指示するサーバ起動命令を受けた場合、サーバ40の起動処理を行う。また、起動・停止処理部402は、負荷予測・制御部303からサーバの停止を指示する停止命令を受けた場合、サーバ40の停止処理を行う。
HTTP処理部403は、クライアント端末10からの要求を受信すると、要求されたデータ(HTMLファイル、画像ファイルなど)の配信をクライアント端末10に対して行う。
次に、本発明の一実施形態による通信システム1の処理について図3〜5を用いて説明する。ここでは、特に、GSLB装置30が行うDNS処理、負荷予測・制御処理について詳しく説明する。
クライアント端末10は、所定のドメイン名にHTTPプロトコルで、アクセスする場合、まずDNSプロトコルを用いて、所定のドメイン名の名前解決要求をローカルDNSサーバ20に送信する。
ローカルDNSサーバ20は、クライアント端末10から名前解決要求を受信する。ローカルDNSサーバ20は、名前解決要求を受信すると、GSLB装置30に対して名前解決要求を行う。
DNS処理部301は、ローカルDNSサーバ20から名前解決要求を受信する(ステップS1)。
DNS処理部301は、名前解決要求を受信すると、名前解決要求対象のドメイン名を検索キーとしてサーバ情報テーブルTBL1を検索する(ステップS2)。DNS処理部301は、検索済みのエントリのホスト名を記憶する。DNS処理部301は、検索結果においてドメイン名501が名前解決要求対象のドメイン名と一致するエントリ情報を特定する。DNS処理部301は、特定したエントリ情報を取得する。
DNS処理部301は、取得したサーバ情報における死活状態506が「アクティブ(Active)」であるか否かを判定する(ステップS3)。
DNS処理部301は、「アクティブ(Active)」でないと判定した場合(ステップS3においてNO)、ステップS2の処理に戻す(次のエントリを検索する)。
また、DNS処理部301は、「アクティブ(Active)」であると判定した場合(ステップS3においてYES)、アクティブであると判定したエントリにおける負荷情報507の値が最大接続制限値508以下であるか否かを判定する(ステップS4)。
DNS処理部301は、負荷情報507の値が最大接続制限値508を超えていると判定した場合(ステップS4においてNO)、ステップS2の処理に戻す(次のエントリを検索する)。
また、DNS処理部301は、負荷情報507の値が最大接続制限値508以下であると判定した場合(ステップS4においてYES)、すべてのエントリを検索したか否かを判定する(ステップS5)。例えば、DNS処理部301は、サーバ情報テーブルTBL1において検索したときに記憶した検索済みのホスト名の数と、エントリの総数とを比較する。そして、DNS処理部301は、両方の数が一致する場合、すべてのエントリを検索したと判定する。また、DNS処理部301は、両方の数が一致しない場合、検索していないエントリが存在すると判定する。
DNS処理部301は、検索していないエントリが存在すると判定した場合(ステップS5においてNO)、ステップS2の処理に戻す(次のエントリを検索する)。
また、DNS処理部301は、すべてのエントリを検索したと判定した場合(ステップS5においてYES)、予め設定された負荷分散方式(ラウンドロビン等)に従って、検索の結果得られたエントリの中から回答するエントリを決定する(ステップS6)。
DNS処理部301は、決定されたエントリのIPアドレス503及びキャッシュ有効時間505をローカルDNSサーバ20に出力する(回答する)(ステップS7)。
ローカルDNSサーバ20は、DNS処理部301からエントリのIPアドレス503及びキャッシュ有効時間505を受ける。ローカルDNSサーバ20は、受けたIPアドレスをクライアント端末10に出力する(回答する)。
クライアント端末10は、ローカルDNSサーバ20からIPアドレスを受ける。クライアント端末は、受けたIPアドレスにHTTPリクエストを送信する。
ローカルDNSサーバ20とクライアント端末10は、キャッシュ有効時間505で設定された期間、問合せ結果をキャッシュとしてローカルに保存する。
クライアント端末10は、再度同じドメイン名へアクセスする場合、キャッシュ有効時間505内であるか否かを判定する。クライアント端末10は、キャッシュ有効時間505内でないと判定した場合、再度当該ドメイン名の名前解決要求をローカルDNSサーバ20に対して行う。また、クライアント端末10は、キャッシュ有効時間505内であると判定した場合、当該ドメイン名の名前解決要求を行わずに、前回の問合せ結果を利用して、当該ドメイン名に対応するサーバ40のIPアドレスへアクセスする。
また、ローカルDNSサーバ20は、自身と同じドメインに接続されている他のクライアント端末10から当該ドメイン名へアクセス要求があった場合、キャッシュ有効時間505内であるか否かを判定する。ローカルDNSサーバ20は、キャッシュ有効時間505内でないと判定した場合、再度当該ドメイン名の名前解決要求をGSLB装置30に対して行う。また、ローカルDNSサーバ20は、キャッシュ有効時間505内であると判定した場合、当該ドメイン名の名前解決要求をGSLB装置30に対して行わずに、前回の問合せ結果を当該クライアント端末10に出力する(回答する)。
ここで、負荷の減少が予測される場合に負荷予測・制御部303が行うサーバ40の起動・停止及びキャッシュ有効時間505の設定について、図4、図5を用いて説明する。
負荷が減少するときに停止対象となるサーバ40の優先順位は、サーバ40の構成等に応じて予め決めておく。
負荷予測・制御部303は、サーバ監視部302から定期的にサーバ40の負荷情報507を収集する(ステップS11)。負荷予測・制御部303は、実際の負荷が予め設定された負荷の下限値を下回るか否かを判定する(ステップS12)。
負荷予測・制御部303は、実際の負荷が予め設定された負荷の下限値を下回ると判定した場合(ステップS12においてYES、図5におけるaの部分)、負荷予測・制御部303は、サーバ情報テーブルTBL1における対象エントリの死活状態506にスタンバイ(Standby)を書き込む(ステップS13)。
負荷予測・制御部303は、クライアント端末10のキャッシュ有効時間505を満了させるため、停止対象であるサーバ40のキャッシュ有効時間505の2倍の時間が経過したか否かを判定する(ステップS14)。
負荷予測・制御部303は、キャッシュ有効時間505の2倍の時間が経過していないと判定した場合(ステップS14においてNO)、所定時間後に(例えば、次のクロック信号が入力されるタイミングに)、再度ステップS14の処理を行う。
また、負荷予測・制御部303は、キャッシュ有効時間505の2倍の時間が経過したと判定した場合(ステップS14においてYES)、停止対象であるサーバ40が備える起動・停止処理部402に停止を命令する。サーバ40の起動・停止処理部402は、負荷予測・制御部303から停止命令を受信すると、自身のサーバ40の電源に停止を命令し、そのサーバを停止させる(ステップS15)。そして、負荷予測・制御部303は、一定時間が経過した後にステップS11の処理に戻す。
また、負荷予測・制御部303は、実際の負荷が予め設定された負荷の下限値を下回らないと判定した場合(ステップS12においてNO)、実際の負荷が予め設定された負荷の上限値を上回るか否かを判定する(ステップS16)。
負荷予測・制御部303は、実際の負荷が予め設定された負荷の上限値を上回ると判定した場合(ステップS16においてYES、図5におけるbの部分)、キャッシュ有効時間505を初期値に戻す(ステップS17)。そして、負荷予測・制御部303は、一定時間が経過した後にステップS11の処理に戻す。
また、負荷予測・制御部303は、実際の負荷が予め設定された負荷の上限値を上回らないと判定した場合(ステップS16においてNO)、負荷情報507に基づいて負荷変動を予測する(ステップS18)。
負荷予測・制御部303は、予測した負荷変動に応じて、サーバ情報テーブルTBL1における、停止対象であるサーバ40のキャッシュ有効時間505を書き換える(更新する)(ステップS19)。この時、負荷予測・制御部303は、前回の予想よりも現在の負荷が高ければ、記憶されているキャッシュ有効時間505よりも長いキャッシュ有効時間に書き換える(図5におけるcの部分)。また、負荷予測・制御部303は、前回の予想よりも現在の負荷が低ければ、記憶されているキャッシュ有効時間505よりも短いキャッシュ有効時間に書き換える(図5におけるdの部分)。そして、負荷予測・制御部303は、一定時間が経過した後にステップS11の処理に戻す。
ここで、負荷の増加が予測される場合に負荷予測・制御部303が行うサーバ40の起動・停止及びキャッシュ有効時間505の設定について、図6を用いて説明する。
負荷予測・制御部303は、サーバ監視部302から定期的にサーバ40の負荷情報507を収集する。負荷予測・制御部303は、収集した負荷情報507に基づいて、負荷変動を予測する(ステップS21)。
負荷予測・制御部303は、サーバ40の負荷の増加を予測した場合(ステップS22)、負荷予測・制御部303は、サーバ情報テーブルTBL1からスタンバイ状態の予備のサーバ40を検索し、起動する予備のサーバ40を決定する(ステップS23)。負荷が増大するときに起動対象なるサーバ40の優先順位は、サーバ40の構成等に応じて予め決めておく。
負荷予測・制御部303は、サーバ40の起動・停止処理部402に対してサーバの起動を命令する。サーバ40の起動・停止処理部402は、負荷予測・制御部303から停止命令を受信すると、自身のサーバ40の電源に起動を命令し、そのサーバを起動させる(ステップS24)。
サーバ監視部302は、タイマー時間を設定し、予備のサーバ40のHTTP処理部403に対してHTTPサービスの死活状態の確認要求を行う。HTTPサービスの死活状態の確認は例えば、サーバ監視部302からHTTP処理部403に対して、HTTPプロトコルでコマンドを送信し、HTTP処理部403から所定のHTTPサービスの応答が返ってくることを確認する(ステップS25)。サーバ監視部302は、タイマー時間内に予備のサーバ40から死活状態の確認要求に対する応答があるか否かを判定する(ステップS26)。
サーバ監視部302は、タイマー時間内に応答がないと判定した場合、当該サーバ40の死活状態506にFailedを書き込む(ステップS27)。サーバ監視部302は、ステップS23の処理に戻す。
サーバ監視部302は、予備のサーバ40の電源が起動し、タイマー時間内にHTTPサービスの応答を確認すると、サーバ情報テーブルTBL1の対象エントリの死活状態506にActiveを書き込む(更新する)(ステップS28)。
DNS処理部301は、更新されたサーバ情報テーブルTBL1を基に予め設定された負荷分散方式(ラウンドロビン等)に従って、ローカルDNSサーバ20からの名前解決要求に対してサーバ40のIPアドレスの回答を行う。すなわち、DNS処理部301は、ローカルDNSサーバ20からの名前解決要求に対して、更新されたサーバ情報テーブルTBL1において、ステップS2と同様に検索し、ステップS3〜ステップS6と同様の処理を行う。そして、DNS処理部301は、決定したエントリのIPアドレス503をローカルDNSサーバ20に出力する(回答する)。
なお、サーバ40の負荷が減少した場合、クライアント端末10とローカルDNSサーバ20に格納されるDNSキャッシュは、短時間でキャッシュ有効時間505が満了する。このため、本発明の一実施形態による通信システム1では、不要なサーバ40を迅速に停止することができる。有効時間満了後にクライアント端末10がHTTPアクセスを行う場合には、ローカルDNSサーバ20は、GSLB装置30に対して改めて名前解決を要求する。GSLB装置30は、更新されたサーバ情報テーブルTBL1を基にアクティブ状態のサーバ40のIPアドレス503を回答するため、停止したサーバ40に対してクライアント端末10がアクセスすることはない。
以上、本発明の一実施形態による通信システム1について説明した。本発明の一実施形態による通信システム1において、広域負荷分散を行うGSLB装置30は、サーバ40の負荷情報の変化に基づいて負荷変動を予測し、負荷変動がサーバ40の負荷が低下することを示す場合に、キャッシュ有効時間を短くする。
このようにすれば、本発明の一実施形態によるGSLB装置30は、負荷に応じて停止予定サーバのキャッシュ有効時間を最適に設定し、サーバの稼働を適切に制御することができる。すなわち、GSLB装置30は、負荷に応じてサーバ40の稼働台数を適切に制御することができる。その結果、稼働コスト(物理サーバであれば電力料金、パブリッククラウド上の仮想マシンであれば稼働時間にかかる従量課金)を効率化することができる。
図7は、本発明の実施形態によるGSLB装置30の最小構成を示す図である。
GSLB装置30は、広域負荷分散を行う装置である。GSLB装置30は、図7に示すように、負荷予測・制御部303を備える。
負荷予測・制御部303は、サーバの負荷情報の変化に基づいて負荷変動を予測する。負荷予測・制御部303は、予測した負荷変動がサーバの負荷が低下することを示す場合に、キャッシュ有効時間を短くする。
なお、本発明の実施形態における処理は、適切な処理が行われる範囲において、処理の順番が入れ替わってもよい。
本発明の実施形態における記憶部304、その他の記憶装置のそれぞれは、適切な情報の送受信が行われる範囲においてどこに備えられていてもよい。また、記憶部304、その他の記憶装置のそれぞれは、適切な情報の送受信が行われる範囲において複数存在しデータを分散して記憶していてもよい。
本発明の実施形態について説明したが、上述の通信システム1、GSLB装置30、その他の制御装置は内部に、コンピュータシステムを有していてもよい。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。コンピュータの具体例を以下に示す。
図8は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ5は、図8に示すように、CPU6、メインメモリ7、ストレージ8、インターフェース9を備える。
例えば、上述の通信システム1、GSLB装置30、その他の制御装置のそれぞれは、コンピュータ5に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ8に記憶されている。CPU6は、プログラムをストレージ8から読み出してメインメモリ7に展開し、当該プログラムに従って上記処理を実行する。また、CPU6は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ7に確保する。
ストレージ8の例としては、HDD(Hard Disk Drive)、SSD(Solid State Drive)、磁気ディスク、光磁気ディスク、CD−ROM(Compact Disc Read Only Memory)、DVD−ROM(Digital Versatile Disc Read Only Memory)、半導体メモリ等が挙げられる。ストレージ8は、コンピュータ5のバスに直接接続された内部メディアであってもよいし、インターフェース9または通信回線を介してコンピュータ5に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ5に配信される場合、配信を受けたコンピュータ5が当該プログラムをメインメモリ7に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ8は、一時的でない有形の記憶媒体である。
また、上記プログラムは、前述した機能の一部を実現してもよい。さらに、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるファイル、いわゆる差分ファイル(差分プログラム)であってもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例であり、発明の範囲を限定しない。これらの実施形態は、発明の要旨を逸脱しない範囲で、種々の追加、省略、置き換え、変更を行ってよい。
1・・・通信システム
5・・・コンピュータ
6・・・CPU
7・・・メインメモリ
8・・・ストレージ
9・・・インターフェース
10・・・クライアント端末
20・・・ローカルDNSサーバ
30・・・グローバルサーバロードバランシング装置
40・・・サーバ
301・・・DNS処理部
302・・・サーバ監視部
303・・・負荷予測・制御部
304・・・記憶部
401・・・負荷情報処理部
402・・・起動・停止処理部
403・・・HTTP処理部
501・・・ドメイン名
502・・・ホスト名
503・・・IPアドレス
504・・・待受ポート
505・・・キャッシュ有効時間
506・・・死活状態
507・・・負荷情報
508・・・最大接続制限値
TBL1・・・サーバ情報テーブル

Claims (7)

  1. 広域負荷分散を行うロードバランシング装置であって、
    サーバの負荷情報の変化に基づいて負荷変動を予測し、前記負荷変動が前記サーバの負荷が低下することを示す場合に、前記サーバのIPアドレス情報のキャッシュ有効時間を短くし、前記負荷変動が前記サーバの負荷が増大することを示す場合に、前記キャッシュ有効時間を長くする負荷予測・制御部であって、前記サーバの実際の負荷が予め定められた負荷の下限値を下回るか否かを判定し、前記サーバの実際の負荷が前記予め定められた負荷の下限値を下回ると判定した場合、前記キャッシュ有効時間の2倍の時間が経過したか否かを判定し、前記キャッシュ有効時間の2倍の時間が経過していないと判定した場合、所定時間後に前記キャッシュ有効時間の2倍の時間が経過したか否かを再度判定し、前記キャッシュ有効時間の2倍の時間が経過したと判定した場合、前記サーバを停止させ、前記サーバの実際の負荷が前記予め定められた負荷の下限値を下回らないと判定した場合、前記サーバの実際の負荷が予め定められた負荷の上限値を上回るか否かを判定し、前記サーバの実際の負荷が前記予め定められた負荷の上限値を上回ると判定した場合、前記キャッシュ有効時間を初期値に戻し、前記サーバの実際の負荷が前記予め定められた負荷の上限値を上回らないと判定した場合、前記負荷情報に基づいて前記負荷変動を予測する負荷予測・制御部、
    を備えるロードバランシング装置。
  2. 前記キャッシュ有効時間を記憶する記憶部、
    を備え、
    前記負荷予測・制御部は、
    前記負荷変動が前記サーバの負荷が低下することを示す場合に、前記記憶部が記憶する前記キャッシュ有効時間をより短い有効時間に書き換える、
    請求項1に記載のロードバランシング装置。
  3. 前記キャッシュ有効時間を記憶する記憶部、
    を備え、
    前記負荷予測・制御部は、
    前記負荷変動が前記サーバの負荷が増大することを示す場合に、前記記憶部が記憶する前記キャッシュ有効時間をより長い有効時間に書き換える、
    請求項1または請求項2に記載のロードバランシング装置。
  4. 前記負荷情報を収集するサーバ監視部、
    を備え、
    前記負荷予測・制御部は、
    前記サーバ監視部が収集した前記負荷情報に基づいて、前記負荷変動を予測する、
    請求項1から請求項3の何れか一項に記載のロードバランシング装置。
  5. 請求項1から請求項4の何れか一項に記載のロードバランシング装置と、
    前記ロードバランシング装置が決定したサーバのIPアドレス情報のキャッシュ有効時間により制御されるサーバと、
    を備える通信システム。
  6. サーバの負荷情報の変化に基づいて負荷変動を予測することと、前記負荷変動が前記サーバの負荷が低下することを示す場合に、前記サーバのIPアドレス情報のキャッシュ有効時間を短くすることと、前記負荷変動が前記サーバの負荷が増大することを示す場合に、前記キャッシュ有効時間を長くすることと、広域負荷分散とを行うロードバランシング装置による制御方法であって、
    前記サーバの実際の負荷が前記予め定められた負荷の下限値を下回るか否かを判定することと、
    前記サーバの実際の負荷が前記予め定められた負荷の下限値を下回ると判定した場合、前記キャッシュ有効時間の2倍の時間が経過したか否かを判定することと、
    前記キャッシュ有効時間の2倍の時間が経過していないと判定した場合、所定時間後に前記キャッシュ有効時間の2倍の時間が経過したか否かを再度判定することと、
    前記キャッシュ有効時間の2倍の時間が経過したと判定した場合、前記サーバを停止させることと、
    前記サーバの実際の負荷が前記予め定められた負荷の下限値を下回らないと判定した場合、前記サーバの実際の負荷が予め定められた負荷の上限値を上回るか否かを判定することと、
    前記サーバの実際の負荷が前記予め定められた負荷の上限値を上回ると判定した場合、前記キャッシュ有効時間を初期値に戻すことと、
    前記サーバの実際の負荷が前記予め定められた負荷の上限値を上回らないと判定した場合、前記負荷情報に基づいて前記負荷変動を予測することと、
    を含む制御方法。
  7. サーバの負荷情報の変化に基づいて負荷変動を予測することと、前記負荷変動が前記サーバの負荷が低下することを示す場合に、前記サーバのIPアドレス情報のキャッシュ有効時間を短くすることと、前記負荷変動が前記サーバの負荷が増大することを示す場合に、前記キャッシュ有効時間を長くすることと、広域負荷分散とを行うロードバランシング装置のコンピュータに、
    前記サーバの実際の負荷が前記予め定められた負荷の下限値を下回るか否かを判定することと、
    前記サーバの実際の負荷が前記予め定められた負荷の下限値を下回ると判定した場合、前記キャッシュ有効時間の2倍の時間が経過したか否かを判定することと、
    前記キャッシュ有効時間の2倍の時間が経過していないと判定した場合、所定時間後に前記キャッシュ有効時間の2倍の時間が経過したか否かを再度判定することと、
    前記キャッシュ有効時間の2倍の時間が経過したと判定した場合、前記サーバを停止させることと、
    前記サーバの実際の負荷が前記予め定められた負荷の下限値を下回らないと判定した場合、前記サーバの実際の負荷が予め定められた負荷の上限値を上回るか否かを判定することと、
    前記サーバの実際の負荷が前記予め定められた負荷の上限値を上回ると判定した場合、前記キャッシュ有効時間を初期値に戻すことと、
    前記サーバの実際の負荷が前記予め定められた負荷の上限値を上回らないと判定した場合、前記負荷情報に基づいて前記負荷変動を予測することと、
    を実行させるプログラム。
JP2018056063A 2018-03-23 2018-03-23 ロードバランシング装置、通信システム、制御方法及びプログラム Active JP6597823B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018056063A JP6597823B2 (ja) 2018-03-23 2018-03-23 ロードバランシング装置、通信システム、制御方法及びプログラム
US16/355,926 US11190583B2 (en) 2018-03-23 2019-03-18 Load balancing device, communication system, control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018056063A JP6597823B2 (ja) 2018-03-23 2018-03-23 ロードバランシング装置、通信システム、制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2019168920A JP2019168920A (ja) 2019-10-03
JP6597823B2 true JP6597823B2 (ja) 2019-10-30

Family

ID=67985919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018056063A Active JP6597823B2 (ja) 2018-03-23 2018-03-23 ロードバランシング装置、通信システム、制御方法及びプログラム

Country Status (2)

Country Link
US (1) US11190583B2 (ja)
JP (1) JP6597823B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110995863B (zh) * 2019-12-19 2021-07-30 上海交通大学 基于负载需求特征的数据中心负载分配方法及系统
JP7224310B2 (ja) * 2020-01-29 2023-02-17 三菱電機株式会社 ネットワークシステム
US20230370332A1 (en) * 2021-01-22 2023-11-16 Rakuten Mobile, Inc. Computer system and communication method

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07225746A (ja) 1994-02-09 1995-08-22 Mitsubishi Electric Corp 動的負荷分散方法
US6078943A (en) 1997-02-07 2000-06-20 International Business Machines Corporation Method and apparatus for dynamic interval-based load balancing
US6351775B1 (en) * 1997-05-30 2002-02-26 International Business Machines Corporation Loading balancing across servers in a computer network
JPH11308267A (ja) 1998-04-21 1999-11-05 Canon Inc 情報配信サーバ及びその制御方法及び記憶媒体
JP2002318720A (ja) 2001-04-19 2002-10-31 Oki Electric Ind Co Ltd コンテンツ配信管理システム
JP5050854B2 (ja) * 2005-09-20 2012-10-17 日本電気株式会社 資源量計算システム、方法およびプログラム
JP5120262B2 (ja) * 2006-12-13 2013-01-16 日本電気株式会社 ホームネットワークシステム及び該ホームネットワークシステムに用いられるモビリティアンカー割当て方法
JP5229590B2 (ja) 2007-09-18 2013-07-03 日本電気株式会社 サーバ組替支援システム、サーバ組替支援方法
JP4677482B2 (ja) 2008-03-27 2011-04-27 西日本電信電話株式会社 アクセス振分システム、サーバ装置、共通管理装置、アクセス振分装置、アクセス振分方法、及び、コンピュータプログラム
US20150365305A1 (en) * 2009-04-07 2015-12-17 Verisign, Inc. Domain name system traffic analysis
US8527658B2 (en) * 2009-04-07 2013-09-03 Verisign, Inc Domain traffic ranking
CN102164116B (zh) * 2010-03-30 2013-11-13 青岛海信传媒网络技术有限公司 均衡负载的方法、系统及相应设备
US9215275B2 (en) * 2010-09-30 2015-12-15 A10 Networks, Inc. System and method to balance servers based on server load status
JP5557689B2 (ja) 2010-10-22 2014-07-23 株式会社日立製作所 ネットワークシステム
US9154549B2 (en) * 2011-10-27 2015-10-06 Cisco Technology, Inc. Dynamic server farms
US9866448B2 (en) 2012-09-18 2018-01-09 Htc Corporation Electronic device and method for DNS processing
US9407692B2 (en) * 2013-11-27 2016-08-02 Avi Networks Method and system for distributed load balancing
KR102295664B1 (ko) 2014-10-21 2021-08-27 삼성에스디에스 주식회사 글로벌 서버 로드 밸런서 장치 및 상기 장치에서의 동적 캐쉬 유효 기간 제어 방법
US10505970B2 (en) * 2016-10-05 2019-12-10 Cisco Technology, Inc. Identifying and using DNS contextual flows

Also Published As

Publication number Publication date
US20190297142A1 (en) 2019-09-26
US11190583B2 (en) 2021-11-30
JP2019168920A (ja) 2019-10-03

Similar Documents

Publication Publication Date Title
JP6597823B2 (ja) ロードバランシング装置、通信システム、制御方法及びプログラム
US6601090B1 (en) System and method for servicing internet object accessess from a coupled intranet
US7404201B2 (en) Data distribution server
CN106464731B (zh) 利用分层边缘服务器的负载平衡
US9395933B2 (en) Distributed storage system, distributed storage method, and program and storage node for distributed storage
JP6328432B2 (ja) ゲートウェイ装置、ファイルサーバシステム及びファイル分散方法
US20050125456A1 (en) File migration method based on access history
CN104462225B (zh) 一种数据读取的方法、装置及系统
JP2012090194A (ja) ネットワークシステム
US20080155082A1 (en) Computer-readable medium storing file delivery program, file delivery apparatus, and distributed file system
CN111444157B (zh) 分布式文件系统及数据访问方法
JP6272190B2 (ja) 計算機システム、計算機、負荷分散方法及びそのプログラム
JP2019016042A (ja) データ取得プログラム、装置、及び方法
JP5593732B2 (ja) 分散型コンテンツ配信システム及び方法、並びに、配信サーバ決定装置及び方法
CN108777718B (zh) 一种业务系统通过客户端访问读多写少系统的方法和装置
JP4105260B2 (ja) 情報処理装置
US10841394B2 (en) Server for caching session information set and method of controlling cache of session information set
JP5667506B2 (ja) クラスタシステムおよびソフトウェアアップデート方法
JP2005196725A (ja) アクセスヒストリに基づくファイルマイグレーション方式
WO2011001537A1 (en) Storage system and its information processing method
KR101693658B1 (ko) 거래 이력 데이터를 저장하고 검색하는 방법, 업무 처리 서버 및 데이터 처리 서버
JP2003296153A (ja) ストレージシステムおよびそのためのプログラム
JP5313980B2 (ja) ディスク管理システム、ディスク管理装置、ディスク管理方法
JP7137072B2 (ja) 情報処理システム、負荷分散処理装置および負荷分散処理プログラム
JP2001318902A (ja) キャッシュ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180323

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190807

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190916

R150 Certificate of patent or registration of utility model

Ref document number: 6597823

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150