ゲームシステム、ゲーム端末およびサーバ装置
【課題】親ノードと子ノードとが通信するゲームシステムにおいて、子数が可変の環境下で、通信路の帯域幅の利用効率を向上させる。
【解決手段】ゲームシステム100、ゲーム端末10およびサーバ装置40を提供する。ゲームシステム100は、親ノードとして選択されているゲーム端末10と子ノードとして選択されているゲーム端末10から構成されるグループ単位でプレイヤーにゲームを行わせる。親ノードは各ノードと通信可能であり、各子ノードは親ノードと通信可能である。親ノードの選択はサーバ装置40により行われ、親ノードは、各ゲーム端末10から通知される帯域幅に基づいて選択される。
【解決手段】ゲームシステム100、ゲーム端末10およびサーバ装置40を提供する。ゲームシステム100は、親ノードとして選択されているゲーム端末10と子ノードとして選択されているゲーム端末10から構成されるグループ単位でプレイヤーにゲームを行わせる。親ノードは各ノードと通信可能であり、各子ノードは親ノードと通信可能である。親ノードの選択はサーバ装置40により行われ、親ノードは、各ゲーム端末10から通知される帯域幅に基づいて選択される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームシステム、ゲーム端末およびサーバ装置に関する。
【背景技術】
【0002】
3人以上のプレイヤーにネットワークを介して同一のゲームを行わせるゲームシステムが普及している。このゲームシステムの一種に、サーバまたはマスターのノードである親ノードとして選択されている1つのゲーム端末とクライアントまたはスレーブのノードである子ノードとして選択されている子数のゲーム端末から構成されるグループ単位でゲームを進行させるゲームシステムがある。子数は上限および下限を有する範囲内でグループ毎に可変である。つまり、子ノードの数はグループ毎に相違し得る。
【0003】
このゲームシステムでは、通常、複数のゲーム端末を含む端末群が店舗毎に設置され、店舗をまたがってグループが結成される。ゲーム端末間の通信は、端末群(店舗)毎に割り当てられた通信路を介して行われる。各通信路は、当該通信路に対応する端末群のゲーム端末に共用される。また、このゲームシステムでは、ゲームが進行している間、通信路の帯域幅の残量が十分であれば、上記の範囲の上限に応じた一定の帯域幅が親ノードのために確保される。
【0004】
一方、子数が固定のゲームシステムにおいて、各通信路の帯域幅が、当該通信路に求められる最大の帯域幅よりも狭い場合であっても通信異常を抑制可能な技術が提案されている(特許文献1参照)。この技術でも、ゲームが進行している間、通信路の帯域幅の残量が十分であれば、一定の帯域幅が親ノードのために確保され続ける。
【特許文献1】特開2005−137812号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、子ノードの数がグループ毎に可変のゲームシステムにおいてゲームの進行中に親ノードが必要とする帯域幅は、子ノードの数、すなわち子数に依存する。したがって、従来の技術では、ゲームが進行している間、親ノードが必要とする帯域幅よりも広い帯域幅が当該親ノードのために確保され続けることがある。つまり、従来の技術では、ゲームの進行中に利用されることのない余分な帯域幅が親ノードのために長期にわたって確保され続けることがある。これは、通信路の帯域幅の利用効率を低下させる一因となる。
【0006】
そこで、本発明は、子数が可変の環境下で通信路の帯域幅の利用効率を向上させることができるゲームシステム、ゲーム端末およびサーバ装置を提供する。
【課題を解決するための手段】
【0007】
以下、本発明について説明する。なお、本発明の理解を容易にするために添付図面の参照符号を括弧書きにて付記するが、それにより本発明が図示の形態に限定されるものではない。
本発明は、親ノードとして選択されている1つのゲーム端末(10)と一定の帯域幅を専用して前記親ノードと通信する子ノードとして選択されている子数のゲーム端末(10)から構成されるグループ単位でプレイヤーに前記ゲームを行わせるゲームシステム(100)であって、前記子数は上限および下限を有する子数範囲内で前記グループ毎に可変であり、それぞれに互いに異なる通信路が割り当てられ、各々に割り当てられた通信路を共用する複数のゲーム端末(10)をそれぞれ含む複数の端末群(5A、5B、5C、…)と、前記複数の端末群(5A、5B、5C、…)の前記複数のゲーム端末(10)から1つのゲーム端末(10)を親ノードとして選択するとともに前記1つのゲーム端末(10)を除く前記子数のゲーム端末(10)の各々を子ノードとして選択することによって前記グループを結成するサーバ装置(40)とを有し、前記複数の端末群(5A、5B、5C、…)の前記複数のゲーム端末(10)の各々は、プレイヤーの指示を入力するための入力部(14)と、前記入力部(14)を用いて所定の指示が入力されると、前記一定の帯域幅以上かつ当該ゲーム端末(10)に用いられる通信路の帯域幅の残量以下の帯域幅を確保する確保部(11)と、前記確保部(11)によって確保された帯域幅を示すとともに前記グループの結成を要求する結成要求を前記サーバ装置(40)へ送信する結成要求送信部(11、17)と、前記グループの構成を示すグループデータを受信するグループデータ受信部(11、17)と、前記グループデータに基づいて前記ゲーム中の通信を制御する制御部(11)と、前記確保部(11)によって確保された帯域幅と前記グループデータに示される構成の前記グループにおいて当該ゲーム端末(10)に必要となる帯域幅との差を、開放すべき帯域幅として特定する開放特定部(11)と、前記開放すべき帯域幅を開放する開放部(11、17)とを有し、前記サーバ装置(40)は、前記結成要求を受信する結成要求受信部(41、42)と、前記結成要求に示される帯域幅を示す確保量データを当該結成要求の送信元のゲーム端末(10)に対応付けて記憶する確保量記憶部(44)と、前記確保量記憶部(44)に記憶されている前記確保量データに基づいて前記グループを結成する結成部(41)と、結成された前記グループを構成するゲーム端末(10)の各々へ当該グループの前記グループデータを送信するグループデータ送信部(41、42)とを有し、前記結成部(41)は、前記グループの結成において、前記確保量記憶部(44)に記憶されている前記確保量データに対応するゲーム端末(10)のうち当該グループの前記子数よりも多いゲーム端末(10)について前記確保量データに示される帯域幅の比較を行い、当該比較の結果に基づいて当該グループを結成する、ことを特徴とするゲームシステム(100)を提供する。上限および下限はそれぞれ自然数であり、上限は下限よりも大きい。下限の最小値は1であり、上限の最小値は2である。
このゲームシステムでは、親ノードまたは子ノードとして選択されるゲーム端末において、当該ゲーム端末のために確保された帯域幅とゲーム中において当該ゲーム端末に必要となる帯域幅との差の帯域幅が開放される。したがって、このゲームシステムによれば、ゲームの進行中に利用されることのない余分な帯域幅が親ノードのために長期にわたって確保され続けることが無く、子数が可変の環境下で通信路の帯域幅の利用効率を向上させることができる。
【0008】
帯域幅の確保および開放の実現方法としては様々なものがある。例えば、各ゲーム端末に当該ゲーム端末に用いられる通信路の帯域幅の残量を記憶させ、あるゲーム端末において残量が更新されたら同一の端末群の他のゲーム端末においても残量を追従させるようにしてもよい。また例えば、前記端末群毎に設けられ、対応する前記端末群の前記複数のゲーム端末(10)とそれぞれ通信可能な複数の管理装置(50)を有し、前記確保部(11)は、当該ゲーム端末(10)を含む前記端末群に対応する前記管理装置(50)に対して帯域幅の割り当てを要求する割り当て要求を送信する割り当て要求部(11、17)と、当該ゲーム端末(10)に割り当てられる帯域幅を示す割り当て量データを受信する割り当て受信部(11、17)とを有し、確保前記割り当て量データに基づいて帯域幅を確保し、前記開放部(11、17)は、前記開放すべき帯域幅を示す開放通知を、当該ゲーム端末(10)を含む端末群に対応する管理装置(50)へ送信する開放通知送信部(11、17)を有し、前記複数の管理装置(50)の各々は、対応する前記端末群に割り当てられた通信路の帯域幅の残量を示す残量データを記憶する残量記憶部(54)と、前記割り当て要求を受信する割り当て要求受信部(51、52)と、前記割り当て要求受信部(51、52)によって前記割り当て要求が受信されると、前記残量データに基づいて、当該割り当て要求の送信元のゲーム端末(10)に割り当てる帯域幅を決定し、当該帯域幅を示す前記割り当て量データを当該割り当て要求の送信元のゲーム端末(10)へ送信し、当該帯域幅の分だけ前記残量が減るように前記残量データを更新する割り当て処理部(51、52、54)と、前記開放通知を受信する開放通知受信部(51、52)と、前記開放通知受信部(51、52)によって前記開放通知が受信されると、当該開放通知に示される帯域幅の分だけ前記残量が増えるように前記残量データを更新する開放処理部(51、52、54)とを有する、ようにしてもよい。この態様は、ゲーム端末が管理装置を兼ねる形態を含む。このような形態としては、例えば、各端末群の複数のゲーム端末のうち所定の1つを当該端末群に対応する管理装置として機能させる形態や、各端末群の複数のゲーム端末のうち任意の1つを管理装置として機能させる形態が挙げられる。後者の場合、各ゲーム端末は、割り当て要求を送信する前に、当該ゲーム端末を含む端末群に対応する管理装置として機能しているゲーム端末を特定することになる。
ゲーム端末が管理装置を兼ねる形態では、管理装置を兼ねているゲーム端末は、ゲーム端末の機能を備える仮想的な存在と、管理装置の機能を備える仮想的な存在を含むことになる。仮想的な存在としてはプロセスを例示することができる。仮想的な存在がプロセスの場合、管理装置を兼ねているゲーム端末と管理装置との間の通信はプロセス間通信となる。
【0009】
上記のゲームシステムにおいて、前記結成部(41)は、前記比較により最大であることが判明した帯域幅を示す確保量データに対応する1つのゲーム端末(10)を親ノードとして選択する、ようにしてもよい。この態様では、子数が多いグループが優先的に結成される。これは、子数が多いほど望ましいゲームに用いて好適な特徴である。また、この態様では、用いる通信路の帯域幅の残量が最多のゲーム端末が親ノードとして選択される。これは、通信路の帯域幅の残量を端末群間で均等とする観点において有益な特徴である。
【0010】
また、前記結成部(41)は、前記比較により最小であることが判明した帯域幅を示す確保量データに対応する1つのゲーム端末(10)を親ノードとして選択する、ようにしてもよい。この態様によれば、子数が少ないグループが優先的に結成される。これは、子数が少ないほど望ましいゲームに用いて好適な特徴である。また、この態様では、用いる通信路の帯域幅の残量が最少のゲーム端末が親ノードとして選択される。これは、帯域幅が余さず利用される通信路の数を多くする観点において有益な特徴である。
【0011】
上記のゲームシステムでは、ゲーム端末において、当該ゲーム端末に用いられる通信路の帯域幅の残量と同量の帯域幅を確保し、余分な帯域幅をグループの結成後に開放するようにしてもよいが、帯域幅の有効利用の観点では、余分となることが確実な帯域幅を最初から確保しないようにしたり、確保した帯域幅のうち余分となることが確実な帯域幅を迅速に開放するようにしたりする方が好ましい。
例えば、前記確保部(11)は、当該ゲーム端末(10)に用いられる通信路の帯域幅の残量が前記上限に対応する帯域幅より広い場合には前記上限に対応する帯域幅を確保する、ようにしてもよい。この態様では、子数範囲の上限に対応する帯域幅を超えた分の帯域幅(余分となることが確実な帯域幅)が最初から確保されない。また例えば、前記下限は2以上であり、前記確保部(11)は、当該ゲーム端末(10)に用いられる通信路の帯域幅の残量が前記下限に対応する帯域幅より狭い場合には、前記一定の帯域幅を確保する、ようにしてもよい。この態様では、一定の帯域幅を超えて子数範囲の下限に満たない分の帯域幅(余分となることが確実な帯域幅)が最初から確保されない。これらの態様には、帯域幅の有効利用の観点での利点のみならず、余分となることが確実な帯域幅を開放するための通信を削減可能という利点もある。
したがって、この態様には、帯域幅の有効利用の観点での利点のみならず、余分となることが確実な帯域幅を開放するための通信を削減することができるという利点もある。
【0012】
また例えば、前記サーバ装置(40)は、前記結成要求が受信されると、当該結成要求に示される帯域幅が前記上限に対応する帯域幅より広いか否かを判定し、この判定の結果が肯定的であれば、両者の差の帯域幅を示す上限返還データを当該結成要求の送信元のゲーム端末(10)へ送信するとともに当該ゲーム端末(10)に対応付けて前記確保量記憶部(44)が記憶する前記確保量データを前記上限に対応する帯域幅を示すものとする上限返還部(41、42)を有し、前記複数の端末群(5A、5B、5C、…)の前記複数のゲーム端末(10)の各々は、前記上限返還データを受信する上限返還受信部(11、17)と、前記上限返還データが受信されると、当該上限返還データに示される帯域幅を前記開放すべき帯域幅として特定する上限受信開放特定部(11)とを有し、前記開放部(11、17)は、前記開放すべき帯域幅が特定されると、当該開放すべき帯域幅を開放する、ようにしてもよい。この態様では、グループの結成前に、子数範囲の上限に対応する帯域幅を超えた分の帯域幅(余分となることが確実な帯域幅)が開放される。また例えば、前記サーバ装置(40)は、前記結成要求が受信されると、当該結成要求に示される帯域幅が前記下限に対応する帯域幅より狭く前記一定の帯域幅より広いか否かを判定し、この判定の結果が肯定的であれば、当該結成要求に示される帯域幅と前記一定の帯域幅との差の帯域幅を示す下限返還データを当該結成要求の送信元のゲーム端末(10)へ送信するとともに当該ゲーム端末(10)に対応付けて前記確保量記憶部(44)に記憶される前記確保量データを前記一定の帯域幅を示すものとする下限返還部(41、42)を有し、前記複数の端末群(5A、5B、5C、…)の前記複数のゲーム端末(10)の各々は、前記下限返還データを受信する下限返還受信部(11、17)と、前記下限返還データが受信されると、当該下限返還データに示される帯域幅を前記開放すべき帯域幅として特定する下限受信開放特定部(11)とを有し、前記開放部(11、17)は、前記開放すべき帯域幅が特定されると、当該開放すべき帯域幅を開放する、ようにしてもよい。この態様では、グループの結成前に、一定の帯域幅を超えて子数範囲の下限に満たない分の帯域幅(余分となることが確実な帯域幅)が開放される。これらの態様は、帯域幅の有効利用の観点において有利である。
【0013】
また例えば、管理装置を有する態様において、前記確保部(11)は、前記割り当て量データが受信されると、当該割り当て量データに示される帯域幅が前記上限に対応する帯域幅より広いか否かを判定し、この判定の結果が肯定的であれば、両者の差の帯域幅を前記開放すべき帯域幅として特定するとともに前記上限に対応する帯域幅を確保する、ようにしてもよい。この態様では、ゲーム端末からサーバ装置へ結成要求が送信される前に、子数範囲の上限に対応する帯域幅を超えた分の帯域幅(余分となることが確実な帯域幅)が開放される。また例えば、管理装置を有する態様において、前記確保部(11)は、前記割り当て量データが受信されると、当該割り当て量データに示される帯域幅が前記下限に対応する帯域幅より狭く前記一定の帯域幅より広いかを判定し、この判定の結果が肯定的であれば、当該割り当て量データに示される帯域幅と前記一定の帯域幅との差の帯域幅を前記開放すべき帯域幅として特定するとともに前記一定の帯域幅を確保する、ようにしてもよい。この態様では、ゲーム端末からサーバ装置へ結成要求が送信される前に、一定の帯域幅を超えて子数範囲の下限に満たない分の帯域幅(余分となることが確実な帯域幅)が開放される。これらの態様には、帯域幅の有効利用の観点での利点のみならず、余分となることが確実な帯域幅を開放するための通信を低減可能という利点もある。
上記のゲームシステムにおいて、子数には子数範囲以外の制限を加えないようにしてもよいが、プレイヤーの意欲を削がないようにする観点では、結成要求の受信状況に応じた制限を加えるようにしてもよい。例えば、前記結成部(41)は、前記グループを構成していないゲーム端末(10)に対応付けて前記確保量記憶部(44)に記憶されている前記確保量データの前記確保量記憶部(44)による記憶の契機となった前記結成要求の受信のうち最先の受信から一定の時間が経過していない場合には前記子数を前記上限に制限し、経過している場合には前記子数を前記子数範囲内で任意とする、ようにしてもよい。この態様では、プレイヤーの意欲が削がれる可能性が低い期間においては最大でない子数のクループの結成が認められず、プレイヤーの意欲が削がれる可能性が高い期間においては最大でない子数のクループの結成が認められる。
【0014】
また、本発明は、親ノードとして選択されている1つのゲーム端末(10)と一定の帯域幅を専用して前記親ノードと通信する子ノードとして選択されている子数のゲーム端末(10)から構成されるグループ単位でプレイヤーに前記ゲームを行わせ、前記子数は上限および下限を有する子数範囲内で前記グループ毎に可変であり、前記上限は2以上であり、それぞれに互いに異なる通信路が割り当てられ、各々に割り当てられた通信路を共用する複数のゲーム端末(10)をそれぞれ含む複数の端末群(5A、5B、5C、…)と、前記複数の端末群(5A、5B、5C、…)の前記複数のゲーム端末(10)から1つのゲーム端末(10)を親ノードとして選択するとともに前記1つのゲーム端末(10)を除く前記子数のゲーム端末(10)の各々を子ノードとして選択することによって前記グループを結成するサーバ装置(40)とを有するゲームシステム(100)のゲーム端末(10)であって、プレイヤーの指示を入力するための入力部(14)と、前記入力部(14)を用いて所定の指示が入力されると、前記一定の帯域幅以上かつ自己に用いられる通信路の帯域幅の残量以下の帯域幅を確保する確保部(11)と、前記確保部(11)によって確保された帯域幅を示すとともに前記グループの結成を要求する結成要求を前記サーバ装置(40)へ送信する結成要求送信部(11、17)と、前記グループの構成を示すグループデータを受信するグループデータ受信部(11、17)と、前記グループデータに基づいて前記ゲーム中の通信を制御する制御部(11)と、前記確保部(11)によって確保された帯域幅と前記グループデータに示される構成の前記グループにおいて自己に必要となる帯域幅との差を、開放すべき帯域幅として特定する開放特定部(11)と、前記開放すべき帯域幅を開放する開放部(11、17)とを有し、前記サーバ装置(40)は、前記結成要求を受信する結成要求受信部(41、42)と、前記結成要求に示される帯域幅を示す確保量データを当該結成要求の送信元のゲーム端末(10)に対応付けて記憶する確保量記憶部(44)と、前記確保量記憶部(44)に記憶されている前記確保量データに基づいて前記グループを結成する結成部(41)と、結成された前記グループを構成するゲーム端末(10)の各々へ当該グループの前記グループデータを送信するグループデータ送信部(41、42)とを有し、前記結成部(41)は、前記グループの結成において、前記確保量記憶部(44)に記憶されている前記確保量データに対応するゲーム端末(10)のうち当該グループの前記子数よりも多いゲーム端末(10)について前記確保量データに示される帯域幅の比較を行い、当該比較の結果に基づいて当該グループを結成する、ことを特徴とするゲーム端末(10)を提供する。
このゲーム端末によれば、前述のゲームシステムを構築可能である。よって、このゲーム端末によれば、子数が可変の環境下で通信路の帯域幅の利用効率を向上させることができる。
【0015】
また、本発明は、親ノードとして選択されている1つのゲーム端末(10)と一定の帯域幅を専用して前記親ノードと通信する子ノードとして選択されている子数のゲーム端末(10)から構成されるグループ単位でプレイヤーに前記ゲームを行わせ、前記子数は上限および下限を有する子数範囲内で前記グループ毎に可変であり、前記上限は2以上であり、それぞれに互いに異なる通信路が割り当てられ、各々に割り当てられた通信路を共用する複数のゲーム端末(10)をそれぞれ含む複数の端末群(5A、5B、5C、…)と、前記複数の端末群(5A、5B、5C、…)の前記複数のゲーム端末(10)から1つのゲーム端末(10)を親ノードとして選択するとともに前記1つのゲーム端末(10)を除く前記子数のゲーム端末(10)の各々を子ノードとして選択することによって前記グループを結成するサーバ装置(40)とを有し、前記複数の端末群(5A、5B、5C、…)の前記複数のゲーム端末(10)の各々は、プレイヤーの指示を入力するための入力部(14)と、前記入力部(14)を用いて所定の指示が入力されると、前記一定の帯域幅以上かつ当該ゲーム端末(10)に用いられる通信路の帯域幅の残量以下の帯域幅を確保する確保部(11)と、前記確保部(11)によって確保された帯域幅を示すとともに前記グループの結成を要求する結成要求を前記サーバ装置(40)へ送信する結成要求送信部(11、17)と、前記グループの構成を示すグループデータを受信するグループデータ受信部(11、17)と、前記グループデータに基づいて前記ゲーム中の通信を制御する制御部(11)と、前記確保部(11)によって確保された帯域幅と前記グループデータに示される構成の前記グループにおいて当該ゲーム端末(10)に必要となる帯域幅との差を、開放すべき帯域幅として特定する開放特定部(11)と、前記開放すべき帯域幅を開放する開放部(11、17)とを有する、ゲームシステム(100)のサーバ装置(40)であって、前記結成要求を受信する結成要求受信部(41、42)と、前記結成要求に示される帯域幅を示す確保量データを当該結成要求の送信元のゲーム端末(10)に対応付けて記憶する確保量記憶部(44)と、前記確保量記憶部(44)に記憶されている前記確保量データに基づいて前記グループを結成する結成部(41)と、結成された前記グループを構成するゲーム端末(10)の各々へ当該グループの前記グループデータを送信するグループデータ送信部(41、42)とを有し、前記結成部(41)は、前記グループの結成において、前記確保量記憶部(44)に記憶されている前記確保量データに対応するゲーム端末(10)のうち当該グループの前記子数よりも多いゲーム端末(10)について前記確保量データに示される帯域幅の比較を行い、当該比較の結果に基づいて当該グループを結成する、ことを特徴とするサーバ装置(40)を提供する。
このサーバ装置によれば、前述のゲームシステムを構築可能である。よって、このサーバ装置によれば、子数が可変の環境下で通信路の帯域幅の利用効率を向上させることができる。
【発明の効果】
【0016】
本発明によれば、子数が可変の環境下で通信路の帯域幅の利用効率を向上させることができる。
【発明を実施するための最良の形態】
【0017】
以下、図面を参照して、本発明の好適な実施の形態について説明する。以下に説明する具体的な構成は一例に過ぎず、本発明は、この具体的な構成を変形して得られる各種の形態をも範囲に含む。
【0018】
<ゲームシステム>
図1は、本発明の実施の形態に係るゲームシステム100の全体構成を示すブロック図である。ゲームシステム100は、規定数の通信ノードから構成されるグループ単位でプレイヤーに所定のゲームを行わせるシステムである。規定数は上限および下限を有する範囲内でグループ毎に可変である。この範囲の上限は8であり、下限は6である。
【0019】
所定のゲームとは、多人数参加型のネットワークゲームであり、その進行には、グループを構成する通信ノード同士の通信が必須である。所定のゲームの趣向性は、規定数が8の場合に最も高く、指定数が6の場合に最も低くなる。したがって、本実施の形態では、規定数が6のグループを結成することよりも規定数が7のグループを結成することを優先し、規定数が7のグループを結成することよりも規定数が8のグループを結成することを優先している。
【0020】
ゲームシステム100の一部は、来訪したプレイヤーに所定のゲームを行わせる店舗(施設)A、B、C、…内に設けられている。具体的には、各店舗に、LAN(Local Area Network)25と、LAN25に接続され、プレイヤーに所定のゲームを行わせる4つのゲーム端末10と、LAN25とインターネット1とを接続するルータ20と、LAN25に接続された管理装置50が設置されている。また、ゲームシステム100は、通信ノードとして規定数のゲーム端末10を選択してグループを結成するサーバ装置(マッチングサーバ装置)40と、サーバ装置40とインターネット1とを接続するルータ30を有する。
【0021】
各店舗において、4つのゲーム端末10は端末群を構成している。例えば、店舗A内には、店舗A内の4つのゲーム端末10を含む端末群5Aが存在する。各端末群は、当該端末群が設けられた店舗内の管理装置50により管轄されている。また、インターネット1と各店舗との間の通信は、当該店舗に対応する通信路を介して行われる。各店舗に対応する通信路は、当該店舗内のルータ20とインターネット1との間の通信路であり、当該店舗内の端末群に割り当てられている。例えば、店舗Aに対応する通信路27Aは、端末群5Aに割り当てられている。各端末群に割り当てられている通信路は、当該端末群に含まれる4つのゲーム端末10に共用される。つまり、各端末群に割り当てられている通信路は、当該端末群に含まれる4つのゲーム端末10の各々に対応しており、当該通信路の帯域幅は、当該端末群を管轄する管理装置50に管理される。各店舗のゲーム端末10は、LAN25を介して当該店舗内の他の装置と通信可能である一方、LAN25、ルータ20、当該店舗に対応する通信路、およびインターネット1を介して、サーバ装置40や他の店舗のゲーム端末10と通信可能である。
【0022】
ここで「グループ」について説明する。グループに含まれる規定数の通信ノードのうち、1つは親ノードであり、残りは当該親ノードのみと通信する子ノードである。サーバ装置40は、実際には、1つのゲーム端末10を親ノードとして選択するとともに子数のゲーム端末10をそれぞれ子ノードとして選択することによってグループを結成する。子数はグループに含まれる子ノードの数であり、規定数から1を減じた数に一致する。このことから明らかなように、子数は、上限および下限を有する子数範囲内でグループ毎に可変である。子数範囲の上限は7であり、下限は5である。ゲーム端末10は、グループの結成を要求する結成要求を送信可能であり、上記の選択の母集団は、結成要求の送信元のゲーム端末10である。
【0023】
所定のゲームの進行中のゲーム端末10間の通信、すなわち親ノードと子ノードとの通信は、通信コネクションを用いて行われる。通信コネクションは、親ノードと子ノードとを、親ノードを含む端末群に対応する通信路と子ノードを含む端末群に対応する通信路とを介して結ぶ仮想的な通信路である。また、通信コネクションの帯域幅は子ノードに依存せずに一定(VC)である。よって、1つの通信コネクションを確立するには、当該通信コネクションに結ばれる2つの通信ノードの各々のために、当該通信ノードに対応する通信路の帯域幅のうち一定の帯域幅を確保する必要がある。各端末群に割り当てられている通信路の帯域幅のゲーム端末10への割り当ては、当該端末群に対応する管理装置50によって管理される。以降の説明では、上記の一定の帯域幅(VC)を、帯域幅の単位とし、1つの通信コネクションの帯域幅を「1VC」と表記する。なお、各通信路の帯域幅は14VCである。
【0024】
ゲーム端末10が送信する結成要求は、当該ゲーム端末10のために確保された帯域幅(以降、「確保量」と称する)を示すものでもあり、当該確保量を示す確保量データを含む。サーバ装置40は、5VC以上の値を示す確保量データを含む結成要求の送信元のゲーム端末10を、親ノードとしてのゲーム端末10の選択の母集団とする。
【0025】
所定のゲームの趣向性は、規定数が8の場合に最も高く、規定数が6の場合に最も低い。したがって、規定数が6のグループを結成することよりも規定数が7のグループを結成することを優先し、規定数が7のグループを結成することよりも規定数が8のグループを結成することを優先すべきである。一方、グループを結成するために長い時間がかかると、所定のゲームを行おうとするプレイヤーが長く待たされ、その意欲が殺がれてしまう。よって、本実施の形態では、結成要求を送信してからの待ち時間が所定の時間に達したゲーム端末10が存在しない期間にあっては、規定数が8のグループのみの結成を目指し、存在する期間にあっては、規定数が8〜6のグループの結成を目指す、ようにしている。
【0026】
[ゲーム端末]
図2は、ゲーム端末10の構成を示すブロック図である。この図に示すように、ゲーム端末10は、プロセッサ11、入力部14、表示部15、通信インターフェイス17、不揮発性メモリ18および書き換え可能メモリ19を有する。プロセッサ11は、例えば、一又は複数のCPU(Central Processing Unit)である。
【0027】
入力部14は、複数の操作子を備え、操作子が操作されると、この操作に応じた操作信号をプロセッサ11に供給する。複数の操作子には、所定のゲームの開始を指示する開始指示(所定の指示)を入力するためのスタート操作子の他に、所定のゲームの内容に応じた操作子が含まれている。例えば、所定のゲームが出題されたクイズに回答するゲームの場合には、クイズに回答するための操作子が所定のゲームの内容に応じた操作子となる。
【0028】
表示部15は、画面151を有し、プロセッサ11から画像データが供給されると、当該画像データが表す画像を画面151に表示する。表示部15としては、モニタやビデオプロジェクタを用いることができる。ビデオプロジェクタを用いる場合には、画像が投射されるスクリーンが画面151に相当する。通信インターフェイス17は、LAN25との間で信号を送受するものであり、プロセッサ11とLAN25との間でデータを中継する。プロセッサ11は、通信インターフェイス17を用いて、他の装置との間でデータを送受信する。
【0029】
不揮発性メモリ18は、例えばROM(Read Only Memory)またはEEPROM(Electronically Erasable and Programmable ROM)であり、プログラム181を記憶している。プログラム181は、プロセッサ11に実行されることによってゲーム端末10に後述の主処理等の各種の処理を行わせる。また、不揮発性メモリ18は、サーバ装置40および管理装置50の通信アドレスを記憶している。
【0030】
書き換え可能メモリ19は、例えばRAM(Random Access Memory)であり、自己のゲーム端末10を含むグループ(以降、「所属グループ」と称する)の構成を示す所属グループデータTと、当該ゲーム端末10のために確保された帯域幅、すなわち当該ゲーム端末10の確保量を示す自己確保量データRとを記憶する。所属グループデータTのデータ構造は任意であり、例えば、グループを構成する規定数のゲーム端末10の各々について、ゲーム端末10の通信アドレスを示すデータと当該ゲーム端末10が親ノードとして選択されているか否かを示すフラグとを対応付けた構造であってもよい。
【0031】
[サーバ装置]
図3は、サーバ装置40の構成を示すブロック図である。この図に示すように、サーバ装置40は、プロセッサ41、通信インターフェイス42、不揮発性メモリ43および書き換え可能メモリ44を備える。プロセッサ41は、例えば、一又は複数のCPUである。通信インターフェイス42は、ルータ30との間で信号を送受するものであり、プロセッサ41とルータ30との間でデータを中継する。プロセッサ41は、通信インターフェイス42を用いて、他の装置との間でデータを送受信する。
【0032】
不揮発性メモリ43は、例えばROMおよびハードディスクであり、プログラム431を記憶している。プログラム431は、プロセッサ41に実行されることによって、サーバ装置40に後述のマッチング処理等の各種の処理を行わせる。書き換え可能メモリ44は、例えばRAMであり、結成要求の送信元のゲーム端末10のうちグループを構成していないゲーム端末10(通信ノードとして選択される候補)毎に確保量を示すエントリーリスト441を記憶する。
【0033】
図4は、エントリーリスト441のデータ構造を模式的に示す図である。この図に示すように、エントリーリスト441は、ゲーム装置10の通信アドレスおよび確保量を示すエントリーデータの並びである。この並びは時系列であり、エントリーリスト441の末尾には、ゲーム装置10から結成要求を受信する度にエントリーデータが追加される。また、グループが結成されると、エントリーリスト441から、当該グループを構成するゲーム端末10に対応するエントリーデータが削除される。
【0034】
[管理装置]
図5は、管理装置50の構成を示すブロック図である。この図に示すように、管理装置50は、プロセッサ51、通信インターフェイス52、不揮発性メモリ53および書き換え可能メモリ54を備える。プロセッサ51は、例えば、一又は複数のCPUである。通信インターフェイス52は、LAN25との間で信号を送受するものであり、プロセッサ51とLAN25との間でデータを中継する。プロセッサ51は、通信インターフェイス52を用いて、他の装置との間でデータを送受信する。
【0035】
不揮発性メモリ53は、例えばROMおよびハードディスクであり、プログラム531を記憶している。プログラム531は、プロセッサ51に実行されることによって、管理装置50に後述の管理処理等の各種の処理を行わせる。書き換え可能メモリ54は、例えばRAMであり、管轄する端末群に割り当てられた通信路の帯域幅の残量を示す残量データ541と、帯域幅が割り当てられていないゲーム端末10の数(以降、「未割り当て端末数」と称する)を示す未割り当て端末数データ542を記憶する。
【0036】
[主処理]
図6は、ゲーム端末10のプロセッサ11が行う主処理のフローチャートである。プロセッサ11は、入力部14からスタート操作子の操作に応じた操作信号が供給されると、主処理を実行する。主処理では、プロセッサ11は、帯域幅の割り当てを要求する割り当て要求を、自己のゲーム端末10を含む端末群(以降、「所属端末群」と称する)を管轄する管理装置50(以降、「管轄管理装置」と称する)へ送信する(SA1)。
【0037】
次にプロセッサ11は、管轄管理装置から、割り当て要求に対する応答として、割り当てられる帯域幅(以降、「割り当て量」と称する)を示す割り当て量データを受信し、当該割り当て量データに示される帯域幅を示すように、自己確保量データRを更新する(SA2)。次にプロセッサ11は、自己確保量データRに示される確保量を示す確保量データを含む結成要求を生成してサーバ装置40へ送信する(SA3)。次にプロセッサ11は、結成されたグループの構成を示すグループデータを受信したか否かを判定する(SA4)。この判定は、判定結果が「YES」となるまで、すなわちグループデータを受信するまで繰り返し行われる。通信ノードが所定のゲームの進行中に必要とする帯域幅は、グループの構成に基づいて特定可能である。したがって、ゲーム端末10において、グループデータは、確保が必要な帯域幅(以降、「必要量」と称する)を示すデータでもあるし、確保が不要な帯域幅(以降、「不要量」と称する)を示すデータでもある。
【0038】
ステップSA4の判定結果が「YES」の場合には、プロセッサ11は、当該グループデータを所属グループデータTとして書き換え可能メモリ19に記憶させ、所属グループデータTと自己確保量データRとに基づいて必要量および不要量を特定する(SA5)。次にプロセッサ11は、特定した不要量が0VCより大であるか否かを判定し(SA6)、この判定結果が「YES」の場合にのみ、当該不要量を開放すべき帯域幅(以降、「開放量」と称する)として特定し、特定した開放量を示す一部開放通知を管轄管理装置へ送信する(SA7)。一部開放通知は、割り当てられた帯域幅の一部を開放することを知らせるデータである。また、ステップSA7では、プロセッサ11は、特定した必要量を示すように、自己確保量データRを更新する。
【0039】
次にプロセッサ11は、所属グループデータTに基づいて、自己のゲーム端末10が親ノードとして選択されているか否かを判定する(SA8)。この判定結果が「NO」の場合、プロセッサ11は、自己のゲーム端末10を子ノードとして動作させる子ノード処理を行い(SA9)、主処理を終える。ステップSA7の判定結果が「YES」の場合、プロセッサ11は、自己のゲーム端末10を親ノードとして動作させる親ノード処理を行う(SA10)。次にプロセッサ11は、親ノード処理を終えて所定のゲームが終了すると、自己確保量データRに示される確保量と同量の開放量を示す全部開放通知を管轄管理装置へ送信し(SA11)、主処理を終える。全部開放通知は、割り当てられた帯域幅の全部を開放することを知らせるデータである。
【0040】
[子ノード処理]
図7は、ゲーム端末10のプロセッサ11が行う子ノード処理のフローチャートである。子ノード処理では、プロセッサ11は、まず、グループデータに基づいて所属グループの構成を把握し、親ノードとして選択されているゲーム端末10との間に帯域幅が1VCの通信コネクションを確立する処理を行う。この処理では、プロセッサ11は、親ノードとして選択されているゲーム端末10へ通信コネクションの確立を要求する確立要求を送信し(SC1)、この確立要求への応答である確立応答を当該ゲーム端末10から受信する(SC2)。
【0041】
次にプロセッサ11は、後述のゲーム処理の開始を指示するゲーム開始通知を受信したか否かを判定する(SC3)。この判定は、判定結果が「YES」となるまで、すなわちゲーム開始通知を受信するまで繰り返し行われる。ステップSC3の判定結果が「YES」となると、プロセッサ11は、所定のゲームを進行させるゲーム処理を行い(SC4)、子ノード処理を終える。
【0042】
ゲーム処理では、プロセッサ11が、入力部14から供給される操作信号および所属グループ内の他のゲーム端末10からのデータに基づいて画像を生成し、表示部15の画面151に表示させる。このことから明らかなように、プロセッサ11は、所属グループ内の他のゲーム端末10と通信する。ただし、ステップSC4のゲーム処理は子ノード用のゲーム処理である。つまり、このゲーム処理において、通信相手となる他のゲーム端末10は、親ノードとして選択されているゲーム端末10であり、通信に用いられる通信コネクションは1つである。
【0043】
[親ノード処理]
図8は、ゲーム端末10のプロセッサ11が行う親ノード処理のフローチャートである。親ノード処理では、プロセッサ11は、まず、所属グループデータTに基づいて所属グループの構成を把握し、子ノードとして選択されているゲーム端末10の各々との間に帯域幅が1VCの通信コネクションを確立する処理を行う。この処理では、プロセッサ11は、まず、子ノードとして選択されているゲーム端末10から確立要求を受信したか否かを判定する(SB1)。この判定は、判定結果が「YES」となるまで、すなわち確立要求を受信するまで繰り返し行われる。ステップSB1の判定結果が「YES」となると、プロセッサ11は、確立要求の送信元のゲーム端末10へ確立応答を送信する(SB2)。次にプロセッサ11は、必要な全ての通信コネクションが確立されたか否かを判定する(SB3)。この判定結果が「NO」の場合、プロセッサ11は処理をステップSB1に移行させる。
【0044】
ステップSB3の判定結果が「YES」となると、プロセッサ11は、子ノードとして選択されているゲーム端末10の各々へゲーム開始通知を送信する(SB4)。次にプロセッサ11は、ゲーム処理を行い(SB5)、親ノード処理を終える。ただし、ステップSB5のゲーム処理は親ノード用のゲーム処理である。つまり、このゲーム処理において、通信相手となる他のゲーム端末10は、子ノードとして選択されているゲーム端末10であり、通信に用いられる通信コネクションの数は子数である。
【0045】
[管理処理]
図9は、管理装置50のプロセッサ51が行う管理処理のフローチャートである。管理処理では、プロセッサ51は、まず、対応する端末群に含まれるゲーム端末10からデータを受信する(SD1)。次にプロセッサ51は、受信したデータが割り当て要求であるか否かを判定する(SD2)。この判定結果が「YES」の場合、プロセッサ51は、残量データ541および未割り当て端末数データ542を参照し、所定のルールに従って、割り当て量を決定する(SD3)。
【0046】
具体的には、割り当て要求の送信元のゲーム端末10に割り当て可能な帯域幅(以降、「割り当て可能量」と称する)が7VC以上の場合には、割り当て量を7VCとし、割り当て可能量が7VC未満かつ5VC以上の場合には、割り当て可能量をそのまま割り当て量とし、割り当て可能量が5VC未満の場合には、割り当て量を1とする。なお、割り当て可能量は、未割り当て端末数から1を減じた数に応じた帯域幅を残量から減じて得られる。例えば、未割り当て端末数が3、残量が14VCの場合、割り当て可能量は14VC−(3−1)VC=12VCとなる。
【0047】
次にプロセッサ51は、決定した割り当て量を示す割り当て量データを、当該割り当て要求の送信元のゲーム端末10へ送信する(SD4)。次にプロセッサ51は、残量が当該割り当て量だけ減るように残量データ541を更新し(SD5)、未割り当て端末数が1だけ減るように未割り当て端末数データ542を更新し(SD6)、処理をステップSD1へ移行させる。
【0048】
一方、ステップSD2の判定結果が「NO」の場合、プロセッサ51は、受信したデータが全部開放通知か否かを判定する(SD7)。この判定結果が「YES」の場合、プロセッサ51は、未割り当て端末数が1だけ増えるように未割り当て端末数データ542を更新する(SD8)。次にプロセッサ51は、残量が当該全部開放通知に示される開放量だけ増えるように残量データ541を更新し(SD9)、処理をステップSD1へ移行させる。
【0049】
ステップSD7の判定結果が「NO」の場合、プロセッサ51は、受信したデータが一部開放通知か否かを判定する(SD10)。この判定結果が「YES」の場合、プロセッサ51は、処理をステップSD9へ移行させる。したがって、この場合には、残量が当該一部開放通知に示される開放量だけ増えるように、残量データ541が更新される。一方、ステップSD19の判定結果が「NO」の場合、プロセッサ51は、処理をステップSD1へ移行させる。
【0050】
[マッチング処理]
図10は、サーバ装置40のプロセッサ41が行うマッチング処理のフローチャートである。マッチング処理では、プロセッサ41は、まず、ゲームシステム100に含まれるゲーム端末10から結成要求を受信する(SE1)。次にプロセッサ41は、エントリー処理を行う(SE2)。すなわち、受信した結成要求の送信元のゲーム装置10の通信アドレスと当該結成要求に含まれている確保量データが示す確保量とを示すエントリーデータを、エントリーリスト441の末尾に追加する。
【0051】
次にプロセッサ41は、エントリーデータの数が8(規定数の最大値)以上であるか否かを判定する(SE3)。この判定結果が「NO」であれば、最先の受信から所定の時間(T)が経過したか否かを判定し(SE4)、この判定結果が「NO」の場合には処理をステップSE1へ移行させる。最先の受信とは、エントリーリスト441に格納されているエントリーデータをエントリーリスト441に追加する契機となった結成要求の受信のうち、最も先(古く)に行われたものをいう。以上より明らかなように、プロセッサ41は、ステップSE3の判定結果またはステップSE4の判定結果が「YES」となるまで、ステップSE1〜SE4の処理を繰り返し行う。
【0052】
ステップSE3の判定結果が「YES」となると、プロセッサ41は、7VC以上の確保量を示すエントリーデータがエントリーリスト441内に存在するか否かを判定する(SE5)。つまり、規定数が8のグループを結成することができるか否かを判定する。この判定結果が「NO」の場合、プロセッサ41は、処理をステップSE4へ移行させる。ステップSE5の判定結果が「YES」の場合、プロセッサ41は、規定数が8のグループの結成処理を行う(SE6)。具体的には、7VC以上の確保量を示す1つのエントリーデータに示される通信アドレスのゲーム端末10を親ノードとして選択し、他の7つのエントリーデータに示される通信アドレスのゲーム端末10をそれぞれ子ノードとして選択する。これらの選択により、規定数が8のグループが結成される。なお、規定数に関わらず、グループを結成する際の通信ノードの選択は、エントリーリスト441内のグループデータで示される確保量をゲーム端末10間で比較した結果に基づいて行われる。
【0053】
次にプロセッサ41は、上記の選択およびエントリーリスト441に基づいて、結成されたグループの構成を示すグループデータを生成する(SE7)。また、ステップSE7では、結成されたグループを構成するゲーム端末10に対応するエントリーデータをエントリーリスト441から削除する。次にプロセッサ41は、生成したグループデータを、結成されたグループを構成する全てのゲーム端末10へ送信し(SE8)、処理をステップSE1へ移行させる。
【0054】
一方、最先の受信から所定の時間(T)が経過してステップSE4の判定結果が「YES」となると、プロセッサ41は、エントリーリスト441に含まれているエントリーデータの数が6(規定数の最小値)以上であるか否かを判定する(SE9)。この判定結果が「NO」の場合、プロセッサ41は処理をステップSE1へ移行させる。ステップSE9の判定結果が「YES」の場合、プロセッサ41は、5VC以上の確保量を示すエントリーデータがエントリーリスト441内に存在するか否かを判定する(SE10)。つまり、規定数が6以上のグループを結成することができるか否かを判定する。この判定結果が「NO」の場合、プロセッサ41は、処理をステップSE1へ移行させる。
【0055】
ステップSE10の判定結果が「YES」の場合、プロセッサ41は、規定数が7または6のグループの結成処理を行う(SE11)。具体的には、6VC以上の確保量を示すエントリーデータがエントリーリスト441内に存在する場合には規定数が7のグループの結成処理を行い、他の場合には規定数が6のグループの結成処理を行う。各結成処理は、子数を除いて、ステップSE6の結成処理と同様である。
【0056】
次にプロセッサ41は、ステップSA10における親ノードおよび子ノードの選択とエントリーリスト441とに基づいて、ステップSA10の結成処理により結成されたグループの構成を示すグループデータを生成する(SE12)。また、ステップSE12では、当該グループを構成するゲーム端末10に対応するエントリーデータをエントリーリスト441から削除する。次にプロセッサ41は、処理をステップSE8へ移行させる。
【0057】
[動作例]
次に、ゲームシステム100の動作例について説明する。ここで説明する動作例は、1番目に店舗Aの1つのゲーム端末10(以降、「ゲーム端末10A」と称する)が店舗Aの管理装置50(以降、「管理装置50A」と称する)と通信した後に結成要求を送信し、2番目に店舗Bの1つのゲーム端末10(以降、「ゲーム端末10B」と称する)が店舗Bの管理装置50(以降、「管理装置50B」と称する)と通信した後に結成要求を送信し、...、8番目に店舗Cの1つのゲーム端末10(以降、「ゲーム端末10C」と称する)が店舗Cの管理装置50(以降、「管理装置50C」と称する)と通信した後に結成要求を送信し、その結果、これらのゲーム端末10を含むグループが結成され、このグループにおいて所定のゲームが進行する、というものである。以下、具体的に説明する。ただし、エントリーリスト441はエントリーデータを1つも含まない状態にあるものとする。
【0058】
図11および図12は、ゲームシステム100の第1の動作例を示すシーケンス図であり、図12に示すシーケンスは図11に示すシーケンスに後続している。図11に示すように、まず、ゲーム端末10Aにおいて入力部14を用いて開始指示が入力される。すると、ゲーム端末10Aのプロセッサ11は、割り当て要求を管理装置50Aへ送信する。ここでは、端末群5Aにおいて、端末群5Aに割り当てられた通信路の帯域幅が割り当てられていないゲーム端末10の数(未割り当て端末数)は4であり、管理装置50Aの書き換え可能メモリ54に記憶されている残量データ541に示される残量は、当該通信路の帯域幅(14VC)に一致しているものとする。したがって、当該割り当て要求を受信した管理装置50Aのプロセッサ51は、割り当て量を7VCとし、7VCの帯域幅を示す割り当て量データをゲーム端末10Aへ送信し、残量が7VCだけ減るように残量データ541を更新し、未割り当て端末数が1だけ減るように未割り当て端末数データ542を更新する。こうして、端末群5Aに割り当てられた通信路の帯域幅の一部(7VC)がゲーム端末10Aに割り当てられる。
【0059】
この割り当て量データを受信したゲーム端末10Aのプロセッサ11は、この割り当て量データに示される帯域幅を示すように、自己確保量データRを更新する。こうして、ゲーム端末10Aが7VCの帯域幅を確保する。次にゲーム端末10Aのプロセッサ11は、自己確保量データRに示される確保量(7VC)を示す確保量データを含む結成要求を生成してサーバ装置40へ送信する。この結成要求を受信したサーバ装置40のプロセッサ41は、この結成要求についてエントリー処理を行う。すなわち、この結成要求の送信元のゲーム装置10Aの通信アドレスと当該結成要求に含まれている確保量データが示す確保量(7VC)とを示すエントリーデータを、エントリーリスト441の末尾に追加する。この結果、エントリーリスト441の内容は図13に示す通りとなる。
【0060】
次に、ゲーム端末10Bにおいて入力部14を用いて開始指示が入力される。すると、ゲーム端末10Bのプロセッサ11は、割り当て要求を管理装置50Bへ送信する。ここでは、ここでは、端末群5Bにおいて、端末群5Bに割り当てられた通信路の帯域幅が割り当てられていないゲーム端末10の数(未割り当て端末数)は1であり、管理装置50Bの書き換え可能メモリ54に記憶されている残量データ541に示される残量は、1VCであるものとする。したがって、当該割り当て要求を受信した管理装置50Bのプロセッサ51は、割り当て量を1VCとし、1VCの帯域幅を示す割り当て量データをゲーム端末10Bへ送信し、残量が1VCだけ減るように残量データ541を更新し、未割り当て端末数が1だけ減るように未割り当て端末数データ542を更新する。こうして、端末群5Bに割り当てられた通信路の帯域幅の一部(1VC)がゲーム端末10Bに割り当てられる。
【0061】
この割り当て量データを受信したゲーム端末10Bのプロセッサ11は、この割り当て量データに示される帯域幅を示すように、自己確保量データRを更新する。こうして、ゲーム端末10Bが1VCの帯域幅を確保する。次にゲーム端末10Bのプロセッサ11は、自己確保量データRに示される確保量(1VC)を示す確保量データを含む結成要求を生成してサーバ装置40へ送信する。この結成要求を受信したサーバ装置40のプロセッサ41は、この結成要求についてエントリー処理を行う。この結果、エントリーリスト441の内容は図14に示す通りとなる。
【0062】
以降、上述したゲーム端末10Bに関する処理と同様の処理が、端末群5Aでも端末群5Bでも端末群5Cでもない端末群のゲーム端末10について繰り返し行われ、エントリーリスト441に5つのエントリーデータが追加される。これらのエントリーデータが示す確保量は、いずれも、1VCである。こうして、エントリーリスト441内のエントリーデータの数は合計で7となる。
【0063】
次に、ゲーム端末10Cにおいて入力部14を用いて開始指示が入力される。すると、ゲーム端末10Cのプロセッサ11は、割り当て要求を管理装置50Cへ送信する。ここでは、ここでは、端末群5Cにおいて、端末群5Cに割り当てられた通信路の帯域幅が割り当てられていないゲーム端末10の数(未割り当て端末数)は3であり、管理装置50Cの書き換え可能メモリ54に記憶されている残量データ541に示される残量は、7VCであるものとする。したがって、当該割り当て要求を受信した管理装置50Cのプロセッサ51は、割り当て量を5VCとし、5VCの帯域幅を示す割り当て量データをゲーム端末10Cへ送信し、残量が5VCだけ減るように残量データ541を更新し、未割り当て端末数が1だけ減るように未割り当て端末数データ542を更新する。こうして、端末群5Cに割り当てられた通信路の帯域幅の一部(5VC)がゲーム端末10Cに割り当てられる。
【0064】
この割り当て量データを受信したゲーム端末10Cのプロセッサ11は、この割り当て量データに示される帯域幅を示すように、自己確保量データRを更新する。こうして、ゲーム端末10Cが5VCの帯域幅を確保する。次にゲーム端末10Cのプロセッサ11は、自己確保量データRに示される確保量(5VC)を示す確保量データを含む結成要求を生成してサーバ装置40へ送信する。ここでは、サーバ装置40のプロセッサ41は、最先の受信から所定の時間(T)が経過する前に、ゲーム端末10Cからの結成要求を受信するものとする。ここでの「最先の受信」は、ゲーム端末10Aからの結成要求の受信を指す。
【0065】
ゲーム端末10Cからの結成要求を受信したサーバ装置40のプロセッサ41は、この結成要求についてエントリー処理を行う。この結果、エントリーリスト441の内容は図15に示す通りとなる。つまり、エントリーリスト441内のエントリーデータの数は合計で8となり、エントリーリスト441内には7VC以上の確保量を示すエントリーデータが存在する。したがって、サーバ装置40のプロセッサ11は、規定数が8のグループの結成処理を行う。具体的には、7VC以上の確保量を示す1つのエントリーデータに示される通信アドレスのゲーム端末10Aを親ノードとして選択し、他の7つのエントリーデータに示される通信アドレスのゲーム端末10(ゲーム端末10Bおよび10Cを含む)をそれぞれ子ノードとして選択する。これらの選択により、規定数が8のグループが結成される。
【0066】
次にサーバ装置40のプロセッサ41は、上記の選択およびエントリーリスト441に基づいて、結成されたグループの構成を示すグループデータを生成し、結成されたグループを構成するゲーム端末10(ゲーム端末10A、10Bおよび10Cを含む)に対応する8つのエントリーデータをエントリーリスト441から削除する。この結果、エントリーリスト441内のエントリーデータの数は0となる。次にサーバ装置40のプロセッサ41は、図12に示すように、当該グループデータを、結成されたグループを構成する8つのゲーム端末10(ゲーム端末10A、10Bおよび10Cを含む)へ送信する。
【0067】
このグループデータを受信したゲーム端末10(ゲーム端末10A、10Bおよび10Cを含む)の各プロセッサ11は、このグループデータを所属グループデータTとして書き換え可能メモリ19に記憶させるとともに、この所属グループデータTと自己確保量データRとに基づいて必要量および不要量を特定する。次に各プロセッサ11は、各所属グループデータTに基づいて、自己のゲーム端末10が親ノードとして選択されているか否かを判定し、この判定結果に応じた処理を行う。具体的には、ゲーム端末10Aのプロセッサ11は親ノード処理を行い、残りの7つのゲーム端末10(ゲーム端末10Aおよび10Bを含む)はそれぞれ子ノード処理を行う。
【0068】
なお、ゲーム端末10Cにおいては、特定した不要量が4VCとなる。したがって、ゲーム端末10Cのプロセッサ11は、子ノード処理を行う前に、この不要量と同量の開放量を示す一部開放通知を管理装置50Cへ送信する。この一部開放通知を受信した管理装置50Cのプロセッサ51は、残量が当該一部開放通知に示される開放量(4VC)だけ増えるように、残量データ541を更新する。この結果、管理装置50Cにおける残量は、7VC−5VC+4VC=6VCとなる。
【0069】
子ノード処理において、ゲーム端末10Aを除いた残りの7つのゲーム端末10の各プロセッサ11は、親ノードとして選択されているゲーム端末10Aへ確立要求を送信する。これらの確立要求は、親ノード処理を行っているゲーム端末10Aのプロセッサ11に受信される。各確立要求を受信したゲーム端末10Aのプロセッサ11は、当該確立要求の送信元のゲーム端末10へ確立応答を送信する。これらの確立応答は、それぞれ、残りの7つのゲーム端末10のプロセッサ11に受信される。こうして、各子ノードと親ノードとの間に帯域幅が1VCの通信コネクションが確立される。
【0070】
そして、7本の通信コネクションが確立されると、ゲーム端末10Aのプロセッサ11は、子ノードとして選択されているゲーム端末10(ゲーム端末10Bおよび10Cを含む)の各々へゲーム開始通知を送信する。以降、ゲーム端末10Aのプロセッサ11は親ノード用のゲーム処理を行い、残りの7つのゲーム端末10(ゲーム端末10Bおよび10Cを含む)の各プロセッサ11は子ノード用のゲーム処理を行う。これにより、ゲーム端末10A、10Bおよび10Cを含むグループにおいて所定のゲームが進行する。所定のゲームの進行中には、親ノードと各子ノードとの間で通信コネクションを用いた通信が行われる。
【0071】
そして、所定のゲームが終了すると、当該グループを構成する8つのゲーム端末10(ゲーム端末10A、10Bおよび10Cを含む)の各プロセッサ11は、確保量と同量の開放量を示す全部開放通知を対応する管理装置50(管轄管理装置)へ送信する。これらの全部開放通知をそれぞれ受信した管理装置50の各々は、未割り当て端末数が1だけ増えるように未割り当て端末数データ542を更新し、残量が当該全部開放通知に示される開放量だけ増えるように残量データ541を更新する。この結果、未割り当て端末数は、管理装置50Aでは4、管理装置50Bでは1、管理装置50Cでは3となり、残量は、管理装置50Aでは14VC、管理装置50Bでは1VC、管理装置50Cでは7VCとなる。
【0072】
図16および図17は、ゲームシステム100の第2の動作例を示すシーケンス図であり、図17に示すシーケンスは図16に示すシーケンスに後続している。この動作例では、第1の動作例と異なり、サーバ装置40のプロセッサ41は、図16に示すように、最先の受信(ゲーム端末10Aからの結成要求の受信)から所定の時間(T)が経過した後に、ゲーム端末10Cからの結成要求を受信する。つまり、第2の動作例では、最先の受信から所定の時間(T)が経過するまでの間にサーバ装置40のプロセッサ41が受信する結成要求の数は、最先の受信を含めて7となる。
【0073】
したがって、サーバ装置40のプロセッサ41は、最先の受信から所定の時間(T)が経過すると、規定数が7のグループの結成処理を行う。具体的には、5VC以上の最大の確保量を示す1つのエントリーデータに示される通信アドレスのゲーム端末10Aを親ノードとして選択し、他の6つのエントリーデータに示される通信アドレスのゲーム端末10(ゲーム端末10Bを含む)をそれぞれ子ノードとして選択する。これらの選択により、規定数が7のグループが結成される。
【0074】
以降の動作は、第1の動作例と同様である。ただし、グループが結成された後にエントリーリスト441に残るエントリーデータの数は1である。また、図17に示すように、同一のグループに含まれないゲーム端末10Cに関する処理は排除される。また、ゲーム端末10Aにおいては、特定した不要量が1VCとなる。したがって、ゲーム端末10Aのプロセッサ11は、親ノード処理を行う前に、この不要量と同量の開放量を示す一部開放通知を管理装置50Aへ送信する。この結果、管理装置50Aにおける残量は、14VC−7VC+1VC=8VCとなり、親ノード用のゲーム処理の後には7VCとなる。
【0075】
<効果>
以上説明したように、本実施の形態では、親ノードまたは子ノードとして選択される各ゲーム端末10が、当該ゲーム端末10を含む端末群に割り当てられた通信路の帯域幅について、当該ゲーム端末10のために確保された帯域幅と所定のゲームの進行中において当該ゲーム端末10に必要となる帯域幅との差の帯域幅が所定のゲームの開始前に開放される。したがって、本実施の形態によれば、ゲームの進行中に利用されることのない余分な帯域幅が長期にわたって確保され続けることが無く、通信路の帯域幅の利用効率を向上させることができる。
【0076】
また、本実施の形態では、確保した帯域幅が多いゲーム端末10が親ノードとして選択される。つまり、対応する通信路の残量が多いゲーム端末10が、子ノードに比較して多くの帯域幅を必要とする親ノードとして選択される。よって、本実施の形態によれば、通信路の帯域幅の残量を端末群間で均等とすることができる。
【0077】
また、本実施の形態では、最大でない規定数の最大のグループの結成が、最先の受信から所定の時間(T)が経過する前には許容されず、経過した後には許容される。これは、すなわち、プレイヤーのゲームを行う意欲が削がれる可能性が低い期間においては最大でない規定数のクループの結成が許容され、この意欲が削がれる可能性が高い期間においては最大でない規定数のクループの結成が許容される、ということを意味する。よって、本実施の形態によれば、所定のゲームの趣向性を高く維持することと、プレイヤーのゲームを行う意欲を削がないようにすることとを両立させることができる。
【0078】
また、本実施の形態では、各ゲーム端末10のために確保される帯域幅は、1VC、5VC、6VCまたは7VCである。つまり、子ノードとして選択された場合に必要とされる帯域幅、または親ノードとして選択された場合に全てが必要とされ得る帯域幅である。以上より明らかなように、本実施の形態によれば、1VCを超えて5VCに満たない分の帯域幅や、7VCを超えた分の帯域幅などの、余分となることが確実な帯域幅を最初から確保せずに済む。これは、帯域幅の有効利用はもちろん、一部開放通知の送受信の回数の削減にもつながる利点である。
【0079】
<変形例>
上述した実施の形態を、以下に述べるように変形してもよい。これらの変形例は、本発明の範囲に含まれる。
例えば、所定の時間(T)による制御を排した形態に変形してもよいし、さらに、規定数がより少ないグループを優先的に結成させる形態に変形してもよい。この形態は、規定数が少ないほど望ましいゲームを行わせる場合に好適であり、帯域幅が余さず利用される通信路の数を多くすることができるという効果を奏する。また例えば、余分となることが確実な帯域幅を確保した上で、サーバ装置40へ結成要求が送信される前に、余分となることが確実な帯域幅を開放する形態に変形してもよい。ここで、これらの変形を組み合わせた形態(変形例1)について、図面を参照して説明する。
【0080】
図18は、変形例1においてゲーム端末10のプロセッサ11が行う主処理の一部を示すフローチャートである。この図に示していない部分は図6と同様である。図19は、変形例1において管理装置50のプロセッサ51が行う管理処理の一部を示すフローチャートである。この図に示していない部分は図9と同様である。
【0081】
図19に示すように、管理装置50のプロセッサ51は、管轄する端末群に含まれるゲーム端末10から割り当て要求を受信すると、所定のルールに従って、割り当て量を決定する(SG1)。具体的には、割り当て要求の送信元のゲーム端末10に割り当て可能な帯域幅をそのまま割り当て量とする。一方、図18に示すように、ゲーム端末10のプロセッサ11は、管轄管理装置から、割り当て要求に対する応答として、割り当て量を示す割り当て量データを受信し、当該割り当て量データに示される帯域幅を示すように、自己確保量データRを更新すると、余分となることが確実な帯域幅が確保されたか否かを判定する(SF1)。具体的には、自己確保量データRに示される帯域幅(確保量)が所定の範囲内にあるか否かを判定する。この判定結果は、確保量が1VCよりも広く5VCより狭い場合や、確保量が7VCより広い場合に「YES」となり、確保量が1VCの場合や、確保量が5VC以上かつ7VC以下の場合に「NO」となる。
【0082】
ステップSF1の判定結果が「YES」の場合、ゲーム端末10のプロセッサ11は、余分となることが確実な帯域幅を開放量として特定し、特定した開放量を示す一部開放通知を管轄管理装置へ送信する(SF2)。余分となることが確実な帯域幅は、確保量が1VCよりも広く5VCより狭い場合には確保量から1VCを減じて得られ、確保量が7VCより広い場合には確保量から7VCを減じて得られる。また、ステップSF2では、プロセッサ11は、確保量が1VCよりも広く5VCより狭い場合には1VCを、確保量が7VCより広い場合には7VCを示すように、自己確保量データRを更新する。次にゲーム端末10のプロセッサ11は、処理をステップSA3へ移行させる。また、ステップSF1の判定結果が「NO」の場合にも、ゲーム端末10のプロセッサ11は、処理をステップSA3へ移行させる。
【0083】
図20は、変形例1においてサーバ装置40のプロセッサ41が行うマッチング処理の一部を示すフローチャートである。この図に示すように、サーバ装置40のプロセッサ41は、結成要求を受信し(SE1)、てエントリー処理を行うと(SE2)、エントリーリスト441に含まれているエントリーデータの数が6(規定数の最小値)以上であるか否かを判定する(SH1)。
【0084】
この判定結果が「NO」の場合、プロセッサ41は処理をステップSE1へ移行させる。ステップSH1の判定結果が「YES」の場合、プロセッサ41は、5VC以上の確保量を示すエントリーデータがエントリーリスト441内に存在するか否かを判定する(SH2)。つまり、規定数が6以上のグループを結成することができるか否かを判定する。この判定結果が「NO」の場合、プロセッサ41は、処理をステップSE1へ移行させる。
【0085】
ステップSH2の判定結果が「YES」の場合、プロセッサ41は、規定数が6、7または8のグループの結成処理を行う(SH3)。具体的には、5VCの確保量を示すエントリーデータがエントリーリスト441内に存在する場合には規定数が6のグループの結成処理を行い、その他の場合には規定数が7または8のグループの結成処理を行う。具体的には、6VCの確保量を示すエントリーデータがエントリーリスト441内に存在する場合には規定数が7のグループの結成処理を行い、その他の場合には規定数が8のグループの結成処理を行う。各結成処理は、子数を除いて、図10のステップSE6の結成処理と同様である。
【0086】
次にプロセッサ41は、ステップSH3の結成処理により結成されたグループの構成を示すグループデータを生成するとともに、当該グループを構成するゲーム端末10に対応するエントリーデータをエントリーリスト441から削除する(SE12)。以降の処理は図10と同様である。
【0087】
なお、変形例1をさらに変形し、規定数がより多いグループを優先的に結成させる形態としてもよいし、余分となることが確実な帯域幅をサーバ装置40へ結成要求が送信された後かつグループの結成前に開放する形態(変形例2)としてもよい。ここで、変形例2について、図面を参照して説明する。
【0088】
図21は、変形例2においてゲーム端末10のプロセッサ11が行う主処理の一部を示すフローチャートである。この図に示していない部分は図6と同様である。図22は、変形例2においてサーバ装置40のプロセッサ41が行うマッチング処理の一部を示すフローチャートである。この図に示していない部分は図20と同様である。変形例2において管理装置50のプロセッサ51が行う管理処理は、図19に示す通りである。
【0089】
変形例1について述べたように、管理装置50のプロセッサ51は、管轄する端末群に含まれるゲーム端末10から割り当て要求を受信すると、この割り当て要求の送信元のゲーム端末10に割り当て可能な帯域幅をそのまま割り当て量とする。図19および図21から明らかなように、この割り当て量は、そのまま確保量となり、この確保量を示す結成要求がゲーム端末10からサーバ装置40へ送信される(SA3)。
【0090】
サーバ装置40のプロセッサ41は、結成要求を受信し、エントリー処理を行うと(SE2)、余分となることが確実な帯域幅が確保されたか否かを判定する(SK1)。具体的には、この結成要求に基づくエントリーデータに示される帯域幅(確保量)が所定の範囲内にあるか否かを判定する。この判定結果は、確保量が1VCよりも広く5VCより狭い場合や、確保量が7VCより広い場合に「YES」となり、確保量が1VCの場合や、確保量が5VC以上かつ7VC以下の場合に「NO」となる。
【0091】
ステップSK1の判定結果が「YES」の場合、プロセッサ41は、余分となることが確実な帯域幅を示す返還データを当該結成要求の送信元のゲーム端末10へ送信するとともに、当該エントリーデータに示される帯域幅が1VCよりも広く5VCより狭い場合には1VCを、当該帯域幅が7VCより広い場合には7VCを示すように、エントリーリスト441を更新する(SK2)。次にプロセッサ41は、処理をステップSH1へ移行させる。ステップSK1の判定結果が「NO」の場合にも、プロセッサ41は、処理をステップSH1へ移行させる。
【0092】
ゲーム端末10のプロセッサ11は、結成要求を送信してから結成通知を受信するまでの間、この期間において最初に返還データを受信したか否かを判定する(SJ1)。この判定結果は、返還データを受信した直後のみに「YES」となる。ステップSJ1の判定結果が「YES」の場合、プロセッサ11は、受信した返還データに示される帯域幅を開放量として特定し、特定した開放量を示す一部開放通知を管轄管理装置へ送信する(SJ2)。これにより、管轄管理装置では、当該開放量の分だけ残量が増える。また、ステップSJ2では、プロセッサ11は、当該開放量の分だけ確保量が減るように、自己確保量データRを更新する。次にゲーム端末10のプロセッサ11は、処理をステップSA4へ移行させる。また、ステップSJ1の判定結果が「NO」の場合にも、プロセッサ11は、処理をステップSA4へ移行させる。
【0093】
なお、前述の実施の形態では、ゲーム端末10と管理装置50とを別体としたが、これを変形し、ゲーム端末10が管理装置50を兼ねる形態としてもよい。このような形態としては、例えば、各端末群のゲーム端末10のうち所定の1つを当該端末群に対応する管理装置50として機能させる形態が挙げられる。具体的には、各ゲーム端末10の不揮発性メモリ18に、当該ゲーム端末10を含む端末群に対応する管理装置50として機能しているゲーム端末10の通信アドレスを記憶させておき、各ゲーム端末10が当該通信アドレスのゲーム端末10へ割り当て要求を送信するようにする。
【0094】
ゲーム端末10が管理装置50を兼ねる他の形態としては、例えば、各端末群のゲーム端末のうち任意の1つを管理装置として機能させる形態が挙げられる。具体的には、各ゲーム端末10は、割り当て要求を送信する前に、当該ゲーム端末10を含む端末群の全てのゲーム端末10に問い合わせることにより、当該端末群に対応する管理装置50として機能しているゲーム端末10を特定し、特定したゲーム端末10へ割り当て要求を送信する。
【0095】
なお、ゲーム端末10が管理装置50を兼ねる形態を実現する手法としては、例えば、管理装置50を兼ねているゲーム端末10において、ゲーム端末10の機能を備えるプロセスと、管理装置50の機能を備えるプロセスと並列に実行させることが挙げられる。この手法により実現された形態では、管理装置50を兼ねているゲーム端末10と当該管理装置50との通信は、いわゆるプロセス間通信となる。
【0096】
また、管理装置50を設けない形態に変形してもよい。この形態における帯域幅の管理の方法としては様々なものがある。例えば、各ゲーム端末10の書き換え可能メモリ19に、対応する通信路の帯域幅の残量を示すデータを記憶させ、あるゲーム端末において残量が更新されたら同一の端末群の他のゲーム端末においても残量を追従させるようにしてもよい。この追従は、例えば、ゲーム端末10同士の通信により実現可能である。
【0097】
また、管理装置50において、未割り当て端末数を考慮せずに割り当て量を決定するようにしてもよい。ただし、この形態では、子数範囲と端末群に含まれるゲーム端末10の数と通信路の帯域幅との関係を適切に定めておくべきである。このように定めておくことにより、ゲーム端末10が1VC未満の帯域幅しか確保することができない事態を回避することができる。
【0098】
また、規定数が7のグループを優先的に結成するようにしてもよい。また、グループに含まれる通信ノードの数を4つ以上としてもよい。また、端末群に含まれるゲーム端末の数を、1以上3以下としてもよいし、5以上としてもよいし、端末群毎に相違するようにしてもよい。また、通信路の帯域幅を14VC以外の帯域幅としてもよいし、端末群毎に相違するようにしてもよい。また、ゲーム端末10へ送信されるグループデータに、余分となることが確実な帯域幅を示すデータを含め、このデータに基づいて、当該帯域幅が開放されるようにしてもよい。
更に、サーバ装置は、マッチング処理結果により所定期間内に所定端末の下限数を結成できなくとも1人以上でプレーするよう要求するようにしてもよい。
【図面の簡単な説明】
【0099】
【図1】本発明の実施の形態に係るゲームシステム100の全体構成を示すブロック図である。
【図2】ゲームシステム100内のゲーム端末10の構成を示すブロック図である。
【図3】ゲームシステム100内のサーバ装置40の構成を示すブロック図である。
【図4】サーバ装置40内のエントリーリスト441のデータ構造を模式的に示す図である。
【図5】ゲームシステム100内の管理装置50の構成を示すブロック図である。
【図6】ゲーム端末10のプロセッサ11が行う主処理のフローチャートである。
【図7】プロセッサ11が行う子ノード処理のフローチャートである。
【図8】プロセッサ11が行う親ノード処理のフローチャートである。
【図9】管理装置50のプロセッサ51が行う管理処理のフローチャートである。
【図10】サーバ装置40のプロセッサ41が行うマッチング処理のフローチャートである。
【図11】ゲームシステム100の第1の動作例を示すシーケンス図である。
【図12】ゲームシステム100の第1の動作例を示すシーケンス図である。
【図13】エントリーリスト441の内容の一例を示す図である。
【図14】エントリーリスト441の内容の一例を示す図である。
【図15】エントリーリスト441の内容の一例を示す図である。
【図16】ゲームシステム100の第2の動作例を示すシーケンス図である。
【図17】ゲームシステム100の第2の動作例を示すシーケンス図である。
【図18】本発明の実施の形態の変形例1においてプロセッサ11が行う主処理の一部を示すフローチャートである。
【図19】変形例1においてプロセッサ51が行う管理処理の一部を示すフローチャートである。
【図20】変形例1においてプロセッサ41が行うマッチング処理の一部を示すフローチャートである。
【図21】変形例2においてプロセッサ11が行う主処理の一部を示すフローチャートである。
【図22】変形例2においてプロセッサ41が行うマッチング処理の一部を示すフローチャートである。
【符号の説明】
【0100】
10 ゲーム端末
100 ゲームシステム
11、41、51 プロセッサ
14 入力部
17、42、52 通信インターフェイス
40 サーバ装置
50 管理装置
54 書き換え可能メモリ
5A、5B、5C、… 端末群
【技術分野】
【0001】
本発明は、ゲームシステム、ゲーム端末およびサーバ装置に関する。
【背景技術】
【0002】
3人以上のプレイヤーにネットワークを介して同一のゲームを行わせるゲームシステムが普及している。このゲームシステムの一種に、サーバまたはマスターのノードである親ノードとして選択されている1つのゲーム端末とクライアントまたはスレーブのノードである子ノードとして選択されている子数のゲーム端末から構成されるグループ単位でゲームを進行させるゲームシステムがある。子数は上限および下限を有する範囲内でグループ毎に可変である。つまり、子ノードの数はグループ毎に相違し得る。
【0003】
このゲームシステムでは、通常、複数のゲーム端末を含む端末群が店舗毎に設置され、店舗をまたがってグループが結成される。ゲーム端末間の通信は、端末群(店舗)毎に割り当てられた通信路を介して行われる。各通信路は、当該通信路に対応する端末群のゲーム端末に共用される。また、このゲームシステムでは、ゲームが進行している間、通信路の帯域幅の残量が十分であれば、上記の範囲の上限に応じた一定の帯域幅が親ノードのために確保される。
【0004】
一方、子数が固定のゲームシステムにおいて、各通信路の帯域幅が、当該通信路に求められる最大の帯域幅よりも狭い場合であっても通信異常を抑制可能な技術が提案されている(特許文献1参照)。この技術でも、ゲームが進行している間、通信路の帯域幅の残量が十分であれば、一定の帯域幅が親ノードのために確保され続ける。
【特許文献1】特開2005−137812号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、子ノードの数がグループ毎に可変のゲームシステムにおいてゲームの進行中に親ノードが必要とする帯域幅は、子ノードの数、すなわち子数に依存する。したがって、従来の技術では、ゲームが進行している間、親ノードが必要とする帯域幅よりも広い帯域幅が当該親ノードのために確保され続けることがある。つまり、従来の技術では、ゲームの進行中に利用されることのない余分な帯域幅が親ノードのために長期にわたって確保され続けることがある。これは、通信路の帯域幅の利用効率を低下させる一因となる。
【0006】
そこで、本発明は、子数が可変の環境下で通信路の帯域幅の利用効率を向上させることができるゲームシステム、ゲーム端末およびサーバ装置を提供する。
【課題を解決するための手段】
【0007】
以下、本発明について説明する。なお、本発明の理解を容易にするために添付図面の参照符号を括弧書きにて付記するが、それにより本発明が図示の形態に限定されるものではない。
本発明は、親ノードとして選択されている1つのゲーム端末(10)と一定の帯域幅を専用して前記親ノードと通信する子ノードとして選択されている子数のゲーム端末(10)から構成されるグループ単位でプレイヤーに前記ゲームを行わせるゲームシステム(100)であって、前記子数は上限および下限を有する子数範囲内で前記グループ毎に可変であり、それぞれに互いに異なる通信路が割り当てられ、各々に割り当てられた通信路を共用する複数のゲーム端末(10)をそれぞれ含む複数の端末群(5A、5B、5C、…)と、前記複数の端末群(5A、5B、5C、…)の前記複数のゲーム端末(10)から1つのゲーム端末(10)を親ノードとして選択するとともに前記1つのゲーム端末(10)を除く前記子数のゲーム端末(10)の各々を子ノードとして選択することによって前記グループを結成するサーバ装置(40)とを有し、前記複数の端末群(5A、5B、5C、…)の前記複数のゲーム端末(10)の各々は、プレイヤーの指示を入力するための入力部(14)と、前記入力部(14)を用いて所定の指示が入力されると、前記一定の帯域幅以上かつ当該ゲーム端末(10)に用いられる通信路の帯域幅の残量以下の帯域幅を確保する確保部(11)と、前記確保部(11)によって確保された帯域幅を示すとともに前記グループの結成を要求する結成要求を前記サーバ装置(40)へ送信する結成要求送信部(11、17)と、前記グループの構成を示すグループデータを受信するグループデータ受信部(11、17)と、前記グループデータに基づいて前記ゲーム中の通信を制御する制御部(11)と、前記確保部(11)によって確保された帯域幅と前記グループデータに示される構成の前記グループにおいて当該ゲーム端末(10)に必要となる帯域幅との差を、開放すべき帯域幅として特定する開放特定部(11)と、前記開放すべき帯域幅を開放する開放部(11、17)とを有し、前記サーバ装置(40)は、前記結成要求を受信する結成要求受信部(41、42)と、前記結成要求に示される帯域幅を示す確保量データを当該結成要求の送信元のゲーム端末(10)に対応付けて記憶する確保量記憶部(44)と、前記確保量記憶部(44)に記憶されている前記確保量データに基づいて前記グループを結成する結成部(41)と、結成された前記グループを構成するゲーム端末(10)の各々へ当該グループの前記グループデータを送信するグループデータ送信部(41、42)とを有し、前記結成部(41)は、前記グループの結成において、前記確保量記憶部(44)に記憶されている前記確保量データに対応するゲーム端末(10)のうち当該グループの前記子数よりも多いゲーム端末(10)について前記確保量データに示される帯域幅の比較を行い、当該比較の結果に基づいて当該グループを結成する、ことを特徴とするゲームシステム(100)を提供する。上限および下限はそれぞれ自然数であり、上限は下限よりも大きい。下限の最小値は1であり、上限の最小値は2である。
このゲームシステムでは、親ノードまたは子ノードとして選択されるゲーム端末において、当該ゲーム端末のために確保された帯域幅とゲーム中において当該ゲーム端末に必要となる帯域幅との差の帯域幅が開放される。したがって、このゲームシステムによれば、ゲームの進行中に利用されることのない余分な帯域幅が親ノードのために長期にわたって確保され続けることが無く、子数が可変の環境下で通信路の帯域幅の利用効率を向上させることができる。
【0008】
帯域幅の確保および開放の実現方法としては様々なものがある。例えば、各ゲーム端末に当該ゲーム端末に用いられる通信路の帯域幅の残量を記憶させ、あるゲーム端末において残量が更新されたら同一の端末群の他のゲーム端末においても残量を追従させるようにしてもよい。また例えば、前記端末群毎に設けられ、対応する前記端末群の前記複数のゲーム端末(10)とそれぞれ通信可能な複数の管理装置(50)を有し、前記確保部(11)は、当該ゲーム端末(10)を含む前記端末群に対応する前記管理装置(50)に対して帯域幅の割り当てを要求する割り当て要求を送信する割り当て要求部(11、17)と、当該ゲーム端末(10)に割り当てられる帯域幅を示す割り当て量データを受信する割り当て受信部(11、17)とを有し、確保前記割り当て量データに基づいて帯域幅を確保し、前記開放部(11、17)は、前記開放すべき帯域幅を示す開放通知を、当該ゲーム端末(10)を含む端末群に対応する管理装置(50)へ送信する開放通知送信部(11、17)を有し、前記複数の管理装置(50)の各々は、対応する前記端末群に割り当てられた通信路の帯域幅の残量を示す残量データを記憶する残量記憶部(54)と、前記割り当て要求を受信する割り当て要求受信部(51、52)と、前記割り当て要求受信部(51、52)によって前記割り当て要求が受信されると、前記残量データに基づいて、当該割り当て要求の送信元のゲーム端末(10)に割り当てる帯域幅を決定し、当該帯域幅を示す前記割り当て量データを当該割り当て要求の送信元のゲーム端末(10)へ送信し、当該帯域幅の分だけ前記残量が減るように前記残量データを更新する割り当て処理部(51、52、54)と、前記開放通知を受信する開放通知受信部(51、52)と、前記開放通知受信部(51、52)によって前記開放通知が受信されると、当該開放通知に示される帯域幅の分だけ前記残量が増えるように前記残量データを更新する開放処理部(51、52、54)とを有する、ようにしてもよい。この態様は、ゲーム端末が管理装置を兼ねる形態を含む。このような形態としては、例えば、各端末群の複数のゲーム端末のうち所定の1つを当該端末群に対応する管理装置として機能させる形態や、各端末群の複数のゲーム端末のうち任意の1つを管理装置として機能させる形態が挙げられる。後者の場合、各ゲーム端末は、割り当て要求を送信する前に、当該ゲーム端末を含む端末群に対応する管理装置として機能しているゲーム端末を特定することになる。
ゲーム端末が管理装置を兼ねる形態では、管理装置を兼ねているゲーム端末は、ゲーム端末の機能を備える仮想的な存在と、管理装置の機能を備える仮想的な存在を含むことになる。仮想的な存在としてはプロセスを例示することができる。仮想的な存在がプロセスの場合、管理装置を兼ねているゲーム端末と管理装置との間の通信はプロセス間通信となる。
【0009】
上記のゲームシステムにおいて、前記結成部(41)は、前記比較により最大であることが判明した帯域幅を示す確保量データに対応する1つのゲーム端末(10)を親ノードとして選択する、ようにしてもよい。この態様では、子数が多いグループが優先的に結成される。これは、子数が多いほど望ましいゲームに用いて好適な特徴である。また、この態様では、用いる通信路の帯域幅の残量が最多のゲーム端末が親ノードとして選択される。これは、通信路の帯域幅の残量を端末群間で均等とする観点において有益な特徴である。
【0010】
また、前記結成部(41)は、前記比較により最小であることが判明した帯域幅を示す確保量データに対応する1つのゲーム端末(10)を親ノードとして選択する、ようにしてもよい。この態様によれば、子数が少ないグループが優先的に結成される。これは、子数が少ないほど望ましいゲームに用いて好適な特徴である。また、この態様では、用いる通信路の帯域幅の残量が最少のゲーム端末が親ノードとして選択される。これは、帯域幅が余さず利用される通信路の数を多くする観点において有益な特徴である。
【0011】
上記のゲームシステムでは、ゲーム端末において、当該ゲーム端末に用いられる通信路の帯域幅の残量と同量の帯域幅を確保し、余分な帯域幅をグループの結成後に開放するようにしてもよいが、帯域幅の有効利用の観点では、余分となることが確実な帯域幅を最初から確保しないようにしたり、確保した帯域幅のうち余分となることが確実な帯域幅を迅速に開放するようにしたりする方が好ましい。
例えば、前記確保部(11)は、当該ゲーム端末(10)に用いられる通信路の帯域幅の残量が前記上限に対応する帯域幅より広い場合には前記上限に対応する帯域幅を確保する、ようにしてもよい。この態様では、子数範囲の上限に対応する帯域幅を超えた分の帯域幅(余分となることが確実な帯域幅)が最初から確保されない。また例えば、前記下限は2以上であり、前記確保部(11)は、当該ゲーム端末(10)に用いられる通信路の帯域幅の残量が前記下限に対応する帯域幅より狭い場合には、前記一定の帯域幅を確保する、ようにしてもよい。この態様では、一定の帯域幅を超えて子数範囲の下限に満たない分の帯域幅(余分となることが確実な帯域幅)が最初から確保されない。これらの態様には、帯域幅の有効利用の観点での利点のみならず、余分となることが確実な帯域幅を開放するための通信を削減可能という利点もある。
したがって、この態様には、帯域幅の有効利用の観点での利点のみならず、余分となることが確実な帯域幅を開放するための通信を削減することができるという利点もある。
【0012】
また例えば、前記サーバ装置(40)は、前記結成要求が受信されると、当該結成要求に示される帯域幅が前記上限に対応する帯域幅より広いか否かを判定し、この判定の結果が肯定的であれば、両者の差の帯域幅を示す上限返還データを当該結成要求の送信元のゲーム端末(10)へ送信するとともに当該ゲーム端末(10)に対応付けて前記確保量記憶部(44)が記憶する前記確保量データを前記上限に対応する帯域幅を示すものとする上限返還部(41、42)を有し、前記複数の端末群(5A、5B、5C、…)の前記複数のゲーム端末(10)の各々は、前記上限返還データを受信する上限返還受信部(11、17)と、前記上限返還データが受信されると、当該上限返還データに示される帯域幅を前記開放すべき帯域幅として特定する上限受信開放特定部(11)とを有し、前記開放部(11、17)は、前記開放すべき帯域幅が特定されると、当該開放すべき帯域幅を開放する、ようにしてもよい。この態様では、グループの結成前に、子数範囲の上限に対応する帯域幅を超えた分の帯域幅(余分となることが確実な帯域幅)が開放される。また例えば、前記サーバ装置(40)は、前記結成要求が受信されると、当該結成要求に示される帯域幅が前記下限に対応する帯域幅より狭く前記一定の帯域幅より広いか否かを判定し、この判定の結果が肯定的であれば、当該結成要求に示される帯域幅と前記一定の帯域幅との差の帯域幅を示す下限返還データを当該結成要求の送信元のゲーム端末(10)へ送信するとともに当該ゲーム端末(10)に対応付けて前記確保量記憶部(44)に記憶される前記確保量データを前記一定の帯域幅を示すものとする下限返還部(41、42)を有し、前記複数の端末群(5A、5B、5C、…)の前記複数のゲーム端末(10)の各々は、前記下限返還データを受信する下限返還受信部(11、17)と、前記下限返還データが受信されると、当該下限返還データに示される帯域幅を前記開放すべき帯域幅として特定する下限受信開放特定部(11)とを有し、前記開放部(11、17)は、前記開放すべき帯域幅が特定されると、当該開放すべき帯域幅を開放する、ようにしてもよい。この態様では、グループの結成前に、一定の帯域幅を超えて子数範囲の下限に満たない分の帯域幅(余分となることが確実な帯域幅)が開放される。これらの態様は、帯域幅の有効利用の観点において有利である。
【0013】
また例えば、管理装置を有する態様において、前記確保部(11)は、前記割り当て量データが受信されると、当該割り当て量データに示される帯域幅が前記上限に対応する帯域幅より広いか否かを判定し、この判定の結果が肯定的であれば、両者の差の帯域幅を前記開放すべき帯域幅として特定するとともに前記上限に対応する帯域幅を確保する、ようにしてもよい。この態様では、ゲーム端末からサーバ装置へ結成要求が送信される前に、子数範囲の上限に対応する帯域幅を超えた分の帯域幅(余分となることが確実な帯域幅)が開放される。また例えば、管理装置を有する態様において、前記確保部(11)は、前記割り当て量データが受信されると、当該割り当て量データに示される帯域幅が前記下限に対応する帯域幅より狭く前記一定の帯域幅より広いかを判定し、この判定の結果が肯定的であれば、当該割り当て量データに示される帯域幅と前記一定の帯域幅との差の帯域幅を前記開放すべき帯域幅として特定するとともに前記一定の帯域幅を確保する、ようにしてもよい。この態様では、ゲーム端末からサーバ装置へ結成要求が送信される前に、一定の帯域幅を超えて子数範囲の下限に満たない分の帯域幅(余分となることが確実な帯域幅)が開放される。これらの態様には、帯域幅の有効利用の観点での利点のみならず、余分となることが確実な帯域幅を開放するための通信を低減可能という利点もある。
上記のゲームシステムにおいて、子数には子数範囲以外の制限を加えないようにしてもよいが、プレイヤーの意欲を削がないようにする観点では、結成要求の受信状況に応じた制限を加えるようにしてもよい。例えば、前記結成部(41)は、前記グループを構成していないゲーム端末(10)に対応付けて前記確保量記憶部(44)に記憶されている前記確保量データの前記確保量記憶部(44)による記憶の契機となった前記結成要求の受信のうち最先の受信から一定の時間が経過していない場合には前記子数を前記上限に制限し、経過している場合には前記子数を前記子数範囲内で任意とする、ようにしてもよい。この態様では、プレイヤーの意欲が削がれる可能性が低い期間においては最大でない子数のクループの結成が認められず、プレイヤーの意欲が削がれる可能性が高い期間においては最大でない子数のクループの結成が認められる。
【0014】
また、本発明は、親ノードとして選択されている1つのゲーム端末(10)と一定の帯域幅を専用して前記親ノードと通信する子ノードとして選択されている子数のゲーム端末(10)から構成されるグループ単位でプレイヤーに前記ゲームを行わせ、前記子数は上限および下限を有する子数範囲内で前記グループ毎に可変であり、前記上限は2以上であり、それぞれに互いに異なる通信路が割り当てられ、各々に割り当てられた通信路を共用する複数のゲーム端末(10)をそれぞれ含む複数の端末群(5A、5B、5C、…)と、前記複数の端末群(5A、5B、5C、…)の前記複数のゲーム端末(10)から1つのゲーム端末(10)を親ノードとして選択するとともに前記1つのゲーム端末(10)を除く前記子数のゲーム端末(10)の各々を子ノードとして選択することによって前記グループを結成するサーバ装置(40)とを有するゲームシステム(100)のゲーム端末(10)であって、プレイヤーの指示を入力するための入力部(14)と、前記入力部(14)を用いて所定の指示が入力されると、前記一定の帯域幅以上かつ自己に用いられる通信路の帯域幅の残量以下の帯域幅を確保する確保部(11)と、前記確保部(11)によって確保された帯域幅を示すとともに前記グループの結成を要求する結成要求を前記サーバ装置(40)へ送信する結成要求送信部(11、17)と、前記グループの構成を示すグループデータを受信するグループデータ受信部(11、17)と、前記グループデータに基づいて前記ゲーム中の通信を制御する制御部(11)と、前記確保部(11)によって確保された帯域幅と前記グループデータに示される構成の前記グループにおいて自己に必要となる帯域幅との差を、開放すべき帯域幅として特定する開放特定部(11)と、前記開放すべき帯域幅を開放する開放部(11、17)とを有し、前記サーバ装置(40)は、前記結成要求を受信する結成要求受信部(41、42)と、前記結成要求に示される帯域幅を示す確保量データを当該結成要求の送信元のゲーム端末(10)に対応付けて記憶する確保量記憶部(44)と、前記確保量記憶部(44)に記憶されている前記確保量データに基づいて前記グループを結成する結成部(41)と、結成された前記グループを構成するゲーム端末(10)の各々へ当該グループの前記グループデータを送信するグループデータ送信部(41、42)とを有し、前記結成部(41)は、前記グループの結成において、前記確保量記憶部(44)に記憶されている前記確保量データに対応するゲーム端末(10)のうち当該グループの前記子数よりも多いゲーム端末(10)について前記確保量データに示される帯域幅の比較を行い、当該比較の結果に基づいて当該グループを結成する、ことを特徴とするゲーム端末(10)を提供する。
このゲーム端末によれば、前述のゲームシステムを構築可能である。よって、このゲーム端末によれば、子数が可変の環境下で通信路の帯域幅の利用効率を向上させることができる。
【0015】
また、本発明は、親ノードとして選択されている1つのゲーム端末(10)と一定の帯域幅を専用して前記親ノードと通信する子ノードとして選択されている子数のゲーム端末(10)から構成されるグループ単位でプレイヤーに前記ゲームを行わせ、前記子数は上限および下限を有する子数範囲内で前記グループ毎に可変であり、前記上限は2以上であり、それぞれに互いに異なる通信路が割り当てられ、各々に割り当てられた通信路を共用する複数のゲーム端末(10)をそれぞれ含む複数の端末群(5A、5B、5C、…)と、前記複数の端末群(5A、5B、5C、…)の前記複数のゲーム端末(10)から1つのゲーム端末(10)を親ノードとして選択するとともに前記1つのゲーム端末(10)を除く前記子数のゲーム端末(10)の各々を子ノードとして選択することによって前記グループを結成するサーバ装置(40)とを有し、前記複数の端末群(5A、5B、5C、…)の前記複数のゲーム端末(10)の各々は、プレイヤーの指示を入力するための入力部(14)と、前記入力部(14)を用いて所定の指示が入力されると、前記一定の帯域幅以上かつ当該ゲーム端末(10)に用いられる通信路の帯域幅の残量以下の帯域幅を確保する確保部(11)と、前記確保部(11)によって確保された帯域幅を示すとともに前記グループの結成を要求する結成要求を前記サーバ装置(40)へ送信する結成要求送信部(11、17)と、前記グループの構成を示すグループデータを受信するグループデータ受信部(11、17)と、前記グループデータに基づいて前記ゲーム中の通信を制御する制御部(11)と、前記確保部(11)によって確保された帯域幅と前記グループデータに示される構成の前記グループにおいて当該ゲーム端末(10)に必要となる帯域幅との差を、開放すべき帯域幅として特定する開放特定部(11)と、前記開放すべき帯域幅を開放する開放部(11、17)とを有する、ゲームシステム(100)のサーバ装置(40)であって、前記結成要求を受信する結成要求受信部(41、42)と、前記結成要求に示される帯域幅を示す確保量データを当該結成要求の送信元のゲーム端末(10)に対応付けて記憶する確保量記憶部(44)と、前記確保量記憶部(44)に記憶されている前記確保量データに基づいて前記グループを結成する結成部(41)と、結成された前記グループを構成するゲーム端末(10)の各々へ当該グループの前記グループデータを送信するグループデータ送信部(41、42)とを有し、前記結成部(41)は、前記グループの結成において、前記確保量記憶部(44)に記憶されている前記確保量データに対応するゲーム端末(10)のうち当該グループの前記子数よりも多いゲーム端末(10)について前記確保量データに示される帯域幅の比較を行い、当該比較の結果に基づいて当該グループを結成する、ことを特徴とするサーバ装置(40)を提供する。
このサーバ装置によれば、前述のゲームシステムを構築可能である。よって、このサーバ装置によれば、子数が可変の環境下で通信路の帯域幅の利用効率を向上させることができる。
【発明の効果】
【0016】
本発明によれば、子数が可変の環境下で通信路の帯域幅の利用効率を向上させることができる。
【発明を実施するための最良の形態】
【0017】
以下、図面を参照して、本発明の好適な実施の形態について説明する。以下に説明する具体的な構成は一例に過ぎず、本発明は、この具体的な構成を変形して得られる各種の形態をも範囲に含む。
【0018】
<ゲームシステム>
図1は、本発明の実施の形態に係るゲームシステム100の全体構成を示すブロック図である。ゲームシステム100は、規定数の通信ノードから構成されるグループ単位でプレイヤーに所定のゲームを行わせるシステムである。規定数は上限および下限を有する範囲内でグループ毎に可変である。この範囲の上限は8であり、下限は6である。
【0019】
所定のゲームとは、多人数参加型のネットワークゲームであり、その進行には、グループを構成する通信ノード同士の通信が必須である。所定のゲームの趣向性は、規定数が8の場合に最も高く、指定数が6の場合に最も低くなる。したがって、本実施の形態では、規定数が6のグループを結成することよりも規定数が7のグループを結成することを優先し、規定数が7のグループを結成することよりも規定数が8のグループを結成することを優先している。
【0020】
ゲームシステム100の一部は、来訪したプレイヤーに所定のゲームを行わせる店舗(施設)A、B、C、…内に設けられている。具体的には、各店舗に、LAN(Local Area Network)25と、LAN25に接続され、プレイヤーに所定のゲームを行わせる4つのゲーム端末10と、LAN25とインターネット1とを接続するルータ20と、LAN25に接続された管理装置50が設置されている。また、ゲームシステム100は、通信ノードとして規定数のゲーム端末10を選択してグループを結成するサーバ装置(マッチングサーバ装置)40と、サーバ装置40とインターネット1とを接続するルータ30を有する。
【0021】
各店舗において、4つのゲーム端末10は端末群を構成している。例えば、店舗A内には、店舗A内の4つのゲーム端末10を含む端末群5Aが存在する。各端末群は、当該端末群が設けられた店舗内の管理装置50により管轄されている。また、インターネット1と各店舗との間の通信は、当該店舗に対応する通信路を介して行われる。各店舗に対応する通信路は、当該店舗内のルータ20とインターネット1との間の通信路であり、当該店舗内の端末群に割り当てられている。例えば、店舗Aに対応する通信路27Aは、端末群5Aに割り当てられている。各端末群に割り当てられている通信路は、当該端末群に含まれる4つのゲーム端末10に共用される。つまり、各端末群に割り当てられている通信路は、当該端末群に含まれる4つのゲーム端末10の各々に対応しており、当該通信路の帯域幅は、当該端末群を管轄する管理装置50に管理される。各店舗のゲーム端末10は、LAN25を介して当該店舗内の他の装置と通信可能である一方、LAN25、ルータ20、当該店舗に対応する通信路、およびインターネット1を介して、サーバ装置40や他の店舗のゲーム端末10と通信可能である。
【0022】
ここで「グループ」について説明する。グループに含まれる規定数の通信ノードのうち、1つは親ノードであり、残りは当該親ノードのみと通信する子ノードである。サーバ装置40は、実際には、1つのゲーム端末10を親ノードとして選択するとともに子数のゲーム端末10をそれぞれ子ノードとして選択することによってグループを結成する。子数はグループに含まれる子ノードの数であり、規定数から1を減じた数に一致する。このことから明らかなように、子数は、上限および下限を有する子数範囲内でグループ毎に可変である。子数範囲の上限は7であり、下限は5である。ゲーム端末10は、グループの結成を要求する結成要求を送信可能であり、上記の選択の母集団は、結成要求の送信元のゲーム端末10である。
【0023】
所定のゲームの進行中のゲーム端末10間の通信、すなわち親ノードと子ノードとの通信は、通信コネクションを用いて行われる。通信コネクションは、親ノードと子ノードとを、親ノードを含む端末群に対応する通信路と子ノードを含む端末群に対応する通信路とを介して結ぶ仮想的な通信路である。また、通信コネクションの帯域幅は子ノードに依存せずに一定(VC)である。よって、1つの通信コネクションを確立するには、当該通信コネクションに結ばれる2つの通信ノードの各々のために、当該通信ノードに対応する通信路の帯域幅のうち一定の帯域幅を確保する必要がある。各端末群に割り当てられている通信路の帯域幅のゲーム端末10への割り当ては、当該端末群に対応する管理装置50によって管理される。以降の説明では、上記の一定の帯域幅(VC)を、帯域幅の単位とし、1つの通信コネクションの帯域幅を「1VC」と表記する。なお、各通信路の帯域幅は14VCである。
【0024】
ゲーム端末10が送信する結成要求は、当該ゲーム端末10のために確保された帯域幅(以降、「確保量」と称する)を示すものでもあり、当該確保量を示す確保量データを含む。サーバ装置40は、5VC以上の値を示す確保量データを含む結成要求の送信元のゲーム端末10を、親ノードとしてのゲーム端末10の選択の母集団とする。
【0025】
所定のゲームの趣向性は、規定数が8の場合に最も高く、規定数が6の場合に最も低い。したがって、規定数が6のグループを結成することよりも規定数が7のグループを結成することを優先し、規定数が7のグループを結成することよりも規定数が8のグループを結成することを優先すべきである。一方、グループを結成するために長い時間がかかると、所定のゲームを行おうとするプレイヤーが長く待たされ、その意欲が殺がれてしまう。よって、本実施の形態では、結成要求を送信してからの待ち時間が所定の時間に達したゲーム端末10が存在しない期間にあっては、規定数が8のグループのみの結成を目指し、存在する期間にあっては、規定数が8〜6のグループの結成を目指す、ようにしている。
【0026】
[ゲーム端末]
図2は、ゲーム端末10の構成を示すブロック図である。この図に示すように、ゲーム端末10は、プロセッサ11、入力部14、表示部15、通信インターフェイス17、不揮発性メモリ18および書き換え可能メモリ19を有する。プロセッサ11は、例えば、一又は複数のCPU(Central Processing Unit)である。
【0027】
入力部14は、複数の操作子を備え、操作子が操作されると、この操作に応じた操作信号をプロセッサ11に供給する。複数の操作子には、所定のゲームの開始を指示する開始指示(所定の指示)を入力するためのスタート操作子の他に、所定のゲームの内容に応じた操作子が含まれている。例えば、所定のゲームが出題されたクイズに回答するゲームの場合には、クイズに回答するための操作子が所定のゲームの内容に応じた操作子となる。
【0028】
表示部15は、画面151を有し、プロセッサ11から画像データが供給されると、当該画像データが表す画像を画面151に表示する。表示部15としては、モニタやビデオプロジェクタを用いることができる。ビデオプロジェクタを用いる場合には、画像が投射されるスクリーンが画面151に相当する。通信インターフェイス17は、LAN25との間で信号を送受するものであり、プロセッサ11とLAN25との間でデータを中継する。プロセッサ11は、通信インターフェイス17を用いて、他の装置との間でデータを送受信する。
【0029】
不揮発性メモリ18は、例えばROM(Read Only Memory)またはEEPROM(Electronically Erasable and Programmable ROM)であり、プログラム181を記憶している。プログラム181は、プロセッサ11に実行されることによってゲーム端末10に後述の主処理等の各種の処理を行わせる。また、不揮発性メモリ18は、サーバ装置40および管理装置50の通信アドレスを記憶している。
【0030】
書き換え可能メモリ19は、例えばRAM(Random Access Memory)であり、自己のゲーム端末10を含むグループ(以降、「所属グループ」と称する)の構成を示す所属グループデータTと、当該ゲーム端末10のために確保された帯域幅、すなわち当該ゲーム端末10の確保量を示す自己確保量データRとを記憶する。所属グループデータTのデータ構造は任意であり、例えば、グループを構成する規定数のゲーム端末10の各々について、ゲーム端末10の通信アドレスを示すデータと当該ゲーム端末10が親ノードとして選択されているか否かを示すフラグとを対応付けた構造であってもよい。
【0031】
[サーバ装置]
図3は、サーバ装置40の構成を示すブロック図である。この図に示すように、サーバ装置40は、プロセッサ41、通信インターフェイス42、不揮発性メモリ43および書き換え可能メモリ44を備える。プロセッサ41は、例えば、一又は複数のCPUである。通信インターフェイス42は、ルータ30との間で信号を送受するものであり、プロセッサ41とルータ30との間でデータを中継する。プロセッサ41は、通信インターフェイス42を用いて、他の装置との間でデータを送受信する。
【0032】
不揮発性メモリ43は、例えばROMおよびハードディスクであり、プログラム431を記憶している。プログラム431は、プロセッサ41に実行されることによって、サーバ装置40に後述のマッチング処理等の各種の処理を行わせる。書き換え可能メモリ44は、例えばRAMであり、結成要求の送信元のゲーム端末10のうちグループを構成していないゲーム端末10(通信ノードとして選択される候補)毎に確保量を示すエントリーリスト441を記憶する。
【0033】
図4は、エントリーリスト441のデータ構造を模式的に示す図である。この図に示すように、エントリーリスト441は、ゲーム装置10の通信アドレスおよび確保量を示すエントリーデータの並びである。この並びは時系列であり、エントリーリスト441の末尾には、ゲーム装置10から結成要求を受信する度にエントリーデータが追加される。また、グループが結成されると、エントリーリスト441から、当該グループを構成するゲーム端末10に対応するエントリーデータが削除される。
【0034】
[管理装置]
図5は、管理装置50の構成を示すブロック図である。この図に示すように、管理装置50は、プロセッサ51、通信インターフェイス52、不揮発性メモリ53および書き換え可能メモリ54を備える。プロセッサ51は、例えば、一又は複数のCPUである。通信インターフェイス52は、LAN25との間で信号を送受するものであり、プロセッサ51とLAN25との間でデータを中継する。プロセッサ51は、通信インターフェイス52を用いて、他の装置との間でデータを送受信する。
【0035】
不揮発性メモリ53は、例えばROMおよびハードディスクであり、プログラム531を記憶している。プログラム531は、プロセッサ51に実行されることによって、管理装置50に後述の管理処理等の各種の処理を行わせる。書き換え可能メモリ54は、例えばRAMであり、管轄する端末群に割り当てられた通信路の帯域幅の残量を示す残量データ541と、帯域幅が割り当てられていないゲーム端末10の数(以降、「未割り当て端末数」と称する)を示す未割り当て端末数データ542を記憶する。
【0036】
[主処理]
図6は、ゲーム端末10のプロセッサ11が行う主処理のフローチャートである。プロセッサ11は、入力部14からスタート操作子の操作に応じた操作信号が供給されると、主処理を実行する。主処理では、プロセッサ11は、帯域幅の割り当てを要求する割り当て要求を、自己のゲーム端末10を含む端末群(以降、「所属端末群」と称する)を管轄する管理装置50(以降、「管轄管理装置」と称する)へ送信する(SA1)。
【0037】
次にプロセッサ11は、管轄管理装置から、割り当て要求に対する応答として、割り当てられる帯域幅(以降、「割り当て量」と称する)を示す割り当て量データを受信し、当該割り当て量データに示される帯域幅を示すように、自己確保量データRを更新する(SA2)。次にプロセッサ11は、自己確保量データRに示される確保量を示す確保量データを含む結成要求を生成してサーバ装置40へ送信する(SA3)。次にプロセッサ11は、結成されたグループの構成を示すグループデータを受信したか否かを判定する(SA4)。この判定は、判定結果が「YES」となるまで、すなわちグループデータを受信するまで繰り返し行われる。通信ノードが所定のゲームの進行中に必要とする帯域幅は、グループの構成に基づいて特定可能である。したがって、ゲーム端末10において、グループデータは、確保が必要な帯域幅(以降、「必要量」と称する)を示すデータでもあるし、確保が不要な帯域幅(以降、「不要量」と称する)を示すデータでもある。
【0038】
ステップSA4の判定結果が「YES」の場合には、プロセッサ11は、当該グループデータを所属グループデータTとして書き換え可能メモリ19に記憶させ、所属グループデータTと自己確保量データRとに基づいて必要量および不要量を特定する(SA5)。次にプロセッサ11は、特定した不要量が0VCより大であるか否かを判定し(SA6)、この判定結果が「YES」の場合にのみ、当該不要量を開放すべき帯域幅(以降、「開放量」と称する)として特定し、特定した開放量を示す一部開放通知を管轄管理装置へ送信する(SA7)。一部開放通知は、割り当てられた帯域幅の一部を開放することを知らせるデータである。また、ステップSA7では、プロセッサ11は、特定した必要量を示すように、自己確保量データRを更新する。
【0039】
次にプロセッサ11は、所属グループデータTに基づいて、自己のゲーム端末10が親ノードとして選択されているか否かを判定する(SA8)。この判定結果が「NO」の場合、プロセッサ11は、自己のゲーム端末10を子ノードとして動作させる子ノード処理を行い(SA9)、主処理を終える。ステップSA7の判定結果が「YES」の場合、プロセッサ11は、自己のゲーム端末10を親ノードとして動作させる親ノード処理を行う(SA10)。次にプロセッサ11は、親ノード処理を終えて所定のゲームが終了すると、自己確保量データRに示される確保量と同量の開放量を示す全部開放通知を管轄管理装置へ送信し(SA11)、主処理を終える。全部開放通知は、割り当てられた帯域幅の全部を開放することを知らせるデータである。
【0040】
[子ノード処理]
図7は、ゲーム端末10のプロセッサ11が行う子ノード処理のフローチャートである。子ノード処理では、プロセッサ11は、まず、グループデータに基づいて所属グループの構成を把握し、親ノードとして選択されているゲーム端末10との間に帯域幅が1VCの通信コネクションを確立する処理を行う。この処理では、プロセッサ11は、親ノードとして選択されているゲーム端末10へ通信コネクションの確立を要求する確立要求を送信し(SC1)、この確立要求への応答である確立応答を当該ゲーム端末10から受信する(SC2)。
【0041】
次にプロセッサ11は、後述のゲーム処理の開始を指示するゲーム開始通知を受信したか否かを判定する(SC3)。この判定は、判定結果が「YES」となるまで、すなわちゲーム開始通知を受信するまで繰り返し行われる。ステップSC3の判定結果が「YES」となると、プロセッサ11は、所定のゲームを進行させるゲーム処理を行い(SC4)、子ノード処理を終える。
【0042】
ゲーム処理では、プロセッサ11が、入力部14から供給される操作信号および所属グループ内の他のゲーム端末10からのデータに基づいて画像を生成し、表示部15の画面151に表示させる。このことから明らかなように、プロセッサ11は、所属グループ内の他のゲーム端末10と通信する。ただし、ステップSC4のゲーム処理は子ノード用のゲーム処理である。つまり、このゲーム処理において、通信相手となる他のゲーム端末10は、親ノードとして選択されているゲーム端末10であり、通信に用いられる通信コネクションは1つである。
【0043】
[親ノード処理]
図8は、ゲーム端末10のプロセッサ11が行う親ノード処理のフローチャートである。親ノード処理では、プロセッサ11は、まず、所属グループデータTに基づいて所属グループの構成を把握し、子ノードとして選択されているゲーム端末10の各々との間に帯域幅が1VCの通信コネクションを確立する処理を行う。この処理では、プロセッサ11は、まず、子ノードとして選択されているゲーム端末10から確立要求を受信したか否かを判定する(SB1)。この判定は、判定結果が「YES」となるまで、すなわち確立要求を受信するまで繰り返し行われる。ステップSB1の判定結果が「YES」となると、プロセッサ11は、確立要求の送信元のゲーム端末10へ確立応答を送信する(SB2)。次にプロセッサ11は、必要な全ての通信コネクションが確立されたか否かを判定する(SB3)。この判定結果が「NO」の場合、プロセッサ11は処理をステップSB1に移行させる。
【0044】
ステップSB3の判定結果が「YES」となると、プロセッサ11は、子ノードとして選択されているゲーム端末10の各々へゲーム開始通知を送信する(SB4)。次にプロセッサ11は、ゲーム処理を行い(SB5)、親ノード処理を終える。ただし、ステップSB5のゲーム処理は親ノード用のゲーム処理である。つまり、このゲーム処理において、通信相手となる他のゲーム端末10は、子ノードとして選択されているゲーム端末10であり、通信に用いられる通信コネクションの数は子数である。
【0045】
[管理処理]
図9は、管理装置50のプロセッサ51が行う管理処理のフローチャートである。管理処理では、プロセッサ51は、まず、対応する端末群に含まれるゲーム端末10からデータを受信する(SD1)。次にプロセッサ51は、受信したデータが割り当て要求であるか否かを判定する(SD2)。この判定結果が「YES」の場合、プロセッサ51は、残量データ541および未割り当て端末数データ542を参照し、所定のルールに従って、割り当て量を決定する(SD3)。
【0046】
具体的には、割り当て要求の送信元のゲーム端末10に割り当て可能な帯域幅(以降、「割り当て可能量」と称する)が7VC以上の場合には、割り当て量を7VCとし、割り当て可能量が7VC未満かつ5VC以上の場合には、割り当て可能量をそのまま割り当て量とし、割り当て可能量が5VC未満の場合には、割り当て量を1とする。なお、割り当て可能量は、未割り当て端末数から1を減じた数に応じた帯域幅を残量から減じて得られる。例えば、未割り当て端末数が3、残量が14VCの場合、割り当て可能量は14VC−(3−1)VC=12VCとなる。
【0047】
次にプロセッサ51は、決定した割り当て量を示す割り当て量データを、当該割り当て要求の送信元のゲーム端末10へ送信する(SD4)。次にプロセッサ51は、残量が当該割り当て量だけ減るように残量データ541を更新し(SD5)、未割り当て端末数が1だけ減るように未割り当て端末数データ542を更新し(SD6)、処理をステップSD1へ移行させる。
【0048】
一方、ステップSD2の判定結果が「NO」の場合、プロセッサ51は、受信したデータが全部開放通知か否かを判定する(SD7)。この判定結果が「YES」の場合、プロセッサ51は、未割り当て端末数が1だけ増えるように未割り当て端末数データ542を更新する(SD8)。次にプロセッサ51は、残量が当該全部開放通知に示される開放量だけ増えるように残量データ541を更新し(SD9)、処理をステップSD1へ移行させる。
【0049】
ステップSD7の判定結果が「NO」の場合、プロセッサ51は、受信したデータが一部開放通知か否かを判定する(SD10)。この判定結果が「YES」の場合、プロセッサ51は、処理をステップSD9へ移行させる。したがって、この場合には、残量が当該一部開放通知に示される開放量だけ増えるように、残量データ541が更新される。一方、ステップSD19の判定結果が「NO」の場合、プロセッサ51は、処理をステップSD1へ移行させる。
【0050】
[マッチング処理]
図10は、サーバ装置40のプロセッサ41が行うマッチング処理のフローチャートである。マッチング処理では、プロセッサ41は、まず、ゲームシステム100に含まれるゲーム端末10から結成要求を受信する(SE1)。次にプロセッサ41は、エントリー処理を行う(SE2)。すなわち、受信した結成要求の送信元のゲーム装置10の通信アドレスと当該結成要求に含まれている確保量データが示す確保量とを示すエントリーデータを、エントリーリスト441の末尾に追加する。
【0051】
次にプロセッサ41は、エントリーデータの数が8(規定数の最大値)以上であるか否かを判定する(SE3)。この判定結果が「NO」であれば、最先の受信から所定の時間(T)が経過したか否かを判定し(SE4)、この判定結果が「NO」の場合には処理をステップSE1へ移行させる。最先の受信とは、エントリーリスト441に格納されているエントリーデータをエントリーリスト441に追加する契機となった結成要求の受信のうち、最も先(古く)に行われたものをいう。以上より明らかなように、プロセッサ41は、ステップSE3の判定結果またはステップSE4の判定結果が「YES」となるまで、ステップSE1〜SE4の処理を繰り返し行う。
【0052】
ステップSE3の判定結果が「YES」となると、プロセッサ41は、7VC以上の確保量を示すエントリーデータがエントリーリスト441内に存在するか否かを判定する(SE5)。つまり、規定数が8のグループを結成することができるか否かを判定する。この判定結果が「NO」の場合、プロセッサ41は、処理をステップSE4へ移行させる。ステップSE5の判定結果が「YES」の場合、プロセッサ41は、規定数が8のグループの結成処理を行う(SE6)。具体的には、7VC以上の確保量を示す1つのエントリーデータに示される通信アドレスのゲーム端末10を親ノードとして選択し、他の7つのエントリーデータに示される通信アドレスのゲーム端末10をそれぞれ子ノードとして選択する。これらの選択により、規定数が8のグループが結成される。なお、規定数に関わらず、グループを結成する際の通信ノードの選択は、エントリーリスト441内のグループデータで示される確保量をゲーム端末10間で比較した結果に基づいて行われる。
【0053】
次にプロセッサ41は、上記の選択およびエントリーリスト441に基づいて、結成されたグループの構成を示すグループデータを生成する(SE7)。また、ステップSE7では、結成されたグループを構成するゲーム端末10に対応するエントリーデータをエントリーリスト441から削除する。次にプロセッサ41は、生成したグループデータを、結成されたグループを構成する全てのゲーム端末10へ送信し(SE8)、処理をステップSE1へ移行させる。
【0054】
一方、最先の受信から所定の時間(T)が経過してステップSE4の判定結果が「YES」となると、プロセッサ41は、エントリーリスト441に含まれているエントリーデータの数が6(規定数の最小値)以上であるか否かを判定する(SE9)。この判定結果が「NO」の場合、プロセッサ41は処理をステップSE1へ移行させる。ステップSE9の判定結果が「YES」の場合、プロセッサ41は、5VC以上の確保量を示すエントリーデータがエントリーリスト441内に存在するか否かを判定する(SE10)。つまり、規定数が6以上のグループを結成することができるか否かを判定する。この判定結果が「NO」の場合、プロセッサ41は、処理をステップSE1へ移行させる。
【0055】
ステップSE10の判定結果が「YES」の場合、プロセッサ41は、規定数が7または6のグループの結成処理を行う(SE11)。具体的には、6VC以上の確保量を示すエントリーデータがエントリーリスト441内に存在する場合には規定数が7のグループの結成処理を行い、他の場合には規定数が6のグループの結成処理を行う。各結成処理は、子数を除いて、ステップSE6の結成処理と同様である。
【0056】
次にプロセッサ41は、ステップSA10における親ノードおよび子ノードの選択とエントリーリスト441とに基づいて、ステップSA10の結成処理により結成されたグループの構成を示すグループデータを生成する(SE12)。また、ステップSE12では、当該グループを構成するゲーム端末10に対応するエントリーデータをエントリーリスト441から削除する。次にプロセッサ41は、処理をステップSE8へ移行させる。
【0057】
[動作例]
次に、ゲームシステム100の動作例について説明する。ここで説明する動作例は、1番目に店舗Aの1つのゲーム端末10(以降、「ゲーム端末10A」と称する)が店舗Aの管理装置50(以降、「管理装置50A」と称する)と通信した後に結成要求を送信し、2番目に店舗Bの1つのゲーム端末10(以降、「ゲーム端末10B」と称する)が店舗Bの管理装置50(以降、「管理装置50B」と称する)と通信した後に結成要求を送信し、...、8番目に店舗Cの1つのゲーム端末10(以降、「ゲーム端末10C」と称する)が店舗Cの管理装置50(以降、「管理装置50C」と称する)と通信した後に結成要求を送信し、その結果、これらのゲーム端末10を含むグループが結成され、このグループにおいて所定のゲームが進行する、というものである。以下、具体的に説明する。ただし、エントリーリスト441はエントリーデータを1つも含まない状態にあるものとする。
【0058】
図11および図12は、ゲームシステム100の第1の動作例を示すシーケンス図であり、図12に示すシーケンスは図11に示すシーケンスに後続している。図11に示すように、まず、ゲーム端末10Aにおいて入力部14を用いて開始指示が入力される。すると、ゲーム端末10Aのプロセッサ11は、割り当て要求を管理装置50Aへ送信する。ここでは、端末群5Aにおいて、端末群5Aに割り当てられた通信路の帯域幅が割り当てられていないゲーム端末10の数(未割り当て端末数)は4であり、管理装置50Aの書き換え可能メモリ54に記憶されている残量データ541に示される残量は、当該通信路の帯域幅(14VC)に一致しているものとする。したがって、当該割り当て要求を受信した管理装置50Aのプロセッサ51は、割り当て量を7VCとし、7VCの帯域幅を示す割り当て量データをゲーム端末10Aへ送信し、残量が7VCだけ減るように残量データ541を更新し、未割り当て端末数が1だけ減るように未割り当て端末数データ542を更新する。こうして、端末群5Aに割り当てられた通信路の帯域幅の一部(7VC)がゲーム端末10Aに割り当てられる。
【0059】
この割り当て量データを受信したゲーム端末10Aのプロセッサ11は、この割り当て量データに示される帯域幅を示すように、自己確保量データRを更新する。こうして、ゲーム端末10Aが7VCの帯域幅を確保する。次にゲーム端末10Aのプロセッサ11は、自己確保量データRに示される確保量(7VC)を示す確保量データを含む結成要求を生成してサーバ装置40へ送信する。この結成要求を受信したサーバ装置40のプロセッサ41は、この結成要求についてエントリー処理を行う。すなわち、この結成要求の送信元のゲーム装置10Aの通信アドレスと当該結成要求に含まれている確保量データが示す確保量(7VC)とを示すエントリーデータを、エントリーリスト441の末尾に追加する。この結果、エントリーリスト441の内容は図13に示す通りとなる。
【0060】
次に、ゲーム端末10Bにおいて入力部14を用いて開始指示が入力される。すると、ゲーム端末10Bのプロセッサ11は、割り当て要求を管理装置50Bへ送信する。ここでは、ここでは、端末群5Bにおいて、端末群5Bに割り当てられた通信路の帯域幅が割り当てられていないゲーム端末10の数(未割り当て端末数)は1であり、管理装置50Bの書き換え可能メモリ54に記憶されている残量データ541に示される残量は、1VCであるものとする。したがって、当該割り当て要求を受信した管理装置50Bのプロセッサ51は、割り当て量を1VCとし、1VCの帯域幅を示す割り当て量データをゲーム端末10Bへ送信し、残量が1VCだけ減るように残量データ541を更新し、未割り当て端末数が1だけ減るように未割り当て端末数データ542を更新する。こうして、端末群5Bに割り当てられた通信路の帯域幅の一部(1VC)がゲーム端末10Bに割り当てられる。
【0061】
この割り当て量データを受信したゲーム端末10Bのプロセッサ11は、この割り当て量データに示される帯域幅を示すように、自己確保量データRを更新する。こうして、ゲーム端末10Bが1VCの帯域幅を確保する。次にゲーム端末10Bのプロセッサ11は、自己確保量データRに示される確保量(1VC)を示す確保量データを含む結成要求を生成してサーバ装置40へ送信する。この結成要求を受信したサーバ装置40のプロセッサ41は、この結成要求についてエントリー処理を行う。この結果、エントリーリスト441の内容は図14に示す通りとなる。
【0062】
以降、上述したゲーム端末10Bに関する処理と同様の処理が、端末群5Aでも端末群5Bでも端末群5Cでもない端末群のゲーム端末10について繰り返し行われ、エントリーリスト441に5つのエントリーデータが追加される。これらのエントリーデータが示す確保量は、いずれも、1VCである。こうして、エントリーリスト441内のエントリーデータの数は合計で7となる。
【0063】
次に、ゲーム端末10Cにおいて入力部14を用いて開始指示が入力される。すると、ゲーム端末10Cのプロセッサ11は、割り当て要求を管理装置50Cへ送信する。ここでは、ここでは、端末群5Cにおいて、端末群5Cに割り当てられた通信路の帯域幅が割り当てられていないゲーム端末10の数(未割り当て端末数)は3であり、管理装置50Cの書き換え可能メモリ54に記憶されている残量データ541に示される残量は、7VCであるものとする。したがって、当該割り当て要求を受信した管理装置50Cのプロセッサ51は、割り当て量を5VCとし、5VCの帯域幅を示す割り当て量データをゲーム端末10Cへ送信し、残量が5VCだけ減るように残量データ541を更新し、未割り当て端末数が1だけ減るように未割り当て端末数データ542を更新する。こうして、端末群5Cに割り当てられた通信路の帯域幅の一部(5VC)がゲーム端末10Cに割り当てられる。
【0064】
この割り当て量データを受信したゲーム端末10Cのプロセッサ11は、この割り当て量データに示される帯域幅を示すように、自己確保量データRを更新する。こうして、ゲーム端末10Cが5VCの帯域幅を確保する。次にゲーム端末10Cのプロセッサ11は、自己確保量データRに示される確保量(5VC)を示す確保量データを含む結成要求を生成してサーバ装置40へ送信する。ここでは、サーバ装置40のプロセッサ41は、最先の受信から所定の時間(T)が経過する前に、ゲーム端末10Cからの結成要求を受信するものとする。ここでの「最先の受信」は、ゲーム端末10Aからの結成要求の受信を指す。
【0065】
ゲーム端末10Cからの結成要求を受信したサーバ装置40のプロセッサ41は、この結成要求についてエントリー処理を行う。この結果、エントリーリスト441の内容は図15に示す通りとなる。つまり、エントリーリスト441内のエントリーデータの数は合計で8となり、エントリーリスト441内には7VC以上の確保量を示すエントリーデータが存在する。したがって、サーバ装置40のプロセッサ11は、規定数が8のグループの結成処理を行う。具体的には、7VC以上の確保量を示す1つのエントリーデータに示される通信アドレスのゲーム端末10Aを親ノードとして選択し、他の7つのエントリーデータに示される通信アドレスのゲーム端末10(ゲーム端末10Bおよび10Cを含む)をそれぞれ子ノードとして選択する。これらの選択により、規定数が8のグループが結成される。
【0066】
次にサーバ装置40のプロセッサ41は、上記の選択およびエントリーリスト441に基づいて、結成されたグループの構成を示すグループデータを生成し、結成されたグループを構成するゲーム端末10(ゲーム端末10A、10Bおよび10Cを含む)に対応する8つのエントリーデータをエントリーリスト441から削除する。この結果、エントリーリスト441内のエントリーデータの数は0となる。次にサーバ装置40のプロセッサ41は、図12に示すように、当該グループデータを、結成されたグループを構成する8つのゲーム端末10(ゲーム端末10A、10Bおよび10Cを含む)へ送信する。
【0067】
このグループデータを受信したゲーム端末10(ゲーム端末10A、10Bおよび10Cを含む)の各プロセッサ11は、このグループデータを所属グループデータTとして書き換え可能メモリ19に記憶させるとともに、この所属グループデータTと自己確保量データRとに基づいて必要量および不要量を特定する。次に各プロセッサ11は、各所属グループデータTに基づいて、自己のゲーム端末10が親ノードとして選択されているか否かを判定し、この判定結果に応じた処理を行う。具体的には、ゲーム端末10Aのプロセッサ11は親ノード処理を行い、残りの7つのゲーム端末10(ゲーム端末10Aおよび10Bを含む)はそれぞれ子ノード処理を行う。
【0068】
なお、ゲーム端末10Cにおいては、特定した不要量が4VCとなる。したがって、ゲーム端末10Cのプロセッサ11は、子ノード処理を行う前に、この不要量と同量の開放量を示す一部開放通知を管理装置50Cへ送信する。この一部開放通知を受信した管理装置50Cのプロセッサ51は、残量が当該一部開放通知に示される開放量(4VC)だけ増えるように、残量データ541を更新する。この結果、管理装置50Cにおける残量は、7VC−5VC+4VC=6VCとなる。
【0069】
子ノード処理において、ゲーム端末10Aを除いた残りの7つのゲーム端末10の各プロセッサ11は、親ノードとして選択されているゲーム端末10Aへ確立要求を送信する。これらの確立要求は、親ノード処理を行っているゲーム端末10Aのプロセッサ11に受信される。各確立要求を受信したゲーム端末10Aのプロセッサ11は、当該確立要求の送信元のゲーム端末10へ確立応答を送信する。これらの確立応答は、それぞれ、残りの7つのゲーム端末10のプロセッサ11に受信される。こうして、各子ノードと親ノードとの間に帯域幅が1VCの通信コネクションが確立される。
【0070】
そして、7本の通信コネクションが確立されると、ゲーム端末10Aのプロセッサ11は、子ノードとして選択されているゲーム端末10(ゲーム端末10Bおよび10Cを含む)の各々へゲーム開始通知を送信する。以降、ゲーム端末10Aのプロセッサ11は親ノード用のゲーム処理を行い、残りの7つのゲーム端末10(ゲーム端末10Bおよび10Cを含む)の各プロセッサ11は子ノード用のゲーム処理を行う。これにより、ゲーム端末10A、10Bおよび10Cを含むグループにおいて所定のゲームが進行する。所定のゲームの進行中には、親ノードと各子ノードとの間で通信コネクションを用いた通信が行われる。
【0071】
そして、所定のゲームが終了すると、当該グループを構成する8つのゲーム端末10(ゲーム端末10A、10Bおよび10Cを含む)の各プロセッサ11は、確保量と同量の開放量を示す全部開放通知を対応する管理装置50(管轄管理装置)へ送信する。これらの全部開放通知をそれぞれ受信した管理装置50の各々は、未割り当て端末数が1だけ増えるように未割り当て端末数データ542を更新し、残量が当該全部開放通知に示される開放量だけ増えるように残量データ541を更新する。この結果、未割り当て端末数は、管理装置50Aでは4、管理装置50Bでは1、管理装置50Cでは3となり、残量は、管理装置50Aでは14VC、管理装置50Bでは1VC、管理装置50Cでは7VCとなる。
【0072】
図16および図17は、ゲームシステム100の第2の動作例を示すシーケンス図であり、図17に示すシーケンスは図16に示すシーケンスに後続している。この動作例では、第1の動作例と異なり、サーバ装置40のプロセッサ41は、図16に示すように、最先の受信(ゲーム端末10Aからの結成要求の受信)から所定の時間(T)が経過した後に、ゲーム端末10Cからの結成要求を受信する。つまり、第2の動作例では、最先の受信から所定の時間(T)が経過するまでの間にサーバ装置40のプロセッサ41が受信する結成要求の数は、最先の受信を含めて7となる。
【0073】
したがって、サーバ装置40のプロセッサ41は、最先の受信から所定の時間(T)が経過すると、規定数が7のグループの結成処理を行う。具体的には、5VC以上の最大の確保量を示す1つのエントリーデータに示される通信アドレスのゲーム端末10Aを親ノードとして選択し、他の6つのエントリーデータに示される通信アドレスのゲーム端末10(ゲーム端末10Bを含む)をそれぞれ子ノードとして選択する。これらの選択により、規定数が7のグループが結成される。
【0074】
以降の動作は、第1の動作例と同様である。ただし、グループが結成された後にエントリーリスト441に残るエントリーデータの数は1である。また、図17に示すように、同一のグループに含まれないゲーム端末10Cに関する処理は排除される。また、ゲーム端末10Aにおいては、特定した不要量が1VCとなる。したがって、ゲーム端末10Aのプロセッサ11は、親ノード処理を行う前に、この不要量と同量の開放量を示す一部開放通知を管理装置50Aへ送信する。この結果、管理装置50Aにおける残量は、14VC−7VC+1VC=8VCとなり、親ノード用のゲーム処理の後には7VCとなる。
【0075】
<効果>
以上説明したように、本実施の形態では、親ノードまたは子ノードとして選択される各ゲーム端末10が、当該ゲーム端末10を含む端末群に割り当てられた通信路の帯域幅について、当該ゲーム端末10のために確保された帯域幅と所定のゲームの進行中において当該ゲーム端末10に必要となる帯域幅との差の帯域幅が所定のゲームの開始前に開放される。したがって、本実施の形態によれば、ゲームの進行中に利用されることのない余分な帯域幅が長期にわたって確保され続けることが無く、通信路の帯域幅の利用効率を向上させることができる。
【0076】
また、本実施の形態では、確保した帯域幅が多いゲーム端末10が親ノードとして選択される。つまり、対応する通信路の残量が多いゲーム端末10が、子ノードに比較して多くの帯域幅を必要とする親ノードとして選択される。よって、本実施の形態によれば、通信路の帯域幅の残量を端末群間で均等とすることができる。
【0077】
また、本実施の形態では、最大でない規定数の最大のグループの結成が、最先の受信から所定の時間(T)が経過する前には許容されず、経過した後には許容される。これは、すなわち、プレイヤーのゲームを行う意欲が削がれる可能性が低い期間においては最大でない規定数のクループの結成が許容され、この意欲が削がれる可能性が高い期間においては最大でない規定数のクループの結成が許容される、ということを意味する。よって、本実施の形態によれば、所定のゲームの趣向性を高く維持することと、プレイヤーのゲームを行う意欲を削がないようにすることとを両立させることができる。
【0078】
また、本実施の形態では、各ゲーム端末10のために確保される帯域幅は、1VC、5VC、6VCまたは7VCである。つまり、子ノードとして選択された場合に必要とされる帯域幅、または親ノードとして選択された場合に全てが必要とされ得る帯域幅である。以上より明らかなように、本実施の形態によれば、1VCを超えて5VCに満たない分の帯域幅や、7VCを超えた分の帯域幅などの、余分となることが確実な帯域幅を最初から確保せずに済む。これは、帯域幅の有効利用はもちろん、一部開放通知の送受信の回数の削減にもつながる利点である。
【0079】
<変形例>
上述した実施の形態を、以下に述べるように変形してもよい。これらの変形例は、本発明の範囲に含まれる。
例えば、所定の時間(T)による制御を排した形態に変形してもよいし、さらに、規定数がより少ないグループを優先的に結成させる形態に変形してもよい。この形態は、規定数が少ないほど望ましいゲームを行わせる場合に好適であり、帯域幅が余さず利用される通信路の数を多くすることができるという効果を奏する。また例えば、余分となることが確実な帯域幅を確保した上で、サーバ装置40へ結成要求が送信される前に、余分となることが確実な帯域幅を開放する形態に変形してもよい。ここで、これらの変形を組み合わせた形態(変形例1)について、図面を参照して説明する。
【0080】
図18は、変形例1においてゲーム端末10のプロセッサ11が行う主処理の一部を示すフローチャートである。この図に示していない部分は図6と同様である。図19は、変形例1において管理装置50のプロセッサ51が行う管理処理の一部を示すフローチャートである。この図に示していない部分は図9と同様である。
【0081】
図19に示すように、管理装置50のプロセッサ51は、管轄する端末群に含まれるゲーム端末10から割り当て要求を受信すると、所定のルールに従って、割り当て量を決定する(SG1)。具体的には、割り当て要求の送信元のゲーム端末10に割り当て可能な帯域幅をそのまま割り当て量とする。一方、図18に示すように、ゲーム端末10のプロセッサ11は、管轄管理装置から、割り当て要求に対する応答として、割り当て量を示す割り当て量データを受信し、当該割り当て量データに示される帯域幅を示すように、自己確保量データRを更新すると、余分となることが確実な帯域幅が確保されたか否かを判定する(SF1)。具体的には、自己確保量データRに示される帯域幅(確保量)が所定の範囲内にあるか否かを判定する。この判定結果は、確保量が1VCよりも広く5VCより狭い場合や、確保量が7VCより広い場合に「YES」となり、確保量が1VCの場合や、確保量が5VC以上かつ7VC以下の場合に「NO」となる。
【0082】
ステップSF1の判定結果が「YES」の場合、ゲーム端末10のプロセッサ11は、余分となることが確実な帯域幅を開放量として特定し、特定した開放量を示す一部開放通知を管轄管理装置へ送信する(SF2)。余分となることが確実な帯域幅は、確保量が1VCよりも広く5VCより狭い場合には確保量から1VCを減じて得られ、確保量が7VCより広い場合には確保量から7VCを減じて得られる。また、ステップSF2では、プロセッサ11は、確保量が1VCよりも広く5VCより狭い場合には1VCを、確保量が7VCより広い場合には7VCを示すように、自己確保量データRを更新する。次にゲーム端末10のプロセッサ11は、処理をステップSA3へ移行させる。また、ステップSF1の判定結果が「NO」の場合にも、ゲーム端末10のプロセッサ11は、処理をステップSA3へ移行させる。
【0083】
図20は、変形例1においてサーバ装置40のプロセッサ41が行うマッチング処理の一部を示すフローチャートである。この図に示すように、サーバ装置40のプロセッサ41は、結成要求を受信し(SE1)、てエントリー処理を行うと(SE2)、エントリーリスト441に含まれているエントリーデータの数が6(規定数の最小値)以上であるか否かを判定する(SH1)。
【0084】
この判定結果が「NO」の場合、プロセッサ41は処理をステップSE1へ移行させる。ステップSH1の判定結果が「YES」の場合、プロセッサ41は、5VC以上の確保量を示すエントリーデータがエントリーリスト441内に存在するか否かを判定する(SH2)。つまり、規定数が6以上のグループを結成することができるか否かを判定する。この判定結果が「NO」の場合、プロセッサ41は、処理をステップSE1へ移行させる。
【0085】
ステップSH2の判定結果が「YES」の場合、プロセッサ41は、規定数が6、7または8のグループの結成処理を行う(SH3)。具体的には、5VCの確保量を示すエントリーデータがエントリーリスト441内に存在する場合には規定数が6のグループの結成処理を行い、その他の場合には規定数が7または8のグループの結成処理を行う。具体的には、6VCの確保量を示すエントリーデータがエントリーリスト441内に存在する場合には規定数が7のグループの結成処理を行い、その他の場合には規定数が8のグループの結成処理を行う。各結成処理は、子数を除いて、図10のステップSE6の結成処理と同様である。
【0086】
次にプロセッサ41は、ステップSH3の結成処理により結成されたグループの構成を示すグループデータを生成するとともに、当該グループを構成するゲーム端末10に対応するエントリーデータをエントリーリスト441から削除する(SE12)。以降の処理は図10と同様である。
【0087】
なお、変形例1をさらに変形し、規定数がより多いグループを優先的に結成させる形態としてもよいし、余分となることが確実な帯域幅をサーバ装置40へ結成要求が送信された後かつグループの結成前に開放する形態(変形例2)としてもよい。ここで、変形例2について、図面を参照して説明する。
【0088】
図21は、変形例2においてゲーム端末10のプロセッサ11が行う主処理の一部を示すフローチャートである。この図に示していない部分は図6と同様である。図22は、変形例2においてサーバ装置40のプロセッサ41が行うマッチング処理の一部を示すフローチャートである。この図に示していない部分は図20と同様である。変形例2において管理装置50のプロセッサ51が行う管理処理は、図19に示す通りである。
【0089】
変形例1について述べたように、管理装置50のプロセッサ51は、管轄する端末群に含まれるゲーム端末10から割り当て要求を受信すると、この割り当て要求の送信元のゲーム端末10に割り当て可能な帯域幅をそのまま割り当て量とする。図19および図21から明らかなように、この割り当て量は、そのまま確保量となり、この確保量を示す結成要求がゲーム端末10からサーバ装置40へ送信される(SA3)。
【0090】
サーバ装置40のプロセッサ41は、結成要求を受信し、エントリー処理を行うと(SE2)、余分となることが確実な帯域幅が確保されたか否かを判定する(SK1)。具体的には、この結成要求に基づくエントリーデータに示される帯域幅(確保量)が所定の範囲内にあるか否かを判定する。この判定結果は、確保量が1VCよりも広く5VCより狭い場合や、確保量が7VCより広い場合に「YES」となり、確保量が1VCの場合や、確保量が5VC以上かつ7VC以下の場合に「NO」となる。
【0091】
ステップSK1の判定結果が「YES」の場合、プロセッサ41は、余分となることが確実な帯域幅を示す返還データを当該結成要求の送信元のゲーム端末10へ送信するとともに、当該エントリーデータに示される帯域幅が1VCよりも広く5VCより狭い場合には1VCを、当該帯域幅が7VCより広い場合には7VCを示すように、エントリーリスト441を更新する(SK2)。次にプロセッサ41は、処理をステップSH1へ移行させる。ステップSK1の判定結果が「NO」の場合にも、プロセッサ41は、処理をステップSH1へ移行させる。
【0092】
ゲーム端末10のプロセッサ11は、結成要求を送信してから結成通知を受信するまでの間、この期間において最初に返還データを受信したか否かを判定する(SJ1)。この判定結果は、返還データを受信した直後のみに「YES」となる。ステップSJ1の判定結果が「YES」の場合、プロセッサ11は、受信した返還データに示される帯域幅を開放量として特定し、特定した開放量を示す一部開放通知を管轄管理装置へ送信する(SJ2)。これにより、管轄管理装置では、当該開放量の分だけ残量が増える。また、ステップSJ2では、プロセッサ11は、当該開放量の分だけ確保量が減るように、自己確保量データRを更新する。次にゲーム端末10のプロセッサ11は、処理をステップSA4へ移行させる。また、ステップSJ1の判定結果が「NO」の場合にも、プロセッサ11は、処理をステップSA4へ移行させる。
【0093】
なお、前述の実施の形態では、ゲーム端末10と管理装置50とを別体としたが、これを変形し、ゲーム端末10が管理装置50を兼ねる形態としてもよい。このような形態としては、例えば、各端末群のゲーム端末10のうち所定の1つを当該端末群に対応する管理装置50として機能させる形態が挙げられる。具体的には、各ゲーム端末10の不揮発性メモリ18に、当該ゲーム端末10を含む端末群に対応する管理装置50として機能しているゲーム端末10の通信アドレスを記憶させておき、各ゲーム端末10が当該通信アドレスのゲーム端末10へ割り当て要求を送信するようにする。
【0094】
ゲーム端末10が管理装置50を兼ねる他の形態としては、例えば、各端末群のゲーム端末のうち任意の1つを管理装置として機能させる形態が挙げられる。具体的には、各ゲーム端末10は、割り当て要求を送信する前に、当該ゲーム端末10を含む端末群の全てのゲーム端末10に問い合わせることにより、当該端末群に対応する管理装置50として機能しているゲーム端末10を特定し、特定したゲーム端末10へ割り当て要求を送信する。
【0095】
なお、ゲーム端末10が管理装置50を兼ねる形態を実現する手法としては、例えば、管理装置50を兼ねているゲーム端末10において、ゲーム端末10の機能を備えるプロセスと、管理装置50の機能を備えるプロセスと並列に実行させることが挙げられる。この手法により実現された形態では、管理装置50を兼ねているゲーム端末10と当該管理装置50との通信は、いわゆるプロセス間通信となる。
【0096】
また、管理装置50を設けない形態に変形してもよい。この形態における帯域幅の管理の方法としては様々なものがある。例えば、各ゲーム端末10の書き換え可能メモリ19に、対応する通信路の帯域幅の残量を示すデータを記憶させ、あるゲーム端末において残量が更新されたら同一の端末群の他のゲーム端末においても残量を追従させるようにしてもよい。この追従は、例えば、ゲーム端末10同士の通信により実現可能である。
【0097】
また、管理装置50において、未割り当て端末数を考慮せずに割り当て量を決定するようにしてもよい。ただし、この形態では、子数範囲と端末群に含まれるゲーム端末10の数と通信路の帯域幅との関係を適切に定めておくべきである。このように定めておくことにより、ゲーム端末10が1VC未満の帯域幅しか確保することができない事態を回避することができる。
【0098】
また、規定数が7のグループを優先的に結成するようにしてもよい。また、グループに含まれる通信ノードの数を4つ以上としてもよい。また、端末群に含まれるゲーム端末の数を、1以上3以下としてもよいし、5以上としてもよいし、端末群毎に相違するようにしてもよい。また、通信路の帯域幅を14VC以外の帯域幅としてもよいし、端末群毎に相違するようにしてもよい。また、ゲーム端末10へ送信されるグループデータに、余分となることが確実な帯域幅を示すデータを含め、このデータに基づいて、当該帯域幅が開放されるようにしてもよい。
更に、サーバ装置は、マッチング処理結果により所定期間内に所定端末の下限数を結成できなくとも1人以上でプレーするよう要求するようにしてもよい。
【図面の簡単な説明】
【0099】
【図1】本発明の実施の形態に係るゲームシステム100の全体構成を示すブロック図である。
【図2】ゲームシステム100内のゲーム端末10の構成を示すブロック図である。
【図3】ゲームシステム100内のサーバ装置40の構成を示すブロック図である。
【図4】サーバ装置40内のエントリーリスト441のデータ構造を模式的に示す図である。
【図5】ゲームシステム100内の管理装置50の構成を示すブロック図である。
【図6】ゲーム端末10のプロセッサ11が行う主処理のフローチャートである。
【図7】プロセッサ11が行う子ノード処理のフローチャートである。
【図8】プロセッサ11が行う親ノード処理のフローチャートである。
【図9】管理装置50のプロセッサ51が行う管理処理のフローチャートである。
【図10】サーバ装置40のプロセッサ41が行うマッチング処理のフローチャートである。
【図11】ゲームシステム100の第1の動作例を示すシーケンス図である。
【図12】ゲームシステム100の第1の動作例を示すシーケンス図である。
【図13】エントリーリスト441の内容の一例を示す図である。
【図14】エントリーリスト441の内容の一例を示す図である。
【図15】エントリーリスト441の内容の一例を示す図である。
【図16】ゲームシステム100の第2の動作例を示すシーケンス図である。
【図17】ゲームシステム100の第2の動作例を示すシーケンス図である。
【図18】本発明の実施の形態の変形例1においてプロセッサ11が行う主処理の一部を示すフローチャートである。
【図19】変形例1においてプロセッサ51が行う管理処理の一部を示すフローチャートである。
【図20】変形例1においてプロセッサ41が行うマッチング処理の一部を示すフローチャートである。
【図21】変形例2においてプロセッサ11が行う主処理の一部を示すフローチャートである。
【図22】変形例2においてプロセッサ41が行うマッチング処理の一部を示すフローチャートである。
【符号の説明】
【0100】
10 ゲーム端末
100 ゲームシステム
11、41、51 プロセッサ
14 入力部
17、42、52 通信インターフェイス
40 サーバ装置
50 管理装置
54 書き換え可能メモリ
5A、5B、5C、… 端末群
【特許請求の範囲】
【請求項1】
親ノードとして選択されている1つのゲーム端末と一定の帯域幅を専用して前記親ノードと通信する子ノードとして選択されている子数のゲーム端末から構成されるグループ単位でプレイヤーに前記ゲームを行わせるゲームシステムであって、
前記子数は上限および下限を有する子数範囲内で前記グループ毎に可変であり、
それぞれに互いに異なる通信路が割り当てられ、各々に割り当てられた通信路を共用する複数のゲーム端末をそれぞれ含む複数の端末群と、
前記複数の端末群の前記複数のゲーム端末から1つのゲーム端末を親ノードとして選択するとともに前記1つのゲーム端末を除く前記子数のゲーム端末の各々を子ノードとして選択することによって前記グループを結成するサーバ装置とを有し、
前記複数の端末群の前記複数のゲーム端末の各々は、
プレイヤーの指示を入力するための入力部と、
前記入力部を用いて所定の指示が入力されると、前記一定の帯域幅以上かつ当該ゲーム端末に用いられる通信路の帯域幅の残量以下の帯域幅を確保する確保部と、
前記確保部によって確保された帯域幅を示すとともに前記グループの結成を要求する結成要求を前記サーバ装置へ送信する結成要求送信部と、
前記グループの構成を示すグループデータを受信するグループデータ受信部と、
前記グループデータに基づいて前記ゲーム中の通信を制御する制御部と、
前記確保部によって確保された帯域幅と前記グループデータに示される構成の前記グループにおいて当該ゲーム端末に必要となる帯域幅との差を、開放すべき帯域幅として特定する開放特定部と、
前記開放すべき帯域幅を開放する開放部とを有し、
前記サーバ装置は、
前記結成要求を受信する結成要求受信部と、
前記結成要求に示される帯域幅を示す確保量データを当該結成要求の送信元のゲーム端末に対応付けて記憶する確保量記憶部と、
前記確保量記憶部に記憶されている前記確保量データに基づいて前記グループを結成する結成部と、
結成された前記グループを構成するゲーム端末の各々へ当該グループの前記グループデータを送信するグループデータ送信部とを有し、
前記結成部は、前記グループの結成において、前記確保量記憶部に記憶されている前記確保量データに対応するゲーム端末のうち当該グループの前記子数よりも多いゲーム端末について前記確保量データに示される帯域幅の比較を行い、当該比較の結果に基づいて当該グループを結成する、
ことを特徴とするゲームシステム。
【請求項2】
前記端末群毎に設けられ、対応する前記端末群の前記複数のゲーム端末とそれぞれ通信可能な複数の管理装置を有し、
前記確保部は、当該ゲーム端末を含む前記端末群に対応する前記管理装置に対して帯域幅の割り当てを要求する割り当て要求を送信する割り当て要求部と、当該ゲーム端末に割り当てられる帯域幅を示す割り当て量データを受信する割り当て受信部とを有し、確保前記割り当て量データに基づいて帯域幅を確保し、
前記開放部は、前記開放すべき帯域幅を示す開放通知を、当該ゲーム端末を含む端末群に対応する管理装置へ送信する開放通知送信部を有し、
前記複数の管理装置の各々は、
対応する前記端末群に割り当てられた通信路の帯域幅の残量を示す残量データを記憶する残量記憶部と、
前記割り当て要求を受信する割り当て要求受信部と、
前記割り当て要求受信部によって前記割り当て要求が受信されると、前記残量データに基づいて、当該割り当て要求の送信元のゲーム端末に割り当てる帯域幅を決定し、当該帯域幅を示す前記割り当て量データを当該割り当て要求の送信元のゲーム端末へ送信し、当該帯域幅の分だけ前記残量が減るように前記残量データを更新する割り当て処理部と、
前記開放通知を受信する開放通知受信部と、
前記開放通知受信部によって前記開放通知が受信されると、当該開放通知に示される帯域幅の分だけ前記残量が増えるように前記残量データを更新する開放処理部とを有する、
ことを特徴とする請求項1に記載のゲームシステム。
【請求項3】
前記結成部は、前記比較により最大であることが判明した帯域幅を示す確保量データに対応する1つのゲーム端末を親ノードとして選択する、
ことを特徴とする請求項1または2に記載のゲームシステム。
【請求項4】
前記結成部は、前記比較により最小であることが判明した帯域幅を示す確保量データに対応する1つのゲーム端末を親ノードとして選択する、
ことを特徴とする請求項1または2に記載のゲームシステム。
【請求項5】
前記確保部は、当該ゲーム端末に用いられる通信路の帯域幅の残量が前記上限に対応する帯域幅より広い場合には前記上限に対応する帯域幅を確保する、
ことを特徴とする請求項1または2に記載のゲームシステム。
【請求項6】
前記下限は2以上であり、
前記確保部は、当該ゲーム端末に用いられる通信路の帯域幅の残量が前記下限に対応する帯域幅より狭い場合には、前記一定の帯域幅を確保する、
ことを特徴とする請求項1または2に記載のゲームシステム。
【請求項7】
前記サーバ装置は、前記結成要求が受信されると、当該結成要求に示される帯域幅が前記上限に対応する帯域幅より広いか否かを判定し、この判定の結果が肯定的であれば、両者の差の帯域幅を示す上限返還データを当該結成要求の送信元のゲーム端末へ送信するとともに当該ゲーム端末に対応付けて前記確保量記憶部が記憶する前記確保量データを前記上限に対応する帯域幅を示すものとする上限返還部を有し、
前記複数の端末群の前記複数のゲーム端末の各々は、
前記上限返還データを受信する上限返還受信部と、
前記上限返還データが受信されると、当該上限返還データに示される帯域幅を前記開放すべき帯域幅として特定する上限受信開放特定部とを有し、
前記開放部は、前記開放すべき帯域幅が特定されると、当該開放すべき帯域幅を開放する、
ことを特徴とする請求項1または2に記載のゲームシステム。
【請求項8】
前記サーバ装置は、前記結成要求が受信されると、当該結成要求に示される帯域幅が前記下限に対応する帯域幅より狭く前記一定の帯域幅より広いか否かを判定し、この判定の結果が肯定的であれば、当該結成要求に示される帯域幅と前記一定の帯域幅との差の帯域幅を示す下限返還データを当該結成要求の送信元のゲーム端末へ送信するとともに当該ゲーム端末に対応付けて前記確保量記憶部に記憶される前記確保量データを前記一定の帯域幅を示すものとする下限返還部を有し、
前記複数の端末群の前記複数のゲーム端末の各々は、
前記下限返還データを受信する下限返還受信部と、
前記下限返還データが受信されると、当該下限返還データに示される帯域幅を前記開放すべき帯域幅として特定する下限受信開放特定部とを有し、
前記開放部は、前記開放すべき帯域幅が特定されると、当該開放すべき帯域幅を開放する、
ことを特徴とする請求項1または2に記載のゲームシステム。
【請求項9】
前記結成部は、前記グループを構成していないゲーム端末に対応付けて前記確保量記憶部に記憶されている前記確保量データの前記確保量記憶部による記憶の契機となった前記結成要求の受信のうち最先の受信から一定の時間が経過していない場合には前記子数を前記上限に制限し、経過している場合には前記子数を前記子数範囲内で任意とする、
ことを特徴とする請求項1または2に記載のゲームシステム。
【請求項10】
前記確保部は、前記割り当て量データが受信されると、当該割り当て量データに示される帯域幅が前記上限に対応する帯域幅より広いか否かを判定し、この判定の結果が肯定的であれば、両者の差の帯域幅を前記開放すべき帯域幅として特定するとともに前記上限に対応する帯域幅を確保する、
ことを特徴とする請求項2に記載のゲームシステム。
【請求項11】
前記確保部は、前記割り当て量データが受信されると、当該割り当て量データに示される帯域幅が前記下限に対応する帯域幅より狭く前記一定の帯域幅より広いかを判定し、この判定の結果が肯定的であれば、当該割り当て量データに示される帯域幅と前記一定の帯域幅との差の帯域幅を前記開放すべき帯域幅として特定するとともに前記一定の帯域幅を確保する、
ことを特徴とする請求項2に記載のゲームシステム。
【請求項12】
親ノードとして選択されている1つのゲーム端末と一定の帯域幅を専用して前記親ノードと通信する子ノードとして選択されている子数のゲーム端末から構成されるグループ単位でプレイヤーに前記ゲームを行わせ、前記子数は上限および下限を有する子数範囲内で前記グループ毎に可変であり、前記上限は2以上であり、それぞれに互いに異なる通信路が割り当てられ、各々に割り当てられた通信路を共用する複数のゲーム端末をそれぞれ含む複数の端末群と、前記複数の端末群の前記複数のゲーム端末から1つのゲーム端末を親ノードとして選択するとともに前記1つのゲーム端末を除く前記子数のゲーム端末の各々を子ノードとして選択することによって前記グループを結成するサーバ装置とを有するゲームシステムのゲーム端末であって、
プレイヤーの指示を入力するための入力部と、
前記入力部を用いて所定の指示が入力されると、前記一定の帯域幅以上かつ自己に用いられる通信路の帯域幅の残量以下の帯域幅を確保する確保部と、
前記確保部によって確保された帯域幅を示すとともに前記グループの結成を要求する結成要求を前記サーバ装置へ送信する結成要求送信部と、
前記グループの構成を示すグループデータを受信するグループデータ受信部と、
前記グループデータに基づいて前記ゲーム中の通信を制御する制御部と、
前記確保部によって確保された帯域幅と前記グループデータに示される構成の前記グループにおいて自己に必要となる帯域幅との差を、開放すべき帯域幅として特定する開放特定部と、
前記開放すべき帯域幅を開放する開放部とを有し、
前記サーバ装置は、
前記結成要求を受信する結成要求受信部と、
前記結成要求に示される帯域幅を示す確保量データを当該結成要求の送信元のゲーム端末に対応付けて記憶する確保量記憶部と、
前記確保量記憶部に記憶されている前記確保量データに基づいて前記グループを結成する結成部と、
結成された前記グループを構成するゲーム端末の各々へ当該グループの前記グループデータを送信するグループデータ送信部とを有し、
前記結成部は、前記グループの結成において、前記確保量記憶部に記憶されている前記確保量データに対応するゲーム端末のうち当該グループの前記子数よりも多いゲーム端末について前記確保量データに示される帯域幅の比較を行い、当該比較の結果に基づいて当該グループを結成する、
ことを特徴とするゲーム端末。
【請求項13】
親ノードとして選択されている1つのゲーム端末と一定の帯域幅を専用して前記親ノードと通信する子ノードとして選択されている子数のゲーム端末から構成されるグループ単位でプレイヤーに前記ゲームを行わせ、前記子数は上限および下限を有する子数範囲内で前記グループ毎に可変であり、前記上限は2以上であり、それぞれに互いに異なる通信路が割り当てられ、各々に割り当てられた通信路を共用する複数のゲーム端末をそれぞれ含む複数の端末群と、前記複数の端末群の前記複数のゲーム端末から1つのゲーム端末を親ノードとして選択するとともに前記1つのゲーム端末を除く前記子数のゲーム端末の各々を子ノードとして選択することによって前記グループを結成するサーバ装置とを有し、前記複数の端末群の前記複数のゲーム端末の各々は、プレイヤーの指示を入力するための入力部と、前記入力部を用いて所定の指示が入力されると、前記一定の帯域幅以上かつ当該ゲーム端末に用いられる通信路の帯域幅の残量以下の帯域幅を確保する確保部と、前記確保部によって確保された帯域幅を示すとともに前記グループの結成を要求する結成要求を前記サーバ装置へ送信する結成要求送信部と、前記グループの構成を示すグループデータを受信するグループデータ受信部と、前記グループデータに基づいて前記ゲーム中の通信を制御する制御部と、前記確保部によって確保された帯域幅と前記グループデータに示される構成の前記グループにおいて当該ゲーム端末に必要となる帯域幅との差を、開放すべき帯域幅として特定する開放特定部と、前記開放すべき帯域幅を開放する開放部とを有する、ゲームシステムのサーバ装置であって、
前記結成要求を受信する結成要求受信部と、
前記結成要求に示される帯域幅を示す確保量データを当該結成要求の送信元のゲーム端末に対応付けて記憶する確保量記憶部と、
前記確保量記憶部に記憶されている前記確保量データに基づいて前記グループを結成する結成部と、
結成された前記グループを構成するゲーム端末の各々へ当該グループの前記グループデータを送信するグループデータ送信部とを有し、
前記結成部は、前記グループの結成において、前記確保量記憶部に記憶されている前記確保量データに対応するゲーム端末のうち当該グループの前記子数よりも多いゲーム端末について前記確保量データに示される帯域幅の比較を行い、当該比較の結果に基づいて当該グループを結成する、
ことを特徴とするサーバ装置。
【請求項1】
親ノードとして選択されている1つのゲーム端末と一定の帯域幅を専用して前記親ノードと通信する子ノードとして選択されている子数のゲーム端末から構成されるグループ単位でプレイヤーに前記ゲームを行わせるゲームシステムであって、
前記子数は上限および下限を有する子数範囲内で前記グループ毎に可変であり、
それぞれに互いに異なる通信路が割り当てられ、各々に割り当てられた通信路を共用する複数のゲーム端末をそれぞれ含む複数の端末群と、
前記複数の端末群の前記複数のゲーム端末から1つのゲーム端末を親ノードとして選択するとともに前記1つのゲーム端末を除く前記子数のゲーム端末の各々を子ノードとして選択することによって前記グループを結成するサーバ装置とを有し、
前記複数の端末群の前記複数のゲーム端末の各々は、
プレイヤーの指示を入力するための入力部と、
前記入力部を用いて所定の指示が入力されると、前記一定の帯域幅以上かつ当該ゲーム端末に用いられる通信路の帯域幅の残量以下の帯域幅を確保する確保部と、
前記確保部によって確保された帯域幅を示すとともに前記グループの結成を要求する結成要求を前記サーバ装置へ送信する結成要求送信部と、
前記グループの構成を示すグループデータを受信するグループデータ受信部と、
前記グループデータに基づいて前記ゲーム中の通信を制御する制御部と、
前記確保部によって確保された帯域幅と前記グループデータに示される構成の前記グループにおいて当該ゲーム端末に必要となる帯域幅との差を、開放すべき帯域幅として特定する開放特定部と、
前記開放すべき帯域幅を開放する開放部とを有し、
前記サーバ装置は、
前記結成要求を受信する結成要求受信部と、
前記結成要求に示される帯域幅を示す確保量データを当該結成要求の送信元のゲーム端末に対応付けて記憶する確保量記憶部と、
前記確保量記憶部に記憶されている前記確保量データに基づいて前記グループを結成する結成部と、
結成された前記グループを構成するゲーム端末の各々へ当該グループの前記グループデータを送信するグループデータ送信部とを有し、
前記結成部は、前記グループの結成において、前記確保量記憶部に記憶されている前記確保量データに対応するゲーム端末のうち当該グループの前記子数よりも多いゲーム端末について前記確保量データに示される帯域幅の比較を行い、当該比較の結果に基づいて当該グループを結成する、
ことを特徴とするゲームシステム。
【請求項2】
前記端末群毎に設けられ、対応する前記端末群の前記複数のゲーム端末とそれぞれ通信可能な複数の管理装置を有し、
前記確保部は、当該ゲーム端末を含む前記端末群に対応する前記管理装置に対して帯域幅の割り当てを要求する割り当て要求を送信する割り当て要求部と、当該ゲーム端末に割り当てられる帯域幅を示す割り当て量データを受信する割り当て受信部とを有し、確保前記割り当て量データに基づいて帯域幅を確保し、
前記開放部は、前記開放すべき帯域幅を示す開放通知を、当該ゲーム端末を含む端末群に対応する管理装置へ送信する開放通知送信部を有し、
前記複数の管理装置の各々は、
対応する前記端末群に割り当てられた通信路の帯域幅の残量を示す残量データを記憶する残量記憶部と、
前記割り当て要求を受信する割り当て要求受信部と、
前記割り当て要求受信部によって前記割り当て要求が受信されると、前記残量データに基づいて、当該割り当て要求の送信元のゲーム端末に割り当てる帯域幅を決定し、当該帯域幅を示す前記割り当て量データを当該割り当て要求の送信元のゲーム端末へ送信し、当該帯域幅の分だけ前記残量が減るように前記残量データを更新する割り当て処理部と、
前記開放通知を受信する開放通知受信部と、
前記開放通知受信部によって前記開放通知が受信されると、当該開放通知に示される帯域幅の分だけ前記残量が増えるように前記残量データを更新する開放処理部とを有する、
ことを特徴とする請求項1に記載のゲームシステム。
【請求項3】
前記結成部は、前記比較により最大であることが判明した帯域幅を示す確保量データに対応する1つのゲーム端末を親ノードとして選択する、
ことを特徴とする請求項1または2に記載のゲームシステム。
【請求項4】
前記結成部は、前記比較により最小であることが判明した帯域幅を示す確保量データに対応する1つのゲーム端末を親ノードとして選択する、
ことを特徴とする請求項1または2に記載のゲームシステム。
【請求項5】
前記確保部は、当該ゲーム端末に用いられる通信路の帯域幅の残量が前記上限に対応する帯域幅より広い場合には前記上限に対応する帯域幅を確保する、
ことを特徴とする請求項1または2に記載のゲームシステム。
【請求項6】
前記下限は2以上であり、
前記確保部は、当該ゲーム端末に用いられる通信路の帯域幅の残量が前記下限に対応する帯域幅より狭い場合には、前記一定の帯域幅を確保する、
ことを特徴とする請求項1または2に記載のゲームシステム。
【請求項7】
前記サーバ装置は、前記結成要求が受信されると、当該結成要求に示される帯域幅が前記上限に対応する帯域幅より広いか否かを判定し、この判定の結果が肯定的であれば、両者の差の帯域幅を示す上限返還データを当該結成要求の送信元のゲーム端末へ送信するとともに当該ゲーム端末に対応付けて前記確保量記憶部が記憶する前記確保量データを前記上限に対応する帯域幅を示すものとする上限返還部を有し、
前記複数の端末群の前記複数のゲーム端末の各々は、
前記上限返還データを受信する上限返還受信部と、
前記上限返還データが受信されると、当該上限返還データに示される帯域幅を前記開放すべき帯域幅として特定する上限受信開放特定部とを有し、
前記開放部は、前記開放すべき帯域幅が特定されると、当該開放すべき帯域幅を開放する、
ことを特徴とする請求項1または2に記載のゲームシステム。
【請求項8】
前記サーバ装置は、前記結成要求が受信されると、当該結成要求に示される帯域幅が前記下限に対応する帯域幅より狭く前記一定の帯域幅より広いか否かを判定し、この判定の結果が肯定的であれば、当該結成要求に示される帯域幅と前記一定の帯域幅との差の帯域幅を示す下限返還データを当該結成要求の送信元のゲーム端末へ送信するとともに当該ゲーム端末に対応付けて前記確保量記憶部に記憶される前記確保量データを前記一定の帯域幅を示すものとする下限返還部を有し、
前記複数の端末群の前記複数のゲーム端末の各々は、
前記下限返還データを受信する下限返還受信部と、
前記下限返還データが受信されると、当該下限返還データに示される帯域幅を前記開放すべき帯域幅として特定する下限受信開放特定部とを有し、
前記開放部は、前記開放すべき帯域幅が特定されると、当該開放すべき帯域幅を開放する、
ことを特徴とする請求項1または2に記載のゲームシステム。
【請求項9】
前記結成部は、前記グループを構成していないゲーム端末に対応付けて前記確保量記憶部に記憶されている前記確保量データの前記確保量記憶部による記憶の契機となった前記結成要求の受信のうち最先の受信から一定の時間が経過していない場合には前記子数を前記上限に制限し、経過している場合には前記子数を前記子数範囲内で任意とする、
ことを特徴とする請求項1または2に記載のゲームシステム。
【請求項10】
前記確保部は、前記割り当て量データが受信されると、当該割り当て量データに示される帯域幅が前記上限に対応する帯域幅より広いか否かを判定し、この判定の結果が肯定的であれば、両者の差の帯域幅を前記開放すべき帯域幅として特定するとともに前記上限に対応する帯域幅を確保する、
ことを特徴とする請求項2に記載のゲームシステム。
【請求項11】
前記確保部は、前記割り当て量データが受信されると、当該割り当て量データに示される帯域幅が前記下限に対応する帯域幅より狭く前記一定の帯域幅より広いかを判定し、この判定の結果が肯定的であれば、当該割り当て量データに示される帯域幅と前記一定の帯域幅との差の帯域幅を前記開放すべき帯域幅として特定するとともに前記一定の帯域幅を確保する、
ことを特徴とする請求項2に記載のゲームシステム。
【請求項12】
親ノードとして選択されている1つのゲーム端末と一定の帯域幅を専用して前記親ノードと通信する子ノードとして選択されている子数のゲーム端末から構成されるグループ単位でプレイヤーに前記ゲームを行わせ、前記子数は上限および下限を有する子数範囲内で前記グループ毎に可変であり、前記上限は2以上であり、それぞれに互いに異なる通信路が割り当てられ、各々に割り当てられた通信路を共用する複数のゲーム端末をそれぞれ含む複数の端末群と、前記複数の端末群の前記複数のゲーム端末から1つのゲーム端末を親ノードとして選択するとともに前記1つのゲーム端末を除く前記子数のゲーム端末の各々を子ノードとして選択することによって前記グループを結成するサーバ装置とを有するゲームシステムのゲーム端末であって、
プレイヤーの指示を入力するための入力部と、
前記入力部を用いて所定の指示が入力されると、前記一定の帯域幅以上かつ自己に用いられる通信路の帯域幅の残量以下の帯域幅を確保する確保部と、
前記確保部によって確保された帯域幅を示すとともに前記グループの結成を要求する結成要求を前記サーバ装置へ送信する結成要求送信部と、
前記グループの構成を示すグループデータを受信するグループデータ受信部と、
前記グループデータに基づいて前記ゲーム中の通信を制御する制御部と、
前記確保部によって確保された帯域幅と前記グループデータに示される構成の前記グループにおいて自己に必要となる帯域幅との差を、開放すべき帯域幅として特定する開放特定部と、
前記開放すべき帯域幅を開放する開放部とを有し、
前記サーバ装置は、
前記結成要求を受信する結成要求受信部と、
前記結成要求に示される帯域幅を示す確保量データを当該結成要求の送信元のゲーム端末に対応付けて記憶する確保量記憶部と、
前記確保量記憶部に記憶されている前記確保量データに基づいて前記グループを結成する結成部と、
結成された前記グループを構成するゲーム端末の各々へ当該グループの前記グループデータを送信するグループデータ送信部とを有し、
前記結成部は、前記グループの結成において、前記確保量記憶部に記憶されている前記確保量データに対応するゲーム端末のうち当該グループの前記子数よりも多いゲーム端末について前記確保量データに示される帯域幅の比較を行い、当該比較の結果に基づいて当該グループを結成する、
ことを特徴とするゲーム端末。
【請求項13】
親ノードとして選択されている1つのゲーム端末と一定の帯域幅を専用して前記親ノードと通信する子ノードとして選択されている子数のゲーム端末から構成されるグループ単位でプレイヤーに前記ゲームを行わせ、前記子数は上限および下限を有する子数範囲内で前記グループ毎に可変であり、前記上限は2以上であり、それぞれに互いに異なる通信路が割り当てられ、各々に割り当てられた通信路を共用する複数のゲーム端末をそれぞれ含む複数の端末群と、前記複数の端末群の前記複数のゲーム端末から1つのゲーム端末を親ノードとして選択するとともに前記1つのゲーム端末を除く前記子数のゲーム端末の各々を子ノードとして選択することによって前記グループを結成するサーバ装置とを有し、前記複数の端末群の前記複数のゲーム端末の各々は、プレイヤーの指示を入力するための入力部と、前記入力部を用いて所定の指示が入力されると、前記一定の帯域幅以上かつ当該ゲーム端末に用いられる通信路の帯域幅の残量以下の帯域幅を確保する確保部と、前記確保部によって確保された帯域幅を示すとともに前記グループの結成を要求する結成要求を前記サーバ装置へ送信する結成要求送信部と、前記グループの構成を示すグループデータを受信するグループデータ受信部と、前記グループデータに基づいて前記ゲーム中の通信を制御する制御部と、前記確保部によって確保された帯域幅と前記グループデータに示される構成の前記グループにおいて当該ゲーム端末に必要となる帯域幅との差を、開放すべき帯域幅として特定する開放特定部と、前記開放すべき帯域幅を開放する開放部とを有する、ゲームシステムのサーバ装置であって、
前記結成要求を受信する結成要求受信部と、
前記結成要求に示される帯域幅を示す確保量データを当該結成要求の送信元のゲーム端末に対応付けて記憶する確保量記憶部と、
前記確保量記憶部に記憶されている前記確保量データに基づいて前記グループを結成する結成部と、
結成された前記グループを構成するゲーム端末の各々へ当該グループの前記グループデータを送信するグループデータ送信部とを有し、
前記結成部は、前記グループの結成において、前記確保量記憶部に記憶されている前記確保量データに対応するゲーム端末のうち当該グループの前記子数よりも多いゲーム端末について前記確保量データに示される帯域幅の比較を行い、当該比較の結果に基づいて当該グループを結成する、
ことを特徴とするサーバ装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【公開番号】特開2008−29434(P2008−29434A)
【公開日】平成20年2月14日(2008.2.14)
【国際特許分類】
【出願番号】特願2006−203997(P2006−203997)
【出願日】平成18年7月26日(2006.7.26)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
【公開日】平成20年2月14日(2008.2.14)
【国際特許分類】
【出願日】平成18年7月26日(2006.7.26)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
[ Back to top ]