(57)【要約】【課題】突然のスパイク現象に容易に対処できるようにする。【解決手段】サーバ構成管理部１５１は、ＷＥＢサーバ計算機１１-1〜１１-6を含む全ての負荷分散対象計算機の負荷量に基づいて、負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべきプロビジョニングノード計算機の台数を決定する。プロビジョニングノード管理部１５２は、プロビジョニングノード計算機１５-1〜１５-4の中から使用を開始または終了すべき計算機を決定する。プロビジョニングノード起動／停止部１５３は、決定された計算機を起動または停止する。設定変更部１５４は、決定された計算機が、負荷分散装置１２による負荷分散の対象または対象外となるように、当該負荷分散装置１２を制御する。【選択図】    図１
2005011331.tif 000002
【特許請求の範囲】
【請求項１】
複数のクライアント計算機からのリクエストを処理する複数のサーバ計算機であって、当該サーバ計算機が実行するオペレーティングシステムを含むブートイメージの種類の相異により複数のサーバ計算機グループに分けて管理される複数のサーバ計算機と、
前記複数のクライアント計算機からのリクエストを前記複数のサーバ計算機を含む複数の負荷分散対象計算機に分配する負荷分散装置と、
負荷分散対象計算機として用いることが可能な予備計算機であって、当該負荷分散対象計算機として用いられる際に起動される予備計算機と、
前記複数のサーバ計算機グループ各々のグループを単位に、前記複数のサーバ計算機のうちの当該グループ内のサーバ計算機を含む全ての負荷分散対象計算機の負荷量に基づいて、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定するサーバ構成管理手段と、
前記予備計算機の使用状況を管理する予備計算機管理手段であって、前記グループを単位に前記サーバ構成管理手段によって決定された台数の、当該グループで新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機を決定する予備計算機管理手段と、
前記予備計算機管理手段によって決定された予備計算機を起動または停止する予備計算機起動／停止手段と、
前記予備計算機管理手段によって決定された予備計算機を、前記負荷分散装置による負荷分散の対象となる負荷分散対象計算機として追加する、または前記負荷分散装置による負荷分散の対象から除外する設定変更手段と、
前記複数種類のブートイメージの中から、前記予備計算機管理手段によって決定された予備計算機をブートすべきブートイメージとして、当該決定された予備計算機が前記負荷分散対象計算機として使用を開始されるサーバ計算機グループに固有のブートイメージを選択するブートイメージ選択手段と
を具備し、
前記予備計算機は、前記予備計算機起動／停止手段によって起動された場合、前記ブートイメージ選択手段によって選択されたブートイメージでブートされる
ことを特徴とする負荷分散システム。
【請求項２】
前記複数種類のブートイメージをそれぞれ個別に記憶する複数のブートイメージ記憶手段と、
前記複数のブートイメージ記憶手段の各々と当該ブートイメージ記憶手段に記憶されているブートイメージでブートされる計算機とを対応付ける情報を記憶する対応情報記憶手段と
を更に具備し、
前記ブートイメージ選択手段は、前記複数のブートイメージ記憶手段のうち、前記予備計算機管理手段によって決定された予備計算機が前記負荷分散対象計算機として使用されるサーバ計算機グループに固有のブートイメージが記憶されたブートイメージ記憶手段に、前記予備計算機管理手段によって決定された予備計算機を、前記対応情報記憶手段によって対応付けることにより、当該予備計算機をブートすべきブートイメージを選択し、
前記予備計算機は、前記予備計算機起動／停止手段によって起動された場合、前記ブートイメージ選択手段によって選択されたブートイメージである、前記対応情報記憶手段によって当該予備計算機と対応付けられているブートイメージ記憶手段からブートイメージを読み出して自身をブートする
ことを特徴とする請求項１記載の負荷分散システム。
【請求項３】
前記複数のサーバ計算機及び前記予備計算機は、それぞれ、自身をブートするのに用いられるブートイメージを記憶するブートイメージ記憶手段を有し、
前記ブートイメージ選択手段は、前記予備計算機管理手段によって決定された予備計算機が前記負荷分散対象計算機として使用を開始されるサーバ計算機グループ内の任意のサーバ計算機に対し、当該任意の計算機が有する前記ブートイメージ記憶手段から前記予備計算機管理手段によって決定された予備計算機へのブートイメージのコピーを要求することにより、当該予備計算機をブートすべきブートイメージを選択し、
前記複数のサーバ計算機の各々は、前記ブートイメージ選択手段によってコピーが要求された場合、当該ブートイメージ選択手段によって選択されたブートイメージである、自身が有する前記ブートイメージ記憶手段に記憶されているブートイメージを、前記予備計算機管理手段によって決定された予備計算機が有する前記ブートイメージ記憶手段にコピーする
ことを特徴とする請求項１記載の負荷分散システム。
【請求項４】
前記複数のサーバ計算機グループに分けて管理される前記複数のサーバ計算機、前記負荷分散装置、前記サーバ構成管理手段及び前記設定変更手段の組をそれぞれ備えた複数のサーバサイトと、
前記予備計算機、前記予備計算機管理手段、前記予備計算機起動／停止手段、前記ブートイメージ選択手段及び前記複数のブートイメージ記憶手段の組を備えた予備サイトと、
前記複数のサーバサイトと前記予備サイトとを接続するネットワークと
を更に具備し、
前記複数のサーバサイトの各々にそれぞれ含まれている前記サーバ構成管理手段は、前記サーバ計算機グループを単位に、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定した場合、当該グループでの予備計算機の使用開始または使用終了を前記予備サイトに前記ネットワークを介して要求し、
前記予備サイト内の前記予備計算機管理手段は、前記サーバサイト内の前記サーバ構成管理手段からの予備計算機の使用開始または使用終了の要求に応じて、当該サーバ構成管理手段によって決定された台数の予備計算機であって、当該サーバ構成管理手段が存在するサーバサイト内の、当該サーバ構成管理手段から要求されたグループで新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機を決定する
ことを特徴とする請求項１記載の負荷分散システム。
【請求項５】
前記予備サイト内の前記予備計算機管理手段は、前記複数のサーバサイトにそれぞれ含まれている前記サーバ構成管理手段によって決定された台数の予備計算機が起動または停止された場合に、当該予備計算機の起動時刻または停止時刻を表す情報、当該予備計算機を表す情報及び当該サーバサイトを表す情報の組を記録することを特徴とする請求項４記載の負荷分散システム。
【請求項６】
複数のクライアント計算機からのリクエストを処理する複数のサーバ計算機と、
前記複数のクライアント計算機からのリクエストを前記複数のサーバ計算機を含む複数の負荷分散対象計算機に分配する負荷分散装置と、
負荷分散対象計算機として用いることが可能な予備計算機であって、当該負荷分散対象計算機として用いられる際に起動される予備計算機と、
前記複数のサーバ計算機を含む全ての負荷分散対象計算機の負荷量に基づいて、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定するサーバ構成管理手段と、
前記予備計算機の使用状況を管理する予備計算機管理手段であって、前記サーバ構成管理手段によって決定された台数の、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機を決定する予備計算機管理手段と、
前記予備計算機管理手段によって決定された予備計算機を起動または停止する予備計算機起動／停止手段と、
前記予備計算機管理手段によって決定された予備計算機を、前記負荷分散装置による負荷分散の対象となる負荷分散対象計算機として追加する、または前記負荷分散装置による負荷分散の対象から除外する設定変更手段と
を具備することを特徴とする負荷分散システム。
【請求項７】
前記サーバ構成管理手段と、前記予備計算機管理手段と、前記予備計算機起動／停止手段と、前記設定変更手段とが、前記複数のサーバ計算機及び前記予備計算機から独立した管理サーバ計算機で動作することを特徴とする請求項６記載の負荷分散システム。
【請求項８】
前記複数のサーバ計算機は、当該複数のサーバ計算機のうちのいずれかで障害が発生した場合に、その障害が発生した計算機で実行されていた業務を他のいずれかのサーバ計算機に引き継ぐことが可能なクラスタシステムを構成しており、
前記サーバ構成管理手段と、前記予備計算機管理手段と、前記予備計算機起動／停止手段と、前記設定変更手段とは、前記クラスタシステム内の前記複数のサーバ計算機のうちのいずれかの計算機で動作し、且つ当該計算機で障害が発生した場合に他のサーバ計算機への引き継ぎの対象となる
ことを特徴とする請求項６記載の負荷分散システム。
【請求項９】
前記負荷分散装置は、当該負荷分散装置による負荷分散の対象となっている前記複数のサーバ計算機を含む負荷分散対象計算機で処理されているリクエストの数に対応した負荷量を示す計算機負荷情報を取得する負荷情報取得手段を含み、
前記サーバ構成管理手段は、前記負荷分散装置に含まれている前記負荷情報取得手段により取得された計算機負荷情報から負荷分散対象計算機全体の負荷量を求め、当該負荷分散対象計算機全体の負荷量に基づいて、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定する
ことを特徴とする請求項６記載の負荷分散システム。
【請求項１０】
前記複数のサーバ計算機及び前記予備計算機は、それぞれ、自身が実行しているリクエストの処理に対応した負荷量を示す計算機負荷情報を取得する負荷情報取得手段を含み、
前記サーバ構成管理手段は、前記複数のサーバ計算機及び前記予備計算機のうち、負荷分散対象計算機として前記負荷分散装置による負荷分散の対象となっている計算機に含まれている前記負荷情報取得手段により取得された計算機負荷情報から負荷分散対象計算機全体の負荷量を求め、当該負荷分散対象計算機全体の負荷量に基づいて、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定する
ことを特徴とする請求項６記載の負荷分散システム。
【請求項１１】
前記負荷分散装置は、当該負荷分散装置による負荷分散の対象となっている前記複数のサーバ計算機を含む負荷分散対象計算機で処理されているリクエストの数に対応した負荷量を示す第１の計算機負荷情報を取得する第１の負荷情報取得手段を含み、
前記複数のサーバ計算機及び前記予備計算機は、それぞれ、自身が実行しているリクエストの処理に対応した負荷量を示す第２の計算機負荷情報を取得する第２の負荷情報取得手段を含み、
前記サーバ構成管理手段は、前記負荷分散装置に含まれている前記第１の負荷情報取得手段により取得された前記第１の計算機負荷情報から負荷分散対象計算機全体の負荷量を求めて、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の第１の台数を決定すると共に、前記複数のサーバ計算機及び前記予備計算機のうち、負荷分散対象計算機として前記負荷分散装置による負荷分散対象となっている計算機に含まれている前記第２の負荷情報取得手段により取得された前記第２の計算機負荷情報から負荷分散対象計算機全体の負荷量を求めて、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の第２の台数を決定し、当該第１及び第２の台数のうちのいずれか一方を、負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数として選択する
ことを特徴とする請求項６記載の負荷分散システム。
【請求項１２】
前記複数のサーバ計算機、前記負荷分散装置、前記サーバ構成管理手段及び前記設定変更手段の組をそれぞれ備えた複数のサーバサイトと、
前記予備計算機、前記予備計算機管理手段及び前記予備計算機起動／停止手段の組を備えた予備サイトと、
前記複数のサーバサイトと前記予備サイトとを接続するネットワークとを更に具備し、
前記複数のサーバサイトの各々にそれぞれ含まれている前記サーバ構成管理手段は、当該サーバサイト内の前記複数のサーバ計算機を含む全ての負荷分散対象計算機の負荷量に基づいて、当該サーバサイト内で新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定し、
前記予備サイト内の前記予備計算機管理手段は、前記サーバ構成管理手段によって決定された台数の予備計算機であって、当該サーバ構成管理手段が存在するサーバサイト内で新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機を決定する
ことを特徴とする請求項６記載の負荷分散システム。
【請求項１３】
前記予備サイト内の前記予備計算機管理手段は、前記複数のサーバサイトにそれぞれ含まれている前記サーバ構成管理手段によって決定された台数の予備計算機が起動または停止された場合に、当該予備計算機の起動時刻または停止時刻を表す情報、当該予備計算機を表す情報及び当該サーバサイトを表す情報の組を記録する
ことを特徴とする請求項１２記載の負荷分散システム。
【請求項１４】
複数のクライアント計算機からのリクエストを処理する複数のサーバ計算機と、前記複数のクライアント計算機からのリクエストを前記複数のサーバ計算機を含む複数の負荷分散対象計算機に分配する負荷分散装置と、前記負荷分散対象計算機として用いることが可能な予備計算機であって、当該負荷分散対象計算機として用いられる際に起動される予備計算機とを備えた負荷分散システムに適用され、前記システムでスパイク状態の負荷が発生した場合に新たな負荷分散対象計算機として予備計算機を割り当てるための計算機管理プログラムであって、
計算機に、
前記複数のサーバ計算機を含む全ての負荷分散対象計算機の負荷量に基づいて、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定するステップと、
使用を開始すべき予備計算機の台数が決定された場合、当該決定された台数の、新たに負荷分散対象計算機として使用を開始すべき予備計算機を決定するステップと、
使用を開始すべき予備計算機が決定された場合、当該決定された予備計算機を起動するステップと、
使用を開始すべき予備計算機が決定された場合、当該決定された予備計算機を、前記負荷分散装置による負荷分散の対象となる負荷分散対象計算機として追加するステップと、
使用を終了すべき予備計算機の台数が決定された場合、当該決定された台数の、負荷分散対象計算機としての使用を終了すべき予備計算機を決定するステップと、
使用を終了すべき予備計算機が決定された場合、当該決定された予備計算機を停止するステップと、
使用を終了すべき予備計算機が決定された場合、当該決定された予備計算機を、前記負荷分散装置による負荷分散の対象から除外するステップと
を実行させるための計算機管理プログラム。
【請求項１５】
複数のクライアント計算機からのリクエストを処理する複数のサーバ計算機、及び複数のクライアント計算機からのリクエストを前記複数のサーバ計算機を含む複数の負荷分散対象計算機に分配する負荷分散装置の組をそれぞれ備えた複数のサーバサイトと、前記負荷分散対象計算機として用いることが可能な予備計算機であって、当該負荷分散対象計算機として用いられる際に起動される予備計算機を備えた予備サイトとがネットワークにより接続された負荷分散システムにおいて、前記複数のサーバサイトの各々に適用され、当該サーバサイト内でスパイク状態の負荷が発生した場合に、新たな負荷分散対象計算機として予備計算機を前記予備サイトから当該サーバサイトに割り当てさせるための計算機管理プログラムであって、
前記サーバサイトに配置された計算機に、
前記サーバサイト内の前記複数のサーバ計算機を含む全ての負荷分散対象計算機の負荷量に基づいて、当該サーバサイト内で新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定して、当該サーバサイト内での予備計算機の使用開始または使用終了を前記予備サイトに前記ネットワークを介して要求するステップと、
前記予備サイトに対する使用開始の要求に応じ、当該予備サイトにおいて、要求元の前記サーバサイト内で負荷分散対象計算機として使用を開始すべき予備計算機が決定されて、当該決定された予備計算機が起動されたことが、当該予備サイトから前記サーバサイトに通知された場合に、当該通知された予備計算機を、当該サーバサイト内の前記負荷分散装置による負荷分散の対象となる負荷分散対象計算機として追加するステップと、
前記予備サイトに対する使用終了の要求に応じ、当該予備サイトにおいて、要求元の前記サーバサイト内での負荷分散対象計算機としての使用を終了すべき予備計算機が決定されて、当該決定された予備計算機が停止されたことが、当該予備サイトから前記サーバサイトに通知された場合に、当該通知された予備計算機を、当該サーバサイト内の前記負荷分散装置による負荷分散の対象から除外するステップと
を実行させるための計算機管理プログラム。
【請求項１６】
複数のクライアント計算機からのリクエストを処理する複数のサーバ計算機、及び複数のクライアント計算機からのリクエストを前記複数のサーバ計算機を含む複数の負荷分散対象計算機に分配する負荷分散装置の組をそれぞれ備えた複数のサーバサイトと、前記負荷分散対象計算機として用いることが可能な予備計算機であって、当該負荷分散対象計算機として用いられる際に起動される予備計算機を備えた予備サイトとがネットワークにより接続された負荷分散システムにおいて、前記予備サイトに適用され、前記サーバサイト内でスパイク状態の負荷が発生した場合に、当該サーバサイトからの要求に応じて新たな負荷分散対象計算機として予備計算機を前記予備サイトから当該サーバサイトに割り当てるための計算機管理プログラムであって、
前記予備サイトに配置された計算機に、
前記複数のサーバサイトの各々において、当該サーバサイト内の前記複数のサーバ計算機を含む全ての負荷分散対象計算機の負荷量に基づいて、当該サーバサイト内で新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数が決定された結果、当該サーバサイトから前記予備サイトに対して、当該サーバサイト内での予備計算機の使用開始または使用終了が前記ネットワークを介して要求された場合に、使用開始及び使用終了のいずれが要求されているかを判別するステップと、
前記使用開始が要求されている場合、要求元のサーバサイト内で負荷分散対象計算機として使用を開始すべき予備計算機を決定するステップと、
使用を開始すべき予備計算機が決定された場合、当該決定された予備計算機を起動するステップと、
前記使用終了が要求されている場合、前記要求元のサーバサイト内で負荷分散対象計算機としての使用を終了すべき予備計算機を決定するステップと、
使用を終了すべき予備計算機が決定された場合、当該決定された予備計算機を停止するステップと、
前記予備サイトから前記要求元のサーバサイトに対し、当該サーバサイトからの前記使用開始または前記使用終了の要求に対する処理結果を通知するステップと
を実行させるための計算機管理プログラム。
【請求項１７】
複数のクライアント計算機からのリクエストを処理する複数のサーバ計算機であって、当該サーバ計算機が実行するオペレーティングシステムを含むブートイメージの種類の相異により複数のサーバ計算機グループに分けて管理される複数のサーバ計算機と、前記複数のクライアント計算機からのリクエストを前記複数のサーバ計算機を含む複数の負荷分散対象計算機に分配する負荷分散装置と、前記負荷分散対象計算機として用いることが可能な予備計算機であって、当該負荷分散対象計算機として用いられる際に起動される予備計算機とを備えた負荷分散システムに適用され、前記サーバ計算機グループでスパイク状態の負荷が発生した場合に新たな負荷分散対象計算機として予備計算機を割り当てるための計算機管理プログラムであって、
計算機に、
前記複数のサーバ計算機グループ各々のグループを単位に、前記複数のサーバ計算機のうちの当該グループに属するサーバ計算機を含む全ての負荷分散対象計算機の負荷量に基づいて、当該グループ全体の負荷量を求めるステップと、
前記複数のサーバ計算機グループ各々のグループを単位に、当該グループ全体の負荷量が求められた場合、当該負荷量に基づいて、当該グループで新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定するステップと、
前記サーバ計算機グループでの使用を開始すべき予備計算機の台数が決定された場合、当該決定された台数の、当該グループで新たに負荷分散対象計算機として使用を開始すべき予備計算機を決定するステップと、
前記計算機グループでの使用を開始すべき予備計算機が決定された場合、当該決定された予備計算機をブートすべきブートイメージとして、前記複数のサーバ計算機のうち当該グループに属するサーバ計算機で実行されている種類の当該グループに固有のブートイメージを選択するステップと、
前記計算機グループでの使用を開始すべき予備計算機が決定され、且つ当該グループに固有のブートイメージが選択された場合、当該選択されたブートイメージでブートするように、当該決定された予備計算機を起動するステップと、
前記計算機グループでの使用を開始すべき予備計算機が決定された場合、当該決定された予備計算機を、前記負荷分散装置による当該グループ内での負荷分散の対象となる負荷分散対象計算機として追加するステップと、
前記サーバ計算機グループでの使用を終了すべき予備計算機の台数が決定された場合、当該決定された台数の、当該グループでの使用を終了すべき予備計算機を決定するステップと、
前記計算機グループでの使用を終了すべき予備計算機が決定された場合、当該決定された予備計算機を停止するステップと、
前記計算機グループでの使用を終了すべき予備計算機が決定された場合、当該決定された予備計算機を、前記負荷分散装置による当該グループ内での負荷分散の対象から除外するステップと
を実行させるための計算機管理プログラム。
【請求項１８】
複数のクライアント計算機からのリクエストを処理する複数のサーバ計算機であって、当該サーバ計算機が実行するオペレーティングシステムを含むブートイメージの種類の相異により複数のサーバ計算機グループに分けて管理される複数のサーバ計算機、及び前記複数のクライアント計算機からのリクエストを前記複数のサーバ計算機を含む複数の負荷分散対象計算機に分配する負荷分散装置の組をそれぞれ含む複数のサーバサイトと、前記負荷分散対象計算機として用いることが可能な予備計算機であって、当該負荷分散対象計算機として用いられる際に起動される予備計算機を含む予備サイトとがネットワークにより接続された負荷分散システムにおいて、前記複数のサーバサイトの各々に適用され、当該サーバサイト内の前記サーバ計算機グループでスパイク状態の負荷が発生した場合に、新たな負荷分散対象計算機として予備計算機を前記予備サイトから当該グループに割り当てさせるための計算機管理プログラムであって、
前記サーバサイトに配置された計算機に、
前記サーバサイトにおいて、前記複数のサーバ計算機グループ各々のグループを単位に、前記複数のサーバ計算機のうちの当該グループに属するサーバ計算機を含む全ての負荷分散対象計算機の負荷量に基づいて、当該グループ全体の負荷量を求めるステップと、
前記サーバサイトにおいて、前記複数のサーバ計算機グループ各々のグループを単位に、当該グループ全体の負荷量が求められた場合、当該負荷量に基づいて、当該サーバサイト内の当該グループで新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定するステップと、
前記サーバサイトにおいて、当該サーバサイトに属する前記複数のサーバ計算機グループ内の１つのグループでの使用を開始すべき予備計算機の台数が決定された場合、当該サーバサイトから前記予備サイトに対して、当該サーバサイト内の当該１つのグループでの当該決定された台数の予備計算機の使用開始を前記ネットワークを介して要求するステップと、
前記予備サイトに対する使用開始の要求に応じ、当該予備サイトにおいて、要求元のサーバサイト内の要求されたグループで負荷分散対象計算機として使用を開始すべき予備計算機が決定されて、当該決定された予備計算機が、当該グループに属するサーバ計算機で実行されている種類のブートイメージでブートされたことが、当該予備サイトから前記要求元のサーバサイトに通知された場合に、当該通知された予備計算機を、前記負荷分散装置による当該グループ内での負荷分散の対象となる負荷分散対象計算機として追加するステップと、
前記予備サイトに対する使用終了の要求に応じ、当該予備サイトにおいて、要求元のサーバサイト内の要求されたグループで負荷分散対象計算機としての使用を終了すべき予備計算機が決定されて、当該決定された予備計算機が停止されたことが、当該予備サイトから前記要求元のサーバサイトに通知された場合に、当該通知された予備計算機を、前記負荷分散装置による当該グループ内での負荷分散の対象から除外するステップと
を実行させるための計算機管理プログラム。
【請求項１９】
複数のクライアント計算機からのリクエストを処理する複数のサーバ計算機であって、当該サーバ計算機が実行するオペレーティングシステムを含むブートイメージの種類の相異により複数のサーバ計算機グループに分けて管理される複数のサーバ計算機、及び前記複数のクライアント計算機からのリクエストを前記複数のサーバ計算機を含む複数の負荷分散対象計算機に分配する負荷分散装置の組をそれぞれ含む複数のサーバサイトと、前記負荷分散対象計算機として用いることが可能な予備計算機であって、当該負荷分散対象計算機として用いられる際に起動される予備計算機を含む予備サイトとがネットワークにより接続された負荷分散システムにおいて、前記予備サイトに適用され、前記サーバサイト内の前記サーバ計算機グループでスパイク状態の負荷が発生した場合に、当該サーバサイトからの要求に応じて新たな負荷分散対象計算機として予備計算機を前記予備サイトから当該グループに割り当てるための計算機管理プログラムであって、
前記予備サイトに配置された計算機に、
前記複数のサーバサイトの各々において、前記複数のサーバ計算機グループ各々のグループを単位に、前記複数のサーバ計算機のうちの当該グループに属するサーバ計算機を含む全ての負荷分散対象計算機の負荷量に基づいて、当該サーバサイト内の当該グループで新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数が決定された結果、当該サーバサイトから前記予備サイトに対して、当該サーバサイト内の当該グループでの当該決定された台数の予備計算機の使用開始または使用終了が前記ネットワークを介して要求された場合に、使用開始及び使用終了のいずれが要求されているかを判別するステップと、
前記使用開始が要求されている場合、要求元のサーバサイトで決定された台数の、当該要求元のサーバサイト内の要求されたグループで負荷分散対象計算機として使用を開始すべき予備計算機を決定するステップと、
前記要求元のサーバサイト内の要求されたグループで負荷分散対象計算機として使用を開始すべき予備計算機が決定された場合、当該決定された予備計算機をブートすべきブートイメージとして、当該要求元のサーバサイト内の当該グループに属するサーバ計算機で実行されている種類の当該グループに固有のブートイメージを選択するステップと、
前記要求元のサーバサイト内の要求されたグループで負荷分散対象計算機として使用を開始すべき予備計算機が決定され且つ当該グループに固有のブートイメージが選択された場合、当該選択されたブートイメージでブートするように、当該決定された予備計算機を起動するステップと、
前記使用終了が要求されている場合、要求元のサーバサイトで決定された台数の、当該要求元のサーバサイト内の要求されたグループで負荷分散対象計算機としての使用を終了すべき予備計算機を決定するステップと、
前記要求元のサーバサイト内の要求されたグループで負荷分散対象計算機としての使用を終了すべき予備計算機が決定された場合、当該決定された予備計算機を停止するステップと、
前記予備サイトから前記要求元のサーバサイトに対し、前記使用開始または前記使用終了の要求に対する処理結果を通知するステップと
を実行させるための計算機管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のクライアント計算機から受信したリクエストを複数の計算機に分配して処理することで負荷分散を図る負荷分散システムに係り、特に突然のスパイク状態に対応するのに好適な負荷分散システム及び計算機管理プログラムに関する。
【背景技術】
【０００２】
多数のクライアント計算機からの実行要求を効率的に処理するために、これらの実行要求を複数の計算機に分配する負荷分散システムが知られている（例えば非特許文献１及び２参照）。この種の負荷分散システム、例えばＷＥＢ（ウェブ）サーバの負荷分散システムは、複数のＷＥＢサーバ計算機と負荷分散装置とから構成される。
【０００３】
ＷＥＢサーバの負荷分散システムにおいて、クライアント計算機で実行されるＷＥＢブラウザ等からのリクエスト（実行要求）は、外部ネットワークを経由して負荷分散装置に送られる。負荷分散装置はクライアント計算機から送られたリクエストを受信すると、複数のＷＥＢサーバ計算機の中から当該リクエストを処理すべきサーバ計算機を選択する。このサーバ計算機の選択は、特定のサーバ計算機だけに多大な負荷がかからないように考慮して行われる。そのため、サーバ計算機選択の方法として、例えば、（１）ラウンドロビン法、（２）重み付きラウンドロビン法、或いは（３）その時点でセッション数の最も少ないサーバ計算機を選択する方法が適用される。ラウンドロビン法は、各サーバ計算機を一定の順番で均等に選択する方法である。重み付きラウンドロビン法は、ラウンドロビン法を基本としながら、各サーバ計算機の能力に応じて当該計算機が選択される頻度を変える方法である。
【０００４】
負荷分散装置は、受信したリクエストを選択したサーバ計算機に内部ネットワークを経由して送る。サーバ計算機ではＷＥＢサーバが動いている。サーバ計算機は、送られてきたリクエストに基づき、ＷＥＢサーバによって処理を行う。そしてサーバ計算機は、リクエストに対するリプライを内部ネットワークを経由して、負荷分散装置に送る。負荷分散装置は送られてきたリプライを、リクエストを送信したクライアント計算機に、外部ネットワークを経由して返信する。
【０００５】
一方、稼働状態にある計算機で障害が発生した場合に、その障害が発生した計算機で実行されていたサービス（業務）を、システム内の他の計算機、例えば待機状態（ホットスイタンバイ状態）にある他の計算機に引き継がせる（フェイルオーバする）、クラスタシステムと呼ばれる計算機システムが知られている（例えば、非特許文献３参照）。
【非特許文献１】R. Buyya，“High Performance Cluster Computing: Architecture and Systems（Volume 1&2）”，１９９９年，Prentice Hall
【非特許文献２】Tony Bourke（トニー・ブルーク），「サーバ負荷分散技術」，株式会社オライリー・ジャパン，２００１年１２月１３日
【非特許文献３】金子哲夫、森良哉、「クラスタソフトウェア」、東芝レビュー、Vol.54 No.12(1999)、p.18-21
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記したＷＥＢサーバの負荷分散システムにおいて、クライアント計算機からのリクエストを処理するＷＥＢサーバ計算機の数は、当該リクエストの量等に応じて決定されるのが一般的である。ところが、近年はインターネットの利用者数が莫大な数に登っているため、ＷＥＢサイトの運用者の予想をはるかに超えた数のリクエストが負荷分散システムに集中しがちである。この場合、
（Ａ）リクエストに対する応答時間が極めて悪くなる
（Ｂ）ＷＥＢサーバ計算機への接続が不可能になる
（Ｃ）ＷＥＢサーバ計算機がダウンする
といった、いわゆる「スパイク現象」に起因したトラブルがしばしば発生する。
【０００７】
リクエスト（アクセス）の増大が、ある程度予想される場合には、ＷＥＢサイトの運用者は、例えば追加のＷＥＢサーバ計算機をレンタルすることで、スパイク現象に対処することができる。しかし大抵の場合、アクセスの増大を予想することは不可能であり、対処も困難となっている。
【０００８】
本発明は上記事情を考慮してなされたものでその目的は、突然のスパイク現象に容易に対処できる負荷分散システム及び計算機管理プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明の１つの観点によれば、複数のクライアント計算機からのリクエストを処理する複数のサーバ計算機と、複数のクライアント計算機からのリクエストを上記複数のサーバ計算機を含む複数の負荷分散対象計算機に分配する負荷分散装置とを備えた負荷分散システムが提供される。この負荷分散システムは、上記負荷分散対象計算機として用いることが可能な予備計算機であって、当該負荷分散対象計算機として用いられる際に起動される予備計算機と、上記複数のサーバ計算機を含む全ての負荷分散対象計算機の負荷量に基づいて、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定するサーバ構成管理手段と、上記予備計算機の使用状況を管理する予備計算機管理手段であって、上記サーバ構成管理手段によって決定された台数の、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機を決定する予備計算機管理手段と、上記予備計算機管理手段によって決定された予備計算機を起動または停止する予備計算機起動／停止手段と、上記予備計算機管理手段によって決定された予備計算機を、上記負荷分散装置による負荷分散の対象となる負荷分散対象計算機として追加する、または上記負荷分散装置による負荷分散の対象から除外する設定変更手段とを備えている。
【００１０】
このような構成の負荷分散システムにおいては、複数のサーバ計算機を含む全ての負荷分散対象計算機の負荷量に基づいて、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機が決定されて、その決定された予備計算機が起動または停止される。また、決定された予備計算機が負荷分散装置による負荷分散の対象となる負荷分散対象計算機として追加、または負荷分散装置による負荷分散の対象から除外される。このように、上記構成の負荷分散システムにおいては、「スパイク状態」の負荷が発生しても、必要な台数の予備計算機が起動されると共に当該予備計算機を含めて負荷分散の対象とされ、「スパイク状態」が解消されたならば、負荷分散の対象となっていた予備計算機が停止されると共に負荷分散の対象外とされることから、常時多くのサーバ計算機を起動させておくことなく、予測の困難なスパイク状態に容易に対処することができる。
【００１１】
ここで、上記複数のサーバ計算機、上記負荷分散装置、上記サーバ構成管理手段及び上記負荷分散装置設定変更手段の組を備えた複数のサーバサイトと、上記予備計算機、上記予備計算機管理手段及び上記予備計算機起動／停止手段の組を備えた予備サイトとを用意して、これらのサイトがネットワーク接続される構成とすると共に、サーバサイト内のサーバ構成管理手段は、当該サーバサイト内で新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定した場合、当該サーバサイト内での予備計算機の使用開始または使用終了を上記予備サイトにネットワークを介して要求し、この予備サイト内の予備計算機管理手段は、上記サーバ構成管理手段からの予備計算機使用開始または使用終了の要求に応じて、要求元のサーバサイト内で負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機を決定する構成とするとよい。
【００１２】
このような構成においては、各サーバサイトは、予備サイト内の予備計算機を、当該サーバサイトの負荷の状態に応じて、つまり「スパイク状態」の負荷が発生した場合だけ、使用することができる。
【００１３】
また、上記複数のサーバ計算機で実行されるオペレーティングシステムを含むブートイメージが同一の種類でない場合に、上記複数のサーバ計算機を、当該計算機で実行されるブートイメージの種類に応じて複数のサーバ計算機グループに分けて管理する構成とすることも可能である。この場合、サーバ構成管理手段は、上記グループ単位で当該グループ全体の負荷量を求め、その負荷量に基づいて、当該グループ単位で、新たに負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機の台数を決定して、当該グループでの予備計算機の使用開始または使用終了を要求するとよい。また、予備計算機管理手段は、サーバ構成管理手段から要求されたグループで負荷分散対象計算機として使用を開始すべき、または負荷分散対象計算機としての使用を終了すべき予備計算機を決定するとよい。また、使用を開始すべき予備計算機が上記予備計算機管理手段によって決定された場合、当該予備計算機をブートすべきブートイメージとして、当該予備計算機の使用が開始されるサーバ計算機グループ内のサーバ計算機で実行されている種類のブートイメージ、つまり当該グループに固有のブートイメージを選択するブートイメージ選択手段を追加することにより、当該予備計算機が当該グループに固有のブートイメージでブートされるようにするとよい。
【００１４】
このような構成とすることにより、あるサーバ計算機グループ内で「スパイク状態」の負荷が発生しても、その負荷を分散するのに必要な予備計算機を決定して、その決定された予備計算機を、当該グループ内のサーバ計算機で実行されているのと同一種類のブートイメージでブートして、当該グループに属する負荷分散対象計算機とすることができる。つまり、システム内のいずれのサーバ計算機グループで「スパイク状態」の負荷が発生しても、当該サーバ計算機グループ内のサーバ計算機で実行されているブートイメージの種類に無関係に、予備計算機を割り当てることができ、限られた数の予備計算機を有効に利用できる。ここで、上記複数のサーバ計算機グループに分けて管理される複数のサーバ計算機、上記負荷分散装置、上記サーバ構成管理手段及び上記負荷分散装置設定変更手段の組を備えた複数のサーバサイトと、上記予備計算機、上記予備計算機管理手段、上記予備計算機起動／停止手段、上記ブートイメージ設定手段及びブートイメージ種類別に設けられたブートイメージ格納手段の組を備えた予備サイトとを用意して、上記各サーバサイトから上記予備サイト内の予備計算機を共通に利用可能な構成とすることも可能である。
【発明の効果】
【００１５】
本発明によれば、突然のスパイク現象が発生しても、予備の計算機が起動されて新たに負荷分散の対象計算機として使用され、スパイク現象が収まった場合には、起動されていた予備計算機が負荷分散の対象外となると共に停止されるため、常時多くのサーバ計算機を起動させておくことなく、予測の困難な突然のスパイク現象に容易に対処することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態につき図面を参照して説明する。
【００１７】
［第１の実施形態］
図１は本発明の第１の実施形態に係る負荷分散システムの構成を示すブロック図である。図１のシステムは、複数、例えば６台のＷＥＢサーバ計算機１１-1乃至１１-6と、負荷分散装置１２とを備えている。ＷＥＢサーバ計算機１１-1乃至１１-6及び負荷分散装置１２はシステム内部のネットワーク（内部ネットワーク）１３により相互接続されている。また負荷分散装置１２はシステム外部のネットワーク（外部ネットワーク）１４を介して複数のクライアント計算機（図示せず）と接続されている。
【００１８】
ＷＥＢサーバ計算機１１-1乃至１１-6は、クライアント計算機からのリクエストを処理する。負荷分散装置１２は、外部ネットワーク１４を介してクライアント計算機からのリクエストを受信した場合、ＷＥＢサーバ計算機１１-1乃至１１-6の中から当該リクエストを処理すべきサーバ計算機を選択する。この選択には、例えば、背景技術で述べた選択方法（１）乃至（３）のいずれかを用いることができる。負荷分散装置１２はまた、選択したサーバ計算機にクライアント計算機からのリクエストを送る。つまり負荷分散装置１２は、多数のクライアント計算機からのリクエストをＷＥＢサーバ計算機１１-1乃至１１-6に分配して処理させることで、負荷分散を図る。
【００１９】
負荷分散装置１２は、計算機負荷情報取得部１２０を含む。計算機負荷情報取得部１２０は、負荷分散装置１２による負荷分散の対象となる計算機各々の負荷状態を示す情報（計算機負荷情報）を取得する。ここで、負荷分散装置１２によって取得される各負荷分散対象計算機の負荷情報には、負荷分散装置１２によって当該負荷分散対象計算機との間に設定されるセッションの数が用いられる。負荷分散対象計算機は、ＷＥＢサーバ計算機１１-1乃至１１-6、及び次に述べるプロビジョニングノード計算機１５-1乃至１５-4のうちの負荷分散対象として起動されている計算機である。
【００２０】
プロビジョニングノード計算機１５-1乃至１５-4は、通常は電源オフ状態にあって、起動されていない予備の計算機である。プロビジョニングノード計算機１５-1乃至１５-4は、突然の「スパイク状態」が発生した場合に、その状態を解消するための負荷分散対象候補として位置付けられている。但し、既に負荷分散対象となっているプロビジョニングノード計算機は、この候補から除かれる。本実施形態では、「スパイク状態」は、負荷分散対象となっている計算機全体の負荷量が予め定められた閾値を超えた状態として捉えられる。プロビジョニングノード計算機１５-1乃至１５-4は内部ネットワーク１３に接続されている。
【００２１】
内部ネットワーク１３には、管理サーバ計算機１５も接続されている。管理サーバ計算機１５上では、管理サーバ１５０が動作する。管理サーバ１５０は、管理サーバ計算機１５内のＣＰＵ（図示せず）が所定の計算機管理プログラムを読み取って実行することにより実現される。この計算機管理プログラムは、例えばＣＤ−ＲＯＭ、フレキシブルディスクまたはメモリカード等の記憶媒体により提供される。この記憶媒体により提供される計算機管理プログラムは、管理サーバ計算機１５の例えばディスクドライブに保存して用いられる。計算機管理プログラムを外部ネットワーク１４を介して管理サーバ計算機１５に転送して、当該計算機１５のディスクドライブに保存することも可能である。
【００２２】
管理サーバ１５０は、サーバ構成管理部１５１、プロビジョニングノード管理部１５２、プロビジョニングノード起動／停止部１５３、及び設定変更部１５４の各機能要素を含む。
【００２３】
サーバ構成管理部１５１は、ＷＥＢサーバとして動作する計算機（サーバ計算機）を管理する機能を有する。またサーバ構成管理部１５１は、使用開始すべき（新たに負荷分散対象とすべき）、または使用を終了すべき（負荷分散対象外とすべき）プロビジョニングノード計算機の台数を決定する機能を有する。この決定は、負荷分散装置１２による負荷分散対象となっている計算機の負荷状態をもとに行われる。そのためサーバ構成管理部１５１は、負荷閾値／計画使用プロビジョニングノード計算機数テーブル１５１ａを保持している。テーブル１５１ａは、負荷分散対象計算機全体の負荷量の閾値（負荷閾値）と、その閾値に対応して負荷分散対象とすべきプロビジョニングノード計算機の数（計画使用プロビジョニングノード計算機数）とを対応付けて記憶する。
【００２４】
負荷閾値／計画使用プロビジョニングノード計算機数対応テーブル１５１ａの一例を図５に示す。この図５の例では、テーブル１５１ａは、３種の負荷閾値ＮS1、ＮS2及びＮS3の各々と計画使用プロビジョニングノード計算機数とを対応付けて記憶する。閾値ＮS1、ＮS2及びＮS3は、それぞれ第１、第２及び第３のスパイク状態に対応する。テーブル１５１ａは、上記計算機管理プログラムに予め設定されており、管理サーバ計算機１５の起動時に、当該計算機１５の主メモリ（図示せず）にロードされる。
【００２５】
プロビジョニングノード管理部１５２は、プロビジョニングノード計算機１５-1乃至１５-4の使用状況を管理する機能を有する。またプロビジョニングノード管理部１５２は、サーバ構成管理部１５１により、使用開始すべき、または使用を終了すべきプロビジョニングノード計算機の台数が決定された場合に、プロビジョニングノード計算機１５-1乃至１５-4の中から実際に使用を開始すべき、または使用を終了すべきプロビジョニングノード計算機を決定（選択）する。
【００２６】
プロビジョニングノード起動／停止部１５３は、プロビジョニングノード管理部１５２によって決定されたプロビジョニングノード計算機を起動または停止する機能を有する。プロビジョニングノード起動／停止部１５３は、プロビジョニングノード計算機の起動／停止を次のようにして行う。プロビジョニングノード起動／停止部１５３は、Ｗａｋｅ  Ｏｎ  ＬＡＮ技術を利用してプロビジョニングノード計算機の起動をする。プロビジョニングノード起動／停止部１５３は、プロビジョニングノード計算機を起動するために、起動するプロビジョニングノード計算機を指定した特殊なパケットを内部ネットワーク１３に送出する。上記特殊なパケットにおいて、起動すべきプロビジョニングノード計算機の指定には、当該プロビジョニングノード計算機に実装されているＬＡＮカード（ネットワークカード）のＭＡＣアドレスが用いられる。各プロビジョニングノード計算機に実装されたＬＡＮカードは、ネットワーク（ここでは内部ネットワーク１３）と接続するための制御回路として動作する。このＬＡＮカードは、内部ネットワーク１３を流れる特殊パケットを監視するために待機している。そのためＬＡＮカードには、プロビジョニングノード計算機の電源がオフされている状態において、常時スタンバイ電流が供給されている。ＬＡＮカードは、自分のＭＡＣアドレスが指定されている特殊パケット（つまり自身宛ての特殊パケット）を受信した場合に、自分が実装されているプロビジョニングノード計算機を起動（ブート）するための機能を持つ。このようなＬＡＮカードを持ったプロビジョニングノード計算機は、常時起動可能な状態（スタンバイ状態）に設定されている。また、プロビジョニングノード起動／停止部１５３は、プロビジョニングノード計算機の停止を次のように行う。プロビジョニングノード起動／停止部１５３は、停止させるべきプロビジョニングノード計算機に対し、オプションとして電源断を指定したシャットダウンコマンドを内部ネットワーク１３を介して送出する。このコマンドの送出により、プロビジョニングノード起動／停止部１５３は、プロビジョニングノード計算機を停止させる。具体的には、例えばオペレーティングシステムＵＮＩＸ（登録商標）では、シャットダウンコマンドとして“ｉｎｉｔ”が使える。“ｉｎｉｔ”コマンドには、電源断を指定するオプションがある。そこで、電源断を指定したシャットダウンコマンドを実行すると、電源ドライバが呼び出され、計算機の電源断まで行われる。リモートの計算機からシャットダウンコマンドを実行するには、リモートシェル（ｒｓｓ）コマンドを使えばよい。
【００２７】
設定変更部１５４は、プロビジョニングノード起動／停止部１５３によって起動または停止されたプロビジョニングノード計算機を負荷分散装置１２による負荷分散の対象または対象外とするように、当該負荷分散装置１２を制御する機能を有する。つまり設定変更部１５４は、プロビジョニングノード起動／停止部１５３によって起動または停止されたプロビジョニングノード計算機に対して負荷分散装置１２からリクエストを分配することの許可または停止を、当該負荷分散装置１２に対して与える機能を有する。
【００２８】
次に、図１の負荷分散システムの動作について、図２のフローチャートを参照して説明する。まず、管理サーバ計算機１５内のサーバ構成管理部１５１は、負荷分散装置１２の計算機負荷情報取得部１２０から、当該負荷分散装置１２による負荷分散の対象となっている、ＷＥＢサーバ計算機１１-1乃至１１-5を含む各計算機（負荷分散対象計算機）の負荷情報を取得する（ステップＳ１）。したがって、プロビジョニングノード計算機１５-1乃至１５-4の中に負荷分散対象計算機として使用されているプロビジョニングノード計算機が存在する場合には、その計算機の負荷情報も取得される。ここでは各負荷分散対象計算機の計算機負荷情報として、負荷分散装置１２によって各クライアント計算機と当該負荷分散対象計算機との間に設定されたセッションの本数が取得される。このステップＳ１において、サーバ構成管理部１５１は、各負荷分散対象計算機の計算機負荷情報から、負荷分散対象計算機全体の負荷量ＮSを求める。ここでは各負荷分散対象計算機の計算機負荷情報の示す負荷量（セッション数）を加算することで、全体の負荷量ＮSが求められる。なお、各負荷分散対象計算機の処理能力に対応（例えば反比例）した重みで負荷量を重み付けし、その重み付けされた負荷量の加算値を全体の負荷量ＮSとしてもよい。
【００２９】
次にサーバ構成管理部１５１は、負荷閾値／計画使用プロビジョニングノード計算機数対応テーブル１５１ａを参照して、当該テーブル１５１ａの内容をもとに、現在の負荷量ＮSに対応する計画使用プロビジョニングノード計算機数を決定する（ステップＳ２）。本実施形態では、テーブル１５１ａの内容は図５に示すようになっている。この場合、サーバ構成管理部１５１は、
ＮS＜ＮS1であれば、計画使用プロビジョニングノード計算機数＝０
ＮS1≦ＮS＜ＮS2であれば、計画使用プロビジョニングノード計算機数＝２
ＮS2≦ＮS＜ＮS3であれば、計画使用プロビジョニングノード計算機数＝４
ＮS≧ＮS3であれば、計画使用プロビジョニングノード計算機数＝６
のように決定する。
【００３０】
次にサーバ構成管理部１５１は、決定した計画使用プロビジョニングノード計算機数と、プロビジョニングノード管理部１５２により管理されている現在使用中のプロビジョニングノード計算機数とを比較する（ステップＳ３）。もし、両計算機数が等しいならば、サーバ構成管理部１５１は、新たにプロビジョニングノード計算機を負荷分散の対象計算機（つまり使用を開始する計算機）として割り当てる必要がないものと判断する。この場合、サーバ構成管理部１５１は一定時間を待った後（ステップＳ４）、ステップＳ１から処理を繰り返す。
【００３１】
一方、計画使用プロビジョニングノード計算機数の方が多いならば（ステップＳ３）、サーバ構成管理部１５１は、新たにプロビジョニングノード計算機を負荷分散の対象計算機として割り当てる必要があると判断する。この場合、サーバ構成管理部１５１はプロビジョニングノード管理部１５２に対し、新たにプロビジョニングノード計算機の使用を開始することを要求する。これを受けてプロビジョニングノード管理部１５２は、プロビジョニングノード計算機１５-1乃至１５-4の中に、使用可能なプロビジョニングノード計算機が存在するか否かを調べる（ステップＳ５）。もし、使用可能なプロビジョニングノード計算機がない場合、つまりプロビジョニングノード計算機１５-1乃至１５-4が全て負荷分散対象計算機として既に使用中である場合、その旨がプロビジョニングノード管理部１５２からサーバ構成管理部１５１に通知される。するとサーバ構成管理部１５１は一定時間を待った後（ステップＳ４）、ステップＳ１から処理を繰り返す。
【００３２】
これに対し、使用可能なプロビジョニングノード計算機、つまり現在使用（起動）されていないプロビジョニングノード計算機があるならば、プロビジョニングノード管理部１５２は、使用を開始する計算機（負荷分散の対象計算機）としてプロビジョニングノード計算機を割り当てる処理（ステップＳ６）を行う。この処理は、使用可能なプロビジョニングノード計算機の数Ｎと上記両計算数の差分Ｎｄとの大小関係に基づいて次のように行われる。まず、Ｎ≧Ｎｄであるならば、プロビジョニングノード管理部１５２は、使用可能なプロビジョニングノード計算機の中から、当該差分Ｎｄに一致する数のプロビジョニングノード計算機を選択して、使用を開始する計算機として割り当てる。また、Ｎ＜Ｎｄならば、サーバ構成管理部１５１は、計算機数としては不十分ではあるものの、使用可能なＮ台のプロビジョニングノード計算機を全て選択して、使用を開始する計算機として割り当てる。この計算機割り当ての情報は、プロビジョニングノード管理部１５２からサーバ構成管理部１５１、プロビジョニングノード起動／停止部１５３及び設定変更部１５４にそれぞれ通知される。
【００３３】
するとプロビジョニングノード起動／停止部１５３は、プロビジョニングノード計算機１５-1乃至１５-4のうち、サーバ構成管理部１５１によって使用を開始する計算機として割り当てられた（決定された）プロビジョニングノード計算機を起動する（ステップＳ７）。このとき設定変更部１５４は、負荷分散装置１２を制御して、プロビジョニングノード起動／停止部１５３によって起動された（プロビジョニングノード管理部１５２によって使用開始が決定された）プロビジョニングノード計算機を、負荷分散装置１２による負荷分散の対象となる負荷分散対象計算機として追加させる（ステップＳ８）。ここで、ステップＳ７及びＳ８の順番は逆でも構わない。サーバ構成管理部１５１は、設定変更部１５４の制御により負荷分散装置１２による負荷分散の対象が変更されると、一定時間を待った後（ステップＳ４）、ステップＳ１から処理を繰り返す。
【００３４】
一方、計画使用プロビジョニングノード計算機数の方が現在使用中のプロビジョニングノード計算機の数より少ないならば（ステップＳ３）、サーバ構成管理部１５１は、両計算機数の差分Ｎｄの数のプロビジョニングノード計算機の使用を終了させる必要があると判断する。この場合、サーバ構成管理部１５１はプロビジョニングノード管理部１５２に対し、Ｎｄ台のプロビジョニングノード計算機の使用を終了することを要求する。これを受けてプロビジョニングノード管理部１５２は、現在使用中のプロビジョニングノード計算機の中から、使用を終了させる、上記両計算機数の差分Ｎｄに等しい数のプロビジョニングノード計算機を決定する（ステップＳ９）。プロビジョニングノード管理部１５２によって決定された、使用を終了させるプロビジョニングノード計算機の情報は、プロビジョニングノード管理部１５２からサーバ構成管理部１５１、プロビジョニングノード起動／停止部１５３及び設定変更部１５４にそれぞれ通知される。
【００３５】
すると設定変更部１５４は、使用終了が決定されたプロビジョニングノード計算機が負荷分散装置１２による負荷分散の対象外となるように、当該負荷分散装置１２を制御する（ステップＳ１０）。一方、プロビジョニングノード起動／停止部１５３は、プロビジョニングノード管理部１５２によって使用終了が決定されたプロビジョニングノード計算機を停止する（ステップＳ１１）。ここで、ステップＳ１０及びＳ１１の順番は逆でも構わない。サーバ構成管理部１５１は、上記差分Ｎｄに等しい数のプロビジョニングノード計算機が停止されると、一定時間を待った後（ステップＳ４）、ステップＳ１から処理を繰り返す。
【００３６】
以上の説明から明らかなように、図５に示したテーブル１５１ａが適用される図１のシステムにおいては、負荷量ＮSが負荷閾値ＮS1以上となったなら（但しＮS＜ＮS2）、２台のプロビジョニングノード計算機が負荷分散対象計算機として使用される。この状態で、負荷量ＮSが負荷閾値ＮS2以上となったなら（但しＮS＜ＮS3）、更に２台のプロビジョニングノード計算機が負荷分散対象計算機として追加される。この場合、合計４台のプロビジョニングノード計算機、つまりシステム内の全プロビジョニングノード計算機１５-1乃至１５-4が使用される。この状態で、負荷量ＮSが負荷閾値ＮS3以上となったなら、更に２台のプロビジョニングノード計算機を負荷分散対象計算機として追加しなければならない。しかし、この時点で、既にシステム内の全プロビジョニングノード計算機１５-1乃至１５-4が使用中であり、新たに使用可能なプロビジョニングノード計算機は存在しない。したがって、４台を超えるプロビジョニングノード計算機の使用はない。
【００３７】
また、プロビジョニングノード計算機１５-1乃至１５-4が使用中の状態で、負荷量ＮSが負荷閾値ＮS2を下回ったなったなら（但しＮS≧ＮS1）、２台のプロビジョニングノード計算機が負荷分散対象外とされる。この場合、使用するプロビジョニングノード計算機は２台となる。この状態で、負荷量ＮSが負荷閾値ＮS1を下回ったなったなら、更に２台のプロビジョニングノード計算機が負荷分散対象外とされる。この場合、プロビジョニングノード計算機の使用が止められる。このことから、テーブル１５１ａが、負荷に応じたプロビジョニングノード計算機の使用開始／使用終了条件を定義したテーブルであることが理解される。
【００３８】
このように、本発明の第１の実施形態に係る負荷分散システムによれば、スパイク状態の負荷が発生した場合、プロビジョニングノード計算機（予備の計算機）が起動され、その起動されたプロビジョニングノード計算機も含めて負荷分散装置１２で負荷分散が行われる。このような状態で、負荷が低下した場合には、プロビジョニングノード計算機が負荷分散の対象外とされて、当該プロビジョニングノード計算機が停止される。これにより、常時多くのサーバ計算機を起動させておくことなく、突然のスパイク状態に対応することができる。即ち本実施形態においては、システム（ＷＥＢサーバ計算機１１-1乃至１１-6を含むシステム）の運用者の予想をはるかに超えた数のリクエストが集中しても、背景技術の欄で挙げた「スパイク現象」に起因するトラブル（Ａ）乃至（Ｃ）の発生を回避することができる。
【００３９】
なお、本実施形態では、管理サーバ１５０が独立した管理サーバ計算機１５上で動作する構成を適用している。しかし、管理サーバ１５０を、例えばＷＥＢサーバ計算機１１-1乃至１１-6のいずれかの上で動かしてもよい。この場合、管理サーバ１５０が動作しているＷＥＢサーバ計算機で障害が発生しても、当該管理サーバ１５０の提供する機能が止まらないで済む構成を適用するとよい。具体的には、少なくともＷＥＢサーバ計算機１１-1乃至１１-6が、前記先行技術文献に記載されたクラスタシステムを構成すればよい。このクラスタシステムを適用することで、ＷＥＢサーバ計算機１１-1乃至１１-6のうち管理サーバ１５０が動作しているＷＥＢサーバ計算機で障害が発生しても、管理サーバ１５０の機能（つまりサーバ構成管理部１５１、プロビジョニングノード管理部１５２、プロビジョニングノード起動／停止部１５３及び設定変更部１５４の動作）を他のＷＥＢサーバ計算機に引き継がせることができる。また、ＷＥＢサーバ計算機の台数及びプロビジョニングノード計算機の台数も上記実施形態に限るものではなく、ＷＥＢサーバ計算機は少なくとも２台（つまり複数）あればよく、プロビジョニングノード計算機は少なくとも１台あればよい。また、負荷分散装置１２内の計算機負荷情報取得部１２０自身が負荷量ＮSを取得する構成としてもよい。
【００４０】
［第２の実施形態］
図３は本発明の第２の実施形態に係る負荷分散システムの構成を示すブロック図である。なお、図１と等価な構成要素には同一符号を付してある。図３のシステムが図１のシステムと相異する点は、図１中の負荷分散装置１２に相当する負荷分散装置２２が計算機負荷情報取得部を持たないことである。その代わりに、図１中のＷＥＢサーバ計算機１１-1乃至１１-6に相当するＷＥＢサーバ計算機２１-1乃至２-6が、それぞれ計算機負荷情報取得部Ｆ１乃至Ｆ６を持っている。計算機負荷情報取得部Ｆ１乃至Ｆ６は、図１中の計算機負荷情報取得部１２０と異なり、対応するＷＥＢサーバ計算機２１-1乃至２１-6の負荷情報のみを取得する。また、計算機負荷情報取得部Ｆ１乃至Ｆ６によって取得される計算機負荷情報は、セッション数ではなくて、例えば、ＷＥＢサーバ計算機２１-1乃至２１-6にそれぞれ含まれているＣＰＵの使用率である。もし、１台のＷＥＢサーバ計算機が複数のＣＰＵを搭載している場合、当該複数のＣＰＵの各々の使用率を加算した値が、当該ＷＥＢサーバ計算機の負荷情報（計算機負荷）として用いられる。なお、ＷＥＢサーバ計算機でのリクエストの処理を反映した負荷であれば、ＣＰＵ使用率に限らず、メモリ使用率、入出力装置の使用率等を単独で、或いはＣＰＵ使用率と組み合わせて用いることも可能である。
【００４１】
また、図３のシステムでは、図１中の管理サーバ計算機１５に代えて管理サーバ計算機２５が用いられる。この管理サーバ計算機２５上では、管理サーバ２５０が動作する。管理サーバ２５０は、サーバ構成管理部２５１、プロビジョニングノード管理部１５２、プロビジョニングノード起動／停止部１５３、及び設定変更部１５４の各機能要素を含む。サーバ構成管理部２５１は、図１中のサーバ構成管理部１５１と異なって、各負荷分散対象計算機内の計算機負荷情報取得部より取得された計算機負荷情報をもとに、負荷分散対象計算機全体の負荷量を求める。この全体の負荷量をＮCと呼ぶ。そのため本実施形態では、予備の負荷分散対象計算機として位置付けられているプロビジョニングノード計算機１５-1乃至１５-4にも、ＷＥＢサーバ計算機２１-1乃至２１-6内の計算機負荷情報取得部Ｆ１乃至Ｆ６に相当する計算機負荷情報取得部（図示せず）が設けられているものとする。
【００４２】
サーバ構成管理部２５１は、負荷閾値／計画使用プロビジョニングノード計算機数対応テーブル２５１ａを保持している。テーブル２５１ａは、負荷分散対象計算機全体の負荷量の閾値（負荷閾値）と、その閾値に対応して負荷分散対象とすべきプロビジョニングノード計算機の数（計画使用プロビジョニングノード計算機数）とを対応付けて記憶する。このテーブル２５１ａの一例を図６に示す。この図６の例では、テーブル２５１ａは、３種の負荷閾値ＮC1，ＮC2及びＮC3の各々と計画使用プロビジョニングノード計算機数とを対応付けて記憶する。閾値ＮC1，ＮC2及びＮC3は、図５に示したテーブル１５１ａに記憶される負荷閾値ＮS1，ＮS2及びＮS3に相当する。
【００４３】
次に、図３の負荷分散システムの動作について、図１のシステムと相異する点を中心に、図４のフローチャートを参照して説明する。図３の負荷分散システムでは、図２のフローチャート中のステップＳ１乃至Ｓ１１に相当するステップＳ２１乃至Ｓ３１が実行される。図１のシステムとの主たる相違点は、（図２中のステップＳ１に相当する）ステップＳ２１での負荷量の求め方である。即ち、ステップＳ２１においてサーバ構成管理部２５１は、ＷＥＢサーバ計算機２１-1乃至２１-6内の計算機負荷情報取得部Ｆ１乃至Ｆ６を含む、現在負荷分散の対象となっている計算機（負荷分散対象計算機）内の計算機負荷情報取得部から、当該負荷分散対象計算機の負荷情報を取得する。そしてサーバ構成管理部２５１は、取得した各負荷分散対象計算機の負荷情報（計算機負荷情報）から、全体の負荷量ＮCを求める。ここでは各負荷分散対象計算機の負荷情報の示す負荷量（ＣＰＵの使用率）の加算値が全体の負荷量ＮCとして求められる。なお、各負荷分散対象計算機の処理能力（例えばＣＰＵの処理速度）に対応（例えば比例）した重みで負荷量を重み付けし、その重み付けされた負荷量の加算値を全体の負荷量ＮCとしてもよい。サーバ構成管理部２５１が負荷量ＮCを求めた後の動作は、負荷量がＮSからＮCに、負荷閾値がＮS1，ＮS2及びＮS3からＮC1，ＮC2及びＮC3に変わった点を除き、前記第１の実施形態と同様である。
【００４４】
［第３の実施形態］
図７は本発明の第３の実施形態に係る負荷分散システムの構成を示すブロック図である。なお、図１または図３と等価な構成要素には同一符号を付してある。図７のシステムでは、
負荷分散装置として図１に示した負荷分散装置１２が用いられると共に、ＷＥＢサーバ計算機として図３に示したＷＥＢサーバ計算機２１-１乃至２１-6が用いられる。図７のシステムの特徴は、負荷分散装置１２内の計算機負荷情報取得部１２０、及びＷＥＢサーバ計算機２１-１乃至２１-6内の計算機負荷情報取得部Ｆ１乃至Ｆ６を含む、各負荷分散対象計算機内の計算機負荷情報取得部をいずれも利用している点にある。即ち図７のシステムでは、計画使用プロビジョニングノード計算機数の決定に、計算機負荷情報取得部１２０により取得される各負荷分散対象計算機の負荷情報（セッション数を示す情報）と、各負荷分散対象計算機内の計算機負荷情報取得部により取得される負荷情報（ＣＰＵ使用率を示す情報）との両方が利用される。
【００４５】
そのため、図７のシステムでは、図１中の管理サーバ計算機１５または図３中の管理サーバ計算機２５に代えて管理サーバ計算機３５が用いられる。この管理サーバ計算機３５上では、管理サーバ３５０が動作する。管理サーバ３５０は、サーバ構成管理部３５１、プロビジョニングノード管理部１５２、プロビジョニングノード起動／停止部１５３、及び設定変更部１５４の各機能要素を含む。サーバ構成管理部３５１は、図１中のサーバ構成管理部１５１及び図３中のサーバ構成管理部２５１の両者の機能を併せ持つ。即ちサーバ構成管理部３５１は、負荷分散装置１２内の計算機負荷情報取得部１２０により取得された計算機負荷情報をもとに負荷量ＮSを取得する。サーバ構成管理部３５１はまた、各負荷分散対象計算機内の計算機負荷情報取得部により取得された計算機負荷情報をもとに負荷量ＮCを取得する。
【００４６】
サーバ構成管理部３５１は、負荷閾値／計画使用プロビジョニングノード計算機数対応テーブル３５１ａを保持している。このテーブル３５１ａの一例を図１１に示す。テーブル３５１ａの特徴は、計画使用プロビジョニングノード計算機数を、負荷量ＮSに対応する負荷閾値（ここではＮS1，ＮS2及びＮS3）、及び負荷量ＮCに対応する負荷閾値（ここではＮC1，ＮC2及びＮC3）の両方と対応付けて記憶している点にある。
【００４７】
次に、図７の負荷分散システムの動作について、図１のシステムと相異する点を中心に、図８のフローチャートを参照して説明する。図７の負荷分散システムでは、図２のフローチャート中のステップＳ１に相当するステップＳ４１と、図４のフローチャート中のステップＳ２１に相当するステップＳ４２とが実行される。また、図７の負荷分散システムでは、図２のフローチャート中のステップＳ２に相当するステップＳ４３と、図２のフローチャート中のステップＳ３乃至Ｓ１１に相当するステップＳ４４乃至Ｓ５２とが実行される。
【００４８】
即ち、図７の負荷分散システムにおいて、サーバ構成管理部３５１は、負荷分散装置１２内の計算機負荷情報取得部１２０により取得される各負荷分散対象計算機の負荷情報（セッション数）をもとに、負荷分散対象計算機全体の負荷量ＮSを求める（ステップＳ４１）。サーバ構成管理部３５１はまた、各負荷分散対象計算機の内の計算機負荷情報取得部により取得される当該計算機の負荷情報（ＣＰＵ使用率）をもとに、負荷分散対象計算機全体の負荷量ＮCを求める（ステップＳ４２）。
【００４９】
サーバ構成管理部３５１は負荷量ＮS及びＮCを求めると、ステップＳ４３に進む。このステップＳ４３においてサーバ構成管理部３５１は、負荷閾値／計画使用プロビジョニングノード計算機数対応テーブル３５１ａを参照して、現在の負荷量ＮSに対応する計画使用プロビジョニングノード計算機数ｎ１を決定する。同様にサーバ構成管理部３５１は、テーブル３５１ａの内容をもとに、現在の負荷量ＮCに対応する計画使用プロビジョニングノード計算機数ｎ２も決定する。次にサーバ構成管理部３５１は、負荷量ＮS及びＮCにそれぞれ対応する負計画使用プロビジョニングノード計算機数ｎ１及びｎ２を比較し、多い方を、実際に使用する計画使用プロビジョニングノード計算機数として選択する。以降の動作は、前記第１の実施形態と同様である。
【００５０】
このように本実施形態においては、種類の異なる負荷量ＮS及びＮCをもとに、その負荷量ＮS及びＮCによって表されるスパイク状態を低減するのに必要なプロビジョニングノード計算機の数ｎ１及びｎ２が個々に求められる。そして、計算機数ｎ１及びｎ２のうちの多い方が、実際に使用する計画使用プロビジョニングノード計算機数として選択される。これにより、負荷量ＮS及びＮCの一方だけから決定されるプロビジョニングノード計算機の数を用いる前記第１及び第２の実施形態に比べて、より効果的にスパイク状態に対処できる。
【００５１】
［第４の実施形態］
図９は本発明の第４の実施形態に係る負荷分散システムの構成を示すブロック図である。なお、図７と等価な構成要素には同一符号を付してある。まず、図９のシステムが図７のシステムと相異する点について述べる。図７のシステムでは、特に断らなかったが、各ＷＥＢサーバ計算機（２１-1乃至２１-6）が、いずれも同種のブートイメージを実行することを前提としている。このことは、第１及び第２の実施形態においても同様である。ブートイメージは、少なくともオペレーティングシステム（ＯＳ）を含む。また、ブートイメージが、ＯＳ以外に、当該ＯＳのもとで動作するアプリケーションプログラムを含むこともある。このように、各ＷＥＢサーバ計算機で実行されるＯＳを含むブートイメージが同一種類の場合、スパイク状態の負荷の発生時に使用されるプロビジョニングノード計算機に対し、当該計算機をブート（起動）するためのブートイメージを対応付けておくことが可能である。
【００５２】
これに対し、図９のシステムでは、実行されるブートイメージがＷＥＢサーバ計算機によって異なる。ここでは、ＷＥＢサーバ計算機が当該計算機で実行されるブートイメージの種類毎にグループ分けして管理される。また、使用するプロビジョニングノード計算機数の決定に用いられる負荷もグループ単位で求められる。この場合、いずれのグループでスパイク状態の負荷が発生したかによって、その際に使用されるプロビジョニングノード計算機をブートするためのブートイメージの種類は異なる。したがって、プロビジョニングノード計算機に事前にブートイメージを対応付けておくことはできない。なお、グループ毎にプロビジョニングノード計算機を用意するならば、当該計算機に事前にブートイメージを対応付けておくことは可能である。しかし、そのためには、多数のプロビジョニングノード計算機を用意しなければならず、実用的でない。例えば適用されるブートイメージの種類によって、プロビジョニングノード計算機が３グループに分けられる場合、グループ毎にプロビジョニングノード計算機を４台用意するなら、合計で３×４＝１２台のプロビジョニングノード計算機が必要となる。
【００５３】
そこで、図９のシステムでは、プロビジョニングノード計算機が、いずれのブートイメージでもブート可能なように、以下に述べる構成を適用している。まず、図９のシステムで適用されるブートイメージは、ブートイメージ＃１，＃２，＃３の３種類である。このため、ＷＥＢサーバ計算機の群も、適用される３種類のブートイメージ＃１乃至＃３に応じて、ＷＥＢサーバ計算機グループ４０-1（＃１）乃至４０-3（＃３）の３グループに分けて管理される。ＷＥＢサーバ計算機グループ４０-1（＃１）には、ブートイメージ＃１でブートされているｐ台のＷＥＢサーバ計算機４１-11乃至４１-1pが属する。ＷＥＢサーバ計算機グループ４０-2（＃２）には、ブートイメージ＃２でブートされているｑ台のＷＥＢサーバ計算機４１-21乃至４１-2qが属する。ＷＥＢサーバ計算機グループ４０-3（＃３）には、ブートイメージ＃３でブートされているｒ台のＷＥＢサーバ計算機４１-31乃至４１-3rが属する。
【００５４】
また、図９のシステムでは、図７中の管理サーバ計算機３５に相当する管理サーバ計算機４５が用いられる。この管理サーバ計算機４５上では、管理サーバ４５０が動作する。管理サーバ４５０は、サーバ構成管理部４５１、プロビジョニングノード管理部１５２、プロビジョニングノード起動／停止部１５３、設定変更部１５４、及びプロビジョニングノードブートイメージ選択部４５５の各機能要素を含む。サーバ構成管理部４５１は、ＷＥＢサーバ計算機グループ＃ｉ（ｉ＝１，２，３）単位で負荷量ＮS及びＮCを求め、その負荷量ＮS及びＮCに応じて当該グループ＃ｉ単位で計画使用プロビジョニングノード計算機数を決定する機能を有する。
【００５５】
サーバ構成管理部４５１は、図１２に示すテーブル４５１ａを保持している。このテーブル４５１ａの特徴は、計画使用プロビジョニングノード計算機数を、ＷＥＢサーバ計算機グループ＃１乃至＃３毎に、負荷量ＮSに対応する負荷閾値（ここではＮS11，ＮS12，ＮS13乃至ＮS31，ＮS32，ＮS33）、及び負荷量ＮCに対応する負荷閾値（ここではＮC11，ＮC12，ＮC13乃至ＮC31，ＮC32，ＮC33）の両方と対応付けて記憶している点にある。
【００５６】
プロビジョニングノードブートイメージ選択部４５５は、ＷＥＢサーバ計算機グループ４０-i（＃ｉ）でスパイク状態の負荷が発生した結果、プロビジョニングノード管理部１５２によって使用が決定されたプロビジョニングノード計算機に、当該グループ４０-i（＃ｉ）に固有の種類のブートイメージ＃ｉを設定する機能を有する。ブートイメージ＃ｉは、グループ４０-i（＃ｉ）内のＷＥＢサーバ計算機で使用されているブートイメージである。このプロビジョニングノードブートイメージ選択部４５５によるプロビジョニングノード計算機に対するブートイメージ＃ｉの設定とは、当該プロビジョニングノード計算機と、当該計算機をブートするために使用されるブートイメージ＃ｉが保存されたディスク（ディスクドライブ）とを、後述するテーブル４７０により対応付けることである。つまりプロビジョニングノードブートイメージ選択部４５５は、プロビジョニングノード計算機をブートするために使用されるブートイメージ＃ｉが保存されたディスクを選択する機能を有する。
【００５７】
プロビジョニングノードブートイメージ選択部４５５は、ＷＥＢサーバ計算機グループ４０-1（＃１）の負荷が高い場合には、当該グループに属するＷＥＢサーバ計算機４１-11乃至４１-1pで使用されているブートイメージ＃１が保存されたディスク（後述するディスクＤ１）を、新たに当該グループに組み込まれるプロビジョニングノード計算機と対応付ける。同様にプロビジョニングノードブートイメージ選択部４５５は、ＷＥＢサーバ計算機グループ４０-2（＃２）の負荷が高い場合には、当該グループに属するＷＥＢサーバ計算機４１-21乃至４１-2qで使用されているブートイメージ＃２が保存されたディスク（後述するディスクＤ２）を、新たに当該グループに組み込まれるプロビジョニングノード計算機と対応付ける。同様にプロビジョニングノードブートイメージ選択部４５５は、ＷＥＢサーバ計算機グループ４０-3（＃３）の負荷が高い場合には、当該グループに属するＷＥＢサーバ計算機４１-31乃至４１-3rで使用されているブートイメージ＃３が保存されたディスク（後述するディスクＤ３）を、新たに当該グループに組み込まれるプロビジョニングノード計算機と対応付ける。
【００５８】
本実施形態では、ＷＥＢサーバ計算機４１-11乃至４１-1pと、ＷＥＢサーバ計算機４１-21乃至４１-2qと、ＷＥＢサーバ計算機４１-31乃至４１-3rと、管理サーバ計算機４５と、プロビジョニングノード計算機１５-1乃至１５-4とは、ストレージ・エリア・ネットワーク（以下、ＳＡＮと称する）４６に接続されている。このＳＡＮ４６には、ストレージ装置４７も接続されている。ストレージ装置４７は、ディスク（ディスクドライブ）Ｄ１乃至Ｄ３を備えている。つまり、上記各計算機とストレージ装置４７内のディスクＤ１乃至Ｄ３とはＳＡＮ４６で接続されていることになる。ディスクＤ１，Ｄ２及びＤ３には、それぞれＷＥＢサーバ計算機グループ４０-1乃至４０-3内のＷＥＢサーバ計算機で使用されているブートイメージ＃１乃至＃３が予め保存されている。
【００５９】
ストレージ装置４７は、テーブル４７０を保持したデータベースを有する。テーブル４７０は、ストレージ装置４７内のディスクＤ１乃至Ｄ３と当該ディスクＤ１乃至Ｄ３をブートディスクとする計算機とを対応付けた情報を記憶する。ディスクＤｉ（ｉ＝１，２，３）をブートディスクとする計算機とは、ディスクＤｉに保存されているブートイメージ＃ｉによってブート（起動）されるブート計算機のことである。
【００６０】
テーブル４７０の一例を図１３に示す。この図１３の例では、テーブル４７０は、ブートイメージ＃１乃至＃３を保存しているディスク（ブートディスク）Ｄ１乃至Ｄ３の情報（例えばディスク識別子）と、当該ディスクＤ１乃至Ｄ３に保存されているブートイメージ＃１乃至＃３によってブートされる計算機（つまりディスクＤ１乃至Ｄ３をブートディスクとして使用する計算機）の情報（例えば計算機識別子）とを対応付けて記憶する。本実施形態では、ＷＥＢサーバ計算機４１-11乃至４１-1pの識別子はＷＳ１１乃至ＷＳ１ｐであり、ＷＥＢサーバ計算機４１-21乃至４１-2qの識別子はＷＳ２１乃至ＷＳ２ｑであり、ＷＥＢサーバ計算機４１-31乃至４１-3rの識別子はＷＳ３１乃至Ｗ３ｒであるものとする。また、プロビジョニングノード計算機１５-1乃至１５-4の識別子はＰ１乃至Ｐ４であるものとする。
【００６１】
図９のシステムでは、プロビジョニングノード計算機１５-j（ｊは１乃至４のいずれか）をブートイメージ＃ｉによりブートするのに、次のような手順が用いられる。まずプロビジョニングノードブートイメージ選択部４５５は、ストレージ装置４７内のデータベースに保持されているテーブル４７０から、ブートイメージ＃ｉが保存されているディスクＤｉの識別子を検索する。そしてプロビジョニングノードブートイメージ選択部４５５はテーブル４７０を操作して、ディスクＤｉの識別子（Ｄｉ）に対応付けて、プロビジョニングノード計算機１５-jの識別子（Ｐｊ）を追加設定する。このプロビジョニングノードブートイメージ選択部４５５のテーブル操作により、ディスクＤｉがプロビジョニングノード計算機１５-jのブートディスクとして論理的に接続されたことになる。つまり、プロビジョニングノード計算機１５-jをブートするのに使用されるブートイメージ＃ｉが保存されているディスクＤｉが選択されたことになる。
【００６２】
この場合、プロビジョニングノード計算機１５-jは、プロビジョニングノード起動／停止部１５３によって起動されると、ＳＡＮ４６を介してストレージ装置４７に保持されているテーブル４７０から自身の計算機識別子（Ｐｊ）を検索する。そしてプロビジョニングノード計算機１５-jは、テーブル４７０内で自身の計算機識別子（Ｐｊ）と対応付けられているディスクの識別子（Ｄｉ）から、自身をブートするのに使用すべきブートイメージ（ここではブートイメージ＃ｉ）を保存しているディスクＤｉを特定する。そこでプロビジョニングノード計算機１５-jは、特定されたディスクＤｊ（つまり自身と対応付けられているディスクＤｊ）からブートイメージ＃ｉを読み出して、当該ブートイメージ＃ｉで自身をブートする。
【００６３】
したがってテーブル４７０上で、例えば図１４に示すように、ディスクＤ１が新たに２台のプロビジョニングノード計算機１５-1及び１５-2と対応付けられた場合、当該計算機１５-1及び１５-2はディスクＤ１をブートディスクとして共有することになる。この場合、プロビジョニングノード計算機１５-1及び１５-2は、ディスクＤ１に保存されているブートイメージ＃１でブートされる。
【００６４】
次に、図９の負荷分散システムの動作について、図７のシステムと相異する点を中心に、図１０のフローチャートを参照して説明する。まずサーバ構成管理部４５１は、ＷＥＢサーバ計算機グループを指定する変数ｉを初期値１に設定する（ステップＳ６１）。次にサーバ構成管理部４５１は、負荷分散装置１２内の計算機負荷情報取得部１２０から、ＷＥＢサーバ計算機グループ４０-i（＃ｉ）に属する、ＷＥＢサーバ計算機を含む、現在負荷分散の対象となっている各計算機（負荷分散対象計算機）の負荷情報（計算機負荷情報）を取得し、当該グループ４０-i（＃ｉ）全体の負荷量ＮSを求める（ステップＳ６２）。またサーバ構成管理部４５１は、ＷＥＢサーバ計算機グループ４０-i（＃ｉ）に属する、ＷＥＢサーバ計算機内の計算機負荷情報取得部を含む、各負荷分散対象計算機内の計算機負荷情報取得部から、当該負荷分散対象計算機の負荷情報を取得し、当該グループ４０-i（＃ｉ）全体の負荷量ＮCを求める（ステップＳ６３）。このステップＳ６２及びＳ６３の処理は、変数ｉで指定されるグループ＃ｉ全体の負荷量ＮS及びＮCを求める点で、システム全体の負荷量ＮS及びＮCを求める図８中のステップＳ４１及びＳ４２とは異なる。
【００６５】
サーバ構成管理部４５１はグループ４０-i（＃ｉ）全体の負荷量ＮS及びＮCを求めると、ステップＳ６４に進む。このステップＳ６４においてサーバ構成管理部４５１は、テーブル４５１ａのグループ４０-i（＃ｉ）のエントリを参照して、当該グループ４０-i（＃ｉ）の現在の負荷量ＮSに対応する計画使用プロビジョニングノード計算機数ｎ１を決定する。同様にサーバ構成管理部４５１は、テーブル４５１ａのグループ４０-i（＃ｉ）のエントリ内容をもとに、グループ４０-i（＃ｉ）の現在の負荷量ＮCに対応する計画使用プロビジョニングノード計算機数ｎ２を決定する。次にサーバ構成管理部４５１は、グループ４０-i（＃ｉ）の負荷量ＮS及びＮCにそれぞれ対応する計画使用プロビジョニングノード計算機数ｎ１及びｎ２を比較し、多い方を、実際に使用する計画使用プロビジョニングノード計算機数として選択する。
【００６６】
ステップＳ６４以降の動作は、図８中のステップＳ４３以降の動作とほぼ同様である。但し、本実施形態では、以下の動作が異なる。まず、ＷＥＢサーバ計算機グループ４０-i（＃ｉ）のスパイク状態の負荷が発生したものとする。この場合、その負荷を低減するために、少なくとも１台のプロビジョニングノード計算機が、使用を開始するプロビジョニングノード計算機としてプロビジョニングノード管理部１５２によって当該グループ４０-i（＃ｉ）に割り当てられる（ステップＳ６９）。すると本実施形態では、プロビジョニングノード管理部１５２からプロビジョニングノードブートイメージ選択部４５５に制御が渡される。これを受けてプロビジョニングノードブートイメージ選択部４５５は、グループ４０-i（＃ｉ）に割り当てられたプロビジョニングノード計算機を、当該グループ４０-i（＃ｉ）に固有のブートイメージ＃ｉが保存されているディスクＤｉと対応付ける。つまりプロビジョニングノードブートイメージ選択部４５５は、グループ４０-i（＃ｉ）に割り当てられたプロビジョニングノード計算機をブートすべきブートイメージ＃ｉ（ブートイメージ＃ｉが保存されているディスクＤｉ）を選択する（ステップＳ７０）。
【００６７】
使用を開始するプロビジョニングノード計算機をブートすべきブートイメージ＃ｉが、プロビジョニングノードブートイメージ選択部４５５により選択されると、プロビジョニングノード起動／停止部１５３が動作する。プロビジョニングノード起動／停止部１５３は、プロビジョニングノード計算機１５-1乃至１５-4のうち、プロビジョニングノード管理部１５２によって割り当てられたプロビジョニングノード計算機を起動する（ステップＳ７１）。この起動されたプロビジョニングノード計算機は、プロビジョニングノードブートイメージ選択部４５５のテーブル操作によって、当該計算機をブートすべきブートイメージ＃ｉが保存されたディスクＤｉと対応付けられている。つまり、起動されたプロビジョニングノード計算機をブートすべきブートイメージ＃ｉは、プロビジョニングノードブートイメージ選択部４５５によって選択されている。そこで、起動されたプロビジョニングノード計算機は、選択されたブートイメージ＃ｉをディスクＤｉから読み出してブートを実行する。
【００６８】
プロビジョニングノード起動／停止部１５３によってプロビジョニングノード計算機が起動されると、設定変更部１５４は、当該起動されたプロビジョニングノード計算機がＷＥＢサーバ計算機グループ４０-i（＃ｉ）に属し、且つ当該グループ４０-i（＃ｉ）内の他の計算機と共に負荷分散の対象計算機となるように、負荷分散装置１２を制御する（ステップＳ７２）。ここで、ステップＳ７１及びＳ７２の順番は逆でも構わない。
【００６９】
サーバ構成管理部４５１は、設定変更部１５４の制御により負荷分散装置１２による負荷分散の対象が変更されると、一定時間を待った後（ステップＳ６６）、処理対象となるＷＥＢサーバ計算機グループを切り替える（ステップＳ６７）。ＷＥＢサーバ計算機グループがグループ＃１乃至＃３の３グループの本実施形態では、現在のグループがグループ＃１であればグループ＃２に、グループ＃２であればグループ＃３に、そしてグループ＃３であればグループ＃１に、それぞれ切り替えられる。そして、切り替え後のＷＥＢサーバ計算機グループを対象に、ステップＳ６２から処理が繰り返される。
【００７０】
このように本実施形態においては、システム内の各ＷＥＢサーバ計算機で実行されるブートイメージの種類によって、当該ＷＥＢサーバ計算機が、ＷＥＢサーバ計算機グループ４０-1（＃１）乃至４０-3（＃３）にグループ分けされる。そして、グループ４０-1（＃１）乃至４０-3（＃３）のうちのいずれかのグループ４０-i（＃ｉ）でスパイク状態の負荷が発生した場合に、プロビジョニングノード計算機１５-1乃至１５-4の中から選択されたプロビジョニングノード計算機に、当該グループ４０-i（＃ｉ）に固有のブートイメージ＃ｉ（ブートイメージ＃ｉが保存されたディスクＤ１）が対応付けられる。これにより、選択されたプロビジョニングノード計算機をグループ４０-i（＃ｉ）に属する負荷分散対象計算機として起動することができる。このため、プロビジョニングノード計算機１５-1乃至１５-4を有効に利用できる。
【００７１】
［第４の実施形態の変形例］
図９のシステムでは、ストレージ装置４７内のディスクＤｉを使用して、プロビジョニングノード計算機１５-jをブートイメージ＃ｉでブートする構成が適用されている。しかし、プロビジョニングノード計算機１５-jをブートイメージ＃ｉでブートするのに、ストレージ装置４７内のディスクＤｉは必ずしも必要でない。そこで、ストレージ装置４７内のディスクＤｉを使用しなくても、プロビジョニングノード計算機１５-jをブートイメージ＃ｉでブートすることを可能とする、第４の実施形態の変形例について、図１５のブロック構成図を参照して説明する。なお、図９と等価な構成要素には同一符号を付してある。
【００７２】
図１５では、ＷＥＢサーバ計算機４１-11と、プロビジョニングノード計算機１５-1とが入出力バス（外部入出力バス）５１に接続されている。ＷＥＢサーバ計算機４１-11は、ＷＥＢサーバ計算機グループ４０-1に属する（図９参照）。図１５では省略されているが、ＷＥＢサーバ計算機グループ４０-1に属するＷＥＢサーバ計算機４１-11以外のサーバ計算機、他のＷＥＢサーバ計算機グループ４０-2及び４０-3に属する各サーバ計算機、及びプロビジョニングノード計算機１５-1以外のプロビジョニングノード計算機も入出力バス５１に接続されている。
【００７３】
計算機４１-11及び１５-1は、それぞれ、ＣＰＵ５２ａ及び５２ｂと、ローカルディスク（ローカルディスクドライブ）５３ａ及び５３ｂと、入出力バス（内部入出力バス）５４ａ及び５４ｂとを備えている。計算機４１-11内のローカルディスク５３ａには、当該計算機４１-11をブートするのに用いられる、ＷＥＢサーバ計算機グループ４０-1（＃１）に固有のブートイメージ＃１が保存されている。ＣＰＵ５２ａとローカルディスク５３ａとは入出力バス５４ａによって相互接続され、ＣＰＵ５２ｂとローカルディスク５３ｂとは入出力バス５４ｂによって相互接続されている。また、ローカルディスク５３ａ及び５３ｂは入出力バス５１と接続されている。また、入出力バス５４ａ及び５４ｂも入出力バス５１と接続されている。
【００７４】
今、図１５中のプロビジョニングノード計算機１５-1が、図９に示されているＷＥＢサーバ計算機グループ４０-1に割り当てられたものとする。この場合、図９に示されているプロビジョニングノードブートイメージ選択部４５５は、グループ４０-1に属するＷＥＢサーバ計算機４１-11乃至４１-1pのうちのいずれかのサーバ計算機、例えばＷＥＢサーバ計算機４１-11に対し、プロビジョニングノード計算機１５-1へのブートイメージのコピーを要求する。このことは、プロビジョニングノード計算機１５-1をブートするためのブートイメージとして、グループ４０-1に属するＷＥＢサーバ計算機４１-11内のローカルディスク５３ａに保存されているブートイメージ＃１が選択されたことを表す。このときプロビジョニングノード計算機１５-1は未だ起動されていない。
【００７５】
ＷＥＢサーバ計算機４１-11内のＣＰＵ５２ａは、プロビジョニングノードブートイメージ選択部４５５からのコピー要求に従い、当該計算機４１-11内のローカルディスク５３ａに保存されているブートイメージ＃１を読み出して、入出力バス５１を介してプロビジョニングノード計算機１５-1のローカルディスク５３ｂにコピーする。このＷＥＢサーバ計算機４１-11内のＣＰＵ５２ａのコピー動作によって、プロビジョニングノード計算機１５-1が起動されていない状況でも、当該プロビジョニングノード計算機１５-1のローカルディスク５３ｂにブートイメージ＃１をコピーできる。クラスタ計算機やブレードサーバ計算機の多くは、このような機能を持っている。
【００７６】
さて、上述のブートイメージ＃１のコピーが完了すると、図９に示されているプロビジョニングノード起動／停止部１５３はプロビジョニングノード計算機１５-1を起動する。するとプロビジョニングノード計算機１５-1は、自身のローカルディスク５３ｂにコピーされているブートイメージ＃１を用いて自身をブートする。更に詳細に述べるならば、プロビジョニングノード計算機１５-1内のＣＰＵ５２ｂは、入出力バス５４ｂを介して、ローカルディスク５３ｂから当該ディスク５３ｂにコピーされているブートイメージ＃１を読み出してブートする。なお、図１５では、計算機４１-11及び１５-1の内部にそれぞれ入出力バス５４ａ及び５４ｂが設けられると共に、計算機４１-11及び１５-1の外部に入出力バス５１が設けられている。しかし、このようなバス構成は一例である。要するに、ブートイメージが保存されたローカルディスク５３ａを有する計算機４１-11が、起動状態にない計算機１５-1に含まれているローカルディスク５３ｂに対して、ブートイメージ（データ）を直接または間接にコピーできさえすればよい。
【００７７】
［第５の実施形態］
図１６は本発明の第５の実施形態に係る負荷分散システムの構成を示すブロック図である。なお、図９と等価な構成要素には同一符号を付してある。この図１６のシステムの特徴は、複数、例えば４つの異なる運用母体（例えば、異なる会社）のＷＥＢサーバサイト５０-1乃至５０-4を備えると共に、当該ＷＥＢサーバサイト５０-1乃至５０-4で共通に利用可能な予備のサイト（以下、共有プロビジョニングノード計算機サイトと称する）６０を備えた点にある。
【００７８】
ＷＥＢサーバサイト５０-1は、図９のシステムからプロビジョニングノード計算機１５-1乃至１５-4、ＳＡＮ４６及びストレージ装置４７-1乃至４７-3を除いた構成要素と同様の要素を備えている。即ちＷＥＢサーバサイト５０-1は、負荷分散装置１２と、例えば３つのＷＥＢサーバ計算機グループ４０-1乃至４０-3と、図９中の管理サーバ計算機４５に相当する管理サーバ計算機５５とを備えている。管理サーバ計算機５５上では管理サーバ５５０が動作する。管理サーバ５５０は、サーバ構成管理部５５１及び設定変更部１５４を含む。残りのＷＥＢサーバサイト５０-2乃至５０-4もＷＥＢサーバサイト５０-1と同様の構成（図示せず）を備えている。なお、各ＷＥＢサーバサイト５０-1乃至５０-4における、ＷＥＢサーバ計算機グループの数、当該グループ内のＷＥＢサーバ計算機の数等は等しいとは限らない。但し、本実施形態では説明を簡略化するために、ＷＥＢサーバサイト５０-1乃至５０-4内の各ＷＥＢサーバ計算機グループは、ブートイメージ＃１乃至＃３のいずれかに対応するものとする。
【００７９】
管理サーバ５５０内のサーバ構成管理部５５１は、図９中のサーバ構成管理部４５１と同様に、ＷＥＢサーバ計算機グループ４０-i（＃ｉ）全体の負荷量ＮS及びＮCを求める機能を有する。またサーバ構成管理部５５１は、図９中のサーバ構成管理部４５１と同様に、図１２に示したデータ構造のテーブル４５１ａと負荷量ＮS及びＮCとに基づいて、使用を開始または使用を停止すべきプロビジョニングノード計算機の数を決定する機能を有する。サーバ構成管理部５５１は更に、自身が決定した数のプロビジョニングノード計算機の使用開始または使用停止を、共有プロビジョニングノード計算機サイト６０の後述する管理サーバ６５０に依頼（要求）する機能を有する。
【００８０】
一方、共有プロビジョニングノード計算機サイト６０は、プロビジョニングノード計算機１５-1乃至１５-4と、ストレージ装置４７とを備えている。ストレージ装置４７は、図９のシステムで用いられる場合と同様に、ブートイメージ＃１乃至＃３が保存されたディスクＤ１乃至Ｄ３と、テーブル４７０を保持するデータベースとを備えている。プロビジョニングノード計算機１５-1乃至１５-4とストレージ装置４７とはＳＡＮ４６により相互接続されている。この構成により、プロビジョニングノード計算機１５-1乃至１５-4のうちの任意のプロビジョニングノード計算機を、ブートイメージ＃１乃至＃３のうちのいずれかでブートできる。
【００８１】
プロビジョニングノード計算機１５-1乃至１５-4は、ネットワーク７０により、ＷＥＢサーバサイト５０-1に設けられた負荷分散装置１２、管理サーバ計算機５５、及びＷＥＢサーバ計算機グループ４０-1乃至４０-3（グループ４０-1乃至４０-3内の各ＷＥＢサーバ計算機）とも接続されている。また、プロビジョニングノード計算機１５-1乃至１５-4は、ネットワーク７０により、他のＷＥＢサーバサイト５０-2乃至５０-4に設けられた負荷分散装置、管理サーバ計算機及びＷＥＢサーバ計算機グループ（いずれも図示せず）とも接続されている。これにより、任意のプロビジョニングノード計算機を、任意のＷＥＢサーバサイト内の任意のＷＥＢサーバ計算機グループに属する負荷分散対象計算機として割り当てることもできる。
【００８２】
そこで、共有プロビジョニングノード計算機サイト６０には、各運用母体のＷＥＢサーバサイト５０-1乃至５０-4からのプロビジョニングノード使用開始依頼（使用開始要求）及び使用終了依頼（使用終了要求）を処理するための管理サーバ計算機６５が設けられている。この管理サーバ計算機６５もネットワーク７０及びＳＡＮ４６に接続されている。管理サーバ計算機６５上では、プロビジョニングノード使用開始依頼及び使用終了依頼を処理する機能を有する管理サーバ６５０が動作する。管理サーバ６５０は、プロビジョニングノード管理部６５２、プロビジョニングノード起動／停止部１５３、及びプロビジョニングノードブートイメージ選択部４５５の各機能要素を含む。
【００８３】
プロビジョニングノード管理部６５２は、プロビジョニングノード計算機１５-1乃至１５-4の使用状況を管理する機能を有する。プロビジョニングノード管理部６５２はまた、ＷＥＢサーバサイト５０-1乃至５０-4からのプロビジョニングノード使用開始依頼または使用終了依頼を受け付け、その依頼を処理するためにプロビジョニングノード起動／停止部１５３、更にはプロビジョニングノードブートイメージ選択部４５５を制御する機能を有する。
【００８４】
プロビジョニングノード管理部６５２は、図１９に示すデータ構造のプロビジョニングノード計算機利用レコードファイル６５２ａを保持している。このレコードファイル６５２ａには、プロビジョニングノード計算機利用レコードが保存される。各レコードには、ＷＥＢサーバサイト５０-1乃至５０-4からの要求で起動されたプロビジョニングノード計算機の利用状況を示す情報が記録される。具体的には、プロビジョニングノード計算機利用レコードは、項目（フィールド）８１乃至８４を含む。項目８１は、プロビジョニングノード計算機が起動された時刻（つまり起動開始時刻）を記録するのに用いられる。項目８２は、プロビジョニングノード計算機が停止された時刻（つまり起動終了時刻）を記録するのに用いられる。この項目８１及び８２にそれぞれ記録される起動開始時刻及び起動終了時刻により、プロビジョニングノード計算機が起動している時間（起動時間）が示される。項目８３は、プロビジョニングノード計算機を識別するための情報、例えばプロビジョニングノード識別子を記録するのに用いられる。項目８４は、項目８３に記録される識別子で示されるプロビジョニングノードを使用したＷＥＢサーバサイトの情報を記録するのに用いられる。なお、レコードファイル６５２ａに保存される各レコードには、図１９に示した形式以外にも、ログ形式等、様々な形式を用いることができる。また、起動開始時刻と起動終了時刻の情報を、別のレコードとして記録することも可能である。また、プロビジョニングノード計算機が起動している時間の代わりに、プロビジョニングノード計算機が停止している時間（停止時間）を表す情報がレコードに記録される構成としてもよい。
【００８５】
次に、図１６の負荷分散システムの動作について、図９のシステムと相異する点を中心に、図１７及び図１８のフローチャートを参照して説明する。ＷＥＢサーバサイト５０-1の管理サーバ計算機５５上で動作するサーバ構成管理部５５１は、まず図１０中のステップＳ６１乃至Ｓ６５と同様の処理（ステップＳ８１乃至Ｓ８５）を実行する。即ちサーバ構成管理部５５１は、変数ｉを初期値１に設定した後（ステップＳ８１）、当該変数ｉにより指定されるＷＥＢサーバ計算機グループ４０-i（＃ｉ）全体の負荷量ＮS及びＮCを求める（ステップＳ８２，Ｓ８３）。次にサーバ構成管理部５５１は、テーブル４５１ａを参照して、グループ４０-i（＃ｉ）の現在の負荷量ＮS及びＮCにそれぞれ対応する計画使用プロビジョニングノード計算機数ｎ１及びｎ２を決定する（ステップＳ８３）。このステップＳ８３において、サーバ構成管理部５５１は、負荷量ＮS及びＮCにそれぞれ対応する計画使用プロビジョニングノード計算機数ｎ１及びｎ２のうち、計算機数が多い方を、実際に使用する計画使用プロビジョニングノード計算機数として選択する。次にサーバ構成管理部５５１は、選択した計画使用プロビジョニングノード計算機数と、現在使用中のプロビジョニングノード計算機数とを比較する（ステップＳ８５）。この現在使用中のプロビジョニングノード計算機数は、共有プロビジョニングノード計算機サイト６０のプロビジョニングノード管理部６５２によって管理されている。
【００８６】
もし、両計算機数が等しいならば、サーバ構成管理部５５１は一定時間を待った後（ステップＳ８６）、変数ｉを操作してＷＥＢサーバ計算機グループを切り替える（ステップＳ８７）。これにより、切り替え後のＷＥＢサーバ計算機グループを対象に、ステップＳ８２から処理が繰り返される。
【００８７】
これに対し、計画使用プロビジョニングノード計算機数の方が多いならば（ステップＳ８５）、サーバ構成管理部５５１は、新たにプロビジョニングノード計算機を負荷分散の対象計算機として割り当てる必要があると判断する。この場合、サーバ構成管理部５５１は、共有プロビジョニングノード計算機サイト６０に設けられた、プロビジョニングノード計算機管理のための管理サーバ計算機６５上の管理サーバ６５０に、上記両計算機数の差分Ｎｄの数のプロビジョニングノード計算機の使用開始をネットワーク７０を介して依頼する（ステップＳ８８）。
【００８８】
また、計画使用プロビジョニングノード計算機数の方が現在使用中のプロビジョニングノード計算機の数より少ないならば（ステップＳ８５）、サーバ構成管理部５５１は、両計算機数の差分Ｎｄの数のプロビジョニングノード計算機の使用を終了させる必要があると判断する。この場合、サーバ構成管理部５５１は、管理サーバ計算機６５上の管理サーバ６５０に、上記Ｎｄの数のプロビジョニングノード計算機の使用終了をネットワーク７０を介して依頼する（ステップＳ９１）。
【００８９】
さて、管理サーバ６５０内のプロビジョニングノード管理部６５２は、ＷＥＢサーバサイト５０-1乃至５０-4からの依頼（プロビジョニングノード計算機の使用開始または使用終了の依頼）を待っている（ステップＳ１０１）。このような状態で、プロビジョニングノード管理部６５２が、例えばＷＥＢサーバサイト５０-1に設けられた管理サーバ計算機５５上の管理サーバ５５０からの依頼を受信したものとする。この場合、プロビジョニングノード管理部６５２は、受信した依頼の種類が、プロビジョニングノード計算機の使用開始依頼であるか、或いは使用終了依頼であるかを判別する（ステップＳ１０２）。
【００９０】
もし、プロビジョニングノード計算機の使用開始依頼である場合、プロビジョニングノード管理部６５２は、プロビジョニングノード計算機１５-1乃至１５-4の中に、使用可能なプロビジョニングノード計算機が存在するか否かを調べる（ステップＳ１０３）。もし、使用可能なプロビジョニングノード計算機が存在するならば、プロビジョニングノード管理部６５２は、プロビジョニングノード計算機を使用を開始する計算機として割り当てる（ステップＳ１０４）。
【００９１】
管理サーバ６５０内のプロビジョニングノードブートイメージ選択部４５５は、プロビジョニングノード管理部６５２によって割り当てられたプロビジョニングノード計算機を、ブートイメージ＃ｉが保存されているディスクＤｉと対応付ける。つまりプロビジョニングノードブートイメージ選択部４５５は、プロビジョニングノード管理部６５２によって割り当てられたプロビジョニングノード計算機をブートすべきブートイメージ＃ｉ（ブートイメージ＃ｉが保存されているディスクＤｉ）を選択する（ステップＳ１０５）。すると、管理サーバ６５０内のプロビジョニングノード起動／停止部１５３が動作する。プロビジョニングノード起動／停止部１５３は、プロビジョニングノード計算機１５-1乃至１５-4のうち、プロビジョニングノード管理部６５２によって割り当てられたプロビジョニングノード計算機を起動する（ステップＳ１０６）。この起動されたプロビジョニングノード計算機は、プロビジョニングノードブートイメージ選択部４５５によって、当該計算機をブートすべきブートイメージ＃ｉが保存されたディスクＤｉと対応付けられている。そこで、起動されたプロビジョニングノード計算機は、当該計算機と対応付けられているディスクＤｉに保存されたブートイメージ＃ｉを読み出してブートを実行する。
【００９２】
プロビジョニングノード管理部６５２は、使用を開始する計算機として割り当てたプロビジョニングノード計算機が起動されると、プロビジョニングノード計算機利用レコードファイル６５２ａに、その際の時刻である起動開始時刻と、起動されたプロビジョニングノード計算機の識別子（プロビジョニングノード識別子）と、当該プロビジョニングノード計算機を使用するＷＥＢサーバサイト（ここではＷＥＢサーバサイト５０-1）を示す情報とが記録されたレコードを保存する（ステップＳ１０７）。ここで、ＷＥＢサーバサイトを示す情報には、当該サイトのドメイン名が用いられる。このドメイン名とＩＰ（Internet Protocol）アドレスとは、図示せぬＤＮＳ（Domain Name System）によって対応付けられる。
【００９３】
プロビジョニングノード管理部６５２はステップＳ１０７を実行すると、ＷＥＢサーバサイト５０-1の管理サーバ５５０からの依頼（プロビジョニングノード計算機の使用開始依頼）に対する処理の結果を、当該管理サーバ５５０にネットワーク７０を介して通知する（ステップＳ１０８）。
【００９４】
一方、使用可能なプロビジョニングノード計算機が存在しないならば（ステップＳ１０３）、プロビジョニングノード管理部６５２は、その旨を、プロビジョニングノード計算機の使用開始の依頼元（ＷＥＢサーバサイト５０-1の管理サーバ５５０）に通知する（ステップＳ１０８）。
【００９５】
また、ＷＥＢサーバサイト５０-1の管理サーバ５５０からの依頼が、プロビジョニングノード計算機の使用終了依頼であるならば（ステップＳ１０２）、プロビジョニングノード管理部６５２は、現在使用中のプロビジョニングノード計算機の中から、使用を終了させるプロビジョニングノード計算機を決定する（ステップＳ１０９）。プロビジョニングノード起動／停止部１５３は、プロビジョニングノード管理部６５２によって使用終了が決定されたプロビジョニングノード計算機を停止する（ステップＳ１１０）。するとプロビジョニングノード管理部６５２は、レコードファイル６５２ａの中から、停止されたプロビジョニングノード計算機の識別子が記録され、且つ起動終了時刻の項目８２が空欄となっているレコードを検索し、当該レコード中の項目８２に現在時刻を起動終了時刻として記録する（ステップＳ１１１）。そしてプロビジョニングノード管理部６５２は、ＷＥＢサーバサイト５０-1の管理サーバ５５０からの依頼（プロビジョニングノード計算機の使用終了依頼）に対する処理の結果を、当該管理サーバ５５０にネットワーク７０を介して通知する（ステップＳ１０８）。
【００９６】
ＷＥＢサーバサイト５０-1の管理サーバ５５０内のサーバ構成管理部５５１は、共有プロビジョニングノード計算機サイト６０の管理サーバ６５０に対してプロビジョニングノード計算機使用開始を依頼した場合（ステップＳ８８）、当該管理サーバ６５０内のプロビジョニングノード管理部６５２から処理の結果が通知されるのを待つ。そして、プロビジョニングノード計算機使用開始依頼に対する結果が通知されると、サーバ構成管理部５５１は、その結果から依頼が成功したか否かを判定する（ステップＳ８９）。もし、成功ならば、プロビジョニングノード管理部６５２は設定変更部１５４に制御を渡す。すると設定変更部１５４は、プロビジョニングノード計算機使用開始依頼に応じて起動されたプロビジョニングノード計算機が、ＷＥＢサーバ計算機グループ４０-i（＃ｉ）内での負荷分散の対象となる負荷分散対象計算機として追加されるように、負荷分散装置１２を制御する（ステップＳ９０）。
【００９７】
このように本実施形態においては、４つの異なる運用母体のＷＥＢサーバサイト５０-1乃至５０-4は、共有プロビジョニングノード計算機サイト（予備サイト）６０のプロビジョニングノード計算機を利用することができる。また、レコードファイル６５２ａを、プロビジョニングノード計算機を利用した運用母体に対する課金等の情報に適用することができる。
【００９８】
本実施形態では、各ＷＥＢサーバサイト５０-1乃至５０-4内の複数のＷＥＢサーバ計算機が、当該計算機で実行されるブートイメージの種類毎にグループ分けして管理されることを前提としている。しかし、各ＷＥＢサーバサイト５０-1乃至５０-4において、当該サーバサイト内の全てのＷＥＢサーバ計算機がいずれも同じ種類のブートイメージを実行する構成であっても構わない。この場合、各ＷＥＢサーバサイト５０-1乃至５０-4内のＷＥＢサーバ計算機のグループ分けは不要となる。また、いずれのＷＥＢサーバサイト５０-1乃至５０-4のＷＥＢサーバ計算機も同じ種類のブートイメージを実行する構成であるならば、共有プロビジョニングノード計算機サイト６０内のストレージ装置４７及びプロビジョニングノードブートイメージ選択部４５５も不要となる。また、専用の負荷分散装置１２に代えて、ＤＮＳ（Domain Name System）のラウンドロビン機能を負荷分散装置として利用することも可能である。このことは、第１乃至第４の実施形態で適用された負荷分散装置についても同様である。ＤＮＳラウンドロビン機能とは、ドメイン名とＩＰアドレスを対応付けるＤＮＳを応用して、アクセスの多いサーバの負荷分散を行う機能である。具体的には、１つのドメイン名に複数のＩＰアドレスを割り当てて、問い合わせがある度に順番に答えることにより、１台の計算機へアクセスが集中するのを防ぐ機能である。
【００９９】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【０１００】
【図１】本発明の第１の実施形態に係る負荷分散システムの構成を示すブロック図。
【図２】同第１の実施形態の動作を説明するためのフローチャート。
【図３】本発明の第２の実施形態に係る負荷分散システムの構成を示すブロック図。
【図４】同第２の実施形態の動作を説明するためのフローチャート。
【図５】図１中のテーブル１５１ａのデータ構造例を示す図。
【図６】図３中のテーブル２５１ａデータ構造例を示す図。
【図７】本発明の第３の実施形態に係る負荷分散システムの構成を示すブロック図。
【図８】同第３の実施形態の動作を説明するためのフローチャート。
【図９】本発明の第４の実施形態に係る負荷分散システムの構成を示すブロック図。
【図１０】同第４の実施形態の動作を説明するためのフローチャート。
【図１１】図７中のテーブル３５１ａのデータ構造例を示す図。
【図１２】図９中のテーブル４５１ａのデータ構造例を示す図。
【図１３】図９中のテーブル４７０のデータ構造例を示す図。
【図１４】図１３に示す状態のテーブル４７０に、ディスクＤ１の識別子（Ｄ１）に対応付けて、プロビジョニングノード計算機１５-1及び１５-2の識別子（Ｐ１及びＰ２）が追加された状態を示す図。
【図１５】本発明の第４の実施形態の変形例を示すブロック構成図。
【図１６】本発明の第５の実施形態に係る負荷分散システムの構成を示すブロック図。
【図１７】同第５の実施形態におけるＷＥＢサーバサイトの動作を説明するためのフローチャート。
【図１８】同第５の実施形態における共有プロビジョニングノード計算機サイトの動作を説明するためのフローチャート。
【図１９】図１３中のレコードファイル６５２ａのデータ構造例を示す図。
【符号の説明】
【０１０１】
１１-1〜１１-6，２１-1〜２１-6，４１-11〜４１-1p，４１-21〜４１-2q，４１-31〜４１-3r…ＷＥＢサーバ計算機、１２，２２…負荷分散装置、１５，２５，３５，４５，５５…管理サーバ計算機、１５-1〜１５-4…プロビジョニングノード計算機（予備計算機）、４０-1〜４０-3…ＷＥＢサーバ計算機グループ、４７…ストレージ装置、５０-1〜５０-4…ＷＥＢサーバサイト、５３ａ，５３ｂ…ローカルディスク（ブートイメージ記憶手段）、６０…共有プロビジョニングノード計算機サイト（予備サイト）、７０…ネットワーク、１２０…計算機負荷情報取得部、１５０，２５０，３５０，４５０，５５０…管理サーバ、１５１，２５１，３５１，４５１，５５１…サーバ構成管理部、１５１ａ，２５１ａ，３５１ａ，４５１ａ，４７０…テーブル、１５２，６５２…プロビジョニングノード管理部（予備計算機管理手段）、１５３…プロビジョニングノード起動／停止部（予備計算機起動／停止手段）、１５４…設定変更部、４５５…ブートイメージ選択部、６５２ａ…プロビジョニングノード計算機利用レコードファイル、Ｆ１〜Ｆ６，Ｆ11〜Ｆ1p，Ｆ21〜Ｆ2q，Ｆ31〜Ｆ3r…計算機負荷情報取得部、Ｄ１〜Ｄ３…ディスク（ディスクドライブ、ブートイメージ記憶手段）。
【図１】
2005011331.tif 000003
【図２】
2005011331.tif 000004
【図３】
2005011331.tif 000005
【図４】
2005011331.tif 000006
【図５】
2005011331.tif 000007
【図６】
2005011331.tif 000008
【図７】
2005011331.tif 000009
【図８】
2005011331.tif 000010
【図９】
2005011331.tif 000011
【図１０】
2005011331.tif 000012
【図１１】
2005011331.tif 000013
【図１２】
2005011331.tif 000014
【図１３】
2005011331.tif 000015
【図１４】
2005011331.tif 000016
【図１５】
2005011331.tif 000017
【図１６】
2005011331.tif 000018
【図１７】
2005011331.tif 000019
【図１８】
2005011331.tif 000020
【図１９】
2005011331.tif 000021