JP3984643B2 - 同期通信方法および同期通信装置 - Google Patents
同期通信方法および同期通信装置 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
- 238000004891 communication Methods 0.000 title claims abstract description 195
- 238000000034 method Methods 0.000 title claims abstract description 133
- 230000001360 synchronised effect Effects 0.000 title claims abstract description 113
- 238000012545 processing Methods 0.000 claims abstract description 96
- 230000005856 abnormality Effects 0.000 claims description 6
- 230000002159 abnormal effect Effects 0.000 claims 1
- 238000011084 recovery Methods 0.000 abstract description 7
- 230000006866 deterioration Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
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)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Description
図16において(a)及び(b)は、各ファミコンより発生するキースキャンパルスを示しており、このキースキャンパルス(a)、(b)によりキーパッドの状態がデータとしてファミコンに取り込まれる。通信アダプタを用いると、(c)、(d)に示すように、相手側のモデムにデータを送るに際して時刻t1〜t2、t3〜t4の間の時間に相当する遅れが生じる。2つのファミコンで同時にゲームを行うには、図中m及びnで示す一対のデータの順番が正しくファミコンに送られることが必要である。即ち、mのパルスの時に取り込んだプレイヤーのデータと、nのパルスの時に取り込んだ相手のデータとが正しい順序でそれぞれのファミコンのデータとして入力されることが必要である。
双方のファミコンの電源が同時にONにされるとは限らないので、mとnとの時間差が最高1パルス変化する。このため、Nパルスになったとすると、図1に示されるように、mの時のデータは、N+2の時には相手側に送られる。しかし、Nの時のデータは、m+4になるまで届くことができない。このままの状態でファミコンにデータを送出すると、必要なデータが必要な時に受け取れなくなり、2つのファミコンが別々の動作をしてしまう。上記から明らかなように、ファミコン間において生じる遅れは、データ通信の遅れと、キースキャンパルスの遅れの和となる。
遅れを検出し、同期させてデータを送出するには、相手の番号コードと自分の番号コードとを記憶させ、タイマーを動作させる。次に自分のスキャンパルスでタイマーを停止させると、相手のデータの入力時から自分のスキャンパルスの発生時までの遅れが測定される。この動作を数回行わせて平均値を求める。この平均値と予めセットされた数値を比較することにより遅れが正しく検出される。
要するに、上記ファミコン通信システムは、N同期目に入力された情報を、N+m(但しm>0の整数)同期目の情報処理に用いることにより、通信の遅れによる処理速度の低下を防ぐように構成されている。
図1は、本発明による同期通信装置の一実施形態である複数の利用者が同時に参加する形式の同期通信ゲームシステムの構成を示す概略ブロック図である。
情報端末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は任意の数値)と表すものとする。
まず、情報端末30aの同期クライアント50aは、ゲーム参加者によって外部情報入力部40aに入力されている入力情報a_Nを取得する(ステップS0000a)。
同期クライアント50aは、同期サーバ10から送信された入力情報b_Nを受信し(ステップS0003a)、N同期目の入力情報、即ち入力情報a_N、入力情報b_N(以下、入力情報INa_Nと表する)を揃えることができる。
このようにして、N回目の同期処理を行うために必要な全情報端末30a、30bの入力情報IN_Nを、それぞれの同期クライアント50a、50bで共有できる。
同期クライアント50a、50bは、同期回数NをN+1に進め次の同期処理(ステップS0000a〜、ステップS0000b〜)を同様に繰り返す。両方の同期クライアント50a、50bにおいて同一の入力情報が共有され続ける限り、同一の同期状態が共有される。
ここでは同期クライアント50aと同期サーバ10との間の通信が悪くなった場合を想定する。この時、同期クライアント50aは、所定時間内に入力情報a_Nを同期サーバ10へ送信することができない(ステップS0101a)。
同期サーバ10は、同期クライアント50bがW−1同期目までは正常に処理できたことを受信する(ステップS0105b)。
通信状態が回復したことによって、図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において同期回数を同一に揃えることを目指す。
更に、相手の同期クライアント50がどの回まで正常に同期処理を行ったかということ、及び相手の同期クライアント50がどの回まで自己の同期情報を送信したかということを送信する(ステップS0303)。
入力情報a_Wを受信した同期サーバ10は、入力情報a_Wを同期クライアント50bへ送信する(ステップS0402a)。同期クライアント50bは、入力情報a_Wを受信する(ステップS0403b)。また、これらの各処理が終わるのを待つ必要もないため、以下の処理が並行して行われることに注意する。またここで受信されたa_W、b_Wは保持しておく必要がないため破棄される。
これにより、通信状態が悪化した場合でも、相手の情報を受信するまでの間待ち状態に入り同期処理を一時停止することなく処理を続けるという効果が得られる。
ここでは同期回数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)。
続いて、同期クライアント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)。実際には、通信状態が悪いため再送処理を継続する。
同期クライアント50aは、W−1同期目まで正常に処理を行ったのに対し、同期クライアント50bはW同期目までも正常に処理を行っていることに注意する。
同期クライアント50aは、演算部60aに通信状態が悪化していることを通知する(ステップS1101a)。演算部60aは、直前の同期状態S_W−1をバックアップする(ステップS1102a)。同期クライアント50aは、同期処理が一時停止されるのを防ぐため、直前の同期入力情報IN_W−1を「みなし入力情報」として用いながら、前回同様、仮の同期処理を行う(ステップS1103a、ステップS1104a)。
同期クライアント50bは、同期処理が一時停止されるのを防ぐため、直前の同期入力情報IN_Wを「みなし入力情報」として用いながら、同様に仮の同期処理を行う(ステップS1103b、ステップS1104b)。
ここで、同期クライアント50aは、「みなし入力情報」として同期入力情報IN_W−1を用いているのに対し、同期クライアント50bは、「みなし入力情報」として同期入力情報IN_Wを用いていることに注意する。
通信状態が回復したことによって、図9のステップS1004aにおいて送信された「情報端末30a側においてW−1同期目まで正常に処理できた」という情報が同期サーバ10に到達する(ステップS1201a)。同期サーバ10は、全ての同期クライアントで正常に行われた同期回数が同一回数であるかどうかを判断する(ステップS1202)。本実施例の場合は、情報端末30a側においてW−1同期目であるのに対して情報端末30b側においては、W同期目まで正常に処理が行われている。同期サーバ10は、同期入力情報INb_Wが同期入力情報IN_W−1と同一の入力内容かどうかをチェックする(ステップS1203)。
このため、全ての同期クライアント50において同期回数を同一に揃えた後で、通常の同期処理を再開すれば、全クライアント50における同期状態は同一に保たれることになる。この状況は、前記の例(図5参照)と全く同じであり同様の処理(図7及び図8のステップS0303〜ステップS0306)を行うことで、通常の同期処理再開へと導くことができる。前記と異なる点は、同期クライアント50bが入力情報b_W+1まで送信している(ステップS1006b)点である(ステップS0101b、ステップS1001b、ステップS1006bを比較)。
各同期クライアント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)。以上の処理により、送受信待ちの状態を全て解消できる。
続いて、同期クライアント50bは、入力情報a_W+1の受信待ち状態に戻る(ステップS1008bの続き)。入力情報a_W+1が同期クライアント50bに届けられるためには、同期クライアント50aが入力情報b_Wを受信し、同期回数Wにおける演算処理を行った後、入力情報a_W+1を送信し、これが同期サーバ10を経由して同期クライアント50bに送信されなくてはならない。この作業には通常より長時間を要するため、同期クライアント50bが所定時間内に入力情報a_W+1を受信できなかった場合、再び通信状態が悪化していると誤判断し、同期処理が一時停止されるのを防ぐ処理を再度開始してしまう。
このような状態は、一時停止防止処理の連鎖を招き、結果として全く入力処理を受付けない状態を引き起こす可能性がある。このため、再び一時停止防止処理が開始されないような状態にした上で同期処理を再開するため、以下の手続きを踏む。
同期サーバ10は、同期クライアント50に通信状態が回復したことを通知する(ステップS1401)と共に、同期状態をS1102においてバックアップした状態に戻すことが必要なことを通知する(ステップS1401)。
同期クライアント50は、通信状態が回復したことを受信し(ステップS1402)、バックアップした状態に戻す必要があることを知る。
同期クライアント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)。
同期クライアント50において同期状態に戻した時刻をt=0msとする。同期クライアント50aにおいて、作成済みの同期入力情報IN_W(ステップS1503a)を用いて時刻t=32msにおいてW同期目の処理を実行し表示する(ステップS1601a、ステップS1602a)。更に作成済みの同期入力情報IN_W+1(ステップS1506a)を用いて時刻t=64msにおいてW+1同期目の処理を実行し表示する(ステップS1601b、ステップS1602b)。
このようにして同期状態をバックアップしたものに戻した時から64ms後において、全同期クライアント50における同期回数、同期状態を同一に揃えることができる。後は、通常の処理を行うことで、同期処理を一時停止することなく処理を継続することができる。
まず、図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において同一の入力情報を共有することができ同一の同期状態を共有することができる。
入力情報の飛ばしについては、一つ飛ばしに限定されものではない。例えば、nを1以上の整数として、n個飛ばしに入力情報を用いてもよい。
上述したように構成することにより、みなし入力情報を用いている間の実際の入力情報を保存しておき、後でその入力情報をn個飛ばしで用いることで、ユーザが入力した情報を全て破棄することを防ぐことが可能になる。
図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で示した、通常の同期処理を再開する。
10 同期サーバ
20 通信ネットワーク
30a 情報端末
30b 情報端末
40a 外部情報入力部
40b 外部情報入力部
50a 同期クライアント
50b 同期クライアント
60a 演算部
60b 演算部
70a 情報出力部
70b 情報出力部
Claims (12)
- 通信回線に接続された複数の情報端末間で同期を取りながら通信処理を行う同期通信装置であって、
前記通信回線に接続された前記複数の情報端末が正常の通信状態にあるかどうかを判断する判断手段と、
前記判断手段の結果により、前記複数の情報端末の少なくとも一つの情報端末の通信状態に異常が発生して該複数の情報端末の他の情報端末と同期が取れていないと判断された場合には、同期が取れない同期目の入力情報の代わりに、同期が取れない該同期目より前の任意の同期目の入力情報をみなし入力情報として設定する入力情報設定手段と、
前記入力情報設定手段により設定されたみなし入力情報に基づいて所定の演算処理を実行して前記同期が取れない同期目の同期状態を求める演算手段と、
を備え、
前記判断手段は、前記異常が発生した情報端末の通信状態が回復して前記複数の情報端末の他の情報端末と同期が取れると判断するまで、前記各処理を繰り返すことを特徴とする同期通信装置。 - 前記演算手段は、前記所定の演算処理として、前記同期が取れない同期目におけるゲームの同期状態を得るための演算処理を実行することを特徴とする請求項1に記載の同期通信装置。
- 前記演算手段は、前記情報端末を、同期状態をバックアップしたものに戻すことを特徴とする請求項1に記載の同期通信装置。
- 前記入力情報をみなし入力情報として設定し続けても、前記判断手段が全ての前記情報端末を同一の同期状態に揃えることが不可能と判断した場合には、前記演算手段は、前記情報端末を、同期状態をバックアップしたものに戻すことを特徴とする請求項1に記載の同期通信装置。
- 前記演算手段は、前記みなし入力情報を用いている間に実際の入力情報を保存し、通常の同期処理が再開されたときに、入力情報として該保存した情報を任意の数だけ飛ばして用いることを特徴とする請求項1に記載の同期通信装置。
- 前記演算処理は、ゲームキャラクタの位置の計算、当り判定、得点計算のいずれか一つまたは二つ以上の組合せであることを特徴とする請求項1に記載の同期通信装置。
- 通信回線に接続された複数の情報端末間で同期を取りながら通信処理を行う同期通信方法であって、
前記通信回線に接続された前記複数の情報端末が正常の通信状態にあるかどうかを判断する段階と、
前記判断の結果により、前記複数の情報端末の少なくとも一つの情報端末の通信状態に異常が発生して該複数の情報端末の他の情報端末と同期が取れていないと判断された場合には、同期が取れない同期目の入力情報の代わりに、同期が取れない該同期目より前の任意の同期目の入力情報をみなし入力情報として設定する段階と、
前記設定されたみなし入力情報に基づいて所定の演算処理を実行して前記同期が取れない同期目の同期状態を求める段階と、
前記異常が発生した情報端末の通信状態が回復して前記複数の情報端末の他の情報端末と同期が取れるまで前記各段階を繰り返す段階と
を具備することを特徴とする同期通信方法。 - 前記演算する段階は、前記所定の演算処理として、前記同期が取れない同期目におけるゲームの同期状態を得るための演算処理を実行することを特徴とする請求項7に記載の同期通信方法。
- 前記演算する段階は、前記情報端末を、同期状態をバックアップしたものに戻すことを特徴とする請求項7に記載の同期通信方法。
- 前記入力情報をみなし入力情報として設定し続けても、前記判断する段階で全ての前記情報端末を同一の同期状態に揃えることが不可能と判断した場合には、前記演算する段階手段は、前記情報端末を、同期状態をバックアップしたものに戻すことを特徴とする請求項7に記載の同期通信方法。
- 前記演算する段階は、前記みなし入力情報を用いている間に実際の入力情報を保存し、通常の同期処理が再開されたときに、入力情報として該保存した情報を任意の数だけ飛ばして用いることを特徴する請求項7に記載の同期通信方法。
- 前記演算処理は、ゲームキャラクタの位置の計算、当り判定、得点計算のいずれか一つまたは二つ以上の組合せであることを特徴とする請求項7に記載の同期通信方法。
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 (ja) | 2004-10-21 | 2005-10-14 | 同期通信方法および同期通信装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP3984643B2 true JP3984643B2 (ja) | 2007-10-03 |
JPWO2006043473A1 JPWO2006043473A1 (ja) | 2008-08-07 |
Family
ID=36202889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006542940A Expired - Fee Related JP3984643B2 (ja) | 2004-10-21 | 2005-10-14 | 同期通信方法および同期通信装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7840711B2 (ja) |
JP (1) | JP3984643B2 (ja) |
KR (1) | KR100909302B1 (ja) |
WO (1) | WO2006043473A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5093099B2 (ja) * | 2006-03-07 | 2012-12-05 | 日本電気株式会社 | 資源情報管理装置、システム、方法、及びプログラム |
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 (ja) * | 2009-08-26 | 2011-03-10 | Namco Bandai Games Inc | プログラム、情報記憶媒体及びゲーム装置 |
US8307052B2 (en) * | 2009-12-29 | 2012-11-06 | International Business Machines Corporation | Method and system for communication sessions |
JP6221498B2 (ja) * | 2013-08-15 | 2017-11-01 | 富士通株式会社 | 情報処理システム及び情報処理システムの制御方法 |
JP5602963B1 (ja) * | 2014-01-30 | 2014-10-08 | グリー株式会社 | ゲーム管理プログラム、ゲーム管理方法及びゲーム管理システム |
CN109478342B (zh) * | 2016-07-15 | 2020-03-10 | 纳维株式会社 | 图像显示装置及图像显示系统 |
CN107423015B (zh) | 2017-07-24 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 游戏内容的同步显示方法和装置 |
JP7222628B2 (ja) * | 2018-08-03 | 2023-02-15 | 株式会社バンダイナムコエンターテインメント | ゲームシステム及びプログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0698224B2 (ja) * | 1988-08-01 | 1994-12-07 | 株式会社広布 | テレビゲーム用通信システム |
JP3101051B2 (ja) | 1992-01-29 | 2000-10-23 | 富士通株式会社 | 同期確立方法 |
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 |
JP4813001B2 (ja) * | 2000-04-08 | 2011-11-09 | オラクル・アメリカ・インコーポレイテッド | ストリーミング中のメディアの再同期化 |
US20030046433A1 (en) * | 2001-07-25 | 2003-03-06 | Omer Luzzatti | Method to synchronize information between online devices |
EP1569731A1 (en) * | 2002-12-10 | 2005-09-07 | 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 WO PCT/JP2005/018936 patent/WO2006043473A1/ja active Application Filing
- 2005-10-14 KR KR1020077009111A patent/KR100909302B1/ko not_active IP Right Cessation
- 2005-10-14 JP JP2006542940A patent/JP3984643B2/ja not_active Expired - Fee Related
-
2007
- 2007-04-17 US US11/736,485 patent/US7840711B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7840711B2 (en) | 2010-11-23 |
WO2006043473A1 (ja) | 2006-04-27 |
KR100909302B1 (ko) | 2009-07-24 |
US20080126568A1 (en) | 2008-05-29 |
JPWO2006043473A1 (ja) | 2008-08-07 |
KR20070055615A (ko) | 2007-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3984643B2 (ja) | 同期通信方法および同期通信装置 | |
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 | |
CN104375789A (zh) | 拼接屏的同步显示方法及系统 | |
CN106034129A (zh) | 一种用于游戏同步的fbsg方法 | |
JPH11512897A (ja) | 冗長性を有するクロック分配ネットワークの動作及び保守 | |
CN103716175A (zh) | 用于确保企业ims网络中高可用性的系统和方法 | |
CN107982912A (zh) | 一种信息处理方法和终端 | |
JP6523226B2 (ja) | 時刻同期制御システム | |
JPS6367377B2 (ja) | ||
CN113225600B (zh) | 一种防止led显示屏出现闪屏问题的方法及装置 | |
JPH06164572A (ja) | フレーム同期回路およびフレーム同期方法 | |
CN109194576B (zh) | 一种tcp热备份的方法和装置 | |
JP5194997B2 (ja) | 冗長切替制御システム、方法及びプログラム | |
JPH09238127A (ja) | 通信ネットワークシステムの同期動作方法、およびそれを用いたゲームシステム | |
CN108540688B (zh) | 分布式拼接控制器、图像发送方法及图像处理方法 | |
KR20070039669A (ko) | 화상회의 시스템 | |
JPH0385081A (ja) | 同期式画像伝送装置 | |
CN117915086A (zh) | 一种视频传输方法、装置、设备及介质 | |
JP2002335251A (ja) | データ通信方式 | |
JPH01316043A (ja) | 通信システムの同期クロック供給制御方式 | |
JPS596647A (ja) | シリアルデ−タ伝送同期方式 | |
CN114390155A (zh) | 信号备份显示的方法、装置、电子设备和存储介质 | |
JPH09200193A (ja) | 同期保護方法および同期保護回路 | |
JPS6398238A (ja) | 高速フレーム同期方法 | |
JPH04213240A (ja) | 障害信号フレーム処理方式 |
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 |