IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソフトバンクモバイル株式会社の特許一覧

特許7577177システム、ゲーム管理装置、及びプログラム
<>
  • 特許-システム、ゲーム管理装置、及びプログラム 図1
  • 特許-システム、ゲーム管理装置、及びプログラム 図2
  • 特許-システム、ゲーム管理装置、及びプログラム 図3
  • 特許-システム、ゲーム管理装置、及びプログラム 図4
  • 特許-システム、ゲーム管理装置、及びプログラム 図5
  • 特許-システム、ゲーム管理装置、及びプログラム 図6
  • 特許-システム、ゲーム管理装置、及びプログラム 図7
  • 特許-システム、ゲーム管理装置、及びプログラム 図8
  • 特許-システム、ゲーム管理装置、及びプログラム 図9
  • 特許-システム、ゲーム管理装置、及びプログラム 図10
  • 特許-システム、ゲーム管理装置、及びプログラム 図11
  • 特許-システム、ゲーム管理装置、及びプログラム 図12
  • 特許-システム、ゲーム管理装置、及びプログラム 図13
  • 特許-システム、ゲーム管理装置、及びプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-10-24
(45)【発行日】2024-11-01
(54)【発明の名称】システム、ゲーム管理装置、及びプログラム
(51)【国際特許分類】
   A63F 13/358 20140101AFI20241025BHJP
   H04W 72/512 20230101ALI20241025BHJP
   H04W 28/24 20090101ALI20241025BHJP
   H04W 8/26 20090101ALI20241025BHJP
   A63F 13/79 20140101ALI20241025BHJP
