"コンシステントハッシュ法に基づいて、データを管理する複数のサーバ、および、クライアントマシンから受け取ったリクエストを前記複数のサーバのいずれかに振り分ける負荷分散装置を備える分散処理システムであって、前記負荷分散装置は、前記複数のサーバそれぞれについて、所定のハッシュ値変換によって算出された複数の仮想IDIDentifierを格納するサーバ管理情報を記憶する記憶部と、前記分散処理システムに新たなサーバが追加された場合、その後、当該サーバから仮想IDの追加リクエストを受け取ったときに、当該サーバについて、割り当てるべきすべての数よりも少ない1つ以上の仮想IDを前記所定のハッシュ値変換によって算出して前記サーバ管理情報に追加することで前記サーバ管理情報を更新し、当該更新したサーバ管理情報に基づいて、前記クライアントマシンから受け取ったリクエストを前記複数のサーバのいずれかに振り分ける処理部と、を有し、前記追加されたサーバは、前記負荷分散装置に送信した仮想IDの追加リクエストの回数が所定数に達するまで、自身の処理負荷が所定値以下になったときごとに、または、所定の時間間隔で、前記負荷分散装置に仮想IDの追加リクエストを送信することを特徴とする分散処理システム。コンシステントハッシュ法に基づいて、データを管理する複数のサーバ、および、クライアントマシンから受け取ったリクエストを前記複数のサーバのいずれかに振り分ける負荷分散装置を備える分散処理システムによる分散処理方法であって、前記負荷分散装置は、前記複数のサーバそれぞれについて、所定のハッシュ値変換によって算出された複数の仮想IDIDentifierを格納するサーバ管理情報を記憶する記憶部と、処理部と、を有しており、前記処理部は、前記分散処理システムに新たなサーバが追加された場合、その後、当該サーバから仮想IDの追加リクエストを受け取ったときに、当該サーバについて、割り当てるべきすべての数よりも少ない1つ以上の仮想IDを前記所定のハッシュ値変換によって算出して前記サーバ管理情報に追加することで前記サーバ管理情報を更新し、当該更新したサーバ管理情報に基づいて、前記クライアントマシンから受け取ったリクエストを前記複数のサーバのいずれかに振り分け、前記追加されたサーバは、前記負荷分散装置に送信した仮想IDの追加リクエストの回数が所定数に達するまで、自身の処理負荷が所定値以下になったときごとに、または、所定の時間間隔で、前記負荷分散装置に仮想IDの追加リクエストを送信することを特徴とする分散処理方法。コンシステントハッシュ法に基づいて、データを管理する複数のサーバ、および、クライアントマシンから受け取ったリクエストを前記複数のサーバのいずれかに振り分ける負荷分散装置を備える分散処理システムにおける前記負荷分散装置であって、前記複数のサーバそれぞれについて、所定のハッシュ値変換によって算出された複数の仮想IDIDentifierを格納するサーバ管理情報を記憶する記憶部と、前記分散処理システムに新たなサーバが追加され、前記追加されたサーバが、前記負荷分散装置に送信した仮想IDの追加リクエストの回数が所定数に達するまで、自身の処理負荷が所定値以下になったときごとに、または、所定の時間間隔で、前記負荷分散装置に仮想IDの追加リクエストを送信する場合に、当該追加されたサーバから仮想IDの追加リクエストを受け取ったときに、当該サーバについて、割り当てるべきすべての数よりも少ない1つ以上の仮想IDを前記所定のハッシュ値変換によって算出して前記サーバ管理情報に追加することで前記サーバ管理情報を更新し、当該更新したサーバ管理情報に基づいて、前記クライアントマシンから受け取ったリクエストを前記複数のサーバのいずれかに振り分ける処理部と、を有することを特徴とする負荷分散装置。コンシステントハッシュ法に基づいて、データを管理する複数のサーバ、および、クライアントマシンから受け取ったリクエストを前記複数のサーバのいずれかに振り分ける負荷分散装置を備える分散処理システムにおける前記負荷分散装置による負荷分散方法であって、前記負荷分散装置は、前記複数のサーバそれぞれについて、所定のハッシュ値変換によって算出された複数の仮想IDIDentifierを格納するサーバ管理情報を記憶する記憶部と、処理部と、を有しており、前記分散処理システムに新たなサーバが追加され、前記追加されたサーバが、前記負荷分散装置に送信した仮想IDの追加リクエストの回数が所定数に達するまで、自身の処理負荷が所定値以下になったときごとに、または、所定の時間間隔で、前記負荷分散装置に仮想IDの追加リクエストを送信する場合に、前記処理部は、当該追加されたサーバから仮想IDの追加リクエストを受け取ったときに、当該サーバについて、割り当てるべきすべての数よりも少ない1つ以上の仮想IDを前記所定のハッシュ値変換によって算出して前記サーバ管理情報に追加することで前記サーバ管理情報を更新し、当該更新したサーバ管理情報に基づいて、前記クライアントマシンから受け取ったリクエストを前記複数のサーバのいずれかに振り分けることを特徴とする負荷分散方法。コンピュータを請求項3に記載の負荷分散装置として機能させるための負荷分散プログラム。コンシステントハッシュ法を用いたデータ振り分けを実施した場合、クラスタメンバの追加や削除に伴い担当が変更となるデータ数を抑えることができ、追加や削除に伴うクラスタ全体に対する負荷を軽減することが可能である。しかし、クラスタメンバを追加する場合、追加されたクラスタメンバに着目して考えると、ID空間上で担当する領域にあるデータを他のクラスタメンバから移動する必要が生じるため、追加直後に高い負荷が生じることになる。即ち、クラスタメンバを追加したにも関わらず、追加直後にはクラスタ全体での性能が向上しないことが考えられる。これは、各クラスタメンバに複数の仮想IDを持たせる手法の場合でも同様に発生する問題である。そこで、本発明は、前記した事情に鑑みて創作されたものであり、コンシステントハッシュ法を用いた分散処理システムにおいて、クラスタメンバを追加した場合に、システム全体に対する負担の増加を抑制することを課題とする。前記課題を解決するために、本発明は、コンシステントハッシュ法に基づいて、データを管理する複数のサーバ、および、クライアントマシンから受け取ったリクエストを前記複数のサーバのいずれかに振り分ける負荷分散装置を備える分散処理システムであって、前記負荷分散装置は、前記複数のサーバそれぞれについて、所定のハッシュ値変換によって算出された複数の仮想IDを格納するサーバ管理情報を記憶する記憶部と、前記分散処理システムに新たなサーバが追加された場合、その後、当該サーバから仮想IDの追加リクエストを受け取ったときに、当該サーバについて、割り当てるべきすべての数よりも少ない1つ以上の仮想IDを前記所定のハッシュ値変換によって算出して前記サーバ管理情報に追加することで前記サーバ管理情報を更新し、当該更新したサーバ管理情報に基づいて、前記クライアントマシンから受け取ったリクエストを前記複数のサーバのいずれかに振り分ける処理部と、を有し、前記追加されたサーバは、前記負荷分散装置に送信した仮想IDの追加リクエストの回数が所定数に達するまで、自身の処理負荷が所定値以下になったときごとに、または、所定の時間間隔で、前記負荷分散装置に仮想IDの追加リクエストを送信することを特徴とする。また、本発明は、コンシステントハッシュ法に基づいて、データを管理する複数のサーバ、および、クライアントマシンから受け取ったリクエストを前記複数のサーバのいずれかに振り分ける負荷分散装置を備える分散処理システムにおける前記負荷分散装置であって、前記複数のサーバそれぞれについて、所定のハッシュ値変換によって算出された複数の仮想IDを格納するサーバ管理情報を記憶する記憶部と、前記分散処理システムに新たなサーバが追加され、前記追加されたサーバが、前記負荷分散装置に送信した仮想IDの追加リクエストの回数が所定数に達するまで、自身の処理負荷が所定値以下になったときごとに、または、所定の時間間隔で、前記負荷分散装置に仮想IDの追加リクエストを送信する場合に、当該追加されたサーバから仮想IDの追加リクエストを受け取ったときに、当該サーバについて、割り当てるべきすべての数よりも少ない1つ以上の仮想IDを前記所定のハッシュ値変換によって算出して前記サーバ管理情報に追加することで前記サーバ管理情報を更新し、当該更新したサーバ管理情報に基づいて、前記クライアントマシンから受け取ったリクエストを前記複数のサーバのいずれかに振り分ける処理部と、を有することを特徴とする。これらによれば、コンシステントハッシュ法を用いた分散処理システムにおいて、分散処理システムに新たに追加されたサーバが、自身の処理負荷が所定値以下になったときごとに、または、所定の時間間隔で、負荷分散装置に仮想IDの追加リクエストを送信し、負荷分散装置がその追加リクエストを受け取ったときごとに当該サーバについて、割り当てるべきすべての数よりも少ない1つ以上の仮想IDをサーバ管理情報に追加していくことで、システム全体に対するそのサーバの追加に起因する負担の増加を抑制することができる。また、本発明は、コンピュータを前記負荷分散装置として機能させるためのプログラムである。これによれば、このようなプログラムを実装したコンピュータを負荷分散装置として機能させることができる。本発明によれば、コンシステントハッシュ法を用いた分散処理システムにおいて、クラスタメンバを追加した場合に、システム全体に対する負担の増加を抑制することができる。以下、本発明を実施するための形態以下、実施形態と称する。について、図面を参照言及図以外の図も適宜参照しながら説明する。図1に示すように、本実施形態の分散処理システム1000は、クライアントマシン1からのリクエストをネットワーク2経由で受け取るロードバランサ3負荷分散装置と、ロードバランサ3によって振り分けられたリクエストを受け取ってデータ処理を行う複数のサーバ44a,4b,4c,4dとを備えて構成される。なお、複数のサーバ4について、特に区別しないときはサーバ4と表記し、区別するときはサーバ4aなどと表記する。また、本実施形態では、まず、サーバ4a,4b,4cの3台が稼動していて、途中でサーバ4dが追加されるものとする。ロードバランサ3は、コンピュータであり、処理部31、記憶部32、入力部33、表示部34および通信部35を備える。処理部31は、記憶部32に記憶された情報に基づいて各種演算処理を行う手段であり、例えば、CPUCentralProcessingUnitとメモリによって実現される。記憶部32は、各種情報を記憶する手段であり、例えば、ROMReadOnlyMemoryやHDDHardDiskDriveなどによって実現される。また、記憶部32はサーバ管理テーブル321サーバ管理情報を格納する詳細は後記。入力部33は、ロードバランサ3のユーザが情報を入力する手段であり、例えば、キーボードやマウスによって実現される。表示部34は、情報を表示する手段であり、例えば、LCDLiquidCrystalDisplayによって実現される。通信部35は、外部装置との通信に用いられる通信インタフェースである。サーバ4は、例えば、セッション制御サーバである。複数のサーバ4がクラスタ構成で協調して動作する。また、セッションの確立に用いられる通信プロトコルは、例えば、SIPSessionInitiationProtocolJRosenbergetalSIPSessionInitiationProtocolRFC3261IETF20026参照である。ここで、分散処理システム1000における動作の概要について説明する。ロードバランサ3は、クライアントマシン1からリクエストを受け取ったとき、コンシステントハッシュ法に基づいて振り分け先のサーバ4を決定する。そのために、ロードバランサ3は、複数のサーバ4それぞれについて複数の仮想IDを格納したサーバ管理テーブル321を保持している。例えば、クラスタにサーバ4dが追加された場合、ロードバランサ3は、サーバ管理テーブル321に、そのサーバ4dに対応する複数の仮想IDを、一度にではなく、複数回に分けて、追加する。この仮想IDの追加のタイミングは、例えば、追加したサーバ4dの処理負荷CPU使用率、トラヒック量、保持データ量データ移行によりデータが徐々に増える。等や、事前に設定した時間間隔等により決定すればよい。このようにすることで、サーバ4dの追加にともなうサーバ4dに対するデータの移行が集中せずに済み、サーバ4dおよび分散処理システム1000全体の負荷の増加を抑制できる。次に、図2を参照して、ロードバランサ3の記憶部32に格納されるサーバ管理テーブル321について説明する。図2に示すように、サーバ管理テーブル321は、サーバ4のID、および、サーバ名のカラムを含んで構成され、サーバ4のIDの昇順でソートされている。なお、前記したように、複数のサーバ4それぞれについて、複数の仮想IDが格納されている。仮想IDの作成方法例としては、IPアドレスをハッシュ値変換したものが挙げられる。なお、ハッシュ値変換する対象は、IPアドレスに限らず、その他、MACMediaAccessControlアドレスや、あらかじめ決めた名前など、そのサーバ4を特定できるものであれば何でもよい。複数の仮想IDの作成については公知技術であるので詳細な説明を省略する。次に、図3を参照して、追加したサーバ4dに関する仮想IDの追加タイミングの決定方法の例について説明する。追加されたサーバ4dは、自身の処理負荷例えばCPU使用率を監視する。CPU使用率が所定の基準値以下になった場合、サーバ4dはロードバランサ3に仮想IDの追加リクエストを送信する。仮想IDの追加リクエストを受け取ったロードバランサ3は、サーバ管理テーブル321に、サーバ4dについて、割り当てるべきすべての数よりも少ない1つ以上の仮想IDを追加する。その後、サーバ4dは、新しく追加された仮想IDの担当領域に対応するデータの移行と、リクエストの処理を行うことになる。よって、サーバ4dは、負荷が増大し、CPU使用率が上昇する。しかし、データの移行が完了すると、リクエストの処理のみとなるため、CPU使用率は減少する。そこで、CPU使用率が基準値以下になったら、再び仮想IDの追加リクエストを送信する。これらの処理を、事前に設定した数の仮想IDが振り終わるまで繰り返す。なお、CPU使用率の細かい変動を考慮して、一定時間数秒程度の移動平均をとり、その値と基準値の比較を行うことが望ましい。次に、図4を参照して、新たに追加されたサーバ4dにおける仮想IDの追加リクエストの送信に関する処理について説明する。なお、サーバ4dは、以下で説明する処理のほかに、並行して、ロードバランサ3から受け取ったリクエストに対する処理も行う。図4に示すように、サーバ4dは、所定数の仮想IDの追加リクエストのロードバランサ3への送信が完了したか否かを判断しステップS41、Yesの場合は、もう仮想IDの追加リクエストをロードバランサ3に送信する必要がないため処理を終了し、Noの場合はステップS42に進む。なお、サーバ4dが仮想IDの追加リクエストをロードバランサ3に何回送ればよいかは、1回の追加リクエストによってロードバランサ3で追加されるサーバ4dについての仮想IDの数と、サーバ4dに割り当てるべきすべての仮想IDの数とから、予め決定しておくことができる。ステップS42において、サーバ4dは、自身のCPU使用率の移動平均を算出する。次に、サーバ4dは、ステップS42で算出した移動平均の値に基づいて、CPU使用率が所定の基準値以下であるか否かを判断しステップS43、Yesの場合はステップS44に進み、Noの場合はステップS42に戻る。ステップS44において、サーバ4dは、ロードバランサ3に仮想IDの追加リクエストを送信し、ステップS41に戻る。次に、図5を参照して、ロードバランサ3における処理について説明する。図5に示すように、ロードバランサ3において、処理部31は、サーバ4から仮想IDの追加リクエストを受信したか否かを判断しステップS51、Yesの場合はステップS52に進み、Noの場合はステップS54に進む。以下、ステップS51でサーバ4dから仮想IDの追加リクエストを受信したものとして、ステップS52、S53について説明する。ステップS52において、処理部31は、記憶部32のサーバ管理テーブル321に、該当するサーバサーバ4dについて、割り当てるべきすべての数よりも少ない1つ以上の仮想IDを追加する。その後、処理部31は、ステップS52でサーバ管理テーブル321に追加したサーバ4dの仮想IDの担当領域に対応するデータの移行をサーバ4dに指示する。なお、ここでは、ステップS52の直後にデータの移行を指示することとしたが、それ以外に、該当するデータへのリクエストをサーバ4dに割り当てるタイミングでデータの移行を指示してもよい。また、データの移行は、具体的には、例えば次のようにして実施すればよい。既存のデータに関するリクエストが、追加されたサーバ4dに振り分けられた場合、コンシステントハッシュ法の性質上、そのデータは、ID空間上でサーバ4dから時計回りに回って最初に出合うサーバ4によって保持されている可能性が高い。したがって、サーバ4dは、そのサーバ4に問い合わせることで、そのデータを取得できる。ただし、複数のサーバ4が一度に追加された場合には、必ずしもID空間上でサーバ4dから時計回りに回って最初に出合うサーバ4がそのデータを保持しているとは限らないため、そのデータを保持しているサーバ4が見つかるまで、さらに隣のサーバ4に順次問い合わせを行う必要がある。そして、サーバ4dは、そのデータを格納しているサーバ4からそのデータを取得する。ステップS53の後、処理部31は、クライアントマシン1からネットワーク2経由で受信したリクエストを、コンシステントハッシュ法に基づいて各サーバ4に振り分けステップS54、ステップS51に戻る。このようにして、本実施形態によれば、コンシステントハッシュ法を用いた分散処理システム1000において、クラスタメンバサーバ4dを追加した場合に、追加されたサーバ4dが、自身の処理負荷が所定値以下になったときごとにロードバランサ3に仮想IDの追加リクエストを送信し、ロードバランサ3がその追加リクエストを受け取ったときごとにサーバ4dについて割り当てるべきすべての数よりも少ない1つ以上の仮想IDをサーバ管理テーブル321に追加していくつまり、追加したクラスタメンバの仮想IDをすべて一度にではなく複数回に分けて割り当てることで、サーバ4dへのデータの移行が集中せず、システム全体に対する負担の増加を抑制することができる。以上で実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。例えば、本発明は、コンピュータをロードバランサ3として機能させるためのプログラムとしても具現化可能である。その他、具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。"