(57)【要約】    【課題】  多階層のサーバシステムに設けられ、このサーバシステムの応答時間を短縮するロードバランス装置、このロードバランス装置を備えたサーバシステム及びそのロードバランス方法を提供する。    【解決手段】  複数のフロントエンドサーバ、ＤＢサーバ及びストレージからなる３階層のサーバシステムに設けられたロードバランス装置５において、ストレージ及びＤＢサーバの負荷状況を評価する負荷評価手段１１を設け、ストレージ及びＤＢサーバの負荷が過剰であるか否かを判断する負荷状況判断手段１９を設け、ストレージ又はＤＢサーバの負荷が過剰であるときには、予備サーバの投入を行わない過負荷抑止手段２１を設ける。【選択図】  図２
2006268155.tif 000002
【特許請求の範囲】
【請求項１】
複数の第１サーバを含む第１層及び第２乃至第ｎ（ｎは２以上の整数）サーバを夫々含む第２乃至第ｎ層によりｎ階層構造をなすサーバシステムに組み込まれ、前記複数の第１サーバに対して処理を分散するロードバランス装置において、前記第２乃至第ｎサーバの負荷を評価する負荷評価手段と、この負荷評価手段の評価結果に基づいて、前記サーバシステムに予備の前記第１サーバが存在し、且つ前記第２乃至第ｎサーバがいずれも過負荷状態にない場合に、前記予備の第１サーバを前記第１層に組み込んで駆動させ、前記第２乃至第ｎサーバのいずれかが過負荷状態である場合に、前記予備の第１サーバを前記第１層に組み込まない過負荷抑止手段と、を有することを特徴とするロードバランス装置。
【請求項２】
前記負荷評価手段の評価結果に基づいて、前記第２乃至第ｎサーバが過負荷状態にあるか否かを判断し、その結果を前記過負荷抑止手段に対して出力する負荷状況判断手段を有することを特徴とする請求項１に記載のロードバランス装置。
【請求項３】
前記過負荷抑止手段は、前記サーバシステムに前記予備の第１サーバが存在しない場合、及び前記第２乃至第ｎサーバのいずれかが過負荷状態である場合に、前記第１サーバに対するリクエストを抑止するものであることを特徴とする請求項１又は２に記載のロードバランス装置。
【請求項４】
前記ｎが３であることを特徴とする請求項１乃至３のいずれか１項に記載のロードバランス装置。
【請求項５】
前記第３サーバは、データベースが記憶されたストレージであり、前記第２サーバは、前記第１サーバと前記第３サーバとの間に接続され、前記第１サーバから入力されたリクエストを前記第３サーバに伝達すると共に、前記第３サーバから出力されたデータを前記第１サーバに伝達するデータベースサーバであることを特徴とする請求項４に記載のロードバランス装置。
【請求項６】
前記負荷評価手段が、前記データベースサーバのＣＰＵの使用時間を測定する手段を有することを特徴とする請求項５に記載のロードバランス装置。
【請求項７】
前記負荷評価手段が、前記データベースサーバがリクエストを処理し、その処理結果を前記第１サーバに返すまでの応答時間を測定する手段を有することを特徴とする請求項５に記載のロードバランス装置。
【請求項８】
前記負荷評価手段が、前記ストレージがリクエストを処理し、その処理結果を前記データベースサーバに返すまでの遅延時間を測定する手段を有することを特徴とする請求項５に記載のロードバランス装置。
【請求項９】
前記負荷評価手段が、前記ストレージで処理待ちとなっている処理の数を測定する手段を有することを特徴とする請求項５に記載のロードバランス装置。
【請求項１０】
前記負荷評価手段が、前記データベースサーバのＣＰＵの使用時間を測定する手段、前記データベースサーバがリクエストを処理し、その処理結果を前記第１サーバに返すまでの応答時間を測定する手段、前記ストレージがリクエストを処理し、その処理結果を前記データベースサーバに返すまでの遅延時間を測定する手段、及び前記ストレージで処理待ちとなっている処理の数を測定する手段のうち、少なくとも２以上の手段と、前記２以上の手段の測定結果を集計する負荷状況集計手段と、を有することを特徴とする請求項５に記載のロードバランス装置。
【請求項１１】
複数の第１サーバを有する第１層と、第２乃至第ｎ（ｎは２以上の整数）サーバを夫々有し前記第１層と共にｎ階層構造をなす第２乃至第ｎ層と、前記複数の第１サーバに対して処理を分散するロードバランス装置と、を有し、前記ロードバランス装置は、前記第２乃至第ｎサーバの負荷を評価する負荷評価手段と、この負荷評価手段の評価結果に基づいて、予備の前記第１サーバが存在し、且つ前記第２乃至第ｎサーバがいずれも過負荷状態にない場合に、前記予備の第１サーバを前記第１層に組み込んで駆動させ、前記第２乃至第ｎサーバのいずれかが過負荷状態である場合に、前記予備の第１サーバを前記第１層に組み込まない過負荷抑止手段と、を有することを特徴とするサーバシステム。
【請求項１２】
前記ロードバランス装置は、前記負荷評価手段の評価結果に基づいて、前記第２乃至第ｎサーバが過負荷状態にあるか否かを判断し、その結果を前記過負荷抑止手段に対して出力する負荷状況判断手段を有することを特徴とする請求項１１に記載のサーバシステム。
【請求項１３】
前記過負荷抑止手段は、前記サーバシステムに前記予備の第１サーバが存在しない場合、及び前記第２乃至第ｎサーバのいずれかが過負荷状態である場合に、前記第１サーバに対するリクエストを抑止するものであることを特徴とする請求項１１又は１２に記載のサーバシステム。
【請求項１４】
前記ｎが３であることを特徴とする請求項１１乃至１３のいずれか１項に記載のサーバシステム。
【請求項１５】
前記第３サーバは、データベースが記憶されたストレージであり、前記第２サーバは、前記第１サーバと前記第３サーバとの間に接続され、前記第１サーバから入力されたリクエストを前記第３サーバに伝達すると共に、前記第３サーバから出力されたデータを前記第１サーバに伝達するデータベースサーバであることを特徴とする請求項１４に記載のサーバシステム。
【請求項１６】
前記負荷評価手段が、前記データベースサーバのＣＰＵの使用時間を測定する手段を有することを特徴とする請求項１５に記載のサーバシステム。
【請求項１７】
前記負荷評価手段が、前記データベースサーバがリクエストを処理し、その処理結果を前記第１サーバに返すまでの応答時間を測定する手段を有することを特徴とする請求項１５に記載のサーバシステム。
【請求項１８】
前記負荷評価手段が、前記ストレージがリクエストを処理し、その処理結果を前記データベースサーバに返すまでの遅延時間を測定する手段を有することを特徴とする請求項１５に記載のサーバシステム。
【請求項１９】
前記負荷評価手段が、前記ストレージで処理待ちとなっている処理の数を測定する手段を有することを特徴とする請求項１５に記載のサーバシステム。
【請求項２０】
前記負荷評価手段が、前記データベースサーバのＣＰＵの使用時間を測定する手段、前記データベースサーバがリクエストを処理し、その処理結果を前記第１サーバに返すまでの応答時間を測定する手段、前記ストレージがリクエストを処理し、その処理結果を前記データベースサーバに返すまでの遅延時間を測定する手段、及び前記ストレージで処理待ちとなっている処理の数を測定する手段のうち、少なくとも２以上の手段と、前記２以上の手段の測定結果を集計する負荷状況集計手段と、を有することを特徴とする請求項１５に記載のサーバシステム。
【請求項２１】
複数の第１サーバを含む第１層及び第２乃至第ｎ（ｎは２以上の整数）サーバを夫々含む第２乃至第ｎ層によりｎ階層構造をなすサーバシステムのロードバランス方法において、前記複数の第１サーバに対して処理を分散する負荷分散工程と、この負荷分散工程の結果、前記サーバシステムの応答時間が基準範囲内にあるか否かを判断する工程と、前記第２乃至第ｎサーバの負荷を評価する負荷評価工程と、前記応答時間が前記基準範囲内になく、予備の前記第１サーバが存在し、且つ前記第２乃至第ｎサーバがいずれも過負荷状態にない場合に、予備の前記第１サーバを前記第１層に組み込んで駆動させ、前記第２乃至第ｎサーバのいずれかが過負荷状態である場合に、前記予備の第１サーバを前記第１層に組み込まない過負荷抑止工程と、を有することを特徴とするサーバシステムのロードバランス方法。
【請求項２２】
前記負荷評価工程と前記過負荷抑止工程との間に、前記負荷評価工程における評価結果に基づいて前記第２乃至第ｎサーバが過負荷状態にあるか否かを判断する負荷状況判断工程を有することを特徴とする請求項２１に記載のサーバシステムのロードバランス方法。
【請求項２３】
前記過負荷抑止工程において、前記応答時間が前記基準範囲内になく、前記サーバシステムに前記予備の第１サーバが存在しない場合、及び前記応答時間が前記基準範囲内になく、前記第２乃至第ｎサーバのいずれかが過負荷状態である場合に、前記第１サーバに対するリクエストを抑止することを特徴とする請求項２１又は２２に記載のサーバシステムのロードバランス方法。
【請求項２４】
前記ｎが３であることを特徴とする請求項２１乃至２３のいずれか１項に記載のサーバシステムのロードバランス方法。
【請求項２５】
前記第３サーバは、データベースが記憶されたストレージであり、前記第２サーバは、前記第１サーバと前記第３サーバとの間に接続され、前記第１サーバから入力されたリクエストを前記第３サーバに伝達すると共に、前記第３サーバから出力されたデータを前記第１サーバに伝達するデータベースサーバであることを特徴とする請求項２４に記載のサーバシステムのロードバランス方法。
【請求項２６】
前記負荷評価工程が、前記データベースサーバのＣＰＵの使用時間を測定する工程を有することを特徴とする請求項２５に記載のサーバシステムのロードバランス方法。
【請求項２７】
前記負荷評価工程が、前記データベースサーバがリクエストを処理し、その処理結果を前記第１サーバに返すまでの応答時間を測定する工程を有することを特徴とする請求項２５に記載のサーバシステムのロードバランス方法。
【請求項２８】
前記負荷評価工程が、前記ストレージがリクエストを処理し、その処理結果を前記データベースサーバに返すまでの遅延時間を測定する工程を有することを特徴とする請求項２５に記載のサーバシステムのロードバランス方法。
【請求項２９】
前記負荷評価工程が、前記ストレージで処理待ちとなっている処理の数を測定する工程を有することを特徴とする請求項２５に記載のサーバシステムのロードバランス方法。
【請求項３０】
前記負荷評価工程が、前記データベースサーバのＣＰＵの使用時間を測定する工程、前記データベースサーバがリクエストを処理し、その処理結果を前記第１サーバに返すまでの応答時間を測定する工程、前記ストレージがリクエストを処理し、その処理結果を前記データベースサーバに返すまでの遅延時間を測定する工程、及び前記ストレージで処理待ちとなっている処理の数を測定する工程のうち、少なくとも２以上の工程と、前記２以上の工程における測定結果を集計する負荷状況集計工程と、を有することを特徴とする請求項２５に記載のサーバシステムのロードバランス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の階層からなるサーバシステムに組み込まれるロードバランス装置、このロードバランス装置を備えた多階層のサーバシステム、及びそのロードバランス方法に関する。
【背景技術】
【０００２】
従来より、複数の端末装置がサーバに接続して通信を行うウェブサーバシステムが使用されている。そして、複数のサーバを並列に動作させるサーバシステムにおいて、クライアントの端末装置が接続されるサーバ、即ち、フロントエンドサーバの負荷を管理するロードバランス装置を設ける技術が開示されている（例えば、特許文献１及び２参照。）。ロードバランス装置は、サーバシステム内に設けられた複数のフロントエンドサーバ間で負荷が均一になるように、処理を分散させるものである。例えば、応答時間が増大した場合に、予め設定されているポリシーに従って、処理能力の大小等のサーバの機差を考慮した最適サーバの選択、リクエストの投入抑止、予備サーバの追加等の方策を自動的に実施する。これにより、サーバシステム全体の処理速度を向上させ、例えばＷＷＷトランザクションの応答時間を短縮することができる。
【０００３】
一方、近時、サーバに接続する端末装置の増加及びサーバと端末装置との間の通信処理量の増大による通信速度の低下を防止するために、ウェブサーバシステムを３階層化する技術が開発されている（例えば、特許文献３参照。）。このような３階層のウェブサーバシステムにおいては、フロントエンド層、中間層及びバックエンド層が３層構造を構成している。フロントエンド層には、ネットワークを介して各ユーザの端末装置が接続される複数のフロントエンドサーバが設けられており、バックエンド層には、データベースが記憶されたストレージ（外部記憶装置）が設けられており、中間層には、端末装置からフロントエンドサーバを介して入力されたリクエストをストレージに伝達すると共に、ストレージから出力されたデータを、フロントエンドサーバを介して端末装置に伝達するデータベースサーバが設けられている。
【０００４】
【特許文献１】特開２００２−３４２２９８号公報
【特許文献２】特開２００３−１９６１７８号公報
【特許文献３】特開２００１−５７１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述の従来の技術には以下に示すような問題点がある。即ち、特許文献３に記載されているような３階層のサーバシステムにおいては、ロードバランス装置を使用してフロントエンドサーバの負荷を管理しても、応答時間を短縮する効果が不十分である。
【０００６】
本発明はかかる問題点に鑑みてなされたものであって、多階層のサーバシステムに設けられ、このサーバシステムの応答時間を短縮するロードバランス装置、このロードバランス装置を備えたサーバシステム及びそのロードバランス方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るロードバランス装置は、複数の第１サーバを含む第１層及び第２乃至第ｎ（ｎは２以上の整数）サーバを夫々含む第２乃至第ｎ層によりｎ階層構造をなすサーバシステムに組み込まれ、前記複数の第１サーバに対して処理を分散するロードバランス装置において、前記第２乃至第ｎサーバの負荷を評価する負荷評価手段と、この負荷評価手段の評価結果に基づいて、前記サーバシステムに予備の前記第１サーバが存在し、且つ前記第２乃至第ｎサーバがいずれも過負荷状態にない場合に、前記予備の第１サーバを前記第１層に組み込んで駆動させ、前記第２乃至第ｎサーバのいずれかが過負荷状態である場合に、前記予備の第１サーバを前記第１層に組み込まない過負荷抑止手段と、を有することを特徴とする。
【０００８】
本発明においては、過負荷抑止手段が、第２乃至第ｎサーバのいずれかが過負荷状態である場合に、予備の第１サーバを第１層に組み込まないことにより、過負荷状態にあるサーバの負荷を増大させることを防止し、サーバシステム全体の応答時間を短縮することができる。
【０００９】
また、前記過負荷抑止手段は、前記サーバシステムに前記予備の第１サーバが存在しない場合、及び前記第２乃至第ｎサーバのいずれかが過負荷状態である場合に、前記第１サーバに対するリクエストを抑止するものであることが好ましい。これにより、第２乃至第ｎサーバの負荷を軽減することができる。
【００１０】
更に、前記ｎが３であってもよい。このとき、第３サーバは、データベースが記憶されたストレージであり、第２サーバは、前記第１サーバと前記第３サーバとの間に接続され、前記第１サーバから入力されたリクエストを前記第３サーバに伝達すると共に、前記第３サーバから出力されたデータを前記第１サーバに伝達するデータベースサーバであってもよい。
【００１１】
本発明に係るサーバシステムは、複数の第１サーバを有する第１層と、第２乃至第ｎ（ｎは２以上の整数）サーバを夫々有し前記第１層と共にｎ階層構造をなす第２乃至第ｎ層と、前記複数の第１サーバに対して処理を分散するロードバランス装置と、を有し、前記ロードバランス装置は、前記第２乃至第ｎサーバの負荷を評価する負荷評価手段と、この負荷評価手段の評価結果に基づいて、予備の前記第１サーバが存在し、且つ前記第２乃至第ｎサーバがいずれも過負荷状態にない場合に、前記予備の第１サーバを前記第１層に組み込んで駆動させ、前記第２乃至第ｎサーバのいずれかが過負荷状態である場合に、前記予備の第１サーバを前記第１層に組み込まない過負荷抑止手段と、を有することを特徴とする。
【００１２】
本発明に係るサーバシステムのロードバランス方法は、複数の第１サーバを含む第１層及び第２乃至第ｎ（ｎは２以上の整数）サーバを夫々含む第２乃至第ｎ層によりｎ階層構造をなすサーバシステムのロードバランス方法において、前記複数の第１サーバに対して処理を分散する負荷分散工程と、この負荷分散工程の結果、前記サーバシステムの応答時間が基準範囲内にあるか否かを判断する工程と、前記第２乃至第ｎサーバの負荷を評価する負荷評価工程と、前記応答時間が前記基準範囲内になく、予備の前記第１サーバが存在し、且つ前記第２乃至第ｎサーバがいずれも過負荷状態にない場合に、予備の前記第１サーバを前記第１層に組み込んで駆動させ、前記第２乃至第ｎサーバのいずれかが過負荷状態である場合に、前記予備の第１サーバを前記第１層に組み込まない過負荷抑止工程と、を有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、第２乃至第ｎサーバのいずれかが過負荷状態である場合に、予備の第１サーバを第１層に組み込まないことにより、過負荷状態にあるサーバの負荷を増大させることを防止し、サーバシステム全体の応答時間を短縮することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態について添付の図面を参照して具体的に説明する。図１は、本実施形態に係るサーバシステムを示すブロック図であり、図２は、図１に示すロードバランス装置を示すブロック図である。図１に示すように、本実施形態に係るサーバシステム１は、３階層のサーバシステムである。
【００１５】
サーバシステム１のバックエンド層には、データベースが記憶されたストレージ（外部記憶装置）２が設けられている。ストレージ２は、例えばハードディスク等の大容量記憶装置を備えた装置である。また、データサーバ１のフロントエンド層には、複数のフロントエンドサーバ４が設けられている。フロントエンドサーバ４は、ネットワークを介して各ユーザの端末装置（図示せず）が接続されるものである。端末装置とは、例えばパーソナルコンピュータ等である。更に、サーバシステム１の中間層には、データベースサーバ３が設けられている。データベースサーバ３はストレージ２とフロントエンドサーバ４との間に接続されており、端末装置からフロントエンドサーバ４を介して入力されたリクエストをストレージ２に伝達すると共に、ストレージ２から出力されたデータをフロントエンドサーバ４を介して端末装置に伝達するものである。
【００１６】
更にまた、サーバシステム１には、ロードバランス装置５が設けられている。ロードバランス装置５は、ストレージ２、データベースサーバ３及び各フロントエンドサーバ４に接続されている。ロードバランス装置５は、ストレージ２、データベースサーバ３及びフロントエンドサーバ４の負荷を管理し、複数のフロントエンドサーバ４間で負荷が均一になるように処理を分散させると共に、ストレージ２、データベースサーバ３及びフロントエンドサーバ４の負荷が過剰となることを防止するために、リクエストの投入抑止及び予備サーバの追加等を行うものである。ロードバランス装置５は外部のネットワークにも接続可能となっている。
【００１７】
図２に示すように、ロードバランス装置５においては、ストレージ２及びデータベースサーバ３の負荷状況を評価する負荷評価手段１１が設けられている。負荷評価手段１１には、データベースサーバ３（以下、ＤＢサーバ３ともいう）のＣＰＵ（Central Processing Unit：中央処理装置）の使用時間の測定を行うＤＢサーバＣＰＵ使用率測定手段１２が設けられている。また、負荷評価手段１１には、ＤＢサーバ３がリクエストを処理し、その処理結果をフロントエンドサーバ４に返すまでの応答時間（レスポンスタイム）を測定するＤＢサーバレスポンスタイム測定手段１３が設けられている。更に、負荷評価手段１１には、ストレージ２がリクエストを処理し、その処理結果をＤＢサーバ３に返すまでの遅延時間（レイテンシ）を測定するストレージＩ／Ｏレイテンシ測定手段１４が設けられている。更にまた、負荷評価手段１１には、ストレージ２で処理待ちとなっているトランザクションの数を測定するストレージＩ／Ｏ待ち行列測定手段１５が設けられている。
【００１８】
更にまた、負荷評価手段１１には、ＤＢサーバＣＰＵ使用率測定手段１２、ＤＢサーバレスポンスタイム測定手段１３、ストレージＩ／Ｏレイテンシ測定手段１４及びストレージＩ／Ｏ待ち行列測定手段１５に対して、決まった時間間隔で測定を指示し、その測定結果を集計する負荷状況集計手段１６が設けられている。
【００１９】
また、ロードバランス装置５には、管理ポリシー記憶手段１７が設けられている。管理ポリシー記憶手段１７には、ストレージ２及びＤＢサーバ３の負荷が過剰であるか否かを判断する際の判断基準である管理ポリシー１８が記憶されている。
【００２０】
管理ポリシー１８において、ＤＢサーバ３の負荷が過剰であるとする基準は、例えば以下のとおりである。
（１）ＤＢサーバＣＰＵ使用率測定手段１２による測定の結果、ＤＢサーバ３のＣＰＵ使用率が９０％以上である場合。
（２）ＤＢサーバレスポンスタイム測定手段１３による測定の結果、ＤＢサーバ３のレスポンスタイムが１秒以上である場合。
【００２１】
また、管理ポリシー１８において、ストレージ２の負荷が過剰であるとする基準は、例えば以下のとおりである。
（３）ストレージＩ／Ｏレイテンシ測定手段１４による測定の結果、ストレージ２のレイテンシが１５ｍｓ（ミリ秒）以上である場合。
（４）ストレージＩ／Ｏ待ち行列測定手段１５による測定の結果、ストレージ２の待ち行列数が５以上である場合。
【００２２】
更にまた、ロードバランス装置５には、負荷状況集計手段１６の集計結果が入力され、管理ポリシー１８に従ってストレージ２及びＤＢサーバ３の負荷が過剰であるか否かを判断する負荷状況判断手段１９が設けられている。
【００２３】
一方、ロードバランス装置５においては、フロントエンドサーバ４の負荷状況を監視すると共に、複数のフロントエンドサーバ４間で負荷が均一になるように処理を分散させるフロントエンドサーバ負荷分散手段２０が設けられている。フロントエンドサーバ負荷分散手段２０は、各フロントエンドサーバ４に接続されており、また、ネットワークを介して端末装置（図示せず）に接続されるようになっている。
【００２４】
また、ロードバランス装置５には、負荷状況判断手段１９からストレージ２及びＤＢサーバ３の負荷が過剰であるか否かの判断結果が入力されると共に、フロントエンドサーバ負荷分散手段２０からフロントエンドサーバ４の監視結果が入力され、これらの結果に基づいて、ストレージ２、データベースサーバ３及びフロントエンドサーバ４の負荷が過剰となることを防止するために、リクエストの投入抑止及び予備サーバの追加等を行う過負荷抑止手段２１が設けられている。
【００２５】
なお、サーバシステム１におけるストレージ２、データベースサーバ３、フロントエンドサーバ４及びロードバランス装置５は、固定配線によって相互に接続されていてもよく、ネットワークを介して相互に接続されていてもよい。また、ロードバランス装置５において、管理ポリシー記憶手段１７以外の各手段は、ハードウエアによって構成されていてもよく、ソフトウエアによって構成されていてもよい。
【００２６】
次に、上述の如く構成された本実施形態に係るサーバシステムの動作、即ち、本実施形態に係るサーバシステムのロードバランス方法について、図１乃至図３を参照して説明する。図３は、本実施形態に係るサーバシステムの動作を示すフローチャート図である。サーバシステム１が動作しているときには、各ユーザの端末装置がネットワークを介してサーバシステム１のロードバランス装置５に接続される。そして、各端末装置から種々のリクエストがロードバランス装置５に入力され、ロードバランス装置５はフロントエンドサーバ４に対してこのリクエストを振り分ける。フロントエンドサーバ４は、必要に応じてＤＢサーバ３を介してストレージ２からデータベースの一部を読出し、リクエストに対応する処理を行う。そして、その処理結果を、ロードバランス装置５を介して端末装置に返答する。
【００２７】
このとき、図３のステップＳ１に示すように、ロードバランス装置５のフロントエンドサーバ負荷分散手段２０は、複数のフロントエンドサーバ４間で負荷が分散されるように、リクエストを送るフロントエンドサーバ４を選択する。即ち、フロントエンドサーバ４に対するロードバランス施策を実施する。具体的には、下記（ａ）乃至（ｄ）のいずれかの方式を実施して、リクエストの送付先を選択する。
（ａ）リクエストが来た順番に、各フロントエンドサーバ４を順々に選択するラウンドロビン方式。
（ｂ）各フロントエンドサーバ４に対する端末装置の接続数を監視して、最も接続数が少ないフロントエンドサーバ４を選択する方式。
（ｃ）測定用パケットを各フロントエンドサーバ４に送り、その応答時間を測定することによって各フロントエンドサーバ４の負荷の大きさを評価して、応答が速いフロントエンドサーバを選択する方式。
（ｄ）フロントエンドサーバ４に優先順位を設定し、アクセス量に閾値（スレッショルド）を設け、優先順位がより上位のフロントエンドサーバのアクセス量がスレッショルドを超えたら、優先順位がそれより下位のフロントエンドサーバを選択する方式。
【００２８】
そして、ステップＳ２に示すように、フロントエンドサーバ負荷分散手段２０が、ステップＳ１の施策によりサーバシステムの応答時間が基準範囲内にあるか否かを判定する。応答時間が基準範囲内にある場合には、ステップＳ１に戻り、ロードバランス施策を継続する。一方、応答時間が基準範囲よりも長くなった場合には、ステップＳ３に進む。
【００２９】
ステップＳ３においては、追加投入する予備のフロントエンドサーバ（以下、予備サーバともいう）の有無を確認する。予備サーバが無い場合は、ステップＳ４に進み、過負荷抑止手段２１が新たなリクエストの投入を抑止する。そして、ステップＳ１に戻り、ロードバランス施策を継続する。
【００３０】
一方、予備サーバが存在する場合は、ステップＳ５に進み、予備サーバを投入することによってサーバシステム全体の応答時間が短縮化されるか否かを調べる。図２に示すように、負荷状況集計手段１６は、一定の時間間隔で、ＤＢサーバＣＰＵ使用率測定手段１２、ＤＢサーバレスポンスタイム測定手段１３、ストレージＩ／Ｏレイテンシ測定手段１４、ストレージＩ／Ｏ待ち行列測定手段１５に対して測定を指示する。これにより、負荷評価手段１１におけるＤＢサーバＣＰＵ使用率測定手段１２が、ＤＢサーバ３のＣＰＵの使用時間を測定する。また、ＤＢサーバレスポンスタイム測定手段１３が、ＤＢサーバ３がリクエストを処理し、その処理結果をフロントエンドサーバ４に返すまでの応答時間（レスポンスタイム）を測定する。更に、ストレージＩ／Ｏレイテンシ測定手段１４が、ストレージ２がリクエストを処理し、その処理結果をＤＢサーバ３に返すまでの遅延時間（レイテンシ）を測定する。更にまた、ストレージＩ／Ｏ待ち行列測定手段１５が、ストレージ２で処理待ちとなっているトランザクションの数を測定する。そして、これらの測定結果を負荷状況集計手段１６に対して出力する。
【００３１】
負荷状況集計手段１６は、これらの測定結果を集計し、負荷状況判断手段１９に対して出力する。負荷状況集計手段１６は一定時間毎に前記測定結果を取得して集計しているため、負荷状況判断手段１９は、一番最近に集計された結果に基づき、管理ポリシー記憶手段１７から読み出した管理ポリシー１８に従って、ストレージ２及びＤＢサーバ３が過負荷であるか否かを判断する。
【００３２】
具体的には、以下のような場合に、ＤＢサーバ３が過負荷であると判断する。
（１）ＤＢサーバ３のＣＰＵ使用率が９０％以上である場合。
（２）ＤＢサーバ３のレスポンスタイムが１秒以上である場合。
また、以下のような場合に、ストレージ２が過負荷であると判断する。
（３）ストレージ２のレイテンシが１５ｍｓ（ミリ秒）以上である場合。
（４）ストレージ２の待ち行列数が５以上である場合。
【００３３】
そして、図３のステップＳ６に示すように、ストレージ２及びＤＢサーバ３の双方が過負荷状況でない場合は、ステップＳ７に進み、予備サーバをフロントエンド層に組み込んで駆動させる。これにより、サーバシステム１におけるフロントエンドサーバ４の数が増加し、その分、フロントエンドサーバ４における１台当たりの負荷が減少し、各フロントエンドサーバ４の応答時間が短縮する。この結果、サーバシステム１全体の処理速度が向上し、応答時間が短縮される。その後、ステップＳ１に戻り、ロードバランス施策を継続する。一方、ストレージ２及びＤＢサーバ３の少なくとも一方が過負荷状況である場合は、ステップＳ７に進み、予備サーバをフロントエンド層に組み込むことなく、新たなリクエストの投入を抑止する。その後、ステップＳ１に戻り、ロードバランス施策を継続する。
【００３４】
次に、本実施形態における効果について説明する。例えば特許文献１及び２に記載されているような従来のロードバランス装置を、例えば特許文献３に記載されているような３階層のサーバシステムに適用した場合、ロードバランス装置は、フロントエンドサーバ間のみで負荷の分散を行う。即ち、ロードバランス装置は、フロントエンド層のみで閉じて負荷分散を実施する。そして、フロントエンドサーバ間における負荷分散によっても応答時間を短縮化できない場合は、予備サーバが存在する場合にはそれをサーバシステムに組み込み、予備サーバがない場合には新たなリクエストの投入を抑止する。
【００３５】
しかしながら、サーバシステム全体の応答時間は、フロントエンドサーバの負荷管理だけでは改善できない場合がある。また、予備のフロントエンドサーバを組み込むことにより、かえってサーバシステム全体の応答時間が延びる場合もある。即ち、サーバシステム全体を見た場合、フロントエンドサーバの負荷よりも、ＤＢサーバ又はストレージの負荷の方が高くなっていて、ＤＢサーバ又はストレージが時間的なボトルネックになっている場合がある。このような場合は、予備サーバを投入してフロントエンドサーバの数を増やしても、サーバシステム全体の応答時間は改善されず、逆に、フロントエンドサーバの数を増やすことにより、ＤＢサーバ及びストレージの負荷が更に高くなり、サーバシステム全体の応答時間が更に延びてしまう可能性が高い。
【００３６】
例えば、ＤＢサーバのＣＰＵの使用率が１００％に近ければ、フロントエンドサーバを追加しても、ＤＢサーバが処理しきれず、結果的にシステム応答時間を短縮できない。また、ＤＢサーバのレスポンスタイムが長い場合は、ＤＢサーバの負荷が高いことが示されており、フロントエンドサーバを追加しても、ＤＢサーバが処理しきれず、結果的にシステム応答時間を短縮できない。更に、ストレージのレイテンシが長い場合は、ストレージの負荷が高いことが示されており、フロントエンドサーバを追加しても、ストレージが処理しきれず、結果的にシステム応答時間を短縮できない。更にまた、ストレージで処理待ちとなっているトランザクションの数が多い場合は、ストレージの負荷が高くなっており、フロントエンドサーバを追加しても、ストレージが処理しきれず、結果的にシステム応答時間を短縮できない。このように、従来のロードバランス装置では、３階層サーバシステムの応答時間を改善できないことがある。
【００３７】
これに対して、本実施形態においては、負荷評価手段１１がストレージ２及びＤＢサーバ３の負荷を表す各種のパラメータを測定し、負荷状況集計手段１６がこの測定結果を集計し、負荷状況判断手段１９がこの集計結果に基づいてストレージ２及びＤＢサーバ３が過負荷状態であるか否かを判断し、過負荷抑止手段２１が、ストレージ２及びＤＢサーバ３のうち少なくとも一方が過負荷状態にある場合は、予備サーバが存在する場合であっても、予備サーバをサーバシステム１に組み込まず、新たなリクエストの投入を抑止する。これにより、予備サーバを組み込むことにより、サーバシステム１全体の応答性がかえって低下することを防止できる。また、新たなリクエストの投入を抑止することにより、ストレージ２及びＤＢサーバ３における負荷を軽減することができる。
【００３８】
なお、本実施形態においては、管理ポリシー１８としてストレージ２及びＤＢサーバ３に関する基準を設け、負荷状況判断手段１９がこの管理ポリシー１８を参照してストレージ２及びＤＢサーバ３の負荷状況を判断する例を示したが、本発明はこれに限定されない。負荷状況判断手段は、ストレージ２、ＤＢサーバ３及びフロントエンドサーバ４の３者の負荷状況を加味して、予備サーバを追加するか否かを決定してもよい。
【００３９】
また、本実施形態においては、サーバシステムとして３階層のサーバシステムを示したが、本発明はこれに限定されない。例えば、フロントエンドサーバ及びバックエンドサーバからなる２階層のサーバシステムにおいても、バックエンドサーバの負荷状態によって予備のフロントエンドサーバを投入するか否かを判断することで、サーバシステム全体の応答時間を短縮することができる。また、４階層以上のサーバシステムにおいても、フロントエンド層以外の階層の負荷状態を評価し、この評価結果に応じて、予備のフロントエンドサーバをフロントエンド層に組み込むか否かを判断することで、サーバシステム全体の応答時間を短縮することができる。
【００４０】
更に、本実施形態においては、サーバシステムが複数のフロントエンドサーバを備える例を示したが、本発明はこれに限定されず、本発明は、セルベースマシン等、１台のマシンが複数のＣＰＵを備え、これらのＣＰＵを分割して動的にパーテション構成を変更することが可能な装置にも適用することができる。これにより、このようなマシンにおいて、動的に構成が変更されるパーテション間のロードバランスを的確に調整することができる。
【産業上の利用可能性】
【００４１】
本発明は、多階層サーバシステムに好適に利用することができる。
【図面の簡単な説明】
【００４２】
【図１】本発明の第１の実施形態に係るサーバシステムを示すブロック図である。
【図２】図１に示すロードバランス装置を示すブロック図である。
【図３】本実施形態に係るサーバシステムの動作を示すフローチャート図である。
【符号の説明】
【００４３】
１；サーバシステム
２；ストレージ
３；データベースサーバ
４；フロントエンドサーバ
５；ロードバランス装置
１１；負荷評価手段
１２；ＤＢサーバＣＰＵ使用率測定手段
１３；ＤＢサーバレスポンスタイム測定手段
１４；ストレージＩ／Ｏレイテンシ測定手段
１５；ストレージＩ／Ｏ待ち行列測定手段
１６；負荷状況集計手段
１７；管理ポリシー記憶手段
１８；管理ポリシー
１９；負荷状況判断手段
２０；フロントエンドサーバ負荷分散手段
２１；過負荷抑止手段
【図１】
2006268155.tif 000003
【図２】
2006268155.tif 000004
【図３】
2006268155.tif 000005