(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023046337
(43)【公開日】2023-04-04
(54)【発明の名称】情報処理装置及び実行切替システム
(51)【国際特許分類】
A63F 13/355 20140101AFI20230328BHJP
A63F 13/45 20140101ALI20230328BHJP
A63F 13/358 20140101ALI20230328BHJP
G06F 9/50 20060101ALI20230328BHJP
【FI】
A63F13/355
A63F13/45
A63F13/358
G06F9/50 150A
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021154936
(22)【出願日】2021-09-23
(71)【出願人】
【識別番号】000132471
【氏名又は名称】株式会社セガ
(74)【代理人】
【識別番号】100176072
【弁理士】
【氏名又は名称】小林 功
(72)【発明者】
【氏名】本池 哲
(57)【要約】
【課題】プログラムをスムーズに実行可能とするとともに、情報処理装置全体のコストを低減することができる。
【解決手段】情報処理装置が、プログラムが実行されている途中に、当該実行の状況が、予め定められた切替状況の手前の状況であるか否かを判定する第一判定手段92と、当該判定が肯定判定された場合、当該情報処理装置に比べて性能が異なる他の情報処理装置がプログラムの実行をするように指示を出力する指示手段94と、実行の状況が、予め定められた切替状況であるか否かを判定する第二判定手段96と、肯定判定の場合、端末装置に対してプログラムの実行結果を送信する送信元を、情報処理装置から他の情報処理装置に切り替える切替手段98と、を備える。
【選択図】
図6
【特許請求の範囲】
【請求項1】
ユーザが操作する端末装置と通信可能な情報処理装置であって、
前記端末装置から実行要求を受け付けた場合、プログラムを実行して要求元の端末装置に実行結果を送信する実行手段と、
前記プログラムが実行されている途中に、当該実行の状況が、予め定められた切替状況の手前の状況であるか否かを判定する第一判定手段と、
前記第一判定手段が肯定判定した場合、前記情報処理装置に比べて性能が異なる他の情報処理装置が前記プログラムの実行をするように指示を出力する指示手段と、
前記指示の後において、前記実行の状況が、前記予め定められた切替状況であるか否かを判定する第二判定手段と、
前記第二判定手段が肯定判定した場合、前記端末装置に対して前記プログラムの実行結果を送信する送信元を、前記実行手段から前記他の情報処理装置に切り替える切替手段と、
を備える情報処理装置。
【請求項2】
前記指示手段は、前記他の情報処理装置として、前記情報処理装置に比べて性能が高い情報処理装置が前記プログラムの実行をするように指示を出力する、
請求項1に記載の情報処理装置。
【請求項3】
前記指示手段は、前記他の情報処理装置として、前記情報処理装置に比べて性能が低い情報処理装置が前記プログラムの実行をするように指示を出力する、
請求項1に記載の情報処理装置。
【請求項4】
前記切替手段は、前記送信元を、前記実行手段から前記他の情報処理装置に切り替えた後に、前記端末装置との通信接続を終了する、
請求項2又は3に記載の情報処理装置。
【請求項5】
前記プログラムは、ゲームプログラムであり、
前記予め定められた切替状況は、ゲームの場面が切り替わる状況を含む、
請求項1乃至4の何れか1項に記載の情報処理装置。
【請求項6】
請求項2に記載の情報処理装置を含む複数の情報処理装置と、サーバ装置と、を備える実行切替システムであって、
前記サーバ装置は、
前記プログラムの識別情報を含む検索要求を前記端末装置から受信した場合、前記複数の情報処理装置の中から、当該識別情報が示すプログラムを実行可能な情報処理装置を検索する検索手段と、
前記検索手段により検索された情報処理装置の中から、最も性能が低い情報処理装置を優先して接続するように前記端末装置に接続指示を出力する接続指示手段と、
を備える実行切替システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及び実行切替システムに関する。
【背景技術】
【0002】
特許文献1には、ゲームサーバ(情報処理装置)がゲームプログラムを実行し、その実行結果をユーザが所持する端末装置に送信することで、ユーザにゲームを提供するという、所謂クラウドゲームが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に開示されている情報処理装置をクラウド上に複数用意する場合は、ゲームプログラムをスムーズに実行するためにそれぞれの情報処理装置を高性能なものとしなければならないが、多大なコストが掛かってしまうという問題があった。この問題は、ゲームプログラムに限らず、他のプログラムをクラウド上で実行する場合も同様に生じ得る。
【0005】
そこで、本発明はこのような課題に鑑みてなされたものであり、その目的は、情報処理装置をクラウド上に複数用意する場合において、プログラムをスムーズに実行できるとともに、情報処理装置全体のコストを低減することができるサーバ装置及び実行切替システムを提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明の第一態様に係る情報処理装置は、ユーザが操作する端末装置と通信可能な情報処理装置であって、前記端末装置から実行要求を受け付けた場合、プログラムを実行して要求元の端末装置に実行結果を送信する実行手段と、前記プログラムが実行されている途中に、当該実行の状況が、予め定められた切替状況の手前の状況であるか否かを判定する第一判定手段と、前記第一判定手段が肯定判定した場合、前記情報処理装置に比べて性能が異なる他の情報処理装置が前記プログラムの実行をするように指示を出力する指示手段と、前記指示の後において、前記実行の状況が、前記予め定められた切替状況であるか否かを判定する第二判定手段と、前記第二判定手段が肯定判定した場合、前記端末装置に対して前記プログラムの実行結果を送信する送信元を、前記実行手段から前記他の情報処理装置に切り替える切替手段と、を備える。
【0007】
また、本発明の第二態様に係る情報処理装置では、前記指示手段は、前記他の情報処理装置として、前記情報処理装置に比べて性能が高い情報処理装置が前記プログラムの実行をするように指示を出力する。
【0008】
また、本発明の第三態様に係る情報処理装置では、前記指示手段は、前記他の情報処理装置として、前記情報処理装置に比べて性能が低い情報処理装置が前記プログラムの実行をするように指示を出力する。
【0009】
また、本発明の第四態様に係る情報処理装置では、前記切替手段は、前記送信元を、前記実行手段から前記他の情報処理装置に切り替えた後に、前記端末装置との通信接続を終了する。
【0010】
また、本発明の第五態様に係る情報処理装置では、プログラムは、ゲームプログラムであり、予め定められた切替状況は、ゲームの場面が切り替わる状況を含む。
【0011】
また、本発明の第六態様に係る実行切替システムでは、上記情報処理装置を含む複数の情報処理装置と、サーバ装置と、を備える実行切替システムであって、前記サーバ装置は、前記プログラムの識別情報を含む検索要求を前記端末装置から受信した場合、前記複数の情報処理装置の中から、当該識別情報が示すプログラムを実行可能な情報処理装置を検索する検索手段と、前記検索手段により検索された情報処理装置の中から、最も性能が低い情報処理装置を優先して接続するように前記端末装置に接続指示を出力する接続指示手段と、を備える。
【発明の効果】
【0012】
本発明によれば、プログラムをスムーズに実行可能とするとともに、情報処理装置全体のコストを低減することができる。
【図面の簡単な説明】
【0013】
【
図1】実行切替システムの全体構成の一例を概略的に示すブロック図である。
【
図2】
図1に示すゲームサーバのハードウェア構成の一例を概略的に示すブロック図である。
【
図3】
図1に示す第一端末装置のハードウェア構成の一例を概略的に示すブロック図である。
【
図4】
図1に示す第二端末装置のハードウェア構成の一例を概略的に示すブロック図である。
【
図5】
図1に示すマッチングサーバのハードウェア構成の一例を概略的に示すブロック図である。
【
図6】実行切替システムの特にマッチングサーバ及びゲームサーバの機能的構成の一例を概略的に示すブロック図である。
【
図7】第二端末装置のユーザにアプリの実行結果を提供する際に、実行切替システムが実行する処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、添付図面を参照しながら本発明の複数の実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素及びステップに対しては可能な限り同一の符号を付して、重複する説明は省略する。
【0015】
<全体構成>
図1は、実行切替システム1の全体構成の一例を概略的に示すブロック図である。同図に示すように、実行切替システム1は、情報処理装置の一例としての複数のゲームサーバ10と、複数の第一端末装置12と、複数の第二端末装置14と、サーバ装置としてのマッチングサーバ16と、を備える。これらのうち、ゲームサーバ10と第一端末装置12とは、通信ネットワークの一例としてのローカルエリアネットワークN1を介して互いに通信可能に構成されている。また、ゲームサーバ10と第二端末装置14とマッチングサーバ16とは、通信ネットワークの一例としてのワイドエリアネットワークN2を介して互いに通信可能に構成されている。
【0016】
ゲームサーバ10は、一の施設S1や他の施設S2等の複数の施設Sに配置されている。なお、以下では、一の施設S1に配置されているゲームサーバ10を「一のゲームサーバ10A」と称し、他の施設S2に配置されているゲームサーバ10を「他のゲームサーバ10B」と称すことがある。これらのゲームサーバ10は、ゲームプログラムを実行し、その実行結果であるゲームを、第一端末装置12のユーザ及び第二端末装置14のユーザに提供する。また、ゲームサーバ10は、施設Sの種類や場所によって性能や第二端末装置14との間の通信速度が異なる。施設Sとしては、例えば、ゲームセンターや、宿泊施設、娯楽施設、レジャー施設、データセンター等が挙げられる。
【0017】
第一端末装置12は、各施設Sに配置されている。この第一端末装置12は、ゲームサーバ10からゲームの提供を受ける。そして、第一端末装置12は、提供を受けたゲームをユーザがプレイする際に、当該ユーザの操作を受け付け、その操作情報をゲームサーバ10に送信する。
【0018】
第二端末装置14は、施設S外のものであり、例えばユーザが所持し操作するものである。この第二端末装置14は、ゲームサーバ10からゲームの提供を受ける。そして、第二端末装置14は、提供を受けたゲームをユーザがプレイする際に、当該ユーザの操作を受け付ける。第二端末装置14としては、例えば、携帯電話や、スマートフォン、タブレット、パーソナルコンピュータ等が挙げられる。
【0019】
マッチングサーバ16は、第二端末装置14のユーザがゲームをプレイする際、当該ユーザと、複数のゲームサーバ10のうち一つ以上のゲームサーバとをマッチングする。
【0020】
<ハードウェア構成>
図2は、
図1に示すゲームサーバ10のハードウェア構成の一例を概略的に示すブロック図である。同図に示すように、ゲームサーバ10は、制御基板20と、外部記憶装置22と、通信装置24と、を備える。
【0021】
制御基板20は、第一端末装置12の制御基板30よりも高性能で高価な基板であり、ゲームサーバ10に集積されている。具体的には、制御基板20は、第一端末装置12の数と同数以上が集積されていることが好ましい。この制御基板20は、不図示のバスを介して、外部記憶装置22と、通信装置24と、に電気的に接続されている。また、制御基板20は、CPU(Central Processing Unit)20Aと、GPU20Bと、メモリ20Cと、内部記憶装置20Dと、を備える。CPU20Aは、アプリケーションプログラム26(以下、「アプリ26」と称す。)を実行可能である。GPU20Bは、画像描写を行う際に必要となる計算処理を行う。メモリ20Cは、CPU20Aが実行するアプリ26を一時的に展開する記憶装置である。内部記憶装置20Dは、ハードディスク等で構成される。この内部記憶装置20Dには、アプリA、アプリB等、施設Sや需要に応じた複数の種類のアプリ26が記憶されている。アプリ26としては、例えば、ゲームプログラムや、画像解析プログラム、気象解析プログラム、自動運転プログラム、検査プログラム等が挙げられる。本実施形態では、アプリ26がゲームプログラムである場合を説明する。
【0022】
外部記憶装置22は、ハードディスク等で構成される。この外部記憶装置22には、内部記憶装置20Dに記憶されているアプリ26の数以上の数のアプリ26が記憶されている。各記憶装置の記憶容量にもよるが、例えば、内部記憶装置20Dに記憶されているアプリ26の数が2、30程度であれば、外部記憶装置22に記憶されているアプリ26の数は、100以上である。この外部記憶装置22に記憶されているアプリ26は、ユーザが利用する際等、必要に応じて、内部記憶装置20Dにインストールされる。
【0023】
通信装置24は、外部の装置と通信するための通信インターフェース等で構成される。通信装置24は、例えば、第一端末装置12との間で各種の情報を送受信する。
【0024】
なお、ゲームサーバ10は、単一の情報処理装置より構成されるものであっても、通信ネットワーク上に分散した複数の情報処理装置より構成されるものであってもよい。また、
図2は、ゲームサーバ10が有する主要なハードウェア構成の一部を示しているに過ぎず、ゲームサーバ10は、例えばサーバ装置が一般的に備える他の構成を備えることができる。
【0025】
図3は、
図1に示す第一端末装置12のハードウェア構成の一例を概略的に示すブロック図である。同図に示すように、第一端末装置12は、制御基板30と、外部記憶装置32と、操作装置34と、表示装置36と、通信装置38と、を備える。
【0026】
制御基板30は、不図示のバスを介して、外部記憶装置32と、操作装置34と、表示装置36と、通信装置38と、に電気的に接続されている。この制御基板30は、CPU30Aと、メモリ30Bと、を備える。CPU30Aは、広告映像等を再生可能である。メモリ30Bは、プログラムを一時的に展開可能である。
【0027】
外部記憶装置32には、広告映像等のデータが記憶されている。
【0028】
操作装置34は、ユーザの操作を受け付けてその操作情報を第一端末装置12に入力するものである。
【0029】
表示装置36は、ゲームサーバ10によるアプリ26の実行結果、例えばゲーム画像を表示する。
【0030】
通信装置38は、外部の装置と通信するための通信インターフェース等で構成される。通信装置38は、例えば、ゲームサーバ10との間で各種の情報を送受信する。
【0031】
図4は、
図1に示す第二端末装置14のハードウェア構成の一例を概略的に示すブロック図である。同図に示すように、第二端末装置14は、CPU50と、メモリ52と、表示装置54と、音出力装置56と、入力装置58と、通信装置60と、を備える。
【0032】
CPU50は、不図示のバスを介して、メモリ52と、表示装置54と、音出力装置56と、入力装置58と、通信装置60と、に電気的に接続されている。このCPU50は、接続先の各装置を制御する。
【0033】
メモリ52は、各種データや各種プログラムを記憶する。
【0034】
表示装置54は、ゲームのゲーム画面を表示する。
【0035】
音出力装置56は、ゲームのゲーム音を出力する。
【0036】
入力装置58は、ユーザの操作情報を第二端末装置14に入力する。
【0037】
通信装置60は、外部の装置と通信するための通信インターフェース等で構成される。通信装置60は、例えば、ゲームサーバ10との間で各種の情報を送受信する。
【0038】
図5は、
図1に示すマッチングサーバ16のハードウェア構成の一例を概略的に示すブロック図である。
【0039】
図5に示すように、マッチングサーバ16は、制御基板70と、通信装置76と、記憶装置78と、を備える。制御基板70は、CPU(Central Processing Unit)72及びメモリ74を主に備えて構成される。
【0040】
制御基板70では、CPU72がメモリ74又は記憶装置78等に格納された所定のプログラムを実行することにより、各種の機能的構成として機能する。この機能的構成の詳細については後述する。
【0041】
通信装置76は、外部の装置と通信するための通信インターフェース等で構成される。通信装置76は、例えば、第二端末装置14との間で各種の情報を送受信する。
【0042】
記憶装置78は、ハードディスク等で構成される。この記憶装置78は、制御基板70における処理の実行に必要な各種プログラムや各種の情報、及び処理結果の情報を記憶する。
【0043】
なお、マッチングサーバ16は、専用又は汎用のサーバ・コンピュータなどの情報処理装置を用いて実現することができる。また、マッチングサーバ16は、単一の情報処理装置より構成されるものであっても、通信ネットワークNT上に分散した複数の情報処理装置より構成されるものであってもよい。また、
図5は、マッチングサーバ16が有する主要なハードウェア構成の一部を示しているに過ぎず、マッチングサーバ16は、サーバが一般的に備える他の構成を備えることができる。
【0044】
<機能的構成>
図6は、実行切替システム1の特にマッチングサーバ16及びゲームサーバ10の機能的構成の一例を概略的に示すブロック図である。同図に示すように、マッチングサーバ16は、機能的構成として、記憶手段80と、検索手段82と、接続指示手段84と、を備える。これらの機能的構成は、CPU72がプログラムを実行することにより実現される。また、ゲームサーバ10は、実行手段90と、第一判定手段92と、指示手段94と、第二判定手段96と、切替手段98と、を備える。これらの機能的構成は、CPU20Aがプログラムを実行することにより実現される。
【0045】
記憶手段80は、例えば、サーバリスト80Aと、ユーザ情報80Bと、を記憶する機能を有する。サーバリスト80Aには、地域毎に、複数の施設Sの名称と、各施設Sに配置されているゲームサーバ10のIPアドレス(Internet Protocol Address)などの通信接続情報と、各施設Sに配置されているゲームサーバ10の性能と、が記述されている。ユーザ情報80Bは、第一端末装置12のユーザ毎に、及び、第二端末装置14のユーザ毎に、氏名や年齢、ユーザID、パスワード、連絡先等の情報を含む。なお、ゲームサーバ10の性能とは、CPU20Aの性能、GPU20Bの性能、メモリ20Cの性能等から決まる、スループットやレスポンスタイムや稼働率といった値であり、性能の高低とは左記の値の大小で表される。サーバリスト80Aには、ゲームサーバ10の性能として上記の値の少なくとも1つが記述される。
【0046】
検索手段82は、アプリ26の識別情報を含む検索要求を第二端末装置14から受信した場合、複数のゲームサーバ10の中から、当該識別情報が示すアプリ26を実行可能なゲームサーバ10を検索する機能を有する。
【0047】
接続指示手段84は、例えばサーバリスト80A等に基づき、検索手段82により検索されたゲームサーバ10の中から、最も性能が低い又は最も通信速度が遅い情報処理装置を優先して接続するように第二端末装置14に接続指示を出力する機能を有する。
【0048】
実行手段90は、第二端末装置14から実行要求を受け付けた場合、アプリ26を実行して要求元の第二端末装置14に実行結果を送信する機能を有する。
【0049】
第一判定手段92は、アプリ26が実行されている途中に、当該実行の状況が、予め定められた切替状況の手前の状況であるか否かを判定する機能を有する。この予め定められた切替状況は、例えば、重い処理が開始されるという状況、軽い処理が開始されるという状況、同じ場面において対戦や協力で複数のユーザの操作が開始されるという状況、及び/又は、ゲームの場面が切り替わる状況を含む。
【0050】
指示手段94は、第一判定手段92が肯定判定した場合、現在、アプリ26を実行しているゲームサーバ10(以下、「一のゲームサーバ」と称す。)に比べて性能が異なる又は第二端末装置14との間の通信速度が異なる他の情報処理装置がアプリ26の実行をするように指示を出力する機能を有する。
具体的には、指示手段94は、他の情報処理装置として、一のゲームサーバに比べて性能が高い又は第二端末装置14との間の通信速度が速い他のゲームサーバがアプリ26の実行をするように指示を出力してもよい。また、指示手段94は、他の情報処理装置として、一のゲームサーバに比べて性能が低い又は第二端末装置14との間の通信速度が遅い他のゲームサーバがアプリ26の実行をするように指示を出力する。また、他の情報処理装置として、他のゲームサーバだけでなく、第二端末装置14を含んでもよい。
なお、指示の出力先としては、第二端末装置14又は他のゲームサーバが挙げられるが、本実施形態では、出力先が第二端末装置14である場合を説明する。
【0051】
第二判定手段96は、指示手段94による指示の後において、実行の状況が、予め定められた切替状況であるか否かを判定する機能を有する。
【0052】
切替手段98は、第二判定手段96が肯定判定した場合、第二端末装置14に対してアプリ26の実行結果の送信する送信元を、実行手段90から他のゲームサーバに切り替える機能を有する。この送信元を切り替える方法としては、第二端末装置14に切替指示を出力したり、他のゲームサーバに切替指示を出力することが挙げられるが、本実施形態では、第二端末装置14に切替指示を出力する場合を説明する。
また、切替手段98は、送信元を、実行手段90から他のゲームサーバに切り替えた後に、第二端末装置14との通信接続を終了してもよい。
【0053】
<処理の流れ>
図7は、第二端末装置14のユーザにアプリ26の実行結果を提供する際に、実行切替システム1が実行する処理の流れの一例を示すフローチャートである。なお、以下の処理の内容及び順番は適宜変更することができる。また、第一端末装置12のユーザにアプリ26の実行結果を提供する場合は、原則、当該第一端末装置12が配置されている施設Sのゲームサーバ10を使用するが、以下と同様の処理で、第一端末装置12のユーザにアプリ26の実行結果を提供するゲームサーバ10がマッチングされてもよい。
【0054】
(ステップSP100)
第二端末装置14は、ユーザの操作を受け付けた場合に、当該ユーザのユーザIDやパスワード、IPアドレス等を含むログイン要求をマッチングサーバ16に送信する。そして、処理は、ステップSP102の処理に移行する。
【0055】
(ステップSP102)
マッチングサーバ16は、第二端末装置14からログイン要求を受信する。これに応答して、マッチングサーバ16は、ログイン要求に含まれるユーザIDやパスワードと、記憶手段80に記憶されているユーザ情報80Bとに基づき、認証処理を実行する。この認証処理が成功した場合、処理は、ステップSP104の処理に移行する。なお、認証処理が失敗した場合、第二端末装置14にエラーが出力された後、
図7に示す一連の処理が終了する。
【0056】
(ステップSP104)
マッチングサーバ16は、複数のアプリ26、すなわち複数のゲームプログラムの名前等が記述された選択画像を要求元の第二端末装置14に送信する。そして、処理は、ステップSP106の処理に移行する。
【0057】
(ステップSP106)
第二端末装置14は、マッチングサーバ16から選択画像を受信する。これに応答して、第二端末装置14は、受信した選択画像を表示装置54に表示する。この選択画像が表示されると、第二端末装置14のユーザは、選択画像に記述されている複数のゲームプログラムの中から一つのゲームプログラムを選択する。そして、処理は、ステップSP108の処理に移行する。
【0058】
(ステップSP108)
第二端末装置14は、ユーザからのゲームプログラムの選択を受け付けると、通信速度の測定要求をマッチングサーバ16に送信する。そして、処理は、ステップSP110の処理に移行する。
【0059】
(ステップSP110)
マッチングサーバ16は、第二端末装置14から測定要求を受信する。これに応答して、マッチングサーバ16の検索手段82は、地域毎に、複数の施設Sの中から一の施設をそれぞれ抽出する。例えば、サーバリスト80Aに各地域を代表する施設が登録されている場合、マッチングサーバ16は、地域毎に、複数の施設Sの中から代表する一の施設をそれぞれ抽出する。そして、処理は、ステップSP112の処理に移行する。
【0060】
(ステップSP112)
マッチングサーバ16は、抽出した各施設のゲームサーバ10の通信接続情報としてそれぞれのIPアドレスをサーバリスト80Aから取得する。続いて、マッチングサーバ16は、地域毎に抽出された一の施設のゲームサーバ10と、第二端末装置14との間の通信速度を測定する測定指示を当該第二端末装置14に出力(送信)する。なお、この測定指示には、マッチングサーバ16が取得した各施設のゲームサーバ10のIPアドレスを含む。そして、処理は、ステップSP114の処理に移行する。
【0061】
(ステップSP114)
第二端末装置14は、マッチングサーバ16から測定指示を受信する。これに応答して、第二端末装置14は、測定指示に含まれる各IPアドレスに基づき、当該第二端末装置14と、地域毎に抽出された一の施設のゲームサーバ10との間の通信速度をそれぞれ測定する。続いて、第二端末装置14は、通信速度の測定結果をマッチングサーバ16に送信する。そして、処理は、ステップSP116の処理に移行する。
【0062】
(ステップSP116)
マッチングサーバ16は、第二端末装置14から測定結果を受信する。これに応答して、検索手段82は、受信した測定結果の中で最も通信速度が速い測定結果を示した施設に紐づけられている一地域を抽出する。そして、処理は、ステップSP118の処理に移行する。
【0063】
(ステップSP118)
マッチングサーバ16は、抽出した一地域に紐づけられている複数の施設Sのゲームサーバ10の通信接続情報としてそれぞれのIPアドレスをサーバリスト80Aから取得する。続いて、マッチングサーバ16は、一地域に紐づけられている複数の施設Sのゲームサーバ10と、第二端末装置14との間の通信速度を測定する測定指示を当該第二端末装置14に出力(送信)する。なお、この測定指示には、マッチングサーバ16が取得した各IPアドレスを含む。そして、処理は、ステップSP120の処理に移行する。
【0064】
(ステップSP120)
第二端末装置14は、マッチングサーバ16から測定指示を受信する。これに応答して、第二端末装置14は、測定指示に含まれる各IPアドレスに基づき、当該第二端末装置14と、一地域に紐づけられている複数の施設Sのゲームサーバ10との間の通信速度をそれぞれ測定する。続いて、第二端末装置14は、ステップSP106にて選択を受け付けたゲームプログラムの識別情報と、本ステップSP120にて測定した通信速度の測定結果と、を含む検索要求をマッチングサーバ16に送信する。そして、処理は、ステップSP122の処理に移行する。
【0065】
(ステップSP122)
マッチングサーバ16は、第二端末装置14から検索要求を受信する。これに応答して、マッチングサーバ16の検索手段82は、受信した検索要求に含まれる通信速度の測定結果に基づき、一地域に紐づけられている複数の施設Sのゲームサーバ10の中から、予め定められた推奨通信速度を満たすものを検索し、その検索結果とIPアドレスをリストにして、接続先候補リストを生成する。そして、処理は、ステップSP124の処理に移行する。
【0066】
(ステップSP124)
検索手段82は、生成した接続先候補リストに含まれる接続先の各ゲームサーバ10に対してその稼働状況の問い合わせ要求を送信する。そして、処理は、ステップSP126の処理に移行する。
【0067】
(ステップSP126)
各ゲームサーバ10は、マッチングサーバ16から問い合わせ要求を受信する。これに応答して、各ゲームサーバ10は、現在又は/及び将来の稼働状況(稼働予約状況)をマッチングサーバ16に送信する。そして、処理は、ステップSP128の処理に移行する。
【0068】
(ステップSP128)
マッチングサーバ16は、各ゲームサーバ10から、稼働状況を受信する。これに応答して、検索手段82は、稼働状況に基づき、接続先候補リストを更新する。続いて、マッチングサーバ16の接続指示手段84は、接続先候補リストのゲームサーバ10の中から最も性能が低いゲームサーバから優先して使用(接続)するよう第二端末装置14に指示できるように、接続先候補リストを更新する。具体的には、接続指示手段84は、接続先候補リストのゲームサーバ10の中から性能が低いゲームサーバから順となるように更新する。この接続先候補リストには、少なくとも二つ以上の互いに性能が異なるゲームサーバ10が記述されている。そして、処理はステップSP130の処理に移行する。
【0069】
(ステップSP130)
接続指示手段84は、接続先候補リストを含む接続指示を要求元の第二端末装置14に送信する。そして、処理は、ステップSP200の処理に移行する。
【0070】
【0071】
(ステップSP200)
第二端末装置14は、マッチングサーバ16から接続指示を受信する。これに応答して、第二端末装置14は、接続指示に含まれている接続先候補リストに最初に記述されているゲームサーバ10から順番に、言い換えれば、接続候補リストの中で最も性能が低いゲームサーバ10から順番に、そのIPアドレスに基づき、通信接続の確立を試みる。以下では、第二端末装置14は、最も性能が低いゲームサーバ10との間で通信接続が確立し、この通信接続が確立したゲームサーバ10を一のゲームサーバ10Aとして説明する。そして、処理は、ステップSP202の処理に移行する。
【0072】
(ステップSP202)
第二端末装置14は、ユーザによるゲームのプレイ料金の支払いを受け付けて、所定数のクレジットをユーザに付与した後、ゲームの実行要求を一のゲームサーバ10Aに送信する。そして、処理は、ステップSP204の処理に移行する。
【0073】
(ステップSP204)
一のゲームサーバ10Aは、第二端末装置14から実行要求を受信する。これに応答して、一のゲームサーバ10Aは、ゲームプログラムの種類に応じてユーザのクレジットを所定数消費して、当該ゲームプログラムの実行を開始する。続いて、ゲームサーバ10は、ゲームプログラムの実行結果としてのメニュー画面データを要求元の第二端末装置14に送信する。そして、処理は、ステップSP206の処理に移行する。
【0074】
(ステップSP206)
第二端末装置14は、一のゲームサーバ10Aからメニュー画面データを受信する。これに応答して、第二端末装置14は、受信したメニュー画面データに基づき、ゲームのメニュー画面を表示装置36に表示する。そして、処理は、ステップSP208の処理に移行する。
【0075】
(ステップSP208)
第二端末装置14は、入力装置58を介して、ユーザの操作を受け付ける。これに応答して、第二端末装置14は、受け付けた操作の操作情報を一のゲームサーバ10Aに送信する。そして、処理は、ステップSP210の処理に移行する。
【0076】
(ステップSP210)
一のゲームサーバ10Aは、第二端末装置14から操作情報を受信する。これに応答して、一のゲームサーバ10Aの第一判定手段92は、ゲームプログラムの実行の状況が、予め定められた切替状況の手前の状況であるか否かを判定する。この手前の状況としては、例えば、クエストの選択を受け付けている状況、キャラクタやオブジェクトの選択を受け付けている状況、キャラクタやオブジェクトのデッキ編成を受け付けている状況など、クエストや対戦ゲーム、レースゲームなどのメインゲームの画面へ画面切替される手前の状況等が挙げられる。そして、当該判定が肯定判定された場合には処理はステップSP212の処理に移行し、当該判定が否定判定された場合には処理はステップSP214の処理に移行する。
【0077】
(ステップSP212)
一のゲームサーバ10Aの指示手段94は、ゲームプログラムの実行切替の準備指示を要求元の第二端末装置14に送信する。具体的には、指示手段94は、一のゲームサーバ10Aに比べて性能が高い他のゲームサーバ10Bが、実行手段90が実行しているゲームプログラムと同一のゲームプログラムの実行をするように指示する。そして、処理は、ステップSP222の処理に移行する。
【0078】
(ステップSP214)
一のゲームサーバ10Aの第二判定手段96は、準備指示の後において、ゲームプログラムの実行の状況が、予め定められた切替状況、すなわち、ゲームの場面が切り替わる状況であるか否かを判定する。この場面が切り替わる状況としては、例えば、クエストや対戦ゲーム、レースゲームなどのメインゲームが開始されたという状況、複雑な画面表示が開始されるという状況、ボスキャラクタとの対戦が開始されるという状況等が挙げられる。そして、当該判定が肯定判定された場合には処理はステップSP220の処理に移行し、当該判定が否定判定された場合には処理はステップSP216の処理に移行する。
【0079】
(ステップSP216)
実行手段90は、ステップSP210にて受信した操作情報に基づき、ゲームを進行し、進行結果を要求元の第二端末装置14に送信する。そして、処理は、ステップSP218の処理に移行する。
【0080】
(ステップSP218)
第二端末装置14は、ゲームサーバ10Aから進行結果を受信する。これに応答して、第二端末装置14は、進行結果を表示装置54や音出力装置56等に出力する。そして、処理は、ステップSP222の処理に移行する。
【0081】
(ステップSP220)
切替手段98は、第二判定手段96が肯定判定した場合、端末装置14に対してゲームプログラムの実行結果を送信する送信元を、実行手段90から他のゲームサーバ10Bに切り替えるように、第二端末装置14に切替指示を出力する。そして、処理は、ステップSP222の処理に移行する。
【0082】
(ステップSP222)
第二端末装置14は、一のゲームサーバ10Aから準備指示が有るか否かを判定する。そして、当該判定が肯定判定された場合には処理はステップSP224の処理に移行し、当該判定が否定判定された場合には処理はステップSP230の処理に移行する。
【0083】
(ステップSP224)
第二端末装置14は、ステップSP200にて受信した接続指示に含まれていた接続先候補リストを参照し、一のゲームサーバ10Aに比べて性能が高い他のゲームサーバ10BのIPアドレスを取得する。なお、切替後の場面における実行処理をスムーズに行う観点等から、第二端末装置14は、一のゲームサーバ10Aに比べて性能が二倍以上高い他のゲームサーバ10BのIPアドレスを取得することが好ましい。続いて、第二端末装置14は、取得したIPアドレスに基づき、他のゲームサーバ10Bとの間で通信接続を確立する。そして、処理は、ステップSP226の処理に移行する。
【0084】
(ステップSP226)
第二端末装置14は、実行手段90が実行しているゲームプログラムと同一のゲームプログラムの識別情報を含む、当該ゲームプログラムの実行要求を、通信接続を確立した他のゲームサーバ10Bに送信する。そして、処理は、ステップSP228の処理に移行する。
【0085】
(ステップSP228)
他のゲームサーバ10Bは、第二端末装置14から実行要求を受信する。これに応答して、他のゲームサーバ10Bは、実行要求に含まれる識別情報が示すゲームプログラムの実行を開始する。続いて、他のゲームサーバ10Bは、ゲームプログラムの実行を開始した旨を第二端末装置14に送信する。そして、処理は、ステップSP230の処理に移行する。
【0086】
(ステップSP230)
第二端末装置14は、一のゲームサーバ10Aから切替指示が有るか否かを判定する。そして、当該判定が肯定判定された場合には処理はステップSP232の処理に移行し、当該判定が否定判定された場合には処理はステップSP208の処理に戻る。
【0087】
(ステップSP232)
第二端末装置14は、実行手段90によるゲームの進行状況を含む、ゲームの進行要求を、ゲームプログラムを実行している他のゲームサーバ10Bに送信する。そして、処理は、ステップSP234の処理に移行する。
【0088】
(ステップSP234)
他のゲームサーバ10Bは、第二端末装置14から進行要求を受信する。これに応答して、他のゲームサーバ10Bは、現在実行しているゲームの進行状況を、進行要求に含まれる進行状況と同期させる。続いて、他のゲームサーバ10Bは、一のゲームサーバ10Aで実行されていたゲームの途中から、ゲームを進行し、その進行結果を第二端末装置14に送信する。これにより、ユーザは、ゲームが途中で途切れることなく、スムーズにゲームをプレイすることができる。そして、処理は、ステップSP236の処理に移行する。
【0089】
(ステップSP236)
第二端末装置14は、他のゲームサーバ10Bから進行結果を受信する。これに応答して、第二端末装置14は、受信した進行結果を出力する。そして、処理は、ステップSP238の処理に移行する。
【0090】
(ステップSP238)
第二端末装置14は、一のゲームサーバ10Aに開放要求を送信する。そして、処理は、ステップSP240の処理に移行する。
【0091】
(ステップSP240)
一のゲームサーバ10Aは、開放要求を受信する。これに応答して、一のゲームサーバ10Aの切替手段98は、端末装置14との通信接続を終了し、他の端末装置14と接続できるように、当該一のゲームサーバ10Aを開放する。
【0092】
<効果>
以上、本実施形態では、ユーザが操作する第二端末装置14と通信可能な一のゲームサーバ10Aが、第二端末装置14から実行要求を受け付けた場合、プログラムを実行して要求元の第二端末装置14に実行結果を送信する実行手段90と、プログラムが実行されている途中に、当該実行の状況が、予め定められた切替状況の手前の状況であるか否かを判定する第一判定手段92と、第一判定手段92が肯定判定した場合、一のゲームサーバ10Aに比べて性能が異なる他のゲームサーバ10Bがプログラムの実行をするように指示を出力する指示手段94と、指示の後において、実行の状況が、予め定められた切替状況であるか否かを判定する第二判定手段96と、第二判定手段96が肯定判定した場合、第二端末装置14に対してプログラムの実行結果を送信する送信元を、実行手段90から他のゲームサーバ10Bに切り替える切替手段98と、を備える。
この構成によれば、プログラムの実行の状況が、予め定められた切替状況である場合に、第二端末装置14に対してプログラムの実行結果を送信する送信元を、実行手段90、すなわち一のゲームサーバ10Aから性能の異なる他のゲームサーバ10に切り替えるので、ユーザにプログラムの実行結果を送信し続けることができる。ここで、一のゲームサーバ10A又は他のゲームサーバ10の性能を低くして、高い性能が必要なとき又は高い性能が必要でないときに、他のゲームサーバ10に切り替えるようにすれば、プログラムをスムーズに実行でき、ゲームサーバ10全体のコストを低減することができる。
また、プログラムが実行されている途中に、その実行の状況が、予め定められた切替状況の手前の状況である場合に、一のゲームサーバ10Aに比べて性能が異なる他のゲームサーバ10Bがプログラムの実行しておくので、いきなり、プログラムの実行結果を送信する送信元を、実行手段90、すなわち一のゲームサーバ10Aから性能の異なる他のゲームサーバ10に切り替える場合に比べて、実行結果を途切れることなくユーザに送信でき、当該ユーザにストレスを与えることを低減することができる。
【0093】
また、本実施形態では、指示手段94は、他のゲームサーバ10Bとして、一のゲームサーバ10Aに比べて性能が高いゲームサーバがプログラムの実行をするように指示を出力する。
この構成によれば、予め定められた切替状況であるときがゲームサーバとして高い性能が必要であるときに、他のゲームサーバ10Bとして、一のゲームサーバ10Aに比べて性能が高いゲームサーバがプログラムの実行をするように指示を出力することができる。したがって、一のゲームサーバ10Aを性能が低く安いものにすることができ、ゲームサーバ10全体のコストを低減することができる。また、予め定められた切替状況の手前の状況でないときには、性能が低い一のゲームサーバ10Aを稼働させることで、性能の高い他のゲームサーバ10Bのリソースを節約することができる。
【0094】
また、本実施形態では、指示手段94は、他のゲームサーバ10Bとして、一のゲームサーバ10Aに比べて性能が低いゲームサーバ10Bがプログラムの実行をするように指示を出力する。
この構成によれば、予め定められた切替状況であるときがゲームサーバとして高い性能が必要でないときに、他のゲームサーバ10Bとして、一のゲームサーバ10Aに比べて性能が低いゲームサーバがプログラムの実行をするように指示を出力することができる。したがって、他のゲームサーバ10Bを性能が低く安いものにすることができ、ゲームサーバ10全体のコストを低減することができる。
【0095】
また、本実施形態では、切替手段98は、送信元を、実行手段90から他のゲームサーバ10Bに切り替えた後に、一のゲームサーバ10Aとの通信接続を終了する。
この構成によれば、一のゲームサーバ10Aが端末装置14から開放され、他の端末装置14と通信して新たなゲームが実行できるようになるので、一のゲームサーバ10Aを効率よく稼働させることができる。
【0096】
また、本実施形態では、プログラムは、ゲームプログラムであり、予め定められた切替状況は、ゲームの場面が切り替わる状況を含む。
この構成によれば、ゲームの場面が切り替わる状況であれば、端末装置14に対してプログラムの実行結果を送信する送信元を、実行手段90から他のゲームサーバ10Bに切り替えたときに、実行結果の送信にタイムラグが発生したとしても、ユーザに対してストレスを与えることを低減することができる。
【0097】
また、本実施形態では、ゲームサーバ10Aを含む複数のゲームサーバ10と、マッチングサーバ16と、を備える実行切替システム1において、マッチングサーバ16は、アプリ26の識別情報を含む検索要求を第二端末装置14から受信した場合、複数のゲームサーバ10の中から、当該識別情報が示すプログラムを実行可能なゲームサーバを検索する検索手段82と、検索手段82により検索されたゲームサーバの中から、最も性能が低い情報処理装置を優先して接続するように第二端末装置14に接続指示を出力する接続指示手段84と、を備える。
この構成によれば、性能の高い他のゲームサーバ10Bのリソースを節約することができる。
【0098】
<変形例>
なお、本発明は上記実施形態に限定されるものではない。すなわち、上記実施形態に、当業者が適宜設計変更を加えたものも、本発明の特徴を備えている限り、本発明の範囲に包含される。また、上記実施形態及び後述する変形例が備える各要素は、技術的に可能な限りにおいて組み合わせることができ、これらを組み合わせたものも本発明の特徴を含む限り本発明の範囲に包含される。
【0099】
例えば、上記実施形態では、アプリ26を実行する情報処理装置がゲームサーバ10である場合を説明したが、当該情報処理装置は、データセンターに配置されるサーバ装置や、工場に配置される検査装置、車に搭載される装置、ロボットに搭載される装置等であってもよい。
【0100】
また、上記実施形態では、ゲームサーバ10がアプリ(ゲームプログラム)を実行する場合を説明したが、ゲームサーバ10の代わりに、第一端末装置12又は第二端末装置14がゲームプログラムを実行してもよい。この場合、ゲームプログラムを実行する端末装置は、実行手段90、第一判定手段92、指示手段94、第二判定手段96、切替手段08を備え、ゲームサーバ10と同様の処理を行う。そして、上記実施形態ではゲームサーバ10はゲームプログラムの実行を一のゲームサーバから他のゲームサーバ10に切り替えていたが、当該端末装置はゲームプログラムの実行を、ゲームサーバ10から端末装置、または、端末装置からゲームサーバ10に切り替えることになる。
【0101】
<付記>
本発明に係る付記は、以下を含む。
【0102】
[付記項1]
ユーザが操作する端末装置と通信可能な情報処理装置であって、
前記端末装置から実行要求を受け付けた場合、プログラムを実行して要求元の端末装置に実行結果を送信する実行手段と、
前記プログラムが実行されている途中に、当該実行の状況が、予め定められた切替状況の手前の状況であるか否かを判定する第一判定手段と、
前記第一判定手段が肯定判定した場合、前記情報処理装置に比べて前記端末装置との間の通信速度が異なる他の情報処理装置が前記プログラムの実行をするように指示を出力する指示手段と、
前記指示の後において、前記実行の状況が、前記予め定められた切替状況であるか否かを判定する第二判定手段と、
前記第二判定手段が肯定判定した場合、前記端末装置に対して前記プログラムの実行結果を送信する送信元を、前記実行手段から前記他の情報処理装置に切り替える切替手段と、
を備える情報処理装置。
【0103】
[付記項2]
前記指示手段は、前記他の情報処理装置として、前記情報処理装置に比べて前記端末装置との間の通信速度が速い情報処理装置が前記プログラムの実行をするように指示を出力する、
付記項1に記載の情報処理装置。
【0104】
[付記項3]
前記指示手段は、前記他の情報処理装置として、前記情報処理装置に比べて前記端末装置との間の通信速度が遅い情報処理装置が前記プログラムの実行をするように指示を出力する、
付記項1に記載の情報処理装置。
【符号の説明】
【0105】
10:ゲームサーバ(情報処理装置)、10A:ゲームサーバ(情報処理装置)
10B:ゲームサーバ(他の情報処理装置)、90:実行手段、92:第一判定手段、94:指示手段、96:第二判定手段、98:切替手段