Patent Description:
Communication between a plurality of client terminals connected over a network is sometimes performed through Peer to Peer (P2P) communication. For example, in the case of an online competitive game system, game terminals (client terminals) of players playing the game are connected by P2P, and information about progress of the game is sequentially transmitted to a server from the game terminals.

<CIT> discloses a management server that is capable of communicating with a first game device that generates progress data about progress of a game and result data about a result of the game, and a second game device for viewing the game, the management server including a processor.

<CIT> relates to spectator data streams conveying a current state of an event, in a plurality of different formats required by different types of electronic devices being used by the spectators for following the event.

<CIT> relates to a game system for achieving on a computer a communications-based competitive-type network game, to a control method of this game system, and to a recording medium on which a program of this game system is recorded.

A game image that is displayed on a plurality of client terminals (hereinafter "terminal(s)") performing P2P communication is normally displayed only on the terminals that are connected over a network and that are performing P2P communication, but there is a demand to watch (view) the video image with terminals other than the terminals that are performing P2P communication (that is, terminals of users not playing the game). In such a case, one of the terminals performing P2P communication acts as a representative and transmits information about progress of the game and the like to a server, and the server transmits information necessary for displaying the game image to other terminals. However, if the terminal acting as a representative is disabled from performing communication, the game image may not be watched with other terminals.

The present invention has been made in view of the problem as described above, and has its object to allow a game image from a plurality of terminals connected over a network to be continuously watched with other terminals.

Hereinafter, preferred embodiments of the present invention will be described with reference to the appended drawings.

In the present embodiments, an online competitive game system will be cited as an example in relation to communication, via a server, between client terminals connected over a network. In the online competitive game system, game machines (client terminals) of players playing the game are connected over a network, and information about progress of the game is transmitted from the game machines to other game machines. In the game system according to the present embodiments, information about progress of the game is transmitted via a server (a TURN server). In the case of the present embodiments, a plurality of game machines participating in the online competition communicates operation-related information that each generated, via the server, as information about progress of the game. The operation-related information is information including operation information that is generated by a game controller provided in the game machine. The game controller is provided with operators such as various buttons, a lever (a stick) and the like, and the game controller generates the operation information according to user operations on the operators. The operation-related information is information including, in addition to the operation information generated by the game controller, frame number information indicating each of frame periods that are each a predetermined period of time that is taken as a unit of game processing, identification information of the game machine, and the like.

<FIG> is a diagram showing a schematic example configuration of a game system according to a first embodiment.

For example, the game system according to the present embodiment includes a first server <NUM>, a second server <NUM>, game machines 50A, 50B, 50C of users (participants) participating in a competition (an online competition) over a network <NUM>, and a game machine 50D of a user (a spectator) viewing (watching) the online competition among the game machines 50A, 50B, 50C.

The first server <NUM> is an example of an information processing apparatus according to the embodiments of the present invention, and is a game server that performs information management and the like in relation to saving of competition data and the like of an online competitive game performed over a network, and to viewing of the game. In the case of the present embodiment, the competition data saved by the first server <NUM> is transmission information including the operation-related information, described later, transmitted from the game machines 50A, 50B, 50C of participants of the online competition, for example. The second server <NUM> is a TURN server for performing information communication among the game machines 50A, 50B, 50C connected over a network.

The game machines 50A, 50B, 50C each transmit, to the second server <NUM> that is a TURN server, operation-related information including operation information generated by a respective game controller in a frame period that is a predetermined period of time. In the example in <FIG>, the game machine 50A transmits operation-related information OP1 including the operation information generated by the connected game controller in the frame period to the second server <NUM>, and likewise, the game machine 50B transmits operation-related information OP2 generated by the game controller in the frame period to the second server <NUM>, and the game machine 50C transmits operation-related information OP3 including the operation information generated by the game controller in the frame period to the second server <NUM>. In this manner, each game machine 50A, 50B, 50C in the game system of the present embodiment transmits the operation-related information OP1, OP2, OP3 including the operation information generated by the respective game controller in the predetermined period to the second server <NUM>.

