JP3984643B2 - Synchronous communication method and synchronous communication apparatus - Google Patents

Synchronous communication method and synchronous communication apparatus Download PDF

Info

Publication number
JP3984643B2
JP3984643B2 JP2006542940A JP2006542940A JP3984643B2 JP 3984643 B2 JP3984643 B2 JP 3984643B2 JP 2006542940 A JP2006542940 A JP 2006542940A JP 2006542940 A JP2006542940 A JP 2006542940A JP 3984643 B2 JP3984643 B2 JP 3984643B2
Authority
JP
Japan
Prior art keywords
synchronization
input information
information
state
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006542940A
Other languages
Japanese (ja)
Other versions
JPWO2006043473A1 (en
Inventor
始 大歳
純 市成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MEDIASEEK Inc
Original Assignee
MEDIASEEK Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MEDIASEEK Inc filed Critical MEDIASEEK Inc
Application granted granted Critical
Publication of JP3984643B2 publication Critical patent/JP3984643B2/en
Publication of JPWO2006043473A1 publication Critical patent/JPWO2006043473A1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • A63F13/12
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/534Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

A synchronous communication device for processing communication synchronously among a plurality of information terminals connected to a communication line, comprising: judging means for judging whether or not the plurality of information terminals connected to the communication line are in a normal communication state; input information setting means for, when on the basis of the result from the judging means judgment is made that an anomaly has occurred in at least one information terminal among the plurality of terminals and that synchronization of the one information terminal with another information terminal among the plurality of terminals is not possible, setting as assumed input information the input information of the synchronization immediately prior to the synchronization in which synchronization is not possible; and computing means for, on the basis of the assumed input information set by the input information setting means, determining the synchronization state of the synchronization in which synchronization is not possible, by executing a predetermined computing process; wherein each process is repeated until the judging means judges that synchronization with the other information terminal among the plurality of information terminals becomes possible through recovery of the communication state of the information terminal in which the anomaly has occurred.

Description

本発明は、通信回線により接続された複数の情報処理端末間で同期を取りながら通信処理を行う同期通信装置及び同期通信方法に関する。   The present invention relates to a synchronous communication apparatus and a synchronous communication method for performing communication processing while synchronizing a plurality of information processing terminals connected by a communication line.

従来の同期通信装置としては、例えば、特開平02−041190号公報に記載されているようなファミコン通信システムが知られている。このファミコン通信システムは、通信回線を介して接続された少なくとも2台のファミコン間で通信を行うものであり、各ファミコンの入力部から入力されたデータの時間的ずれを補正する手段を備え、繰り返し発生する番号コードをキースキャンパルスに同期させて相手側装置に送出し、相手側では番号コードを用いて時間的ずれを補正するように構成されている。   As a conventional synchronous communication device, for example, a NES communication system as described in Japanese Patent Laid-Open No. 02-041190 is known. This NES communication system performs communication between at least two NES connected via a communication line, and includes means for correcting a time lag of data input from an input unit of each NES, and repeatedly The generated number code is sent to the counterpart device in synchronization with the key scan pulse, and the counterpart is configured to correct the time lag using the number code.

図16は、上記ファミコン通信システムにおけるデータのタイミングを説明するためのタイミングチャートであり、図1を参照して以下にこのファミコン通信システムの動作を説明する。
図16において(a)及び(b)は、各ファミコンより発生するキースキャンパルスを示しており、このキースキャンパルス(a)、(b)によりキーパッドの状態がデータとしてファミコンに取り込まれる。通信アダプタを用いると、(c)、(d)に示すように、相手側のモデムにデータを送るに際して時刻t1〜t2、t3〜t4の間の時間に相当する遅れが生じる。2つのファミコンで同時にゲームを行うには、図中m及びnで示す一対のデータの順番が正しくファミコンに送られることが必要である。即ち、mのパルスの時に取り込んだプレイヤーのデータと、nのパルスの時に取り込んだ相手のデータとが正しい順序でそれぞれのファミコンのデータとして入力されることが必要である。
FIG. 16 is a timing chart for explaining the timing of data in the NES communication system. The operation of the NES communication system will be described below with reference to FIG.
In FIG. 16, (a) and (b) show key scan pulses generated from each NES, and the state of the keypad is taken into the NES as data by these key scan pulses (a) and (b). When a communication adapter is used, as shown in (c) and (d), a delay corresponding to the time between times t1 to t2 and t3 to t4 occurs when data is sent to the other modem. In order to play a game with two NES at the same time, it is necessary that the order of a pair of data indicated by m and n in the drawing is correctly sent to the NES. That is, it is necessary that the player data captured at the time of the m pulse and the opponent data captured at the time of the n pulse are input as the data of each NES in the correct order.

通信の遅れにより図16ではn+3のパルスの時に一方から他方のファミコンにデータが入力され、m+3のパルスの時に更に、他方から一方のファミコンにデータが入力される。例えば、m、nのタイミングで取り込んだデータをm+3、n+3のタイミングまで送出を遅らせると、双方のファミコンに送られるデータが3パルス分ずつ遅れた一対のものとなる。
双方のファミコンの電源が同時にONにされるとは限らないので、mとnとの時間差が最高1パルス変化する。このため、Nパルスになったとすると、図1に示されるように、mの時のデータは、N+2の時には相手側に送られる。しかし、Nの時のデータは、m+4になるまで届くことができない。このままの状態でファミコンにデータを送出すると、必要なデータが必要な時に受け取れなくなり、2つのファミコンが別々の動作をしてしまう。上記から明らかなように、ファミコン間において生じる遅れは、データ通信の遅れと、キースキャンパルスの遅れの和となる。
In FIG. 16, data is input from one to the other NES at the time of n + 3 pulse due to communication delay, and data is input from the other to the NES at the time of m + 3 pulse. For example, if data fetched at the timing of m and n is delayed until the timing of m + 3 and n + 3, the data sent to both NES becomes a pair of data delayed by 3 pulses.
Since the power supplies of both NESs are not always turned on at the same time, the time difference between m and n changes by one pulse at maximum. For this reason, assuming that there are N pulses, as shown in FIG. 1, the data at m is sent to the other party at N + 2. However, the data at N cannot reach until it reaches m + 4. If data is sent to the NES in this state, the necessary data cannot be received when necessary, and the two NES perform different operations. As is apparent from the above, the delay occurring between the NES is the sum of the data communication delay and the key scan pulse delay.

ここで、データ通信の遅れは、ハード及び通信速度に依存するので、比較的一定している。しかし、キースキャンパルスの遅れは、機器を動作させるタイミングにより変化すると共に、2台の機器におけるキースキャンパルスの位相差により次第に変化する。これを補正するために、キースキャンパルスに同期させて繰り返し発生する番号コードを相手側に送出する。番号コードを受け取った側では、自分のデータをこの番号コードの内容から同期させて送出する。
遅れを検出し、同期させてデータを送出するには、相手の番号コードと自分の番号コードとを記憶させ、タイマーを動作させる。次に自分のスキャンパルスでタイマーを停止させると、相手のデータの入力時から自分のスキャンパルスの発生時までの遅れが測定される。この動作を数回行わせて平均値を求める。この平均値と予めセットされた数値を比較することにより遅れが正しく検出される。
Here, the delay in data communication is relatively constant because it depends on hardware and communication speed. However, the delay of the key scan pulse changes depending on the timing at which the device is operated, and gradually changes due to the phase difference between the key scan pulses in the two devices. In order to correct this, a number code repeatedly generated in synchronization with the key scan pulse is sent to the other party. The side receiving the number code sends out its own data in synchronization with the contents of this number code.
In order to detect a delay and send data in synchronization, the other party's number code and own number code are stored, and a timer is operated. Next, when the timer is stopped at its own scan pulse, the delay from the input of the partner's data to the occurrence of its own scan pulse is measured. This operation is performed several times to obtain an average value. The delay is correctly detected by comparing the average value with a preset numerical value.

可変シフトレジスタは、自分が取り込んだキーデータを数パルス分遅らせるために必要なものであり、例えば、mのパルスのデータをm+3でファミコンに送出する場合、3段のシフトレジスタが必要となる。この遅らせるパルス数は、変動するキースキャンパルスに追従させるために可変とすることが必要になる。
要するに、上記ファミコン通信システムは、N同期目に入力された情報を、N+m(但しm>0の整数)同期目の情報処理に用いることにより、通信の遅れによる処理速度の低下を防ぐように構成されている。
The variable shift register is necessary for delaying the key data taken by itself by several pulses. For example, when sending m-pulse data to the NES with m + 3, a three-stage shift register is required. The number of pulses to be delayed needs to be variable in order to follow the fluctuating key scan pulse.
In short, the NES communication system is configured to prevent a decrease in processing speed due to a communication delay by using information input at the Nth synchronization for information processing at the N + m (m> 0 integer) synchronization. Has been.

しかしながら、上述したファミコン通信システムでは、所定時間内に相手から入力情報を受信できなかった場合、情報を受信するまでの間、待機することを必要とするために、同期処理の一時停止を引き起こし、ファミコン通信システムを利用する利用者に違和感を与える。特にインターネット等の通信品質が保証されていない通信回線を用いる場合には数秒おきに一時停止を引き起こす場合があり、システムの商品価値を著しく損なうことになるという問題点があった。   However, in the above-mentioned NES communication system, when input information cannot be received from a partner within a predetermined time, it is necessary to wait until the information is received. It gives a sense of incongruity to users who use NES communication systems. In particular, when a communication line such as the Internet whose communication quality is not guaranteed is used, there is a problem that a suspension may be caused every few seconds, and the commercial value of the system is remarkably impaired.

本発明は、上記従来のファミコン通信システムにおける問題点に鑑みてなされたものであり、所定時間内に相手からの入力情報を受信できなかった場合であっても、同期処理を一時停止することなく、同期処理を進めることができる同期通信方法及び同期通信装置を提供することをその課題とするとする。   The present invention has been made in view of the problems in the above-described conventional NES communication system. Even when input information from the other party cannot be received within a predetermined time, the synchronization processing is not temporarily stopped. It is an object of the present invention to provide a synchronous communication method and a synchronous communication apparatus that can advance the synchronization process.

本発明の上記課題は、通信回線に接続された複数の情報端末間で同期を取りながら通信処理を行う同期通信装置であって、前記通信回路に接続された前記複数の情報端末が正常の通信状態にあるかどうかを判断する判断手段と、前記判断手段の結果により、前記複数の情報端末の少なくとも一つの情報端末の通信状態に異常が発生して該複数の情報端末の他の情報端末と同期が取れていないと判断された場合には、同期が取れない該同期目の直前の同期目の入力情報をみなし入力情報として設定する入力情報設定手段と、前記入力情報設定手段により設定されたみなし入力情報に基づいて所定の演算処理を実行して前記同期が取れない同期目の同期状態を求める演算手段とを備え、前記判断手段が前記異常が発生した情報端末の通信状態が回復して前記複数の情報端末の他の情報端末と同期が取れると判断するまで、前記各処理を繰り返すことを特徴とする同期通信装置によって達成される。   The above-described problem of the present invention is a synchronous communication device that performs communication processing while synchronizing a plurality of information terminals connected to a communication line, and the plurality of information terminals connected to the communication circuit are in normal communication. Determining means for determining whether or not the communication state of at least one information terminal of the plurality of information terminals has occurred due to a result of the determination means, and other information terminals of the plurality of information terminals When it is determined that the synchronization is not established, the input information setting means for setting the input information of the synchronization immediately before the synchronization that cannot be synchronized as the input information is set, and the input information setting means Calculation means for executing a predetermined calculation process based on the assumed input information to obtain the synchronization state of the synchronization at which the synchronization cannot be established, and the determination means determines the communication state of the information terminal in which the abnormality has occurred. The other information terminal and synchronization of the plurality of information terminals until it is determined that take, is achieved by the synchronous communication device and repeating said each processed.

本発明の上記課題は、通信回線に接続された複数の情報端末間で同期を取りながら通信処理を行う同期通信方法であって、前記通信回路に接続された前記複数の情報端末が正常の通信状態にあるかどうかを判断する段階と、前記判断の結果により、前記複数の情報端末の少なくとも一つの情報端末の通信状態に異常が発生して該複数の情報端末の他の情報端末と同期が取れていないと判断された場合には、同期が取れない該同期目の直前の同期目の入力情報をみなし入力情報として設定する段階と、前記設定されたみなし入力情報に基づいて所定の演算処理を実行して前記同期が取れない同期目の同期状態を求める段階と、前記異常が発生した情報端末の通信状態が回復して前記複数の情報端末の他の情報端末と同期が取れるまで前記各段階を繰り返す段階とを具備することを特徴とする同期通信方法によって達成される。   The above-mentioned problem of the present invention is a synchronous communication method for performing communication processing while synchronizing a plurality of information terminals connected to a communication line, wherein the plurality of information terminals connected to the communication circuit are in normal communication. Determining whether it is in a state and a result of the determination, an abnormality occurs in a communication state of at least one information terminal of the plurality of information terminals, and synchronization with other information terminals of the plurality of information terminals is performed. If it is determined that the input is not taken, the step of setting the input information of the synchronization immediately before the synchronization that cannot be taken as the assumed input information, and a predetermined calculation process based on the set assumed input information To obtain the synchronization state of the synchronization at which the synchronization cannot be achieved, and until the communication state of the information terminal in which the abnormality has occurred is recovered and synchronization with the other information terminals of the plurality of information terminals is achieved. Stage It is achieved by the synchronous communication method characterized by comprising the steps of repeating.

本発明の同期通信装置によれば、上記構成により、所定時間内に相手からの入力情報を受信できなくても同期処理を実行することができるので、同期処理を一時停止することなく、同期処理を進めることができるという効果を奏する。   According to the synchronous communication device of the present invention, with the above configuration, the synchronization process can be executed even if the input information from the other party cannot be received within a predetermined time, so the synchronization process can be performed without pausing the synchronization process. The effect that can be advanced.

同様に、本発明の同期通信方法によれば、上記段階により、所定時間内に相手からの入力情報を受信できなくても同期処理を実行することができるので、同期処理を一時停止することなく、同期処理を進めることができるという効果を奏する。   Similarly, according to the synchronous communication method of the present invention, the synchronization process can be executed even if the input information from the other party cannot be received within a predetermined time according to the above steps, so that the synchronization process is not temporarily stopped. There is an effect that the synchronization process can be advanced.

本発明の同期通信装置では、前記演算手段は、前記所定の演算処理として、前記同期が取れない同期目におけるゲームの同期状態を得るための演算処理を実行するように構成してもよい。   In the synchronous communication device of the present invention, the calculation means may be configured to execute a calculation process for obtaining a synchronized state of the game at the synchronization stage where the synchronization cannot be established as the predetermined calculation process.

本発明の同期通信装置では、前記演算手段は、前記情報端末を、同期状態をバックアップしたものに戻すように構成してもよい。   In the synchronous communication apparatus of the present invention, the calculation means may be configured to return the information terminal to a backup of the synchronization state.

本発明の同期通信装置では、前記入力情報をみなし入力情報として設定し続けても、前記判断手段が全ての前記情報端末を同一の同期状態に揃えることが不可能と判断した場合には、前記演算手段は、前記情報端末を、同期状態をバックアップしたものに戻すように構成してもよい。   In the synchronous communication device of the present invention, even if the input information is regarded as input information and continues to be set, if the determination unit determines that it is impossible to align all the information terminals in the same synchronization state, The computing means may be configured to return the information terminal to a backup of the synchronization state.

本発明の同期通信装置では、前記演算手段は、前記みなし入力情報を用いている間に実際の入力情報を保存し、通常の同期処理が再開されたときに、入力情報として該保存した情報を任意の数だけ飛ばして用いるように構成してもよい。   In the synchronous communication device of the present invention, the arithmetic means stores the actual input information while using the deemed input information, and when the normal synchronization processing is resumed, the calculated information is stored as the input information. An arbitrary number may be used by skipping.

本発明の同期通信装置では、前記演算処理は、ゲームキャラクタの位置の計算、当り判定、得点計算のいずれか一つまたは二つ以上の組合せであってもよい。   In the synchronous communication device of the present invention, the calculation process may be any one of a calculation of a game character position, a hit determination, or a score calculation, or a combination of two or more.

本発明の同期通信装置では、前記入力情報設定手段は、同期が取れない同期目の入力情報の代わりに、同期が取れない該同期目より前の任意の同期目の入力情報をみなし入力情報として設定するように構成してもよい。   In the synchronous communication device according to the present invention, the input information setting means regards input information of any synchronization before the synchronization that cannot be synchronized as input information instead of synchronization input information that cannot be synchronized. You may comprise so that it may set.

本発明の同期通信方法では、前記演算する段階は、前記所定の演算処理として、前記同期が取れない同期目におけるゲームの同期状態を得るための演算処理を実行するように構成してもよい。   In the synchronous communication method of the present invention, the step of calculating may be configured to execute, as the predetermined calculation process, a calculation process for obtaining a synchronized state of the game at the synchronization stage where the synchronization cannot be established.

本発明の同期通信方法では、前記演算する段階は、前記情報端末を、同期状態をバックアップしたものに戻すように構成してもよい。   In the synchronous communication method of the present invention, the step of calculating may be configured to return the information terminal to a backup of the synchronization state.

本発明の同期通信方法では、前記入力情報をみなし入力情報として設定し続けても、前記判断する段階で全ての前記情報端末を同一の同期状態に揃えることが不可能と判断した場合には、前記演算する段階手段は、前記情報端末を、同期状態をバックアップしたものに戻すように構成してもよい。   In the synchronous communication method of the present invention, if it is determined that it is impossible to align all the information terminals in the same synchronization state in the determination step even if the input information is regarded as input information and is continuously set, The calculating means may be configured to return the information terminal to a backup of the synchronization state.

本発明の同期通信方法では、前記演算する段階は、前記みなし入力情報を用いている間に実際の入力情報を保存し、通常の同期処理が再開されたときに、入力情報として該保存した情報を任意の数だけ飛ばして用いるように構成してもよい。   In the synchronous communication method of the present invention, the calculating step stores the actual input information while using the deemed input information, and stores the stored information as input information when normal synchronization processing is resumed. Any number may be skipped and used.

本発明の同期通信方法では、前記演算処理は、ゲームキャラクタの位置の計算、当り判定、得点計算のいずれか一つまたは二つ以上の組合せであってもよい。   In the synchronous communication method of the present invention, the calculation process may be any one of a game character position calculation, a hit determination, or a score calculation, or a combination of two or more.

本発明の同期通信方法では、前記入力情報を設定する段階は、同期が取れない同期目の入力情報の代わりに、同期が取れない該同期目より前の任意の同期目の入力情報をみなし入力情報として設定するように構成してもよい。   In the synchronous communication method of the present invention, in the step of setting the input information, the input information of any arbitrary synchronization prior to the synchronization that cannot be synchronized is regarded as input instead of the synchronization input information that cannot be synchronized. You may comprise so that it may set as information.

以下、添付した図面を参照して、本発明による同期通信方法及び同期通信装置の好適な実施形態を説明する。
図1は、本発明による同期通信装置の一実施形態である複数の利用者が同時に参加する形式の同期通信ゲームシステムの構成を示す概略ブロック図である。
Hereinafter, preferred embodiments of a synchronous communication method and a synchronous communication device according to the present invention will be described with reference to the accompanying drawings.
FIG. 1 is a schematic block diagram showing a configuration of a synchronous communication game system of a form in which a plurality of users participate simultaneously as an embodiment of a synchronous communication apparatus according to the present invention.

図1に示す同期通信ゲームシステム1は、同期通信処理を行うためにサーバとしての役割を果たす判断手段である同期サーバ10と、同期サーバ10及び情報端末30に接続されかつそれらの間のデータ通信を行う通信回線である通信ネットワーク20と、所定のデータを入出力するように構成されかつゲーム参加者側に配置された二つの情報端末30a、30bを含む情報端末30とにより構成されている。   The synchronous communication game system 1 shown in FIG. 1 is connected to the synchronous server 10 that is a determination unit that plays a role as a server in order to perform synchronous communication processing, and data communication between the synchronous server 10 and the information terminal 30 The communication network 20 is a communication line for performing the game, and the information terminal 30 includes two information terminals 30a and 30b that are configured to input and output predetermined data and are arranged on the game participant side.

本実施例では、情報端末30は、二つの情報端末30a、30bにより構成されているが、本発明は、これらに限定されるものではなく、三つ以上の情報端末30a〜30N(N=c〜z)により構成されてもよい。ここでは簡略化するために、二つの端末装置30a、30bの場合について説明する。   In this embodiment, the information terminal 30 includes two information terminals 30a and 30b. However, the present invention is not limited to these, and three or more information terminals 30a to 30N (N = c -Z). Here, for simplification, the case of two terminal devices 30a and 30b will be described.

図1の同期通信ゲームシステム1は、ゲーム参加者が通信ネットワーク20を介して各自の情報端末30a、30bを同期サーバ10に接続することより、お互いの情報を相互に交換することができるように構成されている。
情報端末30a、30bは、入力情報設定手段の一部を構成する外部情報入力部40a、40bと、同期通信処理を行うためにクライアントとしての役割を果たす入力情報設定手段の一部を構成する同期クライアント50a、50bと、演算手段である演算部60a、60bと、情報出力部70a、70bとにより構成されている。
以下、同期クライアント50a、50bをまとめて呼ぶ場合には、単に同期クライアント50と表す。同様に、演算部60a、60bについても、まとめて呼ぶ場合には、以下単に演算部60と表す。
また、同期クライアント50a、演算部50aに関わるステップについては、SXXXXa(XXXXは任意の数値)と表し、同期クライアント50b、演算部50bに関わるステップについてはSXXXXb(XXXXは任意の数値)と表すが、両者を区別せずまとめて呼ぶ場合には、末尾のaやbを省いてSXXXX(XXXXは任意の数値)と表すものとする。
The synchronous communication game system 1 in FIG. 1 allows game participants to exchange information with each other by connecting their information terminals 30a and 30b to the synchronous server 10 via the communication network 20. It is configured.
The information terminals 30a and 30b are external information input units 40a and 40b that constitute a part of the input information setting means, and a synchronization that constitutes a part of the input information setting means that serves as a client in order to perform synchronous communication processing. Clients 50a and 50b, calculation units 60a and 60b, which are calculation means, and information output units 70a and 70b are configured.
Hereinafter, when the synchronous clients 50a and 50b are collectively referred to, they are simply expressed as the synchronous client 50. Similarly, the calculation units 60a and 60b are also simply referred to as the calculation unit 60 below when collectively called.
In addition, the steps related to the synchronization client 50a and the calculation unit 50a are represented as SXXXa (XXXX is an arbitrary numerical value), and the steps related to the synchronization client 50b and the calculation unit 50b are expressed as SXXXXb (XXXX is an arbitrary numerical value). When calling both together without distinguishing, both a and b at the end are omitted and expressed as SXXX (XXXX is an arbitrary numerical value).

次に、図2を参照して、図1に示す同期通信ゲームシステム1で実際にゲームが行われるときの動作を説明する。前提として、今からN回目の同期処理を実行するものとする。
まず、情報端末30aの同期クライアント50aは、ゲーム参加者によって外部情報入力部40aに入力されている入力情報a_Nを取得する(ステップS0000a)。
Next, with reference to FIG. 2, an operation when the game is actually performed in the synchronous communication game system 1 shown in FIG. 1 will be described. As a premise, it is assumed that the Nth synchronization process is executed from now.
First, the synchronization client 50a of the information terminal 30a acquires the input information a_N that has been input to the external information input unit 40a by the game participant (step S0000a).

同期クライアント50aは、入力情報a_Nを同期サーバ10へ送信する(ステップS0001a)。入力情報a_Nを受信した同期サーバ10は、入力情報a_Nを全ての対戦相手の同期クライアント50、本実施例では同期クライアント50bのみ、へ送信する(ステップS0002a)。   The synchronization client 50a transmits the input information a_N to the synchronization server 10 (step S0001a). The synchronization server 10 that has received the input information a_N transmits the input information a_N to all the synchronization clients 50 of the opponents, in this embodiment, only the synchronization client 50b (step S0002a).

同様に、情報端末30bの同期クライアント50bは、ゲーム参加者によって外部情報入力部50bに入力されている入力情報b_Nを取得し(ステップS0000b)、同期サーバ10へ送信する(ステップS0001b)。同期サーバ10によって受信された入力情報b_Nは、同期クライアント50aへと送信される(ステップS0002b)。
同期クライアント50aは、同期サーバ10から送信された入力情報b_Nを受信し(ステップS0003a)、N同期目の入力情報、即ち入力情報a_N、入力情報b_N(以下、入力情報INa_Nと表する)を揃えることができる。
Similarly, the synchronization client 50b of the information terminal 30b acquires the input information b_N input to the external information input unit 50b by the game participant (step S0000b) and transmits it to the synchronization server 10 (step S0001b). The input information b_N received by the synchronization server 10 is transmitted to the synchronization client 50a (step S0002b).
The synchronization client 50a receives the input information b_N transmitted from the synchronization server 10 (step S0003a), and prepares input information for the Nth synchronization, that is, input information a_N and input information b_N (hereinafter referred to as input information INa_N). be able to.

同様に、同期クライアント50bは、入力情報a_Nを受信し(ステップS0003b)、N同期目の入力情報、即ち入力情報a_N、入力情報b_N(以下、入力情報INb_Nと表する)を揃えることができる。ここで、入力情報INa_N=入力情報INb_Nであるが、このように両同期クライアント50a、50bにおけるN同期目の入力情報が等しい場合、以下、代表して入力情報IN_Nと表する。
このようにして、N回目の同期処理を行うために必要な全情報端末30a、30bの入力情報IN_Nを、それぞれの同期クライアント50a、50bで共有できる。
Similarly, the synchronization client 50b can receive the input information a_N (step S0003b), and can align input information of the Nth synchronization, that is, input information a_N and input information b_N (hereinafter, referred to as input information INb_N). Here, the input information INa_N = input information INb_N. When the input information of the Nth synchronization in the two synchronization clients 50a and 50b is equal in this way, the input information IN_N will be representatively represented below.
In this way, the input information IN_N of all the information terminals 30a and 30b necessary for performing the N-th synchronization process can be shared by the respective synchronization clients 50a and 50b.

次いで、同期クライアント50aは、入力情報IN_Nを演算部60aへ譲渡する(ステップS0004a)。演算部60aは、入力情報IN_Nと、情報端末30aにおける直前のゲームの同期状態Sa_N−1を元に演算処理を実行し、N同期目のゲームの同期状態Sa_Nを算出する(ステップS0005a)。同期状態Sa_Nは、情報出力部70aによって表示される。   Next, the synchronization client 50a transfers the input information IN_N to the calculation unit 60a (Step S0004a). The computing unit 60a performs arithmetic processing based on the input information IN_N and the synchronization state Sa_N-1 of the immediately previous game in the information terminal 30a, and calculates the synchronization state Sa_N of the Nth synchronization game (step S0005a). The synchronization state Sa_N is displayed by the information output unit 70a.

同様に、同期クライアント50bでも入力情報IN_Nと、情報端末30bにおける直前のゲームの同期状態Sb_N−1を元に演算処理を実行し、N同期目のゲームの同期状態Sb_Nが算出される。同期状態Sb_Nは、情報出力部70bによって表示される。   Similarly, the synchronization client 50b also performs arithmetic processing based on the input information IN_N and the previous game synchronization state Sb_N-1 in the information terminal 30b, and calculates the Nth game synchronization state Sb_N. The synchronization state Sb_N is displayed by the information output unit 70b.

ここで、同期状態Sa_N−1=同期状態Sb_N−1ならば、入力情報INa_N=入力情報INb_Nであるため、同期状態Sa_N=同期状態Sb_Nとなる(このようにN同期目の同期状態が等しい場合、以下、代表して同期状態S_Nと表する)。   Here, if the synchronization state Sa_N-1 = synchronization state Sb_N-1, since the input information INa_N = input information INb_N, the synchronization state Sa_N = synchronization state Sb_N (in this way, the synchronization state of the Nth synchronization is equal) Hereinafter, it is represented as a representative synchronization state S_N).

