説明

ウェブサービスシステム、サーバ選択基準決定装置、サーバ選択基準決定方法およびプログラム

【課題】複数種類の指標値について総合的に均一になるように要求を複数のサーバに振り分けることを可能とするウェブサービスシステム等を提供する。
【解決手段】外部装置からの接続要求を処理してその処理結果を要求元に返信すると共に自らの動作状況を表す複数項目の指標について指標値を収集する複数台のウェブサーバ30A〜Eと、特定の基準指標に基づいてウェブサーバを決定する負荷分散装置10と、各々のウェブサーバから受信した指標値を集計し、これに基づいて基準指標を決定してこれを負荷分散装置に送信するサーバ選択基準決定装置20とが相互に接続されて構成され、このサーバ選択基準決定装置20は各々の指標ごとに偏差値を算出し、同一時点での偏差値の最大値と最小値との間の差分を算出し、この差分が最大となる指標を特定の基準指標として決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はウェブサービスシステム、サーバ選択基準決定装置、サーバ選択基準決定方法およびプログラムに関し、特にウェブサービスに係る負荷の分散を複数の指標によって効率的に行うことを可能とするウェブサービスシステム、サーバ選択基準決定装置、基準指標決定方法およびプログラムに関する。
【背景技術】
【0002】
負荷分散装置(ロードバランサ)は、主にウェブサービスなどのような外部ネットワークに公開されるネットワークサービスに対する外部ネットワークからの要求を一元的に管理し、同等の機能を持つ複数のサーバコンピュータにその要求を転送する装置である。
【0003】
特にウェブサービスが大規模化するにつれて、単一のサーバコンピュータ(ウェブサーバ)でそのサービスをまかなうことが困難である場合が多くなっている。そのため、ある程度以上の規模のウェブサービスは、複数のウェブサーバによって構成されることが既に一般的である。そして、複数のウェブサーバによって構成されるウェブサービスでは、それらのウェブサーバの間で負荷を平準化して特定のウェブサーバへのトラフィックの集中を回避し、各々のウェブサーバが外部からの接続要求に対して快適な応答速度を保って動作することができるように、負荷分散装置が使用される。
【0004】
負荷分散装置に関連する技術文献として、たとえば次に示す各特許文献がある。その中でも特許文献1には、サーバに対する負荷を示す複数の指標について、サーバ間での各指標値のばらつきをチェックして、その上で特定の指標に対して平準化する負荷分散アルゴリズムを選択するという負荷分散システムについて記載されている。
【0005】
特許文献2には、複数のサーバの中で最も接続数の少ないサーバに接続先を振り分ける負荷分散装置について記載されている。特許文献3には、複数のサーバの中で最もセッション数、パケット数、接続時間のうちいずれか1つの条件について、負荷の少ないサーバに接続先を振り分ける負荷分散装置について記載されている。
【0006】
特許文献4には、各々のサーバの動作状態をサーバ監視・制御エージェントによって監視して、予め与えられた「ルール」に基づいて各サーバへの業務の割り振りを変更するという負荷分散システムについて記載されている。特許文献5には、全てのクライアントについての情報を記憶し、各サーバの負荷が均等になるように各サーバにクライアントを割り振るという負荷分散システムについて記載されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平10−334057号公報
【特許文献2】特開2002−269061号公報
【特許文献3】特開2002−351760号公報
【特許文献4】特開2005−182641号公報
【特許文献5】特開2006−209465号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
負荷分散装置を使用すれば、それらのウェブサーバの間で負荷を平準化して特定のウェブサーバへのトラフィック集中を回避し、各々のウェブサーバが外部からの接続要求に対して快適な応答速度を保つことはできる。しかしながら、通常の負荷分散装置は、ウェブサーバに対する負荷を示す特定の指標値、たとえば「コネクション数」、「応答時間」、「CPU使用率」などのような各々の指標のうち、どれか1種類の指標についてのみ、その指標値を各ウェブサーバ間で均一になるように接続先を振り分けている。
【0009】
同一のウェブサービスに対する接続要求であっても、その処理にかかる処理時間や計算容量などが毎回同一であるとは限らない。そのため、どれか1種類の指標値のみが均一になるように平準化を行うと、それ以外の指標値に関しては全く考慮されないので、各ウェブサーバ間で均一にはならない。これでは、負荷を適切に平準化したとは言えない。適切な平準化には、複数種類の指標値について総合的に均一になるように平準化を行うことが望ましい。
【0010】
特許文献1に記載の技術では、複数種類の指標値を順番に一つずつチェックし、平準化の対象とする指標を選択することはできる。しかしながらこの技術では、平準化の対象とする指標の選択は、それぞれのウェブサーバの性能を加味しつつウェブサービス管理者が行う必要がある。種類が異なる指標値は、単位が異なるため、直接比較することができない。そのため、この指標の選択を適切に行うには、ウェブサービス管理者の側にウェブサーバについての高い知識および経験が要求される。また、この指標の選択を自動化することも、そのような高い知識および経験を持つウェブサービス管理者が必要であるため、困難となる。
【0011】
残る特許文献2〜5にも、複数種類の指標値を利用して各ウェブサーバ間の負荷の平準化を行うということについては記載されていない。即ち、特許文献1〜5に記載の技術を全て組み合わせても、複数種類の指標値について総合的に均一になるように平準化を行うことはできない。
【0012】
本発明の目的は、ウェブサーバの負荷について示す複数種類の指標値について総合的に均一になるように外部ネットワークからの要求を複数のウェブサーバに振り分け、これによって各々のウェブサーバにかかる負荷を適切に平準化することを可能とするウェブサービスシステム、サーバ選択基準決定装置、基準指標決定方法およびプログラムを提供することにある。
【課題を解決するための手段】
【0013】
上記目的を達成するため、本発明に係るウェブサービスシステムは、外部装置からの接続要求を処理してその処理結果を要求元に返信する機能と、自らの動作状況を表す複数項目の指標についての測定値である指標値を収集する機能とを有する複数台のウェブサーバと、複数台のウェブサーバの中から接続要求を処理するウェブサーバを特定の基準指標に基づいて決定する負荷分散装置と、各ウェブサーバが発信した指標値を同時に受信すると共に、これに基づいて基準指標を決定してこれを負荷分散装置に送信するサーバ選択基準決定装置とを備え、サーバ選択基準決定装置が、受信した各指標値を偏差値に換算する機能と、同一時点での偏差値の最大値と最小値との間の差分を各指標ごとに算出する機能と、差分が最大となる指標を特定の基準指標として決定する機能とを有することを特徴とする。
【0014】
上記目的を達成するため、本発明に係るサーバ選択基準決定装置は、外部装置からの接続要求を処理してその処理結果を要求元に返信する複数台のウェブサーバと、接続要求に反応してこの接続要求を処理するウェブサーバを特定の基準指標に基づいて決定する負荷分散装置と相互に接続されたサーバ選択基準決定装置であって、ウェブサーバから受信した各々のウェブサーバの動作状況を表す複数項目の指標についての測定値である指標値を偏差値に換算する偏差値算出部と、同一時点での各指標ごとの偏差値の最大値と最小値の間の差分を各指標ごとに算出する差分算出部と、差分が最大となる指標を負荷分散装置が接続要求を処理させるウェブサーバを決定する基準となる基準指標として決定してこれを負荷分散装置に送信する基準指標決定部とを有することを特徴とする。
【0015】
上記目的を達成するため、本発明に係るサーバ選択基準決定方法は、外部装置からの接続要求を処理してその処理結果を要求元に返信する複数台のウェブサーバと、接続要求に反応してこの接続要求を処理するウェブサーバを決定して各々のウェブサーバの間での負荷を平準化する負荷分散装置と、負荷分散装置が接続要求を処理させるウェブサーバを決定する基準となる基準指標を決定するサーバ選択基準決定装置とを備えたウェブサービスシステムにあって、各ウェブサーバの動作状況を表す複数項目の指標についての測定値である指標値を各ウェブサーバが収集すると共にこれをサーバ選択基準決定装置に送信し、収集されたこれらの指標値を各指標ごとにサーバ選択基準決定装置が偏差値に換算し、換算されたこれら各指標ごとの同一時点での偏差値の最大値と最小値の間の差分をサーバ選択基準決定装置が算出し、算出された差分が最大となる指標をサーバ選択基準決定装置が基準指標として決定すると共にこれを負荷分散装置に送信し、決定された基準指標に基づいて接続要求を処理させるウェブサーバを負荷分散装置が決定し、決定されたウェブサーバに負荷分散装置が接続要求を転送することを特徴とする。
【0016】
上記目的を達成するため、本発明に係るサーバ選択基準決定プログラムは、外部装置からの接続要求を処理してその処理結果を要求元に返信する複数台のウェブサーバと、接続要求に反応してこの接続要求を処理するウェブサーバを決定して各々のウェブサーバの間での負荷を平準化する負荷分散装置と、負荷分散装置が接続要求を処理させるウェブサーバを決定する基準となる基準指標を決定するサーバ選択基準決定装置とを備えたウェブサービスシステムにあって、サーバ選択基準決定装置が備えているコンピュータに、ウェブサーバから受信した各々のウェブサーバの動作状況を表す複数項目の指標についての測定値である指標値を偏差値に換算する手順、各指標ごとの同一時点での偏差値の最大値と最小値の間の差分を算出する手順、および差分が最大となる指標を基準指標として決定すると共にこれを負荷分散装置に送信する手順を実行させることを特徴とする。
【発明の効果】
【0017】
上述したように本発明は、各々の指標値を偏差値に換算して基準指標を決定するように構成したので、ウェブサーバの負荷について示す複数種類の指標値について総合的に均一になるように外部ネットワークからの要求を複数のウェブサーバに振り分けることが可能となり、これによって各々のウェブサーバにかかる負荷を適切に平準化することが可能であるという優れた特徴を持つウェブサービスシステム、サーバ選択基準決定装置、基準指標決定方法およびプログラムを提供することができる。
【図面の簡単な説明】
【0018】
【図1】図2で示した負荷分散装置、サーバ選択基準決定装置、およびウェブサーバのより詳しい構成を示す説明図である。
【図2】本発明の実施形態に係るウェブサービスシステムのネットワーク構成を示す説明図である。
【図3】図1に示した各々のウェブサーバの情報収集部302から送られた同一時点の指標値の例を示す表である。
【図4】図3に示した各々の指標値から平均算出部が算出した平均および標準偏差の例を示す表である。
【図5】図3〜4に示した各々の指標値xiを、偏差値算出部が置換処理によって置換した後の偏差値x’iを示す表である。
【図6】図5に示した各々の偏差値x’iから、差分算出部が算出した最大値、最小値、およびそれらの間の差分を示す表である。
【図7】図1に示した基準指標決定データのデータ内容の例を示す説明図である。
【図8】図1に示した負荷分散装置で動作するサーバ決定部および負荷分散部の動作を示すフローチャートである。
【図9】図1に示したウェブサーバの各々で動作するウェブサービス部および情報収集部の動作を示すフローチャートである。
【図10】図1に示したサーバ選択基準決定装置で動作する平均算出部、偏差値算出部、差分算出部および基準指標決定部の動作を示すフローチャートである。
【図11】図5で示した各々の偏差値x’iを横軸に各サーバ、縦軸に偏差値を各々取り、各指標ごとに直線を描いて図示したグラフである。
【発明を実施するための形態】
【0019】
以下、本発明の第1の実施形態の構成について添付図1に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係るウェブサービスシステム1は、外部装置からの接続要求を処理してその処理結果を要求元に返信する機能と、自らの動作状況を表す複数項目の指標についての測定値である指標値を収集する機能とを有する複数台のウェブサーバ30A〜Eと、複数台のウェブサーバの中から接続要求を処理するウェブサーバを特定の基準指標に基づいて決定する負荷分散装置10と、各ウェブサーバが発信した指標値を同時に受信すると共に、これに基づいて基準指標を決定してこれを負荷分散装置に送信するサーバ選択基準決定装置20とが相互に接続されて構成される。このサーバ選択基準決定装置20は、受信した各指標値を偏差値に換算する機能と、同一時点での偏差値の最大値と最小値との間の差分を各指標ごとに算出する機能と、差分が最大となる指標を特定の基準指標として決定する機能とを有する。
【0020】
より具体的には、ウェブサーバ30A〜Eは、接続要求を処理してその処理結果を要求元に返信するウェブサービス部301と、ウェブサーバの動作状況を表す複数項目の指標についての測定値である指標値を収集する情報収集部302とを有する。負荷分散装置10は、接続要求を処理させるウェブサーバを基準指標に基づいて決定するサーバ決定部101と、決定されたウェブサーバに接続要求を転送する負荷分散部102と、サーバ選択基準決定装置から基準指標(基準指標決定データ104)を受信してこれを保存する決定表受信部103とを有する。そしてサーバ選択基準決定装置20は、情報収集部が収集した各々のウェブサーバの指標値を集計して各指標ごとの平均値および標準偏差を算出する平均算出部201と、各指標ごとに平均値および標準偏差が等しくなるように各々の指標値を換算した偏差値を算出する偏差値算出部202と、各指標ごとの偏差値の最大値と最小値の間の差分を算出する差分算出部203と、差分が最大となる指標を基準指標として決定してこれを負荷分散装置に転送する基準指標決定部204とを有する。
【0021】
また、基準指標決定部204は、差分が予め与えられた閾値を超える指標が存在しない場合に基準指標を無しと決定する。負荷分散装置10は、基準指標が無しである場合には接続要求を各々の前記ウェブサーバに均等に割り振るようウェブサーバを決定する。そして偏差値算出部202は、各指標ごとに平均値が50、かつ標準偏差が10となるように各々の指標値を換算した偏差値を算出する。
【0022】
以上の構成を備えることにより、このウェブサービスシステム1は、複数種類の指標値について総合的に均一になるように外部ネットワークからの要求を複数のウェブサーバに振り分け、各々のウェブサーバにかかる負荷を適切に平準化することが可能となる。
以下、これをより詳細に説明する。
【0023】
図2は、本発明の実施形態に係るウェブサービスシステム1のネットワーク構成を示す説明図である。ウェブサービスシステム1は、外部からの接続要求を処理する複数のコンピュータ装置であるウェブサーバ30A〜Eと、各々の接続要求をウェブサーバ30A〜Eのうちいずれに処理させるかを決定してそのウェブサーバに対して割り振るコンピュータ装置である負荷分散装置10と、負荷分散装置10が接続要求を処理するウェブサーバを決定する基準となる基準指標を決定するコンピュータ装置であるサーバ選択基準決定装置20とが、内部ネットワーク60によって相互に接続されて構成される。
【0024】
負荷分散装置10は、接続要求を送信する複数のクライアントコンピュータ40a、40b、…40mとインターネット50を介して相互に接続される。ここでmは任意の自然数である。図2にはウェブサーバが30A、30B、30C、30D、30Eの5台である例を示しているが、このウェブサーバの台数nは複数台であれば何台でもよく、またその台数nはクライアントコンピュータの台数mとは無関係である。
【0025】
ここで、負荷分散装置10とサーバ選択基準決定装置20とは、図2では物理的に別個のコンピュータ装置として示しているが、同一のコンピュータ装置であってもよい。また、負荷分散装置10、サーバ選択基準決定装置20、およびウェブサーバ30A〜Eの各々を、いわゆる仮想コンピュータによって物理的な装置区分とは無関係に構成してもよい。
【0026】
図1は、図2で示した負荷分散装置10、サーバ選択基準決定装置20、およびウェブサーバ30A〜Eのより詳しい構成を示す説明図である。図1に示したウェブサーバ30A〜Eは全て同じ構成を有するので、ここではウェブサーバ30Aの構成のみを説明する。
【0027】
負荷分散装置10は、コンピュータプログラムを実行する主体となるCPU(Central Processing Unit)11と、プログラムおよびデータを記憶する記憶手段12と、通信手段13とを備える。通信手段13は、インターネット50を介してクライアントコンピュータ40a、40b、…40mとデータ通信を行うと同時に、サーバ選択基準決定装置20およびウェブサーバ30A〜Eとも内部ネットワーク60を介してデータ通信を行う。
【0028】
CPU11では、クライアントコンピュータ40a、40b、…40mからの接続要求をウェブサーバ30A〜Eのうちのいずれに処理させるかを決定するサーバ決定部101と、そこで決定されたウェブサーバに転送する負荷分散部102と、後述する決定表受信部103とがコンピュータプログラムとして動作する。そして記憶手段12には、サーバ決定部101が接続要求を処理させるウェブサーバを決定する際に参照するデータである基準指標決定データ104が記憶される。
【0029】
サーバ選択基準決定装置20も、負荷分散装置10と同様に、CPU21と、記憶手段22と、通信手段23とを備える。そしてCPU21では、後述する平均算出部201、偏差値算出部202、差分算出部203、および基準指標決定部204が、コンピュータプログラムとして動作する。
【0030】
ウェブサーバ30Aも、負荷分散装置10およびサーバ選択基準決定装置20と同様に、CPU31と、記憶手段32と、通信手段33とを備える。そしてCPU31では、クライアントコンピュータ40a、40b、…40mからの接続要求を処理するウェブサービス部301と、後述する情報収集部302とが、コンピュータプログラムとして動作する。
【0031】
(各部の動作)
負荷分散装置10で動作するサーバ決定部101は、クライアントコンピュータ40a、40b、…40mからの接続要求を受けて、基準指標決定データ104に含まれる基準指標104aを参照して、各々の接続要求をウェブサーバ30A〜Eのうちのいずれに処理させるかを決定する。負荷分散部102は、決定されたそのウェブサーバに当該接続要求を転送し、この接続要求に対する当該ウェブサーバからのレスポンスを要求元のクライアントコンピュータに転送する。
【0032】
ウェブサーバ30Aで動作する情報収集部302は、ウェブサービス部301と並行して動作するエージェントプログラムであり、当該ウェブサーバの動作状態に関する「指標値」を収集してサーバ選択基準決定装置20に送信する。情報収集部302は、所定の周期によって定期的に指標値の収集を行う他、負荷分散装置10から転送された接続要求を受けた場合にも指標値の収集を行う。
【0033】
情報収集部302が指標値を収集する対象となる指標として、本実施形態では「コネクション数」、「応答時間」、「CPU使用率」という3種類を使用する。もちろん、これ以外の指標、たとえば「メモリ使用率」や「I/O処理速度」などを使用してもよいし、また各々のウェブサーバの性能値(たとえば「最大コネクション数」「CPU動作周波数」「メモリ容量」など)に応じて、各々の指標値に対して重み付けなどのような統計学的処理を行うようにしてもよい。本実施形態では、各々のウェブサーバ間の性能値の違いは無視できるものとして説明を行う。
【0034】
サーバ選択基準決定装置20で動作する平均算出部201は、各々のウェブサーバ30A〜Eの情報収集部302から送られた指標値を集計して、後述の数式によって各サーバ間の平均および標準偏差を算出する。偏差値算出部202は、この平均および標準偏差が各指標間で等しい値になるように各々の指標値を置換した偏差値を算出する。
【0035】
差分算出部203は、算出されたその偏差値の最大値および最小値と、最大値と最小値との間の差分を算出する。基準指標決定部204は、算出された差分から、負荷分散装置10が負荷分散の基準とすべき指標である基準指標104aを決定して、これを含む基準指標決定データ104を作成して負荷分散装置10に送信する。
【0036】
負荷分散装置10でサーバ決定部101および負荷分散部102と並行して動作する決定表受信部103は、サーバ選択基準決定装置20から基準指標決定データ104を受信して、記憶手段12に保存する。
【0037】
本明細書では、各ウェブサーバの動作状況を表す数値の項目名を「指標」といい、それらの項目で実際に測定および収集された数値を「指標値」という。そしてその指標値を、平均算出部201が指標ごとに集計して、各サーバ間の平均および標準偏差を算出し、後述の数式によって「偏差値」を算出する。その各指標ごとの「偏差値」の最大値から最小値を引いた数値を「差分」という。
【0038】
図3は、図1に示した各々のウェブサーバ30A〜Eの情報収集部302から送られた同一時点の指標値の例を示す表である。平均算出部201は、各々のウェブサーバ30A〜Eの情報収集部302から送られた同一時点の指標値から、下に示す数1によって各々の指標値の平均ave(x)および標準偏差std(x)を求める。ただし、ウェブサーバの台数n=5、ウェブサーバ30A〜Eの各指標値をxi(i=1〜n)、とする。図4は、図3に示した各々の指標値から平均算出部201が算出した各ウェブサーバ間の平均ave(x)および標準偏差std(x)の例を示す表である。
【数1】