【FI】
A63F13/358
H04W72/512
H04W28/24
H04W8/26 110
A63F13/79
【請求項の数】 12
(21)【出願番号】P 2023147028
(22)【出願日】2023-09-11
【審査請求日】2023-10-23
(73)【特許権者】
【識別番号】501440684
【氏名又は名称】ソフトバンク株式会社
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】平林 一輝
【審査官】嶋田 行志
(56)【参考文献】
【文献】国際公開第2023/068145(WO,A1)
【文献】特表2023-516237(JP,A)
【文献】国際公開第2021/230044(WO,A1)
【文献】国際公開第2014/147835(WO,A1)
【文献】特表2012-533937(JP,A)
【文献】特開平06-205010(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F13/00-A63F13/98
A63F 9/00-A63F 9/34
H04W 4/00-H04W99/00
YouTube
IEEE Xplore
JSTPlus/JST7580/JSTChina(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
複数の通信端末と、
オンラインゲームを管理するゲーム管理装置と
を備え、
前記複数の通信端末の各通信端末は
前記オンラインゲームの画像をレンダリングするレンダリング部と、
前記レンダリング部がレンダリングした前記オンラインゲームの前記画像を表示する表示部と、
信遅延が予め定められた許容遅延時間より短くなるように通信が制御された状態で、時刻同期サーバから時刻情報を受信する第1時刻情報受信部と、
前記第1時刻情報受信部が前記時刻情報を受信した後に入力された入力操作を示す入力操作情報を前記ゲーム管理装置に送信する第1送信部と
を有し、
前記ゲーム管理装置は、
通信遅延が予め定められた許容遅延時間より短くなるように通信が制御された状態で、前記時刻同期サーバから時刻情報を受信する第2時刻情報受信部と、
1又は複数の前記入力操作情報を受信する入力操作情報受信部と、
前記オンラインゲームのゲーム状況の判定を待機する第1待機時間の間に前記入力操作情報受信部が受信した前記1又は複数の入力操作情報に基づいて、前記ゲーム状況を判定するゲーム状況判定部と、
前記ゲーム状況判定部による前記ゲーム状況の判定結果を示す判定結果情報を前記複数の通信端末に送信する第2送信部と
を有し、
前記各通信端末は、
前記ゲーム管理装置から前記判定結果情報を受信する判定結果情報受信
をさらに有し、
前記レンダリング部は、前記判定結果情報によって示される前記ゲーム状況の前記判定結果に基づいて、前記オンラインゲームの前記画像をレンダリングする、
ステム。
【請求項2】
前記ゲーム状況判定部は、前記複数の通信端末の前記各通信端末が前記画像をレンダリングする時間間隔より長い時間間隔で前記ゲーム状況を判定し、
前記レンダリング部は、第1画像をレンダリングしてから前記第1画像の次のフレームの画像である第2画像のレンダリングを開始するまでの間に前記判定結果情報受信部が前記第2画像に対応する判定結果情報を受信した場合、前記第2画像に対応する前記判定結果情報によって示される前記ゲーム状況の判定結果に基づいて前記第2画像をレンダリングし、前記第1画像をレンダリングしてから前記第2画像のレンダリングを開始するまでの間に前記判定結果情報受信部が前記第2画像に対応する前記判定結果情報を受信しなかった場合、前記ゲーム状況を予測し、前記ゲーム状況の予測結果に基づいて前記第2画像をレンダリングする、
請求項1に記載のシステム。
【請求項3】
前記ゲーム状況判定部は、前記複数の通信端末の前記各通信端末が前記画像をレンダリングする時間間隔と同一の時間間隔で前記ゲーム状況を判定する、請求項1に記載のシステム。
【請求項4】
前記ゲーム管理装置は、
前記ゲーム管理装置の前記許容遅延時間に基づいて、前記第1待機時間を設定する設定部
をさらに有し、
前記ゲーム状況判定部は、前記設定部によって設定された前記第1待機時間の間に前記入力操作情報受信部が受信した前記1又は複数の入力操作情報に基づいて、前記ゲーム状況を判定する、
請求項1から3のいずれか一項に記載のシステム。
【請求項5】
前記第1送信部は、前記レンダリング部が前記画像をレンダリングした後に前記入力操作を待機する第2待機時間の間に前記入力操作が入力された場合、前記第2待機時間の間に入力された前記入力操作を示す前記入力操作情報を前記ゲーム管理装置に送信し、前記第2待機時間の間に前記入力操作が入力されなかった場合、前記第2待機時間の間に前記入力操作が入力されなかったことを示す未入力操作情報を前記ゲーム管理装置に送信し、
前記ゲーム状況判定部は、前記入力操作情報受信部が前記複数の通信端末の前記各通信端末から前記入力操作情報又は前記未入力操作情報を受信したことに応じて、前記1又は複数の入力操作情報に基づいて前記ゲーム状況を判定する、
請求項1から3のいずれか一項に記載のシステム。
【請求項6】
前記第1送信部は、前記オンラインゲームに参加する場合、前記オンラインゲームへの参加を要求する参加要求を前記ゲーム管理装置に送信し、
前記ゲーム管理装置は、
前記参加要求を受信した場合において、前記参加要求を送信した前記通信端末が前記時刻同期サーバから前記時刻情報を受信しており、且つ、前記参加要求の通信遅延が前記通信端末の前記許容遅延時間より短い場合に、前記通信端末の前記オンラインゲームへの参加を許可すると判定する参加判定部
をさらに有する、請求項1から3のいずれか一項に記載のシステム。
【請求項7】
複数の前記オンラインゲームを管理する前記ゲーム管理装置は、
前記オンラインゲームの種類に基づいて、前記第1待機時間を設定する設定部
をさらに有し、
前記ゲーム状況判定部は、前記設定部によって設定された前記第1待機時間の間に前記入力操作情報受信部が受信した前記1又は複数の入力操作情報に基づいて、前記ゲーム状況を判定する、
請求項1から3のいずれか一項に記載のシステム。
【請求項8】
通信制御装置
をさらに備え、
前記通信制御装置は、
前記複数の通信端末の前記各通信端末のQoS(Quality of Service)を制御することによって、前記各通信端末の通信遅延が前記許容遅延時間より短くなるように、前記各通信端末の通信を制御する第1QoS制御部と、
前記ゲーム管理装置のQoSを制御することによって、前記ゲーム管理装置の通信遅延が前記許容遅延時間より短くなるように、前記ゲーム管理装置の通信を制御する第2QoS制御部と
を有する、請求項1から3のいずれか一項に記載のシステム。
【請求項9】
通信制御装置
をさらに備え、
前記通信制御装置は、
前記複数の通信端末の前記各通信端末に対して、前記オンラインゲームに対応するIP(Internet Protocol)アドレス空間内のIPアドレスを動的に割り当てる割当部
を有し、
前記第2送信部は、前記判定結果情報を前記IPアドレス空間にブロードキャストすることによって、前記判定結果情報を前記複数の通信端末に送信する、
請求項1から3のいずれか一項に記載のシステム。
【請求項10】
オンラインゲームを管理するゲーム管理装置であって、
通信遅延が予め定められた許容遅延時間より短くなるように通信が制御された状態で、時刻同期サーバから時刻情報を受信する時刻情報受信部と、
通信遅延が予め定められた許容遅延時間より短くなるように通信が制御された状態で前記時刻同期サーバから時刻情報を受信した複数の通信端末のうちの少なくとも1つの通信端末によって送信された、前記少なくとも1つの通信端末が前記時刻情報を受信した後に前記少なくとも1つの通信端末に入力された入力操作を示す入力操作情報を受信する入力操作情報受信部と、
前記オンラインゲームのゲーム状況の判定を待機する待機時間の間に前記入力操作情報受信部が前記少なくとも1つの通信端末から受信した前記入力操作情報に基づいて、前記ゲーム状況を判定するゲーム状況判定部と、
前記複数の通信端末に、前記ゲーム状況判定部による前記ゲーム状況の判定結果に基づいて前記オンラインゲームの画像をレンダリングさせて前記複数の通信端末の各通信端末が備える表示部に前記オンラインゲームの前記画像を表示させるべく、前記ゲーム状況の前記判定結果を示す判定結果情報を前記複数の通信端末に送信する送信部と
を備える、ゲーム管理装置。
【請求項11】
前記ゲーム管理装置は、MEC(Multi-access Edge Computing)サーバである、請求項10に記載のゲーム管理装置。
【請求項12】
コンピュータを、請求項10又は11に記載のゲーム管理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、システム、ゲーム管理装置、及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、ユーザにより実行される可能性がより高い行動の推論を行い、ゲームプログラムを検査することが可能なシステムが記載されている。
[先行技術文献]
[特許文献]
[特許文献1]特開2023-040035号公報
【発明の概要】
【課題を解決するための手段】
【0003】
本発明の一実施態様によれば、システムが提供される。システムは、複数の通信端末を備えてよい。システムは、オンラインゲームを管理するゲーム管理装置を備えてよい。前記複数の通信端末の各通信端末は、通信遅延が予め定められた許容遅延時間より短くなるように通信が制御された状態で、時刻同期サーバから時刻情報を受信する第1時刻情報受信部と、前記第1時刻情報受信部が前記時刻情報を受信した後に入力された入力操作を示す入力操作情報を前記ゲーム管理装置に送信する第1送信部とを有してよい。前記ゲーム管理装置は、通信遅延が予め定められた許容遅延時間より短くなるように通信が制御された状態で、前記時刻同期サーバから時刻情報を受信する第2時刻情報受信部と、1又は複数の前記入力操作情報を受信する入力操作情報受信部と、前記オンラインゲームのゲーム状況の判定を待機する第1待機時間の間に前記入力操作情報受信部が受信した前記1又は複数の入力操作情報に基づいて、前記ゲーム状況を判定するゲーム状況判定部と、前記ゲーム状況判定部による前記ゲーム状況の判定結果を示す判定結果情報を前記複数の通信端末に送信する第2送信部とを有してよい。前記各通信端末は、前記ゲーム管理装置から前記判定結果情報を受信する判定結果情報受信部と、前記判定結果情報によって示される前記ゲーム状況の前記判定結果に基づいて、前記オンラインゲームの画像をレンダリングするレンダリング部とをさらに有してよい。
【0004】
前記システムにおいて、前記ゲーム状況判定部は、前記複数の通信端末の前記各通信端末が前記画像をレンダリングする時間間隔より長い時間間隔で前記ゲーム状況を判定してよく、前記レンダリング部は、第1画像をレンダリングしてから前記第1画像の次のフレームの画像である第2画像のレンダリングを開始するまでの間に前記判定結果情報受信部が前記第2画像に対応する判定結果情報を受信した場合、前記第2画像に対応する前記判定結果情報によって示される前記ゲーム状況の判定結果に基づいて前記第2画像をレンダリングし、前記第1画像をレンダリングしてから前記第2画像のレンダリングを開始するまでの間に前記判定結果情報受信部が前記第2画像に対応する前記判定結果情報を受信しなかった場合、前記ゲーム状況を予測し、前記ゲーム状況の予測結果に基づいて前記第2画像をレンダリングしてよい。
【0005】
前記いずれかのシステムにおいて、前記ゲーム状況判定部は、前記複数の通信端末の前記各通信端末が前記画像をレンダリングする時間間隔と同一の時間間隔で前記ゲーム状況を判定してよい。
【0006】
前記いずれかのシステムにおいて、前記ゲーム管理装置は、前記ゲーム管理装置の前記許容遅延時間に基づいて、前記第1待機時間を設定する設定部をさらに有してよく、前記ゲーム状況判定部は、前記設定部によって設定された前記第1待機時間の間に前記入力操作情報受信部が受信した前記1又は複数の入力操作情報に基づいて、前記ゲーム状況を判定してよい。
【0007】
前記いずれかのシステムにおいて、前記第1送信部は、前記レンダリング部が前記画像をレンダリングした後に前記入力操作を待機する第2待機時間の間に前記入力操作が入力された場合、前記第2待機時間の間に入力された前記入力操作を示す前記入力操作情報を前記ゲーム管理装置に送信し、前記第2待機時間の間に前記入力操作が入力されなかった場合、前記第2待機時間の間に前記入力操作が入力されなかったことを示す未入力操作情報を前記ゲーム管理装置に送信してよく、前記ゲーム状況判定部は、前記入力操作情報受信部が前記複数の通信端末の前記各通信端末から前記入力操作情報又は前記未入力操作情報を受信したことに応じて、前記1又は複数の入力操作情報に基づいて前記ゲーム状況を判定してよい。
【0008】
前記いずれかのシステムにおいて、前記第1送信部は、前記オンラインゲームに参加する場合、前記オンラインゲームへの参加を要求する参加要求を前記ゲーム管理装置に送信してよく、前記ゲーム管理装置は、前記参加要求を受信した場合において、前記参加要求を送信した前記通信端末が前記時刻同期サーバから前記時刻情報を受信しており、且つ、前記参加要求の通信遅延が前記通信端末の前記許容遅延時間より短い場合に、前記通信端末の前記オンラインゲームへの参加を許可すると判定する参加判定部をさらに有してよい。
【0009】
前記いずれかのシステムにおいて、複数の前記オンラインゲームを管理する前記ゲーム管理装置は、前記オンラインゲームの種類に基づいて、前記第1待機時間を設定する設定部をさらに有してよく、前記ゲーム状況判定部は、前記設定部によって設定された前記第1待機時間の間に前記入力操作情報受信部が受信した前記1又は複数の入力操作情報に基づいて、前記ゲーム状況を判定してよい。
【0010】
前記いずれかのシステムは、通信制御装置をさらに備えてよく、前記通信制御装置は、前記複数の通信端末の前記各通信端末のQoS(Quality of Service)を制御することによって、前記各通信端末の通信遅延が前記許容遅延時間より短くなるように、前記各通信端末の通信を制御する第1QoS制御部と、前記ゲーム管理装置のQoSを制御することによって、前記ゲーム管理装置の通信遅延が前記許容遅延時間より短くなるように、前記ゲーム管理装置の通信を制御する第2QoS制御部とを有してよい。
【0011】
前記いずれかのシステムは、通信制御装置をさらに備えてよく、前記通信制御装置は、前記複数の通信端末の前記各通信端末に対して、前記オンラインゲームに対応するIP(Internet Protocol)アドレス空間内のIPアドレスを動的に割り当てる割当部を有してよく、前記第2送信部は、前記判定結果情報を前記IPアドレス空間にブロードキャストすることによって、前記判定結果情報を前記複数の通信端末に送信してよい。
【0012】
本発明の一実施態様によれば、オンラインゲームを管理するゲーム管理装置が提供される。前記ゲーム管理装置は、通信遅延が予め定められた許容遅延時間より短くなるように通信が制御された状態で、時刻同期サーバから時刻情報を受信する時刻情報受信部を備えてよい。前記ゲーム管理装置は、通信遅延が予め定められた許容遅延時間より短くなるように通信が制御された状態で前記時刻同期サーバから時刻情報を受信した複数の通信端末のうちの少なくとも1つの通信端末によって送信された、前記少なくとも1つの通信端末が前記時刻情報を受信した後に前記少なくとも1つの通信端末に入力された入力操作を示す入力操作情報を受信する入力操作情報受信部を備えてよい。前記ゲーム管理装置は、前記オンラインゲームのゲーム状況の判定を待機する待機時間の間に前記入力操作情報受信部が前記少なくとも1つの通信端末から受信した前記入力操作情報に基づいて、前記ゲーム状況を判定するゲーム状況判定部を備えてよい。前記ゲーム管理装置は、前記複数の通信端末に、前記ゲーム状況判定部による前記ゲーム状況の判定結果に基づいて前記オンラインゲームの画像をレンダリングさせるべく、前記ゲーム状況の前記判定結果を示す判定結果情報を前記複数の通信端末に送信する送信部を備えてよい。
【0013】
前記ゲーム管理装置は、MEC(Multi-access Edge Computing)サーバであってよい。
【0014】
本発明の一実施態様によれば、コンピュータを、前記ゲーム管理装置として機能させるためのプログラムが提供される。
【0015】
尚、前記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0016】
図1】システム10の一例を概略的に示す。
図2】通信端末200がオンラインゲームの画像をレンダリングする一例を説明するための説明図である。
図3】オンラインゲームで矛盾が発生する場合の一例を説明するための説明図である。
図4】オンラインゲームで矛盾が発生する場合の他の一例を説明するための説明図である。
図5】通信端末202及び通信端末204がオンラインゲームの画像をレンダリングする一例を説明するための説明図である。
図6】通信端末202及び通信端末204がオンラインゲームの画像をレンダリングする他の一例を説明するための説明図である。
図7】ゲーム管理装置100の機能構成の一例を概略的に示す。
図8】通信端末200の機能構成の一例を概略的に示す。
図9】通信制御装置300の機能構成の一例を概略的に示す。
図10】システム10の処理の流れの一例を説明するための説明図である。
図11】システム10の他の一例を概略的に示す。
図12】移動体802及び804が管制システム700による制御に従って移動する一例を説明するための説明図である。
図13】管制システム700の機能構成の一例を概略的に示す。
図14】ゲーム管理装置100、通信端末200、通信制御装置300、時刻同期サーバ400、管制システム700、又は移動体800として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。
【発明を実施するための形態】
【0017】
MMOG(Massively Multiplayer Online Game)やMOG(Multiplayer Online Game)等のマルチプレイオンラインゲームは、クライアントサーバ型のオンラインゲームである場合が多い。クライアントサーバ型のオンラインゲームでは、各クライアントは、ゲームソフトを通じて、ゲーム世界を調停するゲームサーバに対してコマンドを送信してゲームサーバによる調停結果をゲームサーバから受信する。これにより、クライアントサーバ型のオンラインゲームは、オンライン経由でのマルチプレイを実現する。しかしながら、オンライン経由でのマルチプレイにおいて、各クライアントがインターネット経由でゲームサーバと接続しており、各クライアント及びゲームサーバが全て非同期で連携するので、クライアントとゲームサーバとの間のインターネット回線の状態によっては、クライアントに入力されたコマンドがゲームサーバに到着することが遅れたり、クライアントがゲームサーバによる調停結果を受信することが遅れたりする場合がある。この場合、クライアントに入力されたコマンドがオンラインゲームに正しく反映されなかったり、ゲーム状態に矛盾が生じているオンラインゲームの画像がクライアントに表示されたり、オンラインゲームのロールバックが発生したりする。その結果、オンラインゲームのユーザの体験品質が低下する。したがって、クライアントとゲームサーバとの間のインターネット回線の品質が、オンラインゲームのユーザの体験品質に直結する一要件であるといえる。本実施形態に係るシステム10は、例えば、インターネットに出る前の各地域のネットワーク上にゲームサーバを設置し、QoS制御により通信遅延の最低保証を設定することでゲームサーバが設置されたネットワークの品質を確保し、品質が確保されたネットワーク内で各クライアントとゲームサーバとの間で高精度な時刻同期を実施する仕組みを採用する。これにより、ゲームサーバが設置された地域内のマルチプレイにおいて、矛盾の発生を限りなく抑えることが可能となる。
【0018】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0019】
図1は、システム10の一例を概略的に示す。システム10は、ゲーム管理装置100及び複数の通信端末200を備えてよい。システム10は、通信制御装置300をさらに備えてよい。システム10は、時刻同期サーバ400をさらに備えてよい。
【0020】
ゲーム管理装置100は、オンラインゲームを管理する。ゲーム管理装置100は、例えば、複数のオンラインゲームを管理する。ゲーム管理装置100は、1つのオンラインゲームのみを管理してもよい。
【0021】
ゲーム管理装置100は、任意のゲーム方式のオンラインゲームを管理する。ゲーム管理装置100は、例えば、十人~千人程度のプレイヤーの同時プレイが可能なMOGを管理する。ゲーム管理装置100は、例えば、数千人~数万人以上のプレイヤーの同時プレイすることが可能なMMOGを管理する。
【0022】
ゲーム管理装置100は、任意の種類のオンラインゲームを管理してよい。ゲーム管理装置100は、例えば、RPG(Role Playing Game)を管理する。ゲーム管理装置100は、例えば、対戦ゲームを管理する。対戦ゲームは、例えば、FPS(First Person Shooter)やTPS(Third Person Shooting)等の比較的多人数が同時にプレイするゲームである。対戦ゲームは、格闘ゲームやレーシングゲーム等の比較的小人数が同時にプレイするゲームであってもよい。ゲーム管理装置100は、例えば、アクションゲームを管理する。ゲーム管理装置100は、ボードゲームを管理してもよい。
【0023】
ゲーム管理装置100は、例えば、オンラインゲームのゲーム状況を管理する。ゲーム管理装置100は、例えば、通信端末200と通信することによって、オンラインゲームのゲーム状況を管理する。ゲーム管理装置100は、例えば、基地局50及びコアネットワーク20を介して通信端末200と通信することによって、オンラインゲームのゲーム状況を管理する。ゲーム管理装置100がクライアントサーバ型のオンラインゲームを管理する場合、ゲーム管理装置100がオンラインゲームを提供するサーバであり、通信端末200がオンラインゲームを利用するクライアントであってよい。
【0024】
例えば、ゲーム管理装置100は、通信端末200から、オンラインゲームの画像を確認した通信端末200のユーザによって通信端末200に入力された入力操作を示す入力操作情報を受信する。次に、ゲーム管理装置100は、通信端末200から受信した入力操作情報に基づいて、ゲーム状況を判定する。その後、ゲーム管理装置100は、ゲーム状況の判定結果を示す判定結果情報を通信端末200に送信する。通信端末200は、ゲーム管理装置100から受信した判定結果情報によって示されるゲーム状況の判定結果に基づいて、オンラインゲームの画像をレンダリングする。
【0025】
コアネットワーク20は、通信事業者によって提供されてよい。コアネットワーク20は、任意の移動体通信システムに準拠してよい。コアネットワークは、例えば、5G(5th Generation)通信システムに準拠してよい。コアネットワークは、6G(6th Generation)通信システム以降の移動体通信システムに準拠してもよい。コアネットワークは、3G(3rd Generation)通信システムに準拠してもよい。コアネットワークは、LTE(Long Term Evolution)通信システムに準拠してもよい。
【0026】
ゲーム管理装置100は、コアネットワーク20を介してインターネット40にアクセスすることによって、オンラインゲームを管理してもよい。例えば、ゲーム管理装置100は、外部装置から、インターネット40及びコアネットワーク20を介して、オンラインゲームの設定情報やアップデート情報等のオンラインゲームに関連する情報を受信する。ゲーム管理装置100は、外部装置から受信した情報に基づいて、オンラインゲームの設定変更やアップデートを実行する。
【0027】
ゲーム管理装置100は、例えば、通信が制御された状態で、オンラインゲームを管理する。ゲーム管理装置100は、例えば、通信遅延が予め定められた許容遅延時間より短くなるように通信が制御された状態で、オンラインゲームを管理する。
【0028】
ゲーム管理装置100は、例えば、オンラインゲームの管理を開始する前に、時刻同期サーバ400からコアネットワーク20を介して時刻情報を受信する。ゲーム管理装置100は、例えば、通信が制御された状態で、時刻同期サーバ400から時刻情報を受信する。ゲーム管理装置100は、時刻同期サーバ400から受信した時刻情報に基づいて自機の時刻情報の調整が完了した後に、オンラインゲームの管理を開始してよい。
【0029】
ゲーム管理装置100がオンラインゲームを提供する範囲は、コアネットワーク20がカバーするエリア内であれば、どのような範囲であってもよい。ゲーム管理装置100がオンラインゲームを提供する範囲の例として、eスポーツ大会の会場等の建物、市区町村、都道府県等が挙げられる。
【0030】
ゲーム管理装置100は、例えば、MECとして機能してよい。すなわち、ゲーム管理装置100は、MECサーバであってよい。
【0031】
通信端末200は、ゲーム管理装置100と通信することによってオンラインゲームに参加することが可能な端末であれば、どのような端末であってもよい。通信端末200は、例えば、スマートフォン及びタブレット端末等である。通信端末200は、例えば、ラップトップやデスクトップ等のPC(Personal Computer)である。通信端末200は、専用のゲーム機であってもよい。
【0032】
通信端末200は、例えば、通信が制御された状態で、オンラインゲームに参加する。通信端末200は、例えば、通信遅延が予め定められた許容遅延時間より短くなるように通信が制御された状態で、オンラインゲームに参加する。
【0033】
通信端末200は、例えば、オンラインゲームに参加する前に、時刻同期サーバ400からコアネットワーク20及び基地局50を介して時刻情報を受信する。通信端末200は、例えば、通信が制御された状態で、時刻同期サーバ400から時刻情報を受信する。通信端末200は、時刻同期サーバ400から受信した時刻情報に基づいて自機の時刻情報の調整が完了した後に、オンラインゲームに参加してよい。
【0034】
通信制御装置300は、制御対象の通信を制御する。通信制御装置300は、例えば、制御対象のコアネットワーク20を介した通信を制御する。
【0035】
通信制御装置300は、例えば、ゲーム管理装置100の通信を制御する。通信制御装置300は、例えば、通信端末200の通信を制御する。
【0036】
通信制御装置300は、例えば、制御対象のQoSを制御することによって、制御対象の通信を制御する。通信制御装置300は、例えば、送信対象のパケットに優先度を付けて、優先度の高いパケットをより優先させて送信する制御方法である優先制御によって、制御対象のQoSを制御する。通信制御装置300は、例えば、特定の通信が利用する帯域幅を指定する制御手法である帯域制御によって、制御対象のQoSを制御する。
【0037】
通信制御装置300は、例えば、制御対象の通信遅延を制御する。通信制御装置300は、例えば、制御対象の通信遅延が予め定められた許容遅延時間より短くなるように、制御対象の通信遅延を制御する。
【0038】
時刻同期サーバ400は、正確な時刻情報を提供することが可能であれば、どのような装置であってもよい。時刻同期サーバ400は、例えば、NTP(Network Time Protocol)サーバである。時刻同期サーバ400は、例えば、PTP(Precision Time Protocol)サーバである。時刻同期サーバ400は、原子時計であってもよい。
【0039】
時刻同期サーバ400は、例えば、時刻情報の送信が要求されたことに応じて、時刻情報を提供する。時刻同期サーバ400は、定期的に時刻情報を提供してもよい。
【0040】
時刻同期サーバ400は、例えば、ゲーム管理装置100及び通信端末200に時刻情報を提供することによって、ゲーム管理装置100と通信端末200との間の時刻同期を実行する。時刻同期サーバ400は、例えば、複数の通信端末200に時刻情報を提供することによって、複数の通信端末200の間の時刻同期を実行する。時刻同期サーバ400は、例えば、ゲーム管理装置100及び複数の通信端末200に時刻情報を提供することによって、ゲーム管理装置100と複数の通信端末200との間の時刻同期を実行する。
【0041】
時刻同期サーバ400は、例えば、時刻情報を提供する提供対象の通信が通信制御装置300によって制御された状態で時刻情報を提供する。これにより、例えば、NTPサーバである時刻同期サーバ400は、誤差が1ms以内の時刻同期を実行できる。
【0042】
ゲーム管理装置100は、例えば、通信制御装置300と同一のコアネットワーク20上に配置される。ゲーム管理装置100は、例えば、時刻同期サーバ400と同一のコアネットワーク20上に配置される。ゲーム管理装置100は、例えば、通信制御装置300及び時刻同期サーバ400と同一のコアネットワーク20上に配置される。
【0043】
図1では、オンラインゲームに用いられるシステム10の一例が示されている。システム10は、ネットワーク上に構築された仮想空間であるメタバースに用いられてもよい。この場合、メタバースを管理するメタバース管理装置は、ゲーム管理装置100と同様にして、メタバースの状況を判定し、メタバースの状況の判定結果を示す判定結果情報を通信端末200に送信してよい。メタバース管理装置は、ゲーム管理装置100の一例であってよい。
【0044】
図2は、通信端末200がオンラインゲームの画像をレンダリングする一例を説明するための説明図である。図2に示される一例では、通信端末200は、フレーム(フレームをFと省略して記載する場合がある。)1からF5までの連続する5フレームのオンラインゲームの画像をレンダリングする。
【0045】
ここでは、ゲーム管理装置100が、通信遅延が予め定められた許容遅延時間より短くなるように通信制御装置300によって通信が制御された状態で時刻同期サーバ400から時刻情報を受信した後にオンラインゲームのゲーム状況の管理を開始し、且つ、通信端末200が、通信遅延が予め定められた許容遅延時間より短くなるように通信制御装置300によって通信が制御された状態で時刻同期サーバ400から時刻情報を受信した後にオンラインゲームに参加している場合の一例を主に説明する。尚、通信端末200は、時刻tにおいて、F1の画像をレンダリングしているものとする。
【0046】
ΔTは、通信端末200がオンラインゲームの画像をレンダリングする時間間隔である。ΔTは、ゲーム管理装置100がオンラインゲームのゲーム状況を判定する時間間隔である。図2に示される一例において、通信端末200のフレームレートが60Hzであり、ゲーム管理装置100のチックレートが30Hzであるので、ΔT=2ΔTの関係が成立する。
【0047】
通信端末200は、F1の画像をレンダリングしてから不図示の待機時間の間、F1の画像を確認した通信端末200のユーザによる入力操作を待機する。図2に示される一例において、通信端末200は、その間に、F1の画像を確認した通信端末200のユーザによって入力操作が入力されているので、当該入力操作を示す入力操作情報をゲーム管理装置100に送信する。
【0048】
ゲーム管理装置100は、時刻tから時刻tまでの間、ゲーム状況の判定を待機する。図2に示される一例において、ゲーム管理装置100は、その間に、通信端末200から入力操作情報を受信する。
【0049】
通信端末200は、時刻tにおいて、F2の画像のレンダリングを開始する。図2に示される一例において、通信端末200は、F1の画像をレンダリングしてから時刻tまでの間にゲーム管理装置100から判定結果情報を受信していないので、ゲーム状況を予測し、ゲーム状況の予測結果に基づいてF2の画像をレンダリングする。
【0050】
ゲーム管理装置100は、時刻tにおいて、ゲーム状況の判定を開始する。図2に示される一例において、ゲーム管理装置100は、ゲーム状況の前回の判定結果と、時刻tから時刻tまでの間に通信端末200から受信した入力操作情報とに基づいて、ゲーム状況を判定する。ゲーム管理装置100は、時刻tにおいて、時刻tで判定を開始したゲーム状況の判定結果を示す判定結果情報を、通信端末200に送信する。
【0051】
通信端末200は、F2の画像をレンダリングしてから時刻tまでの間、F3の画像のレンダリングを待機する。図2に示される一例において、通信端末200は、その間に、ゲーム管理装置100から判定結果情報を受信する。
【0052】
通信端末200は、時刻tにおいて、F3の画像のレンダリングを開始する。図2に示される一例において、通信端末200は、F2の画像をレンダリングしてから時刻tまでの間にゲーム管理装置100から判定結果情報を受信しているので、ゲーム管理装置100から受信した判定結果情報によって示されるゲーム状況の判定結果に基づいて、F3の画像をレンダリングする。
【0053】
通信端末200は、F3の画像をレンダリングしてから不図示の待機時間の間、F3の画像を確認した通信端末200のユーザによる入力操作を待機する。図2に示される一例において、通信端末200は、その間に、F3の画像を確認した通信端末200のユーザによって入力操作が入力されているので、当該入力操作を示す入力操作情報をゲーム管理装置100に送信する。
【0054】
ゲーム管理装置100は、時刻tから時刻tまでの間、ゲーム状況の判定を待機する。図2に示される一例において、ゲーム管理装置100は、その間に、通信端末200から入力操作情報を受信する。
【0055】
通信端末200は、時刻tにおいて、F4の画像のレンダリングを開始する。図2に示される一例において、通信端末200は、F3の画像をレンダリングしてから時刻tまでの間にゲーム管理装置100から判定結果情報を受信していないので、ゲーム状況を予測し、ゲーム状況の予測結果に基づいてF4の画像をレンダリングする。
【0056】
ゲーム管理装置100は、時刻tおいて、ゲーム状況の判定を開始する。図2に示される一例において、ゲーム管理装置100は、ゲーム状況の前回の判定結果と、時刻tから時刻tまでの間に通信端末200から受信した入力操作情報とに基づいて、ゲーム状況を判定する。ゲーム管理装置100は、時刻tにおいて、時刻tで判定を開始したゲーム状況の判定結果を示す判定結果情報を、通信端末200に送信する。
【0057】
通信端末200は、F4の画像をレンダリングしてから時刻tまでの間、F5の画像のレンダリングを待機する。図2に示される一例において、通信端末200は、その間に、ゲーム管理装置100から判定結果情報を受信する。
【0058】
通信端末200は、時刻tにおいて、F5の画像のレンダリングを開始する。図2に示される一例において、通信端末200は、F4の画像をレンダリングしてから時刻tまでの間にゲーム管理装置100から判定結果情報を受信しているので、ゲーム管理装置100から受信した判定結果情報によって示されるゲーム状況の判定結果に基づいて、F5の画像をレンダリングする。
【0059】
図3は、オンラインゲームで矛盾が発生する場合の一例を説明するための説明図である。ここでは、通信端末Bとゲーム管理装置との間の時刻同期が実行されていない場合の一例を主に説明する。尚、通信端末Aは、時刻tにおいて、F1の画像をレンダリングしており、通信端末Bは、時刻tよりδt遅れた時刻t'において、F1の画像をレンダリングするものとする。図3に示される一例において、通信端末のフレームレートが60Hzであり、ゲーム管理装置のチックレートが30Hzであるので、ΔT=2ΔTの関係が成立する。
【0060】
通信端末Aは、F1の画像をレンダリングしてから不図示の待機時間の間、F1の画像を確認した通信端末Aのユーザによる入力操作を待機する。図3に示される一例において、通信端末Aは、その間に、F1の画像を確認した通信端末Aのユーザによって入力操作が入力されているので、当該入力操作を示す入力操作情報をゲーム管理装置に送信する。
【0061】
ゲーム管理装置は、時刻tから時刻tまでの間、ゲーム状況の判定を待機する。図3に示される一例において、ゲーム管理装置は、その間に、通信端末Aから入力操作情報を受信する。
【0062】
ゲーム管理装置は、時刻tにおいて、ゲーム状況の判定を開始する。図3に示される一例において、ゲーム管理装置は、ゲーム状況の前回の判定結果と、時刻tから時刻tまでの間に通信端末Aから受信した入力操作情報とに基づいて、ゲーム状況を判定する。
【0063】
通信端末Bは、時刻tより後の時刻である時刻t'において、F1の画像をレンダリングする。通信端末Bは、F1の画像をレンダリングしてから不図示の待機時間の間、F1の画像を確認した通信端末Bのユーザによる入力操作を待機する。図3に示される一例において、通信端末Bは、その間に、F1の画像を確認した通信端末Bのユーザによって入力操作が入力されているので、当該入力操作を示す入力操作情報をゲーム管理装置に送信する。
【0064】
ゲーム管理装置は、ゲーム状況の判定を開始した時刻tより後の時刻に、通信端末Bから入力操作情報を受信する。この場合、ゲーム管理装置は、通信端末Bから受信した入力操作情報に基づいてゲーム状況を判定できない。その後、ゲーム管理装置は、時刻tにおいて、時刻tで判定を開始したゲーム状況の判定結果を示す判定結果情報を、通信端末A及び通信端末Bに送信する。
【0065】
通信端末Aは、ゲーム状況を予測した予測結果に基づいてF2の画像をレンダリングしてから時刻tまでの間、F3の画像のレンダリングを待機する。図3に示される一例において、通信端末Aは、その間に、ゲーム管理装置から判定結果情報を受信する。その後、通信端末Aは、時刻tにおいて、ゲーム管理装置から受信した判定結果情報によって示されるゲーム状況の判定結果に基づいて、F3の画像のレンダリングを開始する。
【0066】
通信端末Bは、時刻t'まで、F3の画像のレンダリングを待機する。図3に示される一例において、通信端末Bは、ゲーム状況を予測した予測結果に基づいてF2の画像のレンダリングを開始した時刻t'から時刻t'までの間に、ゲーム管理装置から判定結果情報を受信する。その後、通信端末Bは、時刻t'において、ゲーム管理装置から受信した判定結果情報によって示されるゲーム状況の判定結果に基づいて、F3の画像のレンダリングを開始する。
【0067】
図3に示される一例において、通信端末Bとゲーム管理装置との間の時刻同期が実行されていないことに起因して、F1の画像を確認した通信端末Bのユーザによって入力された入力操作が、ゲーム管理装置によって判定されたゲーム状況の判定結果に反映されていない。これにより、ゲーム状況に矛盾が発生し得る。特に、通信端末Bのユーザは、自身が入力した入力操作が反映されていないオンラインゲームの画像が通信端末Bにレンダリングされるので、オンラインゲームに対して不満を抱く可能性が高い。
【0068】
図4は、オンラインゲームで矛盾が発生する場合の他の一例を説明するための説明図である。ここでは、通信端末Bの通信が制御されていない場合の一例を主に説明する。尚、通信端末A及び通信端末Bは、時刻tにおいて、F1の画像をレンダリングしているものとする。図4に示される一例において、通信端末のフレームレートが60Hzであり、ゲーム管理装置のチックレートが30Hzであるので、ΔT=2ΔTの関係が成立する。
【0069】
通信端末Aは、F1の画像をレンダリングしてから不図示の待機時間の間、F1の画像を確認した通信端末Aのユーザによる入力操作を待機する。図4に示される一例において、通信端末Aは、その間に、F1の画像を確認した通信端末Aのユーザによって入力操作が入力されているので、当該入力操作を示す入力操作情報をゲーム管理装置に送信する。
【0070】
通信端末Bは、F1の画像をレンダリングしてから不図示の待機時間の間、F1の画像を確認した通信端末Bのユーザによる入力操作を待機する。図4に示される一例において、通信端末Bは、その間に、F1の画像を確認した通信端末Bのユーザによって入力操作が入力されているので、当該入力操作を示す入力操作情報をゲーム管理装置に送信する。
【0071】
ゲーム管理装置は、時刻tから時刻tまでの間、ゲーム状況の判定を待機する。図4に示される一例において、ゲーム管理装置は、その間に、通信が制御されている通信端末Aのみから入力操作情報を受信する。
【0072】
ゲーム管理装置は、時刻tにおいて、ゲーム状況の判定を開始する。図4に示される一例において、ゲーム管理装置は、ゲーム状況の前回の判定結果と、時刻tから時刻tまでの間に通信端末Aから受信した入力操作情報とに基づいて、ゲーム状況を判定する。
【0073】
ゲーム管理装置は、ゲーム状況の判定を開始した時刻tより後の時刻に、通信端末Bから入力操作情報を受信する。この場合、ゲーム管理装置は、通信端末Bから受信した入力操作情報に基づいてゲーム状況を判定できない。その後、ゲーム管理装置は、時刻tにおいて、時刻tで判定を開始したゲーム状況の判定結果を示す判定結果情報を、通信端末A及び通信端末Bに送信する。
【0074】
通信端末Aは、ゲーム状況を予測した予測結果に基づいてF2の画像をレンダリングしてから時刻tまでの間、F3の画像のレンダリングを待機する。図4に示される一例において、通信端末Aは、その間に、ゲーム管理装置から判定結果情報を受信する。その後、通信端末Aは、時刻tにおいて、ゲーム管理装置から受信した判定結果情報によって示されるゲーム状況の判定結果に基づいて、F3の画像のレンダリングを開始する。
【0075】
通信端末Bは、ゲーム状況を予測した予測結果に基づいてF2の画像をレンダリングしてから時刻tまでの間、F3の画像のレンダリングを待機する。図4に示される一例において、通信端末Bは、その間に、ゲーム管理装置から判定結果情報を受信する。その後、通信端末Bは、時刻tにおいて、ゲーム管理装置から受信した判定結果情報によって示されるゲーム状況の判定結果に基づいて、F3の画像のレンダリングを開始する。
【0076】
図4に示される一例において、通信端末Bの通信が制御されていないことに起因して、F1の画像を確認した通信端末Bのユーザによって入力された入力操作が、ゲーム管理装置によって判定されたゲーム状況の判定結果に反映されていない。これにより、ゲーム状況に矛盾が発生し得る。特に、通信端末Bのユーザは、自身が入力した入力操作が反映されていないオンラインゲームの画像が通信端末Bにレンダリングされるので、オンラインゲームに対して不満を抱く可能性が高い。
【0077】
図5は、通信端末202及び通信端末204がオンラインゲームの画像をレンダリングする一例を説明するための説明図である。尚、通信端末202及び通信端末204は、通信端末200の一例であってよい。図5に示される一例において、通信端末202及び通信端末204のフレームレートが60Hzであり、ゲーム管理装置100のチックレートが30Hzであるので、ΔT=2ΔTの関係が成立する。
【0078】
ここでは、ゲーム管理装置100が、通信遅延が予め定められた許容遅延時間より短くなるように通信制御装置300によって通信が制御された状態で時刻同期サーバ400から時刻情報を受信した後にオンラインゲームのゲーム状況の管理を開始し、且つ、通信端末202及び通信端末204が、通信遅延が予め定められた許容遅延時間より短くなるように通信制御装置300によって通信が制御された状態で時刻同期サーバ400から時刻情報を受信した後にオンラインゲームに参加している場合の一例を主に説明する。尚、通信端末202及び通信端末204は、時刻tにおいて、F1の画像をレンダリングしているものとする。
【0079】
通信端末202は、F1の画像をレンダリングしてから不図示の待機時間の間、F1の画像を確認した通信端末202のユーザによる入力操作を待機する。図5に示される一例において、通信端末202は、その間に、F1の画像を確認した通信端末202のユーザによって入力操作が入力されているので、当該入力操作を示す入力操作情報をゲーム管理装置100に送信する。
【0080】
通信端末204は、F1の画像をレンダリングしてから不図示の待機時間の間、F1の画像を確認した通信端末204のユーザによる入力操作を待機する。図5に示される一例において、通信端末204は、その間に、F1の画像を確認した通信端末204のユーザによって入力操作が入力されているので、当該入力操作を示す入力操作情報をゲーム管理装置100に送信する。
【0081】
ゲーム管理装置100は、時刻tから時刻tまでの間、ゲーム状況の判定を待機する。図5に示される一例において、ゲーム管理装置100は、その間に、通信端末202及び通信端末204のそれぞれから入力操作情報を受信する。
【0082】
ゲーム管理装置100は、時刻tにおいて、ゲーム状況の判定を開始する。図5に示される一例において、ゲーム管理装置100は、時刻tから時刻tまでの間に通信端末202及び通信端末204のそれぞれから受信した入力操作情報に基づいて、ゲーム状況を判定する。その後、ゲーム管理装置100は、時刻tにおいて、時刻tで判定を開始したゲーム状況の判定結果を示す判定結果情報を、通信端末202及び通信端末204に送信する。
【0083】
通信端末202は、ゲーム状況を予測した予測結果に基づいてF2の画像をレンダリングしてから時刻tまでの間、F3の画像のレンダリングを待機する。図5に示される一例において、通信端末202は、その間に、ゲーム管理装置100から判定結果情報を受信する。その後、通信端末202は、時刻tにおいて、ゲーム管理装置100から受信した判定結果情報によって示されるゲーム状況の判定結果に基づいて、F3の画像のレンダリングを開始する。
【0084】
通信端末204は、ゲーム状況を予測した予測結果に基づいてF2の画像をレンダリングしてから時刻tまでの間、F3の画像のレンダリングを待機する。図5に示される一例において、通信端末204は、その間に、ゲーム管理装置100から判定結果情報を受信する。その後、通信端末204は、時刻tにおいて、ゲーム管理装置100から受信した判定結果情報によって示されるゲーム状況の判定結果に基づいて、F3の画像のレンダリングを開始する。
【0085】
従来のクライアントサーバ型のオンラインゲームにおいて、サーバは、サーバとの間の時刻同期が実行されていないクライアントによって送信される入力操作に基づいて、ゲーム状況を判定する場合がある。この場合、サーバと時刻同期が実行されているクライアントとサーバとの間の時刻同期が実行されていないクライアントとの間で、オンラインゲームに悪影響を及ぼす程度の時刻のずれが発生する恐れがある。そして、クライアント間で時刻のずれが発生した場合、当該クライアント間のタイムスタンプによる同期はできない。また、従来のクライアントサーバ型のオンラインゲームにおいて、クライアントがサーバと時刻同期を実行する場合、サーバ及びクライアントは、インターネットを介して、時刻同期を実行するための時刻情報を受信していた。インターネットを介して受信した時刻情報による時刻同期は、100ms~1s程度の時刻のずれが発生し得る。例えば、クライアントのフレームレートが60Hzであり、サーバのチックレートが30Hzであり、サーバがゲーム状況を判定するために必要な時間が約11msである場合において、サーバがクライアントから入力操作を受信するために、サーバがゲーム状況の判定を待機できる待機時間は約5msである。よって、クライアントが入力操作を送信するタイミングと、ゲーム状況の判定を待機するタイミングとが約10msずれたと仮定すると、サーバは、待機時間内にクライアントから入力操作を受信できない。加えて、クライアントに送信された入力操作が遅れてサーバに到達したときに、サーバは、当該入力操作がどのフレームに対応する入力操作であるのかを把握できない。よって、サーバは、当該入力操作を最新の入力操作として処理せざるを得ない。したがって、クライアントとサーバとの間の時刻同期が実行されていないことに起因して、クライアントによって送信された入力操作が、サーバによって判定されたゲーム状況の判定結果に反映されていないことによって、ゲーム状況に矛盾が発生し得る。
【0086】
また、従来のクライアントサーバ型のオンラインゲームにおいて、クライアントやサーバの通信が制御されていないので、クライアントとサーバとの間の通信の通信品質が変動し得る。よって、仮に、クライアントが入力操作を送信するタイミングと、サーバがゲーム状況の判定を待機するタイミングとがずれていない場合でも、ゲーム状況の判定を待機する待機時間内にクライアントによって送信された入力操作をサーバが受信できない可能性がある。したがって、クライアントとサーバとの間の通信の通信品質の変動に起因して、クライアントによって送信された入力操作が、サーバによって判定されたゲーム状況の判定結果に反映されていないことによって、ゲーム状況に矛盾が発生し得る。さらに、クライアントとサーバとの間の通信の通信品質が変動すると、クライアントがサーバからゲーム状況の判定結果を受信するために画像のレンダリングを待機する待機時間内に、クライアントがサーバからゲーム状況の判定結果を受信できない可能性がある。例えば、クライアントのフレームレートが60Hzであり、サーバのチックレートが30Hzである場合において、クライアントがサーバからゲーム状況の判定結果を受信できない場合、クライアントは、ゲーム状況を予測した予測結果に基づいて少なくとも連続する2フレームの画像をレンダリングしなければならない。したがって、クライアントとサーバとの間の通信の通信品質の変動に起因して、クライアントがゲーム状況を予測した予測結果とサーバがゲーム状況を判定した判定結果とが一致していないことによって、ゲーム状況に矛盾が発生する可能性が高くなる。
【0087】
例えば、クライアントの画面上のキャラクターの位置と、サーバ上の当該キャラクターの位置との間に発生した矛盾を是正する場合、当該是正に伴って、当該キャラクターがクライアントの画面上で突然に出現や消失をしたり、オンラインゲームがロールバックしたりする。その結果、当該キャラクターがまるでワープするかのような不自然な挙動し得る。これにより、オンラインゲームのユーザの体験品質が低下し得る。また、例えば、オンラインゲームが対戦ゲームである場合において、クライアントによって送信された、攻撃を回避する回避操作が、サーバによって判定されたゲーム状況の判定結果に反映されていない場合、回避操作を入力したにも関わらず、操作対象のキャラクターに攻撃が当たってしまう。これにより、オンラインゲームのユーザの体験品質が低下し得る。また、例えば、オンラインゲーム上で発生する矛盾を悪用した、アイテムや通貨を不正に複製するアイテムデュープ等の不正行為によって、オンラインゲームのユーザの体験品質が低下し得る。オンラインゲームにおいて、ユーザの体験品質の低下が、オンラインゲームのユーザ数や売上の減少を招く主な原因の1つとして挙げられる。
【0088】
ゲーム会社は、オンラインゲームのユーザの体験品質が低下し得る矛盾を未然に防ぐべく、ゲームロジックを工夫したり、クライアントの先行処理を実行したり、チックレートを高くしたりしている。しかしながら、通信インフラを保有していないゲーム会社では、クライアントとサーバとの間の高精度な時刻同期、及び、クライアントやサーバの通信の制御を実現できない。また、ゲーム会社による矛盾対策は、ゲーム会社のオンラインゲームの開発負荷の高負荷化をもたらす。以上より、ゲーム会社のオンラインゲームの開発負荷の軽減に貢献しつつ、オンラインゲームのユーザの体験品質が低下し得る矛盾を未然に防ぐことが望ましい。
【0089】
それに対して、図5に示されるシステム10の一例によれば、ゲーム管理装置100は、オンラインゲームのゲーム状況の管理を開始する前に、通信遅延が予め定められた許容遅延時間より短くなるように通信制御装置300によって通信が制御された状態で、ゲーム管理装置100が配置されているコアネットワーク20上の時刻同期サーバ400から時刻情報を受信する。また、図5に示されるシステム10の一例によれば、複数の通信端末200は、オンラインゲームに参加する前に、通信遅延が予め定められた許容遅延時間より短くなるように通信制御装置300によって通信が制御された状態で、コアネットワーク20上の時刻同期サーバ400から時刻情報を受信する。コアネットワーク20のみを介した通信は、コアネットワーク20及びインターネット40を介した通信と比較して通信環境が安定している。よって、ゲーム管理装置100及び複数の通信端末200のそれぞれが、通信遅延が予め定められた許容遅延時間より短くなるように制御された状態で、インターネット40を介することなくコアネットワーク20のみを介して時刻同期サーバ400から時刻情報を受信することによって、ゲーム管理装置100と複数の通信端末200との間の高精度な時刻同期を実現できる。これにより、複数の通信端末200が入力操作情報を送信するタイミングと、ゲーム管理装置100がゲーム状況の判定を待機するタイミングとの間のずれを抑制できる。さらに、ゲーム管理装置100及び複数の通信端末200の通信の通信遅延が予め定められた許容遅延時間より短くなるように制御されているので、ゲーム管理装置100は、ゲーム状況の判定を開始するまでに、通信端末200から入力操作情報を確実に受信でき、且つ、複数の通信端末200がオンラインゲームの画像のレンダリングを開始するまでに、複数の通信端末200に判定結果情報を確実に送信できる。加えて、ゲーム会社は、通信インフラを保有する通信事業者等に時刻同期や通信の制御を依頼するだけでよいので、ゲーム会社のオンラインゲームの開発負荷の軽減に貢献できる。以上より、図5に示されるシステム10の一例は、ゲーム会社のオンラインゲームの開発負荷の軽減に貢献しつつ、オンラインゲームのユーザの体験品質が低下し得る矛盾を未然に防ぐことができる。
【0090】
図6は、通信端末202及び通信端末204がオンラインゲームの画像をレンダリングする他の一例を説明するための説明図である。ここでは、図5に示される一例とは異なる部分を主に説明する。
【0091】
図6に示される一例において、通信端末202及び通信端末204のフレームレートが60Hzであり、ゲーム管理装置100のチックレートが60Hzである。よって、ΔT=ΔTの関係が成立する。
【0092】
通信端末202及び通信端末204は、F1の画像をレンダリングしてから不図示の待機時間の間、F1の画像を確認した各ユーザによる入力操作を待機する。図6に示される一例において、通信端末202及び通信端末204は、その間に、F1の画像を確認した各ユーザによって入力操作が入力されているので、当該入力操作を示す入力操作情報をゲーム管理装置100に送信する。
【0093】
ゲーム管理装置100は、時刻tから時刻tまでの間、ゲーム状況の判定を待機する。図6に示される一例において、ゲーム管理装置100は、その間に、通信端末202及び通信端末204のそれぞれから入力操作情報を受信する。
【0094】
ゲーム管理装置100は、時刻tにおいて、ゲーム状況の判定を開始する。図6に示される一例において、ゲーム管理装置100は、時刻tから時刻tまでの間に通信端末202及び通信端末204のそれぞれから受信した入力操作情報に基づいて、ゲーム状況を判定する。その後、ゲーム管理装置100は、時刻tにおいて、時刻tで判定を開始したゲーム状況の判定結果を示す判定結果情報を、通信端末202及び通信端末204に送信する。
【0095】
通信端末202及び通信端末204は、F1の画像をレンダリングしてから時刻tまでの間、F2の画像のレンダリングを待機する。図6に示される一例において、通信端末202及び通信端末204は、その間に、ゲーム管理装置100から判定結果情報を受信する。その後、通信端末202及び通信端末204は、時刻tにおいて、ゲーム管理装置100から受信した判定結果情報によって示されるゲーム状況の判定結果に基づいて、F2の画像のレンダリングを開始する。
【0096】
通信端末202及び通信端末204は、F2の画像をレンダリングしてから不図示の待機時間の間、F2の画像を確認した各ユーザによる入力操作を待機する。図6に示される一例において、通信端末202及び通信端末204は、その間に、F2の画像を確認した各ユーザによって入力操作が入力されているので、当該入力操作を示す入力操作情報をゲーム管理装置100に送信する。
【0097】
ゲーム管理装置100は、時刻tから時刻tまでの間、ゲーム状況の判定を待機する。図6に示される一例において、ゲーム管理装置100は、その間に、通信端末202及び通信端末204のそれぞれから入力操作情報を受信する。
【0098】
ゲーム管理装置100は、時刻tにおいて、ゲーム状況の判定を開始する。図6に示される一例において、ゲーム管理装置100は、時刻tから時刻tまでの間に通信端末202及び通信端末204のそれぞれから受信した入力操作情報に基づいて、ゲーム状況を判定する。その後、ゲーム管理装置100は、時刻tにおいて、時刻tで判定を開始したゲーム状況の判定結果を示す判定結果情報を、通信端末202及び通信端末204に送信する。
【0099】
通信端末202及び通信端末204は、F2の画像をレンダリングしてから時刻tまでの間、F3の画像のレンダリングを待機する。図6に示される一例において、通信端末202及び通信端末204は、その間に、ゲーム管理装置100から判定結果情報を受信する。その後、通信端末202及び通信端末204は、時刻tにおいて、ゲーム管理装置100から受信した判定結果情報によって示されるゲーム状況の判定結果に基づいて、F3の画像のレンダリングを開始する。
【0100】
図6に示されるシステム10の一例によれば、複数の通信端末200のそれぞれがオンラインゲームの画像をレンダリングする時間間隔と、ゲーム管理装置100がオンラインゲームのゲーム状況を判定する時間間隔とが一致している。これにより、通信端末200は、各フレームの画像をレンダリングする前にゲーム管理装置100からゲーム状況の判定結果をできるので、通信端末200は、ゲーム状況を予測する必要がない。これにより、図6に示されるシステム10の一例は、クライアントがゲーム状況を予測した予測結果とサーバがゲーム状況を判定した判定結果とが一致していないことに起因して発生し得るゲーム状況に矛盾を未然に防ぐことができる。
【0101】
図7は、ゲーム管理装置100の機能構成の一例を概略的に示す。ゲーム管理装置100は、格納部102、送信部104、時刻情報受信部106、時刻調整部108、要求受信部110、ログイン判定部112、要求応答部114、参加判定部116、割当要求部118、応答受信部119、ゲーム状況管理部120、入力操作情報受信部124、及び設定部126を備えてよい。尚、ゲーム管理装置100がこれらの全ての構成を備えることが必須とは限らない。
【0102】
格納部102は、各種情報を格納する。格納部102は、例えば、ゲーム管理装置100が管理するオンラインゲームに関連するゲーム関連情報を格納する。ゲーム関連情報は、例えば、オンラインゲームを識別するゲーム識別情報を含む。ゲーム関連情報は、例えば、オンラインゲームのゲーム方式を識別するゲーム方式識別情報を含む。ゲーム関連情報は、例えば、オンラインゲームの種類を識別するゲーム種類識別情報を含む。ゲーム関連情報は、オンラインゲームに参加している参加ユーザ数を示す参加ユーザ数情報を含んでもよい。
【0103】
格納部102は、例えば、ログイン情報を格納する。ログイン情報は、例えば、ゲーム管理装置100にログインするためのログインIDを含む。ログイン情報は、ログインIDに対応するパスワードを含む。
【0104】
格納部102は、例えば、通信端末200のIPアドレスを示すIPアドレス情報を格納する。格納部102は、例えば、ゲーム管理装置100が管理するオンラインゲームに対応するIPアドレス空間を示すIPアドレス空間情報を格納する。
【0105】
格納部102は、例えば、ゲーム管理装置100の通信の許容遅延時間を示す許容遅延時間情報を格納する。ゲーム管理装置100の通信の許容遅延時間は、例えば、5msである。
【0106】
送信部104は、各種情報を送信する。送信部104は、例えば、コアネットワーク20を介して各種情報を送信する。送信部104は、例えば、コアネットワーク20及び基地局50を介して各種情報を送信する。送信部104は、例えば、コアネットワーク20及びインターネット40を介して各種情報を送信する。
【0107】
送信部104は、例えば、ゲーム管理装置100の通信が制御された状態で各種情報を送信する。送信部104は、例えば、通信遅延が予め定められた許容遅延時間より短くなるようにゲーム管理装置100の通信が制御された状態で各種情報を送信する。
【0108】
送信部104は、例えば、各種情報を時刻同期サーバ400に送信する。送信部104は、例えば、時刻情報の送信を要求する送信要求を時刻同期サーバ400に送信する。
【0109】
送信部104は、例えば、ゲーム管理装置100がオンラインゲームの管理を開始する前に、送信要求を時刻同期サーバ400に送信する。送信部104は、ゲーム管理装置100がオンラインゲームを管理している間に、送信要求を時刻同期サーバ400に送信してもよい。
【0110】
時刻情報受信部106は、時刻同期サーバ400から時刻情報を受信する。時刻情報受信部106は、例えば、時刻同期サーバ400から、コアネットワーク20を介して、時刻情報を受信する。
【0111】
時刻情報受信部106は、例えば、ゲーム管理装置100がオンラインゲームの管理を開始する前に、時刻同期サーバ400から時刻情報を受信する。時刻情報受信部106は、ゲーム管理装置100がオンラインゲームを管理している間に、時刻同期サーバ400から時刻情報を受信してもよい。
【0112】
時刻情報受信部106は、例えば、ゲーム管理装置100の通信が制御された状態で、時刻同期サーバ400から時刻情報を受信する。時刻情報受信部106は、例えば、通信遅延が予め定められた許容遅延時間より短くなるようにゲーム管理装置100の通信が制御された状態で、時刻同期サーバ400から時刻情報を受信する。
【0113】
時刻調整部108は、ゲーム管理装置100の時刻を調整する。時刻調整部108は、例えば、ゲーム管理装置100がオンラインゲームの管理を開始する前に、ゲーム管理装置100の時刻を調整する。時刻調整部108は、ゲーム管理装置100がオンラインゲームを管理している間に、ゲーム管理装置100の時刻を調整してもよい。
【0114】
時刻調整部108は、例えば、時刻情報受信部106が時刻同期サーバ400から受信した時刻情報に基づいて、ゲーム管理装置100の時刻を調整する。時刻調整部108は、例えば、ゲーム管理装置100の時刻と時刻情報によって示される時刻との間の誤差がより少なくなるように、ゲーム管理装置100の時刻を調整する。
【0115】
要求受信部110は、各種要求を受信する。要求受信部110は、例えば、コアネットワーク20を介して各種要求を受信する。要求受信部110は、例えば、コアネットワーク20及び基地局50を介して各種要求を受信する。要求受信部110は、例えば、コアネットワーク20及びインターネット40を介して各種要求を受信する。
【0116】
要求受信部110は、例えば、通信端末200から、各種要求を受信する。要求受信部110は、例えば、通信端末200から、ゲーム管理装置100へのログインを要求するログイン要求を受信する。ログイン要求は、例えば、ログインIDを含む。ログイン要求は、例えば、パスワードを含む。要求受信部110は、例えば、通信端末200から、オンラインゲームへの参加を要求する参加要求を受信する。尚、ログイン要求及び参加要求は、1つの要求であってもよく、別々の要求であってもよい。
【0117】
ログイン判定部112は、通信端末200のゲーム管理装置100へのログインを許可するか否かを判定する。ログイン判定部112は、例えば、要求受信部110が通信端末200からログイン要求を受信したことに応じて、通信端末200のゲーム管理装置100へのログインを許可するか否かを判定する。
【0118】
ログイン判定部112は、例えば、要求受信部110が受信したログイン要求と、格納部102に格納されているログイン情報とに基づいて、当該ログイン要求を送信した通信端末200のゲーム管理装置100へのログインを許可するか否かを判定する。例えば、ログイン判定部112は、当該ログイン要求に含まれるログインIDとログイン情報に含まれるログインIDとが一致し、且つ、当該ログイン要求に含まれるパスワードと当該ログイン情報に含まれる当該ログインIDに対応するパスワードとが一致する場合、当該通信端末200のゲーム管理装置100へのログインを許可すると判定する。一方で、ログイン判定部112は、当該ログイン要求に含まれるログインIDと一致するログイン情報が格納部102に格納されていない場合、又は、当該ログイン要求に含まれるパスワードと当該ログイン情報に含まれる当該ログインIDに対応するパスワードとが一致しない場合、当該通信端末200のゲーム管理装置100へのログインを許可しないと判定する。
【0119】
要求応答部114は、要求受信部110が受信した各種要求に応答する。要求応答部114は、例えば、コアネットワーク20を介して応答を送信することによって、各種要求に応答する。要求応答部114は、例えば、コアネットワーク20及び基地局50を介して応答を送信することによって、各種要求に応答する。要求応答部114は、例えば、コアネットワーク20及びインターネット40を介して応答を送信することによって、各種要求に応答する。
【0120】
要求応答部114は、例えば、要求受信部110が通信端末200から受信した各種要求に応答する。要求応答部114は、例えば、要求受信部110が通信端末200から受信したログイン要求に応答する。例えば、要求応答部114は、ログイン要求を送信した通信端末200のゲーム管理装置100へのログインを許可するとログイン判定部112が判定した場合、当該通信端末200のゲーム管理装置100へのログインを許可することを示すログイン許可情報を当該通信端末200に送信することによって、ログイン要求に応答する。ログイン許可情報は、例えば、通信端末200が参加要求を送信する前に、時刻同期サーバ400から時刻情報を受信することを通信端末200に指示する時刻情報受信指示を含む。一方で、要求応答部114は、ログイン要求を送信した通信端末200のゲーム管理装置100へのログインを許可しないとログイン判定部112が判定した場合、当該通信端末200のゲーム管理装置100へのログインを許可しないことを示すログイン不許可情報を当該通信端末200に送信することによって、ログイン要求に応答する。
【0121】
参加判定部116は、要求受信部110によって受信された参加要求を送信した通信端末200のオンラインゲームへの参加を許可するか否かを判定する。例えば、参加判定部116は、参加要求を送信した通信端末200が時刻同期サーバ400から時刻情報を受信しており、且つ、参加要求の通信遅延が通信端末200の許容遅延時間より短い場合に、通信端末200のオンラインゲームへの参加を許可すると判定する。参加判定部116は、参加要求を送信した通信端末200が時刻同期サーバ400から時刻情報を受信していない場合、又は、参加要求の通信遅延が通信端末200の許容遅延時間より長い場合、通信端末200のオンラインゲームへの参加を許可しないと判定する。
【0122】
割当要求部118は、通信制御装置300に対して、オンラインゲームへの参加を許可すると参加判定部116が判定した通信端末200に、当該オンラインゲームに対応するIPアドレス空間内のIPアドレスを割り当てることを要求する。割当要求部118は、例えば、コアネットワーク20を介して、当該通信端末200に当該IPアドレスを割り当てることを要求する割当要求を通信制御装置300に送信することによって、通信制御装置300に対して、当該通信端末200に当該IPアドレスを割り当てることを要求する。
【0123】
応答受信部119は、各種応答を受信する。応答受信部119は、例えば、コアネットワーク20を介して各種応答を受信する。応答受信部119は、例えば、コアネットワーク20及び基地局50を介して各種応答を受信する。応答受信部119は、例えば、コアネットワーク20及びインターネット40を介して各種応答を受信する。
【0124】
応答受信部119は、例えば、通信制御装置300から各種応答を受信する。応答受信部119は、例えば、通信制御装置300から、割当要求部118によって通信制御装置300に送信された割当要求に対する応答を受信する。応答受信部119は、例えば、通信制御装置300から、割当要求によって示される通信端末200への、当該通信端末200が参加するオンラインゲームに対応するIPアドレス空間内のIPアドレスの割当が完了したことを示す割当完了応答を受信する。
【0125】
要求応答部114は、例えば、要求受信部110が通信端末200から受信した参加要求に応答する。例えば、要求応答部114は、参加要求を送信した通信端末200のオンラインゲームへの参加を許可すると参加判定部116が判定した場合、当該通信端末200のオンラインゲームへの参加を許可することを示す参加許可情報を当該通信端末200に送信することによって、参加要求に応答する。要求応答部114は、例えば、参加要求を送信した通信端末200のオンラインゲームへの参加を許可すると参加判定部116が判定し、且つ、応答受信部119が通信制御装置300から割当完了応答を受信した場合、当該参加許可情報を当該通信端末200に送信することによって、参加要求に応答する。参加許可情報は、例えば、オンラインゲームのゲーム状況を示すゲーム状況情報を含む。ゲーム状況情報は、例えば、当該通信端末200のオンラインゲームへの参加を許可すると参加判定部116が判定したタイミングのゲーム状況を示す。ゲーム状況情報は、応答受信部119が通信制御装置300から割当完了応答を受信したタイミングのゲーム状況を示してもよい。一方で、要求応答部114は、参加要求を送信した通信端末200のオンラインゲームへの参加を許可しないと参加判定部116が判定した場合、当該通信端末200のオンラインゲームへの参加を許可しないことを示す参加不許可情報を当該通信端末200に送信することによって、参加要求に応答する。
【0126】
ゲーム管理装置100は、時刻同期サーバ400から時刻情報を受信しており、且つ、参加要求の通信遅延が通信端末200の許容遅延時間より短い状態で参加要求を送信している通信端末200に対してのみ、オンラインゲームへの参加を許可する。これにより、クライアントがオンラインゲームに参加する時点で、オンラインゲームのユーザの体験品質が低下し得る矛盾をより確実に防ぐことができる。
【0127】
ゲーム状況管理部120は、オンラインゲームの状況を管理する。ゲーム状況管理部120は、例えば、定期的にオンラインゲームの状況を管理する。
【0128】
ゲーム状況管理部120は、例えば、オンラインゲームの管理を開始するときの開始状況を管理することによって、オンラインゲームの状況を管理する。ゲーム状況管理部120は、例えば、オンラインゲームの管理を開始する前に時刻調整部108がゲーム管理装置100の時刻を調整しているか否かを判定することによって、オンラインゲームの管理を開始するときの開始状況を管理する。
【0129】
例えば、ゲーム状況管理部120は、オンラインゲームの管理を開始する前に時刻調整部108がゲーム管理装置100の時刻を調整していると判定した場合、オンラインゲームの管理を開始する。一方で、ゲーム状況管理部120は、オンラインゲームの管理を開始する前に時刻調整部108がゲーム管理装置100の時刻を調整していないと判定した場合、ゲーム管理装置100の時刻を調整することを時刻調整部108に指示する。時刻調整部108は、ゲーム状況管理部120による指示に従って、ゲーム管理装置100の時刻を調整してよい。
【0130】
ゲーム状況管理部120は、例えば、オンラインゲームに参加している参加ユーザ数を管理することによって、オンラインゲームの状況を管理する。ゲーム状況管理部120は、例えば、要求応答部114が参加許可情報を通信端末200に送信したことに応じて格納部102に格納されている参加ユーザ数情報を更新することによって、オンラインゲームに参加している参加ユーザ数を管理する。ゲーム状況管理部120は、例えば、要求受信部110がオンラインゲームの参加終了を要求する終了要求を通信端末200から受信したことに応じて格納部102に格納されている参加ユーザ数情報を更新することによって、オンラインゲームに参加している参加ユーザ数を管理する。
【0131】
入力操作情報受信部124は、通信端末200から、入力操作情報を受信する。入力操作情報受信部124は、例えば、通信端末200から、コアネットワーク20及び基地局50を介して、入力操作情報を受信する。
【0132】
入力操作情報受信部124は、例えば、オンラインゲームに参加している複数の通信端末200のうちの1又は複数の通信端末200から、入力操作情報を受信する。入力操作情報受信部124は、例えば、オンラインゲームに参加している複数の通信端末200のうちの1又は複数の通信端末200から、オンラインゲームの画像をレンダリングした後に入力操作を待機する待機時間の間に入力操作が入力されなかったことを示す未入力操作情報を受信する。
【0133】
ゲーム状況管理部120は、例えば、ゲーム状況判定部125を有する。ゲーム状況判定部125は、例えば、オンラインゲームのゲーム状況を判定する。
【0134】
ゲーム状況判定部125は、例えば、ゲーム状況の判定を待機する待機時間の間に入力操作情報受信部124が受信した1又は複数の入力操作情報に基づいて、ゲーム状況を判定する。ゲーム状況判定部125は、例えば、ゲーム状況の判定を待機する待機時間の間に入力操作情報受信部124がオンラインゲームに参加している複数の通信端末200の各通信端末200から入力操作情報又は未入力操作情報を受信したことに応じて、入力操作情報受信部124が受信した1又は複数の入力操作情報に基づいてゲーム状況を判定する。
【0135】
ゲーム状況判定部125は、例えば、予め定められた時間間隔でオンラインゲームのゲーム状況を判定する。例えば、ゲーム管理装置100のチックレートが30Hzである場合、ゲーム状況判定部125は、1/30Hz≒33msの時間間隔でオンラインゲームのゲーム状況を判定する。例えば、ゲーム管理装置100のチックレートが60Hzである場合、ゲーム状況判定部125は、1/60Hz≒17msの時間間隔でオンラインゲームのゲーム状況を判定する。
【0136】
ゲーム状況判定部125は、例えば、複数の通信端末200の各通信端末200が画像をレンダリングする時間間隔より長い時間間隔でゲーム状況を判定する。例えば、各通信端末200のフレームレートが60Hzであり、ゲーム管理装置100のチックレートが30Hzである場合、ΔT=2ΔTの関係が成立する。
【0137】
ゲーム状況判定部125は、例えば、複数の通信端末200の各通信端末200が画像をレンダリングする時間間隔と同一の時間間隔でゲーム状況を判定する。例えば、各通信端末200のフレームレートが60Hzであり、ゲーム管理装置100のチックレートが60Hzである場合、ΔT=ΔTの関係が成立する。
【0138】
送信部104は、例えば、ゲーム状況判定部125によるゲーム状況の判定結果を示す判定結果情報を、オンラインゲームに参加している複数の通信端末200に送信する。送信部104は、例えば、当該複数の通信端末200に、ゲーム状況判定部125によるゲーム状況の判定結果に基づいてオンラインゲームの画像をレンダリングさせるべく、判定結果情報を当該複数の通信端末200に送信する。
【0139】
送信部104は、例えば、格納部102に格納されている各種情報に基づいて、判定結果情報を当該複数の通信端末200に送信する。送信部104は、例えば、格納部102に格納されているIPアドレス情報に基づいて判定結果情報をユニキャストすることによって、判定結果情報を当該複数の通信端末200に送信する。
【0140】
送信部104は、例えば、格納部102に格納されているIPアドレス情報に基づいて判定結果情報をマルチキャストすることによって、判定結果情報を当該複数の通信端末200に送信する。サーバが判定結果情報を複数のクライアントにマルチキャストすることで、サーバが判定結果情報を複数のクライアントの各クライアントにユニキャストする場合と比較して、サーバの物理リソースや通信リソースを節約できる。
【0141】
送信部104は、判定結果情報を、格納部102に格納されているIPアドレス空間情報によって示されるIPアドレス空間にブロードキャストすることによって、判定結果情報を当該複数の通信端末200に送信してもよい。この場合、ゲーム管理装置100は、判定結果情報をマルチキャストするために必要な判定結果情報の複製処理を実行することなく、判定結果情報を当該複数の通信端末200に送信できる。したがって、サーバが判定結果情報を複数のクライアントにブロードキャストすることで、サーバが判定結果情報を複数のクライアントの各クライアントにユニキャストする場合やサーバが判定結果情報を複数のクライアントにマルチキャストする場合と比較して、サーバの物理リソースや通信リソースを節約できる。
【0142】
送信部104は、当該複数の通信端末200の各通信端末200宛の判定結果情報を通信制御装置300に送信してもよい。この場合、送信部104は、当該判定結果情報をユニキャストすることによって、当該判定結果情報を通信制御装置300に送信してよい。
【0143】
設定部126は、各種設定を実行する。設定部126は、例えば、ゲーム管理装置100がオンラインゲームの管理を開始する前に、各種設定を実行する。設定部126は、ゲーム管理装置100がオンラインゲームを管理している間に、各種設定を実行してもよい。
【0144】
設定部126は、例えば、ゲーム状況判定部125がゲーム状況の判定を待機する待機時間を設定する。ゲーム状況判定部125は、設定部126によって設定された待機時間の間に入力操作情報受信部124が受信した1又は複数の入力操作情報に基づいて、ゲーム状況を判定してよい。
【0145】
設定部126は、例えば、格納部102に格納されている各種情報に基づいて、待機時間を設定する。設定部126は、例えば、ゲーム管理装置100の許容遅延時間情報によって示されるゲーム管理装置100の許容遅延時間に基づいて、待機時間を設定する。設定部126は、例えば、ゲーム管理装置100の許容遅延時間が短いほど待機時間が短くなるように、待機時間を設定する。例えば、ゲーム管理装置100の許容遅延時間が5msである場合、設定部126は、待機時間を5msに設定する。
【0146】
設定部126は、例えば、ゲーム種類識別情報によって識別されるオンラインゲームの種類に基づいて、待機時間を設定する。設定部126は、例えば、対戦ゲームの待機時間がRPGの待機時間より短くなるように、待機時間を設定する。設定部126は、例えば、比較的小人数が同時にプレイする対戦ゲームの待機時間が比較的多人数が同時にプレイする対戦ゲームの待機時間より短くなるように、待機時間を設定する。
【0147】
設定部126は、例えば、ゲーム方式識別情報によって識別されるゲーム方式に基づいて、待機時間を設定する。設定部126は、例えば、MOGの遅延時間がMMOGの遅延時間より短くなるように、待機時間を設定する。
【0148】
設定部126は、例えば、参加ユーザ数情報によって示される、オンラインゲームに参加している参加ユーザ数に基づいて、待機時間を設定する。設定部126は、例えば、同一のオンラインゲームにおいて、参加ユーザ数が少ないほど待機時間が短くなるように、待機時間を設定する。設定部126は、ゲーム識別情報によって識別されるオンラインゲームに基づいて、待機時間を設定してもよい。
【0149】
設定部126は、例えば、ゲーム状況判定部125がゲーム状況を判定する時間間隔を設定する。ゲーム状況判定部125は、設定部126によって設定された時間間隔でゲーム状況を判定してよい。
【0150】
設定部126は、例えば、ゲーム状況判定部125がゲーム状況の判定を待機する待機時間に基づいて、時間間隔を設定する。設定部126は、例えば、ゲーム状況判定部125がゲーム状況の判定を待機する待機時間が短いほど時間間隔が短くなるように、時間間隔を設定する。
【0151】
図8は、通信端末200の機能構成の一例を概略的に示す。通信端末200は、入力部212、送信部214、応答受信部216、時刻情報受信部218、時刻調整部220、判定結果情報受信部222、レンダリング部224、表示部226、及び設定部228を備えてよい。尚、通信端末200がこれらの全ての構成を備えることが必須とは限らない。
【0152】
入力部212は、通信端末200のユーザによる入力操作を受け付ける。入力部212は、例えば、ゲーム管理装置100にログインするための入力操作を受け付ける。入力部212は、例えば、ゲーム管理装置100が管理するオンラインゲームに参加するための入力操作を受け付ける。入力部212は、例えば、オンラインゲームの画像を確認した通信端末200のユーザによる入力操作を受け付ける。
【0153】
入力部212は、例えば、通信端末200に組み込まれている。入力部212は、通信端末200に外付けされてもよい。
【0154】
入力部212は、例えば、ボタンである。入力部212は、例えば、キーボードである。入力部212は、例えば、マウスである。入力部212は、例えば、ゲームコントローラである。
【0155】
送信部214は、各種情報を送信する。送信部214は、例えば、基地局50及びコアネットワーク20を介して各種情報を送信する。
【0156】
送信部214は、例えば、通信端末200の通信が制御された状態で各種情報を送信する。送信部214は、例えば、通信遅延が予め定められた許容遅延時間より短くなるように通信端末200の通信が制御された状態で各種情報を送信する。
【0157】
送信部214は、例えば、各種情報をゲーム管理装置100に送信する。送信部214は、例えば、通信端末200のユーザによって入力部212に入力された入力操作を示す入力操作情報をゲーム管理装置100に送信する。送信部214は、例えば、ゲーム管理装置100にログインする場合、ログイン要求をゲーム管理装置100に送信する。送信部214は、例えば、ゲーム管理装置100が管理するオンラインゲームに参加する場合、参加要求をゲーム管理装置100に送信する。送信部214は、例えば、オンラインゲームの参加を終了する場合、終了要求をゲーム管理装置100に送信する。
【0158】
送信部214は、例えば、各種情報を時刻同期サーバ400に送信する。送信部214は、例えば、時刻情報の送信を要求する送信要求を時刻同期サーバ400に送信する。
【0159】
送信部214は、例えば、通信端末200がゲーム管理装置100にログインする前に、送信要求を時刻同期サーバ400に送信する。送信部214は、例えば、通信端末200がオンラインゲームに参加する前に、送信要求を時刻同期サーバ400に送信する。送信部214は、通信端末200がオンラインゲームに参加している間に、送信要求を時刻同期サーバ400に送信してもよい。
【0160】
応答受信部216は、各種応答を受信する。応答受信部216は、例えば、コアネットワーク20及び基地局50を介して各種応答を受信する。
【0161】
応答受信部216は、例えば、ゲーム管理装置100から各種応答を受信する。応答受信部216は、例えば、ゲーム管理装置100から、送信部214によってゲーム管理装置100に送信されたログイン要求に対応する応答を受信する。応答受信部216は、例えば、ゲーム管理装置100から、ログイン許可情報を受信する。ログイン許可情報が時刻情報受信指示を含む場合、送信部214は、時刻情報受信指示による指示に従って、送信要求を時刻同期サーバ400に送信する。応答受信部216は、例えば、ゲーム管理装置100から、ログイン不許可情報を受信する。
【0162】
応答受信部216は、例えば、ゲーム管理装置100から、送信部214によってゲーム管理装置100に送信された参加要求に対する応答を受信する。応答受信部216は、例えば、ゲーム管理装置100から、参加許可情報を受信する。応答受信部216は、例えば、ゲーム管理装置100から、参加不許可情報を受信する。
【0163】
時刻情報受信部218は、時刻同期サーバ400から時刻情報を受信する。時刻情報受信部218は、例えば、時刻同期サーバ400から、コアネットワーク20を介して、時刻情報を受信する。
【0164】
時刻情報受信部218は、例えば、通信端末200がゲーム管理装置100にログインする前に、時刻同期サーバ400から時刻情報を受信する。時刻情報受信部218は、例えば、通信端末200がオンラインゲームに参加する前に、時刻同期サーバ400から時刻情報を受信する。時刻情報受信部218は、通信端末200がオンラインゲームに参加している間に、時刻同期サーバ400から時刻情報を受信してもよい。
【0165】
時刻情報受信部218は、例えば、通信端末200の通信が制御された状態で、時刻同期サーバ400から時刻情報を受信する。時刻情報受信部218は、例えば、通信遅延が予め定められた許容遅延時間より短くなるように通信端末200の通信が制御された状態で、時刻同期サーバ400から時刻情報を受信する。
【0166】
入力部212は、時刻情報受信部218が時刻同期サーバ400から時刻情報を受信した後に通信端末200のユーザによって入力された入力操作を受け付けてよい。送信部214は、時刻情報受信部218が時刻同期サーバ400から時刻情報を受信した後に通信端末200のユーザによって入力部212に入力された入力操作を示す入力操作情報をゲーム管理装置100に送信してよい。
【0167】
時刻調整部220は、通信端末200の時刻を調整する。時刻調整部220は、例えば、通信端末200がゲーム管理装置100にログインする前に、通信端末200の時刻を調整する。時刻調整部220は、例えば、通信端末200がオンラインゲームに参加する前に、通信端末200の時刻を調整する。時刻調整部220は、通信端末200がオンラインゲームに参加している間に、通信端末200の時刻を調整してもよい。
【0168】
時刻調整部220は、例えば、時刻情報受信部218が時刻同期サーバ400から受信した時刻情報に基づいて、通信端末200の時刻を調整する。時刻調整部220は、例えば、通信端末200の時刻と時刻情報によって示される時刻との間の誤差がより少なくなるように、通信端末200の時刻を調整する。
【0169】
判定結果情報受信部222は、ゲーム管理装置100から判定結果情報を受信する。判定結果情報受信部222は、例えば、ゲーム管理装置100から、コアネットワーク20及び基地局50を介して、判定結果情報を受信する。
【0170】
レンダリング部224は、オンラインゲームの画像をレンダリングする。レンダリング部224は、レンダリングしたオンラインゲームの画像を表示部226に表示させてよい。
【0171】
入力部212及び表示部226は、一体であってもよい。この場合、表示部226は、タッチパネルディスプレイであってよい。
【0172】
レンダリング部224は、例えば、通信端末200がオンラインゲームに参加したことに応じて、オンラインゲームの画像のレンダリングを開始する。レンダリング部224は、例えば、応答受信部216がゲーム管理装置100から参加許可情報を受信したことに応じて、オンラインゲームの画像のレンダリングを開始する。
【0173】
レンダリング部224は、例えば、通信端末200がオンラインゲームに参加する前に時刻調整部220が通信端末200の時刻を調整しているか否かを判定する。例えば、レンダリング部224は、通信端末200がオンラインゲームに参加する前に時刻調整部220が通信端末200の時刻を調整していると判定した場合、オンラインゲームの画像のレンダリングを開始する。一方で、レンダリング部224は、通信端末200がオンラインゲームに参加する前に時刻調整部220が通信端末200の時刻を調整していないと判定した場合、通信端末200の時刻を調整することを時刻調整部220に指示する。時刻調整部220は、レンダリング部224による指示に従って、通信端末200の時刻を調整してよい。
【0174】
レンダリング部224は、例えば、予め定められた時間間隔でオンラインゲームの画像をレンダリングする。例えば、通信端末200のフレームレートが60Hzである場合、レンダリング部224は、1/60Hz≒17msの時間間隔でオンラインゲームの画像をレンダリングする。
【0175】
レンダリング部224は、例えば、判定結果情報受信部222がゲーム管理装置100から受信した判定結果情報によって示されるゲーム状況の判定結果に基づいて、オンラインゲームの画像をレンダリングする。レンダリング部224は、例えば、ゲーム状況を予測した予測結果に基づいて、オンラインゲームの画像をレンダリングする。
【0176】
レンダリング部224は、例えば、レンダリング部224が画像をレンダリングする時間間隔及びゲーム管理装置100がゲーム状況を判定する時間間隔にさらに基づいて、オンラインゲームの画像をレンダリングする。例えば、レンダリング部224が画像をレンダリングする時間間隔が、ゲーム管理装置100がゲーム状況を判定する時間間隔と同一の時間間隔である場合、レンダリング部224は、ゲーム状況の判定結果のみに基づいて、オンラインゲームの画像をレンダリングする。
【0177】
一方で、レンダリング部224が画像をレンダリングする時間間隔が、ゲーム管理装置100がゲーム状況を判定する時間間隔より短い時間間隔である場合、レンダリング部224は、ゲーム状況の判定結果と、ゲーム状況を予測した予測結果とに基づいて、オンラインゲームの画像をレンダリングする。例えば、レンダリング部224は、第1画像をレンダリングしてから第1画像の次のフレームの画像である第2画像のレンダリングを開始するまでの間に判定結果情報受信部222が第2画像に対応する判定結果情報を受信した場合、第2画像に対応する判定結果情報によって示されるゲーム状況の判定結果に基づいて第2画像をレンダリングし、第1画像をレンダリングしてから第2画像のレンダリングを開始するまでの間に判定結果情報受信部222が第2画像に対応する判定結果情報を受信しなかった場合、ゲーム状況を予測し、ゲーム状況の予測結果に基づいて第2画像をレンダリングする。レンダリング部224は、第2画像をレンダリングするためにゲーム状況を予測する場合、第1画像をレンダリングしたときのゲーム状況と、第1画像をレンダリングしてから第2画像のレンダリングを開始するまでの間に通信端末200のユーザによって入力部212に入力された入力操作とに基づいて、ゲーム状況を予測してよい。
【0178】
レンダリング部224は、例えば、第1画像をレンダリングしてから予め定められた待機時間の間、第2画像のレンダリングの開始を待機する。レンダリング部224は、当該待機時間の間に判定結果情報受信部222がゲーム管理装置100から判定結果情報を受信した場合、当該判定結果情報によって示されるゲーム状況の判定結果に基づいて第2画像をレンダリングしてよい。第2画像に対応する判定結果情報は、当該待機時間の間に判定結果情報受信部222がゲーム管理装置100から受信した判定結果情報であってよい。
【0179】
例えば、送信部214は、レンダリング部224が画像をレンダリングした後に通信端末200のユーザによる入力操作を待機する待機時間の間に当該入力操作が入力された場合、当該待機時間の間に入力された当該入力操作を示す入力操作情報をゲーム管理装置100に送信する。一方で、送信部214は、当該待機時間の間に当該入力操作が入力されなかった場合、当該待機時間の間に当該入力操作が入力されなかったことを示す未入力操作情報をゲーム管理装置100に送信してもよい。送信部214は、当該待機時間の間に当該入力操作が入力されなかった場合、ゲーム管理装置100に何も送信しなくてもよい。
【0180】
設定部228は、各種設定を実行する。設定部228は、例えば、通信端末200がゲーム管理装置100にログインする前に、各種設定を実行する。設定部228は、例えば、通信端末200がオンラインゲームに参加する前に、各種設定を実行する。設定部228は、通信端末200がオンラインゲームに参加している間に、各種設定を実行してもよい。
【0181】
設定部228は、例えば、第1画像をレンダリングしてから第1画像の次のフレームの画像である第2画像のレンダリングの開始を待機する待機時間を設定する。レンダリング部224は、第1画像をレンダリングしてから設定部228によって設定された当該待機時間の間、第2画像のレンダリングの開始を待機した後に、第2画像のレンダリングを開始してよい。
【0182】
設定部228は、例えば、通信端末200の許容遅延時間に基づいて、当該待機時間を設定する。設定部228は、例えば、通信端末200の許容遅延時間が短いほど当該待機時間が短くなるように、当該待機時間を設定する。例えば、通信端末200の許容遅延時間が5msである場合、設定部228は、当該待機時間を5msに設定する。
【0183】
設定部228は、例えば、レンダリング部224がオンラインゲームの画像をレンダリングする時間間隔に基づいて、当該待機時間を設定する。設定部228は、例えば、レンダリング部224がオンラインゲームの画像をレンダリングする時間間隔が短いほど当該待機時間が短くなるように、当該待機時間を設定する。
【0184】
設定部228は、例えば、レンダリング部224がオンラインゲームの画像をレンダリングするために必要な処理時間に基づいて、当該待機時間を設定する。設定部228は、例えば、当該処理時間が短いほど当該待機時間が長くなるように、当該待機時間を設定する。
【0185】
設定部228は、例えば、レンダリング部224が画像をレンダリングした後に通信端末200のユーザによる入力操作を待機する待機時間を設定する。設定部228は、例えば、通信端末200の許容遅延時間に基づいて、当該待機時間を設定する。設定部228は、例えば、通信端末200の許容遅延時間が短いほど当該待機時間が短くなるように、当該待機時間を設定する。送信部214は、設定部228によって設定された当該待機時間の間の入力操作情報又は未入力操作情報をゲーム管理装置100に送信してよい。
【0186】
図9は、通信制御装置300の機能構成の一例を概略的に示す。通信制御装置300は、格納部310、受信部320、通信制御部330、及び送信部340を備えてよい。尚、通信制御装置300がこれらの全ての構成を備えることが必須とは限らない。
【0187】
格納部310は、各種情報を格納する。格納部310は、例えば、ゲーム管理装置100の通信の許容遅延時間情報を格納する。格納部310は、例えば、通信端末200の通信の許容遅延時間を示す許容遅延時間情報を格納する。
【0188】
格納部310は、例えば、ゲーム管理装置100が管理するオンラインゲームに対応するIPアドレス空間情報を格納する。格納部310は、ゲーム管理装置100のIPアドレスと、オンラインゲームに参加している複数の通信端末200の各通信端末200のIPアドレスとを対応付けて格納してもよい。
【0189】
受信部320は、各種情報を受信する。受信部320は、例えば、コアネットワーク20を介して各種情報を受信する。
【0190】
受信部320は、例えば、ゲーム管理装置100から各種情報を受信する。受信部320は、例えば、ゲーム管理装置100から割当要求を受信する。受信部320は、例えば、ゲーム管理装置100から、オンラインゲームに参加している複数の通信端末200の各通信端末200宛の判定結果情報を受信する。
【0191】
通信制御部330は、制御対象の通信を制御する。通信制御部330は、例えば、コアネットワーク20がカバーするエリア内に位置する制御対象の通信を制御する。
【0192】
通信制御部330は、例えば、ゲーム管理装置100の通信を制御する。通信制御部330は、例えば、通信端末200の通信を制御する。
【0193】
通信制御部330は、例えば、第1QoS制御部332を有する。通信制御部330は、例えば、第2QoS制御部334を有する。通信制御部330は、例えば、割当部336を有する。通信制御部330は、例えば、設定部338を有する。
【0194】
第1QoS制御部332は、通信端末200の通信を制御する。第1QoS制御部332は、例えば、複数の通信端末200の各通信端末200の通信を制御する。
【0195】
第1QoS制御部332は、例えば、通信端末200の通信遅延が、格納部310に格納されている、通信端末200の通信の許容遅延時間情報によって示される許容遅延時間より短くなるように、通信端末200の通信を制御する。第1QoS制御部332は、例えば、通信端末200のQoSを制御することによって、通信端末200の通信遅延が当該許容遅延時間より短くなるように、通信端末200の通信を制御する。
【0196】
第1QoS制御部332は、例えば、優先制御によって、通信端末200のQoSを制御する。第1QoS制御部332は、帯域制御によって、通信端末200のQoSを制御してもよい。
【0197】
第2QoS制御部334は、ゲーム管理装置100の通信を制御する。第2QoS制御部334は、例えば、ゲーム管理装置100の通信遅延が、格納部310に格納されている、ゲーム管理装置100の通信の許容遅延時間情報によって示される許容遅延時間より短くなるように、ゲーム管理装置100の通信を制御する。第2QoS制御部334は、例えば、ゲーム管理装置100のQoSを制御することによって、ゲーム管理装置100の通信遅延が当該許容遅延時間より短くなるように、ゲーム管理装置100の通信を制御する。
【0198】
第2QoS制御部334は、例えば、優先制御によって、ゲーム管理装置100のQoSを制御する。第2QoS制御部334は、帯域制御によって、ゲーム管理装置100のQoSを制御してもよい。
【0199】
割当部336は、IPアドレスを割り当てる。割当部336は、例えば、IPアドレスを動的に割り当てる。
【0200】
割当部336は、例えば、受信部320がゲーム管理装置100から割当要求を受信したことに応じて、割当要求によって示される通信端末200にIPアドレスを動的に割り当てる。割当部336は、例えば、通信端末200に、格納部310に格納されているIPアドレス空間情報によって示される、ゲーム管理装置100が管理するオンラインゲームに対応するIPアドレス空間内のIPアドレスを動的に割り当てる。
【0201】
設定部338は、各種設定を実行する。設定部338は、例えば、受信部320がゲーム管理装置100から受信した、オンラインゲームに参加している複数の通信端末200の各通信端末200宛の判定結果情報の宛先IPアドレスを設定する。設定部338は、例えば、ゲーム管理装置100のIPアドレスに対応付けられて格納部310に格納されている当該各通信端末200のIPアドレスを当該判定結果情報の宛先IPアドレスに設定する。
【0202】
送信部340は、各種情報を送信する。送信部340は、例えば、コアネットワーク20を介して各種情報を送信する。送信部340は、例えば、コアネットワーク20及び基地局50を介して各種情報を送信する。
【0203】
送信部340は、例えば、ゲーム管理装置100に各種情報を送信する。送信部340は、例えば、ゲーム管理装置100に割当完了応答を送信する。
【0204】
送信部340は、例えば、オンラインゲームに参加している複数の通信端末200に各種情報を送信する。送信部340は、例えば、当該複数の通信端末200に、受信部320がゲーム管理装置100から受信した判定結果情報を送信する。送信部340は、例えば、当該通信端末200の各通信端末200に、設定部338によって設定された宛先IPアドレスに従って当該判定結果情報を送信することによって、当該複数の通信端末200に当該判定結果情報を送信する。
【0205】
図10は、システム10の処理の流れの一例を説明するための説明図である。ここでは、ゲーム管理装置100が時刻同期サーバ400から時刻情報を受信していない状態を開始状態として説明する。
【0206】
ステップ(ステップをSと省略して記載する場合がある。)102において、送信部104は、コアネットワーク20を介して、送信要求を時刻同期サーバ400に送信する。S104において、時刻情報受信部106は、コアネットワーク20を介して、S102で送信部104が送信した送信要求を受信した時刻同期サーバ400によって送信された時刻情報を受信する。時刻調整部108は、時刻情報受信部106が時刻同期サーバ400から受信した時刻情報に基づいてゲーム管理装置100の時刻を調整してよい。
【0207】
S106において、送信部214は、基地局50及びコアネットワーク20を介して、ログイン要求をゲーム管理装置100に送信する。ログイン判定部112は、要求受信部110が通信端末200からログイン要求を受信したことに応じて、ログイン要求と、格納部102に格納されているログイン情報とに基づいて、通信端末200のゲーム管理装置100へのログインを許可するか否かを判定する。ここでは、通信端末200のゲーム管理装置100へのログインを許可するとログイン判定部112が判定したものとして、説明を続ける。
【0208】
S108において、要求応答部114は、コアネットワーク20及び基地局50を介して、ログイン許可情報を通信端末200に送信する。S110において、送信部214は、S108で応答受信部216がゲーム管理装置100から受信したログイン許可情報に含まれる時刻情報受信指示による指示に従って、基地局50及びコアネットワーク20を介して、送信要求を時刻同期サーバ400に送信する。S112において、時刻情報受信部218は、コアネットワーク20及び基地局50を介して、S110で送信部214が送信した送信要求を受信した時刻同期サーバ400によって送信された時刻情報を受信する。時刻調整部220は、時刻情報受信部218が時刻同期サーバ400から受信した時刻情報に基づいて通信端末200の時刻を調整してよい。
【0209】
S114において、送信部214は、S112で時刻情報受信部218が時刻同期サーバ400から時刻情報を受信したことに応じて、基地局50及びコアネットワーク20を介して、参加要求をゲーム管理装置100に送信する。S116において、参加判定部116は、S114で要求受信部110が通信端末200から参加要求を受信したに応じて、通信端末200のオンラインゲームへの参加を許可するか否かを判定する。ここでは、通信端末200のオンラインゲームへの参加を許可すると参加判定部116が判定したものとして、説明を続ける。
【0210】
S118において、割当要求部118は、S116で通信端末200のオンラインゲームへの参加を許可すると参加判定部116が判定したことに応じて、コアネットワーク20を介して、割当要求を通信制御装置300に送信する。S120において、割当部336は、S118で受信部320がゲーム管理装置100から割当要求を受信したことに応じて、割当要求によって示される通信端末200に、格納部310に格納されているIPアドレス空間情報によって示されるIPアドレス空間内のIPアドレスを動的に割り当てる。S122において、送信部340は、コアネットワーク20を介して、ゲーム管理装置100に割当完了応答を送信する。
【0211】
S124において、要求応答部114は、S122で応答受信部119が通信制御装置300から割当完了応答を受信したことに応じて、コアネットワーク20及び基地局50を介して、参加許可情報を通信端末200に送信する。通信端末200は、応答受信部216がゲーム管理装置100から参加許可情報を受信したことに応じて、オンラインゲームへの参加を開始する。S126において、レンダリング部224は、S124で応答受信部216がゲーム管理装置100から受信した参加許可情報に含まれるゲーム状況情報によって示されるオンラインゲームのゲーム状況に基づいて、オンラインゲームの画像のレンダリングを開始する。ここでは、ゲーム管理装置100のチックレートが30Hzであり、通信端末200のフレームレートが60Hzであるものとして、説明を続ける。
【0212】
S128において、送信部214は、基地局50及びコアネットワーク20を介して、S126でレンダリング部224がレンダリングした画像を確認した通信端末200のユーザによって入力部212に入力された入力操作を示す入力操作情報を、ゲーム管理装置100に送信する。S130において、ゲーム状況判定部125は、S128で入力操作情報受信部124が通信端末200から受信した入力操作情報に基づいて、オンラインゲームのゲーム状況を判定する。S132において、レンダリング部224は、S126で画像をレンダリングしてから次のフレームの画像のレンダリングを開始するまでの間に判定結果情報受信部222がゲーム管理装置100から判定結果情報を受信していないので、ゲーム状況を予測し、ゲーム状況の予測結果に基づいて画像をレンダリングする。
【0213】
S134において、送信部104は、コアネットワーク20及び基地局50を介して、S130でゲーム状況判定部125が判定したゲーム状況の判定結果を示す判定結果情報を通信端末200に送信する。判定結果情報受信部222は、ゲーム管理装置100から判定結果情報を受信する。S136において、レンダリング部224は、S132で画像をレンダリングしてから次のフレームの画像のレンダリングを開始するまでの間に判定結果情報受信部222がゲーム管理装置100から判定結果情報を受信しているので、判定結果情報によって示されるゲーム状況の判定結果に基づいて画像をレンダリングする。その後、レンダリング部224は、通信端末200がオンラインゲームに参加している間、ゲーム状況の判定結果に基づく画像のレンダリングと、ゲーム状況の予測結果に基づく画像のレンダリングとを繰り返す。
【0214】
S138において、送信部214は、基地局50及びコアネットワーク20を介して、終了要求をゲーム管理装置100に送信する。ゲーム状況管理部120は、要求受信部110が終了要求を受信したことに応じて、通信端末200のオンラインゲームの参加の終了処理を実行する。S140において、要求応答部114は、S138でゲーム状況管理部120による終了処理が完了したことに応じて、コアネットワーク20及び基地局50を介して、終了完了応答を通信端末200に送信する。その後、システム10の処理が終了する。
【0215】
図11は、システム10の他の一例を概略的に示す。ここでは、図1に示されるシステム10とは異なる部分を主に説明する。
【0216】
システム10は、管制システム700を備えてよい。システム10は、複数の移動体800を備えてよい。
【0217】
管制システム700は、移動体800を制御する。管制システム700は、例えば、移動体800の移動を制御する。
【0218】
管制システム700は、例えば、移動体800を制御する制御信号を移動体800に送信することによって、移動体800を制御する。管制システム700は、例えば、コアネットワーク20及び基地局50を介して、制御信号を移動体800に送信する。
【0219】
管制システム700は、例えば、衝突を回避するように、移動体800を制御する。管制システム700は、例えば、他の移動体800との衝突を回避するように、移動体800を制御する。管制システム700は、例えば、建物や人等の移動体800の周囲の物体との衝突を回避するように、移動体800を制御する。
【0220】
管制システム700は、例えば、通信が制御された状態で、移動体800を制御する。管制システム700は、例えば、通信遅延が予め定められた許容遅延時間より短くなるように通信が制御された状態で、移動体800を制御する。
【0221】
管制システム700は、例えば、移動体800の制御を開始する前に、時刻同期サーバ400からコアネットワーク20を介して時刻情報を受信する。管制システム700は、例えば、通信が制御された状態で、時刻同期サーバ400から時刻情報を受信する。管制システム700は、時刻同期サーバ400から受信した時刻情報に基づいて自機の時刻情報の調整が完了した後に、移動体800の制御を開始してよい。
【0222】
管制システム700が移動体800を制御する範囲は、コアネットワーク20がカバーするエリア内であれば、どのような範囲であってもよい。管制システム700が移動体800を制御する範囲の例として、市区町村、都道府県等が挙げられる。
【0223】
移動体800は、管制システム700による制御に従って移動することが可能な移動体であれば、どのような端末であってもよい。移動体800は、例えば、航空機である。航空機は、例えば、いわゆるドローン等の無人航空機である。航空機は、有人航空機であってもよい。移動体800は、例えば、車両である。車両は、例えば、自動運転車両である。車両は、無人車両であってもよく、有人車両であってもよい。移動体800は、船舶であってもよい。船舶は、例えば、自動運転船舶である。船舶は、無人船舶であってもよく、有人船舶であってもよい。
【0224】
移動体800は、例えば、通信が制御された状態で、管制システム700による制御に従って移動する。移動体800は、例えば、通信遅延が予め定められた許容遅延時間より短くなるように通信が制御された状態で、管制システム700による制御に従って移動する。
【0225】
移動体800は、例えば、管制システム700による制御に従って移動を開始する前に、時刻同期サーバ400からコアネットワーク20及び基地局50を介して時刻情報を受信する。移動体800は、例えば、通信が制御された状態で、時刻同期サーバ400から時刻情報を受信する。移動体800は、時刻同期サーバ400から受信した時刻情報に基づいて自機の時刻情報の調整が完了した後に、管制システム700による制御に従って移動を開始してよい。
【0226】
移動体800は、例えば、管制システム700による制御に従って移動している間、移動体800に搭載されている1又は複数のセンサが取得したセンサデータを、管制システム700に送信する。移動体800は、例えば、基地局50及びコアネットワーク20を介して、センサデータを管制システム700に送信する。管制システム700は、移動体800から受信したセンサデータに基づいて、移動体800の制御信号を生成してよい。
【0227】
移動体800は、例えば、通信が制御された状態で、センサデータを管制システム700に送信する。移動体800は、例えば、通信遅延が予め定められた許容遅延時間より短くなるように通信が制御された状態で、センサデータを管制システム700に送信する。
【0228】
センサは、移動体800の移動に関連するデータを取得することが可能なセンサであれば、どのようなセンサであってもよい。センサは、例えば、移動体800の位置を示す位置データを取得する位置センサである。センサは、例えば、移動体800の角度を示す角度データを取得する角度センサである。センサは、例えば、移動体800の速度を示す速度データを取得する速度センサである。センサは、例えば、移動体800の加速度を示す加速度データ取得する加速度センサである。
【0229】
通信制御装置300は、例えば、管制システム700の通信を制御する。通信制御装置300は、例えば、移動体800の通信を制御する。
【0230】
時刻同期サーバ400は、例えば、管制システム700及び移動体800に時刻情報を提供することによって、管制システム700と移動体800との間の時刻同期を実行する。時刻同期サーバ400は、例えば、複数の移動体800に時刻情報を提供することによって、複数の移動体800の間の時刻同期を実行する。時刻同期サーバ400は、例えば、管制システム700及び複数の移動体800に時刻情報を提供することによって、管制システム700と複数の移動体800との間の時刻同期を実行する。
【0231】
管制システム700は、例えば、通信制御装置300と同一のコアネットワーク20上に配置される。管制システム700は、例えば、時刻同期サーバ400と同一のコアネットワーク20上に配置される。管制システム700は、例えば、通信制御装置300及び時刻同期サーバ400と同一のコアネットワーク20上に配置される。
【0232】
図12は、移動体802及び804が管制システム700による制御に従って移動する一例を説明するための説明図である。尚、移動体802及び移動体804は、移動体800の一例であってよい。
【0233】
ここでは、管制システム700が、通信遅延が予め定められた許容遅延時間より短くなるように通信制御装置300によって通信が制御された状態で時刻同期サーバ400から時刻情報を受信した後に移動体802及び移動体804の制御を開始し、且つ、移動体802及び移動体804が、通信遅延が予め定められた許容遅延時間より短くなるように通信制御装置300によって通信が制御された状態で時刻同期サーバ400から時刻情報を受信した後に管制システム700による制御に従った移動を開始している場合の一例を主に説明する。尚、移動体802及び移動体804は、時刻tにおいて、管制システム700から受信した制御信号に基づいて移動しているものとする。
【0234】
ΔTは、移動体800が自機の制御内容を決定する時間間隔である。ΔTは、管制システム700が移動体800の制御信号を生成する時間間隔である。図12に示される一例において、移動体802及び移動体804が自機の制御内容を決定する頻度が30Hzであり、管制システム700が移動体802及び移動体804の制御信号を生成する頻度が30Hzであるので、ΔT=ΔTの関係が成立する。
【0235】
移動体802及び移動体804は、時刻tにおいて、センサデータを管制システム700に送信する。管制システム700は、移動体802の制御信号及び移動体804の制御信号の生成を開始する時刻である時刻tまでに、時刻tにおいて移動体802及び移動体804によって送信されたセンサデータを受信する。
【0236】
管制システム700は、時刻tで制御信号の生成を待機し、時刻tにおいて、移動体802の制御信号及び移動体804の制御信号の生成を開始する。管制システム700は、時刻tから時刻tまでの間に移動体802及び移動体804のそれぞれから受信したセンサデータに基づいて、移動体802の制御信号を生成する。同様に、管制システム700は、時刻tから時刻tまでの間に移動体802及び移動体804のそれぞれから受信したセンサデータに基づいて、移動体804の制御信号を生成する。その後、管制システム700は、時刻tにおいて、時刻tで生成を開始した移動体802の制御信号を移動体802に送信し、時刻tで生成を開始した移動体804の制御信号を移動体804に送信する。
【0237】
移動体802及び移動体804は、自機の制御内容の決定を開始する時刻である時刻tまでに、時刻tにおいて管制システム700によって送信された制御信号を受信する。移動体802及び移動体804は、時刻tにおいて、自機の制御内容の決定を開始する。移動体802及び移動体804は、時刻tから時刻tまでの間に管制システム700から受信した制御信号に基づいて自機の制御内容を決定し、決定した制御内容に従って自機を制御する。
【0238】
移動体802及び移動体804は、時刻tにおいて、センサデータを管制システム700に送信する。管制システム700は、移動体802及び移動体804の制御信号の生成を開始する時刻である時刻tまでに、時刻tにおいて移動体802及び移動体804によって送信されたセンサデータを受信する。
【0239】
管制システム700は、時刻tで制御信号の生成を待機し、時刻tにおいて、移動体802の制御信号及び移動体804の制御信号の生成を開始する。管制システム700は、時刻tから時刻tまでの間に移動体802及び移動体804のそれぞれから受信したセンサデータに基づいて、移動体802の制御信号を生成する。同様に、管制システム700は、時刻tから時刻tまでの間に移動体802及び移動体804のそれぞれから受信したセンサデータに基づいて、移動体804の制御信号を生成する。その後、管制システム700は、時刻tにおいて、時刻tで生成を開始した移動体802の制御信号を移動体802に送信し、時刻tで生成を開始した移動体804の制御信号を移動体804に送信する。
【0240】
移動体802及び移動体804は、自機の制御内容の決定を開始する時刻である時刻tまでに、時刻tにおいて管制システム700によって送信された制御信号を受信する。移動体802及び移動体804は、時刻tにおいて、自機の制御内容の決定を開始する。移動体802及び移動体804は、時刻tから時刻tまでの間に管制システム700から受信した制御信号に基づいて自機の制御内容を決定し、決定した制御内容に従って自機を制御する。
【0241】
図12に示されるシステム10の一例によれば、管制システム700は、移動体800の制御を開始する前に、通信遅延が予め定められた許容遅延時間より短くなるように通信制御装置300によって通信が制御された状態で、時刻同期サーバ400から時刻情報を受信する。また、図12に示されるシステム10の一例によれば、複数の移動体800は、管制システム700による制御に従った移動を開始する前に、通信遅延が予め定められた許容遅延時間より短くなるように通信制御装置300によって通信が制御された状態で、時刻同期サーバ400から時刻情報を受信する。これにより、管制システム700と複数の移動体800との間の時刻同期が実行されているので、複数の移動体800が管制システム700にセンサデータを送信するタイミングと、管制システム700が複数の移動体800の制御信号の生成を待機するタイミングとの間のずれを抑制できる。さらに、管制システム700及び複数の移動体800の通信の通信遅延が予め定められた許容遅延時間より短くなるように制御されているので、管制システム700は、複数の移動体800の制御信号の生成を開始するまでに、複数の移動体800からセンサデータを確実に受信でき、且つ、複数の移動体800が自機の制御内容の決定を開始するまでに、複数の移動体800に制御信号を確実に送信できる。以上より、図12に示されるシステム10の一例は、移動体の移動を制御する際に、当該移動体が他の移動体や当該移動体の周囲の物体と衝突する可能性を軽減できる。
【0242】
図13は、管制システム700の機能構成の一例を概略的に示す。管制システム700は、格納部702、送信部706、時刻情報受信部708、時刻調整部710、センサデータ受信部714、及び移動体制御部716を備えてよい。尚、管制システム700がこれらの全ての構成を備えることが必須とは限らない。
【0243】
格納部702は、各種情報を格納する。格納部702は、例えば、管制システム700が管理する移動体800の移動計画を示す移動計画情報を格納する。
【0244】
送信部706は、各種情報を送信する。送信部706は、例えば、コアネットワーク20を介して各種情報を送信する。送信部706は、例えば、コアネットワーク20及び基地局50を介して各種情報を送信する。送信部706は、例えば、コアネットワーク20及びインターネット40を介して各種情報を送信する。
【0245】
送信部706は、例えば、管制システム700の通信が制御された状態で各種情報を送信する。送信部706は、例えば、通信遅延が予め定められた許容遅延時間より短くなるように管制システム700の通信が制御された状態で各種情報を送信する。
【0246】
送信部706は、例えば、各種情報を時刻同期サーバ400に送信する。送信部706は、例えば、送信要求を時刻同期サーバ400に送信する。
【0247】
送信部706は、例えば、管制システム700が移動体800の制御を開始する前に、送信要求を時刻同期サーバ400に送信する。送信部706は、管制システム700が移動体800を制御している間に、送信要求を時刻同期サーバ400に送信してもよい。
【0248】
時刻情報受信部708は、時刻同期サーバ400から時刻情報を受信する。時刻情報受信部708は、例えば、時刻同期サーバ400から、コアネットワーク20を介して、時刻情報を受信する。
【0249】
時刻情報受信部708は、例えば、管制システム700が移動体800の制御を開始する前に、時刻同期サーバ400から時刻情報を受信する。時刻情報受信部708は、管制システム700が移動体800を制御している間に、時刻同期サーバ400から時刻情報を受信してもよい。
【0250】
時刻情報受信部708は、例えば、管制システム700の通信が制御された状態で、時刻同期サーバ400から時刻情報を受信する。時刻情報受信部708は、例えば、通信遅延が予め定められた許容遅延時間より短くなるように管制システム700の通信が制御された状態で、時刻同期サーバ400から時刻情報を受信する。
【0251】
時刻調整部710は、管制システム700の時刻を調整する。時刻調整部710は、例えば、管制システム700が移動体800の制御を開始する前に、管制システム700の時刻を調整する。時刻調整部710は、管制システム700が移動体800を制御している間に、ゲーム管理装置100の時刻を調整してもよい。
【0252】
時刻調整部710は、例えば、時刻情報受信部708が時刻同期サーバ400から受信した時刻情報に基づいて、時刻調整部710の時刻を調整する。時刻調整部710は、例えば、管制システム700の時刻と時刻情報によって示される時刻との間の誤差がより少なくなるように、管制システム700の時刻を調整する。
【0253】
センサデータ受信部714は、移動体800からセンサデータを受信する。センサデータ受信部714は、例えば、移動体800から、基地局50及びコアネットワーク20を介して、センサデータを受信する。
【0254】
センサデータ受信部714は、例えば、管制システム700の通信が制御された状態で、移動体800からセンサデータを受信する。センサデータ受信部714は、例えば、通信遅延が予め定められた許容遅延時間より短くなるように管制システム700の通信が制御された状態で、移動体800からセンサデータを受信する。
【0255】
移動体制御部716は、移動体800を制御する。移動体制御部716は、例えば、複数の移動体800を制御する。
【0256】
移動体制御部716は、例えば、移動体800の制御を開始する前に時刻調整部710が管制システム700の時刻を調整しているか否かを判定する。例えば、移動体制御部716は、移動体800の制御を開始する前に時刻調整部710が管制システム700の時刻を調整していると判定した場合、移動体800の制御を開始する。一方で、移動体制御部716は、移動体800の制御を開始する前に時刻調整部710が管制システム700の時刻を調整していないと判定した場合、管制システム700の時刻を調整することを時刻調整部710に指示する。時刻調整部710は、移動体制御部716による指示に従って、管制システム700の時刻を調整してよい。
【0257】
移動体制御部716は、例えば、移動体800の制御信号を生成し、送信部706を用いて生成した制御信号を移動体800に送信することによって、移動体800を制御する。移動体制御部716は、例えば、予め定められた時間間隔で移動体800の制御信号を生成する。
【0258】
移動体制御部716は、例えば、センサデータ受信部714が受信した移動体800のセンサデータに基づいて、移動体800の制御信号を生成する。移動体制御部716は、例えば、センサデータ受信部714が受信した複数の移動体800のそれぞれのセンサデータに基づいて、移動体800の制御信号を生成する。移動体制御部716は、格納部702に格納されている移動体800の移動計画情報にさらに基づいて、移動体800の制御信号を生成してもよい。
【0259】
制御信号は、例えば、移動体800の位置を制御する位置制御信号を含む。制御信号は、例えば、移動体800の角度を制御する角度制御信号を含む。制御信号は、例えば、移動体800の速度を制御する速度制御信号を含む。制御信号は、例えば、移動体800の加速度を制御する加速度制御信号を含む。制御信号は、例えば、移動体800の移動方向を制御する移動方向制御信号を含む。制御信号は、移動体800の移動姿勢を制御する姿勢制御信号を含んでもよい。
【0260】
図14は、ゲーム管理装置100、通信端末200、通信制御装置300、時刻同期サーバ400、管制システム700、又は移動体800として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、上記実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、上記実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ1200に、上記実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
【0261】
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、及びグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ1226、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブ1226は、DVD-ROMドライブ及びDVD-RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブ及びソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230及びキーボード1242のようなレガシの入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。
【0262】
CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
【0263】
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納する。DVDドライブ1226は、プログラム又はデータをDVD-ROM1227等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。
【0264】
ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。
【0265】
プログラムは、DVD-ROM1227又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【0266】
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD-ROM1227、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0267】
また、CPU1212は、記憶装置1224、DVDドライブ1226(DVD-ROM1227)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0268】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0269】
上で説明したプログラム又はソフトウェアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
【0270】
本実施形態におけるフローチャート及びブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウェア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、及びプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、及び他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
【0271】
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0272】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
【0273】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0274】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0275】
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0276】
10 システム、20 コアネットワーク、40 インターネット、50 基地局、100 ゲーム管理装置、102 格納部、104 送信部、106 時刻情報受信部、108 時刻調整部、110 要求受信部、112 ログイン判定部、114 要求応答部、116 参加判定部、118 割当要求部、119 応答受信部、120 ゲーム状況管理部、124 入力操作情報受信部、125 ゲーム状況判定部、126 設定部、200 通信端末、202 通信端末、204 通信端末、212 入力部、214 送信部、216 応答受信部、218 時刻情報受信部、220 時刻調整部、222 判定結果情報受信部、224 レンダリング部、226 表示部、228 設定部、300 通信制御装置、310 格納部、320 受信部、330 通信制御部、332 第1QoS制御部、334 第2QoS制御部、336 割当部、338 設定部、340 送信部、400 時刻同期サーバ、700 管制システム、702 格納部、706 送信部、708 時刻情報受信部、710 時刻調整部、714 センサデータ受信部、716 移動体制御部、800 移動体、802 移動体、804 移動体、1200 コンピュータ、1210 ホストコントローラ、1212 CPU、1214 RAM、1216 グラフィックコントローラ、1218 ディスプレイデバイス、1220 入出力コントローラ、1222 通信インタフェース、1224 記憶装置、1226 DVDドライブ、1227 DVD-ROM、1230 ROM、1240 入出力チップ、1242 キーボード
【要約】      (修正有)
【課題】マルチプレイにおいて、矛盾の発生を限りなく抑える。
【解決手段】通信遅延が許容遅延時間より短くなるように通信が制御された状態で、時刻同期サーバから時刻情報を受信する時刻情報受信部と、通信遅延が許容遅延時間より短くなるように通信が制御された状態で時刻同期サーバから時刻情報を受信した複数の通信端末のうちの少なくとも1つの通信端末によって送信された、少なくとも1つの通信端末が時刻情報を受信した後に少なくとも1つの通信端末に入力された入力操作を示す入力操作情報を受信する入力操作情報受信部と、オンラインゲームのゲーム状況の判定を待機する待機時間の間に入力操作情報受信部が少なくとも1つの通信端末から受信した入力操作情報に基づいて、ゲーム状況を判定するゲーム状況判定部と、ゲーム状況の判定結果を示す判定結果情報を複数の通信端末に送信する送信部とを備える、ゲーム管理装置を提供する。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14