このようにして情報端末30a、30bは、同一の入力情報を共有することで同一の同期状態を共有できる。
同期クライアント50a、50bは、同期回数NをN+1に進め次の同期処理(ステップS0000a〜、ステップS0000b〜)を同様に繰り返す。両方の同期クライアント50a、50bにおいて同一の入力情報が共有され続ける限り、同一の同期状態が共有される。
In this way, the information terminals 30a and 30b can share the same synchronization state by sharing the same input information.
The synchronization clients 50a and 50b advance the number N of synchronizations to N + 1 and repeat the next synchronization processing (steps S0000a to S0000b) in the same manner. As long as the same input information continues to be shared by both the synchronization clients 50a and 50b, the same synchronization state is shared.

次に、図3を用いてゲームの途中で、同期クライアント50aと同期サーバ10との間の通信状態が一時的に悪くなった場合の動作を説明する。
ここでは同期クライアント50aと同期サーバ10との間の通信が悪くなった場合を想定する。この時、同期クライアント50aは、所定時間内に入力情報a_Nを同期サーバ10へ送信することができない(ステップS0101a)。
Next, the operation when the communication state between the synchronization client 50a and the synchronization server 10 temporarily deteriorates during the game will be described with reference to FIG.
Here, it is assumed that communication between the synchronization client 50a and the synchronization server 10 has deteriorated. At this time, the synchronization client 50a cannot transmit the input information a_N to the synchronization server 10 within a predetermined time (step S0101a).