【0039】
偏差値算出部202は、平均算出部201によって算出された各々の指標値を、下に示す数2によって平均ave(x)=50、標準偏差std(x)=10となるように置換する。ただし、各指標値をxi、この指標値を置換して得られた偏差値をx’i(i=1〜n、本実施形態ではn=5)とする。図5は、図3〜4に示した各々の指標値xiを、偏差値算出部202が置換処理によって置換した後の偏差値x’iを示す表である。
【数2】

【0040】
差分算出部203は、偏差値算出部202によって算出された各々の偏差値の最大値および最小値と、最大値と最小値との間の差分を算出する。図6は、図5に示した各々の偏差値x’iから、差分算出部203が算出した最大値、最小値、およびそれらの間の差分を示す表である。
【0041】
基準指標決定部204は、差分算出部203によって算出された差分が最大となる指標値を平準化するように基準指標104aを決定し、決定された基準指標104aを含めて基準指標決定データ104を作成し、負荷分散装置10に送信する。負荷分散装置10では、送信された基準指標決定データ104を受信した決定表受信部103は、これを記憶手段12に記憶し、サーバ決定部101がこれを接続要求を処理するウェブサーバの決定に利用する。
【0042】
図7は、図1に示した基準指標決定データ104のデータ内容の例を示す説明図である。基準指標決定データ104は、図3に示した各指標についての指標値に加えて、基準指標決定部204が決定した基準指標104aを記憶している。各指標についての指標値は、負荷分散部102が実際に負荷分散に係る動作を行う(これは公知技術の範囲である)際に使用するものであるので、基準指標104aの決定とは別個に指標値を取得する必要がないよう、基準指標決定データ104に含める構成としている。
【0043】
ウェブサービスシステム1の動作開始時の基準指標決定データ104の初期データでは、基準指標104aは「無し」となる。この場合にサーバ決定部101は、負荷状況とは特に関係なく、たとえば「ウェブサーバ30A→30B→30C→30D→30E→(最初に戻る)」などのような所定の順序で各ウェブサーバに均等に接続要求を処理させるという「ラウンドロビンアルゴリズム」を使用してウェブサーバを決定する。
【0044】
基準指標104aはこれ以外に、負荷状況に応じて、コネクション数が最小であるウェブサーバに接続要求を処理させるという「コネクション数」、応答時間が最小であるウェブサーバに接続要求を処理させるという「応答時間」、CPU使用率が最小であるウェブサーバに接続要求を処理させるという「CPU使用率」、以上の各々の中から基準指標決定部204が決定することができる。サーバ決定部101は、指定された基準指標104aの各々に対応するアルゴリズムを内蔵しており、それぞれのアルゴリズムに基づいて接続要求を処理させるウェブサーバを決定する。
【0045】
(接続要求の転送と基準指標決定データの受信)
図8は、図1に示した負荷分散装置10で動作するサーバ決定部101、負荷分散部102および決定表受信部103の動作を示すフローチャートである。インターネット50を介してクライアントコンピュータ40a、40b、…40mからの接続要求を受けたサーバ決定部101は(ステップS401)、まず基準指標決定データ104の内容を読み込む(ステップS402)。サーバ決定部101はその内容に基づき、この接続要求をウェブサーバ30A〜Eのうちのいずれに処理させるかを決定する(ステップS403)。
【0046】
負荷分散部102は、ステップS403で決定されたウェブサーバに、その接続要求を転送し(ステップS404)、当該ウェブサーバからのレスポンスを要求元のクライアントコンピュータに転送する(ステップS405)。
【0047】
そして、後述する基準指標決定部204から基準指標決定データ104を受信した場合、決定表受信部103がこの基準指標決定データ104を受信して(ステップS406)記憶手段12に記憶する(ステップS407)。ステップS401〜405と、ステップS406〜407の処理は、各々並行して行われる。
【0048】
(ウェブサーバの動作と指標値の収集)
図9は、図1に示したウェブサーバ30A〜Eの各々で動作するウェブサービス部301および情報収集部302の動作を示すフローチャートである。図8のステップS404で、負荷分散装置10によって転送された接続要求を受けたウェブサービス部301は、この接続要求に対応する処理を行い(ステップS411)、その処理の結果をレスポンスとして負荷分散装置10に返す(ステップS412、図8のステップS405に対応)。
【0049】
情報収集部302は、ウェブサービス部301と並行して動作し、所定の周期の経過もしくは負荷分散装置10からの接続要求があった場合に(ステップS413)、自らが動作する当該ウェブサーバで指標値を収集し(ステップS414)、収集された指標値をサーバ選択基準決定装置20に送信する(ステップS415)。
【0050】
(偏差値および差分の算出)
図10は、図1に示したサーバ選択基準決定装置20で動作する平均算出部201、偏差値算出部202、差分算出部203および基準指標決定部204の動作を示すフローチャートである。図9のステップS415で、情報収集部302から各ウェブサーバの指標値を受信した平均算出部201は(ステップS421)、前述の数1で示した式によって同一時点の各々の指標値xi(i=1〜n)の平均ave(x)および標準偏差std(x)を算出する(ステップS422)。
【0051】
偏差値算出部202は、平均算出部201が算出した各々の指標値xiを前述の数2で示した式によって換算した偏差値x’iを算出する(ステップS423)。差分算出部203は、偏差値算出部202が算出した各指標ごとの偏差値の最大値および最小値と、最大値と最小値との間の差分を算出する(ステップS424)。ここで算出される差分は、単純に各指標ごとの偏差値の最大値−最小値を差分としてもよいし、また各指標ごとの偏差値の上位となる数台のウェブサーバにおける平均値と下位となる数台のウェブサーバにおける平均値との間の差分としてもよい。
【0052】
前述の図3は各ウェブサーバの指標値の例を示している。図4はこれらの指標値から平均算出部201がステップS422の処理によって算出した各指標値の平均ave(x)および標準偏差std(x)とを示している。図5は図4で示した例に対して、偏差値算出部202がステップS423の処理によって換算した各々の偏差値を示している。そして図6は図5で示した例に対して、差分算出部203がステップS424の処理によって算出した各指標の偏差値の最大値・最小値と差分とを示している。
【0053】
(基準指標の決定)
図11は、図5で示した同一時点の各々の偏差値x’iを横軸に各サーバ、縦軸に偏差値を各々取り、各指標ごとに直線を描いて図示したグラフである。各指標は、それぞれコネクション数、応答時間(単位msec)、CPU使用率(単位%)である。これらは各々全く違う指標であり、また各指標値の単位も異なるので、そのままでは各指標値を単純に比較することは不可能である。
【0054】
しかしながら、本実施形態ではこれらの指標値を、平均値および標準偏差がそれぞれ等しくなるように換算した偏差値を算出するので、同一尺度で比較することが可能となる。その中で、差分が最大となる指標が、最も負荷の平準化が必要となる指標であると言える。
【0055】
図10に戻って、基準指標決定部204は平均算出部201が換算および算出した各指標の偏差値の差分が最大となる指標を選択し、この差分が予め決められた範囲内であるか否かを判断する(ステップS425)。決められた範囲内であれば、特定の指標を優先的に平準化させる必要はないと言えるので、基準指標決定部204は基準指標104aを「無し」とし、これを図7に示した基準指標決定データ104に記載して(ステップS426)負荷分散装置10に送信する(ステップS428、図8のステップS406に対応)。この場合にサーバ決定部101は、前述の「ラウンドロビンアルゴリズム」を使用してウェブサーバを決定することになる。
【0056】
ステップS425で、その指標の差分が予め決められた範囲を外れていた場合、基準指標決定部204はその指標に対応して基準指標104aを選択する。その指標がコネクション数である場合には「コネクション数」、応答時間である場合には「応答時間」、CPU使用率である場合には「CPU使用率」を選択する。基準指標決定部204は、選択した基準指標104aを基準指標決定データ104に記載して(ステップS427)負荷分散装置10に送信する(ステップS428、図8のステップS406に対応)。
【0057】
図3〜7および図11に記載された例では、「コネクション数」の差分が21.3、「応答時間」の差分が28.2、「CPU使用率」の差分が19.2となる。ステップS425で基準とする「予め決められた範囲」を「差分≦20(標準偏差×2)」とすると、差分が最大となる指標は「応答時間」であり、その差分「28.2」は「予め決められた範囲」を超える。従って、基準指標決定部204は基準指標104aとして「応答時間」を選択する。
【0058】
基準指標決定データ104は、図9のステップS413で、所定の周期の経過もしくは負荷分散装置10からの接続要求の転送があった場合に作成されて負荷分散装置10に送信される。そして負荷分散装置10は、クライアントコンピュータ40a、40b、…40mからの接続要求を受けるたびに、この基準指標決定データ104を参照して接続要求の転送先を決定する。従って、本実施形態では、ウェブサーバ30A〜Eの負荷状況に変化があっても、その負荷状況に応じてより適切な基準指標104aに基づいて、各ウェブサーバの負荷を平準化することができる。
【0059】
(第1の実施形態の全体的な動作)
次に、上記の実施形態の全体的な動作について説明する。本実施形態に係るサーバ選択基準決定方法は、外部装置(クライアントコンピュータ40a、40b、…40m)からの接続要求を処理してその処理結果を要求元に返信する複数台のウェブサーバ30A〜Eと、接続要求に反応してこの接続要求を処理するウェブサーバを決定して各々のウェブサーバの間での負荷を平準化する負荷分散装置10と、負荷分散装置が接続要求を処理させるウェブサーバを決定する基準となる基準指標を決定するサーバ選択基準決定装置20とが相互に接続されたウェブサービスシステム1が、基準指標を決定する方法である。この方法は、ウェブサーバ30A〜Eの動作状況を表す複数項目の指標についての測定値である指標値を各ウェブサーバ30A〜Eが収集すると共にこれをサーバ選択基準決定装置に送信し(図9・ステップS413)、収集されたこれらの指標値を各指標ごとにサーバ選択基準決定装置20が偏差値に換算し(図10・ステップS423)、換算されたこれら各指標ごとの同一時点での偏差値の最大値と最小値の間の差分をサーバ選択基準決定装置20が算出し(図10・ステップS424)、算出された差分が最大となる指標をサーバ選択基準決定装置20が基準指標として決定する(図10・ステップS425〜427)と共にこれを負荷分散装置10に送信し(図10・ステップS428)、決定された基準指標に基づいて接続要求を処理させるウェブサーバを負荷分散装置10が決定し(図8・ステップS402〜403)、決定されたウェブサーバ10に負荷分散装置が接続要求を転送する(図8・ステップS404)。
【0060】
ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行するコンピュータである負荷分散装置10、サーバ選択基準決定装置20、およびウェブサーバ30A〜Eに実行させるようにしてもよい。
この構成および動作により、本実施形態は以下のような効果を奏する。
【0061】
本実施形態によれば、複数種類の指標値を容易に直接比較することが可能となるので、複数種類の指標値について総合的に均一になるように外部ネットワークからの要求を複数のウェブサーバに振り分けることが可能となる。これによって、各々のウェブサーバの持つコンピュータ資源を総合的に有効活用して、各々のウェブサーバが外部からの接続要求に対してより快適な応答速度を保つことができるようになる。
【0062】
また、偏差値に換算することによって複数種類の指標値を直接比較できるようになるので、これによって基準指標の切り替えを自動化することが可能となる。従って、たとえば夜間など、高い知識を持つウェブサービス管理者が常駐することが困難な時間帯においても、より快適な応答速度を保つことができるようになる。
【0063】
(本実施形態の変形)
本実施形態の変形として、負荷分散装置10およびサーバ選択基準決定装置20を前述のように同一のコンピュータ装置としてもよいし、負荷分散装置10、サーバ選択基準決定装置20、およびウェブサーバ30A〜Eの各々を、いわゆる仮想コンピュータによって物理的な装置区分とは無関係に構成してもよい。
【0064】
また前述のように「コネクション数」、「応答時間」、「CPU使用率」以外の指標を追加してもよいし、別の指標に変更してもよい。さらに、各々のウェブサーバの性能値に応じて各々の指標値に対して重み付けなどのような統計学的処理を行うようにしてもよい。そして、各指標ごとの偏差値の差分を算出する際、各指標ごとの偏差値の上位となる数台のウェブサーバにおける平均値と下位となる数台のウェブサーバにおける平均値との間の差分を算出するようにしてもよい。
【0065】
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。
【産業上の利用可能性】
【0066】
本発明は、複数台のウェブサーバと負荷分散装置とを使用するウェブサイトにおいて利用可能である。特に多くの台数のウェブサーバを同時に使用する大規模ウェブサイトで、顕著な効果を発揮しうる。
【符号の説明】
【0067】
1 ウェブサービスシステム
10 負荷分散装置
11、21、31 CPU
12、22、32 記憶手段
13、23、33 通信手段
20 サーバ選択基準決定装置
30A、…、30E ウェブサーバ
40a、…、40m クライアントコンピュータ
50 インターネット
60 内部ネットワーク
101 サーバ決定部
102 負荷分散部
103 決定表受信部
104 基準指標決定データ
104a 基準指標
201 平均算出部
202 偏差値算出部
203 差分算出部
204 基準指標決定部
301 ウェブサービス部
302 情報収集部

