(57)【要約】【課題】複数のクライアント装置からのデータに基づいて処理を行うサーバ装置の負荷を効果的に分散する。【解決手段】本発明の一態様の負荷分散装置２は、複数のクライアント装置Ｃ１〜Ｃ５と複数のサーバ装置Ｓ１〜Ｓ３との間の対応関係を決定する。負荷分散装置２は、クライアント装置Ｃ１〜Ｃ５とサーバ装置Ｓ１〜Ｓ３との間の現状の対応関係について、現状の負荷分散評価値を演算する評価値演算手段６と、現状の対応関係と異なるクライアント装置Ｃ１〜Ｃ５とサーバ装置Ｓ１〜Ｓ３との間の新規の対応関係を選択する選択手段８と、この選択された新規の対応関係に関する新規の負荷分散評価値を演算する評価値再演算手段９と、新規の負荷分散評価値の方が現状の負荷分散評価値よりも負荷分散されている状態を表す場合、クライアント装置Ｃ１〜Ｃ５とサーバ装置Ｓ１〜Ｓ３との間の対応関係を、選択手段８によって選択された新規の対応関係に変更する変更手段１０とを具備する。【選択図】図１
2007172531.tif 000002
【特許請求の範囲】
【請求項１】
複数のクライアント装置と複数のサーバ装置との間の対応関係を決定する負荷分散装置において、
前記複数のクライアント装置と前記複数のサーバ装置との間の現状の対応関係について、現状の負荷分散の程度を表す現状の負荷分散評価値を演算する評価値演算手段と、
前記現状の対応関係と異なる前記複数のクライアント装置と前記複数のサーバ装置との間の新規の対応関係を選択する選択手段と、
前記選択手段によって選択された前記新規の対応関係に関する負荷分散の程度を表す新規の負荷分散評価値を演算する評価値再演算手段と、
前記新規の負荷分散評価値の方が前記現状の負荷分散評価値よりも負荷分散されている状態を表す場合、前記複数のクライアント装置と前記複数のサーバ装置との間の対応関係を、前記選択手段によって選択された前記新規の対応関係に変更する変更手段と
を具備する負荷分散装置。
【請求項２】
請求項１記載の負荷分散装置において、
前記複数のクライアント装置ごとに設定された負荷指数を記憶する負荷指数記憶装置と、
前記複数のサーバ装置ごとに設定された処理能力指数を記憶する処理能力指数記憶装置と
をさらに具備し、
前記評価値演算手段は、前記現状の対応関係について、前記複数のサーバ装置の負荷率を（対応付けされているクライアント装置の負荷指数の合計／処理能力指数）より演算し、前記複数のサーバ装置の負荷率のうち最大の負荷率を、前記現状の負荷分散評価値とし、
前記評価値再演算手段は、前記新規の対応関係について、前記複数のサーバ装置の負荷率を（対応付けされているクライアント装置の負荷指数の合計／処理能力指数）より演算し、前記複数のサーバ装置の負荷率のうち最大の負荷率を、前記新規の負荷分散評価値とし、
前記変更手段は、前記新規の負荷分散評価値の方が前記現状の負荷分散評価値よりも小さい場合に、前記新規の負荷分散評価値の方が前記現状の負荷分散評価値よりも負荷分散されている状態と判断する
ことを特徴とする負荷分散装置。
【請求項３】
請求項１記載の負荷分散装置において、
前記評価値演算手段は、前記現状の対応関係について、前記複数のサーバ装置のリソース使用量のうちの最大値を、前記現状の負荷分散評価値とし、
前記評価値再演算手段は、前記新規の対応関係について、前記複数のサーバ装置のリソース使用量のうちの最大値を、前記新規の負荷分散評価値とし、
前記変更手段は、前記新規の負荷分散評価値の方が前記現状の負荷分散評価値よりも小さい場合に、前記新規の負荷分散評価値の方が前記現状の負荷分散評価値よりも負荷分散されている状態と判断する
ことを特徴とする負荷分散装置。
【請求項４】
請求項２又は請求項３記載の負荷分散装置において、
前記選択手段は、
前記現在の対応関係において、前記複数のサーバのうち負荷分散評価値の高いサーバ装置を選択し、
この選択された負荷分散評価値の高いサーバ装置に対応付けされているクライアント装置を選択し、
この選択されたクライアント装置を、前記選択された負荷分散評価値の高いサーバ装置ではない他のサーバ装置に対応付ける
ことを特徴とする負荷分散装置。
【請求項５】
請求項１乃至請求項４のいずれか１項に記載の負荷分散装置において、
前記複数のクライアント装置は、相互に関連するデータを扱う少なくとも一つのクライアントグループに所属し、
前記選択手段は、対応付け変更対象のクライアント装置と同じクライアントグループに属する全てのクライアント装置を、同一のサーバ装置に対応付ける
ことを特徴とする負荷分散装置。
【請求項６】
請求項１乃至請求項４のいずれか１項に記載の負荷分散装置において、
前記複数のクライアント装置は、相互に関連するデータを扱う少なくとも一つのクライアントグループに所属し、
前記選択手段は、
対応付け変更対象のサーバ装置に対応付けされている対応付け変更対象のクライアントグループを選択し、
前記対応付け変更対象のサーバ装置とは異なる複数の他のサーバ装置について、前記対応付け変更対象のクライアントグループに所属するクライアント装置の対応付け数を求め、
前記複数の他のサーバ装置のうち前記対応付け数の多いサーバ装置に、前記対応付け変更対象のサーバ装置に対応付けされており前記対応付け変更対象のクライアントグループに所属するクライアント装置を対応付ける
ことを特徴とする負荷分散装置。
【請求項７】
複数のクライアント装置と複数のサーバ装置との間の対応関係を決定する負荷分散方法において、
前記複数のクライアント装置と前記複数のサーバ装置との間の現状の対応関係について、現状の負荷分散の程度を表す現状の負荷分散評価値を演算し、
前記現状の対応関係と異なる前記複数のクライアント装置と前記複数のサーバ装置との間の新規の対応関係を選択し、
前記新規の対応関係に関する負荷分散の程度を表す新規の負荷分散評価値を演算し、
前記新規の負荷分散評価値の方が前記現状の負荷分散評価値よりも負荷分散されている状態を表す場合、前記複数のクライアント装置と前記複数のサーバ装置との間の対応関係を、前記選択手段によって選択された前記新規の対応関係に変更する
ことを特徴とする負荷分散方法。
【請求項８】
請求項７記載の負荷分散方法において、
前記複数のクライアント装置ごとに設定された負荷指数を記憶するとともに、前記複数のサーバ装置ごとに設定された処理能力指数を記憶し、
前記現状の対応関係について、前記複数のサーバ装置の負荷率を（対応付けされているクライアント装置の負荷指数の合計／処理能力指数）より演算し、前記複数のサーバ装置の負荷率のうち最大の負荷率を、前記現状の負荷分散評価値とし、
前記新規の対応関係について、前記複数のサーバ装置の負荷率を（対応付けされているクライアント装置の負荷指数の合計／処理能力指数）より演算し、前記複数のサーバ装置の負荷率のうち最大の負荷率を、前記新規の負荷分散評価値とし、
前記新規の負荷分散評価値の方が前記現状の負荷分散評価値よりも小さい場合に、前記新規の負荷分散評価値の方が前記現状の負荷分散評価値よりも負荷分散されている状態と判断する
ことを特徴とする負荷分散方法。
【請求項９】
請求項７記載の負荷分散方法において、
前記現状の対応関係について、前記複数のサーバ装置のリソース使用量のうちの最大値を、前記現状の負荷分散評価値とし、
前記新規の対応関係について、前記複数のサーバ装置のリソース使用量のうちの最大値を、前記新規の負荷分散評価値とし、
前記新規の負荷分散評価値の方が前記現状の負荷分散評価値よりも小さい場合に、前記新規の負荷分散評価値の方が前記現状の負荷分散評価値よりも負荷分散されている状態と判断する
ことを特徴とする負荷分散方法。
【請求項１０】
複数のクライアント装置と複数のサーバ装置との間の対応関係を決定する負荷分散処理を実現するためのプログラムにおいて、
コンピュータを、
前記複数のクライアント装置と前記複数のサーバ装置との間の現状の対応関係について、現状の負荷分散の程度を表す現状の負荷分散評価値を演算し、該演算結果である現状評価データを第１記憶装置に記憶する評価値演算手段、
前記現状の対応関係と異なる前記複数のクライアント装置と前記複数のサーバ装置との間の新規の対応関係を選択し、該選択結果である新規対応関係データを第２記憶装置に記憶する選択手段、
前記第２記憶装置に記憶されている前記対応関係データの表す前記新規の対応関係に関する負荷分散の程度を表す新規の負荷分散評価値を演算し、該演算結果である新規評価データを第３記憶装置に記憶する評価値再演算手段、
前記第３記憶装置に記憶されている前記新規評価データの表す前記新規の負荷分散評価値の方が、前記第１記憶装置に記憶されている前記現状評価データの表す前記現状の負荷分散評価値よりも負荷分散されている状態を表す場合、前記複数のクライアント装置と前記複数のサーバ装置との間の対応関係を、前記選択手段によって選択された前記新規の対応関係に変更する変更手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のサーバ装置の間で負荷分散を行う負荷分散装置及び方法並びにプログラムに関する。
【背景技術】
【０００２】
特許文献１（特開平１０−２４０６９７号公報）では、新しいセッションを、中継装置で複数の処理装置の負荷を測定し、各処理装置にトランザクション処理による負荷が均等になるようにトランザクションを割り振るセッション使用率をもとにした負荷分散方式が説明されている。
【０００３】
この特許文献１では、セッション使用率が最も低い処理装置に、トランザクション要求が送信される。
【０００４】
【特許文献１】特開平１０−２４０６９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１のセッション使用率をもとにした負荷分散方式においては、負荷の大きい処理装置の負荷を低下させることまでは考慮されていない。
また、上記特許文献１の発明においては、処理装置の負荷が動的に変化する場合に、最適なトランザクションの割り振りを行うことが困難である。
【０００６】
さらに、上記特許文献１においては、複数の端末が関連するデータを扱う場合であっても、この複数の端末が同一の処理装置に対応付けされるとは限らない。このため、関連するデータを複数の処理装置間で送受信する必要があり、処理装置間通信のオーバーヘッドがある。
【０００７】
本発明は、以上のような実情に鑑みてなされたもので、複数のクライアント装置からのデータに基づいて処理を行うサーバ装置の負荷を効果的に分散する負荷分散装置及び方法並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１例に係る負荷分散装置は、複数のクライアント装置と複数のサーバ装置との間の対応関係を決定する。第１例に係る負荷分散装置は、複数のクライアント装置と複数のサーバ装置との間の現状の対応関係について、現状の負荷分散の程度を表す現状の負荷分散評価値を演算する評価値演算手段と、現状の対応関係と異なる複数のクライアント装置と複数のサーバ装置との間の新規の対応関係を選択する選択手段と、選択手段によって選択された新規の対応関係に関する負荷分散の程度を表す新規の負荷分散評価値を演算する評価値再演算手段と、新規の負荷分散評価値の方が現状の負荷分散評価値よりも負荷分散されている状態を表す場合、複数のクライアント装置と複数のサーバ装置との間の対応関係を、選択手段によって選択された新規の対応関係に変更する変更手段とを具備する。
【０００９】
これにより、負荷の大きいサーバ装置に対応付けされているクライアント装置を、他のクライアント装置に対応付けることができ、負荷分散を行うことができる。
本発明の第２例に係る負荷分散装置は、上記第１例の負荷分散装置において、複数のクライアント装置ごとに設定された負荷指数を記憶する負荷指数記憶装置と、複数のサーバ装置ごとに設定された処理能力指数を記憶する処理能力指数記憶装置とをさらに具備し、評価値演算手段は、現状の対応関係について、複数のサーバ装置の負荷率を（対応付けされているクライアント装置の負荷指数の合計／処理能力指数）より演算し、複数のサーバ装置の負荷率のうち最大の負荷率を、現状の負荷分散評価値とし、評価値再演算手段は、新規の対応関係について、複数のサーバ装置の負荷率を（対応付けされているクライアント装置の負荷指数の合計／処理能力指数）より演算し、複数のサーバ装置の負荷率のうち最大の負荷率を、新規の負荷分散評価値とし、変更手段は、新規の負荷分散評価値の方が現状の負荷分散評価値よりも小さい場合に、新規の負荷分散評価値の方が現状の負荷分散評価値よりも負荷分散されている状態と判断するとしている。
【００１０】
これにより、サーバ装置の処理能力に対して、このサーバ装置に対応付けされているクライアント装置の負荷が過大な場合に、このサーバ装置の負荷を軽減して他のサーバ装置に割り当てることができる。
本発明の第３例に係る負荷分散装置は、上記第１例の負荷分散装置において、評価値演算部は、現状の対応関係について、複数のサーバ装置のリソース使用量のうちの最大値を、現状の負荷分散評価値とし、評価値再演算手段は、新規の対応関係について、複数のサーバ装置のリソース使用量のうちの最大値を、新規の負荷分散評価値とし、変更手段は、新規の負荷分散評価値の方が現状の負荷分散評価値よりも小さい場合に、新規の負荷分散評価値の方が現状の負荷分散評価値よりも負荷分散されている状態と判断するとしている。
【００１１】
これにより、サーバ装置のリソース使用量が過大な場合に、このサーバ装置の負荷を他のサーバ装置に割り当てることができる。
本発明の第４例に係る負荷分散装置は、上記第２又は第３の負荷分散装置において、選択手段は、現在の対応関係において、複数のサーバのうち負荷分散評価値の高いサーバ装置を選択し、この選択された負荷分散評価値の高いサーバ装置に対応付けされているクライアント装置を選択し、この選択されたクライアント装置を、負荷分散評価値の高いサーバ装置ではない他のサーバ装置に対応付けるとしている。
【００１２】
これにより、負荷の高いサーバ装置に対応付けされているクライアント装置を、他のサーバ装置に対応付けて、複数のサーバ装置と複数のクライアント装置との間の対応関係を変更することができる。
本発明の第５例に係る負荷分散装置は、上記第１例乃至第４例の負荷分散装置において、複数のクライアント装置は、相互に関連するデータを扱う少なくとも一つのクライアントグループに所属し、選択手段は、対応付け変更対象のクライアント装置と同じクライアントグループに属する全てのクライアント装置を、同一のサーバ装置に対応付けるとしている。
【００１３】
これにより、同じクライアントグループに属するクライアント装置を同じサーバ装置に対応付けつつ、複数のサーバ装置の負荷を分散することができ、複数のサーバ装置間のオーバーヘッド、データ通信を抑制できる。
本発明の第６例に係る負荷分散装置は、上記第１例乃至第４例の負荷分散装置において、複数のクライアント装置は、相互に関連するデータを扱う少なくとも一つのクライントグループに所属し、選択手段は、対応付け変更対象のサーバ装置に対応付けされている対応付け変更対象のクライアントグループを選択し、対応付け変更対象のサーバ装置とは異なる複数の他のサーバ装置について、対応付け変更対象のクライアントグループに所属するクライアント装置の対応付け数を求め、複数の他のサーバ装置のうち対応付け数の多いサーバ装置に、対応付け変更対象のサーバ装置に対応付けされており対応付け変更対象のクライアントグループに所属するクライアント装置を対応付けるとしている。
【００１４】
これにより、クライアント装置の対応付けが、対応付け変更対象のサーバ装置から他のサーバ装置に変更される場合に、この対応付け変更対象のクライアント装置を、同じクライアントグループに所属するクライアント装置の多い他のサーバ装置に対応付けることができ、複数のサーバ装置間のオーバーヘッド、データ通信を抑制できる。
【００１５】
なお、上記の第１乃至第６例は装置として表現されている。しかしながら、これに限らず、上記第１乃至第６例は、方法、プログラム、コンピュータ読み取り可能な記憶媒体などで表現されるとしてもよい。
【発明の効果】
【００１６】
本発明により、複数のクライアント装置からのデータに基づいて処理を行うサーバ装置の負荷を効果的に分散することができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照しながら本発明の実施の形態について説明する。なお、以下の各図において同様の機能を実現する部分については同一の符号を付して説明を省略する。
（第１の実施の形態）
図１は、本実施の形態に係る負荷分散装置の一例を示すブロック図である。
【００１８】
ネットワークシステム１は、複数のセンサＡ１〜Ａ５と、複数のクライアント装置Ｃ１〜Ｃ５と、複数のサーバ装置Ｓ１〜Ｓ３と、負荷分散装置２とを具備する。
センサＡ１〜Ａ５は、それぞれクライアント装置Ｃ１〜Ｃ５に接続されている。本実施の形態において、例えばセンサＡ１〜Ａ５は、廊下に設置されている各種の異常検出機器とする。センサＡ１〜Ａ５及びクライアント装置Ｃ１〜Ｃ５は、クライアントグループＧ１〜Ｇ４の少なくとも一つに所属する。本実施の形態においては、クライアントグループＧ１に、互いに隣接している２台のクライアント装置Ｃ１、Ｃ２が所属し、クライアントグループＧ２に、互いに隣接している２台のクライアント装置Ｃ２、Ｃ３が所属し、クライアントグループＧ３に、互いに隣接している２台のクライアント装置Ｃ３、Ｃ４が所属し、クライアントグループＧ４に、互いに隣接している２台のクライアント装置Ｃ４、Ｃ５が所属する。
【００１９】
センサＡ１〜Ａ５としては、例えば、遠赤外線人感センサ、火災検知器、震度計、カメラなどを用いることができる。クライアント装置Ｃ１〜Ｃ５は、それぞれセンサＡ１〜Ａ５によって測定されたセンサデータを、負荷分散装置２経由で、サーバ装置Ｓ１〜Ｓ３のうち自己に対応付けされているサーバ装置に送信する。
【００２０】
サーバ装置Ｓ１〜Ｓ３は、同一グループに所属する２台のクライアント装置の双方から、センサデータを受信した場合に、警報を発する。
なお、本実施の形態では、負荷分散装置２を独立の装置として説明するが、この負荷分散装置２の機能についてはその役割に応じてネットワークシステム１の他の機器により実現されるとしてもよく、ネットワークシステム１の複数の装置に分散して配置されるとしてもよい。負荷分散装置２は、例えばルータやゲートウェイなどのようなネットワークの中継装置であってもよい。
【００２１】
負荷分散装置２は、負荷指数記憶装置３、処理能力指数記憶装置４、初期対応付け部５、評価値演算部６、記憶装置７ａ〜７ｅ、選択部８、評価値再演算部９、変更部１０、更新部１１を具備する。
負荷指数記憶装置３は、例えば図２に示すような負荷指数データＤ１を記憶する。負荷指数データＤ１では、クライアント装置Ｃ１〜Ｃ５ごとに設定されている負荷指数が管理される。本実施の形態では、クライアント装置Ｃ１〜Ｃ５に接続されているセンサＡ１〜Ａ５のセンサデータの大きさに比例した負荷指数が定義されている。
【００２２】
処理能力指数記憶装置４は、例えば図３に示すような処理能力指数データＤ２を記憶する。処理能力指数データＤ２では、サーバ装置Ｓ１〜Ｓ３ごとに設定されている処理能力指数が管理される。本実施の形態では、各サーバ装置Ｓ１〜Ｓ３に接続されているネットワークの帯域に比例した処理能力指数が定義されている。
【００２３】
初期対応付け部５は、初期状態として、各クライアントグループＧ１〜Ｇ４を、ランダムにサーバ装置Ｓ１〜Ｓ３に対応付け、現状の対応関係を表す現状対応関係データＤ３として記憶装置７ａに記憶する。初期対応付け部５は、同一のクライアントグループに所属するクライアント装置については同一のサーバ装置に対応付ける。
【００２４】
ここでは、図４に示すように、初期的に、クライアントグループＧ１，Ｇ４は、サーバ装置Ｓ１に対応付けられ、クライアントグループＧ２は、サーバ装置Ｓ２に対応付けられ、クライアントグループＧ３は、サーバ装置Ｓ３に対応付けられているとする。
評価値演算部６は、記憶装置７ａに記憶されている現状対応関係データＤ３、負荷指数記憶装置３に記憶されている負荷指数データＤ１、処理能力指数記憶装置４に記憶されている処理能力指数データＤ２、及び評価関数に基づいて、現状の負荷分散の程度を表す現状の負荷分散評価値を演算し、この演算結果である現状評価データＤ４を記憶装置７ｂに記憶する。
【００２５】
本実施の形態において、評価値演算部６は、例えば、サーバ装置Ｓ１〜Ｓ３ごとに、対応付けされているクライアント装置の負荷指数の合計と、そのサーバ装置の処理能力指数の比（例えば、対応付けされているクライアント装置の負荷指数の合計／そのサーバ装置の処理能力指数）を計算して負荷率とし、サーバ装置Ｓ１〜Ｓ３の負荷率のうちの最大値を現状の負荷分散評価値とし、各サーバ装置Ｓ１〜Ｓ３の負荷率と現状の負荷分散評価値とを含む現状評価データＤ４を、記憶装置７ｂに記憶する。
【００２６】
上記図４で示す現状の対応関係においては、サーバ装置Ｓ１の負荷率「２」が最大であるため、現状の負荷分散評価値は２となる。
選択部８は、記憶装置７ｂの現状評価データＤ４に基づいて、負荷率の大きいサーバ装置Ｓ１を選択する。例えば、選択部８は、負荷率が最大のサーバ装置を対応付け変更対象のサーバ装置として選択してもよく、あるいは負荷率が所定値以上のサーバ装置のうちのいずれかを対応付け変更対象のサーバ装置として選択してもよい。
【００２７】
次に、選択部８は、この選択されたサーバ装置Ｓ１に対応付けされているクライアントグループＧ１，Ｇ４のうちから、ランダムに一つのクライアントグループを選択する。ここでは、クライアントグループＧ１が選択されたとする。
次に、選択部８は、選択されたクライアントグループＧ１に所属するクライアント装置Ｃ１，Ｃ２を求める。
【００２８】
次に、選択部８は、選択された負荷率の大きいサーバ装置Ｓ１とは異なる他のサーバ装置Ｓ２，Ｓ３について、選択されたクライアントグループＧ１に所属するクライアント装置Ｃ１，Ｃ２が対応付けられている数を求める。ここでは、サーバ装置Ｓ２には、クライアントグループＧ１に所属するクライアント装置が１台対応付けられており、サーバ装置Ｓ３には、クライアントグループＧ１に所属するクライアント装置が対応付けされていない。
【００２９】
次に、選択部８は、選択された負荷率の大きいサーバ装置Ｓ１とは異なる他のサーバ装置Ｓ２，Ｓ３のうち、選択されたクライアントグループＧ１に所属するクライアント装置の対応付け数の多いサーバ装置Ｓ２を選択し、このサーバ装置Ｓ２に、選択されたクライアントグループＧ１に所属するクライアント装置Ｃ１，Ｃ２を対応付け、この結果を示す新規対応関係データＤ５を記憶装置７ｃに記憶する。
【００３０】
この選択部８により、図５に示すように、クライアントグループＧ１，Ｇ２は、サーバ装置Ｓ２に対応付けられ、クライアントグループＧ３は、サーバ装置Ｓ３に対応付けられ、クライアントグループＧ４は、サーバ装置Ｓ１に対応付けられた新規の対応関係が得られる。
【００３１】
評価値再演算部９は、記憶装置７ｃに記憶されている新規対応関係データＤ５、負荷指数記憶装置３に記憶されている負荷指数データＤ１、処理能力指数記憶装置４に記憶されている処理能力指数データＤ２、及び評価関数に基づいて、新規の負荷分散の程度を表す新規の負荷分散評価値を演算し、この演算結果である新規評価データＤ６を記憶装置７ｄに記憶する。
【００３２】
本実施の形態において、評価値再演算部９は、上記評価値演算部６と同様の評価関数を用いて、新規の負荷分散評価値を求める。すなわち、評価値再演算部９は、サーバ装置Ｓ１〜Ｓ３ごとに、新規に対応付けされたクライアント装置の負荷指数の合計と、そのサーバ装置の処理能力指数の比（例えば、対応付けされているクライアント装置の負荷指数の合計／そのサーバ装置の処理能力指数）を計算して新規の負荷率とし、サーバ装置Ｓ１〜Ｓ３の負荷率のうちの最大値を新規の負荷分散評価値とし、各サーバ装置Ｓ１〜Ｓ３の新規の負荷率と新規の負荷分散評価値とを示す新規評価データＤ６を、記憶装置７ｄに記憶する。
【００３３】
上記図５で示す新規の対応関係においては、サーバ装置Ｓ３の負荷率「１．５」が最大であるため、現状の負荷分散評価値は１．５となる。
変更部１０は、記憶装置７ｂに記憶されている現状評価データＤ４と、記憶装置７ｄに記憶されている新規評価データＤ６とに基づいて、新規の負荷分散評価値の方が現状の負荷分散評価値よりも負荷分散されている状態を表すか判断し、新規の負荷分散評価値の方が現状の負荷分散評価値よりも負荷分散されている状態を表す場合、記憶装置７ｃに記憶されている新規対応関係データＤ５にしたがって、複数のクライアント装置Ｃ１〜Ｃ５と複数のサーバ装置Ｓ１〜Ｓ３との間の対応関係を、選択部８によって選択された新規の対応関係に変更する。
【００３４】
本実施の形態では、負荷分散評価値が小さいほど負荷分散されていると判断され、上記の例においては、現状の負荷分散評価値２＞新規の負荷分散評価値１．５であるため、新規の対応関係の方が負荷を分散できると判断される。
複数のクライアント装置Ｃ１〜Ｃ５と複数のサーバ装置Ｓ１〜Ｓ３との間の対応関係が変更される場合には、変更部１０は、保留モードに遷移し、対応付けが変更されるクライアント装置（ここでは、クライアントグループ１に属するクライアント装置Ｃ１，Ｃ２）からのセンサデータを、サーバ装置に転送せず、記憶装置７ｅに記憶する。
【００３５】
変更部１０は、変更元のサーバ装置Ｓ１に対して、クライアントグループＧ１を、変更先のサーバ装置Ｓ２に変更するように指示する。変更元のサーバ装置Ｓ１は、クライアントグループＧ１のセンサデータを処理するために必要なデータ（センサＡ１，Ａ２のＩＰアドレス、これまでに蓄積したデータなど）を変更先のサーバ装置Ｓ２に送信する。
【００３６】
その後、変更部１０は、記憶装置７ｅに記憶していたセンサデータを変更先のサーバ装置Ｓ２に送信し、保留モードを解除する。この結果、負荷分散評価値は２から１．５に低下し、負荷の平準化が実現される。
更新部１１は、変更部１０により複数のクライアント装置Ｃ１〜Ｃ５と複数のサーバ装置Ｓ１〜Ｓ３との間の対応関係が変更された場合、記憶装置７ｃに記憶されている新規対応関係データＤ５の内容により、記憶装置７ａに記憶されている現状対応関係データＤ３の内容を更新する。
【００３７】
図６は、本実施の形態に係る負荷分散装置２の動作の一例を示すフローチャートである。
ステップＦ１において、負荷指数記憶装置３は、クライアント装置Ｃ１〜Ｃ５ごとに設定されている負荷指数を記憶するとともに、処理能力指数記憶装置４は、サーバ装置Ｓ１〜Ｓ３ごとに設定されている処理能力指数を記憶する。
【００３８】
ステップＦ２において、初期対応付け部５は、初期的に、各クライアントグループＧ１〜Ｇ４（すなわちクライアント装置Ｃ１〜Ｃ５）を、ランダムにサーバ装置Ｓ１〜Ｓ３に対応付け、現状の対応関係を表す現状対応関係データＤ３を記憶装置７ａに記憶する。
【００３９】
ステップＦ３において、評価値演算部６は、現状の負荷分散の程度を表す現状の負荷分散評価値を演算し、この演算結果である現状評価データＤ４を記憶装置７ｂに記憶する。
ステップＦ４において、選択部８は、対応関係の変更をシミュレートするために、クライアントグループＧ１〜Ｇ４（すなわちクライアント装置Ｃ１〜Ｃ５）とサーバ装置Ｓ１〜Ｓ３との新規の対応関係を選択し、この結果を示す新規対応関係データＤ５を記憶装置７ｃに記憶する。
【００４０】
ステップＦ５において、評価値再演算部９は、新規の対応関係について、新規の負荷分散の程度を表す新規の負荷分散評価値を演算し、この演算結果である新規評価データＤ６を記憶装置７ｄに記憶する。
ステップＦ６において、変更部１０は、現状の負荷分散評価値と新規の負荷分散評価値とを比較し、新規の負荷分散評価値の方が現状の負荷分散評価値よりも負荷分散されている状態を表すか否か判断する。
【００４１】
新規の負荷分散評価値の方が現状の負荷分散評価値よりも負荷分散されている状態でない場合、処理はステップＦ９に移る。
新規の負荷分散評価値の方が現状の負荷分散評価値よりも負荷分散されている状態を表す場合、ステップＦ７において、変更部１０は、クライアントグループＧ１〜Ｇ４（すなわちクライアント装置Ｃ１〜Ｃ５）と複数のサーバ装置Ｓ１〜Ｓ３との間の対応関係を、新規の対応関係に変更する。
【００４２】
ステップＦ８において、更新部１１は、現状の対応関係を、新規の対応関係により更新する。
ステップＦ９において、上記処理を繰り返すか否か判断され、繰り返す場合には、処理は上記ステップＦ３に戻り、繰り返さない場合には、処理が終了する。
図７は、本実施の形態に係る負荷分散装置２の選択部８の動作の一例を示すフローチャートである。
【００４３】
ステップＩ１において、選択部８は、サーバ装置Ｓ１〜Ｓ３のうち、負荷率の高いサーバ装置Ｓ１を、対応付け変更対象のサーバ装置として選択する。
ステップＩ２において、選択部８は、この選択されたサーバ装置Ｓ１に対応付けされているクライアントグループＧ１，Ｇ４からランダムに一つのクライアントグループを選択する。
【００４４】
ステップＩ３において、選択部８は、選択されたクライアントグループＧ１に所属するクライアント装置Ｃ１，Ｃ２を求める。
ステップＩ４において、選択部８は、対応付け変更対象のサーバ装置Ｓ１とは異なる他のサーバ装置Ｓ２，Ｓ３について、選択されたクライアントグループＧ１に所属するクライアント装置Ｃ１，Ｃ２の対応付け数を求める。
【００４５】
ステップＩ５において、選択部８は、選択された負荷率の高いサーバ装置Ｓ１とは異なる他のサーバ装置Ｓ２，Ｓ３のうち、クライアントグループＧ１に所属するクライアント装置の対応付け数の多いサーバ装置Ｓ２を選択する。
ステップＩ６において、選択部８は、この選択されたサーバ装置Ｓ２に、選択されたクライアントグループＧ１に所属するクライアント装置Ｃ１，Ｃ２を対応付け、この結果を示す新規対応関係データＤ５を記憶装置７ｃに記憶する。
【００４６】
以上説明した本実施の形態においては、クライアント装置Ｃ１〜Ｃ５とサーバ装置Ｓ１〜Ｓ３との対応関係について、評価関数により現状の負荷分散評価値が演算され、対応関係を変更した場合について、評価関数により新規の負荷分散評価値が演算され、新規の負荷分散評価値の方が現状の負荷分散評価値よりも負荷が分散されている状態を示す場合に、変更後の新規の対応関係が採用される。
【００４７】
本実施の形態においては、複数のサーバ装置Ｓ１〜Ｓ３の最大負荷率が抑制されるように、クライアント装置Ｃ１〜Ｃ５とサーバ装置Ｓ１〜Ｓ３との対応関係が変更される。このため、サーバ装置Ｓ１〜Ｓ３の負荷率を平準化できる。
また、本実施の形態においては、対応関係変更対象のサーバ装置として負荷率が最大のサーバ装置が選択され、この選択されたサーバ装置に対応付けされているクライアント装置が他のサーバ装置に対応付けられる。
【００４８】
このように、負荷率が最大のサーバ装置に対応付けられているクライアント装置の対応関係が変更されることにより、負荷率を平準化した最適状態に早く到達することができる。
また、本実施の形態においては、関連するデータを扱うクライアント装置の集合が同じクライアントグループに所属するとし、同じクライアントグループに所属するクライアント装置を同じサーバ装置に対応付けるよう負荷分散が行われる。
【００４９】
これにより、サーバ装置間の通信を省略することができ、高速に処理を実行することができる。すなわち、例えば、図８に示すように、同一のクライアントグループに属するクライアント装置が異なるサーバ装置に対応付けされている場合、サーバ装置間で、クライアント装置から受けたデータの問い合わせなどの処理が必要になる。しかしながら、本実施の形態では、図９に示すように、同一のクライアントグループに属するクライアント装置が同一のサーバ装置に対応付けされるため、サーバ装置間でクライアント装置から受けたデータの問い合わせなどの処理が不要であり、処理量の軽減を図ることができ、処理の効率化を図ることができる。
【００５０】
なお、本実施の形態において、評価値演算部６と演算値再演算部９とは同様の演算を行うため、統合し、共通のユニットであるとしてもよい。
（第２の実施の形態）
本実施の形態においては、上記第１の実施の形態の変形例について説明する。
本実施の形態においては、上記第１の実施の形態におけるサーバ装置Ｓ１〜Ｓ３の負荷率に代えて、サーバ装置Ｓ１〜Ｓ３のリソース使用量（リソース使用率でもよい）を用いて、対応関係を変更する。
【００５１】
すなわち、本実施の形態において、負荷分散装置２は、現状の対応関係について、複数のサーバ装置Ｓ１〜Ｓ３における現状のリソース使用量を測定する。
次に、負荷分散装置２は、複数のサーバ装置Ｓ１〜Ｓ３における現状のリソース使用量のうちの最大値を、現状の負荷分散評価値とする。
【００５２】
次に、負荷分散装置２は、新規の対応関係について、複数のサーバ装置Ｓ１〜Ｓ３における新規の現状のリソース使用量（リソース使用率でもよい）を測定する。
次に、負荷分散装置２は、複数のサーバ装置Ｓ１〜Ｓ３における新規のリソース使用量のうちの最大値を、新規の負荷分散評価値とする。
【００５３】
そして、負荷分散装置２は、新規の負荷分散評価値の方が現状の負荷分散評価値よりも小さい場合に、新規の負荷分散評価値の方が現状の負荷分散評価値よりも負荷分散されている状態と判断する。
なお、リソース使用量としては、例えば、ＣＰＵ使用率、トラフィックなどを用いることができる。
【００５４】
以上説明した本実施の形態においては、サーバ装置Ｓ１〜Ｓ３についての最大リソース使用量を低下させることができ、サーバ装置Ｓ１〜Ｓ３間でリソース使用量を平準化できる。
本実施の形態においては、サーバ装置Ｓ１〜Ｓ３の負荷が動的に変化する場合（クライアント装置によってサーバ装置に与えられる負荷が時間とともに変化する場合）であっても、サーバ装置Ｓ１〜Ｓ３の負荷を平準化できる。
【００５５】
上記各実施の形態においては、同一の機能が実現可能であれば、様々に変更してもよい。また、例えば、上記各実施の形態に係る負荷分散装置２は、負荷分散開始命令が入力された場合に上記負荷分散のための処理を実行するとしてもよく、所定時間経過ごとに、上記負荷分散のための処理を実行するとしてもよい。
【００５６】
上記各実施の形態に係る負荷分散装置２における負荷分散のための処理の繰り返し回数は自由に設定できるとしてもよい。
上記各実施の形態に係るネットワークシステム１における負荷分散は、例えばプログラムによって制御されるプロセッサにより実現されるとしてもよい。
【００５７】
この負荷分散のために用いられるプログラムは、例えば磁気ディスク（フレキシブルディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリなどの記憶媒体に書き込んで、プロセッサを持つコンピュータに適用可能である。また、プログラムは、通信媒体により伝送してコンピュータに適用することも可能である。コンピュータは、プログラムを読み込み、このプログラムによって動作が制御されることにより、負荷分散装置２としての機能を実現する。プログラムは、複数のコンピュータに分散して配置され、複数のコンピュータ間で互いに連携しつつ処理が実行されるとしてもよい。
【産業上の利用可能性】
【００５８】
本発明は、複数のサーバ間で負荷を分散する制御分野に有効である。
【図面の簡単な説明】
【００５９】
【図１】本発明の第１の実施の形態に係る負荷分散装置の一例を示すブロック図。
【図２】負荷指数データの一例を示す図。
【図３】処理能力指数データの一例を示す図。
【図４】初期的なクライアントグループとサーバ装置との対応関係の一例を示すブロック図。
【図５】新規のクライアントグループとサーバ装置との対応関係の一例を示すブロック図。
【図６】同実施の形態に係る負荷分散装置の動作の一例を示すフローチャート。
【図７】同実施の形態に係る負荷分散装置の選択部の動作の一例を示すフローチャート。
【図８】サーバ間でデータの問い合わせが必要となる対応関係の一例を示すブロック図。
【図９】同一のクライアントグループに属するクライアント装置を同一のサーバに対応付けた場合の対応関係の一例を示すブロック図。
【符号の説明】
【００６０】
１…ネットワークシステム、Ａ１〜Ａ５…センサ、Ｃ１〜Ｃ１２…クライアント装置、Ｓ１〜Ｓ５…サーバ装置、Ｇ１〜Ｇ６…クライアントグループ、２…負荷分散装置、３…負荷指数記憶装置、４…処理能力指数記憶装置、Ｄ２…処理能力指数データ、５…初期対応付け部、６…評価値演算部、７ａ〜７ｅ…記憶装置、８…選択部、９…評価値再演算部、１０…変更部、１１…更新部、Ｄ１…負荷指数データ、Ｄ２…処理能力指数データ、Ｄ３…現状対応関係データ、Ｄ４…現状評価データ、Ｄ５…新規対応関係データ、Ｄ６…新規評価データ
【図１】
2007172531.tif 000003
【図２】
2007172531.tif 000004
【図３】
2007172531.tif 000005
【図４】
2007172531.tif 000006
【図５】
2007172531.tif 000007
【図６】
2007172531.tif 000008
【図７】
2007172531.tif 000009
【図８】
2007172531.tif 000010
【図９】
2007172531.tif 000011