従来の技術を用いた場合には、当然相手からの情報を受信することもできず、通信状態が回復して相手からの情報を受信するまで同期処理を一時停止していた。このためゲームの途中で突然画面の動きが止まり、ゲームユーザに違和感を与え、ゲームの商品価値を著しく下げる原因ともなっていた。以下に続く本実施例の説明で、このような一時停止を起こすことなく処理を進める方法を示す。   When the conventional technique is used, information from the other party cannot be received, and the synchronization process is temporarily stopped until the communication state is recovered and information from the other party is received. For this reason, the movement of the screen suddenly stops in the middle of the game, which gives the game user a sense of incongruity and causes a significant reduction in the product value of the game. In the following description of the present embodiment, a method of proceeding without causing such a temporary stop will be described.

これ以降の処理は、上述した一時停止を防止する処理になるが、この間も同期クライアント50aは、サーバ10へ入力情報a_Nの送信が成功するまで再送処理を継続することに注意する。また、この時の同期回数Nを一般的に用いられる同期回数Nと区別するために以下Wと表記する。   The subsequent processing is processing that prevents the above-described pause, but it is noted that the synchronization client 50a continues resending processing until input information a_N is successfully transmitted to the server 10 during this time. Further, the number of times of synchronization N at this time is expressed as W below in order to distinguish from the number of times of synchronization N that is generally used.

同期クライアント50aは、所定時間内に入力情報a_Wを送信することができないため、通信状態が悪くなっていると判断する。このため、これ以降は、通信状態の悪化によって同期処理が一時停止されるのを回避する処理を行う。具体的には、まず、W−1同期目までは正常に処理できたことを同期サーバ10へ送信しようとする(ステップS0107a)。実際には通信状態が悪いため、送信できるまで再送処理を継続する(ステップS0107a)が、前記同様、これと並行して以下の処理を行う。また、以下特に断りがない限りは、通信状態が悪いために情報の送受信ができず再送処理(或いは受信待ち処理)を行う場合は、その再送処理等と並行してそれ以降の処理を行うものとする。   Since the synchronization client 50a cannot transmit the input information a_W within a predetermined time, the synchronization client 50a determines that the communication state has deteriorated. For this reason, after this, the process which avoids that a synchronous process is suspended temporarily by the deterioration of a communication state is performed. Specifically, first, it is attempted to transmit to the synchronization server 10 that the normal processing has been performed up to the W-1th synchronization (step S0107a). Since the communication state is actually bad, the retransmission process is continued until transmission is possible (step S0107a). As described above, the following process is performed in parallel. In addition, unless otherwise specified, when a retransmission process (or reception waiting process) is performed because information cannot be transmitted / received due to a poor communication state, subsequent processes are performed in parallel with the retransmission process, etc. And

一方、同期クライアント50bは、入力情報b_Wを同期サーバ10へ送信する(ステップS0101b)。同期サーバ10は、受信した入力情報b_Wを同期クライアント50aへ送信する。実際には通信状態が悪いため、送信できるまで再送処理を継続する(ステップS0102b)。同期クライアント50bは、情報端末30a側の通信状態が悪いため所定時間内に入力情報a_Wを受信することができない(ステップS0103b)。同期クライアント50bは、通信状態が悪化していると判断し、前記同様、受信待ち状態を保ちつつ一時停止を回避する処理に入る。同期クライアント50bは、W−1同期目まで正常に処理できたことを同期サーバ10へ送信する(ステップS0104b)。
同期サーバ10は、同期クライアント50bがW−1同期目までは正常に処理できたことを受信する(ステップS0105b)。
On the other hand, the synchronization client 50b transmits the input information b_W to the synchronization server 10 (step S0101b). The synchronization server 10 transmits the received input information b_W to the synchronization client 50a. Since the communication state is actually poor, the retransmission process is continued until transmission is possible (step S0102b). The synchronization client 50b cannot receive the input information a_W within a predetermined time because the communication state on the information terminal 30a side is poor (step S0103b). The synchronization client 50b determines that the communication state has deteriorated, and enters the process of avoiding the temporary stop while maintaining the reception waiting state as described above. The synchronization client 50b transmits to the synchronization server 10 that it has been processed normally up to the W-1th synchronization (step S0104b).
The synchronization server 10 receives that the synchronization client 50b has successfully processed until the W-1th synchronization (step S0105b).

次に、図4を参照して、図3に続く動作を説明する。同期クライアント50aは、演算部60aに通信状態が悪化していることを通知する(ステップS0201a)。演算部60aは、現在保持している直前のゲームの同期状態S_W−1をバックアップする(ステップS0202a)。   Next, the operation following FIG. 3 will be described with reference to FIG. The synchronization client 50a notifies the computing unit 60a that the communication state has deteriorated (step S0201a). The computing unit 60a backs up the synchronization state S_W-1 of the immediately previous game currently held (step S0202a).

同期クライアント50aは、通信状態の悪化のため入力情報INa_Wを作成できない。このため、代わりに直前の入力情報(=INa_W−1=IN_W−1)を「みなし入力情報」として演算部60aへ渡す(ステップS0203a)。演算部60aは、正規の入力情報の代わりに受け取ったみなし入力情報IN_W−1を元に演算処理を実行し、W同期目におけるゲームの同期状態を算出する(ステップS0204a)。ここで算出された同期状態Sa_Wは、「みなし入力情報」を用いて算出されているため情報端末30a側における「仮の」値となる。同期クライアント50aは、同期回数WをW+1に進めて次の仮同期処理(ステップS0203a〜)を同様に繰り返す。つまり、みなし入力情報IN_W−1を用いて「仮の」N同期目の同期状態Sa_Nを算出することを繰り返す。このようにして、一時的に通信状態が悪化しても、同期処理を一時停止することなく続けることができる。   The synchronization client 50a cannot create the input information INa_W due to the deterioration of the communication state. Therefore, instead, the immediately preceding input information (= INa_W−1 = IN_W−1) is passed to the computing unit 60a as “deemed input information” (step S0203a). The arithmetic unit 60a performs arithmetic processing based on the assumed input information IN_W-1 received instead of the regular input information, and calculates the game synchronization state at the W-th synchronization (step S0204a). The synchronization state Sa_W calculated here is a “provisional” value on the information terminal 30a side because it is calculated using “deemed input information”. The synchronization client 50a advances the number of synchronizations W to W + 1 and repeats the next temporary synchronization process (steps S0203a ~) in the same manner. That is, the calculation of the “provisional” N-th synchronization state Sa_N is repeated using the deemed input information IN_W−1. In this way, even if the communication state temporarily deteriorates, the synchronization process can be continued without pausing.

同期クライアント50bにおいても、同様に、通信状態の悪化を通知し(ステップS0201b)、同期状態のバックアップ(ステップS0202b)を行い、「みなし入力情報」を用いて仮の同期処理を繰り返す(ステップS0203b〜)。これらの繰り返しは通信状態が回復するまで行われる。   Similarly, the synchronization client 50b notifies the deterioration of the communication state (step S0201b), performs the backup of the synchronization state (step S0202b), and repeats the provisional synchronization process using “deemed input information” (steps S0203b˜). ). These repetitions are performed until the communication state is recovered.

以下、図5〜図8を参照して、通信状態が回復した後の場合の動作を説明する。
通信状態が回復したことによって、図3のステップS0101aにおいて送信された「情報端末30a側においてW−1同期目まで正常に処理できた」という情報が同期サーバ10に到達する(ステップS0301a)。
同期サーバ10は、全ての同期クライアント50で正常に行われた同期回数が同一回数であるかどうかを判断する(ステップS0302)。本実施例の場合は、全ての同期クライアント50においてW−1同期目まで正常に同期処理が行われ、W同期目からは「みなし入力」を用いた仮の同期処理を行っており、正常に行われた同期回数が一致するものとする。このような場合には、全ての同期クライアント50に対して同一の入力情報が渡され続けてきたこと(つまり、入力情報INa_N=入力情報INb_Nであること)が保証され、同期状態が同一であること(つまり、同期状態Sa_N=同期状態Sb_Nであること)が保証される。
このため、全ての同期クライアント50において、同期回数を同一に揃えた後で、通常の同期処理を再開すれば、全同期クライアント50における同期状態は同一に保たれることになる。このため、以降の処理において全同期クライアント50において同期回数を同一に揃えることを目指す。
Hereinafter, the operation after the communication state is recovered will be described with reference to FIGS.
As the communication state is recovered, the information “successfully processed until the W-1th synchronization on the information terminal 30a side” transmitted in step S0101a in FIG. 3 reaches the synchronization server 10 (step S0301a).
The synchronization server 10 determines whether the number of synchronizations normally performed by all the synchronization clients 50 is the same number (step S0302). In the case of the present embodiment, the synchronization processing is normally performed up to the W-1th synchronization in all the synchronization clients 50, and the provisional synchronization processing using “deemed input” is performed from the Wth synchronization. Assume that the number of synchronizations performed is the same. In such a case, it is guaranteed that the same input information has been passed to all the synchronization clients 50 (that is, input information INa_N = input information INb_N), and the synchronization state is the same. (That is, synchronization state Sa_N = synchronization state Sb_N) is guaranteed.
For this reason, if the normal synchronization processing is resumed after all the synchronization clients 50 have the same number of synchronizations, the synchronization state in all the synchronization clients 50 is kept the same. For this reason, it aims at making the frequency | count of synchronization the same in all the synchronous clients 50 in subsequent processes.

同期サーバ10は、全ての同期クライアント50に通信が回復したということを伝える(ステップS0303)。この後、同期クライアント50と同期サーバ10との間で一回の通信を行うが(具体的には、ステップS0305〜ステップS0505まで)、その通信を行う間に必要な同期処理回数を通知する(ステップS0303)。この回数は、これまでサーバ、クライアント間で行われてきた通信時間に基づいて概算される。例えば、1回の通信に70msかかり、1回の同期処理に32msかかるとすれば、70÷32=2余り6であり、必要な同期回数は2+1=3回となる。本実施例の場合、K回とする。
更に、相手の同期クライアント50がどの回まで正常に同期処理を行ったかということ、及び相手の同期クライアント50がどの回まで自己の同期情報を送信したかということを送信する(ステップS0303)。
The synchronization server 10 notifies all the synchronization clients 50 that the communication has been recovered (step S0303). Thereafter, one communication is performed between the synchronization client 50 and the synchronization server 10 (specifically, from step S0305 to step S0505), but the number of synchronization processes required during the communication is notified ( Step S0303). This number is estimated based on the communication time that has been performed between the server and the client. For example, if it takes 70 ms for one communication and 32 ms for one synchronization process, 70 ÷ 32 = 2 remainder 6 and the required number of synchronizations is 2 + 1 = 3. In this embodiment, the number of times is K.
Further, it is transmitted how many times the partner synchronization client 50 has performed the synchronization process normally and how many times the partner synchronization client 50 has transmitted its own synchronization information (step S0303).

同期サーバ10から通信回復の通知を受けた時点で、同期クライアント50aにおいて成された仮同期処理の回数をM回とする。同様に同期クライアント50bにおいて成された仮同期処理の回数をL回とする。同期クライアント50aは、同期サーバ10より通信回復通知を受信し(ステップS0304a)、現在の処理を終えている同期回数(=W+M−1)を同期サーバ10へ送り返す(ステップS0305a)。同様に、同期クライアント50bも同期サーバ10より通信回復を受信し(ステップS0304b)、現在処理を終えている同期回数(=W+L−1)を同期サーバ10へ送り返す(ステップS0305b)。同期サーバ10は、全てのクライアント50から現在処理を終了している同期回数を受信する(ステップS0306)。   When the communication recovery notification is received from the synchronization server 10, the number of temporary synchronization processes performed in the synchronization client 50a is M. Similarly, the number of temporary synchronization processes performed in the synchronization client 50b is L. The synchronization client 50a receives a communication recovery notification from the synchronization server 10 (step S0304a), and returns the number of synchronizations (= W + M−1) for which the current processing has been completed to the synchronization server 10 (step S0305a). Similarly, the synchronization client 50b also receives communication recovery from the synchronization server 10 (step S0304b), and returns the number of synchronizations (= W + L-1) for which processing is currently completed to the synchronization server 10 (step S0305b). The synchronization server 10 receives the number of synchronizations for which processing is currently completed from all the clients 50 (step S0306).

また、各同期クライアント50は、ステップS0304において相手がどの回まで各自の同期情報を送信したかを受信している。このため、各同期クライアント50は、相手が自分宛に送信した情報でまだ自分が受信していないものがいくつあるかを知ることができる。具体的には、同期クライアント50aは、入力情報b_Wを受信しておらず、同期クライアント50bは、入力情報a_Wを受信していない。通信状態が回復したことで、同期クライアント50aは、入力情報b_Wを受信することができる(ステップS0403a)。同様に、通信状態が回復したことで、同期サーバ10は、入力情報a_Wを受信することができる(ステップS0402a)。
入力情報a_Wを受信した同期サーバ10は、入力情報a_Wを同期クライアント50bへ送信する(ステップS0402a)。同期クライアント50bは、入力情報a_Wを受信する(ステップS0403b)。また、これらの各処理が終わるのを待つ必要もないため、以下の処理が並行して行われることに注意する。またここで受信されたa_W、b_Wは保持しておく必要がないため破棄される。
In addition, each synchronization client 50 receives how many times the partner has transmitted its synchronization information in step S0304. Therefore, each synchronization client 50 can know how many pieces of information that the other party has sent to itself have not yet been received. Specifically, the synchronization client 50a has not received the input information b_W, and the synchronization client 50b has not received the input information a_W. As the communication state is recovered, the synchronization client 50a can receive the input information b_W (step S0403a). Similarly, when the communication state is recovered, the synchronization server 10 can receive the input information a_W (step S0402a).
Receiving the input information a_W, the synchronization server 10 transmits the input information a_W to the synchronization client 50b (step S0402a). The synchronization client 50b receives the input information a_W (step S0403b). In addition, since it is not necessary to wait for these processes to be completed, it should be noted that the following processes are performed in parallel. The a_W and b_W received here are discarded because they do not need to be held.

同期クライアント50aは、同期サーバ10からの通知(ステップS0505a)があるまでは、みなし入力情報INaを用いて仮同期処理を実行、表示し続け(ステップS0501a、S0502a)、同期処理が一時停止するのを防ぐ。同期クライアント50bにおいても同様である(ステップS0501b、ステップS0502b)。この間、同期サーバ10側においては、次に述べる処理が並行して行われることになる。   Until the notification from the synchronization server 10 (step S0505a), the synchronization client 50a continues to execute and display the temporary synchronization process using the assumed input information INa (steps S0501a and S0502a), and the synchronization process is temporarily stopped. prevent. The same applies to the synchronization client 50b (steps S0501b and S0502b). During this time, the following processing is performed in parallel on the synchronization server 10 side.

同期サーバ10は、受信した同期回数の差(=L−M)を無くすためには、これ以降、各同期クライアント50がどの程度の速度で何回の同期処理を行えばいいかを算出する(ステップS0503)。例えば、同期クライアント50aによって送信された回数が1036回であり、同期クライアント50bによって送信された回数が1039回である場合、その差は3回である。同期クライアント50aにおいて、1同期処理を32msの速度で、9回行う一方、同期クライアント50bにおいて、1同期処理を48msの速度で、6回行えば、両同期クライアント50における同期回数と同期状態が、同一時刻(=288ms後)に最終的に一致する。   In order to eliminate the difference in the number of received synchronizations (= LM), the synchronization server 10 calculates how many times each synchronization client 50 should perform the synchronization processing thereafter (how many times) Step S0503). For example, when the number of times transmitted by the synchronization client 50a is 1036 times and the number of times transmitted by the synchronization client 50b is 1039 times, the difference is three times. In the synchronization client 50a, one synchronization process is performed nine times at a speed of 32 ms, while in the synchronization client 50b, if one synchronization process is performed six times at a speed of 48 ms, the number of synchronizations and the synchronization state in both synchronization clients 50 are Finally, they coincide at the same time (= 288 ms later).

同期サーバ10は、算出した同期処理の速度と回数を各同期クライアント50に対して通知する(ステップS0504)。なお、この間も、先ほど述べたように、同期クライアント50は、同期処理が停止しないように、みなし入力情報INaを用いて仮同期処理を繰り返している(ステップS0501、ステップS0502)。また、この同期サーバ10からの通知は、ステップS0303で算出された同期回数(=K回)以内に行われる。もし、K回以内にこの同期サーバ10からの通知を受信できなかった場合には、受信できるまで処理が一時停止されるため、Kは、十分大き目にとっておく必要がある。   The synchronization server 10 notifies the calculated synchronization processing speed and number of times to each synchronization client 50 (step S0504). During this time, as described above, the synchronization client 50 repeats the temporary synchronization processing using the assumed input information INa so that the synchronization processing does not stop (steps S0501 and S0502). Further, the notification from the synchronization server 10 is performed within the number of synchronizations (= K times) calculated in step S0303. If the notification from the synchronization server 10 cannot be received within K times, the process is suspended until it can be received, so K needs to be sufficiently large.

同期クライアント50aは、同期サーバ10から、同期クライアント50bと同期回数を合わせるために必要な同期処理速度、及び仮同期処理回数(=J回)を受け取る(ステップS0505a)。同期クライアント50aは、K回の仮同期処理を通常の速度で終了(ステップS0506、ステップS0507)した後、同期サーバ10より受け取った同期処理速度に従って、J回の仮同期処理を繰り返す(ステップS0601a、ステップS0602a)。   The synchronization client 50a receives from the synchronization server 10 the synchronization processing speed and provisional synchronization processing count (= J times) necessary to match the synchronization count with the synchronization client 50b (step S0505a). The synchronization client 50a ends the K temporary synchronization processes at a normal speed (steps S0506 and S0507), and then repeats the J temporary synchronization processes according to the synchronization processing speed received from the synchronization server 10 (steps S0601a and S0601a). Step S0602a).

同期クライアント50bにおいても同様に、同期サーバ10から同期処理速度、及び、仮同期処理回数(=J−L+M回)を受け取る(ステップS0505b)。同期クライアント50bは、同様に、K回の仮同期処理を通常の速度で終了した後、同期サーバ10より受け取った同期処理速度に従って、J−L+M回の仮同期処理を繰り返す(ステップS0601b、ステップS0602b)。   Similarly, the synchronization client 50b receives the synchronization processing speed and the number of temporary synchronization processes (= J−L + M times) from the synchronization server 10 (step S0505b). Similarly, the synchronization client 50b ends the K temporary synchronization processes at a normal speed, and then repeats the JL + M temporary synchronization processes according to the synchronization processing speed received from the synchronization server 10 (steps S0601b and S0602b). ).

この時点で、同期クライアント50aにおける同期処理回数は、(W−1)+M+K+J回となる。また、同期クライアント50bにおける同期処理回数は、(W−1)+L+K+(J−L+M)回=(W−1)+M+K+J回となり、両同期クライアント50における同期回数は等しくなる。つまり、同期クライアント50aと同期クライアント50bは、同一の同期状態を共有している状態に戻る。以降は、通常通りの同期処理(ステップS0000a〜ステップS0006a、ステップS0000b〜ステップS0006b)を繰り返すことできる。
これにより、通信状態が悪化した場合でも、相手の情報を受信するまでの間待ち状態に入り同期処理を一時停止することなく処理を続けるという効果が得られる。
At this time, the number of synchronization processes in the synchronization client 50a is (W-1) + M + K + J times. Further, the number of synchronization processes in the synchronization client 50b is (W−1) + L + K + (J−L + M) times = (W−1) + M + K + J times, and the number of synchronizations in both synchronization clients 50 is equal. That is, the synchronization client 50a and the synchronization client 50b return to a state where they share the same synchronization state. Thereafter, normal synchronization processing (steps S0000a to S0006a, steps S0000b to S0006b) can be repeated.
Thereby, even when the communication state deteriorates, there is an effect that the process enters a waiting state until the other party's information is received and the process is continued without temporarily stopping the synchronization process.

次に、図9を参照して、通信状態が悪化するタイミングが前回に比べ微妙にずれた場合について説明する。
ここでは同期回数NがN=Wの場合を想定する。同期クライアント50aは、同期サーバ10へ入力情報a_Wを送信する(ステップS1001a)。同期サーバ10は、入力情報a_Wを受信する。今回は、この入力情報a_Wの受信完了後に情報端末30a側の通信状態が悪くなるものとする。同期サーバ10は、受信した入力情報a_Wを同期クライアント50bに送信する(ステップS1002a)。
同様に、同期クライアント50bは、入力情報b_Wを同期サーバへ送信する(ステップS1001b)。同期サーバは、入力情報b_Wを受信するが、既に情報端末30a側の通信状態が悪くなっているため、入力情報b_Wを相手へ送信することができない(ステップS1002b)。
通信状態が悪くなっているため、同期クライアント50aは、所定時間内に入力情報b_Wを受信できない(ステップ1003a)。
Next, with reference to FIG. 9, the case where the timing at which the communication state deteriorates slightly deviates from the previous time will be described.
Here, it is assumed that the number of times of synchronization N is N = W. The synchronization client 50a transmits the input information a_W to the synchronization server 10 (step S1001a). The synchronization server 10 receives the input information a_W. This time, it is assumed that the communication state on the information terminal 30a side deteriorates after the reception of the input information a_W is completed. The synchronization server 10 transmits the received input information a_W to the synchronization client 50b (step S1002a).
Similarly, the synchronization client 50b transmits the input information b_W to the synchronization server (step S1001b). The synchronization server receives the input information b_W, but cannot transmit the input information b_W to the other party because the communication state on the information terminal 30a side has already deteriorated (step S1002b).
Since the communication state has deteriorated, the synchronization client 50a cannot receive the input information b_W within a predetermined time (step 1003a).

一方、同期クライアント50bは、入力情報a_Wを受信できる(ステップS1003b)ので、同期入力情報INb_Wを作成することができる(ステップS1004b)。演算部60bは、同期入力情報INb_Wを受け取り、W同期目の正常な処理を実行し、W同期目の状態を表示する(ステップS1005b)。このため、同期クライアント50bの同期回数は、同期クライアント50aに比べて一つ進むことになる。
続いて、同期クライアント50bは、同期回数をW+1に進めて、入力情報b_W+1を同期サーバ10へ送信する(ステップS1006b)。同期サーバ10は、入力情報b_W+1を受信するが、前回同様、情報端末30a側の通信状態が悪いため入力情報b_Wを同期クライアント50aへ送信できない(ステップS1007b)。
同期クライアント50aは、入力情報b_Wを受信することができず(ステップS1003a)、通信状態が悪化していると判断する。このため、同期処理が一時停止されるのを防ぐ処理を以後行う。前記同様、W−1同期目までは正常に処理できたことを同期サーバ10へ送信する(ステップS1004a)。実際には、通信状態が悪いため再送処理を継続する。
On the other hand, since the synchronization client 50b can receive the input information a_W (step S1003b), it can create the synchronization input information INb_W (step S1004b). The calculation unit 60b receives the synchronization input information INb_W, executes normal processing of the W synchronization, and displays the state of the W synchronization (step S1005b). For this reason, the number of synchronizations of the synchronization client 50b is advanced by one compared to the synchronization client 50a.
Subsequently, the synchronization client 50b advances the number of synchronizations to W + 1 and transmits the input information b_W + 1 to the synchronization server 10 (step S1006b). The synchronization server 10 receives the input information b_W + 1, but cannot transmit the input information b_W to the synchronization client 50a because the communication state on the information terminal 30a side is bad as in the previous time (step S1007b).
The synchronization client 50a cannot receive the input information b_W (step S1003a), and determines that the communication state has deteriorated. For this reason, a process for preventing the synchronization process from being suspended is subsequently performed. In the same manner as described above, information indicating that the normal processing has been performed until the W-1th synchronization is transmitted to the synchronization server 10 (step S1004a). Actually, since the communication state is bad, the retransmission process is continued.

一方、同期クライアント50bも、所定時間内に入力情報a_Wを受信できない(ステップS1008b)。同期クライアント50bも同様に通信状態が悪化していると判断し、W同期目までは正常に処理できたことを同期サーバ10へ送信する(ステップS1009b)。
同期クライアント50aは、W−1同期目まで正常に処理を行ったのに対し、同期クライアント50bはW同期目までも正常に処理を行っていることに注意する。
同期クライアント50aは、演算部60aに通信状態が悪化していることを通知する(ステップS1101a)。演算部60aは、直前の同期状態S_W−1をバックアップする(ステップS1102a)。同期クライアント50aは、同期処理が一時停止されるのを防ぐため、直前の同期入力情報IN_W−1を「みなし入力情報」として用いながら、前回同様、仮の同期処理を行う(ステップS1103a、ステップS1104a)。
On the other hand, the synchronization client 50b cannot receive the input information a_W within the predetermined time (step S1008b). Similarly, the synchronization client 50b determines that the communication state has deteriorated, and transmits to the synchronization server 10 that the normal processing has been performed until the W-th synchronization (step S1009b).
Note that the synchronization client 50a has processed normally until the W-1th synchronization, whereas the synchronization client 50b has processed normally until the Wth synchronization.
The synchronization client 50a notifies the computing unit 60a that the communication state has deteriorated (step S1101a). The computing unit 60a backs up the immediately preceding synchronization state S_W-1 (step S1102a). In order to prevent the synchronization processing from being temporarily stopped, the synchronization client 50a performs the provisional synchronization processing similarly to the previous time while using the previous synchronization input information IN_W-1 as “deemed input information” (steps S1103a and S1104a). ).

一方、同期クライアント50bも同様に演算部60bに通信状態が悪化していることを通知する(ステップS1101b)。演算部60bは、直前の同期状態S_Wをバックアップする(ステップS1102b)。ここで、演算部60aは、同期回数がW−1の時の同期状態をバックアップしたのに対し、演算部60bは、同期回数がWの時の同期状態のバックアップを行っていることに注意する。
同期クライアント50bは、同期処理が一時停止されるのを防ぐため、直前の同期入力情報IN_Wを「みなし入力情報」として用いながら、同様に仮の同期処理を行う(ステップS1103b、ステップS1104b)。
ここで、同期クライアント50aは、「みなし入力情報」として同期入力情報IN_W−1を用いているのに対し、同期クライアント50bは、「みなし入力情報」として同期入力情報IN_Wを用いていることに注意する。
On the other hand, the synchronous client 50b similarly notifies the computing unit 60b that the communication state has deteriorated (step S1101b). The computing unit 60b backs up the immediately preceding synchronization state S_W (step S1102b). Here, it should be noted that the calculation unit 60a backs up the synchronization state when the number of synchronizations is W-1, while the calculation unit 60b backs up the synchronization state when the number of synchronizations is W. .
In order to prevent the synchronization processing from being temporarily stopped, the synchronization client 50b similarly performs provisional synchronization processing using the immediately preceding synchronization input information IN_W as “deemed input information” (steps S1103b and S1104b).
Note that the synchronous client 50a uses the synchronous input information IN_W-1 as “deemed input information”, whereas the synchronous client 50b uses the synchronous input information IN_W as “deemed input information”. To do.

次に、図11を参照して、通信状態が回復した後の場合について説明する。
通信状態が回復したことによって、図9のステップS1004aにおいて送信された「情報端末30a側においてW−1同期目まで正常に処理できた」という情報が同期サーバ10に到達する(ステップS1201a)。同期サーバ10は、全ての同期クライアントで正常に行われた同期回数が同一回数であるかどうかを判断する(ステップS1202)。本実施例の場合は、情報端末30a側においてW−1同期目であるのに対して情報端末30b側においては、W同期目まで正常に処理が行われている。同期サーバ10は、同期入力情報INb_Wが同期入力情報IN_W−1と同一の入力内容かどうかをチェックする(ステップS1203)。
Next, the case after the communication state is recovered will be described with reference to FIG.
By the recovery of the communication state, the information transmitted in step S1004a in FIG. 9 that “the information terminal 30a has been successfully processed until the W-1th synchronization” reaches the synchronization server 10 (step S1201a). The synchronization server 10 determines whether or not the number of synchronizations normally performed by all the synchronization clients is the same number (step S1202). In the case of the present embodiment, the W-1 synchronization is performed on the information terminal 30a side, whereas the information terminal 30b side is normally processed up to the W synchronization. The synchronization server 10 checks whether the synchronization input information INb_W has the same input content as the synchronization input information IN_W-1 (step S1203).

同期入力情報INb_Wと同期入力情報INb_W−1が同一の場合を考える。情報端末30a側においては、通信状態の悪化を通知(ステップS1101a)後、「みなし入力情報」として同期入力情報INa_W−1が用い続けられている。一方、情報端末30b側においては、「みなし入力情報」として同期入力情報INb_Wが用い続けられている。ここで、情報端末30a側、情報端末30b側それぞれにおいて用い続けられている「みなし入力情報」の同期回数がW−1とWで等しくないが、結果として、両者で用い続けられている入力情報は、同一のものになる。何故なら、同期入力情報INb_W=同期入力情報INb_W−1であり、同期入力情報INa_W−1=同期入力情報INb_W−1だからである(W−1同期目までは正常に同期処理が行われているため、双方における入力情報は等しいことに注意する)。従って、任意の同期回数Nにおいて、同期入力情報INa_N=同期入力情報INb_Nであることが保証され、同期状態Sa_N=同期状態Sb_Nであることが保証される。
このため、全ての同期クライアント50において同期回数を同一に揃えた後で、通常の同期処理を再開すれば、全クライアント50における同期状態は同一に保たれることになる。この状況は、前記の例(図5参照)と全く同じであり同様の処理(図7及び図8のステップS0303〜ステップS0306)を行うことで、通常の同期処理再開へと導くことができる。前記と異なる点は、同期クライアント50bが入力情報b_W+1まで送信している(ステップS1006b)点である(ステップS0101b、ステップS1001b、ステップS1006bを比較)。
Consider a case where the synchronization input information INb_W and the synchronization input information INb_W-1 are the same. On the information terminal 30a side, after notifying the deterioration of the communication state (step S1101a), the synchronous input information INa_W-1 is continuously used as “deemed input information”. On the other hand, on the information terminal 30b side, the synchronous input information INb_W is continuously used as “deemed input information”. Here, although the number of synchronizations of “deemed input information” continued to be used on each of the information terminal 30a side and the information terminal 30b side is not equal between W−1 and W, as a result, the input information continued to be used in both. Will be the same. This is because synchronous input information INb_W = synchronous input information INb_W-1 and synchronous input information INa_W-1 = synchronous input information INb_W-1 (synchronization processing is normally performed up to the W-1th synchronization). Therefore, note that the input information is the same on both sides). Therefore, at any number of times of synchronization N, it is guaranteed that the synchronization input information INa_N = synchronization input information INb_N, and that the synchronization state Sa_N = synchronization state Sb_N.
For this reason, if the normal synchronization process is resumed after all the synchronization clients 50 have the same number of synchronizations, the synchronization state in all the clients 50 is kept the same. This situation is exactly the same as the above example (see FIG. 5), and by performing the same processing (steps S0303 to S0306 in FIGS. 7 and 8), it is possible to lead to normal synchronization processing resumption. The difference from the above is that the synchronization client 50b transmits up to the input information b_W + 1 (step S1006b) (compare step S0101b, step S1001b, and step S1006b).

次に、図12を参照して、図6で説明した処理に対応する処理を説明する。
各同期クライアント50は、ステップS0304において相手がどの回まで各自の同期情報を送信したかを受信している。このため、各同期クライアント50は、相手が自分宛に送信した情報でまだ自分が受信していないものがいくつあるかを知ることができる。具体的には、同期クライアント50aは、入力情報b_W、及び、入力情報b_W+1を受信していない。また、同期クライアント50bは、入力情報a_W+1を受信していない。また、同期クライアント50aは、相手が入力情報a_W+1まで受信待ちであることを知ることができるが、現時点では、まだ入力情報a_W+1を送信していないことに注意する。
通信状態が回復したことで、同期クライアント50aは、入力情報b_Wを受信することができる(ステップS1303a)。続いて、同期クライアント50bが入力情報a_W+1の受信を待っていることから、同期クライアント50aは、入力情報a_W+1を送信する(ステップS1304a)。同期サーバ10は、入力情報a_W+1を受信し相手へ送信する(ステップS1305a)。同期クライアント50bは、入力情報a_W+1を受信する(ステップS1306b)。また、同期クライアント50aは、ステップS1007bにおいて送信された入力情報b_W+1を受信する(ステップS1306a)。以上の処理により、送受信待ちの状態を全て解消できる。
Next, processing corresponding to the processing described in FIG. 6 will be described with reference to FIG.
Each synchronization client 50 receives how many times the partner has transmitted its synchronization information in step S0304. Therefore, each synchronization client 50 can know how many pieces of information that the other party has sent to itself have not yet been received. Specifically, the synchronization client 50a has not received the input information b_W and the input information b_W + 1. Further, the synchronization client 50b has not received the input information a_W + 1. In addition, the synchronization client 50a can know that the other party is waiting to receive the input information a_W + 1, but note that the input information a_W + 1 has not been transmitted yet.
As the communication state is recovered, the synchronization client 50a can receive the input information b_W (step S1303a). Subsequently, since the synchronization client 50b waits for reception of the input information a_W + 1, the synchronization client 50a transmits the input information a_W + 1 (step S1304a). The synchronization server 10 receives the input information a_W + 1 and transmits it to the other party (step S1305a). The synchronization client 50b receives the input information a_W + 1 (step S1306b). Further, the synchronization client 50a receives the input information b_W + 1 transmitted in step S1007b (step S1306a). With the above processing, all waiting states for transmission / reception can be resolved.

次に、ステップS1203において同期入力情報INb_Wと同期入力情報INb_W−1が等しくなかった場合の処理について説明する。この場合、W以上のNにおいて同期入力情報INa_Nと同期入力情報INb_Nが等しくないことになる。つまり、それぞれの同期クライアント50において異なった入力情報が渡され続けてきたことになる。従って、W以上のNにおいて同期状態Sa_Nと同期状態Sb_Nは等しいことが保証されなくなる。このため、各同期クライアント50における同期状態を通信状態が悪化する直前のバックアップした状態に戻した上で、通常の同期処理を再開する必要がある。   Next, a process when the synchronization input information INb_W and the synchronization input information INb_W−1 are not equal in step S1203 will be described. In this case, the synchronization input information INa_N and the synchronization input information INb_N are not equal at N equal to or greater than W. That is, different input information continues to be passed in each synchronization client 50. Therefore, it is not guaranteed that the synchronization state Sa_N and the synchronization state Sb_N are equal in N greater than or equal to W. For this reason, it is necessary to resume normal synchronization processing after returning the synchronization state in each synchronization client 50 to the backed-up state immediately before the communication state deteriorates.

なお、この状態のままいきなりバックアップした状態に戻すと、同期クライアント50aの同期回数は、W−1に戻る(ステップS1102a)のに対し、同期クライアント50bの同期回数は、Wまでしか戻らない(ステップS1102b)。
続いて、同期クライアント50bは、入力情報a_W+1の受信待ち状態に戻る(ステップS1008bの続き)。入力情報a_W+1が同期クライアント50bに届けられるためには、同期クライアント50aが入力情報b_Wを受信し、同期回数Wにおける演算処理を行った後、入力情報a_W+1を送信し、これが同期サーバ10を経由して同期クライアント50bに送信されなくてはならない。この作業には通常より長時間を要するため、同期クライアント50bが所定時間内に入力情報a_W+1を受信できなかった場合、再び通信状態が悪化していると誤判断し、同期処理が一時停止されるのを防ぐ処理を再度開始してしまう。
このような状態は、一時停止防止処理の連鎖を招き、結果として全く入力処理を受付けない状態を引き起こす可能性がある。このため、再び一時停止防止処理が開始されないような状態にした上で同期処理を再開するため、以下の手続きを踏む。
If the state is backed up in this state, the synchronization count of the synchronization client 50a returns to W-1 (step S1102a), whereas the synchronization count of the synchronization client 50b returns only to W (step S1102a). S1102b).
Subsequently, the synchronization client 50b returns to the reception waiting state for the input information a_W + 1 (continuation of step S1008b). In order for the input information a_W + 1 to be delivered to the synchronization client 50b, the synchronization client 50a receives the input information b_W, performs computation processing for the number of times of synchronization W, and then transmits the input information a_W + 1, which passes through the synchronization server 10. Must be transmitted to the synchronization client 50b. Since this operation takes a longer time than usual, if the synchronization client 50b fails to receive the input information a_W + 1 within a predetermined time, it is erroneously determined that the communication state has deteriorated again, and the synchronization processing is temporarily stopped. The process to prevent this will start again.
Such a state may cause a chain of temporary stop prevention processing and may result in a state in which no input processing is accepted as a result. For this reason, the following procedure is performed to resume the synchronization process after the state in which the pause prevention process is not started again.

次に、図13を参照して、前記の目的を果たすための処理について説明する。
同期サーバ10は、同期クライアント50に通信状態が回復したことを通知する(ステップS1401)と共に、同期状態をS1102においてバックアップした状態に戻すことが必要なことを通知する(ステップS1401)。
同期クライアント50は、通信状態が回復したことを受信し(ステップS1402)、バックアップした状態に戻す必要があることを知る。
Next, with reference to FIG. 13, a process for achieving the above object will be described.
The synchronization server 10 notifies the synchronization client 50 that the communication state has been recovered (step S1401), and notifies that the synchronization state needs to be restored to the state backed up in S1102 (step S1401).
The synchronization client 50 receives that the communication state has been recovered (step S1402), and knows that it needs to return to the backed up state.

ここで、図14を参照して、各同期クライアント50において同期入力情報を相手と揃えるための処理について説明する。
同期クライアント50aは、ステップS1002bで送信された入力情報b_Wを受信する(ステップS1503a)。これにより、同期入力情報IN_Wを作成することができるが、これは後で用いるためバックアップしておく(ステップS1503a)。
続いて、同期クライアント50aは、入力情報a_W+1を送信する(ステップS1504a)。入力情報a_W+1を受信した同期サーバ10は、同期クライアント50bへ送信する(ステップS1505a)。同期クライアント50bは、入力情報a_W+1を受信する(ステップS1506b)。これにより、同期入力情報IN_W+1を作成することができるが、これは、後で用いるためバックアップしておく(ステップS1506b)。
続いて、同期クライアント50aは、ステップS1007bで送信されたb_W+1を受信する(ステップS1506a)。同様に同期入力情報IN_W+1を作成することができるが、これも後で用いるためにバックアップしておく(ステップS1506a)。
この時点で、両同期クライアント50において、W+1同期目までの入力情報を用意することができたことになる。なお、これらの処理中にも、各同期クライアント50においては、「みなし入力情報」を用いた仮の同期処理が行われている(ステップS1103a、ステップS1104a、ステップS1103b、ステップS1104b)ことにより、同期処理が一時停止されるのを防いでいる。
各同期クライアント50は、W+1同期目の同期入力情報IN_W+1の作成が完了した時点で、同期サーバ10に対し、完成した旨を通知する(ステップS1403a、ステップS1403b)。同期サーバ10は、全ての同期クライアント50から必要な入力情報の作成が完了したことを受信する(ステップS1404)。同期サーバ10は、バックアップ状態に戻した後、通常の同期処理に戻るまでの間、各同期クライアント50においてどの程度の同期処理速度で何回同期処理を行えば同一時刻に同期回数が一致し得るかを計算する(ステップS1405)。具体的には、同期クライアント50aと同期クライアント50bにおける同期回数の差は、1回である。従って、同期クライアント50aにおいて1同期処理を32msで2回行うのに対し、同期クライアント50bにおいては1同期処理を64msで1回行えば64ms経過後に両者の同期回数は一致し、同期状態も一致する。同期サーバ10は計算結果を各同期クライアント50に通知する(ステップS1405)。同期クライアント50は、同期状態をバックアップした状態に戻す様指示を受ける(ステップS1406)。同期クライアント50aは、同期状態をS_W−1に戻す(ステップS1406a)。一方、同期クライアント50bは、同期状態をS_Wに戻す(S1406b)。
Here, with reference to FIG. 14, the process for aligning the synchronization input information with the partner in each synchronization client 50 will be described.
The synchronization client 50a receives the input information b_W transmitted in step S1002b (step S1503a). As a result, the synchronization input information IN_W can be created, but this is backed up for later use (step S1503a).
Subsequently, the synchronization client 50a transmits the input information a_W + 1 (step S1504a). The synchronization server 10 that has received the input information a_W + 1 transmits it to the synchronization client 50b (step S1505a). The synchronization client 50b receives the input information a_W + 1 (step S1506b). As a result, the synchronization input information IN_W + 1 can be created, but this is backed up for later use (step S1506b).
Subsequently, the synchronization client 50a receives b_W + 1 transmitted in step S1007b (step S1506a). Similarly, the synchronization input information IN_W + 1 can be created, but this is also backed up for later use (step S1506a).
At this point, the input information up to the (W + 1) th synchronization can be prepared in both synchronization clients 50. Even during these processes, each synchronization client 50 performs a temporary synchronization process using “deemed input information” (step S1103a, step S1104a, step S1103b, step S1104b), thereby synchronizing. The process is prevented from being paused.
Each synchronization client 50 notifies the synchronization server 10 of completion when the creation of the synchronization input information IN_W + 1 for the (W + 1) th synchronization is completed (steps S1403a and S1403b). The synchronization server 10 receives that the creation of necessary input information has been completed from all the synchronization clients 50 (step S1404). After the synchronization server 10 returns to the backup state and returns to the normal synchronization process, the number of synchronizations can be the same at the same time if the synchronization process is performed at each synchronization client 50 at what synchronization processing speed. Is calculated (step S1405). Specifically, the difference in the number of synchronizations between the synchronization client 50a and the synchronization client 50b is one time. Accordingly, one synchronization process is performed twice at 32 ms in the synchronization client 50a, whereas if one synchronization process is performed once at 64ms in the synchronization client 50b, the number of synchronizations of both coincide after 64 ms and the synchronization state also coincides. . The synchronization server 10 notifies the calculation result to each synchronization client 50 (step S1405). The synchronization client 50 receives an instruction to return the synchronization state to the backed up state (step S1406). The synchronization client 50a returns the synchronization state to S_W-1 (step S1406a). On the other hand, the synchronization client 50b returns the synchronization state to S_W (S1406b).

