(57)【要約】【課題】  ホスト兼用のゲーム装置と他のゲーム装置それぞれが通信接続されて構成されるネットワークゲームシステムにおいて、ゲーム装置間の通信接続の切断（不良）が発生した場合に、確実且つ速やかに各ゲーム装置を再接続させ、ゲームを再開させること。【解決手段】  各ゲーム装置１０は、通信接続している他のゲーム装置１０との通信接続の切断を検出した場合、或いは、通信ホストから通信接続の不良発生通知を受信した場合、接続不良報告を管理サーバ６０に送信する。管理サーバ６０は、通信状態が良好である全てのゲーム装置１０から接続不良報告を受信すると、これらのゲーム装置１０の中から新しい通信ホストとするゲーム装置１０を選択し、選択したゲーム装置１０を新しい通信ホストとして通知する（ａ）。そして、各ゲーム装置１０は、通知された新しい通信ホストに新たに通信接続（再接続）する（ｂ）。【選択図】図８
2006254946.tif 000002
【特許請求の範囲】
【請求項１】
各ゲーム装置から送信されてくるゲーム装置別の入力コマンドをゲーム装置それぞれに配信するホスト処理を実行するホスト兼用のゲーム装置と、前記ホスト処理を実行可能なホスト処理未起動の複数のゲーム装置それぞれとの間が通信接続され、各ゲーム装置が、前記ホスト処理により前記ホスト兼用のゲーム装置から配信されてくる入力コマンドに従ってネットワークゲームを進行するとともに、ホスト兼用のゲーム装置が何れのゲーム装置であるかを管理する管理サーバを具備したネットワークゲームシステムであって、
前記ゲーム装置それぞれは、
自機がホスト兼用のゲーム装置である場合には、ホスト処理未起動のゲーム装置それぞれとの間の通信接続状態の不良を検出し、自機がホスト処理未起動のゲーム装置である場合には、ホスト兼用のゲーム装置との間の通信接続状態の不良を検出する接続不良検出手段と、
前記接続不良検出手段により不良が検出された場合に、所定の報告信号を前記管理サーバに送信する報告信号送信手段と、
新しいホスト兼用のゲーム装置とするゲーム装置を指定する新ホスト指定信号を前記管理サーバから受信する指定信号受信手段と、
前記指定信号受信手段によって受信された新ホスト指定信号により指定されたゲーム装置が他機であった場合、当該新ホスト指定信号により指定されたゲーム装置を新しいホスト兼用のゲーム装置として新たに通信接続する通信接続更新手段と、
前記指定信号受信手段によって受信された新ホスト指定信号により指定されたゲーム装置が自機であった場合、前記ホスト処理の実行を開始するとともに、他のホスト処理未起動のゲーム装置と新たに通信接続するホスト処理起動手段と、
を備え、
前記管理サーバは、
前記ゲーム装置から前記報告信号を受信する報告信号受信手段と、
前記報告信号受信手段による報告信号の受信に基づいて、新たなホスト兼用のゲーム装置を指定すべきか否かを判断する新ホスト指定判断手段と、
前記新ホスト指定判断手段により指定すべきと判断された場合に、新たなホスト兼用のゲーム装置をホスト処理未起動のゲーム装置の中から選択し、当該選択したゲーム装置を新たなホスト兼用のゲーム装置として指定する新ホスト指定信号を前記ゲーム装置それぞれに送信する新ホスト指定手段と、
を備える、
ことを特徴とするネットワークゲームシステム。
【請求項２】
前記ゲーム装置それぞれは、
自機がホスト兼用のゲーム装置である場合、前記接続不良検出手段により不良が検出されると、不良発生通知信号をホスト処理未起動のゲーム装置それぞれに配信する通知信号送信手段と、
自機がホスト処理未起動のゲーム装置である場合、ホスト兼用のゲーム装置から前記不良発生通知信号を受信する通知信号受信手段と、
前記通知信号受信手段により不良発生通知信号が受信された場合に、前記報告信号を前記管理サーバに送信する第２の報告信号送信手段と、
を更に備え、
前記新ホスト指定判断手段は、前記報告信号受信手段により、所定条件を満たす全てのゲーム装置から前記報告信号が受信された場合に新たなホスト兼用のゲーム装置を指定すべきと判断する、
ことを特徴とする請求項１に記載のネットワークゲームシステム。
【請求項３】
前記管理サーバは、
ゲーム進行中、前記各ゲーム装置それぞれとの間で所定の検査通信を周期的に行って各ゲーム装置それぞれと当該管理サーバとの間の通信状態を監視する通信状態監視手段を更に備え、
前記新ホスト指定判断手段は、前記通信状態監視手段により監視された通信状態が良好である全てのゲーム装置から前記報告信号が受信された場合に新たなホスト兼用のゲーム装置を指定すべきと判断する、
ことを特徴とする請求項２に記載のネットワークゲームシステム。
【請求項４】
前記管理サーバは、
ゲーム進行中、前記各ゲーム装置それぞれとの間で所定の検査通信を周期的に行って各ゲーム装置それぞれと当該管理サーバとの間の通信状態を監視する通信状態監視手段を更に備え、
前記新ホスト指定手段は、新たなホスト兼用のゲーム装置を、前記通信状態監視手段により監視された通信状態が良好であるゲーム装置の中から選択し、新ホスト指定信号を、当該監視された通信状態が良好であるゲーム装置に送信することを特徴とする請求１〜３の何れか一項に記載のネットワークゲームシステム。
【請求項５】
各ゲーム装置から送信されてくるゲーム装置別の入力コマンドをゲーム装置それぞれに配信するホスト処理を実行するホスト兼用のゲーム装置と、前記ホスト処理を実行可能なホスト処理未起動の複数のゲーム装置それぞれとの間が通信接続され、各ゲーム装置が、前記ホスト処理により前記ホスト兼用のゲーム装置から配信されてくる入力コマンドに従ってネットワークゲームを進行するネットワークゲームシステムに具備され、ホスト兼用のゲーム装置が何れのゲーム装置であるかを管理する管理サーバであって、
前記ゲーム装置それぞれは、
自機がホスト兼用のゲーム装置である場合には、ホスト処理未起動のゲーム装置それぞれとの間の通信接続状態の不良を検出し、自機がホスト処理未起動のゲーム装置である場合には、ホスト兼用のゲーム装置との間の通信接続状態の不良を検出する接続不良検出手段と、
前記接続不良検出手段により不良が検出された場合に、所定の報告信号を前記管理サーバに送信する報告信号送信手段と、
新しいホスト兼用のゲーム装置とするゲーム装置を指定する新ホスト指定信号を前記管理サーバから受信する指定信号受信手段と、
前記指定信号受信手段によって受信された新ホスト指定信号により指定されたゲーム装置が他機であった場合、当該新ホスト指定信号により指定されたゲーム装置を新しいホスト兼用のゲーム装置として新たに通信接続する通信接続更新手段と、
前記指定信号受信手段によって受信された新ホスト指定信号により指定されたゲーム装置が自機であった場合、前記ホスト処理の実行を開始するとともに、他のホスト処理未起動のゲーム装置と新たに通信接続するホスト処理起動手段と、
を備えており、
前記ゲーム装置から前記報告信号を受信する報告信号受信手段と、
前記報告信号受信手段による報告信号の受信に基づいて、新たなホスト兼用のゲーム装置を指定すべきか否かを判断する新ホスト指定判断手段と、
前記新ホスト指定判断手段により指定すべきと判断された場合に、新たなホスト兼用のゲーム装置をホスト処理未起動のゲーム装置の中から選択し、当該選択したゲーム装置を新たなホスト兼用のゲーム装置として指定する新ホスト指定信号を前記ゲーム装置それぞれに送信する新ホスト指定手段と、
を備えることを特徴とする管理サーバ。
【請求項６】
前記ゲーム装置それぞれは、
自機がホスト兼用のゲーム装置である場合、前記接続不良検出手段により不良が検出されると、不良発生通知信号をホスト処理未起動のゲーム装置それぞれに配信する通知信号送信手段と、
自機がホスト処理未起動のゲーム装置である場合、ホスト兼用のゲーム装置から前記不良発生通知信号を受信する通知信号受信手段と、
前記通知信号受信手段により不良発生通知信号が受信された場合に、前記報告信号を前記管理サーバに送信する第２の報告信号送信手段と、
を更に備えており、
前記新ホスト指定判断手段が、前記報告信号受信手段により、所定条件を満たす全てのゲーム装置から前記報告信号が受信された場合に新たなホスト兼用のゲーム装置を指定すべきと判断する、
ことを特徴とする請求項５に記載の管理サーバ。
【請求項７】
ゲーム進行中、前記各ゲーム装置それぞれとの間で所定の検査通信を周期的に行って各ゲーム装置それぞれと当該管理サーバとの間の通信状態を監視する通信状態監視手段を更に備え、
前記新ホスト指定判断手段が、前記通信状態監視手段により監視された通信状態が良好である全てのゲーム装置から前記報告信号が受信された場合に新たなホスト兼用のゲーム装置を指定すべきと判断する、
ことを特徴とする請求項６に記載の管理サーバ。
【請求項８】
ゲーム進行中、前記各ゲーム装置それぞれとの間で所定の検査通信を周期的に行って各ゲーム装置それぞれと当該管理サーバとの間の通信状態を監視する通信状態監視手段を更に備え、
前記新ホスト指定手段が、新たなホスト兼用のゲーム装置を、前記通信状態監視手段により監視された通信状態が良好であるゲーム装置の中から選択し、新ホスト指定信号を、当該監視された通信状態が良好であるゲーム装置に送信することを特徴とする請求５〜７の何れか一項に記載の管理サーバ。
【請求項９】
各ゲーム装置から送信されてくるゲーム装置別の入力コマンドをゲーム装置それぞれに配信するホスト処理を実行するホスト兼用のゲーム装置と、前記ホスト処理を実行可能なホスト処理未起動の複数のゲーム装置それぞれとの間が通信接続されるとともに、ホスト兼用のゲーム装置が何れのゲーム装置であるかを管理する管理サーバを具備したネットワークゲームシステムにおける前記ゲーム装置であるコンピュータに、前記ホスト処理により前記ホスト兼用のゲーム装置から配信されてくる入力コマンドに従ってネットワークゲームを進行させるためのプログラムであって、
前記管理サーバは、
前記ゲーム装置から所定の報告信号を受信する報告信号受信手段と、
前記報告信号受信手段による報告信号の受信に基づいて、新たなホスト兼用のゲーム装置を指定すべきか否かを判断する新ホスト指定判断手段と、
前記新ホスト指定判断手段により指定すべきと判断された場合に、新たなホスト兼用のゲーム装置をホスト処理未起動のゲーム装置の中から選択し、当該選択したゲーム装置を新たなホスト兼用のゲーム装置として指定する新ホスト指定信号を前記ゲーム装置それぞれに送信する新ホスト指定手段と、
を備えており、
自機がホスト兼用のゲーム装置である場合には、ホスト処理未起動のゲーム装置それぞれとの間の通信接続状態の不良を検出し、自機がホスト処理未起動のゲーム装置である場合には、ホスト兼用のゲーム装置との間の通信接続状態の不良を検出する接続不良検出手段、
前記接続不良検出手段により不良が検出された場合に、前記報告信号を前記管理サーバに送信する報告信号送信手段、
前記新ホスト指定信号を前記管理サーバから受信する指定信号受信手段、
前記指定信号受信手段によって受信された新ホスト指定信号により指定されたゲーム装置が他機であった場合、当該新ホスト指定信号により指定されたゲーム装置を新しいホスト兼用のゲーム装置として新たに通信接続する通信接続更新手段、
前記指定信号受信手段によって受信された新ホスト指定信号により指定されたゲーム装置が自機であった場合、前記ホスト処理の実行を開始するとともに、他のホスト処理未起動のゲーム装置と新たに通信接続するホスト処理起動手段、
として前記コンピュータを機能させるためのプログラム。
【請求項１０】
請求項９に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各ゲーム装置から送信されてくる入力コマンドをゲーム装置それぞれに配信するホスト処理を実行するホスト兼用のゲーム装置と、ホスト処理を実行可能なホスト処理未起動の複数のゲーム装置それぞれとの間が通信接続され、各ゲーム装置が、ホスト兼用のゲーム装置から配信されてくる入力コマンドに従ってネットワークゲームを進行するネットワークゲームシステム等に関する。
【背景技術】
【０００２】
現在、インターネット等の通信ネットワーク（通信回線）を利用した様々なサービスが提供されているが、このようなサービスの使用中において、サービスの受け手であるユーザの端末装置と通信ネットワークとの間の接続が何らかの障害によって切断されてしまうことがある。そこで、通信ネットワークを介して接続された端末装置間の通信接続が障害によって切断された場合に、この接続を復旧させるための技術として、例えば特許文献１の技術が知られている。かかる技術では、端末装置からの最初のアクセス時に、通信ネットワークへの再接続に用いる識別子（簡易パスワード）を生成する。そして、端末装置と通信ネットワークとの接続が切断された場合に、該端末装置からこの識別子を送信させ、送信された識別子により端末装置を認証し、該端末装置が通信ネットワークと切断される直前に接続していた他の端末装置との接続を回復させている。
【特許文献１】特開２００２−２４４４８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、通信ネットワークを利用したサービスの一つとして、複数のゲーム装置間で行われるネットワークゲームがあるが、このネットワークゲームを実現するネットワークゲームシステムとして、複数のゲーム装置の内、１台をホスト兼用のゲーム装置とし、このホスト兼用のゲーム装置と他のゲーム装置それぞれとが通信ネットワークを介して通信接続される構成がある。
【０００４】
かかる構成では、ホスト兼用のゲーム装置と他のゲーム装置との間の通信接続が切断されると（接続不良）、該ゲーム装置間でのデータ通信が不可能となり、ゲーム進行が一時停止される。このような場合、一般的には、速やかにゲーム進行を再開させるため、現在のホスト兼用のゲーム装置以外のゲーム装置の中から新しいホスト兼用のゲーム装置を選択し、これと他のゲーム装置とを接続（再接続）させてゲームを再開させている。具体的には、各ゲーム装置について、ホスト兼用のゲーム装置とする優先順を予め定めておく。そして、各ゲーム装置は、ホスト兼用のゲーム装置との通信接続の切断を検出すると、予め定められた優先順に従って次にホスト兼用のゲーム装置となるべきゲーム装置を判断し、これに接続してゲームを再開する。
【０００５】
しかしながら、この方法の場合、次のような問題が発生する。第１に、ゲーム装置間の複数の通信接続が切断された場合、再接続がスムーズに実施されないことがある。ゲーム装置は、ホスト兼用のゲーム装置との通信接続の切断を検出すると、予め定められた優先順に従って次にホスト兼用となるべきゲーム装置を判断し、これに接続しようとする。だが、そのゲーム装置との通信接続が不可能である場合、該通信接続が不可能であることを認識した後、その次にホスト兼用となるべきゲーム装置を判断し、これに接続するといった煩雑な処理を行う必要がある。これは、各ゲーム装置においては、どのゲーム装置との通信接続が可能であるかを把握できないために生じることである。
【０００６】
第２に、ゲーム装置毎に通信接続の切断検出に時間差が生じる。このため、全ゲーム装置がホスト兼用のゲーム装置との切断を検出したことが保証されるまで再接続を待つ必要がある。また、新しいホスト兼用となるゲーム装置では、他のゲーム装置からの接続を所定時間の間待機し、この間に接続してきたゲーム装置との間で新たに通信を行ってゲーム進行を再開することになる。このため、再接続の完了、即ちゲーム再開までに時間がかかってしまい、プレーヤに待たせるといった不快感を与えてしまっていた。
【０００７】
第３に、新しいホスト兼用となるゲーム装置では、再接続すべき全てのゲーム装置と接続されたかどうかを判断することができない。このため、ホスト兼用のゲーム装置との通信接続の切断検出や、新しいホスト兼用のゲーム装置との接続が遅れたゲーム装置は、以降のゲーム進行から外されてしまう可能性があり、従って、再接続されるべき全てのゲーム装置が再接続されたことを保証できないという問題があった。
【０００８】
第４に、ゲーム装置間の通信接続の切断は、主に２つの要因によって生じる。即ち、１つ目の要因は、ゲーム装置が通信ネットワークから切断されることであり、特にホスト兼用のゲーム装置が通信ネットワークから切断された場合、全てのゲーム装置が通信接続の切断を検出することになる。２つ目の要因は、通信ネットワークの一時的な通信負荷の増加等による通信障害であり、この場合、一部のゲーム装置のみが通信接続の切断を検出し、他のゲーム装置では通信接続の切断を検出しない。
【０００９】
しかし、ゲーム装置では、検出した通信接続の切断が上記２つの要因の何れによるものかを判断できない。このため、ゲーム装置では、上記２つ目の要因（通信障害）による通信接続の切断の場合であっても、新たなホスト兼用のゲーム装置に新たに通信接続してしまうといった問題があった。
【００１０】
上記事情に鑑み、本発明は、ホスト兼用のゲーム装置と他のゲーム装置それぞれが通信接続されて構成されるネットワークゲームシステムにおいて、ゲーム装置間の通信接続の切断（不良）が発生した場合に、確実且つ速やかに各ゲーム装置を再接続させ、ゲームを再開させることを目的としている。
【課題を解決するための手段】
【００１１】
上記課題を解決するための第１の発明は、
各ゲーム装置（例えば、図１のゲーム装置１０）から送信されてくるゲーム装置別の入力コマンドをゲーム装置それぞれに配信するホスト処理を実行するホスト兼用のゲーム装置（例えば、実施形態の「通信ホスト」）と、前記ホスト処理を実行可能なホスト処理未起動の複数のゲーム装置それぞれとの間が通信接続され、各ゲーム装置が、前記ホスト処理により前記ホスト兼用のゲーム装置から配信されてくる入力コマンドに従ってネットワークゲームを進行するとともに、ホスト兼用のゲーム装置が何れのゲーム装置であるかを管理する管理サーバ（例えば、図１の管理サーバ６０）を具備したネットワークゲームシステム（例えば、図１のゲームシステム１）であって、
前記ゲーム装置それぞれは、
自機がホスト兼用のゲーム装置である場合には、ホスト処理未起動のゲーム装置それぞれとの間の通信接続状態の不良を検出し、自機がホスト処理未起動のゲーム装置である場合には、ホスト兼用のゲーム装置との間の通信接続状態の不良を検出する接続不良検出手段（例えば、図９の通信管理部２１６；図１９のステップＤ１）と、
前記接続不良検出手段により不良が検出された場合に、所定の報告信号（例えば、実施形態の「接続不良報告」）を前記管理サーバに送信する報告信号送信手段（例えば、図９の通信管理部２１６；図１９のステップＤ１：ＹＥＳ〜Ｄ５）と、
新しいホスト兼用のゲーム装置とするゲーム装置を指定する新ホスト指定信号を前記管理サーバから受信する指定信号受信手段（例えば、図９の通信管理部２１６；図９のステップＤ１９）と、
前記指定信号受信手段によって受信された新ホスト指定信号により指定されたゲーム装置が他機であった場合、当該新ホスト指定信号により指定されたゲーム装置を新しいホスト兼用のゲーム装置として新たに通信接続する通信接続更新手段（例えば、図９の通信管理部２１６；図１９のステップＤ２３：ＮＯ〜Ｄ３１）と、
前記指定信号受信手段によって受信された新ホスト指定信号により指定されたゲーム装置が自機であった場合、前記ホスト処理の実行を開始するとともに、他のホスト処理未起動のゲーム装置と新たに通信接続するホスト処理起動手段（例えば、図９の通信管理部２１６；図１９のステップＤ２３：ＹＥＳ〜Ｄ２９）と、
を備え、
前記管理サーバは、
前記ゲーム装置から前記報告信号を受信する報告信号受信手段（例えば、図１２の再接続管理部７４０；図２０のステップＥ５）と、
前記報告信号受信手段による報告信号の受信に基づいて、新たなホスト兼用のゲーム装置を指定すべきか否かを判断する新ホスト指定判断手段（例えば、図１２の再接続管理部７４０；図２０のステップＥ５〜Ｅ７）と、
前記新ホスト指定判断手段により指定すべきと判断された場合に、新たなホスト兼用のゲーム装置をホスト処理未起動のゲーム装置の中から選択し、当該選択したゲーム装置を新たなホスト兼用のゲーム装置として指定する新ホスト指定信号をホスト処理未起動のゲーム装置それぞれに送信する新ホスト指定手段（例えば、図１２の再接続管理部７４０；図２０のステップＥ９〜Ｅ１１）と、
を備える、
ことを特徴としている。
【００１２】
また、第５の発明は、
各ゲーム装置（例えば、図１のゲーム装置１０）から送信されてくるゲーム装置別の入力コマンドをゲーム装置それぞれに配信するホスト処理を実行するホスト兼用のゲーム装置（例えば、実施形態の「通信ホスト」）と、前記ホスト処理を実行可能なホスト処理未起動の複数のゲーム装置それぞれとの間が通信接続され、各ゲーム装置が、前記ホスト処理により前記ホスト兼用のゲーム装置から配信されてくる入力コマンドに従ってネットワークゲームを進行するネットワークゲームシステム（例えば、図１のゲームシステム１）に具備され、ホスト兼用のゲーム装置が何れのゲーム装置であるかを管理する管理サーバ（例えば、図１の管理サーバ６０）であって、
前記ゲーム装置それぞれは、
自機がホスト兼用のゲーム装置である場合には、ホスト処理未起動のゲーム装置それぞれとの間の通信接続状態の不良を検出し、自機がホスト処理未起動のゲーム装置である場合には、ホスト兼用のゲーム装置との間の通信接続状態の不良を検出する接続不良検出手段と、
前記接続不良検出手段により不良が検出された場合に、所定の報告信号を前記管理サーバに送信する報告信号送信手段と、
新しいホスト兼用のゲーム装置とするゲーム装置を指定する新ホスト指定信号を前記管理サーバから受信する指定信号受信手段と、
前記指定信号受信手段によって受信された新ホスト指定信号により指定されたゲーム装置が他機であった場合、当該新ホスト指定信号により指定されたゲーム装置を新しいホスト兼用のゲーム装置として新たに通信接続する通信接続更新手段と、
前記指定信号受信手段によって受信された新ホスト指定信号により指定されたゲーム装置が自機であった場合、前記ホスト処理の実行を開始するとともに、他のホスト処理未起動のゲーム装置と新たに通信接続するホスト処理起動手段と、
を備えており、
前記ゲーム装置から前記報告信号を受信する報告信号受信手段と、
前記報告信号受信手段による報告信号の受信に基づいて、新たなホスト兼用のゲーム装置を指定すべきか否かを判断する新ホスト指定判断手段と、
前記新ホスト指定判断手段により指定すべきと判断された場合に、新たなホスト兼用のゲーム装置をホスト処理未起動のゲーム装置の中から選択し、当該選択したゲーム装置を新たなホスト兼用のゲーム装置として指定する新ホスト指定信号をホスト処理未起動のゲーム装置それぞれに送信する新ホスト指定手段と、
を備えることを特徴としている。
【００１３】
また、第９の発明は、
各ゲーム装置（例えば、図１のゲーム装置１０）から送信されてくるゲーム装置別の入力コマンドをゲーム装置それぞれに配信するホスト処理を実行するホスト兼用のゲーム装置（例えば、実施形態の「通信ホスト」）と、前記ホスト処理を実行可能なホスト処理未起動の複数のゲーム装置それぞれとの間が通信接続されるとともに、ホスト兼用のゲーム装置が何れのゲーム装置であるかを管理する管理サーバ（例えば、図１の管理サーバ６０）を具備したネットワークゲームシステム（例えば、図１のゲームシステム１）における前記ゲーム装置であるコンピュータに、前記ホスト処理により前記ホスト兼用のゲーム装置から配信されてくる入力コマンドに従ってネットワークゲームを進行させるためのプログラム（例えば、図９のゲームプログラム４１０）であって、
前記管理サーバは、
前記ゲーム装置から所定の報告信号を受信する報告信号受信手段と、
前記報告信号受信手段による報告信号の受信に基づいて、新たなホスト兼用のゲーム装置を指定すべきか否かを判断する新ホスト指定判断手段と、
前記新ホスト指定判断手段により指定すべきと判断された場合に、新たなホスト兼用のゲーム装置をホスト処理未起動のゲーム装置の中から選択し、当該選択したゲーム装置を新たなホスト兼用のゲーム装置として指定する新ホスト指定信号をホスト処理未起動のゲーム装置それぞれに送信する新ホスト指定手段と、
を備えており、
自機がホスト兼用のゲーム装置である場合には、ホスト処理未起動のゲーム装置それぞれとの間の通信接続状態の不良を検出し、自機がホスト処理未起動のゲーム装置である場合には、ホスト兼用のゲーム装置との間の通信接続状態の不良を検出する接続不良検出手段、
前記接続不良検出手段により不良が検出された場合に、前記報告信号を前記管理サーバに送信する報告信号送信手段、
前記新ホスト指定信号を前記管理サーバから受信する指定信号受信手段、
前記指定信号受信手段によって受信された新ホスト指定信号により指定されたゲーム装置が他機であった場合、当該新ホスト指定信号により指定されたゲーム装置を新しいホスト兼用のゲーム装置として新たに通信接続する通信接続更新手段、
前記指定信号受信手段によって受信された新ホスト指定信号により指定されたゲーム装置が自機であった場合、前記ホスト処理の実行を開始するとともに、他のホスト処理未起動のゲーム装置と新たに通信接続するホスト処理起動手段、
として前記コンピュータを機能させるためのプログラムである。
【００１４】
この第１、第５又は第９の発明によれば、ゲーム装置それぞれは、他のゲーム装置との通信接続状態の不良を検出した場合、所定の報告信号を管理サーバに送信し、管理サーバは、ゲーム装置からの報告信号の受信に基づいて新たなホスト兼用のゲーム装置を指定すべきか否かを判断し、指定すると判断した場合、新たなホスト兼用のゲーム装置をホスト処理未起動のゲーム装置の中から選択し、選択したゲーム装置を新たなホスト兼用のゲーム装置とする新ホスト指定信号をゲーム装置それぞれに送信する。そして、ゲーム装置は、管理サーバから受信した新ホスト指定信号により指定されたゲーム装置を新たなホスト兼用のゲーム装置として新たに通信接続し、ゲーム進行を再開する。
【００１５】
即ち、管理サーバは、ゲーム装置から送信される所定の報告信号の受信によりゲーム装置間の通信接続の不良発生を把握し、新たなホスト兼用とするゲーム装置を選択し、各ゲーム装置に指定することができる。このため、ゲーム装置間の通信接続の不良が発生した場合に、ホスト兼用のゲーム装置を交代させ、確実且つ速やかに各ゲーム装置を再接続させることが可能となる。
【００１６】
第２の発明は、第１の発明のネットワークゲームシステムにおいて、
前記ゲーム装置それぞれは、
自機がホスト兼用のゲーム装置である場合、前記接続不良検出手段により不良が検出されると、不良発生通知信号をホスト処理未起動のゲーム装置それぞれに配信する通知信号送信手段（例えば、図９の通信管理部２１６；図１９のステップＤ７；ＹＥＳ〜Ｄ９）と、
自機がホスト処理未起動のゲーム装置である場合、ホスト兼用のゲーム装置から前記不良発生通知信号を受信する通知信号受信手段（例えば、図９の通信管理部２１６；図１９のステップＤ１１：ＮＯ〜Ｄ１３）と、
前記通知信号受信手段により不良発生通知信号が受信された場合に、前記報告信号を前記管理サーバに送信する第２の報告信号送信手段（例えば、図９の通信管理部２１６；図１９のステップＤ１７）と、
を更に備え、
前記新ホスト指定判断手段は、前記報告信号受信手段により、所定条件を満たす全てのゲーム装置から前記報告信号が受信された場合に新たなホスト兼用のゲーム装置を指定すべきと判断する、
ことを特徴としている。
【００１７】
また、第６の発明は、第５の発明の管理サーバにおいて、
前記ゲーム装置それぞれは、
自機がホスト兼用のゲーム装置である場合、前記接続不良検出手段により不良が検出されると、不良発生通知信号をホスト処理未起動のゲーム装置それぞれに配信する通知信号送信手段と、
自機がホスト処理未起動のゲーム装置である場合、ホスト兼用のゲーム装置から前記不良発生通知信号を受信する通知信号受信手段と、
前記通知信号受信手段により不良発生通知信号が受信された場合に、前記報告信号を前記管理サーバに送信する第２の報告信号送信手段と、
を更に備えており、
前記新ホスト指定判断手段が、前記報告信号受信手段により、所定条件を満たす全てのゲーム装置から前記報告信号が受信された場合に新たなホスト兼用のゲーム装置を指定すべきと判断する、
ことを特徴としている。
【００１８】
この第２又は第６の発明によれば、管理サーバは、所定条件を満たす全てのゲーム装置から報告信号を受信した場合に、新たなホスト兼用のゲーム装置を指定すべきと判断する。即ち、所定条件を満たす全てのゲーム装置が通信接続の不良発生を認識したことで再接続が行われるので、例えば従来のように、再接続すべき全てのゲーム装置が通信接続の不良発生を認識したことが保証されるまで待機する必要がなく、該再接続すべき全てのゲーム装置を、確実且つ速やかに再接続させることが可能となる。
【００１９】
第３の発明は、第２の発明のネットワークゲームシステムにおいて、
前記管理サーバは、
ゲーム進行中、前記各ゲーム装置それぞれとの間で所定の検査通信を周期的に行って各ゲーム装置それぞれと当該管理サーバとの間の通信状態を監視する通信状態監視手段（例えば、図１２の再接続管理部７４０；図２０のステップＥ１〜Ｅ３）を更に備え、
前記新ホスト指定判断手段は、前記通信状態監視手段により監視された通信状態が良好である全てのゲーム装置から前記報告信号が受信された場合に新たなホスト兼用のゲーム装置を指定すべきと判断する、
ことを特徴としている。
【００２０】
また、第７の発明は、第６の発明の管理サーバにおいて、
ゲーム進行中、前記各ゲーム装置それぞれとの間で所定の検査通信を周期的に行って各ゲーム装置それぞれと当該管理サーバとの間の通信状態を監視する通信状態監視手段を更に備え、
前記新ホスト指定判断手段が、前記通信状態監視手段により監視された通信状態が良好である全てのゲーム装置から前記報告信号が受信された場合に新たなホスト兼用のゲーム装置を指定すべきと判断する、
ことを特徴としている。
【００２１】
この第３又は第７の発明によれば、管理サーバは、ゲーム進行中、各ゲーム装置それぞれとの間で所定の検査通信を周期的に行って各ゲーム装置それぞれとの間の通信状態を監視し、通信状態が良好である全てのゲーム装置から報告信号を受信した場合に、新たなホスト兼用のゲーム装置を指定すべきと判断する。
【００２２】
第４の発明は、第１〜第３の何れかの発明のネットワークゲームシステムにおいて、
前記管理サーバは、
ゲーム進行中、前記各ゲーム装置それぞれとの間で所定の検査通信を周期的に行って各ゲーム装置それぞれと当該管理サーバとの間の通信状態を監視する通信状態監視手段（例えば、図１２の再接続管理部７４０；図２０のステップＥ１〜Ｅ３）を更に備え、
前記新ホスト指定手段は、新たなホスト兼用のゲーム装置を、前記通信状態監視手段により監視された通信状態が良好であるゲーム装置の中から選択し、新ホスト指定信号を、当該監視された通信状態が良好であるゲーム装置に送信することを特徴としている。
【００２３】
また、第８の発明は、第５〜第７の何れかの発明の管理サーバにおいて、
ゲーム進行中、前記各ゲーム装置それぞれとの間で所定の検査通信を周期的に行って各ゲーム装置それぞれと当該管理サーバとの間の通信状態を監視する通信状態監視手段を更に備え、
前記新ホスト指定手段が、新たなホスト兼用のゲーム装置を、前記通信状態監視手段により監視された通信状態が良好であるゲーム装置の中から選択し、新ホスト指定信号を、当該監視された通信状態が良好であるゲーム装置に送信することを特徴としている。
【００２４】
この第４又は第８の発明によれば、管理サーバは、ゲーム進行中、各ゲーム装置それぞれとの間で所定の検査通信を周期的に行って各ゲーム装置それぞれとの間の通信状態を監視し、新たなホスト兼用のゲーム装置を、通信状態が良好であるゲーム装置の中から選択し、新ホスト指定信号を、これら通信状態が良好であるゲーム装置それぞれに送信する。即ち、管理サーバとの通信状態が良好であるゲーム装置が再接続の対象とされる。
【００２５】
第１０の発明は、第９の発明のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体（例えば、図９の記憶部４００）である。
【００２６】
ここでいう「情報記憶媒体」とは、記憶されている情報をコンピュータが読み取り可能な、例えばハードディスクやＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ、メモリカード、ＩＣメモリ等の記憶媒体である。従って、この第１０の発明によれば、該情報記憶媒体に記憶されている情報をコンピュータに読み取らせて演算処理を実行させることで、第９の発明と同様の効果を奏することができる。
【発明の効果】
【００２７】
本発明によれば、管理サーバは、ゲーム装置から送信される所定の報告信号の受信によりゲーム装置間の通信接続の不良発生を把握し、新たなホスト兼用とするゲーム装置を選択し、各ゲーム装置に指定することができる。このため、ゲーム装置間の通信接続の不良が発生した場合に、ホスト兼用のゲーム装置を交代させ、確実且つ速やかに各ゲーム装置を再接続させることが可能となる。
【００２８】
また、管理サーバは、所定条件を満たす全てのゲーム装置から報告信号を受信した場合に、新たなホスト兼用のゲーム装置を指定すべきと判断する。即ち、所定条件を満たす全てのゲーム装置が通信接続の不良発生を認識した時点で再接続が行われるので、例えば従来のように、再接続すべき全てのゲーム装置が通信接続の不良発生を認識したことが保証されるまで待機する必要がなく、該再接続すべき全てのゲーム装置を、確実且つ速やかに再接続させることが可能となる。
【発明を実施するための最良の形態】
【００２９】
以下、図面を参照して、本発明に好適な実施形態を詳細に説明する。尚、以下では、通信ネットワークを介して接続された複数のゲーム装置間でネットワークゲームを実行するネットワークゲームシステムについて説明するが、本発明を適用可能な実施形態がこれに限定されるものではない。
【００３０】
［ゲームシステム］
図１は、本実施形態のネットワークゲームを実現するゲームシステム１の構成例である。同図によれば、ゲームシステム１は、複数のゲーム装置１０と、管理サーバ６０とを具備し、各装置が通信ネットワークＮに接続されて構成されている。
【００３１】
ゲーム装置１０は、プレーヤが操作してゲームを楽しむものであり、プレーヤの操作入力を受け付ける入力装置やゲーム演算等を行う演算処理装置、各種プログラムやデータ等を記憶する記憶装置、ゲーム画面を表示する表示装置、通信ネットワークＮに接続するための通信装置等を有している。このゲーム装置１０は、例えば家庭に設置されているパソコンや家庭用ゲーム装置等で実現される。
【００３２】
管理サーバ６０は、各ゲーム装置１０間の接続を管理するものであり、具体的には、（１）ゲーム開始前に、ゲームに参加するゲーム装置１０を決定し、これらのゲーム装置１０間の接続を確立（形成）させるマッチング処理、（２）ゲーム中、ゲーム装置１０間の通信接続に不良が発生した場合に、ゲーム装置１０間を再接続させる再接続管理処理、を行う。この管理サーバ６０は、各種演算を行う演算処理装置や、各種プログラムやデータ等を記憶する記憶装置、通信ネットワークＮに接続するための通信装置等を有しており、例えば汎用サーバ装置やサーバシステムによって実現される。
【００３３】
通信ネットワークＮは、データ授受が可能な通信路である。即ち、通信ネットワークＮは、直接接続のための専用線（専用ケーブル）やイーサネット（登録商標）等によるＬＡＮの他、電話通信網やケーブル網、インターネット等の通信網により実現される。また、通信方法については有線／無線を問わない。但し、通信ネットワークＮは、ゲームシステム１を構築するための専用線だけで成るものではなく、ゲームシステム１で用いるデータ以外のデータをも伝送され得る。例えば、インターネットやＬＡＮがその代表例である。即ち、通信ネットワークＮは、ゲームシステム１以外の要因により、その通信トラフィックが変化し得るネットワークである。
【００３４】
そして、このようなゲームシステム１において、複数プレーヤが参加するマルチプレイが行われる場合には、先ず、各ゲーム装置１０が管理サーバ６０にログインし、管理サーバ６０のマッチング処理によってゲームに参加するゲーム装置１０が決定され、これらゲーム装置１０間が通信接続された後、ゲームが開始される。即ち、ゲーム中は、参加するゲーム装置１０同士が直接接続してゲームが実行される。尚ここで、「通信接続」とは、該当する装置間の通信路が確立（形成）され、データ通信が可能な状態を意味する。
【００３５】
本実施形態では、ネットワークゲームとして、リアルタイムストラテジーゲームが実行される。プレーヤは、各ゲーム装置１０において表示されるゲーム画面を見ながら、自身のユニットに対する指示コマンドを入力してこれらユニットを操作する。また、プレーヤのコマンド入力は、ターン制ではなくリアルタイムに行われる。
【００３６】
図２は、ゲーム中の論理的な接続構成を示す図であり、４台のゲーム装置Ａ，Ｂ，Ｃ，Ｄがゲームに参加している場合を示している。同図に示すように、本実施形態のゲームでは、参加しているゲーム装置１０の内、１台のゲーム装置１０が通信ホストとされる。そして、この通信ホストであるゲーム装置１０（以下、単に「通信ホスト」という）と、他のゲーム装置１０それぞれとが通信接続される。即ち、参加するゲーム装置１０同士の接続は、２台のゲーム装置１０間のピア・ツー・ピア型の直接接続によって実現される。
【００３７】
同図では、ゲーム装置Ａが通信ホストであり、このゲーム装置Ａとゲーム装置Ｂ，Ｃ，Ｄそれぞれとが通信接続されている。尚ここで、通信ホストは、例えば処理能力が最も高い、或いは、他のゲーム装置１０との応答時間が最も短いといった所定の条件を満足するゲーム装置１０が選択される。
【００３８】
各ゲーム装置１０は、自機での入力コマンドを即時に通信ホストに送信する。通信ホストは、各ゲーム装置１０から送信されてくる入力コマンドを、即時にゲーム装置１０それぞれに配信（送信）する。そして、各ゲーム装置１０は、通信ホストから配信されてくる各ゲーム装置１０での入力コマンドに従ってゲーム進行を制御する。即ち、通信ホストとは、各ゲーム装置１０での入力コマンドを各ゲーム装置１０それぞれに配信するホスト処理を実行するホスト兼用のゲーム装置であり、通信ホスト以外のゲーム装置１０は、上記ホスト処理を実行可能であるが実行していない、ホスト処理未起動のゲーム装置である。
【００３９】
また、管理サーバ６０は、各ゲーム装置１０でのゲーム進行には関与しない。具体的には、ゲーム中は、周期的に各ゲーム装置１０との間で所定の検査通信を行い、該ゲーム装置１０との通信状態が通信可能な状態（良好）か否（不良）かを判定する。
【００４０】
通信状態の監視は、例えば、通信ネットワークＮがＴＣＰ／ＩＰネットワークである場合、各ゲーム装置１０に対するｐｉｎｇコマンドの実行によって実現される。より詳細には、所定時間毎にｐｉｎｇコマンドを実行し、返答（Ｒｅｐｌｙ）が有れば「良好」（通信可能な状態）と判定し、所定時間内に返答が無い場合には「不良」（通信不可能な状態）と判定する。
【００４１】
ゲーム装置１０間のデータ通信は、詳細には次のように実現される。即ち、ゲーム装置１０は、図３に示すように、ホスト機能１２及びクライアント機能１４を有している。これらの機能は、互いに独立した機能として動作する。
【００４２】
ホスト機能１２は、各ゲーム装置１０間でのデータ通信を制御する。具体的には、各ゲーム装置１０から受信した入力コマンド等のデータをゲーム装置１０それぞれに配信するホスト処理を実現する。
【００４３】
クライアント機能１４は、該ゲーム装置１０でのゲーム進行を制御する。具体的には、プレーヤによるコマンド入力の受け付け、入力コマンドの通信ホストへの送信、ホスト機能１２により配信されてきた各ゲーム装置１０での入力コマンドに基づくゲームの進行制御、ゲーム画像やゲーム音の生成等を行う。
【００４４】
これらの機能は、図４に示すように、通信ホストにおいては、ホスト機能１２及びクライアント機能１４の双方が有効となり、通信ホスト以外のゲーム装置１０においては、クライアント機能１４のみが有効となる。そして、各ゲーム装置１０のクライアント機能１４が通信ホストのホスト機能１２と通信することで、ゲームシステム１におけるネットワークゲームが実現される。
【００４５】
同図では、ゲーム装置Ａが通信ホストであり、このゲーム装置Ａにおいて、ホスト機能１２及びクライアント機能１４が有効となっている。また、他のゲーム装置Ｂ，Ｃ，Ｄにおいては、ホスト機能１２が無効であり（点線で示されている）、クライアント機能１４のみが有効となっている。即ち、ゲーム装置Ａがホスト兼用のゲーム装置であり、ゲーム装置Ｂ，Ｃ，Ｄは、ホスト処理未起動のゲーム装置である。
【００４６】
そして、ゲーム装置Ａ，Ｂ，Ｃ、Ｄそれぞれのクライアント機能１４（以下、「クライアントＡ，Ｂ，Ｃ，Ｄ」という）が、ゲーム装置Ａのホスト機能１２（以下、「ホストＡ」という）に接続されている。このとき、ホストＡとクライアントＡとの間のデータ通信は、ゲーム装置Ａ内でのデータ転送によって実現され、ホストＡとクライアントＢ，Ｃ，Ｄとの間のデータ通信は、通信ネットワークＮを介した、ゲーム装置Ａとゲーム装置Ｂ，Ｃ，Ｄそれぞれとの間のデータ通信として実現される。
【００４７】
図５，６は、ホスト・クライアント間の通信手順を示す図であり、両図とも、ホストＡ及びクライアントＡ，Ｂに注目した場合を例として示している。また、図６のタイムチャートにおいては、通信ラグが全く無いものとしている。本実施形態において、各ゲーム装置１０におけるゲームの進行制御はサイクルを単位として行われる。サイクルとは、予め定められた連続する所定数Ｉのフレームから成る期間であり、例えば１フレームが０．０４［秒］程度であり、１サイクルが１０フレームである場合には、１サイクルは０．４［秒］程度となる。
【００４８】
図５（ａ）に示すように、ゲーム装置１０においてプレーヤによりコマンドＣが入力されると、該ゲーム装置１０のクライアントが、この入力コマンドＣをホストに送信する。すると、ホストは、受信した入力コマンドＣを各クライアントに配信（送信）する。同図（ａ）では、サイクルＳＣｎにおいて、ゲーム装置Ａでの入力コマンドＣａがクライアントＡからホストＡに送信され、この入力コマンドＣａが、ホストＡからクライアントＡ，Ｂそれぞれに配信されている（図６の（１））。
【００４９】
また、図５（ｂ）に示すように、各クライアントは、サイクルの終了毎に、該サイクルの終了（区切り）を示す同期データＤをホストに送信する。すると、ホストは、受信した同期データＤを各クライアントに配信（送信）する。同図（ｂ）では、サイクルＳＣｎの終了時に、クライアントから同期データＤａが、クライアントＢから同期データＤｂが、それぞれホストＡに送信され、ホストＡから、この同期データＤａ，ＤｂがクライアントＡ，Ｂそれぞれに配信されている。尚、図５，６では、ホストＡからクライアントＡ，Ｂそれぞれに、同期データＤａ，Ｄｂが１つのデータとして配信されているように示されているが、実際には、別々のデータとして配信される。
【００５０】
各クライアントは、ホストから配信されてくる同期データＤの受信により、ホストから受信した各クライアントでの入力コマンドＣが何れのサイクルで入力されたものであるかを判断する。具体的には、例えばゲーム装置Ａについての配信データ（入力コマンドＣａや同期データＤａ）の内、サイクルＳＣｎ−１の終了を示す同期データＤａｎ−１の受信から、サイクルＳＣｎの終了を示す同期データＤａｎの受信までの間に受信した入力コマンドＣａを、サイクルＳＣｎでの入力コマンドＣａと判断する。
【００５１】
そして、各クライアントは、各サイクルのゲーム進行処理（各ユニットの制御やフレーム画像の生成・表示等）を、その２サイクルおいて前のサイクル（即ち、３サイクル前）での入力コマンドＣに基づいて行う。即ち、例えばゲーム装置Ａ，Ｂそれぞれにおいて、サイクルＳＣｎでのゲーム装置Ａ，Ｂでの入力コマンドＣａｎ，Ｃｂｎに従って、サイクルＳＣｎ＋３でのゲーム進行が制御される（図６の（３））。尚ここで、例えば通信ラグ等によりデータの受信が遅れ、サイクルＳＣｎ＋２の終了時点において、その２サイクル前のサイクルＳＣｎの同期データＤｎを全クライアントから受信完了していない場合には、次サイクルＳＣｎ＋３の処理を開始せずにそのまま待機し、全クライアントから当該同期データＤｎの受信を完了した後、次サイクルＳＣｎ＋３の処理を開始する。
【００５２】
このように、ゲームシステム１では、各ゲーム装置１０での入力コマンドＣは、該ゲーム装置１０のクライアントからホストに送信され、ホストからクライアントそれぞれに配信される。また、各クライアントから、サイクル毎に該サイクルの終了を示す同期データＤがホストに送信され、ホストからクライアントそれぞれに配信される。各クライアントでは、この同期データＤの受信により各入力コマンドの入力サイクルが判断され、各入力コマンドは、該コマンドが入力されたサイクルの２サイクルおいた後のサイクル（即ち、３サイクル後）のゲーム進行に反映される。
【００５３】
［再接続原理］
ところで、ゲームシステム１において、ゲーム装置１０間（詳細には、通信ホストと他のゲーム装置１０それぞれとの間）は通信ネットワークＮを介して通信接続されているが、この通信接続が切断されることがある。この理由として、主に次の２つがある。
【００５４】
第１の理由として、通信ネットワークＮの通信負荷の一時的な増大等の通信障害がある。この場合、複数のゲーム装置１０の内、一部のゲーム装置１０と通信ホストとの間の通信接続が切断されることになる。
【００５５】
また、第２の理由として、例えばゲーム終了によるログアウトといった、ゲーム装置１０の通信ネットワークＮからの切断がある。この場合、通信ネットワークＮから切断されたゲーム装置１０との全ての通信接続が切断されることになる。即ち、通信ホスト以外のゲーム装置１０が通信ネットワークＮから切断された場合には、該ゲーム装置１０と通信ホストとの間の通信接続が切断される。また、通信ホストが通信ネットワークＮから切断された場合、通信ホストと他のゲーム装置１０それぞれとの通信接続が全て切断され、全てのゲーム装置１０が、何れのゲーム装置１０とも通信接続されずに孤立した状態となる。
【００５６】
そこで、本実施形態では、ゲーム装置１０間の通信接続が切断されたと判断される場合に、管理サーバ６０が有する再接続管理機能により、新たな通信ホストを指定し、この新たな通信ホストと他のゲーム装置１０とを新たに通信接続（再接続）させる。
【００５７】
図７，８は、本実施形態の再接続原理を説明するための図である。図７，８では、図２に示したように、４台のゲーム装置Ａ，Ｂ，Ｃ，Ｄがゲームに参加し、ゲーム装置Ａが通信ホストである場合を例として示している。
【００５８】
図２に示したように、ゲーム中は、通信ホストであるゲーム装置Ａと、ゲーム装置Ｂ，Ｃ，Ｄそれぞれとが通信接続されている（同図では、この通信接続を実線で示している）。また、管理サーバ６０は、ゲーム装置Ａ，Ｂ，Ｃ、Ｄそれぞれとの通信状態を監視している（同図では、この監視を粗い点線（破線）で示している）。このとき、管理サーバ６０は、ゲーム装置Ａ，Ｂ，Ｃ，Ｄそれぞれとの通信状態を、全て「良好（通信可能）」と判断している。
【００５９】
そして、図７（ａ）に示すように、通信ホストであるゲーム装置Ａとゲーム装置Ｃとの間の通信接続が、例えば通信ネットワークＮの通信障害等により切断されると、ゲーム装置Ａ，Ｃは、それぞれ互いにデータ通信が不可能な状態、即ち通信接続の「不良」を検出する。すると、ゲーム装置Ａ，Ｃは、ゲーム進行を一時停止するとともに、通信接続の不良を知らせる接続不良報告を管理サーバ６０に送信する。尚、この通信接続の不良の検出はゲーム装置１０毎に時間差が生じ、従って、管理サーバ６０への接続不良報告の送信にも、ゲーム装置１０毎に時間差が生じる。
【００６０】
ここで、ゲーム装置１０における通信接続の不良は、例えば次のように検出される。即ち、本実施形態では、少なくともサイクル毎に、各ゲーム装置１０から通信ホストに同期データが送信されるとともに、通信ホストから各ゲーム装置１０に同期データＤが配信されるが、この同期データＤが受信されない状態が所定時間以上（例えば、３サイクルに相当する時間以上）継続した場合、通信接続が不良であると検出される。
【００６１】
更に、通信ホストであるゲーム装置Ａは、通信接続の不良の発生を知らせる不良発生通知を、該ゲーム装置Ａとの通信状態が良好であるゲーム装置Ｂ，Ｄそれぞれに送信する。すると、同図（ｂ）に示すように、不良発生通知を受信したゲーム装置Ｂ，Ｄは、ゲーム進行を一時停止するとともに、ゲームシステム１における通信接続の不良の発生を認識したことを知らせる接続不良報告を、管理サーバ６０に送信する。
【００６２】
図８（ａ）に示すように、管理サーバ６０は、ゲーム装置Ａ，Ｂ，Ｃ、Ｄそれぞれとの通信状態を監視しており、該通信状態が良好であるゲーム装置Ａ，Ｂ，Ｃ，Ｄの全てから接続不良報告を受信すると、新たな通信ホストを選択すべきと判断する。そして、管理サーバ６０は、該管理サーバ６０との通信状態が良好であり、且つ現在の通信ホストであるゲーム装置Ａ以外のゲーム装置Ｂ，Ｃ，Ｄの中から、新しい通信ホストとするゲーム装置１０を選択し、この選択したゲーム装置１０を新しい通信ホストとして、該通信状態が良好であるゲーム装置Ａ，Ｂ，Ｃ，Ｄそれぞれに通知する。
【００６３】
ゲーム装置Ａ，Ｂ，Ｃ，Ｄは、管理サーバ６０から新しい通信ホストとするゲーム装置１０が通知されると、同図（ｂ）に示すように、現在の通信ホストとの通信接続を一旦切断し、該通知されたゲーム装置１０を新しい通信ホストとして、これと新たに通信接続する（再接続）。詳細には、新しい通信ホストとして通知されたゲーム装置１０は、他のゲーム装置１０からの接続を待機し、他のゲーム装置１０は、通知されたゲーム装置１０に接続する。そして、通知された新しい通信ホストと他のゲーム装置１０との間の通信接続が完了すると、ゲームが再開される。同図（ｂ）では、ゲーム装置Ｃが新しい通信ホストとして選択・通知されており、ゲーム装置Ｃとゲーム装置Ａ，Ｂ，Ｄそれぞれとが、新たに通信接続（再接続）されている。
【００６４】
このように、各ゲーム装置１０は、通信接続されている他のゲーム装置１０との間の通信接続の不良を検出すると、接続不良報告を管理サーバ６０に送信するとともに、通信接続の不良を検出した通信ホストは、接続不良発生報告を他のゲーム装置１０それぞれに送信し、この接続不良発生報告を受信したゲーム装置１０は、接続不良報告を管理サーバ６０に送信する。
【００６５】
そして、管理サーバ６０は、該管理サーバ６０との通信状態が良好であるゲーム装置１０の全てから接続不良報告を受信すると、該通信状態が良好であり、且つ現在の通信ホスト以外のゲーム装置１０の中から新しい通信ホストとするゲーム装置１０を選択し、各ゲーム装置１０に通知する。すると、新たな通信ホストとするゲーム装置１０を通知された各ゲーム装置１０は、該通知されたゲーム装置１０を新たな通信ホストとしてこれに通信接続する。
【００６６】
このように、本実施形態の再接続原理によれば、ゲーム装置１０間の通信接続が切断された場合、管理サーバ６０が、新たな通信ホストを指定し、各ゲーム装置１０を確実且つ速やかに再接続させることが可能となる。
【００６７】
［機能構成］
図９は、ゲーム装置１０の機能構成の一例を示すブロック図である。同図によれば、ゲーム装置１０は、機能的には、操作入力部１００と、処理部２００と、画像表示部３３０と、音出力部３４０と、記憶部４００と、通信部５００とを備えて構成される。
【００６８】
操作入力部１００は、プレーヤによる、該ゲーム装置１０に対する操作指示を受け付け、操作に応じた操作信号を処理部２００に出力する。特に、本実施形態では、プレーヤによるコマンドの入力を検出し、検出したコマンドを処理部２００に出力する。この機能は、例えばキーボードやマウス、ボタンスイッチ、レバー、タッチパネル、各種センサ等によって実現される。
【００６９】
処理部２００は、ゲーム装置１０の全体制御やゲームの進行制御、画像生成等の各種演算処理を行う。この機能は、例えばＣＰＵ（ＣＩＳＣ型、ＲＩＳＣ型）、ＡＳＩＣ（ゲートアレイ等）等の演算処理装置やその制御プログラムにより実現される。
【００７０】
また、処理部２００は、主にゲームの実行に係る演算処理を行うゲーム演算部２１０と、ゲーム演算部２１０の処理によって求められた各種のデータに基づき、ゲーム画像を生成する画像生成部２３０と、効果音やＢＧＭ等のゲーム音を生成する音生成部２４０とを含んでいる。
【００７１】
ゲーム演算部２１０は、記憶部４００から読み出したゲーム情報（プログラム及びデータ）や、操作入力部１００から入力される操作信号等に基づいて種々のゲーム処理を実行する。また、本実施形態では、ゲーム演算部２１０は、ホスト機能を実現するホスト部２１２と、クライアント機能を実現するクライアント部２１４と、他のゲーム装置１０との間の通信接続を管理する通信管理部２１６とを含んでいる。
【００７２】
ゲーム演算部２１０は、ゲーム開始に先立ち、所定のゲーム前処理を行う。即ち、管理サーバ６０にログインしてゲーム参加を申込み、管理サーバ６０から、ゲームに参加する他のゲーム装置１０や通信ホスト等を通知されると、この通知内容を基に参加ゲーム装置情報４２２を生成する。
【００７３】
参加ゲーム装置情報４２２は、ゲームに参加するゲーム装置１０に関する情報である。図１０に、参加ゲーム装置情報４２２のデータ構成の一例を示す。同図によれば、参加ゲーム装置情報４２２は、当該装置を含むゲームに参加する各ゲーム装置４２２ａと、通信アドレス４２２ｂと、通信ホスト４２２ｃとを対応付けて格納している。
【００７４】
通信アドレス４２２ｂは、対応するゲーム装置１０に接続するために要するデータであり、例えば通信ネットワークＮがＴＣＰ／ＩＰネットワークである場合、ＩＰアドレスが格納される。
【００７５】
通信ホスト４２２ｃは、何れのゲーム装置４２２ａが通信ホストであるかを示すデータであり、対応するゲーム装置４２２ａが通信ホストであれば「○」が格納され、通信ホストでないならば「×」が格納される。この通信ホスト４２２ｃは、管理サーバ６０から新しい通信ホストとするゲーム装置１０が通知されると、更新される。
【００７６】
そして、ゲーム演算部２１０は、当該ゲーム装置１０が通信ホストであれば、他のゲーム装置１０からの通信接続を待機し、通信ホストでないならば、通信ホストに通信接続する。
【００７７】
その後、管理サーバ６０からゲーム開始が指示されると、ゲーム演算部２１０は、ゲームを開始する。即ち、クライアント部２１４が所定のクライアント処理を開始し、通信管理部２１６が所定の通信管理処理を開始するとともに、更に、当該ゲーム装置１０が通信ホストであるならば、ホスト部２１２が所定のホスト処理を開始する。
【００７８】
ホスト部２１２は、所定のホスト処理を実行して、ゲーム装置１０間のデータ通信を制御する。具体的には、クライアントから入力コマンドや同期データＤ等のデータを受信すると、この受信データを各クライアントに配信する。ここで、クライアントとのデータの送受信は、該ゲーム装置１０内のクライアント部２１４とのデータ転送、及び、他のゲーム装置１０とのデータ通信を意味する。
【００７９】
クライアント部２１４は、所定のクライアント処理を実行して、該ゲーム装置１０におけるゲーム進行を制御する。具体的には、操作入力部１００から、プレーヤの操作入力によって入力されたコマンドが入力されると、この入力コマンドをホストに送信する。ここで、ホストとのデータの送受信は、該ゲーム装置１０が通信ホストである場合には、該端末内のホスト部２２０との間のデータ転送を意味し、通信ホストでない場合には、通信ホストとの間のデータ通信を意味する。また、サイクルの終了毎に、該サイクルの終了を表す同期データＤをホストに送信する。
【００８０】
また、クライアント部２１４は、ホストから配信されてくる入力コマンドを受信すると、この受信した入力コマンドを、該入力コマンドの送信元であるゲーム装置１０に対応付けて受信コマンド情報４２６に格納する。
【００８１】
受信コマンド情報４２６とは、ホストから受信した各クライアントでの入力コマンドの情報である。図１１に、受信コマンド情報４２６のデータ構成の一例を示す。同図によれば、受信コマンド情報４２６は、ゲーム装置１０毎の複数の受信コマンドデータ４２７から構成される。受信コマンドデータ４２７は、該当するゲーム装置１０の名称（ゲーム装置名）４２７ａとともに、サイクル番号４２７ｂと、入力コマンド４７２ｃと、完了フラグ４２７ｄとを対応付けて格納している。完了フラグ４２７ｄとは、対応するサイクルの入力コマンドの受信を完了したか否かを示すフラグである。この完了フラグ４２７ｄは、初期値として未完了を表す「０」が設定されており、対応するサイクルの同期データＤが受信されると、完了を表す「１」に更新される。
【００８２】
クライアント部２１４は、ホストから受信した入力コマンドを、該入力コマンドの送信元であるゲーム装置１０に該当する受信コマンドデータ４２７において、完了フラグ４２７ｄが「０」であり、且つサイクル番号４２７ｂが最前である入力コマンド４７２ｃとして追加する。例えば同図の場合、受信されたゲーム装置Ａでの入力コマンドは、サイクル番号４２７ｂが「２３」の入力コマンド４７２ｃとして追加格納される。
【００８３】
また、クライアント部２１４は、ホストから配信されてくる同期データＤを受信すると、この受信した同期データＤを基に受信コマンド情報４２６を更新する。即ち、受信した同期データＤの送信元のゲーム装置１０に該当する受信コマンドデータ４２７において、該当するサイクル番号４２５ｂの完了フラグ４２５ｄを「１」に更新する。
【００８４】
そして、クライアント部２１４は、予め設定された所定のフレーム時間間隔で各サイクルのゲーム進行処理を行う。即ち、受信コマンド情報４２６を参照し、該サイクルの２サイクルおいて前（３サイクル前）の各ゲーム装置１０での入力コマンドを基に、各プレーヤのユニット等を制御し、画像生成部２３０にフレーム画像を生成させ、画像表示部３３０に表示させる処理を、１サイクルに相当するフレーム数Ｉだけ繰り返し行う。尚このとき、各サイクルの終了時点で、その次サイクルの処理に必要な入力コマンドの受信を完了していない場合には、該入力コマンドの受信が完了するまで次サイクルの処理を開始しない。
【００８５】
通信管理部２１６は、ゲーム中、所定の通信管理処理を実行して、他のゲーム装置１０との間の通信接続を管理する。具体的には、例えば同期データＤの受信有無により、現在通信接続している他のゲーム装置１０との通信接続が良好であるか否かを判断する。
【００８６】
そして、通信接続の不良を検出すると、管理サーバ６０に、通信接続の不良を知らせる接続不良報告を送信する。尚ここで、管理サーバ６０と通信するために要する通信アドレス等のデータは、管理サーバ情報４２４に格納されている。
【００８７】
更に、通信管理部２１６は、通信接続の不良を検出した場合、該ゲーム装置１０が通信ホストであるならば、他のゲーム装置１０それぞれに、通信接続の不良の発生を知らせる不良発生通知を送信する。
【００８８】
また、通信管理部２１６は、該ゲーム装置１０が通信ホストでない場合、通信ホストから不良発生通知を受信すると、管理サーバ６０に、接続不良報告を送信する。
【００８９】
そして、管理サーバ６０から新しい通信ホストとするゲーム装置１０が通知されると、通信管理部２１６は、参加ゲーム装置情報４２２を更新するとともに、現在の他のゲーム装置１０との通信接続を一旦切断し、該通知された新しい通信ホストとなるゲーム装置１０に通信接続する。更に、当該ゲーム装置１０が新しい通信ホストであるならば、ホスト部２１２にホスト処理を開始させる。
【００９０】
画像生成部２３０は、ゲーム演算部２１０による演算結果に基づき、ゲーム画面を表示するためのゲーム画像を生成し、生成した画像の画像信号を画像表示部３３０に出力する。画像表示部３３０は、処理部２００からの画像信号に基づくゲーム画像を表示する。この機能は、例えばＣＲＴ、ＬＣＤ、ＥＬＤ等のハードウェアによって実現される。
【００９１】
音生成部２４０は、ゲーム中に使用される効果音やＢＧＭ等のゲーム音声を生成し、生成したゲーム音声の音信号を音出力部３４０に出力する。音出力部３４０は、音生成部２４０からの音信号に基づいて、ＢＧＭや効果音等のゲーム音声を出力する。この機能は、例えばスピーカ等によって実現される。
【００９２】
記憶部４００は、処理部２００にゲーム装置１０を統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームを実行させるために必要なプログラムやデータ等を記憶するとともに、処理部２００の作業領域として用いられ、処理部２００が各種プログラムに従って実行した演算結果や操作入力部１００から入力される入力コマンド等を一時的に記憶する。この機能は、例えば各種ＩＣメモリやハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ、ＲＡＭ、ＶＲＡＭ等によって実現される。
【００９３】
また、記憶部４００は、処理部２００をゲーム演算部２１０として機能させるためのゲームプログラム４１０及びゲームデータを記憶する。ゲームプログラム４１０には、ホストプログラム４１２と、クライアントプログラム４１４と、通信管理プログラム４１６とが含まれる。また、ゲームデータには、参加ゲーム装置情報４２２と、管理サーバ情報４２４と、受信コマンド情報４２６とが含まれる。
【００９４】
通信部５００は、通信ネットワークＮに接続して他のゲーム装置１０等の外部装置とのデータ通信を行う。この機能は、Ｂｌｕｅｔｏｏｔｈ（登録商標）や無線ＬＡＮ等の無線通信モジュール、モデム、ＴＡ、有線用の通信ケーブルのジャックや制御回路などによって実現される。
【００９５】
図１２は、管理サーバ６０の機能構成の一例を示すブロック図である。同図によれば、管理サーバ６０は、機能的には、入力部６２０と、処理部７００と、出力部６４０と、記憶部８００と、通信部９００とを備えて構成される。
【００９６】
入力部６２０は、該管理サーバ６０に対する各種操作入力を受け付け、操作に応じた操作信号を処理部７００に出力する。この機能は、例えばキーボードやマウス、ボタンスイッチ、レバー、タッチパネル、各種センサによって実現される。
【００９７】
処理部７００は、管理サーバ６０の全体制御等の各種演算処理を行う。この機能は、例えばＣＰＵ（ＣＩＳＣ型、ＲＩＳＣ型）やＡＳＩＣ（ゲートアレイ等）等の演算処理装置やその制御プログラムにより実現される。また、処理部７００は、ゲーム装置１０間のマッチングを実施するマッチング部７２０と、ゲーム装置１０間の通信接続が切断された場合の再接続を管理する再接続管理部７４０とを含んでいる。
【００９８】
マッチング部７２０は、ゲーム開始前に、所定のマッチング処理を実行して、ゲームに参加するゲーム装置１０の決定や、これらゲーム装置１０間の通信接続の確保を行う。具体的には、ゲーム装置１０からのゲームの参加申し込みを受け付け、これらゲーム装置１０を、１グループに属するゲーム装置１０が所定数（例えば、「８」）以下となるように適当にグループ分けし、各グループについてグループ情報８２０を生成する。
【００９９】
グループ情報８２０とは、同一のネットワークゲームに参加する複数のゲーム装置１０から成るグループについての情報であり、参加ゲーム装置情報８２２と、通信ホスト優先度情報８２４と、通信状態監視情報８２６と、接続不良報告情報８２８とを含んでいる。
【０１００】
参加ゲーム装置情報８２２とは、該グループに属するゲーム装置１０についての情報である。図１３に、参加ゲーム装置情報８２２のデータ構成の一例を示す。同図によれば、参加ゲーム装置情報８２２は、該グループに属する各ゲーム装置８２２ａと、通信アドレス８２２ｂと、通信ホスト８２２ｃとを対応付けて格納している。
【０１０１】
通信ホスト８２２ｃは、何れのゲーム装置１０が通信ホストであるかを示すデータであり、対応するゲーム装置８２２ａが通信ホストであれば「○」が格納され、通信ホストでないならば「×」が格納される。この通信ホスト８２２ｃは、再接続が行われる毎に更新される。
【０１０２】
通信ホスト優先度情報８２４とは、各ゲーム装置１０について、通信ホストとする優先度を設定した情報である。図１４に、通信ホスト優先度情報８２４のデータ構成の一例を示す。同図によれば、通信ホスト優先度情報８２４は、該グループに属するゲーム装置１０を、通信ホストとする優先度に従って格納している。同図では、「ゲーム装置Ａ」、「ゲーム装置Ｂ」、「ゲーム装置Ｃ」・・の順に優先度が高く設定されている。設定されている優先度が最も高いゲーム装置１０が、ゲーム開始時点での通信ホストとされる。
【０１０３】
通信状態監視情報８２６とは、該管理サーバ６０と各ゲーム装置１０との通信状態に関する情報である。図１５に、通信状態監視情報８２６のデータ構成の一例を示す。同図によれば、通信状態監視情報８２６は、該グループに属する各ゲーム装置８２６ａと、現在の通信状態８２６ｂを対応付けて格納している。
【０１０４】
通信状態８２６ｂは、再接続管理部７４０による監視結果である現在の通信状態を示すデータであり、ここでは、通信可能な状態であることを示す「良」、或いは、通信不可能な状態であることを示す「不良」が格納される。
【０１０５】
接続不良報告情報８２８とは、各ゲーム装置１０からの接続不良報告の受信状況に関する情報である。図１６に、接続不良報告情報８２８のデータ構成の一例を示す。同図によれば、接続不良報告情報８２８は、該グループに属する各ゲーム装置８２８ａと、接続不良報告の受信有無８２８ｂとを対応付けて格納している。
【０１０６】
接続不良報告の受信有無８２８ｂは、対応するゲーム装置８２８ａから接続不良報告が受信されると「有り」が格納される。また、この受信有無８２８ｂは、再接続が行われると全て「無し」に更新される。
【０１０７】
即ち、マッチング部７２０は、ゲーム装置１０をグループ分けし、同一のゲームに参加するゲーム装置１０を決定すると、該グループに属する各ゲーム装置１０についての参加ゲーム装置情報８２２を生成する。また、各ゲーム装置１０について、例えばその処理能力等を基に通信ホストとする優先度を設定し、通信ホスト優先度情報８２４を生成する。そして、設定した優先度が最も高いゲーム装置１０を、ゲーム開始時点での通信ホストとする。そして、各ゲーム装置１０に、同一のゲームに参加するゲーム装置１０やその通信アドレス、通信ホスト等を通知する。
【０１０８】
再接続管理部７４０は、ゲーム中、所定の再接続管理処理を実行して、ゲーム装置１０間の通信接続が切断された場合の再接続を管理する。具体的には、例えば所定時間毎に各ゲーム装置１０との検査通信（例えば、ｐｉｎｇコマンドの実行）を行って、各ゲーム装置１０との通信状態（通信可能な状態であるか否か）を判定し、通信状態監視情報８２６を更新する。また、ゲーム装置１０から送信されてくる通信ホストとの接続不良報告を受信すると、接続不良報告情報８２８を更新する。
【０１０９】
そして、再接続管理部７４０は、新しい通信ホストとするゲーム装置１０を選択するか否かを判断する。即ち、通信状態監視情報８２６及び接続不良報告情報８２８を参照し、該管理サーバ６０との間の通信状態が良好であるゲーム装置１０の全てから接続不良報告を受信した場合、新しい通信ホストとするゲーム装置１０を選択すると判断する。
【０１１０】
新しい通信ホストとするゲーム装置１０を選択すると判断した場合、該管理サーバ６０との間の通信状態が良好であるゲーム装置１０の内、通信ホスト優先度情報８２４に設定されている優先度が最も高いゲーム装置１０を新たな通信ホストとするゲーム装置１０として選択する。そして、参加ゲーム装置情報８２２を更新するとともに、該管理サーバ６０との間の通信状態が良好であるゲーム装置１０それぞれに、選択したゲーム装置１０を新たな通信ホストとして通知する。
【０１１１】
出力部６４０は、処理部７００による処理結果を出力するものであり、例えばＣＲＴやＬＣＤ、ＥＬＤ等で実現される、各種の画像を表示する画像表示部や、例えばスピーカ等で実現される、各種の音を出力する音出力部を含んでいる。
【０１１２】
記憶部８００は、処理部７００に管理サーバ６０を統合的に制御させるための諸機能を実現させるためのシステムプログラムや、各種処理に必要なプログラムやデータ等を記憶するとともに、処理部７００の作業領域として用いられ、処理部７００が各種プログラムに従って実行した演算結果や、入力部６２０からの入力データ等を一時的に記憶する。この機能は、例えば各種ＩＣメモリやハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ、ＲＡＭ等によって実現される。
【０１１３】
また、記憶部８００は、本実施形態を実現するための管理プログラム８１０及びデータを記憶する。管理プログラム８１０には、処理部７００をマッチング部７２０として機能させるためのマッチングプログラム８１２と、再接続管理部７４０として機能させるための再接続管理プログラム８１４とが含まれる。また、データには、グループ情報８２０が含まれる。
【０１１４】
通信部９００は、通信ネットワークＮに接続してゲーム装置１０等の外部装置とのデータ通信を行う。この機能は、Ｂｌｕｅｔｏｏｔｈ（登録商標）や無線ＬＡＮ等の無線通信モジュール、モデム、ＴＡ、有線用の通信ケーブルのジャックや制御回路等によって実現される。
【０１１５】
［処理の流れ］
図１７は、本実施形態におけるゲーム処理の流れを説明するためのフローチャートである。同図において、左側がゲーム装置１０の処理であり、右側が管理サーバ６０の処理である。この処理は、ゲーム装置１０のゲーム演算部２１０がゲームプログラム４１０に従った処理を実行するとともに、管理サーバ６０の処理部７００が管理プログラム８１０に従った処理を実行することで実現される。
【０１１６】
同図によれば、先ず、ゲーム装置１０が管理サーバ６０にログインしてゲーム参加を申し込む（ステップＡ１）。すると、管理サーバ６０において、マッチング部７２０が、このゲーム参加を受け付け（ステップＢ１）、ゲーム参加を受け付けた他のゲーム装置１０とともに適当にグループ分けしてゲームに参加するゲーム装置１０を決定し、該グループについてのグループ情報８２０を生成する（ステップＢ３）。次いで、これらゲームに参加する各ゲーム装置１０について、例えばその処理能力等を基に通信ホストとする優先度を設定し（ステップＢ５）、設定した優先度が最も高いゲーム装置１０を、ゲーム開始時点での通信ホストとする（ステップＢ７）。そして、各ゲーム装置１０に、同一のゲームに参加するゲーム装置１０や通信ホスト等を通知する（ステップＢ９）。
【０１１７】
各ゲーム装置１０において、ゲーム演算部２１０は、管理サーバ６０からこの通知を受信すると（ステップＡ３）、自装置が通信ホストであるならば（ステップＡ５：ＹＥＳ）、他のゲーム装置１０からの接続を待機し（ステップＡ７）、自装置が通信ホストでないならば（ステップＡ５：ＮＯ）、通信ホストに接続する（ステップＡ１３）。
【０１１８】
その後、管理サーバ６０は、適当なタイミングで各ゲーム装置１０にゲーム開始を通知し（ステップＢ１１）、各ゲーム装置１０は、このゲーム開始通知を受信すると（ステップＡ９，Ａ１５）、ゲームを開始する。即ち、自装置が通信ホストであるならば、ホスト部２１２がホスト処理を開始し、クライアント部２１４がクライアント処理を開始し、通信管理部２１６が通信管理処理を開始する（ステップＡ１１）。また、自装置が通信ホストでないならば、クライアント部２１４がクライアント処理を開始し、通信管理部２１６が通信管理処理を開始する（ステップＡ１７）。
【０１１９】
その後、ゲーム演算部２１０は、ゲーム終了であるか否かを判断し、終了であるならば（ステップＡ１９：ＹＥＳ）、管理サーバ６０からログアウトし（ステップＡ２１）、本処理を終了する。尚ここで、ゲーム終了であるか否かは、ゲーム進行処理、即ちクライアント部２１４によるクライアント処理が終了したか否かによって判断する。
【０１２０】
図１８は、ゲーム装置１０におけるクライアント処理の流れを説明するためのフローチャートである。この処理は、ゲーム装置１０において、クライアント部２１４がクライアントプログラム４１４に従った処理を実行することで実現される。
【０１２１】
同図によれば、クライアント部２１４は、先ず、処理対象となるサイクルである現サイクルを所定の初期値に設定し（ステップＣ１）、その後、受信コマンド情報４２６を参照して、現サイクルから２サイクルおいて前（３サイクル前）のサイクルでの、全ゲーム装置１０での入力コマンドの受信を完了しているか否かを判断する。完了していないならば（ステップＣ２：ＮＯ）、操作入力部１００から入力コマンドが入力されたか否かを判断し、入力されたならば（ステップＣ２１：ＹＥＳ）、その入力コマンドをホストに送信する（ステップＣ２３）。
【０１２２】
また、ホストから配信されてくるデータを受信したか否かを判断し、受信したならば（ステップＣ２５：ＹＥＳ）、その受信したデータを記憶する（ステップＣ２７）。即ち、入力コマンドを受信したならば、該入力コマンドを、その送信元のゲーム装置１０の受信コマンドデータ４２７において、該当するサイクルの入力コマンドとして格納する。また、同期データＤを受信したならば、該同期データＤの送信元のゲーム装置１０の受信コマンドデータ４２７において、該当するサイクルの完了フラグを「１」に設定する。その後、ステップＣ２に戻る。
【０１２３】
尚ここで、ステップＣ２において受信を完了していない（ＮＯ）と判断されるのは、例えば、当該ゲーム装置１０と通信ホストとの間の通信接続が切断されて通信ホストからの配信データが受信できない場合や、他のあるゲーム装置１０と通信ホストとの間の通信接続が切断されて該ゲーム装置１０からの入力コマンドや同期データＤが受信されない場合であり、受信を完了していないと判断されている間、ゲーム進行が一時停止する。
【０１２４】
一方、全ゲーム装置１０での入力コマンドの受信を完了しているならば（ステップＣ２：ＹＥＳ）、クライアント部２１４は、続いて、所定のフレーム時間間隔でループＡの処理を行う。即ち、ループＡでは、ステップＳ２１〜Ｓ２３と同様に、操作入力部１００から入力コマンドが入力されたか否かを判断し、入力されたならば（ステップＣ３：ＹＥＳ）、その入力コマンドをホストに送信する（ステップＣ５）。また、ステップＳ２５〜Ｓ２７と同様に、ホストから配信されてくるデータを受信したか否かを判断し、受信したならば（ステップＣ７：ＹＥＳ）、その受信したデータを記憶する（ステップＣ９）。
【０１２５】
次いで、クライアント部２１４は、受信コマンド情報４２６を参照し、現サイクルから２サイクルおいて前（３サイクル前）のサイクルでの各ゲーム装置１０での入力コマンドを基に各プレーヤのユニットの制御等を行い、画像生成部２４０にフレーム画像を生成させ、画像表示部３４０に表示させる（ステップＣ１１）。
【０１２６】
その後、クライアント部２１４は、１サイクルを終了したか否かを判断し、終了したならば（ステップＣ１３：ＹＥＳ）、ループＡを終了する。ここで、１サイクルの終了判断は、ループＡの処理を１サイクルに相当するフレーム数Ｉだけ繰り返し行った場合、１サイクルが終了したと判断する。
【０１２７】
ループＡを終了すると、クライアント部２１４は、現サイクルを終了したことを示す同期データＤをホストに送信する（ステップＣ１５）。
【０１２８】
その後、クライアント部２１４は、ゲーム終了であるか否かを判断し、終了でないならば（ステップＣ１７：ＮＯ）、次サイクルを新たな現サイクルとした後（ステップＣ１９）、ステップＣ３に戻り、次のループＡの処理を開始する。一方、ゲーム終了ならば（ステップＣ１７：ＹＥＳ）、本クライアント処理を終了する。ここで、ゲーム終了であるか否かは、ゲームの進行結果が所定のゲーム終了条件（例えば、ゲーム開始から所定時間が経過した、所定スコアに達した等）を満足したか否かによって判断する。
【０１２９】
図１９は、ゲーム装置１０における通信管理処理の流れを説明するためのフローチャートである。この処理は、ゲーム装置１０において、通信管理部２１６が通信管理プログラム４１６に従った処理を実行することで実現される。
【０１３０】
同図によれば、通信管理部２１６は、通信接続している他のゲーム装置１０との間の通信接続状態を判定する。具体的には、自装置が通信ホストであるならば、他のゲーム装置１０それぞれとの間の通信状態を判定し、通信ホストでないならば、通信ホストとの間の通信状態を判定する。その結果、通信状態の不良を検出したならば（ステップＤ１：ＹＥＳ）、通信接続の不良が発生したことを知らせる接続不良報告を管理サーバ６０に送信する（ステップＤ５）。ここで、他のゲーム装置１０との間の通信接続の不良を検出した場合、該ゲーム装置１０からのデータ受信が無い状態であるので、自装置におけるゲーム進行は一時停止している。
【０１３１】
更に、通信管理部２１６は、自装置が通信ホストである場合には（ステップＤ７：ＹＥＳ）、他のゲーム装置１０それぞれに、通信状態の不良の発生を知らせる不良発生通知を送信する（ステップＤ９）。
【０１３２】
また、ステップＤ１において、他のゲーム装置１０との通信接続の不良が検出されないならば（ステップＤ１：ＮＯ）、通信管理部２１６は、自装置が通信ホストである場合（ステップＤ１１：ＹＥＳ）、通信ホストから不良発生通知を受信したか否かを判断する。不良発生通知を受信したならば（ステップＤ１３：ＹＥＳ）、ゲーム進行を一時停止する、即ち、クライアント部２１４に実行中のクライアント処理を一時停止させ（ステップＤ１５）、ゲームシステム１における通信接続の不良の発生を認識したことを知らせる接続不良報告を管理サーバ６０に送信する（ステップＤ１７）。
【０１３３】
その後、管理サーバ６０から新しい通信ホストとするゲーム装置１０が通知されると（ステップＤ１９：ＹＥＳ）、通信管理部２１６は、現在の他のゲーム装置１０との通信接続を一旦切断する（ステップＤ２１）。そして、自装置が新しい通信ホストであるならば（ステップＤ２３：ＹＥＳ）、他のゲーム装置１０からの接続を待機し（ステップＤ２５）、所定の接続待機時間が経過した後（ステップＤ２７：ＹＥＳ）、ホスト処理を開始させる（ステップＤ２９）。従って、新たな通信ホストが起動することにより、各ゲーム装置１０において一時停止していたゲーム進行が再開される。
【０１３４】
また、自装置が新しい通信ホストでないならば（ステップＤ２３：ＮＯ）、通信管理部２１６は、通知された新しい通信ホストとなるゲーム装置１０に通信接続させる（ステップＤ３１）。そして、該新しい通信ホストが起動することにより、一時停止していたゲーム進行が再開される。
【０１３５】
その後、通信管理部２１６は、本処理を終了するか否かを判断し、終了しないと判断したならば（ステップＤ３５：ＮＯ）、ステップＤ１に戻り、終了すると判断したならば（ステップＤ３５：ＹＥＳ）、本再接続管理処理を終了する。ここで、通信管理処理を終了するか否かは、クライアント部２１４によるクライアント処理が終了したか否かによって判断する。
【０１３６】
図２０は、管理サーバ６０における再接続管理処理の流れを説明するためのフローチャートである。この処理は、管理サーバ６０において、再接続管理部７４０が再接続管理プログラム８１４に従った処理を実行することで実現される。
【０１３７】
同図によれば、再接続管理部７４０は、各ゲーム装置１０との検査通信を行う時間間隔である所定の通信状態判定時間が経過したか否かを判断し、経過したならば（ステップＥ１：ＹＥＳ）、所定の検査通信を行ってゲーム装置１０それぞれとの通信状態を判定し、通信状態監視情報８２６を更新する（ステップＥ３）。
【０１３８】
また、再接続管理部７４０は、ゲーム装置１０から接続不良報告を受信したか否かを判断し、受信したならば（ステップＥ５：ＹＥＳ）、接続不良報告情報８２８を更新する。そして、更新後の接続不良報告情報８２８、及び、通信状態監視情報８２６を参照して、自装置との通信状態が良好である全てのゲーム装置１０から接続不良報告を受信済みであるか否かを判断する。
【０１３９】
通信状態が良好である全てのゲーム装置１０から接続不良報告を受信済みであるならば（ステップＥ７：ＹＥＳ）、再接続管理部７４０は、現在の通信ホスト以外の、自装置との通信状態が良好であるゲーム装置１０の内、通信ホスト優先度情報８２４に設定されている優先度が最も高いゲーム装置１０を、新しい通信ホストとするゲーム装置１０として選択する（ステップＥ９）。そして、選択したゲーム装置１０を新しい通信ホストとする通知を、自装置との通信状態が良好である全てのゲーム装置１０それぞれに送信し（ステップＥ１１）、その後、接続不良報告情報８２８をクリア（受信有無を全て「無し」に更新）する（ステップＥ１３）。
【０１４０】
その後、再接続管理部７４０は、本処理を終了するか否かを判断し、終了しないと判断したならば（ステップＥ１５：ＮＯ）、ステップＦ１に戻り、終了すると判断したならば（ステップＥ１５：ＹＥＳ）、本再接続管理処理を終了する。ここで、本処理を終了するか否かは、ゲームに参加している全ゲーム装置１０がログアウトしたか否かによって判断する。
【０１４１】
［作用・効果］
以上のように、本実施形態によれば、ゲームシステム１において、ゲーム装置１０は、ゲーム中、通信接続している他のゲーム装置１０の間の通信接続の不良を検出した場合、或いは、通信ホストから通信接続の不良発生を通知する不良発生通知を受信した場合、接続不良報告を管理サーバ６０に送信する。管理サーバ６０は、ゲーム装置１０からの接続不良報告の受信を基に、新しい通信ホストを選択すべきか否かを判断する。即ち、監視している通信状態が良好である全てのゲーム装置１０から接続不良報告を受信した場合、新しい通信ホストを選択すべきと判断する。そして、通信状態が良好であるゲーム装置１０の中から新しい通信ホストとするゲーム装置１０を選択し、この選択したゲーム装置１０を新しい通信ホストとして、通信状態が良好であるゲーム装置１０それぞれに通知する。
【０１４２】
即ち、管理サーバは、ゲーム装置１０から送信される接続不良報告の受信によりゲーム装置１０間の通信接続の不良発生を把握し、新たなホスト兼用とするゲーム装置１０を選択し、各ゲーム装置１０に指定することができる。このため、ゲーム装置１０間の通信接続の不良が発生した場合に、ホスト兼用のゲーム装置１０を交代させ、確実且つ速やかに各ゲーム装置１０を再接続させることが可能となる。
【０１４３】
また、管理サーバ６０は、通信状態が良好である全てのゲーム装置１０から接続不良報告を受信した場合に、新たなホスト兼用のゲーム装置１０を指定すべきと判断する。即ち、再接続可能な全てのゲーム装置１０が通信接続の不良発生を認識した時点で再接続が行われるので、例えば従来のように、再接続すべき全てのゲーム装置が通信接続の不良発生を認識したことが保証されるまで待機する必要がなく、該再接続すべき全てのゲーム装置を、確実且つ速やかに再接続させることが可能となる。
【０１４４】
尚、本発明の適用は上述した実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能であるのは勿論である。
【図面の簡単な説明】
【０１４５】
【図１】実施形態のゲームシステムの構成例。
【図２】ゲームシステムにおける論理的な接続構成例。
【図３】ゲーム装置が有する機能図。
【図４】ホスト・クライアント間の接続構成。
【図５】ホスト・クライアント間の通信手順の説明図。
【図６】ホスト・クライアント間の通信手順の説明図。
【図７】再接続原理の説明図。
【図８】再接続原理の説明図。
【図９】ゲーム装置の機能構成図。
【図１０】参加ゲーム装置情報のデータ構成例。
【図１１】受信コマンド情報のデータ構成例。
【図１２】管理サーバの機能構成図。
【図１３】参加ゲーム装置情報のデータ構成例。
【図１４】通信ホスト優先度情報のデータ構成例。
【図１５】通信状態監視情報のデータ構成例。
【図１６】接続不良報告情報のデータ構成例。
【図１７】ゲーム処理の流れ図。
【図１８】ゲーム装置におけるクライアント処理の流れ図。
【図１９】ゲーム装置における通信管理処理の流れ図。
【図２０】管理サーバにおける再接続管理処理の流れ図。
【符号の説明】
【０１４６】
１  ゲームシステム
１０  ゲーム装置
１００  操作入力部
２００  処理部
２１０  ゲーム演算部
２１２  ホスト部
２１４  クライアント部
２１６  通信管理部
２３０  画像生成部
２４０  音生成部
３３０  画像表示部
３４０  音出力部
４００  記憶部
４１０  ゲームプログラム
４１２  ホストプログラム
４１４  クライアントプログラム
４１６  通信管理プログラム
４２２  参加ゲーム装置情報
４２４  管理サーバ情報
４２６  受信コマンド情報
５００  通信部
６０  管理サーバ
６２０  入力部
６４０  出力部
７００  処理部
７２０  マッチング部
７４０  再接続管理部
８００  記憶部
８１０  管理プログラム
８１２  マッチングプログラム
８１４  再接続管理プログラム
８２０グループ情報
８２２  参加ゲーム装置情報
８２４  通信ホスト優先度情報
８２６  通信状態監視情報
８２８  接続不良報告情報
９００  通信部
Ｎ  通信ネットワーク
【図１】
2006254946.tif 000003
【図２】
2006254946.tif 000004
【図３】
2006254946.tif 000005
【図４】
2006254946.tif 000006
【図５】
2006254946.tif 000007
【図６】
2006254946.tif 000008
【図７】
2006254946.tif 000009
【図８】
2006254946.tif 000010
【図９】
2006254946.tif 000011
【図１０】
2006254946.tif 000012
【図１１】
2006254946.tif 000013
【図１２】
2006254946.tif 000014
【図１３】
2006254946.tif 000015
【図１４】
2006254946.tif 000016
【図１５】
2006254946.tif 000017
【図１６】
2006254946.tif 000018
【図１７】
2006254946.tif 000019
【図１８】
2006254946.tif 000020
【図１９】
2006254946.tif 000021
【図２０】
2006254946.tif 000022