The second server <NUM> that is a TURN server transmits, to the game machine 50A, operation-related information OP23 including the operation-related information OP2 from the game machine 50B and the operation-related information OP3 from the game machine 50C. In the same manner, the second server <NUM> transmits, to the game machine 50B, operation-related information OP13 including the operation-related information OP1 from the game machine 50A and the operation-related information OP3 from the game machine 50C, and transmits, to the game machine 50C, operation-related information OP12 including the operation-related information OP1 from the game machine 50A and the operation-related information OP2 from the game machine 50B.

The game machine 50A transmits, to the first server <NUM>, transmission information including operation-related information OP123 including the operation-related information OP1 and the operation-related information OP23 received from the second server <NUM>. In the same manner, the game machine 50B transmits, to the first server <NUM>, transmission information including the operation-related information OP123 including the operation-related information OP2 and the operation-related information OP13 received from the second server <NUM>. The game machine 50C transmits, to the first server <NUM>, transmission information including the operation-related information OP123 including the operation-related information OP3 and the operation-related information OP12 received from the second server <NUM>. That is, the game machines 50A, 50B, 50C in the game system of the present embodiment each transmit, to the first server <NUM>, transmission information including the operation-related information OP1, OP2, OP3 generated by the game machines 50A, 50B, 50C, every frame period that is a predetermined period of time.

The first server <NUM> acquires the transmission information that is transmitted from each game machine 50A, 50B, 50C in each frame period. That is, the first server <NUM> acquires the operation-related information OP123 (that is, the operation-related information OP1, OP2, OP3) for each frame period, by acquiring the transmission information from each game machine 50A, 50B, 50C.

The first server <NUM> performs information management in such a way that saving of the transmission information is performed according to a predetermined rule, from the plurality of pieces of transmission information transmitted from the game machines 50A, 50B, 50C in each frame period. In the present embodiment, as information management following the predetermined rule, the first server <NUM> saves, among the plurality of pieces of transmission information acquired from the game machines 50A, 50B, 50C in each frame period, the transmission information that is acquired first, and does not save second and later pieces of transmission information or discards such transmission information after temporarily saving the same.

Then, in the case where acquisition of game information of the online competition is requested by the game machine 50D of the spectator viewing (watching) the online competition among the game machines 50A, 50B, 50C, the first server <NUM> performs transmission control in such a way that the transmission information saved in the manner described above, that is, the operation-related information OP1, OP2, OP3, is transmitted to the game machine 50D requesting acquisition of the game information.

<FIG> is a diagram showing an example configuration of the first server <NUM>.

The first server <NUM> includes a CPU <NUM>, a ROM <NUM>, a RAM <NUM>, a communication unit <NUM>, and a storage device <NUM>.

The CPU <NUM> performs various processes by reading control programs stored in the ROM <NUM> into the RAM <NUM>. The ROM <NUM> stores control programs (OS and the like) necessary for operation of the first server <NUM>.

A flash memory (NVRAM) may be used instead of the ROM <NUM>. The RAM <NUM> is used as a temporary storage region such as a main memory, a work area or a buffer of the CPU <NUM>. The communication unit <NUM> performs a process of communicating with each game machine 50A, 50B, 50C, the game machine 50D, and other external apparatuses over the network <NUM>. The storage device <NUM> stores programs related to the online competitive game according to the present embodiment, user identification information, such as IDs, of the users operating the game machines 50A, 50B, 50C, 50D, and various other pieces of information about each user necessary for the game. Additionally, some of these pieces of information may be stored in a database or the like, not shown.

The second server <NUM> that is a TURN server has a configuration that is basically the same as the one shown in <FIG>, and a description thereof will be given with reference to <FIG>. In the case of the second server <NUM>, the ROM <NUM> stores control programs (OS and the like) necessary for operation of the second server <NUM>. The CPU <NUM> performs various processes by reading the control programs stored in the ROM <NUM> into the RAM <NUM>. The RAM <NUM> is the same as that of the first server <NUM>, and a description thereof is omitted. The communication unit <NUM> of the second server <NUM> performs a process of communicating with each game machine 50A, 50B, 50C, and other external apparatuses over the network <NUM>. The storage device <NUM> stores programs related to control of communication with the game machines 50A, 50B, 50C as described above, and various other pieces of information necessary for communication.

