JP6713280B2 - 情報処理システム、及び情報処理プログラム - Google Patents
情報処理システム、及び情報処理プログラム Download PDFInfo
- Publication number
- JP6713280B2 JP6713280B2 JP2015253621A JP2015253621A JP6713280B2 JP 6713280 B2 JP6713280 B2 JP 6713280B2 JP 2015253621 A JP2015253621 A JP 2015253621A JP 2015253621 A JP2015253621 A JP 2015253621A JP 6713280 B2 JP6713280 B2 JP 6713280B2
- Authority
- JP
- Japan
- Prior art keywords
- cluster
- game
- node
- lobby
- user terminal
- 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
Links
- 230000010365 information processing Effects 0.000 title claims description 76
- 238000000034 method Methods 0.000 claims description 54
- 238000012545 processing Methods 0.000 claims description 51
- 230000008569 process Effects 0.000 claims description 48
- 238000012544 monitoring process Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims 2
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
Lobbyクラスタ及びGameクラスタを含むリアルタイムクラスタと、
Lobbyロードバランサ及びGameロードバランサを含むロードバランサ/オートスケーリングクラスタと、
APIサーバと、
Cacheクラスタと
を有し、
(A)前記リアルタイムマルチゲームの進行時には、
前記ロードバランサ/オートスケーリングクラスタから前記リアルタイムクラスタへの負荷監視が行われるとともに、前記負荷監視結果は前記Cacheクラスタに保管及び更新され、
前記Cacheクラスタと前記APIとの間で前記負荷監視結果に基づいたデータ授受が行われ、
前記ロードバランサ/オートスケーリングクラスタから前記リアルタイムクラスタに対しては、前記負荷監視結果に基づくオートスケーリング処理が行われると共に、
(B)前記複数のユーザ端末からのアクセス要求時には、
前記アクセス要求を前記APIサーバで受け付けると共に、前記APIサーバは前記Cacheクラスタとの間でLobbyノード割当調整を実施し、
前記APIサーバは、前記Lobbyノード割当調整の結果、決定されたLobbyノードを、前記アクセス要求を行ったユーザ端末に返送し、
前記アクセス要求を行ったユーザ端末は、前記決定されたLobbyノードに基づいて前記Lobbyクラスタにおける所定のサーバにアクセスし、
前記所定のサーバは、マルチプレイのためのマッチング処理を行ってroom_idを決定すると共に当該room_idを、前記アクセス要求を行ったユーザ端末に返送し、
前記APIサーバは、前記アクセス要求を行ったユーザ端末からの要求に応じて、前記Cacheクラスタと前記アクセス要求を行ったユーザ端末が利用するためのgameノードの割当調整を実施し、
前記APIサーバは、前記gameノード割当調整の結果、決定されたgameノードを、前記アクセス要求を行ったユーザ端末に返送し、
前記アクセス要求を行ったユーザ端末は、前記決定されたLobbyノード及びgameノードに基づいて、前記リアルタイムマルチゲームを進行させる
ことにより、前記APIサーバ及び前記Cacheクラスタを介したLobbyノード及びgameノード割当が実現されることを特徴とする。
なお、「ユーザ端末15a〜15c」や「Lobbyクラスタ21a〜21c」などとアルファベットを添えて複数の構成としたのは、多数の端末やサーバ群(クラスタ)で構成されていることを意図するものであって、その数(a〜cまでの3台とか、a〜dまでの4台など)を制限するものではない。
既に述べたように、本発明の特徴的な動作は、主として情報処理サーバ群において実施可能であるとともに、少なくともその一部を情報処理装置等に実施させることもできる。
また、図5中、t1〜t8は時系列の流れを示し、経時的に後述する動作や処理が行われるものである。
まず、時刻t1までの処理(図5において、不図示)を簡単に説明しておく。時刻t1までに、ユーザ(プレーヤ)は、ユーザ端末を介して情報処理サーバ群のうちのいずれかのサーバから自身のユーザ端末を本発明にかかる情報処理システムにおける情報処理装置として動作させるためのアプリケーションソフトウェアをダウンロードする。このアプリケーションソフトウェアは、本発明にかかるプログラムの少なくとも一部を処理するためのクライアントソフトウェアないしアプリケーションソフトウェアである。そして、ダウンロードしたアプリケーションソフトウェアをユーザ端末にインストールする。
そして、ユーザは情報処理装置を介して何らかのコマンドを送信する。このコマンドは、メニュー画面に表示されたメニューの選択かもしれないし、アプリケーション起動画面であれば、アプリケーションを開始するための開始コマンドの場合もある。サーバ側では、このコマンドを受けて、サービス処理を開始する。そして、サーバから端末の要求に応じたサービスが提供される。
以上が、時刻t1までの動作例である。
図5の時刻t1において、ユーザ端末からAPIサーバ及びCacheサーバを介して、Lobbyノードの取得処理が行われる(ステップS501〜ステップS503)。つまり、ユーザ端末からのLobbyノード取得要求(ステップS501)をトリガとして、当該ユーザ端末が使用するLobbyサーバの割り当て処理が行われる。このとき、APIサーバは、適宜、Cacheクラスタとのデータのやり取りを行っており(一例として、ステップS502)、APIサーバとCacheサーバとの調整の結果、時刻t2において、APIサーバを介して取得されたLobbyノードがユーザ端末へ返される(ステップS503)。
なお、Lobbyノード取得(ないし割当)についてのAPIサーバ/Cacheクラスタ間のやり取りは、時刻t1〜t2間に限られるものではなく、適宜行うことができる(図5中、破線の矢印で記した)。
また、本実施例では、ステップS501におけるLobbyノード取得要求を「ゲーム開始要求のためのトリガ」、ないしゲームに対する「アクセス要求」と位置付ける。
なお、Gameノード取得(ないし割当)についてのAPIサーバ/Cacheクラスタ間のやり取りは、時刻t5〜t6間に限られるものではなく、適宜行うことができる(図5中、破線の矢印で記した)。
Gameノード接続が成功すると、ユーザはユーザ端末を使って、ゲームを開始することができる(ゲーム開始の様子は、図5において不図示)。典型的には、リアルタイムマルチプレイゲームなどである。
図6には、独立した2つのフローチャート(A)及び(B)が示されているが、このように分けたのは、それぞれ割込み元が異なるためである。
しかしながら、本発明の一実施形態にかかる情報処理システムとしては、図6に示された2つのフローチャートによってロードバランシング処理が完結するとも言えるため、同図にまとめて示し、それぞれのフローチャートについて説明する。
すなわち、ステップS601において、本処理が開始されると、ステップS602では情報更新のための割り込みが定期的に実施される。本発明は、これに限定されるものではないが、割り込みの頻度は、数十m秒〜1秒程度(あるいはそれ以上の間隔でも良い)である。
ステップS602において、Noであれば、ステップS605に進み、システム終了かどうかの判定がなされ、Yesであれば処理を終了する(ステップS606)が、Noの場合は、ステップS602に復帰する。
そして、ステップS605に進み、その後の処理は上述のとおりである。
すなわち、ステップS631において、本処理が開始されると、ステップS632では、ユーザ端末からのエンドポイント要求があるかどうかが判断される。ステップS632において、Noであれば、ステップS634に進み、システム終了かどうかの判定がなされ、Yesであれば処理を終了する(ステップS635)が、Noの場合は、ステップS632に復帰する。
そして、ステップS635に進み、その後の処理は上述のとおりである。
本発明の一実施形態にかかる情報処理システム等のオートスケーリング処理動作の特徴は、設定した閾値に応じて、クラスタを構成するサーバを自動的に追加/削減させることであるが、追加(スケールアウト)及び削減(スケールイン)の条件を異ならせることである。例えば、追加(スケールアウト)は最短で3分に一度の頻度で実施し、削減(スケールイン)は1時間に一度の頻度で実施するなどである。もちろん、時間頻度は任意に設定可能であるが、追加(スケールアウト)の頻度よりも削減(スケールイン)の頻度のほうをより長く取ると好適である。これは、追加よりも削減のほうがシステム全体の運営上リスクを伴うことが多いためである。
以下、図7に沿って処理動作を詳述する。
以下、説明の便宜上、特定のクラスタにフォーカスしてその処理ループの1回分の説明を詳述する。
ステップS706において、Yesの場合、ステップS714に進み、スケールアウトタイマが所定値A以内であり、かつ、スケールインタイマが所定値B以内であるかどうかが判断される(所定値A及び所定Bは同じであっても良い)。
そして、ステップS704に復帰する。
ステップS706において、Noの場合、ステップS707へ進み、クラスタの負荷は閾値(上限)を越えたかどうかが判断される。ステップS707において、Yesの場合は、ステップS708へ進み、スケールアウトフラグはオンかどうかが判断される。同ステップにおいて、スケールアウトフラグはオン(Yes)の場合はステップS714へ進むが、Noの場合は、ステップS709へ進み、スケールアウトフラグをオンにして(ステップS709)、スケールアウトが行われる(ステップS710)。そして、ステップS714へ進む。なお、ステップS709とステップS710の順序はこれに限定されない。
オートスケーリング処理の基本概念として、スケールインを深夜の時間帯に実施することを述べたが、かかる判断は、一例として図7のステップS711の後に、現在時刻に基づき予め設定された深夜帯(例えば、午前1時〜午前4時間までなど)であるかどうかを判断させることができるが、その他の応用例として次のような処理を実施させることも可能である。いずれもゼロダウンタイム(ダウンタイムを限りなく短くすること)を実現するための処理である。
(2)システムにおいて、スケールインの際は、ノードへの接続な状態でのみトリガを有効とするように制御する。
11 情報処理サーバ群
111 リアルタイムクラスタ
112 ロードバランサ/オートスケーリングクラスタ
15 タブレット端末(情報処理装置の一形態)
12、13 PC(情報処理装置の一形態)
14 携帯電話(情報処理装置の一形態)
19 公衆回線(専用線、インターネット等)
21 Lobbyクラスタ
22 Gameクラスタ
23 APIサーバ
24 Lobbyロードバランサ
25 Gameロードバランサ
26 Cacheクラスタ
Claims (6)
- 複数のユーザ端末からのアクセスが可能であり、前記アクセスのあった複数のユーザ端末によるリアルタイムマルチプレイゲームを制御する情報処理システムであって、
Lobbyクラスタ及びGameクラスタを含むリアルタイムクラスタと、
Lobbyロードバランサ及びGameロードバランサを含むロードバランサ/オートスケーリングクラスタと、
APIサーバと、
Cacheクラスタと
を有し、
(A)前記リアルタイムマルチゲームの進行時には、
前記ロードバランサ/オートスケーリングクラスタから前記リアルタイムクラスタへの負荷監視が行われるとともに、前記負荷監視結果は前記Cacheクラスタに保管及び更新され、
前記Cacheクラスタと前記APIサーバとの間で前記負荷監視結果に基づいたデータ授受が行われ、
前記ロードバランサ/オートスケーリングクラスタから前記リアルタイムクラスタに対しては、前記負荷監視結果に基づくオートスケーリング処理が行われると共に、
(B)前記複数のユーザ端末からのアクセス要求時には、
前記アクセス要求を前記APIサーバで受け付けると共に、前記APIサーバは前記Cacheクラスタとの間でLobbyノード割当調整を実施し、
前記APIサーバは、前記Lobbyノード割当調整の結果、決定されたLobbyノードを、前記アクセス要求を行ったユーザ端末に返送し、
前記アクセス要求を行ったユーザ端末は、前記決定されたLobbyノードに基づいて前記Lobbyクラスタにおける所定のサーバにアクセスし、
前記所定のサーバは、マルチプレイのためのマッチング処理を行ってroom_idを決定すると共に、当該room_idを、前記アクセス要求を行ったユーザ端末に返送し、
前記APIサーバは、前記アクセス要求を行ったユーザ端末からの要求に応じて、前記Cacheクラスタと前記アクセス要求を行ったユーザ端末が利用するためのgameノードの割当調整を実施し、
前記APIサーバは、前記gameノード割当調整の結果、決定されたgameノードを、前記アクセス要求を行ったユーザ端末に返送し、
前記アクセス要求を行ったユーザ端末は、前記決定されたLobbyノード及びgameノードに基づいて、前記リアルタイムマルチゲームを進行させる
ことにより、前記APIサーバ及び前記Cacheクラスタを介したLobbyノード及びgameノード割当が実現される
ことを特徴とする情報処理システム。 - 前記負荷監視は、socket.ioプロセスにおけるコネクション数を監視するよう制御されることを特徴とする請求項1に記載のシステム。
- 前記オートスケーリング処理は、スケールインを行う時間間隔とスケールアウトを行う時間間隔とが異なるように制御される請求項1または2に記載のシステム。
- 複数のユーザ端末からのアクセスが可能であり、Lobbyクラスタ及びGameクラスタを含むリアルタイムクラスタと、Lobbyロードバランサ及びGameロードバランサを含むロードバランサ/オートスケーリングクラスタと、APIサーバと、Cacheクラスタとを有し、前記アクセスのあった複数のユーザ端末によるリアルタイムマルチプレイゲームを制御する情報処理システムで実行されるコンピュータプログラムあって、前記情報処理システム上で実行されたとき、
(A)前記リアルタイムマルチゲームの進行時には、
前記ロードバランサ/オートスケーリングクラスタに、前記リアルタイムクラスタへの負荷監視を行わせるとともに、前記負荷監視結果を前記Cacheクラスタに保管及び更新させるステップと、
前記Cacheクラスタと前記APIサーバとの間で前記負荷監視結果に基づいたデータ授受を行わせるステップと、
前記ロードバランサ/オートスケーリングクラスタに、前記リアルタイムクラスタに対する、前記負荷監視結果に基づくオートスケーリング処理を行わせるステップと、
(B)前記複数のユーザ端末からのアクセス要求時には、
前記APIサーバに、前記アクセス要求を受け付けさせると共に、前記APIサーバと前記Cacheクラスタとに、Lobbyノード割当調整を実施させるステップと、
前記APIサーバに、前記Lobbyノード割当調整の結果、決定されたLobbyノードを、前記アクセス要求を行ったユーザ端末に返送させるステップと、
前記アクセス要求を行ったユーザ端末に、前記決定されたLobbyノードに基づいて前記Lobbyクラスタにおける所定のサーバにアクセスさせるステップと、
前記所定のサーバに、マルチプレイのためのマッチング処理を行わせてroom_idを決定させると共に、当該room_idを、前記アクセス要求を行ったユーザ端末に返送させるステップと、
前記APIサーバと前記Cacheクラスタとに、前記アクセス要求を行ったユーザ端末からの要求に応じて、前記アクセス要求を行ったユーザ端末が利用するためのgameノードの割当調整を実施させるステップと、
前記APIサーバに、前記gameノード割当調整の結果、決定されたgameノードを、前記アクセス要求を行ったユーザ端末に返送させるステップと、
前記アクセス要求を行ったユーザ端末に、前記決定されたLobbyノード及びgameノードに基づいて、前記リアルタイムマルチゲームを進行させるステップと
を実行させることにより、前記APIサーバ及び前記Cacheクラスタを介したLobbyノード及びgameノード割当が実現される
ことを特徴とするプログラム。 - 前記負荷監視は、socket.ioプロセスにおけるコネクション数を監視するよう制御されることを特徴とする請求項4に記載のプログラム。
- 前記オートスケーリング処理は、スケールインを行う時間間隔とスケールアウトを行う時間間隔とが異なるように制御される請求項4または5に記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015253621A JP6713280B2 (ja) | 2015-12-25 | 2015-12-25 | 情報処理システム、及び情報処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015253621A JP6713280B2 (ja) | 2015-12-25 | 2015-12-25 | 情報処理システム、及び情報処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017113375A JP2017113375A (ja) | 2017-06-29 |
JP6713280B2 true JP6713280B2 (ja) | 2020-06-24 |
Family
ID=59231094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015253621A Active JP6713280B2 (ja) | 2015-12-25 | 2015-12-25 | 情報処理システム、及び情報処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6713280B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113368504B (zh) * | 2021-06-09 | 2023-10-17 | 咪咕互动娱乐有限公司 | 云游戏服务系统、交互方法、存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10307783A (ja) * | 1997-05-07 | 1998-11-17 | N T T Data:Kk | サイトアクセス制御システム及び記録媒体 |
EP1320799A2 (en) * | 2000-02-17 | 2003-06-25 | Acclim Entertainment, Inc. | Multi-player computer game system and method |
US20120102185A1 (en) * | 2010-10-20 | 2012-04-26 | Sony Computer Entertainment America Inc. | Resource management of server hosts in online game environment |
JP2013186745A (ja) * | 2012-03-08 | 2013-09-19 | Fuji Xerox Co Ltd | 処理システム及びプログラム |
JP2013186820A (ja) * | 2012-03-09 | 2013-09-19 | Panasonic Corp | 中継装置及び通信システム |
-
2015
- 2015-12-25 JP JP2015253621A patent/JP6713280B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017113375A (ja) | 2017-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5738870B2 (ja) | クライアントサーバシステム | |
US9146716B2 (en) | Automatic resource balancing for multi-device applications | |
CN107395658B (zh) | 离线对等辅助通知传输 | |
US20190163530A1 (en) | Computation apparatus, resource allocation method thereof, and communication system | |
JP7231655B2 (ja) | プログラム、情報処理方法、および電子機器 | |
CN105592123B (zh) | 存储管理系统、管理装置及方法 | |
US11005925B2 (en) | Load balancing with power of random choices | |
US10986172B2 (en) | Configurable connection reset for customized load balancing | |
CN116208613A (zh) | 云主机的迁移方法、装置、电子设备及存储介质 | |
JP6569692B2 (ja) | 管理サーバ、通信システム、管理サーバの制御方法、及びプログラム | |
JP5531278B2 (ja) | サーバ構成管理システム | |
JP6713280B2 (ja) | 情報処理システム、及び情報処理プログラム | |
JP2018173916A (ja) | サーバ、端末、制御システム、制御方法及びプログラム | |
JP7024211B2 (ja) | 携帯端末装置、中継装置、管理システム、通知方法、中継方法及びプログラム | |
TWI639088B (zh) | 用於機架空間功率利用的方法、系統及非暫時性電腦可讀媒體 | |
JP2015087892A (ja) | 情報処理システム | |
US9065829B2 (en) | Automatic resource balancing for multi-device applications | |
WO2020057226A1 (zh) | 算法下载方法、设备以及相关产品 | |
US20220353638A1 (en) | Location-based application discovery | |
JP2017107382A (ja) | プログラム実行システム、プログラム実行方法、および、プログラム | |
JP5412304B2 (ja) | リソース提供システム、リソース提供方法および仮想化装置 | |
CN113271351A (zh) | 一种云计算资源调度方法、装置、设备及可读存储介质 | |
US10305996B2 (en) | System, device, and method for service coordination | |
CN104317606A (zh) | 远程操作系统 | |
JP2018147257A (ja) | 仮想基盤にもとづくシステムにおけるリソース割当方法、接続管理サーバおよび接続管理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181221 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191016 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191220 |
|
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: 20200519 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200603 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6713280 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |