Communication device, communication system therefor, and computer program therefor

A method, device and system, whereby communication delay that affects the advancement of an interactive task such as a multiple-player participation game is reduced is disclosed. A game system has a large number of game devices. A game device is grouped with three or more other devices to form a group, in which one device becomes a provisional parent node, and the other devices become provisional child nodes. Each of the game devices in the group generates measurement data indicating the sum of response times with respect to other game devices with itself as an origin. The game device that has generated measurement data indicating the minimum sum is selected as a parent node by the provisional parent node, and the other game devices are selected to be child nodes. A child node communicates with another child node via a parent node.

CROSS-REFERENCE to PRIOR APPLICATIONS

This application is a filing under 35 U.S.C.§371 of International Application No. PCT/JP2007/065408, filed on Aug. 7, 2007, which claims priority to Japanese Application No. 2006-217391, filed Aug. 10, 2006, the disclosure of each of which is incorporated herein by express reference thereto.

TECHNICAL FIELD

The present invention relates to a communication device, to a communication system therefor, and to a computer program therefor.

BACKGROUND ART

Game systems in which plural game devices transmit and receive data through a network to play a multiple-player-participation type game are in widespread use. The above games progress by each participant playing the participant's own role. One type of the above game system is one in which, from among game devices that are participants of the same game, one game device serves as a parent node (server terminal), and the remaining game devices serve as child nodes (client terminals). In this game system, transmission and receipt of data is performed mainly between a parent node and a child node.

In this game system, the situations of a game are shared among participant game devices of the same game. The situations of a game that are shared are, for example, scores and a position of an object which a participant operates in an imaginary space. The situations of a game that are shared are usually decided by a parent node game device. Therefore, a response to an input instruction is quicker at a parent node than at a child node. For example, Published Japanese Translation No. 2000-511667 of the PCT International Publication proposes a technique in which, in a case of advancing a game in which there are plural types of roles for participants (for example, a main player and a minor player) is played, a game device that will function as a parent node is decided based on the type of the role, whereby the smooth advancing of the game is enabled. In this technique, the game device of a participant that will take a role (for example, the main player) required to respond to an input instruction the most expeditiously will serve as the parent node.

However, the desired effects of the technique of Published Japanese Translation No. 2000-511667 of the PCT International Publication are attainable only if this technique is applied to a game in which there are plural types of roles for participants. The effects cannot be attained if this technique is applied to other types of games. Furthermore, in this technique, from among participant game devices, two game devices that have a small transmission delay when direct communication therebetween is performed might be selected as child nodes, and a game device that has a large transmission delay when direct communication is performed with each of the other game devices might be selected as a parent node. In a case in which such a game device is selected as a parent node, a transmission delay will occur when the exchanging of data between a parent node and child nodes is mainly performed, and as a result, communication delay in advancing the game will increase. This will inhibit the smooth progress of a game and will lead to the degradation in the degree of reliability in advancing the game.

DISCLOSURE OF INVENTION

The present invention has as objects to provide a communication device that can decrease delay in communication that affects the progress of interactive tasks in a multiple-participation game by selecting one of three or more communication devices as a parent node, a communication system therefor, and a computer program therefor.

In the following, description will be given of the present invention. It should be noted that reference numerals in the attached drawings are shown in parentheses to facilitate understanding of the present invention; however, this is not intended to limit the present invention to the embodiments as shown in the drawings.

The present invention provides a communication device (10,50,70) that has a participator that participates in a group consisting of three of more communication devices (10,50,70), in which group one of the three or more communication devices (10,50,70) will become a provisional parent node; a communication interface (17) for transmitting and receiving signals to and from a network (1,25); a game data transmitter-receiver (11) that transmits and receives game data using the communication interface (17); and a measurement data generator (11) that generates measurement data indicating the sum of measured response times after measuring a response time of the communication device (10,50,70), the response time including a transmission delay time between the communication device and each of the other communication devices (10,50,70) and a process delay time at each communication device (10,50,70), and in a case in which the communication device is not the provisional parent node, and the communication device (10,50,70) further has: a measurement data transmitter that transmits the measurement data to another communication device (10,50,70) that is the provisional parent node; and a decision data receiver that receives decision data indicating one communication device (10,50,70) that is a parent node from another communication device (10,50,70) that is the provisional parent node, and in a case in which the communication device (10,50,70) is the provisional parent node, the communication device (10,50,70) further has a measurement data receiver that receives measurement data from another communication device (10,50,70) of the group; a decision data generator that, in a case in which it is determined, based on the measurement data received by the measurement data receiver and the measurement data generated by the measurement data generator, that the measurement data of the communication device (10,50,70) is the only data piece that indicates the minimum value from among pieces of measurement data of the communication devices (10,50,70) in the group, generates the decision data indicating that the communication device (10,50,70) is the parent node, and otherwise generates the decision data indicating that one of the other communication devices (10,50,70) that has transmitted the only data piece is the parent node; and a decision data transmitter that transmits the decision data to each of the other communication devices (10,50,70) of the group, and the game data transmitter-receiver, in transmitting game data, performs the transmission through a direct communication in a case in which the communication device (10,50,70) is the parent node, whereas in a case in which the communication device (10,50,70) is not a parent node, performs the transmission through an indirect communication via a communication device (10,50,70) that is the parent node.

The “provisional parent node” is one of the three or more communication devices that are in one group and is a communication device that collects measurement data from each of the other communication devices. The “parent node” is one of the three or more communication devices that are in one group and is a communication device through which data is transmitted during an indirect communication with the other communication devices. A communication device that is not a parent node is a “child node”. The “game data” is data which is to be transmitted to and received from a communication device that is not a parent node through an indirect communication via a communication device that is a parent node.

In a case in which a game system is configured using the above communication device, since a communication device that has the minimum sum of response times from among the three or more communication devices that are in one group will be the parent node, the transmission delay (accumulated value) of data to be passed over from a child node via a parent node to another child node will become the shortest. Furthermore, the average time, among plural child nodes in the same group, of transmission delays of data to be passed over from a child node via the parent node to another child node will also be the shortest. Therefore, according to the above communication device, a communication delay that affects the progress of interactive tasks can be reduced.

The above communication device (10,50,70) may further have an input unit (14) that receives a player's operation and outputs an operation signal in accordance with the operation; a game data generator (11) that generates the game data based on the operation signal; and a controller (11) that advances the game based on the game data received by the game data transmitter-receiver (11). Therefore, the communication device may be a game device. In this case, the interactive tasks that progress is, for example, multiple-player participation games. Multiple-player participation games progress smoothly in a case in which a communication delay that affects the progress of the game is reduced.