<FIG> is a diagram showing an example configuration of one of the game machines 50A, 50B, 50C participating in the online competitive game. Additionally, in the present embodiment, the game machine 50D for viewing the online competition has basically the same configuration as the game machines 50A, 50B, 50C participating in the online competition, and thus, illustration of the configuration of the game machine 50D is omitted. Furthermore, in the following description, when not distinguishing the game machines 50A, 50B, 50C, 50D from one another, a term "game machine(s) <NUM>" will be simply used.

For example, the game machine <NUM> is a home game machine, a mobile communication device such as a smartphone, a dedicated portable game device, a personal computer, a tablet or the like.

The game machine <NUM> includes a CPU <NUM>, a ROM <NUM>, a RAM <NUM>, a communication unit <NUM>, a storage device <NUM>, an operation unit <NUM>, and a display unit <NUM>.

The CPU <NUM> performs various processes by reading control programs stored in the ROM <NUM> into the RAM <NUM>. The ROM <NUM> stores control programs (OS and the like) necessary for operation of the game machine <NUM>. A flash memory (NVRAM) may be used instead of the ROM <NUM>. The RAM <NUM> is used as a temporary storage region such as a main memory, a work area or the like of the CPU <NUM>. The communication unit <NUM> performs a process of communicating with the first server <NUM>, the second server <NUM>, and other external apparatuses over the network <NUM>. The operation unit <NUM> is for receiving various operations by the user, and a game controller that comes with a home game machine, a touch panel of the display unit <NUM> and the like correspond to the operation unit <NUM>, for example. The display unit <NUM> displays various pieces of information, such as a screen for a game, on a display device such as a liquid crystal display. The storage device <NUM> mainly stores game programs of a game, and various pieces of data related to the game.

Additionally, functions and processes of the game machine <NUM> are implemented by the CPU <NUM> reading programs stored in the ROM <NUM> or the storage device <NUM> and executing the programs. Furthermore, in another example, the CPU <NUM> may read programs stored in a removable storage medium such as an SD card, instead of reading programs stored in the ROM <NUM> or the like. Furthermore, means for supplying the programs to a computer may be a computer-readable storage medium such as a CD-ROM storing the programs, or a transmission medium for transmitting the program, such as the Internet.

<FIG> is a diagram schematically showing an example of an external appearance of a game controller <NUM> that is connected to the game machine <NUM>. Additionally, the game controller <NUM> shown in <FIG> is merely an example, and shape and the like are not limited to the illustrated example.

The game controller <NUM> is connected to the game machine <NUM> in a wired or wireless manner. The game controller <NUM> includes a plurality of operators. The plurality of operators include various operators such as an up button, a down button, a right button, a left button, a left stick (an LS lever), a right stick (an RS lever), an A button (a square button), a B button (a triangle button), an X button (a cross mark button), a Y button (a circle button), an L1 button, an L2 button, an R1 button, an R2 button and the like. Functions of these operators are widely known, and a detailed description thereof is omitted.

When an operator is operated by the user, the game controller <NUM> generates operation information according to the user operation and transmits the operation information to the game machine <NUM>. For example, with the game controller <NUM>, the state of each operator is scanned every predetermined period of time (in each frame period), and operation information indicating the scanning result is transmitted to the game machine <NUM>.

<FIG> is a diagram showing an example of the operation-related information including the operation information that is generated by the game controller <NUM> when each operator is operated and the frame number information that is generated by the game machine <NUM> and that indicates the frame period. "Up" to "left stick" in the upper section in <FIG> correspond to respective operators, from the up button to the left stick (the LS lever), of the game controller <NUM>, and numbers in the lower section each indicate the number of bits of the operation information that is generated when a corresponding operator is operated. For example, pieces of operation information for the up button to the R2 button are each expressed in <NUM> bit, and pieces of operation information for the right stick (the RS lever) and the left stick (the LS lever) are each expressed in <NUM> bits. Furthermore, the frame number is expressed in <NUM> bits. Accordingly, the operation-related information OP1, OP2, OP3 generated by each of the game machines 50A, 50B, 50C described above is <NUM>-bit information. Furthermore, the operation-related information OP23, OP13, OP12 that is transmitted from the second server <NUM> to the game machine 50A, 50B, 50C is <NUM>-bit information.

<FIG> is a diagram showing the operation-related information and the frame number information included in the transmission information that is transmitted from the game machine 50A, 50B, 50C to the first server <NUM>. "Up" to "frame number" in <FIG> are the same as those in the example in <FIG>, and "C1" in <FIG> indicates the operation-related information and the frame number information of the game machine 50A, "C2" indicates the operation-related information and the frame number information of the game machine 50B, and "C3" indicates the operation-related information and the frame number information of the game machine 50C. Accordingly, the operation-related information OP123 that is transmitted from the game machine 50A, 50B, 50C as described above to the first server <NUM> is <NUM>-bit information.

<FIG> is a block diagram showing an example functional configuration of the game machine <NUM> participating in an online competition. With the game machine <NUM> participating in an online competition, the CPU <NUM> shown in <FIG> reads programs stored in the ROM <NUM> or the storage device <NUM> and executes the programs to implement functions of a game control unit <NUM>, an operation information acquisition unit <NUM>, an operation-related information generation unit <NUM>, and a communication control unit <NUM>.

With the game machine <NUM> in <FIG>, the game control unit <NUM> performs various processes and control for an online competitive game.

The operation information acquisition unit <NUM> acquires, in each frame period, the operation information based on operation of each operator of the game controller <NUM> by the user.

The operation-related information generation unit <NUM> generates the operation-related information including the operation information that is generated by the game controller <NUM>, the frame number information indicating the frame period that is a unit of game processing, identification information of the game machine <NUM>, and the like.

The communication control unit <NUM> performs various processes and control related to communication of the operation-related information as described above performed with the second server <NUM>, and communication of the transmission information as described above with the first server <NUM>.

<FIG> is a block diagram showing an example functional configuration of the first server <NUM>. With the first server <NUM>, the CPU <NUM> shown in <FIG> reads programs stored in the ROM <NUM> or the storage device <NUM> and executes the programs to implement functions of an information acquisition unit <NUM>, an information management unit <NUM>, an information storage unit <NUM>, and a transmission control unit <NUM>.

The information acquisition unit <NUM> acquires the transmission information including the operation-related information OP123 that is generated by the plurality of game machines 50A, 50B, 50C in the frame period (a predetermined period of time) in response to user operations on the game controllers <NUM>, from terminals of the plurality of game machines 50A, 50B, 50C in each frame predetermined period.

Among the plurality of pieces of transmission information transmitted from the game machines 50A, 50B, 50C in each frame period, the information management unit <NUM> saves (causes the information storage unit <NUM> to save) the first transmission information, according to a predetermined rule that is a rule indicating that the transmission information that is transmitted first is saved and the transmission information that is transmitted second or later is not saved. At this time, the information storage unit <NUM> causes the storage device <NUM> in <FIG> to store the first transmission information, for example.

In the case where there is a request for acquisition of information from the game machine 50D of the spectator, the transmission control unit <NUM> transmits, to the game machine 50D, the transmission information that is saved in the information storage unit <NUM> (the transmission information that is received first). In the case of the present embodiment, the game machine 50D of the spectator transmits information requesting viewing of the online competitive game to the first server <NUM>, and the transmission control unit <NUM> transmits the transmission information to the game machine 50D in response to the request. Additionally, in the case where there is a plurality of game machines 50D requesting acquisition of information, the transmission control unit <NUM> transmits the transmission information that is saved, to the plurality of game machines 50D.

<FIG> is a flowchart showing a flow of processes performed by the first server <NUM>, from reception of the transmission information from the game machine 50A, 50B, 50C of the participant to saving of the same.

In the following, the functional configuration in <FIG> will be described with reference to the flowchart in <FIG>.

In the process in step S101, the information acquisition unit <NUM> of the first server <NUM> determines whether the transmission information including the operation-related information OP123 described above is received from the game machine 50A, 50B, 50C of the participant, and in the case of determining that reception is not performed, the determination process in step S101 is repeated. In the case where it is determined that the transmission information including the operation-related information OP123 is received, the information acquisition unit <NUM> proceeds to the process in step S102.

When the process proceeds to step S102, the information management unit <NUM> acquires information about the frame number from the operation-related information OP123 included in the transmission information that is temporarily stored in a reception buffer region provided in the RAM <NUM> in <FIG>.

