JP3984643B2 - Synchronous communication method and synchronous communication apparatus - Google Patents
Synchronous communication method and synchronous communication apparatus Download PDFInfo
- 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
Links
Images
Classifications
-
- A63F13/12—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/358—Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/50—Features 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/53—Features 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/534—Features 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
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
本実施例では、情報端末30は、二つの情報端末30a、30bにより構成されているが、本発明は、これらに限定されるものではなく、三つ以上の情報端末30a〜30N(N=c〜z)により構成されてもよい。ここでは簡略化するために、二つの端末装置30a、30bの場合について説明する。
In this embodiment, the information terminal 30 includes two
図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
The
Hereinafter, when the
In addition, the steps related to the
次に、図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
First, the
同期クライアント50aは、入力情報a_Nを同期サーバ10へ送信する(ステップS0001a)。入力情報a_Nを受信した同期サーバ10は、入力情報a_Nを全ての対戦相手の同期クライアント50、本実施例では同期クライアント50bのみ、へ送信する(ステップS0002a)。
The
同様に、情報端末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
The
同様に、同期クライアント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
In this way, the input information IN_N of all the
次いで、同期クライアント50aは、入力情報IN_Nを演算部60aへ譲渡する(ステップS0004a)。演算部60aは、入力情報IN_Nと、情報端末30aにおける直前のゲームの同期状態Sa_N−1を元に演算処理を実行し、N同期目のゲームの同期状態Sa_Nを算出する(ステップS0005a)。同期状態Sa_Nは、情報出力部70aによって表示される。
Next, the
同様に、同期クライアント50bでも入力情報IN_Nと、情報端末30bにおける直前のゲームの同期状態Sb_N−1を元に演算処理を実行し、N同期目のゲームの同期状態Sb_Nが算出される。同期状態Sb_Nは、情報出力部70bによって表示される。
Similarly, the
ここで、同期状態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
The
次に、図3を用いてゲームの途中で、同期クライアント50aと同期サーバ10との間の通信状態が一時的に悪くなった場合の動作を説明する。
ここでは同期クライアント50aと同期サーバ10との間の通信が悪くなった場合を想定する。この時、同期クライアント50aは、所定時間内に入力情報a_Nを同期サーバ10へ送信することができない(ステップS0101a)。Next, the operation when the communication state between the
Here, it is assumed that communication between the
従来の技術を用いた場合には、当然相手からの情報を受信することもできず、通信状態が回復して相手からの情報を受信するまで同期処理を一時停止していた。このためゲームの途中で突然画面の動きが止まり、ゲームユーザに違和感を与え、ゲームの商品価値を著しく下げる原因ともなっていた。以下に続く本実施例の説明で、このような一時停止を起こすことなく処理を進める方法を示す。 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
同期クライアント50aは、所定時間内に入力情報a_Wを送信することができないため、通信状態が悪くなっていると判断する。このため、これ以降は、通信状態の悪化によって同期処理が一時停止されるのを回避する処理を行う。具体的には、まず、W−1同期目までは正常に処理できたことを同期サーバ10へ送信しようとする(ステップS0107a)。実際には通信状態が悪いため、送信できるまで再送処理を継続する(ステップS0107a)が、前記同様、これと並行して以下の処理を行う。また、以下特に断りがない限りは、通信状態が悪いために情報の送受信ができず再送処理(或いは受信待ち処理)を行う場合は、その再送処理等と並行してそれ以降の処理を行うものとする。
Since the
一方、同期クライアント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
The
次に、図4を参照して、図3に続く動作を説明する。同期クライアント50aは、演算部60aに通信状態が悪化していることを通知する(ステップS0201a)。演算部60aは、現在保持している直前のゲームの同期状態S_W−1をバックアップする(ステップS0202a)。
Next, the operation following FIG. 3 will be described with reference to FIG. The
同期クライアント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
同期クライアント50bにおいても、同様に、通信状態の悪化を通知し(ステップS0201b)、同期状態のバックアップ(ステップS0202b)を行い、「みなし入力情報」を用いて仮の同期処理を繰り返す(ステップS0203b〜)。これらの繰り返しは通信状態が回復するまで行われる。
Similarly, the
以下、図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
The
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
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
また、各同期クライアント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
Receiving the input information a_W, the
同期クライアント50aは、同期サーバ10からの通知(ステップS0505a)があるまでは、みなし入力情報INaを用いて仮同期処理を実行、表示し続け(ステップS0501a、S0502a)、同期処理が一時停止するのを防ぐ。同期クライアント50bにおいても同様である(ステップS0501b、ステップS0502b)。この間、同期サーバ10側においては、次に述べる処理が並行して行われることになる。
Until the notification from the synchronization server 10 (step S0505a), the
同期サーバ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
同期サーバ10は、算出した同期処理の速度と回数を各同期クライアント50に対して通知する(ステップS0504)。なお、この間も、先ほど述べたように、同期クライアント50は、同期処理が停止しないように、みなし入力情報INaを用いて仮同期処理を繰り返している(ステップS0501、ステップS0502)。また、この同期サーバ10からの通知は、ステップS0303で算出された同期回数(=K回)以内に行われる。もし、K回以内にこの同期サーバ10からの通知を受信できなかった場合には、受信できるまで処理が一時停止されるため、Kは、十分大き目にとっておく必要がある。
The
同期クライアント50aは、同期サーバ10から、同期クライアント50bと同期回数を合わせるために必要な同期処理速度、及び仮同期処理回数(=J回)を受け取る(ステップS0505a)。同期クライアント50aは、K回の仮同期処理を通常の速度で終了(ステップS0506、ステップS0507)した後、同期サーバ10より受け取った同期処理速度に従って、J回の仮同期処理を繰り返す(ステップS0601a、ステップS0602a)。
The
同期クライアント50bにおいても同様に、同期サーバ10から同期処理速度、及び、仮同期処理回数(=J−L+M回)を受け取る(ステップS0505b)。同期クライアント50bは、同様に、K回の仮同期処理を通常の速度で終了した後、同期サーバ10より受け取った同期処理速度に従って、J−L+M回の仮同期処理を繰り返す(ステップS0601b、ステップS0602b)。
Similarly, the
この時点で、同期クライアント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
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
Similarly, the
Since the communication state has deteriorated, the
一方、同期クライアント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
Subsequently, the
The
一方、同期クライアント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
Note that the
The
一方、同期クライアント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
In order to prevent the synchronization processing from being temporarily stopped, the
Note that the
次に、図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
同期入力情報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
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
次に、図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
As the communication state is recovered, the
次に、ステップ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
Subsequently, the
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
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
Subsequently, the
Subsequently, the
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
次に、図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
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
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
次に、図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
同期クライアント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
次に、同期クライアント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
通信の回復通知を受けた各同期クライアント50は、上述した実施形態と同様に、現在の同期回数を同期サーバ10へ通知し、同期サーバ10は、これを受信する(ステップS0305a、ステップS0305b、ステップS0306と同様)。今回も上述した実施形態と同様に、同期クライアント50aにおいて成された仮同期処理の回数をM回とし、同期クライアント50bにおいて成された仮同期処理の回数をL回とする。
Each synchronization client 50 that has received the communication recovery notification notifies the
また、上述した実施形態と同様に、各同期クライアント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
各同期クライアント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
上述した実施形態と同様に、同期クライアント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
次に、同期クライアント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
他方、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
また、上述した実施形態では、みなし入力情報が用いられ始めてから通常の同期処理が再開されるまでの間にユーザが行ったボタン操作等は、全て無視されてしまう。これを防ぐため、みなし入力情報を用いている間は、実際の入力情報を別途保存しておき、通常の同期処理が再開された時点で、保存しておいた情報を入力情報として用いることで、ユーザの行った入力処理を破棄しないで用いることができる。但し、保存した全ての情報を用いていると常にユーザの入力した情報が遅れて用いられることになり、ユーザは、常に違和感を感じることになる。これを防ぐため、例えば、図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
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.
1 同期通信ゲームシステム
10 同期サーバ
20 通信ネットワーク
30a 情報端末
30b 情報端末
40a 外部情報入力部
40b 外部情報入力部
50a 同期クライアント
50b 同期クライアント
60a 演算部
60b 演算部
70a 情報出力部
70b 情報出力部DESCRIPTION OF
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.
前記通信回線に接続された前記複数の情報端末が正常の通信状態にあるかどうかを判断する段階と、
前記判断の結果により、前記複数の情報端末の少なくとも一つの情報端末の通信状態に異常が発生して該複数の情報端末の他の情報端末と同期が取れていないと判断された場合には、同期が取れない同期目の入力情報の代わりに、同期が取れない該同期目より前の任意の同期目の入力情報をみなし入力情報として設定する段階と、
前記設定されたみなし入力情報に基づいて所定の演算処理を実行して前記同期が取れない同期目の同期状態を求める段階と、
前記異常が発生した情報端末の通信状態が回復して前記複数の情報端末の他の情報端末と同期が取れるまで前記各段階を繰り返す段階と
を具備することを特徴とする同期通信方法。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.
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)
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)
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 |
-
2005
- 2005-10-14 JP JP2006542940A patent/JP3984643B2/en not_active Expired - Fee Related
- 2005-10-14 KR KR1020077009111A patent/KR100909302B1/en not_active IP Right Cessation
- 2005-10-14 WO PCT/JP2005/018936 patent/WO2006043473A1/en active Application Filing
-
2007
- 2007-04-17 US US11/736,485 patent/US7840711B2/en not_active Expired - Fee Related
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 |