【特許請求の範囲】
【請求項1】
外部装置からの接続要求を処理してその処理結果を要求元に返信する機能と、自らの動作状況を表す複数項目の指標についての測定値である指標値を収集する機能とを有する複数台のウェブサーバと、
前記複数台のウェブサーバの中から前記接続要求を処理するウェブサーバを特定の基準指標に基づいて決定する負荷分散装置と、
前記各ウェブサーバが発信した前記指標値を同時に受信すると共に、これに基づいて前記基準指標を決定してこれを前記負荷分散装置に送信するサーバ選択基準決定装置とを備え、
前記サーバ選択基準決定装置が、前記受信した各指標値を偏差値に換算する機能と、同一時点での前記偏差値の最大値と最小値との間の差分を前記各指標ごとに算出する機能と、前記差分が最大となる指標を前記特定の基準指標として決定する機能とを有することを特徴とするウェブサービスシステム。
【請求項2】
前記ウェブサーバが、
前記接続要求を処理してその処理結果を要求元に返信するウェブサービス部と、
前記ウェブサーバの動作状況を表す複数項目の指標についての測定値である指標値を収集する情報収集部とを有することを特徴とする、請求項1に記載のウェブサービスシステム。
【請求項3】
前記負荷分散装置が、
前記接続要求を処理させるウェブサーバを前記基準指標に基づいて決定するサーバ決定部と、
決定された前記ウェブサーバに前記接続要求を転送する負荷分散部と、
前記サーバ選択基準決定装置から前記基準指標を受信してこれを保存する決定表受信部とを有することを特徴とする、請求項1に記載のウェブサービスシステム。
【請求項4】
前記サーバ選択基準決定装置が、
前記情報収集部が収集した各々の前記ウェブサーバの指標値を集計して各指標ごとの平均値および標準偏差を算出する平均算出部と、
前記各指標ごとに前記平均値および前記標準偏差が等しくなるように各々の前記指標値を換算した偏差値を算出する偏差値算出部と、
前記各指標ごとの前記偏差値の最大値と最小値の間の差分を算出する差分算出部と、
前記差分が最大となる前記指標を基準指標として決定してこれを前記負荷分散装置に送信する基準指標決定部とを有することを特徴とする、請求項1に記載のウェブサービスシステム。
【請求項5】
前記基準指標決定部が、前記差分が予め与えられた閾値を超える前記指標が存在しない場合に前記基準指標を無しと決定することを特徴とする、請求項4に記載のウェブサービスシステム。
【請求項6】
前記負荷分散装置が、前記基準指標が無しである場合には前記接続要求を各々の前記ウェブサーバに均等に割り振るよう前記ウェブサーバを決定することを特徴とする、請求項5に記載のウェブサービスシステム。
【請求項7】
前記偏差値算出部が、前記各指標ごとに前記平均値が50、かつ前記標準偏差が10となるように各々の前記指標値を換算した偏差値を算出することを特徴とする、請求項4に記載のウェブサービスシステム。
【請求項8】
外部装置からの接続要求を処理してその処理結果を要求元に返信する複数台のウェブサーバと、前記接続要求に反応してこの接続要求を処理するウェブサーバを特定の基準指標に基づいて決定する負荷分散装置と相互に接続されたサーバ選択基準決定装置であって、
前記ウェブサーバから受信した各々の前記ウェブサーバの動作状況を表す複数項目の指標についての測定値である指標値を偏差値に換算する偏差値算出部と、
同一時点での前記各指標ごとの前記偏差値の最大値と最小値の間の差分を前記各指標ごとに算出する差分算出部と、
前記差分が最大となる指標を前記負荷分散装置が前記接続要求を処理させるウェブサーバを決定する基準となる基準指標として決定してこれを前記負荷分散装置に送信する基準指標決定部と
を有することを特徴とするサーバ選択基準決定装置。
【請求項9】
外部装置からの接続要求を処理してその処理結果を要求元に返信する複数台のウェブサーバと、前記接続要求に反応してこの接続要求を処理するウェブサーバを決定して各々の前記ウェブサーバの間での負荷を平準化する負荷分散装置と、前記負荷分散装置が前記接続要求を処理させるウェブサーバを決定する基準となる基準指標を決定するサーバ選択基準決定装置とを備えたウェブサービスシステムにあって、
前記各ウェブサーバの動作状況を表す複数項目の指標についての測定値である指標値を各ウェブサーバが収集すると共にこれを前記サーバ選択基準決定装置に送信し、
収集されたこれらの指標値を前記各指標ごとに前記サーバ選択基準決定装置が偏差値に換算し、
換算されたこれら各指標ごとの同一時点での偏差値の最大値と最小値の間の差分を前記サーバ選択基準決定装置が算出し、
算出された前記差分が最大となる指標を前記サーバ選択基準決定装置が前記基準指標として決定すると共にこれを前記負荷分散装置に送信し、
決定された前記基準指標に基づいて前記接続要求を処理させるウェブサーバを前記負荷分散装置が決定し、
決定された前記ウェブサーバに前記負荷分散装置が前記接続要求を転送する
ことを特徴とするサーバ選択基準決定方法。
【請求項10】
外部装置からの接続要求を処理してその処理結果を要求元に返信する複数台のウェブサーバと、前記接続要求に反応してこの接続要求を処理するウェブサーバを決定して各々の前記ウェブサーバの間での負荷を平準化する負荷分散装置と、前記負荷分散装置が前記接続要求を処理させるウェブサーバを決定する基準となる基準指標を決定するサーバ選択基準決定装置とを備えたウェブサービスシステムにあって、
前記サーバ選択基準決定装置が備えているコンピュータに、
前記ウェブサーバから受信した各々の前記ウェブサーバの動作状況を表す複数項目の指標についての測定値である指標値を偏差値に換算する手順、
前記各指標ごとの同一時点での前記偏差値の最大値と最小値の間の差分を算出する手順、
および前記差分が最大となる指標を基準指標として決定すると共にこれを前記負荷分散装置に送信する手順
を実行させることを特徴とするサーバ選択基準決定プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2011−150472(P2011−150472A)
【公開日】平成23年8月4日(2011.8.4)
【国際特許分類】
【出願番号】特願2010−10039(P2010−10039)
【出願日】平成22年1月20日(2010.1.20)
【出願人】(000213301)中部日本電気ソフトウェア株式会社 (56)
【Fターム(参考)】