(57)【要約】【課題】各クライアント装置間でゲームを継続的に実行する。【解決手段】各クライアント装置は、入力を受け付けた取得要求を送信し、サーバ装置から受信した状況情報及びリビジョン番号を第２記憶手段に書込む。各クライアント装置は、第２記憶手段内の状況情報に基づいてゲームの状況を復帰させた後、ゲームを進行させる。各クライアント装置は、ゲームの進行中、入力を受け付けた指示に基づいて、ゲームの現在の状況を示す状況情報と、第２記憶手段内のアカウント情報及びリビジョン番号とを含む更新要求をサーバ装置に送信する。サーバ装置は、更新要求内のアカウント情報に基づいて、第１記憶手段から読み出したリビジョン番号と、更新要求内のリビジョン番号とが一致するか否かを判定し、両者が一致した場合には、更新要求に基づいて第１記憶手段内のリビジョン番号及び状況情報を更新し、否の場合には、更新要求を破棄する。【選択図】図１
2014023789.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの操作に応じてゲームを個別に進行可能な複数のクライアント装置と、前記各クライアント装置に通信可能なサーバ装置とを備えたゲームシステムであって、
前記サーバ装置は、
前記ゲームの状況を示す状況情報と、前記ユーザのアカウント情報と、前記状況情報のリビジョン番号とを互いに関連付けて記憶する第１記憶手段と、
前記各クライアント装置から状況情報、アカウント情報及びリビジョン番号を含む更新要求を受信する手段と、
前記更新要求内のアカウント情報に基づいて、前記第１記憶手段内のリビジョン番号を読み出す手段と、
前記読み出したリビジョン番号と、前記更新要求内のリビジョン番号とが一致するか否かを判定する手段と、
前記判定の結果、両者が一致した場合には、前記更新要求に基づいて、前記第１記憶手段内のリビジョン番号及び状況情報を更新する更新手段と、
前記判定の結果、否の場合には、前記更新要求を破棄する手段と、
前記各クライアント装置からアカウント情報を含む取得要求を受信すると、当該取得要求内のアカウント情報に基づいて、前記第１記憶手段から状況情報及びリビジョン番号を取得する取得手段と、
前記取得した状況情報及びリビジョン番号を前記取得要求の送信元に返信する手段と
を備え、
前記各クライアント装置は、
前記状況情報、前記アカウント情報及び前記リビジョン番号が書き込まれる第２記憶手段と、
前記ユーザのアカウント情報を含む取得要求の入力を受け付ける手段と、
前記入力を受け付けた取得要求に含まれるアカウント情報を前記第２記憶手段に書込むと共に、当該取得要求を前記サーバ装置に送信する手段と、
前記取得要求の送信に応じて、前記サーバ装置から受信した状況情報及びリビジョン番号を第２記憶手段に書込む手段と、
前記第２記憶手段内の状況情報に基づいて前記ゲームの状況を復帰させた後、当該ゲームを進行させる手段と、
前記ゲームの進行中、当該ゲームの状況を保存する指示の入力を受け付ける手段と、
前記入力を受け付けた指示に基づいて、前記ゲームの現在の状況を示す状況情報と、前記第２記憶手段内のアカウント情報及びリビジョン番号とを含む更新要求を前記サーバ装置に送信する手段と
を備えたことを特徴とするゲームシステム。
【請求項２】
請求項１に記載のゲームシステムにおいて、
前記状況情報は、前回のリビジョン番号に関連する状況情報との差分を示す差分情報であり、
前記更新手段は、
前記更新要求内のアカウント情報に基づいて、前記第１記憶手段内の全ての差分情報を累積加算した状況情報を算出する手段と、
前記更新要求内の状況情報と、前記算出した状況情報との差分を算出する手段と、
前記第１記憶手段内の最新のリビジョン番号を更新してなるリビジョン番号を当該第１記憶手段に追加記憶させる手段と、
前記算出した差分を状況情報として、前記追加記憶させたリビジョン番号に関連付けて前記第１記憶手段に書込む手段と
を備え、
前記取得手段は、
前記取得要求内のアカウント情報に基づいて、前記第１記憶手段内の全ての差分情報を累積加算して状況情報を取得する手段と、
前記取得要求内のアカウント情報に基づいて、前記第１記憶手段内の最新のリビジョン番号を取得する手段と
を備えたことを特徴とするゲームシステム。
【請求項３】
請求項１又は請求項２に記載のゲームシステムにおいて、
前記状況情報は、前記各クライアント装置のプラットフォームに依存しないように、前記プラットフォームを示す情報を含まないことを特徴とするゲームシステム。
【請求項４】
ユーザの操作に応じてゲームを個別に進行可能な複数のクライアント装置の各々に通信可能なサーバ装置であって、
前記ゲームの状況を示す状況情報と、前記ユーザのアカウント情報と、前記状況情報のリビジョン番号とを互いに関連付けて記憶する第１記憶手段と、
前記各クライアント装置から状況情報、アカウント情報及びリビジョン番号を含む更新要求を受信する手段と、
前記更新要求内のアカウント情報に基づいて、前記第１記憶手段内のリビジョン番号を読み出す手段と、
前記読み出したリビジョン番号と、前記更新要求内のリビジョン番号とが一致するか否かを判定する手段と、
前記判定の結果、両者が一致した場合には、前記更新要求に基づいて、前記第１記憶手段内のリビジョン番号及び状況情報を更新する更新手段と、
前記判定の結果、否の場合には、前記更新要求を破棄する手段と、
前記各クライアント装置からアカウント情報を含む取得要求を受信すると、当該取得要求内のアカウント情報に基づいて、前記第１記憶手段から状況情報及びリビジョン番号を取得する取得手段と、
前記取得した状況情報及びリビジョン番号を前記取得要求の送信元に返信する手段と
を備えたことを特徴とするサーバ装置。
【請求項５】
請求項４に記載のサーバ装置において、
前記状況情報は、前回のリビジョン番号に関連する状況情報との差分を示す差分情報であり、
前記更新手段は、
前記更新要求内のアカウント情報に基づいて、前記第１記憶手段内の全ての差分情報を累積加算した状況情報を算出する手段と、
前記更新要求内の状況情報と、前記算出した状況情報との差分を算出する手段と、
前記第１記憶手段内の最新のリビジョン番号を更新してなるリビジョン番号を当該第１記憶手段に追加記憶させる手段と、
前記算出した差分を状況情報として、前記追加記憶させたリビジョン番号に関連付けて前記第１記憶手段に書込む手段と
を備え、
前記取得手段は、
前記取得要求内のアカウント情報に基づいて、前記第１記憶手段内の全ての差分情報を累積加算して状況情報を取得する手段と、
前記取得要求内のアカウント情報に基づいて、前記第１記憶手段内の最新のリビジョン番号を取得する手段と
を備えたことを特徴とするサーバ装置。
【請求項６】
請求項４又は請求項５に記載のサーバ装置において、
前記状況情報は、前記各クライアント装置のプラットフォームに依存しないように、前記プラットフォームを示す情報を含まないことを特徴とするサーバ装置。
【請求項７】
サーバ装置に通信可能で、且つユーザの操作に応じてゲームを個別に進行可能なクライアント装置であって、
前記ゲームの状況を示す状況情報、前記ユーザのアカウント情報及び前記状況情報のリビジョン番号が書き込まれる第２記憶手段と、
前記ユーザのアカウント情報を含む取得要求の入力を受け付ける手段と、
前記入力を受け付けた取得要求に含まれるアカウント情報を前記第２記憶手段に書込むと共に、当該取得要求を前記サーバ装置に送信する手段と、
前記取得要求の送信に応じて、前記サーバ装置から受信した状況情報及びリビジョン番号を第２記憶手段に書込む手段と、
前記第２記憶手段内の状況情報に基づいて前記ゲームの状況を復帰させた後、当該ゲームを進行させる手段と、
前記ゲームの進行中、当該ゲームの状況を保存する指示の入力を受け付ける手段と、
前記入力を受け付けた指示に基づいて、前記ゲームの現在の状況を示す状況情報と、前記第２記憶手段内のアカウント情報及びリビジョン番号とを含む更新要求を前記サーバ装置に送信する手段と
を備え、
前記サーバ装置は、
前記状況情報、前記アカウント情報及び前記リビジョン番号を互いに関連付けて第１記憶手段に記憶し、
前記クライアント装置又は他のクライアント装置から状況情報、アカウント情報及びリビジョン番号を含む更新要求を受信すると、当該更新要求内のアカウント情報に基づいて、前記第１記憶手段から読み出したリビジョン番号と、前記更新要求内のリビジョン番号とが一致するか否かを判定し、両者が一致した場合には、前記更新要求に基づいて前記第１記憶手段内のリビジョン番号及び状況情報を更新し、否の場合には、前記更新要求を破棄し、
前記クライアント装置又は他のクライアント装置からアカウント情報を含む取得要求を受信すると、当該取得要求内のアカウント情報に基づいて前記第１記憶手段から読み出した状況情報及びリビジョン番号を前記取得要求の送信元に返信することを特徴とするクライアント装置。
【請求項８】
ユーザの操作に応じてゲームを個別に進行可能な複数のクライアント装置の各々に通信可能で、第１記憶手段を備えたサーバ装置に用いられるプログラムであって、
前記サーバ装置を、
前記ゲームの状況を示す状況情報と、前記ユーザのアカウント情報と、前記状況情報のリビジョン番号とを互いに関連付けて前記第１記憶手段に書込む手段、
前記各クライアント装置から状況情報、アカウント情報及びリビジョン番号を含む更新要求を受信する手段、
前記更新要求内のアカウント情報に基づいて、前記第１記憶手段内のリビジョン番号を読み出す手段、
前記読み出したリビジョン番号と、前記更新要求内のリビジョン番号とが一致するか否かを判定する手段、
前記判定の結果、両者が一致した場合には、前記更新要求に基づいて、前記第１記憶手段内のリビジョン番号及び状況情報を更新する手段、
前記判定の結果、否の場合には、前記更新要求を破棄する手段、
前記各クライアント装置からアカウント情報を含む取得要求を受信すると、当該取得要求内のアカウント情報に基づいて、前記第１記憶手段内の状況情報及びリビジョン番号を読み出す手段、
前記読み出した状況情報及びリビジョン番号を前記取得要求の送信元に返信する手段、
として機能させるためのプログラム。
【請求項９】
請求項８に記載のプログラムにおいて、
前記状況情報は、前回のリビジョン番号に関連する状況情報との差分を示す差分情報であり、
前記更新手段は、
前記更新要求内のアカウント情報に基づいて、前記第１記憶手段内の全ての差分情報を累積加算した状況情報を算出する手段と、
前記更新要求内の状況情報と、前記算出した状況情報との差分を算出する手段と、
前記第１記憶手段内の最新のリビジョン番号を更新してなるリビジョン番号を当該第１記憶手段に追加記憶させる手段と、
前記算出した差分を状況情報として、前記追加記憶させたリビジョン番号に関連付けて前記第１記憶手段に書込む手段と
を含んでおり、
前記取得手段は、
前記取得要求内のアカウント情報に基づいて、前記第１記憶手段内の全ての差分情報を累積加算して状況情報を取得する手段と、
前記取得要求内のアカウント情報に基づいて、前記第１記憶手段内の最新のリビジョン番号を取得する手段と
を含んでいるプログラム。
【請求項１０】
請求項８又は請求項９に記載のプログラムにおいて、
前記状況情報は、前記各クライアント装置のプラットフォームに依存しないように、前記プラットフォームを示す情報を含まないプログラム。
【請求項１１】
サーバ装置に通信可能で、且つユーザの操作に応じてゲームを個別に進行可能であり、前記ゲームの状況を示す状況情報、前記ユーザのアカウント情報及び前記状況情報のリビジョン番号が書き込まれる第２記憶手段を備えたクライアント装置に用いられるプログラムであって、
前記クライアント装置を、
前記ユーザのアカウント情報を含む取得要求の入力を受け付ける手段、
前記入力を受け付けた取得要求に含まれるアカウント情報を前記第２記憶手段に書込むと共に、当該取得要求を前記サーバ装置に送信する手段、
前記取得要求の送信に応じて、前記サーバ装置から受信した状況情報及びリビジョン番号を第２記憶手段に書込む手段、
前記第２記憶手段内の状況情報に基づいて前記ゲームの状況を復帰させた後、当該ゲームを進行させる手段、
前記ゲームの進行中、当該ゲームの状況を保存する指示の入力を受け付ける手段、
前記入力を受け付けた指示に基づいて、前記ゲームの現在の状況を示す状況情報と、前記第２記憶手段内のアカウント情報及びリビジョン番号とを含む更新要求を前記サーバ装置に送信する手段、
として機能させ、
前記サーバ装置は、
前記状況情報、前記アカウント情報及び前記リビジョン番号を互いに関連付けて第１記憶手段に記憶し、
前記クライアント装置又は他のクライアント装置から状況情報、アカウント情報及びリビジョン番号を含む更新要求を受信すると、当該更新要求内のアカウント情報に基づいて、前記第１記憶手段から読み出したリビジョン番号と、前記更新要求内のリビジョン番号とが一致するか否かを判定し、両者が一致した場合には、前記更新要求に基づいて前記第１記憶手段内のリビジョン番号及び状況情報を更新し、否の場合には、前記更新要求を破棄し、
前記クライアント装置又は他のクライアント装置からアカウント情報を含む取得要求を受信すると、当該取得要求内のアカウント情報に基づいて前記第１記憶手段から読み出した状況情報及びリビジョン番号を前記取得要求の送信元に返信するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームシステム、装置及びプログラムに関する。
【背景技術】
【０００２】
近年、ゲームプログラムを保存したサーバ装置と、サーバ装置からダウンロードした所望のゲームプログラムを実行するクライアント装置とを備えたゲームシステムが広く知られている。ここで、クライアント装置としては、プログラムを実行可能なコンピュータであればよく、例えば、デスクトップ型又はノート型のパーソナルコンピュータや、携帯電話、スマートフォン、タブレット端末等が適宜、使用されている。
【０００３】
ゲームプログラムとしては、トランプゲームのように短時間で終わるプログラムや、ロールプレイングゲームのように一日で終わらないプログラムのように、多数の種類がある。ユーザは、適宜、クライアント装置を操作し、クライアント装置に実行されるゲームプログラムに応じて、ゲームを楽しむ。
【０００４】
また、クライアント装置は、一日で終わらないゲームプログラムを実行する場合、ユーザの操作に応じて、ゲームの進行を中断する。後日、ユーザは、そのクライアント装置を操作し、中断した状態からゲームを再開する（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２３３７９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以上のようなゲームシステムは、通常は何の問題もないが、本発明者の検討によれば、以下のように改良の余地がある。
【０００７】
すなわち、ユーザによっては、スマートフォン及びタブレット端末などの複数のクライアント装置を交互に用い、各クライアント装置間でゲームを継続的に実行したい要望がある。また、このようなユーザは、一方のクライアント装置でゲームを実行した状態のまま、他方のクライアント装置でもゲームを再開し、他方のクライアント装置でゲームを中断せずに、一方のクライアント装置でゲームを中断する等というように、各クライアント装置による並列的な実行を含んでゲームを継続的に実行したい要望がある。
【０００８】
しかしながら、従来のゲームシステムは、各クライアント装置間でゲームを継続的に実行することを想定していない。また特に、従来のゲームシステムは、各クライアント装置による並列的な実行を含んでゲームを継続的に実行することを全く想定していない。
【０００９】
よって、従来のゲームシステムは、これら想定外の要望にも対応できるようにする観点から、改良の余地がある。
【００１０】
本発明は上記実情を考慮してなされたもので、各クライアント装置間でゲームを継続的に実行し得るゲームシステム、装置及びプログラムを提供することを目的とする。
【００１１】
また、本発明の他の目的は、各クライアント装置による並列的な実行を含んでゲームを継続的に実行し得るゲームシステム、装置及びプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明の一つの局面は、ユーザの操作に応じてゲームを個別に進行可能な複数のクライアント装置と、前記各クライアント装置に通信可能なサーバ装置とを備えたゲームシステムであって、前記サーバ装置としては、前記ゲームの状況を示す状況情報と、前記ユーザのアカウント情報と、前記状況情報のリビジョン番号とを互いに関連付けて記憶する第１記憶手段と、前記各クライアント装置から状況情報、アカウント情報及びリビジョン番号を含む更新要求を受信する手段と、前記更新要求内のアカウント情報に基づいて、前記第１記憶手段内のリビジョン番号を読み出す手段と、前記読み出したリビジョン番号と、前記更新要求内のリビジョン番号とが一致するか否かを判定する手段と、前記判定の結果、両者が一致した場合には、前記更新要求に基づいて、前記第１記憶手段内のリビジョン番号及び状況情報を更新する更新手段と、前記判定の結果、否の場合には、前記更新要求を破棄する手段と、前記各クライアント装置からアカウント情報を含む取得要求を受信すると、当該取得要求内のアカウント情報に基づいて、前記第１記憶手段から状況情報及びリビジョン番号を取得する取得手段と、前記取得した状況情報及びリビジョン番号を前記取得要求の送信元に返信する手段とを備え、前記各クライアント装置としては、前記状況情報、前記アカウント情報及び前記リビジョン番号が書き込まれる第２記憶手段と、前記ユーザのアカウント情報を含む取得要求の入力を受け付ける手段と、前記入力を受け付けた取得要求に含まれるアカウント情報を前記第２記憶手段に書込むと共に、当該取得要求を前記サーバ装置に送信する手段と、前記取得要求の送信に応じて、前記サーバ装置から受信した状況情報及びリビジョン番号を第２記憶手段に書込む手段と、前記第２記憶手段内の状況情報に基づいて前記ゲームの状況を復帰させた後、当該ゲームを進行させる手段と、前記ゲームの進行中、当該ゲームの状況を保存する指示の入力を受け付ける手段と、前記入力を受け付けた指示に基づいて、前記ゲームの現在の状況を示す状況情報と、前記第２記憶手段内のアカウント情報及びリビジョン番号とを含む更新要求を前記サーバ装置に送信する手段とを備えているゲームシステムである。
【発明の効果】
【００１３】
以上説明したように本発明によれば、各クライアント装置間でゲームを継続的に実行することができる。また、本発明によれば、各クライアント装置による並列的な実行を含んでゲームを継続的に実行することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態に係るゲームシステムの構成を示す模式図である。
【図２】同実施形態におけるサーバ装置の記憶部を説明するための模式図である。
【図３】同実施形態における取得要求を説明するための模式図である。
【図４】同実施形態における更新要求を説明するための模式図である。
【図５】同実施形態における動作を説明するためのシーケンス図である。
【図６】同実施形態における動作を説明するためのシーケンス図である。
【図７】同実施形態における動作を説明するための模式図である。
【図８】本発明の第２の実施形態に係るサーバ装置の記憶部を説明するための模式図である。
【図９】同実施形態における動作を説明するためのシーケンス図である。
【発明を実施するための形態】
【００１５】
以下、本発明の各実施形態について図面を用いて説明する。なお、以下の各装置は、それぞれハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から各装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
【００１６】
＜第１の実施形態＞
図１は本発明の第１の実施形態に係るゲームシステムの構成を示す模式図であり、図２はサーバ装置の記憶部を説明するための模式図であり、図３及び図４は各要求を説明するための模式図である。このゲームシステムは、サーバ装置１０と、ユーザの操作に応じてゲームを個別に進行可能な複数のクライアント装置２０，３０とを備えている。各装置１０，２０，３０は、コンピュータネットワーク４０及び移動通信網５０を介して互いに通信可能である。コンピュータネットワーク４０は、コンピュータ同士の通信を可能とするネットワークであれば任意のものが適用可能であり、ここではインターネットを用いている。移動通信網５０は、携帯電話、スマートフォン及びタブレット端末等の携帯通信装置としてのコンピュータの通信を可能とするものであれば任意のものが適用可能である。第１のクライアント装置２０は、例えば、ｉＯＳ等のＯＳを用いたｉＰａｄ（登録商標）等のタブレット端末である。第２のクライアント装置３０は、例えば、Ａｎｄｒｏｉｄ（登録商標）等のＯＳを用いたスマートフォンである。なお、各クライアント装置２０，３０は、この例では携帯通信装置としたが、これに限らず、いずれか一方又は両方がデスクトップ型のパーソナルコンピュータの如き、据置型のコンピュータであってもよい。また、各クライアント装置２０，３０は、この例では互いに異なるＯＳを用いたが、これに限らず、互いに同一のＯＳを用いてもよい。すなわち、各クライアント装置２０，３０は、この例では互いに異なるプラットフォームを用いたが、これに限らず、互いに同一のプラットフォームを用いてもよい。また、各クライアント装置２０，３０は、この例では２台としたが、これに限らず、３台以上でもよい。
【００１７】
ここで、サーバ装置１０は、記憶部１１、取得処理部１２、更新処理部１３及び通信部１４を備えている。
【００１８】
記憶部１１は、各部１２〜１４から読出／書込可能な記憶装置であり、図２に示すように、ゲームの状況を示す状況情報と、ユーザのアカウント情報と、状況情報のリビジョン番号とを互いに関連付けて記憶する。
【００１９】
ここで、状況情報は、ゲームを中断した時点から再開するために、例えば、ゲーム内キャラクタの位置、時間、得点、…等といった状況を示すデータを含んでいる。なお、状況情報の具体的なデータは、ゲームにより異なるので、例示した位置、時間、得点、…等といったデータに限定されない。また、状況情報は、各クライアント装置２０，３０のプラットフォームに依存しないように、プラットフォームを示す情報を含まないようにしてもよい。例えば、状況情報は、各クライアント装置２０，３０のＯＳに依存しないように、ＯＳを示す情報を含まないようにしてもよい。
【００２０】
アカウント情報は、ユーザを識別する情報であり、この例ではユーザＩＤを用いている。但し、アカウント情報は、これに限らず、ユーザを識別できればよいので、ユーザＩＤ及びパスワードでもよく、ユーザＩＤとユーザの生体情報でもよい。
【００２１】
リビジョン番号は、状況情報を更新する毎に更新される番号であり、この例ではゲームＩＤとリビジョン値を含む番号とし、ゲームＩＤを固定してリビジョン値を更新することにより、リビジョン番号を更新している。なお、ゲームＩＤは、例えば１つのゲームしかない場合のように、何らかの手段でゲームが特定される場合には省略してもよい。また、リビジョン番号からゲームＩＤを省略し、ゲームＩＤを、リビジョン番号（リビジョン値）、状況情報及びアカウント情報と関連付けてもよい。また、リビジョン番号の更新は、この例ではリビジョン値の増加としたが、これに限らず、リビジョン値の減少としてもよい。また、リビジョン値の増加は＋１ずつに限らず、＋２や＋１０といった任意の値ずつの増加として構わない。減少の場合も同様である。また、リビジョン番号の初期値は、“１”に限らず、“０”や“１００”といった任意の値として構わない。
【００２２】
取得処理部１２は、図３に示すように、各クライアント装置２０，３０からアカウント情報を含む取得要求ｒｑ１を受信すると、当該取得要求ｒｑ１内のアカウント情報に基づいて、記憶部１１から状況情報及びリビジョン番号を取得する取得機能と、取得した状況情報及びリビジョン番号を取得要求ｒｑ１の送信元に返信する機能とをもっている。
【００２３】
更新処理部１３は、図４に示すように、各クライアント装置から状況情報、アカウント情報及びリビジョン番号を含む更新要求ｒｑ２を受信する機能と、更新要求ｒｑ２内のアカウント情報に基づいて、記憶部１１内のリビジョン番号を読み出す機能と、当該読み出したリビジョン番号と、更新要求ｒｑ２内のリビジョン番号とが一致するか否かを判定する機能と、当該判定の結果、両者が一致した場合には、更新要求ｒｑ２に基づいて、記憶部１１内のリビジョン番号及び状況情報を更新する更新機能と、判定の結果、否の場合には、更新要求ｒｑ２を破棄する機能とをもっている。
【００２４】
通信部１４は、コンピュータネットワーク４０及び移動通信網５０を介して各クライアント装置２０，３０に通信するための通信機能部である。
【００２５】
続いて、第１及び第２のクライアント装置２０，３０の構成を説明する。各クライアント装置２０，３０は、前述したＯＳやプラットフォーム等の実装上の構成を除き、本実施形態に関係する機能ブロックが互いに同一構成であるので、ここでは第１のクライアント装置２０を代表例に挙げて説明する。なお、以下の第１のクライアント装置２０の説明は、参照符号の十の位を“２”から“３”にすることにより、第２のクライアント装置３０の説明として読み替え可能である。
【００２６】
第１のクライアント装置２０は、記憶部２１、取得要求部２２、ゲーム進行部２３、更新要求部２４及び通信部２５を備えている。
【００２７】
記憶部２１は、各部２２〜２５から読出／書込可能な記憶装置であり、状況情報、アカウント情報及びリビジョン番号が書き込まれる。
【００２８】
取得要求部２２は、ユーザのアカウント情報を含む取得要求の入力を受け付ける機能と、入力を受け付けた取得要求に含まれるアカウント情報を記憶部２１に書込むと共に、当該取得要求をサーバ装置１０に送信する機能と、取得要求の送信に応じて、サーバ装置１０から受信した状況情報及びリビジョン番号を記憶部２１に書込む機能とをもっている。
【００２９】
ゲーム進行部２３は、記憶部２１内の状況情報に基づいてゲームの状況を復帰させた後、当該ゲームを進行させる機能をもっている。
【００３０】
更新要求部２４は、ゲームの進行中、当該ゲームの状況を保存する指示の入力を受け付ける機能と、当該入力を受け付けた指示に基づいて、ゲームの現在の状況を示す状況情報と、記憶部２１内のアカウント情報及びリビジョン番号とを含む更新要求をサーバ装置１０に送信する機能とをもっている。
【００３１】
通信部２５は、移動通信網５０及びコンピュータネットワーク４０を介してサーバ装置１０に通信するための通信機能部である。
【００３２】
次に、以上のように構成されたゲームシステムの動作について図５乃至図７を用いて説明する。
【００３３】
いま、第１のクライアント装置２０は、自宅にいるユーザに携帯されており、第２のクライアント３０は、当該ユーザの会社に保管されているとする。また、自宅内のユーザがゲームを開始したくなったとする。
【００３４】
このとき、第１のクライアント装置２０では、図５に示すように、ユーザの操作に応じて、取得要求部２２が、ユーザのアカウント情報を含む取得要求の入力を受け付ける（ＳＴ１）。取得要求部２２は、入力を受け付けた取得要求に含まれるアカウント情報を記憶部２１に書込むと共に（ＳＴ２）、当該取得要求ｒｑ１をサーバ装置１０に送信する（ＳＴ３）。
【００３５】
サーバ装置１０では、取得処理部１２が、取得要求ｒｑ１を受信すると（ＳＴ４）、当該取得要求ｒｑ１内のアカウント情報に基づいて、記憶部１１から状況情報及びリビジョン番号“ｎ”を取得する（ＳＴ５）。取得処理部１２は、取得した状況情報及びリビジョン番号“ｎ”を取得要求ｒｑ１の送信元の第１のクライアント装置２０に返信する（ＳＴ６）。
【００３６】
第１のクライアント装置２０では、取得要求部２２が、取得要求ｒｑ１の送信に応じて、サーバ装置１０から受信した状況情報及びリビジョン番号“ｎ”を記憶部２１に書込む（ＳＴ７〜ＳＴ８）。
【００３７】
次に、第１のクライアント装置２０では、ゲーム進行部２３が、記憶部２１内の状況情報に基づいてゲームの状況を復帰させた後、ユーザの操作に応じて、当該ゲームを進行させる。これにより、ユーザの操作に応じて、オフラインでゲームが進行する（ＳＴ９）。
【００３８】
しばらくした後、自宅内のユーザがゲームを中断したくなったとする。
【００３９】
第１のクライアント装置２０では、ユーザの操作に応じて、更新要求部２４が、ゲームの進行中、当該ゲームの状況を保存する指示の入力を受け付ける（ＳＴ１０）。更新要求部２４は、当該入力を受け付けた指示に基づいて、ゲームの現在の状況を示す状況情報と、記憶部２１内のアカウント情報及びリビジョン番号“ｎ”とを含む更新要求ｒｑ２をサーバ装置１０に送信する（ＳＴ１１）。
【００４０】
サーバ装置１０では、更新処理部１３が、更新要求ｒｑ２を受信すると（ＳＴ１２）、更新要求ｒｑ２内のアカウント情報に基づいて、記憶部１１内のリビジョン番号“ｎ”を読み出す（ＳＴ１３）。更新処理部１３は、当該読み出したリビジョン番号“ｎ”と、更新要求ｒｑ２内のリビジョン番号“ｎ”とが一致するか否かを判定し（ＳＴ１４）、当該判定の結果、両者が一致した場合には、更新要求ｒｑ２に基づいて、記憶部１１内のリビジョン番号及び状況情報を更新する（ＳＴ１５）。ステップＳＴ１４の判定の結果、否の場合には、更新処理部１３は、更新要求ｒｑ２を破棄する（ＳＴ１６）。この例では、ステップＳＴ１５が実行され、記憶部１１がリビジョン番号“ｎ＋１”及びステップＳＴ１０の時点でのゲームの状況を示す状況情報に更新されたとする。
【００４１】
ステップＳＴ１５又はＳＴ１６の終了後、ゲームは中断される。
【００４２】
以上のステップＳＴ１〜ＳＴ１６の動作は、第１のクライアント装置２０に代えて、第２のクライアント装置３０を用いた場合でも同様である。すなわち、この後、ユーザが自宅を出て会社に出勤し、昼休みに第２のクライアント装置３０を用いてゲームをする場合も同様に動作が実行される。
【００４３】
次に、ステップＳＴ１４で否と判定される場合（リビジョン番号が不一致となる場合）について説明する。これは、一方のクライアント装置２０でゲームを実行した状態のまま、他方のクライアント装置３０でもゲームを再開し、他方のクライアント装置３０でゲームを中断せずに、一方のクライアント装置２０でゲームを中断する等というように、各クライアント装置２０，３０による並列的な実行を含んでゲームを継続的に実行した場合に相当する。
【００４４】
第１のクライアント装置２０及びサーバ装置１０では、図６及び図７に示すように、前述したステップＳＴ１〜ＳＴ８の動作を実行する。これにより、第１のクライアント装置２０では、サーバ装置１０から受信した状況情報及びリビジョン番号“ｎ”が記憶部２１に書込まれる（ＳＴ８）。このリビジョン番号“ｎ”は、図７におけるリビジョン番号“２”であるとする。
【００４５】
次に、第１のクライアント装置２０では、ゲーム進行部２３が、記憶部２１内の状況情報に基づいてゲームの状況を復帰させた後、ユーザの操作に応じて、当該ゲームを進行させる。これにより、ユーザの操作に応じて、オフラインでゲームが進行する（ＳＴ９）。
【００４６】
ここで、自宅内のユーザが第１のクライアント装置２０でゲームを中断せずに外出し、外出先で第２のクライアント装置３０によりゲームを再開したとする（ＳＴ−ｕ１）。例えば、自宅内のユーザが第１のクライアント装置２０でゲーム中に寝てしまい、朝起きて会社に出勤し、昼休みに第２のクライアント装置３０によりゲームを再開するといった状況である。
【００４７】
第２のクライアント装置３０及びサーバ装置１０では、ステップＳＴ１〜ＳＴ８と同様にステップＳＴ１’〜ＳＴ８’の動作を実行する。これにより、第２のクライアント装置３０では、サーバ装置１０から受信した状況情報及びリビジョン番号“ｎ”が記憶部２１に書込まれる（ＳＴ８’）。
【００４８】
次に、第２のクライアント装置３０では、ゲーム進行部３３が、記憶部３１内の状況情報に基づいてゲームの状況を復帰させた後、ユーザの操作に応じて、当該ゲームを進行させる。これにより、ユーザの操作に応じて、オフラインでゲームが進行する（ＳＴ９’）。
【００４９】
ここで、また外出先のユーザが第２のクライアント装置３０でゲームを中断せずに帰宅し、自宅で第１のクライアント装置２０によりゲームを継続したとする（ＳＴ−ｕ２）。
【００５０】
第１のクライアント装置２０及びサーバ装置１０では、前述したステップＳＴ１０〜ＳＴ１５の動作を実行する。これにより、サーバ装置１０の記憶部１１は、リビジョン番号“ｎ＋１”及びステップＳＴ１０の時点でのゲームの状況を示す状況情報に更新される（ＳＴ１５）。このリビジョン番号“ｎ＋１”は、図７におけるリビジョン番号“３”であるとする。ステップＳＴ１５の終了後、第１のクライアント装置２０では、ゲームが中断される。
【００５１】
その後、自宅内のユーザが外出し、外出先で第２のクライアント装置３０によりゲームを継続したとする（ＳＴ−ｕ３）。
【００５２】
第２のクライアント装置３０では、ユーザの操作に応じて、更新要求部３４が、ゲームの進行中、当該ゲームの状況を保存する指示の入力を受け付ける（ＳＴ１０’）。更新要求部３４は、当該入力を受け付けた指示に基づいて、ゲームの現在の状況を示す状況情報と、記憶部３１内のアカウント情報及びリビジョン番号“ｎ”とを含む更新要求ｒｑ２をサーバ装置１０に送信する（ＳＴ１１’）。
【００５３】
サーバ装置１０では、更新処理部１３が、更新要求ｒｑ２を受信すると（ＳＴ１２’）、更新要求ｒｑ２内のアカウント情報に基づいて、記憶部１１内のリビジョン番号“ｎ＋１”を読み出す（ＳＴ１３’）。更新処理部１３は、当該読み出したリビジョン番号“ｎ＋１”と、更新要求ｒｑ２内のリビジョン番号“ｎ”とが一致するか否かを判定し（ＳＴ１４）、当該判定の結果、両者が一致した場合には、更新要求ｒｑ２に基づいて、記憶部１１内のリビジョン番号及び状況情報を更新する（ＳＴ１５’）。ステップＳＴ１４の判定の結果、否の場合には、更新処理部１３は、更新要求ｒｑ２を破棄する（ＳＴ１６’）。この例では、両者が一致しないので、更新要求ｒｑ２が破棄される（ＳＴ１６’）
ＳＴ１６の終了後、ゲームは中断される。
【００５４】
次に、第１及び第２のクライアント装置２０，３０のいずれかがゲームを再開する場合には、リビジョン番号“ｎ＋１”（＝３）及び状況情報をサーバ装置１０から受信することになる。
【００５５】
上述したように本実施形態によれば、サーバ装置１０内の状況情報を各クライアント装置２０，３０が取得し、この状況情報に基づいてゲームを復帰させた後、当該ゲームを進行し、中断時にはサーバ装置１０内の状況情報を更新する構成により、各クライアント装置間でゲームを継続的に実行することができる。
【００５６】
また、サーバ装置１０が状況情報及びリビジョン番号を関連付けて記憶し、更新要求内のリビジョン番号と、記憶部１１内のリビジョン番号とが一致した場合には状況情報及びリビジョン番号を更新し、両リビジョン番号が不一致の場合には更新要求を破棄する構成により、各クライアント装置による並列的にゲームを実行したときでも、サーバ装置１０が記憶する状況情報に（最新のリビジョン番号を優先するように）一貫性を持たせることができるので、各クライアント装置による並列的な実行を含んでゲームを継続的に実行することができる。
【００５７】
さらに、状況情報が各クライアント装置２０，３０のプラットフォームを示す情報を含まない場合には、各クライアント装置２０，３０のプラットフォームに依存せずに、前述した効果を得ることができる。すなわち、異なるプラットフォームの各クライアント装置２０，３０をユーザが用いる場合にも、前述した効果を得ることができる。
【００５８】
＜第２の実施形態＞
次に、本発明の第２の実施形態に係るゲームシステムについて、前述した図面を参照しながら説明する。
【００５９】
第２の実施形態は、第１の実施形態の変形例であり、図８に示すように、サーバ装置１０の記憶部１１内の状況情報が、前回のリビジョン番号に関連する状況情報との差分を示す差分情報となっている。
【００６０】
これに伴い、サーバ装置１０における取得処理部１２内の取得機能及び更新処理部１３内の更新機能が以下のように各機能から構成されている。
【００６１】
すなわち、取得処理部１２の取得機能は、前述した通り、各クライアント装置２０，３０からアカウント情報を含む取得要求ｒｑ１を受信すると、当該取得要求ｒｑ１内のアカウント情報に基づいて、記憶部１１から状況情報及びリビジョン番号を取得する機能である。
【００６２】
但し、第２の実施形態では、この取得機能が、取得要求ｒｑ１内のアカウント情報に基づいて、記憶部１１内の全ての差分情報を累積加算して状況情報を取得する機能と、取得要求内のアカウント情報に基づいて、記憶部１１内の最新のリビジョン番号を取得する機能とをもっている。
【００６３】
また、更新処理部１３の更新機能は、前述した通り、（リビジョン番号の一致／不一致の）判定の結果、両者が一致した場合には、更新要求ｒｑ２に基づいて、記憶部１１内のリビジョン番号及び状況情報を更新する機能である。
【００６４】
但し、第２の実施形態では、この更新機能が、更新要求内のアカウント情報に基づいて、記憶部１１内の全ての差分情報を累積加算した状況情報を算出する機能と、当該更新要求内の状況情報と、当該算出した状況情報との差分を算出する機能と、記憶部１１内の最新のリビジョン番号を更新してなるリビジョン番号を当該記憶部１１に追加記憶させる機能と、当該算出した差分を状況情報として、追加記憶させたリビジョン番号に関連付けて記憶部１１に書込む機能とをもっている。
【００６５】
また、各クライアント装置２０，３０及びサーバ装置１０の他の各部１１，１４の構成は、前述した通りである。また、取得処理部１２の取得機能以外の各機能は、前述した通りである。更新処理部１３の更新機能以外の各機能も前述した通りである。
【００６６】
以上のような構成によれば、前述したステップＳＴ５では、図９に示すように、サーバ装置１０の取得処理部１２が、取得要求ｒｑ１内のアカウント情報に基づいて、記憶部１１内の全ての差分情報を累積加算して状況情報を取得すると共に（ＳＴ５−１）、取得要求内のアカウント情報に基づいて、記憶部１１内の最新のリビジョン番号を取得する（ＳＴ５−２）。すなわち、前述したステップＳＴ５は、ステップＳＴ５−１〜ＳＴ５−２により実行される。
【００６７】
また、前述したステップＳＴ１５では、サーバ装置１０の更新処理部１３が、更新要求内のアカウント情報に基づいて、記憶部１１内の全ての差分情報を累積加算した状況情報を算出すると共に（ＳＴ１５−１）、当該更新要求内の状況情報と、当該算出した状況情報との差分を算出する（ＳＴ１５−２）。また、更新処理部１３は、記憶部１１内の最新のリビジョン番号を更新してなるリビジョン番号を当該記憶部１１に追加記憶させると共に（ＳＴ１５−３）、当該算出した差分を状況情報として、追加記憶させたリビジョン番号に関連付けて記憶部１１に書込む（ＳＴ１５−４）。すなわち、前述したステップＳＴ１５は、ステップＳＴ１５−１〜ＳＴ１５−４により実行される。
【００６８】
なお、他のステップＳＴ１〜ＳＴ４，ＳＴ６〜ＳＴ１４，ＳＴ１６は、前述同様に実行される。
【００６９】
従って、第２の実施形態によれば、サーバ装置１０の記憶部１１内の状況情報が、前回のリビジョン番号に関連する状況情報との差分を示す差分情報とした構成に変形しても、第１の実施形態と同様の効果を得ることができる。
【００７０】
なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【００７１】
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
【符号の説明】
【００７２】
１０…サーバ装置、１１，２１，３１…記憶部、１２…取得処理部、１３…更新処理部、１４，２５，３５…通信部、２２，３２…取得要求部、２３，３３…ゲーム進行部、２４，３４…更新要求部、４０…コンピュータネットワーク、５０…移動通信網、ｒｑ１…取得要求、ｒｑ２…更新要求。
【図１】
2014023789.tif 000003
【図２】
2014023789.tif 000004
【図３】
2014023789.tif 000005
【図４】
2014023789.tif 000006
【図５】
2014023789.tif 000007
【図６】
2014023789.tif 000008
【図７】
2014023789.tif 000009
【図８】
2014023789.tif 000010
【図９】
2014023789.tif 000011
【手続補正書】
【提出日】平成25年11月13日(2013.11.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項８
【補正方法】変更
【補正の内容】
【請求項８】
ユーザの操作に応じてゲームを個別に進行可能な複数のクライアント装置の各々に通信可能で、第１記憶手段を備えたサーバ装置に用いられるプログラムであって、
前記サーバ装置を、
前記ゲームの状況を示す状況情報と、前記ユーザのアカウント情報と、前記状況情報のリビジョン番号とを互いに関連付けて前記第１記憶手段に書込む手段、
前記各クライアント装置から状況情報、アカウント情報及びリビジョン番号を含む更新要求を受信する手段、
前記更新要求内のアカウント情報に基づいて、前記第１記憶手段内のリビジョン番号を読み出す手段、
前記読み出したリビジョン番号と、前記更新要求内のリビジョン番号とが一致するか否かを判定する手段、
前記判定の結果、両者が一致した場合には、前記更新要求に基づいて、前記第１記憶手段内のリビジョン番号及び状況情報を更新する更新手段、
前記判定の結果、否の場合には、前記更新要求を破棄する手段、
前記各クライアント装置からアカウント情報を含む取得要求を受信すると、当該取得要求内のアカウント情報に基づいて、前記第１記憶手段内の状況情報及びリビジョン番号を取得する取得手段、
前記取得した状況情報及びリビジョン番号を前記取得要求の送信元に返信する手段、
として機能させるためのプログラム。