Furthermore, the present invention provides a communication system (100,300) that has three or more communication devices (10,50,70) that are in one group; in the communication system, one of the communication devices (10,50,70) that are in the group becomes a provisional parent node, and for each of the three or more communication devices (10,50,70), a response time of the communication device (10,50,70) includes a transmission delay time between the communication device (10,50,70) and each of the other communication devices (10,50,70) and a process delay time at each of the other communication devices (10,50,70); each of the three or more communication devices (10,50,70) has a communication interface (17) for transmitting to and receiving signals from a network (1,25); a game data transmitter-receiver (11) that transmits and receives game data using the communication interface (17); and a measurement data generator (11) that generates measurement data indicating the sum of measured response times after measuring a response time of the communication device (10,50,70), and in a case in which the communication device (10,50,70) is not the provisional parent node, the communication device (10,50,70) further has a measurement data transmitter that transmits the measurement data to another communication device (10,50,70) that is the provisional parent node; and a decision data receiver that receives decision data indicating one communication device (10,50,70) that is a parent node from another communication device (10,50,70) that is the provisional parent node, and in a case in which the communication device (10,50,70) is the provisional parent node, the communication device (10,50,70) further has a measurement data receiver that receives measurement data from another communication device (10,50,70) of the group; a decision data generator that, in a case in which it is determined, based on the measurement data received by the measurement data receiver and the measurement data generated by the measurement data generator, that the measurement data of the communication device (10,50,70) is the only data piece that indicates the minimum value from among pieces of measurement data of the communication devices (10,50,70) in the group, generates the decision data indicating that the communication device (10,50,70) is the parent node, and otherwise generates the decision data indicating that one of the other communication devices (10,50,70) that has transmitted the only data piece is the parent node; and a decision data transmitter that transmits the decision data to each of the other communication devices (10,50,70) of the group, and the game data transmitter-receiver (11), in transmitting game data, performs the transmission through a direct communication in a case in which the communication device (10,50,70) is the parent node, whereas in a case in which the communication device (10,50,70) is not the parent node, performs the transmission through an indirect communication via a communication device (10,50,70) that is the parent node.

According to this game system, since from among three or more communication devices that are in one group, a communication device for which the sum of response times is the minimum will be a parent node, the transmission delay (accumulated value) of data to be passed over from a child node via a parent node to another child node will become the shortest. Furthermore, the average time, among plural child nodes in the same group, of transmission delays of data to be passed over from a child node via a parent node to another child node will also be the shortest. Therefore, a communication delay that affects the progress of interactive tasks can be reduced.

Furthermore, the present invention provides a communication system (200) that has a server device (60) and three or more communication devices (10,50,70) that are in one group, and for each of the three or more communication devices (10,50,70), a response time of the communication device (10,50,70) includes a transmission delay time between the communication device (10,50,70) and each of the other communication devices (10,50,70) and a process delay time at each of the other communication devices (10,50,70), each of the three or more communication devices (10,50,70) has a communication interface (17) for transmitting and receiving signals to and from a network (1,25); a game data transmitter-receiver (11) that transmits and receives game data using the communication interface (17); a measurement data generator (11) that generates measurement data indicating the sum of measured response times after measuring a response time of the communication device (10,50,70), a measurement data transmitter that transmits the measurement data to the server device (60); and a decision data receiver that receives decision data indicating one communication device (10,50,70) that is a parent node from the server device (60), and the server device (60) receives measurement data from the three or more communication devices (10,50,70), and in a case in which one of the received pieces of measurement data indicates the minimum value, transmits to each of the three or more communication devices (10,50,70), a piece of the decision data indicating a communication device (10,50,70) that has transmitted a piece of the measurement data having the minimum value, and the game data transmitter-receiver (11), in transmitting game data, performs the transmission through a direct communication in a case in which the communication device (10,50,70) is the parent node, whereas in a case in which the communication device (10,50,70) is not the parent node, performs the transmission through an indirect communication via a communication device (10,50,70) that is the parent node.

According to this game system, since from among three or more communication devices that are in one group, a communication device for which the sum of response times is the minimum will be a parent node, the transmission delay (accumulated value) of data to be passed over from a child node via a parent node to another child node will become the shortest. Furthermore, the average time, among plural child nodes in the same group, of transmission delays of data to be passed over from a child node via a parent node to another child node will also be the shortest. Therefore, a communication delay that affects the progress of interactive tasks can be reduced.

In the above communication system (100,200,300), there may be four or more communication devices (10,50,70) including the three or more communication devices (10,50,70), and each of the four or more communication devices (10,50,70) may be allowed to belong to the group. Furthermore, or alternatively, each of the communication devices (10,50,70) that are in the group may have an input unit (14) that receives a player's operation and outputs an operation signal in accordance with the operation; a game data generator (11) that generates the game data based on the operation signal; and a controller (11) that advances the game based on game data received by the game data transmitter-receiver (11).

Furthermore, the present invention provides a computer program (181,431) for causing a communication device to function as a participator that participates in a group consisting of three of more communication devices (10,50,70), in which group one of the three or more communication devices (10,50,70) will become a provisional parent node; a communication interface (17) for transmitting and receiving signals to and from a network (1,25); a game data transmitter-receiver (11) that transmits and receives game data using the communication interface (17); and a measurement data generator (11) that generates measurement data indicating the sum of measured response times after measuring a response time of the communication device (10,50,70), the response time including a transmission delay time between the communication device (10,50,70) and each of the other communication devices (10,50,70) and a process delay time at each of the other communication devices (10,50,70), and in a case in which the communication device (10,50,70) is not the provisional parent node, the computer program causes the communication device (10,50,70) to function as: a measurement data transmitter that transmits the measurement data to another communication device (10,50,70) that is the provisional parent node; and a decision data receiver that receives decision data indicating one communication device (10,50,70) that is a parent node from another communication device (10,50,70) that is the provisional parent node, and in a case in which the communication device (10,50,70) is the provisional parent node, the computer program causes the communication device (10,50,70) to function as: a measurement data receiver that receives measurement data from another communication device (10,50,70) of the group; a decision data generator that, in a case in which it is determined, based on the measurement data received by the measurement data receiver and the measurement data generated by the measurement data generator, that the measurement data of the communication device (10,50,70) is the only data piece that indicates the minimum value from among pieces of measurement data of the communication devices (10,50,70) in the group, generates the decision data indicating that the communication device (10,50,70) is the parent node, and otherwise generates the decision data indicating that one of the other communication devices (10,50,70) that has transmitted the only data piece is the parent node; and a decision data transmitter that transmits the decision data to each of the other communication devices (10,50,70) of the group, and the game data transmitter-receiver (11), in transmitting game data, performs the transmission through a direct communication in a case in which the communication device (10,50,70) is the parent node, whereas in a case in which the communication device (10,50,70) is not the parent node, performs the transmission through an indirect communication via a communication device (10,50,70) that is the parent node.

