(58)【調査した分野】(Int.Cl.,DB名)
予め互いに関連付けられた複数のユーザ端末と、当該複数のユーザ端末のそれぞれと通信可能な複数のゲーム管理装置のそれぞれとの間の通信快適度を示す値の測定結果を取得する取得部と、
前記取得部が取得した前記測定結果に基づいて、前記ゲーム管理装置毎に、当該ゲーム管理装置と前記複数のユーザ端末との間の前記測定結果に前記通信快適度が小さいことを示す測定結果がより判定結果に大きな影響を与えるように重み付けを行った合計値を算出し、算出した合計値の比較結果に基づいて、前記複数のゲーム管理装置のうち、前記複数のユーザ端末が通信すべき前記ゲーム管理装置を判定する通信先判定部と、
を備えることを特徴とする通信先判定装置。
予め互いに関連付けられた複数のユーザ端末と、当該複数のユーザ端末のそれぞれと通信可能な複数のゲーム管理装置のそれぞれとの間の通信快適度を示す値の測定結果を取得するステップと、
前記測定結果に基づいて、前記ゲーム管理装置毎に、当該ゲーム管理装置と前記複数のユーザ端末との間の前記測定結果に前記通信快適度が小さいことを示す測定結果がより判定結果に大きな影響を与えるように重み付けを行った合計値を算出し、算出した合計値の比較結果に基づいて、前記複数のゲーム管理装置のうち、前記複数のユーザ端末が通信すべき前記ゲーム管理装置を判定するステップと、
を含むことを特徴とする通信先判定方法。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、複数のユーザが同時にプレイするマルチプレイのゲームを上述のゲームシステムにより提供する場合、マッチング処理により関連付けられた複数のユーザが利用するそれぞれのユーザ端末が同一のゲーム管理装置に接続することになる。このとき、それぞれのユーザ端末とゲーム管理装置との通信距離や通信帯域等により通信が快適に行える状態でなければ、ユーザは快適にゲームを楽しむことができない。そこで、ユーザにとってできるだけ快適な通信状態でゲームをプレイさせることが望ましい。
【0005】
本発明は、このような状況に鑑みてなされたもので、複数のユーザ端末がゲーム管理装置と通信を行うための通信先判定装置、ゲームシステム、通信先判定方法、通信先判定プログラムを提供する。
【課題を解決するための手段】
【0006】
上述した課題を解決するために、本発明は、予め関連付けられた複数のユーザ端末と、複数のユーザ端末のそれぞれと通信可能な複数のゲーム管理装置との間の通信快適度の測定結果を取得する取得部と、取得部が取得した測定結果に基づいて、複数のゲーム管理装置のうち、複数のユーザ端末が通信すべきゲーム管理装置を判定する通信先判定部と、を備えることを特徴とする通信先判定装置である。
【0007】
また、本発明は、通信先判定部は、複数のゲーム管理装置毎に、ゲーム管理装置と複数のユーザ端末との間の測定結果の合計値を算出し、算出した合計値の比較結果に基づいて、複数のユーザ端末が通信すべきゲーム管理装置を判定することを特徴とする。
【0008】
また、本発明は、通信先判定部は、複数のゲーム管理装置毎に、ゲーム管理装置と複数のユーザ端末との間の測定結果に重み付けを行った合計値を算出し、算出した合計値の比較結果に基づいて、複数のユーザ端末が通信すべきゲーム管理装置を判定することを特徴とする。
【0009】
また、本発明は、通信快適度は、ユーザ端末が、所定量のパケットをゲーム管理装置に送信してから応答を受信するまでの所要時間であり、通信先判定部は、複数のゲーム管理装置毎に、ゲーム管理装置に対する複数のユーザ端末の所要時間の合計値を算出し、算出した合計値が最も小さいゲーム管理装置を、複数のユーザ端末が通信すべきゲーム管理装置と判定することを特徴とする。
【0010】
また、本発明は、通信先判定部は、複数のゲーム管理装置毎に、ゲーム管理装置に対する複数のユーザ端末の所要時間を二乗した値の合計値を算出し、算出した合計値が最も小さいゲーム管理装置を、複数のユーザ端末が通信すべきゲーム管理装置と判定することを特徴とする。
【0011】
また、本発明は、予め関連付けられた複数のユーザ端末と、複数のユーザ端末のそれぞれと通信可能な複数のゲーム管理装置とを有するゲームシステムであって、複数のユーザ端末と、複数のゲーム管理装置のそれぞれとの間の通信快適度を測定する測定部と、測定部によって測定された測定結果に基づいて、複数のゲーム管理装置のうち、複数のユーザ端末が通信すべきゲーム管理装置を判定する通信先判定部と、を備えることを特徴とする。
【0012】
また、本発明は、通信先判定装置の通信先判定方法であって、予め関連付けられた複数のユーザ端末と、複数のユーザ端末のそれぞれと通信可能な複数のゲーム管理装置との間の通信快適度の測定結果を取得するステップと、測定結果に基づいて、複数のゲーム管理装置のうち、複数のユーザ端末が通信すべきゲーム管理装置を判定するステップと、を備えることを特徴とする通信先判定方法である。
【0013】
また、本発明は、通信先判定装置のコンピュータに、予め関連付けられた複数のユーザ端末と、複数のユーザ端末のそれぞれと通信可能な複数のゲーム管理装置との間の通信快適度の測定結果を取得するステップと、測定結果に基づいて、複数のゲーム管理装置のうち、複数のユーザ端末が通信すべきゲーム管理装置を判定するステップと、を実行させる通信先判定プログラムである。
【発明の効果】
【0014】
以上説明したように、本発明によれば、通信先判定装置が、予め関連付けられた複数のユーザ端末と、当該複数のユーザ端末のそれぞれと通信可能な複数のゲーム管理装置との間の通信快適度の測定結果を取得する取得部と、前記取得部が取得した前記測定結果に基づいて、前記複数のゲーム管理装置のうち、前記複数のユーザ端末が通信すべき前記ゲーム管理装置を判定する通信先判定部と、を備えるようにしたので、複数のユーザ端末に快適にゲーム管理装置と通信させることができる。
【発明を実施するための形態】
【0016】
以下、本発明の一実施形態について、図面を参照して説明する。
<第1の実施形態>
まず、本発明の第1の実施形態について説明する。
図1は、本実施形態によるゲームシステム1の構成を示すブロック図である。ゲームシステム1は、通信先判定装置10と、複数のユーザ端末20(ユーザ端末20−1、ユーザ端末20−2、ユーザ端末20−3、ユーザ端末20−4、・・・)と、複数のゲーム管理装置30(ゲーム管理装置30−1、ゲーム管理装置30−2、ゲーム管理装置30−3、・・・)とのコンピュータ装置を備えており、これらのコンピュータ装置はネットワーク5を介して接続される。複数のユーザ端末20は同様の構成であるため、特に区別しない場合には「−1」、「−2」等の記載を省略してユーザ端末20として説明する。複数のゲーム管理装置30は同様の構成であるため、特に区別しない場合には「−1」、「−2」等の記載を省略してゲーム管理装置30として説明する。図には4台のユーザ端末20、3台のゲーム管理装置30を示して説明するが、それぞれ任意の台数のユーザ端末20、ゲーム管理装置30がネットワーク5に接続されていてよい。
【0017】
通信先判定装置10は、同時に同一のゲームをプレイする複数のユーザ端末20をマッチングして関連付け、複数のゲーム管理装置30のうちから、関連付けた複数のユーザ端末20が通信すべき通信先であるゲーム管理装置30を、ユーザ端末20とゲーム管理装置30との間の通信状態に基づいて判定する。
ユーザ端末20は、通信先判定装置10に対して、同一のゲームをプレイする他のユーザとのマッチング要求を送信する。通信先判定装置10によってユーザのマッチングが行われて同一のゲームをプレイする複数のユーザ端末20が関連付けられ、複数のゲーム管理装置30のうちから通信先であるゲーム管理装置30が判定される。ユーザ端末20は、通信先判定装置10によって判定された通信先であるゲーム管理装置30にネットワーク5を介して接続して通信する。
ゲーム管理装置30は、ユーザ端末20からの接続に応じて通信を行い、ネットワーク5を介してプレイ可能なマルチプレイのゲームサービスを提供する。
【0018】
図2は、本実施形態におけるゲームシステム1が備える各コンピュータ装置の位置の例を示す図である。この例では、日本に1台の通信先判定装置10が設置されている。通信先判定装置10は、日本から通信を行っているユーザ端末20−1と、インドから通信を行っているユーザ端末20−2と、フランスから通信を行っているユーザ端末20−3と、アメリカから通信を行っているユーザ端末20−4との4台のユーザ端末20をマッチングしたものとする。また、日本にゲーム管理装置30−1が設置され、北アメリカにゲーム管理装置30−2が設置され、南アメリカにゲーム管理装置30−3が設置され、ユーラシア(ヨーロッパ)にゲーム管理装置30−4が設置され、アフリカにゲーム管理装置30−5が設置されており、計5台のゲーム管理装置30が設置されているものとする。
【0019】
このように、本実施形態では、ネットワーク5を介してマルチプレイのゲームを提供するゲーム管理装置30を複数の拠点に分散して設置するようにした。そして、複数のゲーム管理装置30のうち、マッチングされた複数のユーザ端末20にとって最も快適に通信を行うことができる拠点のゲーム管理装置30を判定し、そのゲーム管理装置30にゲームサービスを提供させる。これにより、ゲーム管理装置30が1箇所に設置されている場合に比べて、ユーザはより快適な通信環境によりゲームをプレイすることができる。このようなゲーム管理装置30を設置する拠点の場所、数、規模は、ゲームシステム1に接続するユーザ数、ゲームの種類等に応じて定めることができる。
【0020】
図1に戻り、ネットワーク5は、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)、専用回線、またはこれらの組み合わせによって構成される情報通信ネットワークである。
通信先判定装置10は、通信部11と、記憶部12と、制御部14とを備えている。
通信部11は、ネットワーク5を介して他のコンピュータと通信する。
【0021】
記憶部12は、RAM(Random Access Memory)やROM(Read Only Memory)、HDD(Hard Disk Drive)等の記録媒体またはこれらの組合せを用いて構成され、通信先判定装置10が動作する際に参照する各種情報を記憶する。記憶部12は、測定結果記憶部13を備えている。
測定結果記憶部13は、マッチングされて関連付けられた複数のユーザ端末20と、その複数のユーザ端末20のそれぞれと通信可能な複数のゲーム管理装置30との間の通信快適度の測定結果を記憶する。通信快適度とは、ユーザ端末20とゲーム管理装置30とが行う通信の速さ、快適さの度合いを示す値である。通信快適度が大きいほど通信が速く快適であり、通信快適度が小さいほど通信が遅く快適でないものとする。
【0022】
通信快適度は、例えば、ユーザ端末20が、所定量のパケットをゲーム管理装置30に送信してから応答を受信するまでの所要時間が適用できる。この所要時間は、例えばユーザ端末20がpingプログラムを実行することにより、ICMPに基づくecho requestパケットをゲーム管理装置30に対して送信し、これに応じてゲーム管理装置30から送信されるecho replyパケットを受信するまでの時間(RTT:ラウンドトリップタイム)である。この場合、所要時間の値が小さいほど通信快適度が大きく、所要時間の値が大きいほど通信快適度が小さいことを示す。
【0023】
図3は、測定結果記憶部13に記憶される測定結果のデータ例を示す図である。図では、5台のゲーム管理装置30毎、4台のユーザ端末20毎に、pingによる所要時間の測定結果が対応付けられた例を示している。単位はms(millisecond)である。例えば、複数のユーザ端末20のそれぞれからゲーム管理装置30−1に対するping通信の測定結果が示す所要時間は、ユーザ端末20−1が10(ms)、ユーザ端末20−2が10(ms)、ユーザ端末20−3が80(ms)、ユーザ端末20−4が10(ms)であることを示している。
【0024】
図1に戻り、制御部14は、通信先判定装置10の制御中枢として機能するCPU(Central Processing Unit)等の情報処理装置を備えており、通信先判定装置10が備える各部を制御する。制御部14は、マッチング処理部15と、取得部16と、通信先判定部17とを備えている。
マッチング処理部15は、ユーザ端末20から送信されるマッチング要求に応じて、同一のゲームをプレイする複数のユーザ端末20の組み合わせを判定するマッチングを行う。これにより、複数のユーザ端末20が関連付けられる。
【0025】
取得部16は、マッチング処理部15により関連付けられた複数のユーザ端末20と、その複数のユーザ端末20のそれぞれと通信可能な複数のゲーム管理装置30との間の通信快適度の測定結果を取得する。例えば、取得部16は、マッチング処理部15により関連付けられた複数のユーザ端末20に対して通信快適度の測定要求を送信し、送信した測定要求に応じてユーザ端末20から送信される測定結果を受信し、受信した測定結果を測定結果記憶部13に記憶させる。ここでは、例えば取得部16がユーザ端末20に送信する測定要求に、複数のゲーム管理装置30のIPアドレスのリストを含ませておき、ユーザ端末20は、測定要求に含まれるリストに示されるIPアドレスのそれぞれに対して、通信快適度の測定を行う。
【0026】
通信先判定部17は、取得部16が取得した測定結果に基づいて、複数のゲーム管理装置30のうち、関連付けられた複数のユーザ端末20の通信先であるゲーム管理装置30を判定する。例えば、通信先判定部17は、複数のゲーム管理装置30毎に、そのゲーム管理装置30と関連付けられた複数のユーザ端末20との間の測定結果の合計値を算出し、算出した合計値の比較結果に基づいて、関連付けられた複数のユーザ端末20が通信すべきゲーム管理装置30を判定する。
【0027】
具体的には、例えば、通信先判定部17は、取得部16が取得して測定結果記憶部13に記憶させた所要時間を読み出し、複数のゲーム管理装置30毎に、そのゲーム管理装置30と複数のユーザ端末20との間の所要時間の合計値を算出する。通信先判定部17は、算出した合計値が最も小さいゲーム管理装置30を、複数のユーザ端末20が通信すべき通信先であるゲーム管理装置30と判定する。
図3の例では、ゲーム管理装置30−1に対する所要時間の合計値が(10+10+80+10=)110である。ゲーム管理装置30−2に対する所要時間の合計値が(20+50+60+10=)140である。ゲーム管理装置30−3に対する所要時間の合計値が(50+70+60+20=)200である。ゲーム管理装置30−4に対する所要時間の合計値が(30+30+30+30=)120である。ゲーム管理装置30−5に対する所要時間の合計値が(80+40+30+80=)230である。このうちで最も合計値が小さいのはゲーム管理装置30−1の110であるから、ゲーム管理装置30−1を複数のユーザ端末20が通信すべきゲーム管理装置30と判定する。
【0028】
ユーザ端末20は、ユーザが利用するコンピュータ装置であり、例えばPC(Personal Computer)、タブレットPC、スマートフォン、ゲーム機器等が適用できる。本実施形態では、ユーザ端末20はPCであるものとして説明する。ユーザ端末20は、キーボード、マウス、タッチパネル等の入力デバイスを備えており、ユーザからの指示情報の入力を受け付ける。また、ユーザ端末20は、文字や画像等の情報を表示するディスプレイである表示部や、音声を出力するスピーカ等を備えていてもよい。ユーザ端末20は、通信部21と、記憶部22と、制御部23とを備えている。
【0029】
ここで、ユーザ端末20は、ネットワーク5を介して接続されたゲーム管理装置30によって提供されるゲームサービスを利用し、ユーザにゲームをプレイさせる。本実施形態では、ユーザ端末20は、まずユーザから入力される指示情報に基づいて通信先判定装置10にマッチング要求を送信する。また、ネットワーク5を介して接続された複数のゲーム管理装置30との間の通信快適度を測定し、通信先判定装置10に送信する。そして、複数のゲーム管理装置30のうち、通信先判定装置10によって判定された通信先であるゲーム管理装置30に接続する。ユーザ端末20は、接続したゲーム管理装置30によってゲームが開始されると、ユーザから入力される指示情報をゲーム管理装置30に送信し、送信した指示情報に応じてゲーム管理装置30によって所定の演算処理が行われた結果を反映した画面を、ストリーミング形式による動画としてゲーム管理装置30から受信し、ディスプレイに表示する。ユーザ端末20がゲーム管理装置30に送信する指示情報とは、例えばゲームにおける操作を示す情報である。これにより、ユーザ端末20にゲームプログラムをインストール等することなく、ユーザはゲームをプレイすることができる。
【0030】
通信部21は、ネットワーク5を介してゲーム管理装置30と通信する。
記憶部22は、ユーザ端末20が動作する際に参照する各種情報を記憶する。この記憶部22は、RAMやROM、HDD等の記録媒体またはこれらの組合せを用いて構成される。
制御部23は、例えばCPUにより構成され、通信先判定装置10が備える各部を制御する。制御部23は、測定部24を備えている。
測定部24は、自身のユーザ端末20と、ネットワーク5を介して接続された複数のゲーム管理装置30のそれぞれとの間の通信快適度を測定する。例えば、測定部24は、上述のようなpingプログラムにより、複数のゲーム管理装置30のそれぞれとの間の通信の所要時間を測定する。そして、通信部21を介して、測定結果を通信先判定装置10に送信する。
【0031】
ゲーム管理装置30は、ネットワーク5を介してユーザ端末20にゲームをプレイさせるゲームサービスを提供するコンピュータ装置であり、通信制御部31と、ゲーム制御部32とを備えている。
通信制御部31は、例えばCPUにより構成され、ゲーム管理装置30と他のコンピュータ装置との通信を制御する。例えば、通信制御部31は、ユーザ端末20からpingプログラムにより送信されるパケットを受信し、受信したパケットの応答を送信する。また、通信制御部31は、通信先判定装置10によって関連付けられた複数のユーザ端末20の通信先として判定されると、ゲーム制御部32にゲーム処理を実行させる。
【0032】
また、通信制御部31は、ゲーム制御部32によって、複数のユーザ端末20のそれぞれに応じて生成された動画をバッファリングし、リアルタイム動画配信に適したビットレートにエンコードし、ストリーミング形式によりユーザ端末20に動画を送信する。ストリーミングとは、時系列に応じた動画のデータを受信しながら順次再生させる転送、再生方式である。これにより、指示情報に応じて変化する画面をリアルタイムにユーザ端末20に表示させることができる。
【0033】
ゲーム制御部32は、関連付けられたユーザ端末20に対応するゲームの演算処理を行うゲームプログラムを実行する。またこのゲームプログラムは、関連付けされた複数のユーザ端末20のそれぞれから送信される指示情報に基づいて所定の演算処理を行い、演算結果に基づく動画を生成する。ゲーム制御部32が提供するゲームは、例えばレースゲーム等のスポーツゲーム、格闘ゲーム等のアクションゲーム、FPS(First Person shooter)等のシューティングゲーム、ロールプレイングゲーム、パズルゲーム、シミュレーションゲームなどであって、複数のユーザ端末20に同時に同一のゲームをプレイさせるマルチプレイのゲームである。ゲーム制御部32は、ゲーム管理装置30が備えるGPU(Graphics Processing Unit)等を用いてゲーム画面のレンダリングを行い、時系列とともに変化するコマ画面の連続である動画を通信制御部31に出力する。
【0034】
次に、図面を参照して、本実施形態によるゲームシステム1の動作例を説明する。
図4は、本実施形態によるゲームシステム1の動作例を示す図である。
ここでは、ユーザ端末20−1と、ユーザ端末20−2と、ユーザ端末20−3と、ユーザ端末20−4とから通信先判定装置10に対してマッチング要求が送信され、通信先判定装置10によって、これらのユーザ端末20がマッチングされて関連付けられたものとする。通信先判定装置10の取得部16は、ユーザ端末20−1と、ユーザ端末20−2と、ユーザ端末20−3と、ユーザ端末20−4とに対して通信快適度の測定要求を送信する(ステップS1)。
【0035】
ユーザ端末20−1が、通信先判定装置10から通信快適度の測定要求を受信すると、ユーザ端末20−1の測定部24−1は、ゲーム管理装置30−1と、ゲーム管理装置30−2と、ゲーム管理装置30−3と、ゲーム管理装置30−4と、ゲーム管理装置30−5との間の通信快適度を測定する(ステップS2)。ユーザ端末20−1は、通信快適度の測定結果を、通信先判定装置10に送信する(ステップS3)。通信先判定装置10の取得部16は、ユーザ端末20−1から送信された測定結果を受信すると、受信した測定結果を測定結果記憶部13に記憶させる。
【0036】
同様に、ユーザ端末20−2が、通信先判定装置10から通信快適度の測定要求を受信すると、ユーザ端末20−2の測定部24−2は、ゲーム管理装置30−1と、ゲーム管理装置30−2と、ゲーム管理装置30−3と、ゲーム管理装置30−4と、ゲーム管理装置30−5との間の通信快適度を測定する(ステップS4)。ユーザ端末20−2は、通信快適度の測定結果を、通信先判定装置10に送信する(ステップS5)。通信先判定装置10の取得部16は、ユーザ端末20−2から送信された測定結果を受信すると、受信した測定結果を測定結果記憶部13に記憶させる。
【0037】
同様に、ユーザ端末20−3が、通信先判定装置10から通信快適度の測定要求を受信すると、ユーザ端末20−3の測定部24−3は、ゲーム管理装置30−1と、ゲーム管理装置30−2と、ゲーム管理装置30−3と、ゲーム管理装置30−4と、ゲーム管理装置30−5との間の通信快適度を測定する(ステップS6)。ユーザ端末20−3は、通信快適度の測定結果を、通信先判定装置10に送信する(ステップS7)。通信先判定装置10の取得部16は、ユーザ端末20−3から送信された測定結果を受信すると、受信した測定結果を測定結果記憶部13に記憶させる。
【0038】
同様に、ユーザ端末20−4が、通信先判定装置10から通信快適度の測定要求を受信すると、ユーザ端末20−4の測定部24−4は、ゲーム管理装置30−1と、ゲーム管理装置30−2と、ゲーム管理装置30−3と、ゲーム管理装置30−4と、ゲーム管理装置30−5との間の通信快適度を測定する(ステップS8)。ユーザ端末20−4は、通信快適度の測定結果を、通信先判定装置10に送信する(ステップS9)。通信先判定装置10の取得部16は、ユーザ端末20−4から送信された測定結果を受信すると、受信した測定結果を測定結果記憶部13に記憶させる。
【0039】
通信先判定装置10の通信先判定部17は、測定結果記憶部13に記憶された各ユーザ端末20の測定結果に基づいて、各ユーザ端末20が通信すべき通信先であるゲーム管理装置30を判定する(ステップS10)。この判定は、本実施形態では上述の通り、通信先判定部17が測定結果記憶部13を参照して、各ゲーム管理装置30について各ユーザ端末20で測定した通信快適度の合計値をそれぞれ算出し、この合計値が最も小さいゲーム管理装置30を各ユーザ端末20が通信を行う通信先とすることにより行う。ここでは、ゲーム管理装置30−1を通信先であると判定したとする。通信先判定部17は、通信部11を介して、判定した通信先を示す識別情報を、ユーザ端末20−1と、ユーザ端末20−2と、ユーザ端末20−3と、ユーザ端末20−4とに送信する(ステップS11)。通信先を示す識別情報とは、例えばゲーム管理装置30のIPアドレスやポート番号等である。ユーザ端末20−1と、ユーザ端末20−2と、ユーザ端末20−3と、ユーザ端末20−4とは、通信先判定装置10から送信された識別情報が示すゲーム管理装置30−1に接続して通信し(ステップS12)、マルチプレイのゲームを開始する。
【0040】
以上説明したように、本実施形態によれば、複数の拠点にゲーム管理装置30を設置し、関連付けられた複数のユーザ端末20のそれぞれの通信快適度に基づいて、複数のユーザ端末20を、複数のゲーム管理装置30のうち最も通信快適度の大きいゲーム管理装置30と通信させることができる。これにより、例えば、ゲーム管理装置30がひとつの拠点にしか設置されておらず、ユーザ端末20が選択の余地無くひとつのゲーム管理装置30と通信してゲームをプレイする場合に比べて、より通信快適度の大きいゲーム管理装置30を選択することができる。これにより、関連付けされた複数のユーザ端末20は、より快適にゲームをプレイすることができる。
【0041】
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。本実施形態のゲームシステム1は、第1の実施形態におけるゲームシステム1と同様の構成であるが、通信先判定装置10の通信先判定部17による通信先の判定方法が異なる。
第1の実施形態においては、通信先判定部17は、複数のゲーム管理装置30毎に、そのゲーム管理装置30と関連付けられた複数のユーザ端末20との間の測定結果の合計値を算出し、算出した合計値の比較結果に基づいて、関連付けられた複数のユーザ端末20が通信すべきゲーム管理装置30を判定する。この場合、例えば
図3の例では、上述のように、合計値が110であり最も小さいゲーム管理装置30−1が通信先であるゲーム管理装置30として判定される。
【0042】
これにより他のゲーム管理装置30と比べて相対的に多くのユーザ端末20が快適に通信できるゲーム管理装置30を判定することが可能であるが、ユーザ端末20−1とユーザ端末20−2とユーザ端末20−4との所要時間が10であることに比べて、ユーザ端末20−3の所要時間は80である。この場合、ユーザ端末20に指示情報を入力してから演算結果が表示されるまでの時間に、ユーザ端末20間でのばらつきが発生する。これでは、特にユーザ端末20から指示情報が入力されるタイミングやリアルタイム性がゲームの進行に影響するようなゲームにおいては、必ずしも円滑にゲームを進行できない場合があると考えられる。
【0043】
例えば、所要時間が小さいユーザ端末20−1に対応するキャラクタのアクションに応じて、所要時間が大きいユーザ端末20−3に対応するキャラクタがアクションを起こす場合、ユーザ端末20−3に対応するキャラクタのアクションが相対的に遅れることにより、ユーザ端末20−3のユーザは不公平感を感じてしまうことがあり得る。あるいは、複数のユーザ端末20に同時に所定の指示情報が入力されることにより所定の効果が得られるような場面において、複数のユーザ端末20から同時に所定の指示情報を入力するタイミングを合わせることが困難である場合があると考えられる。このような場合、複数のユーザ端末20のうち、突出して通信快適度が小さいユーザ端末20が存在しないゲーム管理装置30を判定することが望ましい。
【0044】
そこで、本実施形態の通信先判定部17は、複数のゲーム管理装置30毎に、そのゲーム管理装置30と複数のユーザ端末20との間の測定結果に重み付けを行った合計値を算出し、算出した合計値の比較結果に基づいて、複数のユーザ端末20が通信すべきゲーム管理装置30を判定する。具体的には、例えば、通信先判定部17は、複数のゲーム管理装置30毎に、そのゲーム管理装置30に対する複数のユーザ端末20の所要時間を二乗した値の合計値を算出し、算出した合計値が最も小さいゲーム管理装置30を、複数のユーザ端末20が通信すべきゲーム管理装置30と判定する。
【0045】
このようにすると、
図3の例では、ゲーム管理装置30−1に対する所要時間を二乗した値の合計値は(100+100+6400+100=)6700である。ゲーム管理装置30−2に対する所要時間を二乗した値の合計値は(400+2500+3600+100=)6600である。ゲーム管理装置30−3に対する所要時間を二乗した値の合計値は(2500+4900+3600+400=)11400である。ゲーム管理装置30−4に対する所要時間を二乗した値の合計値は(900+900+900+900=)3600である。ゲーム管理装置30−5に対する所要時間を二乗した値の合計値は(6400+1600+900+6400=)15300である。このうちで最も合計値が小さいのはゲーム管理装置30−4の3600であるから、ゲーム管理装置30−4を複数のユーザ端末20が通信すべきゲーム管理装置30と判定する。これにより、複数のユーザ端末20のうち、突出して通信快適度が小さいユーザ端末20が存在しないゲーム管理装置30を判定することができ、特定のユーザだけが不公平感を感じながらゲームが進行することを防ぐことができる。
【0046】
このような通信先の判定方法の他にも、例えば、ゲーム管理装置30に対する複数のユーザ端末20に対応する所要時間の値の最大値が最も小さいゲーム管理装置30を通信先として判定することもできる。あるいは、所要時間のばらつきが最も少ないゲーム管理装置30を通信先として判定することもできる。例えば、ゲーム結果の動画のフレームレートに応じて、ユーザ端末20間におけるフレームの差ができるだけ小さくなるようなゲーム管理装置30を通信先として判定することにより、複数のユーザにできるだけ公平にゲームをプレイさせることができる。あるいは、所要時間の最頻値に基づいて通信先を判定したり、所要時間の標準偏差に基づいて通信先を判定したりすることもできる。あるいは、このような算出結果の組み合わせに基づいて、通信先を判定するようにしてもよい。
【0047】
<第3の実施形態>
次に、本発明の第3の実施形態について説明する。第1の実施形態においては、ゲーム管理装置30を一台のコンピュータ装置として説明したが、多数のユーザ端末20が接続するようなゲームシステム1においては、複数のコンピュータ装置によりゲーム管理装置30を構成することもできる。
図5は、このようなゲームシステム2の構成例を示すブロック図である。本実施形態のゲームシステム2は、第1の実施形態におけるゲームシステム1と同様の構成であり、本実施形態におけるゲーム管理装置130は、第1の実施形態におけるゲーム管理装置30に対応する。
【0048】
複数のゲーム管理装置130は同様の構成であるため、特に区別しない場合には「−1」、「−2」等の記載を省略してゲーム管理装置130として説明する。ゲーム管理装置130は、ネットワーク5を介してユーザ端末20にゲームをプレイさせるゲームサービスを提供するコンピュータ装置群であり、通信制御装置131と、複数のゲームサーバ132(ゲームサーバ132a、ゲームサーバ132b、・・・)を備えている。ここで、複数のゲームサーバ132は同様の構成であるため、特に区別しない場合には「a」、「b」等の記載を省略してゲームサーバ132として説明する。図には2台のゲームサーバ132を示して説明するが、ゲーム管理装置130は任意の台数のゲームサーバ132を備えていてよい。
【0049】
通信制御装置131は、第1の実施形態における通信制御部31と同様の構成である。
ゲームサーバ132は、自身のコンピュータリソースを仮想化して仮想マシンを起動して動作させる機能を備えており、その仮想マシン上で、ユーザ端末20に対応するゲームの演算処理を行うゲームプログラムを動作させる。ここで、関連付けられた複数のユーザ端末20に対応するゲームプログラムは、ゲーム管理装置30の内部で互いに通信しあい、マルチプレイのゲームを進行させる。ゲームサーバ132の仮想マシン上で生成された動画は、通信制御装置131によってユーザ端末20にストリーミング配信される。
【0050】
なお、上記第1から第3の実施形態では、通信快適度として、pingプログラムに基づいて測定した所要時間を適用し、所要時間の値が小さいほど通信快適度が大きく、所要時間の値が大きいほど通信快適度が小さいとする例を示したが、ユーザ端末20とゲーム管理装置30との間の通信の速さ、快適さの度合いを示す他の値を適用することもできる。例えば、pingにおけるパケットロス率が小さいほど通信快適度が大きく、pingにおけるパケットロス率が大きいほど通信快適度が小さいとすることもできる。あるいは、例えばユーザ端末20からゲーム管理装置30に対して大量のパケットを送信し、単位時間あたりにゲーム管理装置30が受信したパケットの量に基づいて転送速度を算出することもできる。この場合、単位時間あたりに送信できたパケットの量が多いほど通信快適度が大きく、パケットの量が少ないほど通信快適度が小さい。あるいは、このような転送速度をTTCP(test tcp)コマンドにより測定してもよいし、FTP(File Transfer Protocol)コマンドを用いてファイルを転送させ、転送にかかった時間を測定することもできる。
【0051】
また、上記第1から第3の実施形態では、取得部16が、マッチング処理部15によって関連付けられたユーザ端末20に通信快適度の測定要求を送信する例を示したが、各ユーザ端末20が、予め通信快適度を測定しておき、通信先判定装置10にマッチング要求を送信する際に、同時に通信快適度の測定結果を送信しておくこともできる。あるいは、ユーザ端末20は所定時間ごとに定期的に通信快適度を測定し、測定結果を通信先判定装置10に送信しておくこともできる。
【0052】
また、上記第1から第3の実施形態に示した各構成は、クラウド環境やネットワーク環境、プレイヤ数の規模、ゲームの種類、ゲームシステムを構成するために用意されたハードウェアの数やスペック等に応じて、任意の台数のコンピュータ装置に分散または集約して配置することができる。例えば、上記第1〜第3実施形態においては、通信先判定装置10がマッチング処理を行うマッチング処理部15を備える構成を示したが、通信先判定装置10とは別に、マッチング処理を行うマッチングサーバを備えることもできる。
【0053】
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより通信先の判定を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであっても良い。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0054】
また、上述した機能の一部または全部を、LSI(Large Scale Integration)等の集積回路として実現しても良い。上述した各機能は個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化しても良い。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現しても良い。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いても良い。