(57)【要約】【課題】アプリケーションプログラム自体の改変を行うことなく、新たな機能を追加することのできる情報処理システムを提供する。【解決手段】情報処理システムであって、アプリケーションを実行する第１の実行手段の実行状態を表す第１の実行情報を取得する第１の実行情報取得手段と、前記第１の実行情報を記憶する実行情報記憶手段と、前記アプリケーションを実行する前記第１または第２の実行手段と、前記第１または第２の実行手段は、前記記憶された第１の実行情報を用いて、前記アプリケーションを実行する。【選択図】図１０
2015198953.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを実行する複数の実行手段と、
前記複数の実行手段の前記アプリケーションが実行されることにより生成される各画像情報の少なくとも一部を含んだサムネール画像情報を生成するサムネール画像情報生成手段と、
前記サムネール画像情報の中から選択された画像情報を第１の端末に送信する画像情報送信手段と、を有し、
前記各画像情報は、前記第１の端末とは異なる端末からの指示に応じて、前記アプリケーションを実行することにより生成されることを特徴とする情報処理システム。
【請求項２】
前記画像情報送信手段は、更に、第２の端末からの指示に基づいて生成される画像情報を該第２の端末に送信するとともに、前記複数の実行手段により生成され記憶手段に記憶された各画像情報の一部または全部を前記第２の端末に送信することを特徴とする請求項１記載の情報処理システム。
【請求項３】
前記情報処理システムは、更に、
前記各実行手段に相当するメモリ、レジスタ及び／またはプログラムカウンタの値を表す実行情報があらかじめ設定された条件に合致するか否かを判定する複数の判定手段と、
を有し、
画像情報送信手段は、前記各判定手段の判定結果に応じて、前記各画像情報の全部または一部のうち前記第１または第２の端末に対応する画像情報を前記第１または第２の端末に送信することを特徴とする請求項１記載の情報処理システム。
【請求項４】
前記複数の実行手段はエミュレータであることを特徴とする請求項１乃至３のいずれかに記載の情報処理システム。
【請求項５】
前記情報処理システムは、更に、前記第１の端末からの指示に応じて、前記複数の画像情報の全部または一部を記憶する記憶手段を有することを特徴とする請求項１乃至４のいずれかに記載の情報処理システム。
【請求項６】
複数の実行手段によりアプリケーションを実行し、
サムネール画像情報生成手段により、前記複数の実行手段の前記アプリケーションが実行されることにより生成される各画像情報の少なくとも一部を含んだサムネール画像情報を生成し、
画像情報送信手段により、前記サムネール画像情報の中から選択された画像情報を第１の端末に送信する情報処理方法であって、
前記各画像情報は、前記第１の端末とは異なる端末からの指示に応じて、前記アプリケーションを実行することにより生成されることを特徴とする情報処理方法。
【請求項７】
アプリケーションを実行する複数の実行手段、
前記複数の実行手段の前記アプリケーションが実行されることにより生成された各画像情報の少なくとも一部を含んだサムネール画像情報を生成するサムネール画像情報生成手段、
前記サムネール画像情報の中から選択された画像情報を第１の端末に送信する画像情報送信手段、としてコンピュータシステムを機能させることを特徴とするプログラムであって、
前記各画像情報は、前記第１の端末とは異なる端末からの指示に応じて、前記アプリケーションを実行することにより生成されることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
ゲーム機器単体において実行されるゲームプログラムにおいて、ゲームを一時的に停止するいわゆるポーズが指示されるとゲームの実行が停止され、その後再度スタートが指示されると、当該ゲームをポーズ指示がされた直後の状態から再度実行する機能を実現する技術が知られている。また、例えば、ゲームのあるシーンや動画等のいわゆる動画情報を共有サーバに記憶させる機能を実現する技術が知られている。また、例えばあるゲーム機器で実行されるゲームのプレイ画面を、他のゲーム機器で見ることのできる機能を実現する技術が知られている。
【０００３】
本発明は、アプリケーションプログラム自体の改変を行うことなく、上記のような機能を実現することができる情報処理システム、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のようなアプリケーションは、当該アプリケーション専用の装置で実行するよう作成されている。したがって、当該アプリケーションに新たな機能、例えば、単一のプレーヤーで実行されるよう作成されたゲーム（アプリケーション）で複数のプレーヤーによる同時プレイを実行する機能等、を付加する場合、当該アプリケーションプログラム自体の改変が必要となる。
【０００５】
本発明は、上記課題に鑑みてなされたものであって、アプリケーションプログラム自体の改変を行うことなく、新たな機能を追加することのできる情報処理システム、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の情報処理システムは、アプリケーションを実行する第１の実行手段の実行状態を表す第１の実行情報を取得する第１の実行情報取得手段と、前記第１の実行情報を記憶する実行情報記憶手段と、前記アプリケーションを実行する前記第１または第２の実行手段と、前記第１または第２の実行手段は、前記記憶された第１の実行情報を用いて、前記アプリケーションを実行する。
【０００７】
本発明の情報処理方法は、アプリケーションを実行する第１の実行手段の実行状態を表す第１の実行情報を取得し、前記第１の実行情報を記憶し、前記記憶された第１の実行情報を用いて、前記アプリケーションを実行する。
【０００８】
本発明の情報処理プログラムは、アプリケーションを実行する第１の実行手段の実行状態を表す第１の実行情報を取得する第１の実行情報取得手段、前記第１の実行情報を記憶する実行情報記憶手段、及び、前記アプリケーションを実行する前記第１または第２の実行手段、としてコンピュータを機能させるための情報処理プログラムであって、前記第１または第２の実行手段は、前記記憶された第１の実行情報を用いて、前記アプリケーションを実行する。
【０００９】
本発明の情報処理システムは、アプリケーションを実行する実行手段と、前記実行手段の前記アプリケーションの実行による画像情報または実行情報を取得する第１の情報取得手段と、をそれぞれ有する、複数の第１の情報処理手段と、前記複数の第１の情報処理手段から、前記各画像情報または実行情報を取得し記憶する情報記憶手段と、記憶された前記各画像情報または前記各実行情報に基づいて生成される各画像情報を、端末に送信する画像情報送信手段と、を有する第２の情報処理手段と、を有し、前記各第１の情報取得手段は、端末の指示に応じて、前記各実行手段のうち前記端末に対応する実行手段の前記アプリケーションの実行による画像情報を取得する。
【００１０】
本発明の情報処理方法は、各実行手段により、アプリケーションを実行し、前記各実行手段の前記アプリケーションの実行による各画像情報または実行情報を取得し、前記各画像情報または実行情報を取得、記憶し、前記記憶された各画像情報または前記各実行情報に基づいて生成される各画像情報を、端末に送信し、端末の指示に応じて、前記各実行手段のうち対応する実行手段の前記アプリケーションの実行による画像情報を取得する。
【００１１】
本発明の情報処理プログラムは、アプリケーションを実行する実行手段、前記実行手段の前記アプリケーションの実行による画像情報または実行情報を取得する第１の情報取得手段、をそれぞれ有する、複数の第１の情報処理手段、及び、前記複数の第１の情報処理手段から、前記各画像情報または実行情報を取得し記憶する画像情報記憶手段、記憶された前記各画像情報または前記各実行情報に基づいて生成される各画像情報を、端末に送信する画像情報送信手段、を有する第２の情報処理手段、としてコンピュータを機能させるための情報処理プログラムであって、前記各第１の情報取得手段は、端末の指示に応じて、前記各実行手段のうち前記端末に対応する前記実行手段の前記アプリケーションの実行による画像情報を取得する。
【００１２】
本発明の情報処理システムは、アプリケーションを実行する複数の実行手段と、前記複数の実行手段の前記アプリケーションの実行による各画像情報の全部または一部を取得する画像情報取得手段と、端末からの指示に応じて、前記各画像情報の全部または一部のうち前記端末に対応する画像情報を前記端末に送信する画像情報送信手段と、を有する。
【００１３】
本発明の情報処理方法は、複数の実行手段により、アプリケーションを実行し、前記複数の実行手段の前記アプリケーションの実行による各画像情報の全部または一部を取得し、端末からの指示に応じて、前記各画像情報の全部または一部のうち前記端末に対応する画像情報を前記端末に送信する。
【００１４】
本発明の情報処理プログラムは、アプリケーションを実行する複数の実行手段、前記複数の実行手段の前記アプリケーションの実行による各画像情報の全部または一部を取得する画像情報取得手段、及び、端末からの指示に応じて、前記各画像情報の全部または一部のうち前記端末に対応する画像情報を前記端末に送信する画像情報送信手段、としてコンピュータを機能させる。
【発明の効果】
【００１５】
アプリケーションプログラムに含まれていない新たな機能を追加することのできる情報処理システム、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態における情報処理システムの概要について説明するための図である。
【図２】本実施の形態における端末の構成について説明するための図である。
【図３】本実施の形態における端末の外観の一例を示す図である。
【図４】本実施の形態における仮想マシンを説明するための図である。
【図５】本実施の形態における管理サーバの機能的な構成を説明するための図である。
【図６（Ａ）】本実施の形態における設定画面の例を示す図である。
【図６（Ｂ）】本実施の形態における設定画面の例を示す図である。
【図６（Ｃ）】本実施の形態における設定画面の例を示す図である。
【図６（Ｄ）】本実施の形態における設定画面の例を示す図である。
【図６（Ｅ）】本実施の形態における設定画面の例を示す図である。
【図６（Ｆ）】本実施の形態における設定画面の例を示す図である。
【図６（Ｇ）】本実施の形態における設定画面の例を示す図である。
【図６（Ｈ）】本実施の形態における設定画面の例を示す図である。
【図７（Ａ）】本実施の形態における管理情報の例を示す図である。
【図７（Ｂ）】本実施の形態における管理情報の例を示す図である。
【図７（Ｃ）】本実施の形態における管理情報の例を示す図である。
【図７（Ｄ）】本実施の形態における管理情報の例を示す図である。
【図８】本実施の形態におけるトーナメント表の木構造の例を示す図である。
【図９】本実施の形態におけるスタート画面の例について説明するための図である。
【図１０】本実施の形態における各仮想マシンの機能的な構成について説明するための図である。
【図１１】本実施の形態におけるチェックポイントデータ記憶部の記憶の形式について説明するための図である。
【図１２】本実施の形態におけるチェックポイントの検出について説明するための図である。
【図１３】本実施の形態における処理情報実行部の機能的な構成について説明するための図である。
【図１４】本実施の形態におけるチェックポイント検出結果記憶部の記憶の形式について説明するための図である。
【図１５】本実施の形態における出力情報について説明するための図である。
【図１６】本実施の形態における出力情報について説明するための図である。
【図１７】本実施の形態における最終チェックポイントを検出した際の表示の一例について説明するための図である。
【図１８】本実施の形態におけるランキング画面の一例について説明するための図である。
【図１９】ゲームプログラムの実行が開始されるまでの、端末、管理サーバ、仮想マシンの処理のフローについて説明するための図である。
【図２０】ゲームプログラムの実行が開始されてからの各仮想マシンの処理のフローについて説明するための図である。
【図２１】本発明の変形例における仮想マシンの機能的な構成について説明するための図である。
【図２２】本発明の変形例における処理情報実行部の機能的な構成について説明するための図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態について、図面を参照しつつ説明する。なお、図面については、同一又は同等の要素には同一の符号を付し、重複する説明は省略する。
【００１８】
図１は、本発明の実施の形態における情報処理システムについて説明するための図である。図１に示すように、本実施の形態における情報処理システムは、クラウド基盤１００と、１または複数の端末１０２とを含む。クラウド基盤１００と当該端末１０２は、ネットワーク１０１を介して接続される。
【００１９】
クラウド基盤１００は、管理サーバ１０３、後述する１または複数の仮想マシン（ＶＭ）１０４、１または複数のデータベース（ＤＢ）１０５を含む。なお、ここでいうクラウド基盤１００とは、いわゆるネットワーク１０１をベースとしたコンピュータの利用形態であって、ユーザーがコンピュータ処理をネットワーク経由で、サービスとして利用するための基盤をいう。
【００２０】
端末１０２は、図２に示すように、制御部２０１、通信部２０２、記憶部２０３、表示部２０４、操作部２０５を含む。なお、各部２０１−２０５は、バス２０６を介して接続される。
【００２１】
制御部２０１は、例えば、ＣＰＵやＭＰＵ等であって、記憶部２０３に格納されたプログラムに従って動作する。記憶部２０３は、例えば、ハードディスクやＲＯＭやＲＡＭ等の情報記録媒体で構成され、制御部２０１によって実行されるプログラムを保持する情報記録媒体である。また、記憶部２０３は、制御部２０１のワークメモリとしても動作する。なお、上記制御部２０１で処理されるプログラムは、例えば、ネットワーク１０１を介して、ダウンロードされて提供されてもよいし、または、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等のコンピュータで読み取り可能な各種の情報記録媒体によって提供されてもよい。操作部２０５は、例えば、キーボード、マウス、コントローラ、ボタン等のインターフェースで構成され、ユーザーの指示操作に応じて、当該指示操作の内容を制御部２０１に出力する。表示部２０４は、例えば、液晶ディスプレイ、ＣＲＴディスプレイ、または有機ＥＬディスプレイ等であって、制御部２０１からの指示に従い、情報を表示する。
【００２２】
なお、端末１０２の構成は一例であってこれに限定されるものではない。また、データベース１０５や管理サーバ１０３も、上記と同様の制御部２０１、通信部２０２、記憶部２０３を含んで構成されることから、詳細な説明については省略する。
【００２３】
図３は、端末の外観の一例を示す図である。図３に示すように、端末１０２は、例えば、操作部２０５として、方向キー３０１、複数のボタン３０２、アナログ操作部３０３を有し、また、表示部２０４として表示画面３０４を有する。
【００２４】
方向キー３０１は、例えば、上方向指示キー、下方向指示キー、右方向指示キー、左方向指示キーを有する。当該方向キー３０１により、ユーザーは、例えば、画面上の対象物を、上下左右に移動する等を行う。また、複数のボタン３０２には、それぞれ、例えば、ａ、ｂ、ｃ、ｄ等の印をそれぞれ有する。ユーザーは、例えば、これらのボタン３０２を押すことにより、実行されるアプリケーションによって定められるそれぞれのボタンに応じた処理を実行することができる。
【００２５】
アナログ操作部３０３は、例えば、所定の基準位置からの傾倒操作が可能であり、ユーザーは、アナログ操作部３０３の基準位置からの傾き量と傾き方向に応じた入力情報を入力する。例えば、ユーザーは、アナログ操作部３０３を用いて、表示画面３０４上に表示された対象物を、当該傾き量と傾き方向に応じて、所望の方向に所望の量だけ傾ける等を行うことができる。また、表示画面３０４は、表示部２０４の表示画面３０４に相当し、例えば、アプリケーションに応じた画像等を表示する。
【００２６】
なお、図３に示した端末１０２の外観、操作部２０５及び表示部２０４の構成は、一例であって、これらに限られるものではない。例えば、操作部２０５は、表示部２０４に表示されたタッチパネルにより形成されてもよいし、表示部２０４は、ＣＲＴや液晶表示装置で形成されたモニタ等の表示画面であってもよい。更に、方向キー３０１、複数のボタン３０２、アナログ操作部３０３の数はその他の数であってもよいし、また、端末１０２は、スタートボタンやセレクトボタン（図示なし）等その他のボタンや加速度センサ等を有してもよい。
【００２７】
図４は、図１に示した仮想マシンを説明するための図である。図４に示すように、クラウド基盤１００は、仮想マシン制御部４０１、仮想マシン制御部４０１に接続された物理マシン４０２群を含む。
【００２８】
図４に示すように、各物理マシン４０２上にはハイパーバイザ４０３が設けられ、ハイパーバイザ４０３上に１又は複数の仮想マシン（ＶＭ）１０４が立ち上げられる。なお、ハイパーバイザ４０３とは、汎用ＯＳの助けを必要とせずに、各物理マシン４０２の上に仮想マシン１０４を立ち上げ、制御するソフトウェアである。また、仮想マシン１０４とは、公知のようにＣＰＵとメモリのセットを仮想的に作りだしたものである。なお、各物理マシン４０２は、ＣＰＵやメモリ等により形成されるコンピュータであることはいうまでもない。
【００２９】
各仮想マシン１０４は、ＯＳ４０４とアプリケーション４０５を有する。なお、仮想マシン１０４で処理される上記プログラムは、当該アプリケーション４０５の１つに相当する。仮想マシン制御部４０１は、上記物理マシン４０２上に、１又は複数の仮想マシン１０４を生成する。これは、具体的には、ハイパーバイザ４０３を介して、仮想マシン１０４への物理マシン４０２のリソース（例えば、ＣＰＵの処理時間、メモリ容量等のリソース）を割り当てて、制御することによって行われる。
【００３０】
つまり、下記に説明する仮想マシン１０４におけるプログラムのインストールや実行は、実際には、物理マシン４０２で行われる。例えば、物理マシン４０２におけるメモリ等で構成される記憶部に、本実施の形態におけるプログラムを含む複数のプログラムが、記憶され、本実施の形態におけるプログラムは、実際には物理マシン４０２の１または複数のＣＰＵにより、実行される。このとき、物理マシン４０２の１または複数のＣＰＵは、上記複数のプログラムにも使用され、例えば、１または複数のＣＰＵの処理時間を分割してその一部を、本実施の形態におけるプログラムの実行に割り当てられること等により実行される。なお、上記に示した仮想マシン（情報処理手段）の構成は一例であってこれに限定されるものでない。
【００３１】
図５は、管理サーバの機能的な構成を説明するための図である。図５に示すように、例えば、管理サーバ１０３は、設定画像情報配信部５０１、操作情報取得部５０２、管理情報設定部５０３、実行情報取得部５０８、サムネール画像情報生成部５０９、実行情報送信部５１０、スタート画像配信部５１２、仮想マシン割当部５１４、仮想マシン制御部５１５を有する。
【００３２】
設定画像情報配信部５０１は、ユーザーの指示に応じて、後述するユーザーがゲームを選択するための画面やプレイ形式を選択するための画面等のゲームの設定についての画像情報を端末１０２に配信する。操作情報取得部５０２は、後述するユーザーのゲームの選択操作指示や、グループの選択指示等のユーザーの操作指示に関する操作情報を取得する。管理情報設定部５０３は、グループ情報記憶部５０４、対戦相手情報記憶部５０５、トーナメント情報記憶部５０６、更新部５０７を有する。
【００３３】
具体的には、例えば、図６（Ａ）乃至（Ｈ）を用いて説明する。設定画像情報配信部５０１は、ユーザーのゲーム選択画面要求に応じて、例えば、図６（Ａ）に示すようなゲーム選択画面についての画像情報を、当該ユーザーに対応する端末１０２に配信する。ユーザーは対応する端末１０２の表示部２０４に表示された当該ゲーム選択画面を参照しつつ、所望のゲームを選択する。このとき、当該ゲーム選択画面は、各ゲームのタイトル、画像、今までに当該ゲームがプレイされた人数等の当該ゲームに関連情報を示してもよい。また、例えば、当該ゲームが、所定のゲームの一部、例えば、レースゲームの１のコース、から形成される場合は、当該コース名や複数のプレーヤーが当該ゲームの一部をクリアするまでに要した時間のうちの一番短い時間、つまり、トップタイムを表示する等についても表示してもよい。なお、当該関連情報等は、例えば、データベース１０５から、設定画像情報配信部５０１が取得する。
【００３４】
ゲームが選択されると、設定画像情報配信部５０１は、例えば、図６（Ｂ）に示すような選択されたゲームのプレイ形式等を選択するためプレイ形式選択画面についての画像情報を端末１０２に配信する。ユーザーは端末１０２の表示部２０４に表示された当該プレイ形式選択画面を参照しつつ、プレイ形式等を選択する。
【００３５】
ここで、対戦プレイが選択された場合には、設定画像情報配信部５０１は、例えば、図６（Ｃ）に示すような対戦相手設定画面を表示するための画像情報を端末１０２に配信する。例えば、ユーザーは、端末１０２に表示された当該対戦相手設定画面の対戦可能相手ウィンドウ６０１に表示された同様に対戦プレイを選択している他のユーザー名を対戦相手ウィンドウ６０２にドラッグすることにより、対戦相手を選択することができる。具体的には、図６（Ｃ）は、ユーザー１がユーザー２を対戦相手として選択した場合を示す。ここで、対戦可能相手ウィンドウ６０１には後述する当該ユーザーの動画像データ等が記録されているユーザー名を表示してもよい。この場合、例えば、ユーザーは、実際には非同期ではあるが疑似的に同期して対戦プレイ、トーナメントプレイ等を行うことができる。
【００３６】
対戦相手情報記憶部５０５は、対戦相手が決定されると、上記のようにして決定された対戦相手のユーザー識別情報を、当該ゲームの識別情報とともに対戦相手情報として関連付けて記憶する。ここで、対戦相手情報記憶部５０５は、更に、例えば、図７（Ａ）に示すように、各ユーザーの選択されたゲームの習熟度等を表すランク情報を識別するためのランク識別情報や、その他の関連情報、例えば各ユーザーが登録しているフレンドリストやグループ名等を更に関連付けて記憶してもよい。
【００３７】
トーナメントプレイが選択された場合には、例えば、図６（Ｅ）に示すようなトーナメント設定画面を表示するための画像情報を端末１０２に配信する。ユーザーは、例えば、端末１０２に表示された当該トーナメント設定画面に表示されるノード１乃至４を選択することにより、トーナメントに参加することができる。具体的には、図６（Ｅ）は、ユーザー１がノード１をユーザー２がノード３を選択した場合を示し、ノード２とノード４については、未選択であることを示している。トーナメント表が決定（例えば、ノード１乃至４のユーザーが決定）されると、トーナメント情報記憶部５０６は、例えば、図７（Ｂ）に示したように、選択されたゲームのゲーム識別情報、トーナメント表のノードを識別する情報、ユーザー識別情報を関連付けて、トーナメント情報として表の形式で記憶する。なお、トーナメント情報記憶部５０６は、更に、トーナメント情報として、ゲーム識別情報毎に、例えば、図８に示した各ノードにノード識別情報が関連付けられた木構造を保持しており、これらに基づいて、トーナメントの各対戦において対戦するユーザーの組み合わせが決定される。ここで、トーナメントのノードには後述する当該ユーザーの動画像データ等が記録されているユーザー名を表示してもよい。この場合、例えば、ユーザーは、非同期ではあるが疑似的に同時にトーナメントプレイを行うことができる。なお、当該トーナメント情報記憶部は上記と同様に、各ユーザーのランク情報等についても関連付けて記憶してもよい。
【００３８】
グループ対戦プレイまたはグループトーナメントプレイが選択された場合には、例えば、図６（Ｄ）に示すようなトーナメント設定画面を表示するための画像情報を端末１０２に配信する。ユーザーは、例えば、端末１０２に表示された当該グループ設定画面に表示を参照しつつ、当該ユーザーが属するグループを選択することができる。このとき、グループに含まれるユーザーの優先順位や、各グループの代表権を有するリーダーを決定できるようにしてもよい。グループ情報記憶部５０４は、上記のように設定されたグループを、例えば、図７（Ｃ）に示すように、選択されたゲームのゲーム識別情報、ユーザー識別情報と、グループ識別情報を関連付けて記憶する。グループ情報記憶部５０４は、更に、ユーザー識別情報に加えて、グループにおけるリーダーか否かを示すリーダー識別情報、優先順位についての優先順位識別情報や、上記ランク情報等を関連付けて記憶してもよい。グループ対戦プレイやグループトーナメントプレイの形式については、例えば図６（Ｆ）（Ｇ）に示すようにユーザーにかえてグループとして対戦相手等を選択する他は、図６（Ｃ）（Ｅ）に示した場合と同様であることから、詳細な説明は省略する。なお、当該図６（Ｆ）（Ｇ）における対戦相手等の選択については、例えば、各グループのリーダーとして設定されたユーザーが行うように構成すればよい。
【００３９】
観戦が選択された場合には、例えば、図６（Ｈ）に示す現在各仮想マシン１０４で生成されている複数の画像情報をサムネール表示したサムネールメニュー画面が端末１０２の表示部２０４に表示される。そして、ユーザーが、当該サムネール表示を参照し、所望のサムネール画像を選択することにより（例えば、端末１０２からの指示に相当）、対応する画像情報が当該端末１０２の表示部２０４に表示される。なお、当該サムネールメニューは、上述のプレイ形式や、グループ、ユーザーのランク等を含む関連情報を併せて表示するようにしてもよいことはいうまでもない。
【００４０】
この場合、具体的には、実行情報取得部５０８が後述する各仮想マシン１０４で生成される画像情報を取得し、サムネール画像情報生成部５０９が、当該各画像情報から、図６（Ｈ）に示すような当該サムネール画像を複数配置したサムネールメニュー画面を生成するための画像情報を生成するとともに、観戦を選択したユーザーに対応する端末１０２に送信する。そして、ユーザーは、所望のサムネールを選択指示し、これに応じて、実行情報送信部５１０は、当該サムネールに対応する画像データを端末１０２に送信する。これにより、ユーザーは所望のゲームを観戦できる。なお、上記においては、ゲームが選択された後、プレイ形式選択画面において観戦を選択できる構成としたが、ゲーム選択画面において、観戦を選択できるように構成してもよい。
【００４１】
また、図６（Ｈ）に示すサムネール表示された画像情報は、実行情報記憶部５１１に記憶された画像情報を含んでもよい。この場合、実行情報取得部５０８は、実行情報記憶部５１１に記憶されている画像情報を取得し、サムネール画像情報生成部５０９が、当該画像情報から、図６（Ｈ）に示すような当該サムネール画像を複数含んだサムネールメニュー画面を生成する画像情報を生成し、観戦を選択した端末１０２に送信する。なお、実行情報記憶部５１１は、例えば、観戦しているユーザーからの操作指示に応じて、ユーザーにより指定された特定のシーンに関する画像情報を実行情報取得部５０８から取得し、記憶するように構成してもよい。これにより、例えば、特定シーンのプレイ集等の記憶が可能となる。また、上記においては画像情報について説明したが、当該画像情報は、動画像情報であってもよいし、その他の情報、例えば、音声情報、を含んでもよい。サムネールメニュー画面は、更に、各サムネール画像に対応する種々の情報、例えばユーザー名、当該ユーザーのランク、プレイ時間、プレイ形式等を併せて表示してもよい。また、例えば、実行情報送信部５１０は、上記のようにユーザーの指示（端末からの指示）に応じて、実行情報記憶部５１１に記憶された当該ユーザーに対応する画像情報を送信するよう構成してもよい。また、例えば、実行情報記憶部５１１に記憶された当該ユーザーに対応する実行情報に基づいて当該ユーザーに対応する仮想マシン１０４で当該ユーザーに対応する画像情報を生成し、当該画像情報を仮想マシン１０４または実行情報送信部５１０が当該ユーザーに当該画像情報を送信するよう構成してもよい。
【００４２】
また、実行情報記憶部５１１は、例えば、端末１０２へのユーザーのプレイ記録指示に応じて、後述する仮想マシン１０４の実行部８０６の実行情報を記憶するように構成してもよい。この場合、例えば、後述するように当該記憶された実行情報を用いて実行部８０６がゲームプログラムを実行することにより、あるゲームプログラムのプレイ場面のアップロードを行うことができる。
【００４３】
スタート画像配信部５１２は、上記対戦相手情報やトーナメント情報等の管理情報に応じて、各端末１０２にスタート画像を配信する。なお、例えば、当該スタート画像の配信は、所定のユーザー（例えば、グループのリーダー）の指示に応じて開始されるように構成してもよいし、対戦相手等の決定後、所定の期間経過した場合に開始される等としてもよい。
【００４４】
具体的には、例えば、選択されたゲームの識別情報がｇ１の場合であって、対戦相手情報が図７（Ａ）の場合を用いて説明する。この場合、ユーザー識別情報ｕ１乃至ｕ３が対戦相手情報記憶部５０５に記憶されているので、ユーザー識別情報ｕ１乃至ｕ３に対応する各端末１０２にスタート画像を配信する。
【００４５】
また、例えば、選択されたゲームの識別情報がｇ１の場合であって、トーナメント情報が図７（Ｂ）及び図８の場合、トーナメントの一回戦は、図８よりノード識別情報ｎ１とｎ２に対応するユーザーの対戦、ノード識別情報ｎ３とｎ４に対応するユーザーの対戦であり、図７（Ｂ）より、ノード識別情報ｎ１乃至ｎ４は、それぞれユーザー識別情報ｕ１乃至ｕ４に対応していることから、ユーザー識別情報ｕ１乃至ｕ４に対応する各端末１０２にスタート画像を配信する。同様に、トーナメントの２回戦は、ユーザー識別情報ｕ１とｕ３に対応するユーザーの対戦であることから、ユーザー識別情報ｕ１とｕ３に対応する各端末１０２にスタート画像を配信する。なお、上記においては、トーナメントの２回戦については、１回戦で敗退したユーザー（ユーザー識別情報ｕ２とｕ４に対応）は、当該２回戦を観戦しないものとして説明したが、当該ユーザーが観戦を所望する場合は、当該ユーザーに対応する端末１０２にもスタート画像を送信するようにしてもよい。なお、下記において当該スタート画像が送信される端末１０２を対象端末１０２と称する。
【００４６】
各対象端末１０２は、配信されたスタート画像情報に基づいたスタート画像を表示する。なお、当該スタート画像情報は、例えば、ゲーム識別情報に関連付けてスタート画像記憶部５１３に記憶されており、スタート画像配信部５１２は、選択されたゲームのゲーム識別情報に基づいて、スタート画像情報を取得するようにすればよい。
【００４７】
また、例えば、スタート画像記憶部５１３には、当該スタート画像情報に関連付けてオブジェクト画像と当該オブジェクト画像のスタート画像上の位置情報が記憶されていてもよい。この場合、スタート画像配信部５１２は、当該オブジェクト画像をその位置情報に従って、スタート画像情報の再生によるスタート画像に加えて表示するスタート画像情報を生成するとともに、当該スタート画像情報を配信する。なお、当該オブジェクト画像は、例えば、音声情報を有してもよいし、また、動画像であってもよい。
【００４８】
具体的には、例えば、選択されたゲームがレースゲームである場合の例を用いて説明する。例えば、図９（Ａ）に示すように、スタート前のシーンが上記スタート画像であって、図９（Ｂ）に示すように、オブジェクト画像が信号のオブジェクト画像であるとすると、スタート画像配信部５１２は、図９（Ａ）に示したスタート画像に、図９（Ｂ）に示したオブジェクト画像をその位置情報に応じて重ねて表示した画像（図９（Ｃ））を生成し、当該画像を対応する対象端末１０２に配信する。なお、当該信号のオブジェクト画像は、例えば、音声によるカウントダウンとともに、赤から青に変化するような動画像であってもよい。なお、上記においては、スタート画像があらかじめスタート画像記憶部５１３に記憶されている場合について説明したが、スタート画像についても後述する各仮想マシン１０４がプログラムの実行を開始することにより生成されるように構成してもよい。
【００４９】
仮想マシン割当部５１４は、各対象端末１０２に、それぞれ仮想マシン１０４を割り当てるとともに、選択されたゲームの識別情報を各仮想マシン１０４に送信する。また、仮想マシン割当部５１４は、更に、選択されたプレイ形式等に応じて、選択されたプレイ形式等とともに上記グループ情報、対戦相手情報、トーナメント情報等（以下管理情報と称する）を送信してもよい。これにより、各仮想マシン１０４は、選択されたゲームやプレイ形式、ユーザー識別情報等を把握することができる。仮想マシン制御部５１５は、各対象端末１０２に割り当てられた仮想マシン１０４を制御する。
【００５０】
具体的には、例えば、１Ｐプレイが選択されている場合には、仮想マシン割当部５１４は、当該端末１０２に、仮想マシン１０４を割り当て、仮想マシン制御部５１５は、当該割り当てられた仮想マシン１０４に選択されたゲームのゲーム識別情報及びユーザー識別情報を含む関連情報を送信するとともに、当該ゲーム識別情報を有するゲームプログラムの実行を開始するよう指示する。当該指示に応じて、当該仮想マシン１０４は、当該ゲームプログラムに対応して記憶されたスナップショット情報を用いて、当該ゲームプログラムの実行を開始等するが、詳細には後述する。
【００５１】
対戦プレイが選択されている場合には、例えば、仮想マシン割当部５１４は、対戦相手情報に基づき、対戦相手として選択されているユーザーに対応する各端末１０２にそれぞれ仮想マシン１０４を割り当てる。具体的には、図７（Ａ）の場合、対戦相手情報として、ユーザー識別情報ｕ１乃至ｕ３が記憶されていることから、ユーザー識別情報ｕ１乃至ｕ３に対応する各端末１０２に各仮想マシン１０４を割り当てる。仮想マシン制御部５１５は、当該割り当てられた各仮想マシン１０４に選択されたゲームのゲーム識別情報及びユーザー識別情報等を送信するとともに、当該ゲーム識別情報を有するゲームプログラムの実行を同期して開始するよう指示する。これにより、ユーザーは、同時に対戦プレイを行うことができる。
【００５２】
トーナメントプレイが選択された場合には、例えば、仮想マシン割当部５１４は、トーナメント情報に応じて、各仮想マシン１０４を割り当てる。具体的には、例えば、トーナメント情報が図７（Ｂ）及び図８に示される場合において、ゲームプログラムがレースの１コースであって、当該１コースについて仮想マシン１０４で当該ゲームプログラムが開始され終了される場合について説明する。１回戦（回戦識別情報が１に相当）においては、ユーザ識別情報ｕ１とｕ２、ｕ３とｕ４に対応するユーザーの対戦であることから、仮想マシン制御部５１５は、ユーザ識別情報ｕ１乃至ｕ４に対応する各仮想マシン１０４にゲームプログラムを同期して開始するよう指示する。２回戦においては、仮想マシン制御部５１５は、ユーザ識別情報ｕ１とｕ３に対応するユーザーの対戦であることから、ユーザ識別情報ｕ１とｕ３に対応する各仮想マシン１０４にゲームプログラムの実行を同期して開始するよう指示する。なお、この場合、ユーザ識別情報ｕ２とｕ４に対応するユーザーが、トーナメントの２回戦（回戦識別情報が２に相当）についても観戦することができるよう、ユーザ識別情報ｕ１とｕ３に対応する仮想マシン１０４に、当該ゲームプログラムの実行による画像情報を、ユーザ識別情報ｕ２とｕ４に対応する端末１０２に送信するよう指示する構成としてもよい。なお、上記は、２回戦までのトーナメントの例として説明したが、３回戦、４回戦等がある場合には、上記と同様の処理が行われることはいうまでもない。
【００５３】
グループ対戦が選択されている場合、仮想マシン割当部５１４は、グループ対戦情報に応じて、各仮想マシン１０４を割り当て、仮想マシン制御部５１５は、当該グループ対戦情報に応じて、各仮想マシン１０４を制御する。具体的には、例えば、図７（Ｃ）に示した場合において、ゲームプログラムがレースの１コースであって、当該１コースについて仮想マシン１０４で当該ゲームプログラムの実行が行われる場合について説明する。１回目の対戦では、ユーザー識別情報ｕ１とｕ３に対応するユーザーの対戦であることから、ユーザー識別情報ｕ１とｕ３に対応する仮想マシン１０４に当該ゲームプログラムの実行を開始するよう指示する。このとき、ユーザー識別情報ｕ２とｕ４に対応するユーザーがユーザー識別情報ｕ１とｕ２に対応するユーザーの対戦を観戦できるよう、当該ゲームプログラムの実行による画像情報をユーザー識別情報ｕ２とｕ４に対応する端末１０２に送信するよう指示するように構成してもよい。２回目の対戦では、ユーザー識別情報ｕ２とｕ４に対応するユーザーの対戦であることから、ユーザー識別情報ｕ２とｕ４に対応する仮想マシン１０４に当該ゲームプログラムの実行を開始するよう指示する。このとき、同様に、ユーザー識別情報ｕ１とｕ３に対応するユーザーがユーザー識別情報ｕ２とｕ４に対応するユーザーの対戦を観戦できるように、当該ゲームプログラムの実行による画像情報をユーザー識別情報ｕ１とｕ３に対応する端末１０２に送信するよう構成してもよい。
【００５４】
グループトーナメントが選択されている場合には、例えば、仮想マシン割当部５１４は、グループ対戦情報及びグループトーナメント情報に応じて、各仮想マシン１０４を割り当てる。そして、仮想マシン制御部５１５は、グループ対戦情報及びグループトーナメント情報に応じて、各仮想マシン１０４を制御する。具体的には、例えば、図７（Ｃ）、（Ｄ）に示した場合おいて、ゲームプログラムがレースの１コースであって、当該１コースについて仮想マシン１０４で当該ゲームプログラムの実行が開始され終了される場合について説明する。１回目の対戦においては、グループ識別情報Ｇ１とＧ２及びＧ３とＧ４に対応するグループの対戦であることから、各グループの優先順位が１（優先順位識別情報が１に相当）のユーザー（例えばユーザー識別情報ｕ１とｕ３に対応するユーザー等）に対応する仮想マシン１０４に当該ゲームプログラムの実行を同期して開始するよう指示する。１回目の対戦の次の対戦は、各グループの優先順位が２のユーザー（例えば、ユーザー識別情報ｕ２とｕ４に対応するユーザー等）であることから、各優先順位が２のユーザーに対応する仮想マシン１０４に当該ゲームプログラムを同期して開始するように指示する。２回目の対戦は、Ｇ１とＧ３の対戦であることから、Ｇ１とＧ３の優先順位が１のユーザー（例えばユーザー識別情報ｕ１に対応するユーザー等）に対応する仮想マシン１０４のエミュレーションを同期して開始するよう指示する。以下同様にトーナメントが終了するまで同様の処理を行う。
【００５５】
なお、管理サーバ１０３の構成は上記に限定されるものではなく、上記構成と実質的に同一の構成、同一の作用効果を奏する構成又は同一の目的を達成することができる構成で置き換えることができる。例えば、上記に示した対戦プレイ、トーナメントプレイ、グループ対戦プレイ、グループトーナメントプレイ等として説明した例は、一例であって、これに限定されるものではない。
【００５６】
例えば、トーナメントは、上記の他、総当たり戦、勝ち抜き戦、勝ち上がり戦等その他の形式であってもよい。また、トーナメント等で競われる内容は、各ユーザーがゲームで獲得したスコア、所定の期間内のスコア、あるポイントまでに要した時間、グループ全体での上記スコアや時間等が含まれる。また、上記トーナメントにおける各回の対戦は、２のユーザ毎に対戦する場合を例として説明したが、他の人数毎におこなわれるものであってもよいし、また、トーナメント表は異なる形式であってもよい。また、上記の例においては、複数人でプレイされる対戦プレイ等の場合に、仮想マシン１０４を同期させてゲームプログラムを実行させる例を用いて説明したが、後述するように非同期（例えば、予め記録された動画像と対戦する）で、行われるようにしてもよい。また、管理サーバ１０３は、上記構成に加え、例えば、上記のようなゲームプログラムの使用を各ユーザーが開始してから終了するまでの時間を管理する時間管理手段を有し、当該時間に基づいて課金情報を生成し保持してもよいし、また、月額制等で各ユーザーの使用を管理してもよい。
【００５７】
次に、図１０を用いて各仮想マシン１０４の機能的な構成について説明する。図１０に示すように、各仮想マシン１０４は、例えば、スナップショット取得部８０１、ゲーム取得部８０３、時間計測部８０５、実行部８０６、実行制御部８０７、チェックポイント検出部８０８、実行情報取得部８０９、処理情報実行部８１３、圧縮部８１４、送信部８１５、チェックポイントデータ設定部８１８を含む。
【００５８】
スナップショット取得部８０１は、管理サーバ１０３から選択されたゲームのゲーム識別情報を取得し、当該ゲーム識別情報に基づいて、スナップショット記憶部８０２から、当該識別情報に関連付けて記憶されたスナップショット情報を取得する。ここで、スナップショット情報とは、後述する実行部、つまり、例えば、エミュレータやシミュレータ、により再現されるゲーム機器の実行状態（メモリ、レジスタ、プログラムカウンタの値等）や、ゲーム機器が実装される場合には当該ゲーム機器の実行状態に相当する。なお、スナップショット記憶部８０２は、例えば、図１に示したデータベースのうち１のデータベース１０５に相当する。なお、スナップショット情報は、更に、上記ユーザー識別情報及び当該ユーザーのランク情報と関連付けられて記憶され、スナップショット取得部８０１は、管理サーバ１０３から取得したユーザーの識別情報及びランク情報に基づいて、スナップショット情報を取得する構成としてもよい。この場合、例えば、レースゲームの１コースについてランクが低いユーザーとランクが高いユーザーが対戦する場合、ランクが低いユーザーについては、ランクが高いユーザーよりもコースが進んだ場所からスタートさせる等、ユーザー毎にハンディをつけることができる。
【００５９】
ゲーム取得部８０３は、管理サーバ１０３から選択されたゲームプログラムのゲーム識別情報を取得し、当該ゲーム識別情報に基づいて、ゲーム記憶部８０４から対応するゲームプログラムを取得する。なお、ゲーム記憶部８０４は、例えば、図１に示したデータベースのうち１のデータベース１０５に相当する。
【００６０】
時間計測部８０５は、例えば、後述する実行部８０６によるゲームプログラムの実行の開始からの経過時間、チェックポイント検出部８０８による、あるチェックポイントの検出から他のチェックポイントの検出までの時間等、予め設定された時間を計測する。また、当該時間計測部８０５は、ユーザーの指示に応じて、時間の計測の開始や終了を行うように構成してもよい。
【００６１】
実行部８０６は、実行制御部８０７からの制御信号に応じて、ゲーム取得部８０３により取得されたゲームプログラムを実行する。実行制御部８０７は、実行部８０６のゲームプログラムの実行を制御する。具体的には、例えば、上記同時プレイが選択されている場合には、管理サーバ１０３からのゲームプログラムの実行の開始指示に応じて、実行部８０６の実行を開始する、または、後述するチェックポイント検出部８０８により、最後のチェックポイント（例えば、レースゲームのゴール画面に相当する）が検出された場合に、実行部８０６の実行を停止するよう指示する等である。ここで、実行部８０６は、例えば、当該ゲームプログラムの実行を開始する際に、スナップショット取得部８０１により取得されたスナップショット情報を用いる。これにより、例えば、ゲームプログラムのあらかじめ定められた所定のステージからの開始が可能となる。ここで、実行部８０６は、例えば、当該ゲームプログラムを対象としたゲーム機器のエミュレータやシミュレータ、または当該ゲーム機器に相当する。
【００６２】
実行情報取得部８０９は、実行部８０６の上記ゲームプログラムの実行により生成された実行情報を取得する。当該実行情報は、ゲームプログラムの実行により生成される画像情報や動画像情報、音声情報、実行部８０６の内部状態を示す情報（メモリ、レジスタ、プログラムカウンタの値等）等を含む。また、実行情報取得部８０９は、例えば、ユーザーの指示に応じて、実行情報記憶部８１０から実行情報を取得するように構成してもよいし、他の仮想マシン１０４の実行情報取得部８０９から実行情報を取得するよう構成してもよい。この場合、例えば、同一または他のユーザーの実行情報を利用することにより、プレイ場面のアップロードを行い、当該プレイ画面からゲームを実行することができる。ここで、当該実行情報記億部８１０に記憶された実行情報は、例えば同一または他の仮想マシン１０４の実行部８０６により生成された実行情報に相当する。また、例えば、対戦プレイ等複数人で同一のゲームが行われている場合等において、一時的にゲームを停止するようユーザーから指示された場合（例えば、ポーズボタンが押された場合）、実行情報記憶部８１０が当該停止されるまでの実行情報を記憶し、ゲームの再開を指示された場合には、当該停止された際の実行情報に基づいて、ゲームを再開できるように構成してもよい。この場合、当該停止や再開を指示できるユーザーは、あらかじめ設定されるように構成してもよい。
【００６３】
実行情報送信部８１１は、例えば、実行情報取得部８０９で取得された実行情報に含まれる画像情報を管理サーバ１０３に送信する。例えば、管理サーバ１０３は上述のように当該画像情報を、観戦を選択したユーザーに対応する端末１０２に送信する。また、実行情報送信部８１１は、管理サーバ１０３を介さずに直接観戦を選択したユーザーに対応する端末１０２に当該画像情報を送信してもよい。これにより、例えば、上述した当該ユーザーは、他のユーザーのゲームを観戦することができる。
【００６４】
チェックポイント検出部８０８は、上記実行情報に基づいて、あらかじめ設定されたチェックポイントを検出するとともに、検出したチェックポイントを識別するチェックポイント識別情報とともに当該チェックポイントに対応する処理情報のアドレスを処理情報実行部８１３に送信する。
【００６５】
具体的には、例えば、チェックポイント検出部８０８は、選択されたゲームのゲーム識別情報に基づいて、チェックポイントデータ記憶部８１２から、チェックポイントを検出するための条件情報アドレス及び処理情報アドレスを取得する。ここで、チェックポイントデータ記憶部８１２は、例えば、図１１に示すように、ゲーム識別情報、条件情報アドレス、処理情報アドレスを表の形式で記憶しており、チェックポイント検出部８０８は、選択されたゲームのゲーム識別情報に基づいて、当該ゲームの条件情報アドレスを取得し、上記実行情報が当該条件情報アドレスに記憶された条件情報に合致するか否かを判断する。例えば、図１１の例の場合、選択されたゲームの識別情報がｇ１とすると、チェックポイント検出部８０８は、条件情報アドレスｃ１乃至ｃ４を有する各条件情報を取得し、上記実行情報が当該各条件情報に合致するか否かを判断する。
【００６６】
ここで、各条件情報は、上記ゲームプログラムの実行中の各チェックポイント、例えば、予め設定されたシーンやアクション等、に対応して記憶されている。チェックポイント検出部８０８は、上記取得された実行状態が当該各条件情報に応じた各条件に合致するか否かにより、あらかじめ設定された１または複数のチェックポイントを検出することができる。
【００６７】
より詳細には、例えば、当該条件情報は、特定の状況において実行部８０６により生成された画像情報や音声情報等のうちの全部または一部の特定のパターンや特徴量や特定のプログラムカウンタやレジスタの値等を含み、チェックポイント検出部８０８は、実行部８０６により生成された実行情報が、当該特定のパターンや特徴量等に合致するか否かを判定する。また、当該特定のパターンや特徴量等に合致するか否かについては、例えば、チェックポイント検出部８０８が、実行部８０６により生成された実行情報が、当該特定の特徴量等に対して、条件情報に含まれる所定の範囲内であるか否かを判定することにより行われる。具体的には、例えば、当該判定には、画像認識、音声認識、文字認識等を用いればよい。
【００６８】
ここで、例えば、選択されたゲームが上記レースゲームの例を用いて説明する。図１２に示すように、例えば、レースコースの地図１１０を示す画像が表示され、操作対象の車の位置情報が特定の色で表示される場合には、当該レースコースの地図１１０を示す画像の所定の位置の色がコースの色から、当該特定の色に変化したかを特徴量として画像認識等により認識することにより、チェックポイントを検出するように構成すればよい。この場合、画像認識させる範囲は、例えば、図１２に示すように、表示範囲のうちの一部の範囲１１１としてもよい。なお、その他の当該レースゲームの途中の特別な画像や文字等を画像認識や文字認識等することにより、チェックポイントを検出する構成であってもよい。
【００６９】
処理情報実行部８１３は、チェックポイント検出部８０８によりあるチェックポイントが検出された場合（ある条件情報に合致すると判断した場合）、チェックポイントデータ記憶部８１２に当該チェックポイント（条件情報）に関連付けて記憶されている処理情報をチェックポイントデータ記憶部８１２から取得する。具体的には、チェックポイント検出部８０８から取得した処理情報アドレスに基づいて、処理情報を取得する。そして、当該処理情報に基づいた処理を実行する。当該処理は、例えば、画像情報や音声情報等の出力処理であって、実行部８０６によるゲームプログラムの実行により生成された画像や音声等に加えて当該処理情報に基づく画像や音声等を出力するための処理、当該ゲームの終了後に表示される画像を出力するための処理等を含む。また、例えば、最後のチェックポイントに関連付けられた処理情報は実行部８０６の当該ゲームプログラムの実行を停止する処理に相当するように構成してもよい。また、例えば、当該処理情報は、例えば、所定の画像等に応じてユーザーのランク情報を認識するとともに、上記ランク情報を更新するように構成してもよい。また、チェックポイントデータ設定部８１８が管理サーバからの管理情報やユーザーの指示等に応じて、当該処理情報を変更または設定するように構成してもよい。また、例えば、上記対戦プレイやトーナメントプレイ等が行われている場合と、それ以外の場合（例えば、１Ｐプレイが選択されている場合）に応じて、異なる処理が行われるように構成してもよい。この場合、例えば、上記プレイ形式等に応じて、異なる処理情報が取得され、当該処理が実行されるように構成してもよい。
【００７０】
ここで、当該ゲームプログラムが、図１３及び上記レースゲームの例を用いて、当該処理情報実行部８１３の機能的な構成の一例についてより詳細に説明する。チェックポイント検出結果送信部２１１は、チェックポイントを検出した結果についての情報（チェックポイント検出結果情報）を他の仮想マシン１０４や仮想サーバに送信する。ここで、他の仮想マシン１０４とは、例えば、管理サーバ１０３により、当該レースゲームが同期して開始されている仮想マシン１０４等に相当する。
【００７１】
具体的には、例えば、同時プレイが選択されている場合であって、チェックポイント検出部８０８により、例えば、順位を表示するための処理情報に関連付けられたチェックポイントが検出された際には、当該チェックポイント（条件情報）を識別するチェックポイント識別情報とともに、当該チェックポイントが検出された時間情報、及び、当該仮想マシン１０４の実行部８０６を割り当てられたユーザー識別情報を他の仮想マシン１０４に送信する。
【００７２】
また、例えば、グループ対戦プレイが選択されている場合には、最後のチェックポイント、例えば、レースのゴール画面に相当する）が検出された際には、レースが終了した旨を管理サーバ１０３の仮想マシン制御部５１５に通知する。これにより、仮想マシン制御部５１５は、上述した次の優先順位情報を有するユーザー識別情報に対応するユーザーの対戦を行わせるための処理を行うことができる。なお、グループトーナメントプレイの場合には、上記と同様であるため説明を省略する。
【００７３】
チェックポイント検出結果受信部２１２は、他の仮想マシン１０４により同一のチェックポイントが検出された際に送信されるチェックポイント識別情報、当該チェックポイントが検出された時間情報、当該他の仮想マシン１０４に割り当てられたユーザー識別情報を受信し、チェックポイント検出結果記憶部２１３に記憶する。
【００７４】
チェックポイント検出結果記憶部２１３は、また、チェックポイント検出部８０８が検出したチェックポイント識別情報、チェックポイントが検出された時間情報、仮想マシン１０４に割り当てられたユーザー識別情報も記憶する。具体的には、例えば、チェックポイント検出結果記憶部２１３は、これらの情報を図１４に示すような表の形式で、記憶する。
【００７５】
ランキング情報生成部２１４は、当該チェックポイントが検出された際に、チェックポイント検出結果記憶部２１３に記憶されたチェックポイント検出結果情報を参照することにより、各ユーザーの順位を算出する。具体的には、例えば、図１４の例を用いて説明する。例えば、チェックポイント検出部８０８が、チェックポイント識別情報ａで表されるチェックポイントを検出したとする。このとき、チェックポイント検出結果記憶部２１３には、チェックポイント識別情報ａで示されるユーザー識別情報ｕ１乃至ｕ４とそれぞれに対応する時間情報が記憶されている。ランキング情報生成部２１４は、各ユーザー識別情報ｕ１乃至ｕ４に対応して記憶されている時間情報を比較することにより、各ユーザーの順位を算出する。これにより、例えば、ユーザー識別情報ｕ４の順位は４である等と算出する。
【００７６】
ここで、例えば、上記トーナメントプレイが選択されている場合には、ランキング情報生成部２１４は、チェックポイント検出結果記憶部２１３に記憶されている最後のチェックポイント（例えば、レースのゴール画面に相当する）のランキング情報が１に相当するユーザー識別情報をゲーム識別情報とともに管理サーバ１０３に送信する。管理サーバ１０３は、当該ユーザー識別情報に基づき、次の回の対戦の組み合わせを求めることができる。具体的には、例えば、図７（Ｂ）に示したトーナメントプレイの場合の一回戦の場合について説明する。例えば、上述のように一回戦では、ユーザー識別情報ｕ１とｕ２、及び、ｕ３とｕ４に対応するユーザーが対戦するが、ユーザー識別情報ｕ１とｕ２に対応する仮想マシン１０４はユーザー識別情報ｕ１を、ユーザー識別情報ｕ３とｕ４に対応する仮想マシン１０４は、ユーザー識別情報ｕ３を送信する。これにより、管理サーバ１０３の更新部５０７は、２回戦の勝者に相当するユーザー識別情報（ユーザー識別情報ｕ１とｕ３に相当）を求め、回戦情報２に対応するユーザー識別情報の箇所にユーザー識別情報ｕ１とｕ３と記憶させることができる。なお，上記においては、各仮想マシン１０４によりユーザー識別情報ｕ１とｕ３が重複して管理サーバ１０３に送信されることから、各対戦に対応する複数の仮想マシン１０４のうちの１の仮想マシン１０４のみが送信するようにしてもよい。
【００７７】
出力画像生成部２１５は、上記処理情報に応じた出力画像を生成する。例えば、あるチェックポイントに関連付けられた処理情報が、レースがスタートしてからの時間の表示である場合には、時間計測部８０５からレースがスタートしてからの経過時間情報を取得し、図１５に示した当該時間を示す画像１１３を実行部８０６のゲームプログラムの実行に基づく画像１１４に加えて表示するための画像情報を生成する。また、例えば、上述のような順位の表示である場合には、出力画像生成部２１５は、上記ランキング情報生成部２１４からの順位情報に基づき、当該仮想マシン１０４に対応するユーザーの順位を示す画像１１２を、実行部８０６の実行に基づく画像１１４に加えて表示するための画像情報を生成する。また、出力画像生成部２１５は、例えば、対戦プレイ等が選択されている場合には、同期して実行されている仮想マシン１０４の実行部８０６により生成された画像情報を、図１６に示すような実行部８０６の実行に基づく画像１１４に加えて表示するための画像情報を生成してもよい。
【００７８】
また、例えば、チェックポイントが最終チェックポイントを検出した場合には、図１７に示すように、出力画像生成部２１５は、ゴール時間をＧＯＡＬＴＩＭＥの文字の表示に加えて、実行部８０６からの画像に重ねて表示するための画像情報を生成し、次に図１８に示すようなランキング画面を表示するための画像情報を生成する。
【００７９】
この場合、図１７を表示するための画像情報については、例えば、処理情報実行部８１３８１１は、時間計測部８０５からの経過時間を、実行部８０６により生成された画像情報に重ねて表示するような画像情報（図１７の画像に相当）を生成する。また、図１８を表示するための画像情報については、上述したように、例えばチェックポイント検出結果記憶部２１３に、最終チェックポイント識別情報に関連付けられて記憶されている時間情報やユーザー識別情報に基づいて、ランキング情報生成部２１４が各ユーザーのランキングを算出し、当該ランキングに基づいて、各ユーザーのランキング画面を表示するための画像情報を生成すればよい。なお、このときの画像情報は、図１８に限られず、他の画像情報であってもよい。具体的には、例えば、ユーザーの属するグループ名、スコアの一覧、スコアの履歴、他のトーナメントの対戦結果等その他の関連する情報を図１８に加えてまたは図１８とは別に表示するようにしてもよい。
【００８０】
また、圧縮部８１４は、実行部８０６により生成された画像情報または出力画像生成部２１５から生成された画像情報を圧縮し、送信部８１５は、対応する端末１０２へ当該画像情報を送信する。具体的には、例えば、送信部８１５は、実際に当該仮想マシン１０４でゲームプログラムをプレイしているユーザーに対応する端末の他、当該ゲームプログラムの観戦を所望しているユーザーに対応するユーザー等に当該画像情報を送信する。
【００８１】
なお、本実施の形態は上記構成に限定されるものではなく、種々の変形が可能である。例えば、上記実施の形態で示した構成と実質的に同一の構成、同一の作用効果を奏する構成又は同一の目的を達成することができる構成で置き換えることができる。具体的には、例えば、圧縮部８１４を有さずに、圧縮しないで上記画像情報を端末１０２へ送信するよう構成してもよい。また、仮想マシン１０４に代えて、物理マシン４０２を用いて構成してもよい。更に、管理サーバ１０３や、データベース１０５についても、仮想マシン１０４で構成してもよい。更に、上記管理サーバ１０３、仮想マシン１０４、データベース１０５の各機能は、一例であってこれに限定されるものではなく、管理サーバ１０３の一部または全部の機能を、仮想マシン１０４が有するように構成してもよいし、仮想マシン１０４の一部または全部の機能を、管理サーバ１０３または端末１０２が有するように構成してもよい等、種々の変形が可能である。
【００８２】
次に、図１９を用いて、実行部８０６によるゲームプログラムの実行が開始されるまでの、端末１０２、管理サーバ１０３、仮想マシン１０４の処理の一例について説明する。なお、下記においては、各ユーザーが各端末１０２において同一の上記レースゲームを選択し、同時プレイを選択した場合について説明する。
【００８３】
各ユーザーは、各端末１０２からネットワーク１０１を介して、管理サーバ１０３に選択画面の表示を要求する（Ｓ１０１）。管理サーバ１０３は、選択画面を構成する画像情報を各端末１０２に配信する（Ｓ１０２）。具体的には、当該画像情報等は、例えば、いわゆるストリーミングにより、配信され、端末１０２は、当該画像情報を、画像再生プログラム等を用いて表示する。なお、ストリーミング配信の詳細については公知であるので説明を省略する。
【００８４】
各ユーザーは、各端末１０２からネットワーク１０１を介して、所望のゲーム選択指示を送信する（Ｓ１０３）。次に、管理サーバ１０３は、当該複数のユーザーにより選択されたゲーム識別情報に関連付けられて記憶されているスタート画像情報を、各端末１０２に送信する（Ｓ１０４）。上述のように、当該スタート画像情報により端末１０２に表示されるスタート画像は、例えば、図９（Ａ）に示した初期画像や、図９（Ｃ）に示した当該スタート画像に関連するオブジェクト画像を重ねた画像である。
【００８５】
管理サーバ１０３は、各端末１０２に各仮想マシン１０４を割り当てる（Ｓ１０５）。上記のように、このとき、各仮想マシン１０４に各端末１０２を操作する各ユーザーを識別するユーザー識別情報を併せて送信してもよい。次に、管理サーバ１０３は、当該ゲームの識別情報に関連付けられて記憶されているスナップショット情報をロードするよう各仮想マシン１０４に指示する（Ｓ１０６）。当該指示に基づき、各仮想マシン１０４は、スナップショット記憶部８０２から上記スナップショット情報をロードする。次に、管理サーバ１０３は、当該ゲームプログラムのエミュレーションの開始を各仮想マシン１０４に指示する（Ｓ１０７）。そして、各仮想マシン１０４の実行部８０６は、同期して当該ゲームプログラムを実行する。
【００８６】
次に、図２０を用いて、実行部８０６によるゲームプログラムの実行が開始されてからの各仮想マシン１０４の処理のフローの一例について説明する。なお、当該処理のフローは、選択されたゲームが上述のレースゲームであって、同時プレイが選択されている場合を例として説明する。
【００８７】
実行部８０６による選択されたゲームプログラムの実行（例えば、エミュレーション等）が開始される（Ｓ２０１）。このとき、時間計測部８０５は、ゲームプログラムの実行が開始されてからの経過時間の計測を開始する（Ｓ２０２）。実行情報取得部８０９は、実行部８０６からの実行情報の取得を開始する（Ｓ２０３）。チェックポイント検出部８０８は、当該取得された実行情報に基づき、最後のチェックポイントか否かを判定する（Ｓ２０４）。そして、最後のチェックポイントでないと判断した場合は、Ｓ２０５に進む。
【００８８】
チェックポイント検出部８０８は、中間チェックポイントか否かを判定する（Ｓ２０５）。中間チェックポイントであると判断した場合には、当該中間チェックポイントに関連付けて記憶されている処理情報を取得する（Ｓ２０６）。処理情報実行部８１３は、当該処理情報に基づき、時間情報を取得する（Ｓ２０７）。また、処理情報実行部８１３は、当該処理情報に基づき、ランキング情報を生成する（Ｓ２０８）。処理情報実行部８１３は、当該時間情報及びランキング情報を用いて出力画像を生成し、当該仮想マシン１０４に割り当てられている端末１０２に出力する（Ｓ２０９）。次にＳ２０４に戻る。
【００８９】
一方、最後のチェックポイントであると判断した場合は、当該最後のチェックポイントに関連付けて記憶されている処理情報を取得する（Ｓ２１０）。処理情報実行部８１３は、当該処理情報に基づき、時間計測部８０５から時間情報を取得するとともに、当該時間情報を用いて出力画像を生成し、当該仮想マシン１０４に割り当てられている端末１０２に出力する（Ｓ２１１）。そして、実行部８０６を停止する（Ｓ２１２）。処理情報実行部８１３は、当該処理情報に基づき、ランキング情報を生成する（Ｓ２１３）。処理情報実行部８１３は、当該時間情報及びランキング情報を用いてランキング画像情報を生成し、当該仮想マシン１０４に割り当てられている端末１０２に出力する（Ｓ２１４）。そして、処理を終了する。
【００９０】
なお、上記処理のフローは一例であって、種々の変形が可能である。例えば、上記実施の形態で示した処理と実質的に同一の処理、同一の作用効果を奏する処理又は同一の目的を達成することができる限り、各ステップの処理の順序を入れ替えてもよい。また、上記については、中間チェックポイントが１の場合について説明したが、複数の中間チェックポイントを有し、複数の中間チェックポイントに設定された異なる処理を行うように構成してもよい。また、上記は同時プレイが選択された場合におけるレースゲームの例を用いて時間や順位について表示される構成について説明したが、各チェックポイントの検出に応じてその他の情報が表示されてもよいし、所定の音楽や動画が再生されるように構成してもよい。
【００９１】
上記実施の形態によれば、専用の装置で実行するよう作成されたアプリケーションプログラムの改変を行うことなく、新たな機能、例えば、対戦機能のないゲームへの対戦機能、を追加することができる。
【００９２】
なお、本発明は、上記実施の形態に限定されるものではなく、種々の変形が可能である。例えば、上記実施の形態で示した構成と実質的に同一の構成、同一の作用効果を奏する構成又は同一の目的を達成することができる構成で置き換えることができる。具体的には、上記においては、主に選択されたゲームがレースゲームの例を用いて、説明したが、その他のシューティングゲームやロールプレイングゲーム等その他のゲームに適用してもよい。例えば、シューティングゲームであれば、ゲームの一部のステージが準備されており、当該ステージをクリアした場合の文字列等を検出し、終了後に複数のプレーヤーのうち、どのプレーヤーが最も高得点であるかや、各プレーヤーが当該ステージ終了までに要した時間を表示するようにしてもよい。
【００９３】
また、上記においては、特定の文字や画像を認識する構成について説明したが、所定の処理、例えば、ブロックくずし等のゲームにおいては連続してブロックがくずされた数等を画像認識等して、当該数に応じたランキング画像等を出力するようにしてもよい。
【００９４】
また、例えば、ロールプレイングゲームであれば、特定のキャラクターを画像認識等することにより、当該キャラクターが登場した際に当該特定のキャラクターに関する情報（例えば、当該キャラクターの弱点についての情報）が表示されるように構成してもよい。この場合、例えば、図１１の処理情報に代えて、条件情報アドレスに関連付けて直接当該情報を含む画像情報の画像アドレスが記憶され、当該画像アドレスに記憶されている画像情報が表示される構成としてもよい。
【００９５】
更に、対戦プレイやトーナメントプレイ等ユーザー同士の対戦を含むプレイ形式が選択された場合において、１または複数のプレーヤーが非同期に１または複数のプレーヤーと対戦できるように構成してもよい。この場合の変形例について、図２１を用いて具体的に説明する。なお、当該変形例についても、上記レースゲームが選択された場合について説明する。
【００９６】
図２１に示すように、当該変形例においては、仮想マシン１０４は、更に、動画像データ取得部８１６を有する。当該動画像データ取得部８１６で取得される動画像データは、例えば、上記レースゲームの実行部８０６の実行により生成された動画像データのうちの１または複数の動画像データ（例えば、あらかじめ記録された動画像情報）であり、例えば、動画像データ記憶部８１７に記憶されている。なお、当該動画像データ記憶部８１７は、例えば、データベース１０５のうちの１のデータベース１０５に相当する。当該動画像データ取得部８１６は、例えば、当該レースゲームの選択に応じた実行制御部８０７からの指示により、当該動画像データをデータベース１０５等から取得し、処理情報実行部８１３に送信する。なお、上述した選択画面において、当該１または複数の動画像データについての情報、例えば、ラップタイムやプレーヤーの名称等、が表示され、ユーザーが当該情報を参照して、所望の１または複数の動画像データを選択可能な構成としてもよい。なお、動画像データ記憶部８１７は、ユーザーのプレイ記録指示やチェックポイントの指定等に応じて、当該ユーザーのプレイに基づく動画像データを記憶できるように構成し、当該ユーザーや第三者が当該動画像データを視聴できるようにしてもよい。この場合、ユーザーの指示等に応じて当該動画像データを削除するように構成してもよい。
【００９７】
処理情報実行部８１３は、当該動画像データに基づいた画像情報を生成し、上記実行部８０６の実行による当該レースゲームの画像情報に当該画像情報を加えた画像情報を生成する。当該画像情報は、上記実施の形態と同様に端末１０２に送信され、端末１０２の表示部２０４に表示される。このときの表示部２０４に表示の一例を図１６に示す。図１６に示すように、例えば、実行部８０６の実行に基づく当該レースゲームの画像１９０の右上方に、動画像データに基づく画像１９１が表示される。なお、図１６に示すような１の動画像データに基づく画像１９１が表示される構成に限られず、複数の動画像データに基づく画像が表示されてもよい。
【００９８】
また、本変形例におけるランキング情報の生成についての処理情報実行部８１３の機能的な構成について説明する。処理情報実行部８１３は、図２２に示すように、チェックポイント検出結果取得部２２１を有し、チェックポイント検出結果記憶部２２２から当該動画像データに関連付けて記憶されたチェックポイント検出部８０８が検出したチェックポイント識別情報、チェックポイントが検出された時間情報、仮想マシン１０４に割り当てられたユーザー識別情報を取得し、チェックポイント検出結果記憶部２１３に記憶する。なお、チェックポイント検出結果記憶部２２２は、例えば複数のデータベース１０５の１のデータベース１０５に相当する。そして、上記実施の形態と同様に、チェックポイント検出結果記憶部２１３に記憶された情報に基づき、ランキング情報を生成する。
【００９９】
なお、本変形例のその他の構成や処理のフローの詳細については、上記実施の形態と同様であるので説明を省略する。本変形例によれば、非同期ではあっても、上記実施の形態と同様に、プレーヤーは、疑似的に他のプレーヤーと同期してレースゲームを行うことができる。
【０１００】
本発明は、上記実施の形態及び変形例に限定されるものではなく、種々の変形が可能である。例えば、上記実施の形態や変形例で示した構成と実質的に同一の構成、同一の作用効果を奏する構成又は同一の目的を達成することができる構成で置き換えることができる。具体的には、例えば、互いに矛盾しない限り上記実施の形態と上記変形例を組み合わせて構成してもよい。この場合、一部のプレーヤーについては同期して、他の一部のプレーヤーについては、非同期ではあるが、疑似的に同期して、ゲームを行うことができる。更に、上記実施の形態及び変形例はゲームプログラムを用いる場合について説明したが、これに限られず、その他のゲームプログラム以外のアプリケーションプログラムに用いてもよい。更に、上記においては、主に、同じゲームプログラムが、同時プレイやトーナメントプレイ等として複数人で実行される場合について説明したが、これに限られず、複数の仮想マシン１０４が複数の異なるアプリケーションプログラムを実行してもよいことはいうまでもない。
【０１０１】
また、例えば、時間計測部８０５が、ユーザーの操作指示がない期間（ログアウト期間）を計測し、当該期間が所定の期間以上の場合には、管理サーバ１０３または他の仮想マシン１０４は、当該ユーザーがログアウト等したと判断してもよい。この場合、例えば当該ログアウトしたユーザーに対応する実行部８０６の実行を停止するようにしてもよいし、また、ランキング画面においては、ログアウトした旨を表示する等してもよい。更に、時間計測部８０５は、例えば、ユーザーが最初に上記実施の形態等で示したサービスを利用してからの期間を計測し、当該期間に応じて、当該ユーザーに対する課金情報や、当該サービスの利用の可否等を決定できるようにしてもよい。また、重複して実行されるゲームプログラムの数は、ユーザーの状況等、例えば、ログアウトした場合や途中で対戦をやめた場合等、に応じて増減するように構成してもよい。また、例えば、時間計測部８０５が、上記対戦プレイ、トーナメントプレイ等における各ユーザー同士の対戦が開始されてからの時間、あらかじめ設定されたチェックポイントが検出されてからの時間、または上記ログアウト期間等を計測し、当該時間が所定の時間に達した場合に、上記各ユーザー同士の対戦が終了、例えば、実行部８０６における当該ゲームプログラムの実行を停止、するように構成してもよい。この場合、例えば、当該計測される時間及び例えばゲームが終了されるまでの所定の期間は、対戦プレイやトーナメントプレイ等における場合と、それ以外の場合（例えば、１Ｐプレイが選択されている場合）等に応じて、異なるように構成してもよい。
【符号の説明】
【０１０２】
１００  クラウド基盤、１０１  ネットワーク、１０２  端末、１０３  管理サーバ、１０４  仮想マシン、１０５  データベース、２０１  制御部、２０２  通信部、２０３  記憶部、２０４  表示部、２０５  操作部、２１１  チェックポイント検出結果送信部、２１２  チェックポイント検出結果受信部、２１３、２２２  チェックポイント検出結果記憶部、２１４  ランキング情報生成部、２１５  出力画像生成部、２２１  チェックポイント検出結果取得部、２０６  バス、３０１  方向キー、３０２  複数のボタン、３０３  アナログ操作部、３０４  表示画面、４０１  仮想マシン制御部、４０２  物理マシン、４０３  ハイパーバイザ、４０４  ＯＳ、４０５  アプリケーション、５１２  スタート画像配信部、  ５１３  スタート画像記憶部、５１４  仮想マシン割当部、５１５  仮想マシン制御部、８０１  スナップショット取得部、８０３  ゲーム取得部、８０５  時間計測部、８０６  実行部、８０７  実行制御部、８０８  チェックポイント検出部、８１０  実行情報記憶部、８１１  実行情報送信部、８１２  チェックポイントデータ記憶部、８１３  処理情報実行部、８１４  圧縮部、８１５  送信部、８１６  動画像データ取得部、８１７  動画像データ記憶部。
【図１】
2015198953.tif 000003
【図２】
2015198953.tif 000004
【図３】
2015198953.tif 000005
【図４】
2015198953.tif 000006
【図５】
2015198953.tif 000007
【図６（Ａ）】
2015198953.tif 000008
【図６（Ｂ）】
2015198953.tif 000009
【図６（Ｃ）】
2015198953.tif 000010
【図６（Ｄ）】
2015198953.tif 000011
【図６（Ｅ）】
2015198953.tif 000012
【図６（Ｆ）】
2015198953.tif 000013
【図６（Ｇ）】
2015198953.tif 000014
【図６（Ｈ）】
2015198953.tif 000015
【図７（Ａ）】
2015198953.tif 000016
【図７（Ｂ）】
2015198953.tif 000017
【図７（Ｃ）】
2015198953.tif 000018
【図７（Ｄ）】
2015198953.tif 000019
【図８】
2015198953.tif 000020
【図９】
2015198953.tif 000021
【図１０】
2015198953.tif 000022
【図１１】
2015198953.tif 000023
【図１２】
2015198953.tif 000024
【図１３】
2015198953.tif 000025
【図１４】
2015198953.tif 000026
【図１５】
2015198953.tif 000027
【図１６】
2015198953.tif 000028
【図１７】
2015198953.tif 000029
【図１８】
2015198953.tif 000030
【図１９】
2015198953.tif 000031
【図２０】
2015198953.tif 000032
【図２１】
2015198953.tif 000033
【図２２】
2015198953.tif 000034