WO2008018436A1 - Dispositif de communication, système de communication et programme - Google Patents

Dispositif de communication, système de communication et programme Download PDF

Info

Publication number
WO2008018436A1
WO2008018436A1 PCT/JP2007/065408 JP2007065408W WO2008018436A1 WO 2008018436 A1 WO2008018436 A1 WO 2008018436A1 JP 2007065408 W JP2007065408 W JP 2007065408W WO 2008018436 A1 WO2008018436 A1 WO 2008018436A1
Authority
WO
WIPO (PCT)
Prior art keywords
parent node
data
game
communication
communication device
Prior art date
Application number
PCT/JP2007/065408
Other languages
English (en)
French (fr)
Inventor
Masahiko Yatsuzuka
Original Assignee
Konami Digital Entertainment Co., Ltd.
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 Konami Digital Entertainment Co., Ltd. filed Critical Konami Digital Entertainment Co., Ltd.
Priority to US12/375,962 priority Critical patent/US8224992B2/en
Priority to CN2007800298396A priority patent/CN101500671B/zh
Priority to EP07792077A priority patent/EP2050486A4/en
Publication of WO2008018436A1 publication Critical patent/WO2008018436A1/ja
Priority to HK09108834.4A priority patent/HK1130721A1/xx

Links

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