In a case in which a game system is configured by using a communication device that executes the above computer program, since from among the three or more communication devices that are in one group, a communication device for which the sum of response times is the minimum will be a parent node, the transmission delay (accumulated value) of data to be passed over from a child node via a parent node to another child node will become the shortest. Furthermore, the average time, among plural child nodes in the same group, of transmission delays of data to be passed over from a child node via a parent node to another child node will also be the shortest. Therefore, according to the above computer program, a communication delay that affects the progress of interactive tasks can be reduced.

EFFECTS OF THE INVENTION

According to the present invention, by selecting one of three or more communication devices as a parent node, a communication delay that affects the progress of interactive tasks such as multiple-player participation games can be reduced.

BEST MODE FOR CARRYING OUT THE INVENTION

Description will be given of a preferred embodiment of the present invention. In the first embodiment, a matching server device is involved in grouping of game devices, but a game device performs selection of a parent node. In the second embodiment, the grouping of game devices is performed by a matching server device and the selection of a parent node is performed by the matching server device. In the third embodiment, the grouping of game devices is performed by a game device, and the selection of a parent node is performed by a game device.

First Embodiment

FIG. 1is a block diagram showing an overall configuration of a game system (communication system)100according to the first embodiment of the present invention. Game system100is a system for enabling three participants to play a tank game. In the tank game, each participant maneuvers a tank of the participant in a virtual space, which is a battlefield. The battlefield includes the camps of each participant, and each participant competes to minimize damage to the camp.

In game system100, a matching server device40is connected to an Internet1via a router30. Plural LANs (Local Area Networks)25respectively provided in plural venues including venues A, B, C, . . . , are connected to Internet1via a router20in each venue. Each router20has a function of building, on Internet1, a VPN (Virtual Private Network) which is a virtual exclusive network. Plural game devices10are provided at each venue. Each game device10is used by a participant, and the game device participates in a tank game in which its participant participates and enables the participant to play the tank game. The game device is capable of communicating with other game devices10in the venue through LAN25and is also capable of communicating, via LAN25, router20, and the VPN, with matching server device40and game devices10of other venues.

FIG. 2is a diagram showing an example image displayed at game device10. As shown in the figure, an image is displayed at game device10, the image showing a situation of tank game in which this game device10is participating. Specifically, an image of a battlefield BF and a situation indicator IND showing a proportion of damage to each camp are displayed. The proportion is determined based on the damage to each three camps. The damage to each camp includes damage to a tank of this camp participant. As is obvious from the foregoing description, the situations of a tank game are shared by game devices participating in the tank game and should be uniquely determined at one device.

We assume a mode in which the situations of a tank game are determined by a particular server device. In this mode, the situations of tank games that are being performed concurrently are determined by the particular server device. That is, burden is concentrated on the particular server device. Therefore, this mode is not suited for a large-scale game system in which a large number of tank games are performed concurrently. Conversely, in each embodiment of the present invention, the situations of a tank game are determined by one game device10participating in the tank game, whereby the burden is dispersed. In the following, in each tank game, from among game devices participating in the tank game, one game device that determines the situations of the tank game will be referred to as a “parent node”, and each of the other two game devices will be referred to as a “child node”. In each embodiment of the present invention, a parent node transmits to and receives data from only child nodes, and a child node transmits to and receives data from mainly the parent node.

In a mode in which the situations of a tank game are determined by a parent node participating in the tank game, when game data (for example, operation data, described later) that affects the determination of the situations of the tank game is generated at a child node, this game data is passed to the parent node, and a process using this game data is performed at the parent node so that a situation of the tank game is determined. Situation data indicating this situation is passed to each child node, and an image showing the situation (image that reflects the game data) is displayed at the parent node and each child node. The process using the game data is, for example, a process of identifying the position or the posture of a tank, a process of identifying the position of a cannon-shot, a determination process of determining whether a cannon-shot hit an object such as tanks, and a process of identifying each the damage to each camp. Hereinafter, time required since game data is generated until an image that reflects the game data is displayed at each child node will be referred to as a reflection delay time of the child node.

The reflection delay time of a child node will be the time that is slightly longer than a response time between a parent node and a child node when the child node is an origin. The “response time between a parent node and a child node when the child node is an origin” is the sum of a transmission delay time of signal from A to B, a process delay time at B, and a transmission delay time of signal from B to A. As is obvious from this, a response time between a parent node and a child node with the child node as an origin depends on a geographical factor such as a distance between each child node and a parent node and a factor relating to network configuration such as signal transmission speed of a communication path between each child node and a parent node. Therefore, a response time between a parent node and each child node when the child node is an origin, i.e., a reflection delay time of each child node, depends on which game device10will serve as a parent node. Description about this will be given further with specific examples.

FIG. 3is a diagram for describing the relationship between allocation of a parent node and a response time. In this figure, a transmission delay time between a first game device10(α) and a second game device10(β) is 3; a transmission delay time between β and a third game device10(γ) is 4; and a transmission delay time between γ and α is 9. A process delay time at α, β, and γ is each 1. Provided that α is a parent node and that β and γ each are child nodes, a response time with respect to the parent node with β as a basal point will be 3+1+3=7; and a response time with respect to the parent node with γ as a basal point will be 9+1+9=19. Conversely, provided that β is a parent node and that α and γ each are child nodes, a response time with respect to the parent node with α as a basal point will be 3+1+3=7; and a response time with respect to the parent node with γ as a basal point will be 4+1+4=9. In other words, a response time with respect to the parent node with γ as a basal point is shorter in a case in which β is a parent node (9) than a case in which α is a parent node (19), and therefore, reflection delay time of γ is shorter in a case in which β is a parent node than a case in which α is a parent node.

On the other hand, because, as described above, operation data is included as game data, the display of an image at a child node will be delayed from the operation by a participant in a case in which a reflection delay time with respect to a parent node with this child node as a basal point is long. Such a delay is not preferable also in game data other than operation data. Therefore, a shorter reflection delay time of each child node is better. Also, a reflection delay time of each child node is slightly longer than a response time with respect to the parent node with this child node as a basal point. Therefore, a shorter response time with respect to the parent node with each child node as a basal point is better.

When taken together, a shorter response time with respect to the parent node with each child node as a basal point is better, and this response time depends on which one of game devices10participating in the same tank game will act as a parent node. Therefore, it is crucial which of game devices10participating in the same tank game will be selected as a parent node.

In game system100, before playing a tank game, participants of the tank game must be identified. This operation will be referred to as “matching”. The matching is performed in accordance with a procedure in which one of game devices10expresses participation in a tank game to become a provisional parent node and other game devices10, as provisional child nodes, express participation to game device10that is the provisional parent node. One of the provisional parent node and provisional child nodes will then be selected as a parent node, and the remaining nodes will be determined as child nodes, after which the tank game will be started.

