(57)【特許請求の範囲】
【請求項１】
複数のユーザ端末からの要求を関連付けて処理するオンラインゲームサーバ群を管理するサーバ管理装置であって、
ゲーム空間を所定の大きさを単位として分割した分割空間上において、前記ユーザ端末により操作されたプレイヤーが移動した履歴情報を前記オンラインゲームサーバ群から取得し、隣接する前記分割空間の間を前記プレイヤーが移動した回数を計測して移動履歴情報を生成し、記憶部に記憶する移動履歴計測部と、
前記移動履歴情報を用いて、隣接する前記分割空間同士の依存関係が強いほど高い値を示す評価値を算出する評価値算出部と、
前記ゲーム空間内において地理的に連続し、かつ、前記評価値が高い、前記分割空間同士が、同一の前記オンラインゲームサーバで処理されるように、前記分割空間それぞれのＩＤ（Identification）を、コンシステントハッシュのＩＤ空間上に配置すると共に、前記オンラインゲームサーバそれぞれのＩＤを所定のロジックに基づき前記ＩＤ空間に配置することにより、前記ＩＤ空間において、前記分割空間それぞれのＩＤから所定方向に最初に到達する前記オンラインゲームサーバのＩＤを探索し、探索された当該ＩＤが付されたオンラインゲームサーバを、当該分割空間を担当するオンラインゲームサーバとして決定する空間マッピング部と、
を備えることと特徴とするサーバ管理装置。
【請求項２】
前記空間マッピング部は、
起点となる前記分割空間に隣接する分割空間のうち、前記評価値が最も高い分割空間を選択して当該分割空間のＩＤを前記ＩＤ空間に配置し、
前記選択した分割空間を新たな起点として、前記評価値が最も高い分割空間を新たに選択し、当該分割空間のＩＤを、前記ＩＤ空間において、その直前に配置した分割空間のＩＤの隣に配置する処理を、未配置の前記分割空間がなくなるまで繰り返すこと、
を特徴とする請求項１に記載のサーバ管理装置。
【請求項３】
前記空間マッピング部は、
起点となる前記分割空間に隣接する分割空間のうち、前記評価値が最も高い分割空間を選択して当該分割空間のＩＤを前記ＩＤ空間に配置し、
配置済みの前記分割空間の全体に隣接する分割空間のうち、前記評価値が最も高い分割空間を新たに選択し、当該分割空間のＩＤを、前記ＩＤ空間において、その直前に配置した分割空間のＩＤの隣に配置する処理を、未配置の前記分割空間がなくなるまで繰り返すこと、
を特徴とする請求項１に記載のサーバ管理装置。
【請求項４】
前記オンラインゲームサーバそれぞれのサーバ負荷を取得するサーバ負荷監視部と、
取得した前記オンラインゲームサーバそれぞれの前記サーバ負荷が所定値より大きい場合に、前記ＩＤ空間上において、当該サーバ負荷が所定値より大きいオンラインゲームサーバのＩＤの位置を前記所定方向の逆方向に移動させることにより、担当している前記分割空間を担当から外すように変更する空間割当部と、
をさらに備えることを特徴とする請求項１乃至請求項３のいずれか１項に記載のサーバ管理装置。
【請求項５】
前記空間割当部は、
前記オンラインゲームサーバそれぞれの前記サーバ負荷を参照し、前記サーバ負荷が所定の閾値を超えるオンラインゲームサーバが所定数以上ある場合に、前記ＩＤ空間上において、前記サーバ負荷が所定の閾値を超えるオンラインゲームサーバが担当するＩＤ空間の領域に新たなオンラインゲームサーバのＩＤを配置すること
を特徴とする請求項４に記載のサーバ管理装置。
【請求項６】
複数のユーザ端末からの要求を関連付けて処理するオンラインゲームサーバ群を管理するサーバ管理装置のサーバ管理方法であって、
前記サーバ管理装置は、
ゲーム空間を所定の大きさを単位として分割した分割空間上において、前記ユーザ端末により操作されたプレイヤーが移動した履歴情報を前記オンラインゲームサーバ群から取得し、隣接する前記分割空間の間を前記プレイヤーが移動した回数を計測して移動履歴情報を生成し、記憶部に記憶するステップと、
前記移動履歴情報を用いて、隣接する前記分割空間同士の依存関係が強いほど高い値を示す評価値を算出するステップと、
前記ゲーム空間内において地理的に連続し、かつ、前記評価値が高い、前記分割空間同士が、同一の前記オンラインゲームサーバで処理されるように、前記分割空間それぞれのＩＤを、コンシステントハッシュのＩＤ空間上に配置すると共に、前記オンラインゲームサーバそれぞれのＩＤを所定のロジックに基づき前記ＩＤ空間に配置することにより、前記ＩＤ空間において、前記分割空間それぞれのＩＤから所定方向に最初に到達する前記オンラインゲームサーバのＩＤを探索し、探索された当該ＩＤが付されたオンラインゲームサーバを、当該分割空間を担当するオンラインゲームサーバとして決定するステップと、
を実行することを特徴とするサーバ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多数ユーザに対して相互に関連しあう処理を実行するオンラインゲームサーバを分散処理構成のシステム上に実現する、サーバ管理装置およびサーバ管理方法に関する。
【背景技術】
【０００２】
ユーザに紐づく状態を管理して同時に複数のユーザに対する処理を行う特徴を持つサーバの一つに、オンラインゲームサーバがある。オンラインゲームとは、複数のユーザがネットワークを通じて相互に関わり合いながらゲーム空間を共有するアプリケーションである。なかでも、全てのユーザが一つの空間を共有するＭＭＯ（Massively Multiplayer Online）と呼ばれるオンラインゲームの形式は、プレイヤーごとの状態データやゲームの進行状態をネットワーク上のサーバで管理するステートフルサービスである。
【０００３】
オンラインゲームを提供するサーバには、メンテナンス等によるシステムダウンタイムを短くし高い可用性を持つこと、応答遅延が十分に小さくゲームの進行を妨げないこと、多数の同時接続ユーザを処理する高い性能を持つことが求められる。一方で、一般的にオンラインゲームは流行に応じた同時接続ユーザ数の変動が激しいという特徴を有しており、コストの観点からは、あらかじめ最大ユーザ数を見積もってサーバリソースを準備するのではなく、サービス開始後に需要に応じて増減できることが望ましい。
【０００４】
このような特徴を有するオンラインゲームに関するサーバの実現手法として、サーバの処理を分割して複数のサーバへ割り当てる分散処理構成がとられている。ここで前提として、オンラインゲームサーバには、前述の通り応答遅延が小さいことが求められるため、遅延を大きく増加させる複数サーバをまたがる処理は許容されない。つまり、複数サーバへ処理を分散した場合には、特定の同期処理を除いて定常的な処理はサーバ内にとどまる。例えば、ユーザを分割して各サーバへ割り当てた場合には、同一サーバで処理されているユーザ同士のみが相互に関わり合えることになる。
【０００５】
ＭＭＯ形式のオンラインゲームでは、一つのゲーム空間を全てのユーザが共有することを特徴とするため、それを考慮した分散の仕組みを用いることが必要である。ＭＭＯ形式のゲームの特徴を考慮した分散処理構成の一例としては、ゲーム上の空間情報を元にして処理空間を区切る手法がある（非特許文献１参照）。図１では、ゲーム空間を、空間「１」〜「４」の４つの空間に区切り、それぞれの空間での処理をサーバ「Ａ」〜「Ｄ」が担当する例を示している。非特許文献１に記載の手法をとることで、ゲーム空間を分割しつつも、ゲームの性質上特に依存関係が強い（空間同士をプレイヤーが移動する頻度が高い）とされる分割したゲーム空間上において、近接するユーザ同士が同じゲーム空間を共有することが可能である。しかしながら、非特許文献１に記載の手法では、サービスを中断させずに（サービス無中断で）サーバ数を増減させることや、サーバ切り替わりに伴う処理遅延の対処については考慮されていない。
【０００６】
一方、分散処理構成のステートフルサーバに関する技術として、サービスを継続したまま動的な構成変更を可能とする手法が提案されている（非特許文献２参照）。この非特許文献２に記載の手法では、コンシステントハッシュ法を用いた信号振り分けを行う（図２参照）。具体的には、各振り分け装置が、コンシステントハッシュ空間上に配置された処理サーバ（各図および本明細書の記載において、「処理サーバ」を単に「サーバ」と記載することがある。）に、ロードバランサを介して受信したクライアントからの信号を振り分ける。コンシステントハッシュ法では、サーバ台数を増減した場合に、その影響がコンシステントハッシュ空間上の隣接するサーバのみで済む。このため、サービス中のサーバ台数変更にかかるサーバ処理負荷を小さくすることができ、スケールアウトと柔軟な構成変更を可能にしている。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】中嶋謙互、「オンラインゲームを支える技術」、技術評論社、2011年、pp.236-238
【非特許文献２】入江道生、他４名、スケールアウトと柔軟な構成変更を実現するセッション制御サーバのクラスタモデル、社団法人電子情報通信学会、電子情報通信学会総合大会  通信講演論文集２、2011年、Ｂ−６−１１
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ここで、非特許文献１に記載の技術と、非特許文献２に記載の技術を組み合わせることにより実現される、分散処理機構を有するオンラインゲームサーバの構成例を考える（図３，図４参照）。
この構成では、ゲーム空間を分割して、それぞれの空間（図３（ａ）のゲーム空間が分割された分割空間（分割空間ＩＤ（Identification）「１」「２」「３」…とする。））を各サーバの担当空間としてコンシステントハッシュ空間上に割り当てる（図３（ｂ）参照）。ユーザが操作するゲームキャラクタ（以下、「プレイヤー」と称する。）はそれぞれ空間上の任意の位置に配置され、各空間を担当しているサーバの処理対象となる。サーバはプレイヤー同士の相互の関わり合いや、複数プレイヤーの動作を考慮したゲームイベントに関する処理を実行する。このとき、ゲーム空間を所定の大きさを単位として分割し（分割空間とし）、コンシステントハッシュ法を用いてハッシュＩＤ空間（コンシステントハッシュ空間）とランダムに対応付けることで、各サーバの管理するゲーム空間の総和を均等にして割り当てる（図３（ｂ），図４の符合ａ参照）。また、各プレイヤーの操作要求に対して、振り分け装置は、各振り分け装置が備える空間−サーバ対応情報（後記する、図７，図１０参照）に基づき、プレイヤーの現在位置から収容される分割空間（分割空間ＩＤ）を特定し、さらに、分割空間ＩＤをキーに分割空間に対応するサーバを特定することにより、当該処理要求を担当するサーバを決定して振り分ける（図４の符合ｂ参照）。なお、各プレイヤーは、ゲーム空間が所定の大きさの空間（分割空間）で区切られていても、同一のサーバで処理されていれば、相互に関わり合う処理を実行できるものとする。また、システムを構成する全てのサーバおよび全ての振り分け装置は、各サーバのＩＰアドレスや分割空間のＩＤ情報（分割空間ＩＤ）といった信号を振り分けるために必要な情報を常に同期して保持しているものとする。
【０００９】
しかしながら、上記構成例では、ゲーム空間を分割するという性質上、少なくとも３つの問題がある。
１つ目の問題は、プレイヤーが空間移動する際の処理遅延である。上記構成例では、プレイヤーが分割された空間を移動する際に、移動先の空間が異なる処理サーバの担当領域であると、サーバの切り替えが発生するため、データの移行処理遅延に伴ってゲームの中断が生じる。一般に高いリアルタイム性が要求されるオンラインゲームにおいて、空間移動のたびにゲームが中断することはサービス品質を大きく損なう重大な問題となる。
【００１０】
２つ目の問題は、サーバの担当空間が地理的に連続にならないときに、ゲーム空間を共有できるプレイヤー数が少なくなることである。一般的なオンラインゲームでは、地理的に近い空間に存在するプレイヤーには動作に関係性があるため、それらを同一のサーバで処理する必要がある。しかしながら、地理的な条件を考慮せず、サーバに所定の大きさの空間（分割空間）を割り当てると、地理的に点在した空間を各サーバが担当することになり、プレイヤーの共有できるゲーム空間が、自身の存在する（１つの）分割空間内だけになってしまうことがある。
【００１１】
３つ目の問題は、プレイヤーがサーバを自由に移動することで生まれる負荷の偏りである。例えば、各サーバの担当する空間の大きさを均等にしても特定の空間にプレイヤーが集中すると、その領域を担当しているサーバが過負荷になりシステムがダウンするおそれがある。また、プレイヤーの位置は、操作要求に従って随時変化するため、あらかじめ負荷を予測してサーバの担当空間を設定することは難しい。したがって、サーバの利用効率を高く維持しつつ、動的に変動する負荷の偏りに対応する手法が求められる。
【００１２】
このような背景を鑑みて本発明がなされたのであり、本発明は、分散処理機構を有するオンラインゲームサーバにおいて、サーバのリソース利用効率を高め、負荷の偏りを解消するとともに、プレイヤーが処理サーバを移動する際の処理遅延を低減させる、サーバ管理装置およびサーバ管理方法を提供することを課題とする。
【課題を解決するための手段】
【００１３】
前記した課題を解決するため、請求項１に記載の発明は、複数のユーザ端末からの要求を関連付けて処理するオンラインゲームサーバ群を管理するサーバ管理装置であって、ゲーム空間を所定の大きさを単位として分割した分割空間上において、前記ユーザ端末により操作されたプレイヤーが移動した履歴情報を前記オンラインゲームサーバ群から取得し、隣接する前記分割空間の間を前記プレイヤーが移動した回数を計測して移動履歴情報を生成し、記憶部に記憶する移動履歴計測部と、前記移動履歴情報を用いて、隣接する前記分割空間同士の依存関係が強いほど高い値を示す評価値を算出する評価値算出部と、前記ゲーム空間内において地理的に連続し、かつ、前記評価値が高い、前記分割空間同士が、同一の前記オンラインゲームサーバで処理されるように、前記分割空間それぞれのＩＤ（Identification）を、コンシステントハッシュのＩＤ空間上に配置すると共に、前記オンラインゲームサーバそれぞれのＩＤを所定のロジックに基づき前記ＩＤ空間に配置することにより、前記ＩＤ空間において、前記分割空間それぞれのＩＤから所定方向に最初に到達する前記オンラインゲームサーバのＩＤを探索し、探索された当該ＩＤが付されたオンラインゲームサーバを、当該分割空間を担当するオンラインゲームサーバとして決定する空間マッピング部と、を備えることと特徴とするサーバ管理装置とした。
【００１４】
また、請求項６に記載の発明は、複数のユーザ端末からの要求を関連付けて処理するオンラインゲームサーバ群を管理するサーバ管理装置のサーバ管理方法であって、前記サーバ管理装置が、ゲーム空間を所定の大きさを単位として分割した分割空間上において、前記ユーザ端末により操作されたプレイヤーが移動した履歴情報を前記オンラインゲームサーバ群から取得し、隣接する前記分割空間の間を前記プレイヤーが移動した回数を計測して移動履歴情報を生成し、記憶部に記憶するステップと、前記移動履歴情報を用いて、隣接する前記分割空間同士の依存関係が強いほど高い値を示す評価値を算出するステップと、前記ゲーム空間内において地理的に連続し、かつ、前記評価値が高い、前記分割空間同士が、同一の前記オンラインゲームサーバで処理されるように、前記分割空間それぞれのＩＤを、コンシステントハッシュのＩＤ空間上に配置すると共に、前記オンラインゲームサーバそれぞれのＩＤを所定のロジックに基づき前記ＩＤ空間に配置することにより、前記ＩＤ空間において、前記分割空間それぞれのＩＤから所定方向に最初に到達する前記オンラインゲームサーバのＩＤを探索し、探索された当該ＩＤが付されたオンラインゲームサーバを、当該分割空間を担当するオンラインゲームサーバとして決定するステップと、を実行することを特徴とするサーバ管理方法とした。
【００１５】
このようにすることで、サーバ管理装置は、プレイヤーがゲーム空間を移動した履歴情報を用いて移動履歴情報を生成し、分割空間同士の依存関係の強さを評価値として算出することができる。そして、サーバ管理装置は、地理的に連続しかつ評価値の高い分割空間同士が、同一のオンラインゲームサーバで処理されるようにＩＤ空間上に配置することができる。よって、サーバ管理装置は、オンラインゲームサーバ間の切り替えの発生を減少させて、プレイヤーがゲーム空間を移動する際の処理遅延を低減することができる。また、地理的に連続した分割空間を同一のオンラインゲームサーバが担当するため、各分割空間をオンラインゲームサーバがランダムに担当する場合と比べ、プレイヤーが共有できるゲーム空間（複数の分割空間）を広く設定することができる。
【００１６】
請求項２に記載の発明は、前記空間マッピング部が、起点となる前記分割空間に隣接する分割空間のうち、前記評価値が最も高い分割空間を選択して当該分割空間のＩＤを前記ＩＤ空間に配置し、前記選択した分割空間を新たな起点として、前記評価値が最も高い分割空間を新たに選択し、当該分割空間のＩＤを、前記ＩＤ空間において、その直前に配置した分割空間のＩＤの隣に配置する処理を、未配置の前記分割空間がなくなるまで繰り返すこと、を特徴とする請求項１に記載のサーバ管理装置とした。
【００１７】
このように、サーバ管理装置は、隣接する分割空間のうち最後に選択した分割空間を起点として、評価値が最も高い分割空間を選択し、ＩＤ空間上に配置することができる。よって、サーバ管理装置は、地理的に連続しかつ評価値の高い分割空間同士が、同一のオンラインゲームサーバで処理されるようにＩＤ空間上に好適に配置することができる。
【００１８】
請求項３に記載の発明は、前記空間マッピング部が、起点となる前記分割空間に隣接する分割空間のうち、前記評価値が最も高い分割空間を選択して当該分割空間のＩＤを前記ＩＤ空間に配置し、配置済みの前記分割空間の全体に隣接する分割空間のうち、前記評価値が最も高い分割空間を新たに選択し、当該分割空間のＩＤを、前記ＩＤ空間において、その直前に配置した分割空間のＩＤの隣に配置する処理を、未配置の前記分割空間がなくなるまで繰り返すこと、を特徴とする請求項１に記載のサーバ管理装置とした。
【００１９】
このように、サーバ管理装置は、配置済みの分割空間の全体に隣接する分割空間のうち、評価値が最も高い分割空間を選択し、ＩＤ空間上に配置することができる。よって、サーバ管理装置は、地理的に連続しかつ評価値の高い分割空間同士が、同一のオンラインゲームサーバで処理されるようにＩＤ空間上に好適に配置することができる。
【００２０】
請求項４に記載の発明は、前記オンラインゲームサーバそれぞれのサーバ負荷を取得するサーバ負荷監視部と、取得した前記オンラインゲームサーバそれぞれの前記サーバ負荷が所定値より大きい場合に、前記ＩＤ空間上において、当該サーバ負荷が所定値より大きいオンラインゲームサーバのＩＤの位置を前記所定方向の逆方向に移動させることにより、担当している前記分割空間を担当から外すように変更する空間割当部と、をさらに備えることを特徴とする請求項１乃至請求項３のいずれか１項に記載のサーバ管理装置とした。
【００２１】
このようにすることにより、サーバ負荷の変動に応じて動的に分割空間を担当するオンラインゲームサーバの変更ができるため、サーバの利用効率を高く維持することができる。
【００２２】
請求項５に記載の発明は、前記空間割当部が、前記オンラインゲームサーバそれぞれの前記サーバ負荷を参照し、前記サーバ負荷が所定の閾値を超えるオンラインゲームサーバが所定数以上ある場合に、前記ＩＤ空間上において、前記サーバ負荷が所定の閾値を超えるオンラインゲームサーバが担当するＩＤ空間の領域に新たなオンラインゲームサーバのＩＤを配置することを特徴とする請求項４に記載のサーバ管理装置とした。
【００２３】
このようにすることにより、サーバ管理装置は、例えば、プレイヤー数が増加したことにより、オンラインゲームサーバ群全体の処理能力が不足した場合に、新たなオンラインゲームサーバのＩＤを、サーバ負荷が所定の閾値を超えるオンラインゲームサーバが担当するＩＤ空間の領域に配置し、オンラインゲームサーバの負荷を低減させることができる。
【発明の効果】
【００２４】
本発明によれば、分散処理機構を有するオンラインゲームサーバにおいて、サーバのリソース利用効率を高め、負荷の偏りを解消するとともに、プレイヤーが処理サーバを移動する際の処理遅延を低減させる、サーバ管理装置およびサーバ管理方法を提供することができる。
【図面の簡単な説明】
【００２５】
【図１】ゲーム空間を分割した分割空間について、各サーバが担当する例を示す図である。
【図２】従来の分散処理システムの構成例を示す図である。
【図３】ゲーム空間を分割した分割空間について、ＩＤ空間上にランダムに配置する例を示す図である。
【図４】ゲーム空間を分割した各分割空間を、各サーバに割り当てる、従来の分散処理システムの例を示す図である。
【図５】地理的に連続する分割空間を、各サーバに割り当てる例を示す図である。
【図６】本実施形態に係るサーバ管理装置を含む分散処理システムの全体構成を示す図である。
【図７】本実施形態に係るサーバ管理装置の構成例を示すブロック図である。
【図８】本実施形態に係る移動履歴情報のデータ構成例を示す図である。
【図９】本実施形態に係るサーバ管理装置が、地理的に連続する分割空間について、ＩＤ空間上に配置する例を示す図である。
【図１０】本実施形態に係る空間−サーバ対応情報のデータ構成の一例を示す図である。
【図１１】本実施形態に係るサーバ管理装置が各分割空間をサーバそれぞれに割り当てる処理の全体の流れを説明するフローチャートである。
【図１２】本実施形態に係る空間マッピング部が実行する分割空間配置ロジック「１」に基づく、分割空間配置処理の流れを示すフローチャートである。
【図１３】本実施形態に係る分割空間配置ロジック「１」の具体例を説明するための図である。
【図１４】本実施形態に係る空間マッピング部が実行する分割空間配置ロジック「２」に基づく、分割空間配置処理の流れを示すフローチャートである。
【図１５】本実施形態に係る分割空間配置ロジック「２」の具体例を説明するための図である。
【図１６】本実施形態に係るサーバ負荷調整処理を説明するための図である。
【発明を実施するための形態】
【００２６】
＜概要＞
まず、本発明を実施するための形態（以下、本実施形態と称する。）に係るサーバ管理装置等による処理の概要を説明する。
【００２７】
上記したゲーム空間を分割して分散処理構成の各サーバ（オンラインゲームサーバ）に処理を割り当てる手法（非特許文献１に記載の技術と非特許文献２に記載の技術を組み合わせた手法）を前提として、本実施形態においては、上記した３つの問題を解決する手法を示す。
プレイヤーの移動によって発生するサーバの切り替えを可能な限り少なくするために、各サーバに地理的に連続する分割空間を割り当てるようにする。このとき、ゲーム空間は二次元で表わされるため、各サーバへの連続性のある空間の割り当ては、例えば、図５（ａ），（ｂ）に示すように、様々なパターンを取り得る。したがって、実際のプレイヤーのサーバ移動に即して、各サーバの担当空間を適切に選択する必要がある。本実施形態では、プレイヤーの移動履歴を各空間（分割空間）に依存関係があるものとして評価し、さらにサーバ負荷を考慮することにより、全体として最適となる担当空間（分割空間）のサーバへの割り当てを実現する。以下、具体的に説明する。
【００２８】
＜全体構成＞
まず、本実施形態に係るサーバ管理装置１０を含む分散処理システム１０００の全体構成について説明する。
図６は、本実施形態に係るサーバ管理装置１０を含む分散処理システム１０００の全体構成を示す図である。本実施形態に係る分散処理システム１０００は、図２で示した構成と同様に、ロードバランサ２を介してクライアント１（ユーザ端末）からの信号を受信し、受信した信号をコンシステントハッシュ法により各サーバ５に振り分ける複数の振り分け装置３と、振り分け装置３に接続される複数のサーバ５（オンラインゲームサーバ）と、サーバ管理装置１０とを含んで構成される。
【００２９】
クライアント１は、オンラインゲームを操作するユーザからの入力を受け付け、ゲーム空間のプレイヤーを操作するＰＣ（Personal Computer）、スマートフォン等のユーザ端末である。
ロードバランサ２は、クライアント１から受信したプレイヤーの操作要求等を、例えば、ラウンドロビンによって、振り分け装置３のいずれかに送信する。
【００３０】
振り分け装置３は、プレイヤーの現在位置から、ゲーム空間のうちで収容される分割空間を特定し、その特定した分割空間を担当するサーバ５に、信号を振り分ける。
この振り分け装置３には、各サーバ５が備える空間−サーバ対応情報１００（後記する、図７，図１０参照）が同様に備えられ、この空間−サーバ対応情報１００を参照することにより、プレイヤーの現在位置から分割空間を特定し、振り分け先となるサーバ５を決定する。振り分け装置３は、最新の情報に更新された空間−サーバ対応情報１００を、サーバ管理装置１０から受信し、自身に記憶する空間−サーバ対応情報１００を更新する。
【００３１】
サーバ５（オンラインゲームサーバ）は、受信した信号（操作要求等）を処理する処理部５１と、記憶部（不図示）内にゲームの実行に関するゲーム空間内の各プレイヤーの位置を記憶した移動履歴を含む状態データ５２とを備える。
このサーバ５の処理部５１は、信号に対する処理（ゲーム処理）を実行するとともに、その処理の対象となるプレイヤーごとに状態データ５２を記憶し、例えば、所定の時間間隔や、サーバ管理装置１０からの要求に応じて、各プレイヤーの移動履歴をサーバ管理装置１０に送信する。
また、処理部５１は、自身のサーバ負荷（例えば、ＣＰＵ（Central Processing Unit）使用率やメモリ使用率等）を計測しており、所定の時間間隔や、サーバ管理装置１０からの要求に応じて、自身のサーバ負荷を負荷情報としてサーバ管理装置１０に送信する。
さらに、サーバ５は、記憶部内に振り分け装置３と同様の空間−サーバ対応情報１００（図７，図１０参照）を備える。サーバ５は、最新の空間−サーバ対応情報を、サーバ管理装置１０から受信し、自身に記憶する空間−サーバ対応情報１００を更新する。
【００３２】
＜サーバ管理装置＞
次に、本実施形態に係るサーバ管理装置１０について説明する。サーバ管理装置１０は、各サーバ５からプレイヤーの移動履歴（履歴情報）を受信し、そのプレイヤーが分割空間を移動した回数を移動履歴情報として計測する。そして、サーバ管理装置１０は、移動履歴情報に基づき、隣接する分割空間同士の依存関係の強さを示す評価値を算出し、その評価値に基づき、コンシステントハッシュのＩＤ空間（以下、単に「ＩＤ空間」と称する場合がある。）上に各分割空間を配置する。
このサーバ管理装置１０は、図７に示すように、制御部１１と、入出力部１２と、記憶部１３とを含んで構成される。
【００３３】
入出力部１２は、各サーバ５や各振り分け装置３等との間の情報の入出力を行う。また、この入出力部１２は、通信回線を介して情報の送受信を行う不図示の通信インタフェースと、不図示のキーボード等の入力手段やモニタ等の出力手段等との間で入出力を行う入出力インタフェースとから構成される。
【００３４】
記憶部１３は、ハードディスクやフラッシュメモリ、ＲＡＭ（Random Access Memory）等の記憶手段からなり、移動履歴情報１１０（後記する図８参照）や、空間−サーバ対応情報１００（図１０参照）が格納される。また、この記憶部１３には、各サーバ５や各振り分け装置３のアドレス（ＩＰアドレス等）の情報や、後記する分割空間配置処理の際に用いる所定の閾値等のパラメータが格納される。
【００３５】
制御部１１は、サーバ管理装置１０全体の制御を司り、移動履歴計測部１１１と、評価値算出部１１２と、空間マッピング部１１３と、サーバ負荷監視部１１４と、空間割当部１１５と、対応情報配信部１１６とを含んで構成される。なお、この制御部１１は、例えば、記憶部１３に格納されたプログラムをＣＰＵ（図示省略）がＲＡＭ（図示省略）に展開し実行することで実現される。
【００３６】
移動履歴計測部１１１は、例えば、サーバ５に対し、移動履歴の要求情報を送信すること等により、サーバ５それぞれから各プレイヤーの移動履歴（履歴情報）を受信し、その移動履歴に基づき、移動履歴情報１１０（図８参照）を生成する。
【００３７】
図８は、本実施形態に係る移動履歴情報１１０のデータ構成例を示す図である。
図８に示すように、移動履歴情報１１０には、空間組み合わせ１１０ａに対応付けて移動回数１１０ｂが格納される。
空間組み合わせ１１０ａは、ゲーム空間を分割した分割空間において、プレイヤーがある分割空間から隣接する他の分割空間へ移動したその空間の組み合わせである。例えば、空間組み合わせ１１０ａが「１，２」であれば、分割空間ＩＤ「１」の分割空間と分割空間ＩＤ「２」の分割空間との組み合わせを示す。また、移動回数１１０ｂは、空間組み合わせ１１０ａで示される分割空間の間を移動した回数を示す。例えば、分割空間ＩＤ「１」の分割空間から分割空間ＩＤ「２」の分割空間へプレイヤーが移動した場合に１カウントアップされる。また、分割空間ＩＤ「２」の分割空間から分割空間ＩＤ「１」の分割空間へプレイヤーが移動した場合にも同様に１カウントアップされる。
このように、移動履歴情報１１０には、隣接する２つの分割空間の間をその向きを問わず移動した回数が記憶される。
【００３８】
図７に戻り、評価値算出部１１２は、移動履歴計測部１１１により生成された移動履歴情報１１０（図８）を用いて、隣接する分割空間同士の依存関係が強いほど高い値を示す評価値を算出する。なお、ここで、依存関係とは、隣接する２つの分割空間同士の関連度合を意味し、例えば、プレイヤーがその２つの分割空間の間を移動する回数（移動回数）が多いほど、依存関係が強いことを示す。
本実施形態においては、移動履歴情報１１０（図８）の移動回数１１０ｂの値をそのまま評価値として採用する例として説明する。しかしながら、この例に限定されず、例えば、移動回数１１０ｂを回数の多さに従って段階に区切って、評価値を算出するようにしてもよい。
【００３９】
図７に戻り、空間マッピング部１１３は、ゲーム空間において、地理的に連続し、かつ、評価値の高い（つまり、依存関係が大きい）分割空間同士が、同一サーバにより処理されるように、所定のロジック（以下に示す「分割空間配置ロジック」）に基づき、各分割空間をＩＤ空間（一次元の連続するＩＤ空間）上へ配置する。
なお、この空間マッピング部１１３が各分割空間をＩＤ空間に配置するために用いる分割空間配置ロジックの詳細は後記する。
【００４０】
図９は、空間マッピング部１１３が、分割空間を一次元のＩＤ空間上に配置（マッピング）し、さらに、各サーバ５をＩＤ空間上に配置することにより、担当する分割空間を各サーバ５に割り当てた結果を示している。ここで、コンシステントハッシュのＩＤ空間においては、一次元のＩＤ空間の両端を繋いで環状とし、そのＩＤ空間上にハッシュ値で示されるサーバやデータ（ここでは、分割空間）を配置する。ＩＤ空間上に配置された各分割空間は、ＩＤ空間を例えば右回り（時計回り）に探索して最初に到達するサーバ（右回りにたどって最初に出合ったサーバ）が担当となる。例えば、分割空間が図９（ａ）のように配置されている場合に、図９（ｂ）に示すように、分割空間ＩＤ「１」「２」「３」「１４」「１３」の分割空間は、ＩＤ空間を右回りに探索して最初に到達するサーバ「Ａ」が担当する。また、分割空間ＩＤ「４」「１５」「５」「６」の分割空間は、ＩＤ空間を右回りに探索して最初に到達するサーバ「Ｂ」が担当する。以下、同様である。
【００４１】
図９（ｂ）に示すようなＩＤ空間上のサーバ５とそのサーバ５が処理を担当する分割空間との対応関係を、サーバ管理装置１０は、空間−サーバ対応情報１００として記憶する。
図１０は、本実施形態に係る空間−サーバ対応情報１００のデータ構成の一例を示す図である。
図１０に示すように、空間−サーバ対応情報１００は、分割空間座標１００ａ、分割空間ＩＤ１００ｂ、および、担当サーバ１００ｃのデータ項目から構成される。
分割空間座標１００ａには、ゲーム空間を、所定の大きさを単位として分割した空間（分割空間）の（左上頂点）と（右下頂点）の座標が格納される。これにより、画面上のプレイヤーの位置が、どの分割空間に属するかが特定される。
分割空間ＩＤ１００ｂには、分割空間座標１００ａに対応付けて、当該ゲーム空間において一意に決定される分割空間のＩＤが格納される。
担当サーバ１００ｃには、その分割空間を担当するサーバ５のＩＤが格納される。
例えば、分割空間ＩＤ「１」の分割空間の処理は、サーバ「Ａ」が担当し、分割空間ＩＤ「４」の分割空間の処理は、サーバ「Ｂ」が担当することを示している。
なお、この分割空間ＩＤ１００ｂおよび担当サーバ１００ｃに格納される情報は、ＩＤ空間上のハッシュ値に紐付けられているか、ハッシュ値そのものであってもよい。
【００４２】
図７に戻り、サーバ負荷監視部１１４は、例えば、サーバ５に対し、負荷情報（例えば、ＣＰＵ使用率や、メモリ使用率）の要求情報を送信すること等により、各サーバから負荷情報を取得する。このサーバ負荷監視部１１４は、取得した情報を空間割当部１１５に出力する。
【００４３】
空間割当部１１５は、サーバ負荷監視部１１４から各サーバの負荷情報を取得し、その取得した負荷情報の値に応じて、ＩＤ空間上のサーバの位置を調整し、担当する分割空間の数を最適化する。
また、空間割当部１１５は、各サーバ５の負荷情報を取得し、サーバ５の処理能力全体が不足した場合には、新たなサーバ５をＩＤ空間上に配置することにより、負荷を軽減する。
なお、この空間割当部１１５が実行するサーバ負荷調整処理の詳細は後記する。
【００４４】
対応情報配信部１１６は、空間マッピング部１１３が生成した空間−サーバ対応情報１００を、各サーバ５や各振り分け装置３に配信する。また、対応情報配信部１１６は、空間割当部１１５が各サーバ５の負荷情報に基づき、サーバ５のＩＤ空間の位置を移動した結果の変更情報やサーバ５を増設した結果の変更情報等を含む空間−サーバ対応情報１００を、各サーバ５や各振り分け装置３に配信する。なお、対応情報配信部１１６は、空間−サーバ対応情報１００のうち、それ以前に配信済みの情報から更新された情報のみを、各サーバ５や各振り分け装置３に送信するようにしてもよい。
【００４５】
＜処理の流れ＞
次に、サーバ管理装置１０が、ゲーム空間を分割した各分割空間を各サーバ５に割り当てる処理について説明する。
図１１は、本実施形態に係るサーバ管理装置１０が各分割空間をサーバ５それぞれに割り当てる処理の全体の流れを説明するフローチャートである。
【００４６】
まず、サーバ管理装置１０の移動履歴計測部１１１は、各サーバ５からプレイヤーの移動履歴を受信し、移動履歴情報１１０（図８参照）を生成する（ステップＳ１）。
この移動履歴の受信は、例えば、移動履歴計測部１１１が、各サーバ５に対して移動履歴の要求情報を送信し、それに対する応答情報として移動履歴を受信する。そして、移動履歴計測部１１１は、図８に示すように、隣接する分割空間同士を移動したプレイヤーの移動履歴に基づきその移動回数を計測し、移動履歴情報１１０を生成する。
【００４７】
続いて、サーバ管理装置１０の評価値算出部１１２は、移動履歴情報１１０に基づき、隣接する分割空間同士の依存関係の強さを示す評価値を算出する（ステップＳ２）。
なお、ここでは、評価値算出部１１２が、２つの（隣接する）分割空間の間を移動する回数（移動回数）を、そのまま評価値として採用するものとする。つまり、移動回数（評価値）が多いほど、隣接する分割空間同士の依存関係が強いことを意味する。
【００４８】
次に、サーバ管理装置１０の空間マッピング部１１３は、プレイヤーの移動によって発生するサーバの切り替えをできる限り少なくするために、所定のロジック（後記する、「分割空間配置ロジック」）に基づき、各サーバ５が地理的に連続する分割空間を担当するように各分割空間を選択してＩＤ空間上に配置する（ステップＳ３：分割空間配置処理）。この分割空間配置ロジックについては、図１２〜図１５を参照して詳細に説明する。
そして、空間マッピング部１１３は、各サーバ５についても、所定のロジックに基づき、ＩＤ空間上に配置する。この所定のロジックは、例えば、担当する分割空間の数が均等になるように、各サーバ５をＩＤ空間上に配置するという内容である。
【００４９】
続いて、サーバ管理装置１０は、サーバ負荷調整処理を実行する（ステップＳ４）。ここでは、まず、サーバ管理装置１０のサーバ負荷監視部１１４が各サーバ５から負荷情報（ＣＰＵ使用率、メモリ使用率等）を受信する。そして、空間割当部１１５が、サーバ負荷監視部１１４から各サーバの負荷情報を取得し、その取得した負荷情報の値に応じて、ＩＤ空間上のサーバの位置を調整し、担当する分割空間の数を最適化する。また、空間割当部１１５は、サーバ５の処理能力全体が不足した場合には、新たなサーバ５をＩＤ空間上に配置することにより負荷を軽減する。空間割当部１１５は、サーバ負荷調整処理を行った結果を、空間−サーバ対応情報１００に記憶（更新）する。なお、このサーバ負荷調整処理の詳細は、図１６を参照して後記する。
【００５０】
次に、サーバ管理装置１０の対応情報配信部１１６は、空間−サーバ対応情報１００が記憶（更新）されると、その最新の空間−サーバ対応情報１００を、各サーバ５と各振り分け装置３に配信する（ステップＳ５）。
【００５１】
≪分割空間配置処理≫
次に、サーバ管理装置１０の空間マッピング部１１３が実行する、分割空間配置処理（図１１のステップＳ３）について詳細に説明する。
空間マッピング部１１３は、プレイヤーの移動によって発生するサーバの切り替えを可能な限り少なくするために、以下に示す、分割空間配置ロジックに基づき、各サーバ５に地理的に連続する分割空間が割り当たるように、各分割空間を一次元の連続するＩＤ空間に配置する。以下、２つの分割空間配置ロジックの例を示す。
【００５２】
（分割空間配置ロジック「１」）
図１２は、本実施形態に係る空間マッピング部１１３が実行する分割空間配置ロジック「１」に基づく、分割空間配置処理の流れを示すフローチャートである。また、図１３は、本実施形態に係る分割空間配置ロジック「１」の具体例を説明するための図である。
空間マッピング部１１３は、図１１のステップＳ２で生成された隣接する分割空間同士の評価値を用いて、以下に示す分割空間配置処理を実行する。
【００５３】
図１２に示すように、まず、空間マッピング部１１３は、ゲーム空間において左上端の分割空間を起点として選択する（ステップＳ１０）。図１３に示す例では、図１３（ａ）で示すように、分割空間ＩＤ「１」の分割空間が選択される。
【００５４】
次に、空間マッピング部１１３は、ステップＳ１０で選択した分割空間（起点となる分割空間）に隣接する分割空間のうち、未配置、かつ、評価値が最も高い分割空間を選択する（ステップＳ１１）。図１３（ａ）では、分割空間ＩＤ「１」の分割空間に隣接する分割空間との間の評価値が「３０」と「２０」であるので、空間マッピング部１１３は、評価値が最も高い評価値「３０」側の分割空間ＩＤ「２」の分割空間を選択する（図１３（ｂ）参照）。
【００５５】
続いて、空間マッピング部１１３は、最後に選択した分割空間に隣接する分割空間のうち、未配置、かつ、評価値が最も高い分割空間を選択する（ステップＳ１２）。図１３（ｂ）では、最後に選択した分割空間が、分割空間ＩＤ「２」の分割空間である。よって、空間マッピング部１１３は、分割空間ＩＤ「２」の分割空間に隣接する分割空間のうち、未配置の分割空間（分割空間ＩＤ「３」「５」の分割空間）との間の評価値「１５」「１０」に基づき、評価値の最も高い評価値「１５」側の分割空間ＩＤ「３」の分割空間を選択する（図１３（ｃ）参照）。
【００５６】
そして、空間マッピング部１１３は、未配置の分割空間、つまり、まだ選択されていない分割空間が残っている否かを判定する（ステップＳ１３）。空間マッピング部１１３は、未配置の分割空間が残っている場合には、ステップＳ１２に戻り、処理を続ける。
【００５７】
ここで、空間マッピング部１１３は、分割空間を選択する際には、以下のロジックも含めて判断する。
・隣接する未配置の空間がない場合には、１つ前に配置した分割空間から選択を再開する。それでも隣接する未配置の空間がない場合には、さらに１つ前というようにして（以下、同様）、選択を再開する。
・最も高い評価値が複数存在する場合には、その空間が隣接する配置済みの分割空間数（既配置空間数）が多い方を選択する。この既配置空間数が同数の場合には、ランダムに選択する。
【００５８】
空間マッピング部１１３は、ステップＳ１２の分割空間の選択処理を繰り返すことにより、図１３（ｄ）に示すように、全ての分割空間を選択済みとし、図１３（ｄ）の下図に示すように、その選択した順（「１」「２」「３」「６」…「４」の順）に、分割空間をＩＤ空間上に配置する。
【００５９】
空間マッピング部１１３は、ステップＳ１３おいて、未配置の分割空間がない、つまり、全ての分割空間の選択を終えている場合には（ステップＳ１３→Ｎｏ）、処理を終了する。
【００６０】
（分割空間配置ロジック「２」）
図１４は、本実施形態に係る空間マッピング部１１３が実行する分割空間配置ロジック「２」に基づく、分割空間配置処理の流れを示すフローチャートである。また、図１５は、本実施形態に係る分割空間配置ロジック「２」の具体例を説明するための図である。
空間マッピング部１１３は、図１１のステップＳ２で生成された隣接する分割空間同士の評価値を用いて、以下に示す分割空間配置処理を実行する。
【００６１】
図１４に示すように、まず、空間マッピング部１１３は、ゲーム空間において左上端の分割空間を起点として選択する（ステップＳ２０）。図１５に示す例では、図１５（ａ）で示すように、分割空間ＩＤ「１」の分割空間が選択される。
【００６２】
次に、空間マッピング部１１３は、ステップＳ２０で選択した分割空間（起点となる分割空間）に隣接する分割空間のうち、未配置、かつ、評価値が最も高い分割空間を選択する（ステップＳ２１）。図１５（ａ）では、分割空間ＩＤ「１」の分割空間に隣接する分割空間との間の評価値が「３０」と「２０」であるので、空間マッピング部１１３は、評価値「３０」側の分割空間ＩＤ「２」の分割空間を選択する（図１５（ｂ）参照）。
【００６３】
続いて、空間マッピング部１１３は、それまでに配置した分割空間（既配置空間）の全体に隣接する分割空間のうち、未配置、かつ、評価値が最も高い分割空間を選択する（ステップＳ２２）。図１５（ｂ）では、既配置空間が、分割空間ＩＤ「１」「２」の分割空間である。よって、空間マッピング部１１３は、分割空間ＩＤ「１」「２」の分割空間（配置済みの分割空間の全体）に隣接する分割空間のうち、未配置の分割空間（分割空間ＩＤ「３」「４」「５」の分割空間）との間の評価値「１５」「２０」「１０」に基づき、評価値の最も高い評価値「２０」である分割空間ＩＤ「４」の分割空間を選択する（図１３（ｃ）参照）。
【００６４】
そして、空間マッピング部１１３は、未配置の分割空間、つまり、まだ選択されていない分割空間が残っている否かを判定する（ステップＳ２３）。空間マッピング部１１３は、未配置の分割空間が残っている場合には、ステップＳ２２に戻り、処理を続ける。
【００６５】
ここで、空間マッピング部１１３は、分割空間を選択する際には、以下のロジックも含めて判断する。
・最も高い評価値が複数存在する場合には、その空間が隣接する配置済みの分割空間数（既配置空間数）が多い方を選択する。この既配置空間数が同数の場合には、ランダムに選択する。
【００６６】
空間マッピング部１１３は、ステップＳ２２の分割空間の選択処理を繰り返すことにより、図１５（ｄ）に示すように、全ての分割空間を選択済みとし、図１５（ｄ）の下図に示すように、その選択した順（「１」「２」「４」「３」…「７」の順）に、分割空間をＩＤ空間上に配置する。
【００６７】
空間マッピング部１１３は、ステップＳ２３おいて、未配置の分割空間がない、つまり、全ての分割空間の選択を終えている場合には（ステップＳ２３→Ｎｏ）、処理を終了する。
【００６８】
空間マッピング部１１３は、上記のようにして各分割空間を配置したＩＤ空間上に、各サーバ５を配置する（図９参照）。これにより、分割空間それぞれを担当するサーバ５が、ＩＤ空間を右回りに探索して最初に到達するサーバとして決定される。
【００６９】
≪サーバ負荷調整処理≫
次に、サーバ管理装置１０の空間割当部１１５が実行する、サーバ負荷調整処理（図１１のステップＳ４）について説明する。
空間割当部１１５は、サーバ負荷監視部１１４が収集した各サーバ５の負荷情報（ＣＰＵ使用率やメモリ使用率等）を取得し、以下に示す、サーバ負荷調整処理「１」、サーバ負荷調整処理「２」のいずれか、または、両方を実行する。
【００７０】
（サーバ負荷調整処理「１」）
空間割当部１１５は、取得した各サーバ５の負荷情報の値に応じて、ＩＤ空間上のサーバ５の位置を調整し、担当する分割空間の数を最適化する。
例えば、空間割当部１１５は、取得した各サーバ５の負荷情報の値の平均値を算出する。そして、算出した平均値に対して、負荷が大きいサーバ５は、ＩＤ空間上において左回りに移動させ、担当した分割空間を１つずつＩＤ空間上で右隣（時計回りで次）のサーバに引き渡す。例えば、図１６において、サーバ「Ｄ」の負荷情報の値が平均値より大きい場合、サーバ「Ｄ」を左回りに移動させることにより、分割空間ＩＤ「１２」の分割空間の担当から外れるようにする（図１６の符号ａ）。この場合、分割空間ＩＤ「１２」の分割空間は、ＩＤ空間上の右回りに探索して最初に到達するサーバ「Ａ」が担当するように変更される。なお、サーバ「Ｄ」の負荷が平均より小さい場合に、サーバ「Ｄ」を右回りに移動させることにより、分割空間ＩＤ「１」の分割空間を追加で担当するように変更してもよい（図１６の符号ｂ）。
各サーバについて、上記の処理を繰り返すことにより、各サーバ５の負荷が平均値に近づくまで、サーバ５をＩＤ空間上で移動させて、各サーバ５が担当する分割空間の数を最適化することにより負荷を軽減する。
【００７１】
（サーバ負荷調整処理「２」）
空間割当部１１５は、例えば、全分割空間を合わせた総プレイヤー数が増加して、サーバ５全体の処理能力が不足した場合等には、新たなサーバ５を増設することにより、各サーバ５の負荷を低減する。
空間割当部１１５は、取得した各サーバ５の負荷情報の値が、所定の閾値を超えているか否かを判定し、所定の閾値を超えたサーバ５が所定数以上である場合に、サーバ５を増設すると判定する。空間割当部１１５によるサーバ５の増設処理は、様々な手法が適用可能であるが、例えば、空間割当部１１５は、所定の閾値を超えたサーバ５の中から一つをランダムに選択して、そのサーバの担当するＩＤ空間の中間地点に新たなサーバ５を配置する。図１６の符号ｃは、負荷情報の値が所定の閾値を超えたサーバ「Ａ」が担当するＩＤ空間の領域について、分割空間ＩＤ「３」の分割空間と分割空間ＩＤ「１４」の分割空間との間に、新たなサーバ「Ｅ」を配置する例を示している。これにより、分割空間ＩＤ「１」「２」「３」の分割空間を担当するサーバが、サーバ「Ａ」からサーバ「Ｅ」に移行され、サーバ「Ａ」の負荷が低減される。
【００７２】
以上、説明したように、本実施形態に係る、サーバ管理装置１０およびサーバ管理方法によれば、各プレイヤーの移動履歴に基づき算出した評価値を用いて、プレイヤーの移動によって発生するサーバの切り替えを可能な限り少なくするように、地理的に連続する分割空間を各サーバ５に担当させることができる。よって、各プレイヤーがゲーム空間を移動する際の処理遅延を低減することができる。さらに、各サーバ５のサーバ負荷を考慮して、動的に変動する負荷の偏りに対応することができるため、サーバ５の利用効率を高く維持することができる。
【００７３】
なお、本発明の構成は、本実施形態に限定されず、その趣旨を逸脱しない範囲で変更可能である。本実施形態においては、分割空間配置処理を上記した、分割空間配置ロジック「１」「２」を例として説明したが、例えば、遺伝的アルゴリズム等の既存学習技術を適用することも可能である。
また、本実施形態においては、分散処理システム１０００の各サーバ５や各振り分け装置３と接続されるサーバ管理装置１０が各機能を備えるものとして説明したが、このサーバ管理装置１０を備えず、その代わりに、サーバ５のうちの１つを代表サーバとして選択し、その代表サーバが本実施形態に係るサーバ管理装置１０の機能を備えるようにしてもよい。
【符号の説明】
【００７４】
１      クライアント（ユーザ端末）
２      ロードバランサ
３      振り分け装置
５      サーバ（オンラインゲームサーバ）
１０    サーバ管理装置
１１    制御部
１２    入出力部
１３    記憶部
５１    処理部
５２    状態データ
１００  空間−サーバ対応情報
１１０  移動履歴情報
１１１  移動履歴計測部
１１２  評価値算出部
１１３  空間マッピング部
１１４  サーバ負荷監視部
１１５  空間割当部
１１６  対応情報配信部
１０００  分散処理システム
【図１】
0006383336.tif 000002
【図２】
0006383336.tif 000003
【図３】
0006383336.tif 000004
【図４】
0006383336.tif 000005
【図５】
0006383336.tif 000006
【図６】
0006383336.tif 000007
【図７】
0006383336.tif 000008
【図８】
0006383336.tif 000009
【図９】
0006383336.tif 000010
【図１０】
0006383336.tif 000011
【図１１】
0006383336.tif 000012
【図１２】
0006383336.tif 000013
【図１３】
0006383336.tif 000014
【図１４】
0006383336.tif 000015
【図１５】
0006383336.tif 000016
【図１６】
0006383336.tif 000017