Definitions

  • the present invention relates to a communication device, a communication system, and a program.
  • Game systems that allow a multiplayer game to progress by transmitting and receiving data via a network via a plurality of game devices have become widespread.
  • the above game progresses as participants play their own roles.
  • one game device is a parent node (server terminal) among game devices of participants of the same game.
  • the remaining game devices become child nodes (client terminals), and data transmission / reception is performed mainly between the parent node and the child node.
  • the game state is shared between game devices of participants of the same game.
  • Examples of the shared game state include the score and the position of the object operated by the participant in the virtual space.
  • the shared game state is determined by the game device of the parent node. Therefore, the response to the input instruction is quicker at the parent node than at the child node. Therefore, for example, JP 2000-511667 A discloses a game device that becomes a parent node based on a role type when a game having a plurality of types (for example, a leading role / end role) of a participant is advanced.
  • a technique for facilitating the progress of the game by determining the game has been proposed.
  • the game device of the participant who plays the role for example, the leading role
  • JP 2000-511667 A has an expected effect only when applied to a game in which there are multiple types of roles of participants. Even if applied to other games, the desired effect cannot be obtained.
  • this technology there are two game devices that have a small transmission delay when communicating directly among the participant's game devices.
  • the game device becomes a parent node because it becomes a child node and transmission delays when communicating directly with each of these game devices are large.
  • a transmission delay in transmitting / receiving data between the parent and the child, which is mainly performed is large, so that a communication delay related to the progress of the game becomes large. This will hinder the smooth progress of the game and reduce the reliability of the game.
  • the present invention provides communication that affects the progress of joint work represented by a multiplayer game by selecting one of three or more communication devices as a parent node.
  • a communication device a communication system and a program capable of reducing the delay of the communication.
  • the present invention joins a group formed by three or more communication devices (10, 50, 70), and one of the three or more communication devices (10, 50, 70) is a temporary parent node.
  • the communication device (10, 50, 70) including the transmission delay time between the communication device (10, 50, 70) and the other communication device (10, 50, 70) and the processing delay time in each communication device.
  • a measurement data generation unit (11) that generates measurement data indicating the sum of the measured response times.
  • the communication device (10, 50, 70) includes the communication device (10 , 50, 70) is not a temporary parent node, the measured data is transferred to another communication device (10, 50, 70) that is the temporary parent node.
  • Measurement data transmitter to transmit, and other communication device (10, 50, 70) that is the temporary parent node.
  • Decision data receiver that receives the decision data indicating one communication device (10, 50, 70) that is the parent node When the communication device (10, 50, 70) is a temporary parent node, the communication device (10, 50, 70) ) Based on the measurement data received by the measurement data reception unit, the measurement data received by the measurement data reception unit, and the measurement data generated by the measurement data generation unit.
  • the determination data indicating that the communication device (10, 50, 70) is the parent node is generated.
  • a decision data generation unit for generating the decision data indicating that another communication device (10, 50, 70) which is the only data transmission source is the parent node; and
  • Each of the other communication devices (10, 50, 70), and the game data transmitter / receiver (11) transmits the game data when the game data transmitter / receiver (11) transmits the game data.
  • 10, 50, 70) is a direct communication when the parent node is a parent node, and when the communication device (10, 50, 70) is not a parent node, the parent node is a communication device (10, 50, 70).
  • the “temporary parent node” is one of three or more communication devices forming one group, and is a communication device that collects measurement data from each of the other communication devices.
  • a “parent node” is one of three or more communication devices that form a group, and is a communication device through which data passes during indirect communication between other communication devices.
  • a communication device that is not a parent node is a “child node”.
  • the “game data” is data that is determined to be transmitted / received between communication devices that are not parent nodes by indirect communication via the communication device that is the parent node. If the system is configured, the communication device with the smallest sum of response times among the three or more communication devices in the same group becomes the parent node, so that the child node passes through the parent node to other child nodes.
  • the transmission delay (accumulated value) of the data to be passed is the shortest.
  • the time obtained by averaging the transmission delay of data to be passed from the child node to the child via the parent node for a plurality of child nodes forming the same group is also the shortest. That is, according to the communication apparatus, it is possible to reduce a communication delay that affects the progress of joint work.
  • an input unit (14) that receives a player's operation and outputs an operation signal according to the operation, and game data that generates the game data based on the operation signal
  • a generation unit (11) and a control unit (11) for advancing the game based on the game data received by the game data transmission / reception unit (11) May be.
  • the communication device may be a game device.
  • the ongoing collaborative work is, for example, a multiplayer game. Multi-participation games proceed smoothly when communication delays that affect their progress are reduced.
  • the present invention includes three or more communication devices (10, 50, 70) forming one group, and one of the communication devices (10, 50, 70) forming the group is a temporary parent node, For each of the three or more communication devices (10, 50, 70), the response time of the communication device (10, 50, 70) is the same as that of the communication device and the other communication devices (10, 50, 70). Each of the three or more communication devices (10, 50, 70) transmits signals to and from the network (1, 25). The response time of the communication interface (17) for sending and receiving, the game data transmission / reception unit (11) for transmitting and receiving game data using the communication interface (17), and the communication device (10, 50, 70) is measured.
  • the measurement data of the communication device is the measurement data of the communication device of the group. If the only data showing the minimum value is the own data, the communication device (10, 50, 70) generates the decision data indicating that it is a parent node, otherwise, the other communication device (10, 50, 70) that is the sole source of the data is the parent node.
  • a determination data generation unit that generates the determination data indicating that the determination data is transmitted; and a determination data transmission unit that transmits the determination data to each of the other communication devices (10, 50, 70).
  • the unit (11) When the game data is transmitted, the unit (11) performs the transmission by direct communication when the communication device (10, 50, 70) is a parent node. 50, 70) is the parent Provided is a communication system (100, 300) characterized by performing indirect communication via a communication device (10, 50, 70) which is a parent node if not.
  • the communication device with the smallest sum of response times among the three or more communication devices that make up the same group becomes the parent node, so that the child node passes through the parent node to another child.
  • the transmission delay (cumulative value) of the data to be passed becomes the shortest.
  • the time obtained by averaging the transmission delay of the data to be passed to the child node via the child node force and the parent node with respect to a plurality of child nodes forming the same gnope is also the shortest. In other words, communication delays that affect the progress of collaborative work can be reduced.
  • the present invention also includes a server device (60) and three or more communication devices (10, 50, 70) forming one group, and the three or more communication devices (10, 50, 70).
  • the response time of the communication device (10, 50, 70) is the transmission delay time between the communication device and each of the other communication devices (10, 50, 70) and the communication device.
  • Each of the three or more communication devices (10, 50, 70) including a processing delay time includes a communication interface (17) for transmitting and receiving signals to and from the network (1, 25), and the communication interface (17 ) Is used to measure the response time of the game data transmission / reception unit (11) that transmits and receives game data and the communication device (10, 50, 70), and generates measurement data indicating the sum of the measured response times.
  • the measurement data is transmitted.
  • the determination data indicating the original communication device (10, 50, 70) is transmitted to each of the three or more communication devices (10, 50, 70), and the transmission / reception unit (11)
  • the communication device (10, 50, 70) is the parent node, direct transmission is performed, and if the communication device (10, 50, 70) is not the parent node
  • a communication system (200) characterized by performing indirect communication via the parent node communication device (10, 50, 70)
  • the transmission delay (cumulative value) of data to be passed from the child node to other child nodes via the parent node becomes the shortest.
  • the time obtained by averaging the transmission delay of data to be passed from a child node via the parent node to the child node for a plurality of children in the same group is also the shortest. In other words, communication delays that affect the progress of collaborative work can be reduced.
  • the communication system (100, 200, 300) includes four or more communication devices (10, 50, 70) including the three or more communication devices (10, 50, 70), Each of the four or more communication devices (10, 50, 70) may belong to the group.
  • Each of the communication devices (10, 50, 70) forming the group receives an operation of the player and outputs an operation signal corresponding to the operation, and the game device based on the operation signal.
  • a communication device includes a group of three or more communication devices (10, 50, 70), and one of the three or more communication devices (10, 50, 70) is provided.
  • a participation interface that participates in the group that becomes the temporary parent node, a communication interface (17) that transmits and receives signals between the networks (1, 25), and a game interface that transmits and receives game data using the communication interface (17).
  • Data transmission / reception unit (11) transmission delay time between the communication device (10, 50, 70) and another communication device (10, 50, 70) and processing delay time in each communication device.
  • the communication device (10, 50, 70) Is not a temporary parent node, the measured data is transferred to another communication device (10, 50, 70) that is the temporary parent node. Measurement data transmission unit to transmit to and other communication devices (10, 50, 70) that are temporary parent nodes.
  • Decision data reception that receives decision data indicating one communication device (10, 50, 70) that is the parent node
  • a measurement data receiving unit that receives measurement data from the other communication device (10, 50, 70) when the communication device (10, 50, 70) is a temporary parent node; Based on the measurement data received by the measurement data receiving unit and the measurement data generated by the measurement data generating unit, the measurement data of the communication device Is the only data indicating the minimum value of the measurement data of the communication device of the group, the decision data indicating that the communication device (10, 50, 70) is the parent node is generated. If this is not the case, a decision data generation unit that generates the decision data indicating that one of the other communication devices (10, 50, 70) that is the only data transmission source is the parent node.
  • the transmission is performed by direct communication when the communication device (10, 50, 70) is a parent node, and when the communication device (10, 50, 70) is not a parent node.
  • the program (181, 431) is characterized by the fact that it is performed by direct communication.
  • the power of the communication device with the smallest sum of response times among three or more communication devices in the same group becomes the parent node.
  • the transmission delay (cumulative value) of data to be passed from the child node to the other child via the parent node is the shortest.
  • the time obtained by averaging the transmission delay of data to be passed from a child node via the parent node to the child node for a plurality of child nodes forming the same group is also the shortest.
  • communication that affects the progress of joint work represented by a multiplayer game by selecting one of three or more communication devices as a parent node. / J, to reduce the delay.
  • FIG. 1 is a block diagram showing an overall configuration of a game system 100 according to a first embodiment of the present invention.
  • FIG. 2 is a diagram showing an example of an image displayed on game device 10 constituting game system 100.
  • FIG. 3 is a diagram for explaining the relationship between parent node assignment and response time.
  • FIG. 4 is a block diagram showing a configuration of the game apparatus 10.
  • FIG. 5 is a block diagram showing a configuration of a matching server device 40 constituting the game system 100.
  • FIG. 6 is a flowchart of lobby processing performed by the processor 41 of the matching server device 40.
  • FIG. 7 is a flowchart of provisional determination processing performed by the processor 11 of the game apparatus 10.
  • FIG. 8 is a flowchart of temporary parent node processing performed by the processor 11 of the game apparatus 10.
  • FIG. 9 is a flowchart of pseudo child node processing performed by the processor 11 of the game apparatus 10.
  • FIG. 10A is a sequence diagram showing an operation example of the game system 100.
  • FIG. 10B is a sequence diagram showing an operation example of the game system 100.
  • FIG. 11 is a sequence diagram showing an operation example of the game system 100.
  • FIG. 12 is a sequence diagram showing an operation example of the game system 100.
  • FIG. 13 A block diagram showing the overall configuration of the game system 200 according to the second embodiment of the present invention.
  • FIG. 14 is a block diagram showing a configuration of a game device 50 constituting the game system 200.
  • FIG. 15 is a block diagram showing a configuration of a matching server device 60 constituting the game system 200.
  • FIG. 16 is a flowchart of server processing performed by the processor 41 of the matching server device 60.
  • FIG. 17 is a flowchart of client processing performed by the processor 11 of the game apparatus 50.
  • FIG. 18A is a sequence diagram showing an operation example of the game system 200.
  • FIG. 18B is a sequence diagram showing an operation example of the game system 200.
  • FIG. 20 is a block diagram showing a configuration of a game device 70 constituting the game system 300.
  • FIG. 21 is a flowchart of provisional determination processing performed by the processor 11 of the game apparatus 70.
  • FIG. 22 is a flowchart of temporary parent node response processing performed by processor 11 of game device 70
  • FIG. 23 is a flowchart of temporary parent node processing performed by the processor 11 of the game apparatus 70.
  • a matching server device is involved in grouping game devices, and the game device selects a parent node.
  • the matching server device performs grouping of game devices, and the matching server device selects a parent node.
  • game devices group game devices and the parent device is selected by the game device.
  • FIG. 1 is a block diagram showing an overall configuration of a game system (communication system) 100 according to the first embodiment of the present invention.
  • Game system 100 is a system that allows three participants to play tank games. In a tank game, each participant controls his own tank in a virtual space that is a battlefield. The battlefield includes each participant's team, and each participant competes for the least amount of damage.
  • the matching server device 40 is connected to the Internet 1 via the router 30.
  • a plurality of LANs (Local Area Networks) 25 provided in a plurality of stores including stores A, B, C,... And a router 20 in each store.
  • Each router 20 has a function of constructing a VPN (Virtual Private Network) which is a virtual private network on the Internet 1.
  • a plurality of game devices 10 are arranged in each store. Each game device 10 is used by a participant, participates in a tank game in which the participant participates, and causes the participant to play the tank game. Other game devices in the store via the LAN 25 10 can communicate with the matching server device 40 and the game device 10 of another store via the LAN 25, the router 20, and the VPN.
  • FIG. 2 is a diagram showing an example of an image displayed on the game apparatus 10.
  • the game device 10 displays an image indicating the state of the tank game in which the game device 10 is participating. Specifically, a battlefield image BF and a battle status indicator IND indicating the ratio of damage to each team are displayed. This ratio is determined based on the damage of the three teams . Each team's damage includes damage done to the tanks of the participants of that team.
  • the state of the tank game is shared by the game devices participating in the tank game, and should be uniquely determined by one device.
  • a mode is assumed in which a specific server device determines the state of the tank game.
  • the state of the tank game to be performed simultaneously is determined by a specific server device. That is, the load is concentrated on a specific server device. Therefore, this form is not suitable for large-scale game systems in which many tank games are played simultaneously. Therefore, in each embodiment of the present invention, the state of the tank game is determined by one game device 10 participating in the tank game, and the load is distributed. Thereafter, in each tank game, among the game devices participating in the tank game, one game device that determines the state of the tank game is referred to as a “parent node”, and the other two game devices are referred to as child nodes. ". In each embodiment of the present invention, the parent node transmits / receives data to / from only the child node, and the child node mainly transmits / receives data to / from the parent node.
  • the parent node that participates in the tank game determines the state of the tank game
  • game data that affects the determination of the state of the tank game for example, operation data described later
  • the game data is passed to the parent node
  • the process using the game data is performed in the parent node
  • the state of the tank game is determined
  • the state data indicating this state is stored in each child.
  • An image indicating this state is displayed at the parent node and each child node.
  • the process using game data includes, for example, a process for specifying the position and posture of a tank, a process for specifying the position of a shell, a process for determining whether or not a shell hits an object such as a tank, There is a process to identify damage.
  • a process for specifying the position and posture of a tank a process for specifying the position of a shell
  • a process for determining whether or not a shell hits an object such as a tank There is a process to identify damage.
  • the time from when game data is generated in each child node until the image in which the game data is reflected is displayed as the reflection delay time of the child node.
  • the reflection delay time of each child node is slightly longer than the response time between the child node and the parent node.
  • “Response time between A and B” is the sum of the signal transmission delay time from A to B, the processing delay time at B, and the signal transmission delay time from B to A. It is.
  • the parent node with each child node as the base point The response time between each child node is a geographical factor such as the distance between each child node and the parent node, or a network configuration factor such as the signal transmission speed of the communication path between each child node and the parent node.
  • the response time between each child node and the parent node, and thus the reflection delay time of each child node differs depending on which game device 10 is used as the parent node. This will be explained with a specific example.
  • FIG. 3 is a diagram for explaining the relationship between parent node assignment and response time.
  • the transmission delay time between the first game device 10 (a) and the second game device 10 (/ 3) is 3, and between the third game device 10 ( ⁇ ) and the third game device 10 ( ⁇ ).
  • the communication delay time is 4, which is the transmission delay time force between ⁇ and ⁇ .
  • the processing delay times for ⁇ , / 3, and ⁇ are all 1.
  • is a parent node and / 3 and ⁇ are child nodes
  • the parent based on ⁇ is
  • the response time for the parent node relative to ⁇ is shorter than (19) when ⁇ is the parent node (9), and the reflection delay time for ⁇ is that ⁇ is the parent node. This is shorter when / 3 is the parent node.
  • the response time for the parent node based on each child node depends on which of the game devices 10 that participate in the same tank game that is shorter is the parent node. Therefore, it is important which game device 10 participating in the same tank game is the parent node. [0024]
  • Matching is a procedure in which any one game device 10 announces participation in a tank game and becomes a temporary parent node, and another game device 10 expresses participation as a temporary child node to this game device 10. Is done. Then, one of the temporary parent node and the temporary child node becomes the parent node, and the remaining becomes the child node, and the tank game is started.
  • FIG. 4 is a block diagram showing a configuration of the game apparatus 10.
  • the game apparatus 10 includes a processor 11, an input unit 14, a display unit 15, a communication interface 17, a nonvolatile memory 18, and a rewritable memory 19.
  • the processor 11 is, for example, one or a plurality of CPUs (Central Processing Units).
  • the input unit 14 includes a plurality of operators. When the operator is operated, the input unit 14 accepts the operation and supplies an operation signal corresponding to the operation to the processor 11. For multiple controls, a handle-type control for changing the direction of the tank, a button-type control for starting the tentative decision process described later, and firing a shell, and a tank are moved. A pedal-type controller is included.
  • the display unit 15 includes a screen 151.
  • image data is supplied from the processor 11, the display unit 15 displays an image represented by the image data on the screen 151.
  • a monitor or a video projector can be used.
  • a screen on which an image is projected corresponds to the screen 151.
  • the communication interface 17 transmits and receives signals to and from the LAN 25, and relays data between the processor 11 and the LAN 25.
  • the processor 11 transmits / receives data to / from other devices using the communication interface 17.
  • the non-volatile memory 18 is, for example, a ROM (Read Only Memory), and stores a program 181 and server device data 182.
  • the program 181 is executed by the processor 11 to cause the game apparatus 10 to perform various processes (temporary determination process, temporary parent node process, temporary child node process, parent node process, and child node process) described later.
  • the processing performed by the processor 11 is performed using the program 181! /.
  • Server device data 182 is pine This data is necessary to obtain the communication address of the Ching server device 40.
  • the rewritable memory 19 is, for example, a RAM (Random Access Memory), and a participant table T4 for storing participant data is secured in the storage area.
  • Participant table T4 has three records, each corresponding to a participant. Each record stores a communication address of the game device 10 of the participant and a flag indicating the type of the game device 10.
  • the types of the game apparatus 10 include a parent node, a child node, a temporary parent node, and a temporary child node. In this embodiment, the value of this flag is the same when indicating a parent node and when indicating a temporary parent node, and is equal when indicating a child node and when indicating a temporary child node. This embodiment may be modified to other forms.
  • the rewritable memory 19 is also used for temporary storage of the communication address of the device from which the data received by the processor 11 is transmitted, storage of image data of the image BF and battle status indicator IND, and storage of status data. .
  • the nonvolatile memory 18 or the rewritable memory 19 stores its own communication address.
  • FIG. 5 is a block diagram showing the configuration of the matching server device 40.
  • the matching server device 40 includes a processor 41, a communication interface 42, a nonvolatile memory 43, and a rewritable memory 44.
  • the processor 41 is, for example, one or a plurality of CPUs.
  • the communication interface 42 transmits and receives signals to and from the router 30 and relays data between the processor 41 and the router 30.
  • the processor 41 transmits / receives data to / from other devices using the communication interface 42.
  • the non-volatile memory 43 is, for example, a ROM and a hard disk.
  • the ROM stores an IPL (Initial Program Loader), and the node disk stores a program 431.
  • the program 431 is executed by the processor 41 to cause the matching server device 40 to perform a lobby process described later. In the following description, the processing performed by the processor 41 is performed using the program 431.
  • the nonvolatile memory 43 stores the communication address of the matching server device 40.
  • the rewritable memory 44 is, for example, a RAM, and stores a temporary parent node list 441 that is an array of data indicating the communication address of the game apparatus 10 serving as a temporary parent node. When the matching server device 40 is powered on, the temporary parent node list 441 is empty. Also The rewritable memory 44 is also used for temporarily storing the communication address of the transmission source device of the data received by the processor 41.
  • FIG. 6 is a flowchart of lobby processing performed by the processor 41 of the matching server device 40.
  • the processor 41 repeats the process (SA1) for determining whether or not data has been received from the game apparatus 10 until data is received from the game apparatus 10.
  • the processor 41 determines whether or not the received data is a temporary parent node list reply request for requesting a reply of the temporary parent node list (SA2 ).
  • the processor 41 reads the temporary parent node list 441 from the rewritable memory 44 and transmits it to the game device 10 that has transmitted the temporary parent node list reply request (SA3), and the process is stepped. Move to SA1.
  • step SA 2 determines whether or not the received data is a temporary parent node registration request for requesting registration as a temporary parent node (SA 4).
  • the processor 41 registers the game apparatus 10 that has transmitted the temporary parent node registration request as a temporary parent node (SA5). Specifically, the communication address of the game device 10 is added to the temporary parent node list 441. Thereafter, the process proceeds to step SA1.
  • step SA4 determines whether or not the received data is a deregistration request for requesting deregistration as a temporary parent node (SA 6). . If the determination result is “YES”, the processor 41 deletes the registration as the temporary parent node of the game apparatus 10 that is the transmission source of the registration deletion request (SA7). Specifically, the communication address of the game apparatus 10 is deleted from the temporary parent node list 441. Thereafter, the process proceeds to step SA1.
  • FIG. 7 is a flowchart of a provisional determination process performed by the processor 11 of the game apparatus 10.
  • the processor 11 transmits a provisional parent node list reply request (SB1).
  • the processor 11 determines whether or not the temporary parent node list 441 is received from the matching server device 40 until the temporary parent node list 441 is received from the matching server device 40.
  • SB2 the process determines whether or not the received temporary parent node list 441 is empty (SB3).
  • the processor 11 transmits a temporary parent node registration request to the matching server device 40 (SB4), and generates a participant table T4 so that it becomes a temporary parent node (SB5).
  • the participant table T4 is secured in the storage area of the rewritable memory 19, and a flag indicating its own communication address and temporary parent node (for example, a flag having a value of 1) is stored in one record of the participant table T4. And store.
  • the processor 11 sends the temporary parent node registration request to the matching server device 40 so that the self becomes a temporary child node.
  • T4 is generated (SB6).
  • the participant table T4 is secured in the storage area of the rewritable memory 19, and one record of the participant table T4 has its own communication address and a flag indicating a temporary child node (for example, a value of 0).
  • the communication address stored in the received temporary parent node list 441 and a flag indicating the temporary parent node (for example, a flag having a value of 1) are stored.
  • FIG. 8 is a flowchart of temporary parent node processing performed by the processor 11 of the game apparatus 10.
  • the temporary parent node process is performed subsequent to the temporary determination process when its own communication address is stored in association with the flag indicating the temporary parent node in the participant table T4.
  • the processor 11 determines whether or not a participation request has been received from another game device 10 until another participation request for participation in a tank game is received from another game device 10 ( Repeat SC1).
  • the processor 11 transmits a permission notice to the effect that the participation is permitted to the game device 10 that has transmitted the participation request.
  • the participant table T4 is updated so that 10 becomes a temporary child node (SC2). Specifically, the communication address of the game apparatus 10 and a flag indicating a temporary child node are stored in an empty record in the participant table T4.
  • the processor 11 determines whether or not there are three participants (SC3). Specifically, the number of records in which the communication address and flag are stored in the participant table T4 is three. It is determined whether or not there is. If the determination result is “NO”, the process proceeds to step SC1. When the determination result is “YES”, the processor 11 transmits shared data for sharing the participant's information to each of the participant's game devices 10 other than the processor 11 (SC4).
  • the shared data includes the communication address of the game device 10 of the participant excluding the self and the transmission destination of the common data.
  • the processor 11 sends a registration cancellation request for registration as a temporary parent node to the matching server device 40 (SC5), and sends a matching completion notification notifying the completion of matching to the game devices 10 of the participants other than itself. Send (SC6).
  • the processor 11 performs a response measurement process for measuring the response time of the game apparatus 10 (SC7).
  • the game devices 10 of all participants other than the game device 10 are referred to as other game devices, and the response time with each of the other game devices based on the game device 10 Is called the response time of the game device 10, the processor 11 of the game communication device 10 measures the response time of the game device 10, and generates measurement data (self data) indicating the sum of the measured response times. .
  • a measurement result notification for notifying the measurement result is received from each of the other game devices.
  • the measurement result notification includes measurement data (other data) indicating the sum of response times. That is, the response measurement process of step SC7 is also a process of collecting response times.
  • the processor 11 performs determination processing for determining a parent node based on the response measurement processing result (measurement data) (SC8). Specifically, if the only data that shows the smallest value among the acquired measurement data is its own data, it is the parent node, and the only data that shows the smallest value among the obtained measurement data is If it is not its own data! / (If it is other data), the game device 10 that is the sole source of the data is the parent node.
  • the profiler 11 transmits a determination notification indicating the determined parent node to the game devices 10 of the participants other than itself, and updates the participant table T4 based on the result (SC9).
  • the flag corresponding to the communication address of the game device 10 which is the parent node is updated to a flag indicating the parent node (for example, a flag having a value of 1).
  • the flag corresponding to the other communication address is updated to a flag indicating a child node (for example, a flag having a value of 0).
  • FIG. 9 is a flowchart of pseudo child node processing performed by the processor 11 of the game apparatus 10.
  • the temporary child node process is performed following the temporary determination process when the communication address of the participant table T4 is stored in association with the flag indicating the temporary child node.
  • the processor 11 transmits a participation request to the game device 10 (temporary parent node) having the communication address stored in the temporary parent node list 441 received in the temporary determination process (SD1).
  • the processor 11 repeatedly performs a process (SD2) for determining whether or not the permission notification is received from the temporary parent node until the permission notification is received from the temporary parent node.
  • SD2 a process for determining whether or not the permission notification is received from the temporary parent node until the permission notification is received from the temporary parent node.
  • step 3 When the shared data is received and the determination result of this process is “YES”, the processor 11 updates the participant table T4 based on the received shared data (SD
  • the communication address and the flag indicating the temporary child node included in the received shared data are stored in the empty record in the participant table T4.
  • step SD4 Upon completion of step SD4, the processor 11 repeatedly performs a process (SD5) for determining whether or not a matching completion notification has been received from the temporary parent node until receiving a matching completion notification from the temporary parent node.
  • SD5 a process for determining whether or not a matching completion notification has been received from the temporary parent node until receiving a matching completion notification from the temporary parent node.
  • the processor 11 performs a response measurement process similar to step SC7 (SD6).
  • the response measurement process of step SD6 the measurement result notification including the generated measurement data is transmitted to the game device 10 of the temporary parent node, instead of receiving the measurement result notification from another game device.
  • the processor 11 repeatedly performs a process (SD7) for determining whether or not the decision notification is received from the temporary parent node until the decision notification is received from the temporary parent node.
  • SD7 a process for determining whether or not the decision notification is received from the temporary parent node until the decision notification is received from the temporary parent node.
  • the processor 11 updates the participant table T4 based on the received determination notification (SD8). Specifically, among the flags stored in the participant table T4, the flag corresponding to the communication address of the game device 10 indicated by the determination notification is updated to the flag indicating the parent node, while the flag corresponding to the communication address is updated. Have The flag that does not exist is updated to a flag indicating a child node.
  • Both the parent node process and the child node process are processes for causing a participant to perform a tank game, and the processor 11 of the game device 10 that is the parent node among the game devices 10 of the participant performs the parent node process.
  • the state data of these game devices 10 is repeatedly updated, and the tank game proceeds.
  • the processor 11 that is executing the parent node process generates operation data corresponding to the operation signal output from the input unit 14, and uses the operation data and the operation data received using the communication interface 17. Based on this, the state of the tank game is determined, and state data indicating this state is transmitted to the game device 10 which is a child node using the communication interface 17 and stored in the rewritable memory 19. This memory is overwritten. In addition, the processor 11 that is executing the parent node process displays the image BF and the battle status indicator IND using the state data stored in the rewritable memory 19.
  • the processor 11 that is executing the child node processing generates operation data corresponding to the operation signal output from the input unit 14, and uses the communication interface 17 as a parent node for the operation data. Send to game device 10. Further, the processor 11 that is executing the child node process stores the state data received using the communication interface 17 in the rewritable memory 19. This memory is overwritten. In addition, the processor 11 executing the child node process displays the image BF and the battle status indicator IND using the state data stored in the rewritable memory 19.
  • FIG. 10A to FIG. 12 are sequence diagrams showing an operation example of the game system 100.
  • the provisional parent node list reply request is first sent to the matching server device 40 by the processor 11 of one game device 10 (game device 10A) placed in the store A, and then placed in the store B.
  • Processor 11 of one game device 10 game device 10B
  • processor 11 of one game device 10 game device 10C
  • device 10B is the parent node That's what it says.
  • this operation example will be described in detail. It is assumed that the processor 41 of the matching server device 40 has already executed the lobby process.
  • the processor 11 of the game apparatus 10 A starts a provisional determination process, and transmits a provisional parent node list reply request to the matching server apparatus 40.
  • the processor 41 of the matching server device 40 that has received this temporary parent node list reply request reads the temporary parent node list 441 from the rewritable memory 44 and transmits it to the game device 10A. Since the temporary parent node list 441 is empty, the processor 11 of the game apparatus 10A that has received the temporary parent node list 441 transmits a temporary parent node registration request, generates a participant table, and ends the temporary determination process.
  • temporary parent node processing is started. This determines one of the three participants in the tank game.
  • the processor 41 of the matching server device 40 that has received this temporary parent node registration request adds the communication address of the game device 10A that has transmitted the temporary parent node registration request to the temporary parent node list 441 stored in the rewritable memory 44. To do.
  • the processor 11 of the game apparatus 10B starts a provisional determination process, and transmits a provisional parent node list return request to the matching server apparatus 40.
  • the processor 41 of the matching server device 40 that has received this temporary parent node list reply request reads the temporary parent node list 441 from the rewritable memory 44 and transmits it to the game device 10B. Since the temporary parent node list 441 includes the communication address of the game apparatus 10A, the processor 11 of the game apparatus 10B that has received the temporary parent node list 441 generates a participant table and ends the temporary determination process.
  • pseudo child node processing (FIG. 10B) is started.
  • the processor 11 of the game apparatus 10 C starts the provisional determination process, and transmits a provisional parent node list reply request to the matching server apparatus 40.
  • the game apparatus 10C performs an operation similar to the operation related to the game apparatus 10B described above.
  • the processor 11 of the game apparatus 10B that has started the pseudo child node process transmits a participation request to the game apparatus 10A. This transmission is performed using the communication address included in the temporary parent node list 441 that has been received in the temporary determination process. Receiving this participation request, the processor 11 of the game apparatus 10A transmits a permission notice to the game apparatus 10B. The processor 11 of the game device 10B that has received this permission notification receives the common data from the game device 10A. Wait for receipt of notification and matching completion notification. This determines two of the three tank game participants.
  • the processor 11 of the game apparatus 10C that has started the pseudo child node process transmits a participation request to the game apparatus 10A.
  • the game device 10C performs the same operation as the above-described operation related to the game device 10B, and all three participants of the tank game are determined.
  • processor 11 of game device 10A transmits shared data including the communication address of game device 10B to game device 10C, and transmits shared data including the communication address of game device 10C to game device 10B. .
  • the processor 11 receives the shared data, and the communication address and the flag indicating the temporary child node included in the received shared data are stored in the rewritable memory 19. Store in empty record of table T4! / ,!
  • each participant table T4 stores the communication address of the game apparatus 10A and the flag indicating the temporary parent node in association with each other, stores the communication address of the game apparatus 10B and the flag indicating the temporary node in association with each other, and The communication address of game device 10C and a flag indicating a temporary child node are stored in association with each other.
  • the processor 11 of the game device 10 A transmits a registration deletion request to the matching server device 40.
  • the processor 41 of the matching server device 40 that has received this deregistration request deletes the communication address of the game device 10A that has transmitted the deregistration request from the temporary parent node list 441 in the rewritable memory 44.
  • the processor 11 of the game apparatus 10A transmits a matching completion notification to the game apparatuses 10B and 10C, and starts a response measurement process (SC7).
  • SC7 response measurement process
  • the processor 11 of the game apparatus 10A transmits a response speed measurement request for requesting a response speed measurement response for response speed measurement to the game apparatus 10B.
  • This response speed The processor 11 of the game device 10B that has received the measurement request transmits a response speed measurement response to the game device 10A.
  • This response speed measurement response is received by the processor 11 of the game apparatus 10A.
  • the processor 11 of the game apparatus 10A responds to the game apparatus 10B based on the game apparatus 1OA based on the time from transmission of the response speed measurement request to reception of the response speed measurement response. Measured as time (TAB).
  • a process similar to this measurement process is also performed for the game apparatus 10C, and a response time (TAC) to the game apparatus 10C based on the game apparatus 10A is measured.
  • the response time of the game apparatus 10A is measured. Then, the processor 11 of the game apparatus 10A generates measurement data indicating the sum of response times (TAB + TAC) of the game apparatus 10A, and stores it in the rewritable memory 19 as its own data.
  • a response time (TBA) to game device 10A based on game device 10B and a response time to game device 10A based on game device 10B are performed by the same processing as the measurement process described above.
  • TBC is measured. That is, the response time of game device 10 B is measured.
  • the processor 11 of the game apparatus 10B generates measurement data indicating the sum of response times (TBA + TBC) of the game apparatus 10B, and transmits a measurement result notification including this measurement data to the game apparatus 10A that is the temporary parent node. .
  • This fixed result notification is received by the processor 11 of the game apparatus 10A.
  • a response time (TCA) with respect to the game device 10A based on the game device 10C and a response time with respect to the game device 10B based on the game device 10C are performed by the same processing as the measurement processing described above.
  • (TCB) is measured. That is, the response time of the game apparatus 10 C is measured.
  • the processor 11 of the game apparatus 10C generates measurement data indicating the sum of response times (TCA + TCB) of the game apparatus 10C, and transmits a measurement result notification including the measurement data to the game apparatus 10A that is the temporary parent node. . This fixed result notification is received by the processor 11 of the game apparatus 10A.
  • the processor 11 of the game apparatus 10A performs a determination process. That is, if the only measured data that shows the minimum value among the acquired measurement data is its own data, the game device 10A is the parent node, and if it is not its own data, the only value that shows the minimum value is the case.
  • the game device 10 that is the transmission source of measurement data is the parent node. This In this operation example, the only measurement data indicating the minimum value is the measurement data transmitted from the game apparatus 10B, and the game apparatus 10B is the parent node.
  • the processor 11 of the game device 10A uses the flag corresponding to the communication address of the game device 10B as the parent node among the flags stored in the participant table T4 in the rewritable memory 19 as the flag indicating the parent node. Update the flag corresponding to the other communication address to the flag indicating the child node.
  • processor 11 of game device 10A transmits a determination notification including the communication address of game device 10B as the parent node to game devices 10B and 10C.
  • the processor 11 of the game apparatus 10A ends the temporary parent node process, and starts a process (child node process) according to the flag stored in the participant table T4 in association with the communication address of the game apparatus 1 OA.
  • the processor 11 of the game device 10 B that has received the determination notification updates the participant table T4 in the rewritable memory 19 in accordance with the received determination notification. The result of this update is the same as the result of update in game device 10A.
  • the processor 11 of the game device 10B ends the temporary child node processing, and performs processing corresponding to the flag stored in the participant table T4 in association with the communication address of the game device 10B (parent node processing). ).
  • the same thing can be done with the power game device 10C.
  • the process started by the processor 11 of the game apparatus 10C is a child node process.
  • parent node processing is executed in game device 10B, and child node processing is executed in each of game devices 10A and 10C.
  • child node processing is executed in each of game devices 10A and 10C.
  • the operations exemplified below are repeatedly executed.
  • an operation signal is output from the input unit 14 in the game apparatuses 10A to 10C.
  • each processor 11 of game devices 10A and 10C as child nodes generates operation data according to the output operation signal, and transmits this operation data to game device 10B as a parent node.
  • These operation data are received by the processor 11 of the game apparatus 10B. That is, the operation data is collected in the game device 10B which is the parent node.
  • the processor 11 of the game apparatus 10B determines the state of the tank game based on the aggregated operation data, and stores the state data indicating this state in its own rewritable memory 19, while the game apparatus 10A and To 10C Send. These state data are received by the processors 11 of the game apparatuses 10A and 10C and stored in the rewritable memory 19, respectively. That is, the state data indicating the latest state is shared by the game devices 10A to 10C.
  • the processors of the game apparatuses 10A to 10C display the image BF and the battle status indicator IND using the shared state data. As a result, an image indicating the latest state is displayed on the screen 151 of the display unit 15 of the game apparatuses 10A to 10C.
  • the data to be passed from the child node to the other child node via the parent node since the game device 10 having the minimum response time is the parent node, the data to be passed from the child node to the other child node via the parent node.
  • the transmission delay (cumulative value) is the shortest.
  • the time obtained by averaging the transmission delay of data to be passed from the child node via the parent node to the child node for the two child nodes is also the shortest. Therefore, it is possible to reduce the communication delay that affects the progress of the tank game.
  • operation data which is a kind of game data, is not directly passed from the parent node to the child node, but the state data reflecting the operation data is passed from the parent node to the child node.
  • the operation data can be said to be data that should be passed from the child node to the other child node via the parent node while changing the format.
  • FIG. 13 is a block diagram showing an overall configuration of a game system 200 according to the second embodiment of the present invention.
  • the game system 200 is different from the game system 100 in that it has a game device 50 in place of the game device 10 and a matching server device 60 in place of the matching server device 40.
  • FIG. 14 is a block diagram showing a configuration of the game apparatus 50.
  • the game device 50 is different from the game device 10 in that a nonvolatile memory 51 is provided instead of the nonvolatile memory 18.
  • the nonvolatile memory 51 is, for example, a ROM, and stores a program 511 and server device data 512.
  • the program 511 is executed by the processor 11 to cause the game apparatus 50 to perform various types of processing (client processing, parent node processing, and child node processing described later). In the following description, processing performed by the processor 11 is performed using the program 511.
  • S The server device data 512 is data necessary to obtain the communication address of the matching server device 60.
  • FIG. 15 is a block diagram showing the configuration of the matching server device 60.
  • the matching server device 60 is different from the matching server device 40 in that it has a non-volatile memory 61 in place of the nonvolatile memory 43 and a rewritable memory 62 in place of the rewritable memory 44.
  • the nonvolatile memory 61 is, for example, a ROM and a node disk.
  • the ROM stores the IPL
  • the hard disk stores the program 611.
  • the program 611 is executed by the plug processor 41 to cause the matching server device 60 to perform server processing described later. In the following description, the processing performed by the processor 41 is performed using the program 611.
  • the nonvolatile memory 61 stores the communication address of the matching server device 60.
  • the rewritable memory 62 is, for example, a RAM, and a group table 621 for storing data of the game devices 50 belonging to any group is secured in the storage area.
  • the number of records in the group table 621 is zero when the matching server device 40 is turned on, and increases as the number of game devices 50 belonging to any group increases.
  • Each record includes a communication address of the game device 50 belonging to any group, a group ID for identifying the group to which the game device 50 belongs, and measurement data indicating the sum of response times of the game device 50 And are stored.
  • the rewritable memory 62 stores the latest ID 622 that is the group ID of the group to which the new game device 50 belongs.
  • the rewritable memory 62 is also used for temporarily storing the communication address of the device that is the transmission source of the data received by the processor 41.
  • FIG. 16 is a flowchart of server processing performed by the processor 41 of the matching server device 60.
  • the processor 41 first performs initialization (SE1). Specifically, the latest ID 622 indicating the initial value is stored in the rewritable memory 62, and the double table 621 is secured in the rewritable memory 62.
  • the processor 41 determines whether data has been received from the game device 50 until data is received from the game device 50.
  • the determination process (SE2) is repeated. When data is received and the determination result of this process is “YES”, the processor 41 determines whether or not the received data is a participation request (SE 3).
  • step SE3 If the determination result in step SE3 is "YES”, the processor 41 uses the latest ID 622 in the rewritable memory 62 and adds a record to the group table 621 in the rewritable memory 62 ( SE4). In this record, the communication address of the game apparatus 50 that has transmitted the participation request is stored as the communication address, and the latest ID 622 is stored as the group ID. Next, the processor 41 refers to the group table 621 and determines whether there are three participants in the group with the latest ID 622 (SE5). If the determination result is “NO”, the process proceeds to step SE2.
  • step SE5 When the determination result in step SE5 is "YES", the processor 41 transmits a measurement request for requesting response time measurement to each of the game devices 50 belonging to the latest ID 622 duplication (SE6).
  • the measurement request to each game device 50 includes the communication addresses of all game devices 50 other than the game device 50 that belong to the same group as the game device 50.
  • the processor 41 updates the latest ID 622 in the rewritable memory 62 (SE7). As a result, the latest ID 622 becomes unused. Thereafter, the process proceeds to step SE2.
  • step SE3 determines whether or not the received data is a measurement result notification (SE8). If the determination result is “NO”, the process proceeds to step SE2. If the determination result in step SE8 is “YES”, the processor 41 updates the record corresponding to the game device 50 that is the transmission source of the received measurement result notification, among the records in the group table 621 (SE9). Next, the processor 41 determines whether or not the measurement has been completed for the group of the group ID of the record (SE10). This determination is performed by referring to the group table 621 and checking whether or not measurement data is stored in all records having the same group ID as that record. If this determination is “NO”, the process returns to step SE2.
  • step SE10 If the determination result in step SE10 is "YES”, the processor 41 refers to the group table 621, and performs a determination process for determining a parent node for the group for which measurement has been completed. (SE11). Specifically, the game device 50 corresponding to the only data indicating the minimum value among the measurement data stored in all the records corresponding to the group is set as the parent node. Next, the processor 41 transmits a determination notification indicating the determined parent node to all the game devices 50 belonging to the group (SE12). Next, the processor 41 deletes all records corresponding to the group from the group table 621. Henceforth, the process goes on to step SE2.
  • FIG. 17 is a flowchart of client processing performed by the processor 11 of the game apparatus 50.
  • the processor 11 first transmits a participation request to the matching server device 60 (SF1).
  • the processor 11 repeatedly performs the process (SF2) for determining whether or not the measurement request is received from the matching server device 60 until the measurement request is received from the matching server device 60.
  • the processor 11 performs a response measurement process similar to step SD6 in FIG. 9 (SF3).
  • the transmission destination of the measurement result notification including the generated measurement data is the matching server device 60 that is not the temporary parent node.
  • processor 11 repeatedly performs a process (SF4) for determining whether or not a decision notification is received from matching server device 60 until a decision notification is received from matching server device 60.
  • SF4 a process for determining whether or not a decision notification is received from matching server device 60 until a decision notification is received from matching server device 60.
  • the processor 11 generates the participant table T4 based on the received determination notification (SF5).
  • the participant table T4 generated here is equivalent to the participant table T4 obtained by step SC9 in FIG. 8 or step SD8 in FIG.
  • FIG. 18A and 18B are sequence diagrams showing an operation example of the game system 200.
  • FIG. 18A in this operation example, first, the processor 11 of one game device 50 (game device 50A) arranged in the store A starts client processing and transmits a participation request to the matching server device 60. .
  • the processor 11 of one game device 50 (game device 50B) arranged in the store B starts a client process and transmits a participation request to the matching server device 60.
  • one game device placed in store C 5 The processor 11 of 0 (game device 50C) starts client processing and transmits a participation request to the matching server device 60.
  • the processor 41 of the matching server device 60 has already executed server processing. Upon receiving a participation request from the game device 50C, a response time is sent to each of the game devices 50A to 50C belonging to the latest ID 622 group. A measurement request for requesting measurement is sent.
  • the measurement request to game device 50A includes the communication addresses of game devices 50B and 50C, and the measurement request to game device 50B includes the communication addresses of game devices 50A and 50C.
  • the measurement request includes the communication addresses of the game devices 50A and 50B!
  • each processor 11 of game devices 50A to 50C that has received the measurement request performs a response measurement process.
  • measurement data indicating the sum of response times of the game device 50 is generated in each of the game devices 50A to 50C.
  • each processor 11 of game devices 50A to 50C transmits a measurement result notification including the generated measurement data to matching server device 60.
  • the processor 41 of the matching server device 60 that has received these measurement data performs a determination process. That is, the game device 50 (game device 50B in this case), which is the transmission source of the only measurement data indicating the minimum value among the received measurement data, is set as the parent node.
  • the processor 41 of the matching server device 60 transmits a determination notification including the communication address of the parent game device 50B to the game devices 50A to 50C.
  • the processors 11 of the game devices 50A to 50C that have received the determination notification generate the participant table T4 based on the received determination notification, and end the client process. Thereafter, the processor 11 of the game device 50B starts the parent node process with reference to the participant table T4. On the other hand, the processor 11 of the game device 50A refers to the participant table T4 and starts child node processing. Similarly, the processor 11 of the game device 50C starts child node processing with reference to the participant table T4.
  • FIG. 19 is a block diagram showing an overall configuration of a game system 300 according to the third embodiment of the present invention.
  • the difference between the game system 300 and the game system 100 is that the system is closed to one store A. Therefore, the game system 300 has only three or more game devices 70 each connected to the LAN of the store A.
  • FIG. 20 is a block diagram showing the configuration of the game device 70.
  • the game device 70 differs from the game device 10 in that it has a nonvolatile memory 71 in place of the nonvolatile memory 18 and a rewritable memory 72 in place of the rewritable memory 19.
  • the nonvolatile memory 71 is, for example, ROM and EEPROM (Electronically Erasable and Programmable ROM), and stores a program 711 and broadcast address data 712.
  • the program 711 is executed by the processor 11 to cause the game device 50 to execute various processes (provisional decision processing, temporary parent node response processing, temporary parent node processing, temporary child node processing, parent node processing, child node processing described later) ).
  • the processing performed by the processor 11 is performed using the program 711.
  • the broadcast address data 712 is data including the communication address of the game device 70 that is the destination of the temporary parent node response request for requesting a response of the temporary parent node response indicating that it is a temporary parent node. Is included.
  • the rewritable memory 72 is also used for temporarily storing a communication address of a device that is a transmission source of data received by the processor 11.
  • the rewritable memory 72 is, for example, a RAM, and a participant table T5 for storing participant data is secured in the storage area thereof.
  • Participant table T5 has three records corresponding to each participant. Each record stores a communication address of the game device 70 of the participant and a flag indicating the type of the game device 70 (parent node / child node).
  • the rewritable memory 72 stores a temporary parent node flag 721 indicating whether or not it is waiting for a participation request as a temporary parent node.
  • the initial value of the temporary parent node flag 721 is a value (for example, 0) indicating that the temporary parent node flag 721 is not waiting for a participation request as a temporary parent node.
  • the rewritable memory 72 is also used for temporary storage of the communication address of the transmission source device of the data received by the processor 11.
  • the nonvolatile memory 71 or the rewritable memory 72 stores its own communication address.
  • FIG. 21 is a flowchart of the provisional determination process performed by the processor 11 of the game apparatus 70.
  • the processor 11 refers to the broadcast address data 712 and transmits a temporary parent node response request to all game devices 70 (SG1).
  • the processor 11 determines whether or not the temporary parent node response has been received (SG2). If the determination result is “NO”, the elapsed time from the broadcast transmission of the temporary parent node response request is a predetermined time. (SG3). If the result of this determination is “NO”, the process returns to step SG2.
  • step SG2 If the determination result in step SG2 is "YES”, the processor 11 generates a participant table T5 storing its own communication address, while the value of the temporary parent node flag 721 is set as the temporary parent node. Is set to a value indicating that it is waiting (SG4). Then, the provisional determination process ends.
  • step SG3 if the determination result in step SG3 is “YES”, the processor 11 generates the participant table T5 storing its own communication address, while the value of the temporary parent node flag 721 is entered as the temporary parent node. Set to a value (eg 1) indicating that the request is awaited (SG5). Then, the provisional determination process ends.
  • FIG. 22 is a flowchart of temporary parent node response processing performed by the processor 11 of the game device 70.
  • the processor 11 repeats the process (SH1) for determining whether or not the temporary parent node response request is received until the temporary parent node response request is received.
  • the processor 11 determines whether or not the value of the temporary parent node flag 721 is a value indicating the temporary parent node (SH2). If the result of this determination is “NO”, the process returns to step SH1. If the determination result in step SH2 is “YES”, the profiler 11 transmits a temporary parent node response to the game device 70 that is the transmission source of the received temporary parent node response request (SH3). Thereafter, the process returns to step SH1.
  • FIG. 23 is a flowchart of temporary parent node processing performed by the processor 11 of the game apparatus 70.
  • This temporary parent node processing power The difference from the temporary parent node processing of FIG. 8 is that it is not waiting for a participation request with the temporary parent node flag 721 as the temporary parent node instead of the process of sending the registration cancellation notification (SC5).
  • This is a point having processing (SJ1) as a value.
  • Pseudo child node processing The reason is as shown in FIG.
  • the temporary parent node flag 721 of the game device 70 has a value indicating that it is waiting for a participation request as a temporary parent node (temporary determination processing step).
  • the temporary parent node response is not transmitted from the game device 70, and the participation request is not transmitted to the game device 70. Therefore, according to the present embodiment, useless transmission of temporary parent node responses and participation requests can be suppressed even in an environment where a plurality of groups can coexist.
  • the same effect as that of the game system 100 can be obtained.
  • the game device of the parent node identifies the damage of each team.
  • each game apparatus identifies the damage of its own team, and the damage data (game data) indicating the damage is stored in the child node. May be transmitted to the game device of the parent node.
  • three damage data may be passed from the parent node to the child node, and the damage ratio may be specified in each child node! /, And the damage ratio (tank game)
  • the state data indicating this may be passed to each child node.
  • the damage data is data that should be passed from the child node via the parent node to other child nodes.
  • the damage data is changed from the child node to the other child nodes via the parent node while changing the format. It can be said.
  • each response time is measured by one measurement (transmission / reception), but may be performed by a plurality of measurements. In this case, for example, since the average value of a plurality of measurement results can be used as the measurement result, the measurement accuracy is improved.
  • the force S may be three, or four or more.
  • the number of participants may be variable. It may also be a game other than a tank game.
  • the present invention can be applied to any multiplayer participation game.
  • the present invention is also applicable to collaborative work other than games. As such collaborative work, the ability to display the chat can be demonstrated.

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)

Description

明 細 書 技術分野
[0001] 本発明は、通信装置、通信システムおよびプログラムに関する。
背景技術
[0002] 複数のゲーム装置がネットワーク経由でデータを送受信することによって多人数参 加型のゲームを進行させるゲームシステムが普及している。上記のゲームは、参加者 が各自の役割を果たすことにより進行する。上記のゲームシステムの一種として、同 一のゲームの参加者のゲーム装置のうち、 1つのゲーム装置が親ノード(サーバ端末
)となり、残りのゲーム装置が子ノード(クライアント端末)となり、データの送受信が主 に親ノードと子ノードとの間で行われるゲームシステムがある。
[0003] このゲームシステムでは、同一のゲームの参加者のゲーム装置間でゲームの状態 が共有される。共有されるゲームの状態としては、例えば、スコアや仮想空間におい て参加者が操作するオブジェクトの位置が挙げられる。通常、共有されるゲームの状 態は、親ノードのゲーム装置により決定される。このため、入力された指示に対する応 答は、子ノードよりも親ノードで迅速となる。そこで、例えば、特表 2000— 511667号 公報には、参加者の役割に複数の種類 (例えば主役/端役)があるゲームを進行さ せる場合に、役割の種類に基づいて親ノードとなるゲーム装置を決定することにより、 ゲームの進行の円滑化を図る技術が提案されている。この技術では、入力された指 示に対して最も迅速に応答する必要のある役割(例えば主役)を果たす参加者のゲ ーム装置が親ノードとなる。
発明の開示
発明が解決しょうとする課題
[0004] しカゝし、特表 2000— 511667号公報の技術は、参加者の役割に複数の種類があ るゲームに適用した場合にのみ所期の効果を奏するものであり、この技術を他のゲ ームに適用しても所期の効果を得ることはできない。そもそも、この技術では、参加者 のゲーム装置のうち、直接的に通信したときの伝送遅延が小さい 2つのゲーム装置が 子ノードとなり、これらのゲーム装置の各々と直接的に通信したときの伝送遅延がい ずれも大きレ、ゲーム装置が親ノードとなる虞がある。このようなゲーム装置が親ノード となった場合、主に行われる親子間でのデータの送受信における伝送遅延が大きい ため、ゲームの進行に関する通信の遅延が大きくなつてしまう。これは、ゲームの進 行の円滑化の阻害やゲームの進行の信頼度の低下につながる。
[0005] そこで、本発明は、 3つ以上の通信装置から 1つを選択して親ノードとすることによつ て、多人数参加型のゲームに代表される共同作業の進行に影響する通信の遅延を 小さくすることができる通信装置、通信システムおよびプログラムを提供する。
課題を解決するための手段
[0006] 以下、本発明について説明する。なお、本発明の理解を容易にするために添付図 面の参照符号を括弧書きにて付記する力 それにより本発明が図示の形態に限定さ れるものではない。
本発明は、 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)から受信する測定データ受信部と、前記測定データ受信部 が受信した測定データおよび前記測定データ生成部が生成した測定データに基づ V、て、当該通信装置の前記測定データが前記グループの通信装置の測定データの うち最小の値を示す唯一のデータである場合には、当該通信装置(10, 50, 70)が 前記親ノードであることを示す前記決定データを生成し、そうでなレ、場合には前記唯 一のデータの送信元である他の通信装置(10, 50, 70)が前記親ノードであることを 示す前記決定データを生成する決定データ生成部と、前記決定データを前記ダル ープの他の通信装置(10, 50, 70)の各々 送信する決定データ送信部と、を有し 、前記ゲームデータ送受信部(11)は、ゲームデータを送信するときには、当該送信 を、当該通信装置(10, 50, 70)が親ノードである場合には直接的な通信により行い 、当該通信装置(10, 50, 70)が親ノードでない場合には親ノードである通信装置(1 0, 50, 70)を介した間接的な通信により行う、ことを特徴とする通信装置(10, 50, 7 0)を提供する。
ここで、「仮親ノード」とは、 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つ以上の通信装置(1 0, 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つ以上の通信装置のうち、 応答時間の和が最小の通信装置が親ノードとなるから、子ノードから親ノードを経由 して他の子ノードへ渡されるべきデータの伝送遅延(累積値)が最短となる。また、子 ノードから親ノードを経由して当該子ノードへ渡されるべきデータの伝送遅延を同一 のグループをなす複数の子について平均化して得られる時間も最短となる。つまり、 共同作業の進行に影響する通信の遅延を小さくすることができる。
[0010] 上記の通信システム(100, 200, 300)において、前記 3つ以上の通信装置(10, 50, 70)を含む 4つ以上の通信装置(10, 50, 70)を有し、前記 4つ以上の通信装 置(10, 50, 70)の各々は前記グループに属することが可能である、ようにしてもよい 。また、前記グループをなす通信装置(10, 50, 70)の各々は、プレイヤーの操作を 受け付け、当該操作に応じた操作信号を出力する入力部(14)と、前記操作信号に 基づいて前記ゲームデータを生成するゲームデータ生成部(11)と、前記ゲーム送 受信部(11)が受信したゲームデータに基づいてゲームを進行させる制御部(11)と 、を有するようにしてもよい。また、これらを組み合わせてもよい。
[0011] また、本発明は、通信装置に、 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つ以上の通信装置のうち、応答時間の和が最小の通信装置が親ノ ードとなる力、ら、子ノードから親ノードを経由して他の子へ渡されるべきデータの伝送 遅延(累積値)が最短となる。また、子ノードから親ノードを経由して当該子ノードへ渡 されるべきデータの伝送遅延を同一のグループをなす複数の子ノードについて平均 化して得られる時間も最短となる。つまり、上記のプログラムによれば、共同作業の進 行に影響する通信の遅延を小さくすることができる。
発明の効果
[0012] 本発明によれば、 3つ以上の通信装置から 1つを選択して親ノードとすることによつ て、多人数参加型のゲームに代表される共同作業の進行に影響する通信の遅延を /J、さくすること力でさる。
図面の簡単な説明
[0013] [図 1]本発明の第 1の実施の形態に係るゲームシステム 100の全体構成を示すブロッ ク図である。
[図 2]ゲームシステム 100を構成するゲーム装置 10に表示される画像の一例を示す 図である。
[図 3]親ノードの割り当てと応答時間との関係を説明するための図である。 [図 4]ゲーム装置 10の構成を示すブロック図である。
[図 5]ゲームシステム 100を構成するマッチングサーバ装置 40の構成を示すブロック 図である。
[図 6]マッチングサーバ装置 40のプロセッサ 41が fiうロビー処理のフローチャートで ある。
[図 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が行う仮親ノード処理のフローチャートである。 発明を実施するための最良の形態
[0014] 本発明の好適な実施の形態について説明する。第 1の実施の形態は、ゲーム装置 のグループ化にマッチングサーバ装置が関与し、かつ、親ノードの選択をゲーム装 置が行うものである。第 2の実施の形態は、ゲーム装置のグループ化をマッチングサ ーバ装置が行い、かつ、親ノードの選択をマッチングサーバ装置が行うものである。 第 3の実施の形態は、ゲーム装置のグループ化をゲーム装置が行い、かつ、親ノード の選択をゲーム装置が行うものである。
[0015] <第 1の実施の形態〉
図 1は、本発明の第 1の実施の形態に係るゲームシステム(通信システム) 100の全 体構成を示すブロック図である。ゲームシステム 100は 3人の参加者に戦車ゲームを プレイさせるためのシステムである。戦車ゲームでは、各参加者は、戦場である仮想 空間において自己の戦車を操縦する。戦場は各参加者の陣を含み、各参加者は自 陣の損害の少なさを競う。
[0016] ゲームシステム 100において、マッチングサーバ装置 40はルータ 30を介して、イン ターネット 1に接続されている。インターネット 1には、店舗 A、 B、 C、…を含む複数の 店舗に各々設けられた複数の LAN (Local Area Network) 25力 S、各店舗内のルー タ 20を介して接続されている。各ルータ 20は、いずれも、インターネット 1上に仮想的 な専用網である VPN (Virtual Private Network)を構築する機能を備えている。各 店舗には複数のゲーム装置 10が配置されている。各ゲーム装置 10は、参加者に使 用され、当該参加者が参加する戦車ゲームに参加し、当該戦車ゲームを当該参加 者にプレイさせるものであり、 LAN25を介して店舗内の他のゲーム装置 10と通信可 能である一方、 LAN25、ルータ 20および VPNを介して、マッチングサーバ装置 40 や他の店舗のゲーム装置 10と通信可能である。
[0017] 図 2は、ゲーム装置 10に表示される画像の一例を示す図である。この図に示すよう に、ゲーム装置 10には、当該ゲーム装置 10が参加している戦車ゲームの状態を示 す画像が表示される。具体的には、戦場の画像 BFと、各陣の損害の比率を示す戦 況インジケータ INDが表示される。この比率は 3つの陣の損害に基づいて決定される 。各陣の損害には、当該陣の参加者の戦車が被った被害も含まれる。以上の説明か ら明らかなように、戦車ゲームの状態は、当該戦車ゲームに参加しているゲーム装置 に共有されるものであり、 1つの装置において一意に決定されるべきものである。
[0018] ここで、戦車ゲームの状態を特定のサーバ装置が決定する形態を想定する。この 形態では、同時に行われる戦車ゲームの状態が特定のサーバ装置によって決定さ れる。つまり、特定のサーバ装置に負荷が集中する。したがって、この形態は、多くの 戦車ゲームが同時に行われる大規模なゲームシステムには向かない。そこで、本発 明の各実施の形態では、戦車ゲームの状態を、当該戦車ゲームに参加している 1つ のゲーム装置 10が決定する形態を採り、負荷を分散させている。以降、各戦車グー ムにおいて、当該戦車ゲームに参加するゲーム装置のうち、当該戦車ゲームの状態 を決定する 1つのゲーム装置を「親ノード」、他の 2つのゲーム装置をそれぞれ「子ノ ード」と称する。本発明の各実施の形態において、親ノードは子ノードのみとデータを 送受信し、子ノードは主に親ノードとデータを送受信する。
[0019] 戦車ゲームの状態を当該戦車ゲームに参加する親ノードが決定する形態では、 1 つの子ノードにおレ、て戦車ゲームの状態の決定に影響を与えるゲームデータ(例え ば後述の操作データ)が生成されると、当該ゲームデータが親ノードに渡され、親ノ ードにおいて当該ゲームデータを用いた処理が行われて戦車ゲームの状態が決定 され、この状態を示す状態データが各子ノードに渡され、親ノードおよび各子ノード において、この状態を示す画像(当該ゲームデータが反映された画像)が表示される 。ゲームデータを用いた処理としては、例えば、戦車の位置や姿勢を特定する処理 や、砲弾の位置を特定する処理、砲弾が戦車等の物体に命中したか否かの判定処 理、各陣の損害を特定する処理がある。以降、各子ノードにおいて、ゲームデータが 生成されてから当該ゲームデータが反映された画像が表示されるまでの時間を、当 該子ノードの反映遅延時間と称する。
[0020] 各子ノードの反映遅延時間は、当該子ノードを基点とした親ノードとの間の応答時 間よりも僅かに長い時間となる。「Aを基点とした Bとの間の応答時間」とは、 Aから Bま での信号の伝送遅延時間と、 Bにおける処理遅延時間と、 Bから Aまでの信号の伝送 遅延時間との和である。このことから明らかなように、各子ノードを基点とした親ノード との間の応答時間は、各子ノードと親ノードとの距離などの地理的な要因や、各子ノ 一ドと親ノードとの間の通信路の信号伝送速度などのネットワーク構成上の要因に依 存する。つまり、各子ノードを基点とした親ノードとの間の応答時間、ひいては各子ノ ードの反映遅延時間は、どのゲーム装置 10を親ノードとするかによつて異なる。この ことについて具体例を挙げて説明する。
[0021] 図 3は、親ノードの割り当てと応答時間との関係を説明するための図である。この図 では、第 1のゲーム装置 10 ( a )と第 2のゲーム装置 10 ( /3 )との間の伝送遅延時間 が 3、 /3と第 3のゲーム装置 10 ( γ )との間の通信遅延時間が 4、 γと αとの間の伝送 遅延時間力 になっている。 α、 /3および γの処理遅延時間はいずれも 1である。こ こで、 αを親ノードとし、 /3および γをそれぞれ子ノードとすると、 /3を基準とした親ノ ードに対する応答時間は 3 + 1 + 3 = 7となり、 γを基準とした親ノードに対する応答 時間は 9 + 1 + 9 = 19となる。これに対して、 /3を親ノードとし、 αおよび γをそれぞ れ子ノードとすると、 αを基準とした親ノードに対する応答時間は 3 + 1 + 3 = 7、 γを 基準とした親ノードに対する応答時間は 4 + 1 + 4 = 9となる。つまり、 γを基準とした 親ノードに対する応答時間は αを親ノードとした場合(19)よりも ( を親ノードとした場 合(9)に短くなり、 γの反映遅延時間は αを親ノードとした場合よりも /3を親ノードとし た場合に短くなる。
[0022] 一方、前述したように、ゲームデータとしては操作データが含まれるから、ある子ノ ードを基準とした親ノードに対する反映遅延時間が長い場合、当該子ノードにおいて 、画像の表示が参加者の操作力 大きく遅延してしまう。このような遅延が望ましくな いことは、操作データ以外のゲームデータにもあてはまる。したがって、各子ノードの 反映遅延時間は短い方がよいことになる。また、各子ノードの反映遅延時間は、当該 子ノードを基点とした親ノードに対する応答時間よりも僅かに長!/、時間となる。よって 、各子ノードを基点とした親ノードに対する応答時間は短い方がよいことになる。
[0023] まとめると、各子ノードを基準とした親ノードに対する応答時間は、短い方がよぐ同 一の戦車ゲームに参加するゲーム装置 10のどれを親ノードとするかに依存する。よ つて、同一の戦車ゲームに参加するゲーム装置 10のどれを親ノードとするかが重要 となる。 [0024] ゲームシステム 100では、戦車ゲームのプレイ前に、当該戦車ゲームの参加者を特 定する必要がある。この作業を「マッチング」と称する。マッチングは、いずれか一つ のゲーム装置 10が戦車ゲームへの参加を表明して仮親ノードとなり、このゲーム装 置 10に対して他のゲーム装置 10が仮子ノードとして参加を表明する、という手順で 行われる。そして、仮親ノードおよび仮子ノードのいずれか 1つが親ノードとなり、残り が子ノードとなって、戦車ゲームが開始される。
[0025] [ゲーム装置 10]
図 4は、ゲーム装置 10の構成を示すブロック図である。この図に示すように、ゲーム 装置 10は、プロセッサ 11、入力部 14、表示部 15、通信インターフェイス 17、不揮発 性メモリ 18および書き換え可能メモリ 19を有する。プロセッサ 11は、例えば、一又は 複数の CPU (Central Processing Unit)である。
[0026] 入力部 14は、複数の操作子を備え、操作子が操作されると、当該操作を受け付け 、当該操作に応じた操作信号をプロセッサ 11に供給する。複数の操作子には、戦車 の向きを変更するためのハンドル型の操作子や、後述の仮決定処理を開始させたり 戦車に砲弾を発射させたりするためのボタン型の操作子、戦車を移動させるための ペダル型の操作子が含まれる。
[0027] 表示部 15は、画面 151を有し、プロセッサ 11から画像データが供給されると、当該 画像データが表す画像を画面 151に表示する。表示部 15としては、モニタやビデオ プロジェクタを用いること力 Sできる。ビデオプロジェクタを用いる場合には、画像が投 射されるスクリーンが画面 151に相当する。通信インターフェイス 17は、 LAN25との 間で信号を送受するものであり、プロセッサ 11と LAN25との間でデータを中継する。 プロセッサ 11は、通信インターフェイス 17を用いて、他の装置との間でデータを送受 信する。
[0028] 不揮発性メモリ 18は、例えば ROM (Read Only Memory)であり、プログラム 181 およびサーバ装置データ 182を記憶している。プログラム 181は、プロセッサ 11に実 行されることによってゲーム装置 10に後述の各種の処理 (仮決定処理、仮親ノード処 理、仮子ノード処理、親ノード処理、子ノード処理)を行わせる。以降の説明でプロセ ッサ 11が行う処理はプログラム 181を用!/、て行われる。サーバ装置データ 182はマツ チングサーバ装置 40の通信アドレスを取得するために必要なデータである。
[0029] 書き換え可能メモリ 19は、例えば RAM (Random Access Memory)であり、その記 憶領域には、参加者のデータを格納する参加者テーブル T4が確保される。参加者 テーブル T4は参加者にそれぞれ対応する 3つのレコードを有する。各レコードには、 参加者のゲーム装置 10の通信アドレスと当該ゲーム装置 10の種別を示すフラグとが 格納される。ゲーム装置 10の種別としては、親ノード、子ノード、仮親ノードおよび仮 子ノードがある。本実施の形態では、このフラグの値を、親ノードを示す場合と仮親ノ ードを示す場合とで等しくし、子ノードを示す場合と仮子ノードを示す場合とで等しく しているが、本実施の形態を変形し、他の形態としてもよい。また、書き換え可能メモ リ 19は、プロセッサ 11が受信したデータの送信元の装置の通信アドレスの一時的な 記憶や、画像 BFおよび戦況インジケータ INDの画像データの記憶、状態データの 記憶にも用いられる。なお、不揮発性メモリ 18または書き換え可能メモリ 19は自己の 通信アドレスを記憶する。
[0030] [マッチングサーバ装置 40]
図 5は、マッチングサーバ装置 40の構成を示すブロック図である。この図に示すよう に、マッチングサーバ装置 40は、プロセッサ 41、通信インターフェイス 42、不揮発性 メモリ 43および書き換え可能メモリ 44を備える。プロセッサ 41は、例えば、一又は複 数の CPUである。通信インターフェイス 42は、ルータ 30との間で信号を送受するも のであり、プロセッサ 41とルータ 30との間でデータを中継する。プロセッサ 41は、通 信インターフェイス 42を用いて、他の装置との間でデータを送受信する。
[0031] 不揮発性メモリ 43は、例えば ROMおよびハードディスクである。 ROMは IPL (Initi al Program Loader)を、ノヽードディスクはプログラム 431を記憶している。プログラム 431は、プロセッサ 41に実行されることによって、マッチングサーバ装置 40に後述の ロビー処理を行わせる。以降の説明でプロセッサ 41が行う処理はプログラム 431を用 いて行われる。また、不揮発性メモリ 43はマッチングサーバ装置 40の通信アドレスを 記憶している。書き換え可能メモリ 44は、例えば RAMであり、仮親ノードとなるゲー ム装置 10の通信アドレスを示すデータの並びである仮親ノードリスト 441を記憶する 。マッチングサーバ装置 40の電源投入時には、仮親ノードリスト 441は空となる。また 、書き換え可能メモリ 44は、プロセッサ 41が受信したデータの送信元の装置の通信 アドレスの一時的な記憶にも用いられる。
[0032] [ロビー処理]
図 6は、マッチングサーバ装置 40のプロセッサ 41が行うロビー処理のフローチヤ一 トである。ロビー処理では、プロセッサ 41は、ゲーム装置 10からデータを受信するま で、ゲーム装置 10からデータを受信したか否かを判定する処理(SA1)を繰り返し行 う。データを受信し、この処理の判定結果が「YES」となると、プロセッサ 41は、受信し たデータが、仮親ノードリストの返信を要求する仮親ノードリスト返信要求であるか否 かを判定する(SA2)。この判定結果が「YES」の場合、プロセッサ 41は、仮親ノード リスト 441を書き換え可能メモリ 44から読み出し、当該仮親ノードリスト返信要求の送 信元のゲーム装置 10へ送信し(SA3)、処理をステップ SA1に移行させる。
[0033] ステップ SA2の判定結果が「NO」の場合、プロセッサ 41は、受信したデータが、仮 親ノードとしての登録を要求する仮親ノード登録要求であるか否かを判定する(SA4 )。この判定結果が「YES」の場合、プロセッサ 41は、この仮親ノード登録要求の送信 元のゲーム装置 10を仮親ノードとして登録する(SA5)。具体的には、当該ゲーム装 置 10の通信アドレスを仮親ノードリスト 441に追加する。以降、処理をステップ SA1 に移行する。
[0034] ステップ SA4の判定結果が「NO」の場合、プロセッサ 41は、受信したデータが、仮 親ノードとしての登録の抹消を要求する登録抹消要求であるか否かを判定する(SA 6)。この判定結果が「YES」の場合、プロセッサ 41は、この登録抹消要求の送信元 のゲーム装置 10の仮親ノードとしての登録を抹消する(SA7)。具体的には、当該ゲ ーム装置 10の通信アドレスを仮親ノードリスト 441から削除する。以降、処理をステツ プ SA1に移行する。
[0035] [仮決定処理]
図 7は、ゲーム装置 10のプロセッサ 11が行う仮決定処理のフローチャートである。 仮決定処理では、プロセッサ 11は、仮親ノードリスト返信要求を送信する(SB1)。次 にプロセッサ 11は、マッチングサーバ装置 40から仮親ノードリスト 441を受信するま で、マッチングサーバ装置 40から仮親ノードリスト 441を受信したか否かを判定する 処理(SB2)を繰り返し行う。仮親ノードリスト 441を受信し、この処理の判定結果が「 YES」となると、プロセッサ 11は、受信した仮親ノードリスト 441が空であるか否かを判 定する(SB3)。この判定結果が「YES」の場合、プロセッサ 11は、仮親ノード登録要 求をマッチングサーバ装置 40へ送信し(SB4)、自己が仮親ノードとなるように参加 者テーブル T4を生成する(SB5)。具体的には、書き換え可能メモリ 19の記憶領域 に参加者テーブル T4を確保し、参加者テーブル T4の 1つのレコードに、 自己の通 信アドレスと仮親ノードを示すフラグ (例えば値が 1のフラグ)とを格納する。
[0036] 一方、ステップ SB3の判定結果力 S「NO」であれば、プロセッサ 11は、仮親ノード登 録要求をマッチングサーバ装置 40へ送信することなぐ自己が仮子ノードとなるように 参加者テーブル T4を生成する(SB6)。具体的には、書き換え可能メモリ 19の記憶 領域に参加者テーブル T4を確保し、参加者テーブル T4の 1つのレコードに、自己 の通信アドレスと仮子ノードであることを示すフラグ (例えば値が 0のフラグ)とを格納 する一方、他の 1つのレコードに、受信した仮親ノードリスト 441に格納されている通 信アドレスと仮親ノードを示すフラグ (例えば値が 1のフラグ)とを格納する。
[0037] [仮親ノード処理]
図 8は、ゲーム装置 10のプロセッサ 11が行う仮親ノード処理のフローチャートであ る。仮親ノード処理は、参加者テーブル T4において仮親ノードを示すフラグに対応 付けて自己の通信アドレスが格納されている場合に、仮決定処理に続いて行われる 。仮親ノード処理では、プロセッサ 11は、他のゲーム装置 10から、戦車ゲームへの 参加を要求する参加要求を受信するまで、他のゲーム装置 10から参加要求を受信 したか否かを判定する処理(SC1)を繰り返し行う。参加要求を受信し、この処理の判 定結果が「YES」となると、プロセッサ 11は、参加を許可する旨の許可通知を、当該 参加要求の送信元のゲーム装置 10へ送信し、当該ゲーム装置 10が仮子ノードとな るように参加者テーブル T4を更新する(SC2)。具体的には、参加者テーブル T4の 空いているレコードに、当該ゲーム装置 10の通信アドレスと仮子ノードであることを示 すフラグとを格納する。
[0038] 次にプロセッサ 11は、参加者が 3人か否かを判定する(SC3)。具体的には、参加 者テーブル T4において通信アドレスおよびフラグが格納されたレコードの数が 3つで あるか否かを判定する。この判定結果が「NO」の場合、処理はステップ SC1に移行 する。この判定結果が「YES」の場合、プロセッサ 11は、 自己を除く参加者のゲーム 装置 10の各々へ、参加者の情報を共有させるための共有データを送信する(SC4) 。共有データには、自己と当該共通データの送信先とを除く参加者のゲーム装置 10 の通信アドレスが含まれる。
[0039] 次にプロセッサ 11は、マッチングサーバ装置 40へ仮親ノードとしての登録に対する 登録抹消要求を送信し(SC5)、 自己を除く参加者のゲーム装置 10へ、マッチングの 完了を知らせるマッチング完了通知を送信する(SC6)。次にプロセッサ 11は当該ゲ ーム装置 10の応答時間を測定する応答測定処理を行う(SC7)。詳しくは後述する 1S 応答測定処理では、当該ゲーム装置 10以外の全ての参加者のゲーム装置 10を 他のゲーム装置と称し、当該ゲーム装置 10を基点とした他のゲーム装置の各々との 応答時間を当該ゲーム装置 10の応答時間と称するとき、当該ゲーム通信装置 10の プロセッサ 11は、当該ゲーム装置 10の応答時間を測定し、測定した応答時間の和 を示す測定データ(自データ)を生成する。さらに、ステップ SC7の応答測定処理で は、他のゲーム装置の各々から測定結果を知らせる測定結果通知を受信する。測定 結果通知は、応答時間の和を示す測定データ(他データ)を含む。すなわち、ステツ プ SC7の応答測定処理は、応答時間を収集する処理でもある。
[0040] 次にプロセッサ 11は、応答測定処理の結果(測定データ)に基づいて、親ノードを 決定する決定処理を行う(SC8)。具体的には、取得した測定データのうち最小の値 を示す唯一のデータが自データである場合には自己を親ノードとし、取得した測定デ ータのうち最小の値を示す唯一のデータが自データでな!/、場合 (他データである場 合)には、当該唯一のデータの送信元であるゲーム装置 10を親ノードとする。次にプ 口セッサ 11は、決定した親ノードを示す決定通知を、自己を除く参加者のゲーム装 置 10へ送信し、当該結果に基づいて参加者テーブル T4を更新する(SC9)。具体 的には、参加者テーブル T4に格納されたフラグのうち、親ノードであるゲーム装置 1 0の通信アドレスに対応するフラグを、親ノードを示すフラグ (例えば値が 1のフラグ) に更新し、他の通信アドレスに対応するフラグを、子ノードを示すフラグ (例えば値が 0のフラグ)に更新する。 [0041] [仮子ノード処理]
図 9は、ゲーム装置 10のプロセッサ 11が行う仮子ノード処理のフローチャートであ る。仮子ノード処理は、参加者テーブル T4において仮子ノードを示すフラグに対応 付けて自己の通信アドレスが格納されている場合に、仮決定処理に続いて行われる 。仮子ノード処理では、プロセッサ 11は、仮決定処理において受信した仮親ノードリ スト 441に格納されている通信アドレスのゲーム装置 10 (仮親ノード)へ参加要求を 送信する(SD1)。
[0042] 次にプロセッサ 11は、仮親ノードから許可通知を受信するまで、仮親ノードから許 可通知を受信したか否かを判定する処理(SD2)を繰り返し行う。許可通知を受信し 、この処理の判定結果が「YES」となると、プロセッサ 11は、仮親ノードから共有デー タを受信するまで、仮親ノードから共有データを受信したか否かを判定する処理(SD
3)を繰り返し行う。共有データを受信し、この処理の判定結果が「YES」となると、プ 口セッサ 11は、受信した共有データに基づいて参加者テーブル T4を更新する(SD
4)。具体的には、受信した共有データに含まれている通信アドレスと仮子ノードを示 すフラグを、参加者テーブル T4の空!/、て!/、るレコードに格納する。
[0043] ステップ SD4を終えると、プロセッサ 11は、仮親ノードからマッチング完了通知を受 信するまで、仮親ノードからマッチング完了通知を受信したか否かを判定する処理( SD5)を繰り返し行う。マッチング完了通知を受信し、この処理の判定結果が「YES」 となると、プロセッサ 11は、ステップ SC7と同様の応答測定処理を行う(SD6)。ただ し、ステップ SD6の応答測定処理では、他のゲーム装置から測定結果通知を受信す るのではなく、生成した測定データを含む測定結果通知を仮親ノードのゲーム装置 1 0へ送信する。
[0044] 次にプロセッサ 11は、仮親ノードから決定通知を受信するまで、仮親ノードから決 定通知を受信したか否かを判定する処理(SD7)を繰り返し行う。決定通知を受信し 、この処理の判定結果が「YES」となると、プロセッサ 11は、受信した決定通知に基 づいて参加者テーブル T4を更新する(SD8)。具体的には、参加者テーブル T4に 格納されているフラグのうち、決定通知が示すゲーム装置 10の通信アドレスに対応 するフラグを、親ノードを示すフラグに更新する一方、当該通信アドレスに対応してい ないフラグを、子ノードを示すフラグに更新する。
[0045] [親ノード処理および子ノード処理]
親ノード処理および子ノード処理は、いずれも、参加者に戦車ゲームを行わせる処 理であり、参加者のゲーム装置 10のうち親ノードであるゲーム装置 10のプロセッサ 1 1が親ノード処理を行い、子ノードであるゲーム装置 10の各々のプロセッサ 11が子ノ ード処理を行うことにより、これらのゲーム装置 10の状態データが繰り返し更新されて 当該戦車ゲームが進行する。
[0046] 親ノード処理を実行中のプロセッサ 11は、入力部 14から出力された操作信号に応 じた操作データを生成し、この操作データと通信インターフェイス 17を用いて受信し た操作データとに基づいて戦車ゲームの状態を決定し、この状態を示す状態データ を、通信インターフェイス 17を用いて子ノードであるゲーム装置 10へ送信するととも に、書き換え可能メモリ 19に記憶させる。この記憶は上書きである。また、親ノード処 理を実行中のプロセッサ 11は、書き換え可能メモリ 19に記憶されている状態データ を用いて、画像 BFおよび戦況インジケータ INDの表示を行う。
[0047] 子ノード処理を実行中のプロセッサ 11は、入力部 14から出力された操作信号に応 じた操作データを生成し、この操作データを、通信インターフェイス 17を用いて親ノ ードであるゲーム装置 10へ送信する。また、子ノード処理を実行中のプロセッサ 11 は、通信インターフェイス 17を用いて受信した状態データを、書き換え可能メモリ 19 に記憶させる。この記憶は上書きである。また、子ノード処理を実行中のプロセッサ 1 1は、書き換え可能メモリ 19に記憶されている状態データを用いて、画像 BFおよび 戦況インジケータ INDの表示を行う。
[0048] [動作例]
図 10A〜図 12は、ゲームシステム 100の動作例を示すシーケンス図である。この 動作例は、仮親ノードリスト返信要求をマッチングサーバ装置 40へ、まず店舗 Aに配 置されている一つのゲーム装置 10 (ゲーム装置 10A)のプロセッサ 11が送信し、次 に店舗 Bに配置されている一つのゲーム装置 10 (ゲーム装置 10B)のプロセッサ 11 が送信し、次に店舗 Cに配置されている一つのゲーム装置 10 (ゲーム装置 10C)の プロセッサ 11が送信し、戦車ゲームにおいてはゲーム装置 10Bが親ノードとなる、と いうものである。以降、この動作例について詳細に説明する。なお、マッチングサー バ装置 40のプロセッサ 41は既にロビー処理を実行しているものとする。
[0049] 図 10Aに示すように、まず、ゲーム装置 10Aのプロセッサ 11が仮決定処理を開始 し、仮親ノードリスト返信要求をマッチングサーバ装置 40へ送信する。この仮親ノード リスト返信要求を受信したマッチングサーバ装置 40のプロセッサ 41は、書き換え可能 メモリ 44から仮親ノードリスト 441を読み出し、ゲーム装置 10Aへ送信する。この仮親 ノードリスト 441は空であるから、この仮親ノードリスト 441を受信したゲーム装置 10A のプロセッサ 11は、仮親ノード登録要求を送信し、参加者テーブルを生成して仮決 定処理を終了し、次に仮親ノード処理を開始する。こうして、戦車ゲームの 3人の参 加者のうち 1人が決まる。この仮親ノード登録要求を受信したマッチングサーバ装置 4 0のプロセッサ 41は、この仮親ノード登録要求の送信元のゲーム装置 10Aの通信ァ ドレスを書き換え可能メモリ 44に記憶されている仮親ノードリスト 441に追加する。
[0050] 次に、ゲーム装置 10Bのプロセッサ 11が仮決定処理を開始し、仮親ノードリスト返 信要求をマッチングサーバ装置 40へ送信する。この仮親ノードリスト返信要求を受信 したマッチングサーバ装置 40のプロセッサ 41は、書き換え可能メモリ 44から仮親ノ 一ドリスト 441を読み出し、ゲーム装置 10Bへ送信する。この仮親ノードリスト 441に はゲーム装置 10Aの通信アドレスが含まれているから、この仮親ノードリスト 441を受 信したゲーム装置 10Bのプロセッサ 11は、参加者テーブルを生成のうえ仮決定処理 を終了し、次に仮子ノード処理(図 10B)を開始する。
[0051] 次に、図 10Bに示すように、ゲーム装置 10Cのプロセッサ 11が仮決定処理を開始 し、仮親ノードリスト返信要求をマッチングサーバ装置 40へ送信する。この結果、ゲ ーム装置 10Cについて、上述したゲーム装置 10Bに関する動作と同様の動作が行 われる。
[0052] 一方、仮子ノード処理を開始したゲーム装置 10Bのプロセッサ 11は、参加要求を ゲーム装置 10Aへ送信する。この送信は、仮決定処理にて受信済みの仮親ノードリ スト 441に含まれて!/、る通信アドレスを用いて行われる。この参加要求を受信したゲ ーム装置 10Aのプロセッサ 11は、許可通知をゲーム装置 10Bへ送信する。この許可 通知を受信したゲーム装置 10Bのプロセッサ 11は、ゲーム装置 10Aからの共通デー タ及びマッチング完了通知の受信を待つ。こうして、戦車ゲームの 3人の参加者のう ち 2人が決まる。
[0053] また、仮子ノード処理を開始したゲーム装置 10Cのプロセッサ 11は、参加要求をゲ ーム装置 10Aへ送信する。この結果、ゲーム装置 10Cについて、上述したゲーム装 置 10Bに関する動作と同様の動作が行われ、戦車ゲームの 3人の参加者全員が決
[0054] 次に、ゲーム装置 10Aのプロセッサ 11は、ゲーム装置 10Bの通信アドレスを含む 共有データをゲーム装置 10Cへ送信するとともに、ゲーム装置 10Cの通信アドレスを 含む共有データをゲーム装置 10Bへ送信する。ゲーム装置 10Bおよび 10Cの各々 では、プロセッサ 11が共有データを受信し、受信した共有データに含まれている通 信アドレスと仮子ノードを示すフラグを、書き換え可能メモリ 19に記憶されている参加 者テーブル T4の空!/、て!/、るレコードに格納する。
[0055] 上述した動作の結果、ゲーム装置 10A〜10Cの参加者テーブル T4の内容は互い に同様となる。すなわち、各参加者テーブル T4は、ゲーム装置 10Aの通信アドレス と仮親ノードを示すフラグとを対応付けて格納し、ゲーム装置 10Bの通信アドレスと仮 子ノードを示すフラグとを対応付けて格納し、ゲーム装置 10Cの通信アドレスと仮子 ノードを示すフラグとを対応付けて格納した状態となっている。
[0056] 次に、ゲーム装置 10Aのプロセッサ 11は、登録抹消要求をマッチングサーバ装置 40へ送信する。この登録抹消要求を受信したマッチングサーバ装置 40のプロセッサ 41は、この登録抹消要求の送信元のゲーム装置 10Aの通信アドレスを書き換え可 能メモリ 44内の仮親ノードリスト 441から削除する。次に、ゲーム装置 10Aのプロセッ サ 11は、マッチング完了通知をゲーム装置 10Bおよび 10Cへ送信し、応答測定処 理(SC7)を開始する。一方、このマッチング完了通知を受信したゲーム装置 10Bお よび 10Cの各プロセッサ 11は、応答測定処理(SD6)を開始する。
[0057] 以降の動作は図 11に示す通りである。この図では、伝送遅延を考慮し、ゲーム装 置間でのデータの伝送を示す矢印が斜めに描かれている。
ゲーム装置 10Aのプロセッサ 11は、応答速度の測定のための応答速度計測応答 の返信を要求する応答速度計測要求をゲーム装置 10Bへ送信する。この応答速度 計測要求を受信したゲーム装置 10Bのプロセッサ 11は、応答速度計測応答をグー ム装置 10Aへ送信する。この応答速度計測応答はゲーム装置 10Aのプロセッサ 11 に受信される。この際、ゲーム装置 10Aのプロセッサ 11は、上記の応答速度計測要 求を送信してから上記の応答速度計測応答を受信するまでの時間を、ゲーム装置 1 OAを基点としたゲーム装置 10Bに対する応答時間 (TAB)として計測する。この計測 処理と同様の処理が、ゲーム装置 10Cについても行われ、ゲーム装置 10Aを基点と したゲーム装置 10Cに対する応答時間 (TAC)が計測される。すなわち、ゲーム装置 10Aの応答時間が計測される。そして、ゲーム装置 10Aのプロセッサ 11は、ゲーム 装置 10Aの応答時間の和 (TAB + TAC)を示す測定データを生成し、自データとし て書き換え可能メモリ 19に記憶させる。
[0058] ゲーム装置 10Bでは、上述の計測処理と同様の処理により、ゲーム装置 10Bを基 点としたゲーム装置 10Aに対する応答時間 (TBA)と、ゲーム装置 10Bを基点とした ゲーム装置 10Aに対する応答時間 (TBC)が計測される。すなわち、ゲーム装置 10 Bの応答時間が計測される。そして、ゲーム装置 10Bのプロセッサ 11は、ゲーム装置 10Bの応答時間の和(TBA+TBC)を示す測定データを生成し、この測定データを 含む測定結果通知を仮親ノードであるゲーム装置 10Aへ送信する。この定結果通知 はゲーム装置 10Aのプロセッサ 11に受信される。
[0059] ゲーム装置 10Cでは、上述の計測処理と同様の処理により、ゲーム装置 10Cを基 点としたゲーム装置 10Aに対する応答時間 (TCA)と、ゲーム装置 10Cを基点とした ゲーム装置 10Bに対する応答時間 (TCB)が計測される。すなわち、ゲーム装置 10 Cの応答時間が計測される。そして、ゲーム装置 10Cのプロセッサ 11は、ゲーム装置 10Cの応答時間の和(TCA + TCB)を示す測定データを生成し、この測定データを 含む測定結果通知を仮親ノードであるゲーム装置 10Aへ送信する。この定結果通知 はゲーム装置 10Aのプロセッサ 11に受信される。
[0060] こうして、応答測定処理が完了する。次にゲーム装置 10Aのプロセッサ 11は、決定 処理を行う。すなわち、取得した測定データのうち最小の値を示す唯一の測定デー タが自データである場合にはゲーム装置 10Aを親ノードとし、自データでなレ、場合に は最小の値を示す唯一の測定データの送信元のゲーム装置 10を親ノードとする。こ の動作例では、最小の値を示す唯一の測定データは、ゲーム装置 10Bから送信され てきた測定データであり、ゲーム装置 10Bが親ノードとなる。したがって、ゲーム装置 10Aのプロセッサ 11は、書き換え可能メモリ 19内の参加者テーブル T4に格納され たフラグのうち、親ノードであるゲーム装置 10Bの通信アドレスに対応するフラグを、 親ノードを示すフラグに更新し、他の通信アドレスに対応するフラグを、子ノードを示 すフラグに更新する。
[0061] 次に、ゲーム装置 10Aのプロセッサ 11は、図 12に示すように、親ノードであるゲー ム装置 10Bの通信アドレスを含む決定通知を、ゲーム装置 10Bおよび 10Cへ送信す る。次に、ゲーム装置 10Aのプロセッサ 11は仮親ノード処理を終了し、ゲーム装置 1 OAの通信アドレスに対応付けて参加者テーブル T4に格納されているフラグに応じ た処理 (子ノード処理)を開始する。一方、上記の決定通知を受信したゲーム装置 10 Bのプロセッサ 11は、受信した決定通知に応じて書き換え可能メモリ 19内の参加者 テーブル T4を更新する。この更新の結果はゲーム装置 10Aにおける更新の結果と 同様となる。次に、ゲーム装置 10Bのプロセッサ 11は、仮子ノード処理を終了し、ゲ ーム装置 10Bの通信アドレスに対応付けて参加者テーブル T4に格納されているフラ グに応じた処理 (親ノード処理)を開始する。これと同様のこと力 ゲーム装置 10Cで も行われる。ただし、ゲーム装置 10Cのプロセッサ 11が開始する処理は子ノード処理 となる。
[0062] 以降、ゲーム装置 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 に、最新の状態を示す画像が表示される。
[0063] [まとめ]
以上説明したように、ゲームシステム 100によれば、応答時間の和が最小のゲーム 装置 10が親ノードとなるから、子ノードから親ノードを経由して他の子ノードへ渡され るべきデータの伝送遅延(累積値)が最短となる。また、子ノードから親ノードを経由し て当該子ノードへ渡されるべきデータの伝送遅延を 2つの子ノードについて平均化し て得られる時間も最短となる。したがって、戦車ゲームの進行に影響する通信の遅延 を小さくすること力 Sできる。なお、上述した実施の形態では、ゲームデータの一種であ る操作データがそのまま親ノードから子ノードへ渡されることはないが、操作データを 反映した状態データが親ノードから子ノードへ渡されるから、操作データは形式を変 えつつ子ノードから親ノードを経由して他の子ノードへ渡されるべきデータといえる。
[0064] <第 2の実施の形態〉
図 13は、本発明の第 2の実施の形態に係るゲームシステム 200の全体構成を示す ブロック図である。ゲームシステム 200がゲームシステム 100と異なる点は、ゲーム装 置 10に代えてゲーム装置 50を有する点と、マッチングサーバ装置 40に代えてマツ チングサーバ装置 60を有する点である。
[0065] [ゲーム装置 50]
図 14は、ゲーム装置 50の構成を示すブロック図である。ゲーム装置 50がゲーム装 置 10と異なる点は、不揮発性メモリ 18に代えて不揮発性メモリ 51を有する点である。 不揮発性メモリ 51は、例えば ROMであり、プログラム 511およびサーバ装置データ 5 12を記憶している。プログラム 511は、プロセッサ 11に実行されることによってゲーム 装置 50に各種の処理(後述のクライアント処理、親ノード処理、子ノード処理)を行わ せる。以降の説明でプロセッサ 11が行う処理はプログラム 511を用いて行われる。サ ーバ装置データ 512はマッチングサーバ装置 60の通信アドレスを取得するために必 要なデータである。
[0066] [マッチングサーバ装置 60]
図 15は、マッチングサーバ装置 60の構成を示すブロック図である。マッチングサー バ装置 60がマッチングサーバ装置 40と異なる点は、不揮発性メモリ 43に代えて不揮 発性メモリ 61を有する点と、書き換え可能メモリ 44に代えて書き換え可能メモリ 62を 有する点である。不揮発性メモリ 61は、例えば ROMおよびノヽードディスクである。 R OMは IPLを、ハードディスクはプログラム 611を記憶している。プログラム 611は、プ 口セッサ 41に実行されることによって、マッチングサーバ装置 60に後述のサーバ処 理を行わせる。以降の説明でプロセッサ 41が行う処理はプログラム 611を用レ、て行 われる。また、不揮発性メモリ 61はマッチングサーバ装置 60の通信アドレスを記憶し ている。
[0067] 書き換え可能メモリ 62は、例えば RAMであり、その記憶領域には、いずれかのグ ループに属するゲーム装置 50のデータを格納するグループテーブル 621が確保さ れる。グループテーブル 621のレコード数は、マッチングサーバ装置 40の電源投入 時にはゼロであり、いずれかのグループに属するゲーム装置 50が増える度に増える 。各レコードには、いずれかのグループに属するゲーム装置 50の通信アドレスと、当 該ゲーム装置 50が属するグループを識別するためのグループ IDと、当該ゲーム装 置 50の応答時間の和を示す測定データとが格納される。また、書き換え可能メモリ 6 2は、新たなゲーム装置 50が属することになるグループのグループ IDである最新 ID 622を記憶する。また、書き換え可能メモリ 62は、プロセッサ 41が受信したデータの 送信元の装置の通信アドレスの一時的な記憶にも用いられる。
[0068] [サーバ処理]
図 16は、マッチングサーバ装置 60のプロセッサ 41が行うサーバ処理のフローチヤ ートである。サーバ処理では、プロセッサ 41は、まず、初期化を行う(SE1)。具体的 には、初期値を示す最新 ID622を書き換え可能メモリ 62に記憶させるとともに、ダル ープテーブル 621を書き換え可能メモリ 62に確保する。次にプロセッサ 41は、ゲー ム装置 50からデータを受信するまで、ゲーム装置 50からデータを受信したか否かを 判定する処理(SE2)を繰り返し行う。データを受信し、この処理の判定結果が「YES 」となると、プロセッサ 41は、受信したデータが参加要求であるか否かを判定する(SE 3)。
[0069] ステップ SE3の判定結果が「YES」の場合、プロセッサ 41は、書き換え可能メモリ 6 2内の最新 ID622を用レ、て書き換え可能メモリ 62内のグループテーブル 621にレコ ードを追加する(SE4)。このレコードには、通信アドレスとして参加要求の送信元の ゲーム装置 50の通信アドレスが格納され、グループ IDとして最新 ID622が格納され る。次にプロセッサ 41は、グループテーブル 621を参照し、最新 ID622のグループ の参加者が 3人であるか否かを判定する(SE5)。この判定結果が「NO」の場合、処 理はステップ SE2に移行する。
[0070] ステップ SE5の判定結果が「YES」となると、プロセッサ 41は、最新 ID622のダル ープに属するゲーム装置 50の各々へ、応答時間の測定を要求する測定要求を送信 する(SE6)。各ゲーム装置 50への測定要求には、当該ゲーム装置 50と同一グルー プに属する、当該ゲーム装置 50以外の全てのゲーム装置 50の通信アドレスが含ま れている。次にプロセッサ 41は、書き換え可能メモリ 62内の最新 ID622を更新する( SE7)。これにより、最新 ID622は未使用のものとなる。以降、処理はステップ SE2に 移行する。
[0071] ステップ SE3の判定結果が「NO」の場合、プロセッサ 41は、受信したデータが測定 結果通知であるか否かを判定する(SE8)。この判定結果が「NO」の場合、処理はス テツプ SE2に移行する。ステップ SE8の判定結果が「YES」の場合、プロセッサ 41は 、グループテーブル 621のレコードのうち、受信した測定結果通知の送信元のゲーム 装置 50に対応するレコードを更新する(SE9)。次にプロセッサ 41は、当該レコード のグループ IDのグループについて測定を完了したか否かを判定する(SE10)。この 判定は、グループテーブル 621を参照し、当該レコードと同じグループ IDのレコード の全てに測定データが格納されているか否かを調べることにより行われる。この判定 結果が「NO」の場合、処理はステップ SE2に戻る。
[0072] ステップ SE10の判定結果が「YES」の場合、プロセッサ 41は、グループテーブル 6 21を参照し、測定を完了したグループについて、親ノードを決定する決定処理を行う (SE11)。具体的には、当該グループに対応する全てのレコードに格納された測定 データのうち最小の値を示す唯一のデータに対応するゲーム装置 50を親ノードとす る。次にプロセッサ 41は、決定した親ノードを示す決定通知を、当該グループに属す る全てのゲーム装置 50へ送信する(SE12)。次にプロセッサ 41は、当該グループに 対応する全てのレコードをグループテーブル 621から削除する。以降、処理はステツ プ SE2に以降する。
[0073] [クライアント処理]
図 17は、ゲーム装置 50のプロセッサ 11が行うクライアント処理のフローチャートで ある。クライアント処理では、プロセッサ 11は、まず参加要求をマッチングサーバ装置 60へ送信する(SF1)。次にプロセッサ 11は、マッチングサーバ装置 60から測定要 求を受信するまで、マッチングサーバ装置 60から測定要求を受信したか否かを判定 する処理(SF2)を繰り返し行う。測定要求を受信し、この処理の判定結果が「YES」 となると、プロセッサ 11は、図 9のステップ SD6と同様の応答測定処理を行う(SF3)。 ただし、ステップ SF3の応答測定処理では、生成した測定データを含む測定結果通 知の送信先は、仮親ノードではなぐマッチングサーバ装置 60となる。
[0074] 次にプロセッサ 11は、マッチングサーバ装置 60から決定通知を受信するまで、マツ チングサーバ装置 60から決定通知を受信したか否かを判定する処理(SF4)を繰り 返し行う。決定通知を受信し、この処理の判定結果が「YES」となると、プロセッサ 11 は、受信した決定通知に基づいて参加者テーブル T4を生成する(SF5)。ここで生 成される参加者テーブル T4は、図 8のステップ SC9や図 9のステップ SD8により得ら れる参加者テーブル T4と同等である。
[0075] [動作例]
図 18Aおよび図 18Bは、ゲームシステム 200の動作例を示すシーケンス図である。 図 18Aに示すように、この動作例では、まず店舗 Aに配置されている一つのゲーム 装置 50 (ゲーム装置 50A)のプロセッサ 11がクライアント処理を開始し、参加要求を マッチングサーバ装置 60へ送信する。次に店舗 Bに配置されている一つのゲーム装 置 50 (ゲーム装置 50B)のプロセッサ 11がクライアント処理を開始し、参加要求をマツ チングサーバ装置 60へ送信する。次に店舗 Cに配置されている一つのゲーム装置 5 0 (ゲーム装置 50C)のプロセッサ 11がクライアント処理を開始し、参加要求をマッチ ングサーバ装置 60へ送信する。
[0076] マッチングサーバ装置 60のプロセッサ 41は既にサーバ処理を実行しており、ゲー ム装置 50Cからの参加要求を受信すると、最新 ID622のグループに属するゲーム装 置 50A〜50Cの各々へ、応答時間の測定を要求する測定要求を送信する。ゲーム 装置 50Aへの測定要求にはゲーム装置 50Bおよび 50Cの通信アドレスが含まれて おり、ゲーム装置 50Bへの測定要求にはゲーム装置 50Aおよび 50Cの通信アドレス が含まれており、ゲーム装置 50Cへの測定要求にはゲーム装置 50Aおよび 50Bの 通信アドレスが含まれて!/、る。
[0077] 図 18Bに示すように、測定要求を受信したゲーム装置 50A〜50Cの各プロセッサ 1 1は、それぞれ、応答測定処理を行う。応答測定処理の結果、ゲーム装置 50A〜50 Cの各々では、当該ゲーム装置 50の応答時間の和を示す測定データが生成される 。そして、ゲーム装置 50A〜50Cの各プロセッサ 11は、生成した測定データを含む 測定結果通知をマッチングサーバ装置 60へ送信する。これらの測定データを受信し たマッチングサーバ装置 60のプロセッサ 41は、決定処理を行う。すなわち、受信した 測定データのうち最小の値を示す唯一の測定データの送信元であるゲーム装置 50 ( ここではゲーム装置 50B)を親ノードとする。次に、マッチングサーバ装置 60のプロセ ッサ 41は、親ノードであるゲーム装置 50Bの通信アドレスを含む決定通知を、ゲーム 装置 50A〜50Cへ送信する。
[0078] 上記の決定通知を受信したゲーム装置 50A〜50Cの各プロセッサ 11は、受信した 決定通知に基づいて参加者テーブル T4を生成し、クライアント処理を終了する。以 降、ゲーム装置 50Bのプロセッサ 11は参加者テーブル T4を参照して親ノード処理を 開始する。一方、ゲーム装置 50Aのプロセッサ 11は参加者テーブル T4を参照して 子ノード処理を開始する。これと同様に、ゲーム装置 50Cのプロセッサ 11は参加者 テーブル T4を参照して子ノード処理を開始する。
[0079] 以上の説明力 明らかなように、ゲームシステム 200によれば、ゲームシステム 100 と同様の効果を得ることができる。
[0080] <第 3の実施の形態〉 図 19は、本発明の第 3の実施の形態に係るゲームシステム 300の全体構成を示す ブロック図である。ゲームシステム 300がゲームシステム 100と異なる点は、一つの店 舗 Aに閉じたシステムである点である。このため、ゲームシステム 300は、各々が店舗 Aの LANに接続された 3つ以上のゲーム装置 70のみを有する。
[0081] [ゲーム装置 70]
図 20は、ゲーム装置 70の構成を示すブロック図である。ゲーム装置 70がゲーム装 置 10と異なる点は、不揮発性メモリ 18に代えて不揮発性メモリ 71を有する点と、書き 換え可能メモリ 19に代えて書き換え可能メモリ 72を有する点である。不揮発性メモリ 71は、例えば ROMおよび EEPROM (Electronically Erasable and Programmable ROM)であり、プログラム 711および同報アドレスデータ 712を記憶している。
[0082] プログラム 711は、プロセッサ 11に実行されることによってゲーム装置 50に各種の 処理(後述の仮決定処理、仮親ノード応答処理、仮親ノード処理、仮子ノード処理、 親ノード処理、子ノード処理)を行わせる。以降の説明でプロセッサ 11が行う処理は プログラム 711を用いて行われる。同報アドレスデータ 712は、仮親ノードであること を示す仮親ノード応答の返信を要求する仮親ノード応答要求の送信先のゲーム装置 70の通信アドレスを含むデータであり、全てのゲーム装置 70の通信アドレスを含ん でいる。また、書き換え可能メモリ 72は、プロセッサ 11が受信したデータの送信元の 装置の通信アドレスの一時的な記憶にも用いられる。
[0083] 書き換え可能メモリ 72は、例えば RAMであり、その記憶領域には、参加者のデー タを格納する参加者テーブル T5が確保される。参加者テーブル T5は参加者にそれ ぞれ対応する 3つのレコードを有する。各レコードには、参加者のゲーム装置 70の通 信アドレスと当該ゲーム装置 70の種別 (親ノード/子ノード)を示すフラグとが格納さ れる。また、書き換え可能メモリ 72は、 自己が仮親ノードとして参加要求を待ち受けて いるか否かを示す仮親ノードフラグ 721を記憶する。仮親ノードフラグ 721の初期値 は、自己が仮親ノードとして参加要求を待ち受けていないことを示す値 (例えば 0)で ある。また、書き換え可能メモリ 72は、プロセッサ 11が受信したデータの送信元の装 置の通信アドレスの一時的な記憶にも用いられる。なお、不揮発性メモリ 71または書 き換え可能メモリ 72は自己の通信アドレスを記憶する。 [0084] [仮決定処理]
図 21は、ゲーム装置 70のプロセッサ 11が行う仮決定処理のフローチャートである。 仮決定処理では、プロセッサ 11は、同報アドレスデータ 712を参照して、仮親ノード 応答要求を全てのゲーム装置 70へ同報送信する(SG1)。次にプロセッサ 11は、仮 親ノード応答を受信したか否かを判定し(SG2)、この判定結果が「NO」の場合には 、仮親ノード応答要求の同報送信からの経過時間が所定時間に達したか否力、を判 定し(SG3)、この判定結果が「NO」の場合には、処理をステップ SG2に戻す。
[0085] ステップ SG2の判定結果が「YES」となると、プロセッサ 11は、自己の通信アドレス を格納した参加者テーブル T5を生成する一方、仮親ノードフラグ 721の値を、自己 が仮親ノードとして参加要求を待ち受けてレ、なレ、ことを示す値にする(SG4)。そして 、仮決定処理を終了する。一方、ステップ SG3の判定結果が「YES」となると、プロセ ッサ 11は、自己の通信アドレスを格納した参加者テーブル T5を生成する一方、仮親 ノードフラグ 721の値を、自己が仮親ノードとして参加要求を待ち受けていることを示 す値 (例えば 1)にする(SG5)。そして、仮決定処理を終了する。
[0086] [仮親ノード応答処理]
図 22は、ゲーム装置 70のプロセッサ 11が行う仮親ノード応答処理のフローチヤ一 トである。仮親ノード応答処理では、プロセッサ 11は、仮親ノード応答要求を受信す るまで、仮親ノード応答要求を受信したか否かを判定する処理(SH1)を繰り返す。こ の処理の判定結果が「YES」となると、プロセッサ 11は、仮親ノードフラグ 721の値が 、仮親ノードを示す値であるか否かを判定する(SH2)。この判定結果が「NO」であ れば、処理はステップ SH1に戻る。ステップ SH2の判定結果が「YES」であれば、プ 口セッサ 11は、受信した仮親ノード応答要求の送信元であるゲーム装置 70へ、仮親 ノード応答を送信する(SH3)。以降、処理はステップ SH1に戻る。
[0087] [仮親ノード処理および仮子ノード処理]
図 23は、ゲーム装置 70のプロセッサ 11が行う仮親ノード処理のフローチャートであ る。この仮親ノード処理力 図 8の仮親ノード処理と異なる点は、登録抹消通知を送 信する処理(SC5)に代えて、仮親ノードフラグ 721の値を仮親ノードとして参加要求 を待ち受けていないことを示す値とする処理(SJ1)を有する点である。仮子ノード処 理は、図 9に示す通りである。以上の説明から明らかなように、本実施の形態におい て、ゲーム装置 70が有する仮親ノードフラグ 721の値が仮親ノードとして参加要求を 待ち受けていることを示す値となる期間(仮決定処理のステップ SG5から仮親ノード 処理のステップ SJ1まで)を除く期間にあっては、当該ゲーム装置 70から仮親ノード 応答が送信されることはないから、当該ゲーム装置 70へ参加要求が送信されることも ない。よって、本実施の形態によれば、複数のグループが並存し得る環境下であって も、仮親ノード応答および参加要求の無駄な送信を抑制することができる。
[0088] 以上の説明力 明らかなように、ゲームシステム 300によれば、ゲームシステム 100 と同様の効果を得ることができる。
[0089] <変形例〉
上述した各実施の形態では、親ノードのゲーム装置が各陣の損害を特定するように したが、各ゲーム装置が自陣の損害を特定し、当該損害を示す損害データ (ゲーム データ)を子ノードのゲーム装置が親ノードのゲーム装置へ送信するようにしてもよい 。この場合、親ノードから子ノードへ 3つの損害データを渡し、各子ノードにおいて損 害の比率を特定するようにしてもよ!/、し、親ノードにぉレ、て損害の比率(戦車ゲーム の状態)を決定し、これを示す状態データを各子ノードに渡すようにしてもよい。前者 の場合、損害データは子ノードから親ノードを経由して他の子ノードへそのまま渡さ れるべきデータといえる。後者の場合、損害データを反映した状態データが親ノード 力、ら子ノードへ渡されるから、損害データは形式を変えつつ子ノードから親ノードを経 由して他の子ノードへ渡されるべきデータといえる。
上述した各実施の形態では、各応答時間の測定を 1回の計測(送受信)で行うよう にしたが、複数回の計測で行うようにしてもよい。この場合には、例えば、複数回の計 測結果の平均値を測定結果とすることができるから、測定の精度が向上する。
上述した各実施の形態では、参加者の数を 3人とした力 S、 4人以上としてもよい。ま た、参加者の数が可変であってもよい。また、戦車ゲーム以外のゲームであってもよ い。また、本発明は、多人数参加型の任意のゲームに適用可能である。また、本発明 は、ゲーム以外の共同作業にも適用可能である。そのような共同作業としては、チヤ ットを ί列示すること力 Sできる。

Claims

請求の範囲
3つ以上の通信装置がなすグループであって前記 3つ以上の通信装置のうち 1つ が仮親ノードとなるグループに参加する参加部と、
ネットワークとの間で信号を送受する通信インターフェイスと、
前記通信インターフェイスを用いてゲームデータを送受信するゲームデータ送受信 部と、
当該通信装置と他の通信装置の各々との間の伝送遅延時間および前記各通信装 置における処理遅延時間を含む当該通信装置の応答時間を測定し、測定した応答 時間の和を示す測定データを生成する測定データ生成部と、
を有し、
当該通信装置は、当該通信装置が仮親ノードでない場合には、
前記測定データを仮親ノードである他の通信装置へ送信する測定データ送信部と 仮親ノードである他の通信装置から親ノードである 1つの通信装置を示す決定デー タを受信する決定データ受信部と、を有し、
当該通信装置は、当該通信装置が仮親ノードである場合には、
前記グループの他の通信装置から測定データを受信する測定データ受信部と、 前記測定データ受信部が受信した測定データおよび前記測定データ生成部が生 成した測定データに基づレ、て、当該通信装置の前記測定データが前記グループの 通信装置の測定データのうち最小の値を示す唯一のデータである場合には当該通 信装置が前記親ノードであることを示す前記決定データを生成し、そうでなレ、場合に は前記唯一のデータの送信元である他の通信装置の 1つが前記親ノードであること を示す前記決定データを生成する決定データ生成部と、
前記決定データを前記グループの他の通信装置の各々へ送信する決定データ送 信部と、を有し、
前記ゲームデータ送受信部は、ゲームデータを送信するときには、当該送信を、当 該通信装置が親ノードである場合には直接的な通信により行い、当該通信装置が親 ノードでない場合には親ノードである通信装置を介した間接的な通信により行う、 ことを特徴とする通信装置。
[2] プレイヤーの操作を受け付け、当該操作に応じた操作信号を出力する入力部と、 前記操作信号に基づいて前記ゲームデータを生成するゲームデータ生成部と、 前記ゲームデータ送受信部が受信したゲームデータに基づいてゲームを進行させ る制御部と、
を有することを特徴とする請求項 1に記載の通信装置。
[3] 1つのグループをなす 3つ以上の通信装置を有し、
前記グループをなす通信装置のうち 1つが仮親ノードとなり、
前記 3つ以上の通信装置の各々について、当該通信装置の応答時間は、当該通 信装置と他の通信装置の各々との間の伝送遅延時間および前記各通信装置におけ る処理遅延時間を含み、
前記 3つ以上の通信装置の各々は、
ネットワークとの間で信号を送受する通信インターフェイスと、
前記通信インターフェイスを用いてゲームデータを送受信するゲームデータ送受信 部と、
当該通信装置の応答時間を測定し、測定した応答時間の和を示す測定データを 生成する測定データ生成部と、を有し、
当該通信装置は、当該通信装置が仮親ノードでない場合には、
前記測定データを仮親ノードである他の通信装置へ送信する測定データ送信部と 仮親ノードである他の通信装置から親ノードである 1つの通信装置を示す決定デー タを受信する決定データ受信部と、を有し、
当該通信装置は、当該通信装置が仮親ノードである場合には、
前記グループの他の通信装置から測定データを受信する測定データ受信部と、 前記測定データ受信部が受信した測定データおよび前記測定データ生成部が生 成した測定データに基づレ、て、当該通信装置の前記測定データが前記グループの 通信装置の測定データのうち最小の値を示す唯一のデータである場合には当該通 信装置が前記親ノードであることを示す前記決定データを生成し、そうでなレ、場合に は前記唯一のデータの送信元である他の通信装置の 1つが前記親ノードであること を示す前記決定データを生成する決定データ生成部と、
前記決定データを前記グループの他の通信装置の各々へ送信する決定データ送 信部と、を有し、
前記ゲームデータ送受信部は、ゲームデータを送信するときには、当該送信を、当 該通信装置が親ノードである場合には直接的な通信により行い、当該通信装置が親 ノードでない場合には親ノードである通信装置を介した間接的な通信により行う、 ことを特徴とする通信システム。
サーバ装置と 1つのグループをなす 3つ以上の通信装置とを有し、
前記 3つ以上の通信装置の各々について、当該通信装置の応答時間は、当該通 信装置と他の通信装置の各々との間の伝送遅延時間および前記各通信装置におけ る処理遅延時間を含み、
前記 3つ以上の通信装置の各々は、
ネットワークとの間で信号を送受する通信インターフェイスと、
前記通信インターフェイスを用いてゲームデータを送受信するゲームデータ送受信 部と、
当該通信装置の応答時間を測定し、測定した応答時間の和を示す測定データを 生成する測定データ生成部と、
前記測定データを前記サーバ装置へ送信する測定データ送信部と、
前記サーバ装置から親ノードである 1つの通信装置を示す決定データを受信する 決定データ受信部とを有し、
前記サーバ装置は、前記 3つ以上の通信装置から前記測定データを受信し、受信 した測定データのうち 1つの測定データが最小の値を示す場合には、当該測定デー タの送信元である通信装置を示す前記決定データを前記 3つ以上の通信装置の各 々へ送 1Sし、
前記ゲームデータ送受信部は、ゲームデータを送信するときには、当該送信を、当 該通信装置が親ノードである場合には直接的な通信により行い、当該通信装置が親 ノードでない場合には親ノードである通信装置を介した間接的な通信により行う、 ことを特徴とする通信システム。
[5] 前記 3つ以上の通信装置を含む 4つ以上の通信装置を有し、
前記 4つ以上の通信装置の各々は前記グループに属することが可能である、 ことを特徴とする請求項 3または 4に記載の通信システム。
[6] 前記グループをなす通信装置の各々は、
プレイヤーの操作を受け付け、当該操作に応じた操作信号を出力する入力部と、 前記操作信号に基づいて前記ゲームデータを生成するゲームデータ生成部と、 前記ゲームデータ送受信部が受信したゲームデータに基づいてゲームを進行させ る制御部と、
を有することを特徴とする請求項 3ないし 5のいずれか 1項に記載の通信システム。
[7] 通信装置に、
3つ以上の通信装置がなすグループであって前記 3つ以上の通信装置のうち 1つ が仮親ノードとなるグループに参加する参加部と、
ネットワークとの間で信号を送受する通信インターフェイスと、
前記通信インターフェイスを用いてゲームデータを送受信するゲームデータ送受信 部と、
当該通信装置と他の通信装置の各々との間の伝送遅延時間および前記各通信装 置における処理遅延時間を含む当該通信装置の応答時間を測定し、測定した応答 時間の和を示す測定データを生成する測定データ生成部として機能させ、
当該通信装置が仮親ノードでない場合には、
前記測定データを仮親ノードである他の通信装置へ送信する測定データ送信部と 仮親ノードである他の通信装置から親ノードである 1つの通信装置を示す決定デー タを受信する決定データ受信部として機能させ、
当該通信装置が仮親ノードである場合には、
前記グループの他の通信装置から測定データを受信する測定データ受信部と、 前記測定データ受信部が受信した測定データおよび前記測定データ生成部が生 成した測定データに基づレ、て、当該通信装置の前記測定データが前記グループの 通信装置の測定データのうち最小の値を示す唯一のデータである場合には当該通 信装置が前記親ノードであることを示す前記決定データを生成し、そうでなレ、場合に は前記唯一のデータの送信元である他の通信装置の 1つが前記親ノードであること を示す前記決定データを生成する決定データ生成部と、
前記決定データを前記グループの他の通信装置の各々へ送信する決定データ送 信部として機能させるプログラムであって、
前記ゲームデータ送受信部は、ゲームデータを送信するときには、当該送信を、当 該通信装置が親ノードである場合には直接的な通信により行い、当該通信装置が親 ノードでない場合には親ノードである通信装置を介した間接的な通信により行う、 ことを特徴とするプログラム。
PCT/JP2007/065408 2006-08-10 2007-08-07 Dispositif de communication, système de communication et programme WO2008018436A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US12/375,962 US8224992B2 (en) 2006-08-10 2007-08-07 Communication device, communication system therefor, and computer program therefor
CN2007800298396A CN101500671B (zh) 2006-08-10 2007-08-07 通信设备、通信***以及通信方法
EP07792077A EP2050486A4 (en) 2006-08-10 2007-08-07 COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND PROGRAM
HK09108834.4A HK1130721A1 (en) 2006-08-10 2009-09-25 Communication device, communication system, and communication method

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2008018436A1 true WO2008018436A1 (fr) 2008-02-14

Family

ID=39032966

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/065408 WO2008018436A1 (fr) 2006-08-10 2007-08-07 Dispositif de communication, système de communication et programme

Country Status (7)

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

Families Citing this family (11)

* 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 株式会社コナミデジタルエンタテインメント ゲームシステム
KR101349814B1 (ko) * 2010-01-29 2014-01-08 에스케이플래닛 주식회사 다중 게임을 위한 호스트 단말 선정 방법
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广东移动通信有限公司 一种组队游戏加速方法及相关产品
WO2020067829A1 (en) * 2018-09-28 2020-04-02 Samsung Electronics Co., Ltd. Integrated access backhaul configuration

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000511667A (ja) 1996-05-23 2000-09-05 アドビ システムズ インコーポレイテッド ネットワークを介してマルチユーザデータベースへのアクセスを同期させる場合の待ち時間の減少
JP2001198363A (ja) * 1999-09-14 2001-07-24 Sega Corp データ処理方法
JP2003325982A (ja) * 2002-05-13 2003-11-18 Xside Corp ゲーム支援システム、ゲーム支援方法、ゲーム制御装置、ゲーム制御プログラム、データ処理装置およびデータ処理プログラム
JP2004174091A (ja) * 2002-11-28 2004-06-24 Nintendo Co Ltd 通信ゲームシステム
JP2006148448A (ja) * 2004-11-18 2006-06-08 Nintendo Co Ltd 無線ネットワークシステムおよび無線通信プログラム

Family Cites Families (12)

* 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
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
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
US7016942B1 (en) * 2002-08-05 2006-03-21 Gary Odom Dynamic hosting
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 任天堂株式会社 ゲームシステムおよびゲーム装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000511667A (ja) 1996-05-23 2000-09-05 アドビ システムズ インコーポレイテッド ネットワークを介してマルチユーザデータベースへのアクセスを同期させる場合の待ち時間の減少
JP2001198363A (ja) * 1999-09-14 2001-07-24 Sega Corp データ処理方法
JP2003325982A (ja) * 2002-05-13 2003-11-18 Xside Corp ゲーム支援システム、ゲーム支援方法、ゲーム制御装置、ゲーム制御プログラム、データ処理装置およびデータ処理プログラム
JP2004174091A (ja) * 2002-11-28 2004-06-24 Nintendo Co Ltd 通信ゲームシステム
JP2006148448A (ja) * 2004-11-18 2006-06-08 Nintendo Co Ltd 無線ネットワークシステムおよび無線通信プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2050486A4

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4116050B2 (ja) 通信装置、通信システムおよびプログラム
EP2044989A1 (en) Game system, game terminal, and server device
US8949336B2 (en) Network game system and program
JP4807517B2 (ja) 情報処理装置、データ処理方法、プログラム、および記録媒体
US8070603B2 (en) Network game system, network game server, and network game terminal
JP4889080B2 (ja) プログラム、情報記憶媒体、ゲーム機および通信ゲームシステム
US20070298879A1 (en) Game Device
JP5468247B2 (ja) ゲームシステム
EP2044988A1 (en) Game system, game terminal, and server device
JP2015167737A (ja) ゲームシステム、情報処理装置、制御方法、及び記録媒体
JP2008229126A (ja) ゲームシステム、プログラム、及び情報記憶媒体
JP4130214B2 (ja) ゲームシステム、ゲーム装置、通信装置、プログラムおよびデータ管理方法
JP5258818B2 (ja) ゲームシステム及びゲーム機
JP4005614B2 (ja) ネットワークゲームシステム、ゲーム装置、ゲーム装置の制御方法及びプログラム
US7440428B2 (en) Method and system for persisting content in decentralized network
WO2007088652A1 (ja) 情報処理システム、情報処理装置、情報処理プログラム、情報処理プログラムが記憶されたコンピュータ読み取り可能な記憶媒体、及び携帯端末装置
JP6030884B2 (ja) マッチング装置、ゲームシステム、マッチング方法、マッチングプログラム
JP2009011534A (ja) ゲームシステム、プログラム、及び情報記憶媒体
JP4850860B2 (ja) 携帯ゲーム端末、ゲーム装置、ゲームシステム及びプログラム
JP7506992B2 (ja) サーバシステム及びゲームシステム
JP2014033724A (ja) マッチング装置、ゲームシステム、マッチング方法、マッチングプログラム
JP2008102857A (ja) 分散コンピューティング支援装置、分散コンピューティングシステムの制御方法及びプログラム
JP2001320400A (ja) 通信方法、通信システム、コンピュータ、メールサーバ、記録媒体及び伝送媒体
JPH05334273A (ja) 並列計算方式

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200780029839.6

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07792077

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 12375962

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2007792077

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020097004871

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: RU