FIG. 4is a block diagram showing a configuration of game device10. As shown in the figure, game device10has a processor11, an input unit14, a display15, a communication interface17, a non-volatile memory18, and a rewritable memory19. Processor11is, for example, one or more CPUs (Central Processing Units).

Input unit14has plural operators and when each operator is operated, receives this operation, to supply to processor11an operation signal in response to the operation. The plural operators include a handle-type operator for changing the direction of a tank, a button-type operator for starting a provisional decision process (described later) or for causing a tank to fire a cannon-shot, and a peddle-type operator for moving a tank.

Display15has a screen151and when image data is supplied from processor11, displays an image represented by the image data on screen151. A monitor or a video projector can be used as display15. In a case in which a video projector is used, a screen on which an image is to be projected is screen151. Communication interface17transmits and receives signals to and from LAN25and relays data from processor11and LAN25and vice versa. Processor11transmits and receives data to and from another device by using communication interface17.

Non-volatile memory18is, for example, a ROM (Read Only Memory) or an EEPROM (Electronically Erasable and Programmable ROM) and stores a program181and server device data182. Program181, by being executed by processor11, causes game device10to perform various processes (a provisional decision process, a provisional parent node process, a provisional child node process, a parent node process, and a child node process) which will be described later. In the following description, a process by processor11will be performed by program181. Server device data182is data required for obtaining a communication address of matching server device40.

Rewritable memory19is, for example, a RAM (Random Access Memory) and reserves in its memory area a participant table T4that stores participant data. Participant table T4has three records respectively corresponding to each participant. Each record stores a communication address of a participant game device10and a flag showing a type of this game device10. Different types of game device10include a parent node, a child node, a provisional parent node, and a provisional child node. In the present embodiment, the value of the flag is equal between a case in which the flag indicates a parent node and a case in which the flag indicates a provisional parent node and also between a case in which the flag indicates a child node and a case in which the flag indicates a provisional child node. However, the present embodiment may be modified to another mode. Rewritable memory19is also used as temporary storage for a communication address of a device that has transmitted data received by processor11, storage for image data including image BF and situation indicator IND, and storage for situation data. It is to be noted that non-volatile memory18or rewritable memory19stores a communication address of game device10.

Matching Server Device40:

FIG. 5is a block diagram showing a configuration of a matching server device40included in game system100. As shown in the figure, matching server device40has a processor41, a communication interface42, a non-volatile memory43, and a rewritable memory44. Processor41is, for example, at least one CPU. Communication interface42is for transmitting and receiving signals to and from router30and for relaying data from processor41to router30and vice versa. Processor41uses communication interface42to exchange data with another device.

Non-volatile memory43is, for example, a ROM and a hard disk. ROM stores an IPL (Initial Program Loader), and a hard disk stores program431. Program431is executed by processor41, thereby to cause matching server device40to perform a lobby process that will be described later. In the following description, a process by processor41is performed using program431. Furthermore, non-volatile memory43stores a communication address of matching server device40. Rewritable memory44is, for example, a RAM and stores a provisional parent node list441that is a sequence of data pieces indicating communication addresses of game devices10that function as provisional parent nodes. When matching server device40is turned on, provisional parent node list441will be empty. Rewritable memory44is also to be used as temporary storage of a communication address of a device that has transmitted data received by processor41.

FIG. 6is a flowchart of a lobby process performed by a processor41of matching server device40. In the lobby process, processor41repeats a process of determining whether it has received data from game device10until it receives, data from game device10(SA1). In a case in which it receives data, and a result of the determination of this process changes to YES, processor41determines whether the received data is a provisional parent node list return request requesting return of a provisional parent node list (SA2). In a case in which a result of the determination is YES, processor41reads provisional parent node list441from rewritable memory44, for transmission to game device10that has transmitted the provisional parent node list return request (SA3), to advance the process to Step SA1.

In a case in which a result of the determination in Step SA2is NO, processor41determines whether the received data is a provisional parent node registration request requesting registration as a provisional parent node (SA4). In a case in which a result of the determination is YES, processor41registers game device10that has transmitted the provisional parent node registration request as a provisional parent node (SA5). Specifically, processor41adds the communication address of this game device10to provisional parent node list441. Processor41then advances the process to Step SA1.

In a case in which a result of the determination of Step SA4is NO, processor41determines whether the received data is a deregistration request that requests deregistration as a provisional parent node (SA6). In a case in which a result of the determination is YES, processor41erases registration as a provisional parent node of game device10that has transmitted this deregistration request (SA7). Specifically, processor41deletes the communication address of this game device10from provisional parent node list441. Processor41advances the process to Step SA1.

FIG. 7is a flowchart of a provisional decision process performed by processor11of game device10. In the provisional decision process, processor11transmits a provisional parent node list return request (SB1). Subsequently, processor11repeats a process of determining whether it has received provisional parent node list441from matching server device40(SB2) until it receives provisional parent node list441from matching server device40(SB2). In a case in which it receives provisional parent node list441, and a result of the determination of this process changes to YES, processor11determines whether the received provisional parent node list441is empty (SB3). In a case in which a result of the determination is YES, processor11transmits a provisional parent node registration request to matching server device40(SB4) and generates participant table T4so that game device10of this processor11becomes a provisional parent node (SB5). Specifically, rewritable memory19secures in its memory area a participant table T4to store in one record of participant table T4a communication address of this game device10and a flag (for example, flag with the value of 1) indicating a provisional parent node.

On the other hand, in a case in which a result of the determination in Step SB3is NO, processor11does not transmit a provisional parent node registration request to matching server device40but generates participant table T4so that game device10of this processor11becomes a provisional child node (SB6). Specifically, processor11secures participant table T4in its memory area of rewritable memory19and stores in one record of participant table T4its communication address and a flag (for example, a flag with the value of 0) indicating a provisional child node, whereas processor11stores, in another record, a communication address stored in the received provisional parent node list441and a flag (for example, a flag with the value of 1) indicating a provisional parent node.

Provisional Parent Node Process:

FIG. 8is a flowchart showing a provisional parent node process performed by processor11of game device10. The provisional parent node process is performed subsequent to the provisional decision process in a case in which there is stored in participant table T4a communication address of game device10of this processor11in association with a flag indicating a provisional parent node. In the provisional parent node process, processor11repeats a process of determining whether it has received a participation request for requesting participation to a tank game from another game device10, until it receives a participation request from another game device10(SC1). In a case in which processor11receives a participation request and a result of the determination of this process turns to YES, processor11transmits an enabling acknowledgment indicating permission for participation to game device10that has transmitted this participation request, and processor11updates participant table T4so that the transmitter game device10is a provisional child node (SC2). Specifically, processor11stores in an empty record of participant table T4a communication address of the transmitter game device10and a flag indicating a provisional child node.

Subsequently, processor11determines whether the number of participants is three (SC3). Specifically, processor11determines whether the number of records in which a communication address and a flag are stored is three in participant table T4. In a case in which a result of the determination is NO, processor11advances the process to Step SC1. In a case in which a result of the determination is YES, processor11transmits shared data for sharing information of participants to each of participant game devices10excluding game device10of this processor11(SC4). The shared data contains communication addresses of participant game devices10excluding game device10of this processor11and also excluding game device10to which the shared information is to be transmitted.

Processor11then transmits to matching server device40a deregistration request of registration as a provisional parent node (SC5) and transmits, to participant game devices10other than game device10of this processor11, a matching completion notification notifying the completion of the matching process (SC6). Subsequently, processor11performs a response measurement process for measuring a response time of game device10of this processor11(SC7). In the response measurement process, in a case in which all participant game devices10other than game device10of this processor11are referred to as other game devices and in which a response time between this game device10and each of the other game devices with this game device10as an origin is referred to as a response time of this game device10, processor11of this game device10measures a response time of this game device10, to generate measurement data (self data) showing the sum of the measured response times, which will be described later in detail. Furthermore, in the response measurement process in Step SC7, processor11receives from the other game devices measurement result notifications notifying their measurement results, each measurement result notification indicating measurement data (other data) showing the sum of response times. Thus, the response measurement process in Step SC7is a process of collecting response times.

Subsequently, processor11, based on a result of response measurement process (measurement data), performs a process of determining a parent node (SC8). Specifically, in a case in which, from among the obtained pieces of measurement data, the only data showing the minimum value is self data, processor11selects this game device as a parent node; and in a case in which, from among the obtained pieces of measurement data, the only data piece showing the minimum value is not self data (i.e., other data), processor11selects game device10having transmitted this only data piece as a parent node. Processor11then transmits a decision notification indicating the selected parent node to participant game devices10other than itself and updates participant table T4based on the result (SC9). Specifically, from among flags stored in participant table T4, a flag corresponding to a communication address of game device10that has been selected as a parent node will be updated to a flag indicating a parent node (for example, flag with the value of 1), and each of the flags corresponding to other communication address will be updated to a flag indicating a child node (for example, a flag with the value of 0).

Provisional Child Node Process:

FIG. 9is a flowchart showing a provisional child node process performed by processor11of game device10. The provisional child node process is performed subsequent to the provisional decision process in a case in which, in participant table T4, its own communication address is stored in association with a flag indicating a provisional child node. In the provisional child node process, processor11transmits a participation request to game device10(provisional parent node) of a communication address stored in provisional parent node list441received in the provisional decision process (SD1).

Subsequently, processor11repeats a process of determining whether it receives an enabling acknowledgment from a provisional parent node until it receives an enabling acknowledgment from a provisional parent node (SD2). In a case in which processor11receives an enabling acknowledgment, and then a result of the determination of this process changes to YES, processor11repeats a process of determining whether it receives shared data from the provisional parent node until it receives shared data from the provisional parent node (SD3). In a case in which processor11receives shared data, and then a result of the determination of this process changes to YES, processor11updates participant table T4based on the received shared data (SD4). Specifically, processor11stores, in an empty record of participant table T4, a communication address and a flag indicating a provisional child node contained in the received shared data.

When Step SD4is completed, processor11repeats a process of determining whether it has received a matching completion notification from the provisional parent node until it receives a matching completion notification from the provisional parent node (SD5). When processor11receives a matching completion notification, and then a result of the determination of this process changes to YES, processor11performs a response measurement process that is the same as that in Step SC7(SD6). However, in the response measurement process in Step SD6, processor11does not receive a measurement result notification from other game devices but instead transmits a measurement result notification containing generated measurement data to game device10which is the provisional parent node.

Subsequently, processor11repeats a process of determining whether it has received a decision notification from a provisional parent node until it receives a decision notification from the provisional parent node (SD7). When processor11receives a decision notification, and then a result of the determination of this process changes to YES, processor11updates participant table T4based on the received decision notification (SD8). Specifically, processor11updates, from among flags stored in participant table T4, a flag corresponding to a communication address of game device10indicated by the decision notification to a flag indicating a parent node, whereas processor11updates a flag not corresponding to a communication address of game device10indicated by the decision notification to a flag indicating a child node.

Parent Node Process and Child Node Process:

Both a parent node process and a child node process are processes for causing a participant to play a tank game. Processor11of game device10, which is a parent node from among participant game devices10, performs a parent node process, and each processor11of game devices10that are child nodes performs a child node process, and situation data of these game devices10are repeatedly updated, whereby the tank game progresses.

Processor11that is executing the parent node process generates operation data corresponding to an operation signal output from input unit14, decides the situation of the tank game based on the generated operation data and operation data received through communication interface17, transmits situation data showing the decided situation to game devices10that are child nodes via communication interface17, and stores situation data in rewritable memory19. This storage is overwriting of previous situation data. Furthermore, processor11that is executing a parent node process uses the situation data stored in rewritable memory19to display image BF and situation indicator IND.

Processor11that is executing a child node process generates operation data corresponding to an operation signal output from input unit14and transmits this operation data to game device10that is a parent node through communication interface17. Furthermore, processor11that is executing a child node process stores situation data received through communication interface17in rewritable memory19. This storage is overwriting of previous situation data. Furthermore, processor11that is executing a child node process uses the situation data stored in rewritable memory19to display image BF and situation indicator IND.

FIGS. 10A to 12are sequence charts showing operational examples of game system100. In this operational example, processor11of a game device10(game device10A) sited at venue A first transmits a provisional parent node list return request to matching server device40; processor11of a game device10(game device10B) sited at venue B subsequently transmits the same request to the server device; and processor11of a game device10(game device10C) sited at venue C subsequently transmits the same request to the server device; and game device10B will be a parent node of this tank game. In the following, detailed description will be given of the operational example. It is to be noted that processor41of matching server device40has already executed the lobby process.

As shown inFIG. 10A, processor11of game device10A first initiates a provisional decision process and transmits a provisional parent node list return request to matching server device40. Processor41of matching server device40, having received this provisional parent node list return request, reads from rewritable memory44provisional parent node list441, for transmission to game device10A. Since this provisional parent node list441is empty, processor11of game device10A, having received this provisional parent node list441, transmits a provisional parent node registration request, generates the participant table to end the provisional decision process, and then starts a provisional parent node process. One of three participants of the tank game is thus decided. Processor41of matching server device40, having received the provisional parent node registration request, adds to provisional parent node list441stored in rewritable memory44a communication address of game device10A that has transmitted the provisional parent node registration request.

