(57)【特許請求の範囲】
【請求項１】
クライアントからの要求を受けて、その要求を処理する複数台のサーバ装置に対して要求を分散させる分散システムで実行される負荷調整方法であって、
前記各サーバ装置は、自身のデータ管理装置において、要求を処理するにあたりアクセスされるデータを配置ＩＤと対応づけて格納し、
前記分散システムの前記各サーバ装置と接続されている負荷調整サーバは、
前記サーバ装置ごとにその前記サーバ装置内の前記データ管理装置に格納される配置ＩＤの範囲を示すデータ配置マップを記憶手段に格納しており、
前記各サーバ装置上でそれぞれ計測された前記各サーバ装置内のリソース使用率を、前記各サーバ装置の負荷値として取得し、前記各サーバ装置間の負荷値を比較して、相対的に負荷値が他の前記サーバ装置よりも偏っている所定の前記サーバ装置を選択し、
前記所定のサーバ装置上で稼働しているセッションを他の前記サーバ装置へと引き継いで、要求を分散させる対象から前記所定のサーバ装置を除外することで、前記所定のサーバ装置を前記分散システムから離脱させ、
前記データ配置マップにおいて前記所定のサーバ装置に対応する配置ＩＤの範囲を変更し、
変更された前記データ配置マップが示す配置ＩＤの範囲における要求を分散させる対象に前記所定のサーバ装置を追加することで、前記所定のサーバ装置を前記分散システムへと組み込むことを特徴とする
負荷調整方法。
【請求項２】
クライアントからの要求を受けて、その要求を処理する複数台のサーバ装置に対して要求を分散させる分散システムで実行される負荷調整方法であって、
前記各サーバ装置は、自身のデータ管理装置において、要求を処理するにあたりアクセスされるデータを配置ＩＤと対応づけて格納し、
前記分散システムの前記各サーバ装置と接続されている負荷調整サーバは、
前記サーバ装置ごとにその前記サーバ装置内の前記データ管理装置に格納される配置ＩＤの範囲を示すデータ配置マップを記憶手段に格納しており、
前記データ配置マップに示される配置ＩＤの範囲の大きさを、前記各サーバ装置の負荷値として取得し、前記各サーバ装置間の負荷値を比較して、相対的に負荷値が他の前記サーバ装置よりも偏っている所定の前記サーバ装置を選択し、
前記所定のサーバ装置上で稼働しているセッションを他の前記サーバ装置へと引き継いで、要求を分散させる対象から前記所定のサーバ装置を除外することで、前記所定のサーバ装置を前記分散システムから離脱させ、
前記データ配置マップにおいて前記所定のサーバ装置に対応する配置ＩＤの範囲を変更し、
変更された前記データ配置マップが示す配置ＩＤの範囲における要求を分散させる対象に前記所定のサーバ装置を追加することで、前記所定のサーバ装置を前記分散システムへと組み込むことを特徴とする
負荷調整方法。
【請求項３】
クライアントからの要求を受けて、その要求を処理する複数台のサーバ装置に対して要求を分散させる分散システムに対して負荷調整を行う負荷調整サーバであって、
前記各サーバ装置は、自身のデータ管理装置において、要求を処理するにあたりアクセスされるデータを配置ＩＤと対応づけて格納し、
前記分散システムの前記各サーバ装置と接続されている前記負荷調整サーバは、
前記サーバ装置ごとにその前記サーバ装置内の前記データ管理装置に格納される配置ＩＤの範囲を示すデータ配置マップを記憶手段に格納しており、
前記各サーバ装置上でそれぞれ計測された前記各サーバ装置内のリソース使用率を、前記各サーバ装置の負荷値として取得し、前記各サーバ装置間の負荷値を比較して、相対的に負荷値が他の前記サーバ装置よりも偏っている所定の前記サーバ装置を選択し、
前記所定のサーバ装置上で稼働しているセッションを他の前記サーバ装置へと引き継いで、要求を分散させる対象から前記所定のサーバ装置を除外することで、前記所定のサーバ装置を前記分散システムから離脱させ、
前記データ配置マップにおいて前記所定のサーバ装置に対応する配置ＩＤの範囲を変更し、
変更された前記データ配置マップが示す配置ＩＤの範囲における要求を分散させる対象に前記所定のサーバ装置を追加することで、前記所定のサーバ装置を前記分散システムへと組み込むことを特徴とする
負荷調整サーバ。
【請求項４】
クライアントからの要求を受けて、その要求を処理する複数台のサーバ装置に対して要求を分散させる分散システムに対して負荷調整を行う負荷調整サーバであって、
前記各サーバ装置は、自身のデータ管理装置において、要求を処理するにあたりアクセスされるデータを配置ＩＤと対応づけて格納し、
前記分散システムの前記各サーバ装置と接続されている前記負荷調整サーバは、
前記サーバ装置ごとにその前記サーバ装置内の前記データ管理装置に格納される配置ＩＤの範囲を示すデータ配置マップを記憶手段に格納しており、
前記データ配置マップに示される配置ＩＤの範囲の大きさを、前記各サーバ装置の負荷値として取得し、前記各サーバ装置間の負荷値を比較して、相対的に負荷値が他の前記サーバ装置よりも偏っている所定の前記サーバ装置を選択し、
前記所定のサーバ装置上で稼働しているセッションを他の前記サーバ装置へと引き継いで、要求を分散させる対象から前記所定のサーバ装置を除外することで、前記所定のサーバ装置を前記分散システムから離脱させ、
前記データ配置マップにおいて前記所定のサーバ装置に対応する配置ＩＤの範囲を変更し、
変更された前記データ配置マップが示す配置ＩＤの範囲における要求を分散させる対象に前記所定のサーバ装置を追加することで、前記所定のサーバ装置を前記分散システムへと組み込むことを特徴とする
負荷調整サーバ。
【請求項５】
請求項３または請求項４に記載の負荷調整サーバに対して、前記所定のサーバ装置を選択する処理、前記所定のサーバ装置を前記分散システムから離脱させる処理、前記所定のサーバ装置に対応する配置ＩＤの範囲を変更する処理、および、前記所定のサーバ装置を前記分散システムへと組み込む処理を実行させるための負荷調整プログラム。
【請求項６】
クライアントからの要求を受けて、その要求を処理する複数台のサーバ装置に対して要求を分散させる分散システムに対して負荷調整を行う複数台のサーバ装置のうちの負荷調整用サーバ装置であって、
前記各サーバ装置は、自身のデータ管理装置において、要求を処理するにあたりアクセスされるデータを配置ＩＤと対応づけて格納し、
前記負荷調整用サーバ装置は、
前記サーバ装置ごとにその前記サーバ装置内の前記データ管理装置に格納される配置ＩＤの範囲を示すデータ配置マップを記憶手段に格納しており、
前記データ配置マップに示される配置ＩＤの範囲の大きさを、前記各サーバ装置の負荷値として取得し、前記各サーバ装置間の負荷値を比較して、相対的に負荷値が他の前記サーバ装置よりも偏っている所定の前記サーバ装置を選択し、
前記所定のサーバ装置上で稼働しているセッションを他の前記サーバ装置へと引き継いで、要求を分散させる対象から前記所定のサーバ装置を除外することで、前記所定のサーバ装置を前記分散システムから離脱させ、
前記データ配置マップにおいて前記所定のサーバ装置に対応する配置ＩＤの範囲を変更し、
変更された前記データ配置マップが示す配置ＩＤの範囲における要求を分散させる対象に前記所定のサーバ装置を追加することで、前記所定のサーバ装置を前記分散システムへと組み込むことを特徴とする
負荷調整用サーバ装置。
【請求項７】
請求項６に記載の負荷調整用サーバ装置に対して、前記所定のサーバ装置を選択する処理、前記所定のサーバ装置を前記分散システムから離脱させる処理、前記所定のサーバ装置に対応する配置ＩＤの範囲を変更する処理、および、前記所定のサーバ装置を前記分散システムへと組み込む処理を実行させるための負荷調整プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、負荷調整方法、負荷調整サーバ、負荷調整用サーバ装置、および、負荷調整プログラムの技術に関する。
【背景技術】
【０００２】
トランザクション処理システムでは、クライアントから処理サーバへとトランザクションの要求が送信されると、処理サーバがその処理を行い、その結果を応答信号としてクライアントへと返信する。そして、複数の処理サーバが協調して動作する分散システムとすることで、クライアントの台数増加に対応する。そして、分散システムのロードバランサは、クライアントからそれぞれ発行される要求に対して、単一の出入り口として受け付けると、それらの要求を複数の処理サーバにそれぞれ分配する。
【０００３】
そのような分散システムでは、分散システムを構成するサーバ台数を増やせば増やすほど、負荷の偏りが一部の処理サーバに発生してしまう。その結果、高負荷の処理サーバは、新たなトランザクション処理が受け付けられないなどの不都合が発生する。
【０００４】
そこで、非特許文献１には、分散システムにおける処理サーバ間の負荷の偏りを平滑化するために、各処理サーバが担当するトランザクションの範囲を、複数の区分に区切るための仮想ノードＩＤを導入する手法が記載されている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】入江  道生、西村  豪生、金子  雅志、別所  寿一、飯尾  政美著，“コンシステント・ハッシュ法におけるデータの複製を意識した負荷分散手法”，社団法人  電子情報通信学会，信学技報IN2010-77
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、仮想ノードＩＤによって各処理サーバの役割分担を細分化する手法では、トランザクションの条件などの不確定要因により、仮想ノードＩＤの個数を設定することが困難である。例えば、仮想ノードＩＤの個数が少なすぎると、処理サーバ間の負荷の偏りを充分に平滑化することができない。一方、仮想ノードＩＤの個数が多すぎると、それらの仮想ノードＩＤを管理するための余計な負荷が生じてしまう。
【０００７】
そこで、本発明は、分散システムにおける処理サーバ間の負荷の偏りを平滑化するとともに、その平滑化のための処理負荷を軽減することを、主な目的とする。
【課題を解決するための手段】
【０００８】
前記課題を解決するために、本発明は、クライアントからの要求を受けて、その要求を処理する複数台のサーバ装置に対して要求を分散させる分散システムで実行される負荷調整方法であって、前記各サーバ装置が、自身のデータ管理装置において、要求を処理するにあたりアクセスされるデータを配置ＩＤと対応づけて格納し、前記分散システムの前記各サーバ装置と接続されている負荷調整サーバが、前記サーバ装置ごとにその前記サーバ装置内の前記データ管理装置に格納される配置ＩＤの範囲を示すデータ配置マップを記憶手段に格納しており、前記各サーバ装置上でそれぞれ計測された前記各サーバ装置内のリソース使用率を、前記各サーバ装置の負荷値として取得し、前記各サーバ装置間の負荷値を比較して、相対的に負荷値が他の前記サーバ装置よりも偏っている所定の前記サーバ装置を選択し、前記所定のサーバ装置上で稼働しているセッションを他の前記サーバ装置へと引き継いで、要求を分散させる対象から前記所定のサーバ装置を除外することで、前記所定のサーバ装置を前記分散システムから離脱させ、前記データ配置マップにおいて前記所定のサーバ装置に対応する配置ＩＤの範囲を変更し、変更された前記データ配置マップが示す配置ＩＤの範囲における要求を分散させる対象に前記所定のサーバ装置を追加することで、前記所定のサーバ装置を前記分散システムへと組み込むことを特徴とする。
【０００９】
これにより、分散システムにおける処理サーバ間の負荷の偏りを実測値として検出し、その偏りを平滑化するとともに、その平滑化のための処理負荷を軽減することができる。
【００１０】
本発明は、クライアントからの要求を受けて、その要求を処理する複数台のサーバ装置に対して要求を分散させる分散システムで実行される負荷調整方法であって、前記各サーバ装置が、自身のデータ管理装置において、要求を処理するにあたりアクセスされるデータを配置ＩＤと対応づけて格納し、前記分散システムの前記各サーバ装置と接続されている負荷調整サーバが、前記サーバ装置ごとにその前記サーバ装置内の前記データ管理装置に格納される配置ＩＤの範囲を示すデータ配置マップを記憶手段に格納しており、前記データ配置マップに示される配置ＩＤの範囲の大きさを、前記各サーバ装置の負荷値として取得し、前記各サーバ装置間の負荷値を比較して、相対的に負荷値が他の前記サーバ装置よりも偏っている所定の前記サーバ装置を選択し、前記所定のサーバ装置上で稼働しているセッションを他の前記サーバ装置へと引き継いで、要求を分散させる対象から前記所定のサーバ装置を除外することで、前記所定のサーバ装置を前記分散システムから離脱させ、前記データ配置マップにおいて前記所定のサーバ装置に対応する配置ＩＤの範囲を変更し、変更された前記データ配置マップが示す配置ＩＤの範囲における要求を分散させる対象に前記所定のサーバ装置を追加することで、前記所定のサーバ装置を前記分散システムへと組み込むことを特徴とする。
【００１１】
これにより、分散システムにおける処理サーバ間の負荷の偏りを理論値として検出し、その偏りを平滑化するとともに、その平滑化のための処理負荷を軽減することができる。
【００１２】
また、本発明は、前記負荷調整方法を実行する負荷調整サーバ、および、その負荷調整サーバを収容するサーバ装置として構成してもよい。
【発明の効果】
【００１３】
本発明によれば、分散システムにおける処理サーバ間の負荷の偏りを平滑化するとともに、その平滑化のための処理負荷を軽減することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に関するトランザクション処理システムを示す構成図である。
【図２】本発明の一実施形態に関する負荷調整サーバの詳細を示す説明図である。
【図３】本発明の一実施形態に関する負荷調整サーバの処理概要として、３つのサーバ装置の担当範囲を平滑化する処理を示す説明図である。
【図４】本発明の一実施形態に関する負荷調整サーバが実行する負荷調整処理を示すフローチャートである。
【図５】本発明の一実施形態に関する図４の処理を図３の説明図に適用した一例を示すシーケンス図である。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態について、図面を参照して詳細に説明する。
【００１６】
図１は、トランザクション処理システムを示す構成図である。トランザクション処理システムは、クライアント１と、ロードバランサ２と、分散システム９と、負荷調整サーバ１０とがネットワークで接続されて構成される。分散システム９内には、複数台のサーバ装置８が収容されており、各サーバ装置８は、振り分けサーバ４と、処理サーバ５と、データ管理装置６とから構成されている。
【００１７】
なお、図１のトランザクション処理システムを構成する各装置は、ＣＰＵ（Central Processing Unit）とメモリとハードディスク（記憶手段）とネットワークインタフェースを有するコンピュータとして構成され、このコンピュータは、ＣＰＵが、メモリ上に読み込んだプログラムを実行することにより、各処理部を動作させる。
また、図１のトランザクション処理システムを構成する各装置の台数は、図１に例示した台数に限定されず、任意の台数としてもよい。
【００１８】
トランザクション処理システムで動作するプログラムの一例として、電話などの呼（セッション）処理を行うアプリケーションサーバを実現するための、分散処理ミドルウェアがある。分散処理ミドルウェアは、アプリケーションを分散処理ミドルウェアとは別に用意するもので、アプリケーションからは装置が分散していることを意識することなくサービスの処理を実現することができるようにするものである。このような分散処理ミドルウェアを使うことによって、外部からは単一のアプリケーションサーバのように見せながら、実態は複数台のサーバによる台数効果によって大規模な処理を行うことが可能になる。
【００１９】
クライアント１は、分散システム９に対してトランザクションを発行するユーザの端末や対向システムである。クライアント１は、処理サーバ５に対して、トランザクションの処理を要求する。
【００２０】
ロードバランサ２は、クライアント１からの要求を受け、分散システム９内の複数台の振り分けサーバ４のうちの１台を選択し、その選択した振り分けサーバ４に処理を依頼する。
ここで、クライアント１からは、ロードバランサ２という出入り口を介して、分散システム９があたかも単一の装置で動作するシステムとして見えるため、分散システム９内の装置構成を柔軟に変更する（装置の追加や削除など）ことができる。よって、クライアント１は、分散システム９の内部構成を意識することなく、ロードバランサ２のアドレスのみ把握していればよい。
【００２１】
振り分けサーバ４は、ロードバランサ２からの要求を受け、データ配置マップ２３（後記する図２（ｂ））を参照して、トランザクションの要求を処理する処理サーバ５を選択し、その選択した処理サーバ５に処理を依頼する。
処理サーバ５は、振り分けサーバ４からの要求を受け、データ管理装置６内のトランザクションのデータにアクセスすることで、トランザクションの要求を処理する。
なお、処理サーバ５とデータ管理装置６とは１：１で接続されており、あるトランザクションのデータは、ある１台のデータ管理装置６が格納している。よって、要求されたトランザクションのデータを管理するデータ管理装置６を収容する処理サーバ５を、振り分けサーバ４が選択する必要がある。
【００２２】
ここで、データ配置マップ２３のデータ内容によっては、複数台の処理サーバ５のうちの少数の処理サーバ５に処理負荷が集中してしまうこともある。とくに、分散システム９が大規模化し、処理するトランザクション量が多い場合、高負荷のサーバ装置８は、処理限界に達する一方で、低負荷のサーバ装置８が出てきてしまうなど、分散システム９の処理効率を充分に高めることができないケースも発生する。
よって、負荷調整サーバ１０は、分散システム９に対して、サーバ装置８間の負荷の偏りを調整するための制御を実行する（詳細は、図２以下の説明で、明らかにする）。
なお、図１では、負荷調整サーバ１０をサーバ装置８と独立の装置として稼働させる形態を図示したが、負荷調整サーバ１０の各構成要素を、各サーバ装置８に組み込む形態（負荷調整用サーバ装置８とする形態）としてもよい。
【００２３】
図２は、負荷調整サーバ１０の詳細を示す説明図である。図２（ａ）の負荷調整サーバ１０は、負荷監視部２１と、サーバ装置制御部２２と、データ配置マップ２３と、サーバ装置リスト２４とを具備する。
【００２４】
負荷監視部２１は、サーバ装置８の負荷状況を収集し、負荷の偏り（高負荷または低負荷）を検出する。
サーバ装置制御部２２は、負荷監視部２１によって負荷の偏りが検出されたサーバ装置８について、分散システム９からの切り離し（離脱）を行った後、そのサーバ装置８が担当するデータ配置マップ２３の範囲を変更（高負荷なら減少させ、低負荷なら増加させる）した後、再度、そのサーバ装置８を分散システム９へと組み込む。
なお、切り離し（離脱）とは、ロードバランサ２からみて、トランザクションの割当先の候補から、負荷の偏りが検出されたサーバ装置８を除外する旨を指す。また、再度組み込むとは、ロードバランサ２からみて、トランザクションの割当先の候補に対して、組み込むサーバ装置８を追加する旨を指す。
【００２５】
図２（ｂ）は、データ配置マップ２３を例示した表である。データ配置マップ２３は、処理サーバ５ごとに、その処理サーバ５が担当する配置ＩＤの範囲を対応づけるデータ構造である。
配置ＩＤとは、１つ以上のトランザクションのデータに対して割り当てられるＩＤであり、同じ配置ＩＤが割り当てられるトランザクションのデータは、同じ１つのデータ管理装置６内に配置ＩＤと対応づけて格納される。
トランザクションのデータとは、トランザクションを処理するときに必要なデータであり、例えば、呼処理における呼の識別子、発信者、受信者、状態遷移を含む。トランザクションの状態遷移とは、話し中、呼び出し中などの呼の状態を示すパラメータである。
【００２６】
なお、図２（ｂ）では、配置ＩＤの値域（ＩＤ空間）を０度から３６０度までの３６０等分した度数法によって例示している。そして、各サーバ装置８が担当する配置ＩＤの範囲は、各サーバ装置８のＩＰアドレスをキーとしてコンシステントハッシング法におけるハッシュ演算の結果である各サーバ装置８の配置ＩＤを起点とし（例えば、サーバ装置８ａなら４０度の配置Ａ）、時計回り方向に辿って、次のサーバ装置８の配置ＩＤ（例えば、サーバ装置８ｂの１７５度の配置Ｂ）より１つ少ない配置ＩＤ（１７４度）を終点とする範囲である。
【００２７】
つまり、サーバ装置８ａの担当範囲は、配置ＩＤ「４０度〜１７４度」であり、サーバ装置８ｂの担当範囲は、配置ＩＤ「１７５度〜６９度」であり、サーバ装置８ｃの担当範囲は、配置ＩＤ「７０度〜３９度」である。例えば、配置ＩＤ「１２０度」は、サーバ装置８ｂの担当範囲に含まれる。
さらに、各サーバ装置８の負荷の一例として、各サーバ装置８の担当範囲である円弧の角度の大きさを例示する。例えば、サーバ装置８ｃの担当範囲は、配置ＩＤ「７０度〜３９度」なので、サーバ装置８ｃの負荷は、（７０度−３９度−１度）＝３０である。
【００２８】
【表１】
0005544522.tif 000002
【００２９】
表１は、サーバ装置リスト２４を示す。サーバ装置リスト２４は、トランザクションの要求を処理するサーバ装置８（サーバ装置８内の処理サーバ５）を、振り分けサーバ４が選択するときの候補を格納するリストである。このサーバ装置リスト２４は、あらかじめ管理者などによって、分散システム９内のサーバ装置８がエントリされている。
【００３０】
サーバ装置リスト２４は、サーバ装置８ごとに、そのサーバ装置８に割り当てられるＩＰアドレスと、そのＩＰアドレスをキーとしたハッシュ値である配置ＩＤとを対応づけて構成される。例えば、図２（ｂ）で示したように、サーバ装置８ａの配置ＩＤは、「配置Ａ(40度)」である。なお、サーバ装置リスト２４の配置ＩＤは、サーバ装置リスト２４のＩＰアドレスからいつでも計算できるので、省略してもよい。
【００３１】
図３は、負荷調整サーバ１０の処理概要として、３つのサーバ装置８の担当範囲を平滑化する処理を示す説明図である。
まず、図２（ｂ）のデータ配置マップ２３において、負荷調整サーバ１０は、サーバ装置８ａ（配置Ａ）の負荷が、他のサーバ装置８よりも相対的に高くなっている（負荷＝２２５）ことを検出する。
【００３２】
そこで、図３（ａ）のデータ配置マップ２３において、負荷調整サーバ１０は、３つのサーバ装置８のうちの低負荷である（負荷＝３０）サーバ装置８ｃ（配置Ｃ）の配置ＩＤを配置Ｃ２へと変更することにより、サーバ装置８ｃの負荷を１１０へと増加させる。この変更に伴い、サーバ装置８ｂ（配置Ｂ）の負荷は、図２（ｂ）の１０５から、図３（ａ）の１５へと減少する。
【００３３】
さらに、図３（ｂ）のデータ配置マップ２３において、負荷調整サーバ１０は、３つのサーバ装置８のうちの低負荷である（負荷＝１５）サーバ装置８ｂ（配置Ｂ）の配置ＩＤを配置Ｂ２へと変更することにより、サーバ装置８ｂの負荷を１１０へと増加させる。これにより、３つのサーバ装置８の負荷が、「１１０，１１０，１４０」と平滑化される。
【００３４】
【表２】
0005544522.tif 000003
【００３５】
表２は、図３の各処理時点におけるサーバ装置リスト２４を示す。前記した各サーバ装置８の配置ＩＤの変更は、各サーバ装置８のＩＰアドレスの変更によって行われる。つまり、ハッシュ演算のキー（入力パラメータ）であるＩＰアドレスを変更すると、ハッシュ演算の出力パラメータである配置ＩＤも変更される。
【００３６】
図４は、負荷調整サーバ１０が実行する負荷調整処理を示すフローチャートである。
【００３７】
Ｓ１１において、負荷監視部２１は、各サーバ装置８の負荷状況を集計する。具体的には、負荷監視部２１は、各サーバ装置８の相対負荷値を計算することで、複数台のサーバ装置８の間での負荷が偏ったサーバ装置８を検出する。
「ａ」を（所定のサーバ装置８の負荷値）とし、「Ａ」を（全サーバ装置８の負荷値の平均値）とすると、（所定のサーバ装置８の相対負荷値）は、以下のいずれかの計算式で計算できる。
平均からの差分値の絶対値を計算する式は、次の通りである。
（所定のサーバ装置８の相対負荷値）＝｜（ａ）−（Ａ）｜
平均値からの乖離率の絶対値を計算する式は、次の通りである。
（所定のサーバ装置８の相対負荷値）＝｜（ａ−Ａ）÷Ａ｜
【００３８】
なお、サーバ装置８の負荷値として、サーバ装置８の負荷の実測値として、負荷調整サーバ１０が各サーバ装置８に計測させたリソース使用率（ＣＰＵ使用率やメモリ使用率など）の通知を受けて、そのリソース使用率を用いてもよい。
一方、サーバ装置８の負荷値として、サーバ装置８の負荷の理論値として、データ配置マップ２３における配置ＩＤの範囲を用いてもよい。この理論値を用いることにより、他のサーバ装置８の稼働状況（ＣＰＵ使用率など）を測定すること無くサーバ装置８の負荷値を取得できるため、各サーバ装置８でＩＤ空間の状況を見て自律的にＩＤ更新を行うことができる。
【００３９】
Ｓ１２において、負荷監視部２１は、Ｓ１１の相対負荷値が偏っているサーバ装置８が存在するか否かを判定する。Ｓ１２でＹｅｓならＳ１３に進み、ＮｏならＳ１１に戻る。
相対負荷値が高負荷に偏っているサーバ装置８とは、例えば、そのサーバ装置８の相対負荷値（例えば、２００度）が、他のサーバ装置８の負荷平均値（例えば、１００度）よりも、所定閾値（例えば、８０度）を超える分、偏っているサーバ装置８である（２００＞１００＋８０）。
相対負荷値が低負荷に偏っているサーバ装置８とは、例えば、そのサーバ装置８の相対負荷値（例えば、５０度）が、他のサーバ装置８の負荷平均値（例えば、１００度）よりも、所定閾値（例えば、３０度）を下回る分、偏っているサーバ装置８である（５０＜１００−３０）。
【００４０】
Ｓ１３において、サーバ装置制御部２２は、偏りが最大のサーバ装置８などの相対負荷値が偏っているサーバ装置８を分散システム９から切り離す。なお、切り離す処理とは、例えば、該当するサーバ装置８内の処理サーバ５（第１処理サーバ５）が、自身とクライアント１との間のトランザクションを消去（中止）する処理である。この消去処理に伴い、第１処理サーバ５は、配下のデータ管理装置６に格納されているトランザクションのデータを消去する。
【００４１】
なお、第１処理サーバ５の切り離し処理によって、データ配置マップ２３において第１処理サーバ５の配置ＩＤと隣接する他の処理サーバ５（第２処理サーバ５）の担当範囲に、第１処理サーバ５の担当範囲が追加される。
よって、第１処理サーバ５から第２処理サーバ５に対して、第１処理サーバ５で消去したトランザクションを行うためのセッションを、引き継ぐ必要がある。そのため、各処理サーバ５は、それぞれ自身が有しているセッションに関するデータを、他の処理サーバ５との間で共有（データ同期）しておく。そして、第２処理サーバ５は、引き継がれたセッションを介して、クライアント１との間でトランザクションを再実施する。
【００４２】
Ｓ１４において、サーバ装置制御部２２は、切り離したサーバ装置８の配置ＩＤを更新する。つまり、表２で説明したように、配置ＩＤを変更するために、サーバ装置８のＩＰアドレスを変更する。
そして、サーバ装置制御部２２は、配置ＩＤが変更されたサーバ装置８を、再度、分散システム９に組み込む。なお、Ｓ１３で説明したように、組み込まれたサーバ装置８が新規に担当する分の配置ＩＤについて、他のサーバ装置８からの引き継ぎ処理を行う。
【００４３】
Ｓ１５において、負荷監視部２１は、所定時間待ってから、Ｓ１１に戻る。よって、図４のフローチャートは、所定間隔で繰り返し実行されるので、分散システム９の負荷調整を随時行うことが可能となる。
【００４４】
以上説明した図４の処理は、サーバ装置８と負荷調整サーバ１０との間で行われるので、クライアント１にとっては、ロードバランサ２に変更がない状態が続く。よって、分散システム９内部の構成を隠蔽させつつ複数のサーバ装置８で分散処理することができ、サーバ装置８を追加することによって容易にシステムの性能を向上させることができる。
【００４５】
図５は、図４の処理を図３の説明図に適用した一例を示すシーケンス図である。この図５では、サーバ装置８と負荷調整サーバ１０との間でやりとりされるメッセージに着目して、説明を行う。
【００４６】
まず、Ｓ１０１〜Ｓ１０４は、図３（ａ）の配置Ｃ２（サーバ装置８ｃ）の組み込み処理（Ｓ１４）を詳細に説明するものである。
Ｓ１０１において、サーバ装置８ｃは、自装置を分散システム９へと組み込む旨の組み込み要求を、負荷調整サーバ１０に通知する。なお、サーバ装置８ｃは、Ｓ１０１の開始前は、分散システム９へと組み込まれていない状態（遊休状態）である。よって、遊休状態のサーバ装置８は、負荷調整サーバ１０に対して組み込み要求を送信するようにしてもよいし、負荷調整サーバ１０が遊休状態のサーバ装置８のリストをリソースプールとして管理しておき、負荷調整サーバ１０がリソースプールから任意のサーバ装置８を組み込み対象として選択することで、Ｓ１０１の処理を代替してもよい。
【００４７】
Ｓ１０２において、負荷調整サーバ１０は、サーバ装置８ｃの配置ＩＤをＣ（配置ＩＤ＝７０）から、Ｃ２（配置ＩＤ＝１１０）へと更新し、その結果を、図３（ａ）のデータ配置マップ２３およびサーバ装置リスト２４に反映させる。
Ｓ１０３において、負荷調整サーバ１０は、Ｓ１０１への応答としての組み込みＯＫの通知を、Ｓ１０２で更新されたデータ（データ配置マップ２３およびサーバ装置リスト２４）を含めてサーバ装置８ｃに送信する。
Ｓ１０４において、負荷調整サーバ１０は、Ｓ１０２で更新されたデータを含めたシステム更新通知を、ブロードキャストで各サーバ装置８（サーバ装置８ｂなど）に通知する。
【００４８】
そして、負荷調整サーバ１０は、図３（ａ）のデータ配置マップ２３で示されるように、配置Ｂ（サーバ装置８ｂ）の低負荷を検出する（Ｓ１１，Ｓ１２）。
次に、Ｓ１１１〜Ｓ１１５は、図３（ｂ）の配置Ｂ（サーバ装置８ｂ）の切り離し処理（Ｓ１３）を詳細に説明するものである。
【００４９】
Ｓ１１１において、負荷調整サーバ１０は、低負荷が検出されたサーバ装置８ｂを分散システム９から切り離して再組み込みを行うための再組み込み実施要求を、サーバ装置８ｂに通知する。
Ｓ１１２において、サーバ装置８ｂは、Ｓ１１１を受けて、自装置の分散システム９からの離脱を要求するための離脱要求を、負荷調整サーバ１０に通知する。
Ｓ１１３において、負荷調整サーバ１０は、Ｓ１１２で離脱要求されたサーバ装置８ｂを分散システム９から離脱させる。この離脱により、負荷調整サーバ１０は、図３（ｂ）で示すように、サーバ装置８ｂの配置Ｂ（１７５）をデータ配置マップ２３から削除するとともに、サーバ装置リスト２４のサーバ装置８ｂのレコードにおける「配置ＩＤ」列を空欄にする。
Ｓ１１４において、負荷調整サーバ１０は、Ｓ１１３の結果を通知する離脱ＯＫの通知を、サーバ装置８ｂに送信する。
Ｓ１１５において、負荷調整サーバ１０は、Ｓ１１３で更新されたデータを含めたシステム更新通知を、ブロードキャストで各サーバ装置８（サーバ装置８ｃなど）に通知する。
【００５０】
さらに、Ｓ１２１〜Ｓ１２４は、図３（ｂ）の配置Ｂ２（サーバ装置８ｂ）の組み込み処理（Ｓ１４）を詳細に説明するものである。このＳ１２１〜Ｓ１２４の処理は、Ｓ１０１〜Ｓ１０４の処理について、サーバ装置８ｃからサーバ装置８ｂへと置き換えただけなので、説明を省略する。
【００５１】
以上説明した本実施形態では、複数台のサーバ装置８とロードバランサ２によって構成される分散システム９において、各サーバ装置８の負荷を調整する負荷調整サーバ１０を説明した。
分散システム９は、セッション制御などの通信制御をクラスタシステムとして実施する。各サーバ装置８への処理の負荷分散には、例えば、コンシステント・ハッシュ手法が用いられる。ここで、各サーバ装置８の負荷の偏りは、主に、各サーバ装置８が担当する配置ＩＤの範囲の大きさの偏りによって発生するので、配置ＩＤの範囲を適宜変更する負荷調整サーバ１０を導入することにより、配置ＩＤの範囲を均等にする。
また、各サーバ装置８の負荷の偏りを求める別の方法として、各サーバ装置８のリソース使用率（ＣＰＵ使用率やメモリ使用率など）を用いてもよい。
【００５２】
負荷調整サーバ１０は、このようにして負荷の偏りがあるサーバ装置８を検出すると、そのサーバ装置８を分散システム９から離脱させ、配置ＩＤの範囲を変更してから、分散システム９へと再度組み込むことで、負荷を調整する。
これにより、サーバ装置８間での負荷の偏りを是正し、サーバ装置８の利用効率を向上させることができる。
【符号の説明】
【００５３】
１      クライアント
２      ロードバランサ
４      振り分けサーバ
５      処理サーバ
６      データ管理装置
８      サーバ装置
９      分散システム
１０    負荷調整サーバ
２１    負荷監視部
２２    サーバ装置制御部
２３    データ配置マップ
２４    サーバ装置リスト
【図１】
0005544522.tif 000004
【図２】
0005544522.tif 000005
【図３】
0005544522.tif 000006
【図４】
0005544522.tif 000007
【図５】
0005544522.tif 000008