(57)【要約】【課題】  サーバ装置にかかる負荷の分散処理を円滑に行なう。【解決手段】  本発明は、複数のサーバ装置３−１〜３−３の情報処理能力を示す処理能力情報及び情報の転送能力を示す転送能力情報に基づいて、再割り当てを行なうクライアント装置１−１〜１−５を決定し（Ｓ５）、割り当て先のサーバ装置を決定し（Ｓ６）、接続要求を行なったクライアントを割り当てられるサーバ装置を決定する。【選択図】      図４
2009031925.tif 000002
【特許請求の範囲】
【請求項１】
複数のクライアント装置と複数のサーバ装置との間に接続され、接続要求を行なったクライアント装置を前記複数のサーバ装置のいずれか１つに割り当てる負荷分散装置において、
前記サーバ装置の情報処理能力を示す処理能力情報と、情報の転送能力を示す転送能力情報とを前記複数のサーバ装置からそれぞれ取得する手段と、
前記複数のサーバ装置のうち、前記取得した処理能力情報及び転送能力情報が新たなクライアント装置を接続するための第１の基準を満たすサーバ装置があるか否かを判断する手段と、
前記第１の基準を満たすサーバ装置がないと判断された場合、前記複数のサーバ装置のうち、前記取得した処理能力情報が新たなクライアント装置を接続するための第２の基準を満たすサーバ装置及び前記取得した転送能力情報が他のサーバ装置に接続されているクライアント装置を再接続するための第３の基準を満たすサーバ装置が存在するか否かを判断する手段と、
前記取得した処理能力情報が第２の基準を満たすサーバ装置と、前記取得した転送能力情報が第３の基準を満たすサーバ装置とがあると判断された場合、前記処理能力情報が第２の基準を満たすサーバ装置に割り当てられているクライアント装置のうち、前記第２の基準を満たすサーバ装置に蓄積されているデータ量が最も少ないクライアント装置を選択する手段と、
前記選択されたクライアント装置を前記転送能力情報が第３の基準を満たすサーバ装置へ割り当てる手段と、
前記選択されたクライアント装置の前記第２の基準を満たすサーバ装置に蓄積されているデータを、前記第３の基準を満たすサーバ装置へ転送する手段と、
前記接続要求を行なったクライアント装置を、前記第２の基準を満たすサーバ装置に割り当てる手段と
を具備することを特徴とする負荷分散装置。
【請求項２】
前記取得手段は、
前記クライアント装置からの処理能力情報取得要求を前記複数のサーバ装置に出力することにより、前記複数のサーバ装置から処理能力情報取得要求時の処理能力情報を取得する手段と、
前記クライアント装置からの転送能力情報取得要求を前記複数のサーバ装置に出力することにより、前記複数のサーバ装置から転送能力情報取得要求時の転送能力情報を取得する手段とを具備することを特徴とする請求項１記載の負荷分散装置。
【請求項３】
前記処理能力情報はサーバ装置のＣＰＵ使用率を含み、前記転送能力情報はサーバ装置の記憶装置におけるデータ転送のＩ／Ｏ数を含むことを特徴とする請求項１記載の負荷分散装置。
【請求項４】
前記取得した処理能力情報が第２の基準を満たすサーバ装置と、前記取得した転送能力情報が第３の基準を満たすサーバ装置とがないと判断された場合、前記接続要求を行なったクライアント装置の接続を拒否する手段をさらに具備することを特徴とする請求項１記載の負荷分散装置。
【請求項５】
複数のクライアント装置と複数のサーバ装置との間に接続され、接続要求を行なったクライアント装置を前記複数のサーバ装置のいずれか１つに割り当てる負荷分散装置における負荷分散方法において、
前記複数のサーバ装置の情報処理能力を示す処理能力情報と、情報の転送能力を示す転送能力情報とを前記複数のサーバ装置からそれぞれ取得し、
前記複数のサーバ装置のうち、前記取得した処理能力情報及び転送能力情報ともに新たなクライアント装置を接続するための第１の基準を満たすサーバ装置があるか否かを判断し、
前記第１の基準を満たすサーバ装置がないと判断された場合、前記複数のサーバ装置のうち、前記取得した処理能力情報が新たなクライアント装置を接続するための第２の基準を満たすサーバ装置及び前記取得した転送能力情報が他のサーバ装置に接続されているクライアント装置を再接続するための第３の基準を満たすサーバ装置が存在するか否かを判断し、
前記取得した処理能力情報が第２の基準を満たすサーバ装置と、前記取得した転送能力情報が第３の基準を満たすサーバ装置とがあると判断された場合、前記処理能力情報が第２の基準を満たすサーバ装置に割り当てられているクライアント装置のうち、前記第２の基準を満たすサーバ装置に蓄積されているデータ量が最も少ないクライアント装置を選択し、
前記選択されたクライアント装置を前記転送能力情報が第３の基準を満たすサーバ装置へ割り当て、
前記選択されたクライアント装置の前記第２の基準を満たすサーバ装置に蓄積されているデータを、前記第３の基準を満たすサーバ装置へ転送し、
前記接続要求を行なったクライアント装置を、前記第２の基準を満たすサーバ装置に割り当てることを特徴とする負荷分散方法。
【請求項６】
前記処理能力情報及び転送能力情報の取得は、
前記クライアント装置からの処理能力情報取得要求を前記複数のサーバ装置に出力することにより、前記複数のサーバ装置から処理能力情報取得要求時の処理能力情報を取得し、
前記クライアント装置からの転送能力情報取得要求を前記複数のサーバ装置に出力することにより、前記複数のサーバ装置から転送能力情報取得要求時の転送能力情報を取得することを特徴とする請求項５記載の負荷分散方法。
【請求項７】
前記処理能力情報はサーバ装置のＣＰＵ使用率を含み、前記転送能力情報はサーバ装置の記憶装置におけるデータ転送のＩ／Ｏ数を含むことを特徴とする請求項５記載の負荷分散方法。
【請求項８】
前記取得した処理能力情報が第２の基準を満たすサーバ装置と、前記取得した転送能力情報が第３の基準を満たすサーバ装置とがないと判断された場合、前記接続要求を行なったクライアント装置の接続を拒否することをさらに具備することを特徴とする請求項５記載の負荷分散方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、負荷分散装置に関し、特に、複数のクライアント装置と、複数のサーバ装置との間に接続され、クライアント装置が接続されるサーバ装置の負荷の低減を図る負荷分散装置に関する。
【背景技術】
【０００２】
従来より、クライアント装置から複数のサーバ装置にかかる負荷を低減するために、負荷分散装置により負荷分散を行なうことが行なわれている。このような負荷分散装置では、既にあるサーバ装置に割り当てられているクライアント装置を他のサーバ装置に割り当て直すことにより、サーバ装置に係る負荷を低減している。
【０００３】
【特許文献１】特開平０７−２９５８４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の負荷分散装置では、既にあるサーバ装置に割り当てられているクライアント装置を他のサーバ装置に割り当てなおす際に、クライアント装置を割り当て直す際の処理負荷を考慮した基準がなかった。
そのため、例えば、選択したクライアント装置が既に接続されているサーバ装置に大量のデータを格納している場合、当該クライアント装置を他のサーバ装置に割り当てなおすと、それに伴ない、当該大量のデータをも他のサーバ装置に転送する必要があるため、サーバ装置及び負荷分散装置に負荷がかかり、その結果、負荷分散処理が円滑に行なえなくなるという問題があった。
【０００５】
本発明は、上記実情に鑑みてなされたものであり、クライアント装置のサーバ装置への割り当ての変更を円滑に行なうことにより、負荷分散処理を円滑に行なうことができる負荷分散装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の第１の発明は、複数のクライアント装置と複数のサーバ装置との間に接続され、接続要求を行なったクライアント装置を前記複数のサーバ装置のいずれか１つに割り当てる負荷分散装置において、前記サーバ装置の情報処理能力を示す処理能力情報と、情報の転送能力を示す転送能力情報とを前記複数のサーバ装置からそれぞれ取得する手段と、前記複数のサーバ装置のうち、前記取得した処理能力情報及び転送能力情報が新たなクライアント装置を接続するための第１の基準を満たすサーバ装置があるか否かを判断する手段と、前記第１の基準を満たすサーバ装置がないと判断された場合、前記複数のサーバ装置のうち、前記取得した処理能力情報が新たなクライアント装置を接続するための第２の基準を満たすサーバ装置及び前記取得した転送能力情報が他のサーバ装置に接続されているクライアント装置を再接続するための第３の基準を満たすサーバ装置が存在するか否かを判断する手段と、前記取得した処理能力情報が第２の基準を満たすサーバ装置と、前記取得した転送能力情報が第３の基準を満たすサーバ装置とがあると判断された場合、前記処理能力情報が第２の基準を満たすサーバ装置に割り当てられているクライアント装置のうち、前記第２の基準を満たすサーバ装置に蓄積されているデータ量が最も少ないクライアント装置を選択する手段と、前記選択されたクライアント装置を前記転送能力情報が第３の基準を満たすサーバ装置へ割り当てる手段と、前記選択されたクライアント装置の前記第２の基準を満たすサーバ装置に蓄積されているデータを、前記第３の基準を満たすサーバ装置へ転送する手段と、前記接続要求を行なったクライアント装置を、前記第２の基準を満たすサーバ装置に割り当てる手段とを具備することを特徴とする負荷分散装置、である。
【０００７】
本発明の第２の発明は、第１の発明において、前記取得手段は、前記クライアント装置からの処理能力情報取得要求を前記複数のサーバ装置に出力することにより、前記複数のサーバ装置から処理能力情報取得要求時の処理能力情報を取得する手段と、前記クライアント装置からの転送能力情報取得要求を前記複数のサーバ装置に出力することにより、前記複数のサーバ装置から転送能力情報取得要求時の転送能力情報を取得する手段とを具備することを特徴とする負荷分散装置、である。
【０００８】
本発明の第３の発明は、第１の発明において、前記処理能力情報はサーバ装置のＣＰＵ使用率を含み、前記転送能力情報はサーバ装置の記憶装置におけるデータ転送のＩ／Ｏ数を含むことを特徴とする負荷分散装置、である。
【０００９】
本発明の第４の発明は、第１の発明において、前記取得した処理能力情報が第２の基準を満たすサーバ装置と、前記取得した転送能力情報が第３の基準を満たすサーバ装置とがないと判断された場合、前記接続要求を行なったクライアント装置の接続を拒否する手段をさらに具備することを特徴とする負荷分散装置、である。
【発明の効果】
【００１０】
本発明によれば、クライアント装置のサーバ装置への割り当ての変更を円滑に行なうことにより、負荷分散処理を円滑に行なうことができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して、本発明の実施の形態に係る負荷分散装置について説明する。
図１は、本発明の実施の形態に係る負荷分散装置の配置関係を示す図である。
同図に示すように、負荷分散装置２は、複数のクライアント装置１−１〜１−５と、サーバ装置３−１〜３−３との間に配置される。なお、負荷分散装置２とクライアント装置１−１〜１−５との間、負荷分散装置２とサーバ装置３−１〜３−３との間は、ネットワークで接続されており、有線ネットワーク、無線ネットワークであっても良い。
【００１２】
各クライアント装置１−１〜１−５は、サーバ装置３−１〜３−３のいずれかに割り当てられ（接続され）、或いはこれから割り当てられるものである。
負荷分散装置２は、クライアント装置１−１〜１−５のサーバ装置３−１〜３−３への割り当てを管理し、サーバ装置３−１〜３−３の負荷分散処理を行なう。なお、負荷分散装置２は、メモリ、ＣＰＵ、通信インターフェイス、記憶装置などを備えた通常のコンピュータと同様の構成を有し、本発明の実施の形態にかかる負荷分散処理は、記憶装置に記憶された本発明の実施の形態に係る負荷分散処理を実現するプログラムをＣＰＵが実行することにより実現される。
【００１３】
サーバ装置３−１〜３−３は、自己に割り当てられているクライアント装置１−１〜１−５のデータを格納する。
図２は、本発明の実施の形態に係る負荷分散装置のハードウェア構成を示す図である。
同図に示すように、負荷分散装置２は、バス１１にＣＰＵ１２、通信部１３、メモリ１４及び記憶装置１５が接続されている。
【００１４】
ＣＰＵ１２は、記憶装置１５に記憶された負荷分散処理プログラム２1と協働して、本発明の実施の形態に係る処理全体を司るものである。
通信部１３は、外部装置（クライアント装置１−１〜１−５、サーバ装置３−１〜３−３）との通信の制御を司る。
【００１５】
メモリ１４は、負荷分散処理プログラム２１を実行する際に必要とされるワークエリアなどとして使用される。
記憶装置１５は、負荷分散処理に必要とされるデータを格納するためのものであり、例えば、ハードディスクドライブ（ＨＤＤ）である。この記憶装置１５には、負荷分散処理プログラム２１、ＯＳ２２及びデータベース２３などが格納されている。
【００１６】
負荷分散処理プログラム２１は、ＯＳ（オペレーティングシステム）２２上で動作するアプリケーションプログラムであって、ＣＰＵ１２と協働して、本発明の実施の形態に係る負荷分散処理を実現し、図４に示すフローチャートの処理を実現するものである。
【００１７】
データベース２３は、サーバ装置３−１〜３−３から取得される処理能力情報及び転送能力情報をサーバ装置と関連付けて記憶する。なお、これら処理能力情報及び転送能力情報については後述する。
図３は、本発明の実施の形態に係る負荷分散装置の機能ブロック図である。
【００１８】
同図に示すように、負荷分散装置２は、情報取得部３１、判断部３２、再割り当て部３５、転送部３６及び割り当て部３７を有している。判断部３２は、基準判断部３３及び選択部３４を有している。
情報取得部３１は、クライアント装置１−１〜１−５のうちのいずれかのクライアント装置から送信される処理能力情報取得要求を受信すると、この受信した処理能力情報取得要求を複数のサーバ装置３−１〜３−３に送信し、サーバ装置３−１〜３−３から処理能力情報取得要求の応答として、各サーバ装置３−１〜３−３の処理能力情報をそれぞれ受信する。
【００１９】
ここで、「処理能力情報」とは、サーバ装置の情報処理能力を示す情報であり、例えば、サーバ装置のＣＰＵの使用効率である。なお、サーバ装置の情報処理能力を示す情報を取得する方法は、ウインドウズ（登録商標）のシステムにおいて使用されているように、公知の技術であることから、ここでは詳述しない。
【００２０】
また、情報取得部３１は、クライアント装置１−１〜１−５のうちのいずれかのクライアント装置から送信される転送能力情報取得要求を受信すると、この受信した転送能力情報取得要求を複数のサーバ装置３−１〜３−３に送信し、サーバ装置３−１〜３−３から転送能力情報取得要求の応答として、サーバ装置３−１〜３−３の転送能力情報をそれぞれ受信する。
【００２１】
ここで、「転送能力情報」とは、情報の転送能力を示す情報であり、例えば、サーバ装置の記憶装置におけるデータ転送のＩ／Ｏ数である。なお、これら取得された処理能力情報及び転送能力情報は、対応するサーバ装置と関連付けられて、記憶装置１５のデータベース２３に格納される。
【００２２】
判断部３２は、クライアント装置１−１〜１−５のうちのいずれかのクライアント装置から接続要求が行なわれた場合に、すでにサーバ装置３−１〜３−３のいずれかのサーバ装置に割り当てられているクライアント装置のうち、再割り当てを行なうクライアント装置の判断や、接続要求を行なったクライアント装置をどのサーバ装置に割り当てるかの判断などを行なう。具体的には、判断部３２は、基準判断部３３及び選択部３４を有する。
【００２３】
基準判断部３３は、情報取得部３１によって取得された各サーバ装置３−１〜３−３の処理能力情報及び転送能力情報に基づいて、処理能力情報及び転送能力情報ともに第１の基準を満たすサーバ装置があるか否かを判断する処理、第１の基準を満たすサーバ装置がないと判断された場合、複数のサーバ装置のうち、取得した処理能力情報が第２の基準を満たすサーバ装置及び取得した転送能力情報が第３の基準を満たすサーバ装置が存在するか否かを判断する処理を行なう。
【００２４】
ここで、第１の基準とは、処理能力情報及び蓄積機能情報がともに所定の基準を満たしていることを意味し、例えば、「処理能力情報がＣＰＵの稼働率５０パーセント以上を示しており、かつ情報蓄積機能がサーバ装置におけるデータ転送のＩ／Ｏ数が３つ以上であることを示していること」である。
【００２５】
また、第２の基準とは、処理能力情報が所定の基準を満たしていることを意味し、例えば、「処理能力情報がＣＰＵの稼働率５０パーセント以上を示していること」であり、第３の基準とは、転送能力情報が所定の基準を満たしていることを意味し、例えば、「情報蓄積機能がサーバ装置におけるデータ転送のＩ／Ｏ数が３つ以上であることを示していること」である。
【００２６】
選択部３４は、情報取得部３１によって取得された各サーバ装置３−１〜３−３の処理能力情報及び転送能力情報に基づいて、取得した処理能力情報が第２の基準を満たすサーバ装置と、取得した転送能力情報が第３の基準を満たすサーバ装置とがあると判断された場合、処理能力情報が第２の基準を満たすサーバ装置に割り当てられているクライアント装置のうち、第２の基準を満たすサーバ装置に蓄積されているデータ量が最も少ないクライアント装置を選択する処理を行なう。
【００２７】
再割り当て部３５は、選択部３４により選択された第２の基準を満たすサーバ装置に蓄積されているデータ量が最も少ないクライアント装置を転送能力情報が第３の基準を満たすサーバ装置へ再度割り当てるための再割り当て指示を、情報蓄積能力情報が第３の基準を満たすサーバ装置に出力する。これにより、選択されたクライアント装置が、第３の基準を満たすサーバ装置に再割り当てされる。
【００２８】
転送部３６は、選択されたクライアント装置の処理能力情報が第２の基準を満たすサーバ装置に蓄積されているデータを、転送能力情報が第３の基準を満たすサーバ装置へ転送するように、第２の基準を満たすサーバ装置に転送指令を出力する。これにより、選択されたクライアント装置の処理能力情報が第２の基準を満たすサーバ装置に蓄積されている選択されたクライアント装置のデータが、転送能力情報が第３の基準を満たすサーバ装置に転送される。
【００２９】
割り当て部３７は、接続要求を行なったクライアント装置を、処理能力情報が第２の基準を満たすサーバ装置に割り当てるために、割り当て指示を処理能力情報が第２の基準を満たすサーバ装置に出力する。これにより、接続要求を行なったクライアント装置が、処理能力情報が第２の基準を満たすサーバ装置に割り当てられる。
【００３０】
以下、本発明の実施の形態に係る負荷分散装置の動作について、図４のフローチャートを参照して説明する。
クライアント装置から新規の接続要求があると、すでに取得されている各サーバ装置の処理能力情報及び転送能力情報に基づいて、第１の基準を満たすサーバ装置があるか否かの判断を行なう（Ｓ１）。
【００３１】
上述のように、「第１の基準」とは、処理能力情報及び蓄積機能情報がともに所定の基準を満たしていることを意味し、例えば、「処理能力情報がＣＰＵの稼働率５０パーセント以上を示しており、かつ情報蓄積機能がサーバ装置におけるデータ転送のＩ／Ｏ数が３つ以上であることを示していること」である。
【００３２】
Ｓ１において、第１の基準を満たすサーバ装置が存在すると判断された場合には、当該サーバ装置に接続を要求してきたクライアント装置を割り当てる（Ｓ４）。一方、Ｓ１において第１の基準を満たすサーバ装置が存在しないと判断された場合には、次に、第２の基準を満たすサーバ装置及び第３の基準を満たすサーバ装置がともに存在するか否かの判断が行なわれる（Ｓ２）。
【００３３】
上述のように、「第２の基準」とは、処理能力情報が所定の基準を満たしていることを意味し、例えば、「処理能力情報がＣＰＵの稼働率５０パーセント以上を示していること」であり、「第３の基準」とは、転送能力情報が所定の基準を満たしていることを意味し、例えば、「情報蓄積機能がサーバ装置におけるデータ転送のＩ／Ｏ数が３つ以上であることを示していること」である。
【００３４】
Ｓ２において、第２の基準を満たすサーバ装置及び第３の基準を満たすサーバ装置がともに存在しないと判断された場合には、クライアント装置からの接続の要求を拒否する（Ｓ３）。
一方、第２の基準を満たすサーバ装置及び第３の基準を満たすサーバ装置がともに存在すると判断された場合には、第２の基準を満たすサーバ装置に割り当てられているクライアント装置の中から第２の基準を満たすサーバ装置に蓄積されているデータ量が最も少ないクライアント装置を選択する（Ｓ５）。
【００３５】
次に、選択されたクライアント装置を第３の基準を満たすサーバ装置へ再度割り当て（Ｓ６）、さらに、第２の基準を満たすサーバ装置に蓄積されている選択されたクライアント装置のデータを第３の基準を満たすサーバ装置へ転送する（Ｓ７）。そして、新規に接続を要求してきたクライアント装置を第２の基準を満たすサーバ装置へ割り当て（Ｓ８）、処理を終了する。
【００３６】
したがって、本発明の実施の形態に係る負荷分散装置によれば、クライアント装置を他のサーバ装置へ割り当て直す際に、処理能力情報及び転送能力情報を考慮して割り当て処理を行なうことから、サーバ装置に係る負荷分散を円滑に行なうことができる。
【００３７】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【００３８】
また、実施形態に記載した手法は、計算機（コンピュータ）に実行させることができるプログラム（ソフトウエア手段）として、例えば磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ等）、半導体メモリ（ＲＯＭ、ＲＡＭ、フラッシュメモリ等）等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウエア手段（実行プログラムのみならずテーブルやデータ構造も含む）を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。
【図面の簡単な説明】
【００３９】
【図１】本発明の実施の形態に係る負荷分散装置の配置関係を示す図である。
【図２】本発明の実施の形態に係る負荷分散装置のハードウェア構成を示す図である。
【図３】本発明の実施の形態に係る負荷分散装置の機能ブロック図である。
【図４】本発明の実施の形態に係る負荷分散装置の動作について説明するためのフローチャートである。
【符号の説明】
【００４０】
１−１〜１−５…クライアント装置、２…負荷分散装置、３−１〜３−３…サーバ装置、１１…バス、１２…ＣＰＵ、１３…通信部、１４…メモリ、１５…記憶装置、２１…負荷分散処理プログラム、２２…ＯＳ、２３…データベース。
【図１】
2009031925.tif 000003
【図２】
2009031925.tif 000004
【図３】
2009031925.tif 000005
【図４】
2009031925.tif 000006