次に、図15を参照して、通常の同期処理に戻るまでの処理について説明する。
同期クライアント50において同期状態に戻した時刻をt=0msとする。同期クライアント50aにおいて、作成済みの同期入力情報IN_W(ステップS1503a)を用いて時刻t=32msにおいてW同期目の処理を実行し表示する(ステップS1601a、ステップS1602a)。更に作成済みの同期入力情報IN_W+1(ステップS1506a)を用いて時刻t=64msにおいてW+1同期目の処理を実行し表示する(ステップS1601b、ステップS1602b)。
このようにして同期状態をバックアップしたものに戻した時から64ms後において、全同期クライアント50における同期回数、同期状態を同一に揃えることができる。後は、通常の処理を行うことで、同期処理を一時停止することなく処理を継続することができる。
Next, with reference to FIG. 15, processing until returning to normal synchronization processing will be described.
The time when the synchronization client 50 returns to the synchronization state is t = 0 ms. The synchronization client 50a executes and displays the W-th synchronization process at time t = 32 ms using the created synchronization input information IN_W (step S1503a) (steps S1601a and S1602a). Further, using the generated synchronization input information IN_W + 1 (step S1506a), the process of the W + 1th synchronization is executed and displayed at time t = 64 ms (steps S1601b and S1602b).
In this way, the number of synchronizations and the synchronization states in all the synchronization clients 50 can be made the same 64 ms after the synchronization state is restored to the backed up one. After that, by performing normal processing, the processing can be continued without temporarily stopping the synchronization processing.

次に、本発明の第2の実施形態として、図1に示す同期通信ゲームシステムを用いた別の同期処理動作について説明する。
まず、図17を参照して、N同期目に入力された情報を、N+m(但しm>0の整数)同期目の処理に用いながらゲームの進行をすすめる場合について説明する。尚、同期クライアント50同士間でデータ送受信を行うために同期サーバ10は、上述した実施形態(以下、第1の実施形態とも称する)と同様にデータの中継処理を行うが、このデータの中継処理については、図の簡略化のためにその説明を省略する。
以下、具体的にm=2の場合について説明する。現在、N+2同期目の処理を行おうとしているものとする(ステップS2003a〜及び、ステップS2003b〜)。同期クライアント50aは、入力情報としてIN_N+2を用いる代わりに2同期前の入力情報IN_N(=a_N及びb_N)を用いる。b_Nは、2同期も前に同期クライアント50bから送信されている(ステップS2001b)。このため、N同期目、N+1同期目の処理を行う間にb_Nが同期クライアント50aへ送信されていれば、同期クライアント50bからの入力情報の受信を待つことなく処理を進めることができる。同期クライアント50aは、IN_N+2を渡す代わりにIN_Nを演算部60aに渡す(ステップS2003a)。演算部60aは、IN_Nを元にN+2同期目の処理を行う(ステップS2004a)。同期クライアント50bでも同様の処理が行われる。このように全ての同期クライアント50において同一の入力情報を共有することができ同一の同期状態を共有することができる。
Next, another synchronous processing operation using the synchronous communication game system shown in FIG. 1 will be described as a second embodiment of the present invention.
First, with reference to FIG. 17, a case will be described in which the game progresses while using the information input at the Nth synchronization in the process of N + m (where m> 0 is an integer) synchronization. In order to perform data transmission / reception between the synchronization clients 50, the synchronization server 10 performs data relay processing in the same manner as in the above-described embodiment (hereinafter also referred to as the first embodiment). The description of is omitted for the sake of simplicity.
Hereinafter, the case where m = 2 is specifically described. It is assumed that the N + 2th synchronization process is currently being performed (steps S2003a to S2003b). The synchronization client 50a uses input information IN_N (= a_N and b_N) before two synchronizations instead of using IN_N + 2 as input information. b_N is transmitted from the synchronization client 50b before two synchronizations (step S2001b). For this reason, if b_N is transmitted to the synchronization client 50a during the N-th and N + 1-th processing, the process can proceed without waiting for the reception of input information from the synchronization client 50b. The synchronization client 50a passes IN_N to the calculation unit 60a instead of passing IN_N + 2 (step S2003a). The computing unit 60a performs N + 2th synchronization processing based on IN_N (step S2004a). A similar process is performed in the synchronous client 50b. In this way, the same input information can be shared by all the synchronization clients 50, and the same synchronization state can be shared.

次に、図18を用いてゲームの途中で、同期クライアント50aと同期サーバ10との間の通信状態が一時的に悪くなった場合の動作を説明する。具体的に、同期クライアント50aにおいてW同期目の処理を行おうとしている時に、a_Wの送信を行うことができたが、b_W−2を受信することができなかった場合を想定する(ステップS2101a)。上述した実施形態と同様に、同期クライアント50aは、同期サーバ10に対し、通信状態悪化のためW−1同期目まで正常に処理できたことを送信できるまで再送処理を継続する(ステップS2102a)。また同様に、同期クライアント50bと同期サーバ10との間の通信状態も一時的に悪くなった場合を想定し、同期クライアント50bにおいても同様にb_Wの送信を行うことができたが、a_W−2を受信することができなかった場合を想定する(ステップS2101b)。上述した実施形態と同様、同期クライアント50bは、同期サーバ10に対し、通信状態悪化のためW−1同期目まで正常に処理できたことを送信できるまで再送処理を継続する(ステップS2102b)。   Next, an operation when the communication state between the synchronization client 50a and the synchronization server 10 temporarily deteriorates during the game will be described with reference to FIG. Specifically, it is assumed that when the synchronization client 50a is trying to perform the W-th synchronization process, a_W can be transmitted, but b_W-2 cannot be received (step S2101a). . Similar to the above-described embodiment, the synchronization client 50a continues the retransmission process until it can be transmitted to the synchronization server 10 that the communication state has been successfully processed until the W-1th synchronization due to the deterioration of the communication state (step S2102a). Similarly, assuming that the communication state between the synchronization client 50b and the synchronization server 10 temporarily deteriorates, b_W can be transmitted in the synchronization client 50b as well, but a_W-2 Is assumed (step S2101b). Similar to the above-described embodiment, the synchronization client 50b continues the retransmission process until it can be transmitted to the synchronization server 10 that the communication state has been successfully processed until the W-1th synchronization due to the deterioration of the communication state (step S2102b).

同期クライアント50aは、上述した実施形態と同様に演算部60aに対し通信状態が悪化したことを通知する(ステップS0201aと同様)。上述した実施形態と同様に演算部60aは、S_W−1をバックアップする(ステップS0202aと同様)。同期クライアント50bにおいても同様に、通信状態の悪化を演算部60bに通知し(ステップS0201bと同様)、演算部60bは、S_W−1をバックアップする(ステップS0202bと同様)。上述した実施形態と同様に、同期クライアント50aは、みなし入力情報としてIN_W−1を演算部60aへ譲渡し続ける(ステップS0203aと同様)。演算部60aは、上述した実施形態と同様に、みなし入力情報IN_W−1を用いてW同期目以降の処理を行う(ステップS0204aと同様)。同期クライアント50b、演算部60bについても同様の処理を行う。このように、通信状態が悪化した場合でも、正常な入力情報の代わりにみなし入力情報を用いて処理を行うことにより、同期処理の一時停止を防ぐことができ、画面が一時停止する等の違和感をユーザに与えなくて済む。   The synchronization client 50a notifies the computing unit 60a that the communication state has deteriorated (similar to step S0201a) as in the embodiment described above. Similar to the embodiment described above, the computing unit 60a backs up S_W-1 (similar to step S0202a). Similarly, the synchronization client 50b notifies the calculation unit 60b of the deterioration of the communication state (same as step S0201b), and the calculation unit 60b backs up S_W-1 (same as step S0202b). Similar to the embodiment described above, the synchronization client 50a continues to transfer IN_W-1 to the calculation unit 60a as deemed input information (similar to step S0203a). As in the above-described embodiment, the calculation unit 60a performs processing after the W-th synchronization using the assumed input information IN_W-1 (similar to step S0204a). Similar processing is performed for the synchronization client 50b and the calculation unit 60b. In this way, even when the communication state deteriorates, by performing processing using deemed input information instead of normal input information, it is possible to prevent the suspension of the synchronization processing, and the discomfort such as the screen being paused. Need not be given to the user.

次に、同期クライアント50aと同期サーバ10との間の通信状態、及び、同期クライアント50bと同期サーバ10との間の通信状態が回復した場合の処理について説明する。上述した実施形態と同様に、S2102aにおいて送信中であった「W−1同期目まで正常に処理できた」という情報が、同期クライアント50aから同期サーバ10に対して送信される(ステップS0301aと同様)。同期クライアント50bについても同様に、「W−1同期目まで正常に処理できた」という情報が同期サーバ10に対して送信される。上述した実施形態と同様に、同期サーバ10は、全ての同期クライアント50において正常に行われた同期回数が同じであったかを調べる(ステップS0302と同様)。本実施形態においては、全ての同期クライアント50において正常に行われた同期回数は、W−1と同じである。同期サーバ10は、上述した実施形態と同様に、同期クライアント50に対し通信が回復したことを通知し、次のサーバ間通信までに必要な同期クライアント50側での同期処理回数(上述した実施形態と同様に、K回とする)、及び、相手の同期クライアント50がどの回まで正常に同期処理を行ったかということを送信する(ステップS0303と同様)。   Next, processing when the communication state between the synchronization client 50a and the synchronization server 10 and the communication state between the synchronization client 50b and the synchronization server 10 are recovered will be described. As in the above-described embodiment, the information “successfully processed until the W-1th synchronization” that was being transmitted in S2102a is transmitted from the synchronization client 50a to the synchronization server 10 (similar to step S0301a). ). Similarly, information indicating that “successfully processed until the W-1th synchronization” is transmitted to the synchronization server 50b. Similar to the above-described embodiment, the synchronization server 10 checks whether the number of synchronizations normally performed in all the synchronization clients 50 is the same (same as step S0302). In the present embodiment, the number of synchronizations normally performed in all the synchronization clients 50 is the same as W-1. As in the above-described embodiment, the synchronization server 10 notifies the synchronization client 50 that communication has been recovered, and the number of synchronization processes on the synchronization client 50 side required until the next inter-server communication (the above-described embodiment). And the number of times that the synchronization client 50 of the other party has normally performed synchronization processing is transmitted (similar to step S0303).

通信の回復通知を受けた各同期クライアント50は、上述した実施形態と同様に、現在の同期回数を同期サーバ10へ通知し、同期サーバ10は、これを受信する(ステップS0305a、ステップS0305b、ステップS0306と同様)。今回も上述した実施形態と同様に、同期クライアント50aにおいて成された仮同期処理の回数をM回とし、同期クライアント50bにおいて成された仮同期処理の回数をL回とする。   Each synchronization client 50 that has received the communication recovery notification notifies the synchronization server 10 of the current number of synchronizations as in the above-described embodiment, and the synchronization server 10 receives this (step S0305a, step S0305b, step Same as S0306). As in the embodiment described above, the number of temporary synchronization processes performed in the synchronization client 50a is M times, and the number of temporary synchronization processes performed in the synchronization client 50b is L times.

また、上述した実施形態と同様に、各同期クライアント50は、相手が自分宛に送信した情報でまだ自分が受信していないものを受信する(ステップS0402a、ステップS0403aと同様)。   Further, as in the above-described embodiment, each synchronization client 50 receives information that the other party has sent to itself that has not yet been received (similar to steps S0402a and S0403a).

同期サーバ10は、上述した実施形態と同様に、受信した同期回数の差(=L−M)を無くすために必要な各同期クライアント50における仮の同期処理回数と速度を算出する(ステップS0503と同様)。同期サーバ10は、上述した実施形態と同様に、各同期クライアント50に対し算出した処理速度と回数を通知する(ステップS0504と同様)。   Similar to the above-described embodiment, the synchronization server 10 calculates the temporary synchronization processing count and speed in each synchronization client 50 necessary to eliminate the difference in received synchronization count (= LM) (step S0503). The same). The synchronization server 10 notifies the calculated processing speed and number of times to each synchronization client 50 (similar to step S0504), as in the above-described embodiment.

各同期クライアント50は、上述した実施形態と同様に、必要回数分だけ、みなし入力情報を用いた同期処理を行った後、通常の同期処理を再開することができる(図7、図8に同じ)。同期処理を再開する際の同期回数をV回とする。本実施形態においては、V同期目の処理を行うのにV−m同期目の入力情報を用いる。このため、同期処理を再開するまでの間にあらかじめV−m、V−m+1、・・・V−1同期目の入力情報を揃えておくのが望ましい。このように設定することにより、V同期目の処理を行うために、V−m同期目の入力情報が相手から届くのを待つ必要がなく、速やかに次の同期処理を行うことができる。   Each synchronization client 50 can resume normal synchronization processing after performing synchronization processing using deemed input information as many times as necessary, as in the embodiment described above (same as in FIGS. 7 and 8). ). Assume that the number of synchronizations when restarting the synchronization process is V times. In the present embodiment, the input information of the Vm synchronization is used to perform the process of the V synchronization. For this reason, it is desirable that input information for the V-m, V-m + 1,. By setting in this way, in order to perform the V-th synchronization process, it is not necessary to wait for the input information of the Vm synchronization to arrive from the other party, and the next synchronization process can be performed promptly.

次に、m=2の場合において同期クライアント50aと同期サーバ10との間の通信状態のみが一時的に悪くなった場合についての処理方法を説明する。具体的には、同期クライアント50aにおいて、W回目の同期処理を行おうとしている際に、a_Wの送信を行うことができたが、b_W−2を受信することができなかった場合を想定する(ステップS2201a)。上述した実施形態と同様に、同期クライアント50aは、通信状態悪化のためW−1同期目まで正常に処理できたことを同期サーバ10に送信できるまで再送処理を継続する(ステップS2202a)。一方、同期クライアント50bは、同期サーバ10よりa_Wまで受信することができるため、W+2同期目まで正常に処理を進めることができる(ステップS2201b〜ステップS2206b)。同期クライアント50bは、a_W+1を受信することができないため、同期サーバ10に対し通信状態悪化のためW+2同期目まで正常に処理できたことを送信する(ステップS2207b)。   Next, a processing method when only the communication state between the synchronization client 50a and the synchronization server 10 temporarily deteriorates in the case of m = 2 will be described. Specifically, it is assumed that the synchronization client 50a can transmit a_W while trying to perform the W-th synchronization process, but cannot receive b_W-2 ( Step S2201a). Similar to the above-described embodiment, the synchronization client 50a continues the retransmission process until it can be transmitted to the synchronization server 10 that it has been successfully processed until the W-1th synchronization due to the deterioration of the communication state (step S2202a). On the other hand, since the synchronization client 50b can receive up to a_W from the synchronization server 10, the process can proceed normally to the W + 2th synchronization (steps S2201b to S2206b). Since the synchronization client 50b cannot receive a_W + 1, the synchronization client 10b transmits to the synchronization server 10 that the normal processing has been performed up to the W + 2th synchronization due to the deterioration of the communication state (step S2207b).

上述した実施形態と同様に、同期クライアント50aは、演算部60aに対し通信状態が悪化したことを通知し、演算部60aは、S_W−1をバックアップする(ステップS1101a、ステップS1102aと同様)。以降、通常の同期処理が再開されるまでの間、みなし入力情報INa_W−1を用いて仮の同期処理を行う(ステップS1103a、ステップS1104aと同様)。同期クラインと50bについても同様に、S_W+2をバックアップし、INb_W+2をみなし入力情報として用いながら仮の同期処理を行う(ステップS1101b〜ステップS1104bと同様)。   Similar to the embodiment described above, the synchronization client 50a notifies the computing unit 60a that the communication state has deteriorated, and the computing unit 60a backs up S_W-1 (similar to steps S1101a and S1102a). Thereafter, provisional synchronization processing is performed using the assumed input information INa_W-1 until normal synchronization processing is resumed (similar to steps S1103a and S1104a). Similarly, for the synchronization line and 50b, S_W + 2 is backed up, and provisional synchronization processing is performed using INb_W + 2 as the input information (similar to steps S1101b to S1104b).

次に、同期クライアント50aと同期サーバ10との間の通信状態が回復した時の処理について説明する。ステップS2202aにおいて送信された情報が同期サーバ10へ届く(ステップS1201aと同様)。今回は、各同期クライアント50において正常に行われた同期回数が異なるため(W−1≠W+2)、INb_W+2、INb_W+1、INb_W、INb_W−1が全て同じであったかを確認する(ステップS1203)。もし、これら全てが同じであった場合は、各演算部において全く同じ入力情報が渡され続けてきたことになり、各同期回数における同期状態は同一になる。上述した実施形態と同様に、各同期クライアント50の同期回数を一致させてやれば、同期状態を同一にすることができ、通常の同期処理を再開できる。これ以降の処理は、上述した実施形態と同様の処理になる。   Next, processing when the communication state between the synchronization client 50a and the synchronization server 10 is restored will be described. The information transmitted in step S2202a reaches the synchronization server 10 (similar to step S1201a). This time, since the number of synchronizations normally performed in each synchronization client 50 is different (W−1 ≠ W + 2), it is confirmed whether INb_W + 2, INb_W + 1, INb_W, and INb_W−1 are all the same (step S1203). If all of these are the same, the same input information has been continuously passed in each calculation unit, and the synchronization state at each synchronization count is the same. Similar to the above-described embodiment, if the synchronization counts of the respective synchronization clients 50 are matched, the synchronization state can be made the same, and normal synchronization processing can be resumed. The subsequent processing is the same processing as in the above-described embodiment.

他方、INb_W+2、INb_W+1、INb_W、INb_W−1のうちどれか一つでも異なる場合は、各同期クライアントにおいて異なった入力情報が渡されていることになり、もはや各同期クライアントにおける同期状態が同一であることは、保証できない。このため、上述した実施形態と同様に、同期サーバ10は、各同期クライアント50に対し同期状態をバックアップした状態に戻す必要があることを通知する(ステップS1401と同様)。以降、上述した実施形態と同様に、作成済みの入力情報を準備し、算出された処理速度に従って同期処理を行った後、通常の同期処理を再開することができる。また、上述した実施形態と同様に、同期処理を再開する際の回数をVとした場合、同期処理を再開するまでの間にあらかじめV−m、V−m+1、・・・V−1同期目の入力情報を揃えておくのが望ましい。   On the other hand, if any one of INb_W + 2, INb_W + 1, INb_W, and INb_W-1 is different, different input information is passed in each sync client, and the sync state in each sync client is no longer the same. That cannot be guaranteed. For this reason, as in the embodiment described above, the synchronization server 10 notifies each synchronization client 50 that it is necessary to return the synchronization state to the backed up state (same as step S1401). Thereafter, as in the above-described embodiment, after the prepared input information is prepared and the synchronization process is performed according to the calculated processing speed, the normal synchronization process can be resumed. Similarly to the above-described embodiment, when the number of times when the synchronization process is resumed is V, Vm, V-m + 1,..., V-1 synchronization period before the synchronization process is resumed. It is desirable to keep the input information of.

また、上述した実施形態では、みなし入力情報が用いられ始めてから通常の同期処理が再開されるまでの間にユーザが行ったボタン操作等は、全て無視されてしまう。これを防ぐため、みなし入力情報を用いている間は、実際の入力情報を別途保存しておき、通常の同期処理が再開された時点で、保存しておいた情報を入力情報として用いることで、ユーザの行った入力処理を破棄しないで用いることができる。但し、保存した全ての情報を用いていると常にユーザの入力した情報が遅れて用いられることになり、ユーザは、常に違和感を感じることになる。これを防ぐため、例えば、図20に示すように、保存した情報を一つ飛ばしに用いることで最終的にはユーザが入力した情報を遅滞なく用いることができ、ユーザの入力した情報の一部を反映させることができる。
入力情報の飛ばしについては、一つ飛ばしに限定されものではない。例えば、nを1以上の整数として、n個飛ばしに入力情報を用いてもよい。
上述したように構成することにより、みなし入力情報を用いている間の実際の入力情報を保存しておき、後でその入力情報をn個飛ばしで用いることで、ユーザが入力した情報を全て破棄することを防ぐことが可能になる。
Further, in the above-described embodiment, all button operations performed by the user after the start of using the deemed input information and before the normal synchronization process is resumed are ignored. To prevent this, the actual input information is saved separately while using the assumed input information, and the saved information is used as input information when normal synchronization processing is resumed. The input process performed by the user can be used without being discarded. However, if all the stored information is used, the information input by the user is always used with a delay, and the user always feels uncomfortable. In order to prevent this, for example, as shown in FIG. 20, by using one piece of stored information, the information input by the user can be used without delay, and a part of the information input by the user can be used. Can be reflected.
The skipping of input information is not limited to one skipping. For example, the input information may be used for skipping n, where n is an integer of 1 or more.
By configuring as described above, the actual input information while using the deemed input information is saved, and after n pieces of the input information are used later, all the information input by the user is discarded. Can be prevented.

ここで、上述したこれまでの処理の概要を、図21を参照してまとめて説明する。
図1に示した同期通信ゲームシステム1は、同期処理を実行し(ステップS3001)、各同期ごとに通信障害が発生しているかどうかをチェックし(ステップS3002)、上記ステップS3002で通信障害が発生していると判断された場合には、現在の正常な同期状態をバックアップする(ステップS3003)。他方、上記ステップS3002で通信障害が発生していないと判断された場合には、上記ステップS3001に戻り、同期処理を実行する。
上記ステップS3003に続き、それ以後、正常な同期処理が再開されるまで、直前の正常な入力情報をみなし入力情報として用い、仮の同期処理を行う(ステップS3004)。次いで、通信状態が回復したかどうかを判断し(ステップS3005)、上記ステップS3005で通信状態が回復したと判断されかつ回復が確認できた場合には、全てのクライアントにおいて同一同期目において仮の同期処理が開始されたかどうかを判断し(ステップS3006)、上記ステップS3006で全てのクライアントにおいて同一同期目において仮の同期処理が開始されていると判断された場合は、全てのクライアントにおいて同期回数が同一になるように調整し、後で用いることになる入力情報を事前に準備して(ステップS3007)、通常の同期処理を再開する(ステップS3008)。他方、上記ステップS3006で全てのクライアントにおいて同一同期目において仮の同期処理が開始されていないと判断された場合には、各クライアントで用いられた同期情報(みなし入力情報を含む)が結果として同一のものであったかどうかを判断し(ステップS3009)、上記ステップS3009における判断の結果、同一のものであった場合には、上述したステップS3007の処理を行い、上述したステップS3008で示した、通常の同期処理を再開する。他方、上記ステップS3009における判断の結果、各クライアントで用いられた同期情報が同一のものでなかった場合には、後で用いることになる入力情報を事前に準備して(ステップS3010)、各クライアントの同期状態をバックアップしておいた同期状態に戻す(ステップS3011)。そして、同期状態をバックアップしておいたものに戻した後、上述したステップS3008で示した、通常の同期処理を再開する。
Here, the outline of the above-described processing will be described collectively with reference to FIG.
The synchronous communication game system 1 shown in FIG. 1 executes a synchronization process (step S3001), checks whether a communication failure has occurred for each synchronization (step S3002), and a communication failure has occurred in step S3002. If it is determined that the current synchronization is in progress, the current normal synchronization state is backed up (step S3003). On the other hand, if it is determined in step S3002 that no communication failure has occurred, the process returns to step S3001 to execute synchronization processing.
Subsequent to step S3003, until the normal synchronization process is resumed, the previous normal input information is regarded as the input information and the provisional synchronization process is performed (step S3004). Next, it is determined whether or not the communication state has been recovered (step S3005). If it is determined in step S3005 that the communication state has been recovered and recovery has been confirmed, temporary synchronization is performed at the same synchronization time in all clients. It is determined whether or not the process has been started (step S3006). If it is determined in step S3006 that the temporary synchronization process has been started at the same synchronization time in all clients, the number of synchronizations is the same in all clients. The input information to be used later is prepared in advance (step S3007), and normal synchronization processing is resumed (step S3008). On the other hand, if it is determined in step S3006 that temporary synchronization processing has not been started at the same synchronization time in all clients, the synchronization information (including deemed input information) used by each client is the same as a result. If the result of determination in step S3009 is the same, the process in step S3007 described above is performed, and the normal process shown in step S3008 described above is performed. Resume the synchronization process. On the other hand, as a result of the determination in step S3009, if the synchronization information used by each client is not the same, input information to be used later is prepared in advance (step S3010). The synchronized state is returned to the backed up synchronized state (step S3011). Then, after returning the synchronization state to the one that was backed up, the normal synchronization processing shown in step S3008 described above is resumed.

本発明による同期通信装置の一実施形態である、複数の利用者が同時に参加する形式の同期通信ゲームシステムの構成を示す概略ブロック図である。It is a schematic block diagram which shows the structure of the synchronous communication game system of the form with which the some user participates simultaneously which is one Embodiment of the synchronous communication apparatus by this invention. 図1に示す同期通信ゲームシステムの動作を説明するための動作フロー図である。It is an operation | movement flowchart for demonstrating operation | movement of the synchronous communication game system shown in FIG. 図1に示す同期通信ゲームシステムの動作を説明するための動作フロー図である。It is an operation | movement flowchart for demonstrating operation | movement of the synchronous communication game system shown in FIG. 図1に示す同期通信ゲームシステムの動作を説明するための動作フロー図である。It is an operation | movement flowchart for demonstrating operation | movement of the synchronous communication game system shown in FIG. 図1に示す同期通信ゲームシステムの動作を説明するための動作フロー図である。It is an operation | movement flowchart for demonstrating operation | movement of the synchronous communication game system shown in FIG. 図1に示す同期通信ゲームシステムの動作を説明するための動作フロー図である。It is an operation | movement flowchart for demonstrating operation | movement of the synchronous communication game system shown in FIG. 図1に示す同期通信ゲームシステムの動作を説明するための動作フロー図である。It is an operation | movement flowchart for demonstrating operation | movement of the synchronous communication game system shown in FIG. 図1に示す同期通信ゲームシステムの動作を説明するための動作フロー図である。It is an operation | movement flowchart for demonstrating operation | movement of the synchronous communication game system shown in FIG. 図1に示す同期通信ゲームシステムの動作を説明するための動作フロー図である。It is an operation | movement flowchart for demonstrating operation | movement of the synchronous communication game system shown in FIG. 図1に示す同期通信ゲームシステムの動作を説明するための動作フロー図である。It is an operation | movement flowchart for demonstrating operation | movement of the synchronous communication game system shown in FIG. 図1に示す同期通信ゲームシステムの動作を説明するための動作フロー図である。It is an operation | movement flowchart for demonstrating operation | movement of the synchronous communication game system shown in FIG. 図1に示す同期通信ゲームシステムの動作を説明するための動作フロー図である。It is an operation | movement flowchart for demonstrating operation | movement of the synchronous communication game system shown in FIG. 図1に示す同期通信ゲームシステムの動作を説明するための動作フロー図である。It is an operation | movement flowchart for demonstrating operation | movement of the synchronous communication game system shown in FIG. 図1に示す同期通信ゲームシステムの動作を説明するための動作フロー図である。It is an operation | movement flowchart for demonstrating operation | movement of the synchronous communication game system shown in FIG. 図1に示す同期通信ゲームシステムの動作を説明するための動作フロー図である。It is an operation | movement flowchart for demonstrating operation | movement of the synchronous communication game system shown in FIG. 従来のファミコン通信システムによるデータのタイミングを示すタイミングチャートである。It is a timing chart which shows the timing of the data by the conventional NES communication system. 図1に示す同期通信ゲームシステムの別の実施形態における動作を説明するための動作フロー図である。It is an operation | movement flowchart for demonstrating the operation | movement in another embodiment of the synchronous communication game system shown in FIG. 図1に示す同期通信ゲームシステムの別の実施形態における動作を説明するための動作フロー図である。It is an operation | movement flowchart for demonstrating the operation | movement in another embodiment of the synchronous communication game system shown in FIG. 図1に示す同期通信ゲームシステムの別の実施形態における動作を説明するための動作フロー図である。It is an operation | movement flowchart for demonstrating the operation | movement in another embodiment of the synchronous communication game system shown in FIG. 図1に示す同期通信ゲームシステムの別の実施形態における動作を説明するための動作フロー図である。It is an operation | movement flowchart for demonstrating the operation | movement in another embodiment of the synchronous communication game system shown in FIG. 図17から図20に示した動作の概略を説明するためのフローチャートである。FIG. 21 is a flowchart for explaining an outline of operations shown in FIGS. 17 to 20; FIG.

