JP3625285B2 - ネットワークゲームシステム、そのゲーム機及びそのコンピュータプログラム - Google Patents
ネットワークゲームシステム、そのゲーム機及びそのコンピュータプログラム Download PDFInfo
- Publication number
- JP3625285B2 JP3625285B2 JP2002095088A JP2002095088A JP3625285B2 JP 3625285 B2 JP3625285 B2 JP 3625285B2 JP 2002095088 A JP2002095088 A JP 2002095088A JP 2002095088 A JP2002095088 A JP 2002095088A JP 3625285 B2 JP3625285 B2 JP 3625285B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- game machine
- game
- function unit
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、ネットワーク上で展開されるネットワークゲームシステム、そのネットワークゲームシステムに接続されるゲーム機、及びそのゲーム機に実装されるプログラムに関する。
【0002】
【従来の技術】
複数のゲーム機相互間においてゲームを競い合い、そのデータの調整を1のコンピュータによって行うゲーム態様がある。このゲーム態様は、通常はその複数のゲーム機をクライアント端末とし、データ調整を行うコンピュータをサーバとするクライアント・サーバ型ネットワークによって実現されている。このゲーム態様はネットワークゲームシステムと呼ばれ、この態様を構築する方法として従来は次の2通りが考えられていた。第1の方法は複数のゲーム機とサーバがゲームセンター等の店舗内において店舗内LANを構築する方法である。第2の方法は店舗内においては複数のゲーム機のみを設置し、そのゲーム機各々を所定のネットワークを介して店舗と異なる場所に設置されたセンターサーバに接続する方法である。
【0003】
【発明が解決しようとする課題】
第1の方法においては、サーバに接続されるゲーム機は店舗の広さを考慮しても最大8台程度である。すなわちゲーム機が最大8台につきサーバは1台必要となる。従って製造コストが高くなり、また、サーバは実質的な利益はあげないので店舗に無駄な場所を取ることとなる。サーバが故障するとそのサーバに接続されたゲーム機すべてのゲーム機能に機能停止、機能制限等の影響を及ぼす。
【0004】
第2の方法においては、センタサーバが1の店舗内における複数のゲーム機だけでなく、ネットワークに接続された全国におけるゲーム機すべてのデータ調整を行わなければならない。よって当該センタサーバに非常に高い処理能力が必要とされる。センタサーバに接続するための長距離用のネットワーク媒体が必要となる。センタサーバにトラブルが発生すると当該センタサーバに接続された全国のゲーム機すべてのゲーム機能に機能停止、機能制限等の影響を及ぼす。
【0005】
センタサーバの負荷の軽減を目的として、ネットワークにおける端末にサーバ機能を持たせる技術は公知である(例えば特開2001−195359号公報、特開2001−216150号公報参照)。しかし、これらの公知例は、いずれもサーバと決定された端末が固定的であり、サーバとして決定された端末がダウンした場合はその影響がすべての端末におよび、システム全体がダウンしてしまう。そして、その解決策は上記公報には開示されていない。
【0006】
そこで、本発明は、コスト高で場所を取るサーバを必要とせず、かつセンタサーバの負荷を減らし、更にネットワーク上のどのゲーム機にトラブルが発生してもゲームの進行状況に影響を与えないネットワークゲームシステム、当該システムに接続されるゲーム機、及びそのゲーム機のためのプログラムを提供することを目的とする。
【0007】
【課題を解決するための手段】
以下、本発明について説明する。なお、本発明の理解を容易にするために添付図面の参照符号を括弧書きにて付記するが、それにより本発明が図示の形態に限定されるものではない。所定の単位(A、B、C)でグループ化(2、12、22)された複数のゲーム機(1a…1d、11a…11d、21a…21d)がクライアント端末としてセンタサーバ(5)と所定のネットワーク(4)を介して接続され、前記センタサーバによって管理されるデータを利用した所定のゲームを各ゲーム機によって実行可能としたネットワークゲームシステムにおいて、前記グループ化がLANで構成され、当該LANでグループ化されてなる同一グループ内の複数のゲーム機のそれぞれがサーバ機能部(50)、クライアント機能部(51)および調停機能部(60、61)を有し、前記サーバ機能部は、前記同一グループ内の各ゲーム機のクライアント機能部との間のデータ通信を実行するグループ内通信手段(80、90…93)と、前記ネットワークを介した前記センタサーバとの間のデータ通信を実行するサーバ間通信手段(55)と、前記グループ内通信手段及び前記サーバ間通信手段を介して取得したデータに応じて定められた処理を実行するサーバ処理手段(70…74)とを含み、前記クライアント機能部は、前記サーバ機能部との間のデータ通信を実行するクライアント通信手段と、(81、94)前記クライアント通信手段を介して前記サーバ機能部から取得したデータを参照して所定のゲームを実行するゲーム実行手段(75)とを含み、前記調停機能部は、自己のゲーム機が前記同一グループ内のサーバとして機能している場合、前記同一グループ内の全てのゲーム機を対象として、自己が前記サーバとして機能していることを示す情報を、前記自己のグループ内通信手段から定期的に送信させると共に、自己のゲーム機が前記サーバとして機能しているか否かに拘わり無く、前記情報の受信状況を監視する手段と、前記同一グループ内の他のゲーム機から送信される前記情報の受信状況に基づいて前記サーバとして機能すべきゲーム機を選択し、自己が前記サーバとして選択された場合は、自己の前記サーバ機能部を起動させ、前記サーバとして選択されない場合は自己の前記サーバ機能部を休止させる選択する手段と、を備え、前記監視する手段によって前記他のゲーム機から送信される前記情報が受信されたと判断された場合、前記選択する手段は、前記情報に含まれる発信時期の情報により前記情報の発信時期の先後に基づいてデータにより前記サーバとして機能すべきゲーム機を選択し、自己が前記サーバとして選択された場合は、前記情報に含まれる前記発信時期の情報を送信したゲーム機のアドレスを、自己とデータ通信を実行する前記クライアント機能部を有するゲーム機のアドレスとして自己の前記グループ内通信手段に設定し、前記情報を送信した前記ゲーム機が前記サーバとして選択された場合は、その選択されたゲーム機のアドレスを、自己とデータ通信を実行する前記サーバ機能部を有するゲーム機のアドレスとして自己の前記クライアント通信手段に設定することを特徴とするネットワークゲームシステムによって上記の課題を解決する。
【0008】
本発明によるネットワークゲームシステムによれば、所定の同一グループ内にゲーム機としても機能するサーバとしての機能を有するゲーム機を設けるので、センタサーバの負荷を軽減することができ、かつ省スペースおよび低コストを図ることができる。また、各ゲーム機はどのゲーム機もサーバとなり得る機能及びサーバを選択する調停機能を有しており、監視する手段によって、自己がサーバとして機能していることを示す情報の受信状況を監視し、他のゲーム機からの情報を受信した場合に、その情報に含まれる発信時期の情報によりサーバを選択し、かつその情報により当該他のゲーム機をサーバとして設定することができる。これにより、例えば、最初に決定された同一グループ内のサーバがダウンした場合であっても、当該調停機能によって次のサーバを当該同一グループ内の他のゲーム機の中から適宜決定することができる。また、複数のゲーム機がサーバ機能部を起動した場合であっても、1のゲーム機を次のサーバとして選択することができる。よって、安定したゲーム世界の提供ができ、店舗の損失を最小限に抑えることが可能である。
【0009】
請求項1に記載のネットワークゲームシステムにおいて、前記調停機能部は、クライアント調停部及びサーバ調停部とを含み、前記クライアント調停部は、自己が前記サーバとして機能しているか否かに拘わらず前記情報の受信状況を監視し、前記選択する手段によって前記サーバとして選択されたゲーム機のアドレスを自己のクライアント通信手段へ設定し、前記サーバ調停部は、自己が前記サーバとして機能している時に前記情報の受信状況を監視し、前記選択する手段によって自己が前記サーバとして選択された場合は、前記情報を送信したゲーム機のアドレスを前記グループ内通信手段に設定し、前記情報を送信したゲーム機が前記サーバとして選択された場合は、自己の前記サーバ機能部を休止してもよい。
【0010】
本発明によれば、調停機能部が行う処理をサーバ調停部とクライアント調停部に分割し、例えば、サーバ調停部をサーバ機能部に含ませクライアント調停部をクライアント機能部に含ませてもよい。
【0011】
前記監視手段によって前記情報が一定期間受信されていないと判断された場合、前記選択する手段は、自己のゲーム機の前記サーバ機能部を起動して、自己が前記サーバとして機能していることを示す情報を前記同一グループ内の全てのゲーム機を対象として前記自己のグループ内通信手段から送信させてもよい。
【0012】
この選択する手段によれば、サーバがダウンした場合に前記同一グループ内における他のゲーム機が自己が有するサーバ機能部を起動し、その起動したことの情報を発信する。よって、同一グループ内の各ゲーム機のクライアント機能部ではかかる情報に基づいて同一グループ内における次のサーバを決定することができる。
【0015】
また、前記選択する手段は、前記発信時期が早いゲーム機を優先して選択しもよい。
【0016】
これによれば、複数のゲーム機が前記情報を発信した場合、最も早くサーバとして稼動開始したゲーム機が次のサーバとして選択することができる。
【0017】
前記選択する手段において、各ゲーム機にはサーバとして選択される優先順位が予め設定され、前記発信時期の時間的先後関係による選択が不可能な場合には前記優先順位に基づいて前記次のサーバとして機能させるべきゲーム機を選択してもよい。
【0018】
これによって、例えば、予めゲーム機に番号を付し、かかるゲーム機番号の小さい順あるいは大きい順に優先順位を決めておけば、前記情報を発信した時期の先後関係では選択不可能な場合であっても1のゲーム機を次のサーバとして選択することができる。
【0019】
前記サーバ機能部における前記グループ内通信手段が、前記同一グループ内における各ゲーム機と1対1に設けられているサーバ受信部(90…93)を有していてもよい。
【0020】
これにより、異なる送信元から送信されたデータであっても送信元を判別する処理が不要となる。
【0021】
前記サーバ機能部における前記サーバ処理手段が、前記複数のサーバ受信部と1対1に設けられていてもよい。
【0022】
これにより、異なる送信元から送信されたデータに基づく処理を並列して行うことができ、処理速度の向上を図ることができる。
【0023】
前記ネットワークがインターネットで構成されていてもよい。これにより、ネットワークゲームシステムをイントラネットとして構築することができ、世界中のゲーム機と容易に接続可能となる。
【0024】
前記所定の単位は、店舗単位でもよい。これにより1店舗につき1の店舗内LANを有することになるので保守、運用が容易となり、また、センタサーバにおける各LANの管理も容易となる。
【0025】
クライアント端末として所定の単位でグループ化され、所定のネットワークを介してセンタサーバと接続されたゲーム機であって、前記センタサーバが管理するデータを利用して所定のゲームを実行することができるゲーム機において、前記ゲーム機はサーバ機能部、クライアント機能部および調停機能部を有し、前記サーバ機能部は、同一グループ内の各ゲーム機のクライアント機能部との間のデータ通信を実行するグループ内通信手段と、前記ネットワークを介した前記センタサーバとの間のデータ通信を実行するサーバ間通信手段と、前記グループ内通信手段及び前記サーバ間通信手段を介して取得したデータに応じて定められた処理を実行するサーバ処理手段とを含み、前記クライアント機能部は、前記サーバ機能部との間のデータ通信を実行するクライアント通信手段と、前記クライアント通信手段を介して前記サーバ機能部から取得したデータを参照して所定のゲームを実行するゲーム実行手段とを含み、前記調停機能部は、自己のゲーム機が前記同一グループ内のサーバとして機能している場合、前記同一グループ内の全てのゲーム機を対象として、自己が前記サーバとして機能していることを示す情報を、前記自己のグループ内通信手段から定期的に送信させると共に、自己のゲーム機が前記サーバとして機能しているか否かに拘わり無く、前記情報の受信状況を監視する手段と、前記同一グループ内の他のゲーム機から送信される前記情報の受信状況に基づいて前記サーバとして機能すべきゲーム機を選択し、自己が前記サーバとして選択された場合は自己の前記サーバ機能部を起動させ、前記サーバとして選択されない場合は自己の前記サーバ機能部を休止する選択する手段と、を備え、前記監視する手段によって前記他のゲーム機から送信される前記情報が受信されたと判断された場合、前記選択する手段は、前記情報に含まれる発信時期の情報により前記情報の発信時期の先後に基づいて前記サーバとして機能すべきゲーム機を選択し、自己が前記サーバとして選択された場合は、前記情報に含まれる前記発信時期の情報を送信したゲーム機のアドレスを、自己とデータ通信を実行する前記クライアント機能部を有するゲーム機のアドレスとして自己の前記グループ内通信手段に設定し、前記情報を送信した前記ゲーム機が前記サーバとして選択された場合は、その選択されたゲーム機のアドレスを、自己とデータ通信を実行する前記サーバ機能部を有するゲーム機のアドレスとして自己の前記クライアント通信手段に設定することを特徴とするゲーム機によって上記の課題を解決する。
【0026】
本発明によるゲーム機によれば、所定の同一グループ内にゲーム機としても機能するサーバとしての機能を有するので、センタサーバの負荷を軽減することができ、かつ省スペースおよび低コストを図ることができる。また、各ゲーム機はどのゲーム機もサーバとなり得る機能及びサーバを選択する調停機能を有しており、監視する手段によって、自己がサーバとして機能していることを示す情報の受信状況を監視し、他のゲーム機からの情報を受信した場合に、その情報に含まれる発信時期の情報によりサーバを選択し、かつその情報により当該他のゲーム機をサーバとして設定することができる。これにより、例えば、最初に決定された同一グループ内のサーバがダウンした場合であっても、当該調停機能によって次のサーバを当該同一グループ内の他のゲーム機の中から適宜決定することができる。また、複数のゲーム機がサーバ機能部を起動した場合であっても、1のゲーム機を次のサーバとして選択することができる。よって、安定したゲーム世界の提供ができ、店舗の損失を最小限に抑えることが可能である。
【0027】
クライアント端末として所定の単位でグループ化され、所定のネットワークを介してセンタサーバと接続されたゲーム機であって、前記センタサーバが管理するデータを利用して所定のゲームを実行するコンピュータとしてのゲーム機にて作用されるプログラムにおいて、前記ゲーム機を、サーバ機能部、クライアント機能部及び調停機能部として機能させるように構成され、前記サーバ機能部は、同一グループ内の各ゲーム機のクライアント機能との間のデータ通信を実行するグループ内通信手段と、前記ネットワークを介した前記センタサーバとの間のデータ通信を実行するサーバ間通信手段と、前記グループ内通信手段及び前記サーバ間通信手段を介して取得したデータに応じて定められた処理を実行するサーバ処理手段とを含み、前記クライアント機能部は、前記サーバ機能部との間のデータ通信を実行するクライアント通信手段と、前記クライアント通信手段を介して前記サーバ機能部から取得したデータを参照して所定のゲームを実行するゲーム実行手段とを含み、前記調停機能部は、自己のゲーム機が前記同一グループ内のサーバとして機能している場合、前記同一グループ内の全てのゲーム機を対象として、自己が前記サーバとして機能していることを示す情報を、前記自己のグループ内通信手段から定期的に送信させると共に、自己のゲーム機が前記サーバとして機能しているか否かに拘わり無く、前記情報の受信状況を監視する手段と、前記同一グループ内の他のゲーム機から送信される前記情報の受信状況に基づいて前記サーバとして機能すべきゲーム機を選択し、自己が前記サーバとして選択された場合は自己の前記サーバ機能部を起動させ、前記サーバとして選択されない場合は、自己のサーバ機能部を休止させる選択する手段と、を備え、前記監視する手段によって前記他のゲーム機から送信される前記情報が受信されたと判断された場合、前記選択する手段は、前記情報に含まれる発信時期の情報によりその前記情報の発信時期の先後に基づいて前記サーバとして機能すべきゲーム機を選択し、自己が前記サーバとして選択された場合は、前記情報に含まれる前記発信時期の情報を送信したゲーム機のアドレスを、自己とデータ通信を実行する前記クライアント機能部を有するゲーム機のアドレスとして自己の前記グループ内通信手段に設定し、前記情報を送信した前記ゲーム機が前記サーバとして選択された場合は、前記アドレスを、自己とデータ通信を実行する前記サーバ機能部を有するゲーム機のアドレスとして自己の前記クライアント通信手段に設定することを特徴とするプログラムによって上記の課題を解決する。
【0028】
本発明によるプログラムによれば、コンピュータとしてのゲーム機を、所定の同一グループ内にゲーム機としても機能するサーバとしての機能を有するゲーム機として機能させるので、センタサーバの負荷を軽減することができ、かつ省スペースおよび低コストを図ることができる。また、各ゲーム機はどのゲーム機もサーバとなり得る機能及びサーバを選択する調停機能を有しており、監視する手段によって、自己がサーバとして機能していることを示す情報の受信状況を監視し、他のゲーム機からの情報を受信した場合に、その情報に含まれる発信時期の情報によりサーバを選択し、かつその情報により当該他のゲーム機をサーバとして設定することができる。これにより、例えば、最初に決定された同一グループ内のサーバがダウンした場合であっても、当該調停機能によって次のサーバを当該同一グループ内の他のゲーム機の中から適宜決定することができる。また、複数のゲーム機がサーバ機能部を起動した場合であっても、1のゲーム機を次のサーバとして選択することができる。よって、安定したゲーム世界の提供ができ、店舗の損失を最小限に抑えることが可能である。
【0029】
【発明の実施の形態】
図1は本発明における一実施形態を示すネットワークゲームシステム構成図である。ネットワークゲームシステムはネットワーク4を介して各ゲーム機1a…1d、11a…11d、21a…21d及びセンタサーバ5間において一意のゲーム世界を構築するネットワークゲームシステムである。まず、ネットワークゲームシステムのハードウェアの構成から説明する。センタサーバ5と店舗内LAN2、12、22がネットワーク4を介して接続される。店舗内LAN2、12、22には各々店舗A、B、Cに設置されたゲーム機1a…1d、11a…11d、21a…21dが接続される。すなわち、店舗単位でグループが構成されている。各店舗内LAN2、12、22はクライアント・サーバ型で構築され、例えば店舗内LAN2においては所定の条件に従ってゲーム機1a…1dのうち1台、例えば1aが店舗内サーバ兼クライアント端末(以下「店舗内サーバ」という)であり、他のゲーム機1b…1dはクライアント端末である。以下、各店舗A、B、Cにおける各店舗内LAN2、12、22についての説明はすべて同様であるので店舗Aの店舗内サーバをゲーム機1aとする店舗内LAN2を例にして説明する。
【0030】
全国の各ゲーム機1a…1d、11a…11d、21a…21d上で各プレイヤーがゲームを展開し、これらのゲーム機間でゲームを競う。ゲーム機1a…1dは店舗内サーバ機能もクライアント端末の機能も有しており、店舗内LAN2内においてゲーム機1a…1d同士の調停により店舗内LAN2につき1台が店舗内サーバ1aとなる。
【0031】
店舗内サーバ1aは他のゲーム機1b…1dと同様にゲーム機としてプレイヤーがゲームを実施することができる。店舗内サーバ1aは店舗内LAN2における他のゲーム機1b…1dのデータをまとめてセンタサーバ5とのデータをやりとりする窓口となるが、店舗内A単位で処理が足りるものについては店舗内サーバ1a内で処理を行う。また、店舗内サーバ1aは当該ゲーム世界の進行状況を店舗内LAN2に接続されているすべてのゲーム機1a…1dに保存する。
【0032】
センタサーバ5は各店舗内サーバを通じて全国におけるゲーム機1a…1d、11a…11d、21a…21dの各ゲーム進行状況を把握し、これら全国のゲーム機間1a…1d、11a…11d、21a…21dで統一した調整が必要なデータのみを取り扱う。
【0033】
尚、ゲーム機1a…1dに付された0から3の番号はゲーム機番号といい、店舗内LAN2に接続されたゲーム機を識別するための記号である。よって、連番である必要はないが、同一店舗LAN内においてはすべて異なるゲーム機番号を付さなければいけない。
【0034】
本実施形態ではネットワーク4及び店舗内LAN2、12、22は通信プロトコルとしてTCP/IPを利用するが、その他の通信プロトコルであってもよい。店舗内LAN2、12、22は無線、有線を問わず、またそのトポロジも問わない。なお、ネットワーク4に接続される店舗内LAN2,12,22の数、各店舗における店舗内LANの数及び各店舗内LAN2、12、22に接続されたゲーム機1a…1d、11a…11d、21a…21dの台数は図1に示した数に限られない。また、店舗とは通常のゲームセンター等のゲームの提供を主体とする店舗の他、ホテル等の1コーナーとして設けられるゲームコーナーやネットワーク上の仮想店舗等も含むが、店舗形態にとらわれず複数のゲーム機が所定の単位でグループ化されていればよい。
【0035】
図2はゲーム機1a…1d、11a…11d、21a…21dの内部構造における処理別部門とそれら処理別部門間のデータの流れを示す図である。各ゲーム機1a…1d、11a…11d、21a…21dの内部構造は全く同じであり、サーバ機能部50とクライアント機能部51を有する。サーバ機能部50にはサーバ調停部60、サーバ処理部70…74、サーバ受信部90…93及びサーバ送信部80が含まれ、クライアント機能部51にはクライアント調停部61、クライアント処理部75、クライアント受信部94、クライアント送信部81、ゲーム実行部95が含まれている。本実施形態ではサーバ受信部の負荷を軽減するため、クライアント端末すなわちゲーム機1a…1dと1対1に対応してサーバ受信部90…93が用意されているが、1つにまとめても良い。なお、図中の各サーバ受信部に付された番号0…3はゲーム機番号を示す。また、サーバ処理部71…74も1つにまとめてもよいが、本実施形態では、各サーバ受信部90…93に1対1に対応してサーバ処理部71…74が設けられている。これによって各サーバ処理部71…74で行われる処理を並行して行うことができ、処理速度の向上を図ることができる。これらサーバ処理部71…74は共有データを保護するためにスレッドセーフな構造になっている。また、各ゲーム機間で統一した管理が必要なデータ、すなわちゲーム世界に関するデータを管理する部門としてサーバ処理部(メイン)が設けられている。例えば、所定の国を奪い合うゲームにおいては、「どの国は誰が城主で現在誰が攻めているか」といったゲーム世界を定義するデータをサーバ処理部(メイン)が管理する。
【0036】
各処理別部門は本実施形態ではソフトウェアによって実現されるが、ハードウェアによって実現されてもよい。ただし、ソフトウェアとして実現した方が保守、バージョンアップ等の運用面で便利である。なお、図中の矢印はデータの流れを示すデータバスである。実線矢印はソフトウェア部門間通信、破線矢印は筐体間通信を示す。
【0037】
なお、サーバ送信部80とサーバ受信部90…93がグループ内通信手段を構成し、インターネット送受信部55がサーバ間通信手段を構成し、サーバ処理部70…74がサーバ処理手段を構成し、クライアント受信部94及びクライアント送信部81がクアイアント通信手段を構成し、サーバ調停部60及びクライアント調停部61が調停機能部を構成するが、各手段は図示した各処理別部門に限定はされない。
【0038】
以下、各部門の処理内容とデータの流れについて店舗Aにおける店舗内LAN2を例に説明する。各ゲーム機1a…1dにおけるクライアント送信部81は店舗内サーバ1aのアドレスが記憶されており、当該ゲーム機1a…1dにインストールされているゲームアプリケーションからの要求を各ゲーム機1a…1dから店舗内サーバ1aへバス100を介して送信する。サーバ受信部90…93はゲーム機1a…1dの各クライアント送信部81からの要求を受信する。ゲーム機1a…1dとサーバ受信部90…93は1対1に対応するように設定されているので、例えばゲーム機1bからの要求はサーバ受信部91のみが受信する。受信したデータは原則的にはサーバ処理部70…74へバス101,102を介して渡される。ただし、時間のかからない処理は当該データを受信したサーバ受信部90…93が処理する。
【0039】
サーバ処理部71…74はサーバ受信部と1対1に対応するように設けられているので、各サーバ処理部71…74は各サーバ受信部90…93から渡されたデータに対する処理のみを行う。例えばサーバ受信部91で受信されたデータはサーバ処理部72で処理される。サーバ処理部70…74で処理された処理結果はバス103a、103bを介してサーバ送信部80へ渡される。その渡されたデータをサーバ送信部80はサーバ処理部70…74によって指定されたクライアント端末1a…1dへバス104を介して送信する。このサーバ送信部80は1つしかないが、ブロードキャスト、マルチキャスト及びシングル送信をデータの用途によって適宜切り替えて送信することが可能である。ここで、ブロードキャストとはサーバが把握していないゲーム機を含め店舗内LAN2内の全てのゲーム機1a…1dに送信を行うことをいい、当該システムにおいては自機が店舗内サーバとなる立候補をしたことを同一店舗内LAN2に全ゲーム機1a…1dへ知らせるサーバ宣言を行う際に利用する。マルチキャストとは店舗内サーバ1aが把握しているすべてのゲーム機、例えばゲーム機1a…1cへ送信を行うことをいい、シングル送信とは指定した1のゲーム機、例えばゲーム機1dへ送信を行うことをいう。
【0040】
各ゲーム機1a…1dのクライアント受信部94は店舗内サーバ1aのサーバ送信部80から送信されたデータを受信し、受信したデータをクライアント処理部75またはクライアント調停部61へバス105、106を介して渡す。
【0041】
クライアント処理部75はクライアント受信部94から渡されたデータを処理する。処理によって店舗内サーバ1aやセンタサーバ5へアクセスを要する場合はクライアント送信部81へ要求内容をバス107を介して伝える。
【0042】
ゲーム実行部95は、実際に所定のゲームを実行する。ゲーム開始時の初期設定やゲーム実行の際に必要なるデータは、このゲーム実行部95が店舗内サーバ1aまたはセンタサーバ5への問い合わせをクライアント送信部81にバス112を介して適宜依頼する。センタサーバ5が、全国のゲーム機1a…1d、11a…11d、21a…21dに対して共通のデータを提供し、そのデータに基づいて各ゲーム実行部95がゲームを実行することにより、全国規模で一意のゲーム世界が構築される。例えば、所定の国を奪い合うゲームであれば、センタサーバ5が各国の情報を全国共通データとして保有し、各ゲーム機1a…1d、11a…11d、21a…21dにおける各プレイヤーは取得したい国の情報をセンタサーバ5から入手し、これらの情報に基づいて各ゲーム実行部95がゲームを実行することにより、全国で一意のゲームが展開される。
【0043】
インターネット送受信部55はサーバ処理部70…74からの要求をバス108を介して受け取り、インターネット109を介してセンタサーバ5と交信する。このインターネット送受信部55はサーバ処理部70…74からの複数の要求、すなわちゲーム機1a…1dからの複数の要求を一括してセンタサーバ5へ送信することができ、これによってセンタサーバ5の負荷の軽減を図ることができる。
【0044】
サーバ調停部60及びクライアント調停部61は店舗内LAN2における店舗内のゲーム機1a…1dから所定の条件に従って店舗サーバを決定する調停処理及び1度決定された店舗内サーバにトラブルが発生した場合に当該店舗内サーバを除いた残りのゲーム機から新たな店舗内サーバを再度決定する調停処理を行う。図中の矢印110はその調停のようすを示している。本実施形態では店舗内サーバとして古くから稼動している方、稼働時間に差がない場合はゲーム機番号が小さい方が店舗内サーバとなるように設定されている。そのアルゴリズムは図3及び図4に従って説明する。
【0045】
なお、本実施形態ではサーバ調停部60とクライアント調停部61が各々サーバ機能部50及びクライアント機能部51に含まれているが、サーバ調停部60及びクライアント調停部61を分離しないで1の調停機能部としてサーバ機能部50及びクライアント機能部51から独立して構成してもよい。
【0046】
図3は各ゲーム機1a…1dのサーバ調停部60において行われるアルゴリズムを示すフローチャートである。最初にゲーム機1aが店舗内LAN2においてサーバとなった場合を考える。店舗内サーバ1a(以下「従来サーバ1a」という。)においては通常処理としてステップS390における処理、すなわちサーバ宣言をブロードキャストする処理が一定間隔で常に行われている。しかし、所定の場合に他のゲーム機1b…1d、例えばゲーム機1bもサーバ宣言を行う(以下「新サーバ1b」という。)。かかる場合に当該アルゴリズムの手順に従って従来サーバ1aかまたは新サーバ1bのどちらを店舗内サーバとするかを決定する。
【0047】
以下、当該アルゴリズムの各ステップで行われる処理について説明する。まず、ステップS300で自機が店舗内サーバか否か判断される。自機が店舗内サーバでなければ当該サーバ調停部60では何も処理されず通常処理であるステップS390へ進み、店舗内サーバであると判断した場合は次のステップS310へ進む。すなわちゲーム機1c…1dにおけるサーバ調停部60では何も処理されず、サーバ宣言を行った従来サーバ1aと新サーバ1bにおけるサーバ調停部60のアルゴリズムはステップS310へ進む。ステップS310ではブロードキャストの検出の有無を判断する。ブロードキャストを検出していない場合は問題ないとして通常処理であるステップS390へ進み、検出した場合は次のステップS320へ進む。ステップS320では検出したブロードキャストが自機によるものか否かを判断する。検出したブロードキャストが自機によるものである場合は問題ないと判断して通常処理であるステップS390へ進み、当該ブロードキャストが自機によるものでない場合は次のステップS330へ進む。すなわち、例えば従来サーバ1aにおいては検出したブロードキャストが自機からのものである場合はステップS390へ進み、新サーバ1bからのものである場合は調停処理を行うためステップS330へ進む。ここで、他のゲーム機1b…1dがブロードキャストを行う所定の場合とは店舗内サーバ1aからのブロードキャストが一定間隔経過しても検出できない場合や当該ゲーム機に電源が入れられた時等がある。ステップS330では自機と当該ブロードキャストを行ったゲーム機のそれぞれがサーバとして稼動を開始した時刻を比較する。自機の方が古い場合は自機が店舗内サーバと決定されるためステップS350へ進み、ブロードキャストしたゲーム機の方が古い場合はこのゲーム機が店舗内サーバと決定されるためS370へ進み、同じ時間だった場合は店舗内サーバを決定できないのでステップS340へ進む。ステップS340では自機とブロードキャストしたゲーム機のゲーム機番号が比較され、自機の方が小さい場合は自機が店舗内サーバと決定されるためにステップS350へ進み、ブロードキャストしたゲーム機の方が小さい場合はこのゲーム機が店舗内サーバと決定されるためにステップS370へ進む。その他エラーである場合はステップS360へ進みエラー処理が行われ、通常処理であるステップS390へ進む。ステップS350では当該ブロードキャストしたゲーム機に対応するサーバ受信部90…93にこのゲーム機のIPアドレスを記録し、次のステップS380で自機のサーバ送信部80へサーバ宣言のブロードキャストを依頼し、通常処理であるステップS390へ進む。ステップS370では自機の店舗内サーバとしての機能を停止して通常処理であるステップS390へ進む。通常処理であるステップS390では、店舗内サーバと決定されたゲーム機は一定間隔でブロードキャストを発生する。そして、このブロードキャストについて各ゲーム機1a…1dの各サーバ調停部60及び各クライアント調停部61における各処理がスタートから開始される。
【0048】
図4は各ゲーム機1a…1dの各クライアント調停部61で行われるアルゴリズムを示すフローチャートである。各クライアント調停部61ではサーバ宣言であるブロードキャストを検出すると以下のアルゴリズムが実行される。以下、図4と同様に従来サーバをサーバ1aとし、新サーバをサーバ1bとする。まず初めにステップS410でブロードキャストの検出の有無を判断し、ブロードキャストを検出したときはステップS420へ進み、ブロードキャストを検出していないときはステップS470へ進む。ステップS420では検出したブロードキャストが自機によるものか否かを判断する。自機のブロードキャストの場合はクライアント送信部81の送信先の変更はないのでステップS470へ進み、自機のブロードキャストでない場合はステップS430へ進む。すなわち、新サーバ1bのクライアント調停部61では何も処理されず、ステップS470へ進み、従来サーバ及び他のゲーム機1c、1dにおけるクライアント調停部61はステップS430へ進む。ステップS430では、今までサーバだったゲーム機とブロードキャストを行ったゲーム機の店舗内サーバとして稼動を開始した時刻を比較する。すなわち従来サーバ1aと新サーバ1bの稼動開始時刻を比較する。従来サーバ1aの方が古い場合はそのままその従来サーバ1aが店舗内サーバとなるのでステップS470へ進み、新サーバ1bの方が古い場合はクライアント送信部81の送信先を変更するためステップS460へ進み、その後ステップS470へ進む。同じ時間の場合はどちらを店舗内サーバとするか決定できないのでステップS430へ進む。ステップS440では従来サーバ1aと新サーバ1bのゲーム機番号の比較を行う。従来サーバ1aのゲーム機番号の方が小さい場合はクライアント送信部81の送信先の変更はないのでステップS470へ進み、新サーバ1bの方が小さい場合はクライアント送信部81の送信先を変更するためステップS460へ進み、その後ステップS470へ進む。その他の場合は、ステップS450へ進みエラー処理がされた後ステップS470へ進む。なお、従来サーバ1aが定期的に発生させるブロードキャストの場合はエラー処理されずにステップS470へ進む。本例では従来サーバ1aの方が新サーバよりも古いので従来サーバ1a及び他のゲーム機1c、1dのすべてにおいてステップS470へ進む。ステップS470〜ステップS495は従来サーバ1aがダウンした場合等一定期間サーバ宣言を検出しない場合に他のゲーム機1b…1dがサーバ宣言を行う手順が示されている。まず、ステップS470では自機が店舗内サーバか否かを判断する。自機が店舗内サーバの場合は何も処理されない。店舗内サーバでない場合は次のステップS480へ進み、一定期間における店舗内サーバからのブロードキャストの有無を判断する。ブロードキャストがある場合は何も処理されず、一定期間ブロードキャストがない場合はステップS490へ進み、ステップS490で自機が店舗内サーバとなるためサーバ機能を起動し次のステップS495でサーバ送信部80へサーバ宣言のブロードキャストを依頼する。当該ブロードキャストについて各ゲーム機1a…1dの各サーバ調停部60及び各クライアント調停部61において各処理のアルゴリズムがスタートから開始される。
【0049】
図5及び図6は図3及び図4に示したサーバ調停部60及びクライアント調停部61の各アルゴリズムを利用して店舗内LAN2に接続されたゲーム機1a…1d同士が調停しあって1の店舗内サーバが決定される手順を示した図である。各ゲーム機の図中、「調停処理」とはサーバ調停部60、「調停」とはクライアント調停部61、上に位置する「処」とはサーバ処理部71…73、上に位置する「受」とはサーバ受信部90…93、上に位置する「送」はサーバ送信部80、下に位置する「受」とはクライアント受信部94、下に位置する「送」はクライアント送信部81、下に位置する「処」はクライアント処理部75の各々略である。
【0050】
図5(a)は店舗Aにおいてゲーム機番号A3(以下「ゲーム機A3」という。ゲーム機番号A0〜A2においても同様。)のゲーム機が店舗内サーバとしてゲーム機A1…A3の3台が初めに稼動している状態を示している。この状態においてゲーム機A0の電源を入れ、店舗内LAN2が4台の構成になる場合にどのゲーム機が店舗内サーバとなるかを調停する調停処理を説明する。
【0051】
図5(b)はゲーム機A0がサーバ宣言であるブロードキャスト510を発生させ、ゲーム機A0…A3がその信号を受信した様子を示す図である。まず、ゲーム機A0に電源が入った時にそれだけでは店舗内サーバであるゲーム機A3はゲーム機A0を認識していないので、サーバ宣言をゲーム機A0に送信しない。よって、ゲーム機A0のクライアント調停部61はブロードキャストを検出できず、よってクライアント調停部61のアルゴリズムにおいてステップS410は「N」であり、ゲーム機A0はサーバではないのでステップS470及びステップS480は「N」であり、ステップS490及びステップS495へ進む。すなわちゲーム機A0は自機のサーバ宣言をサーバ送信部80へ依頼500する。サーバ送信部80はサーバ宣言であるブロードキャストの信号510(以下「ブロードキャスト信号510」という)を発生させる。なお、各ゲーム機は電源投入後直ちにサーバ宣言が発生するように設定してもよい。このサーバ宣言のブロードキャスト信号510を各ゲーム機A0…A3の各クライアント受信部94が受信し、各サーバ調停部60及び各クライアント調停部61へ信号520を送る。
【0052】
図6(a)は各ゲーム機A0…A3におけるサーバ調停部60及びクライアント調停部61がブロードキャスト信号510を受信した後の状態を示した図である。
以下「店舗内サーバ」を単に「サーバ」という。各ゲーム機A0…A3において各サーバ調停部60及び各クライアント調停部61がブロードキャスト信号510を受信すると、図3及び図4に示した上述のアルゴリズムが各々実行される。
【0053】
ゲーム機A0のサーバ調停部60のアルゴリズム:自機はサーバであり、自分自身のブロードキャストであるからステップS320で「Y」となり、サーバ宣言は無視される。
【0054】
ゲーム機A0のクライアント調停部61のアルゴリズム:自機のブローキャストであるからステップS420は「Y」となり、ステップS470へ進み、自機はサーバであるからステップS470は「Y」となり、サーバ宣言は無視される。
【0055】
ゲーム機A1及びA2のサーバ調停部60のアルゴリズム:自機はサーバではないのでステップS300で「N」となり、サーバ宣言は無視される。
【0056】
ゲーム機A1及びA2のクライアント調停部61のアルゴリズム:自機によるブロードキャストではないのでステップS420の判断は「N」となり、ステップS430においてゲーム機A0とゲーム機A3のサーバ稼動開始時刻の比較を行う。ゲーム機A3のサーバ稼動開始時刻の方が古いのでステップS470へ進み、自機はサーバではないのでステップS470は「N」となり、ステップS480へ進む。サーバからのブロードキャスト信号510は受信しているのでステップS480は「N」となり、結果としてサーバ宣言は無視される。
【0057】
ゲーム機A3のサーバ調停部60のアルゴリズム:自機はサーバであり、ブロードキャストを検出したが自分のブロードキャストではないのでステップS330へ進む。ステップS330でブロードキャストを行ったゲーム機A0と自機のサーバとしての稼動開始時刻が比較される。自機の方が古いのでステップS350に進み、ゲーム機A0をクライアント端末と設定すべく自機のサーバ受信部0にゲーム機A0のIPアドレスを記録610し、次のステップS380でサーバ宣言のブロードキャストをサーバ送信部80に依頼620し、ブロードキャストの信号630を発生させる。ブロードキャストの信号630(以下「ブロードキャスト信号630」という)を受信した各ゲーム機A0…A3のクライアント受信部94はその信号640を各サーバ調停部60及び各クライアント調停部61へ送信する。
【0058】
ゲーム機A3のクライアント調停部61のアルゴリズム:ブロードキャスト信号510は自機のブロードキャストではないのでステップS430へ進み、ブロードキャスト信号510を発生させたゲーム機A0と今までサーバであったゲーム機A3のサーバ稼動開始時刻を比較する。ゲーム機A3のサーバ稼動開始時刻の方が古いのでステップS470へ進む。自機はサーバであるからステップS470は「Y」となり、結果的に当該サーバ宣言は無視される。
【0059】
各ゲーム機A0…A3においてブロードキャスト信号630の信号640を各サーバ調停部60及び各クライアント調停部が受信して調停後の状態を図6(b)に示す。各ゲーム機A0…A3においてブロードキャストの信号630をバス640を介して受信した各サーバ調停部60及び各クライアント調停部61においては上述した図3及び図4に示したアルゴリズムが以下のように実行される。
【0060】
ゲーム機A0のサーバ調停部60のアルゴリズム:自機はサーバと判断するが、検出したブロードキャスト信号630は自機によるものではないため、ステップS330へ進む。ステップS330で自機とブロードキャスト630を行ったゲーム機A3とにおいてサーバ稼動開始時刻を比較する。ゲーム機A3の方が古いのでステップS370へ進み、ゲーム機A0はサーバ機能を停止する。
【0061】
ゲーム機A0のクライアント調停部61のアルゴリズム:ブロードキャスト信号630は自機によるものではないためステップS430へ進む。ステップS430では自機とゲーム機A3のサーバ稼働時間が比較される。ゲーム機A3の方が古いのでステップS460へ進み、ゲーム機A0におけるクライアント調停部61は信号650によってゲーム機A0におけるクライアント送信部81の送信先IPアドレスをゲームA3のアドレスに変更する。
【0062】
ゲーム機A1及びゲーム機A2のサーバ調停部60のアルゴリズム:自機はサーバではないためサーバ宣言は無視される。
【0063】
ゲーム機A1及びゲーム機A2のクライアント調停部61のアルゴリズム:ブロードキャスト信号630を発生させたゲーム機A3と現行サーバは同じなのでサーバ宣言は無視される。
【0064】
ゲーム機A3のサーバ調停部60のアルゴリズム:ブロードキャスト信号630は自機によるものなのでステップS320は「Y」となりサーバ宣言は無視される。
【0065】
ゲーム機A3のクライアント調停部61のアルゴリズム:ブロードキャスト信号630は自機によるものなのでステップS420は「Y」となり、ステップS470へ進む。自機はサーバであるからステップS470も「Y」となりサーバ宣言は無視される。
以上、結果としてゲーム機A0の電源を入れた後、各ゲーム機A0…A3における各調停部60、61によってゲーム機A3が店舗内LANにおいてサーバとなり、ゲーム機A0はクライアントとなる。
【0066】
図7及び図8はゲーム機A3が店舗内サーバであるゲーム機A0…A3で構成される店舗内LANにおいてゲーム機A0がプレイヤーのデータを呼び出す要求をした場合のデータの流れを示す図である。プレイヤーデータはゲーム機A1及びゲーム機A2にデータD1及びデータD2として各々保存されており、データD2が最新データであるとする。各ゲーム機における略称は図5及び図6と同様である。
【0067】
図7(a)はゲーム機A0が店舗内サーバゲーム機A3へゲームアプリケーションの呼び出しによって特定のプレイヤーデータを要求するようすを示す図である。ゲーム機A0は「このプレイヤーIDのプレイヤーデータを要求する」という要求信号701をゲーム機A3のサーバ受信部90に送信する。サーバ受信部90はゲーム機A0から送信されたデータのみを受信するためのサーバ受信部である。ゲーム機A3のサーバ受信部A0は受信した要求信号データ702をゲーム機A0からの送信データを処理するサーバ処理部71へ送る。
【0068】
図7(b)はゲーム機A0の要求に従って店舗内サーバであるゲーム機A3が処理しているようすを示す図である。ゲーム機A3のサーバ処理部71はサーバ送信部80及びインターネット送受信部55へ「このプレイヤーIDのプレイヤーデータを探せ」と指令705、706を送る。当該指令信号703、707が当該店舗内LANにおける全ゲーム機A0…A3及びセンタサーバ5へ送信される。当該指令信号703を受信した各クライアント受信部94は当該指令データ704を各クライアント処理部75へ送る。
【0069】
図8(a)は該当するデータを見つけたゲーム機A1、A2が当該データをゲーム機A3へ送信する様子を示した図である。要求されたプレイヤーIDのプレイヤーデータが保存するデータD1、D2の中にあった場合はかかるデータ804をクライアント処理部へ75へ送り、クライアント処理部75は当該データ804を信号805にしてクライアント送信部81へ送る。クライアント送信部81は当該データ804を信号803にしてゲーム機A3の各サーバ受信部へ送信する。本例の場合はゲーム機A1とゲーム機A2に要求されたデータが保存されていたのでゲーム機A1からのデータはゲーム機A3のサーバ受信部91が、ゲーム機A2からのデータはサーバ受信部92が受信する。データ信号803を受信した各サーバ受信部91、92はこのデータ内容をデータ信号806によってサーバ処理部71へ送信する。また、センタサーバ5からも該当するデータがあった場合はインターネット801を介してインターネット送受信部55からサーバ処理部71へデータ信号802が送信される。なお、該当するデータがないゲーム機、例えばゲーム機A0は何も返答しない。
【0070】
図8(b)は店舗内サーバであるゲーム機A3のサーバ処理部71が最終的なデータを送信するようすを示した図である。サーバ処理部71はデータ信号802、806の受信を一定期間で打ち切り、得られたデータの中で最新のデータを選ぶ。
本例の場合はゲーム機A2が有するデータD2のデータが最新データである。よってサーバ処理部71はかかる最新データ811をサーバ送信部80へ送り、サーバ送信部80は最新データ811をデータ信号812によってゲーム機A0へ送信する。ゲーム機A0のクライアント受信部94は当該データ信号812を受信するとその内容を信号813としてゲームアプリケーションへ送信する。
【0071】
【発明の効果】
以上に説明したように、本発明によるネットワークゲームシステムによれば、全国の各店舗内にサーバとしての機能を有するゲーム機を設け、ネットワーク内で済むゲーム進行上の処理は当該サーバが行い、かつセンタサーバへの送受信は当該サーバが一括して行うので、センタサーバの負荷を軽減することができる。また、センタサーバとの接続に使用するネットワークのトラブルは各ゲーム機上で展開されているゲームに直ちには影響を及ぼさない。また、このサーバとしての機能を有するゲーム機はゲーム機としても使用できるのでインカム0のサーバをゲーム機とは別に設置するよりも省スペースかつ低コストを図ることができる。また、店舗内におけるすべてのゲーム機がサーバ機能を有しており、どのゲーム機もサーバとなり得るので場所を取るサーバを設置する必要がない。また、店舗内のサーバにトラブルが発生しても当該店舗内における他のゲーム機が調停し合って新しいサーバを決定するので安定したゲーム世界を提供することができる。
【図面の簡単な説明】
【図1】本発明における一実施形態を示すネットワークゲームシステム構成図。
【図2】各ゲーム機の内部構造における処理別部門とそれら処理別部門間のデータの流れを示す図。
【図3】各ゲーム機のサーバ調停部において行われるアルゴリズムを示すフローチャート。
【図4】各ゲーム機のクライアント調停部において行われるアルゴリズムを示すフローチャート。
【図5】1の店舗内サーバを決定するまでの各ゲーム機内における内部信号のやりとりを示す図であって、(a)は、ゲーム機A1…A3で構成されている店舗内LANを示し、(b)は、ゲーム機A0によるサーバ宣言を受信した各ゲーム機の内部信号を示す。
【図6】図5に続く図であって、(a)はゲーム機A3によるサーバ宣言を受信した各ゲーム機の内部信号を示し、(b)はゲーム機A3をサーバとして設定するゲーム機A0の内部信号を示す。
【図7】ゲーム機A0がプレイヤーデータを要求したときのデータの流れを示す図であって、(a)はゲーム機A0が店舗内サーバであるゲーム機A3へ特定のプレイヤーのデータを要求したようすを示し、(b)はゲーム機A3が同一店舗内の全クライアント及びセンタサーバにゲーム機A0から要求されたデータを問い合わせるようすを示す。
【図8】図7に続く図であって、(a)はゲーム機A1とゲーム機A2及びセンタサーバが見つけた問い合わせデータをゲーム機A3へ送信しているようすを示し、(b)はゲーム機A3に送信されたデータのうち最新データがゲーム機A0へ送信されるようすを示す。
【符号の説明】
A〜C 店舗
1a〜1d 店舗Aにおけるゲーム機
11a〜11d 店舗Bにおけるゲーム機
21a〜21d 店舗Cにおけるゲーム機
2、12、22 店舗内LAN
4 各店舗内LANとセンタサーバを結ぶネットワーク
5 センタサーバ
50 サーバ機能部
51 クライアント機能部
55 インターネット送受信部
60 サーバ調停部
61 クライアント調停部
70〜74 サーバ処理部
80 サーバ送信部
81 クライアント送信部
90〜93 サーバ受信部
94 クライアント受信部
95 ゲーム実行部
Claims (11)
- 所定の単位でグループ化された複数のゲーム機がクライアント端末としてセンタサーバと所定のネットワークを介して接続され、前記センタサーバによって管理されるデータを利用した所定のゲームを各ゲーム機によって実行可能としたネットワークゲームシステムにおいて、
前記グループ化がLANで構成され、当該LANでグループ化されてなる同一グループ内の複数のゲーム機のそれぞれがサーバ機能部、クライアント機能部及び調停機能部を有し、
前記サーバ機能部は、
前記同一グループ内の各ゲーム機のクライアント機能部との間のデータ通信を実行するグループ内通信手段と、
前記ネットワークを介した前記センタサーバとの間のデータ通信を実行するサーバ間通信手段と、
前記グループ内通信手段及び前記サーバ間通信手段を介して取得したデータに応じて定められた処理を実行するサーバ処理手段とを含み、
前記クライアント機能部は、
前記サーバ機能部との間のデータ通信を実行するクライアント通信手段と、
前記クライアント通信手段を介して前記サーバ機能部から取得したデータを参照して所定のゲームを実行するゲーム実行手段とを含み、
前記調停機能部は、
自己のゲーム機が前記同一グループ内のサーバとして機能している場合、前記同一グループ内の全てのゲーム機を対象として、自己が前記サーバとして機能していることを示す情報を、前記自己のグループ内通信手段から定期的に送信させると共に、自己のゲーム機が前記サーバとして機能しているか否かに拘わり無く、前記情報の受信状況を監視する手段と、
前記同一グループ内の他のゲーム機から送信される前記情報の受信状況に基づいて前記サーバとして機能すべきゲーム機を選択し、自己が前記サーバとして選択された場合は、自己の前記サーバ機能部を起動させ、前記サーバとして選択されない場合は自己の前記サーバ機能部を休止させる選択する手段と、を備え、
前記監視する手段によって前記他のゲーム機から送信される前記情報が受信されたと判断された場合、前記選択する手段は、前記情報に含まれる発信時期の情報により前記情報の発信時期の先後に基づいて前記サーバとして機能すべきゲーム機を選択し、自己が前記サーバとして選択された場合は、前記情報に含まれる前記発信時期の情報を送信したゲーム機のアドレスを、自己とデータ通信を実行する前記クライアント機能部を有するゲーム機のアドレスとして自己の前記グループ内通信手段に設定し、前記情報を送信したゲーム機が前記サーバとして選択された場合は、その選択されたゲーム機のアドレスを、自己とデータ通信を実行する前記サーバ機能部を有するゲーム機のアドレスとして自己の前記クライアント通信手段に設定することを特徴とするネットワークゲームシステム。 - 請求項1に記載のネットワークゲームシステムにおいて、
前記調停機能部は、クライアント調停部及びサーバ調停部とを含み、
前記クライアント調停部は、
自己が前記サーバとして機能しているか否かに拘わらず前記情報の受信状況を監視し、前記選択する手段によって前記サーバとして選択されたゲーム機のアドレスを自己のクライアント通信手段へ設定し、
前記サーバ調停部は、
自己が前記サーバとして機能している時に前記情報の受信状況を監視し、前記選択する手段によって自己が前記サーバとして選択された場合は、前記情報を送信したゲーム機のアドレスを前記グループ内通信手段に設定し、前記情報を送信したゲーム機が前記サーバとして選択された場合は、自己の前記サーバ機能部を休止するネットワークゲームシステム。 - 請求項1または2に記載のネットワークゲームシステムにおいて、
前記監視する手段によって前記情報が一定期間受信されていないと判断された場合、前記選択する手段は、自己のゲーム機の前記サーバ機能部を起動して、自己が前記サーバとして機能していることを示す情報を前記同一グループ内の全てのゲーム機を対象として前記自己のグループ内通信手段から送信させる、ネットワークゲームシステム。 - 請求項1〜3のいずれか1項に記載のネットワークゲームシステムにおいて、前記発信時期が早いゲーム機を優先して選択する、ネットワークゲームシステム。
- 請求項4に記載のネットワークゲームシステムにおいて、各ゲーム機にはサーバとして選択される優先順位が予め設定され、前記発信時期の時間的先後関係による選択が不可能な場合には前記優先順位に基づいて前記サーバとして機能すべきゲーム機を選択する、ネットワークゲームシステム。
- 請求項1から5のいずれか1項に記載のネットワークゲームシステムにおいて、
前記サーバ機能部における前記グループ内通信手段が、
前記同一グループ内における各ゲーム機と1対1に設けられているサーバ受信部を有するネットワークゲームシステム。 - 請求項6に記載するネットワークゲームシステムにおいて、
前記サーバ機能部における前記サーバ処理手段が、
前記サーバ受信部と1対1に設けられているネットワークゲームシステム。 - 前記ネットワークがインターネットで構成されてなる請求項1から7のいずれか1項に記載のネットワークゲームシステム。
- 前記所定の単位は、店舗単位であることを特徴とする請求項1から8のいずれか1項に記載のネットワークゲームシステム。
- クライアント端末として所定の単位でグループ化され、所定のネットワークを介してセンタサーバと接続されたゲーム機であって、前記センタサーバが管理するデータを利用して所定のゲームを実行することができるゲーム機において、
前記ゲーム機はサーバ機能部、クライアント機能部及び調停機能部を有し、
前記サーバ機能部は、
同一グループ内の各ゲーム機のクライアント機能部との間のデータ通信を実行するグループ内通信手段と、
前記ネットワークを介した前記センタサーバとの間のデータ通信を実行するサーバ間通信手段と、
前記グループ内通信手段及び前記サーバ間通信手段を介して取得したデータに応じて定められた処理を実行するサーバ処理手段とを含み、
前記クライアント機能部は、
前記サーバ機能部との間のデータ通信を実行するクライアント通信手段と、
前記クライアント通信手段を介して前記サーバ機能部から取得したデータを参照して所定のゲームを実行するゲーム実行手段とを含み、
前記調停機能部は、
自己のゲーム機が前記同一グループ内のサーバとして機能している場合、前記同一グループ内の全てのゲーム機を対象として、自己が前記サーバとして機能していることを示す情報を、前記自己のグループ内通信手段から定期的に送信させると共に、自己のゲーム機が前記サーバとして機能しているか否かに拘わり無く、前記情報の受信状況を監視する手段と、
前記同一グループ内の他のゲーム機から送信される前記情報の受信状況に基づいて前記サーバとして機能すべきゲーム機を選択し、自己が前記サーバとして選択された場合は自己の前記サーバ機能部を起動させ、前記サーバとして選択されない場合は自己の前記サーバ機能部を休止する選択する手段と、を備え、
前記監視する手段によって前記他のゲーム機から送信される前記情報が受信されたと判断された場合、前記選択する手段は、前記情報に含まれる発信時期の情報により前記情報の発信時期の先後に基づいて前記サーバとして機能すべきゲーム機を選択し、自己が前記サーバとして選択された場合は、前記情報に含まれる前記発信時期の情報を送信したゲーム機のアドレスを、自己とデータ通信を実行する前記クライアント機能部を有するゲーム機のアドレスとして自己の前記グループ内通信手段に設定し、前記情報を送信したゲーム機が前記サーバとして選択された場合は、その選択されたゲーム機のアドレスを、自己とデータ通信を実行する前記サーバ機能部を有するゲーム機のアドレスとして自己の前記クライアント通信手段に設定することを特徴とするゲーム機。 - クライアント端末として所定の単位でグループ化され、所定のネットワークを介してセンタサーバと接続されたゲーム機であって、前記センタサーバが管理するデータを利用して所定のゲームを実行するコンピュータとしてのゲーム機にて作用されるプログラムにおいて、
前記ゲーム機を、
サーバ機能部、クライアント機能部及び調停機能部として機能させるように構成され、
前記サーバ機能部は、
同一グループ内の各ゲーム機のクライアント機能との間のデータ通信を実行するグループ内通信手段と、
前記ネットワークを介した前記センタサーバとの間のデータ通信を実行するサーバ間通信手段と、
前記グループ内通信手段及び前記サーバ間通信手段を介して取得したデータに応じて定められた処理を実行するサーバ処理手段とを含み、
前記クライアント機能部は、
前記サーバ機能部との間のデータ通信を実行するクライアント通信手段と、
前記クライアント通信手段を介して前記サーバ機能部から取得したデータを参照して所定のゲームを実行するゲーム実行手段とを含み、
前記調停機能部は、
自己のゲーム機が前記同一グループ内のサーバとして機能している場合、前記同一グループ内の全てのゲーム機を対象として、自己が前記サーバとして機能していることを示す情報を、前記自己のグループ内通信手段から定期的に送信させると共に、自己のゲーム機が前記サーバとして機能しているか否かに拘わり無く、前記情報の受信状況を監視する手段と、
前記同一グループ内の他のゲーム機から送信される前記情報の受信状況に基づいて前記サーバとして機能すべきゲーム機を選択し、自己が前記サーバとして選択された場合は自己の前記サーバ機能部を起動させ、前記サーバとして選択されない場合は、自己のサーバ機能部を休止させる選択する手段と、を備え、
前記監視する手段によって前記他のゲーム機から送信される前記情報が受信されたと判断された場合、前記選択する手段は、前記情報に含まれる発信時期の情報により前記情報の発信時期の先後に基づいて前記サーバとして機能すべきゲーム機を選択し、自己が前記サーバとして選択された場合は、前記情報に含まれる前記発信時期の情報を送信したゲーム機のアドレスを、自己とデータ通信を実行する前記クライアント機能部を有するゲーム機のアドレスとして自己の前記グループ内通信手段に設定し、前記情報を送信した前記ゲーム機が前記サーバとして選択された場合は、その選択されたゲーム機のアドレスを、自己とデータ通信を実行する前記サーバ機能部を有するゲーム機のアドレスとして自己の前記クライアント通信手段に設定することを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002095088A JP3625285B2 (ja) | 2002-03-29 | 2002-03-29 | ネットワークゲームシステム、そのゲーム機及びそのコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002095088A JP3625285B2 (ja) | 2002-03-29 | 2002-03-29 | ネットワークゲームシステム、そのゲーム機及びそのコンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004000308A JP2004000308A (ja) | 2004-01-08 |
JP3625285B2 true JP3625285B2 (ja) | 2005-03-02 |
Family
ID=30428259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002095088A Expired - Fee Related JP3625285B2 (ja) | 2002-03-29 | 2002-03-29 | ネットワークゲームシステム、そのゲーム機及びそのコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3625285B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8131802B2 (en) * | 2007-10-05 | 2012-03-06 | Sony Computer Entertainment America Llc | Systems and methods for seamless host migration |
JP4523443B2 (ja) * | 2005-02-10 | 2010-08-11 | 株式会社タイトー | ネットワークに接続されたゲーム機システム |
WO2006124357A2 (en) | 2005-05-11 | 2006-11-23 | Bigfoot Networks, Inc. | Distributed processing system and method |
US9455844B2 (en) | 2005-09-30 | 2016-09-27 | Qualcomm Incorporated | Distributed processing system and method |
JP5177628B2 (ja) * | 2007-07-31 | 2013-04-03 | 古野電気株式会社 | 舶用機器のネットワークシステム用端末、及び舶用機器のネットワークシステム |
JP2009112737A (ja) * | 2007-11-09 | 2009-05-28 | Konami Digital Entertainment Co Ltd | ゲームシステム |
KR101253547B1 (ko) * | 2008-10-29 | 2013-04-11 | 에스케이플래닛 주식회사 | 근거리 통신망을 이용한 게임 제공 시스템, 방법, 서비스 서버, 게임 중계 방법, 이동통신단말기 및 저장 매체 |
JP5468247B2 (ja) * | 2008-12-02 | 2014-04-09 | 株式会社コナミデジタルエンタテインメント | ゲームシステム |
JP2010176472A (ja) * | 2009-01-30 | 2010-08-12 | Nec Corp | サービス提供システム、サービス提供方法およびプログラム |
KR102243559B1 (ko) * | 2020-09-24 | 2021-04-22 | 주식회사 스포플랫폼 | 복수의 전자 다트를 이용한 다트 게임 운영방법, 이를 위한 컴퓨터 프로그램 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2879785B2 (ja) * | 1990-11-08 | 1999-04-05 | 富士通株式会社 | ホログラム用感光膜を形成する方法及び装置 |
JP2807625B2 (ja) * | 1994-01-27 | 1998-10-08 | 株式会社ナムコ | ゲームシステムおよびマルチプレーヤシステムにおける共通表示体の制御方法 |
JPH07289736A (ja) * | 1994-04-25 | 1995-11-07 | Namco Ltd | ゲームシステムおよびゲームシステムへのエントリー方法 |
JP3482034B2 (ja) * | 1995-05-29 | 2003-12-22 | 株式会社ナムコ | ゲームシステム |
JP2000156691A (ja) * | 1998-11-20 | 2000-06-06 | Pfu Ltd | サーバ決定装置および記録媒体 |
-
2002
- 2002-03-29 JP JP2002095088A patent/JP3625285B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004000308A (ja) | 2004-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107919994B (zh) | 实现网络服务双机热备的方法及服务器 | |
JP3625285B2 (ja) | ネットワークゲームシステム、そのゲーム機及びそのコンピュータプログラム | |
CN105554142B (zh) | 消息推送的方法、装置及系统 | |
JP4944991B2 (ja) | 監視システム | |
CN114866365B (zh) | 仲裁机选举方法、装置、智能设备及计算机可读存储介质 | |
JPH06243070A (ja) | プロセッサ間通信システム | |
JP2007237300A (ja) | 制御装置、ロボット・システム及びロボット制御方法 | |
EP2071764B1 (en) | A method, device and communication system thereof of electing local master | |
JP2006100906A (ja) | ネットワークシステムの運用管理方法及びストレージ装置 | |
CN108234215B (zh) | 一种网关的创建方法、装置、计算机设备及存储介质 | |
JP3512164B2 (ja) | 通信ノードおよびネットワークシステム、並びにネットワークシステムの制御方法 | |
JP4715802B2 (ja) | 通信システム | |
JP2006129348A (ja) | 親ノード決定システム及び方法、ノード装置、ならびに、コンピュータプログラム | |
JP2010233110A (ja) | 中継装置およびクライアントサーバシステムの制御方法 | |
JP2669363B2 (ja) | クラスタ結合型マルチプロセッサシステムのシステムコールに伴うプロセス切り換え制御方法およびその装置 | |
JP2966720B2 (ja) | 集中制御装置 | |
JPH11110365A (ja) | ネットワーク計算機システム、該システムで用いる計算機、および該システムに係る方法 | |
JPH10161907A (ja) | コンピュータシステムの状態監視方法 | |
JP3740198B2 (ja) | 分散システムでの運用コマンドの処理機構の実現方法 | |
CN117389925A (zh) | 通信方法、通信系统及电子设备 | |
JPH0993270A (ja) | データ伝送システム | |
JPH11143839A (ja) | 負荷分散制御システムおよび方法 | |
JP2013126119A (ja) | ゲートウェイ装置及びネットワークシステム | |
JP2003273878A (ja) | ポーリング方式 | |
CN117407339A (zh) | 通信方法、通信系统和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040413 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040610 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041126 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3625285 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081210 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081210 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081210 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091210 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101210 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101210 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111210 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121210 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121210 Year of fee payment: 8 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D04 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131210 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |