(57)【要約】【課題】複数の通信機器が相互に通信を行う際の通信効率を向上させる。【解決手段】通信システムは、グループ設定手段、第１通信手段及び第２通信手段を備える。グループ設定手段は、複数の機器の各々が、第１種グループのうちのいずれか１つと、第２種グループのうちのいずれか１つに属するようにグループを設定する。第１通信手段は、第１種グループの各々において、第１種グループに属する機器の各々が、同じ第１種グループに属する他の機器に対して自機データを送信する。第２通信手段は、第２種グループの各々において、第２種グループに属する機器の各々が、自機と同じ第１種グループに属する他の機器から受信した他機データと自機データを、自機と同じ第２種グループに属する他の機器に対して送信する。【選択図】図２
2020065154.tif 000002
【特許請求の範囲】
【請求項１】
複数の機器の各々が相互に通信を行う通信システムであって、
前記複数の機器の各々が、少なくとも１以上の第１種グループのうちのいずれか１つと、少なくとも１以上の第２種グループのうちのいずれか１つに属するようにグループを設定するグループ設定手段と、
前記少なくとも１以上の第１種グループの各々において、第１種グループに属する機器の各々が、同じ第１種グループに属する他の機器に対して自機データを送信する第１通信手段と、
前記少なくとも１以上の第２種グループの各々において、第２種グループに属する機器の各々が、自機と同じ第１種グループに属する他の機器から受信した他機データと自機データを、自機と同じ第２種グループに属する他の機器に対して送信する第２通信手段と
を備える通信システム。
【請求項２】
前記グループ設定手段は、前記複数の機器の各々について、当該機器が属する第１種グループ内の他の機器と、当該機器が属する第２種グループ内の他の機器が重複しないようにグループを設定する、請求項１に記載の通信システム。
【請求項３】
前記第１通信手段と前記第２通信手段に処理を繰り返し実行させる制御手段をさらに備える請求項１又は２に記載の通信システム。
【請求項４】
前記グループ設定手段は、前記複数の機器のうち、他の機器との直接通信が不能である機器を、前記少なくとも１以上の第１種グループのうちの直接通信不能グループに属するようにグループを設定し、
前記第１通信手段は、前記直接通信不能グループについては、前記直接通信不能グループに属する機器の各々から、前記直接通信不能グループに属する他のすべての機器に対してリレー用機器を介して自機データを送信し、
前記第２通信手段は、前記少なくとも１以上の第２種グループに属する機器のうち、前記直接通信不能グループに属する機器については、前記直接通信不能グループに属する他のすべての機器から受信した他機データと自機データを、前記リレー用機器を介して、自機と同じ第２種グループに属する他のすべての機器に対して送信し、かつ、自機と同じ第２種グループに属する他のすべての機器の各々から、当該機器と同じ第１種グループに属する他のすべての機器の各々から受信した他機データと当該機器の他機データを、前記リレー用機器を介して受信する、請求項１乃至３のいずれか１項に記載の通信システム。
【請求項５】
前記グループ設定手段は、前記複数の機器のうち、他の機器との通信が不能である機器に代えて、リレー用機器を、前記少なくとも１以上の第１種グループのうちのいずれか１つと、前記少なくとも１以上の第２種グループのうちのいずれか１つに属するようにグループを設定する、請求項１乃至４のいずれか１項に記載の通信システム。
【請求項６】
前記第１通信手段は、前記複数の機器のうち、他の機器との通信が不能である通信不能機器に代えて、当該通信不能機器と同じ第１種グループに属する他のすべての機器から、当該通信不能機器と同じ第２種グループに属する他の機器に対して自機データをさらに送信する、請求項１乃至５のいずれか１項に記載の通信システム。
【請求項７】
前記第１通信手段は、前記通信不能機器と同じ第１種グループに属する他のすべての機器のそれぞれから、前記通信不能機器と同じ第２種グループに属する複数の機器のうち、所定の条件によって決定された機器に対して自機データを送信する、請求項６に記載の通信システム。
【請求項８】
前記自機データ及び前記他機データは、ゲームに関するデータであって、
前記複数の機器の各々において、他の機器から受信した他機データと自機データとを用いてゲーム処理を実行するゲーム処理実行手段をさらに備える、請求項１乃至７のいずれか１項に記載の通信システム。
【請求項９】
前記ゲーム処理実行手段は、他の機器から受信した他機データと自機データとを用いて、他の機器と自機とでゲームイベントを同期させてゲーム処理を実行する、請求項８に記載の通信システム。
【請求項１０】
前記グループ設定手段は、前記複数の機器の各々が、少なくとも１以上の第３種グループのうちのいずれか１つにさらに属するようにグループを設定し、
前記少なくとも１以上の第３種グループの各々において、第３種グループに属する機器の各々が、自機と同じ第１種グループに属する他のすべての機器から受信した他機データと、自機と同じ第２種グループに属する他のすべての機器から受信した他機データと、自機データとを、自機と同じ第３種グループに属する他のすべての機器に対して送信する第３通信手段をさらに備える、請求項１乃至９のいずれか１項に記載の通信システム。
【請求項１１】
他の通信機器と相互に通信を行う通信機器であって、
少なくとも１以上の第１種グループのうち、自機と同じ第１種グループに属する他のすべての通信機器に対して自機データを送信し、かつ、自機と同じ第１種グループに属する他のすべての通信機器の各々から他機データを受信する第１通信手段と、
前記少なくとも１以上の第２種グループのうち、自機と同じ第２種グループに属する他のすべての通信機器に対して、自機と同じ第１種グループに属する他のすべての通信機器の各々から受信した他機データと自機データを送信し、かつ、自機と同じ第２種グループに属する他のすべての通信機器の各々から、当該通信機器と同じ第１種グループに属する他のすべての通信機器の各々から受信した他機データと当該通信機器の他機データを受信する第２通信手段と
を備える通信機器。
【請求項１２】
自機を含む複数の通信機器の各々が、前記少なくとも１以上の第１種グループのうちのいずれか１つと、前記少なくとも１以上の第２種グループのうちのいずれか１つに属するようにグループを設定するグループ設定手段をさらに備える、請求項１０に記載の通信機器。
【請求項１３】
他の通信機器と相互に通信を行うコンピュータに、
少なくとも１以上の第１種グループのうち、自機と同じ第１種グループに属する他のすべての通信機器に対して自機データを送信し、かつ、自機と同じ第１種グループに属する他のすべての通信機器の各々から他機データを受信するステップと、
前記少なくとも１以上の第２種グループのうち、自機と同じ第２種グループに属する他のすべての通信機器に対して、自機と同じ第１種グループに属する他のすべての通信機器の各々から受信した他機データと自機データを送信し、かつ、自機と同じ第２種グループに属する他のすべての通信機器の各々から、当該通信機器と同じ第１種グループに属する他のすべての通信機器の各々から受信した他機データと当該通信機器の他機データを受信するステップと
を実行させるためのプログラム。
【請求項１４】
他の通信機器と相互に通信を行う通信機器により実行される通信方法であって、
少なくとも１以上の第１種グループのうち、自機と同じ第１種グループに属する他のすべての通信機器に対して自機データを送信し、かつ、自機と同じ第１種グループに属する他のすべての通信機器の各々から他機データを受信するステップと、
前記少なくとも１以上の第２種グループのうち、自機と同じ第２種グループに属する他のすべての通信機器に対して、自機と同じ第１種グループに属する他のすべての通信機器の各々から受信した他機データと自機データを送信し、かつ、自機と同じ第２種グループに属する他のすべての通信機器の各々から、当該通信機器と同じ第１種グループに属する他のすべての通信機器の各々から受信した他機データと当該通信機器の他機データを受信するステップと
を有する通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信機器の間で相互に通信を行う方法に関する。
【背景技術】
【０００２】
従来、コンピュータネットワークの接続形態の１つとして、メッシュ型ネットワークが知られている。例えば、特許文献１には、メッシュ型ネットワークを利用してゲームのマルチプレイを実現するための通信システムが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第６３３６７３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
メッシュ型ネットワークのうち特にフルメッシュ型ネットワークは、すべてのノードが相互に直接接続されるため耐障害性に優れている。しかし、各ノードは他のすべてのノードとの間でデータを送受信する必要があり、通信効率の点で改善の余地があった。
本発明は、このような事情に鑑みてなされたものであり、複数の通信機器が相互に通信を行う際の通信効率を向上させることを目的とする。
【課題を解決するための手段】
【０００５】
上記の課題を解決するため、本発明の一実施形態に係る通信システムは、複数の機器の各々が相互に通信を行う通信システムであって、前記複数の機器の各々が、少なくとも１以上の第１種グループのうちのいずれか１つと、少なくとも１以上の第２種グループのうちのいずれか１つに属するようにグループを設定するグループ設定手段と、前記少なくとも１以上の第１種グループの各々において、第１種グループに属する機器の各々が、同じ第１種グループに属する他の機器に対して自機データを送信する第１通信手段と、前記少なくとも１以上の第２種グループの各々において、第２種グループに属する機器の各々が、自機と同じ第１種グループに属する他の機器から受信した他機データと自機データを、自機と同じ第２種グループに属する他の機器に対して送信する第２通信手段とを備える。
この通信システムによれば、複数の通信機器が相互に通信を行う際の通信効率を向上させることができる。
【０００６】
上記の通信システムにおいて前記グループ設定手段は、前記複数の機器の各々について、当該機器が属する第１種グループ内の他の機器と、当該機器が属する第２種グループ内の他の機器が重複しないようにグループを設定するようにしてもよい。
【０００７】
また、上記の通信システムは、前記第１通信手段と前記第２通信手段に処理を繰り返し実行させる制御手段をさらに備えるようにしてもよい。
【０００８】
また、上記の通信システムにおいて前記グループ設定手段は、前記複数の機器のうち、他の機器との直接通信が不能である機器を、前記少なくとも１以上の第１種グループのうちの直接通信不能グループに属するようにグループを設定し、前記第１通信手段は、前記直接通信不能グループについては、前記直接通信不能グループに属する機器の各々から、前記直接通信不能グループに属する他のすべての機器に対してリレー用機器を介して自機データを送信し、前記第２通信手段は、前記少なくとも１以上の第２種グループに属する機器のうち、前記直接通信不能グループに属する機器については、前記直接通信不能グループに属する他のすべての機器から受信した他機データと自機データを、前記リレー用機器を介して、自機と同じ第２種グループに属する他のすべての機器に対して送信し、かつ、自機と同じ第２種グループに属する他のすべての機器の各々から、当該機器と同じ第１種グループに属する他のすべての機器の各々から受信した他機データと当該機器の他機データを、前記リレー用機器を介して受信するようにしてもよい。
この実施形態によれば、他の機器との通信が不能である機器とのデータの送受信が可能になる。
【０００９】
また、上記の通信システムにおいて前記グループ設定手段は、前記複数の機器のうち、他の機器との通信が不能である機器に代えて、リレー用機器を、前記少なくとも１以上の第１種グループのうちのいずれか１つと、前記少なくとも１以上の第２種グループのうちのいずれか１つに属するようにグループを設定するようにしてもよい。
この実施形態によれば、他の機器との通信が不能である機器が現れても、その他の機器間の相互通信を維持することができる。
【００１０】
また、上記の通信システムにおいて前記第１通信手段は、前記複数の機器のうち、他の機器との通信が不能である通信不能機器に代えて、当該通信不能機器と同じ第１種グループに属する他のすべての機器から、当該通信不能機器と同じ第２種グループに属する他の機器に対して自機データをさらに送信するようにしてもよい。
この実施形態によれば、他の機器との通信が不能である機器が現れても、その他の機器間の相互通信を維持することができる。
【００１１】
また、上記の通信システムにおいて前記第１通信手段は、前記通信不能機器と同じ第１種グループに属する他のすべての機器のそれぞれから、前記通信不能機器と同じ第２種グループに属する複数の機器のうち、所定の条件によって決定された機器に対して自機データを送信するようにしてもよい。
この実施形態によれば、自機データを受信する側の処理負荷が分散される。
【００１２】
また、上記の通信システムにおいて前記自機データ及び前記他機データは、ゲームに関するデータであって、上記の通信システムは、前記複数の機器の各々において、他の機器から受信した他機データと自機データとを用いてゲーム処理を実行するゲーム処理実行手段をさらに備えるようにしてもよい。
【００１３】
また、上記の通信システムにおいて前記ゲーム処理実行手段は、他の機器から受信した他機データと自機データとを用いて、他の機器と自機とでゲームイベントを同期させてゲーム処理を実行するようにしてもよい。
【００１４】
また、上記の通信システムにおいて前記グループ設定手段は、前記複数の機器の各々が、少なくとも１以上の第３種グループのうちのいずれか１つにさらに属するようにグループを設定し、上記の通信システムは、前記少なくとも１以上の第３種グループの各々において、第３種グループに属する機器の各々が、自機と同じ第１種グループに属する他のすべての機器から受信した他機データと、自機と同じ第２種グループに属する他のすべての機器から受信した他機データと、自機データとを、自機と同じ第３種グループに属する他のすべての機器に対して送信する第３通信手段をさらに備えるようにしてもよい。
【００１５】
本発明の別の実施形態に係る通信機器は、他の通信機器と相互に通信を行う通信機器であって、少なくとも１以上の第１種グループのうち、自機と同じ第１種グループに属する他のすべての通信機器に対して自機データを送信し、かつ、自機と同じ第１種グループに属する他のすべての通信機器の各々から他機データを受信する第１通信手段と、前記少なくとも１以上の第２種グループのうち、自機と同じ第２種グループに属する他のすべての通信機器に対して、自機と同じ第１種グループに属する他のすべての通信機器の各々から受信した他機データと自機データを送信し、かつ、自機と同じ第２種グループに属する他のすべての通信機器の各々から、当該通信機器と同じ第１種グループに属する他のすべての通信機器の各々から受信した他機データと当該通信機器の他機データを受信する第２通信手段とを備える。
【００１６】
上記の通信機器は、自機を含む複数の通信機器の各々が、前記少なくとも１以上の第１種グループのうちのいずれか１つと、前記少なくとも１以上の第２種グループのうちのいずれか１つに属するようにグループを設定するグループ設定手段をさらに備えるようにしてもよい。
【００１７】
本発明のさらに別の実施形態に係るプログラムは、他の通信機器と相互に通信を行うコンピュータに、少なくとも１以上の第１種グループのうち、自機と同じ第１種グループに属する他のすべての通信機器に対して自機データを送信し、かつ、自機と同じ第１種グループに属する他のすべての通信機器の各々から他機データを受信するステップと、前記少なくとも１以上の第２種グループのうち、自機と同じ第２種グループに属する他のすべての通信機器に対して、自機と同じ第１種グループに属する他のすべての通信機器の各々から受信した他機データと自機データを送信し、かつ、自機と同じ第２種グループに属する他のすべての通信機器の各々から、当該通信機器と同じ第１種グループに属する他のすべての通信機器の各々から受信した他機データと当該通信機器の他機データを受信するステップとを実行させる。
【００１８】
本発明のさらに別の実施形態に係る通信方法は、他の通信機器と相互に通信を行う通信機器により実行される通信方法であって、少なくとも１以上の第１種グループのうち、自機と同じ第１種グループに属する他のすべての通信機器に対して自機データを送信し、かつ、自機と同じ第１種グループに属する他のすべての通信機器の各々から他機データを受信するステップと、前記少なくとも１以上の第２種グループのうち、自機と同じ第２種グループに属する他のすべての通信機器に対して、自機と同じ第１種グループに属する他のすべての通信機器の各々から受信した他機データと自機データを送信し、かつ、自機と同じ第２種グループに属する他のすべての通信機器の各々から、当該通信機器と同じ第１種グループに属する他のすべての通信機器の各々から受信した他機データと当該通信機器の他機データを受信するステップとを有する。
【発明の効果】
【００１９】
本発明によれば、複数の通信機器が相互に通信を行う際の通信効率を向上させることができる。
【図面の簡単な説明】
【００２０】
【図１】通信システム１の構成の一例を示すブロック図
【図２】ゲーム装置２の構成の一例を示すブロック図
【図３】揮発性メモリ２３のメモリマップの一例を示すブロック図
【図４】グループ設定手段２１１により設定されるグループの一例を示す図
【図５】グループデータＤ５の一例を示す図
【図６】グループを設定するための動作の一例を示すシーケンス図
【図７】通信動作の一例を示す図
【図８】通信動作の一例を示す図
【図９】通信動作の一例を示す図
【図１０】ゲーム装置６の構成の一例を示すブロック図
【図１１】グループ設定手段２１６により設定されるグループの一例を示す図
【図１２】グループ設定手段２１６により設定されるグループの一例を示す図
【図１３】グループ設定手段２１６により設定されるグループの一例を示す図
【発明を実施するための形態】
【００２１】
１．実施形態
１−１．構成
本発明の一実施形態に係る通信システム１について図面を参照して説明する。図１は、通信システム１の構成の一例を示すブロック図である。同図に示す通信システム１は、複数のゲーム装置２と、マッチメイクサーバ３と、リレーサーバ４を備え、ゲームのマルチプレイを実現するためのシステムである。ここでマルチプレイとは、通信ネットワークを介して複数のプレイヤが同時に同じゲームをプレイすることである。マルチプレイに参加する各プレイヤは、マッチメイクサーバ３上に仮想的に設定されるルームに入室し、ルーム単位でマルチプレイを実行する。マルチプレイの対象となるゲームには、対戦ゲームや協力ゲームがある。
【００２２】
通信システム１の構成要素のうち、マッチメイクサーバ３は、マルチプレイに参加するプレイヤをグルーピングするためのサーバである。リレーサーバ４は、ゲーム装置２間の通信を中継するリレー用機器である。通信システム１の各構成要素は、インターネット等の通信ネットワーク５を介して通信可能なように接続される。以下、ゲーム装置２について詳細に説明する。
【００２３】
ゲーム装置２は、通信機能を備えたコンピュータゲーム装置である。このゲーム装置２は、他のゲーム装置２とpeer to peer（Ｐ２Ｐ）通信を行ってゲームデータを共有することでマルチプレイを実行する。図２は、このゲーム装置２の構成の一例を示すブロック図である。同図に示すゲーム装置２は、ＣＰＵやＧＰＵ等のプロセッサ２１と、フラッシュメモリ等の不揮発性メモリ２２と、ＤＲＡＭ等の揮発性メモリ２３と、メモリカード等の外部記憶媒体が装着可能なスロット２４と、通信ネットワーク５を介して外部装置と無線通信を行うためのネットワーク通信部２５と、液晶ディスプレイや有機ＥＬディスプレイ等のディスプレイ２６と、ディスプレイ２６上に配置されるタッチパネル２７と、スピーカ２８と、操作ボタンやアナログスティック等のコントローラ２９とを備える。
【００２４】
図３は、揮発性メモリ２３のメモリマップの一例を示すブロック図である。同図に示す揮発性メモリ２３は、プログラム記憶領域２３１とデータ記憶領域２３２を有する。プログラム記憶領域２３１には、マルチプレイを実行するためのゲームプログラムＰが、不揮発性メモリ２２又は外部記憶媒体から読み込まれる。このゲームプログラムＰは、インターネット等のネットワークや非一時的な記録媒体を介して頒布可能なプログラムである。一方、データ記憶領域２３２には、マルチプレイを実行するための各種データが記憶される。具体的には、プレイヤデータＤ１と、通信アドレスデータＤ２と、通信環境データＤ３と、Ｐ２Ｐ通信可否データＤ４と、グループデータＤ５と、ゲームデータＤ６が記憶される。
【００２５】
プレイヤデータＤ１は、マルチプレイに参加する各プレイヤのユーザＩＤを示すデータである。このプレイヤデータＤ１は、マッチメイクサーバ３から取得される。
【００２６】
通信アドレスデータＤ２は、マルチプレイに参加する各ゲーム装置２のＩＰアドレスを示すデータである。この通信アドレスデータＤ２は、リレーサーバ４から取得される。
【００２７】
通信環境データＤ３は、他のゲーム装置２とのＰ２Ｐ通信が不能であるゲーム装置２（以下、「Ｐ２Ｐ通信不能機器」という。）を識別するためのデータである。具体的には、ＮＡＴ（Network Address Translation）に関係する様々な情報である。ここでＰ２Ｐ通信不能機器とは、例えば、ＵＤＰ通信を行えないゲーム装置２や、通信環境がＰ２Ｐ通信を行う条件を満たしていないゲーム装置２である。この通信環境データＤ３は、通信環境判定サーバ（図示略）から取得される。
【００２８】
Ｐ２Ｐ通信可否データＤ４は、マルチプレイに参加するゲーム装置２の各々について、マルチプレイに参加する他のすべてのゲーム装置２とのＰ２Ｐ通信の可否を示すデータである。このＰ２Ｐ通信可否データＤ４を参照することで、相互に通信することができないゲーム装置２の組み合わせを知ることができる。このＰ２Ｐ通信可否データＤ４は、通信環境データＤ３がＰ２Ｐ通信可能であることを示し、かつ、実際にＰ２Ｐ通信に成功した場合に「可」となる。「可」でないときは「否」となる。
【００２９】
グループデータＤ５は、マルチプレイに参加するゲーム装置２の各々について、相互にＰ２Ｐ通信を行うゲーム装置２のグループを示すデータである。このグループデータＤ５については後述する。
【００３０】
ゲームデータＤ６は、マルチプレイの対象であるゲームに関連するデータである。例えば、プレイヤにより操作されるキャラクタの仮想空間内の位置や状態を示すデータである。このゲームデータＤ６には、自機で生成されたゲームデータと他機で生成されたゲームデータが含まれる。
【００３１】
プログラム記憶領域２３１に読み込まれたゲームプログラムＰは、プロセッサ２１により実行され、その結果、グループ設定手段２１１と、第１通信手段２１２と、第２通信手段２１３と、制御手段２１４と、ゲーム処理実行手段２１５という機能が提供される。
【００３２】
グループ設定手段２１１は、マルチプレイに参加するゲーム装置２の各々について、相互にＰ２Ｐ通信を行うゲーム装置２のグループを設定する。具体的には、マルチプレイに参加するゲーム装置２の各々が、少なくとも１以上の第１種グループのうちのいずれか１つと、少なくとも１以上の第２種グループのうちのいずれか１つに属するようにグループを設定する。ここで、第１種グループと第２種グループは、それぞれフルメッシュ型ネットワークを構成する。図４は、グループ設定手段２１１により設定されるグループの一例を示す図である。同図において２次元の格子状に配列されている円形のノードＮ１１〜Ｎ５５は、それぞれゲーム装置２を表している。各ノードＮは、５つの第１種グループＧ１１〜Ｇ１５のうちのいずれか１つと、５つの第２種グループＧ２１〜Ｇ２５のうちのいずれか１つに属している。例えば、ノードＮ１１は、第１種グループＧ１１と第２種グループＧ２１に属している。
【００３３】
グループを設定する際、グループ設定手段２１１は、Ｐ２Ｐ通信可否データＤ４を参照して、相互に通信可能なゲーム装置２同士が同じグループに属するようにグループを設定する。また、グループ設定手段２１１は、各ゲーム装置２について、当該装置が属する第１種グループを構成するゲーム装置２の組み合わせと、当該装置が属する第２種グループを構成するゲーム装置２の組み合わせが異なるようにグループを設定する。より具体的には、各ゲーム装置２にとって、当該装置が属する第１種グループ内の他のゲーム装置２と、当該装置が属する第２種グループ内の他のゲーム装置２が重複しないようにグループを設定する。例えば、図４に示す例では、第１種グループＧ１１には、ノードＮ１１、Ｎ１２、Ｎ１３、Ｎ１４及びＮ１５が属しているのに対し、第２種グループＧ２１には、ノードＮ１１、Ｎ２１、Ｎ３１、Ｎ４１及びＮ５１が属しており、ノードＮ１１にとって両グループ間で他のノードＮは重複していない。
【００３４】
また、グループ設定手段２１１は、グループを設定する際、第１種グループと第２種グループの構成機器数が等しくなるか又はより近くなるようにグループを設定する。言い換えると、第１種グループと第２種グループの各々のグループ数が等しくなるか又はより近くなるようにグループを設定する。例えば、マルチプレイに６４台のゲーム装置２が参加する場合には、第１種グループと第２種グループの構成機器数をそれぞれ１６台と４台とはせずに、８台ずつとする。これは、後者の方が前者よりも通信効率が高いからである。グループ設定手段２１１は、各グループの構成機器数を決定するにあたり、例えば、マルチプレイに参加するゲーム装置２の総数の平方根を求める。
【００３５】
また、グループ設定手段２１１は、グループを設定する際、通信環境データＤ３を参照して、Ｐ２Ｐ通信不能機器については、第１種グループのうちのＰ２Ｐ通信不能グループに属するようにグループを設定する。
【００３６】
グループ設定手段２１１は、グループの設定が完了すると、設定したグループを表すグループデータＤ５を揮発性メモリ２３に格納する。加えて、マルチプレイに参加する各ゲーム装置２に対して送信する。図５は、グループデータＤ５の一例を示す図である。同図に示すグループデータＤ５は、図４に例示するグループを表したものである。このグループデータＤ５はリスト形式で表現され、各ゲーム装置２の装置ＩＤに対してノード番号が割り当てられている。このグループデータＤ５において、ノード番号の１０の位の数字が共通するゲーム装置２同士は共通の第１種グループに属し、ノード番号の１の位の数字が共通するゲーム装置２同士は共通の第２種グループに属する。なお、図５では図示を省略しているが、第１種グループのうちＰ２Ｐ通信不能グループに属するゲーム装置２の装置ＩＤには、Ｐ２Ｐ通信不能グループに属する旨の情報がさらに対応付けられる。
【００３７】
次に、第１通信手段２１２と第２通信手段２１３は、マルチプレイの実行中に、他のゲーム装置２とＰ２Ｐ通信を行ってリアルタイムでゲームデータを共有するための手段である。これらの手段のうち、第１通信手段２１２は、グループデータＤ５を参照して、自機と同じ第１種グループに属する他のすべてのゲーム装置２に対して自機のゲームデータを直接送信し、かつ、自機と同じ第１種グループに属する他のすべてのゲーム装置２の各々から他機のゲームデータを受信する。図４に示す例を参照して具体的に説明すると、自機がノードＮ１１に相当すると仮定した場合、ノードＮ１１は、自機と同じ第１種グループＧ１１に属するノードＮ１２〜Ｎ１５の各々に対して自機のゲームデータを送信し、かつ、ノードＮ１２〜Ｎ１５の各々から他機のゲームデータを受信する。
【００３８】
第１通信手段２１２は、他のゲーム装置２から受信したゲームデータを揮発性メモリ２３に格納する。
【００３９】
第１通信手段２１２は、マルチプレイの最中に、自機と同じ第１種グループに属する他のゲーム装置２がＰ２Ｐ通信不能機器になった場合には、Ｐ２Ｐ通信不能機器をカバーするための処理を実行する。具体的には、Ｐ２Ｐ通信不能機器に代えて、Ｐ２Ｐ通信不能機器と同じ第２種グループに属する他のゲーム装置２のうち、所定の条件によって決定されたゲーム装置２に対して自機のゲームデータを送信する。ここで所定の条件とは、Ｐ２Ｐ通信不能機器と同じ第２種グループに属する他のゲーム装置２のうち、特定のゲーム装置２の処理負荷が大きくならないようにするための条件である。図４に示す例を参照して具体的に説明すると、自機がノードＮ１２に相当し、ノードＮ１１がＰ２Ｐ通信不能機器になったと仮定した場合、ノードＮ１２は、ノードＮ１１と同じ第２種グループＧ２１に属するノードＮ２１、Ｎ３１、Ｎ４１及びＮ５１のうち、Ｐ２Ｐ通信可能ないずれかに自機のゲームデータを送信する。その際、ゲームデータの送信先は、送信ごとに、ノードＮ２１、Ｎ３１、Ｎ４１及びＮ５１の中で、ラウンドロビン方式で変更される。これは、受信側の処理負荷を分散するためである。
【００４０】
なお、第１通信手段２１２は、Ｐ２Ｐ通信不能機器の発生を、退室通知の受信やタイムアウトの発生を受けて検知する。
【００４１】
第１通信手段２１２は、自機が属する第１種グループの構成機器数が所定数に満たない場合にも上記の補完処理を実行する。図４に示す例を参照して説明すると、自機がノードＮ５１に相当し、ノードＮ５５がそもそも存在しないと仮定した場合、ノードＮ５１は、ノードＮ５５と同じ第２種グループＧ２５に属するノードＮ１５、Ｎ２５、Ｎ３５及びＮ４５のいずれかに自機のゲームデータを送信する。その際の送信先は、送信ごとにラウンドロビン方式で変更される。
【００４２】
なお、第１通信手段２１２は、自機が第１種グループのうちのＰ２Ｐ通信不能グループに属する場合には、ゲームデータの送受信をリレーサーバ４経由で行う。具体的には、Ｐ２Ｐ通信不能グループに属する他のすべてのゲーム装置２に対してリレーサーバ４を介して自機のゲームデータを送信し、かつ、同グループに属する他のすべてのゲーム装置２の各々からリレーサーバ４を介して他機のゲームデータを受信する。これは、Ｐ２Ｐ通信不能グループに属するゲーム装置２同士は、互いに直接データの送受信を行うことができないからである。
【００４３】
次に、第２通信手段２１３は、グループデータＤ５を参照して、自機と同じ第２種グループに属する他のすべてのゲーム装置２に対して、自機と同じ第１種グループに属する他のすべてのゲーム装置２の各々から受信した他機のゲームデータと自機のゲームデータを直接送信する。加えて、自機と同じ第２種グループに属する他のすべてのゲーム装置２の各々から、当該ゲーム装置２と同じ第１種グループに属する他のすべてのゲーム装置２の各々から受信した他機のゲームデータと当該ゲーム装置２のゲームデータを受信する。この第２通信手段２１３の処理を、図４に示す例を参照して具体的に説明すると、自機がノードＮ１１に相当すると仮定した場合、ノードＮ１１は、自機と同じ第２種グループＧ２１に属するノードＮ２１、Ｎ３１、Ｎ４１及びＮ５１に対して、自機と同じ第１種グループＧ１１に属するＮ１２〜Ｎ１５の各々から受信した他機のゲームデータと自機のゲームデータを送信する。加えて、ノードＮ２１、Ｎ３１、Ｎ４１及びＮ５１の各々から、当該ノードＮと同じ第１種グループＧ１に属するノードＮから受信した他機のゲームデータと当該ノードＮのゲームデータを受信する。例えば、ノードＮ２１からは、ノードＮ２１と同じ第１種グループＧ１２に属するノードＮ２２〜Ｎ２５から受信した他機のゲームデータとノードＮ２１のゲームデータを受信する。
【００４４】
第２通信手段２１３は、他のゲーム装置２から受信したゲームデータを揮発性メモリ２３に格納する。
【００４５】
なお、第２通信手段２１３は、自機が第１種グループのうちのＰ２Ｐ通信不能グループに属する場合には、ゲームデータの送受信をリレーサーバ４経由で行う。具体的には、自機と同じ第２種グループに属する他のすべてのゲーム装置２に対して、自機と同じ第１種グループに属する他のすべてのゲーム装置２の各々から受信した他機のゲームデータと自機のゲームデータをリレーサーバ４経由で送信する。加えて、自機と同じ第２種グループに属する他のすべてのゲーム装置２の各々から、当該ゲーム装置２と同じ第１種グループに属する他のすべてのゲーム装置２の各々から受信した他機のゲームデータと当該ゲーム装置２のゲームデータをリレーサーバ４経由で受信する。
【００４６】
次に、制御手段２１４は、第１通信手段２１２と第２通信手段２１３の通信処理の実行を制御する。具体的には、第１通信手段２１２と第２通信手段２１３に、所定の周期（例えば、１００ｍｓ周期）で交互に通信処理を実行させる。加えて、マルチプレイに参加する他のゲーム装置２と自機との間で各通信処理を同期させる。
【００４７】
ゲーム処理実行手段２１５は、ゲームデータＤ６を用いてゲーム処理を実行する。具体的には、ゲームデータＤ６を基にプレイ画面を生成し、ディスプレイ２６に表示させる。その際、ゲーム処理実行手段２１５は、自機と他機とでゲームイベントを同期させてゲーム処理を実行する。
【００４８】
１−２．動作
次に、通信システム１の動作について説明する。具体的には、マルチプレイ実行時にグループを設定するための動作と、グループ設定後に行われる通信動作について説明する。
【００４９】
図６は、グループを設定するための動作の一例を示すシーケンス図である。同図に示すゲーム装置２のうち、ゲーム装置２Ａは、マッチメイクサーバ３上にルームを作成したプレイヤが操作するマスタである。一方、ゲーム装置２Ｂは、作成されたルームに入室することでマルチプレイに参加するプレイヤが操作するクライアントである。なお、同図においてクライアントが１台しか示されていないのは、説明が煩雑になるのを避けるためである。
【００５０】
マルチプレイに参加するゲーム装置２Ｂは、マッチメイクサーバ３に対して入室要求を送信する（ステップＳ１）。この入室要求には、入室するルームＩＤとプレイヤのユーザＩＤが含まれる。この入室要求を受信したマッチメイクサーバ３は、入室を要求されたルームを作成したゲーム装置２Ａに対して入室通知を送信する（ステップＳ２）。この入室通知には、入室を要求したプレイヤのユーザＩＤが含まれる。この入室通知を受信したゲーム装置２Ａは、入室を要求したプレイヤのユーザＩＤを示すデータを揮発性メモリ２３に格納する（ステップＳ３）。
【００５１】
ゲーム装置２Ｂはまた、リレーサーバ４に自機のＩＰアドレスを送信するとともに、マルチプレイに参加する他のゲーム装置のＩＰアドレスを受信する（ステップＳ４）。ゲーム装置２Ｂはまた、通信環境判定サーバに判定用送信データを送信し、通信環境判定サーバから判定用受信データを受信することで自分の通信環境を判定する（ステップＳ５）。ゲーム装置２ＢがＰ２Ｐ通信不能機器である場合には、リレーサーバ４は、ゲーム装置２ＢのＩＰアドレスとともに通信環境データをゲーム装置２Ａに送信する（ステップＳ６）。このＩＰアドレス等を受信したゲーム装置２Ａは、受信したデータを揮発性メモリ２３に格納する（ステップＳ７）。
【００５２】
ゲーム装置２Ｂはまた、マルチプレイに参加する他のゲーム装置２とのＰ２Ｐ通信の接続を試みる（ステップＳ８）。そして、他のゲーム装置２との通信可否を示す通信可否データをゲーム装置２Ａに送信する（ステップＳ９）。この通信可否データを受信したゲーム装置２Ａは、受信した通信可否データを揮発性メモリ２３に格納する（ステップＳ１０）。
【００５３】
ゲーム装置２Ａは、マルチプレイに参加する他のすべてのゲーム装置２から通信可否データを受信すると、マルチプレイに参加するゲーム装置２の各々について、相互にＰ２Ｐ通信を行うゲーム装置２のグループを設定する（ステップＳ１１）。グループの設定方法については上記の通りである。グループの設定が完了すると、ゲーム装置２Ａは、設定したグループを表すグループデータＤ５を揮発性メモリ２３に格納し（ステップＳ１２）、マルチプレイに参加するゲーム装置２Ｂに対して送信する（ステップＳ１３）。このグループデータＤ５を受信したゲーム装置２Ｂは、受信したグループデータＤ５を揮発性メモリ２３に格納する（ステップＳ１４）。
以上が、グループを設定するための動作の説明である。
【００５４】
なお、上記の動作のうち、ステップＳ８〜Ｓ１４は、マルチプレイ中も所定の周期で実行される。
【００５５】
次に、グループの設定後に行われる通信動作の各種の例について、図７〜図９を参照して説明する。これらの図に示す２次元の格子状に配列されている円形のノードＮ１１〜Ｎ５５は、それぞれゲーム装置２を表している。各ノードＮは、５つの第１種グループＧ１１〜Ｇ１５のうちのいずれか１つと、５つの第２種グループＧ２１〜Ｇ２５のうちのいずれか１つに属している。また、各図の（ａ）は、第１通信手段２１２の通信処理を図示したものであり、各図の（ｂ）は、第２通信手段２１３の通信処理を図示したものである。
【００５６】
まず、図７を参照すると、図７（ａ）に示す第１通信手段２１２の通信処理では、第１種グループＧ１１〜Ｇ１５の各々において、第１種グループＧ１に属するノードＮの各々が、同じ第１種グループＧ１に属する他のすべてのノードＮに対して自機のゲームデータを直接送信する。この通信処理の結果、例えば、ノードＮ１１は、ノードＮ１２〜Ｎ１５のゲームデータを受信する。
【００５７】
次に、図７（ｂ）に示す第２通信手段２１３の通信処理では、第２種グループＧ２１〜Ｇ２５の各々において、第２種グループＧ２に属するノードＮの各々が、自機と同じ第１種グループに属する他のすべてのノードＮから受信したゲームデータと自機のゲームデータを、自機と同じ第２種グループＧ２に属する他のすべてのノードＮに対して直接送信する。この通信処理の結果、例えば、ノードＮ１１は、ノードＮ２１からノードＮ２１〜Ｎ２５のゲームデータを受信し、ノードＮ３１からノードＮ３１〜Ｎ３５のゲームデータを受信し、ノードＮ４１からノードＮ４１〜Ｎ４５のゲームデータを受信し、ノードＮ５１からノードＮ５１〜Ｎ５５のゲームデータを受信する。すなわちノードＮ１１は、上記の１組の通信処理を経ることで、すべての他のノードＮのゲームデータを受信することになる。なお、すべての他のノードＮのゲームデータを受信できるのはノードＮ１１に限られず、ノードＮ１１〜Ｎ５５のすべてが、他のすべてのノードＮのゲームデータを受信することになる。
【００５８】
図７に示す１組の通信処理では、すべてのノードＮが他のすべてのノードＮのゲームデータを受信するためには、各ノードＮは合計８個のノードＮにゲームデータを送信する必要がある。言い換えると、合計８個のパケットを送信する必要がある。例えば、ノードＮ１１を例にとると、ノードＮ１１は、ノードＮ１２〜Ｎ１５の４個と、ノードＮ２１、Ｎ３１、Ｎ４１及びＮ５１の４個の合計８個に対してゲームデータを送信する必要がある。これに対して、従来のフルメッシュ型ネットワークを想定すると、従来のフルメッシュ型では、すべてのノードＮが他のすべてのノードＮのゲームデータを受信するためには、各ノードＮは合計２４個のノードＮにゲームデータを送信する必要がある。言い換えると、合計２４個のパケットを送信する必要がある。なぜなら従来のフルメッシュ型では、自機以外の２４個すべてのノードＮに対してゲームデータを送信する必要があるからである。このような例と比較すると、図７に示す１組の通信処理は、接続数と送信パケット数が３分の１に低減されており、通信効率が向上していると言える。
【００５９】
なお、図７に示す例は、ノード数が２５個の場合に実行される通信処理であるが、ノード数が４以上であれば通信効率は向上する。別の例としてノード数が６４個の場合について説明すると、ノード数が６４個の場合には、第１種グループと第２種グループの各々の構成ノード数が８個となり、各ノードは合計１４個のノードにゲームデータを送信する必要がある。言い換えると、合計１４個のパケットを送信する必要がある。これに対して、従来のフルメッシュ型では、各ノードは合計６３個のノードにゲームデータを送信する必要がある。言い換えると、合計６３個のパケットを送信する必要がある。この例と比較すると、本実施形態に係る通信処理は、接続数と送信パケット数が９分の２に低減されており、通信効率が向上していると言える。
【００６０】
次に、図８は、マルチプレイ中に一部のノードＮがＰ２Ｐ通信不能機器になった場合の通信動作の一例について示す図である。同図に示す例では、ノードＮ１１がＰ２Ｐ通信不能機器として想定されている。
【００６１】
図８（ａ）に示す第１通信手段２１２の通信処理では、第１種グループＧ１１〜Ｇ１５の各々において、第１種グループＧ１に属するノードＮの各々が、同じ第１種グループＧ１に属する他のすべてのノードＮに対して自機のゲームデータを送信する。ただし、第１種グループＧ１１では、ノードＮ１１がＰ２Ｐ通信不能機器であるため、ノードＮ１２〜Ｎ１５は、このノードＮ１１に代えて、ノードＮ１１と同じ第２種グループＧ２１に属するノードＮ２１に自機のゲームデータを送信する。
【００６２】
次に、図８（ｂ）に示す第２通信手段２１３の通信処理では、第２種グループＧ２１〜Ｇ２５の各々において、第２種グループＧ２に属するノードＮの各々が、自機と同じ第１種グループに属する他のすべてのノードＮから受信したゲームデータと自機のゲームデータを、自機と同じ第２種グループＧ２に属する他のすべてのノードＮに対して送信する。ただし、第２種グループＧ２１では、ノードＮ１１がＰ２Ｐ通信不能機器であるため、ノードＮ２１、Ｎ３１、Ｎ４１及びＮ５１は、ノードＮ１１から第１種グループＧ１１のゲームデータを受信することができない。しかし、上記の通り、ノードＮ２１がノードＮ１１の代わりに第１種グループＧ１１のゲームデータを受信しているため、ノードＮ３１、Ｎ４１及びＮ５１は、ノードＮ２１から第１種グループＧ１１のゲームデータを受信することができる。その結果、ノードＮ１１以外のすべてのノードＮは、ノードＮ１１以外の他のすべてのノードＮのゲームデータを受信することができる。すなわち、マルチプレイ中にＰ２Ｐ通信不能機器が現れてもマルチプレイを維持することができる。
【００６３】
次に、図９は、第１種グループＧ１の中にＰ２Ｐ通信不能グループが含まれる場合の通信動作の一例について示す図である。同図に示す例では、第１種グループＧ１１がＰ２Ｐ通信不能グループとして想定されている。
【００６４】
図９（ａ）に示す第１通信手段２１２の通信処理では、第１種グループＧ１１〜Ｇ１５の各々において、第１種グループＧ１に属するノードＮの各々が、同じ第１種グループＧ１に属する他のすべてのノードＮに対して自機のゲームデータを送信する。ただし、Ｐ２Ｐ通信不能グループである第１種グループＧ１１では、ノードＮ１１〜Ｎ１５は、ゲームデータの送受信をリレーサーバ４経由で行う。
【００６５】
次に、図９（ｂ）に示す第２通信手段２１３の通信処理では、第２種グループＧ２１〜Ｇ２５の各々において、第２種グループＧ２に属するノードＮの各々が、自機と同じ第１種グループに属する他のすべてのノードＮから受信したゲームデータと自機のゲームデータを、自機と同じ第２種グループＧ２に属する他のすべてのノードＮに対して送信する。ただし、Ｐ２Ｐ通信不能グループである第１種グループＧ１１に属するノードＮとそうでないノードＮとの間では、ゲームデータの送受信はリレーサーバ４経由で行われる。その結果、Ｐ２Ｐ通信不能グループに属するノードＮも含めてすべてのノードＮが、他のすべてのノードＮのゲームデータを受信することができる。すなわち、Ｐ２Ｐ通信不能グループに属するゲーム装置２であってもマルチプレイに参加することができる。
以上が、通信動作の説明である。
【００６６】
以上説明した通信システム１によれば、原則、ゲームデータがサーバを介さずにＰ２Ｐ通信によりゲーム装置２間で共有されるため、サーバの運用費を抑えることができる。また、上記の通り、従来のフルメッシュ型ネットワークと比較して接続数と送信パケット数が低減する。すなわち通信効率が向上する。また、接続数が低減することから、ルータの制限により参加プレイヤ数が制限される事態を回避することができる。また、上記の通り、マルチプレイ中にＰ２Ｐ通信不能機器が現れてもマルチプレイを維持することができ、Ｐ２Ｐ通信不能グループに属するゲーム装置２であってもマルチプレイに参加させることができる。
【００６７】
２．変形例
上記の実施形態は、以下に説明するように変形してもよい。なお、以下に説明する２以上の変形例は互いに組み合わせてもよい。
【００６８】
２−１．変形例１
グループ設定手段２１１により設定されるグループの種類の数は３以上であってもよい。以下、一例として、３種類のグループを設定する場合について説明する。
【００６９】
図１０は、３種類のグループを設定するゲーム装置６の構成の一例を示すブロック図である。同図に示すゲーム装置６は、グループ設定手段２１６と第３通信手段２１７と制御手段２１８という機能を備える点において、上記のゲーム装置２と相違している。
【００７０】
このゲーム装置６が備えるグループ設定手段２１６は、マルチプレイに参加するゲーム装置６の各々について、相互にＰ２Ｐ通信を行うゲーム装置６のグループを設定する。具体的には、マルチプレイに参加するゲーム装置６の各々が、少なくとも１以上の第１種グループのうちのいずれか１つと、少なくとも１以上の第２種グループのうちのいずれか１つと、少なくとも１以上の第３種グループのうちのいずれか１つに属するようにグループを設定する。ここで、第１種〜第３種グループは、それぞれフルメッシュ型ネットワークを構成する。図１１〜図１３は、グループ設定手段２１６により設定されるグループの一例を示す図である。これらの図において３次元の格子状に配列されている円形のノードＮ１１１〜Ｎ３２２は、それぞれゲーム装置６を表している。各ノードＮは、６つの第１種グループＧ１１〜Ｇ１６のうちのいずれか１つと、６つの第２種グループＧ２１〜Ｇ２６のうちのいずれか１つと、４つの第３種グループＧ３１〜Ｇ３４のうちのいずれか１つに属している。例えば、ノードＮ１１１は、第１種グループＧ１１と第２種グループＧ２１と第３種グループＧ３１に属している。
【００７１】
グループを設定する際、グループ設定手段２１６は、Ｐ２Ｐ通信可否データＤ４を参照して、相互に通信可能なゲーム装置６同士が同じグループに属するようにグループを設定する。また、グループ設定手段２１６は、各ゲーム装置６について、当該装置が属する第１種グループを構成するゲーム装置６の組み合わせと、当該装置が属する第２種グループを構成するゲーム装置６の組み合わせと、当該装置が属する第３種グループを構成するゲーム装置６の組み合わせが、それぞれが異なるようにグループを設定する。より具体的には、各ゲーム装置６にとって、当該装置が属する第１種グループ内の他のゲーム装置６と、当該装置が属する第２種グループ内の他のゲーム装置６と、当該装置が属する第３種グループ内の他のゲーム装置６が重複しないようにグループを設定する。
【００７２】
また、グループ設定手段２１６は、グループを設定する際、第１種〜第３種グループの各々の構成機器数が等しくなるか又はより近くなるようにグループを設定する。言い換えると、第１種〜第３種グループの各々のグループ数が等しくなるか又はより近くなるようにグループを設定する。グループ設定手段２１６は、各グループの構成機器数を決定するにあたり、例えば、マルチプレイに参加するゲーム装置６の総数の３乗根を求める。
【００７３】
また、グループ設定手段２１６は、通信環境データＤ３を参照して、グループを設定する際、Ｐ２Ｐ通信不能機器については、第１種グループのうちのＰ２Ｐ通信不能グループに属するようにグループを設定する。
【００７４】
グループ設定手段２１６は、グループの設定が完了すると、設定したグループを表すグループデータＤ５を揮発性メモリ２３に格納する。加えて、マルチプレイに参加する各ゲーム装置２に対して送信する。グループデータＤ５は、例えば、リスト形式で表現され、各ゲーム装置６の装置ＩＤに対してノード番号が割り当てられる。
【００７５】
次に、第３通信手段２１７は、グループデータＤ５を参照して、自機と同じ第３種グループに属する他のすべてのゲーム装置６に対して、自機と同じ第１種グループに属する他のすべてのゲーム装置６の各々から受信した他機のゲームデータと、自機と同じ第２種グループに属する他のすべてのゲーム装置６の各々から受信した他機のゲームデータと、自機のゲームデータを送信する。加えて、自機と同じ第３種グループに属する他のすべてのゲーム装置２の各々から、当該ゲーム装置２と同じ第１種グループに属する他のすべてのゲーム装置２の各々から受信した他機のゲームデータと、当該ゲーム装置２と同じ第２種グループに属する他のすべてのゲーム装置２の各々から受信した他機のゲームデータと、当該ゲーム装置２のゲームデータを受信する。
【００７６】
この第３通信手段２１７の処理を、図１１〜図１３に示す例を参照して具体的に説明すると、自機がノードＮ１１１に相当すると仮定した場合、ノードＮ１１１は、自機と同じ第３種グループＧ３１に属するノードＮ２１１及びＮ３１１に対して、自機と同じ第１種グループＧ１１に属するＮ１１２から受信した他機のゲームデータと、自機と同じ第２種グループＧ２１に属するＮ１２１から受信した他機のゲームデータと、自機のゲームデータを送信する。加えて、ノードＮ２１１及びＮ３１１の各々から、当該ノードＮと同じ第１種グループＧ１に属するノードＮから受信した他機のゲームデータと、当該ノードＮと同じ第２種グループＧ２に属するノードＮから受信した他機のゲームデータと、当該ノードＮのゲームデータを受信する。例えば、ノードＮ２１１からは、ノードＮ２１１と同じ第１種グループＧ１３に属するノードＮ２１２から受信した他機のゲームデータと、ノードＮ２１１と同じ第２種グループＧ２３に属するノードＮ２２１から受信した他機のゲームデータと、ノードＮ２１１のゲームデータを受信する。
【００７７】
第３通信手段２１７は、他のゲーム装置６から受信したゲームデータを揮発性メモリ２３に格納する。
【００７８】
なお、第３通信手段２１７は、自機が第１種グループのうちのＰ２Ｐ通信不能グループに属する場合には、ゲームデータの送受信をリレーサーバ４経由で行う。具体的には、自機と同じ第３種グループに属する他のすべてのゲーム装置６に対して、自機と同じ第１種グループに属する他のすべてのゲーム装置６の各々から受信した他機のゲームデータと、自機と同じ第２種グループに属する他のすべてのゲーム装置６の各々から受信した他機のゲームデータと、自機のゲームデータをリレーサーバ４経由で送信する。加えて、自機と同じ第２種グループに属する他のすべてのゲーム装置６の各々から、当該ゲーム装置６と同じ第１種グループに属する他のすべてのゲーム装置６の各々から受信した他機のゲームデータと、当該ゲーム装置６と同じ第２種グループに属する他のすべてのゲーム装置６の各々から受信した他機のゲームデータと、当該ゲーム装置６のゲームデータをリレーサーバ４経由で受信する。
【００７９】
次に、制御手段２１８は、第１通信手段２１２と第２通信手段２１３と第３通信手段２１７の通信処理の実行を制御する。具体的には、第１通信手段２１２と第２通信手段２１３と第３通信手段２１７に、所定の周期（例えば、１００ｍｓ周期）で順番に通信処理を実行させる。加えて、マルチプレイに参加する他のゲーム装置６と自機との間で各通信処理を同期させる。
【００８０】
次に、ゲーム装置６により行われる通信動作の一例について、図１１〜図１３を参照して説明する。
【００８１】
第１に、図１１に示す第１種グループＧ１１〜Ｇ１６の各々において、第１種グループＧ１に属するノードＮの各々は、同じ第１種グループＧ１に属する他のすべてのノードＮに対して自機のゲームデータを送信する。この通信処理の結果、例えば、ノードＮ１１１は、ノードＮ１１２のゲームデータを受信する。
【００８２】
第２に、図１２に示す第２種グループＧ２１〜Ｇ２６の各々において、第２種グループＧ２に属するノードＮの各々は、自機と同じ第１種グループに属する他のすべてのノードＮから受信したゲームデータと自機のゲームデータを、自機と同じ第２種グループＧ２に属する他のすべてのノードＮに対して送信する。この通信処理の結果、例えば、ノードＮ１１１は、ノードＮ１２１からノードＮ１２１〜Ｎ１２２のゲームデータを受信する。
【００８３】
第３に、図１３に示す第３種グループＧ３１〜Ｇ３４の各々において、第３種グループＧ３に属するノードＮの各々は、自機と同じ第１種グループに属する他のすべてのノードＮから受信したゲームデータと、自機と同じ第２種グループに属する他のすべてのノードＮから受信したゲームデータと、自機のゲームデータを、自機と同じ第３種グループＧ３に属する他のすべてのノードＮに対して送信する。この通信処理の結果、例えば、ノードＮ１１１は、ノードＮ２１１からノードＮ２１１〜Ｎ２１２、Ｎ２２１〜Ｎ２２２のゲームデータを受信し、ノードＮ３１１からノードＮ３１１〜Ｎ３１２、Ｎ３２１〜Ｎ３２２のゲームデータを受信する。すなわちノードＮ１１１は、上記の１組の通信処理を経ることで、すべての他のノードＮのゲームデータを受信することになる。なお、すべての他のノードＮのゲームデータを受信できるのはノードＮ１１１に限られず、ノードＮ１１１〜Ｎ３２２のすべてが、他のすべてのノードＮのゲームデータを受信することになる。
【００８４】
図１１〜図１３に示す１組の通信処理では、すべてのノードＮが他のすべてのノードＮのゲームデータを受信するためには、各ノードＮは合計４個のノードＮにゲームデータを送信する必要がある。言い換えると、合計４個のパケットを送信する必要がある。例えば、ノードＮ１１１を例にとると、ノードＮ１１１は、ノードＮ１１２、Ｎ１２１、Ｎ２１１及びＮ３１１の合計４個に対してゲームデータを送信する必要がある。これに対して、従来のフルメッシュ型ネットワークを想定すると、従来のフルメッシュ型では、すべてのノードＮが他のすべてのノードＮのゲームデータを受信するためには、各ノードＮは合計１１個のノードＮにゲームデータを送信する必要がある。言い換えると、合計１１個のパケットを送信する必要がある。なぜなら従来のフルメッシュ型では、自機以外の１１個すべてのノードＮに対してゲームデータを送信する必要があるからである。このような例と比較すると、図１１〜図１３に示す１組の通信処理は、接続数と送信パケット数が約３分の１に低減されており、通信効率が向上していると言える。
【００８５】
以上は、３種類のグループを設定する場合についての説明であるが、グループの種類数は４以上であってもよい。グループの種類数を４以上とする場合について一般化して説明すると、種類数を「ｎ」とした場合、グループ設定手段は、それぞれ１以上の第１種グループから第ｎ種グループの各々について、各ゲーム装置がいずれかのグループに属するようにグループを設定する。また、種類数を「ｎ」とした場合、通信手段の数は「ｎ」となる。「ｎ」個の通信手段のうち、第１通信手段２１２は、上記のように、第１種グループにおいてゲームデータを共有する。第２通信手段２１３は、上記のように、第２種グループにおいて、第１通信手段２１２を用いて受信したゲームデータを共有する。第（ｎ−１）通信手段は、第（ｎ−１）種グループにおいて、第１〜第（ｎ−２）通信手段を用いて受信したゲームデータを共有する。第ｎ通信手段は、第ｎ種グループにおいて、第１〜第（ｎ−１）通信手段を用いて受信したゲームデータを共有する。すなわち、各通信手段は、自身の番号に対応する種類のグループにおいて、自身より番号の小さい通信手段を用いて受信したゲームデータを共有する。これら「ｎ」個の通信手段が順番に各々の通信処理を実行することで、複数のゲーム装置間でゲームデータを共有することができる。
【００８６】
２−２．変形例２
グループ設定手段２１１は、グループの種類の数をゲームに応じて決定するようにしてもよい。より具体的には、ゲームに予め設定された最大プレイ人数に応じてグループの種類数を決定するようにしてもよい。例えば、最大プレイ人数が１００人未満のゲームの場合には、グループの種類数を「２」とし、最大プレイ人数が１００人以上のゲームの場合には、グループの種類数を「３」とするようにしてもよい。その場合、グループ設定手段２１１は、例えば、最大プレイ人数の範囲又はゲーム名ごとにグループの種類数を対応付けるテーブルを参照して、グループの種類数を決定するようにしてもよい。別の例として、最大プレイ人数に代えて、実際にマルチプレイに参加しているプレイヤの人数に応じてグループの種類数を決定するようにしてもよい。
【００８７】
２−３．変形例３
マスタであるゲーム装置２の代わりに、マッチメイクサーバ３がグループを設定するようにしてもよい。すなわち、マッチメイクサーバ３がグループ設定手段２１１の機能を備えるようにしてもよい。その場合、マッチメイクサーバ３は、マスタであるゲーム装置２の代わりに、通信環境データと通信可否データを受信し、グループを設定し、設定したグループを表すグループデータＤ５をマルチプレイに参加する各ゲーム装置２に対して送信する。
【００８８】
２−４．変形例４
図８（ａ）に例示する通信動作では、マルチプレイ中にＰ２Ｐ通信不能機器が現れると、他のゲーム装置２が当該機器をカバーすることでマルチプレイが維持される。この補完方法に代えて、Ｐ２Ｐ通信不能機器をリレーサーバ４に置き換えることでマルチプレイを維持するようにしてもよい。その場合、マスタであるゲーム装置２のグループ設定手段２１１は、マルチプレイ中にＰ２Ｐ通信不能機器が現れると、Ｐ２Ｐ通信不能機器をリレーサーバ４に置き換えるためにグループを再設定する。具体的には、Ｐ２Ｐ通信不能機器に代えて、リレーサーバ４が第１種グループのいずれか１つと第２種グループのいずれか１つに属するようにグループを再設定する。そして、再設定したグループを表すグループデータＤ５を自機の揮発性メモリ２３に格納するとともに、マルチプレイに参加する各ゲーム装置２に対して送信する。
【００８９】
２−５．変形例５
第１通信手段２１２は、上記の通り、マルチプレイ中に自機と同じ第１種グループに属する他のゲーム装置２がＰ２Ｐ通信不能機器になった場合にＰ２Ｐ通信不能機器をカバーするための処理を実行する。具体的には、Ｐ２Ｐ通信不能機器と同じ第２種グループに属する他のゲーム装置２に対してラウンドロビン方式で自機のゲームデータを送信する。しかし、受信側の処理負荷を分散するための送信方法はこれに限られない。別の送信方法について図８（ａ）を参照して説明すると、ノードＮ１２〜Ｎ１５は、それぞれ異なるノードＮに対して自機のゲームデータを送信するようにしてもよい。例えば、ノードＮ１２はノードＮ２１に対して送信し、ノードＮ１３はノードＮ３１に対して送信し、ノードＮ１４はノードＮ４１に対して送信し、ノードＮ１５はノードＮ５１に対して送信することで、受信側の処理負荷を分散させてもよい。
【００９０】
２−６．変形例６
グループ設定手段２１１は、各ゲーム装置２の送信データサイズに応じて、第１種グループと第２種グループの構成機器数（言い換えると、グループ数）を決定するようにしてもよい。より具体的には、第２種グループ間で送信されるデータサイズがパケットの最大ペイロードサイズを超えないように、第１種グループと第２種グループの構成機器数（言い換えると、グループ数）を決定するようにしてもよい。例えば、パケットの最大ペイロードサイズが１２００バイトであり、ゲームデータのデータサイズが３００バイトである場合のゲーム装置２の１台あたりの送信パケット数を考えると、６４台のゲーム装置２が参加するマルチプレイにおいて第１種グループと第２種グループの構成機器数をそれぞれ８台としたとき、第１種グループでは各ゲーム装置２は７パケットを送信し、第２種グループでは各ゲーム装置２は１４パケットを送信することになる。そのため、各ゲーム装置２の送信パケット数は２１個になる。なお、ここで、第２種グループにおいて各ゲーム装置２が７パケットではなく１４パケットを送信する理由は、各ゲーム装置２は２４００バイト（３００バイト＊８台）のゲームデータを送信する必要があり、このデータサイズは最大ペイロードサイズを超えるため、パケットを２つに分ける必要があるからである。これに対して、第１種グループと第２種グループの構成機器数をそれぞれ４台と１６台としたときには、第１種グループでは各ゲーム装置２は３パケットを送信し、第２種グループでは各ゲーム装置２は１５パケットを送信することになる。そのため、各ゲーム装置２の送信パケット数は１８個になる。なお、この場合は、第２種グループにおいて各ゲーム装置２が送信するゲームデータのデータサイズは１２００バイト（３００バイト＊４台）であり、最大ペイロードサイズを超えないため、パケットを２つに分ける必要がない。以上説明したように、各ゲーム装置２の送信データサイズによっては、第２種グループの構成機器数（言い換えると、グループ数）を多くした方が、通信効率が高くなる。
【００９１】
２−７．変形例７
グループ設定手段２１１は、第１種グループに代えて第２種グループ内にＰ２Ｐ通信不能グループを設定するようにしてもよい。その場合、第１通信手段２１２は、自機が第２種グループのうちのＰ２Ｐ通信不能グループに属するときには、ゲームデータの送受信をリレーサーバ４経由で行う。第２通信手段２１３は、自機が第２種グループのうちのＰ２Ｐ通信不能グループに属する場合には、ゲームデータの送受信をリレーサーバ４経由で行う。
【００９２】
Ｐ２Ｐ通信不能グループを第２種グループ内に設定した場合、リレーサーバ４の送信量が小さくなる。例えば、各ゲーム装置２の送信データサイズをｄとした場合のリレーサーバ４の送信量を考えると、第１種グループ内にＰ２Ｐ通信不能グループを設定した場合、第１種グループと第２種グループの構成機器数をそれぞれＮ台とＭ台とすると、Ｐ２Ｐ通信不能グループに属するゲーム装置２の１台からの送信に起因するリレーサーバ４の送信量は数式（１）により表される。
ｄ＊（Ｎ−１）＋Ｎｄ＊（Ｍ−１）＝ＮＭｄ−ｄ  …（１）
Ｐ２Ｐ通信不能グループ以外に属するゲーム装置２の１台からの送信に起因するリレーサーバ４の送信量は数式（２）により表される。
Ｎｄ＊１＝Ｎｄ  …（２）
【００９３】
これに対して、第２種グループ内にＰ２Ｐ通信不能グループを設定した場合、第１種グループと第２種グループの構成機器数をそれぞれＭ台とＮ台とすると、Ｐ２Ｐ通信不能グループに属するゲーム装置２の１台からの送信に起因するリレーサーバ４の送信量は数式（３）により表される。
ｄ＊（Ｍ−１）＋Ｍｄ＊（Ｎ−１）＝ＮＭｄ−ｄ  …（３）
Ｐ２Ｐ通信不能グループ以外に属するゲーム装置２の１台からの送信に起因するリレーサーバ４の送信量は数式（４）により表される。
ｄ＊１＝ｄ  …（４）
【００９４】
以上の説明から明らかなように、Ｐ２Ｐ通信不能グループを第２種グループ内に設定した場合の方が、リレーサーバ４の送信量が小さくなる。
【００９５】
２−８．変形例８
ゲーム装置２は、必ずしもゲーム専用機でなくてもよい。ゲームプログラムＰを実行可能な通信機器であれば、例えば、スマートフォンやタブレット型端末や据え置き型のＰＣであってもよい。仮にゲーム装置２を、マイクを内蔵した通信機器とした場合、ゲーム装置２は他のゲーム装置２との間で、ゲームデータに代えて又は加えて音声データを交換してボイスチャットを実行するようにしてもよい。
【００９６】
２−９．変形例９
ゲーム装置２は、Ｐ２Ｐ通信に代えて、リレーサーバ４を経由しない任意の通信を行って、他のゲーム装置２とゲームデータを共有するようにしてもよい。
【００９７】
２−１０．変形例１０
制御手段２１４は所定の周期（例えば、１００ｍｓ周期）で通信処理を実行させる。この代わりに、所定の周期ではなく、ゲーム状態に応じて随時、自機のゲームデータを送信してもよい。この場合、複数のゲームデータを１つのパケットに含めることができる確率が低下するが、接続数については同等の効率を得ることができる。
【００９８】
２−１１．変形例１１
通信システム１の構成要素に、マッチメイクサーバ３、リレーサーバ４、通信環境判定サーバがあるが、これらのうちいくつかのサーバを１つのサーバに統合してもよい。
【符号の説明】
【００９９】
１…通信システム、２…ゲーム装置、３…マッチメイクサーバ、４…リレーサーバ、５…通信ネットワーク、６…ゲーム装置、２１…プロセッサ、２２…不揮発性メモリ、２３…揮発性メモリ、２４…スロット、２５…ネットワーク通信部、２６…ディスプレイ、２７…タッチパネル、２８…スピーカ、２９…コントローラ、２１１、２１６…グループ設定手段、２１２…第１通信手段、２１３…第２通信手段、２１４、２１８…制御手段、２１５…ゲーム処理実行手段、２１７…第３通信手段、２３１…プログラム記憶領域、２３２…データ記憶領域、Ｄ１…プレイヤデータ、Ｄ２…通信アドレスデータ、Ｄ３…通信環境データ、Ｄ４…Ｐ２Ｐ通信可否データ、Ｄ５…グループデータ、Ｄ６…ゲームデータ、Ｇ１１〜Ｇ１６…第１種グループ、Ｇ２１〜Ｇ２６…第２種グループ、Ｇ３１〜Ｇ３４…第３種グループ、Ｐ…ゲームプログラム
【図１】
2020065154.tif 000003
【図２】
2020065154.tif 000004
【図３】
2020065154.tif 000005
【図４】
2020065154.tif 000006
【図５】
2020065154.tif 000007
【図６】
2020065154.tif 000008
【図７】
2020065154.tif 000009
【図８】
2020065154.tif 000010
【図９】
2020065154.tif 000011
【図１０】
2020065154.tif 000012
【図１１】
2020065154.tif 000013
【図１２】
2020065154.tif 000014
【図１３】
2020065154.tif 000015