符号の説明Explanation of symbols

1 同期通信ゲームシステム
10 同期サーバ
20 通信ネットワーク
30a 情報端末
30b 情報端末
40a 外部情報入力部
40b 外部情報入力部
50a 同期クライアント
50b 同期クライアント
60a 演算部
60b 演算部
70a 情報出力部
70b 情報出力部
DESCRIPTION OF SYMBOLS 1 Synchronous communication game system 10 Synchronous server 20 Communication network 30a Information terminal 30b Information terminal 40a External information input part 40b External information input part 50a Synchronous client 50b Synchronous client 60a Operation part 60b Operation part 70a Information output part 70b Information output part

Claims (12)

通信回線に接続された複数の情報端末間で同期を取りながら通信処理を行う同期通信装置であって、
前記通信回線に接続された前記複数の情報端末が正常の通信状態にあるかどうかを判断する判断手段と、
前記判断手段の結果により、前記複数の情報端末の少なくとも一つの情報端末の通信状態に異常が発生して該複数の情報端末の他の情報端末と同期が取れていないと判断された場合には、同期が取れない同期目の入力情報の代わりに、同期が取れない該同期目より前の任意の同期目の入力情報をみなし入力情報として設定する入力情報設定手段と、
前記入力情報設定手段により設定されたみなし入力情報に基づいて所定の演算処理を実行して前記同期が取れない同期目の同期状態を求める演算手段と、
を備え、
前記判断手段は、前記異常が発生した情報端末の通信状態が回復して前記複数の情報端末の他の情報端末と同期が取れると判断するまで、前記各処理を繰り返すことを特徴とする同期通信装置。
A synchronous communication device that performs communication processing while synchronizing between a plurality of information terminals connected to a communication line,
Determining means for determining whether or not the plurality of information terminals connected to the communication line are in a normal communication state;
When it is determined by the result of the determination means that an abnormality has occurred in the communication state of at least one information terminal of the plurality of information terminals and the information terminal is not synchronized with the other information terminals of the plurality of information terminals. The input information setting means for setting the input information of any synchronization prior to the synchronization that cannot be synchronized as input information instead of the synchronization input information that cannot be synchronized;
Calculation means for executing a predetermined calculation process based on the deemed input information set by the input information setting means to obtain the synchronization state of the synchronization that cannot be synchronized;
With
The determination means repeats the processes until it is determined that the communication state of the information terminal in which the abnormality has occurred is recovered and synchronization with the other information terminals of the plurality of information terminals is achieved. apparatus.
前記演算手段は、前記所定の演算処理として、前記同期が取れない同期目におけるゲームの同期状態を得るための演算処理を実行することを特徴とする請求項1に記載の同期通信装置。The synchronous communication apparatus according to claim 1, wherein the arithmetic means executes arithmetic processing for obtaining a synchronized state of the game at the synchronization time when the synchronization cannot be established as the predetermined arithmetic processing. 前記演算手段は、前記情報端末を、同期状態をバックアップしたものに戻すことを特徴とする請求項1に記載の同期通信装置。The synchronous communication apparatus according to claim 1, wherein the calculation unit returns the information terminal to a backup of the synchronization state. 前記入力情報をみなし入力情報として設定し続けても、前記判断手段が全ての前記情報端末を同一の同期状態に揃えることが不可能と判断した場合には、前記演算手段は、前記情報端末を、同期状態をバックアップしたものに戻すことを特徴とする請求項1に記載の同期通信装置。If the determination means determines that all the information terminals cannot be aligned in the same synchronization state even if the input information is regarded as input information, the calculation means 2. The synchronous communication apparatus according to claim 1, wherein the synchronous state is restored to a backed up one. 前記演算手段は、前記みなし入力情報を用いている間に実際の入力情報を保存し、通常の同期処理が再開されたときに、入力情報として該保存した情報を任意の数だけ飛ばして用いることを特徴とする請求項1に記載の同期通信装置。The arithmetic means stores actual input information while using the deemed input information, and uses the stored information by skipping an arbitrary number as input information when normal synchronization processing is resumed. The synchronous communication apparatus according to claim 1. 前記演算処理は、ゲームキャラクタの位置の計算、当り判定、得点計算のいずれか一つまたは二つ以上の組合せであることを特徴とする請求項1に記載の同期通信装置。The synchronous communication apparatus according to claim 1, wherein the arithmetic processing is one or a combination of two or more of game character position calculation, hit determination, and score calculation. 通信回線に接続された複数の情報端末間で同期を取りながら通信処理を行う同期通信方法であって、
前記通信回線に接続された前記複数の情報端末が正常の通信状態にあるかどうかを判断する段階と、
前記判断の結果により、前記複数の情報端末の少なくとも一つの情報端末の通信状態に異常が発生して該複数の情報端末の他の情報端末と同期が取れていないと判断された場合には、同期が取れない同期目の入力情報の代わりに、同期が取れない該同期目より前の任意の同期目の入力情報をみなし入力情報として設定する段階と、
前記設定されたみなし入力情報に基づいて所定の演算処理を実行して前記同期が取れない同期目の同期状態を求める段階と、
前記異常が発生した情報端末の通信状態が回復して前記複数の情報端末の他の情報端末と同期が取れるまで前記各段階を繰り返す段階と
を具備することを特徴とする同期通信方法。
A synchronous communication method for performing communication processing while synchronizing multiple information terminals connected to a communication line,
Determining whether the plurality of information terminals connected to the communication line are in a normal communication state;
If it is determined that the communication state of at least one information terminal of the plurality of information terminals is abnormal and is not synchronized with the other information terminals of the plurality of information terminals, as a result of the determination, In place of the input information of the synchronization that cannot be synchronized, the step of setting the input information of any synchronization before the synchronization that cannot be synchronized as the input information,
Performing a predetermined calculation process based on the set deemed input information to obtain a synchronization state of synchronization that cannot be synchronized;
A step of repeating the steps until the communication state of the information terminal in which the abnormality has occurred is recovered and synchronization with other information terminals of the plurality of information terminals is established.
前記演算する段階は、前記所定の演算処理として、前記同期が取れない同期目におけるゲームの同期状態を得るための演算処理を実行することを特徴とする請求項7に記載の同期通信方法。The synchronous communication method according to claim 7, wherein in the calculating step, as the predetermined calculation process, a calculation process for obtaining a synchronized state of the game at a synchronization time in which the synchronization cannot be established is executed. 前記演算する段階は、前記情報端末を、同期状態をバックアップしたものに戻すことを特徴とする請求項7に記載の同期通信方法。The synchronous communication method according to claim 7, wherein in the calculating step, the information terminal is returned to a backup of the synchronization state. 前記入力情報をみなし入力情報として設定し続けても、前記判断する段階で全ての前記情報端末を同一の同期状態に揃えることが不可能と判断した場合には、前記演算する段階手段は、前記情報端末を、同期状態をバックアップしたものに戻すことを特徴とする請求項7に記載の同期通信方法。If it is determined that it is impossible to align all the information terminals in the same synchronization state in the determination step even if the input information is regarded as input information, the step of calculating includes the step of calculating 8. The synchronous communication method according to claim 7, wherein the information terminal is returned to a backup of the synchronization state. 前記演算する段階は、前記みなし入力情報を用いている間に実際の入力情報を保存し、通常の同期処理が再開されたときに、入力情報として該保存した情報を任意の数だけ飛ばして用いることを特徴する請求項7に記載の同期通信方法。The computing step stores actual input information while using the deemed input information, and skips an arbitrary number of the stored information as input information when normal synchronization processing is resumed. The synchronous communication method according to claim 7, wherein: 前記演算処理は、ゲームキャラクタの位置の計算、当り判定、得点計算のいずれか一つまたは二つ以上の組合せであることを特徴とする請求項7に記載の同期通信方法。The synchronous communication method according to claim 7, wherein the arithmetic processing is one or a combination of two or more of game character position calculation, hit determination, and score calculation.
JP2006542940A 2004-10-21 2005-10-14 Synchronous communication method and synchronous communication apparatus Expired - Fee Related JP3984643B2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2004306376 2004-10-21
JP2004306376 2004-10-21
JP2004323762 2004-11-08
JP2004323762 2004-11-08
PCT/JP2005/018936 WO2006043473A1 (en) 2004-10-21 2005-10-14 Synchronized communication method and synchronized communication device

Publications (2)

Publication Number Publication Date
JP3984643B2 true JP3984643B2 (en) 2007-10-03
JPWO2006043473A1 JPWO2006043473A1 (en) 2008-08-07

Family

ID=36202889

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006542940A Expired - Fee Related JP3984643B2 (en) 2004-10-21 2005-10-14 Synchronous communication method and synchronous communication apparatus

Country Status (4)

Country Link
US (1) US7840711B2 (en)
JP (1) JP3984643B2 (en)
KR (1) KR100909302B1 (en)
WO (1) WO2006043473A1 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007105471A1 (en) * 2006-03-07 2007-09-20 Nec Corporation Resource information managing device, system, method, and program
US8595336B1 (en) 2008-02-01 2013-11-26 Wimm Labs, Inc. Portable universal personal storage, entertainment, and communication device
US8161195B2 (en) * 2009-03-25 2012-04-17 Microsoft Corporation Adaptable management in sync engines
JP2011045504A (en) * 2009-08-26 2011-03-10 Namco Bandai Games Inc Program, information storage medium, and game device
US8307052B2 (en) 2009-12-29 2012-11-06 International Business Machines Corporation Method and system for communication sessions
JP6221498B2 (en) * 2013-08-15 2017-11-01 富士通株式会社 Information processing system and control method of information processing system
JP5602963B1 (en) * 2014-01-30 2014-10-08 グリー株式会社 GAME MANAGEMENT PROGRAM, GAME MANAGEMENT METHOD, AND GAME MANAGEMENT SYSTEM
CN109478342B (en) * 2016-07-15 2020-03-10 纳维株式会社 Image display device and image display system
CN107423015B (en) * 2017-07-24 2018-07-20 腾讯科技(深圳)有限公司 The synchronous display method and device of game content
JP7222628B2 (en) * 2018-08-03 2023-02-15 株式会社バンダイナムコエンターテインメント game system and program

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0698224B2 (en) * 1988-08-01 1994-12-07 株式会社広布 Video game communication system
JP3101051B2 (en) * 1992-01-29 2000-10-23 富士通株式会社 Synchronization establishment method
US5751220A (en) 1995-07-14 1998-05-12 Sensormatic Electronics Corporation Synchronized network of electronic devices including back-up master units
US5987376A (en) * 1997-07-16 1999-11-16 Microsoft Corporation System and method for the distribution and synchronization of data and state information between clients in a distributed processing system
DE60105998D1 (en) * 2000-04-08 2004-11-04 Sun Microsystems Inc RESYNCHRONIZING MEDIA DURING FLOW
US20030046433A1 (en) * 2001-07-25 2003-03-06 Omer Luzzatti Method to synchronize information between online devices
WO2004052483A1 (en) * 2002-12-10 2004-06-24 Nokia Corporation Method and device for continuing an electronic multi-player game, in case of an absence of a player of said game

Also Published As

Publication number Publication date
KR20070055615A (en) 2007-05-30
US20080126568A1 (en) 2008-05-29
US7840711B2 (en) 2010-11-23
JPWO2006043473A1 (en) 2008-08-07
WO2006043473A1 (en) 2006-04-27
KR100909302B1 (en) 2009-07-24

Similar Documents

Publication Publication Date Title
JP3984643B2 (en) Synchronous communication method and synchronous communication apparatus
US6934766B1 (en) Method and apparatus for exchanging event information between computer systems that reduce perceived lag times by subtracting actual lag times from event playback time
CN106034129A (en) FBSG method used for game synchronization
JPH11512897A (en) Operation and maintenance of a redundant clock distribution network
CN103716175A (en) System and method for ensuring high availability in an enterprise IMS network
CN107104822A (en) Server preparedness processing method, device, storage medium and electronic equipment
TW201929551A (en) Streaming system with backup mechanism and backup method thereof
CN107982912A (en) A kind of information processing method and terminal
JP6523226B2 (en) Time synchronization control system
JPS6367377B2 (en)
CN113225600B (en) Method and device for preventing LED display screen from flickering
JP5194997B2 (en) Redundant switching control system, method and program
JPH09238127A (en) Method for synchronously operating communication network system and game system using it
CN108540688B (en) Distributed splicing controller, image sending method and image processing method
KR20070039669A (en) Video conference system
JPH0385081A (en) Synchronizing picture transmitter
CN117915086A (en) Video transmission method, device, equipment and medium
JP2002335251A (en) Data communication system
JPH01316043A (en) Synchronizing clock supply control system for communication system
JPS596647A (en) Method for synchronizing transmission of serial data
CN114390155A (en) Signal backup display method and device, electronic equipment and storage medium
JPH09200193A (en) Synchronization protection method and synchronization protection circuit
JPS6398238A (en) Fast frame synchronizing device
JPH04213240A (en) Fault signal frame processing system
JPS5944143A (en) Controlling method of synchronization

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070625

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070706

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A072

Effective date: 20081014

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110713

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110713

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110713

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120713

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120713

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120713

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130713

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130713

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees