KR20090045321A - 통신 장치, 통신 시스템 및 기록 매체 - Google Patents

통신 장치, 통신 시스템 및 기록 매체 Download PDF

Info

Publication number
KR20090045321A
KR20090045321A KR1020097004871A KR20097004871A KR20090045321A KR 20090045321 A KR20090045321 A KR 20090045321A KR 1020097004871 A KR1020097004871 A KR 1020097004871A KR 20097004871 A KR20097004871 A KR 20097004871A KR 20090045321 A KR20090045321 A KR 20090045321A
Authority
KR
South Korea
Prior art keywords
data
parent node
communication
game
communication device
Prior art date
Application number
KR1020097004871A
Other languages
English (en)
Other versions
KR101065578B1 (ko
Inventor
마사히꼬 야쯔즈까
Original Assignee
가부시키가이샤 코나미 데지타루 엔타테인멘토
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 가부시키가이샤 코나미 데지타루 엔타테인멘토 filed Critical 가부시키가이샤 코나미 데지타루 엔타테인멘토
Publication of KR20090045321A publication Critical patent/KR20090045321A/ko
Application granted granted Critical
Publication of KR101065578B1 publication Critical patent/KR101065578B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/34Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using peer-to-peer connections
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/32Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/404Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network characterized by a local network connection
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/408Peer to peer connection
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/51Server architecture
    • A63F2300/513Server architecture server hierarchy, e.g. local, regional, national or dedicated for different tasks, e.g. authenticating, billing
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/534Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Child & Adolescent Psychology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

3개 이상의 통신 장치로부터 1개를 선택하여 친노드로 함으로써, 다인수 참가형의 게임으로 대표되는 공동 작업의 진행에 영향을 주는 통신의 지연을 작게 한다. 게임 시스템(100)은 다수의 게임 장치(10)를 갖는다. 게임 장치(10)는 3개 1조로 그룹을 구성하고, 각 그룹에서는, 1개가 임시 친노드로 되고, 2개가 임시 자노드로 된다. 그룹을 구성하는 각 게임 장치(10)는, 자기를 기점으로 한 다른 게임 장치(10)에 대한 응답 시간의 합을 나타내는 측정 데이터를 생성한다. 그리고, 최소의 합을 나타내는 측정 데이터를 생성한 게임 장치(10)가 친노드로 되고, 남은 게임 장치(10)가 자노드로 된다. 자노드는 친노드를 통하여 다른 자노드와 통신한다.
서버 장치, 라우터, 인터넷, 게임 장치, 게임 시스템

Description

통신 장치, 통신 시스템 및 프로그램{COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND PROGRAM}
본 발명은, 통신 장치, 통신 시스템 및 프로그램에 관한 것이다.
복수의 게임 장치가 네트워크 경유로 데이터를 송수신함으로써 다인수 참가형의 게임을 진행시키는 게임 시스템이 보급되고 있다. 상기의 게임은, 참가자가 각자의 역할을 함으로써 진행된다. 상기의 게임 시스템의 일종으로서, 동일한 게임의 참가자의 게임 장치 중, 1개의 게임 장치가 친노드(서버 단말기)로 되고, 남은 게임 장치가 자노드(클라이언트 단말기)로 되어, 데이터의 송수신이 주로 친노드와 자노드 사이에서 행해지는 게임 시스템이 있다.
이 게임 시스템에서는, 동일한 게임의 참가자의 게임 장치간에서 게임의 상태가 공유된다. 공유되는 게임의 상태로서는, 예를 들면 스코어나 가상 공간에서 참가자가 조작하는 오브젝트의 위치를 들 수 있다. 통상적으로, 공유되는 게임의 상태는 친노드의 게임 장치에 의해 결정된다. 이 때문에, 입력된 지시에 대한 응답은 자노드보다도 친노드에서 신속하게 된다. 따라서, 예를 들면 일본 특허 공표 제2000-511667호 공보에는, 참가자의 역할에 복수의 종류(예를 들면 주역/단역)가 있는 게임을 진행시키는 경우에, 역할의 종류에 기초하여 친노드로 되는 게임 장치 를 결정함으로써, 게임의 진행의 원활화를 도모하는 기술이 제안되어 있다. 이 기술에서는, 입력된 지시에 대해 가장 신속하게 응답할 필요가 있는 역할(예를 들면 주역)을 하는 참가자의 게임 장치가 친노드로 된다.
<발명의 개시>
<발명이 해결하고자 하는 과제>
그러나, 일본 특허 공표 제2000-511667호 공보의 기술은, 참가자의 역할에 복수의 종류가 있는 게임에 적용한 경우에만 소기의 효과를 발휘하는 것이며, 이 기술을 다른 게임에 적용하여도 소기의 효과를 얻을 수는 없다. 애당초, 이 기술에서는 참가자의 게임 장치 중, 직접적으로 통신하였을 때의 전송 지연이 작은 2개의 게임 장치가 자노드로 되고, 이들의 게임 장치의 각각과 직접적으로 통신하였을 때의 전송 지연이 모두 큰 게임 장치가 친노드로 될 우려가 있다. 이와 같은 게임 장치가 친노드로 된 경우, 주로 행해지는 친자간에서의 데이터의 송수신에서의 전송 지연이 크기 때문에, 게임의 진행에 관한 통신의 지연이 커지게 된다. 이것은, 게임의 진행의 원활화의 저해나 게임의 진행의 신뢰도의 저하로 이어진다.
따라서, 본 발명은 3개 이상의 통신 장치로부터 1개를 선택하여 친노드로 함으로써, 다인수 참가형의 게임으로 대표되는 공동 작업의 진행에 영향을 주는 통신의 지연을 작게 할 수 있는 통신 장치, 통신 시스템 및 프로그램을 제공한다.
<과제를 해결하기 위한 수단>
이하, 본 발명에 대해서 설명한다. 또한, 본 발명의 이해를 쉽게 하기 위해 첨부 도면의 참조 부호를 괄호 쓰기로 부기하지만, 그에 의해 본 발명이 도시한 형 태에 한정되는 것은 아니다.
본 발명은, 3개 이상의 통신 장치(10, 50, 70)가 이루는 그룹으로서 상기 3개 이상의 통신 장치(10, 50, 70) 중 1개가 임시 친노드로 되는 그룹에 참가하는 참가부와, 네트워크(1, 25)와의 사이에서 신호를 송수하는 통신 인터페이스(17)와, 상기 통신 인터페이스(17)를 이용하여 게임 데이터를 송수신하는 게임 데이터 송수신부(11)와, 상기 통신 장치(10, 50, 70)와 다른 통신 장치(10, 50, 70) 사이의 전송 지연 시간 및 상기 각 통신 장치에서의 처리 지연 시간을 포함하는 상기 통신 장치(10, 50, 70)의 응답 시간을 측정하고, 측정한 응답 시간의 합을 나타내는 측정 데이터를 생성하는 측정 데이터 생성부(11)를 갖고, 상기 통신 장치(10, 50, 70)는, 그 통신 장치(10, 50, 70)가 임시 친노드가 아닌 경우에는, 상기 측정 데이터를 임시 친노드인 다른 통신 장치(10, 50, 70)에 송신하는 측정 데이터 송신부와, 임시 친노드인 다른 통신 장치(10, 50, 70)로부터 친노드인 1개의 통신 장치(10, 50, 70)를 나타내는 결정 데이터를 수신하는 결정 데이터 수신부를 갖고, 상기 통신 장치(10, 50, 70)는, 그 통신 장치(10, 50, 70)가 임시 친노드인 경우에는, 상기 측정 데이터 다른 통신 장치(10, 50, 70)로부터 수신하는 측정 데이터 수신부와, 상기 측정 데이터 수신부가 수신한 측정 데이터 및 상기 측정 데이터 생성부가 생성한 측정 데이터에 기초하여, 상기 통신 장치의 상기 측정 데이터가 상기 그룹의 통신 장치의 측정 데이터 중 최소의 값을 나타내는 유일한 데이터인 경우에는, 상기 통신 장치(10, 50, 70)가 상기 친노드인 것을 나타내는 상기 결정 데이터를 생성하고, 그렇지 않은 경우에는 상기 유일한 데이터의 송신원인 다른 통신 장 치(10, 50, 70)가 상기 친노드인 것을 나타내는 상기 결정 데이터를 생성하는 결정 데이터 생성부와, 상기 결정 데이터를 상기 그룹의 다른 통신 장치(10, 50, 70)의 각각에 송신하는 결정 데이터 송신부를 갖고, 상기 게임 데이터 송수신부(11)는 게임 데이터를 송신할 때에는, 그 송신을, 상기 통신 장치(10, 50, 70)가 친노드인 경우에는 직접적인 통신에 의해 행하고, 상기 통신 장치(10, 50, 70)가 친노드가 아닌 경우에는 친노드인 통신 장치(10, 50, 70)를 통한 간접적인 통신에 의해 행하는 것을 특징으로 하는 통신 장치(10, 50, 70)를 제공한다.
여기서, 「임시 친노드」란, 1개의 그룹을 이루는 3개 이상의 통신 장치 중 1개이며, 다른 통신 장치의 각각으로부터 측정 데이터를 수집하는 통신 장치이다. 또한, 「친노드」란, 1개의 그룹을 이루는 3개 이상의 통신 장치 중 1개이며, 다른 통신 장치간의 간접적인 통신 시에 데이터가 경유하는 통신 장치이다. 친노드가 아닌 통신 장치가 「자노드」이다. 또한, 「게임 데이터」란, 친노드가 아닌 통신 장치간에서의 송수신을 친노드인 통신 장치를 통한 간접적인 통신에 의해 행하는 것이 정해진 데이터이다.
상기의 통신 장치를 이용하여 게임 시스템을 구성하면, 동일한 그룹을 이루는 3개 이상의 통신 장치 중, 응답 시간의 합이 최소인 통신 장치가 친노드로 되기 때문에, 자노드로부터 친노드를 경유하여 다른 자노드에 전달될 데이터의 전송 지연(누적값)이 최단으로 된다. 또한, 자노드로부터 친노드를 경유하여 해당 자(子)에게 전달될 데이터의 전송 지연을 동일한 그룹을 이루는 복수의 자노드에 대해서 평균화하여 얻어지는 시간도 최단으로 된다. 즉, 상기의 통신 장치에 따르면, 공 동 작업의 진행에 영향을 주는 통신의 지연을 작게 할 수 있다.
상기의 통신 장치(10, 50, 70)에서, 플레이어의 조작을 접수하고, 그 조작에 따른 조작 신호를 출력하는 입력부(14)와, 상기 조작 신호에 기초하여 상기 게임 데이터를 생성하는 게임 데이터 생성부(11)와, 상기 게임 데이터 송수신부(11)가 수신한 게임 데이터에 기초하여 게임을 진행시키는 제어부(11)를 갖도록 하여도 된다. 즉, 통신 장치는 게임 장치이어도 된다. 이 경우, 진행하는 공동 작업은, 예를 들면 다인수 참가형의 게임으로 된다. 다인수 참가형의 게임은, 그 진행에 영향을 주는 통신의 지연이 작아지면, 원활하게 진행된다.
또한, 본 발명은, 1개의 그룹을 이루는 3개 이상의 통신 장치(10, 50, 70)를 갖고, 상기 그룹을 이루는 통신 장치(10, 50, 70) 중 1개가 임시 친노드로 되고, 상기 3개 이상의 통신 장치(10, 50, 70)의 각각에 대해서, 상기 통신 장치(10, 50, 70)의 응답 시간은, 상기 통신 장치와 다른 통신 장치(10, 50, 70)의 각각과의 사이의 전송 지연 시간 및 상기 각 통신 장치에서의 처리 지연 시간을 포함하고, 상기 3개 이상의 통신 장치(10, 50, 70)의 각각은, 네트워크(1, 25)와의 사이에서 신호를 송수하는 통신 인터페이스(17)와, 상기 통신 인터페이스(17)를 이용하여 게임 데이터를 송수신하는 게임 데이터 송수신부(11)와, 상기 통신 장치(10, 50, 70)의 응답 시간을 측정하고, 측정한 응답 시간의 합을 나타내는 측정 데이터를 생성하는 측정 데이터 생성부(11)를 갖고, 상기 통신 장치(10, 50, 70)는, 그 통신 장치(10, 50, 70)가 임시 친노드가 아닌 경우에는, 상기 측정 데이터를 임시 친노드인 다른 통신 장치(10, 50, 70)에 송신하는 측정 데이터 송신부와, 임시 친노드인 다른 통 신 장치(10, 50, 70)로부터 친노드인 1개의 통신 장치(10, 50, 70)를 나타내는 결정 데이터를 수신하는 결정 데이터 수신부를 갖고, 상기 통신 장치(10, 50, 70)는, 그 통신 장치(10, 50, 70)가 임시 친노드인 경우에는, 상기 그룹의 다른 통신 장치(10, 50, 70)로부터 측정 데이터를 수신하는 측정 데이터 수신부와, 상기 측정 데이터 수신부가 수신한 측정 데이터 및 상기 측정 데이터 생성부가 생성한 측정 데이터에 기초하여, 상기 통신 장치의 측정 데이터가 상기 그룹의 통신 장치의 측정 데이터 중 최소의 값을 나타내는 유일한 데이터가 상기 자데이터인 경우에는, 상기 통신 장치(10, 50, 70)가 친노드인 것을 나타내는 상기 결정 데이터를 생성하고, 그렇지 않은 경우에는, 상기 유일한 데이터의 송신원인 다른 통신 장치(10, 50, 70)가 친노드인 것을 나타내는 상기 결정 데이터를 생성하는 결정 데이터 생성부와, 상기 결정 데이터를 다른 통신 장치(10, 50, 70)의 각각에 송신하는 결정 데이터 송신부를 갖고, 상기 게임 송수신부(11)는 게임 데이터를 송신할 때에는, 그 송신을, 상기 통신 장치(10, 50, 70)가 친노드인 경우에는 직접적인 통신에 의해 행하고, 상기 통신 장치(10, 50, 70)가 친노드가 아닌 경우에는 친노도인 통신 장치(10, 50, 70)를 통한 간접적인 통신에 의해 행하는 것을 특징으로 하는 통신 시스템(100, 300)을 제공한다.
이 게임 시스템에 따르면, 동일한 그룹을 이루는 3개 이상의 통신 장치 중, 응답 시간의 합이 최소인 통신 장치가 친노드로 되기 때문에, 자노드로부터 친노드를 경유하여 다른 자에게 전달될 데이터의 전송 지연(누적값)이 최단으로 된다. 또한, 자노드로부터 친노드를 경유하여 해당 자노드에 전달될 데이터의 전송 지연 을 동일한 그룹을 이루는 복수의 자노드에 대해서 평균화하여 얻어지는 시간도 최단으로 된다. 즉, 공동 작업의 진행에 영향을 주는 통신의 지연을 작게 할 수 있다.
또한, 본 발명은 서버 장치(60)와 1개의 그룹을 이루는 3개 이상의 통신 장치(10, 50, 70)를 갖고, 상기 3개 이상의 통신 장치(10, 50, 70)의 각각에 대해서, 상기 통신 장치(10, 50, 70)의 응답 시간은, 상기 통신 장치와 다른 통신 장치(10, 50, 70)의 각각과의 사이의 전송 지연 시간 및 상기 각 통신 장치에서의 처리 지연 시간을 포함하고, 상기 3개 이상의 통신 장치(10, 50, 70)의 각각은, 네트워크(1, 25)와의 사이에서 신호를 송수하는 통신 인터페이스(17)와, 상기 통신 인터페이스(17)를 이용하여 게임 데이터를 송수신하는 게임 데이터 송수신부(11)와, 상기 통신 장치(10, 50, 70)의 응답 시간을 측정하고, 측정한 응답 시간의 합을 나타내는 측정 데이터를 생성하는 측정 데이터 생성부(11)와, 상기 측정 데이터를 상기 서버 장치(60)에 송신하는 측정 데이터 송신부(11, 17)와, 상기 서버 장치(60)로부터 친노드인 1개의 통신 장치(10, 50, 70)를 나타내는 결정 데이터를 수신하는 결정 데이터 수신부(11, 17)를 갖고, 상기 서버 장치(60)는, 상기 3개 이상의 통신 장치(10, 50, 70)로부터 상기 측정 데이터를 수신하고, 수신한 측정 데이터 중 1개의 측정 데이터가 최소의 값을 나타내는 경우에는, 그 측정 데이터의 송신원인 통신 장치(10, 50, 70)를 나타내는 상기 결정 데이터를 상기 3개 이상의 통신 장치(10, 50, 70)의 각각에 송신하고, 상기 송수신부(11)는 게임 데이터를 송신할 때에는, 그 송신을, 상기 통신 장치(10, 50, 70)가 친노드인 경우에는 직접적인 통신 에 의해 행하고, 상기 통신 장치(10, 50, 70)가 친노드가 아닌 경우에는 친노드인 통신 장치(10, 50, 70)를 통한 간접적인 통신에 의해 행하는 것을 특징으로 하는 통신 시스템(200)을 제공한다.
이 게임 시스템에 따르면, 동일한 그룹을 이루는 3개 이상의 통신 장치 중, 응답 시간의 합이 최소인 통신 장치가 친노드로 되기 때문에, 자노드로부터 친노드를 경유하여 다른 자노드에 전달될 데이터의 전송 지연(누적값)이 최단으로 된다. 또한, 자노드로부터 친노드를 경유하여 해당 자노드에 전달될 데이터의 전송 지연을 동일한 그룹을 이루는 복수의 자에 대해서 평균화하여 얻어지는 시간도 최단으로 된다. 즉, 공동 작업의 진행에 영향을 주는 통신의 지연을 작게 할 수 있다.
상기의 통신 시스템(100, 200, 300)에서, 상기 3개 이상의 통신 장치(10, 50, 70)를 포함하는 4개 이상의 통신 장치(10, 50, 70)를 갖고, 상기 4개 이상의 통신 장치(10, 50, 70)의 각각은 상기 그룹에 속하는 것이 가능하도록 하여도 된다. 또한, 상기 그룹을 이루는 통신 장치(10, 50, 70)의 각각은, 플레이어의 조작을 접수하고, 그 조작에 따른 조작 신호를 출력하는 입력부(14)와, 상기 조작 신호에 기초하여 상기 게임 데이터를 생성하는 게임 데이터 생성부(11)와, 상기 게임 송수신부(11)가 수신한 게임 데이터에 기초하여 게임을 진행시키는 제어부(11)를 갖도록 하여도 된다. 또한, 이들을 조합하여도 된다.  
또한, 본 발명은 통신 장치에, 3개 이상의 통신 장치(10, 50, 70)가 이루는 그룹으로서 상기 3개 이상의 통신 장치(10, 50, 70) 중 1개가 임시 친노드로 되는 그룹에 참가하는 참가부와, 네트워크(1, 25)와의 사이에서 신호를 송수하는 통신 인터페이스(17)와, 상기 통신 인터페이스(17)를 이용하여 게임 데이터를 송수신하는 게임 데이터 송수신부(11)와, 상기 통신 장치(10, 50, 70)와 다른 통신 장치(10, 50, 70) 사이의 전송 지연 시간 및 상기 각 통신 장치에서의 처리 지연 시간을 포함하는 상기 통신 장치(10, 50, 70)의 응답 시간을 측정하고, 측정한 응답 시간의 합을 나타내는 측정 데이터를 생성하는 측정 데이터 생성부(11)로서 기능시키고, 상기 통신 장치(10, 50, 70)가 임시 친노드가 아닌 경우에는, 상기 측정 데이터를 임시 친노드인 다른 통신 장치(10, 50, 70)에 송신하는 측정 데이터 송신부와, 임시 친노드인 다른 통신 장치(10, 50, 70)로부터 친노드인 1개의 통신 장치(10, 50, 70)를 나타내는 결정 데이터를 수신하는 결정 데이터 수신부로서 기능시키고, 상기 통신 장치(10, 50, 70)가 임시 친노드인 경우에는, 상기 다른 통신 장치(10, 50, 70)로부터 측정 데이터를 수신하는 측정 데이터 수신부와, 상기 측정 데이터 수신부가 수신한 측정 데이터 및 상기 측정 데이터 생성부가 생성한 측정 데이터에 기초하여, 상기 통신 장치의 상기 측정 데이터가 상기 그룹의 통신 장치의 측정 데이터 중 최소의 값을 나타내는 유일한 데이터인 경우에는, 상기 통신 장치(10, 50, 70)가 상기 친노드인 것을 나타내는 상기 결정 데이터를 생성하고, 그렇지 않은 경우에는, 상기 유일한 데이터의 송신원인 다른 통신 장치(10, 50, 70) 중 1개가 상기 친노드인 것을 나타내는 상기 결정 데이터를 생성하는 결정 데이터 생성부와, 상기 결정 데이터를 상기 그룹의 다른 통신 장치(10, 50, 70)의 각각에 송신하는 결정 데이터 송신부로서 기능시키는 프로그램으로서, 상기 게임 데이터 송수신부(11)는 게임 데이터를 송신할 때에는, 그 송신을, 상기 통신 장치(10, 50, 70)가 친노드인 경우에는 직접적인 통신에 의해 행하고, 상기 통신 장치(10, 50, 70)가 친노드가 아닌 경우에는 친노드인 통신 장치(10, 50, 70)를 통한 간접적인 통신에 의해 행하는 것을 특징으로 하는 프로그램(181, 431)을 제공한다.
이 프로그램을 실행하는 통신 장치를 이용하여 게임 시스템을 구성하면, 동일한 그룹을 이루는 3개 이상의 통신 장치 중, 응답 시간의 합이 최소인 통신 장치가 친노드로 되기 때문에, 자노드로부터 친노드를 경유하여 다른 자에게 전달될 데이터의 전송 지연(누적값)이 최단으로 된다. 또한, 자노드로부터 친노드를 경유하여 해당 자노드에 전달될 데이터의 전송 지연을 동일한 그룹을 이루는 복수의 자노드에 대해서 평균화하여 얻어지는 시간도 최단으로 된다. 즉, 상기의 프로그램에 따르면, 공동 작업의 진행에 영향을 주는 통신의 지연을 작게 할 수 있다.
<발명의 효과>
본 발명에 따르면, 3개 이상의 통신 장치로부터 1개를 선택하여 친노드로 함으로써, 다인수 참가형의 게임으로 대표되는 공동 작업의 진행에 영향을 주는 통신의 지연을 작게 할 수 있다.
도 1은 본 발명의 제1 실시 형태에 따른 게임 시스템(100)의 전체 구성을 도시하는 블록도.
도 2는 게임 시스템(100)을 구성하는 게임 장치(10)에 표시되는 화상의 일례를 나타내는 도면.
도 3은 친노드의 할당과 응답 시간의 관계를 설명하기 위한 도면.
도 4는 게임 장치(10)의 구성을 도시하는 블록도.
도 5는 게임 시스템(100)을 구성하는 매칭 서버 장치(40)의 구성을 도시하는 블록도.
도 6은 매칭 서버 장치(40)의 프로세서(41)가 행하는 로비 처리의 플로우차트.
도 7은 게임 장치(10)의 프로세서(11)가 행하는 임시 결정 처리의 플로우차트.
도 8은 게임 장치(10)의 프로세서(11)가 행하는 임시 친노드 처리의 플로우차트.
도 9는 게임 장치(10)의 프로세서(11)가 행하는 임시 자노드 처리의 플로우차트.
도 10A는 게임 시스템(100)의 동작예를 나타내는 시퀀스도.
도 10B는 게임 시스템(100)의 동작예를 나타내는 시퀀스도.
도 11은 게임 시스템(100)의 동작예를 나타내는 시퀀스도.
도 12는 게임 시스템(100)의 동작예를 나타내는 시퀀스도.
도 13은 본 발명의 제2 실시 형태에 따른 게임 시스템(200)의 전체 구성을 도시하는 블록도.
도 14는 게임 시스템(200)을 구성하는 게임 장치(50)의 구성을 도시하는 블록도.
도 15는 게임 시스템(200)을 구성하는 매칭 서버 장치(60)의 구성을 도시하 는 블록도.
도 16은 매칭 서버 장치(60)의 프로세서(41)가 행하는 서버 처리의 플로우차트.
도 17은 게임 장치(50)의 프로세서(11)가 행하는 클라이언트 처리의 플로우차트.
도 18A는 게임 시스템(200)의 동작예를 나타내는 시퀀스도.
도 18B는 게임 시스템(200)의 동작예를 나타내는 시퀀스도.
도 19는 본 발명의 제3 실시 형태에 따른 게임 시스템(300)의 전체 구성을 도시하는 블록도.
도 20은 게임 시스템(300)을 구성하는 게임 장치(70)의 구성을 도시하는 블록도.
도 21은 게임 장치(70)의 프로세서(11)가 행하는 임시 결정 처리의 플로우차트.
도 22는 게임 장치(70)의 프로세서(11)가 행하는 임시 친노드 응답 처리의 플로우차트.
도 23은 게임 장치(70)의 프로세서(11)가 행하는 임시 친노드 처리의 플로우차트.
<발명을 실시하기 위한 최량의 형태>
본 발명의 바람직한 실시 형태에 대해서 설명한다. 제1 실시 형태는, 게임 장치의 그룹화에 매칭 서버 장치가 관여하고, 또한 친노드의 선택을 게임 장치가 행하는 것이다. 제2 실시 형태는, 게임 장치의 그룹화를 매칭 서버 장치가 행하고, 또한 친노드의 선택을 매칭 서버 장치가 행하는 것이다. 제3 실시 형태는, 게임 장치의 그룹화를 게임 장치가 행하고, 또한 친노드의 선택을 게임 장치가 행하는 것이다.
<제1 실시 형태>
도 1은, 본 발명의 제1 실시 형태에 따른 게임 시스템(통신 시스템)(100)의 전체 구성을 도시하는 블록도이다. 게임 시스템(100)은 3인의 참가자에게 전차 게임을 플레이시키기 위한 시스템이다. 전차 게임에서는, 각 참가자는 전장인 가상 공간에서 자기의 전차를 조종한다. 전장은 각 참가자의 진을 포함하고, 각 참가자는 자신의 진의 손해의 적음을 겨룬다.
게임 시스템(100)에서, 매칭 서버 장치(40)는 라우터(30)를 통하여, 인터넷(1)에 접속되어 있다. 인터넷(1)에는, 점포 A, B, C, …을 포함하는 복수의 점포에 각각 설치된 복수의 LAN(Local Area Network)(25)이, 각 점포 내의 라우터(20)를 통하여 접속되어 있다. 각 라우터(20)는, 모두 인터넷(1) 상에 가상적인 전용망인 VPN(Virtual Private Network)을 구축하는 기능을 구비하고 있다. 각 점포에는 복수의 게임 장치(10)가 배치되어 있다. 각 게임 장치(10)는 참가자에게 사용되어, 그 참가자가 참가하는 전차 게임에 참가하고, 그 전차 게임을 그 참가자에게 플레이시키는 것이며, LAN(25)을 통하여 점포 내의 다른 게임 장치(10)와 통신 가능한 한편, LAN(25), 라우터(20) 및 VPN을 통하여, 매칭 서버 장치(40)나 다 른 점포의 게임 장치(10)와 통신 가능하다.
도 2는, 게임 장치(10)에 표시되는 화상의 일례를 나타내는 도면이다. 이 도면에 도시한 바와 같이, 게임 장치(10)에는, 그 게임 장치(10)가 참가하고 있는 전차 게임의 상태를 나타내는 화상이 표시된다. 구체적으로는, 전장의 화상 BF와, 각 진의 손해의 비율을 나타내는 전황 인디케이터 IND가 표시된다. 이 비율은 3개의 진의 손해에 기초하여 결정된다. 각 진의 손해에는, 그 진의 참가자의 전차가 입은 피해도 포함된다. 이상의 설명으로부터 명백해지는 바와 같이, 전차 게임의 상태는, 그 전차 게임에 참가하고 있는 게임 장치에 공유되는 것이며, 1개의 장치에서 일의로 결정되어야 하는 것이다.
여기서, 전차 게임의 상태를 특정한 서버 장치가 결정하는 형태를 상정한다. 이 형태에서는, 동시에 행해지는 전차 게임의 상태가 특정한 서버 장치에 의해 결정된다. 즉, 특정한 서버 장치에 부하가 집중된다. 따라서, 이 형태는 대부분의 전차 게임이 동시에 행해지는 대규모의 게임 시스템에는 적합하지 않다. 따라서, 본 발명의 각 실시 형태에서는 전차 게임의 상태를, 그 전차 게임에 참가하고 있는 1개의 게임 장치(10)가 결정하는 형태를 채용하여, 부하를 분산시키고 있다. 이후, 각 전차 게임에서, 그 전차 게임에 참가하는 게임 장치 중, 그 전차 게임의 상태를 결정하는 1개의 게임 장치를 「친노드」, 다른 2개의 게임 장치를 각각 「자노드」라고 칭한다. 본 발명의 각 실시 형태에서, 친노드는 자노드와만 데이터를 송수신하고, 자노드는 주로 친노드와 데이터를 송수신한다.
전차 게임의 상태를 그 전차 게임에 참가하는 친노드가 결정하는 형태에서 는, 1개의 자노드에서 전차 게임의 상태의 결정에 영향을 주는 게임 데이터(예를 들면 후술하는 조작 데이터)가 생성되면, 그 게임 데이터가 친노드에 전달되고, 친노드에서 그 게임 데이터를 이용한 처리가 행해져 전차 게임의 상태가 결정되고, 이 상태를 나타내는 상태 데이터가 각 자노드에 전달되어, 친노드 및 각 자노드에서, 이 상태를 나타내는 화상(그 게임 데이터가 반영된 화상)이 표시된다. 게임 데이터를 이용한 처리로서는, 예를 들면 전차의 위치나 자세를 특정하는 처리나, 포탄의 위치를 특정하는 처리, 포탄이 전차 등의 물체에 명중하였는지의 여부의 판정 처리, 각 진의 손해를 특정하는 처리가 있다. 이후, 각 자노드에서, 게임 데이터가 생성되고 나서 그 게임 데이터가 반영된 화상이 표시될 때까지의 시간을, 그 자노드의 반영 지연 시간으로 칭한다.
각 자노드의 반영 지연 시간은, 그 자노드를 기점으로 한 친노드와의 사이의 응답 시간보다도 약간 긴 시간으로 된다. 「A를 기점으로 한 B와의 사이의 응답 시간」이란, A로부터 B까지의 신호의 전송 지연 시간과, B에서의 처리 지연 시간과, B로부터 A까지의 신호의 전송 지연 시간과의 합이다. 이 점으로부터 명백해지는 바와 같이, 각 자노드를 기점으로 한 친노드와의 사이의 응답 시간은, 각 자노드와 친노드의 거리 등의 지리적인 요인이나, 각 자노드와 친노드 사이의 통신로의 신호 전송 속도 등의 네트워크 구성상의 요인에 의존한다. 즉, 각 자노드를 기점으로 한 친노드와의 사이의 응답 시간, 나아가서는 각 자노드의 반영 지연 시간은, 어떤 게임 장치(10)를 친노드로 할지에 따라 상이하다. 이 점에 대해서 구체예를 들어 설명한다.
도 3은, 친노드의 할당과 응답 시간의 관계를 설명하기 위한 도면이다. 이 도면에서는, 제1 게임 장치(10)(α)와 제2 게임 장치(10)(β) 사이의 전송 지연 시간이 3, β와 제3 게임 장치(10)(γ) 사이의 통신 지연 시간이 4, γ과 α 사이의 전송 지연 시간이 9로 되어 있다. α, β 및 γ의 처리 지연 시간은 모두 1이다. 여기서, α를 친노드로 하고, β 및 γ를 각각 자노드로 하면, β를 기준으로 한 친노드에 대한 응답 시간은 3+1+3=7로 되고, γ를 기준으로 한 친노드에 대한 응답 시간은 9+1+9=19로 된다. 이에 대해, β를 친노드로 하고, α 및 γ를 각각 자노드로 하면, α를 기준으로 한 친노드에 대한 응답 시간은 3+1+3=7, γ를 기준으로 한 친노드에 대한 응답 시간은 4+1+4=9로 된다. 즉, γ를 기준으로 한 친노드에 대한 응답 시간은 α를 친노드로 한 경우(19)보다도 β를 친노드로 한 경우(9)에 짧아지고, γ의 반영 지연 시간은 α를 친노드로 한 경우보다도 β를 친노드로 한 경우에 짧아진다.
한편, 전술한 바와 같이, 게임 데이터로서는 조작 데이터가 포함되기 때문에, 임의의 자노드를 기준으로 한 친노드에 대한 반영 지연 시간이 긴 경우, 그 자노드에서, 화상의 표시가 참가자의 조작으로부터 크게 지연되게 된다. 이와 같은 지연이 바람직하지 않은 것은, 조작 데이터 이외의 게임 데이터에도 들어맞는다. 따라서, 각 자노드의 반영 지연 시간은 짧은 쪽이 좋게 된다. 또한, 각 자노드의 반영 지연 시간은, 그 자노드를 기점으로 한 친노드에 대한 응답 시간보다도 약간 긴 시간으로 된다. 따라서, 각 자노드를 기점으로 한 친노드에 대한 응답 시간은 짧은 쪽이 좋게 된다.
정리하면, 각 자노드를 기준으로 한 친노드에 대한 응답 시간은 짧은 쪽이 좋고, 동일한 전차 게임에 참가하는 게임 장치(10) 중 어느 것을 친노드로 하는지에 의존한다. 따라서, 동일한 전차 게임에 참가하는 게임 장치(10) 중 어느 것을 친노드로 할지가 중요하게 된다.
게임 시스템(100)에서는 전차 게임의 플레이 전에, 그 전차 게임의 참가자를 특정할 필요가 있다. 이 작업을 「매칭」이라고 칭한다. 매칭은, 어느 하나의 게임 장치(10)가 전차 게임에의 참가를 표명하여 임시 친노드로 되고, 이 게임 장치(10)에 대해 다른 게임 장치(10)가 임시 자노드로서 참가를 표명한다고 하는 수순으로 행해진다. 그리고, 임시 친노드 및 임시 자노드 중 어느 1개가 친노드로 되고, 나머지가 자노드로 되어, 전차 게임이 개시된다.
[게임 장치(10)]
도 4는, 게임 장치(10)의 구성을 도시하는 블록도이다. 이 도면에 도시한 바와 같이, 게임 장치(10)는 프로세서(11), 입력부(14), 표시부(15), 통신 인터페이스(17), 불휘발성 메모리(18) 및 재기입 가능 메모리(19)를 갖는다. 프로세서(11)는, 예를 들면 1 또는 복수의 CPU(Central Processing Unit)이다.
입력부(14)는, 복수의 조작자를 구비하고, 조작자가 조작되면, 그 조작을 접수하고, 그 조작에 따른 조작 신호를 프로세서(11)에 공급한다. 복수의 조작자에는, 전차의 방향을 변경하기 위한 핸들형의 조작자나, 후술하는 임시 결정 처리를 개시시키거나 전차에 포탄을 발사시키거나 하기 위한 버튼형의 조작자, 전차를 이동시키기 위한 페달형의 조작자가 포함된다.
표시부(15)는 화면(151)을 갖고, 프로세서(11)로부터 화상 데이터가 공급되면, 그 화상 데이터가 나타내는 화상을 화면(151)에 표시한다. 표시부(15)로서는모니터나 비디오 프로젝터를 이용할 수 있다. 비디오 프로젝터를 이용하는 경우에는, 화상이 투사되는 스크린이 화면(151)에 상당한다. 통신 인터페이스(17)는 LAN(25)과의 사이에서 신호를 송수하는 것이며, 프로세서(11)와 LAN(25) 사이에서 데이터를 중계한다. 프로세서(11)는 통신 인터페이스(17)를 이용하여, 다른 장치와의 사이에서 데이터를 송수신한다.
불휘발성 메모리(18)는, 예를 들면 ROM(Read Only Memory)이며, 프로그램(181) 및 서버 장치 데이터(182)를 기억하고 있다. 프로그램(181)은 프로세서(11)에 실행됨으로써 게임 장치(10)에 후술하는 각종 처리(임시 결정 처리, 임시 친노드 처리, 임시 자노드 처리, 친노드 처리, 자노드 처리)를 행하게 한다. 이후의 설명에서 프로세서(11)가 행하는 처리는 프로그램(181)을 이용하여 행해진다. 서버 장치 데이터(182)는 매칭 서버 장치(40)의 통신 어드레스를 취득하기 위해 필요한 데이터이다.
재기입 가능 메모리(19)는, 예를 들면 RAM(Random Access Memory)이며, 그 기억 영역에는 참가자의 데이터를 저장하는 참가자 테이블 T4가 확보된다. 참가자 테이블 T4는 참가자에 각각 대응하는 3개의 레코드를 갖는다. 각 레코드에는, 참가자의 게임 장치(10)의 통신 어드레스와 그 게임 장치(10)의 종별을 나타내는 플래그가 저장된다. 게임 장치(10)의 종별로서는, 친노드, 자노드, 임시 친노드 및 임시 자노드가 있다. 본 실시 형태에서는, 이 플래그의 값을, 친노드를 나타내는 경우와 임시 친노드를 나타내는 경우에서 동일하게 하고, 자노드를 나타내는 경우와 임시 자노드를 나타내는 경우에서 동일하게 하고 있지만, 본 실시 형태를 변형하여, 다른 형태로 하여도 된다. 또한, 재기입 가능 메모리(19)는 프로세서(11)가 수신한 데이터의 송신원의 장치의 통신 어드레스의 일시적인 기억이나, 화상 BF 및 전황 인디케이터 IND의 화상 데이터의 기억, 상태 데이터의 기억에도 이용된다. 또한, 불휘발성 메모리(18) 또는 재기입 가능 메모리(19)는 자기의 통신 어드레스를 기억한다.
[매칭 서버 장치(40)]
도 5는, 매칭 서버 장치(40)의 구성을 도시하는 블록도이다. 이 도면에 도시한 바와 같이, 매칭 서버 장치(40)는 프로세서(41), 통신 인터페이스(42), 불휘발성 메모리(43) 및 재기입 가능 메모리(44)를 구비한다. 프로세서(41)는, 예를 들면 1 또는 복수의 CPU이다. 통신 인터페이스(42)는 라우터(30)와의 사이에서 신호를 송수하는 것이며, 프로세서(41)와 라우터(30) 사이에서 데이터를 중계한다. 프로세서(41)는 통신 인터페이스(42)를 이용하여, 다른 장치와의 사이에서 데이터를 송수신한다.
불휘발성 메모리(43)는, 예를 들면 ROM 및 하드디스크이다. ROM은 IPL(Initial Program Loader)을, 하드디스크는 프로그램(431)을 기억하고 있다. 프로그램(431)은 프로세서(41)에 실행됨으로써, 매칭 서버 장치(40)에 후술하는 로비 처리를 행하게 한다. 이후의 설명에서 프로세서(41)가 행하는 처리는 프로그램(431)을 이용하여 행해진다. 또한, 불휘발성 메모리(43)는 매칭 서버 장치(40) 의 통신 어드레스를 기억하고 있다. 재기입 가능 메모리(44)는, 예를 들면 RAM이며, 임시 친노드로 되는 게임 장치(10)의 통신 어드레스를 나타내는 데이터의 배열인 임시 친노드 리스트(441)를 기억한다. 매칭 서버 장치(40)의 전원 투입 시에는, 임시 친노드 리스트(441)는 비게 된다. 또한, 재기입 가능 메모리(44)는 프로세서(41)가 수신한 데이터의 송신원의 장치의 통신 어드레스의 일시적인 기억에도 이용된다.
[로비 처리]
도 6은, 매칭 서버 장치(40)의 프로세서(41)가 행하는 로비 처리의 플로우차트이다. 로비 처리에서는, 프로세서(41)는 게임 장치(10)로부터 데이터를 수신할 때까지, 게임 장치(10)로부터 데이터를 수신하였는지의 여부를 판정하는 처리(SA1)를 반복하여 행한다. 데이터를 수신하고, 이 처리의 판정 결과가 「예」 로 되면, 프로세서(41)는 수신한 데이터가, 임시 친노드 리스트의 회신을 요구하는 임시 친노드 리스트 회신 요구인지의 여부를 판정한다(SA2). 이 판정 결과가 「예」인 경우, 프로세서(41)는 임시 친노드 리스트(441)를 재기입 가능 메모리(44)로부터 판독하고, 그 임시 친노드 리스트 회신 요구의 송신원의 게임 장치(10)에 송신하고(SA3), 처리를 스텝 SA1로 이행시킨다.
스텝 SA2의 판정 결과가 「아니오」인 경우, 프로세서(41)는 수신한 데이터가, 임시 친노드로서의 등록을 요구하는 임시 친노드 등록 요구인지의 여부를 판정한다(SA4). 이 판정 결과가 「예」인 경우, 프로세서(41)는, 이 임시 친노드 등록 요구의 송신원의 게임 장치(10)를 임시 친노드로서 등록한다(SA5). 구체적으로는, 그 게임 장치(10)의 통신 어드레스를 임시 친노드 리스트(441)에 추가한다. 이후, 처리를 스텝 SA1로 이행한다.
스텝 SA4의 판정 결과가 「아니오」인 경우, 프로세서(41)는 수신한 데이터가, 임시 친노드로서의 등록의 말소를 요구하는 등록 말소 요구인지의 여부를 판정한다(SA6). 이 판정 결과가 「예」인 경우, 프로세서(41)는, 이 등록 말소 요구의 송신원의 게임 장치(10)의 임시 친노드로서의 등록을 말소한다(SA7). 구체적으로는, 그 게임 장치(10)의 통신 어드레스를 임시 친노드 리스트(441)로부터 삭제한다. 이후, 처리를 스텝 SA1로 이행한다.
[임시 결정 처리]
도 7은, 게임 장치(10)의 프로세서(11)가 행하는 임시 결정 처리의 플로우차트이다. 임시 결정 처리에서는, 프로세서(11)는 임시 친노드 리스트 회신 요구를 송신한다(SB1). 다음으로 프로세서(11)는 매칭 서버 장치(40)로부터 임시 친노드 리스트(441)를 수신할 때까지, 매칭 서버 장치(40)로부터 임시 친노드 리스트(441)를 수신하였는지의 여부를 판정하는 처리(SB2)를 반복하여 행한다. 임시 친노드 리스트(441)를 수신하고, 이 처리의 판정 결과가 「예」로 되면, 프로세서(11)는 수신한 임시 친노드 리스트(441)가 비어 있는지의 여부를 판정한다(SB3). 이 판정 결과가 「예」인 경우, 프로세서(11)는 임시 친노드 등록 요구를 매칭 서버 장치(40)에 송신하고(SB4), 자기가 임시 친노드로 되도록 참가자 테이블 T4를 생성한다(SB5). 구체적으로는, 재기입 가능 메모리(19)의 기억 영역에 참가자 테이블 T4를 확보하고, 참가자 테이블 T4의 1개의 레코드에, 자기의 통신 어드레스가 친노드 를 나타내는 플래그(예를 들면 값이 1인 플래그)를 저장한다.
한편, 스텝 SB3의 판정 결과가 「아니오」이면, 프로세서(11)는 임시 친노드 등록 요구를 매칭 서버 장치(40)에 송신하지 않고, 자기가 임시 자노드로 되도록 참가자 테이블 T4를 생성한다(SB6). 구체적으로는, 재기입 가능 메모리(19)의 기억 영역에 참가자 테이블 T4를 확보하고, 참가자 테이블 T4의 1개의 레코드에, 자기의 통신 어드레스와 임시 자노드인 것을 나타내는 플래그(예를 들면 값이 0인 플래그)를 저장하는 한편, 다른 1개의 레코드에, 수신한 임시 친노드 리스트(441)에 저장되어 있는 통신 어드레스와 임시 친노드를 나타내는 플래그(예를 들면 값이 1인 플래그)를 저장한다.
[임시 친노드 처리]
도 8은, 게임 장치(10)의 프로세서(11)가 행하는 임시 친노드 처리의 플로우차트이다. 임시 친노드 처리는, 참가자 테이블 T4에서 임시 친노드를 나타내는 플래그에 대응지어 자기의 통신 어드레스가 저장되어 있는 경우에, 임시 결정 처리에 계속되어 행해진다. 임시 친노드 처리에서는, 프로세서(11)는 다른 게임 장치(10)로부터, 전차 게임에의 참가를 요구하는 참가 요구를 수신할 때까지, 다른 게임 장치(10)로부터 참가 요구를 수신하였는지의 여부를 판정하는 처리(SC1)를 반복하여 행한다. 참가 요구를 수신하고, 이 처리의 판정 결과가 「예」로 되면, 프로세서(11)는 참가를 허가한다는 취지의 허가 통지를, 그 참가 요구의 송신원의 게임 장치(10)에 송신하고, 그 게임 장치(10)가 임시 자노드로 되도록 참가자 테이블 T4를 갱신한다(SC2). 구체적으로는, 참가자 테이블 T4가 비어 있는 레코드에, 그 게 임 장치(10)의 통신 어드레스와 임시 자노드인 것을 나타내는 플래그를 저장한다.
다음으로 프로세서(11)는, 참가자가 3인인지의 여부를 판정한다(SC3). 구체적으로는, 참가자 테이블 T4에서 통신 어드레스 및 플래그가 저장된 레코드의 수가 3개인지의 여부를 판정한다. 이 판정 결과가 「아니오」인 경우, 처리는 스텝 SC1로 이행한다. 이 판정 결과가 「예」인 경우, 프로세서(11)는 자기를 제외한 참가자의 게임 장치(10)의 각각에, 참가자의 정보를 공유시키기 위한 공유 데이터를 송신한다(SC4). 공유 데이터에는, 자기와 그 공통 데이터의 송신처를 제외한 참가자의 게임 장치(10)의 통신 어드레스가 포함된다.
다음으로 프로세서(11)는, 매칭 서버 장치(40)에 임시 친노드로서의 등록에 대한 등록 말소 요구를 송신하고(SC5), 자기를 제외한 참가자의 게임 장치(10)에, 매칭의 완료를 알리는 매칭 완료 통지를 송신한다(SC6). 다음으로 프로세서(11)는 그 게임 장치(10)의 응답 시간을 측정하는 응답 측정 처리를 행한다(SC7). 상세하게는 후술하지만, 응답 측정 처리에서는 그 게임 장치(10) 이외의 모든 참가자의 게임 장치(10)를 다른 게임 장치라고 칭하고, 그 게임 장치(10)를 기점으로 한 다른 게임 장치의 각각과의 응답 시간을 그 게임 장치(10)의 응답 시간으로 칭할 때, 그 게임 통신 장치(10)의 프로세서(11)는, 그 게임 장치(10)의 응답 시간을 측정하고, 측정한 응답 시간의 합을 나타내는 측정 데이터(자데이터)를 생성한다. 또한, 스텝 SC7의 응답 측정 처리에서는, 다른 게임 장치의 각각으로부터 측정 결과를 알리는 측정 결과 통지를 수신한다. 측정 결과 통지는, 응답 시간의 합을 나타내는 측정 데이터(타데이터)를 포함한다. 즉, 스텝 SC7의 응답 측정 처리는 응답 시간 을 수집하는 처리이기도 하다.
다음으로 프로세서(11)는 응답 측정 처리의 결과(측정 데이터)에 기초하여, 친노드를 결정하는 결정 처리를 행한다(SC8). 구체적으로는, 취득한 측정 데이터 중 최소의 값을 나타내는 유일한 데이터가 자데이터인 경우에는 자기를 친노드로 하고, 취득한 측정 데이터 중 최소의 값을 나타내는 유일한 데이터가 자데이터가 아닌 경우(타데이터인 경우)에는, 그 유일한 데이터의 송신원인 게임 장치(10)를 친노드로 한다. 다음으로 프로세서(11)는 결정한 친노드를 나타내는 결정 통지를, 자기를 제외한 참가자의 게임 장치(10)에 송신하고, 그 결과에 기초하여 참가자 테이블 T4를 갱신한다(SC9). 구체적으로는, 참가자 테이블 T4에 저장된 플래그 중, 친노드인 게임 장치(10)의 통신 어드레스에 대응하는 플래그를, 친노드를 나타내는 플래그(예를 들면 값이 1인 플래그)로 갱신하고, 다른 통신 어드레스에 대응하는 플래그를, 자노드를 나타내는 플래그(예를 들면 값이 0인 플래그)로 갱신한다.
[임시 자노드 처리]
도 9는, 게임 장치(10)의 프로세서(11)가 행하는 임시 자노드 처리의 플로우차트이다. 임시 자노드 처리는, 참가자 테이블 T4에서 임시 자노드를 나타내는 플래그에 대응지어 자기의 통신 어드레스가 저장되어 있는 경우에, 임시 결정 처리에 계속해서 행해진다. 임시 자노드 처리에서는, 프로세서(11)는 임시 결정 처리에서 수신한 임시 친노드 리스트(441)에 저장되어 있는 통신 어드레스의 게임 장치(10)(임시 친노드)에 참가 요구를 송신한다(SD1).
다음으로 프로세서(11)는 임시 친노드로부터 허가 통지를 수신할 때까지, 임 시 친노드로부터 허가 통지를 수신하였는지의 여부를 판정하는 처리(SD2)를 반복하여 행한다. 허가 통지를 수신하고, 이 처리의 판정 결과가 「예」로 되면, 프로세서(11)는 임시 친노드로부터 공유 데이터를 수신할 때까지, 임시 친노드로부터 공유 데이터를 수신하였는지의 여부를 판정하는 처리(SD3)를 반복하여 행한다. 공유 데이터를 수신하고, 이 처리의 판정 결과가 「예」로 되면, 프로세서(11)는 수신한 공유 데이터에 기초하여 참가자 테이블 T4를 갱신한다(SD4). 구체적으로는, 수신한 공유 데이터에 포함되어 있는 통신 어드레스와 임시 자노드를 나타내는 플래그를, 참가자 테이블 T4의 비어 있는 레코드에 저장한다.
스텝 SD4를 종료하면, 프로세서(11)는 임시 친노드로부터 매칭 완료 통지를 수신할 때까지, 임시 친노드로부터 매칭 완료 통지를 수신하였는지의 여부를 판정하는 처리(SD5)를 반복하여 행한다. 매칭 완료 통지를 수신하고, 이 처리의 판정 결과가 「예」로 되면, 프로세서(11)는, 스텝 SC7과 마찬가지의 응답 측정 처리를 행한다(SD6). 단, 스텝 SD6의 응답 측정 처리에서는, 다른 게임 장치로부터 측정 결과 통지를 수신하는 것이 아니라, 생성한 측정 데이터를 포함하는 측정 결과 통지를 임시 친노드의 게임 장치(10)에 송신한다.
다음으로 프로세서(11)는 임시 친노드로부터 결정 통지를 수신할 때까지, 임시 친노드로부터 결정 통지를 수신하였는지의 여부를 판정하는 처리(SD7)를 반복하여 행한다. 결정 통지를 수신하고, 이 처리의 판정 결과가 「예」로 되면, 프로세서(11)는 수신한 결정 통지에 기초하여 참가자 테이블 T4를 갱신한다(SD8). 구체적으로는, 참가자 테이블 T4에 저장되어 있는 플래그 중, 결정 통지가 나타내는 게 임 장치(10)의 통신 어드레스에 대응하는 플래그를, 친노드를 나타내는 플래그로 갱신하는 한편, 그 통신 어드레스에 대응하고 있지 않은 플래그를, 자노드를 나타내는 플래그로 갱신한다.
[친노드 처리 및 자노드 처리]
친노드 처리 및 자노드 처리는, 모두 참가자에게 전차 게임을 행하게 하는 처리이며, 참가자의 게임 장치(10) 중 친노드인 게임 장치(10)의 프로세서(11)가 친노드 처리를 행하고, 자노드인 게임 장치(10)의 각각의 프로세서(11)가 자노드 처리를 행함으로써, 이들 게임 장치(10)의 상태 데이터가 반복하여 갱신되어 그 전차 게임이 진행된다.
친노드 처리를 실행 중인 프로세서(11)는, 입력부(14)로부터 출력된 조작 신호에 따른 조작 데이터를 생성하고, 이 조작 데이터와 통신 인터페이스(17)를 이용하여 수신한 조작 데이터에 기초하여 전차 게임의 상태를 결정하고, 이 상태를 나타내는 상태 데이터를, 통신 인터페이스(17)를 이용하여 자노드인 게임 장치(10)에 송신함과 함께, 재기입 가능 메모리(19)에 기억시킨다. 이 기억은 덮어쓰기이다. 또한, 친노드 처리를 실행 중인 프로세서(11)는, 재기입 가능 메모리(19)에 기억되어 있는 상태 데이터를 이용하여, 화상 BF 및 전황 인디케이터 IND의 표시를 행한다.
자노드 처리를 실행 중인 프로세서(11)는, 입력부(14)로부터 출력된 조작 신호에 따른 조작 데이터를 생성하고, 이 조작 데이터를, 통신 인터페이스(17)를 이용하여 친노드인 게임 장치(10)에 송신한다. 또한, 자노드 처리를 실행 중인 프로 세서(11)는, 통신 인터페이스(17)를 이용하여 수신한 상태 데이터를, 재기입 가능 메모리(19)에 기억시킨다. 이 기억은 덮어쓰기이다. 또한, 자노드 처리를 실행 중인 프로세서(11)는, 재기입 가능 메모리(19)에 기억되어 있는 상태 데이터를 이용하여, 화상 BF 및 전황 인디케이터 IND의 표시를 행한다.
[동작예]
도 10A∼도 12는, 게임 시스템(100)의 동작예를 나타내는 시퀀스도이다. 이 동작예는, 임시 친노드 리스트 회신 요구를 매칭 서버 장치(40)에, 우선 점포 A에 배치되어 있는 하나의 게임 장치(10)(게임 장치(10A))의 프로세서(11)가 송신하고, 다음으로 점포 B에 배치되어 있는 하나의 게임 장치(10)(게임 장치(10B))의 프로세서(11)가 송신하고, 다음으로 점포 C에 배치되어 있는 하나의 게임 장치(10)(게임 장치(10C))의 프로세서(11)가 송신하고, 전차 게임에서는 게임 장치(10B)가 친노드로 된다고 하는 것이다. 이후, 이 동작예에 대해서 상세하게 설명한다. 또한, 매칭 서버 장치(40)의 프로세서(41)는 이미 로비 처리를 실행하고 있는 것으로 한다.
도 10A에 도시한 바와 같이, 우선 게임 장치(10A)의 프로세서(11)가 임시 결정 처리를 개시하고, 임시 친노드 리스트 회신 요구를 매칭 서버 장치(40)에 송신한다. 이 임시 친노드 리스트 회신 요구를 수신한 매칭 서버 장치(40)의 프로세서(41)는, 재기입 가능 메모리(44)로부터가 친노드 리스트(441)를 판독하여, 게임 장치(10A)에 송신한다. 이 임시 친노드 리스트(441)는 비어 있기 때문에, 이 임시 친노드 리스트(441)를 수신한 게임 장치(10A)의 프로세서(11)는 임시 친노드 등록 요구를 송신하고, 참가자 테이블을 생성하여 임시 결정 처리를 종료하고, 다음으로 임시 친노드 처리를 개시한다. 이와 같이 하여, 전차 게임의 3인의 참가자 중 1명이 결정된다. 이 임시 친노드 등록 요구를 수신한 매칭 서버 장치(40)의 프로세서(41)는, 이 임시 친노드 등록 요구의 송신원의 게임 장치(10A)의 통신 어드레스를 재기입 가능 메모리(44)에 기억되어 있는 임시 친노드 리스트(441)에 추가한다.
다음으로, 게임 장치(10B)의 프로세서(11)가 임시 결정 처리를 개시하고, 임시 친노드 리스트 회신 요구를 매칭 서버 장치(40)에 송신한다. 이 임시 친노드 리스트 회신 요구를 수신한 매칭 서버 장치(40)의 프로세서(41)는, 재기입 가능 메모리(44)로부터가 친노드 리스트(441)를 판독하여, 게임 장치(10B)에 송신한다. 이 임시 친노드 리스트(441)에는 게임 장치(10A)의 통신 어드레스가 포함되어 있기 때문에, 이 임시 친노드 리스트(441)를 수신한 게임 장치(10B)의 프로세서(11)는, 참가자 테이블을 생성한 후에 임시 결정 처리를 종료하고, 다음으로 임시 자노드 처리(도 10B)를 개시한다.
다음으로, 도 10B에 도시한 바와 같이, 게임 장치(10C)의 프로세서(11)가 임시 결정 처리를 개시하고, 임시 친노드 리스트 회신 요구를 매칭 서버 장치(40)에 송신한다. 이 결과, 게임 장치(10C)에 대해서, 전술한 게임 장치(10B)에 관한 동작과 마찬가지의 동작이 행해진다.
한편, 임시 자노드 처리를 개시한 게임 장치(10B)의 프로세서(11)는, 참가 요구를 게임 장치(10A)에 송신한다. 이 송신은, 임시 결정 처리에서 수신 완료된 임시 친노드 리스트(441)에 포함되어 있는 통신 어드레스를 이용하여 행해진다. 이 참가 요구를 수신한 게임 장치(10A)의 프로세서(11)는 허가 통지를 게임 장 치(10B)에 송신한다. 이 허가 통지를 수신한 게임 장치(10B)의 프로세서(11)는, 게임 장치(10A)로부터의 공통 데이터 및 매칭 완료 통지의 수신을 대기한다. 이와 같이 하여, 전차 게임의 3인의 참가자 중 2인이 결정된다.
또한, 임시 자노드 처리를 개시한 게임 장치(10C)의 프로세서(11)는, 참가 요구를 게임 장치(10A)에 송신한다. 이 결과, 게임 장치(10C)에 대해서, 전술한 게임 장치(10B)에 관한 동작과 마찬가지의 동작이 행해져, 전차 게임의 3인의 참가자 전원이 결정된다.
다음으로, 게임 장치(10A)의 프로세서(11)는 게임 장치(10B)의 통신 어드레스를 포함하는 공유 데이터를 게임 장치(10C)에 송신함과 함께, 게임 장치(10C)의 통신 어드레스를 포함하는 공유 데이터를 게임 장치(10B)에 송신한다. 게임 장치(10B 및 10C)의 각각에서는, 프로세서(11)가 공유 데이터를 수신하고, 수신한 공유 데이터에 포함되어 있는 통신 어드레스와 임시 자노드를 나타내는 플래그를, 재기입 가능 메모리(19)에 기억되어 있는 참가자 테이블 T4의 비어 있는 레코드에 저장한다.
전술한 동작의 결과, 게임 장치(10A∼10C)의 참가자 테이블 T4의 내용은 서로 마찬가지로 된다. 즉, 각 참가자 테이블 T4는 게임 장치(10A)의 통신 어드레스와 임시 친노드를 나타내는 플래그를 대응지어 저장하고, 게임 장치(10B)의 통신 어드레스와 임시 자노드를 나타내는 플래그를 대응지어 저장하고, 게임 장치(10C)의 통신 어드레스와 임시 자노드를 나타내는 플래그를 대응지어 저장한 상태로 되어 있다.
다음으로, 게임 장치(10A)의 프로세서(11)는 등록 말소 요구를 매칭 서버 장치(40)에 송신한다. 이 등록 말소 요구를 수신한 매칭 서버 장치(40)의 프로세서(41)는, 이 등록 말소 요구의 송신원의 게임 장치(10A)의 통신 어드레스를 재기입 가능 메모리(44) 내의 임시 친노드 리스트(441)로부터 삭제한다. 다음으로, 게임 장치(10A)의 프로세서(11)는 매칭 완료 통지를 게임 장치(10B 및 10C)에 송신하고, 응답 측정 처리(SC7)를 개시한다. 한편, 이 매칭 완료 통지를 수신한 게임 장치(10B 및 10C)의 각 프로세서(11)는 응답 측정 처리(SD6)를 개시한다.
이후의 동작은 도 11에 도시한 바와 같다. 이 도면에서는, 전송 지연을 고려하여, 게임 장치간에서의 데이터의 전송을 나타내는 화살표가 비스듬하게 그려져 있다.
게임 장치(10A)의 프로세서(11)는, 응답 속도의 측정을 위한 응답 속도 계측 응답의 회신을 요구하는 응답 속도 계측 요구를 게임 장치(10B)에 송신한다. 이 응답 속도 계측 요구를 수신한 게임 장치(10B)의 프로세서(11)는, 응답 속도 계측 응답을 게임 장치(10A)에 송신한다. 이 응답 속도 계측 응답은 게임 장치(10A)의 프로세서(11)에 수신된다. 이 때, 게임 장치(10A)의 프로세서(11)는, 상기의 응답 속도 계측 요구를 송신하고 나서 상기의 응답 속도 계측 응답을 수신할 때까지의 시간을, 게임 장치(10A)를 기점으로 한 게임 장치(10B)에 대한 응답 시간(TAB)으로서 계측한다. 이 계측 처리와 마찬가지의 처리가, 게임 장치(10C)에 대해서도 행해져, 게임 장치(10A)를 기점으로 한 게임 장치(10C)에 대한 응답 시간(TAC)이 계측된다. 즉, 게임 장치(10A)의 응답 시간이 계측된다. 그리고, 게임 장치(10A)의 프로세서(11)는, 게임 장치(10A)의 응답 시간의 합(TAB+TAC)을 나타내는 측정 데이터를 생성하고, 자데이터로서 재기입 가능 메모리(19)에 기억시킨다.
 게임 장치(10B)에서는, 전술한 계측 처리와 마찬가지의 처리에 의해, 게임 장치(10B)를 기점으로 한 게임 장치(10A)에 대한 응답 시간(TBA)과, 게임 장치(10B)를 기점으로 한 게임 장치(10A)에 대한 응답 시간(TBC)이 계측된다. 즉, 게임 장치(10B)의 응답 시간이 계측된다. 그리고, 게임 장치(10B)의 프로세서(11)는, 게임 장치(10B)의 응답 시간의 합(TBA+TBC)을 나타내는 측정 데이터를 생성하고, 이 측정 데이터를 포함하는 측정 결과 통지를 임시 친노드인 게임 장치(10A)에 송신한다. 이 측정 결과 통지는 게임 장치(10A)의 프로세서(11)에 수신된다.
게임 장치(10C)에서는, 전술한 계측 처리와 마찬가지의 처리에 의해, 게임 장치(10C)를 기점으로 한 게임 장치(10A)에 대한 응답 시간(TCA)과, 게임 장치(10C)를 기점으로 한 게임 장치(10B)에 대한 응답 시간(TCB)이 계측된다. 즉, 게임 장치(10C)의 응답 시간이 계측된다. 그리고, 게임 장치(10C)의 프로세서(11)는, 게임 장치(10C)의 응답 시간의 합(TCA+TCB)을 나타내는 측정 데이터를 생성하고, 이 측정 데이터를 포함하는 측정 결과 통지를 임시 친노드인 게임 장치(10A)에 송신한다. 이 측정 결과 통지는 게임 장치(10A)의 프로세서(11)에 수신된다.
이렇게 하여, 응답 측정 처리가 완료된다. 다음으로 게임 장치(10A)의 프로세서(11)는 결정 처리를 행한다. 즉, 취득한 측정 데이터 중 최소의 값을 나타내는 유일한 측정 데이터가 자데이터인 경우에는 게임 장치(10A)를 친노드로 하고, 자데이터가 아닌 경우에는 최소의 값을 나타내는 유일한 측정 데이터의 송신원의 게임 장치(10)를 친노드로 한다. 이 동작예에서는, 최소의 값을 나타내는 유일한 측정 데이터는 게임 장치(10B)로부터 송신되어 온 측정 데이터이며, 게임 장치(10B)가 친노드로 된다. 따라서, 게임 장치(10A)의 프로세서(11)는, 재기입 가능 메모리(19) 내의 참가자 테이블 T4에 저장된 플래그 중, 친노드인 게임 장치(10B)의 통신 어드레스에 대응하는 플래그를, 친노드를 나타내는 플래그로 갱신하고, 다른 통신 어드레스에 대응하는 플래그를, 자노드를 나타내는 플래그로 갱신한다.
다음으로, 게임 장치(10A)의 프로세서(11)는, 도 12에 도시한 바와 같이, 친노드인 게임 장치(10B)의 통신 어드레스를 포함하는 결정 통지를, 게임 장치(10B 및 10C)에 송신한다. 다음으로, 게임 장치(10A)의 프로세서(11)는 임시 친노드 처리를 종료하고, 게임 장치(10A)의 통신 어드레스에 대응지어 참가자 테이블 T4에 저장되어 있는 플래그에 따른 처리(자노드 처리)를 개시한다. 한편, 상기의 결정 통지를 수신한 게임 장치(10B)의 프로세서(11)는, 수신한 결정 통지에 따라서 재기입 가능 메모리(19) 내의 참가자 테이블 T4를 갱신한다. 이 갱신의 결과는 게임 장치(10A)에서의 갱신의 결과와 마찬가지로 된다. 다음으로, 게임 장치(10B)의 프로세서(11)는 임시 자노드 처리를 종료하고, 게임 장치(10B)의 통신 어드레스에 대응지어 참가자 테이블 T4에 저장되어 있는 플래그에 따른 처리(친노드 처리)를 개시한다. 이것과 마찬가지의 것이, 게임 장치(10C)에서도 행해진다. 단, 게임 장치(10C)의 프로세서(11)가 개시하는 처리는 자노드 처리로 된다.
이후, 게임 장치(10B)에서는 친노드 처리가 실행되고, 게임 장치(10A 및 10C)의 각각에서는 자노드 처리가 실행된다. 이에 의해, 게임 시스템(100)에서는, 이하에 예시하는 동작이 반복하여 실행된다. 이 예에서는, 게임 장치(10A∼10C)에서, 입력부(14)로부터 조작 신호가 출력된 것으로 한다. 그러면, 자노드인 게임 장치(10A 및 10C)의 각 프로세서(11)는, 출력된 조작 신호에 따라서 조작 데이터를 생성하고, 이 조작 데이터를 친노드인 게임 장치(10B)에 송신한다. 이들 조작 데이터는, 게임 장치(10B)의 프로세서(11)에 수신된다. 즉, 조작 데이터가 친노드인 게임 장치(10B)에 집약된다. 다음으로 게임 장치(10B)의 프로세서(11)는, 집약된 조작 데이터에 기초하여 전차 게임의 상태를 결정하고, 이 상태를 나타내는 상태 데이터를, 자기의 재기입 가능 메모리(19)에 기억시키는 한편, 게임 장치(10A 및 10C)에 송신한다. 이들 상태 데이터는, 게임 장치(10A 및 10C)의 프로세서(11)에 의해 수신되고, 각각 재기입 가능 메모리(19)에 기억된다. 즉, 최신의 상태를 나타내는 상태 데이터가 게임 장치(10A∼10C)에 공유된다. 다음으로, 게임 장치(10A∼10C)의 각 프로세서는, 공유하고 있는 상태 데이터를 이용하여, 화상 BF 및 전황 인디케이터 IND의 표시를 행한다. 이 결과, 게임 장치(10A∼10C)의 표시부(15)의 화면(151)에, 최신의 상태를 나타내는 화상이 표시된다.
[정리]
이상 설명한 바와 같이, 게임 시스템(100)에 따르면, 응답 시간의 합이 최소인 게임 장치(10)가 친노드로 되기 때문에, 자노드로부터 친노드를 경유하여 다른 자노드에 전달될 데이터의 전송 지연(누적값)이 최단으로 된다. 또한, 자노드로부터 친노드를 경유하여 해당 자노드에 전달될 데이터의 전송 지연을 2개의 자노드에 대해서 평균화하여 얻어지는 시간도 최단으로 된다. 따라서, 전차 게임의 진행에 영향을 주는 통신의 지연을 작게 할 수 있다. 또한, 전술한 실시 형태에서는, 게임 데이터의 일종인 조작 데이터가 그대로 친노드로부터 자노드에 전달되는 일은 없지만, 조작 데이터를 반영한 상태 데이터가 친노드로부터 자노드에 전달되기 때문에, 조작 데이터는 형식을 변화시키면서 자노드로부터 친노드를 경유하여 다른 자노드에 전달될 데이터라고 할 수 있다.
<제2 실시 형태>
도 13은, 본 발명의 제2 실시 형태에 따른 게임 시스템(200)의 전체 구성을 도시하는 블록도이다. 게임 시스템(200)이 게임 시스템(100)과 상이한 점은, 게임 장치(10) 대신에 게임 장치(50)를 갖는 점과, 매칭 서버 장치(40) 대신에 매칭 서버 장치(60)를 갖는 점이다.
[게임 장치(50)]
도 14는, 게임 장치(50)의 구성을 도시하는 블록도이다. 게임 장치(50)가 게임 장치(10)와 상이한 점은, 불휘발성 메모리(18) 대신에 불휘발성 메모리(51)를 갖는 점이다. 불휘발성 메모리(51)는, 예를 들면 ROM이며, 프로그램(511) 및 서버 장치 데이터(512)를 기억하고 있다. 프로그램(511)은 프로세서(11)에 실행됨으로써 게임 장치(50)에 각종 처리(후술하는 클라이언트 처리, 친노드 처리, 자노드 처리)를 행하게 한다. 이후의 설명에서 프로세서(11)가 행하는 처리는 프로그램(511)을 이용하여 행해진다. 서버 장치 데이터(512)는 매칭 서버 장치(60)의 통신 어드레스를 취득하기 위해 필요한 데이터이다.
[매칭 서버 장치(60)]
도 15는, 매칭 서버 장치(60)의 구성을 도시하는 블록도이다. 매칭 서버 장치(60)가 매칭 서버 장치(40)와 상이한 점은, 불휘발성 메모리(43) 대신에 불휘발성 메모리(61)를 갖는 점과, 재기입 가능 메모리(44) 대신에 재기입 가능 메모리(62)를 갖는 점이다. 불휘발성 메모리(61)는, 예를 들면 ROM 및 하드디스크이다. ROM은 IPL을, 하드디스크는 프로그램(611)을 기억하고 있다. 프로그램(611)은 프로세서(41)에 실행됨으로써, 매칭 서버 장치(60)에 후술하는 서버 처리를 행하게 한다. 이후의 설명에서 프로세서(41)가 행하는 처리는 프로그램(611)을 이용하여 행해진다. 또한, 불휘발성 메모리(61)는 매칭 서버 장치(60)의 통신 어드레스를 기억하고 있다.
재기입 가능 메모리(62)는, 예를 들면 RAM이며, 그 기억 영역에는, 어느 하나의 그룹에 속하는 게임 장치(50)의 데이터를 저장하는 그룹 테이블(621)이 확보된다. 그룹 테이블(621)의 레코드수는, 매칭 서버 장치(40)의 전원 투입 시에는 제로이며, 어느 하나의 그룹에 속하는 게임 장치(50)가 증가할 때마다 증가한다. 각 레코드에는, 어느 하나의 그룹에 속하는 게임 장치(50)의 통신 어드레스와, 그 게임 장치(50)가 속하는 그룹을 식별하기 위한 그룹 ID와, 그 게임 장치(50)의 응답 시간의 합을 나타내는 측정 데이터가 저장된다. 또한, 재기입 가능 메모리(62)는, 새로운 게임 장치(50)가 속하게 되는 그룹의 그룹 ID인 최신 ID(622)를 기억한다. 또한, 재기입 가능 메모리(62)는 프로세서(41)가 수신한 데이터의 송신원의 장치의 통신 어드레스의 일시적인 기억에도 이용된다.
[서버 처리]
도 16은, 매칭 서버 장치(60)의 프로세서(41)가 행하는 서버 처리의 플로우차트이다. 서버 처리에서는, 프로세서(41)는, 우선 초기화를 행한다(SE1). 구체적으로는, 초기값을 나타내는 최신 ID(622)를 재기입 가능 메모리(62)에 기억시킴과 함께, 그룹 테이블(621)을 재기입 가능 메모리(62)에 확보한다. 다음으로 프로세서(41)는 게임 장치(50)로부터 데이터를 수신할 때까지, 게임 장치(50)로부터 데이터를 수신하였는지의 여부를 판정하는 처리(SE2)를 반복하여 행한다. 데이터를 수신하고, 이 처리의 판정 결과가 「예」로 되면, 프로세서(41)는 수신한 데이터가 참가 요구인지의 여부를 판정한다(SE3).
스텝 SE3의 판정 결과가 「예」인 경우, 프로세서(41)는 재기입 가능 메모리(62) 내의 최신 ID(622)를 이용하여 재기입 가능 메모리(62) 내의 그룹 테이블(621)에 레코드를 추가한다(SE4). 이 레코드에는, 통신 어드레스로서 참가 요구의 송신원의 게임 장치(50)의 통신 어드레스가 저장되고, 그룹 ID로서 최신 ID(622)가 저장된다. 다음으로 프로세서(41)는 그룹 테이블(621)을 참조하여, 최신 ID(622)의 그룹의 참가자가 3인인지의 여부를 판정한다(SE5). 이 판정 결과가 「아니오」인 경우, 처리는 스텝 SE2로 이행한다.
스텝 SE5의 판정 결과가 「예」로 되면, 프로세서(41)는 최신 ID(622)의 그룹에 속하는 게임 장치(50)의 각각에, 응답 시간의 측정을 요구하는 측정 요구를 송신한다(SE6). 각 게임 장치(50)에의 측정 요구에는, 그 게임 장치(50)와 동일 그룹에 속하는, 그 게임 장치(50) 이외의 모든 게임 장치(50)의 통신 어드레스가 포함되어 있다. 다음으로 프로세서(41)는, 재기입 가능 메모리(62) 내의 최신 ID(622)를 갱신한다(SE7). 이에 의해, 최신 ID(622)는 미사용의 것으로 된다. 이후, 처리는 스텝 SE2로 이행한다.
스텝 SE3의 판정 결과가 「아니오」인 경우, 프로세서(41)는 수신한 데이터가 측정 결과 통지인지의 여부를 판정한다(SE8). 이 판정 결과가 「아니오」인 경우, 처리는 스텝 SE2로 이행한다. 스텝 SE8의 판정 결과가 「예」인 경우, 프로세서(41)는 그룹 테이블(621)의 레코드 중, 수신한 측정 결과 통지의 송신원의 게임 장치(50)에 대응하는 레코드를 갱신한다(SE9). 다음으로 프로세서(41)는, 그 레코드의 그룹 ID의 그룹에 대해서 측정을 완료하였는지의 여부를 판정한다(SE10). 이 판정은 그룹 테이블(621)을 참조하여, 그 레코드와 동일한 그룹 ID의 레코드 모두에 측정 데이터가 저장되어 있는지의 여부를 조사함으로써 행해진다. 이 판정 결과가 「아니오」인 경우, 처리는 스텝 SE2로 되돌아간다.
스텝 SE10의 판정 결과가 「예」인 경우, 프로세서(41)는 그룹 테이블(621)을 참조하여, 측정을 완료한 그룹에 대해서, 친노드를 결정하는 결정 처리를 행한다(SE11). 구체적으로는, 그 그룹에 대응하는 모든 레코드에 저장된 측정 데이터 중 최소의 값을 나타내는 유일한 데이터에 대응하는 게임 장치(50)를 친노드로 한다. 다음으로 프로세서(41)는 결정한 친노드를 나타내는 결정 통지를, 그 그룹에 속하는 모든 게임 장치(50)에 송신한다(SE12). 다음으로 프로세서(41)는, 그 그룹에 대응하는 모든 레코드를 그룹 테이블(621)로부터 삭제한다. 이후, 처리는 스텝 SE2로 이행한다.
[클라이언트 처리]
도 17은, 게임 장치(50)의 프로세서(11)가 행하는 클라이언트 처리의 플로우차트이다. 클라이언트 처리에서는, 프로세서(11)는, 우선 참가 요구를 매칭 서버 장치(60)에 송신한다(SF1). 다음으로 프로세서(11)는 매칭 서버 장치(60)로부터 측정 요구를 수신할 때까지, 매칭 서버 장치(60)로부터 측정 요구를 수신하였는지의 여부를 판정하는 처리(SF2)를 반복하여 행한다. 측정 요구를 수신하고, 이 처리의 판정 결과가 「예」로 되면, 프로세서(11)는, 도 9의 스텝 SD6과 마찬가지의 응답 측정 처리를 행한다(SF3). 단, 스텝 SF3의 응답 측정 처리에서는, 생성한 측정 데이터를 포함하는 측정 결과 통지의 송신처는, 임시 친노드가 아니라, 매칭 서버 장치(60)로 된다.
다음으로 프로세서(11)는 매칭 서버 장치(60)로부터 결정 통지를 수신할 때까지, 매칭 서버 장치(60)로부터 결정 통지를 수신하였는지의 여부를 판정하는 처리(SF4)를 반복하여 행한다. 결정 통지를 수신하고, 이 처리의 판정 결과가 「예」로 되면, 프로세서(11)는 수신한 결정 통지에 기초하여 참가자 테이블 T4를 생성한다(SF5). 여기서 생성되는 참가자 테이블 T4는, 도 8의 스텝 SC9나 도 9의 스텝 SD8에 의해 얻어지는 참가자 테이블 T4와 동등하다.
[동작예]
도 18A 및 도 18B는, 게임 시스템(200)의 동작예를 나타내는 시퀀스도이다. 도 18A에 도시한 바와 같이, 이 동작예에서는, 우선 점포 A에 배치되어 있는 하나의 게임 장치(50)(게임 장치(50A))의 프로세서(11)가 클라이언트 처리를 개시하고, 참가 요구를 매칭 서버 장치(60)에 송신한다. 다음으로 점포 B에 배치되어 있는 하나의 게임 장치(50)(게임 장치(50B))의 프로세서(11)가 클라이언트 처리를 개시하고, 참가 요구를 매칭 서버 장치(60)에 송신한다. 다음으로 점포 C에 배치되어 있는 하나의 게임 장치(50)(게임 장치(50C))의 프로세서(11)가 클라이언트 처리를 개시하고, 참가 요구를 매칭 서버 장치(60)에 송신한다.
매칭 서버 장치(60)의 프로세서(41)는 이미 서버 처리를 실행하고 있고, 게임 장치(50C)로부터의 참가 요구를 수신하면, 최신 ID(622)의 그룹에 속하는 게임 장치(50A∼50C)의 각각에, 응답 시간의 측정을 요구하는 측정 요구를 송신한다. 게임 장치(50A)에의 측정 요구에는 게임 장치(50B 및 50C)의 통신 어드레스가 포함되어 있고, 게임 장치(50B)에의 측정 요구에는 게임 장치(50A 및 50C)의 통신 어드레스가 포함되어 있고, 게임 장치(50C)에의 측정 요구에는 게임 장치(50A 및 50B)의 통신 어드레스가 포함되어 있다.
도 18B에 도시한 바와 같이, 측정 요구를 수신한 게임 장치(50A∼50C)의 각 프로세서(11)는, 각각 응답 측정 처리를 행한다. 응답 측정 처리의 결과, 게임 장치(50A∼50C)의 각각에서는, 그 게임 장치(50)의 응답 시간의 합을 나타내는 측정 데이터가 생성된다. 그리고, 게임 장치(50A∼50C)의 각 프로세서(11)는, 생성한 측정 데이터를 포함하는 측정 결과 통지를 매칭 서버 장치(60)에 송신한다. 이들 측정 데이터를 수신한 매칭 서버 장치(60)의 프로세서(41)는 결정 처리를 행한다. 즉, 수신한 측정 데이터 중 최소의 값을 나타내는 유일한 측정 데이터의 송신원인 게임 장치(50)(여기서는 게임 장치(50B))를 친노드로 한다. 다음으로, 매칭 서버 장치(60)의 프로세서(41)는, 친노드인 게임 장치(50B)의 통신 어드레스를 포함하는 결정 통지를, 게임 장치(50A∼50C)에 송신한다.
상기의 결정 통지를 수신한 게임 장치(50A∼50C)의 각 프로세서(11)는, 수신한 결정 통지에 기초하여 참가자 테이블 T4를 생성하고, 클라이언트 처리를 종료한다. 이후, 게임 장치(50B)의 프로세서(11)는 참가자 테이블 T4를 참조하여 친노드 처리를 개시한다. 한편, 게임 장치(50A)의 프로세서(11)는 참가자 테이블 T4를 참조하여 자노드 처리를 개시한다. 이와 마찬가지로, 게임 장치(50C)의 프로세서(11)는 참가자 테이블 T4를 참조하여 자노드 처리를 개시한다.
이상의 설명으로부터 명백해지는 바와 같이, 게임 시스템(200)에 따르면, 게임 시스템(100)과 마찬가지의 효과를 얻을 수 있다.
<제3 실시 형태>
도 19는, 본 발명의 제3 실시 형태에 따른 게임 시스템(300)의 전체 구성을 도시하는 블록도이다. 게임 시스템(300)이 게임 시스템(100)과 상이한 점은, 하나의 점포 A에 닫힌 시스템인 점이다. 이 때문에, 게임 시스템(300)은, 각각이 점포 A의 LAN에 접속된 3개 이상의 게임 장치(70)만을 갖는다.
[게임 장치(70)]
도 20은, 게임 장치(70)의 구성을 도시하는 블록도이다. 게임 장치(70)가 게임 장치(10)와 상이한 점은, 불휘발성 메모리(18) 대신에 불휘발성 메모리(71)를 갖는 점과, 재기입 가능 메모리(19) 대신에 재기입 가능 메모리(72)를 갖는 점이다. 불휘발성 메모리(71)는, 예를 들면 ROM 및 EEPROM(Electronically rasable and Programmable ROM)이며, 프로그램(711) 및 동보 어드레스 데이터(712)를 기억하고 있다.
프로그램(711)은, 프로세서(11)에 실행됨으로써 게임 장치(50)에 각종 처리(후술하는 임시 결정 처리, 임시 친노드 응답 처리, 임시 친노드 처리, 임시 자노드 처리, 친노드 처리, 자노드 처리)를 행하게 한다. 이후의 설명에서 프로세서(11)가 행하는 처리는 프로그램(711)을 이용하여 행해진다. 동보 어드레스 데이터(712)는, 임시 친노드인 것을 나타내는 임시 친노드 응답의 회신을 요구하는 임시 친노드 응답 요구의 송신처의 게임 장치(70)의 통신 어드레스를 포함하는 데이터이며, 모든 게임 장치(70)의 통신 어드레스를 포함하고 있다. 또한, 재기입 가능 메모리(72)는, 프로세서(11)가 수신한 데이터의 송신원의 장치의 통신 어드레스의 일시적인 기억에도 이용된다.
재기입 가능 메모리(72)는, 예를 들면 RAM이며, 그 기억 영역에는 참가자의 데이터를 저장하는 참가자 테이블 T5가 확보된다. 참가자 테이블 T5는 참가자에 각각 대응하는 3개의 레코드를 갖는다. 각 레코드에는, 참가자의 게임 장치(70)의 통신 어드레스와 그 게임 장치(70)의 종별(친노드/자노드)을 나타내는 플래그가 저장된다. 또한, 재기입 가능 메모리(72)는 자기가 임시 친노드로서 참가 요구를 대기하고 있는지의 여부를 나타내는 임시 친노드 플래그(721)를 기억한다. 임시 친노드 플래그(721)의 초기값은, 자기가 임시 친노드로서 참가 요구를 대기하고 있지 않는 것을 나타내는 값(예를 들면 0)이다. 또한, 재기입 가능 메모리(72)는, 프로세서(11)가 수신한 데이터의 송신원의 장치의 통신 어드레스의 일시적인 기억에도 이용된다. 또한, 불휘발성 메모리(71) 또는 재기입 가능 메모리(72)는 자기의 통신 어드레스를 기억한다.
[임시 결정 처리]
도 21은, 게임 장치(70)의 프로세서(11)가 행하는 임시 결정 처리의 플로우차트이다. 임시 결정 처리에서는, 프로세서(11)는 동보 어드레스 데이터(712)를 참조하여, 임시 친노드 응답 요구를 모든 게임 장치(70)에 동보 송신한다(SG1). 다음으로 프로세서(11)는 임시 친노드 응답을 수신하였는지의 여부를 판정하고(SG2), 이 판정 결과가 「아니오」인 경우에는, 임시 친노드 응답 요구의 동보 송신으로부터의 경과 시간이 소정 시간에 도달하였는지의 여부를 판정하고(SG3), 이 판정 결과가 「아니오」인 경우에는, 처리를 스텝 SG2로 되돌린다.
스텝 SG2의 판정 결과가 「예」로 되면, 프로세서(11)는 자기의 통신 어드레스를 저장한 참가자 테이블 T5를 생성하는 한편, 임시 친노드 플래그(721)의 값을, 자기가 임시 친노드로서 참가 요구를 대기하고 있지 않는 것을 나타내는 값으로 한다(SG4). 그리고, 임시 결정 처리를 종료한다. 한편, 스텝 SG3의 판정 결과가 「예」로 되면, 프로세서(11)는 자기의 통신 어드레스를 저장한 참가자 테이블 T5를 생성하는 한편, 임시 친노드 플래그(721)의 값을, 자기가 임시 친노드로서 참가 요구를 대기하고 있는 것을 나타내는 값(예를 들면 1)으로 한다(SG5). 그리고, 임시 결정 처리를 종료한다.
[임시 친노드 응답 처리]
도 22는, 게임 장치(70)의 프로세서(11)가 행하는 임시 친노드 응답 처리의 플로우차트이다. 임시 친노드 응답 처리에서는, 프로세서(11)는 임시 친노드 응답 요구를 수신할 때까지, 임시 친노드 응답 요구를 수신하였는지의 여부를 판정하는 처리(SH1)를 반복한다. 이 처리의 판정 결과가 「예」로 되면, 프로세서(11)는 임시 친노드 플래그(721)의 값이, 임시 친노드를 나타내는 값인지의 여부를 판정한다(SH2). 이 판정 결과가 「아니오」이면, 처리는 스텝 SH1로 되돌아간다. 스텝 SH2의 판정 결과가 「예」이면, 프로세서(11)는 수신한 임시 친노드 응답 요구의 송신원인 게임 장치(70)에, 임시 친노드 응답을 송신한다(SH3). 이후, 처리는 스텝 SH1로 되돌아간다.
[임시 친노드 처리 및 임시 자노드 처리]
도 23은, 게임 장치(70)의 프로세서(11)가 행하는 임시 친노드 처리의 플로우차트이다. 이 임시 친노드 처리가, 도 8의 임시 친노드 처리와 상이한 점은, 등록 말소 통지를 송신하는 처리(SC5) 대신에, 임시 친노드 플래그(721)의 값을 임시 친노드로서 참가 요구를 대기하고 있지 않는 것을 나타내는 값으로 하는 처리(SJ1)를 갖는 점이다. 임시 자노드 처리는, 도 9에 도시한 바와 같다. 이상의 설명으로부터 명백해지는 바와 같이, 본 실시 형태에서, 게임 장치(70)가 갖는 임시 친노드 플래그(721)의 값이 임시 친노드로서 참가 요구를 대기하고 있는 것을 나타내는 값으로 되는 기간(임시 결정 처리의 스텝 SG5로부터 임시 친노드 처리의 스텝 SJ1까지)을 제외한 기간에서는, 그 게임 장치(70)로부터가 친노드 응답이 송신되는 일은 없기 때문에, 그 게임 장치(70)에 참가 요구가 송신되는 일도 없다. 따라서, 본 실시 형태에 따르면, 복수의 그룹이 병존할 수 있는 환경 하에서도, 임시 친노 드 응답 및 참가 요구의 불필요한 송신을 억제할 수 있다.
이상의 설명으로부터 명백해지는 바와 같이, 게임 시스템(300)에 따르면, 게임 시스템(100)과 마찬가지의 효과를 얻을 수 있다.
<변형예>
전술한 각 실시 형태에서는, 친노드의 게임 장치가 각 진의 손해를 특정하도록 하였지만, 각 게임 장치가 자신의 진의 손해를 특정하고, 그 손해를 나타내는 손해 데이터(게임 데이터)를 자노드의 게임 장치가 친노드의 게임 장치에 송신하도록 하여도 된다. 이 경우, 친노드로부터 자노드에 3개의 손해 데이터를 전달하고, 각 자노드에 의해 손해의 비율을 특정하도록 하여도 되고, 친노드에서 손해의 비율(전차 게임의 상태)을 결정하고, 이를 나타내는 상태 데이터를 각 자노드에 전달하도록 하여도 된다. 전자의 경우, 손해 데이터는 자노드로부터 친노드를 경유하여 다른 자노드에 그대로 전달될 데이터라고 할 수 있다. 후자의 경우, 손해 데이터를 반영한 상태 데이터가 친노드로부터 자노드에 전달되기 때문에, 손해 데이터는 형식을 변화시키면서 자노드로부터 친노드를 경유하여 다른 자노드에 전달될 데이터라고 할 수 있다.
전술한 각 실시 형태에서는, 각 응답 시간의 측정을 1회의 계측(송수신)으로 행하도록 하였지만, 복수회의 계측으로 행하도록 하여도 된다. 이 경우에는, 예를 들면 복수회의 계측 결과의 평균값을 측정 결과로 할 수 있기 때문에, 측정의 정밀도가 향상된다.
전술한 각 실시 형태에서는, 참가자의 수를 3인으로 하였지만, 4인 이상으로 하여도 된다. 또한, 참가자의 수가 가변이어도 된다. 또한, 전차 게임 이외의 게임이어도 된다. 또한, 본 발명은 다인수 참가형의 임의의 게임에 적용 가능하다. 또한, 본 발명은 게임 이외의 공동 작업에도 적용 가능하다. 그와 같은 공동 작업으로서는, 채팅을 예시할 수 있다.

Claims (7)

  1. 3개 이상의 통신 장치가 이루는 그룹으로서 상기 3개 이상의 통신 장치 중 1개가 임시 친노드로 되는 그룹에 참가하는 참가부와,
    네트워크와의 사이에서 신호를 송수하는 통신 인터페이스와,
    상기 통신 인터페이스를 이용하여 게임 데이터를 송수신하는 게임 데이터 송수신부와,
    상기 통신 장치와 다른 통신 장치의 각각과의 사이의 전송 지연 시간 및 상기 각 통신 장치에서의 처리 지연 시간을 포함하는 상기 통신 장치의 응답 시간을 측정하고, 측정한 응답 시간의 합을 나타내는 측정 데이터를 생성하는 측정 데이터 생성부
    를 갖고,
    상기 통신 장치는, 그 통신 장치가 임시 친노드가 아닌 경우에는,
    상기 측정 데이터를 임시 친노드인 다른 통신 장치에 송신하는 측정 데이터 송신부와,
    임시 친노드인 다른 통신 장치로부터 친노드인 1개의 통신 장치를 나타내는 결정 데이터를 수신하는 결정 데이터 수신부를 갖고,
    상기 통신 장치는, 그 통신 장치가 임시 친노드인 경우에는,
    상기 그룹의 다른 통신 장치로부터 측정 데이터를 수신하는 측정 데이터 수신부와,
    상기 측정 데이터 수신부가 수신한 측정 데이터 및 상기 측정 데이터 생성부가 생성한 측정 데이터에 기초하여, 상기 통신 장치의 상기 측정 데이터가 상기 그룹의 통신 장치의 측정 데이터 중 최소의 값을 나타내는 유일한 데이터인 경우에는 상기 통신 장치가 상기 친노드인 것을 나타내는 상기 결정 데이터를 생성하고, 그렇지 않은 경우에는 상기 유일한 데이터의 송신원인 다른 통신 장치 중 1개가 상기 친노드인 것을 나타내는 상기 결정 데이터를 생성하는 결정 데이터 생성부와,
    상기 결정 데이터를 상기 그룹의 다른 통신 장치의 각각에 송신하는 결정 데이터 송신부를 갖고,
    상기 게임 데이터 송수신부는, 게임 데이터를 송신할 때에는, 그 송신을, 상기 통신 장치가 친노드인 경우에는 직접적인 통신에 의해 행하고, 상기 통신 장치가 친노드가 아닌 경우에는 친노드인 통신 장치를 통한 간접적인 통신에 의해 행하는
    것을 특징으로 하는 통신 장치.
  2. 제1항에 있어서,
    플레이어의 조작을 접수하고, 그 조작에 따른 조작 신호를 출력하는 입력부와,
    상기 조작 신호에 기초하여 상기 게임 데이터를 생성하는 게임 데이터 생성부와,
    상기 게임 데이터 송수신부가 수신한 게임 데이터에 기초하여 게임을 진행시 키는 제어부
    를 갖는 것을 특징으로 하는 통신 장치.
  3. 1개의 그룹을 이루는 3개 이상의 통신 장치를 갖고,
    상기 그룹을 이루는 통신 장치 중 1개가 임시 친노드로 되고,
    상기 3개 이상의 통신 장치의 각각에 대해서, 상기 통신 장치의 응답 시간은, 상기 통신 장치와 다른 통신 장치의 각각과의 사이의 전송 지연 시간 및 상기 각 통신 장치에서의 처리 지연 시간을 포함하고,
    상기 3개 이상의 통신 장치의 각각은,
    네트워크와의 사이에서 신호를 송수하는 통신 인터페이스와,
    상기 통신 인터페이스를 이용하여 게임 데이터를 송수신하는 게임 데이터 송수신부와,
    상기 통신 장치의 응답 시간을 측정하고, 측정한 응답 시간의 합을 나타내는 측정 데이터를 생성하는 측정 데이터 생성부를 갖고,
    상기 통신 장치는, 그 통신 장치가 임시 친노드가 아닌 경우에는,
    상기 측정 데이터를 임시 친노드인 다른 통신 장치에 송신하는 측정 데이터 송신부와,
    임시 친노드인 다른 통신 장치로부터 친노드인 1개의 통신 장치를 나타내는 결정 데이터를 수신하는 결정 데이터 수신부를 갖고,
    상기 통신 장치는, 그 통신 장치가 임시 친노드인 경우에는,
    상기 그룹의 다른 통신 장치로부터 측정 데이터를 수신하는 측정 데이터 수신부와,
    상기 측정 데이터 수신부가 수신한 측정 데이터 및 상기 측정 데이터 생성부가 생성한 측정 데이터에 기초하여, 상기 통신 장치의 상기 측정 데이터가 상기 그룹의 통신 장치의 측정 데이터 중 최소의 값을 나타내는 유일한 데이터인 경우에는 상기 통신 장치가 상기 친노드인 것을 나타내는 상기 결정 데이터를 생성하고, 그렇지 않은 경우에는 상기 유일한 데이터의 송신원인 다른 통신 장치 중 1개가 상기 친노드인 것을 나타내는 상기 결정 데이터를 생성하는 결정 데이터 생성부와,
    상기 결정 데이터를 상기 그룹의 다른 통신 장치의 각각에 송신하는 결정 데이터 송신부를 갖고,
    상기 게임 데이터 송수신부는, 게임 데이터를 송신할 때에는, 그 송신을, 상기 통신 장치가 친노드인 경우에는 직접적인 통신에 의해 행하고, 상기 통신 장치가 친노드가 아닌 경우에는 친노드인 통신 장치를 통한 간접적인 통신에 의해 행하는
    것을 특징으로 하는 통신 시스템.
  4. 서버 장치와 1개의 그룹을 이루는 3개 이상의 통신 장치를 갖고,
    상기 3개 이상의 통신 장치의 각각에 대해서, 상기 통신 장치의 응답 시간은, 상기 통신 장치와 다른 통신 장치의 각각과의 사이의 전송 지연 시간 및 상기 각 통신 장치에서의 처리 지연 시간을 포함하고,
    상기 3개 이상의 통신 장치의 각각은,
    네트워크와의 사이에서 신호를 송수하는 통신 인터페이스와,
    상기 통신 인터페이스를 이용하여 게임 데이터를 송수신하는 게임 데이터 송수신부와,
    상기 통신 장치의 응답 시간을 측정하고, 측정한 응답 시간의 합을 나타내는 측정 데이터를 생성하는 측정 데이터 생성부와,
    상기 측정 데이터를 상기 서버 장치에 송신하는 측정 데이터 송신부와,
    상기 서버 장치로부터 친노드인 1개의 통신 장치를 나타내는 결정 데이터를 수신하는 결정 데이터 수신부를 갖고,
    상기 서버 장치는, 상기 3개 이상의 통신 장치로부터 상기 측정 데이터를 수신하고, 수신한 측정 데이터 중 1개의 측정 데이터가 최소의 값을 나타내는 경우에는, 그 측정 데이터의 송신원인 통신 장치를 나타내는 상기 결정 데이터를 상기 3개 이상의 통신 장치의 각각에 송신하고,
    상기 게임 데이터 송수신부는, 게임 데이터를 송신할 때에는, 그 송신을, 상기 통신 장치가 친노드인 경우에는 직접적인 통신에 의해 행하고, 상기 통신 장치가 친노드가 아닌 경우에는 친노드인 통신 장치를 통한 간접적인 통신에 의해 행하는
    것을 특징으로 하는 통신 시스템.
  5. 제3항 또는 제4항에 있어서,
    상기 3개 이상의 통신 장치를 포함하는 4개 이상의 통신 장치를 갖고,
    상기 4개 이상의 통신 장치의 각각은 상기 그룹에 속하는 것이 가능한 것을 특징으로 하는 통신 시스템.
  6. 제3항 내지 제5항 중 어느 한 항에 있어서,
    상기 그룹을 이루는 통신 장치의 각각은,
    플레이어의 조작을 접수하고, 그 조작에 따른 조작 신호를 출력하는 입력부와,
    상기 조작 신호에 기초하여 상기 게임 데이터를 생성하는 게임 데이터 생성부와,
    상기 게임 데이터 송수신부가 수신한 게임 데이터에 기초하여 게임을 진행시키는 제어부
    를 갖는 것을 특징으로 하는 통신 시스템.
  7. 통신 장치에,
    3개 이상의 통신 장치가 이루는 그룹으로서 상기 3개 이상의 통신 장치 중 1개가 임시 친노드로 되는 그룹에 참가하는 참가부와,
    네트워크와의 사이에서 신호를 송수하는 통신 인터페이스와,
    상기 통신 인터페이스를 이용하여 게임 데이터를 송수신하는 게임 데이터 송수신부와,
    상기 통신 장치와 다른 통신 장치의 각각과의 사이의 전송 지연 시간 및 상기 각 통신 장치에서의 처리 지연 시간을 포함하는 상기 통신 장치의 응답 시간을 측정하고, 측정한 응답 시간의 합을 나타내는 측정 데이터를 생성하는 측정 데이터 생성부로서 기능시키고,
    상기 통신 장치가 임시 친노드가 아닌 경우에는,
    상기 측정 데이터를 임시 친노드인 다른 통신 장치에 송신하는 측정 데이터 송신부와,
    임시 친노드인 다른 통신 장치로부터 친노드인 1개의 통신 장치를 나타내는 결정 데이터를 수신하는 결정 데이터 수신부로서 기능시키고,
    상기 통신 장치가 임시 친노드인 경우에는,
    상기 그룹의 다른 통신 장치로부터 측정 데이터를 수신하는 측정 데이터 수신부와,
    상기 측정 데이터 수신부가 수신한 측정 데이터 및 상기 측정 데이터 생성부가 생성한 측정 데이터에 기초하여, 상기 통신 장치의 상기 측정 데이터가 상기 그룹의 통신 장치의 측정 데이터 중 최소의 값을 나타내는 유일한 데이터인 경우에는 상기 통신 장치가 상기 친노드인 것을 나타내는 상기 결정 데이터를 생성하고, 그렇지 않은 경우에는 상기 유일한 데이터의 송신원인 다른 통신 장치 중 1개가 상기 친노드인 것을 나타내는 상기 결정 데이터를 생성하는 결정 데이터 생성부와,
    상기 결정 데이터를 상기 그룹의 다른 통신 장치의 각각에 송신하는 결정 데이터 송신부로서 기능시키는 프로그램으로서,
    상기 게임 데이터 송수신부는, 게임 데이터를 송신할 때에는, 그 송신을, 상기 통신 장치가 친노드인 경우에는 직접적인 통신에 의해 행하고, 상기 통신 장치가 친노드가 아닌 경우에는 친노드인 통신 장치를 통한 간접적인 통신에 의해 행하는
    것을 특징으로 하는 프로그램.
KR1020097004871A 2006-08-10 2007-08-07 통신 장치, 통신 시스템 및 기록 매체 KR101065578B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2006-217931 2006-08-10
JP2006217931A JP4116050B2 (ja) 2006-08-10 2006-08-10 通信装置、通信システムおよびプログラム

Publications (2)

Publication Number Publication Date
KR20090045321A true KR20090045321A (ko) 2009-05-07
KR101065578B1 KR101065578B1 (ko) 2011-09-19

Family

ID=39032966

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097004871A KR101065578B1 (ko) 2006-08-10 2007-08-07 통신 장치, 통신 시스템 및 기록 매체

Country Status (7)

Country Link
US (1) US8224992B2 (ko)
EP (1) EP2050486A4 (ko)
JP (1) JP4116050B2 (ko)
KR (1) KR101065578B1 (ko)
CN (1) CN101500671B (ko)
HK (1) HK1130721A1 (ko)
WO (1) WO2008018436A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101349814B1 (ko) * 2010-01-29 2014-01-08 에스케이플래닛 주식회사 다중 게임을 위한 호스트 단말 선정 방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050202872A1 (en) * 2004-03-11 2005-09-15 Kari Niemela Game data and speech transfer to and from wireless portable game terminal
JP5306640B2 (ja) 2007-12-17 2013-10-02 明産株式会社 シートのたるみ評価方法および評価装置
JP5468247B2 (ja) * 2008-12-02 2014-04-09 株式会社コナミデジタルエンタテインメント ゲームシステム
US9569750B2 (en) 2012-06-06 2017-02-14 Apple Inc. Utilizing a social network account to provide additional functionality to a gaming network account
EP2722085A1 (en) * 2012-10-18 2014-04-23 Bigpoint Inc. Online game system, method, and computer-readable medium
JP6007075B2 (ja) * 2012-11-16 2016-10-12 任天堂株式会社 サービス提供システム、サービス提供方法、サーバシステムおよびサービス提供プログラム
US11238527B2 (en) * 2014-10-07 2022-02-01 Kashable Llc System and method of providing a benefit
JP6766495B2 (ja) * 2016-07-21 2020-10-14 富士通株式会社 プログラム、コンピュータ及び情報処理方法
CN107786557B (zh) * 2017-10-25 2021-04-16 Oppo广东移动通信有限公司 一种组队游戏加速方法及相关产品
CN112740797A (zh) * 2018-09-28 2021-04-30 三星电子株式会社 集成接入回程配置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5820463A (en) * 1996-02-06 1998-10-13 Bell Atlantic Network Services, Inc. Method and apparatus for multi-player gaming over a network
US5838909A (en) 1996-05-23 1998-11-17 Sandcastle, Inc. Reducing latency when synchronizing access to a multi-user database over a network
US6038599A (en) 1997-04-23 2000-03-14 Mpath Interactive, Inc. Latency server and matchmaker
US6012096A (en) * 1998-04-23 2000-01-04 Microsoft Corporation Method and system for peer-to-peer network latency measurement
JP2001198363A (ja) * 1999-09-14 2001-07-24 Sega Corp データ処理方法
WO2001057678A1 (fr) 2000-02-02 2001-08-09 Nextech Corporation Procede de traitement destine a un systeme de reseau et un tel systeme
US6854012B1 (en) * 2000-03-16 2005-02-08 Sony Computer Entertainment America Inc. Data transmission protocol and visual display for a networked computer system
US6653545B2 (en) * 2002-03-01 2003-11-25 Ejamming, Inc. Method and apparatus for remote real time collaborative music performance
US7133927B2 (en) * 2002-04-29 2006-11-07 Lucent Technologies Inc. Method and apparatus for supporting real-time multi-user distributed applications
JP2003325982A (ja) 2002-05-13 2003-11-18 Xside Corp ゲーム支援システム、ゲーム支援方法、ゲーム制御装置、ゲーム制御プログラム、データ処理装置およびデータ処理プログラム
US7016942B1 (en) * 2002-08-05 2006-03-21 Gary Odom Dynamic hosting
JP2004174091A (ja) 2002-11-28 2004-06-24 Nintendo Co Ltd 通信ゲームシステム
US7342896B2 (en) * 2003-03-03 2008-03-11 Sharp Laboratories Of America, Inc. Centralized network organization and topology discover in Ad-Hoc network with central controller
JP3632963B2 (ja) * 2003-05-29 2005-03-30 コナミ株式会社 ネットワーク対戦型端末装置、方法及びプログラム
JP4073885B2 (ja) * 2003-06-17 2008-04-09 任天堂株式会社 ゲームシステム、ゲーム装置およびゲームプログラム
JP4064355B2 (ja) * 2004-01-20 2008-03-19 任天堂株式会社 ゲームシステムおよびゲーム装置
JP3888558B2 (ja) * 2004-11-18 2007-03-07 任天堂株式会社 無線ネットワークシステムおよび無線通信プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101349814B1 (ko) * 2010-01-29 2014-01-08 에스케이플래닛 주식회사 다중 게임을 위한 호스트 단말 선정 방법

Also Published As

Publication number Publication date
JP2008036323A (ja) 2008-02-21
CN101500671A (zh) 2009-08-05
EP2050486A1 (en) 2009-04-22
CN101500671B (zh) 2012-05-30
HK1130721A1 (en) 2010-01-08
WO2008018436A1 (fr) 2008-02-14
US8224992B2 (en) 2012-07-17
KR101065578B1 (ko) 2011-09-19
EP2050486A4 (en) 2010-03-31
JP4116050B2 (ja) 2008-07-09
US20100022309A1 (en) 2010-01-28

Similar Documents

Publication Publication Date Title
KR101065578B1 (ko) 통신 장치, 통신 시스템 및 기록 매체
TWI326610B (ko)
US10307673B2 (en) Network game system for executing event in network game
KR100783830B1 (ko) 공간 위치 공유 시스템
JP5468247B2 (ja) ゲームシステム
JP5558733B2 (ja) プログラム、情報記憶媒体、及びゲームシステム
KR20070046938A (ko) 게임 장치
US8137198B2 (en) Game system, method for controlling game system, game device therefor, and program therefor
KR101047783B1 (ko) 게임 시스템, 게임 단말기 및 서버 장치
JP2008229126A (ja) ゲームシステム、プログラム、及び情報記憶媒体
JPH10151274A (ja) 無線型対戦ゲーム機
JP5258818B2 (ja) ゲームシステム及びゲーム機
JP3916601B2 (ja) 通信システム、サーバ装置、端末、サービス方法、端末方法、および、プログラム
JP2007206755A (ja) 情報処理システム、情報処理装置、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体
JP2008154629A (ja) ゲームシステム、ゲーム装置、通信装置、プログラムおよびデータ管理方法
JP2009011534A (ja) ゲームシステム、プログラム、及び情報記憶媒体
JP2007125261A (ja) ネットワークゲームシステム、ゲーム装置、ゲーム装置の制御方法及びプログラム
JP2003053031A (ja) カードゲーム汎用システム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140901

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150828

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160829

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170901

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190830

Year of fee payment: 9