Subsequently, processor11of game device10B starts a provisional decision process and transmits a provisional parent node list return request to matching server device40. Processor41of matching server device40, having received this provisional parent node list return request, reads, from rewritable memory44, provisional parent node list441, for transmission to game device10B. Since this provisional parent node list441contains a communication address of game device10A, processor11of game device10B having received provisional parent node list441generates the participant table before completing the provisional decision process and starts a provisional child node process (FIG. 10B).

Subsequently, as shown inFIG. 10B, processor11of game device10C starts a provisional decision process and transmits a provisional parent node list return request to matching server device40. As a result, the same operation as the above-described operation for game device10B is performed for game device10C.

On the other hand, processor11of game device10B having started the provisional child node process transmits a participation request to game device10A. This transmission is performed using a communication address contained in provisional parent node list441that was received in the provisional decision process. Processor11of game device10A, having received the participation request, transmits an enabling acknowledgment to game device10B. Processor11of game device10B, having received this enabling acknowledgment, waits for a receipt of shared data and a matching completion notification from game device10A. Two of the three participants of the tank game are thus decided.

Processor11of game device10C, having started a provisional child node process, transmits a participation request to game device10A. As a result, the same operation as the above-described operation for game device10B is performed for game device10C, and all of the three participants of the tank game are decided.

Subsequently, processor11of game device10A transmits shared data containing a communication address of game device10B to game device10C and also transmits shared data containing a communication address of game device10C to game device10B. At each of game device10B and10C, processor11receives shared data and stores, in an empty record of participant table T4stored in rewritable memory19, a communication address and a flag indicating the provisional child node contained in the received shared data.

As a result of the above operation, what are stored in participant tables T4at game devices10A to10C become identical to one another. Specifically, each participant table T4stores a communication address of game device10A and a flag indicating a provisional parent node in association with each other; a communication address of game device10B and a flag indicating a provisional child node in association with each other; and a communication address of game device10C and a flag indicating a provisional child node in association with each other.

Subsequently, processor11of game device10A transmits a deregistration request to matching server device40. Processor41of matching server device40, having received the deregistration request, deletes a communication address of game device10A that has transmitted the deregistration request from provisional parent node list441in rewritable memory44. Processor11of game device10A then transmits a matching completion notification to game devices10B and10C to start a response measurement process (SC7). On the other hand, each processor11of game devices10B and10C having received this matching completion notification starts a response measurement process (SD6).

The subsequent operation is as shown inFIG. 11. In this figure, arrows indicating transmissions of data between game devices are tilted, considering transmission delay.

Processor11of game device10A transmits, to game device10B, a response speed measurement request requesting transmission of a response speed measurement response for measuring response speed. Processor11of game device10B having received this response speed measurement request transmits a response speed measurement response to game device10A. The response speed measurement response is received by processor11of game device10A. On this occasion, processor11of game device10A measures time since it transmitted the above response speed measurement request until it receives the above response speed measurement response as a response time (TAB) with respect to game device10B with game device10A as an origin. A process that is the same as this measurement process is performed for game device10C and a response time (TAC) for game device10C with game device10A as an origin is measured. Thus, a response time with respect to game device10A will be measured. Processor11of game device10A then generates measurement data indicating the sum of response times with respect to game device10A (TAB+TAC) and stores the measurement data as self data in rewritable memory19.

At game device10B, through a process that is the same as the above measurement process, a response time (TBA) for game device10A with game device10B as an origin and a response time (TBC) for game device10A with game device10B as an origin are measured. Thus, response times for game device10B are measured. Processor11of game device10B then generates measurement data indicating the sum of a response time for game device10B (TBA+TBC) and transmits, to game device10A which is a provisional parent node, a measurement result notification containing the measurement data. This measurement result notification is received by processor11of game device10A.

At game device10C, through a process that is the same as the above measurement process, a response time (TCA) for game device10A with game device10C as an origin and a response time (TCB) for game device10B with game device10C as an origin are measured. Thus, response times for game device10C are measured. Processor11of game device10C then generates measurement data indicating the sum of a response time for game device10C (TCA+TCB) and transmits, to game device10A which is a provisional parent node, a measurement result notification containing the measurement data. This measurement result notification is received by processor11of game device10A.

The response measurement process is thus completed. Subsequently, processor11of game device10A performs a decision process. Specifically, from among obtained pieces of measurement data, the only measurement data showing the minimum value is self data, game device10A is selected as a parent node, and if it is not self data, game device10having transmitted the only measurement data showing the minimum value will be a parent node. In this operational example, the only measurement data showing the minimum value is measurement data transmitted from game device10B, and therefore, game device10B will be the parent node. Accordingly, processor11of game device10A, from among flags stored in participant table T4in rewritable memory19, updates a flag corresponding to a communication address of game device10B that was just selected as the parent node to a flag showing the parent node and updates flags corresponding to other communication address to flags showing child nodes.

Processor11of game device10A then transmits, to game devices10B and10C, a decision notification containing a communication address of game device10B as shown inFIG. 12. Processor11of game device10A then completes the provisional parent node process, to start a process (child node process) corresponding to a flag that is stored in participant table T4in association with the communication address of game device10A. On the other hand, processor11of game device10B that has received the decision notification updates participant table T4in rewritable memory19in accordance with the decision notification. The result of this update will be the same as the result of the update at game device10A. Subsequently, processor11of game device10B completes the provisional child node process to start a process (parent node process) corresponding to a flag that is stored in participant table T4in association with the communication address of game device10B. The same process as this is also performed at game device10C. However, a process that processor11of game device10C will start will be a child node process.

In the subsequent process, a parent node process is executed at game device10B, and a child node process is executed at each of game devices10A and10C. As a result, an operation such as the following example is repeated in game system100. In this example, it is assumed that an operation signal is output from input unit14at game devices10A to10C. Each processor11of game devices10A and10C that are child nodes then generates operation data in accordance with the output operation signal, to transmit the operation data to game device10B that is a parent node. These pieces of operation data are received by processor11of game device10B. That is, all pieces of operation data are assembled at game device10B that is the parent node. Subsequently, processor11of game device10B determines, based on the operation data, the situation of the tank game, stores situation data indicating this situation in its rewritable memory19and transmits the situation data to game devices10A and10C. The situation data is received by each processor11of game devices10A and10C, and the situation data is stored in rewritable memory19. Therefore, situation data that shows the latest situation is shared by game device10A to10C. Subsequently, each processor of game devices10A to10C uses the shared situation data to display image BF and situation indicator IND. As a result, images showing the latest situation are displayed on screen151of display15at game devices10A to10C.

