JP5357752B2 - データ伝送システムおよびその方法 - Google Patents
データ伝送システムおよびその方法 Download PDFInfo
- Publication number
- JP5357752B2 JP5357752B2 JP2009509213A JP2009509213A JP5357752B2 JP 5357752 B2 JP5357752 B2 JP 5357752B2 JP 2009509213 A JP2009509213 A JP 2009509213A JP 2009509213 A JP2009509213 A JP 2009509213A JP 5357752 B2 JP5357752 B2 JP 5357752B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- transmission
- transmission data
- estimated
- network
- 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
-
- 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/33—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
- A63F13/332—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using wireless networks, e.g. cellular phone networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- 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/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/20—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5603—Access techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0213—Standardised network management protocols, e.g. simple network management protocol [SNMP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Description
このようなネットワークゲームの例として、ユーザ(プレーヤ)がゲーム内で用いる人物の画像(アバタ(avatar))が、プレーヤの操作に従って、実時間的に、ゲームの仮想世界内を自在に移動し、出会った他のプレーヤのアバタと戦ったり、銃を撃ち合ったりするファーストパーソンシューティングゲーム(first person shooting game)を挙げることができる。
上述のようなネットワークゲームの実現のためには、アバタのゲーム仮想世界における位置などが、遅延および伝送データの欠落を生じさせるネットワークを介して、クライアントコンピュータとゲームサーバとの間で、短い周期で、実時間的に伝送される必要がある。
"bzflag,"http://wwsv.bzffag.org. "sauerbraten,"http://sauerbraten.org. G. Arrnitage, M. Claypool, and P. Branch, Networking and Online Games: Understanding and Engineering Multiplayer Internet Games, John Wiley and Sons Ltd, 2006. L. Pantel and L. Wolf, "On the suitability ofdead reckoning schemes for games:' in ACMSIGCOMMNetGames, Braunschweig, Germany, April 2002. S Aggarwal H Banavar and A Khandelwal "Accuracy in dead-reckoning based distributed multi-player games:' in ACM SIGCOMM NetGames, Portland, OR, August 2004. M. Mauve, "How to keep a dead man from shooting," in Interactive Distributed Multimedia Systems and Telecommunication Se,vices, 2000 , pp. 1 99-204. W. Press, S. Teukolsky, W. Vetterling, and B. Flaunery, Eds., Numerical Recipes in C+ +. Cambridge University Press, 2002. M. Hayes, Statistical Digital Signal Processing and Modeling, John Wiley and Son Ltd, 2005.
以下、本発明の実施形態を説明する。
図1は、本発明にかかるデータ伝送方法が適用されるネットワークゲームシステム1の構成を例示する図である。
図1に示すように、ネットワークゲームシステム1は、1台以上のゲームサーバ2と、複数のゲームクライアントコンピュータ3−1〜3−n(n≧2)とが、インターネットなどのネットワーク100を介して接続されて構成される。
なお、以下、各図においては、実質的に同じ構成部分には同じ符号が付され、ゲームクライアントコンピュータ3−1〜3−nなど、複数ありうる構成部分のいずれかを特定せずに示すときには、単にゲームクライアントコンピュータ3と記載する。
また、ゲームサーバ2およびゲームクライアントコンピュータ3を総称して、ノードと記載することがある。
図2は、図1に示したゲームサーバ2およびゲームクライアントコンピュータ3のハードウエア構成を例示する図である。
図2に示すように、ゲームサーバ2およびゲームクライアントコンピュータ3は、CPU122およびメモリ124などを含む本体120、ディスプレー装置およびキーボードなどを含む入出力装置126、他のノードとの通信を行う通信装置128およびCD装置・HDD装置などの記録装置132から構成される。
つまり、ゲームサーバ2およびゲームクライアントコンピュータ3は、ネットワーク100を介して他のノードと通信可能なコンピュータとしてのハードウエア資源を有している。
図3は、図1,図2に示したゲームサーバ2上で実行されるサーバソフトウエア20、および、ゲームクライアントコンピュータ3上で実行されるクライアントソフトウエア30のソフトウエア構成を示す図である。
サーバソフトウエア20およびクライアントソフトウエア30は、例えば、記憶媒体134(図2)を介してこれらに供給され、ネットワークゲームシステム124にロードされ、OS(図示せず)を介して、ゲームサーバ2およびゲームクライアントコンピュータ3のハードウエア資源を具体的に利用して実行される。
なお、図3には、ゲームサーバ2からゲームクライアントコンピュータ3に対して、各プレーヤのアバタの位置が伝送される場合が例示されており、これ以外の構成部分は省略されている。
サーバ側ゲームソフトウエア200は、アバタ位置処理部202を含む。
サーバ側インターフェースソフトウエア204は、位置推定情報作成部208、送信部210、トークン制御部212および遅延制御部214を含む。
クライアント側インターフェースソフトウエア300は、遅延制御部302、受信部304および復元・推定部306を含む。
サーバソフトウエア20およびクライアントソフトウエア30は、これらの構成部分により、プレーヤによるゲームクライアントコンピュータ3に対する操作を受け入れて、ゲームクライアントコンピュータ3の入出力装置126(図2)に、実時間的に各プレーヤのアバタを移動させて表示する。
つまり、サーバソフトウエア20およびクライアントソフトウエア30は、ファーストパーソンシューティングゲームなどの実時間性が重要とされるネットワークゲームを進行させるための機能を、プレーヤに提供する。
図4は、ネットワークゲームの仮想空間を移動する各プレーヤのアバタを例示する図である。
サーバ側ゲームソフトウエア200は、ゲームクライアントコンピュータ3のプレーヤからの操作に応じて、ネットワークゲームを進行させる。
サーバ側ゲームソフトウエア200において、アバタ位置処理部202は、ネットワークゲームの仮想空間における各ユーザのアバタの位置を示す位置更新情報x[n]を、一定の周期T(例えば1/10秒)ごとに作成し、サーバ側インターフェースソフトウエア204に対して出力する。
図5は、図3に示した位置推定情報作成部208が作成する位置推定情報y[m]を示す図である。
サーバ側インターフェースソフトウエア204において、位置推定情報作成部208は、図5に斜線を付した円で示すように、アバタ位置処理部202から入力され、各時点(0〜3T)におけるアバタの位置を示す位置更新情報x[n]から、図5に白い円で示すように、次の時点(T4)アバタの位置を推定して示す位置推定情報y[n+1]を作成する。
次の時点の位置推定情報y[n+1]と、その時点までの位置更新情報x[n],x[n−1],・・・,x[n−k](k≧1)との関係は、
y[n+1]=f(x[n],x[n−1],・・・,x[n−k])
と表すことができる。
図6(A)〜(D)に示すように、位置推定情報y[n+1]には、以下の(1)〜(3)の機能がある。
位置推定情報y[n+1]には、以下の(1)〜(3)の機能がある。
(機能1)図6(A),(B)に示すように、位置更新情報x[n],x[n−1],・・・,x[n−k]の内のいずれか1つが、ネットワーク100において欠落したときには、位置推定情報y[n+1]は、欠落した位置更新情報を完全に復元することができるパリティとして用いられる。
(機能2)図6(C)に示すように、位置更新情報x[n],x[n−1],・・・,x[n−k]の内の2つ以上がネットワーク100において欠落したときには、位置推定情報y[n+1]は、欠落した位置更新情報を推定するために用いられる。
(機能3)図6(D)に示すように、位置推定情報y[n+1]が生成された後に、位置更新情報x[n+1]が、ネットワーク100において欠落したときには、位置推定情報y[n+1]は、位置更新情報x[n+1]の推定値として用いられ得る。
位置推定情報作成部208は、下記(1)〜(4)のいずれかの方法により、位置推定情報y[m]を求める。
(方法1)0次保持:
位置更新情報x[n]を、そのまま位置推定情報y[n+1](y[n+1]=x[n])とする。
この方法によれば、位置更新情報x[n]が、ネットワーク100において欠落したときに、位置推定情報y[n+1]から、位置更新情報x[n]を完全に復元できる。
また、ネットワーク100においてバーストエラーが生じ、位置更新情報x[n],x[n−1],・・・,x[n−k]が欠落したときには、位置推定情報y[n+1]と、位置更新情報x[n−k−1]とにより、位置更新情報x[n],x[n−1],・・・,x[n−k]を補間することができる。
さらに、位置更新情報x[n+1]が、ネットワーク100において欠落したときに、位置推定情報y[n+1]から、位置更新情報x[n+1]を推定できる。
位置推定情報y[n+1]を、2つの位置更新情報x[n],x[n−1]を用いて求める。
位置更新情報x[n],x[n−1]が、それぞれnT,(n−1)T(=tn,tn−1)の時点で得られ、x[n],x[n−1]をxn,xn−1と記載すると、tの時点の位置推定情報y(t)は、
y(t)=Axn−1+Bxn,
A=(tn−t)/(tn−tn−1),
B=1−A=(t−tn−1)/(tn−tn−1)
により得ることができる。
この方法によれば、x[n]またはx[n−1]が欠落した場合は、y[n+1]と届いたx[n]かx[n−1]かを使って、欠落したx[n]かx[n−1]かを完全に復元できる。
ただし、x[n],x[n−1]の両方が欠落したときには、これらを完全には復元できない。
また、ネットワーク100においてバーストエラーが生じ、位置更新情報x[n],x[n−1],・・・,x[n−k]が欠落したときには、位置推定情報y[n+1]と、位置更新情報x[n−k−1]とにより、位置更新情報x[n],x[n−1],・・・,x[n−k]を補間することができる。
また、位置更新情報x[n+1]が、ネットワーク100において欠落したときに、位置推定情報y[n+1]から、位置更新情報x[n+1]を推定できる。
補間により得られる位置推定情報y(t)が描く曲線をなめらかにして、位置推定情報y(t)を求めるためには、下式が用いられる。
y(t)=Axn−1+Bxn+Cx"n−1+Dx"n,
ただし、
x"n−1,x"nは、y(t)のtn−1,tnにおける2次微係数であり、
C=(1/6)(A3−A)(tn−tn−1)2,
D=(1/6)(B3−B)(tn−tn−1)2
である。
位置推定情報y[n+1]は、下式1により得ることができる。
図8は、図3に示したトークン制御部212により行われるトークンバケット方式による位置推定情報y[m]の伝送制御を示す図である。
図7に示すように、ネットワーク100の伝送可能帯域Bは、位置更新情報x[n]の伝送のために使用される帯域R(R<B)に対して、十分な余裕がある。
トークン制御部212は、図7に示した位置更新情報x[n]をネットワーク100を介して伝送した残りの帯域B−Rを用いて、送信部210を制御し、位置推定情報y[m]を、ネットワーク100を介してネットワーク100に送らせる。
位置推定情報y[m]のネットワーク100を介した伝送には、位置推定情報y[m]の伝送のために使用される帯域が、B−R未満でなければならないという条件がある。
通常はトークンバケットはソフトウエア的に実現されるため、それに直接対応するハードウエアは存在しなくてもよい。
トークン制御部212は、トークンバケットに溜まったトークンの量が、位置推定情報作成部208が作成する位置推定情報y[m]のデータ量に到達したときに、位置推定情報y[m]が送信可能であると判断し、トークンバケットをクリアするとともに、送信部210を制御して、この位置推定情報y[m]を送信させるように送信部210を制御する。
上の説明から判るように、このトークンバケットの容量は原理的には位置推定情報y[m]のデータ量と同じとしてよい。
図9に示すように、位置更新情報x[n]は、T(秒)間隔でゲームサーバ2からゲームクライアントコンピュータ3に対して送信される。
例えば、トークン制御部212が、位置更新情報x[1]が送信されてからu(u<T)秒後、T+uの時点で、位置更新情報x[0],x[1]から得られた位置推定情報y[2]を送信可能であると判断する。
しかしながら、直前の位置更新情報送信時点からの時間オフセットuがTに十分に近い場合、つまり、次回の位置更新情報送信時点(2T)の直前になっている場合は、直ちに位置推定情報y[2]を送信する代わりに、2Tの時点で次回の位置更新情報x[2]を送信するまで待ってから、位置推定情報y[3]を送信する方が有利である。
遅延制御部214は、位置更新情報x[n]を送信後、トークン制御部212により位置推定情報y[n+1]が送信可能であると判断されるまでの時間オフセットuと閾値Δとを比較し、時間オフセットuが閾値Δ未満であるときには、作成された位置推定情報y[n+1]を送信し、時間オフセットuが閾値Δ以上であるときには、次に位置更新情報x[n+1]を送信するタイミングまで待ってx[n+1]を先ず送信し、その後に位置推定情報y[n+2]を送信するように、送信部210を制御する。
横軸は閾値Δをミリ秒で表したものであり、縦軸はある基準値に対するひずみの大きさの相対値である。
このひずみは、より具体的に表現すれば、送信側の実アバタの位置と、位置更新情報を待ち時間閾値内に受信することによって受信側が獲得し、あるいは、位置推定情報y[m](EPP)を使って、受信側が復元・推定したアバタの位置との差分の平均値であるが、注意すべきことは、アバタは、物理的な世界ではなくゲームなどの仮想世界に存在するため、その位置にはメートルなどの物理的な単位は通常は与えられていない点である。
したがって、図10においても縦軸に長さの単位はない。
なお、上記関係は、ネットワーク100の構成、遅延およびパケットの欠落率などによって決まる。
図10のグラフは実験的に求められたものであり、Δ=10msとしたときに最良の結果が得られた。
(1)位置推定情報y[m]の実際のオンラインゲームにおける有効性を試験するために、人気あるファースト・パーソン・シューティングゲーム(FPS)の"bzflag[1]"および"sauerbraten[2]"を10分間プレイするために必要とされるゲームの更新情報が集められた。
2人のクライアントが、低損失で低遅延のLANを介して、FPSに活発に参加した。
client2からの周期的な位置更新情報x[n]が、client1に届いたときに、フィルタが用いられてゲームの更新情報が取得された。
(2)所与の取得されたゲームの更新情報に対して、予め開発されたネットワークシミュレータを用いてネットワークのシミュレーションを行った。
ネットワークにおける遅延については、独立同一配信遅延モデル(iid; independent and identically distributed delay model)が用いられている。
各パケットには、(κ,α,λ)=(40ms,3,0.1)のシフトガンマ配信(shifted-Gamma distribution)iidパラメータで、ネットワーク遅延が与えられた。
この結果、平均伝送遅延は70msとなった。
ネットワーク損失については、下記2つの損失モデルが用いられた。
i)損失率0.1のiid損失モデル、および、
ii)損失率0.1およびバースト損失長2.22の2状態のマルコフ損失モデル(Gilbertモデル)
(4)受信側では、アバタ位置推定部310は、現在のアバタの位置を予想する。
送信側で予想された位置と、送信側の実際の位置とのユークリッド距離が、評価の尺度となる。
送信部210は、位置推定情報作成部208から入力される位置推定情報y[m]をパケットに格納し、上述したトークン制御部212および遅延制御部214の制御に応じて、UDPに従って、ネットワーク100を介してゲームクライアントコンピュータ3に対して送信する。
クライアントソフトウエア30において、受信部304は、ゲームサーバ2からネットワーク100を介して伝送され、遅延およびパケットの欠落が生じた一連の位置更新情報x'[n]および位置推定情報y'[m]を受信する。
図9に示したように、位置更新情報x[n]は、T(秒)間隔でゲームサーバ2からゲームクライアントコンピュータ3に対して送信される。
ただし、これまでに受信できた一連の位置更新情報と位置推定情報を使えばまだ受信されていない次の位置更新情報x'[n+1]を正確に復元できるようになった場合には、次の位置更新情報x'[n+1]の受信を待つことなく復元・推定部306を付勢して次の位置更新情報x'[n+1]を求めるようにしてもよい。
待ち時間閾値δの間待ってもx'[n+1]を受信できなかった場合には、既に受信している位置推定情報y'[m]や過去の位置更新情報を使用して次の位置を復元・推定できるようにするため、次の位置更新情報x'[n+1]が時間内に受信できなかったことを復元・推定部306に対して通知する。
前回受信した位置更新情報x'[1]から次の位置更新情報x'[2]の受信までの待ち時間vをTに比べて大きく取ってよいとする場合、その時点までに受信できた一連の位置更新情報とvがTより大きくなっても(つまりパケットの遅延がないのであればx'[2]が受信されているべき時点を越えても)直ちにパケットの欠落だと判定する代わりに、許される限り(例えば2T付近まで)待つようにしてもよい。
ただし、この待ち時間があまり長くなると、受信側で受け取ったところの更新された(しばらく前には正しかった)位置と送信側の現在位置との差が大きくなる。
従って、これ以上は次の位置更新情報を待ってはいけないという、上述の場合分けのための待ち時間閾値が存在するのである。
横軸は待ち時間閾値δをミリ秒で表したものであり、縦軸はある基準値に対するひずみの大きさの相対値である。
このひずみは、より具体的に表現すれば、送信側の実アバタの位置と、位置更新情報を待ち時間閾値内に受信することによって受信側が獲得し、あるいは、位置推定情報y[m](EPP)を使って、受信側が復元・推定したアバタの位置との差分の平均値であるが、注意すべきことは、図10について説明したように、アバタは物理的な世界ではなくゲームなどの仮想世界に存在するため、アバタ位置は物理的な単位を通常は持っておらず、したがって、図11においても縦軸は長さの単位を持っていない点である。
図11のグラフは実験的に求められたものであり、図10の場合と同じ条件を採用している。
図11に示す例では、待ち時間閾値δ=195msとすることで、実際の位置と推定位置の間の差分を最小にすることができた。
アバタ位置補正処理ソフトウエア310は、位置情報z[n]に対してネットワーク100における遅延時間γnの補正を行い、位置情報x"[n+γn]として、クライアント側ゲームソフトウエア312に対して出力する。
クライアント側ゲームソフトウエア312は、入力された位置情報"[n+γn]を用いて、入出力装置126に、各プレーヤのアバタを表示する。
以下、図1に示したネットワークゲームシステム1の全体的な動作を説明する。
ゲームサーバ2側において、サーバ側ゲームソフトウエア200(図3)は、ゲームクライアントコンピュータ3のプレーヤからの操作に応じて、ネットワークゲームを進行させ、アバタ位置処理部202は、ネットワークゲームの仮想空間における各ユーザのアバタの位置を示す位置更新情報x[n]を作成する。
位置推定情報作成部208は、図5を参照して説明したように、位置更新情報x[n]から、位置推定情報y[m]を作成する。
遅延制御部214は、図9,図10を参照して説明したように、位置更新情報x[n]を送信後、トークン制御部212により位置推定情報y[n+1]が送信可能であると判断されるまでの時間uと、閾値Δとを比較し、時間uが閾値Δ未満であるときには、作成された位置推定情報y[n+1]を送信し、時間uが閾値Δ以上であるときには、次に位置更新情報x[n+1]を送信するタイミングまで待って、この位置更新情報x[n+1]を送信し、その後に次の時点における位置推定情報y[n+2]を送信するように、送信部210を制御する。
送信部210は、位置更新情報x[n]および位置推定情報y[m]をパケットに格納し、トークン制御部212および遅延制御部214の制御に応じて、ゲームクライアントコンピュータ3に対して送信する。
遅延制御部302は、図9および図11を参照して説明したように、位置更新情報x'[n]を受信後、待ち時間閾値δが経過するまで次の位置更新情報x'[n+1]が受信されるのを待ち、待ち時間閾値δだけの時間が経過しても位置更新情報x'[n+1]が受信できなかった場合には、この情報の欠落が起こったと判断して復元・推定を行うように復元・推定部306を制御する。
また、遅延制御部302は、受信部304が待ち時間閾値δ以内に次の位置更新情報x'[n+1]を受信できた場合には、この受信した情報を復元・推定部306に対して出力するように、受信部304を制御する。
アバタ位置補正処理ソフトウエア310は、位置情報z[n]に対してネットワーク100における遅延時間γnの補正を行い、位置情報x"[n+γn]として出力する。
クライアント側ゲームソフトウエア312は、入力された位置情報"[n+γn]を用いて、入出力装置126に、各プレーヤのアバタを表示する。
100・・・ネットワーク,
2・・・ゲームサーバ,
120・・・本体,
122・・・CPU,
124・・・メモリ,
126・・・入出力装置,
128・・・通信装置,
132・・・記録装置,
134・・・記録媒体,
20・・・サーバソフトウエア,
200・・・サーバ側ゲームソフトウエア,
202・・・アバタ位置処理部,
204・・・サーバ側インターフェースソフトウエア,
208・・・位置推定情報作成部,
210・・・送信部,
212・・・トークン制御部,
214・・・遅延制御部,
3・・・ゲームクライアントコンピュータ,
30・・・クライアントソフトウエア,
300・・・クライアント側インターフェースソフトウエア,
302・・・遅延制御部,
304・・・受信部,
310・・・アバタ位置補正処理ソフトウエア,
312・・・クライアント側ゲームソフトウエア,
Claims (10)
- 所定の周期ごとに生成される伝送データと、前記伝送データの1つ以上に基づいて、これらよりも先の周期における伝送データを推定する推定データとを、送信装置から、ネットワークを介して、受信装置に対して伝送するデータ伝送システムであって、
前記ネットワークは前記伝送データに対して遅延と欠落とを生じさせ、
前記送信装置は、
前記伝送データを生成する伝送データ生成手段と、
前記推定データを生成する推定データ生成手段と、
前記伝送データの送信から、この伝送データを用いた推定のために用いられる推定データの送信までの時間差が、所定の閾値よりも短いか否かを判断する送信時間判断手段と、
前記生成された伝送データを送信し、前記推定データの送信までの時間差が、前記所定の閾値よりも短いときに、前記ネットワーク上で割り当てられた帯域幅と前記伝送データの帯域幅との差分の帯域幅を用いて、前記生成された推定データを送信する送信手段と
を有し、
前記受信装置は、
前記送信された伝送データと推定データとを受信する受信手段と、
前記伝送データが欠落したときに、前記欠落した伝送データを、前記受信された伝送データと前記推定データとを用いて復元または推定する復元・推定手段と
を有する
データ伝送システム。 - 前記受信装置は、前記ネットワークにおいて伝送データに生じた遅延を補償する遅延補償手段
をさらに有する請求項1に記載のデータ伝送システム。 - 前記送信装置は、
前記ネットワーク上で割り当てられた帯域幅と前記伝送データの帯域幅との差分と、前記生成された推定データの送信に必要な帯域幅とに基づいて、前記推定データが送信可能か否かを判断する送信可能性判断手段
をさらに有し、
前記送信手段は、前記推定データが送信可能と判断されたときに、前記推定データを送信する
請求項1または2に記載のデータ伝送システム。 - 前記送信可能性判断手段は、前記推定データを送信しても、前記送信された推定データの帯域幅が、前記ネットワーク上で割り当てられた帯域幅と前記伝送データの帯域幅との差分を超えないように、トークンバケット(token bucket)方式により、前記推定データが送信可能か否かを判断する
請求項3に記載のデータ伝送システム。 - 前記受信装置は、
前記伝送データの受信から所定の閾値以内の時間差で次の周期の前記伝送データが受信されたか否かを判断する受信時間判断手段
をさらに有し、
前記推定手段は、前記次の周期の前記伝送データが前記所定の閾値以内の時間差で受信されなかったときに、前記受信された伝送データの次の伝送データの推定を行う
請求項1〜4のいずれかに記載のデータ伝送システム。 - 前記受信装置は、
前記受信された伝送データおよび前記推定された伝送データまたはこれらのいずれかに基づいて、将来、受信されるべき伝送データを予測する予測手段
をさらに有する
請求項1〜5のいずれかに記載のデータ伝送システム。 - 前記伝送データは、移動物の位置を、前記周期ごとに示す
請求項1〜5のいずれかに記載のデータ伝送システム。 - 前記伝送データは、1つ以上のアバタ(avatar)を移動させて行うネットワークゲームにおける前記アバタそれぞれの位置を、前記周期ごとに示す
請求項1〜5のいずれかに記載のデータ伝送システム。 - 所定の周期ごとに生成される伝送データと、前記伝送データの1つ以上に基づいて、これらよりも先の周期における伝送データを推定する推定データとを、送信装置から、ネットワークを介して、受信装置に対して伝送するデータ伝送方法であって、
前記ネットワークは前記伝送データに対して遅延と欠落とを生じさせ、
前記送信装置は、
前記伝送データを生成し、
前記推定データを生成し、
前記伝送データの送信から、この伝送データを用いた推定のために用いられる推定データの送信までの時間差が、所定の閾値よりも短いか否かを判断し、
前記生成された伝送データを送信し、前記推定データの送信までの時間差が、前記所定の閾値よりも短いときに、前記ネットワーク上で割り当てられた帯域幅と前記伝送データの帯域幅との差分の帯域幅を用いて、前記生成された推定データを送信し、
前記受信装置は、
前記送信された伝送データと推定データとを受信し、
前記伝送データが欠落したときに、前記欠落した伝送データを、前記受信された伝送データと前記推定データとを用いて復元または推定する
データ伝送方法。 - 所定の周期ごとに生成される伝送データと、前記伝送データの1つ以上に基づいて、これらよりも先の周期における伝送データを推定する推定データとを、送信装置から、ネットワークを介して、受信装置に対して伝送するデータ伝送プログラムであって、
前記ネットワークは前記伝送データに対して遅延と欠落とを生じさせ、
前記送信装置において、
前記伝送データを生成する伝送データ生成ステップと、
前記推定データを生成する推定データ生成ステップと、
前記伝送データの送信から、この伝送データを用いた推定のために用いられる推定データの送信までの時間差が、所定の閾値よりも短いか否かを判断する送信時間判断ステップと、
前記生成された伝送データを送信し、前記推定データの送信までの時間差が、前記所定の閾値よりも短いときに、前記ネットワーク上で割り当てられた帯域幅と前記伝送データの帯域幅との差分の帯域幅を用いて、前記生成された推定データを送信する送信ステップと
をコンピュータに実行させ、
前記受信装置において、
前記送信された伝送データと推定データとを受信する受信ステップと、
前記伝送データが欠落したときに、前記欠落した伝送データを、前記受信された伝送データと前記推定データとを用いて復元または推定する復元・推定ステップと
をコンピュータに実行させる
データ伝送プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009509213A JP5357752B2 (ja) | 2007-04-05 | 2008-03-28 | データ伝送システムおよびその方法 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007099016 | 2007-04-05 | ||
JP2007099016 | 2007-04-05 | ||
PCT/JP2008/056091 WO2008126701A1 (ja) | 2007-04-05 | 2008-03-28 | データ伝送システムおよびその方法 |
JP2009509213A JP5357752B2 (ja) | 2007-04-05 | 2008-03-28 | データ伝送システムおよびその方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2008126701A1 JPWO2008126701A1 (ja) | 2010-07-22 |
JP5357752B2 true JP5357752B2 (ja) | 2013-12-04 |
Family
ID=39863808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009509213A Expired - Fee Related JP5357752B2 (ja) | 2007-04-05 | 2008-03-28 | データ伝送システムおよびその方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20100325255A1 (ja) |
JP (1) | JP5357752B2 (ja) |
KR (1) | KR101513315B1 (ja) |
DE (1) | DE112008000858T5 (ja) |
WO (1) | WO2008126701A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9789397B2 (en) | 2014-03-07 | 2017-10-17 | Square Enix Co., Ltd. | Game system, information processing apparatus, control method, and recording medium |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8823701B2 (en) * | 2011-05-03 | 2014-09-02 | Bungie, Inc. | Apparatus and method for improved presentation of objects in a distributed interactive simulation |
JP6298432B2 (ja) | 2015-10-19 | 2018-03-20 | 株式会社コロプラ | 画像生成装置、画像生成方法、及び画像生成プログラム |
US10423674B1 (en) * | 2015-12-30 | 2019-09-24 | Google Llc | Serving multiple content items responsive to a single request |
TWI672930B (zh) * | 2018-02-12 | 2019-09-21 | 瑞昱半導體股份有限公司 | 網路資料預測方法、網路資料處理裝置及網路資料處理方法 |
CN114337930A (zh) * | 2018-02-14 | 2022-04-12 | 瑞昱半导体股份有限公司 | 网络数据预测方法 |
JP6748281B1 (ja) * | 2019-12-10 | 2020-08-26 | 株式会社Cygames | サーバ、処理システム、処理方法及びプログラム |
CN115212580B (zh) * | 2022-09-21 | 2022-11-25 | 深圳市人马互动科技有限公司 | 基于电话交互更新游戏数据的方法及相关装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07177148A (ja) * | 1993-12-16 | 1995-07-14 | Toshiba Corp | 通信システムの呼設定方法及び呼設定制御装置 |
JPH09191314A (ja) * | 1996-01-10 | 1997-07-22 | Mitsubishi Electric Corp | 連続データ伝送方法および連続データ伝送装置 |
JP2003333577A (ja) * | 2002-03-06 | 2003-11-21 | Hewlett Packard Co <Hp> | メディア・ストリーミング配信システム |
JP2004105671A (ja) * | 2002-09-16 | 2004-04-08 | Genki Kk | 空間位置共有システム、データ共有システム、ネットワークゲームシステム及びネットワークゲーム用クライアント |
JP2004180302A (ja) * | 2002-11-27 | 2004-06-24 | Alcatel Canada Inc | 通信装置のためにデータトラフィックフローをスケジュールするシステムおよび方法 |
JP2004193992A (ja) * | 2002-12-11 | 2004-07-08 | Sony Corp | 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム |
JP2004280507A (ja) * | 2003-03-17 | 2004-10-07 | Connect Technologies Corp | 遅延データ予測プログラム |
WO2006057185A1 (ja) * | 2004-11-26 | 2006-06-01 | Kabushiki Kaisha Sega Doing Business As Sega Corporation | 情報処理装置、データ処理方法、プログラム及び記録媒体 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3235655B2 (ja) * | 1997-12-01 | 2001-12-04 | 日本電気株式会社 | バースト性をもつ低速汎用データの固定長パケット多重装置 |
GB2347824B (en) * | 1999-03-05 | 2004-03-03 | Internat Mobile Satellite Orga | Communication methods and apparatus |
US7006616B1 (en) * | 1999-05-21 | 2006-02-28 | Terayon Communication Systems, Inc. | Teleconferencing bridge with EdgePoint mixing |
US20060067500A1 (en) * | 2000-05-15 | 2006-03-30 | Christofferson Frank C | Teleconferencing bridge with edgepoint mixing |
US20010044835A1 (en) * | 2000-05-17 | 2001-11-22 | Schober Joseph Frank | Selecting content to be communicated based on automatic detection of communication bandwidth |
JP4644939B2 (ja) * | 2001-01-17 | 2011-03-09 | 日本電気株式会社 | 動画像符号化装置および動画像符号化方法 |
WO2002087099A1 (en) * | 2001-04-18 | 2002-10-31 | Bae Systems Information And Electronic Systems Integration Inc. | Bandwidth-efficient wireless network modem |
US7463890B2 (en) * | 2002-07-24 | 2008-12-09 | Herz Frederick S M | Method and apparatus for establishing ad hoc communications pathways between source and destination nodes in a communications network |
US7305464B2 (en) * | 2002-09-03 | 2007-12-04 | End Ii End Communications, Inc. | Systems and methods for broadband network optimization |
JP2004100967A (ja) * | 2002-09-04 | 2004-04-02 | Sumitomo Metal Ind Ltd | 粉体燃焼用バーナ、粉体燃焼方法および焼却炉 |
US8176154B2 (en) * | 2002-09-30 | 2012-05-08 | Avaya Inc. | Instantaneous user initiation voice quality feedback |
JP3769752B2 (ja) * | 2002-12-24 | 2006-04-26 | ソニー株式会社 | 情報処理装置および情報処理方法、データ通信システム、並びに、プログラム |
US8824553B2 (en) * | 2003-05-12 | 2014-09-02 | Google Inc. | Video compression method |
FR2857198B1 (fr) * | 2003-07-03 | 2005-08-26 | Canon Kk | Optimisation de qualite de service dans la distribution de flux de donnees numeriques |
US7551555B2 (en) * | 2003-08-13 | 2009-06-23 | Nortel Networks Limited | Method, system and program product for regulating data messaging by mobile stations in a wireless network |
US7475129B2 (en) * | 2003-12-12 | 2009-01-06 | International Business Machines Corporation | Estimating bandwidth of client-ISP link |
US20050144309A1 (en) * | 2003-12-16 | 2005-06-30 | Intel Corporation, A Delaware Corporation | Systems and methods for controlling congestion using a time-stamp |
EP1548972A3 (en) * | 2003-12-26 | 2006-12-27 | NTT DoCoMo, Inc. | Transmitter device and relay device for performing data transmission control |
US7477621B1 (en) * | 2004-09-07 | 2009-01-13 | Marvell International Ltd. | System and method for estimating bandwidth requirements of and allocating bandwidth to communication devices operating in a network |
US7426304B2 (en) * | 2004-09-15 | 2008-09-16 | Hewlett-Packard Development Company, L.P. | Method and device for three-dimensional graphics to two-dimensional video encoding |
US7784076B2 (en) * | 2004-10-30 | 2010-08-24 | Sharp Laboratories Of America, Inc. | Sender-side bandwidth estimation for video transmission with receiver packet buffer |
KR100643760B1 (ko) * | 2004-12-31 | 2006-11-10 | 삼성전자주식회사 | 타임-슬롯 광 버스트 스위칭 시스템 및 스위칭방법 |
JP4690453B2 (ja) * | 2005-04-15 | 2011-06-01 | ニュー ジャージー インスティチュート オブ テクノロジー | ブロードバンドパッシブ光ネットワークのための動的帯域幅割当及びサービス区別 |
US8599945B2 (en) * | 2005-06-16 | 2013-12-03 | Qualcomm Incorporated | Robust rank prediction for a MIMO system |
US7950042B2 (en) * | 2005-12-16 | 2011-05-24 | Newport Media, Inc. | Fast switching between time division multiplexed (TDM) channels |
US9544602B2 (en) * | 2005-12-30 | 2017-01-10 | Sharp Laboratories Of America, Inc. | Wireless video transmission system |
JP4808054B2 (ja) * | 2006-03-17 | 2011-11-02 | 富士通株式会社 | データ転送方法及び,これを適用する通信システム及びプログラム |
WO2007115224A2 (en) * | 2006-03-30 | 2007-10-11 | Sri International | Method and apparatus for annotating media streams |
US7729347B2 (en) * | 2006-05-31 | 2010-06-01 | Zvi Rosberg | Method and apparatus for fair flow control and congestion avoidance supporting multiple QoS class requirements |
US7627632B2 (en) * | 2006-11-13 | 2009-12-01 | Microsoft Corporation | Reducing bandwidth requirements for peer-to-peer gaming based on importance of remote objects to a local player |
US7883419B2 (en) * | 2007-01-31 | 2011-02-08 | Hewlett-Packard Development Company, L.P. | Proxy device to packetize data to send to a wireless network |
US7856501B2 (en) * | 2007-12-04 | 2010-12-21 | Sony Computer Entertainment Inc. | Network traffic prioritization |
-
2007
- 2007-04-05 US US12/594,800 patent/US20100325255A1/en not_active Abandoned
-
2008
- 2008-03-28 JP JP2009509213A patent/JP5357752B2/ja not_active Expired - Fee Related
- 2008-03-28 WO PCT/JP2008/056091 patent/WO2008126701A1/ja active Application Filing
- 2008-03-28 DE DE112008000858T patent/DE112008000858T5/de not_active Withdrawn
- 2008-03-28 KR KR1020097020595A patent/KR101513315B1/ko not_active IP Right Cessation
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07177148A (ja) * | 1993-12-16 | 1995-07-14 | Toshiba Corp | 通信システムの呼設定方法及び呼設定制御装置 |
JPH09191314A (ja) * | 1996-01-10 | 1997-07-22 | Mitsubishi Electric Corp | 連続データ伝送方法および連続データ伝送装置 |
JP2003333577A (ja) * | 2002-03-06 | 2003-11-21 | Hewlett Packard Co <Hp> | メディア・ストリーミング配信システム |
JP2004105671A (ja) * | 2002-09-16 | 2004-04-08 | Genki Kk | 空間位置共有システム、データ共有システム、ネットワークゲームシステム及びネットワークゲーム用クライアント |
JP2004180302A (ja) * | 2002-11-27 | 2004-06-24 | Alcatel Canada Inc | 通信装置のためにデータトラフィックフローをスケジュールするシステムおよび方法 |
JP2004193992A (ja) * | 2002-12-11 | 2004-07-08 | Sony Corp | 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム |
JP2004280507A (ja) * | 2003-03-17 | 2004-10-07 | Connect Technologies Corp | 遅延データ予測プログラム |
WO2006057185A1 (ja) * | 2004-11-26 | 2006-06-01 | Kabushiki Kaisha Sega Doing Business As Sega Corporation | 情報処理装置、データ処理方法、プログラム及び記録媒体 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9789397B2 (en) | 2014-03-07 | 2017-10-17 | Square Enix Co., Ltd. | Game system, information processing apparatus, control method, and recording medium |
Also Published As
Publication number | Publication date |
---|---|
KR20100014739A (ko) | 2010-02-10 |
JPWO2008126701A1 (ja) | 2010-07-22 |
DE112008000858T5 (de) | 2010-02-04 |
US20100325255A1 (en) | 2010-12-23 |
KR101513315B1 (ko) | 2015-04-17 |
WO2008126701A1 (ja) | 2008-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5357752B2 (ja) | データ伝送システムおよびその方法 | |
US20090055471A1 (en) | Media streaming with online caching and peer-to-peer forwarding | |
JP2022553617A (ja) | 途絶の間のアプリケーションへの自動ユーザ入力の提供 | |
Chakareski | Wireless streaming of interactive multi-view video via network compression and path diversity | |
JP5804060B2 (ja) | パラメータ推定装置、パラメータ推定方法、及び、パラメータ推定プログラム | |
Sun et al. | Optimal strategies for live video streaming in the low-latency regime | |
CN104145253B (zh) | 图像发送方法、以及装置 | |
Chen et al. | Qoe-aware dynamic video rate adaptation | |
EP4013006A1 (en) | Method for playing on a player of a client device a content streamed in a network | |
Xu et al. | Consistent synchronization of action order with least noticeable delays in fast-paced multiplayer online games | |
JP2023515003A (ja) | ネットワークでストリーミングされたコンテンツをクライアントデバイスのプレーヤで再生する方法 | |
US20230415034A1 (en) | Streaming channel personalization | |
Shi et al. | Dead reckoning using play patterns in a simple 2D multiplayer online game | |
US7490158B2 (en) | Multicast transfer rate probe | |
JP5987798B2 (ja) | 情報処理システム、情報処理装置及びプログラム | |
Roberts et al. | Bounding inconsistency using a novel threshold metric for dead reckoning update packet generation | |
JP2008085826A (ja) | 情報送信装置、通信端末装置、情報送信プログラム及び情報通信プログラム | |
EP3886451A1 (en) | Method for playing on a player of a client device a content streamed in a network | |
Crowle et al. | Dynamic adaptive mesh streaming for real-time 3d teleimmersion | |
US11167211B2 (en) | Spectating simulation | |
KR100868775B1 (ko) | 햅틱 기반 협업 가상 환경에서의 햅틱 이벤트 전송 방법 및그 시스템 | |
Roberts | Communication infrastructures for inhabited information spaces | |
Lee et al. | Intra-media synchronization scheme for haptic interactions in distributed virtual environments | |
Pelayo | Bandwidth prediction for adaptive video streaming | |
CN113422740B (zh) | 一种分组包调度方法、装置、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110322 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130306 |
|
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: 20130805 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130830 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees | ||
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |