(57)【要約】【課題】負荷分散装置と各サーバ装置との間で送受される監視情報量を抑制し、各サーバ装置の負荷判定を適正に行うことにより、安定した負荷分散およびサービス品質の維持を実現できるサーバ負荷分散方式を提供する。【解決手段】各サーバ装置１は、サーバ負荷を検知する負荷検知部１０１と、サーバの負荷状況を負荷分散装置２へ通知する負荷通知部１０２と、負荷分散装置２からの要求に応答して負荷判定の閾値Lref1，Lref2を変更する閾値変更部１０３とを備える。負荷分散装置２は、各サーバ装置１の負荷状態を管理する負荷管理テーブル２０１と、クライアントからのサービス要求を負荷の重くないサーバ装置へ転送するサーバ選択部２０２と、負荷の重くないサーバ装置の割合に応じて各サーバ装置に閾値の変更を要求する負荷判定閾値変更要求部２０３とを有する。【選択図】図１
2012088797.tif 000002
【特許請求の範囲】
【請求項１】
サービス要求に応答してサービスを提供する複数のサーバ装置と、
サービス要求をいずれかのサーバ装置へ転送する負荷分散装置とを具備し、
前記各サーバ装置が、
サーバ負荷を検知する手段と、
前記サーバ負荷を閾値と比較し、比較結果を負荷分散装置へ通知する手段とを具備し、
前記負荷分散装置が、
前記各サーバ装置から通知される前記比較結果に基づいて各サーバ装置の負荷状況を管理する手段と、
負荷の重くないサーバ装置を選択してサービス要求を転送する手段とを具備したことを特徴とするサーバ負荷分散方式。
【請求項２】
前記各サーバ装置において、前記比較結果を負荷分散装置へ通知する手段は、サーバ負荷が第１の閾値を上回ったこと、およびサーバ負荷が当該第１の閾値よりも小さい第２の閾値を下回ったこと、を前記負荷分散装置へ通知することを特徴とする請求項１に記載のサーバ負荷分散方式。
【請求項３】
前記各サーバ装置において、前記負荷状況を管理する手段は、サーバ負荷が第１の閾値を上回ったことを通知していないサーバ装置、およびサーバ負荷が第２の閾値を下回ったことを通知したサーバ装置を、負荷の重くないサーバ装置として管理することを特徴とする請求項２に記載のサーバ負荷分散方式。
【請求項４】
前記負荷分散装置は、前記負荷の重くないサーバ装置の割合を所定の目標値と比較し、前記割合が目標値に近づくように各サーバ装置に対して前記閾値の変更を要求する閾値変更要求手段を具備し、
前記各サーバ装置は、前記閾値変更要求に応答して前記閾値を変更する閾値変更手段を具備したことを特徴とする請求項１ないし３のいずれかに記載のサーバ負荷分散方式。
【請求項５】
前記閾値変更要求手段は、前記負荷の重くないサーバ装置の割合が所定の目標値を下回ると、各サーバ装置に対して前記閾値を高めることを要求することを特徴とする請求項４に記載のサーバ負荷分散方式。
【請求項６】
前記閾値変更要求手段は、前記負荷の重くないサーバ装置の割合が所定の目標値を上回ると、各サーバ装置に対して前記閾値を低めることを要求することを特徴とする請求項４に記載のサーバ負荷分散方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置の負荷を分散するサーバ負荷分散方式に係り、特に、各サーバ装置と負荷分散装置との間で送受される監視情報量を抑制しながら、安定した負荷分散およびサービス品質の維持を実現できるサーバ負荷分散方式に関する。
【背景技術】
【０００２】
Web閲覧やコンテンツ配信といったサービスにおいて、Webコンテンツや動画コンテンツを複数のサーバ装置に分散配置し、クライアントからのサービス要求を各サーバ装置に分散処理させる負荷分散処理が特許文献１に開示されている。このような負荷分散システムでは、クライアントからのサービス要求をどのサーバ装置へ転送して処理させるべきかを決定するためのサーバ負荷分散装置が必要になる。
【０００３】
特許文献２，３には、制御装置が各サーバ装置から負荷状態などの情報を受け取り、負荷が最小のサーバ装置にタスクを配分することでサーバ負荷を分散する技術が開示されている。特許文献４には、負荷分散装置が複数のサーバ装置にヘルスチェックフレームを送出し、これに対する応答時間が閾値以上のサーバ装置を過負荷と判定して通信先サーバの選択対象外とする技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−２１８８４２号公報
【特許文献２】特開２００２−２７８９４５号公報
【特許文献３】特開２０００−２００２５３号公報
【特許文献４】特開２００４−６２２４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献４では、サーバ装置の負荷を検知するために負荷分散装置からヘルスチェックフレームが送出され、これを受信した各サーバ装置からは応答フレームが返信される。しかしながら、このようなヘルスチェックフレームの送信／応答に基づくサーバ負荷の検知方式では、サーバ負荷を速やかに検知しようとすればヘルスチェックフレームの送出周期を短くする必要があり、かつヘルスチェックフレームが送出されるごとに各サーバ装置からは応答フレームが返信されるので、負荷分散装置と各サーバ装置との間での送受される監視情報量が増えてしまう。また、特に過負荷状態のサーバ装置では、ヘルスチェックフレームに対する受信処理および応答処理により過負荷状態が更に増長されてしまう。
【０００６】
さらに、負荷の低いサーバ装置のみにサービス要求を選択的に転送する負荷分散方式では、過負荷判定の閾値設定が難しく、過負荷判定の閾値を上げて過負荷判定されにくくすると、負荷の高いサーバ装置も負荷の低いサーバ装置も同等に扱われるので、サービス品質に低下やバラツキが生じうる。一方、過負荷判定の閾値を下げて負荷判定され易くすると、サービス品質の低下やバラツキは抑えられるものの、全てのサーバ装置が過負荷と判定されてサービス要求を転送できなくなってしまう事態が生じうる。
【０００７】
本発明の目的は、上記した従来技術の課題を解決し、負荷分散装置と各サーバ装置との間で送受される監視情報量を抑制し、かつ各サーバ装置の負荷判定を適正に行うことにより、安定した負荷分散およびサービス品質の維持を実現できるサーバ負荷分散方式を提供することにある。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、本発明は、サービス要求に応答してサービスを提供する複数のサーバ装置と、サービス要求をいずれかのサーバ装置へ転送する負荷分散装置とを備えた負荷分散方式において、以下のような手段を講じた点に特徴がある。
【０００９】
(1)各サーバ装置が、サーバ負荷を検知する手段と、サーバ負荷を閾値と比較し、比較結果を負荷分散装置へ通知する手段とを具備し、負荷分散装置が、各サーバ装置から通知される前記比較結果に基づいて各サーバ装置の負荷状況を管理する手段と、負荷の重くないサーバ装置を選択してサービス要求を転送する手段とを具備した。
【００１０】
(2)比較結果を負荷分散装置へ通知する手段は、サーバ負荷が第１の閾値を上回ったこと、およびサーバ負荷が当該第１の閾値よりも小さい第２の閾値を下回ったこと、をサーバ負荷分散手段へ通知するようにした。
【００１１】
(3)各サーバ装置の負荷状況を管理する手段は、サーバ負荷が第１の閾値を上回ったことを通知していないサーバ装置、およびサーバ負荷が第２の閾値を下回ったことを通知したサーバ装置を、負荷の重くないサーバ装置としてサービス要求を転送するようにした。
【００１２】
(4)負荷分散装置は、負荷の重くないサーバ装置の割合を所定の目標値と比較し、この割合が目標値に近づくように各サーバ装置に対して閾値の変更を要求する閾値変更要求手段を具備し、各サーバ装置は、この閾値変更要求に応答して閾値を変更する閾値変更手段を具備した。
【発明の効果】
【００１３】
本発明によれば、以下のような効果が達成される。
【００１４】
(1)負荷分散装置は、サーバ装置の負荷が閾値を下回っている（または、上回っている）か否かのみを監視すれば良いので、各サーバ装置から負荷分散装置へ通知される監視情報量を減じることができる。
【００１５】
(2)サーバ装置の負荷が重くなったと判定する第１の閾値と、サーバ装置の負荷が重くなくなったと判定する第２の閾値とを設け、第１の閾値を第２の閾値よりも高くしたので、サーバ負荷の判定が短時間で繰り返し変わる振動を防止できる。
【００１６】
(3)サービス要求の転送先となる、負荷の軽いサーバ装置の数が減少すると、各サーバ装置の閾値が高くされるので、負荷が重くないと判定されるサーバ数が増加してサービス要求の転送先を確保できるようになる。
【００１７】
(4)サービス要求の転送先となる、負荷の軽いサーバ装置の数が増加すると、各サーバ装置の閾値が低くされるので、サービス要求の転送先が負荷のより軽いサーバ装置に絞り込まれてサービス品質が向上する。
【図面の簡単な説明】
【００１８】
【図１】本発明の負荷分散方式が適用される負荷分散システムの構成を示した機能ブロック図である。
【図２】負荷分散装置の動作を示したフローチャートである。
【図３】サーバ装置の動作を示したフローチャートである。
【図４】サーバ装置の負荷状況が負荷分散装置へ通知されるタイミングを示したタイムチャートである。
【図５】サーバ装置の負荷判定閾値が変更（+ΔL）される様子を示したタイムチャートである。
【図６】サーバ装置の負荷判定閾値が変更（-ΔL）される様子を示したタイムチャートである。
【発明を実施するための形態】
【００１９】
以下、図面を参照して本発明の実施形態について詳細に説明する。図１は、本発明の負荷分散方式が適用される負荷分散システムの主要部の構成を示した機能ブロック図であり、サービス要求に応答して、認証サービス、Webサービスあるいはコンテンツ配信サービスなどの各種サービスを提供する複数のサーバ装置１（#1，#2…#N）と、サービス要求を負荷の低いサーバ装置１へ転送することでサーバ負荷を分散させる負荷分散装置２とを主要な構成としている。
【００２０】
前記各サーバ装置１は実質的に同一の構成を有し、サーバ負荷Lserverを検知する負荷検知部１０１と、前記サーバ負荷Lserverを第１および第２の閾値Lref1，Lref2と比較し、この比較結果に基づいて、自身の負荷状況を負荷分散装置２へ通知する負荷通知部１０２と、負荷分散装置２からの要求に応答して前記第１および第２の閾値Lref1，Lref2を変更する閾値変更部１０３とを備える。
【００２１】
前記第１の閾値Lref1は、サーバ負荷が重くなったか否かの判定基準に用いられ、前記第２の閾値Lref2は、サーバ負荷が重くなくなったか否かの判定基準に用いられる。本実施形態では、負荷判定が振動して動作が不安定となることを防止するために、第１の閾値Lref1は第２の閾値Lref2よりも高く設定されている。
【００２２】
前記負荷分散装置２は、各サーバ装置１から通知される負荷状態を管理するサーバ負荷管理テーブル２０１と、受信したサービス要求を負荷の重くないサーバ装置へ転送するサーバ選択部２０２と、負荷の重くないサーバ装置の割合に応じて前記各サーバ装置１に前記第１および第２の閾値Lref1，Lref2の変更を要求する負荷判定閾値変更要求部２０３とを有する。本実施形態では、過負荷状態ではないサーバ装置１の識別子（ここでは、#i〜#j）が前記サーバ負荷管理テーブル２０１に登録される。
【００２３】
次いで、図２，３のフローチャートおよび図４，５，６のタイミングチャートを参照して本発明の一実施形態の動作を説明する。
【００２４】
図２は、負荷分散装置２の動作を示したフローチャートであり、ステップＳ１においてサービス要求が受信されるとステップＳ２へ進み、サーバ選択部２０２によりサーバ負荷管理テーブル２０１が参照されて過負荷状態ではないサーバ装置の一つがランダムに選択される。本実施形態では、負荷が重くないサーバ装置１として#i〜#jがサーバ負荷管理テーブル２０１に登録されているので、この中の一つがランダムに選択される。ステップＳ３では、前記選択されたサーバ装置へ前記サービス要求が転送される。
【００２５】
図３は、サーバ装置１の動作を示したフローチャートであり、所定の周期で繰り返し実行される。
【００２６】
ステップＳ２１において、前記負荷分散装置１から転送されたサービス要求が受信されると、ステップＳ２２では、要求されたサービスを提供するサービス提供処理が実行される。ステップＳ２３，Ｓ２４の各処理については後述する。
【００２７】
ステップＳ２５では、前記負荷検知部１０１により自身のサーバ負荷Lserverが検知される。ステップＳ２６では、自身が前記負荷分散装置１のサーバ負荷管理テーブル２０１に、負荷が重くないサーバ装置として既登録であるか否かを示す既登録フラグFlightが参照される。フラグFlightがセット状態であれば、既登録と判定されるのでステップＳ２７へ進み、前記検知された現在のサーバ負荷Lserverが前記第１の閾値Lref1と比較される。図４の時刻t1以前であれば、Lserver≦Lref1なので当該処理を終了する。
【００２８】
これに対して、時刻t1でLserver＞Lref1となり、これがステップＳ２７で検知されるとステップＳ２８へ進む。ステップＳ２８では、負荷分散装置１に対してサーバ負荷Lserverが第１の閾値Lref1を上回った旨の通知（以下、過負荷通知と表現する場合もある）が送信される。ステップＳ２９では、前記既登録フラグFlightがリセットされる。したがって、これ以降は前記ステップＳ２６において、フラグFlightがリセット状態であって未登録と判定されるのでステップＳ３０へ進むことになる。
【００２９】
ステップＳ３０では、現在のサーバ負荷Lserverが前記第２の閾値Lref2と比較される。図４の時刻t1から時刻t2まではLserver≧Lref2と判定されるので当該処理を終了する。これに対して、サーバ負荷Lserverが徐々に解消され、時刻t2においてLserver＜Lref2となり、これがステップＳ３０で検知されるとステップＳ３１へ進む。ステップＳ３１では、負荷分散装置１に対してサーバ負荷Lserverが第２の閾値Lref1を下回った旨の通知（以下、過負荷解消通知と表現する場合もある）が送信される。ステップＳ３２では、前記既登録フラグFlightがセットされる。
【００３０】
図２のフローチャートへ戻り、負荷分散装置１では、前記サーバ装置１がステップＳ２８で送信した過負荷通知、またはステップＳ３１で送信した過負荷解消通知がステップＳ４で受信されるとステップＳ５へ進み、前記サーバ負荷管理テーブル２０１が更新される。すなわち、過負荷通知を送信したサーバ装置のエントリが削除され、過負荷解消通知を送信したサーバ装置のエントリが追加される。
【００３１】
また、ステップＳ６では、前記各サーバ装置１の第１および第２閾値Lref1，Lref2の変更条件が満足されているか否かが判定される。本実施形態では、全サーバ装置数に対する過負荷以外のサーバ装置数の割合が、所定の監視期間以上継続して基準割合Rrefを下回ると、各Lref1，Lref2をΔLだけ大きくする条件が満足されたと判定されてステップＳ７へ進む。ステップＳ７では、全てのサーバ装置１に対して閾値変更要求（+ΔL）が通知される。
【００３２】
これに対して、全サーバ装置数に対する過負荷以外のサーバ装置数の割合が、所定の監視期間以上継続して基準割合Rrefを上回ると、各Lref1，Lref2をΔLだけ小さくする条件が満足されたと判定されてステップＳ７へ進む。ステップＳ７では、全てのサーバ装置１に対して閾値変更要求（-ΔL）が通知される。
【００３３】
図３へ戻り、サーバ装置１では、前記負荷分散装置１から送信された閾値変更要求がステップＳ２３で受信されるとステップＳ２４へ進み、第１および第２閾値Lref1，Lref2が要求内容に応じて変更される。この結果、変更要求（+ΔL）であれば、図５に一例を示したように、Lref1が高くなるので過負荷判定されにくくなると同時に、Lref2も高くなるので過負荷解消判定されやすくなる。その結果、負荷が重くないと判定されるサーバ数が増加し、全サーバ装置数に対する過負荷以外のサーバ装置数の割合が増えるので、サービス要求の転送先を確保できるようになる。
【００３４】
これに対して、変更要求（-ΔL）であれば、図６に一例を示したように、Lref1が低くなるので過負荷判定され易くなると同時に、Lref2も低くなるので過負荷解消判定されにくくなる。その結果、サービス要求の転送先が負荷のより軽いサーバ装置に絞り込まれるので、サービス品質を向上させることができる。
【００３５】
なお、上記の実施形態では、負荷分散装置１のサーバ負荷管理テーブル２０１には、負荷が重くないサーバ装置１の識別子が登録され、全サーバ装置数に対する負荷の重くない（過負荷以外の）サーバ装置数の割合が基準割合Rrefを上回ったか否かに応じて各サーバ装置１の閾値が変更されるものとして説明した。しかしながら、本発明はこれのみに限定されるものではなく、サーバ負荷管理テーブル２０１には、負荷が重いサーバ装置１の識別子を登録し、全サーバ装置数に対する負荷の重い（過負荷の）サーバ装置数の割合が基準割合Rrefを上回った（下回った）か否かに応じて各サーバ装置１の閾値が変更されるようにしても良い。
【符号の説明】
【００３６】
１…サーバ装置，２…負荷分散装置，１０１…負荷検知部，１０２…負荷通知部，１０３…閾値変更部，２０１…サーバ負荷管理テーブル，２０２…サーバ選択部，２０３…負荷判定閾値変更要求部
【図１】
2012088797.tif 000003
【図２】
2012088797.tif 000004
【図３】
2012088797.tif 000005
【図４】
2012088797.tif 000006
【図５】
2012088797.tif 000007
【図６】
2012088797.tif 000008