As has been described above, according to game system100, since game device10for which the sum of response times is the minimum is selected as a parent node, transmission delay (accumulated value) of data from a child node via the parent node to another child node becomes the shortest. Furthermore, the time obtained by averaging transmission delays of data from a child node via the parent node to the same child node for the two child nodes becomes the shortest. Therefore, a communication delay that affects the progress of the tank game can be reduced. It is to be noted that, in the above embodiment, unprocessed operation data that is a type of game data is never passed from the parent node to the child nodes, but situation data that reflects the operation data is passed from the parent node to the child nodes. Therefore, one can say that operation data is data that is passed from a child node via the parent node to another child node while changing forms.

Second Embodiment

FIG. 13is a block diagram showing an overall configuration of a game system200according to a second embodiment of the present invention. Game system200differs from game system100in that it has a game device50in place of game device10and in that it has a matching server device60in place of matching server device40.

FIG. 14is a block diagram showing a configuration of a game device50. Game device50differs from game device10in that it has a non-volatile memory51in place of non-volatile memory18. Non-volatile memory51is, for example, a ROM and stores a program511and server device data512. Program511is executed by processor11, thereby causing game device50to perform various processes (a client process, a parent node process, and a child node process, which will be described later). In the following description, a process performed by processor11is performed using program511. Server device data512is data required for obtaining a communication address of matching server device60.

Matching Server Device:

FIG. 15is a block diagram showing a configuration of matching server device60. Matching server device60differs from matching server device40in that it has a non-volatile memory61in place of non-volatile memory43and in that it has a rewritable memory62in place of rewritable memory44. Non-volatile memory61is, for example, a ROM and a hard disk. ROM stores an IPL, and the hard disk stores program611. Program611is executed by processor41, thereby causing matching server device60to perform the server process (described below). In the following description, a process performed by processor41is performed using program611. Non-volatile memory61stores a communication address of matching server device60.

Rewritable memory62is, for example, a RAM, and there is secured, in its memory area, a group table621that stores data of game devices that belong to one of groups. The number of records in group table621is zero when matching server device60is turned on and increases as the number of game devices50belonging to one of the groups increases. There are stored in each record a communication address of game device50belonging to one of the groups and a group ID for identifying a group to which the game device50belongs and measurement data indicating the sum of response times for game device50. Furthermore, rewritable memory62stores the latest ID622, a group ID of a group to which a new game device50is to belong. Furthermore, rewritable memory62is used for temporary storage of a communication address of a device that has transmitted data that processor41has received.

FIG. 16is a flow chart of a server process performed by processor41of matching server device60. In the server process, processor41first performs initialization (SE1). Specifically, processor41stores the latest ID622indicating the initial value in rewritable memory62and also secures group table621in rewritable memory62. Subsequently, processor41repeats a process of determining whether it has received data from game device50until it receives data from game device50(SE2). When it receives data, and a result of the determination of the process changes to YES, processor41determines whether the received data is a participation request (SE3).

In a case in which a result of the determination of Step SE3is YES, processor41uses the latest ID622in rewritable memory62to add a record in group table621of rewritable memory62(SE4). In this record, a communication address of game device50that has transmitted a participation request is stored as a communication address, and the latest ID622is stored as a group ID. Subsequently, processor41refers to group table621to determine whether the number of participants of a group corresponding to the latest ID622is three (SE5). In a case in which a result of the determination is NO, processor41advances the process to Step SE2.

In a case in which a result of the determination in Step SE5changes to YES, processor41transmits a measurement request for requesting measurement of a response time to each of game devices50belonging to the group of the latest ID622(SE6). The measurement request for each game device50includes communication addresses of all game devices50that belong to the same group as the receiver game device50except for the communication address of the receiver game device50. Subsequently, processor41updates the latest ID622in rewritable memory62(SE7). As a result, the latest ID622will change to one that is not yet used. The routine then advances the process to Step SE2.

In a case in which a result of the determination of Step SE3is NO, processor41determines whether the received data is a measurement result notification (SE8). In a case in which a result of the determination is NO, the routine advances the process to Step SE2. In a case in which a result of the determination of Step SE8is YES, processor41updates, from among records of group table621, a record corresponding to game device50that has transmitted the received measurement result notification (SE9). Subsequently, processor41determines whether the measurement is completed for a group corresponding to the group ID in the concerned record (SE10). This determination is performed by referring to group table621, to determine whether measurement data is stored in every single record that has the same group ID as the concerned record. In a case in which a result of the determination is NO, the routine returns to Step SE2.

In a case in which a result of the determination in Step SE10is YES, processor41refers to group table621to perform a decision process of selecting a parent node for a group for which the measurement is completed (SE11). Specifically, processor41selects game device50corresponding to the only piece of data indicating the minimum value from among pieces of measurement data stored in all the records corresponding to the group as a parent node. Subsequently, processor41transmits a decision notification indicating the selected parent node to all of the game devices50belonging to the same group (SE12). Processor41then deletes all the records corresponding to this group from group table621. The routine then advances to Step SE2.

FIG. 17is a flowchart of a client process performed by processor11of game device50. In the client process, processor11first transmits a participation request to matching server device60(SF1). Processor11then repeats a process of determining whether it has received a measurement request from matching server device60until it receives a measurement request from matching server device60(SF2). Once it receives a measurement request and a result of the determination of this process changes to YES, processor11performs a response measurement process that is the same as Step SD6inFIG. 9(SF3). However, in the response measurement process of Step SF3, a measurement result notification containing the generated measurement data is transmitted, not to a provisional parent node, but to matching server device60.

Subsequently, processor11repeats a process of determining whether it has received a decision notification from matching server device60until it receives a decision notification from matching server device60(SF4). Once processor11receives a decision notification, and then a result of the determination of this process changes to YES, processor11generates participant table T4based on the received decision notification (SF5). Participant table T4generated in this process is equivalent to participant table T4obtained in Step SC9inFIG. 8or in Step SD8inFIG. 9.

FIGS. 18A and 18Bare sequence charts together showing an operational example of game system200. As shown inFIG. 18A, in this operational example, processor11of a game device50(game device50A) sited in venue A first starts a client process and transmits a participation request to matching server device60. Subsequently, processor11of a game device50(game device50B) sited at venue B starts a client process and transmits a participation request to matching server device60. Subsequently, processor11of a game device50(game device50C) sited at venue C starts a client process and transmits a participation request to matching server device60.

Processor41of matching server device60has already executed a server process, and when it receives a participation request from game device50C, processor41transmits, to each of game devices50A to50C that belong to a group under the latest ID622, a measurement request for requesting the measurement of a response time. Communication addresses of game devices50B and50C are contained in the measurement request for game device50A; communication addresses of game devices50A and50C are contained in the measurement request for game device50B; and communication addresses of game devices50A and50B are contained in the measurement request for game device50C.

As shown inFIG. 18B, each processor11of game devices50A to50C having received the measurement request performs a response measurement process. As a result of the response measurement process, in each of game devices50A to50C, measurement data indicating the sum of response times of the concerned game device50is generated. Then each processor11of game devices50A to50C transmits to matching server device60a measurement result notification containing the generated measurement data. Processor41of matching server device60that has received these pieces of measurement data performs a decision process. Specifically, game device50(game device50B in this case) that has transmitted the only piece of measurement data that indicates the minimum value from among the pieces of received measurement data will be a parent node. Subsequently, processor41of matching server device60transmits, to game devices50A to50C, a decision notification containing a communication address of game device50B that has been decided as a parent node.

Each processor11of game devices50A to50C having received the above decision notification generates participant table T4based on the received decision notification. In the subsequent process, processor11of game device50B refers to participant table T4to start a parent node process, whereas processor11of game device50A refers to participant table T4to start a child node process. Similarly, processor11of game device50C refers to participant table T4to start a child node process.

As is obvious from the foregoing description, the same effects as game system100are also attainable according to game system200.

Third Embodiment

FIG. 19is a block diagram showing an overall configuration of a game system300according to a third embodiment of the present invention.

Game system300differs from game system100in that this is a closed system only at a single venue A. Therefore, game system300has only three or more game devices70each being connected to a LAN of venue A.

FIG. 20is a block diagram showing a configuration of a game device70. Game device70differs from game device10in that it has a non-volatile memory71in place of non-volatile memory18and a rewritable memory72in place of rewritable memory19. Non-volatile memory71is, for example, a ROM and an EEPROM (Electronically Erasable and Programmable ROM) and stores a program711and broadcast address data712.

Program711is executed by processor11, thereby causing game device50to perform various processes (a provisional decision process, a provisional parent node response process, a provisional parent node process, a provisional child node process, a parent node process, and a child node process, which will be described later). In the following description, a process performed by processor11is performed using program711. Broadcast address data712is data containing communication addresses of game devices70to which a provisional parent node response request is to be transmitted, the provisional parent node response request for requesting transmission of a provisional parent node response indicating that the transmitter is a provisional parent node, and broadcast address data712includes the communication addresses of all game devices70. Furthermore, rewritable memory72is used as a temporary storage of a communication address of a device that has transmitted data that processor11has received.

Rewritable memory72is, for example, a RAM, and there is reserved in its memory area participant table T5for storing participant data. Participant table T5has three records respectively corresponding to participants. In each record, a communication address of participant game device70and a flag indicating a type (a parent node or a child node) of the game device70are stored. Furthermore, rewritable memory72stores provisional parent node flag721indicating whether its game device is waiting for a participation request as a provisional parent node. The initial value of provisional parent node flag721is a value (for example, 0) that indicates its game device is not waiting for a participation request as a provisional parent node. Furthermore, rewritable memory72is used for temporary storage of a communication address of a device that has transmitted data that processor11has received. It is to be noted that non-volatile memory71or rewritable memory72stores a communication address of its game device.

FIG. 21is a flowchart of a provisional decision process performed by processor11of game device70. In the provisional decision process, processor11refers to broadcast address data712to perform multiple-address transmission of a provisional parent node response request to all the game devices70(SG1). Subsequently, processor11determines whether it has received a provisional parent node response (SG2), and in a case in which a result of the determination is NO, processor11further determines whether an elapsed time since the multiple-address transmission of a provisional parent node response request has reached a predetermined time (SG3). In a case in which a result of the determination is NO, the routine returns to Step SG2.

In a case in which a result of the determination in Step SG2changes to YES, processor11generates participant table T5that stores its communication address and also changes the value of provisional parent node flag721to a value indicating that this device is not waiting for a participation request as a provisional parent node (SG4), to complete the provisional decision process. On the other hand, in a case in which a result of the determination in Step SG3changes to YES, processor11generates participant table T5that stores its communication address and also changes the value of provisional parent node flag721to a value (for example, 1) indicating this device is waiting for a participation request as a provisional parent node (SG5), to complete the provisional decision process.

Provisional Parent Node Response Process:

FIG. 22is a flowchart of a provisional parent node response process performed by processor11of game device70. In the provisional parent node response process, processor11repeats a process of determining whether it has received a provisional parent node response request until it receives a provisional parent node response request (SH1). In a case in which a result of the determination in this process changes to YES, processor11then determines whether a value of provisional parent node flag721is a value indicating a provisional parent node (SH2). If a result of the determination changes to NO, the routine returns to Step SH1. In a case in which a result of the determination in Step SH2is YES, processor11transmits a provisional parent node response to game device70that has transmitted the received provisional parent node response request (SH3). The routine then returns to Step SH1.

Provisional Parent Node Process and Provisional Child Node Process:

FIG. 23is a flowchart of a provisional parent node process performed by processor11of game device70. The provisional parent node process differs from the provisional parent node process inFIG. 8in that it has a process of changing a value of provisional parent node flag721to a value indicating it is not waiting for a participation request as a provisional parent node (SJ1) in place of transmitting a deregistration notification (SC5). The provisional child node process is as shown inFIG. 9. As is obvious from the foregoing description, in the present embodiment, during a period except for a period in which the value of provisional parent node flag721that game device70has is a value indicating that the game device is waiting for a participation request as a provisional parent node (from Step SG5in the provisional decision process to Step SJ1in the provisional parent node process), a provisional parent node response will never be transmitted from this game device70, and therefore, no participation request will be transmitted to this game device70. Therefore, according to the present embodiment, even in an environment in which plural groups can coexist, useless transmission of a provisional parent node response and a participation request can be reduced.

As is obvious from the foregoing description, the same effects as game system100are attainable according to game system300.

In each of the above embodiments, a game device that is a parent node identifies the damage to each camp, but each game device may identify the damage to its own camp to transmit damage data (game data) indicating the identified damage from a game device that is a child node to a game device that is a parent node. In this case, a parent node may pass three pieces of damage data to each child node, and the proportion of the damage may be identified at each child node, or a parent node may determine the proportion of damage (the situation of the tank game) so that situation data indicating the situation may be passed to each child node. In the former case, damage data is data that is to be passed from a child node via a parent node to another child node without being processed. In the latter case, since situation data that reflects damage data is passed from a parent node to a child node, damage data is data that should be passed from a child node via a parent node to another child node while changing its forms.

In each of the above embodiments, the measurement of each response time is performed by one-time measurement (transmission and reception), but this may be performed by measurements multiple times. In this case, for example, since the average of results of plural-time measurements can be obtained as a result of the measurement, the accuracy in the measurement is enhanced.

In each of the above embodiments, the number of participants is three but may be four or more. Furthermore, the number of participants may be variable. Additionally, a game may be one other than a tank game. Also, the present invention can be applied to any game that is a multiple-player participation type. Furthermore, the present invention can be applied to interactive tasks other than games. An example of such an interactive task is Web chatting.