[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2005011331A - 負荷分散システム及び計算機管理プログラム - Google Patents

負荷分散システム及び計算機管理プログラム Download PDF

Info

Publication number
JP2005011331A
JP2005011331A JP2004156713A JP2004156713A JP2005011331A JP 2005011331 A JP2005011331 A JP 2005011331A JP 2004156713 A JP2004156713 A JP 2004156713A JP 2004156713 A JP2004156713 A JP 2004156713A JP 2005011331 A JP2005011331 A JP 2005011331A
Authority
JP
Japan
Prior art keywords
computer
spare
server
computers
load
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
JP2004156713A
Other languages
English (en)
Other versions
JP3782429B2 (ja
Inventor
Hideaki Hirayama
秀昭 平山
Kenichi Mizoguchi
研一 溝口
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004156713A priority Critical patent/JP3782429B2/ja
Publication of JP2005011331A publication Critical patent/JP2005011331A/ja
Application granted granted Critical
Publication of JP3782429B2 publication Critical patent/JP3782429B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

【課題】突然のスパイク現象に容易に対処できるようにする。
【解決手段】サーバ構成管理部151は、WEBサーバ計算機11-1〜11-6を含む全ての負荷分散対象計算機の負荷量に基づいて、負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべきプロビジョニングノード計算機の台数を決定する。プロビジョニングノード管理部152は、プロビジョニングノード計算機15-1〜15-4の中から使用を開始または終了すべき計算機を決定する。プロビジョニングノード起動/停止部153は、決定された計算機を起動または停止する。設定変更部154は、決定された計算機が、負荷分散装置12による負荷分散の対象または対象外となるように、当該負荷分散装置12を制御する。
【選択図】 図1

Description

本発明は、複数のクライアント計算機から受信したリクエストを複数の計算機に分配して処理することで負荷分散を図る負荷分散システムに係り、特に突然のスパイク状態に対応するのに好適な負荷分散システム及び計算機管理プログラムに関する。
多数のクライアント計算機からの実行要求を効率的に処理するために、これらの実行要求を複数の計算機に分配する負荷分散システムが知られている(例えば非特許文献1及び2参照)。この種の負荷分散システム、例えばWEB(ウェブ)サーバの負荷分散システムは、複数のWEBサーバ計算機と負荷分散装置とから構成される。
WEBサーバの負荷分散システムにおいて、クライアント計算機で実行されるWEBブラウザ等からのリクエスト(実行要求)は、外部ネットワークを経由して負荷分散装置に送られる。負荷分散装置はクライアント計算機から送られたリクエストを受信すると、複数のWEBサーバ計算機の中から当該リクエストを処理すべきサーバ計算機を選択する。このサーバ計算機の選択は、特定のサーバ計算機だけに多大な負荷がかからないように考慮して行われる。そのため、サーバ計算機選択の方法として、例えば、(1)ラウンドロビン法、(2)重み付きラウンドロビン法、或いは(3)その時点でセッション数の最も少ないサーバ計算機を選択する方法が適用される。ラウンドロビン法は、各サーバ計算機を一定の順番で均等に選択する方法である。重み付きラウンドロビン法は、ラウンドロビン法を基本としながら、各サーバ計算機の能力に応じて当該計算機が選択される頻度を変える方法である。
負荷分散装置は、受信したリクエストを選択したサーバ計算機に内部ネットワークを経由して送る。サーバ計算機ではWEBサーバが動いている。サーバ計算機は、送られてきたリクエストに基づき、WEBサーバによって処理を行う。そしてサーバ計算機は、リクエストに対するリプライを内部ネットワークを経由して、負荷分散装置に送る。負荷分散装置は送られてきたリプライを、リクエストを送信したクライアント計算機に、外部ネットワークを経由して返信する。
一方、稼働状態にある計算機で障害が発生した場合に、その障害が発生した計算機で実行されていたサービス(業務)を、システム内の他の計算機、例えば待機状態(ホットスイタンバイ状態)にある他の計算機に引き継がせる(フェイルオーバする)、クラスタシステムと呼ばれる計算機システムが知られている(例えば、非特許文献3参照)。
R. Buyya,"High Performance Cluster Computing: Architecture and Systems(Volume 1&2)",1999年,Prentice Hall Tony Bourke(トニー・ブルーク),「サーバ負荷分散技術」,株式会社オライリー・ジャパン,2001年12月13日 金子哲夫、森良哉、「クラスタソフトウェア」、東芝レビュー、Vol.54 No.12(1999)、p.18-21
上記したWEBサーバの負荷分散システムにおいて、クライアント計算機からのリクエストを処理するWEBサーバ計算機の数は、当該リクエストの量等に応じて決定されるのが一般的である。ところが、近年はインターネットの利用者数が莫大な数に登っているため、WEBサイトの運用者の予想をはるかに超えた数のリクエストが負荷分散システムに集中しがちである。この場合、
(A)リクエストに対する応答時間が極めて悪くなる
(B)WEBサーバ計算機への接続が不可能になる
(C)WEBサーバ計算機がダウンする
といった、いわゆる「スパイク現象」に起因したトラブルがしばしば発生する。
リクエスト(アクセス)の増大が、ある程度予想される場合には、WEBサイトの運用者は、例えば追加のWEBサーバ計算機をレンタルすることで、スパイク現象に対処することができる。しかし大抵の場合、アクセスの増大を予想することは不可能であり、対処も困難となっている。
本発明は上記事情を考慮してなされたものでその目的は、突然のスパイク現象に容易に対処できる負荷分散システム及び計算機管理プログラムを提供することにある。
本発明の1つの観点によれば、複数のクライアント計算機からのリクエストを処理する複数のサーバ計算機と、複数のクライアント計算機からのリクエストを上記複数のサーバ計算機を含む複数の負荷分散対象計算機に分配する負荷分散装置とを備えた負荷分散システムが提供される。この負荷分散システムは、上記負荷分散対象計算機として用いることが可能な予備計算機であって、当該負荷分散対象計算機として用いられる際に起動される予備計算機と、上記複数のサーバ計算機を含む全ての負荷分散対象計算機の負荷量に基づいて、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定するサーバ構成管理手段と、上記予備計算機の使用状況を管理する予備計算機管理手段であって、上記サーバ構成管理手段によって決定された台数の、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機を決定する予備計算機管理手段と、上記予備計算機管理手段によって決定された予備計算機を起動または停止する予備計算機起動/停止手段と、上記予備計算機管理手段によって決定された予備計算機を、上記負荷分散装置による負荷分散の対象となる負荷分散対象計算機として追加する、または上記負荷分散装置による負荷分散の対象から除外する設定変更手段とを備えている。
このような構成の負荷分散システムにおいては、複数のサーバ計算機を含む全ての負荷分散対象計算機の負荷量に基づいて、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機が決定されて、その決定された予備計算機が起動または停止される。また、決定された予備計算機が負荷分散装置による負荷分散の対象となる負荷分散対象計算機として追加、または負荷分散装置による負荷分散の対象から除外される。このように、上記構成の負荷分散システムにおいては、「スパイク状態」の負荷が発生しても、必要な台数の予備計算機が起動されると共に当該予備計算機を含めて負荷分散の対象とされ、「スパイク状態」が解消されたならば、負荷分散の対象となっていた予備計算機が停止されると共に負荷分散の対象外とされることから、常時多くのサーバ計算機を起動させておくことなく、予測の困難なスパイク状態に容易に対処することができる。
ここで、上記複数のサーバ計算機、上記負荷分散装置、上記サーバ構成管理手段及び上記負荷分散装置設定変更手段の組を備えた複数のサーバサイトと、上記予備計算機、上記予備計算機管理手段及び上記予備計算機起動/停止手段の組を備えた予備サイトとを用意して、これらのサイトがネットワーク接続される構成とすると共に、サーバサイト内のサーバ構成管理手段は、当該サーバサイト内で新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定した場合、当該サーバサイト内での予備計算機の使用開始または使用終了を上記予備サイトにネットワークを介して要求し、この予備サイト内の予備計算機管理手段は、上記サーバ構成管理手段からの予備計算機使用開始または使用終了の要求に応じて、要求元のサーバサイト内で負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機を決定する構成とするとよい。
このような構成においては、各サーバサイトは、予備サイト内の予備計算機を、当該サーバサイトの負荷の状態に応じて、つまり「スパイク状態」の負荷が発生した場合だけ、使用することができる。
また、上記複数のサーバ計算機で実行されるオペレーティングシステムを含むブートイメージが同一の種類でない場合に、上記複数のサーバ計算機を、当該計算機で実行されるブートイメージの種類に応じて複数のサーバ計算機グループに分けて管理する構成とすることも可能である。この場合、サーバ構成管理手段は、上記グループ単位で当該グループ全体の負荷量を求め、その負荷量に基づいて、当該グループ単位で、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定して、当該グループでの予備計算機の使用開始または使用終了を要求するとよい。また、予備計算機管理手段は、サーバ構成管理手段から要求されたグループで負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機を決定するとよい。また、使用を開始すべき予備計算機が上記予備計算機管理手段によって決定された場合、当該予備計算機をブートすべきブートイメージとして、当該予備計算機の使用が開始されるサーバ計算機グループ内のサーバ計算機で実行されている種類のブートイメージ、つまり当該グループに固有のブートイメージを選択するブートイメージ選択手段を追加することにより、当該予備計算機が当該グループに固有のブートイメージでブートされるようにするとよい。
このような構成とすることにより、あるサーバ計算機グループ内で「スパイク状態」の負荷が発生しても、その負荷を分散するのに必要な予備計算機を決定して、その決定された予備計算機を、当該グループ内のサーバ計算機で実行されているのと同一種類のブートイメージでブートして、当該グループに属する負荷分散対象計算機とすることができる。つまり、システム内のいずれのサーバ計算機グループで「スパイク状態」の負荷が発生しても、当該サーバ計算機グループ内のサーバ計算機で実行されているブートイメージの種類に無関係に、予備計算機を割り当てることができ、限られた数の予備計算機を有効に利用できる。ここで、上記複数のサーバ計算機グループに分けて管理される複数のサーバ計算機、上記負荷分散装置、上記サーバ構成管理手段及び上記負荷分散装置設定変更手段の組を備えた複数のサーバサイトと、上記予備計算機、上記予備計算機管理手段、上記予備計算機起動/停止手段、上記ブートイメージ設定手段及びブートイメージ種類別に設けられたブートイメージ格納手段の組を備えた予備サイトとを用意して、上記各サーバサイトから上記予備サイト内の予備計算機を共通に利用可能な構成とすることも可能である。
本発明によれば、突然のスパイク現象が発生しても、予備の計算機が起動されて新たに負荷分散の対象計算機として使用され、スパイク現象が収まった場合には、起動されていた予備計算機が負荷分散の対象外となると共に停止されるため、常時多くのサーバ計算機を起動させておくことなく、予測の困難な突然のスパイク現象に容易に対処することができる。
以下、本発明の実施の形態につき図面を参照して説明する。
[第1の実施形態]
図1は本発明の第1の実施形態に係る負荷分散システムの構成を示すブロック図である。図1のシステムは、複数、例えば6台のWEBサーバ計算機11-1乃至11-6と、負荷分散装置12とを備えている。WEBサーバ計算機11-1乃至11-6及び負荷分散装置12はシステム内部のネットワーク(内部ネットワーク)13により相互接続されている。また負荷分散装置12はシステム外部のネットワーク(外部ネットワーク)14を介して複数のクライアント計算機(図示せず)と接続されている。
WEBサーバ計算機11-1乃至11-6は、クライアント計算機からのリクエストを処理する。負荷分散装置12は、外部ネットワーク14を介してクライアント計算機からのリクエストを受信した場合、WEBサーバ計算機11-1乃至11-6の中から当該リクエストを処理すべきサーバ計算機を選択する。この選択には、例えば、背景技術で述べた選択方法(1)乃至(3)のいずれかを用いることができる。負荷分散装置12はまた、選択したサーバ計算機にクライアント計算機からのリクエストを送る。つまり負荷分散装置12は、多数のクライアント計算機からのリクエストをWEBサーバ計算機11-1乃至11-6に分配して処理させることで、負荷分散を図る。
負荷分散装置12は、計算機負荷情報取得部120を含む。計算機負荷情報取得部120は、負荷分散装置12による負荷分散の対象となる計算機各々の負荷状態を示す情報(計算機負荷情報)を取得する。ここで、負荷分散装置12によって取得される各負荷分散対象計算機の負荷情報には、負荷分散装置12によって当該負荷分散対象計算機との間に設定されるセッションの数が用いられる。負荷分散対象計算機は、WEBサーバ計算機11-1乃至11-6、及び次に述べるプロビジョニングノード計算機15-1乃至15-4のうちの負荷分散対象として起動されている計算機である。
プロビジョニングノード計算機15-1乃至15-4は、通常は電源オフ状態にあって、起動されていない予備の計算機である。プロビジョニングノード計算機15-1乃至15-4は、突然の「スパイク状態」が発生した場合に、その状態を解消するための負荷分散対象候補として位置付けられている。但し、既に負荷分散対象となっているプロビジョニングノード計算機は、この候補から除かれる。本実施形態では、「スパイク状態」は、負荷分散対象となっている計算機全体の負荷量が予め定められた閾値を超えた状態として捉えられる。プロビジョニングノード計算機15-1乃至15-4は内部ネットワーク13に接続されている。
内部ネットワーク13には、管理サーバ計算機15も接続されている。管理サーバ計算機15上では、管理サーバ150が動作する。管理サーバ150は、管理サーバ計算機15内のCPU(図示せず)が所定の計算機管理プログラムを読み取って実行することにより実現される。この計算機管理プログラムは、例えばCD−ROM、フレキシブルディスクまたはメモリカード等の記憶媒体により提供される。この記憶媒体により提供される計算機管理プログラムは、管理サーバ計算機15の例えばディスクドライブに保存して用いられる。計算機管理プログラムを外部ネットワーク14を介して管理サーバ計算機15に転送して、当該計算機15のディスクドライブに保存することも可能である。
管理サーバ150は、サーバ構成管理部151、プロビジョニングノード管理部152、プロビジョニングノード起動/停止部153、及び設定変更部154の各機能要素を含む。
サーバ構成管理部151は、WEBサーバとして動作する計算機(サーバ計算機)を管理する機能を有する。またサーバ構成管理部151は、使用開始すべき(新たに負荷分散対象とすべき)、または使用を終了すべき(負荷分散対象外とすべき)プロビジョニングノード計算機の台数を決定する機能を有する。この決定は、負荷分散装置12による負荷分散対象となっている計算機の負荷状態をもとに行われる。そのためサーバ構成管理部151は、負荷閾値/計画使用プロビジョニングノード計算機数テーブル151aを保持している。テーブル151aは、負荷分散対象計算機全体の負荷量の閾値(負荷閾値)と、その閾値に対応して負荷分散対象とすべきプロビジョニングノード計算機の数(計画使用プロビジョニングノード計算機数)とを対応付けて記憶する。
負荷閾値/計画使用プロビジョニングノード計算機数対応テーブル151aの一例を図5に示す。この図5の例では、テーブル151aは、3種の負荷閾値NS1、NS2及びNS3の各々と計画使用プロビジョニングノード計算機数とを対応付けて記憶する。閾値NS1、NS2及びNS3は、それぞれ第1、第2及び第3のスパイク状態に対応する。テーブル151aは、上記計算機管理プログラムに予め設定されており、管理サーバ計算機15の起動時に、当該計算機15の主メモリ(図示せず)にロードされる。
プロビジョニングノード管理部152は、プロビジョニングノード計算機15-1乃至15-4の使用状況を管理する機能を有する。またプロビジョニングノード管理部152は、サーバ構成管理部151により、使用開始すべき、または使用を終了すべきプロビジョニングノード計算機の台数が決定された場合に、プロビジョニングノード計算機15-1乃至15-4の中から実際に使用を開始すべき、または使用を終了すべきプロビジョニングノード計算機を決定(選択)する。
プロビジョニングノード起動/停止部153は、プロビジョニングノード管理部152によって決定されたプロビジョニングノード計算機を起動または停止する機能を有する。プロビジョニングノード起動/停止部153は、プロビジョニングノード計算機の起動/停止を次のようにして行う。プロビジョニングノード起動/停止部153は、Wake On LAN技術を利用してプロビジョニングノード計算機の起動をする。プロビジョニングノード起動/停止部153は、プロビジョニングノード計算機を起動するために、起動するプロビジョニングノード計算機を指定した特殊なパケットを内部ネットワーク13に送出する。上記特殊なパケットにおいて、起動すべきプロビジョニングノード計算機の指定には、当該プロビジョニングノード計算機に実装されているLANカード(ネットワークカード)のMACアドレスが用いられる。各プロビジョニングノード計算機に実装されたLANカードは、ネットワーク(ここでは内部ネットワーク13)と接続するための制御回路として動作する。このLANカードは、内部ネットワーク13を流れる特殊パケットを監視するために待機している。そのためLANカードには、プロビジョニングノード計算機の電源がオフされている状態において、常時スタンバイ電流が供給されている。LANカードは、自分のMACアドレスが指定されている特殊パケット(つまり自身宛ての特殊パケット)を受信した場合に、自分が実装されているプロビジョニングノード計算機を起動(ブート)するための機能を持つ。このようなLANカードを持ったプロビジョニングノード計算機は、常時起動可能な状態(スタンバイ状態)に設定されている。また、プロビジョニングノード起動/停止部153は、プロビジョニングノード計算機の停止を次のように行う。プロビジョニングノード起動/停止部153は、停止させるべきプロビジョニングノード計算機に対し、オプションとして電源断を指定したシャットダウンコマンドを内部ネットワーク13を介して送出する。このコマンドの送出により、プロビジョニングノード起動/停止部153は、プロビジョニングノード計算機を停止させる。具体的には、例えばオペレーティングシステムUNIX(登録商標)では、シャットダウンコマンドとして“init”が使える。“init”コマンドには、電源断を指定するオプションがある。そこで、電源断を指定したシャットダウンコマンドを実行すると、電源ドライバが呼び出され、計算機の電源断まで行われる。リモートの計算機からシャットダウンコマンドを実行するには、リモートシェル(rss)コマンドを使えばよい。
設定変更部154は、プロビジョニングノード起動/停止部153によって起動または停止されたプロビジョニングノード計算機を負荷分散装置12による負荷分散の対象または対象外とするように、当該負荷分散装置12を制御する機能を有する。つまり設定変更部154は、プロビジョニングノード起動/停止部153によって起動または停止されたプロビジョニングノード計算機に対して負荷分散装置12からリクエストを分配することの許可または停止を、当該負荷分散装置12に対して与える機能を有する。
次に、図1の負荷分散システムの動作について、図2のフローチャートを参照して説明する。まず、管理サーバ計算機15内のサーバ構成管理部151は、負荷分散装置12の計算機負荷情報取得部120から、当該負荷分散装置12による負荷分散の対象となっている、WEBサーバ計算機11-1乃至11-5を含む各計算機(負荷分散対象計算機)の負荷情報を取得する(ステップS1)。したがって、プロビジョニングノード計算機15-1乃至15-4の中に負荷分散対象計算機として使用されているプロビジョニングノード計算機が存在する場合には、その計算機の負荷情報も取得される。ここでは各負荷分散対象計算機の計算機負荷情報として、負荷分散装置12によって各クライアント計算機と当該負荷分散対象計算機との間に設定されたセッションの本数が取得される。このステップS1において、サーバ構成管理部151は、各負荷分散対象計算機の計算機負荷情報から、負荷分散対象計算機全体の負荷量NSを求める。ここでは各負荷分散対象計算機の計算機負荷情報の示す負荷量(セッション数)を加算することで、全体の負荷量NSが求められる。なお、各負荷分散対象計算機の処理能力に対応(例えば反比例)した重みで負荷量を重み付けし、その重み付けされた負荷量の加算値を全体の負荷量NSとしてもよい。
次にサーバ構成管理部151は、負荷閾値/計画使用プロビジョニングノード計算機数対応テーブル151aを参照して、当該テーブル151aの内容をもとに、現在の負荷量NSに対応する計画使用プロビジョニングノード計算機数を決定する(ステップS2)。本実施形態では、テーブル151aの内容は図5に示すようになっている。この場合、サーバ構成管理部151は、
S<NS1であれば、計画使用プロビジョニングノード計算機数=0
S1≦NS<NS2であれば、計画使用プロビジョニングノード計算機数=2
S2≦NS<NS3であれば、計画使用プロビジョニングノード計算機数=4
S≧NS3であれば、計画使用プロビジョニングノード計算機数=6
のように決定する。
次にサーバ構成管理部151は、決定した計画使用プロビジョニングノード計算機数と、プロビジョニングノード管理部152により管理されている現在使用中のプロビジョニングノード計算機数とを比較する(ステップS3)。もし、両計算機数が等しいならば、サーバ構成管理部151は、新たにプロビジョニングノード計算機を負荷分散の対象計算機(つまり使用を開始する計算機)として割り当てる必要がないものと判断する。この場合、サーバ構成管理部151は一定時間を待った後(ステップS4)、ステップS1から処理を繰り返す。
一方、計画使用プロビジョニングノード計算機数の方が多いならば(ステップS3)、サーバ構成管理部151は、新たにプロビジョニングノード計算機を負荷分散の対象計算機として割り当てる必要があると判断する。この場合、サーバ構成管理部151はプロビジョニングノード管理部152に対し、新たにプロビジョニングノード計算機の使用を開始することを要求する。これを受けてプロビジョニングノード管理部152は、プロビジョニングノード計算機15-1乃至15-4の中に、使用可能なプロビジョニングノード計算機が存在するか否かを調べる(ステップS5)。もし、使用可能なプロビジョニングノード計算機がない場合、つまりプロビジョニングノード計算機15-1乃至15-4が全て負荷分散対象計算機として既に使用中である場合、その旨がプロビジョニングノード管理部152からサーバ構成管理部151に通知される。するとサーバ構成管理部151は一定時間を待った後(ステップS4)、ステップS1から処理を繰り返す。
これに対し、使用可能なプロビジョニングノード計算機、つまり現在使用(起動)されていないプロビジョニングノード計算機があるならば、プロビジョニングノード管理部152は、使用を開始する計算機(負荷分散の対象計算機)としてプロビジョニングノード計算機を割り当てる処理(ステップS6)を行う。この処理は、使用可能なプロビジョニングノード計算機の数Nと上記両計算数の差分Ndとの大小関係に基づいて次のように行われる。まず、N≧Ndであるならば、プロビジョニングノード管理部152は、使用可能なプロビジョニングノード計算機の中から、当該差分Ndに一致する数のプロビジョニングノード計算機を選択して、使用を開始する計算機として割り当てる。また、N<Ndならば、サーバ構成管理部151は、計算機数としては不十分ではあるものの、使用可能なN台のプロビジョニングノード計算機を全て選択して、使用を開始する計算機として割り当てる。この計算機割り当ての情報は、プロビジョニングノード管理部152からサーバ構成管理部151、プロビジョニングノード起動/停止部153及び設定変更部154にそれぞれ通知される。
するとプロビジョニングノード起動/停止部153は、プロビジョニングノード計算機15-1乃至15-4のうち、サーバ構成管理部151によって使用を開始する計算機として割り当てられた(決定された)プロビジョニングノード計算機を起動する(ステップS7)。このとき設定変更部154は、負荷分散装置12を制御して、プロビジョニングノード起動/停止部153によって起動された(プロビジョニングノード管理部152によって使用開始が決定された)プロビジョニングノード計算機を、負荷分散装置12による負荷分散の対象となる負荷分散対象計算機として追加させる(ステップS8)。ここで、ステップS7及びS8の順番は逆でも構わない。サーバ構成管理部151は、設定変更部154の制御により負荷分散装置12による負荷分散の対象が変更されると、一定時間を待った後(ステップS4)、ステップS1から処理を繰り返す。
一方、計画使用プロビジョニングノード計算機数の方が現在使用中のプロビジョニングノード計算機の数より少ないならば(ステップS3)、サーバ構成管理部151は、両計算機数の差分Ndの数のプロビジョニングノード計算機の使用を終了させる必要があると判断する。この場合、サーバ構成管理部151はプロビジョニングノード管理部152に対し、Nd台のプロビジョニングノード計算機の使用を終了することを要求する。これを受けてプロビジョニングノード管理部152は、現在使用中のプロビジョニングノード計算機の中から、使用を終了させる、上記両計算機数の差分Ndに等しい数のプロビジョニングノード計算機を決定する(ステップS9)。プロビジョニングノード管理部152によって決定された、使用を終了させるプロビジョニングノード計算機の情報は、プロビジョニングノード管理部152からサーバ構成管理部151、プロビジョニングノード起動/停止部153及び設定変更部154にそれぞれ通知される。
すると設定変更部154は、使用終了が決定されたプロビジョニングノード計算機が負荷分散装置12による負荷分散の対象外となるように、当該負荷分散装置12を制御する(ステップS10)。一方、プロビジョニングノード起動/停止部153は、プロビジョニングノード管理部152によって使用終了が決定されたプロビジョニングノード計算機を停止する(ステップS11)。ここで、ステップS10及びS11の順番は逆でも構わない。サーバ構成管理部151は、上記差分Ndに等しい数のプロビジョニングノード計算機が停止されると、一定時間を待った後(ステップS4)、ステップS1から処理を繰り返す。
以上の説明から明らかなように、図5に示したテーブル151aが適用される図1のシステムにおいては、負荷量NSが負荷閾値NS1以上となったなら(但しNS<NS2)、2台のプロビジョニングノード計算機が負荷分散対象計算機として使用される。この状態で、負荷量NSが負荷閾値NS2以上となったなら(但しNS<NS3)、更に2台のプロビジョニングノード計算機が負荷分散対象計算機として追加される。この場合、合計4台のプロビジョニングノード計算機、つまりシステム内の全プロビジョニングノード計算機15-1乃至15-4が使用される。この状態で、負荷量NSが負荷閾値NS3以上となったなら、更に2台のプロビジョニングノード計算機を負荷分散対象計算機として追加しなければならない。しかし、この時点で、既にシステム内の全プロビジョニングノード計算機15-1乃至15-4が使用中であり、新たに使用可能なプロビジョニングノード計算機は存在しない。したがって、4台を超えるプロビジョニングノード計算機の使用はない。
また、プロビジョニングノード計算機15-1乃至15-4が使用中の状態で、負荷量NSが負荷閾値NS2を下回ったなったなら(但しNS≧NS1)、2台のプロビジョニングノード計算機が負荷分散対象外とされる。この場合、使用するプロビジョニングノード計算機は2台となる。この状態で、負荷量NSが負荷閾値NS1を下回ったなったなら、更に2台のプロビジョニングノード計算機が負荷分散対象外とされる。この場合、プロビジョニングノード計算機の使用が止められる。このことから、テーブル151aが、負荷に応じたプロビジョニングノード計算機の使用開始/使用終了条件を定義したテーブルであることが理解される。
このように、本発明の第1の実施形態に係る負荷分散システムによれば、スパイク状態の負荷が発生した場合、プロビジョニングノード計算機(予備の計算機)が起動され、その起動されたプロビジョニングノード計算機も含めて負荷分散装置12で負荷分散が行われる。このような状態で、負荷が低下した場合には、プロビジョニングノード計算機が負荷分散の対象外とされて、当該プロビジョニングノード計算機が停止される。これにより、常時多くのサーバ計算機を起動させておくことなく、突然のスパイク状態に対応することができる。即ち本実施形態においては、システム(WEBサーバ計算機11-1乃至11-6を含むシステム)の運用者の予想をはるかに超えた数のリクエストが集中しても、背景技術の欄で挙げた「スパイク現象」に起因するトラブル(A)乃至(C)の発生を回避することができる。
なお、本実施形態では、管理サーバ150が独立した管理サーバ計算機15上で動作する構成を適用している。しかし、管理サーバ150を、例えばWEBサーバ計算機11-1乃至11-6のいずれかの上で動かしてもよい。この場合、管理サーバ150が動作しているWEBサーバ計算機で障害が発生しても、当該管理サーバ150の提供する機能が止まらないで済む構成を適用するとよい。具体的には、少なくともWEBサーバ計算機11-1乃至11-6が、前記先行技術文献に記載されたクラスタシステムを構成すればよい。このクラスタシステムを適用することで、WEBサーバ計算機11-1乃至11-6のうち管理サーバ150が動作しているWEBサーバ計算機で障害が発生しても、管理サーバ150の機能(つまりサーバ構成管理部151、プロビジョニングノード管理部152、プロビジョニングノード起動/停止部153及び設定変更部154の動作)を他のWEBサーバ計算機に引き継がせることができる。また、WEBサーバ計算機の台数及びプロビジョニングノード計算機の台数も上記実施形態に限るものではなく、WEBサーバ計算機は少なくとも2台(つまり複数)あればよく、プロビジョニングノード計算機は少なくとも1台あればよい。また、負荷分散装置12内の計算機負荷情報取得部120自身が負荷量NSを取得する構成としてもよい。
[第2の実施形態]
図3は本発明の第2の実施形態に係る負荷分散システムの構成を示すブロック図である。なお、図1と等価な構成要素には同一符号を付してある。図3のシステムが図1のシステムと相異する点は、図1中の負荷分散装置12に相当する負荷分散装置22が計算機負荷情報取得部を持たないことである。その代わりに、図1中のWEBサーバ計算機11-1乃至11-6に相当するWEBサーバ計算機21-1乃至2-6が、それぞれ計算機負荷情報取得部F1乃至F6を持っている。計算機負荷情報取得部F1乃至F6は、図1中の計算機負荷情報取得部120と異なり、対応するWEBサーバ計算機21-1乃至21-6の負荷情報のみを取得する。また、計算機負荷情報取得部F1乃至F6によって取得される計算機負荷情報は、セッション数ではなくて、例えば、WEBサーバ計算機21-1乃至21-6にそれぞれ含まれているCPUの使用率である。もし、1台のWEBサーバ計算機が複数のCPUを搭載している場合、当該複数のCPUの各々の使用率を加算した値が、当該WEBサーバ計算機の負荷情報(計算機負荷)として用いられる。なお、WEBサーバ計算機でのリクエストの処理を反映した負荷であれば、CPU使用率に限らず、メモリ使用率、入出力装置の使用率等を単独で、或いはCPU使用率と組み合わせて用いることも可能である。
また、図3のシステムでは、図1中の管理サーバ計算機15に代えて管理サーバ計算機25が用いられる。この管理サーバ計算機25上では、管理サーバ250が動作する。管理サーバ250は、サーバ構成管理部251、プロビジョニングノード管理部152、プロビジョニングノード起動/停止部153、及び設定変更部154の各機能要素を含む。サーバ構成管理部251は、図1中のサーバ構成管理部151と異なって、各負荷分散対象計算機内の計算機負荷情報取得部より取得された計算機負荷情報をもとに、負荷分散対象計算機全体の負荷量を求める。この全体の負荷量をNCと呼ぶ。そのため本実施形態では、予備の負荷分散対象計算機として位置付けられているプロビジョニングノード計算機15-1乃至15-4にも、WEBサーバ計算機21-1乃至21-6内の計算機負荷情報取得部F1乃至F6に相当する計算機負荷情報取得部(図示せず)が設けられているものとする。
サーバ構成管理部251は、負荷閾値/計画使用プロビジョニングノード計算機数対応テーブル251aを保持している。テーブル251aは、負荷分散対象計算機全体の負荷量の閾値(負荷閾値)と、その閾値に対応して負荷分散対象とすべきプロビジョニングノード計算機の数(計画使用プロビジョニングノード計算機数)とを対応付けて記憶する。このテーブル251aの一例を図6に示す。この図6の例では、テーブル251aは、3種の負荷閾値NC1,NC2及びNC3の各々と計画使用プロビジョニングノード計算機数とを対応付けて記憶する。閾値NC1,NC2及びNC3は、図5に示したテーブル151aに記憶される負荷閾値NS1,NS2及びNS3に相当する。
次に、図3の負荷分散システムの動作について、図1のシステムと相異する点を中心に、図4のフローチャートを参照して説明する。図3の負荷分散システムでは、図2のフローチャート中のステップS1乃至S11に相当するステップS21乃至S31が実行される。図1のシステムとの主たる相違点は、(図2中のステップS1に相当する)ステップS21での負荷量の求め方である。即ち、ステップS21においてサーバ構成管理部251は、WEBサーバ計算機21-1乃至21-6内の計算機負荷情報取得部F1乃至F6を含む、現在負荷分散の対象となっている計算機(負荷分散対象計算機)内の計算機負荷情報取得部から、当該負荷分散対象計算機の負荷情報を取得する。そしてサーバ構成管理部251は、取得した各負荷分散対象計算機の負荷情報(計算機負荷情報)から、全体の負荷量NCを求める。ここでは各負荷分散対象計算機の負荷情報の示す負荷量(CPUの使用率)の加算値が全体の負荷量NCとして求められる。なお、各負荷分散対象計算機の処理能力(例えばCPUの処理速度)に対応(例えば比例)した重みで負荷量を重み付けし、その重み付けされた負荷量の加算値を全体の負荷量NCとしてもよい。サーバ構成管理部251が負荷量NCを求めた後の動作は、負荷量がNSからNCに、負荷閾値がNS1,NS2及びNS3からNC1,NC2及びNC3に変わった点を除き、前記第1の実施形態と同様である。
[第3の実施形態]
図7は本発明の第3の実施形態に係る負荷分散システムの構成を示すブロック図である。なお、図1または図3と等価な構成要素には同一符号を付してある。図7のシステムでは、
負荷分散装置として図1に示した負荷分散装置12が用いられると共に、WEBサーバ計算機として図3に示したWEBサーバ計算機21-1乃至21-6が用いられる。図7のシステムの特徴は、負荷分散装置12内の計算機負荷情報取得部120、及びWEBサーバ計算機21-1乃至21-6内の計算機負荷情報取得部F1乃至F6を含む、各負荷分散対象計算機内の計算機負荷情報取得部をいずれも利用している点にある。即ち図7のシステムでは、計画使用プロビジョニングノード計算機数の決定に、計算機負荷情報取得部120により取得される各負荷分散対象計算機の負荷情報(セッション数を示す情報)と、各負荷分散対象計算機内の計算機負荷情報取得部により取得される負荷情報(CPU使用率を示す情報)との両方が利用される。
そのため、図7のシステムでは、図1中の管理サーバ計算機15または図3中の管理サーバ計算機25に代えて管理サーバ計算機35が用いられる。この管理サーバ計算機35上では、管理サーバ350が動作する。管理サーバ350は、サーバ構成管理部351、プロビジョニングノード管理部152、プロビジョニングノード起動/停止部153、及び設定変更部154の各機能要素を含む。サーバ構成管理部351は、図1中のサーバ構成管理部151及び図3中のサーバ構成管理部251の両者の機能を併せ持つ。即ちサーバ構成管理部351は、負荷分散装置12内の計算機負荷情報取得部120により取得された計算機負荷情報をもとに負荷量NSを取得する。サーバ構成管理部351はまた、各負荷分散対象計算機内の計算機負荷情報取得部により取得された計算機負荷情報をもとに負荷量NCを取得する。
サーバ構成管理部351は、負荷閾値/計画使用プロビジョニングノード計算機数対応テーブル351aを保持している。このテーブル351aの一例を図11に示す。テーブル351aの特徴は、計画使用プロビジョニングノード計算機数を、負荷量NSに対応する負荷閾値(ここではNS1,NS2及びNS3)、及び負荷量NCに対応する負荷閾値(ここではNC1,NC2及びNC3)の両方と対応付けて記憶している点にある。
次に、図7の負荷分散システムの動作について、図1のシステムと相異する点を中心に、図8のフローチャートを参照して説明する。図7の負荷分散システムでは、図2のフローチャート中のステップS1に相当するステップS41と、図4のフローチャート中のステップS21に相当するステップS42とが実行される。また、図7の負荷分散システムでは、図2のフローチャート中のステップS2に相当するステップS43と、図2のフローチャート中のステップS3乃至S11に相当するステップS44乃至S52とが実行される。
即ち、図7の負荷分散システムにおいて、サーバ構成管理部351は、負荷分散装置12内の計算機負荷情報取得部120により取得される各負荷分散対象計算機の負荷情報(セッション数)をもとに、負荷分散対象計算機全体の負荷量NSを求める(ステップS41)。サーバ構成管理部351はまた、各負荷分散対象計算機の内の計算機負荷情報取得部により取得される当該計算機の負荷情報(CPU使用率)をもとに、負荷分散対象計算機全体の負荷量NCを求める(ステップS42)。
サーバ構成管理部351は負荷量NS及びNCを求めると、ステップS43に進む。このステップS43においてサーバ構成管理部351は、負荷閾値/計画使用プロビジョニングノード計算機数対応テーブル351aを参照して、現在の負荷量NSに対応する計画使用プロビジョニングノード計算機数n1を決定する。同様にサーバ構成管理部351は、テーブル351aの内容をもとに、現在の負荷量NCに対応する計画使用プロビジョニングノード計算機数n2も決定する。次にサーバ構成管理部351は、負荷量NS及びNCにそれぞれ対応する負計画使用プロビジョニングノード計算機数n1及びn2を比較し、多い方を、実際に使用する計画使用プロビジョニングノード計算機数として選択する。以降の動作は、前記第1の実施形態と同様である。
このように本実施形態においては、種類の異なる負荷量NS及びNCをもとに、その負荷量NS及びNCによって表されるスパイク状態を低減するのに必要なプロビジョニングノード計算機の数n1及びn2が個々に求められる。そして、計算機数n1及びn2のうちの多い方が、実際に使用する計画使用プロビジョニングノード計算機数として選択される。これにより、負荷量NS及びNCの一方だけから決定されるプロビジョニングノード計算機の数を用いる前記第1及び第2の実施形態に比べて、より効果的にスパイク状態に対処できる。
[第4の実施形態]
図9は本発明の第4の実施形態に係る負荷分散システムの構成を示すブロック図である。なお、図7と等価な構成要素には同一符号を付してある。まず、図9のシステムが図7のシステムと相異する点について述べる。図7のシステムでは、特に断らなかったが、各WEBサーバ計算機(21-1乃至21-6)が、いずれも同種のブートイメージを実行することを前提としている。このことは、第1及び第2の実施形態においても同様である。ブートイメージは、少なくともオペレーティングシステム(OS)を含む。また、ブートイメージが、OS以外に、当該OSのもとで動作するアプリケーションプログラムを含むこともある。このように、各WEBサーバ計算機で実行されるOSを含むブートイメージが同一種類の場合、スパイク状態の負荷の発生時に使用されるプロビジョニングノード計算機に対し、当該計算機をブート(起動)するためのブートイメージを対応付けておくことが可能である。
これに対し、図9のシステムでは、実行されるブートイメージがWEBサーバ計算機によって異なる。ここでは、WEBサーバ計算機が当該計算機で実行されるブートイメージの種類毎にグループ分けして管理される。また、使用するプロビジョニングノード計算機数の決定に用いられる負荷もグループ単位で求められる。この場合、いずれのグループでスパイク状態の負荷が発生したかによって、その際に使用されるプロビジョニングノード計算機をブートするためのブートイメージの種類は異なる。したがって、プロビジョニングノード計算機に事前にブートイメージを対応付けておくことはできない。なお、グループ毎にプロビジョニングノード計算機を用意するならば、当該計算機に事前にブートイメージを対応付けておくことは可能である。しかし、そのためには、多数のプロビジョニングノード計算機を用意しなければならず、実用的でない。例えば適用されるブートイメージの種類によって、プロビジョニングノード計算機が3グループに分けられる場合、グループ毎にプロビジョニングノード計算機を4台用意するなら、合計で3×4=12台のプロビジョニングノード計算機が必要となる。
そこで、図9のシステムでは、プロビジョニングノード計算機が、いずれのブートイメージでもブート可能なように、以下に述べる構成を適用している。まず、図9のシステムで適用されるブートイメージは、ブートイメージ#1,#2,#3の3種類である。このため、WEBサーバ計算機の群も、適用される3種類のブートイメージ#1乃至#3に応じて、WEBサーバ計算機グループ40-1(#1)乃至40-3(#3)の3グループに分けて管理される。WEBサーバ計算機グループ40-1(#1)には、ブートイメージ#1でブートされているp台のWEBサーバ計算機41-11乃至41-1pが属する。WEBサーバ計算機グループ40-2(#2)には、ブートイメージ#2でブートされているq台のWEBサーバ計算機41-21乃至41-2qが属する。WEBサーバ計算機グループ40-3(#3)には、ブートイメージ#3でブートされているr台のWEBサーバ計算機41-31乃至41-3rが属する。
また、図9のシステムでは、図7中の管理サーバ計算機35に相当する管理サーバ計算機45が用いられる。この管理サーバ計算機45上では、管理サーバ450が動作する。管理サーバ450は、サーバ構成管理部451、プロビジョニングノード管理部152、プロビジョニングノード起動/停止部153、設定変更部154、及びプロビジョニングノードブートイメージ選択部455の各機能要素を含む。サーバ構成管理部451は、WEBサーバ計算機グループ#i(i=1,2,3)単位で負荷量NS及びNCを求め、その負荷量NS及びNCに応じて当該グループ#i単位で計画使用プロビジョニングノード計算機数を決定する機能を有する。
サーバ構成管理部451は、図12に示すテーブル451aを保持している。このテーブル451aの特徴は、計画使用プロビジョニングノード計算機数を、WEBサーバ計算機グループ#1乃至#3毎に、負荷量NSに対応する負荷閾値(ここではNS11,NS12,NS13乃至NS31,NS32,NS33)、及び負荷量NCに対応する負荷閾値(ここではNC11,NC12,NC13乃至NC31,NC32,NC33)の両方と対応付けて記憶している点にある。
プロビジョニングノードブートイメージ選択部455は、WEBサーバ計算機グループ40-i(#i)でスパイク状態の負荷が発生した結果、プロビジョニングノード管理部152によって使用が決定されたプロビジョニングノード計算機に、当該グループ40-i(#i)に固有の種類のブートイメージ#iを設定する機能を有する。ブートイメージ#iは、グループ40-i(#i)内のWEBサーバ計算機で使用されているブートイメージである。このプロビジョニングノードブートイメージ選択部455によるプロビジョニングノード計算機に対するブートイメージ#iの設定とは、当該プロビジョニングノード計算機と、当該計算機をブートするために使用されるブートイメージ#iが保存されたディスク(ディスクドライブ)とを、後述するテーブル470により対応付けることである。つまりプロビジョニングノードブートイメージ選択部455は、プロビジョニングノード計算機をブートするために使用されるブートイメージ#iが保存されたディスクを選択する機能を有する。
プロビジョニングノードブートイメージ選択部455は、WEBサーバ計算機グループ40-1(#1)の負荷が高い場合には、当該グループに属するWEBサーバ計算機41-11乃至41-1pで使用されているブートイメージ#1が保存されたディスク(後述するディスクD1)を、新たに当該グループに組み込まれるプロビジョニングノード計算機と対応付ける。同様にプロビジョニングノードブートイメージ選択部455は、WEBサーバ計算機グループ40-2(#2)の負荷が高い場合には、当該グループに属するWEBサーバ計算機41-21乃至41-2qで使用されているブートイメージ#2が保存されたディスク(後述するディスクD2)を、新たに当該グループに組み込まれるプロビジョニングノード計算機と対応付ける。同様にプロビジョニングノードブートイメージ選択部455は、WEBサーバ計算機グループ40-3(#3)の負荷が高い場合には、当該グループに属するWEBサーバ計算機41-31乃至41-3rで使用されているブートイメージ#3が保存されたディスク(後述するディスクD3)を、新たに当該グループに組み込まれるプロビジョニングノード計算機と対応付ける。
本実施形態では、WEBサーバ計算機41-11乃至41-1pと、WEBサーバ計算機41-21乃至41-2qと、WEBサーバ計算機41-31乃至41-3rと、管理サーバ計算機45と、プロビジョニングノード計算機15-1乃至15-4とは、ストレージ・エリア・ネットワーク(以下、SANと称する)46に接続されている。このSAN46には、ストレージ装置47も接続されている。ストレージ装置47は、ディスク(ディスクドライブ)D1乃至D3を備えている。つまり、上記各計算機とストレージ装置47内のディスクD1乃至D3とはSAN46で接続されていることになる。ディスクD1,D2及びD3には、それぞれWEBサーバ計算機グループ40-1乃至40-3内のWEBサーバ計算機で使用されているブートイメージ#1乃至#3が予め保存されている。
ストレージ装置47は、テーブル470を保持したデータベースを有する。テーブル470は、ストレージ装置47内のディスクD1乃至D3と当該ディスクD1乃至D3をブートディスクとする計算機とを対応付けた情報を記憶する。ディスクDi(i=1,2,3)をブートディスクとする計算機とは、ディスクDiに保存されているブートイメージ#iによってブート(起動)されるブート計算機のことである。
テーブル470の一例を図13に示す。この図13の例では、テーブル470は、ブートイメージ#1乃至#3を保存しているディスク(ブートディスク)D1乃至D3の情報(例えばディスク識別子)と、当該ディスクD1乃至D3に保存されているブートイメージ#1乃至#3によってブートされる計算機(つまりディスクD1乃至D3をブートディスクとして使用する計算機)の情報(例えば計算機識別子)とを対応付けて記憶する。本実施形態では、WEBサーバ計算機41-11乃至41-1pの識別子はWS11乃至WS1pであり、WEBサーバ計算機41-21乃至41-2qの識別子はWS21乃至WS2qであり、WEBサーバ計算機41-31乃至41-3rの識別子はWS31乃至W3rであるものとする。また、プロビジョニングノード計算機15-1乃至15-4の識別子はP1乃至P4であるものとする。
図9のシステムでは、プロビジョニングノード計算機15-j(jは1乃至4のいずれか)をブートイメージ#iによりブートするのに、次のような手順が用いられる。まずプロビジョニングノードブートイメージ選択部455は、ストレージ装置47内のデータベースに保持されているテーブル470から、ブートイメージ#iが保存されているディスクDiの識別子を検索する。そしてプロビジョニングノードブートイメージ選択部455はテーブル470を操作して、ディスクDiの識別子(Di)に対応付けて、プロビジョニングノード計算機15-jの識別子(Pj)を追加設定する。このプロビジョニングノードブートイメージ選択部455のテーブル操作により、ディスクDiがプロビジョニングノード計算機15-jのブートディスクとして論理的に接続されたことになる。つまり、プロビジョニングノード計算機15-jをブートするのに使用されるブートイメージ#iが保存されているディスクDiが選択されたことになる。
この場合、プロビジョニングノード計算機15-jは、プロビジョニングノード起動/停止部153によって起動されると、SAN46を介してストレージ装置47に保持されているテーブル470から自身の計算機識別子(Pj)を検索する。そしてプロビジョニングノード計算機15-jは、テーブル470内で自身の計算機識別子(Pj)と対応付けられているディスクの識別子(Di)から、自身をブートするのに使用すべきブートイメージ(ここではブートイメージ#i)を保存しているディスクDiを特定する。そこでプロビジョニングノード計算機15-jは、特定されたディスクDj(つまり自身と対応付けられているディスクDj)からブートイメージ#iを読み出して、当該ブートイメージ#iで自身をブートする。
したがってテーブル470上で、例えば図14に示すように、ディスクD1が新たに2台のプロビジョニングノード計算機15-1及び15-2と対応付けられた場合、当該計算機15-1及び15-2はディスクD1をブートディスクとして共有することになる。この場合、プロビジョニングノード計算機15-1及び15-2は、ディスクD1に保存されているブートイメージ#1でブートされる。
次に、図9の負荷分散システムの動作について、図7のシステムと相異する点を中心に、図10のフローチャートを参照して説明する。まずサーバ構成管理部451は、WEBサーバ計算機グループを指定する変数iを初期値1に設定する(ステップS61)。次にサーバ構成管理部451は、負荷分散装置12内の計算機負荷情報取得部120から、WEBサーバ計算機グループ40-i(#i)に属する、WEBサーバ計算機を含む、現在負荷分散の対象となっている各計算機(負荷分散対象計算機)の負荷情報(計算機負荷情報)を取得し、当該グループ40-i(#i)全体の負荷量NSを求める(ステップS62)。またサーバ構成管理部451は、WEBサーバ計算機グループ40-i(#i)に属する、WEBサーバ計算機内の計算機負荷情報取得部を含む、各負荷分散対象計算機内の計算機負荷情報取得部から、当該負荷分散対象計算機の負荷情報を取得し、当該グループ40-i(#i)全体の負荷量NCを求める(ステップS63)。このステップS62及びS63の処理は、変数iで指定されるグループ#i全体の負荷量NS及びNCを求める点で、システム全体の負荷量NS及びNCを求める図8中のステップS41及びS42とは異なる。
サーバ構成管理部451はグループ40-i(#i)全体の負荷量NS及びNCを求めると、ステップS64に進む。このステップS64においてサーバ構成管理部451は、テーブル451aのグループ40-i(#i)のエントリを参照して、当該グループ40-i(#i)の現在の負荷量NSに対応する計画使用プロビジョニングノード計算機数n1を決定する。同様にサーバ構成管理部451は、テーブル451aのグループ40-i(#i)のエントリ内容をもとに、グループ40-i(#i)の現在の負荷量NCに対応する計画使用プロビジョニングノード計算機数n2を決定する。次にサーバ構成管理部451は、グループ40-i(#i)の負荷量NS及びNCにそれぞれ対応する計画使用プロビジョニングノード計算機数n1及びn2を比較し、多い方を、実際に使用する計画使用プロビジョニングノード計算機数として選択する。
ステップS64以降の動作は、図8中のステップS43以降の動作とほぼ同様である。但し、本実施形態では、以下の動作が異なる。まず、WEBサーバ計算機グループ40-i(#i)のスパイク状態の負荷が発生したものとする。この場合、その負荷を低減するために、少なくとも1台のプロビジョニングノード計算機が、使用を開始するプロビジョニングノード計算機としてプロビジョニングノード管理部152によって当該グループ40-i(#i)に割り当てられる(ステップS69)。すると本実施形態では、プロビジョニングノード管理部152からプロビジョニングノードブートイメージ選択部455に制御が渡される。これを受けてプロビジョニングノードブートイメージ選択部455は、グループ40-i(#i)に割り当てられたプロビジョニングノード計算機を、当該グループ40-i(#i)に固有のブートイメージ#iが保存されているディスクDiと対応付ける。つまりプロビジョニングノードブートイメージ選択部455は、グループ40-i(#i)に割り当てられたプロビジョニングノード計算機をブートすべきブートイメージ#i(ブートイメージ#iが保存されているディスクDi)を選択する(ステップS70)。
使用を開始するプロビジョニングノード計算機をブートすべきブートイメージ#iが、プロビジョニングノードブートイメージ選択部455により選択されると、プロビジョニングノード起動/停止部153が動作する。プロビジョニングノード起動/停止部153は、プロビジョニングノード計算機15-1乃至15-4のうち、プロビジョニングノード管理部152によって割り当てられたプロビジョニングノード計算機を起動する(ステップS71)。この起動されたプロビジョニングノード計算機は、プロビジョニングノードブートイメージ選択部455のテーブル操作によって、当該計算機をブートすべきブートイメージ#iが保存されたディスクDiと対応付けられている。つまり、起動されたプロビジョニングノード計算機をブートすべきブートイメージ#iは、プロビジョニングノードブートイメージ選択部455によって選択されている。そこで、起動されたプロビジョニングノード計算機は、選択されたブートイメージ#iをディスクDiから読み出してブートを実行する。
プロビジョニングノード起動/停止部153によってプロビジョニングノード計算機が起動されると、設定変更部154は、当該起動されたプロビジョニングノード計算機がWEBサーバ計算機グループ40-i(#i)に属し、且つ当該グループ40-i(#i)内の他の計算機と共に負荷分散の対象計算機となるように、負荷分散装置12を制御する(ステップS72)。ここで、ステップS71及びS72の順番は逆でも構わない。
サーバ構成管理部451は、設定変更部154の制御により負荷分散装置12による負荷分散の対象が変更されると、一定時間を待った後(ステップS66)、処理対象となるWEBサーバ計算機グループを切り替える(ステップS67)。WEBサーバ計算機グループがグループ#1乃至#3の3グループの本実施形態では、現在のグループがグループ#1であればグループ#2に、グループ#2であればグループ#3に、そしてグループ#3であればグループ#1に、それぞれ切り替えられる。そして、切り替え後のWEBサーバ計算機グループを対象に、ステップS62から処理が繰り返される。
このように本実施形態においては、システム内の各WEBサーバ計算機で実行されるブートイメージの種類によって、当該WEBサーバ計算機が、WEBサーバ計算機グループ40-1(#1)乃至40-3(#3)にグループ分けされる。そして、グループ40-1(#1)乃至40-3(#3)のうちのいずれかのグループ40-i(#i)でスパイク状態の負荷が発生した場合に、プロビジョニングノード計算機15-1乃至15-4の中から選択されたプロビジョニングノード計算機に、当該グループ40-i(#i)に固有のブートイメージ#i(ブートイメージ#iが保存されたディスクD1)が対応付けられる。これにより、選択されたプロビジョニングノード計算機をグループ40-i(#i)に属する負荷分散対象計算機として起動することができる。このため、プロビジョニングノード計算機15-1乃至15-4を有効に利用できる。
[第4の実施形態の変形例]
図9のシステムでは、ストレージ装置47内のディスクDiを使用して、プロビジョニングノード計算機15-jをブートイメージ#iでブートする構成が適用されている。しかし、プロビジョニングノード計算機15-jをブートイメージ#iでブートするのに、ストレージ装置47内のディスクDiは必ずしも必要でない。そこで、ストレージ装置47内のディスクDiを使用しなくても、プロビジョニングノード計算機15-jをブートイメージ#iでブートすることを可能とする、第4の実施形態の変形例について、図15のブロック構成図を参照して説明する。なお、図9と等価な構成要素には同一符号を付してある。
図15では、WEBサーバ計算機41-11と、プロビジョニングノード計算機15-1とが入出力バス(外部入出力バス)51に接続されている。WEBサーバ計算機41-11は、WEBサーバ計算機グループ40-1に属する(図9参照)。図15では省略されているが、WEBサーバ計算機グループ40-1に属するWEBサーバ計算機41-11以外のサーバ計算機、他のWEBサーバ計算機グループ40-2及び40-3に属する各サーバ計算機、及びプロビジョニングノード計算機15-1以外のプロビジョニングノード計算機も入出力バス51に接続されている。
計算機41-11及び15-1は、それぞれ、CPU52a及び52bと、ローカルディスク(ローカルディスクドライブ)53a及び53bと、入出力バス(内部入出力バス)54a及び54bとを備えている。計算機41-11内のローカルディスク53aには、当該計算機41-11をブートするのに用いられる、WEBサーバ計算機グループ40-1(#1)に固有のブートイメージ#1が保存されている。CPU52aとローカルディスク53aとは入出力バス54aによって相互接続され、CPU52bとローカルディスク53bとは入出力バス54bによって相互接続されている。また、ローカルディスク53a及び53bは入出力バス51と接続されている。また、入出力バス54a及び54bも入出力バス51と接続されている。
今、図15中のプロビジョニングノード計算機15-1が、図9に示されているWEBサーバ計算機グループ40-1に割り当てられたものとする。この場合、図9に示されているプロビジョニングノードブートイメージ選択部455は、グループ40-1に属するWEBサーバ計算機41-11乃至41-1pのうちのいずれかのサーバ計算機、例えばWEBサーバ計算機41-11に対し、プロビジョニングノード計算機15-1へのブートイメージのコピーを要求する。このことは、プロビジョニングノード計算機15-1をブートするためのブートイメージとして、グループ40-1に属するWEBサーバ計算機41-11内のローカルディスク53aに保存されているブートイメージ#1が選択されたことを表す。このときプロビジョニングノード計算機15-1は未だ起動されていない。
WEBサーバ計算機41-11内のCPU52aは、プロビジョニングノードブートイメージ選択部455からのコピー要求に従い、当該計算機41-11内のローカルディスク53aに保存されているブートイメージ#1を読み出して、入出力バス51を介してプロビジョニングノード計算機15-1のローカルディスク53bにコピーする。このWEBサーバ計算機41-11内のCPU52aのコピー動作によって、プロビジョニングノード計算機15-1が起動されていない状況でも、当該プロビジョニングノード計算機15-1のローカルディスク53bにブートイメージ#1をコピーできる。クラスタ計算機やブレードサーバ計算機の多くは、このような機能を持っている。
さて、上述のブートイメージ#1のコピーが完了すると、図9に示されているプロビジョニングノード起動/停止部153はプロビジョニングノード計算機15-1を起動する。するとプロビジョニングノード計算機15-1は、自身のローカルディスク53bにコピーされているブートイメージ#1を用いて自身をブートする。更に詳細に述べるならば、プロビジョニングノード計算機15-1内のCPU52bは、入出力バス54bを介して、ローカルディスク53bから当該ディスク53bにコピーされているブートイメージ#1を読み出してブートする。なお、図15では、計算機41-11及び15-1の内部にそれぞれ入出力バス54a及び54bが設けられると共に、計算機41-11及び15-1の外部に入出力バス51が設けられている。しかし、このようなバス構成は一例である。要するに、ブートイメージが保存されたローカルディスク53aを有する計算機41-11が、起動状態にない計算機15-1に含まれているローカルディスク53bに対して、ブートイメージ(データ)を直接または間接にコピーできさえすればよい。
[第5の実施形態]
図16は本発明の第5の実施形態に係る負荷分散システムの構成を示すブロック図である。なお、図9と等価な構成要素には同一符号を付してある。この図16のシステムの特徴は、複数、例えば4つの異なる運用母体(例えば、異なる会社)のWEBサーバサイト50-1乃至50-4を備えると共に、当該WEBサーバサイト50-1乃至50-4で共通に利用可能な予備のサイト(以下、共有プロビジョニングノード計算機サイトと称する)60を備えた点にある。
WEBサーバサイト50-1は、図9のシステムからプロビジョニングノード計算機15-1乃至15-4、SAN46及びストレージ装置47-1乃至47-3を除いた構成要素と同様の要素を備えている。即ちWEBサーバサイト50-1は、負荷分散装置12と、例えば3つのWEBサーバ計算機グループ40-1乃至40-3と、図9中の管理サーバ計算機45に相当する管理サーバ計算機55とを備えている。管理サーバ計算機55上では管理サーバ550が動作する。管理サーバ550は、サーバ構成管理部551及び設定変更部154を含む。残りのWEBサーバサイト50-2乃至50-4もWEBサーバサイト50-1と同様の構成(図示せず)を備えている。なお、各WEBサーバサイト50-1乃至50-4における、WEBサーバ計算機グループの数、当該グループ内のWEBサーバ計算機の数等は等しいとは限らない。但し、本実施形態では説明を簡略化するために、WEBサーバサイト50-1乃至50-4内の各WEBサーバ計算機グループは、ブートイメージ#1乃至#3のいずれかに対応するものとする。
管理サーバ550内のサーバ構成管理部551は、図9中のサーバ構成管理部451と同様に、WEBサーバ計算機グループ40-i(#i)全体の負荷量NS及びNCを求める機能を有する。またサーバ構成管理部551は、図9中のサーバ構成管理部451と同様に、図12に示したデータ構造のテーブル451aと負荷量NS及びNCとに基づいて、使用を開始または使用を停止すべきプロビジョニングノード計算機の数を決定する機能を有する。サーバ構成管理部551は更に、自身が決定した数のプロビジョニングノード計算機の使用開始または使用停止を、共有プロビジョニングノード計算機サイト60の後述する管理サーバ650に依頼(要求)する機能を有する。
一方、共有プロビジョニングノード計算機サイト60は、プロビジョニングノード計算機15-1乃至15-4と、ストレージ装置47とを備えている。ストレージ装置47は、図9のシステムで用いられる場合と同様に、ブートイメージ#1乃至#3が保存されたディスクD1乃至D3と、テーブル470を保持するデータベースとを備えている。プロビジョニングノード計算機15-1乃至15-4とストレージ装置47とはSAN46により相互接続されている。この構成により、プロビジョニングノード計算機15-1乃至15-4のうちの任意のプロビジョニングノード計算機を、ブートイメージ#1乃至#3のうちのいずれかでブートできる。
プロビジョニングノード計算機15-1乃至15-4は、ネットワーク70により、WEBサーバサイト50-1に設けられた負荷分散装置12、管理サーバ計算機55、及びWEBサーバ計算機グループ40-1乃至40-3(グループ40-1乃至40-3内の各WEBサーバ計算機)とも接続されている。また、プロビジョニングノード計算機15-1乃至15-4は、ネットワーク70により、他のWEBサーバサイト50-2乃至50-4に設けられた負荷分散装置、管理サーバ計算機及びWEBサーバ計算機グループ(いずれも図示せず)とも接続されている。これにより、任意のプロビジョニングノード計算機を、任意のWEBサーバサイト内の任意のWEBサーバ計算機グループに属する負荷分散対象計算機として割り当てることもできる。
そこで、共有プロビジョニングノード計算機サイト60には、各運用母体のWEBサーバサイト50-1乃至50-4からのプロビジョニングノード使用開始依頼(使用開始要求)及び使用終了依頼(使用終了要求)を処理するための管理サーバ計算機65が設けられている。この管理サーバ計算機65もネットワーク70及びSAN46に接続されている。管理サーバ計算機65上では、プロビジョニングノード使用開始依頼及び使用終了依頼を処理する機能を有する管理サーバ650が動作する。管理サーバ650は、プロビジョニングノード管理部652、プロビジョニングノード起動/停止部153、及びプロビジョニングノードブートイメージ選択部455の各機能要素を含む。
プロビジョニングノード管理部652は、プロビジョニングノード計算機15-1乃至15-4の使用状況を管理する機能を有する。プロビジョニングノード管理部652はまた、WEBサーバサイト50-1乃至50-4からのプロビジョニングノード使用開始依頼または使用終了依頼を受け付け、その依頼を処理するためにプロビジョニングノード起動/停止部153、更にはプロビジョニングノードブートイメージ選択部455を制御する機能を有する。
プロビジョニングノード管理部652は、図19に示すデータ構造のプロビジョニングノード計算機利用レコードファイル652aを保持している。このレコードファイル652aには、プロビジョニングノード計算機利用レコードが保存される。各レコードには、WEBサーバサイト50-1乃至50-4からの要求で起動されたプロビジョニングノード計算機の利用状況を示す情報が記録される。具体的には、プロビジョニングノード計算機利用レコードは、項目(フィールド)81乃至84を含む。項目81は、プロビジョニングノード計算機が起動された時刻(つまり起動開始時刻)を記録するのに用いられる。項目82は、プロビジョニングノード計算機が停止された時刻(つまり起動終了時刻)を記録するのに用いられる。この項目81及び82にそれぞれ記録される起動開始時刻及び起動終了時刻により、プロビジョニングノード計算機が起動している時間(起動時間)が示される。項目83は、プロビジョニングノード計算機を識別するための情報、例えばプロビジョニングノード識別子を記録するのに用いられる。項目84は、項目83に記録される識別子で示されるプロビジョニングノードを使用したWEBサーバサイトの情報を記録するのに用いられる。なお、レコードファイル652aに保存される各レコードには、図19に示した形式以外にも、ログ形式等、様々な形式を用いることができる。また、起動開始時刻と起動終了時刻の情報を、別のレコードとして記録することも可能である。また、プロビジョニングノード計算機が起動している時間の代わりに、プロビジョニングノード計算機が停止している時間(停止時間)を表す情報がレコードに記録される構成としてもよい。
次に、図16の負荷分散システムの動作について、図9のシステムと相異する点を中心に、図17及び図18のフローチャートを参照して説明する。WEBサーバサイト50-1の管理サーバ計算機55上で動作するサーバ構成管理部551は、まず図10中のステップS61乃至S65と同様の処理(ステップS81乃至S85)を実行する。即ちサーバ構成管理部551は、変数iを初期値1に設定した後(ステップS81)、当該変数iにより指定されるWEBサーバ計算機グループ40-i(#i)全体の負荷量NS及びNCを求める(ステップS82,S83)。次にサーバ構成管理部551は、テーブル451aを参照して、グループ40-i(#i)の現在の負荷量NS及びNCにそれぞれ対応する計画使用プロビジョニングノード計算機数n1及びn2を決定する(ステップS83)。このステップS83において、サーバ構成管理部551は、負荷量NS及びNCにそれぞれ対応する計画使用プロビジョニングノード計算機数n1及びn2のうち、計算機数が多い方を、実際に使用する計画使用プロビジョニングノード計算機数として選択する。次にサーバ構成管理部551は、選択した計画使用プロビジョニングノード計算機数と、現在使用中のプロビジョニングノード計算機数とを比較する(ステップS85)。この現在使用中のプロビジョニングノード計算機数は、共有プロビジョニングノード計算機サイト60のプロビジョニングノード管理部652によって管理されている。
もし、両計算機数が等しいならば、サーバ構成管理部551は一定時間を待った後(ステップS86)、変数iを操作してWEBサーバ計算機グループを切り替える(ステップS87)。これにより、切り替え後のWEBサーバ計算機グループを対象に、ステップS82から処理が繰り返される。
これに対し、計画使用プロビジョニングノード計算機数の方が多いならば(ステップS85)、サーバ構成管理部551は、新たにプロビジョニングノード計算機を負荷分散の対象計算機として割り当てる必要があると判断する。この場合、サーバ構成管理部551は、共有プロビジョニングノード計算機サイト60に設けられた、プロビジョニングノード計算機管理のための管理サーバ計算機65上の管理サーバ650に、上記両計算機数の差分Ndの数のプロビジョニングノード計算機の使用開始をネットワーク70を介して依頼する(ステップS88)。
また、計画使用プロビジョニングノード計算機数の方が現在使用中のプロビジョニングノード計算機の数より少ないならば(ステップS85)、サーバ構成管理部551は、両計算機数の差分Ndの数のプロビジョニングノード計算機の使用を終了させる必要があると判断する。この場合、サーバ構成管理部551は、管理サーバ計算機65上の管理サーバ650に、上記Ndの数のプロビジョニングノード計算機の使用終了をネットワーク70を介して依頼する(ステップS91)。
さて、管理サーバ650内のプロビジョニングノード管理部652は、WEBサーバサイト50-1乃至50-4からの依頼(プロビジョニングノード計算機の使用開始または使用終了の依頼)を待っている(ステップS101)。このような状態で、プロビジョニングノード管理部652が、例えばWEBサーバサイト50-1に設けられた管理サーバ計算機55上の管理サーバ550からの依頼を受信したものとする。この場合、プロビジョニングノード管理部652は、受信した依頼の種類が、プロビジョニングノード計算機の使用開始依頼であるか、或いは使用終了依頼であるかを判別する(ステップS102)。
もし、プロビジョニングノード計算機の使用開始依頼である場合、プロビジョニングノード管理部652は、プロビジョニングノード計算機15-1乃至15-4の中に、使用可能なプロビジョニングノード計算機が存在するか否かを調べる(ステップS103)。もし、使用可能なプロビジョニングノード計算機が存在するならば、プロビジョニングノード管理部652は、プロビジョニングノード計算機を使用を開始する計算機として割り当てる(ステップS104)。
管理サーバ650内のプロビジョニングノードブートイメージ選択部455は、プロビジョニングノード管理部652によって割り当てられたプロビジョニングノード計算機を、ブートイメージ#iが保存されているディスクDiと対応付ける。つまりプロビジョニングノードブートイメージ選択部455は、プロビジョニングノード管理部652によって割り当てられたプロビジョニングノード計算機をブートすべきブートイメージ#i(ブートイメージ#iが保存されているディスクDi)を選択する(ステップS105)。すると、管理サーバ650内のプロビジョニングノード起動/停止部153が動作する。プロビジョニングノード起動/停止部153は、プロビジョニングノード計算機15-1乃至15-4のうち、プロビジョニングノード管理部652によって割り当てられたプロビジョニングノード計算機を起動する(ステップS106)。この起動されたプロビジョニングノード計算機は、プロビジョニングノードブートイメージ選択部455によって、当該計算機をブートすべきブートイメージ#iが保存されたディスクDiと対応付けられている。そこで、起動されたプロビジョニングノード計算機は、当該計算機と対応付けられているディスクDiに保存されたブートイメージ#iを読み出してブートを実行する。
プロビジョニングノード管理部652は、使用を開始する計算機として割り当てたプロビジョニングノード計算機が起動されると、プロビジョニングノード計算機利用レコードファイル652aに、その際の時刻である起動開始時刻と、起動されたプロビジョニングノード計算機の識別子(プロビジョニングノード識別子)と、当該プロビジョニングノード計算機を使用するWEBサーバサイト(ここではWEBサーバサイト50-1)を示す情報とが記録されたレコードを保存する(ステップS107)。ここで、WEBサーバサイトを示す情報には、当該サイトのドメイン名が用いられる。このドメイン名とIP(Internet Protocol)アドレスとは、図示せぬDNS(Domain Name System)によって対応付けられる。
プロビジョニングノード管理部652はステップS107を実行すると、WEBサーバサイト50-1の管理サーバ550からの依頼(プロビジョニングノード計算機の使用開始依頼)に対する処理の結果を、当該管理サーバ550にネットワーク70を介して通知する(ステップS108)。
一方、使用可能なプロビジョニングノード計算機が存在しないならば(ステップS103)、プロビジョニングノード管理部652は、その旨を、プロビジョニングノード計算機の使用開始の依頼元(WEBサーバサイト50-1の管理サーバ550)に通知する(ステップS108)。
また、WEBサーバサイト50-1の管理サーバ550からの依頼が、プロビジョニングノード計算機の使用終了依頼であるならば(ステップS102)、プロビジョニングノード管理部652は、現在使用中のプロビジョニングノード計算機の中から、使用を終了させるプロビジョニングノード計算機を決定する(ステップS109)。プロビジョニングノード起動/停止部153は、プロビジョニングノード管理部652によって使用終了が決定されたプロビジョニングノード計算機を停止する(ステップS110)。するとプロビジョニングノード管理部652は、レコードファイル652aの中から、停止されたプロビジョニングノード計算機の識別子が記録され、且つ起動終了時刻の項目82が空欄となっているレコードを検索し、当該レコード中の項目82に現在時刻を起動終了時刻として記録する(ステップS111)。そしてプロビジョニングノード管理部652は、WEBサーバサイト50-1の管理サーバ550からの依頼(プロビジョニングノード計算機の使用終了依頼)に対する処理の結果を、当該管理サーバ550にネットワーク70を介して通知する(ステップS108)。
WEBサーバサイト50-1の管理サーバ550内のサーバ構成管理部551は、共有プロビジョニングノード計算機サイト60の管理サーバ650に対してプロビジョニングノード計算機使用開始を依頼した場合(ステップS88)、当該管理サーバ650内のプロビジョニングノード管理部652から処理の結果が通知されるのを待つ。そして、プロビジョニングノード計算機使用開始依頼に対する結果が通知されると、サーバ構成管理部551は、その結果から依頼が成功したか否かを判定する(ステップS89)。もし、成功ならば、プロビジョニングノード管理部652は設定変更部154に制御を渡す。すると設定変更部154は、プロビジョニングノード計算機使用開始依頼に応じて起動されたプロビジョニングノード計算機が、WEBサーバ計算機グループ40-i(#i)内での負荷分散の対象となる負荷分散対象計算機として追加されるように、負荷分散装置12を制御する(ステップS90)。
このように本実施形態においては、4つの異なる運用母体のWEBサーバサイト50-1乃至50-4は、共有プロビジョニングノード計算機サイト(予備サイト)60のプロビジョニングノード計算機を利用することができる。また、レコードファイル652aを、プロビジョニングノード計算機を利用した運用母体に対する課金等の情報に適用することができる。
本実施形態では、各WEBサーバサイト50-1乃至50-4内の複数のWEBサーバ計算機が、当該計算機で実行されるブートイメージの種類毎にグループ分けして管理されることを前提としている。しかし、各WEBサーバサイト50-1乃至50-4において、当該サーバサイト内の全てのWEBサーバ計算機がいずれも同じ種類のブートイメージを実行する構成であっても構わない。この場合、各WEBサーバサイト50-1乃至50-4内のWEBサーバ計算機のグループ分けは不要となる。また、いずれのWEBサーバサイト50-1乃至50-4のWEBサーバ計算機も同じ種類のブートイメージを実行する構成であるならば、共有プロビジョニングノード計算機サイト60内のストレージ装置47及びプロビジョニングノードブートイメージ選択部455も不要となる。また、専用の負荷分散装置12に代えて、DNS(Domain Name System)のラウンドロビン機能を負荷分散装置として利用することも可能である。このことは、第1乃至第4の実施形態で適用された負荷分散装置についても同様である。DNSラウンドロビン機能とは、ドメイン名とIPアドレスを対応付けるDNSを応用して、アクセスの多いサーバの負荷分散を行う機能である。具体的には、1つのドメイン名に複数のIPアドレスを割り当てて、問い合わせがある度に順番に答えることにより、1台の計算機へアクセスが集中するのを防ぐ機能である。
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
本発明の第1の実施形態に係る負荷分散システムの構成を示すブロック図。 同第1の実施形態の動作を説明するためのフローチャート。 本発明の第2の実施形態に係る負荷分散システムの構成を示すブロック図。 同第2の実施形態の動作を説明するためのフローチャート。 図1中のテーブル151aのデータ構造例を示す図。 図3中のテーブル251aデータ構造例を示す図。 本発明の第3の実施形態に係る負荷分散システムの構成を示すブロック図。 同第3の実施形態の動作を説明するためのフローチャート。 本発明の第4の実施形態に係る負荷分散システムの構成を示すブロック図。 同第4の実施形態の動作を説明するためのフローチャート。 図7中のテーブル351aのデータ構造例を示す図。 図9中のテーブル451aのデータ構造例を示す図。 図9中のテーブル470のデータ構造例を示す図。 図13に示す状態のテーブル470に、ディスクD1の識別子(D1)に対応付けて、プロビジョニングノード計算機15-1及び15-2の識別子(P1及びP2)が追加された状態を示す図。 本発明の第4の実施形態の変形例を示すブロック構成図。 本発明の第5の実施形態に係る負荷分散システムの構成を示すブロック図。 同第5の実施形態におけるWEBサーバサイトの動作を説明するためのフローチャート。 同第5の実施形態における共有プロビジョニングノード計算機サイトの動作を説明するためのフローチャート。 図13中のレコードファイル652aのデータ構造例を示す図。
符号の説明
11-1〜11-6,21-1〜21-6,41-11〜41-1p,41-21〜41-2q,41-31〜41-3r…WEBサーバ計算機、12,22…負荷分散装置、15,25,35,45,55…管理サーバ計算機、15-1〜15-4…プロビジョニングノード計算機(予備計算機)、40-1〜40-3…WEBサーバ計算機グループ、47…ストレージ装置、50-1〜50-4…WEBサーバサイト、53a,53b…ローカルディスク(ブートイメージ記憶手段)、60…共有プロビジョニングノード計算機サイト(予備サイト)、70…ネットワーク、120…計算機負荷情報取得部、150,250,350,450,550…管理サーバ、151,251,351,451,551…サーバ構成管理部、151a,251a,351a,451a,470…テーブル、152,652…プロビジョニングノード管理部(予備計算機管理手段)、153…プロビジョニングノード起動/停止部(予備計算機起動/停止手段)、154…設定変更部、455…ブートイメージ選択部、652a…プロビジョニングノード計算機利用レコードファイル、F1〜F6,F11〜F1p,F21〜F2q,F31〜F3r…計算機負荷情報取得部、D1〜D3…ディスク(ディスクドライブ、ブートイメージ記憶手段)。

Claims (19)

  1. 複数のクライアント計算機からのリクエストを処理する複数のサーバ計算機であって、当該サーバ計算機が実行するオペレーティングシステムを含むブートイメージの種類の相異により複数のサーバ計算機グループに分けて管理される複数のサーバ計算機と、
    前記複数のクライアント計算機からのリクエストを前記複数のサーバ計算機を含む複数の負荷分散対象計算機に分配する負荷分散装置と、
    負荷分散対象計算機として用いることが可能な予備計算機であって、当該負荷分散対象計算機として用いられる際に起動される予備計算機と、
    前記複数のサーバ計算機グループ各々のグループを単位に、前記複数のサーバ計算機のうちの当該グループ内のサーバ計算機を含む全ての負荷分散対象計算機の負荷量に基づいて、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定するサーバ構成管理手段と、
    前記予備計算機の使用状況を管理する予備計算機管理手段であって、前記グループを単位に前記サーバ構成管理手段によって決定された台数の、当該グループで新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機を決定する予備計算機管理手段と、
    前記予備計算機管理手段によって決定された予備計算機を起動または停止する予備計算機起動/停止手段と、
    前記予備計算機管理手段によって決定された予備計算機を、前記負荷分散装置による負荷分散の対象となる負荷分散対象計算機として追加する、または前記負荷分散装置による負荷分散の対象から除外する設定変更手段と、
    前記複数種類のブートイメージの中から、前記予備計算機管理手段によって決定された予備計算機をブートすべきブートイメージとして、当該決定された予備計算機が前記負荷分散対象計算機として使用を開始されるサーバ計算機グループに固有のブートイメージを選択するブートイメージ選択手段と
    を具備し、
    前記予備計算機は、前記予備計算機起動/停止手段によって起動された場合、前記ブートイメージ選択手段によって選択されたブートイメージでブートされる
    ことを特徴とする負荷分散システム。
  2. 前記複数種類のブートイメージをそれぞれ個別に記憶する複数のブートイメージ記憶手段と、
    前記複数のブートイメージ記憶手段の各々と当該ブートイメージ記憶手段に記憶されているブートイメージでブートされる計算機とを対応付ける情報を記憶する対応情報記憶手段と
    を更に具備し、
    前記ブートイメージ選択手段は、前記複数のブートイメージ記憶手段のうち、前記予備計算機管理手段によって決定された予備計算機が前記負荷分散対象計算機として使用されるサーバ計算機グループに固有のブートイメージが記憶されたブートイメージ記憶手段に、前記予備計算機管理手段によって決定された予備計算機を、前記対応情報記憶手段によって対応付けることにより、当該予備計算機をブートすべきブートイメージを選択し、
    前記予備計算機は、前記予備計算機起動/停止手段によって起動された場合、前記ブートイメージ選択手段によって選択されたブートイメージである、前記対応情報記憶手段によって当該予備計算機と対応付けられているブートイメージ記憶手段からブートイメージを読み出して自身をブートする
    ことを特徴とする請求項1記載の負荷分散システム。
  3. 前記複数のサーバ計算機及び前記予備計算機は、それぞれ、自身をブートするのに用いられるブートイメージを記憶するブートイメージ記憶手段を有し、
    前記ブートイメージ選択手段は、前記予備計算機管理手段によって決定された予備計算機が前記負荷分散対象計算機として使用を開始されるサーバ計算機グループ内の任意のサーバ計算機に対し、当該任意の計算機が有する前記ブートイメージ記憶手段から前記予備計算機管理手段によって決定された予備計算機へのブートイメージのコピーを要求することにより、当該予備計算機をブートすべきブートイメージを選択し、
    前記複数のサーバ計算機の各々は、前記ブートイメージ選択手段によってコピーが要求された場合、当該ブートイメージ選択手段によって選択されたブートイメージである、自身が有する前記ブートイメージ記憶手段に記憶されているブートイメージを、前記予備計算機管理手段によって決定された予備計算機が有する前記ブートイメージ記憶手段にコピーする
    ことを特徴とする請求項1記載の負荷分散システム。
  4. 前記複数のサーバ計算機グループに分けて管理される前記複数のサーバ計算機、前記負荷分散装置、前記サーバ構成管理手段及び前記設定変更手段の組をそれぞれ備えた複数のサーバサイトと、
    前記予備計算機、前記予備計算機管理手段、前記予備計算機起動/停止手段、前記ブートイメージ選択手段及び前記複数のブートイメージ記憶手段の組を備えた予備サイトと、
    前記複数のサーバサイトと前記予備サイトとを接続するネットワークと
    を更に具備し、
    前記複数のサーバサイトの各々にそれぞれ含まれている前記サーバ構成管理手段は、前記サーバ計算機グループを単位に、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定した場合、当該グループでの予備計算機の使用開始または使用終了を前記予備サイトに前記ネットワークを介して要求し、
    前記予備サイト内の前記予備計算機管理手段は、前記サーバサイト内の前記サーバ構成管理手段からの予備計算機の使用開始または使用終了の要求に応じて、当該サーバ構成管理手段によって決定された台数の予備計算機であって、当該サーバ構成管理手段が存在するサーバサイト内の、当該サーバ構成管理手段から要求されたグループで新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機を決定する
    ことを特徴とする請求項1記載の負荷分散システム。
  5. 前記予備サイト内の前記予備計算機管理手段は、前記複数のサーバサイトにそれぞれ含まれている前記サーバ構成管理手段によって決定された台数の予備計算機が起動または停止された場合に、当該予備計算機の起動時刻または停止時刻を表す情報、当該予備計算機を表す情報及び当該サーバサイトを表す情報の組を記録することを特徴とする請求項4記載の負荷分散システム。
  6. 複数のクライアント計算機からのリクエストを処理する複数のサーバ計算機と、
    前記複数のクライアント計算機からのリクエストを前記複数のサーバ計算機を含む複数の負荷分散対象計算機に分配する負荷分散装置と、
    負荷分散対象計算機として用いることが可能な予備計算機であって、当該負荷分散対象計算機として用いられる際に起動される予備計算機と、
    前記複数のサーバ計算機を含む全ての負荷分散対象計算機の負荷量に基づいて、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定するサーバ構成管理手段と、
    前記予備計算機の使用状況を管理する予備計算機管理手段であって、前記サーバ構成管理手段によって決定された台数の、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機を決定する予備計算機管理手段と、
    前記予備計算機管理手段によって決定された予備計算機を起動または停止する予備計算機起動/停止手段と、
    前記予備計算機管理手段によって決定された予備計算機を、前記負荷分散装置による負荷分散の対象となる負荷分散対象計算機として追加する、または前記負荷分散装置による負荷分散の対象から除外する設定変更手段と
    を具備することを特徴とする負荷分散システム。
  7. 前記サーバ構成管理手段と、前記予備計算機管理手段と、前記予備計算機起動/停止手段と、前記設定変更手段とが、前記複数のサーバ計算機及び前記予備計算機から独立した管理サーバ計算機で動作することを特徴とする請求項6記載の負荷分散システム。
  8. 前記複数のサーバ計算機は、当該複数のサーバ計算機のうちのいずれかで障害が発生した場合に、その障害が発生した計算機で実行されていた業務を他のいずれかのサーバ計算機に引き継ぐことが可能なクラスタシステムを構成しており、
    前記サーバ構成管理手段と、前記予備計算機管理手段と、前記予備計算機起動/停止手段と、前記設定変更手段とは、前記クラスタシステム内の前記複数のサーバ計算機のうちのいずれかの計算機で動作し、且つ当該計算機で障害が発生した場合に他のサーバ計算機への引き継ぎの対象となる
    ことを特徴とする請求項6記載の負荷分散システム。
  9. 前記負荷分散装置は、当該負荷分散装置による負荷分散の対象となっている前記複数のサーバ計算機を含む負荷分散対象計算機で処理されているリクエストの数に対応した負荷量を示す計算機負荷情報を取得する負荷情報取得手段を含み、
    前記サーバ構成管理手段は、前記負荷分散装置に含まれている前記負荷情報取得手段により取得された計算機負荷情報から負荷分散対象計算機全体の負荷量を求め、当該負荷分散対象計算機全体の負荷量に基づいて、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定する
    ことを特徴とする請求項6記載の負荷分散システム。
  10. 前記複数のサーバ計算機及び前記予備計算機は、それぞれ、自身が実行しているリクエストの処理に対応した負荷量を示す計算機負荷情報を取得する負荷情報取得手段を含み、
    前記サーバ構成管理手段は、前記複数のサーバ計算機及び前記予備計算機のうち、負荷分散対象計算機として前記負荷分散装置による負荷分散の対象となっている計算機に含まれている前記負荷情報取得手段により取得された計算機負荷情報から負荷分散対象計算機全体の負荷量を求め、当該負荷分散対象計算機全体の負荷量に基づいて、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定する
    ことを特徴とする請求項6記載の負荷分散システム。
  11. 前記負荷分散装置は、当該負荷分散装置による負荷分散の対象となっている前記複数のサーバ計算機を含む負荷分散対象計算機で処理されているリクエストの数に対応した負荷量を示す第1の計算機負荷情報を取得する第1の負荷情報取得手段を含み、
    前記複数のサーバ計算機及び前記予備計算機は、それぞれ、自身が実行しているリクエストの処理に対応した負荷量を示す第2の計算機負荷情報を取得する第2の負荷情報取得手段を含み、
    前記サーバ構成管理手段は、前記負荷分散装置に含まれている前記第1の負荷情報取得手段により取得された前記第1の計算機負荷情報から負荷分散対象計算機全体の負荷量を求めて、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の第1の台数を決定すると共に、前記複数のサーバ計算機及び前記予備計算機のうち、負荷分散対象計算機として前記負荷分散装置による負荷分散対象となっている計算機に含まれている前記第2の負荷情報取得手段により取得された前記第2の計算機負荷情報から負荷分散対象計算機全体の負荷量を求めて、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の第2の台数を決定し、当該第1及び第2の台数のうちのいずれか一方を、負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数として選択する
    ことを特徴とする請求項6記載の負荷分散システム。
  12. 前記複数のサーバ計算機、前記負荷分散装置、前記サーバ構成管理手段及び前記設定変更手段の組をそれぞれ備えた複数のサーバサイトと、
    前記予備計算機、前記予備計算機管理手段及び前記予備計算機起動/停止手段の組を備えた予備サイトと、
    前記複数のサーバサイトと前記予備サイトとを接続するネットワークとを更に具備し、
    前記複数のサーバサイトの各々にそれぞれ含まれている前記サーバ構成管理手段は、当該サーバサイト内の前記複数のサーバ計算機を含む全ての負荷分散対象計算機の負荷量に基づいて、当該サーバサイト内で新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定し、
    前記予備サイト内の前記予備計算機管理手段は、前記サーバ構成管理手段によって決定された台数の予備計算機であって、当該サーバ構成管理手段が存在するサーバサイト内で新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機を決定する
    ことを特徴とする請求項6記載の負荷分散システム。
  13. 前記予備サイト内の前記予備計算機管理手段は、前記複数のサーバサイトにそれぞれ含まれている前記サーバ構成管理手段によって決定された台数の予備計算機が起動または停止された場合に、当該予備計算機の起動時刻または停止時刻を表す情報、当該予備計算機を表す情報及び当該サーバサイトを表す情報の組を記録する
    ことを特徴とする請求項12記載の負荷分散システム。
  14. 複数のクライアント計算機からのリクエストを処理する複数のサーバ計算機と、前記複数のクライアント計算機からのリクエストを前記複数のサーバ計算機を含む複数の負荷分散対象計算機に分配する負荷分散装置と、前記負荷分散対象計算機として用いることが可能な予備計算機であって、当該負荷分散対象計算機として用いられる際に起動される予備計算機とを備えた負荷分散システムに適用され、前記システムでスパイク状態の負荷が発生した場合に新たな負荷分散対象計算機として予備計算機を割り当てるための計算機管理プログラムであって、
    計算機に、
    前記複数のサーバ計算機を含む全ての負荷分散対象計算機の負荷量に基づいて、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定するステップと、
    使用を開始すべき予備計算機の台数が決定された場合、当該決定された台数の、新たに負荷分散対象計算機として使用を開始すべき予備計算機を決定するステップと、
    使用を開始すべき予備計算機が決定された場合、当該決定された予備計算機を起動するステップと、
    使用を開始すべき予備計算機が決定された場合、当該決定された予備計算機を、前記負荷分散装置による負荷分散の対象となる負荷分散対象計算機として追加するステップと、
    使用を終了すべき予備計算機の台数が決定された場合、当該決定された台数の、負荷分散対象計算機としての使用を終了すべき予備計算機を決定するステップと、
    使用を終了すべき予備計算機が決定された場合、当該決定された予備計算機を停止するステップと、
    使用を終了すべき予備計算機が決定された場合、当該決定された予備計算機を、前記負荷分散装置による負荷分散の対象から除外するステップと
    を実行させるための計算機管理プログラム。
  15. 複数のクライアント計算機からのリクエストを処理する複数のサーバ計算機、及び複数のクライアント計算機からのリクエストを前記複数のサーバ計算機を含む複数の負荷分散対象計算機に分配する負荷分散装置の組をそれぞれ備えた複数のサーバサイトと、前記負荷分散対象計算機として用いることが可能な予備計算機であって、当該負荷分散対象計算機として用いられる際に起動される予備計算機を備えた予備サイトとがネットワークにより接続された負荷分散システムにおいて、前記複数のサーバサイトの各々に適用され、当該サーバサイト内でスパイク状態の負荷が発生した場合に、新たな負荷分散対象計算機として予備計算機を前記予備サイトから当該サーバサイトに割り当てさせるための計算機管理プログラムであって、
    前記サーバサイトに配置された計算機に、
    前記サーバサイト内の前記複数のサーバ計算機を含む全ての負荷分散対象計算機の負荷量に基づいて、当該サーバサイト内で新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定して、当該サーバサイト内での予備計算機の使用開始または使用終了を前記予備サイトに前記ネットワークを介して要求するステップと、
    前記予備サイトに対する使用開始の要求に応じ、当該予備サイトにおいて、要求元の前記サーバサイト内で負荷分散対象計算機として使用を開始すべき予備計算機が決定されて、当該決定された予備計算機が起動されたことが、当該予備サイトから前記サーバサイトに通知された場合に、当該通知された予備計算機を、当該サーバサイト内の前記負荷分散装置による負荷分散の対象となる負荷分散対象計算機として追加するステップと、
    前記予備サイトに対する使用終了の要求に応じ、当該予備サイトにおいて、要求元の前記サーバサイト内での負荷分散対象計算機としての使用を終了すべき予備計算機が決定されて、当該決定された予備計算機が停止されたことが、当該予備サイトから前記サーバサイトに通知された場合に、当該通知された予備計算機を、当該サーバサイト内の前記負荷分散装置による負荷分散の対象から除外するステップと
    を実行させるための計算機管理プログラム。
  16. 複数のクライアント計算機からのリクエストを処理する複数のサーバ計算機、及び複数のクライアント計算機からのリクエストを前記複数のサーバ計算機を含む複数の負荷分散対象計算機に分配する負荷分散装置の組をそれぞれ備えた複数のサーバサイトと、前記負荷分散対象計算機として用いることが可能な予備計算機であって、当該負荷分散対象計算機として用いられる際に起動される予備計算機を備えた予備サイトとがネットワークにより接続された負荷分散システムにおいて、前記予備サイトに適用され、前記サーバサイト内でスパイク状態の負荷が発生した場合に、当該サーバサイトからの要求に応じて新たな負荷分散対象計算機として予備計算機を前記予備サイトから当該サーバサイトに割り当てるための計算機管理プログラムであって、
    前記予備サイトに配置された計算機に、
    前記複数のサーバサイトの各々において、当該サーバサイト内の前記複数のサーバ計算機を含む全ての負荷分散対象計算機の負荷量に基づいて、当該サーバサイト内で新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数が決定された結果、当該サーバサイトから前記予備サイトに対して、当該サーバサイト内での予備計算機の使用開始または使用終了が前記ネットワークを介して要求された場合に、使用開始及び使用終了のいずれが要求されているかを判別するステップと、
    前記使用開始が要求されている場合、要求元のサーバサイト内で負荷分散対象計算機として使用を開始すべき予備計算機を決定するステップと、
    使用を開始すべき予備計算機が決定された場合、当該決定された予備計算機を起動するステップと、
    前記使用終了が要求されている場合、前記要求元のサーバサイト内で負荷分散対象計算機としての使用を終了すべき予備計算機を決定するステップと、
    使用を終了すべき予備計算機が決定された場合、当該決定された予備計算機を停止するステップと、
    前記予備サイトから前記要求元のサーバサイトに対し、当該サーバサイトからの前記使用開始または前記使用終了の要求に対する処理結果を通知するステップと
    を実行させるための計算機管理プログラム。
  17. 複数のクライアント計算機からのリクエストを処理する複数のサーバ計算機であって、当該サーバ計算機が実行するオペレーティングシステムを含むブートイメージの種類の相異により複数のサーバ計算機グループに分けて管理される複数のサーバ計算機と、前記複数のクライアント計算機からのリクエストを前記複数のサーバ計算機を含む複数の負荷分散対象計算機に分配する負荷分散装置と、前記負荷分散対象計算機として用いることが可能な予備計算機であって、当該負荷分散対象計算機として用いられる際に起動される予備計算機とを備えた負荷分散システムに適用され、前記サーバ計算機グループでスパイク状態の負荷が発生した場合に新たな負荷分散対象計算機として予備計算機を割り当てるための計算機管理プログラムであって、
    計算機に、
    前記複数のサーバ計算機グループ各々のグループを単位に、前記複数のサーバ計算機のうちの当該グループに属するサーバ計算機を含む全ての負荷分散対象計算機の負荷量に基づいて、当該グループ全体の負荷量を求めるステップと、
    前記複数のサーバ計算機グループ各々のグループを単位に、当該グループ全体の負荷量が求められた場合、当該負荷量に基づいて、当該グループで新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定するステップと、
    前記サーバ計算機グループでの使用を開始すべき予備計算機の台数が決定された場合、当該決定された台数の、当該グループで新たに負荷分散対象計算機として使用を開始すべき予備計算機を決定するステップと、
    前記計算機グループでの使用を開始すべき予備計算機が決定された場合、当該決定された予備計算機をブートすべきブートイメージとして、前記複数のサーバ計算機のうち当該グループに属するサーバ計算機で実行されている種類の当該グループに固有のブートイメージを選択するステップと、
    前記計算機グループでの使用を開始すべき予備計算機が決定され、且つ当該グループに固有のブートイメージが選択された場合、当該選択されたブートイメージでブートするように、当該決定された予備計算機を起動するステップと、
    前記計算機グループでの使用を開始すべき予備計算機が決定された場合、当該決定された予備計算機を、前記負荷分散装置による当該グループ内での負荷分散の対象となる負荷分散対象計算機として追加するステップと、
    前記サーバ計算機グループでの使用を終了すべき予備計算機の台数が決定された場合、当該決定された台数の、当該グループでの使用を終了すべき予備計算機を決定するステップと、
    前記計算機グループでの使用を終了すべき予備計算機が決定された場合、当該決定された予備計算機を停止するステップと、
    前記計算機グループでの使用を終了すべき予備計算機が決定された場合、当該決定された予備計算機を、前記負荷分散装置による当該グループ内での負荷分散の対象から除外するステップと
    を実行させるための計算機管理プログラム。
  18. 複数のクライアント計算機からのリクエストを処理する複数のサーバ計算機であって、当該サーバ計算機が実行するオペレーティングシステムを含むブートイメージの種類の相異により複数のサーバ計算機グループに分けて管理される複数のサーバ計算機、及び前記複数のクライアント計算機からのリクエストを前記複数のサーバ計算機を含む複数の負荷分散対象計算機に分配する負荷分散装置の組をそれぞれ含む複数のサーバサイトと、前記負荷分散対象計算機として用いることが可能な予備計算機であって、当該負荷分散対象計算機として用いられる際に起動される予備計算機を含む予備サイトとがネットワークにより接続された負荷分散システムにおいて、前記複数のサーバサイトの各々に適用され、当該サーバサイト内の前記サーバ計算機グループでスパイク状態の負荷が発生した場合に、新たな負荷分散対象計算機として予備計算機を前記予備サイトから当該グループに割り当てさせるための計算機管理プログラムであって、
    前記サーバサイトに配置された計算機に、
    前記サーバサイトにおいて、前記複数のサーバ計算機グループ各々のグループを単位に、前記複数のサーバ計算機のうちの当該グループに属するサーバ計算機を含む全ての負荷分散対象計算機の負荷量に基づいて、当該グループ全体の負荷量を求めるステップと、
    前記サーバサイトにおいて、前記複数のサーバ計算機グループ各々のグループを単位に、当該グループ全体の負荷量が求められた場合、当該負荷量に基づいて、当該サーバサイト内の当該グループで新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定するステップと、
    前記サーバサイトにおいて、当該サーバサイトに属する前記複数のサーバ計算機グループ内の1つのグループでの使用を開始すべき予備計算機の台数が決定された場合、当該サーバサイトから前記予備サイトに対して、当該サーバサイト内の当該1つのグループでの当該決定された台数の予備計算機の使用開始を前記ネットワークを介して要求するステップと、
    前記予備サイトに対する使用開始の要求に応じ、当該予備サイトにおいて、要求元のサーバサイト内の要求されたグループで負荷分散対象計算機として使用を開始すべき予備計算機が決定されて、当該決定された予備計算機が、当該グループに属するサーバ計算機で実行されている種類のブートイメージでブートされたことが、当該予備サイトから前記要求元のサーバサイトに通知された場合に、当該通知された予備計算機を、前記負荷分散装置による当該グループ内での負荷分散の対象となる負荷分散対象計算機として追加するステップと、
    前記予備サイトに対する使用終了の要求に応じ、当該予備サイトにおいて、要求元のサーバサイト内の要求されたグループで負荷分散対象計算機としての使用を終了すべき予備計算機が決定されて、当該決定された予備計算機が停止されたことが、当該予備サイトから前記要求元のサーバサイトに通知された場合に、当該通知された予備計算機を、前記負荷分散装置による当該グループ内での負荷分散の対象から除外するステップと
    を実行させるための計算機管理プログラム。
  19. 複数のクライアント計算機からのリクエストを処理する複数のサーバ計算機であって、当該サーバ計算機が実行するオペレーティングシステムを含むブートイメージの種類の相異により複数のサーバ計算機グループに分けて管理される複数のサーバ計算機、及び前記複数のクライアント計算機からのリクエストを前記複数のサーバ計算機を含む複数の負荷分散対象計算機に分配する負荷分散装置の組をそれぞれ含む複数のサーバサイトと、前記負荷分散対象計算機として用いることが可能な予備計算機であって、当該負荷分散対象計算機として用いられる際に起動される予備計算機を含む予備サイトとがネットワークにより接続された負荷分散システムにおいて、前記予備サイトに適用され、前記サーバサイト内の前記サーバ計算機グループでスパイク状態の負荷が発生した場合に、当該サーバサイトからの要求に応じて新たな負荷分散対象計算機として予備計算機を前記予備サイトから当該グループに割り当てるための計算機管理プログラムであって、
    前記予備サイトに配置された計算機に、
    前記複数のサーバサイトの各々において、前記複数のサーバ計算機グループ各々のグループを単位に、前記複数のサーバ計算機のうちの当該グループに属するサーバ計算機を含む全ての負荷分散対象計算機の負荷量に基づいて、当該サーバサイト内の当該グループで新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数が決定された結果、当該サーバサイトから前記予備サイトに対して、当該サーバサイト内の当該グループでの当該決定された台数の予備計算機の使用開始または使用終了が前記ネットワークを介して要求された場合に、使用開始及び使用終了のいずれが要求されているかを判別するステップと、
    前記使用開始が要求されている場合、要求元のサーバサイトで決定された台数の、当該要求元のサーバサイト内の要求されたグループで負荷分散対象計算機として使用を開始すべき予備計算機を決定するステップと、
    前記要求元のサーバサイト内の要求されたグループで負荷分散対象計算機として使用を開始すべき予備計算機が決定された場合、当該決定された予備計算機をブートすべきブートイメージとして、当該要求元のサーバサイト内の当該グループに属するサーバ計算機で実行されている種類の当該グループに固有のブートイメージを選択するステップと、
    前記要求元のサーバサイト内の要求されたグループで負荷分散対象計算機として使用を開始すべき予備計算機が決定され且つ当該グループに固有のブートイメージが選択された場合、当該選択されたブートイメージでブートするように、当該決定された予備計算機を起動するステップと、
    前記使用終了が要求されている場合、要求元のサーバサイトで決定された台数の、当該要求元のサーバサイト内の要求されたグループで負荷分散対象計算機としての使用を終了すべき予備計算機を決定するステップと、
    前記要求元のサーバサイト内の要求されたグループで負荷分散対象計算機としての使用を終了すべき予備計算機が決定された場合、当該決定された予備計算機を停止するステップと、
    前記予備サイトから前記要求元のサーバサイトに対し、前記使用開始または前記使用終了の要求に対する処理結果を通知するステップと
    を実行させるための計算機管理プログラム。
JP2004156713A 2003-05-26 2004-05-26 負荷分散システム及び計算機管理プログラム Expired - Lifetime JP3782429B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004156713A JP3782429B2 (ja) 2003-05-26 2004-05-26 負荷分散システム及び計算機管理プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003148233 2003-05-26
JP2004156713A JP3782429B2 (ja) 2003-05-26 2004-05-26 負荷分散システム及び計算機管理プログラム

Publications (2)

Publication Number Publication Date
JP2005011331A true JP2005011331A (ja) 2005-01-13
JP3782429B2 JP3782429B2 (ja) 2006-06-07

Family

ID=34106652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004156713A Expired - Lifetime JP3782429B2 (ja) 2003-05-26 2004-05-26 負荷分散システム及び計算機管理プログラム

Country Status (1)

Country Link
JP (1) JP3782429B2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006270381A (ja) * 2005-03-23 2006-10-05 Nec Corp 無線ネットワーク制御装置および負荷分散方法
WO2008084826A1 (ja) * 2007-01-11 2008-07-17 Nec Corporation プロビジョニングシステム、方法、及び、プログラム
JP2009033691A (ja) * 2007-06-25 2009-02-12 Alaxala Networks Corp ネットワーク装置の消費電力低減制御装置及び制御方法
JP2009212798A (ja) * 2008-03-04 2009-09-17 Nec Corp ネットワークシステム、その制御方法及びプログラム
JP2010086145A (ja) * 2008-09-30 2010-04-15 Hitachi East Japan Solutions Ltd 分散処理システム
JP2010165265A (ja) * 2009-01-17 2010-07-29 Nec Corp サーバ処理分散装置、サーバ処理分散方法及びサーバ処理分散プログラム
JP2011521501A (ja) * 2008-04-03 2011-07-21 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 対話型メディアシステム及び対話型メディアシステムにおける対話型サーバをディメンジョニングする方法
US8225323B2 (en) 2007-06-25 2012-07-17 Alaxala Networks Corporation Control device and control method for reduced power consumption in network device
JP2013506908A (ja) * 2009-09-30 2013-02-28 アルカテル−ルーセント 企業ネットワーク内の割り当てられたクラウドリソースの動的な負荷分散およびスケーリング
JP2013200751A (ja) * 2012-03-26 2013-10-03 Fuji Xerox Co Ltd 情報処理システム及びプログラム
WO2021261252A1 (ja) * 2020-06-24 2021-12-30 三菱電機株式会社 演算回路、演算方法、プログラム、および演算回路の設計方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH023828A (ja) * 1988-06-17 1990-01-09 Matsushita Electric Ind Co Ltd 計算機ネットワークシステム
JP2002091937A (ja) * 2000-07-27 2002-03-29 Hewlett Packard Co <Hp> スペアサーバを自動でアクティブにするサーバ
JP2002163241A (ja) * 2000-11-29 2002-06-07 Ntt Data Corp クライアントサーバシステム
JP2002183106A (ja) * 2000-12-11 2002-06-28 Hitachi Ltd サービス切替システム及び方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH023828A (ja) * 1988-06-17 1990-01-09 Matsushita Electric Ind Co Ltd 計算機ネットワークシステム
JP2002091937A (ja) * 2000-07-27 2002-03-29 Hewlett Packard Co <Hp> スペアサーバを自動でアクティブにするサーバ
JP2002163241A (ja) * 2000-11-29 2002-06-07 Ntt Data Corp クライアントサーバシステム
JP2002183106A (ja) * 2000-12-11 2002-06-28 Hitachi Ltd サービス切替システム及び方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006270381A (ja) * 2005-03-23 2006-10-05 Nec Corp 無線ネットワーク制御装置および負荷分散方法
WO2008084826A1 (ja) * 2007-01-11 2008-07-17 Nec Corporation プロビジョニングシステム、方法、及び、プログラム
US8677353B2 (en) 2007-01-11 2014-03-18 Nec Corporation Provisioning a standby virtual machine based on the prediction of a provisioning request being generated
JP5262724B2 (ja) * 2007-01-11 2013-08-14 日本電気株式会社 プロビジョニングシステム、方法、及び、プログラム
US8225323B2 (en) 2007-06-25 2012-07-17 Alaxala Networks Corporation Control device and control method for reduced power consumption in network device
JP2009033691A (ja) * 2007-06-25 2009-02-12 Alaxala Networks Corp ネットワーク装置の消費電力低減制御装置及び制御方法
US8850444B2 (en) 2007-06-25 2014-09-30 Alaxala Networks Corporation System for setting each transfer module in a network device into one of a plurality of standby states based upon the level of traffic
JP2009212798A (ja) * 2008-03-04 2009-09-17 Nec Corp ネットワークシステム、その制御方法及びプログラム
JP2011521501A (ja) * 2008-04-03 2011-07-21 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 対話型メディアシステム及び対話型メディアシステムにおける対話型サーバをディメンジョニングする方法
JP2010086145A (ja) * 2008-09-30 2010-04-15 Hitachi East Japan Solutions Ltd 分散処理システム
JP2010165265A (ja) * 2009-01-17 2010-07-29 Nec Corp サーバ処理分散装置、サーバ処理分散方法及びサーバ処理分散プログラム
JP2013506908A (ja) * 2009-09-30 2013-02-28 アルカテル−ルーセント 企業ネットワーク内の割り当てられたクラウドリソースの動的な負荷分散およびスケーリング
JP2013200751A (ja) * 2012-03-26 2013-10-03 Fuji Xerox Co Ltd 情報処理システム及びプログラム
WO2021261252A1 (ja) * 2020-06-24 2021-12-30 三菱電機株式会社 演算回路、演算方法、プログラム、および演算回路の設計方法

Also Published As

Publication number Publication date
JP3782429B2 (ja) 2006-06-07

Similar Documents

Publication Publication Date Title
US10805406B2 (en) Zone redundant computing services using multiple local services in distributed computing systems
JP5039951B2 (ja) ストレージ・デバイス・ポートの選択の最適化
US9729666B2 (en) Large scale storage system and method of operating thereof
JP4916881B2 (ja) オートノミック・フェイルオーバのための方法、装置、およびプログラム
CN101118521B (zh) 跨越多个逻辑分区分布虚拟输入/输出操作的系统和方法
EP3469478B1 (en) Server computer management system for supporting highly available virtual desktops of multiple different tenants
JP5011073B2 (ja) サーバ切り替え方法、およびサーバシステム
CN104137085A (zh) 集群环境中用于控制客户端对服务的访问的方法
US8589538B2 (en) Storage workload balancing
JP2003248668A (ja) データセンタ資源管理方法及び運用方法
JP2006048627A (ja) ストレージシステムのダイナミック負荷バランシング
JPWO2005001700A1 (ja) ストレージ容量管理方法、そのサーバ、記録媒体
JP3782429B2 (ja) 負荷分散システム及び計算機管理プログラム
US11726684B1 (en) Cluster rebalance using user defined rules
US20070180452A1 (en) Load distributing system and method
CN114879907A (zh) 一种数据分布确定方法、装置、设备及存储介质
US8302104B2 (en) Session persistence in dynamic node allocation computing environments
JP2012133824A (ja) サーバ切り替え方法、およびサーバシステム
US7558858B1 (en) High availability infrastructure with active-active designs
WO2014148142A1 (ja) クラウド向け計算機システム
JP5294352B2 (ja) シンクライアントシステム、セッション管理装置、セッション管理方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060210

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060309

R151 Written notification of patent or utility model registration

Ref document number: 3782429

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20100317

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100317

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110317

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120317

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130317

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140317

Year of fee payment: 8

EXPY Cancellation because of completion of term