(57)【要約】【課題】複数種類の指標値について総合的に均一になるように要求を複数のサーバに振り分けることを可能とするウェブサービスシステム等を提供する。【解決手段】外部装置からの接続要求を処理してその処理結果を要求元に返信すると共に自らの動作状況を表す複数項目の指標について指標値を収集する複数台のウェブサーバ３０Ａ〜Ｅと、特定の基準指標に基づいてウェブサーバを決定する負荷分散装置１０と、各々のウェブサーバから受信した指標値を集計し、これに基づいて基準指標を決定してこれを負荷分散装置に送信するサーバ選択基準決定装置２０とが相互に接続されて構成され、このサーバ選択基準決定装置２０は各々の指標ごとに偏差値を算出し、同一時点での偏差値の最大値と最小値との間の差分を算出し、この差分が最大となる指標を特定の基準指標として決定する。【選択図】図１
2011150472.tif 000002
【特許請求の範囲】
【請求項１】
外部装置からの接続要求を処理してその処理結果を要求元に返信する機能と、自らの動作状況を表す複数項目の指標についての測定値である指標値を収集する機能とを有する複数台のウェブサーバと、
前記複数台のウェブサーバの中から前記接続要求を処理するウェブサーバを特定の基準指標に基づいて決定する負荷分散装置と、
前記各ウェブサーバが発信した前記指標値を同時に受信すると共に、これに基づいて前記基準指標を決定してこれを前記負荷分散装置に送信するサーバ選択基準決定装置とを備え、
前記サーバ選択基準決定装置が、前記受信した各指標値を偏差値に換算する機能と、同一時点での前記偏差値の最大値と最小値との間の差分を前記各指標ごとに算出する機能と、前記差分が最大となる指標を前記特定の基準指標として決定する機能とを有することを特徴とするウェブサービスシステム。
【請求項２】
前記ウェブサーバが、
前記接続要求を処理してその処理結果を要求元に返信するウェブサービス部と、
前記ウェブサーバの動作状況を表す複数項目の指標についての測定値である指標値を収集する情報収集部とを有することを特徴とする、請求項１に記載のウェブサービスシステム。
【請求項３】
前記負荷分散装置が、
前記接続要求を処理させるウェブサーバを前記基準指標に基づいて決定するサーバ決定部と、
決定された前記ウェブサーバに前記接続要求を転送する負荷分散部と、
前記サーバ選択基準決定装置から前記基準指標を受信してこれを保存する決定表受信部とを有することを特徴とする、請求項１に記載のウェブサービスシステム。
【請求項４】
前記サーバ選択基準決定装置が、
前記情報収集部が収集した各々の前記ウェブサーバの指標値を集計して各指標ごとの平均値および標準偏差を算出する平均算出部と、
前記各指標ごとに前記平均値および前記標準偏差が等しくなるように各々の前記指標値を換算した偏差値を算出する偏差値算出部と、
前記各指標ごとの前記偏差値の最大値と最小値の間の差分を算出する差分算出部と、
前記差分が最大となる前記指標を基準指標として決定してこれを前記負荷分散装置に送信する基準指標決定部とを有することを特徴とする、請求項１に記載のウェブサービスシステム。
【請求項５】
前記基準指標決定部が、前記差分が予め与えられた閾値を超える前記指標が存在しない場合に前記基準指標を無しと決定することを特徴とする、請求項４に記載のウェブサービスシステム。
【請求項６】
前記負荷分散装置が、前記基準指標が無しである場合には前記接続要求を各々の前記ウェブサーバに均等に割り振るよう前記ウェブサーバを決定することを特徴とする、請求項５に記載のウェブサービスシステム。
【請求項７】
前記偏差値算出部が、前記各指標ごとに前記平均値が５０、かつ前記標準偏差が１０となるように各々の前記指標値を換算した偏差値を算出することを特徴とする、請求項４に記載のウェブサービスシステム。
【請求項８】
外部装置からの接続要求を処理してその処理結果を要求元に返信する複数台のウェブサーバと、前記接続要求に反応してこの接続要求を処理するウェブサーバを特定の基準指標に基づいて決定する負荷分散装置と相互に接続されたサーバ選択基準決定装置であって、
前記ウェブサーバから受信した各々の前記ウェブサーバの動作状況を表す複数項目の指標についての測定値である指標値を偏差値に換算する偏差値算出部と、
同一時点での前記各指標ごとの前記偏差値の最大値と最小値の間の差分を前記各指標ごとに算出する差分算出部と、
前記差分が最大となる指標を前記負荷分散装置が前記接続要求を処理させるウェブサーバを決定する基準となる基準指標として決定してこれを前記負荷分散装置に送信する基準指標決定部と
を有することを特徴とするサーバ選択基準決定装置。
【請求項９】
外部装置からの接続要求を処理してその処理結果を要求元に返信する複数台のウェブサーバと、前記接続要求に反応してこの接続要求を処理するウェブサーバを決定して各々の前記ウェブサーバの間での負荷を平準化する負荷分散装置と、前記負荷分散装置が前記接続要求を処理させるウェブサーバを決定する基準となる基準指標を決定するサーバ選択基準決定装置とを備えたウェブサービスシステムにあって、
前記各ウェブサーバの動作状況を表す複数項目の指標についての測定値である指標値を各ウェブサーバが収集すると共にこれを前記サーバ選択基準決定装置に送信し、
収集されたこれらの指標値を前記各指標ごとに前記サーバ選択基準決定装置が偏差値に換算し、
換算されたこれら各指標ごとの同一時点での偏差値の最大値と最小値の間の差分を前記サーバ選択基準決定装置が算出し、
算出された前記差分が最大となる指標を前記サーバ選択基準決定装置が前記基準指標として決定すると共にこれを前記負荷分散装置に送信し、
決定された前記基準指標に基づいて前記接続要求を処理させるウェブサーバを前記負荷分散装置が決定し、
決定された前記ウェブサーバに前記負荷分散装置が前記接続要求を転送する
ことを特徴とするサーバ選択基準決定方法。
【請求項１０】
外部装置からの接続要求を処理してその処理結果を要求元に返信する複数台のウェブサーバと、前記接続要求に反応してこの接続要求を処理するウェブサーバを決定して各々の前記ウェブサーバの間での負荷を平準化する負荷分散装置と、前記負荷分散装置が前記接続要求を処理させるウェブサーバを決定する基準となる基準指標を決定するサーバ選択基準決定装置とを備えたウェブサービスシステムにあって、
前記サーバ選択基準決定装置が備えているコンピュータに、
前記ウェブサーバから受信した各々の前記ウェブサーバの動作状況を表す複数項目の指標についての測定値である指標値を偏差値に換算する手順、
前記各指標ごとの同一時点での前記偏差値の最大値と最小値の間の差分を算出する手順、
および前記差分が最大となる指標を基準指標として決定すると共にこれを前記負荷分散装置に送信する手順
を実行させることを特徴とするサーバ選択基準決定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はウェブサービスシステム、サーバ選択基準決定装置、サーバ選択基準決定方法およびプログラムに関し、特にウェブサービスに係る負荷の分散を複数の指標によって効率的に行うことを可能とするウェブサービスシステム、サーバ選択基準決定装置、基準指標決定方法およびプログラムに関する。
【背景技術】
【０００２】
負荷分散装置（ロードバランサ）は、主にウェブサービスなどのような外部ネットワークに公開されるネットワークサービスに対する外部ネットワークからの要求を一元的に管理し、同等の機能を持つ複数のサーバコンピュータにその要求を転送する装置である。
【０００３】
特にウェブサービスが大規模化するにつれて、単一のサーバコンピュータ（ウェブサーバ）でそのサービスをまかなうことが困難である場合が多くなっている。そのため、ある程度以上の規模のウェブサービスは、複数のウェブサーバによって構成されることが既に一般的である。そして、複数のウェブサーバによって構成されるウェブサービスでは、それらのウェブサーバの間で負荷を平準化して特定のウェブサーバへのトラフィックの集中を回避し、各々のウェブサーバが外部からの接続要求に対して快適な応答速度を保って動作することができるように、負荷分散装置が使用される。
【０００４】
負荷分散装置に関連する技術文献として、たとえば次に示す各特許文献がある。その中でも特許文献１には、サーバに対する負荷を示す複数の指標について、サーバ間での各指標値のばらつきをチェックして、その上で特定の指標に対して平準化する負荷分散アルゴリズムを選択するという負荷分散システムについて記載されている。
【０００５】
特許文献２には、複数のサーバの中で最も接続数の少ないサーバに接続先を振り分ける負荷分散装置について記載されている。特許文献３には、複数のサーバの中で最もセッション数、パケット数、接続時間のうちいずれか１つの条件について、負荷の少ないサーバに接続先を振り分ける負荷分散装置について記載されている。
【０００６】
特許文献４には、各々のサーバの動作状態をサーバ監視・制御エージェントによって監視して、予め与えられた「ルール」に基づいて各サーバへの業務の割り振りを変更するという負荷分散システムについて記載されている。特許文献５には、全てのクライアントについての情報を記憶し、各サーバの負荷が均等になるように各サーバにクライアントを割り振るという負荷分散システムについて記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−３３４０５７号公報
【特許文献２】特開２００２−２６９０６１号公報
【特許文献３】特開２００２−３５１７６０号公報
【特許文献４】特開２００５−１８２６４１号公報
【特許文献５】特開２００６−２０９４６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
負荷分散装置を使用すれば、それらのウェブサーバの間で負荷を平準化して特定のウェブサーバへのトラフィック集中を回避し、各々のウェブサーバが外部からの接続要求に対して快適な応答速度を保つことはできる。しかしながら、通常の負荷分散装置は、ウェブサーバに対する負荷を示す特定の指標値、たとえば「コネクション数」、「応答時間」、「ＣＰＵ使用率」などのような各々の指標のうち、どれか１種類の指標についてのみ、その指標値を各ウェブサーバ間で均一になるように接続先を振り分けている。
【０００９】
同一のウェブサービスに対する接続要求であっても、その処理にかかる処理時間や計算容量などが毎回同一であるとは限らない。そのため、どれか１種類の指標値のみが均一になるように平準化を行うと、それ以外の指標値に関しては全く考慮されないので、各ウェブサーバ間で均一にはならない。これでは、負荷を適切に平準化したとは言えない。適切な平準化には、複数種類の指標値について総合的に均一になるように平準化を行うことが望ましい。
【００１０】
特許文献１に記載の技術では、複数種類の指標値を順番に一つずつチェックし、平準化の対象とする指標を選択することはできる。しかしながらこの技術では、平準化の対象とする指標の選択は、それぞれのウェブサーバの性能を加味しつつウェブサービス管理者が行う必要がある。種類が異なる指標値は、単位が異なるため、直接比較することができない。そのため、この指標の選択を適切に行うには、ウェブサービス管理者の側にウェブサーバについての高い知識および経験が要求される。また、この指標の選択を自動化することも、そのような高い知識および経験を持つウェブサービス管理者が必要であるため、困難となる。
【００１１】
残る特許文献２〜５にも、複数種類の指標値を利用して各ウェブサーバ間の負荷の平準化を行うということについては記載されていない。即ち、特許文献１〜５に記載の技術を全て組み合わせても、複数種類の指標値について総合的に均一になるように平準化を行うことはできない。
【００１２】
本発明の目的は、ウェブサーバの負荷について示す複数種類の指標値について総合的に均一になるように外部ネットワークからの要求を複数のウェブサーバに振り分け、これによって各々のウェブサーバにかかる負荷を適切に平準化することを可能とするウェブサービスシステム、サーバ選択基準決定装置、基準指標決定方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明に係るウェブサービスシステムは、外部装置からの接続要求を処理してその処理結果を要求元に返信する機能と、自らの動作状況を表す複数項目の指標についての測定値である指標値を収集する機能とを有する複数台のウェブサーバと、複数台のウェブサーバの中から接続要求を処理するウェブサーバを特定の基準指標に基づいて決定する負荷分散装置と、各ウェブサーバが発信した指標値を同時に受信すると共に、これに基づいて基準指標を決定してこれを負荷分散装置に送信するサーバ選択基準決定装置とを備え、サーバ選択基準決定装置が、受信した各指標値を偏差値に換算する機能と、同一時点での偏差値の最大値と最小値との間の差分を各指標ごとに算出する機能と、差分が最大となる指標を特定の基準指標として決定する機能とを有することを特徴とする。
【００１４】
上記目的を達成するため、本発明に係るサーバ選択基準決定装置は、外部装置からの接続要求を処理してその処理結果を要求元に返信する複数台のウェブサーバと、接続要求に反応してこの接続要求を処理するウェブサーバを特定の基準指標に基づいて決定する負荷分散装置と相互に接続されたサーバ選択基準決定装置であって、ウェブサーバから受信した各々のウェブサーバの動作状況を表す複数項目の指標についての測定値である指標値を偏差値に換算する偏差値算出部と、同一時点での各指標ごとの偏差値の最大値と最小値の間の差分を各指標ごとに算出する差分算出部と、差分が最大となる指標を負荷分散装置が接続要求を処理させるウェブサーバを決定する基準となる基準指標として決定してこれを負荷分散装置に送信する基準指標決定部とを有することを特徴とする。
【００１５】
上記目的を達成するため、本発明に係るサーバ選択基準決定方法は、外部装置からの接続要求を処理してその処理結果を要求元に返信する複数台のウェブサーバと、接続要求に反応してこの接続要求を処理するウェブサーバを決定して各々のウェブサーバの間での負荷を平準化する負荷分散装置と、負荷分散装置が接続要求を処理させるウェブサーバを決定する基準となる基準指標を決定するサーバ選択基準決定装置とを備えたウェブサービスシステムにあって、各ウェブサーバの動作状況を表す複数項目の指標についての測定値である指標値を各ウェブサーバが収集すると共にこれをサーバ選択基準決定装置に送信し、収集されたこれらの指標値を各指標ごとにサーバ選択基準決定装置が偏差値に換算し、換算されたこれら各指標ごとの同一時点での偏差値の最大値と最小値の間の差分をサーバ選択基準決定装置が算出し、算出された差分が最大となる指標をサーバ選択基準決定装置が基準指標として決定すると共にこれを負荷分散装置に送信し、決定された基準指標に基づいて接続要求を処理させるウェブサーバを負荷分散装置が決定し、決定されたウェブサーバに負荷分散装置が接続要求を転送することを特徴とする。
【００１６】
上記目的を達成するため、本発明に係るサーバ選択基準決定プログラムは、外部装置からの接続要求を処理してその処理結果を要求元に返信する複数台のウェブサーバと、接続要求に反応してこの接続要求を処理するウェブサーバを決定して各々のウェブサーバの間での負荷を平準化する負荷分散装置と、負荷分散装置が接続要求を処理させるウェブサーバを決定する基準となる基準指標を決定するサーバ選択基準決定装置とを備えたウェブサービスシステムにあって、サーバ選択基準決定装置が備えているコンピュータに、ウェブサーバから受信した各々のウェブサーバの動作状況を表す複数項目の指標についての測定値である指標値を偏差値に換算する手順、各指標ごとの同一時点での偏差値の最大値と最小値の間の差分を算出する手順、および差分が最大となる指標を基準指標として決定すると共にこれを負荷分散装置に送信する手順を実行させることを特徴とする。
【発明の効果】
【００１７】
上述したように本発明は、各々の指標値を偏差値に換算して基準指標を決定するように構成したので、ウェブサーバの負荷について示す複数種類の指標値について総合的に均一になるように外部ネットワークからの要求を複数のウェブサーバに振り分けることが可能となり、これによって各々のウェブサーバにかかる負荷を適切に平準化することが可能であるという優れた特徴を持つウェブサービスシステム、サーバ選択基準決定装置、基準指標決定方法およびプログラムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】図２で示した負荷分散装置、サーバ選択基準決定装置、およびウェブサーバのより詳しい構成を示す説明図である。
【図２】本発明の実施形態に係るウェブサービスシステムのネットワーク構成を示す説明図である。
【図３】図１に示した各々のウェブサーバの情報収集部３０２から送られた同一時点の指標値の例を示す表である。
【図４】図３に示した各々の指標値から平均算出部が算出した平均および標準偏差の例を示す表である。
【図５】図３〜４に示した各々の指標値ｘｉを、偏差値算出部が置換処理によって置換した後の偏差値ｘ’ｉを示す表である。
【図６】図５に示した各々の偏差値ｘ’ｉから、差分算出部が算出した最大値、最小値、およびそれらの間の差分を示す表である。
【図７】図１に示した基準指標決定データのデータ内容の例を示す説明図である。
【図８】図１に示した負荷分散装置で動作するサーバ決定部および負荷分散部の動作を示すフローチャートである。
【図９】図１に示したウェブサーバの各々で動作するウェブサービス部および情報収集部の動作を示すフローチャートである。
【図１０】図１に示したサーバ選択基準決定装置で動作する平均算出部、偏差値算出部、差分算出部および基準指標決定部の動作を示すフローチャートである。
【図１１】図５で示した各々の偏差値ｘ’ｉを横軸に各サーバ、縦軸に偏差値を各々取り、各指標ごとに直線を描いて図示したグラフである。
【発明を実施するための形態】
【００１９】
以下、本発明の第１の実施形態の構成について添付図１に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係るウェブサービスシステム１は、外部装置からの接続要求を処理してその処理結果を要求元に返信する機能と、自らの動作状況を表す複数項目の指標についての測定値である指標値を収集する機能とを有する複数台のウェブサーバ３０Ａ〜Ｅと、複数台のウェブサーバの中から接続要求を処理するウェブサーバを特定の基準指標に基づいて決定する負荷分散装置１０と、各ウェブサーバが発信した指標値を同時に受信すると共に、これに基づいて基準指標を決定してこれを負荷分散装置に送信するサーバ選択基準決定装置２０とが相互に接続されて構成される。このサーバ選択基準決定装置２０は、受信した各指標値を偏差値に換算する機能と、同一時点での偏差値の最大値と最小値との間の差分を各指標ごとに算出する機能と、差分が最大となる指標を特定の基準指標として決定する機能とを有する。
【００２０】
より具体的には、ウェブサーバ３０Ａ〜Ｅは、接続要求を処理してその処理結果を要求元に返信するウェブサービス部３０１と、ウェブサーバの動作状況を表す複数項目の指標についての測定値である指標値を収集する情報収集部３０２とを有する。負荷分散装置１０は、接続要求を処理させるウェブサーバを基準指標に基づいて決定するサーバ決定部１０１と、決定されたウェブサーバに接続要求を転送する負荷分散部１０２と、サーバ選択基準決定装置から基準指標（基準指標決定データ１０４）を受信してこれを保存する決定表受信部１０３とを有する。そしてサーバ選択基準決定装置２０は、情報収集部が収集した各々のウェブサーバの指標値を集計して各指標ごとの平均値および標準偏差を算出する平均算出部２０１と、各指標ごとに平均値および標準偏差が等しくなるように各々の指標値を換算した偏差値を算出する偏差値算出部２０２と、各指標ごとの偏差値の最大値と最小値の間の差分を算出する差分算出部２０３と、差分が最大となる指標を基準指標として決定してこれを負荷分散装置に転送する基準指標決定部２０４とを有する。
【００２１】
また、基準指標決定部２０４は、差分が予め与えられた閾値を超える指標が存在しない場合に基準指標を無しと決定する。負荷分散装置１０は、基準指標が無しである場合には接続要求を各々の前記ウェブサーバに均等に割り振るようウェブサーバを決定する。そして偏差値算出部２０２は、各指標ごとに平均値が５０、かつ標準偏差が１０となるように各々の指標値を換算した偏差値を算出する。
【００２２】
以上の構成を備えることにより、このウェブサービスシステム１は、複数種類の指標値について総合的に均一になるように外部ネットワークからの要求を複数のウェブサーバに振り分け、各々のウェブサーバにかかる負荷を適切に平準化することが可能となる。
以下、これをより詳細に説明する。
【００２３】
図２は、本発明の実施形態に係るウェブサービスシステム１のネットワーク構成を示す説明図である。ウェブサービスシステム１は、外部からの接続要求を処理する複数のコンピュータ装置であるウェブサーバ３０Ａ〜Ｅと、各々の接続要求をウェブサーバ３０Ａ〜Ｅのうちいずれに処理させるかを決定してそのウェブサーバに対して割り振るコンピュータ装置である負荷分散装置１０と、負荷分散装置１０が接続要求を処理するウェブサーバを決定する基準となる基準指標を決定するコンピュータ装置であるサーバ選択基準決定装置２０とが、内部ネットワーク６０によって相互に接続されて構成される。
【００２４】
負荷分散装置１０は、接続要求を送信する複数のクライアントコンピュータ４０ａ、４０ｂ、…４０ｍとインターネット５０を介して相互に接続される。ここでｍは任意の自然数である。図２にはウェブサーバが３０Ａ、３０Ｂ、３０Ｃ、３０Ｄ、３０Ｅの５台である例を示しているが、このウェブサーバの台数ｎは複数台であれば何台でもよく、またその台数ｎはクライアントコンピュータの台数ｍとは無関係である。
【００２５】
ここで、負荷分散装置１０とサーバ選択基準決定装置２０とは、図２では物理的に別個のコンピュータ装置として示しているが、同一のコンピュータ装置であってもよい。また、負荷分散装置１０、サーバ選択基準決定装置２０、およびウェブサーバ３０Ａ〜Ｅの各々を、いわゆる仮想コンピュータによって物理的な装置区分とは無関係に構成してもよい。
【００２６】
図１は、図２で示した負荷分散装置１０、サーバ選択基準決定装置２０、およびウェブサーバ３０Ａ〜Ｅのより詳しい構成を示す説明図である。図１に示したウェブサーバ３０Ａ〜Ｅは全て同じ構成を有するので、ここではウェブサーバ３０Ａの構成のみを説明する。
【００２７】
負荷分散装置１０は、コンピュータプログラムを実行する主体となるＣＰＵ（Central Processing Unit）１１と、プログラムおよびデータを記憶する記憶手段１２と、通信手段１３とを備える。通信手段１３は、インターネット５０を介してクライアントコンピュータ４０ａ、４０ｂ、…４０ｍとデータ通信を行うと同時に、サーバ選択基準決定装置２０およびウェブサーバ３０Ａ〜Ｅとも内部ネットワーク６０を介してデータ通信を行う。
【００２８】
ＣＰＵ１１では、クライアントコンピュータ４０ａ、４０ｂ、…４０ｍからの接続要求をウェブサーバ３０Ａ〜Ｅのうちのいずれに処理させるかを決定するサーバ決定部１０１と、そこで決定されたウェブサーバに転送する負荷分散部１０２と、後述する決定表受信部１０３とがコンピュータプログラムとして動作する。そして記憶手段１２には、サーバ決定部１０１が接続要求を処理させるウェブサーバを決定する際に参照するデータである基準指標決定データ１０４が記憶される。
【００２９】
サーバ選択基準決定装置２０も、負荷分散装置１０と同様に、ＣＰＵ２１と、記憶手段２２と、通信手段２３とを備える。そしてＣＰＵ２１では、後述する平均算出部２０１、偏差値算出部２０２、差分算出部２０３、および基準指標決定部２０４が、コンピュータプログラムとして動作する。
【００３０】
ウェブサーバ３０Ａも、負荷分散装置１０およびサーバ選択基準決定装置２０と同様に、ＣＰＵ３１と、記憶手段３２と、通信手段３３とを備える。そしてＣＰＵ３１では、クライアントコンピュータ４０ａ、４０ｂ、…４０ｍからの接続要求を処理するウェブサービス部３０１と、後述する情報収集部３０２とが、コンピュータプログラムとして動作する。
【００３１】
（各部の動作）
負荷分散装置１０で動作するサーバ決定部１０１は、クライアントコンピュータ４０ａ、４０ｂ、…４０ｍからの接続要求を受けて、基準指標決定データ１０４に含まれる基準指標１０４ａを参照して、各々の接続要求をウェブサーバ３０Ａ〜Ｅのうちのいずれに処理させるかを決定する。負荷分散部１０２は、決定されたそのウェブサーバに当該接続要求を転送し、この接続要求に対する当該ウェブサーバからのレスポンスを要求元のクライアントコンピュータに転送する。
【００３２】
ウェブサーバ３０Ａで動作する情報収集部３０２は、ウェブサービス部３０１と並行して動作するエージェントプログラムであり、当該ウェブサーバの動作状態に関する「指標値」を収集してサーバ選択基準決定装置２０に送信する。情報収集部３０２は、所定の周期によって定期的に指標値の収集を行う他、負荷分散装置１０から転送された接続要求を受けた場合にも指標値の収集を行う。
【００３３】
情報収集部３０２が指標値を収集する対象となる指標として、本実施形態では「コネクション数」、「応答時間」、「ＣＰＵ使用率」という３種類を使用する。もちろん、これ以外の指標、たとえば「メモリ使用率」や「Ｉ／Ｏ処理速度」などを使用してもよいし、また各々のウェブサーバの性能値（たとえば「最大コネクション数」「ＣＰＵ動作周波数」「メモリ容量」など）に応じて、各々の指標値に対して重み付けなどのような統計学的処理を行うようにしてもよい。本実施形態では、各々のウェブサーバ間の性能値の違いは無視できるものとして説明を行う。
【００３４】
サーバ選択基準決定装置２０で動作する平均算出部２０１は、各々のウェブサーバ３０Ａ〜Ｅの情報収集部３０２から送られた指標値を集計して、後述の数式によって各サーバ間の平均および標準偏差を算出する。偏差値算出部２０２は、この平均および標準偏差が各指標間で等しい値になるように各々の指標値を置換した偏差値を算出する。
【００３５】
差分算出部２０３は、算出されたその偏差値の最大値および最小値と、最大値と最小値との間の差分を算出する。基準指標決定部２０４は、算出された差分から、負荷分散装置１０が負荷分散の基準とすべき指標である基準指標１０４ａを決定して、これを含む基準指標決定データ１０４を作成して負荷分散装置１０に送信する。
【００３６】
負荷分散装置１０でサーバ決定部１０１および負荷分散部１０２と並行して動作する決定表受信部１０３は、サーバ選択基準決定装置２０から基準指標決定データ１０４を受信して、記憶手段１２に保存する。
【００３７】
本明細書では、各ウェブサーバの動作状況を表す数値の項目名を「指標」といい、それらの項目で実際に測定および収集された数値を「指標値」という。そしてその指標値を、平均算出部２０１が指標ごとに集計して、各サーバ間の平均および標準偏差を算出し、後述の数式によって「偏差値」を算出する。その各指標ごとの「偏差値」の最大値から最小値を引いた数値を「差分」という。
【００３８】
図３は、図１に示した各々のウェブサーバ３０Ａ〜Ｅの情報収集部３０２から送られた同一時点の指標値の例を示す表である。平均算出部２０１は、各々のウェブサーバ３０Ａ〜Ｅの情報収集部３０２から送られた同一時点の指標値から、下に示す数１によって各々の指標値の平均ａｖｅ（ｘ）および標準偏差ｓｔｄ（ｘ）を求める。ただし、ウェブサーバの台数ｎ＝５、ウェブサーバ３０Ａ〜Ｅの各指標値をｘｉ（ｉ＝１〜ｎ）、とする。図４は、図３に示した各々の指標値から平均算出部２０１が算出した各ウェブサーバ間の平均ａｖｅ（ｘ）および標準偏差ｓｔｄ（ｘ）の例を示す表である。
【数１】
2011150472.tif 000003
【００３９】
偏差値算出部２０２は、平均算出部２０１によって算出された各々の指標値を、下に示す数２によって平均ａｖｅ（ｘ）＝５０、標準偏差ｓｔｄ（ｘ）＝１０となるように置換する。ただし、各指標値をｘｉ、この指標値を置換して得られた偏差値をｘ’ｉ（ｉ＝１〜ｎ、本実施形態ではｎ＝５）とする。図５は、図３〜４に示した各々の指標値ｘｉを、偏差値算出部２０２が置換処理によって置換した後の偏差値ｘ’ｉを示す表である。
【数２】
2011150472.tif 000004
【００４０】
差分算出部２０３は、偏差値算出部２０２によって算出された各々の偏差値の最大値および最小値と、最大値と最小値との間の差分を算出する。図６は、図５に示した各々の偏差値ｘ’ｉから、差分算出部２０３が算出した最大値、最小値、およびそれらの間の差分を示す表である。
【００４１】
基準指標決定部２０４は、差分算出部２０３によって算出された差分が最大となる指標値を平準化するように基準指標１０４ａを決定し、決定された基準指標１０４ａを含めて基準指標決定データ１０４を作成し、負荷分散装置１０に送信する。負荷分散装置１０では、送信された基準指標決定データ１０４を受信した決定表受信部１０３は、これを記憶手段１２に記憶し、サーバ決定部１０１がこれを接続要求を処理するウェブサーバの決定に利用する。
【００４２】
図７は、図１に示した基準指標決定データ１０４のデータ内容の例を示す説明図である。基準指標決定データ１０４は、図３に示した各指標についての指標値に加えて、基準指標決定部２０４が決定した基準指標１０４ａを記憶している。各指標についての指標値は、負荷分散部１０２が実際に負荷分散に係る動作を行う（これは公知技術の範囲である）際に使用するものであるので、基準指標１０４ａの決定とは別個に指標値を取得する必要がないよう、基準指標決定データ１０４に含める構成としている。
【００４３】
ウェブサービスシステム１の動作開始時の基準指標決定データ１０４の初期データでは、基準指標１０４ａは「無し」となる。この場合にサーバ決定部１０１は、負荷状況とは特に関係なく、たとえば「ウェブサーバ３０Ａ→３０Ｂ→３０Ｃ→３０Ｄ→３０Ｅ→（最初に戻る）」などのような所定の順序で各ウェブサーバに均等に接続要求を処理させるという「ラウンドロビンアルゴリズム」を使用してウェブサーバを決定する。
【００４４】
基準指標１０４ａはこれ以外に、負荷状況に応じて、コネクション数が最小であるウェブサーバに接続要求を処理させるという「コネクション数」、応答時間が最小であるウェブサーバに接続要求を処理させるという「応答時間」、ＣＰＵ使用率が最小であるウェブサーバに接続要求を処理させるという「ＣＰＵ使用率」、以上の各々の中から基準指標決定部２０４が決定することができる。サーバ決定部１０１は、指定された基準指標１０４ａの各々に対応するアルゴリズムを内蔵しており、それぞれのアルゴリズムに基づいて接続要求を処理させるウェブサーバを決定する。
【００４５】
（接続要求の転送と基準指標決定データの受信）
図８は、図１に示した負荷分散装置１０で動作するサーバ決定部１０１、負荷分散部１０２および決定表受信部１０３の動作を示すフローチャートである。インターネット５０を介してクライアントコンピュータ４０ａ、４０ｂ、…４０ｍからの接続要求を受けたサーバ決定部１０１は（ステップＳ４０１）、まず基準指標決定データ１０４の内容を読み込む（ステップＳ４０２）。サーバ決定部１０１はその内容に基づき、この接続要求をウェブサーバ３０Ａ〜Ｅのうちのいずれに処理させるかを決定する（ステップＳ４０３）。
【００４６】
負荷分散部１０２は、ステップＳ４０３で決定されたウェブサーバに、その接続要求を転送し（ステップＳ４０４）、当該ウェブサーバからのレスポンスを要求元のクライアントコンピュータに転送する（ステップＳ４０５）。
【００４７】
そして、後述する基準指標決定部２０４から基準指標決定データ１０４を受信した場合、決定表受信部１０３がこの基準指標決定データ１０４を受信して（ステップＳ４０６）記憶手段１２に記憶する（ステップＳ４０７）。ステップＳ４０１〜４０５と、ステップＳ４０６〜４０７の処理は、各々並行して行われる。
【００４８】
（ウェブサーバの動作と指標値の収集）
図９は、図１に示したウェブサーバ３０Ａ〜Ｅの各々で動作するウェブサービス部３０１および情報収集部３０２の動作を示すフローチャートである。図８のステップＳ４０４で、負荷分散装置１０によって転送された接続要求を受けたウェブサービス部３０１は、この接続要求に対応する処理を行い（ステップＳ４１１）、その処理の結果をレスポンスとして負荷分散装置１０に返す（ステップＳ４１２、図８のステップＳ４０５に対応）。
【００４９】
情報収集部３０２は、ウェブサービス部３０１と並行して動作し、所定の周期の経過もしくは負荷分散装置１０からの接続要求があった場合に（ステップＳ４１３）、自らが動作する当該ウェブサーバで指標値を収集し（ステップＳ４１４）、収集された指標値をサーバ選択基準決定装置２０に送信する（ステップＳ４１５）。
【００５０】
（偏差値および差分の算出）
図１０は、図１に示したサーバ選択基準決定装置２０で動作する平均算出部２０１、偏差値算出部２０２、差分算出部２０３および基準指標決定部２０４の動作を示すフローチャートである。図９のステップＳ４１５で、情報収集部３０２から各ウェブサーバの指標値を受信した平均算出部２０１は（ステップＳ４２１）、前述の数１で示した式によって同一時点の各々の指標値ｘｉ（ｉ＝１〜ｎ）の平均ａｖｅ（ｘ）および標準偏差ｓｔｄ（ｘ）を算出する（ステップＳ４２２）。
【００５１】
偏差値算出部２０２は、平均算出部２０１が算出した各々の指標値ｘｉを前述の数２で示した式によって換算した偏差値ｘ’ｉを算出する（ステップＳ４２３）。差分算出部２０３は、偏差値算出部２０２が算出した各指標ごとの偏差値の最大値および最小値と、最大値と最小値との間の差分を算出する（ステップＳ４２４）。ここで算出される差分は、単純に各指標ごとの偏差値の最大値−最小値を差分としてもよいし、また各指標ごとの偏差値の上位となる数台のウェブサーバにおける平均値と下位となる数台のウェブサーバにおける平均値との間の差分としてもよい。
【００５２】
前述の図３は各ウェブサーバの指標値の例を示している。図４はこれらの指標値から平均算出部２０１がステップＳ４２２の処理によって算出した各指標値の平均ａｖｅ（ｘ）および標準偏差ｓｔｄ（ｘ）とを示している。図５は図４で示した例に対して、偏差値算出部２０２がステップＳ４２３の処理によって換算した各々の偏差値を示している。そして図６は図５で示した例に対して、差分算出部２０３がステップＳ４２４の処理によって算出した各指標の偏差値の最大値・最小値と差分とを示している。
【００５３】
（基準指標の決定）
図１１は、図５で示した同一時点の各々の偏差値ｘ’ｉを横軸に各サーバ、縦軸に偏差値を各々取り、各指標ごとに直線を描いて図示したグラフである。各指標は、それぞれコネクション数、応答時間（単位ｍｓｅｃ）、ＣＰＵ使用率（単位％）である。これらは各々全く違う指標であり、また各指標値の単位も異なるので、そのままでは各指標値を単純に比較することは不可能である。
【００５４】
しかしながら、本実施形態ではこれらの指標値を、平均値および標準偏差がそれぞれ等しくなるように換算した偏差値を算出するので、同一尺度で比較することが可能となる。その中で、差分が最大となる指標が、最も負荷の平準化が必要となる指標であると言える。
【００５５】
図１０に戻って、基準指標決定部２０４は平均算出部２０１が換算および算出した各指標の偏差値の差分が最大となる指標を選択し、この差分が予め決められた範囲内であるか否かを判断する（ステップＳ４２５）。決められた範囲内であれば、特定の指標を優先的に平準化させる必要はないと言えるので、基準指標決定部２０４は基準指標１０４ａを「無し」とし、これを図７に示した基準指標決定データ１０４に記載して（ステップＳ４２６）負荷分散装置１０に送信する（ステップＳ４２８、図８のステップＳ４０６に対応）。この場合にサーバ決定部１０１は、前述の「ラウンドロビンアルゴリズム」を使用してウェブサーバを決定することになる。
【００５６】
ステップＳ４２５で、その指標の差分が予め決められた範囲を外れていた場合、基準指標決定部２０４はその指標に対応して基準指標１０４ａを選択する。その指標がコネクション数である場合には「コネクション数」、応答時間である場合には「応答時間」、ＣＰＵ使用率である場合には「ＣＰＵ使用率」を選択する。基準指標決定部２０４は、選択した基準指標１０４ａを基準指標決定データ１０４に記載して（ステップＳ４２７）負荷分散装置１０に送信する（ステップＳ４２８、図８のステップＳ４０６に対応）。
【００５７】
図３〜７および図１１に記載された例では、「コネクション数」の差分が２１．３、「応答時間」の差分が２８．２、「ＣＰＵ使用率」の差分が１９．２となる。ステップＳ４２５で基準とする「予め決められた範囲」を「差分≦２０（標準偏差×２）」とすると、差分が最大となる指標は「応答時間」であり、その差分「２８．２」は「予め決められた範囲」を超える。従って、基準指標決定部２０４は基準指標１０４ａとして「応答時間」を選択する。
【００５８】
基準指標決定データ１０４は、図９のステップＳ４１３で、所定の周期の経過もしくは負荷分散装置１０からの接続要求の転送があった場合に作成されて負荷分散装置１０に送信される。そして負荷分散装置１０は、クライアントコンピュータ４０ａ、４０ｂ、…４０ｍからの接続要求を受けるたびに、この基準指標決定データ１０４を参照して接続要求の転送先を決定する。従って、本実施形態では、ウェブサーバ３０Ａ〜Ｅの負荷状況に変化があっても、その負荷状況に応じてより適切な基準指標１０４ａに基づいて、各ウェブサーバの負荷を平準化することができる。
【００５９】
（第１の実施形態の全体的な動作）
次に、上記の実施形態の全体的な動作について説明する。本実施形態に係るサーバ選択基準決定方法は、外部装置（クライアントコンピュータ４０ａ、４０ｂ、…４０ｍ）からの接続要求を処理してその処理結果を要求元に返信する複数台のウェブサーバ３０Ａ〜Ｅと、接続要求に反応してこの接続要求を処理するウェブサーバを決定して各々のウェブサーバの間での負荷を平準化する負荷分散装置１０と、負荷分散装置が接続要求を処理させるウェブサーバを決定する基準となる基準指標を決定するサーバ選択基準決定装置２０とが相互に接続されたウェブサービスシステム１が、基準指標を決定する方法である。この方法は、ウェブサーバ３０Ａ〜Ｅの動作状況を表す複数項目の指標についての測定値である指標値を各ウェブサーバ３０Ａ〜Ｅが収集すると共にこれをサーバ選択基準決定装置に送信し（図９・ステップＳ４１３）、収集されたこれらの指標値を各指標ごとにサーバ選択基準決定装置２０が偏差値に換算し（図１０・ステップＳ４２３）、換算されたこれら各指標ごとの同一時点での偏差値の最大値と最小値の間の差分をサーバ選択基準決定装置２０が算出し（図１０・ステップＳ４２４）、算出された差分が最大となる指標をサーバ選択基準決定装置２０が基準指標として決定する（図１０・ステップＳ４２５〜４２７）と共にこれを負荷分散装置１０に送信し（図１０・ステップＳ４２８）、決定された基準指標に基づいて接続要求を処理させるウェブサーバを負荷分散装置１０が決定し（図８・ステップＳ４０２〜４０３）、決定されたウェブサーバ１０に負荷分散装置が接続要求を転送する（図８・ステップＳ４０４）。
【００６０】
ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行するコンピュータである負荷分散装置１０、サーバ選択基準決定装置２０、およびウェブサーバ３０Ａ〜Ｅに実行させるようにしてもよい。
この構成および動作により、本実施形態は以下のような効果を奏する。
【００６１】
本実施形態によれば、複数種類の指標値を容易に直接比較することが可能となるので、複数種類の指標値について総合的に均一になるように外部ネットワークからの要求を複数のウェブサーバに振り分けることが可能となる。これによって、各々のウェブサーバの持つコンピュータ資源を総合的に有効活用して、各々のウェブサーバが外部からの接続要求に対してより快適な応答速度を保つことができるようになる。
【００６２】
また、偏差値に換算することによって複数種類の指標値を直接比較できるようになるので、これによって基準指標の切り替えを自動化することが可能となる。従って、たとえば夜間など、高い知識を持つウェブサービス管理者が常駐することが困難な時間帯においても、より快適な応答速度を保つことができるようになる。
【００６３】
（本実施形態の変形）
本実施形態の変形として、負荷分散装置１０およびサーバ選択基準決定装置２０を前述のように同一のコンピュータ装置としてもよいし、負荷分散装置１０、サーバ選択基準決定装置２０、およびウェブサーバ３０Ａ〜Ｅの各々を、いわゆる仮想コンピュータによって物理的な装置区分とは無関係に構成してもよい。
【００６４】
また前述のように「コネクション数」、「応答時間」、「ＣＰＵ使用率」以外の指標を追加してもよいし、別の指標に変更してもよい。さらに、各々のウェブサーバの性能値に応じて各々の指標値に対して重み付けなどのような統計学的処理を行うようにしてもよい。そして、各指標ごとの偏差値の差分を算出する際、各指標ごとの偏差値の上位となる数台のウェブサーバにおける平均値と下位となる数台のウェブサーバにおける平均値との間の差分を算出するようにしてもよい。
【００６５】
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。
【産業上の利用可能性】
【００６６】
本発明は、複数台のウェブサーバと負荷分散装置とを使用するウェブサイトにおいて利用可能である。特に多くの台数のウェブサーバを同時に使用する大規模ウェブサイトで、顕著な効果を発揮しうる。
【符号の説明】
【００６７】
１  ウェブサービスシステム
１０  負荷分散装置
１１、２１、３１  ＣＰＵ
１２、２２、３２  記憶手段
１３、２３、３３  通信手段
２０  サーバ選択基準決定装置
３０Ａ、…、３０Ｅ  ウェブサーバ
４０ａ、…、４０ｍ  クライアントコンピュータ
５０  インターネット
６０  内部ネットワーク
１０１  サーバ決定部
１０２  負荷分散部
１０３  決定表受信部
１０４  基準指標決定データ
１０４ａ  基準指標
２０１  平均算出部
２０２  偏差値算出部
２０３  差分算出部
２０４  基準指標決定部
３０１  ウェブサービス部
３０２  情報収集部
【図１】
2011150472.tif 000005
【図２】
2011150472.tif 000006
【図３】
2011150472.tif 000007
【図４】
2011150472.tif 000008
【図５】
2011150472.tif 000009
【図６】
2011150472.tif 000010
【図７】
2011150472.tif 000011
【図８】
2011150472.tif 000012
【図９】
2011150472.tif 000013
【図１０】
2011150472.tif 000014
【図１１】
2011150472.tif 000015