(57)【要約】【課題】ゲームの設計の自由度を低下させることなく、求められる最大の通信帯域を狭く抑える。【解決手段】ゲームシステム１００、ゲーム端末１０およびサーバ装置４０を提供する。ゲームシステム１００は、ゲーム中に必要な通信帯域が広い親ノードとして選択されている１つのゲーム端末１０と前記ゲーム中に必要な通信帯域が狭い子ノードとして選択されている２つ以上の所定数のゲーム端末１０から構成されるグループ単位でプレイヤーにゲームを行わせる。ノードの選択はサーバ装置４０により行われ、親ノードは、親ノードとして選択される資格を有することを示す資格データを含む結成要求の送信元のゲーム端末１０から選択される。【選択図】図１
2008029363.tif 000002
【特許請求の範囲】
【請求項１】
ゲーム中に必要な通信帯域が広い親ノードとして選択されている１つのゲーム端末と前記ゲーム中に必要な通信帯域が狭い子ノードとして選択されている２つ以上の所定数のゲーム端末から構成されるグループ単位でプレイヤーに前記ゲームを行わせるゲームシステムであって、
それぞれに互いに異なる通信路が割り当てられ、各々に割り当てられた通信路を共用する複数のゲーム端末をそれぞれ含む複数の端末群と、
前記複数の端末群の前記複数のゲーム端末から１つのゲーム端末を親ノードとして選択するとともに前記所定数のゲーム端末の各々を子ノードとして選択することによって前記グループを結成するサーバ装置とを有し、
前記複数の端末群の前記複数のゲーム端末の各々は、
プレイヤーの指示を入力するための入力部と、
前記入力部を用いて所定の指示が入力されると、前記グループの結成を要求する結成要求を生成して前記サーバ装置へ送信する結成要求送信部と、
前記グループの構成を示すグループデータを受信するグループデータ受信部と、
前記グループデータに基づいて当該ゲーム端末が親ノードとして選択されているか否かを判定し、この判定の結果に応じて前記ゲーム中の通信を制御する制御部とを有し、
前記結成要求送信部は、
前記所定の指示が入力されると、親ノードとして機能する権利の行使が可能か否かを判定する権利判定部と、
前記権利判定部により前記行使が可能と判定された場合には親ノードとして選択される資格を有することを示す資格データを含む前記結成要求を生成し、他の場合には前記資格データを含まない前記結成要求を生成する生成部とを有し、
前記サーバ装置は、
前記結成要求を受信し、当該結成要求が前記資格データを含んでいるか否かを判別する受信判別部と、
前記資格データを含んでいる前記結成要求の送信元のゲーム端末のうち１つのゲーム端末を親ノードとして選択し、前記１つのゲーム端末を除く前記結成要求の送信元のゲーム端末のうち前記所定数のゲーム端末を子ノードとして選択する選択部と、
前記選択部による選択によって結成された前記グループを構成するゲーム端末の各々へ当該グループの前記グループデータを送信するグループデータ送信部とを有する、
ことを特徴とするゲームシステム。
【請求項２】
前記端末群毎に設けられ、対応する前記端末群の前記複数のゲーム端末とそれぞれ通信可能な複数の管理装置を有し、
前記権利判定部は、
当該ゲーム端末を含む前記端末群に対応する前記管理装置に対して、前記権利の行使が可能か否かを判定すべく、前記権利の移譲を要求する移譲要求を送信する移譲要求部と、
前記権利を有することを示す権利データを受信する権利取得部とを有し、
前記移譲要求が送信されてから所定の時間が経過するまでに前記権利取得部が前記権利データを受信した場合にのみ前記行使が可能と判定し、
前記複数の管理装置の各々は、
記憶内容によって当該管理装置が有する前記権利の数を示す権利記憶部と、
前記移譲要求を受信する移譲要求受信部と、
前記移譲要求受信部が前記移譲要求を受信すると、前記権利記憶部の記憶内容に基づいて前記権利が１つ以上あるか否かを判定し、１つ以上あると判定した場合には、前記権利データを当該移譲要求の送信元のゲーム端末へ送信し、当該管理装置が有する前記権利の数が１つ減るように前記権利記憶部の記憶内容を更新する移譲処理部とを有する、
ことを特徴とする請求項１に記載のゲームシステム。
【請求項３】
前記複数の端末群の前記複数のゲーム端末の各々は、
前記権利が不要である場合に、前記権利の返還を通知する返還通知を、当該ゲーム端末を含む端末群に対応する管理装置へ送信する返還通知送信部とを有し、
前記複数の管理装置の各々は、
前記返還通知を受信する返還通知受信部と、
前記返還通知受信部が前記返還通知を受信すると、当該管理装置が有する前記権利の数が１つ増えるように前記権利記憶部の記憶内容を更新する返還処理部とを有する、
ことを特徴とする請求項２に記載のゲームシステム。
【請求項４】
前記選択部は、前記受信判別部が前記結成要求を受信すると、当該結成要求が前記資格データを含んでいる場合には、１つのゲーム端末が親ノードとして既に選択されているか否かを判定し、既に選択されている場合には、当該資格データが不要であることを示す不要通知を当該結成要求の送信元のゲーム端末へ送信し、
前記複数の端末群の前記複数のゲーム端末の各々は、前記不要通知を受信する不要通知受信部を有し、
前記返還通知送信部は、前記不要通知受信部が前記不要通知を受信すると、前記権利の返還を通知する返還通知を、当該ゲーム端末を含む端末群に対応する管理装置へ送信する、
ことを特徴とする請求項３に記載のゲームシステム。
【請求項５】
前記サーバ装置は、
前記グループを１つずつ順に結成し、
前記選択部は、
前記受信判別部が前記結成要求を受信すると、当該結成要求が前記資格データを含んでいる場合には、未結成の前記グループのうち最も早く結成される前記グループの親ノードとしてゲーム端末が未選択であれば当該グループの親ノードとして当該結成要求の送信元のゲーム端末を選択し、未選択でなければ親ノードとしてゲーム端末が未選択の前記グループのうち最も早く結成される前記グループの親ノードとして当該ゲーム端末を選択し、当該結成要求が前記資格データを含んでいない場合には、未結成の前記グループのうち最も早く結成される前記グループの子ノードとして選択されているゲーム端末の数である選択数が前記所定数未満であれば当該グループの子ノードとして当該ゲーム端末を選択し、前記所定数未満でなければ前記選択数が前記所定数未満の前記グループのうち最も早く結成される前記グループの子ノードとして当該ゲーム端末を選択する主選択部と、
未結成の前記グループのうち最も早く結成される前記グループの親ノードまたは子ノードとして選択されているゲーム端末から当該選択の契機となった前記結成要求を最初に受信してから所定の時間が経過したとき、当該グループの前記選択数が前記所定数未満であり、かつ、当該グループの後に結成される前記グループの親ノードとして前記所定数から当該選択数を減じた差以上の数のゲーム端末が選択されている場合には、当該ゲーム端末のうち前記差の数のゲーム端末を未結成の前記グループのうち最も早く結成される前記グループの子ノードとして選択する副選択部と
を有することを特徴とする請求項１に記載のゲームシステム。
【請求項６】
ゲーム中に必要な通信帯域が広い親ノードとして選択されている１つのゲーム端末と前記ゲーム中に必要な通信帯域が狭い子ノードとして選択されている２つ以上の所定数のゲーム端末から構成されるグループ単位でプレイヤーに前記ゲームを行わせ、それぞれに互いに異なる通信路が割り当てられ、各々に割り当てられた通信路を共用する複数のゲーム端末をそれぞれ含む複数の端末群と、前記複数の端末群の前記複数のゲーム端末から１つのゲーム端末を親ノードとして選択するとともに前記所定数のゲーム端末の各々を子ノードとして選択することによって前記グループを結成するサーバ装置とを有するゲームシステムのゲーム端末であって、
プレイヤーの指示を入力するための入力部と、
前記入力部を用いて所定の指示が入力されると、前記グループの結成を要求する結成要求を生成して前記サーバ装置へ送信する結成要求送信部と、
前記グループの構成を示すグループデータを受信するグループデータ受信部と、
前記グループデータに基づいて自己が親ノードとして選択されているか否かを判定し、この判定の結果に応じて前記ゲーム中の通信を制御する制御部とを有し、
前記結成要求送信部は、
前記所定の指示が入力されると、親ノードとして機能する権利の行使が可能か否かを判定する権利判定部と、
前記権利判定部により前記行使が可能と判定された場合には親ノードとして選択される資格を有することを示す資格データを含む前記結成要求を生成し、他の場合には前記資格データを含まない前記結成要求を生成する生成部とを有し、
前記サーバ装置は、前記結成要求を受信し、当該結成要求が前記資格データを含んでいるか否かを判別する受信判別部と、前記資格データを含んでいる前記結成要求の送信元のゲーム端末のうち１つのゲーム端末を親ノードとして選択し、当該ゲーム端末を除く前記結成要求の送信元のゲーム端末のうち前記所定数のゲーム端末を子ノードとして選択する選択部と、前記選択部による選択によって結成された前記グループを構成するゲーム端末の各々へ当該グループの前記グループデータを送信するグループデータ送信部とを有する、
ことを特徴とするゲーム端末。
【請求項７】
ゲーム中に必要な通信帯域が広い親ノードとして選択されている１つのゲーム端末と前記ゲーム中に必要な通信帯域が狭い子ノードとして選択されている２つ以上の所定数のゲーム端末から構成されるグループ単位でプレイヤーに前記ゲームを行わせ、
それぞれに互いに異なる通信路が割り当てられ、各々に割り当てられた通信路を共用する複数のゲーム端末をそれぞれ含む複数の端末群と、前記複数の端末群の前記複数のゲーム端末から１つのゲーム端末を親ノードとして選択するとともに前記所定数のゲーム端末の各々を子ノードとして選択することによって前記グループを結成するサーバ装置とを有し、
前記複数の端末群の前記複数のゲーム端末の各々は、プレイヤーの指示を入力するための入力部と、前記入力部を用いて所定の指示が入力されると、前記グループの結成を要求する結成要求を生成して前記サーバ装置へ送信する結成要求送信部と、前記グループの構成を示すグループデータを受信するグループデータ受信部と、前記グループデータに基づいて当該ゲーム端末が親ノードとして選択されているか否かを判定し、この判定の結果に応じて前記ゲーム中の通信を制御する制御部とを有し、
前記結成要求送信部は、前記所定の指示が入力されると、親ノードとして機能する権利の行使が可能か否かを判定する権利判定部と、前記権利判定部により前記行使が可能と判定された場合には親ノードとして選択される資格を有することを示す資格データを含む前記結成要求を生成し、他の場合には前記資格データを含まない前記結成要求を生成する生成部とを有する、
ゲームシステムのサーバ装置であって、
前記結成要求を受信し、当該結成要求が前記資格データを含んでいるか否かを判別する受信判別部と、
前記資格データを含んでいる前記結成要求の送信元のゲーム端末のうち１つのゲーム端末を親ノードとして選択し、当該ゲーム端末を除く前記結成要求の送信元のゲーム端末のうち前記所定数のゲーム端末を子ノードとして選択する選択部と、
前記選択部による選択によって結成された前記グループを構成するゲーム端末の各々へ当該グループの前記グループデータを送信するグループデータ送信部とを有する、
ことを特徴とするサーバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームシステム、ゲーム端末およびサーバ装置に関する。
【背景技術】
【０００２】
３人以上のプレイヤーにネットワークを介して同一のゲームを行わせるゲームシステムが普及している。このゲームシステムの一種に、サーバまたはマスターのノードである親ノードとして選択されている１つのゲーム端末とクライアントまたはスレーブのノードである子ノードとして選択されている２つ以上の所定数のゲーム端末から構成されるグループ単位でゲームを進行させるゲームシステムがある。親ノードがゲーム中に必要とする通信帯域（通信帯域幅）は広く、子ノードがゲーム中に必要とする通信帯域は狭い。
【０００３】
このゲームシステムでは、通常、複数のゲーム端末を含む端末群が店舗毎に設置され、店舗をまたがってグループが結成される。ゲーム端末間の通信は、端末群（店舗）毎に割り当てられた通信路を介して行われる。各通信路は、当該通信路に対応する端末群のゲーム端末に共用される。各通信路に求められる通信帯域は、当該通信路に対応する端末群に含まれる全てのゲーム端末が同時に親ノードとなったときに最大となる。したがって、各通信路の通信帯域として、当該通信路に求められる最大の通信帯域以上の広さの通信帯域を確保しておけば、当該通信路の通信帯域の不足に起因する通信異常（通信事故やパケットロスなど）を防止することができる。しかし、そのようにすると、通信帯域の利用効率が著しく悪化してしまう。同一の端末群に含まれる全てのゲーム端末が同時に親ノードとなるケースは稀だからである。
【０００４】
一方、各通信路の通信帯域が、当該通信路に求められる最大の通信帯域よりも狭い環境において、通信異常を抑制する技術が提案されている（特許文献１参照）。この技術では、端末群毎にかかる負荷が均一となるようにゲーム端末の選択が行われる。この技術によれば、通信帯域の残量が少ない（多い）通信路に対応する端末群のゲーム端末が親ノード（子ノード）として選択される、という不都合を解消することができる。したがって、通信異常が抑制される。
【特許文献１】特開２００５−１３７８１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１の技術では、通信異常を防止することはできない。やはり、通信異常を防止するには、各通信路の通信帯域を、当該通信路に求められる最大の通信帯域以上の広さとしておかねばならない。よって、通信帯域の利用効率の悪化の回避が重要な課題となる。この課題の解決には、求められる最大の通信帯域を狭く抑えることが有効である。求められる最大の通信帯域を狭く抑える手法の一つとして、ゲーム端末間の通信量が少なくなるようにゲームを設計することが考えられる。しかし、この手法ではゲームの設計の自由度が低下してしまう。
【０００６】
そこで、本発明は、ゲームの設計の自由度を低下させることなく、求められる最大の通信帯域を狭く抑えることができるゲームシステム、ゲーム端末およびサーバ装置を提供する。
【課題を解決するための手段】
【０００７】
以下、本発明について説明する。なお、本発明の理解を容易にするために添付図面の参照符号を括弧書きにて付記するが、それにより本発明が図示の形態に限定されるものではない。
本発明は、ゲーム中に必要な通信帯域が広い親ノードとして選択されている１つのゲーム端末（１０）と前記ゲーム中に必要な通信帯域が狭い子ノードとして選択されている２つ以上の所定数のゲーム端末から構成されるグループ単位でプレイヤーに前記ゲームを行わせるゲームシステム（１００）であって、それぞれに互いに異なる通信路が割り当てられ、各々に割り当てられた通信路を共用する複数のゲーム端末（１０、１０、…）をそれぞれ含む複数の端末群（５Ａ、５Ｂ、５Ｃ、…）と、前記複数の端末群（５Ａ、５Ｂ、５Ｃ、…）の前記複数のゲーム端末（１０、１０、…）から１つのゲーム端末（１０）を親ノードとして選択するとともに前記所定数のゲーム端末の各々を子ノードとして選択することによって前記グループを結成するサーバ装置（４０）とを有し、前記複数の端末群（５Ａ、５Ｂ、５Ｃ、…）の前記複数のゲーム端末（１０、１０、…）の各々は、プレイヤーの指示を入力するための入力部（１４）と、前記入力部（１４）を用いて所定の指示が入力されると、前記グループの結成を要求する結成要求を生成して前記サーバ装置（４０）へ送信する結成要求送信部（１１、１７）と、前記グループの構成を示すグループデータを受信するグループデータ受信部（１１、１７）と、前記グループデータに基づいて当該ゲーム端末（１０）が親ノードとして選択されているか否かを判定し、この判定の結果に応じて前記ゲーム中の通信を制御する制御部（１１）とを有し、前記結成要求送信部（１１、１７）は、前記所定の指示が入力されると、親ノードとして機能する権利の行使が可能か否かを判定する権利判定部（１１）と、前記権利判定部（１１）により前記行使が可能と判定された場合には親ノードとして選択される資格を有することを示す資格データを含む前記結成要求を生成し、他の場合には前記資格データを含まない前記結成要求を生成する生成部（１１）とを有し、前記サーバ装置（４０）は、前記結成要求を受信し、当該結成要求が前記資格データを含んでいるか否かを判別する受信判別部（４１、４２）と、前記資格データを含んでいる前記結成要求の送信元のゲーム端末のうち１つのゲーム端末（１０）を親ノードとして選択し、前記１つのゲーム端末（１０）を除く前記結成要求の送信元のゲーム端末のうち前記所定数のゲーム端末を子ノードとして選択する選択部（４１）と、前記選択部（１０）による選択によって結成された前記グループを構成するゲーム端末の各々へ当該グループの前記グループデータを送信するグループデータ送信部（４１、４２）とを有する、ことを特徴とするゲームシステム（１００）を提供する。
親ノードとして機能する権利は、具体的には、ゲーム端末が資格データを含む結成要求を送信する権利と、ゲーム端末が親ノードとして作動する権利を含む。したがって、親ノードとして機能する権利の行使には、ゲーム端末が資格データを含む結成要求を送信することと、ゲーム端末が親ノードとして作動することが含まれる。
このゲームシステムによれば、各端末群において親ノードとして同時に選択されるゲーム端末の最大数を当該端末群の複数のゲーム端末（１０、１０、…）の数未満とすることが可能であり、こうすることにより、ゲームの設計の自由度を低下させることなく、求められる最大の通信帯域を狭く抑えることができる。
【０００８】
権利の行使が可能か否かの判定の実現方法としては様々なものがある。
例えば、各ゲーム端末に権利の行使の可否を示すフラグを記憶させ、あるゲーム端末が権利の行使を開始したときには当該ゲーム端末を含む端末群の他のゲーム端末に記憶されているフラグを権利の行使が不可能であることを示すものに更新するようにし、各ゲーム端末が自己に記憶されているフラグに基づいて権利の行使が可能か否かを判定するようにしてもよい。
また例えば、上記のゲームシステム（１００）において、前記端末群毎（５Ａ、５Ｂ、５Ｃ、…）に設けられ、対応する前記端末群（５Ａ、５Ｂ、５Ｃ、…）の前記複数のゲーム端末（１０、１０、…）とそれぞれ通信可能な複数の管理装置（５０）を有し、前記権利判定部（１１）は、当該ゲーム端末（１０）を含む前記端末群（５Ａ、５Ｂ、５Ｃ、…）に対応する前記管理装置（４０）に対して、前記権利の行使が可能か否かを判定すべく、前記権利の移譲を要求する移譲要求を送信する移譲要求部（１１、１７）と、前記権利を有することを示す権利データを受信する権利取得部（１１、１７）とを有し、前記移譲要求が送信されてから所定の時間が経過するまでに前記権利取得部（１１、１７）が前記権利データを受信した場合にのみ前記行使が可能と判定し、前記複数の管理装置（５０）の各々は、記憶内容によって当該管理装置（５０）が有する前記権利の数を示す権利記憶部（５４）と、前記移譲要求を受信する移譲要求受信部（５１、５２）と、前記移譲要求受信部（５１、５２）が前記移譲要求を受信すると、前記権利記憶部（５４）の記憶内容に基づいて前記権利が１つ以上あるか否かを判定し、１つ以上あると判定した場合には、前記権利データを当該移譲要求の送信元のゲーム端末（１０）へ送信し、当該管理装置（５０）が有する前記権利の数が１つ減るように前記権利記憶部（５４）の記憶内容を更新する移譲処理部（５１、５２）とを有する、ようにしてもよい。この態様（以降、「第１態様」と称する）であれば、各端末群の複数のゲーム端末が行使可能な権利が１つの場合にも複数の場合にも対応可能である。
第１態様には、ゲーム端末が管理装置を兼ねる態様が含まれる。ゲーム端末が管理装置を兼ねる態様では、各ゲーム端末は、移譲要求を送信する前に、当該ゲーム端末を含む端末群に対応する管理装置として機能しているゲーム端末を特定することになる。ゲーム端末が管理装置を兼ねる態様としては、各端末群について、当該端末群の複数のゲーム端末のうち所定の１つを当該端末群に対応する管理装置として機能させる態様や、各端末群について、当該端末群の複数のゲーム端末のうち任意の１つを管理装置として機能させる態様が挙げられる。後者の場合、各ゲーム端末は、移譲要求を送信する前に、当該ゲーム端末を含む端末群に対応する管理装置として機能しているゲーム端末を特定することになる。
なお、ゲーム端末が管理装置を兼ねる形態では、管理装置を兼ねているゲーム端末は、ゲーム端末の機能を備える仮想的な存在と、管理装置の機能を備える仮想的な存在を含むことになる。仮想的な存在としてはプロセスを例示することができる。仮想的な存在がプロセスの場合、管理装置を兼ねているゲーム端末と管理装置との間の通信はプロセス間通信となる。
【０００９】
第１態様において、前記複数の端末群（５Ａ、５Ｂ、５Ｃ、…）の前記複数のゲーム端末（１０、１０、…）の各々は、前記権利が不要である場合に、前記権利の返還を通知する返還通知を、当該ゲーム端末（１０）を含む端末群に対応する管理装置（５０）へ送信する返還通知送信部（１１、１７）とを有し、前記複数の管理装置（５０）の各々は、前記返還通知を受信する返還通知受信部（５１、５２）と、前記返還通知受信部（５１、５２）が前記返還通知を受信すると、当該管理装置（５０）が有する前記権利の数が１つ増えるように前記権利記憶部（５４）の記憶内容を更新する返還処理部（５１）とを有する、ようにしてもよい。この態様（以降、「第２態様」と称する）によれば、権利が不要である場合に、親ノードとして選択されていたゲーム端末から管理装置へ当該権利が返還されるから、権利を行使する機会を、当該管理装置に対応する端末群に含まれるゲーム端末に対して繰り返し提供することができる。なお、権利は、当該権利が行使され続ける期間以外の期間において不要となる。したがって、返還通知送信部が返還通知を送信する時点としては、権利が行使され続ける期間の終了直後が望ましい。
【００１０】
第２態様において、前記選択部（４１）は、前記受信判別部（４１、４２）が前記結成要求を受信すると、当該結成要求が前記資格データを含んでいる場合には、１つのゲーム端末（１０）が親ノードとして既に選択されているか否かを判定し、既に選択されている場合には、当該資格データが不要であることを示す不要通知を当該結成要求の送信元のゲーム端末（１０）へ送信し、前記複数の端末群（５Ａ、５Ｂ、５Ｃ、…）の前記複数のゲーム端末（１０、１０、…）の各々は、前記不要通知を受信する不要通知受信部（１１、１７）を有し、前記返還通知送信部（１１、１７）は、前記不要通知受信部（１１、１７）が前記不要通知を受信すると、前記権利の返還を通知する返還通知を、当該ゲーム端末（１０）を含む端末群に対応する管理装置（５０）へ送信する、ようにしてもよい。この態様によれば、不要である権利が即座に返還されるから、権利を返還したゲーム端末と同一の端末群に含まれる他のゲーム端末が権利を行使する機会が無駄に奪われることがない。
【００１１】
また、上述したゲームシステム（１００）において、前記グループを１つずつ順に結成し、前記選択部（４１）は、前記受信判別部（４１、４２）が前記結成要求を受信すると、当該結成要求が前記資格データを含んでいる場合には、未結成の前記グループのうち最も早く結成される前記グループの親ノードとしてゲーム端末（１０）が未選択であれば当該グループの親ノードとして当該結成要求の送信元のゲーム端末（１０）を選択し、未選択でなければ親ノードとしてゲーム端末（１０）が未選択の前記グループのうち最も早く結成される前記グループの親ノードとして当該ゲーム端末（１０）を選択し、当該結成要求が前記資格データを含んでいない場合には、未結成の前記グループのうち最も早く結成される前記グループの子ノードとして選択されているゲーム端末（１０）の数である選択数が前記所定数未満であれば当該グループの子ノードとして当該ゲーム端末（１０）を選択し、前記所定数未満でなければ前記選択数が前記所定数未満の前記グループのうち最も早く結成される前記グループの子ノードとして当該ゲーム端末（１０）を選択する主選択部（４１）と、未結成の前記グループのうち最も早く結成される前記グループの親ノードまたは子ノードとして選択されているゲーム端末（１０）から当該選択の契機となった前記結成要求を最初に受信してから所定の時間が経過したとき、当該グループの前記選択数が前記所定数未満であり、かつ、当該グループの後に結成される前記グループの親ノードとして前記所定数から当該選択数を減じた差以上の数のゲーム端末（１０）が選択されている場合には、当該ゲーム端末（１０）のうち前記差の数のゲーム端末（１０）を未結成の前記グループのうち最も早く結成される前記グループの子ノードとして選択する副選択部（１０）とを有する、ようにしてもよい。この態様によれば、ゲーム端末が結成要求を送信してから所定の時間を過ぎても当該ゲーム端末を含むグループが結成されない確率を低下させることができる。
【００１２】
また、本発明は、ゲーム中に必要な通信帯域が広い親ノードとして選択されている１つのゲーム端末（１０）と前記ゲーム中に必要な通信帯域が狭い子ノードとして選択されている２つ以上の所定数のゲーム端末から構成されるグループ単位でプレイヤーに前記ゲームを行わせ、それぞれに互いに異なる通信路が割り当てられ、各々に割り当てられた通信路を共用する複数のゲーム端末（１０、１０、…）をそれぞれ含む複数の端末群（５Ａ、５Ｂ、５Ｃ、…）と、前記複数の端末群（５Ａ、５Ｂ、５Ｃ、…）の前記複数のゲーム端末（１０、１０、…）から１つのゲーム端末（１０）を親ノードとして選択するとともに前記所定数のゲーム端末の各々を子ノードとして選択することによって前記グループを結成するサーバ装置（４０）とを有するゲームシステム（１００）のゲーム端末（１０）であって、プレイヤーの指示を入力するための入力部（１４）と、前記入力部（１４）を用いて所定の指示が入力されると、前記グループの結成を要求する結成要求を生成して前記サーバ装置（４０）へ送信する結成要求送信部（１１、１７）と、前記グループの構成を示すグループデータを受信するグループデータ受信部（１１、１７）と、前記グループデータに基づいて自己が親ノードとして選択されているか否かを判定し、この判定の結果に応じて前記ゲーム中の通信を制御する制御部（１１）とを有し、前記結成要求送信部（１１、１７）は、前記所定の指示が入力されると、親ノードとして機能する権利の行使が可能か否かを判定する権利判定部（１１）と、前記権利判定部（１１）により前記行使が可能と判定された場合には親ノードとして選択される資格を有することを示す資格データを含む前記結成要求を生成し、他の場合には前記資格データを含まない前記結成要求を生成する生成部（１１）とを有し、前記サーバ装置（４０）は、前記結成要求を受信し、当該結成要求が前記資格データを含んでいるか否かを判別する受信判別部（４１、４２）と、前記資格データを含んでいる前記結成要求の送信元のゲーム端末のうち１つのゲーム端末（１０）を親ノードとして選択し、当該ゲーム端末（１０）を除く前記結成要求の送信元のゲーム端末のうち前記所定数のゲーム端末を子ノードとして選択する選択部（４１）と、前記選択部（４１）による選択によって結成された前記グループを構成するゲーム端末の各々へ当該グループの前記グループデータを送信するグループデータ送信部（４１、４２）とを有する、ことを特徴とするゲーム端末を提供する。
このゲーム端末によれば、前述のゲームシステムを構築可能である。よって、このゲーム端末によれば、ゲームの設計の自由度を低下させることなく、求められる最大の通信帯域を狭く抑えることができる。
【００１３】
また、本発明は、ゲーム中に必要な通信帯域が広い親ノードとして選択されている１つのゲーム端末（１０）と前記ゲーム中に必要な通信帯域が狭い子ノードとして選択されている２つ以上の所定数のゲーム端末から構成されるグループ単位でプレイヤーに前記ゲームを行わせ、それぞれに互いに異なる通信路が割り当てられ、各々に割り当てられた通信路を共用する複数のゲーム端末をそれぞれ含む複数の端末群（５Ａ、５Ｂ、５Ｃ、…）と、前記複数の端末群（５Ａ、５Ｂ、５Ｃ、…）の前記複数のゲーム端末（１０、１０、…）から１つのゲーム端末（１０）を親ノードとして選択するとともに前記所定数のゲーム端末の各々を子ノードとして選択することによって前記グループを結成するサーバ装置（４０）とを有し、前記複数の端末群（５Ａ、５Ｂ、５Ｃ、…）の前記複数のゲーム端末（１０、１０、…）の各々は、プレイヤーの指示を入力するための入力部（１４）と、前記入力部（１４）を用いて所定の指示が入力されると、前記グループの結成を要求する結成要求を生成して前記サーバ装置（４０）へ送信する結成要求送信部（１１、１７）と、前記グループの構成を示すグループデータを受信するグループデータ受信部（１１、１７）と、前記グループデータに基づいて当該ゲーム端末（１０）が親ノードとして選択されているか否かを判定し、この判定の結果に応じて前記ゲーム中の通信を制御する制御部（１１）とを有し、前記結成要求送信部（１１、１７）は、前記所定の指示が入力されると、親ノードとして機能する権利の行使が可能か否かを判定する権利判定部（１１）と、前記権利判定部（１１）により前記行使が可能と判定された場合には親ノードとして選択される資格を有することを示す資格データを含む前記結成要求を生成し、他の場合には前記資格データを含まない前記結成要求を生成する生成部（１１）とを有する、ゲームシステム（１００）のサーバ装置（４０）であって、前記結成要求を受信し、当該結成要求が前記資格データを含んでいるか否かを判別する受信判別部（４１、４２）と、前記資格データを含んでいる前記結成要求の送信元のゲーム端末のうち１つのゲーム端末（１０）を親ノードとして選択し、当該ゲーム端末（１０）を除く前記結成要求の送信元のゲーム端末のうち前記所定数のゲーム端末（１０）を子ノードとして選択する選択部（１０）と、前記選択部（１０）による選択によって結成された前記グループを構成するゲーム端末の各々へ当該グループの前記グループデータを送信するグループデータ送信部とを有する、ことを特徴とするサーバ装置（４０）を提供する。
このサーバ装置によれば、前述のゲームシステムを構築可能である。よって、このサーバ装置によれば、ゲームの設計の自由度を低下させることなく、求められる最大の通信帯域を狭く抑えることができる。
【００１４】
なお、本発明において、権利の行使の可否ではなく、権利の有無を判定するようにしてもよい。具体的には、前述のゲームシステムにおいて、前記権利判定部（１１）が、前記所定の指示が入力されると、前記権利を有するか否かを判定し、前記生成部（１１）が、前記権利判定部（１１）により前記権利を有すると判定された場合には親ノードとして選択される資格を有することを示す資格データを含む前記結成要求を生成し、他の場合には前記資格データを含まない前記結成要求を生成する、ようにしてもよい。さらに、この権利判定部（１１）が前記移譲要求部（１１）および前記権利取得部（１１、１７）を有する場合には、この移譲要求部（１１）が、当該ゲーム端末を含む前記端末群に対応する前記管理装置に対して前記権利を有するか否かを判定すべく前記権利の移譲を要求する移譲要求を送信し、この権利取得部（１１、１７）が、前記権利を有することを示す権利データを受信し、この権利判定部（１１）が、前記移譲要求が送信されてから所定の時間が経過するまでに前記権利取得部が前記権利データを受信した場合にのみ前記権利を有すると判定する、ようにしてもよい。
【発明の効果】
【００１５】
本発明によれば、ゲームの設計の自由度を低下させることなく、求められる最大の通信帯域を狭く抑えることができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して、本発明の好適な実施の形態について説明する。以下に説明する具体的な構成は一例に過ぎず、本発明は、この具体的な構成を変形して得られる各種の形態をも範囲に含む。
【００１７】
＜ゲームシステム＞
図１は、本発明の実施の形態に係るゲームシステム１００の全体構成を示すブロック図である。ゲームシステム１００は、３つの通信ノードから構成されるグループ単位でプレイヤーに所定のゲームを行わせるシステムである。所定のゲームとは、多人数参加型のネットワークゲームであり、その進行には、グループを構成する通信ノード同士の通信が必須である。
【００１８】
ゲームシステム１００の一部は、来訪したプレイヤーに所定のゲームを行わせる店舗（施設）Ａ、Ｂ、Ｃ、…内に設けられている。具体的には、各店舗に、ＬＡＮ（Local  Area  Network）２５と、ＬＡＮ２５に接続され、プレイヤーに所定のゲームを行わせる４つのゲーム端末１０と、ＬＡＮ２５とインターネット１とを接続するルータ２０と、ＬＡＮ２５に接続され、後述の親ノード権（権利）を管理する管理装置５０が設置されている。また、ゲームシステム１００は、ゲーム端末１０を通信ノードとして３つ選択してグループを結成するサーバ装置（マッチングサーバ装置）４０と、サーバ装置４０とインターネット１とを接続するルータ３０を有する。
【００１９】
各店舗において、４つのゲーム端末１０は端末群を構成している。例えば、店舗Ａ内には、店舗Ａ内の４つのゲーム端末１０を含む端末群５Ａが存在する。また、インターネット１と各店舗との間の通信は、当該店舗に対応する通信路を介して行われる。各店舗に対応する通信路は、当該店舗内のルータ２０とインターネット１との間の通信路であり、当該店舗内の端末群に割り当てられる。例えば、店舗Ａに対応する通信路２７Ａは端末群５Ａに割り当てられる。各店舗のゲーム端末１０は、ＬＡＮ２５を介して当該店舗内の他の装置と通信可能である一方、ＬＡＮ２５、ルータ２０、当該店舗に対応する通信路、およびインターネット１を介して、サーバ装置４０や他の店舗のゲーム端末１０と通信可能である。
【００２０】
ここで「グループ」について説明する。グループに含まれる３つの通信ノードのうち、１つは所定のゲームの最中に必要な通信帯域が広い親ノードであり、残りは所定のゲームの最中に必要な通信帯域が狭い子ノードである。サーバ装置４０は、実際には、１つのゲーム端末１０を親ノードとして選択するとともに２つのゲーム端末１０をそれぞれ子ノードとして選択することによってグループを結成する。ゲーム端末１０は、グループの結成を要求する結成要求を送信可能であり、上記の選択の母集団は、結成要求の送信元のゲーム端末１０である。
【００２１】
次に「親ノード権」について説明する。本実施の形態では、各端末群において親ノードとして機能するゲーム端末１０の数を１つに制限することによって、課題を解決しようとしている。この制限を実現するために導入した概念が親ノード権である。親ノード権は、親ノードとして機能する権利であり、ゲーム端末１０に行使される。本実施の形態においては、端末群５Ａ、５Ｂ、５Ｃ、…について１つずつ親ノード権が割り当てられている。各端末群に割り当てられている親ノード権は、当該端末群に対応する管理装置５０によって管理される。
【００２２】
ゲーム端末１０は、親ノード権を有する場合、親ノードとして選択される資格を示す資格データを含む結成要求を送信すること及び親ノードとして作動することができる。すなわち、親ノード権を行使することができる。このことから明らかなように、親ノード権は、親ノードとして選択される資格を示す資格データを含む結成要求を送信する権利でもあるし、親ノードとして作動する権利でもある。また、親ノードとしてのゲーム端末１０の選択の母集団は、資格データを含む結成要求の送信元のゲーム端末１０である。
【００２３】
［ゲーム端末］
図２は、ゲーム端末１０の構成を示すブロック図である。この図に示すように、ゲーム端末１０は、プロセッサ１１、入力部１４、表示部１５、通信インターフェイス１７、不揮発性メモリ１８および書き換え可能メモリ１９を有する。プロセッサ１１は、例えば、一又は複数のＣＰＵ（Central  Processing  Unit）である。
【００２４】
入力部１４は、複数の操作子を備え、操作子が操作されると、この操作に応じた操作信号をプロセッサ１１に供給する。複数の操作子には、所定のゲームの開始を指示する開始指示（所定の指示）を入力するためのスタート操作子の他に、所定のゲームの内容に応じた操作子が含まれている。例えば、所定のゲームが仮想空間内で車両を操縦するゲームの場合には、車両を操縦するための操作子が所定のゲームの内容に応じた操作子となる。
【００２５】
表示部１５は、画面１５１を有し、プロセッサ１１から画像データが供給されると、当該画像データが表す画像を画面１５１に表示する。表示部１５としては、モニタやビデオプロジェクタを用いることができる。ビデオプロジェクタを用いる場合には、画像が投射されるスクリーンが画面１５１に相当する。通信インターフェイス１７は、ＬＡＮ２５との間で信号を送受するものであり、プロセッサ１１とＬＡＮ２５との間でデータを中継する。プロセッサ１１は、通信インターフェイス１７を用いて、他の装置との間でデータを送受信する。
【００２６】
不揮発性メモリ１８は、例えばＲＯＭ（Read  Only  Memory）またはＥＥＰＲＯＭ（Electronically  Erasable  and  Programmable  ROM）であり、プログラム１８１を記憶している。プログラム１８１は、プロセッサ１１に実行されることによってゲーム端末１０に後述の主処理等の各種の処理を行わせる。また、不揮発性メモリ１８は、サーバ装置４０および管理装置５０の通信アドレスを記憶している。
【００２７】
書き換え可能メモリ１９は、例えばＲＡＭ（Random  Access  Memory）であり、自己のゲーム端末１０を含むグループ（以降、「所属グループ」と称する）の構成を示す所属グループデータＴを記憶する。所属グループデータＴのデータ構造は任意であり、例えば、グループを構成する三つのゲーム端末１０の各々について、ゲーム端末１０の通信アドレスを示すデータと当該ゲーム端末１０が親ノードとして選択されているか否かを示すフラグとを対応付けた構造であってもよい。
【００２８】
［サーバ装置］
図３は、サーバ装置４０の構成を示すブロック図である。この図に示すように、サーバ装置４０は、プロセッサ４１、通信インターフェイス４２、不揮発性メモリ４３および書き換え可能メモリ４４を備える。プロセッサ４１は、例えば、一又は複数のＣＰＵである。通信インターフェイス４２は、ルータ３０との間で信号を送受するものであり、プロセッサ４１とルータ３０との間でデータを中継する。プロセッサ４１は、通信インターフェイス４２を用いて、他の装置との間でデータを送受信する。
【００２９】
不揮発性メモリ４３は、例えばＲＯＭおよびハードディスクであり、プログラム４３１を記憶している。プログラム４３１は、プロセッサ４１に実行されることによって、サーバ装置４０に後述のマッチング処理等の各種の処理を行わせる。書き換え可能メモリ４４は、例えばＲＡＭであり、未結成のグループの構成を示すエントリーリスト４４１を記憶する。
【００３０】
図４は、エントリーリスト４４１のデータ構造を模式的に示す図である。この図に示すように、エントリーリスト４４１は、１つの親フィールドおよび２つの子フィールド（第１子フィールドおよび第２子フィールド）を有するレコードの並びである。各レコードはグループに対応しており、レコードの並び順は、対応するグループの結成順となる。各レコードには、対応するグループを構成するゲーム端末１０の通信アドレスが格納される。詳細には、親フィールドには親ノードとして選択されているゲーム端末１０の通信アドレスが、２つの子フィールドの各々には子ノードとして選択されているゲーム端末１０の通信アドレスが格納される。
【００３１】
［管理装置］
図５は、管理装置５０の構成を示すブロック図である。この図に示すように、管理装置５０は、プロセッサ５１、通信インターフェイス５２、不揮発性メモリ５３および書き換え可能メモリ５４を備える。プロセッサ５１は、例えば、一又は複数のＣＰＵである。通信インターフェイス５２は、ＬＡＮ２５との間で信号を送受するものであり、プロセッサ５１とＬＡＮ２５との間でデータを中継する。プロセッサ５１は、通信インターフェイス５２を用いて、他の装置との間でデータを送受信する。
【００３２】
不揮発性メモリ５３は、例えばＲＯＭおよびハードディスクであり、プログラム５３１を記憶している。プログラム５３１は、プロセッサ５１に実行されることによって、管理装置５０に後述の管理処理等の各種の処理を行わせる。書き換え可能メモリ５４は、例えばＲＡＭであり、親ノード権の有無を示す権利フラグ５４１を記憶する。
【００３３】
１つの管理装置５０が管理する親ノード権の数は１つであり、権利フラグ５４１は２値のデータであるから、ある管理装置５０に親ノード権が有ることは当該管理装置５０が有する親ノード権の数が１であることと等価であり、ある管理装置５０に親ノード権が無いことは当該管理装置５０が有する親ノード権の数が０であることと等価である。つまり、権利フラグ５４１は、自己の管理装置５０が有する親ノード権の数を示すデータでもある。
【００３４】
［主処理］
図６は、ゲーム端末１０のプロセッサ１１が行う主処理のフローチャートである。プロセッサ１１は、入力部１４からスタート操作子の操作に応じた操作信号が供給されると、主処理を実行する。主処理では、プロセッサ１１は、親ノード権の移譲を要求する移譲要求を、自己のゲーム端末１０を含む端末群（以降、「所属端末群」と称する）に対応する管理装置５０（以降、「管轄管理装置」と称する）へ送信する（ＳＡ１）。
【００３５】
次にプロセッサ１１は、管轄管理装置から、移譲要求に対する応答である移譲応答を受信する（ＳＡ２）。次にプロセッサ１１は、この移譲応答に親ノード権を有することを示す権利データが含まれているか否かを判定する（ＳＡ３）。この判定結果が「ＮＯ」の場合、プロセッサ１１は、資格データを含まない結成要求を生成してサーバ装置４０へ送信する（ＳＡ４）。次にプロセッサ１１は、グループの構成を示すグループデータを受信したか否かを判定する（ＳＡ５）。この判定は、判定結果が「ＹＥＳ」となるまで、すなわちグループデータを受信するまで繰り返し行われる。
【００３６】
ステップＳＡ３の判定結果が「ＹＥＳ」の場合、プロセッサ１１は、資格データを含む結成要求を生成してサーバ装置４０へ送信する（ＳＡ６）。次にプロセッサ１１は、当該資格データが不要であることを示す不要通知を当該結成要求の送信後の期間において初めて受信したか否かを判定し（ＳＡ７）、この判定結果が「ＹＥＳ」の場合にのみ、親ノード権の返還を通知する返還通知を管轄管理装置へ送信する（ＳＡ８）。次にプロセッサ１１は、グループデータを受信したか否かを判定し（ＳＡ９）、この判定結果が「ＮＯ」の場合には処理をステップＳＡ７に移行させる。つまり、資格データを含む結成要求を送信したプロセッサ１１は、グループデータを受信するまで、ステップＳＡ７〜ＳＡ９の処理を繰り返し行う。
【００３７】
プロセッサ１１は、グループデータを受信すると、これを所属グループデータＴとして書き換え可能メモリ１９に記憶させ、この所属グループデータＴに基づいて、自己のゲーム端末１０が親ノードとして選択されているか否かを判定する（ＳＡ１０）。この判定結果が「ＮＯ」の場合、プロセッサ１１は、自己のゲーム端末１０を子ノードとして動作させる子ノード処理を行い（ＳＡ１１）、主処理を終える。ステップＳＡ１０の判定結果が「ＹＥＳ」の場合、プロセッサ１１は、自己のゲーム端末１０を親ノードとして動作させる親ノード処理を行う（ＳＡ１２）。次にプロセッサ１１は、親ノード処理を終えて所定のゲームが終了すると、管轄管理装置へ返還通知を送信し（ＳＡ１３）、主処理を終える。
【００３８】
［子ノード処理］
図７は、ゲーム端末１０のプロセッサ１１が行う子ノード処理のフローチャートである。子ノード処理では、プロセッサ１１は、まず、グループデータに基づいて所属グループの構成を把握し、親ノードとして選択されているゲーム端末１０との間に通信コネクションを確立する処理を行う。この処理では、プロセッサ１１は、親ノードとして選択されているゲーム端末１０へ通信コネクションの確立を要求する確立要求を送信し（ＳＣ１）、この確立要求への応答である確立応答を当該ゲーム端末１０から受信する（ＳＣ２）。
【００３９】
次にプロセッサ１１は、後述のゲーム処理の開始を指示するゲーム開始通知を受信したか否かを判定する（ＳＣ３）。この判定は、判定結果が「ＹＥＳ」となるまで、すなわちゲーム開始通知を受信するまで繰り返し行われる。ステップＳＣ３の判定結果が「ＹＥＳ」となると、プロセッサ１１は、所定のゲームを進行させるゲーム処理を行い（ＳＣ４）、子ノード処理を終える。
【００４０】
ゲーム処理では、プロセッサ１１が、入力部１４から供給される操作信号および所属グループ内の他のゲーム端末１０からのデータに基づいて画像を生成し、表示部１５の画面１５１に表示させる。このことから明らかなように、プロセッサ１１は、所属グループ内の他のゲーム端末１０と通信する。ただし、ステップＳＣ４のゲーム処理は子ノード用のゲーム処理である。つまり、このゲーム処理において、通信相手となる他のゲーム端末１０は、親ノードとして選択されているゲーム端末１０であり、通信に用いられる通信コネクションは１つである。
【００４１】
［親ノード処理］
図８は、ゲーム端末１０のプロセッサ１１が行う親ノード処理のフローチャートである。親ノード処理では、プロセッサ１１は、まず、所属グループデータＴに基づいて所属グループの構成を把握し、子ノードとして選択されている２つのゲーム端末１０の各々との間に通信コネクションを確立する処理を行う。この処理では、プロセッサ１１は、まず、子ノードとして選択されているゲーム端末１０から確立要求を受信したか否かを判定する（ＳＢ１）。この判定は、判定結果が「ＹＥＳ」となるまで、すなわち確立要求を受信するまで繰り返し行われる。ステップＳＢ１の判定結果が「ＹＥＳ」となると、プロセッサ１１は、確立要求の送信元のゲーム端末１０へ確立応答を送信する（ＳＢ２）。次にプロセッサ１１は、必要な全ての通信コネクションが確立されたか否かを判定する（ＳＢ３）。この判定結果が「ＮＯ」の場合、プロセッサ１１は処理をステップＳＢ１に移行させる。
【００４２】
ステップＳＢ３の判定結果が「ＹＥＳ」となると、プロセッサ１１は、子ノードとして選択されている２つのゲーム端末１０の各々へゲーム開始通知を送信する（ＳＢ４）。次にプロセッサ１１は、ゲーム処理を行い（ＳＢ５）、親ノード処理を終える。ただし、ステップＳＢ５のゲーム処理は親ノード用のゲーム処理である。つまり、このゲーム処理において、通信相手となる他のゲーム端末１０は、子ノードとして選択されている２つのゲーム端末１０であり、通信に用いられる通信コネクションは２つである。
【００４３】
［管理処理］
図９は、管理装置５０のプロセッサ５１が行う管理処理のフローチャートである。管理処理では、プロセッサ５１は、まず、対応する端末群に含まれるゲーム端末１０からデータを受信する（ＳＤ１）。次にプロセッサ５１は、受信したデータが移譲要求であるか否かを判定する（ＳＤ２）。この判定結果が「ＹＥＳ」の場合、プロセッサ５１は、権利フラグ５４１を参照し、親ノード権が有るか否かを判定する（ＳＤ３）。この判定結果が「ＮＯ」の場合、プロセッサ５１は、権利データを含まない移譲応答を当該移譲要求の送信元のゲーム端末１０へ送信し（ＳＤ４）、処理をステップＳＤ１へ移行させる。
【００４４】
ステップＳＤ３の判定結果が「ＹＥＳ」の場合、プロセッサ５１は、権利データを含む移譲応答を当該移譲要求の送信元のゲーム端末１０へ送信する（ＳＤ４）。次にプロセッサ５１は、親ノード権が無いことを示すように権利フラグ５４１を更新し（ＳＤ６）、処理をステップＳＤ１へ移行させる。
【００４５】
一方、ステップＳＤ２の判定結果が「ＮＯ」の場合、プロセッサ５１は、受信したデータが返還通知か否かを判定する（ＳＤ７）。この判定結果が「ＮＯ」の場合、プロセッサ５１は、処理をステップＳＤ１へ移行させる。ステップＳＤ７の判定結果が「ＹＥＳ」の場合、プロセッサ５１は、親ノード権が有ることを示すように権利フラグ５４１を更新し（ＳＤ８）、処理をステップＳＤ１へ移行させる。
【００４６】
［マッチング処理］
図１０は、サーバ装置４０のプロセッサ４１が行うマッチング処理のフローチャートである。マッチング処理では、プロセッサ４１は、まず、ゲームシステム１００に含まれるゲーム端末１０から結成要求を受信する（ＳＥ１）。次にプロセッサ４１は、受信した結成要求に資格データが含まれているか否かを判定する（ＳＥ２）。次にプロセッサ４１は主選択処理を行う。具体的には、ステップＳＥ２の判定結果が「ＹＥＳ」の場合には親選択処理を（ＳＥ３）、「ＮＯ」の場合には子選択処理を行う（ＳＥ４）。
【００４７】
親選択処理では、プロセッサ４１は、受信した結成要求の送信元のゲーム端末１０を親ノードとして選択する。具体的には、受信した結成要求の送信元のゲーム端末１０の通信アドレスを、親フィールドが空いているレコード（親フィールドに通信アドレスが格納されていないレコード）のうち、対応するグループの結成順が最も早いレコードの親フィールドに格納する。親フィールドが空いているレコードが存在しない場合には、空のレコードをエントリーリスト４４１に追加してから、上記の処理を行う。
【００４８】
子選択処理では、プロセッサ４１は、受信した結成要求の送信元のゲーム端末１０を子ノードとして選択する。具体的には、受信した結成要求の送信元のゲーム端末１０の通信アドレスを、２つの子フィールドの一方または両方が空いているレコードのうち、対応するグループの結成順が最も早いレコードの、空いている１つの子フィールドに格納する。なお、２つの子フィールドの一方または両方が空いているレコードが存在しない場合には、空のレコードをエントリーリスト４４１に追加してから、上記の処理を行う。
【００４９】
次にプロセッサ４１は、グループが結成されたか否かを判定する（ＳＥ５）。具体的には、対応するレコードがエントリーリスト４４１内に存在するグループのうち結成順が最も早いグループ（以降、「次結成グループ」と称する）について３つのゲーム端末１０が選択されているか否かを判定する。より具体的には、エントリーリスト４４１のレコードのうち、次結成グループに対応するレコード（以降、「次結成レコード」と称する）の全てのフィールドに通信アドレスが格納されているか否かを調べることにより実現可能である。
【００５０】
ステップＳＥ５の判定結果が「ＹＥＳ」の場合、プロセッサ４１は、次結成レコードを参照してグループデータを生成し、このグループデータを、次結成レコードの各フィールドに格納されている通信アドレスのゲーム端末１０へ送信する（ＳＥ６）。次にプロセッサ４１は、当該レコードをエントリーリスト４４１から削除し（ＳＥ７）、処理をステップＳＥ１へ移行させる。
【００５１】
一方、ステップＳＥ５の判定結果が「ＮＯ」の場合、プロセッサ４１は、最先の受信から所定の時間（Ｔ）が経過したか否かを判定し（ＳＥ８）、この判定結果が「ＮＯ」の場合には処理をステップＳＥ１へ移行させる。最先の受信とは、エントリーリスト４４１に格納されている通信アドレスをエントリーリスト４４１に格納する契機となった結成要求の受信のうち、最も先（古く）に行われたものをいう。
【００５２】
ステップＳＥ８の判定結果が「ＹＥＳ」の場合、プロセッサ４１は、次結成グループの選択数が２つ未満か否かを判定し（ＳＥ９）、この判定結果が「ＮＯ」の場合には処理をステップＳＥ１へ移行させる。グループについて選択数とは、当該グループの子ノードとして選択されているゲーム端末１０の数であり、具体的には、０、１または２である。
【００５３】
ステップＳＥ９の判定結果が「ＹＥＳ」の場合、プロセッサ４１は、次結成グループの後に結成されるグループ（以降、「後続グループ」と称する）の親ノードとして選択されているゲーム端末１０の数（以降、「仮親数」と称する）が十分であるか否かを判定する（ＳＥ１０）。この判定結果は、仮親数が、２から次結成グループの選択数を減じた差未満の場合に「ＮＯ」となり、当該差以上の場合に「ＹＥＳ」となる。この判定結果が「ＮＯ」の場合、プロセッサ４１は、処理をステップＳＥ１へ移行させる。
【００５４】
ステップＳＥ１０の判定結果が「ＹＥＳ」の場合、プロセッサ４１は、後続グループの親ノードを次結成グループの子ノードとして充当して次結成グループを結成させる副選択処理を行う（ＳＥ１１）。具体的には、後続グループの親ノードとして選択されているゲーム端末１０のうち、上記の差の数のゲーム端末１０を次結成グループの子ノードとして選択する。より具体的には、エントリーリスト４４１のレコードのうち、次結成レコードに後続する上記の差の数のレコードに着目し、これらのレコードの親フィールドに格納されている通信アドレスを、次結成レコードの空いている子フィールドへ移動する一方、当該通信アドレスのゲーム端末１０へ不要通知を送信する。なお、通信アドレスの移動の結果として空のレコードが生じた場合、プロセッサ４１は、当該レコードをエントリーリスト４４１から削除する。副選択処理を終えると、プロセッサ４１は、前述のステップＳＥ６およびＳＥ７の処理を行い、処理をステップＳＥ１へ移行させる。
【００５５】
［動作例］
次に、ゲームシステム１００の動作例について説明する。この動作例は、まず店舗Ａの１つのゲーム端末１０（以降、「ゲーム端末１０Ａ」と称する）が店舗Ａの管理装置５０（以降、「管理装置５０Ａ」と称する）と通信した後に資格データを含む結成要求を送信し、次に店舗Ｂの１つのゲーム端末１０（以降、「ゲーム端末１０Ｂ」と称する）が店舗Ｂの管理装置５０（以降、「管理装置５０Ｂ」と称する）と通信した後に資格データを含まない結成要求を送信し、次に店舗Ｃの１つのゲーム端末１０（以降、「ゲーム端末１０Ｃ」と称する）が店舗Ｃの管理装置５０（以降、「管理装置５０Ｃ」と称する）と通信した後に資格データを含む結成要求を送信し、その結果、これらのゲーム端末１０Ａ、１０Ｂおよび１０Ｃを含むグループが結成され、このグループにおいて所定のゲームが進行する、というものである。以下、具体的に説明する。ただし、エントリーリスト４４１はレコードを１つも含まない状態にあるものとする。
【００５６】
図１１は、ゲームシステム１００の動作例を示すシーケンス図である。この図に示すように、まず、ゲーム端末１０Ａにおいて入力部１４を用いて開始指示が入力される。すると、ゲーム端末１０Ａのプロセッサ１１は、移譲要求を管理装置５０Ａへ送信する。ここでは、管理装置５０Ａの書き換え可能メモリ５４には、親ノード権が有ることを示す権利フラグ５４１が記憶されているものとする。したがって、当該移譲要求を受信した管理装置５０Ａのプロセッサ５１は、権利データを含む移譲応答をゲーム端末１０Ａへ送信し、親ノード権が無いことを示すように権利フラグ５４１を更新する。こうして、管理装置５０Ａの親ノード権がゲーム端末１０Ａに移譲される。
【００５７】
この移譲応答を受信したゲーム端末１０Ａのプロセッサ１１は、資格データを含む結成要求をサーバ装置４０へ送信する。この結成要求を受信したサーバ装置４０のプロセッサ４１は、次結成グループに対応する空のレコードをエントリーリスト４４１に追加して次結成レコードとし、ゲーム端末１０Ａを親ノードとして選択する。この結果、エントリーリスト４４１の内容は図１３に示す通りとなる。
【００５８】
次に、ゲーム端末１０Ｂにおいて入力部１４を用いて開始指示が入力される。すると、ゲーム端末１０Ｂのプロセッサ１１は、移譲要求を管理装置５０Ｂへ送信する。ここでは、管理装置５０Ｂの書き換え可能メモリ５４には、親ノード権が無いことを示す権利フラグ５４１が記憶されているものとする。したがって、当該移譲要求を受信した管理装置５０Ｂのプロセッサ５１は、権利データを含まない移譲応答をゲーム端末１０Ｂへ送信する。
【００５９】
この移譲応答を受信したゲーム端末１０Ｂのプロセッサ１１は、資格データを含まない結成要求をサーバ装置４０へ送信する。この結成要求を受信したサーバ装置４０のプロセッサ４１は、ゲーム端末１０Ｂを子ノードとして選択する。この結果、エントリーリスト４４１の内容は図１４に示す通りとなる。
【００６０】
次に、ゲーム端末１０Ｃにおいて入力部１４を用いて開始指示が入力される。すると、ゲーム端末１０Ｃのプロセッサ１１は、移譲要求を管理装置５０Ｃへ送信する。ここでは、管理装置５０Ｃの書き換え可能メモリ５４には、親ノード権が有ることを示す権利フラグ５４１が記憶されているものとする。したがって、当該移譲要求を受信した管理装置５０Ｃのプロセッサ５１は、権利データを含む移譲応答をゲーム端末１０Ｃへ送信し、親ノード権が無いことを示すように権利フラグ５４１を更新する。こうして、管理装置５０Ｃの親ノード権がゲーム端末１０Ｃに移譲される。
【００６１】
この移譲応答を受信したゲーム端末１０Ｃのプロセッサ１１は、資格データを含む結成要求をサーバ装置４０へ送信する。この結成要求を受信したサーバ装置４０のプロセッサ４１は、次結成グループの次に結成されるグループに対応する空のレコードをエントリーリスト４４１に追加し、ゲーム端末１０Ａを親ノードとして選択する。この結果、エントリーリスト４４１の内容は図１５に示す通りとなる。
【００６２】
そして、サーバ装置４０において、ゲーム端末１０Ａからの結成要求の受信から所定の時間（Ｔ）が経過したとする。すると、サーバ装置４０のプロセッサ４１は、副選択処理を行う。つまり、後続グループの親ノード（ゲーム端末１０Ｃ）を次結成グループの子ノードとして充当し、この充当においてエントリーリスト４４１内を移動した通信アドレスのゲーム端末１０Ｃへ不要通知を送信し、この充当の結果として空となったレコードをエントリーリスト４４１から削除する。この結果、エントリーリスト４４１の内容は図１６に示す通りとなる。つまり、ゲーム端末１０Ａ、１０Ｂおよび１０Ｃから構成されるグループが結成される。
【００６３】
上記の不要通知を受信したゲーム端末１０Ｃのプロセッサ１１は、返還通知を管理装置５０Ｃへ送信する。この返還通知を受信した管理装置５０Ｃのプロセッサ５１は、親ノード権が有ることを示すように権利フラグ５４１を更新する。こうして、ゲーム端末１０Ｃに行使された親ノード権が管理装置５０Ｃに返還される。
【００６４】
一方、図１２に示す通り、サーバ装置４０においては、ゲーム端末１０Ａ、１０Ｂおよび１０Ｃから構成されるグループが結成されると、プロセッサ４１が、当該グループに対応するエントリーリスト４４１のレコードを参照して当該グループの構成を示すグループデータを生成し、このグループデータを、ゲーム端末１０Ａ、１０Ｂおよび１０Ｃへ送信し、当該レコードをエントリーリスト４４１から削除する。この結果、エントリーリスト４４１はレコードを１つも含まない状態に戻る。
【００６５】
このグループデータを受信したゲーム端末１０Ａ、１０Ｂおよび１０Ｃの各プロセッサ１１は、受信したグループデータを所属グループデータＴとして、書き換え可能メモリ１９に記憶させる。そして、各所属グループデータＴに基づいて、ゲーム端末１０Ａのプロセッサ１１は、ゲーム端末１０Ａが親ノードとして選択されていると判定し、ゲーム端末１０Ｂおよび１０Ｃの各プロセッサ１１は、自己のゲーム端末１０が子ノードとして選択されていると判定する。
【００６６】
そして、これらの判定に基づいて、ゲーム端末１０Ａ、１０Ｂおよび１０Ｃのプロセッサ１１が、ゲーム端末１０Ａとゲーム端末１０Ｂとを結ぶ通信コネクション（以降、「第１コネクション」と称する）およびゲーム端末１０Ａとゲーム端末１０Ｃとを結ぶ通信コネクション（以降、「第２コネクション」と称する）を確立する。第１コネクションは、ゲーム端末１０Ｂのプロセッサ１１が確立要求をゲーム端末１０Ａへ送信し、これに応じて、ゲーム端末１０Ａのプロセッサ１１が確立応答をゲーム端末１０Ｂへ送信することにより確立される。第２コネクションは、ゲーム端末１０Ｃのプロセッサ１１が確立要求をゲーム端末１０Ａへ送信し、これに応じて、ゲーム端末１０Ａのプロセッサ１１が確立応答をゲーム端末１０Ｃへ送信することにより確立される。
【００６７】
次に、ゲーム端末１０Ａのプロセッサ１１は、ゲーム開始通知をゲーム端末１０Ｂおよび１０Ｃへ送信し、親ノード用のゲーム処理を開始する。一方、ゲーム開始通知を受信したゲーム端末１０Ｂおよび１０Ｃの各プロセッサ１１は、子ノード用のゲーム処理を開始する。ゲーム端末１０Ａ、１０Ｂおよび１０Ｃの各プロセッサ１１がゲーム処理を行うことにより、これらのゲーム端末１０をそれぞれ使用する３人のプレイヤーは同一の所定のゲームを行うことができる。
【００６８】
このゲームの最中には、このゲームを進行させるために、第１コネクションを用いた通信と第２コネクションを用いた通信とが並列に行われる。第１コネクションの一端と第２コネクションの一端は共にゲーム端末１０Ａにあるから、ゲーム端末１０Ａを含む端末群５Ａに対応する通信路２７Ａの通信帯域のうちこのゲームを進行させるために使用される通信帯域は、子ノードとして選択されている各ゲーム端末１０を含む端末群に対応する通信路の通信帯域のうちこのゲームを進行させるために使用される通信帯域の２倍となる。
【００６９】
そして、上記の所定のゲームの終了時には、ゲーム端末１０Ａ、１０Ｂおよび１０Ｃの各プロセッサ１１は、ゲーム処理を終了する。ゲーム処理を終了したゲーム端末１０Ａのプロセッサ１１は、返還通知を管理装置５０Ａへ送信する。この返還通知を受信した管理装置５０Ａのプロセッサ５１は、親ノード権が有ることを示すように権利フラグ５４１を更新する。こうして、ゲーム端末１０Ａに行使された親ノード権が管理装置５０Ａに返還される。以上より明らかなように、権利フラグ５４１は、親ノード権の行使の可否を示すデータでもある。
【００７０】
［効果］
以上説明したように、本実施の形態によれば、各端末群において親ノードとして同時に選択されるゲーム端末１０の最大数が１に制限されるから、所定のゲームの設計の自由度を低下させることなく、通信路に求められる最大の通信帯域を狭く抑えることができる。また、本実施の形態によれば、ゲーム端末１０が結成要求を送信してから所定の時間を過ぎても当該ゲーム端末１０を含むグループが結成されない確率を下げることができる。
【００７１】
また、本実施の形態によれば、移譲された親ノード権は必ず返還されるから、権利を行使する機会を、端末群に含まれるゲーム端末に対して繰り返し提供することができる。なお、このことから明らかなように、親ノード権の移譲は親ノード権の貸与と等価である。したがって、権利フラグ５４１は、親ノード権を貸与中であるか否かを示すデータでもある。
【００７２】
また、本実施の形態では、親ノード権の返還は、親ノード権が不要となったら即座に行われる。例えば、不要通知を受信したゲーム端末１０のプロセッサ１１は、即座に、管轄管理装置へ返還通知を送信する。また例えば、親ノードとして選択されてゲーム処理を終了したゲーム端末１０のプロセッサ１１は、即座に、管轄管理装置へ返還通知を送信する。よって、本実施の形態によれば、親ノード権を返還したゲーム端末１０と同一の端末群に含まれる他のゲーム端末１０が親ノード権を行使する機会が無駄に奪われることがない。
【００７３】
［変形例］
上述した実施の形態を、以下に述べるように変形してもよい。これらの変形例は、本発明の範囲に含まれる。
例えば、管理装置５０に管理される親ノード権の数を複数に変形してもよい。具体的には、権利フラグ５４１に代えて、３つ以上の値をとることが可能なデータを用いる。この変形例では、管理装置５０のプロセッサ５１は、移譲要求を受信すると、当該データが示す数が１以上であるか否かを判定し、１以上である場合には、権利データを当該移譲要求の送信元のゲーム端末１０へ送信し、当該データが示す数が１だけ減るように当該データを更新し、返還通知を受信すると、当該データの値が示す数が１だけ増えるように当該データを更新する。
【００７４】
前述したように、権利フラグ５４１は管理装置５０が有する親ノード権の数を示すデータでもあるから、この変形例のみならず、ゲームシステム１００についても、管理装置５０のプロセッサ５１が、移譲要求を受信すると、書き換え可能メモリ５４１の記憶内容に基づいて親ノード権が１つ以上あるか否かを判定し、１つ以上あると判定した場合には、権利データを当該移譲要求の送信元のゲーム端末１０へ送信し、親ノード権の数が１つ減るように書き換え可能メモリ５４１の記憶内容を更新し、返還通知を受信すると、当該データの値が示す数が１だけ増えるように当該データを更新する、といえる。
【００７５】
また例えば、ゲーム端末１０が管理装置５０を兼ねる形態に変形してもよい。このような形態としては、例えば、各端末群のゲーム端末１０のうち所定の１つを当該端末群に対応する管理装置５０として機能させる形態が挙げられる。具体的には、各ゲーム端末１０の不揮発性メモリ１８に、当該ゲーム端末１０を含む端末群に対応する管理装置５０として機能しているゲーム端末１０の通信アドレスを記憶させておき、各ゲーム端末１０が当該通信アドレスのゲーム端末１０へ移譲要求を送信するようにする。
【００７６】
ゲーム端末１０が管理装置５０を兼ねる他の形態としては、例えば、各端末群のゲーム端末のうち任意の１つを管理装置として機能させる形態が挙げられる。具体的には、各ゲーム端末１０は、移譲要求を送信する前に、当該ゲーム端末１０を含む端末群の全てのゲーム端末１０に問い合わせることにより、当該端末群に対応する管理装置５０として機能しているゲーム端末１０を特定し、特定したゲーム端末１０へ移譲要求を送信する。
【００７７】
なお、ゲーム端末１０が管理装置５０を兼ねる形態を実現する手法としては、例えば、管理装置５０を兼ねているゲーム端末１０において、ゲーム端末１０の機能を備えるプロセスと、管理装置５０の機能を備えるプロセスと並列に実行させることが挙げられる。この手法により実現された形態では、管理装置５０を兼ねているゲーム端末１０と当該管理装置５０との通信は、いわゆるプロセス間通信となる。
【００７８】
また、管理装置５０を設けず、ゲーム端末１０が、他の装置と通信することなく、資格データを含む結成要求を送信可能か否か、すなわち親ノード権の行使が可能か否かを判定する形態に変形してもよい。親ノード権の行使が可能か否かの判定の実現方法としては様々なものがある。例えば、各ゲーム端末１０の書き換え可能メモリ１９に親ノード権の行使の可否を示すフラグを記憶させ、各ゲーム端末１０のプロセッサ１１が自己のフラグに基づいて権利の行使が可能か否かを判定するようにし、あるゲーム端末１０が親ノード権の行使を開始したときには、通信によって、当該ゲーム端末１０を含む端末群の他のゲーム端末１０内のフラグを親ノード権の行使が不可能であることを示すものに更新するようにしてもよい。
【００７９】
また例えば、グループに含まれる通信ノードの数を４つ以上に変形してもよい。また例えば、端末群に含まれるゲーム端末の数を、１以上３以下に変形してもよいし、５以上に変形してもよいし、端末群毎に相違するように変形してもよい。
更に、サーバ装置は、マッチング処理結果により所定期間内に１グループに所定端末数を結成できなくとも１人以上でプレーするよう要求するようにしてもよい。
【図面の簡単な説明】
【００８０】
【図１】本発明の実施の形態に係るゲームシステム１００の全体構成を示すブロック図である。
【図２】ゲームシステム１００内のゲーム端末１０の構成を示すブロック図である。
【図３】ゲームシステム１００内のサーバ装置４０の構成を示すブロック図である。
【図４】サーバ装置４０内のエントリーリスト４４１のデータ構造を模式的に示す図である。
【図５】ゲームシステム１００内の管理装置５０の構成を示すブロック図である。
【図６】ゲーム端末１０のプロセッサ１１が行う主処理のフローチャートである。
【図７】プロセッサ１１が行う子ノード処理のフローチャートである。
【図８】プロセッサ１１が行う親ノード処理のフローチャートである。
【図９】管理装置５０のプロセッサ５１が行う管理処理のフローチャートである。
【図１０】サーバ装置４０のプロセッサ４１が行うマッチング処理のフローチャートである。
【図１１】ゲームシステム１００の動作例を示すシーケンス図である。
【図１２】ゲームシステム１００の動作例を示すシーケンス図である。
【図１３】エントリーリスト４４１の内容の一例を示す図である。
【図１４】エントリーリスト４４１の内容の一例を示す図である。
【図１５】エントリーリスト４４１の内容の一例を示す図である。
【図１６】エントリーリスト４４１の内容の一例を示す図である。
【符号の説明】
【００８１】
１０                    ゲーム端末
１００                  ゲームシステム
１１、４１、５１        プロセッサ
１４                    入力部
１７、４２、５２        通信インターフェイス
４０                    サーバ装置
５０                    管理装置
５４                    書き換え可能メモリ
５Ａ、５Ｂ、５Ｃ、…    端末群
【図１】
2008029363.tif 000003
【図２】
2008029363.tif 000004
【図３】
2008029363.tif 000005
【図４】
2008029363.tif 000006
【図５】
2008029363.tif 000007
【図６】
2008029363.tif 000008
【図７】
2008029363.tif 000009
【図８】
2008029363.tif 000010
【図９】
2008029363.tif 000011
【図１０】
2008029363.tif 000012
【図１１】
2008029363.tif 000013
【図１２】
2008029363.tif 000014
【図１３】
2008029363.tif 000015
【図１４】
2008029363.tif 000016
【図１５】
2008029363.tif 000017
【図１６】
2008029363.tif 000018