JP6383336B2 - サーバ管理装置およびサーバ管理方法 - Google Patents

サーバ管理装置およびサーバ管理方法 Download PDF

Info

Publication number
JP6383336B2
JP6383336B2 JP2015157875A JP2015157875A JP6383336B2 JP 6383336 B2 JP6383336 B2 JP 6383336B2 JP 2015157875 A JP2015157875 A JP 2015157875A JP 2015157875 A JP2015157875 A JP 2015157875A JP 6383336 B2 JP6383336 B2 JP 6383336B2
Authority
JP
Japan
Prior art keywords
space
server
divided
online game
spaces
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015157875A
Other languages
English (en)
Other versions
JP2017037445A (ja
Inventor
博史 野口
博史 野口
健 福元
健 福元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015157875A priority Critical patent/JP6383336B2/ja
Publication of JP2017037445A publication Critical patent/JP2017037445A/ja
Application granted granted Critical
Publication of JP6383336B2 publication Critical patent/JP6383336B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

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

Claims (6)

  1. 複数のユーザ端末からの要求を関連付けて処理するオンラインゲームサーバ群を管理するサーバ管理装置であって、
    ゲーム空間を所定の大きさを単位として分割した分割空間上において、前記ユーザ端末により操作されたプレイヤーが移動した履歴情報を前記オンラインゲームサーバ群から取得し、隣接する前記分割空間の間を前記プレイヤーが移動した回数を計測して移動履歴情報を生成し、記憶部に記憶する移動履歴計測部と、
    前記移動履歴情報を用いて、隣接する前記分割空間同士の依存関係が強いほど高い値を示す評価値を算出する評価値算出部と、
    前記ゲーム空間内において地理的に連続し、かつ、前記評価値が高い、前記分割空間同士が、同一の前記オンラインゲームサーバで処理されるように、前記分割空間それぞれのID(Identification)を、コンシステントハッシュのID空間上に配置すると共に、前記オンラインゲームサーバそれぞれのIDを所定のロジックに基づき前記ID空間に配置することにより、前記ID空間において、前記分割空間それぞれのIDから所定方向に最初に到達する前記オンラインゲームサーバのIDを探索し、探索された当該IDが付されたオンラインゲームサーバを、当該分割空間を担当するオンラインゲームサーバとして決定する空間マッピング部と、
    を備えることと特徴とするサーバ管理装置。
  2. 前記空間マッピング部は、
    起点となる前記分割空間に隣接する分割空間のうち、前記評価値が最も高い分割空間を選択して当該分割空間のIDを前記ID空間に配置し、
    前記選択した分割空間を新たな起点として、前記評価値が最も高い分割空間を新たに選択し、当該分割空間のIDを、前記ID空間において、その直前に配置した分割空間のIDの隣に配置する処理を、未配置の前記分割空間がなくなるまで繰り返すこと、
    を特徴とする請求項1に記載のサーバ管理装置。
  3. 前記空間マッピング部は、
    起点となる前記分割空間に隣接する分割空間のうち、前記評価値が最も高い分割空間を選択して当該分割空間のIDを前記ID空間に配置し、
    配置済みの前記分割空間の全体に隣接する分割空間のうち、前記評価値が最も高い分割空間を新たに選択し、当該分割空間のIDを、前記ID空間において、その直前に配置した分割空間のIDの隣に配置する処理を、未配置の前記分割空間がなくなるまで繰り返すこと、
    を特徴とする請求項1に記載のサーバ管理装置。
  4. 前記オンラインゲームサーバそれぞれのサーバ負荷を取得するサーバ負荷監視部と、
    取得した前記オンラインゲームサーバそれぞれの前記サーバ負荷が所定値より大きい場合に、前記ID空間上において、当該サーバ負荷が所定値より大きいオンラインゲームサーバのIDの位置を前記所定方向の逆方向に移動させることにより、担当している前記分割空間を担当から外すように変更する空間割当部と、
    をさらに備えることを特徴とする請求項1乃至請求項3のいずれか1項に記載のサーバ管理装置。
  5. 前記空間割当部は、
    前記オンラインゲームサーバそれぞれの前記サーバ負荷を参照し、前記サーバ負荷が所定の閾値を超えるオンラインゲームサーバが所定数以上ある場合に、前記ID空間上において、前記サーバ負荷が所定の閾値を超えるオンラインゲームサーバが担当するID空間の領域に新たなオンラインゲームサーバのIDを配置すること
    を特徴とする請求項4に記載のサーバ管理装置。
  6. 複数のユーザ端末からの要求を関連付けて処理するオンラインゲームサーバ群を管理するサーバ管理装置のサーバ管理方法であって、
    前記サーバ管理装置は、
    ゲーム空間を所定の大きさを単位として分割した分割空間上において、前記ユーザ端末により操作されたプレイヤーが移動した履歴情報を前記オンラインゲームサーバ群から取得し、隣接する前記分割空間の間を前記プレイヤーが移動した回数を計測して移動履歴情報を生成し、記憶部に記憶するステップと、
    前記移動履歴情報を用いて、隣接する前記分割空間同士の依存関係が強いほど高い値を示す評価値を算出するステップと、
    前記ゲーム空間内において地理的に連続し、かつ、前記評価値が高い、前記分割空間同士が、同一の前記オンラインゲームサーバで処理されるように、前記分割空間それぞれのIDを、コンシステントハッシュのID空間上に配置すると共に、前記オンラインゲームサーバそれぞれのIDを所定のロジックに基づき前記ID空間に配置することにより、前記ID空間において、前記分割空間それぞれのIDから所定方向に最初に到達する前記オンラインゲームサーバのIDを探索し、探索された当該IDが付されたオンラインゲームサーバを、当該分割空間を担当するオンラインゲームサーバとして決定するステップと、
    を実行することを特徴とするサーバ管理方法。
JP2015157875A 2015-08-10 2015-08-10 サーバ管理装置およびサーバ管理方法 Active JP6383336B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015157875A JP6383336B2 (ja) 2015-08-10 2015-08-10 サーバ管理装置およびサーバ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015157875A JP6383336B2 (ja) 2015-08-10 2015-08-10 サーバ管理装置およびサーバ管理方法

Publications (2)

Publication Number Publication Date
JP2017037445A JP2017037445A (ja) 2017-02-16
JP6383336B2 true JP6383336B2 (ja) 2018-08-29

Family

ID=58048530

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015157875A Active JP6383336B2 (ja) 2015-08-10 2015-08-10 サーバ管理装置およびサーバ管理方法

Country Status (1)

Country Link
JP (1) JP6383336B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11167207B2 (en) * 2019-12-13 2021-11-09 Niantic, Inc. Region division with cell merging using spanning tree
JP6838187B1 (ja) * 2020-05-29 2021-03-03 株式会社Cygames サーバ、ゲームシステム及び処理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5373295B2 (ja) * 2008-02-04 2013-12-18 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチノード・サーバシステム、負荷分散方法、リソース管理サーバ、およびプログラム
JP5544522B2 (ja) * 2011-06-21 2014-07-09 日本電信電話株式会社 負荷調整方法、負荷調整サーバ、負荷調整用サーバ装置、および、負荷調整プログラム
JP5745445B2 (ja) * 2012-03-05 2015-07-08 日本電信電話株式会社 管理装置およびプログラム
US9233304B2 (en) * 2012-03-22 2016-01-12 Empire Technology Development Llc Load balancing for game
JP6059558B2 (ja) * 2013-02-26 2017-01-11 日本電信電話株式会社 負荷分散判定システム

Also Published As

Publication number Publication date
JP2017037445A (ja) 2017-02-16

Similar Documents

Publication Publication Date Title
CN107251533B (zh) 用于对等匹配的位于一处的对等设备
US20100113159A1 (en) Method and apparatus for partitioning virtual worlds using prioritized topic spaces in virtual world systems
KR20170029263A (ko) 부하 분산 장치 및 방법
CN103701916A (zh) 分布式存储系统的动态负载均衡方法
CN111614748A (zh) 可扩展的对等匹配
JP2017037446A (ja) ゲームサーバ装置および分散処理方法
CN113672359A (zh) 柔性计算
CN105703927A (zh) 一种资源分配方法、网络设备和网络系统
CN106059940B (zh) 一种流量控制方法及装置
JP4265377B2 (ja) 負荷分散方法及び装置とシステム並びにプログラム
JP6569692B2 (ja) 管理サーバ、通信システム、管理サーバの制御方法、及びプログラム
JP6383336B2 (ja) サーバ管理装置およびサーバ管理方法
Liu et al. Deadline guaranteed service for multi-tenant cloud storage
Kabir et al. VM placement algorithms for hierarchical cloud infrastructure
KR100478346B1 (ko) 그래프 파티션을 이용한 클러스터 서버 환경에서의 로드밸런싱 방법 및 그 시스템
JP2014219859A (ja) 分散処理システムおよび分散処理方法
Shi et al. Smart shuffling in MapReduce: a solution to balance network traffic and workloads
JP6325995B2 (ja) 分散システム、負荷分散方法及びプログラム
US10623260B2 (en) Software defined network (SDN) information distribution across an SDN data-plane
Li et al. Determining optimal update period for minimizing inconsistency in multi-server distributed virtual environments
JP6287261B2 (ja) システム制御装置、制御方法、及びプログラム
Pritom et al. Geography aware virtual machine migrations for distributed cloud data centers
Zhang et al. Task assignment optimization in geographically distributed data centers
KR20110067377A (ko) 게임 서버의 로드 밸런싱 방법 및 장치
JP5690287B2 (ja) 負荷分散プログラムおよび負荷分散装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180522

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180717

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180731

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180803

R150 Certificate of patent or registration of utility model

Ref document number: 6383336

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150