Next, in step S103, the information management unit <NUM> determines whether the frame number in the operation-related information OP123 included in the transmission information that is received in step S101 is the same as the frame number in the operation-related information OP123 included in the transmission information that is temporarily saved in the reception buffer. That is, the information management unit <NUM> checks whether the operation-related information OP123 with the same frame number as the operation-related information OP123 received in step S101 is already saved in the reception buffer.

In the case where it is confirmed that the operation-related information OP123 with the same frame number as the operation-related information OP123 received in step S101 is already saved in the reception buffer, the information management unit <NUM> controls the information storage unit <NUM> such that the transmission information received in step S101 is not saved, and then returns the process to step S101.

By contrast, in the case where the operation-related information OP123 with the same frame number as the operation-related information OP123 received in step S101 is not yet saved in the reception buffer, the information management unit <NUM> saves (controls the information storage unit <NUM> to save), in step S104, the transmission information received in step S101, and then returns the process to step S101.

That is, with information management following the predetermined rule, the information management unit <NUM> of the first server <NUM> saves the transmission information that is acquired first, among pieces of transmission information acquired in step S101 in each frame period, and does not save the second and later pieces of transmission information.

<FIG> is a diagram schematically showing information management processing following the predetermined rule.

The game machines 50A, 50B, 50C shown in <FIG> each transmit, to the first server <NUM>, the transmission information including the operation-related information OP123 (information including the operation-related information OP1, OP2, OP3), where frame numbers take the same value, that is, a frame number F1. In the example in <FIG>, the first server <NUM> is assumed to receive the transmission information including the operation-related information OP123 from the game machine 50A first, and then receive the transmission information including the operation-related information OP123 from the game machine 50B second, and then receive the transmission information including the operation-related information OP123 from the game machine 50C third. In this case, the first server <NUM> saves the transmission information including the operation-related information OP123 from the game machine 50A that is received first, and does not save the second and later pieces of transmission information including the operation-related information OP123 that are received from the game machines 50B and 50C. Then, in the case where there is a request for game information from the game machine 50D of the spectator, the first server <NUM> transmits, to the game machine 50D, the transmission information including the operation-related information OP123 from the game machine 50A that is received first and that is saved.

As described above, in the first embodiment, the game machines 50A, 50B, 50C participating in the online competition transmit, to the first server <NUM>, pieces of transmission information including the operation-related information OP123 whose frame numbers take the same value, and the first server <NUM> saves the transmission information that is received first among the pieces of information received. That is, in the case of the first embodiment, even if the game machine 50A, among the game machines 50A, 50B, 50C, is disabled from performing communication, for example, the first server <NUM> may acquire the transmission information from the game machine 50B, and moreover, even if the game machine 50B is also disabled from performing communication, for example, the transmission information from the game machine 50C may be acquired. Accordingly, even when one or some of the game machines 50A, 50B, 50C are disabled from performing communication, the first server <NUM> may acquire and save the operation-related information OP123 indicating the progress of the online competitive game being played by the game machines 50A, 50B, 50C. Therefore, according to the first embodiment, even when one or some of the game machines 50A, 50B, 50C are disabled from performing communication, the operation-related information OP123 that enables reproduction of the competition results for the game machines 50A, 50B, 50C may be transmitted to the game machine 50D of the spectator. At the game machine 50D, game processing is performed based on the acquired operation-related information OP123, and a game image for viewing is generated and displayed on a liquid crystal display or the like of the display unit <NUM>. As a result, the user (the spectator) of the game machine 50D may view details of the competition among the game machines 50A, 50B, 50C. That is, according to the present embodiment, an image from a client terminal that is connected over a network (the game machine participating in an online competition) may be properly watched with another client terminal (the game machine of the spectator).

In the first embodiment described above, in relation to information management following a predetermined rule, an example is cited where the transmission information that is acquired first is saved, among a plurality of pieces of transmission information that are acquired in each frame period, but in a second embodiment, an example of information management following a predetermined rule based on hash information will be described. Configurations of a game system, each server, and each game machine according to the second embodiment are approximately the same as those of the first embodiment described above, and illustration thereof is omitted. In the following, a description is given in relation to parts different from those of the first embodiment.

In the case of the second embodiment, the game machines 50A, 50B, 50C participating in an online competition communicate operation-related information OP1, OP2, OP3 to which hash information that each generated is attached, via the second server <NUM> in the same manner as in the first embodiment. Then, the game machines 50A, 50B, 50C each transmit, to the first server <NUM>, the transmission information including the operation-related information OP123 including the operation-related information OP1, OP2, OP3 to which the hash information is attached.

The functional configuration of the game machines 50A, 50B, 50C of the present embodiment is the same as the configuration shown in <FIG> described above, and the operation-related information generation unit <NUM> generates the operation-related information to which the hash information is attached. Other functions are as described above.

In the case of the present embodiment, as information management following a predetermined rule, the first server <NUM> performs a process of saving transmission information including same pieces of hash information, among a plurality of pieces of transmission information that are transmitted from the plurality of game machines 50A, 50B, 50C in each frame period and that are received, and of not saving the transmission information including different pieces of hash information.

The functional configuration of the first server <NUM> of the present embodiment is the same as the configuration shown in <FIG> described above, and the information management unit <NUM> performs information management of saving the transmission information including same pieces of hash information, among a plurality of pieces of transmission information that are received, and of not saving the transmission information including different pieces of hash information. Other functions are as described above, and for example, in the case where there is a plurality of pieces of transmission information that include same pieces of hash information, the transmission information that is received first, among the pieces of transmission information, may be saved without saving the second and later pieces of transmission information.

<FIG> is a flowchart showing a flow of processes by the first server <NUM> of the second embodiment.

In step S111, as in step S101 in <FIG> described above, the information acquisition unit <NUM> of the first server <NUM> of the present embodiment determines whether the transmission information including the operation-related information OP123 is received from the game machine 50A, 50B, 50C of the participant, and in the case where it is determined that reception is not performed, the determination process in step S111 is repeated. In the case where it is determined that the transmission information including the operation-related information OP123 is received, the information acquisition unit <NUM> proceeds to the process in step S112.

When the process proceeds to step S112, the information management unit <NUM> determines whether the pieces of hash information in the operation-related information OP123 included in the transmission information received in step S111 are the same pieces of information. In the case of confirming that all the pieces of hash information included in the operation-related information OP123 received in step S111 are the same pieces of information, the information management unit <NUM> proceeds to step S113, saves the transmission information received in step S111, and returns the process to step S111.

By contrast, in step S112, in the case where the pieces of hash information of the operation-related information OP123 received in step S111 include different pieces of information, the information management unit <NUM> does not save (does not cause the information storage unit <NUM> to save) the transmission information received in step S111, and returns the process to step S111.

That is, with information management following the predetermined rule in the case of the present embodiment, the first server <NUM> saves only the transmission information for which the pieces of hash information included in the operation-related information are the same pieces of information, among pieces of transmission information acquired in step S111 in each frame period, and does not save other pieces of transmission information.

<FIG> is a diagram schematically showing information management processing following the predetermined rule that uses the hash information.

The game machines 50A, 50B, 50C shown in <FIG> each transmit, to the first server <NUM>, the transmission information including the operation-related information OP123 (information including the operation-related information OP1, OP2, OP3), where frame numbers take the same value, that is, a frame number F1. However, in the example in <FIG>, pieces of hash information attached to the operation-related information OP123 in the transmission information from the game machine 50A are all same hash information HV10, but pieces of hash information attached to the operation-related information OP123 in the transmission information from the game machine 50B include different pieces of hash information HV7 and HV8. Furthermore, pieces of hash information attached to the operation-related information OP123 in the transmission information from the game machine 50C include different pieces of hash information HV13 and HV14.

Accordingly, the first server <NUM> saves the transmission information including the operation-related information OP123 to which the same pieces of hash information HV10 are attached, and does not save other pieces of transmission information. Moreover, in the case where there is a request for information for viewing from the game machine 50D of the spectator, the first server <NUM> transmits, to the game machine 50D, the transmission information including the operation-related information OP123 from the game machine 50A that is saved in the above manner.

In the example described above, an example is cited where the first server <NUM> does not save the transmission information including the operation-related information to which different pieces of hash information are attached; in another example of the information management following a predetermined rule, pieces of operation-related information for which there is a greater number of same pieces of hash information may be saved among a plurality of pieces of operation-related information OP1, OP2, OP3 included in the transmission information.

With reference to the example in <FIG>, it is assumed that the first server <NUM> is not able to receive the transmission information from the game machine 50A due to communication failure or the like, but acquires the transmission information from the game machine 50B and the game machine 50C, for example.

In this case, of the operation-related information OP123 included in the transmission information from the game machine 50B, the first server <NUM> saves pieces of the operation-related information OP1 and OP3 to which the same hash information HV8 is attached, and does not save the operation-related information OP2 to which a different hash information HV7 is attached. In the same manner, of the operation-related information OP123 included in the transmission information from the game machine 50C, the first server <NUM> saves pieces of the operation-related information OP3 and OP2 to which the same hash information HV13 is attached, and does not save the operation-related information OP1 to which a different hash information HV14 is attached.

Additionally, in the case of this example, two pieces of the operation-related information OP3 with the same frame number are to be present. The information management unit <NUM> may save the two pieces of operation-related information OP3, or may save the one that is received first without saving the one that is received later, for example.

Then, in the case where there is a request for information for viewing the competition from the game machine 50D of the spectator to the first server <NUM>, the transmission control unit <NUM> transmits, to the game machine 50D, the operation-related information OP1, OP2, OP3 with the same frame number, among the pieces of operation-related information saved in the above manner.

In the second embodiment, the game machines 50A, 50B, 50C participating in an online competition each transmit, to the first server <NUM>, the transmission information including pieces of the operation-related information to which pieces of the hash information are attached, and the first server <NUM> saves the transmission information including pieces of the operation-related information to which the same hash information is attached. Therefore, according to the second embodiment, in the case where an illicit process is performed by the game machine 50A, 50B or 50C, for example, information based on the illicit process may be excluded, and information on which an illicit process is not performed may be transmitted to the game machine 50D of the spectator, and the competition among the game machines 50A, 50B, 50C may be correctly viewed with the game machine 50D. That is, according to the second embodiment, an image from a client terminal that is connected over a network (the game machine participating in an online competition) may be properly watched with another client terminal (the game machine of the spectator).

Embodiments of the present invention have been described in detail with reference to the drawings, but specific configurations are not limited to those of the embodiments described above, and changes may be made as appropriate within the scope of the present invention. For example, the first server <NUM> and the second server <NUM> may be configured as one server. Furthermore, the number of game machines <NUM> of participants of an online competition is not limited to three, and may be two or four or more. Furthermore, communication may be performed between the game machines <NUM> participating in the online competition. The game machines <NUM> participating in the competition may perform communication through so-called P2P (Peer to Peer). In this case, a TURN server that is the second server <NUM> may be omitted. Moreover, the number of game machines 50D of spectators of the online competition is not limited to one, and may be two or more. In the embodiments described above, the frame period as a unit of game processing is given as the predetermined period of time, but a period of time other than the frame period may also be used. Furthermore, in the embodiment described above, the hash information includes information such as a checksum, CRC, MD5, SHA or the like, for example. In the present embodiment, data comparison may be performed without using the hash information.

In <FIG>, the frame number is prepared for each of C1, C2, C3, but it suffices if there is one frame number.

In relation to <FIG>, a description "the operation-related information OP23, OP13, OP12 that is transmitted from the second server <NUM> to the game machine 50A, 50B, 50C is <NUM>-bit information" is given assuming that data of the source itself is omitted, but data of the source itself may be included to obtain <NUM>-bit information. By including the data of the source itself, and transmitting the same data regardless of the connected terminal, the transmission process by the second server may be made the same.

Claim 1:
A program for causing a computer to function as :
an information acquirer that acquires transmission information from each of a plurality of first terminals participating in an online competition every predetermined period of time, the plurality of first terminals being game machines, the transmission information including all of operation-related information which are generated by each of the plurality of first terminals, as the operation-related information that is generated by each of the plurality of first terminals in the predetermined period of time according to a user operation,
wherein acquiring of the transmission information comprises transmitting, by each of the plurality of first terminals, operation-related information of the first terminal and the other first terminals of the plurality of first terminals to the information acquirer,
wherein the operation-related information comprises information generated by a game controller provided in the game machine,
an information manager that saves the transmission information that follows a predetermined rule, among a plurality of pieces of the transmission information acquired from each of the plurality of first terminals in each predetermined period of time, and
a transmission controller that transmits the transmission information that is saved, to a second terminal requesting acquisition of information, wherein the second terminal is a game machine of a spectator viewing the online competition.