Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3935463B2 - 無線通信システム、およびそれにおけるデータの送受信をコンピュータに実行させるためのプログラム - Google Patents
[go: Go Back, main page]

JP3935463B2 - 無線通信システム、およびそれにおけるデータの送受信をコンピュータに実行させるためのプログラム - Google Patents

無線通信システム、およびそれにおけるデータの送受信をコンピュータに実行させるためのプログラム Download PDF

Info

Publication number
JP3935463B2
JP3935463B2 JP2003355095A JP2003355095A JP3935463B2 JP 3935463 B2 JP3935463 B2 JP 3935463B2 JP 2003355095 A JP2003355095 A JP 2003355095A JP 2003355095 A JP2003355095 A JP 2003355095A JP 3935463 B2 JP3935463 B2 JP 3935463B2
Authority
JP
Japan
Prior art keywords
data
buffer
new
generated
predetermined time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003355095A
Other languages
English (en)
Other versions
JP2005123791A (ja
Inventor
聡子 板谷
デイビス ピーター
昌克 小菅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATR Advanced Telecommunications Research Institute International
Original Assignee
ATR Advanced Telecommunications Research Institute International
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ATR Advanced Telecommunications Research Institute International filed Critical ATR Advanced Telecommunications Research Institute International
Priority to JP2003355095A priority Critical patent/JP3935463B2/ja
Publication of JP2005123791A publication Critical patent/JP2005123791A/ja
Application granted granted Critical
Publication of JP3935463B2 publication Critical patent/JP3935463B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

この発明は、無線通信においてデータの欠落が少なく、かつ、待ち時間の少ない無線通信システム、およびそれにおけるデータの送受信をコンピュータに実行させるためのプログラムに関するものである。
無線通信の規格の1つであるIEEE802.11のアドホックモードコミュニケーションは、ベースステーションが必要なく、いつでも、どこでも通信可能である。そして、最近、このIEEE802.11を用いて、有線ネットワークでは実現し得なかった新しいサービスを実現することが期待されている。
無線パケット通信を用いて、小さな制御パケットをリアルタイムで相互に交換するようなアプリケーションでは、待ち時間が深刻な問題になる。したがって、リアルタイム性が要求されるアプリケーションでは、制御オーバーヘッドがTCP(Transmission Control Protocol)通信よりも少ないUDP(User Datagram Protocol)通信が用いられることが多い。また、複数の端末に同じデータを送信するブロードキャスト通信が用いられる場合が多い。
このように、リアルタイム性が要求されるアプリケーションでは、ブロードキャスト通信においてUDPを用いてデータを送信することが多い。
一方、データをまとめて送信する方法として、過去に送信したデータを抽出し、新たに送信するデータと合わせて送信データを作成して送信する方法(特許文献1)、およびIPプロトコルの通信環境において用いられるIPパケットを複数個集めて1つのデータリンクフレームに格納して送信する方法(特許文献2)が知られている。
特開2001−313637号公報 特開2003−78565号公報
しかし、ブロードキャスト通信においては、待ち時間を少なくできるが、データの再送が行なわれないため、同一電波範囲内に存在するノードが極めて少ない場合でも衝突によるパケットロスが発生するという問題がある。
また、ユニキャスト通信では、データの再送を行なうため、衝突によるパケットロスを低減できるが、送信側と受信側との間で1対1の通信が行なわれるため、待ち時間が増加するという問題がある。
更に、特許文献1は、データ再送に伴う通信トラフィックを減少させるものであり、また、特許文献2は、無線パケット通信システムにおいてスループットを向上させるものであり、特許文献1および2に記載された通信方式では、データの欠落を抑制し、かつ、無線通信の待ち時間を短縮することが困難であるという問題がある。
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、データの欠落を抑制し、かつ、無線通信の待ち時間を短縮可能な無線通信システムを提供することである。
また、この発明の別の目的は、データの欠落を抑制し、かつ、無線通信の待ち時間を短縮可能な無線通信システムにおいてデータの送受信をコンピュータに実行させるためのプログラムを提供することである。
この発明によれば、無線通信システムは、送信機と、受信機とを備える。送信機は、k(kは、1≦k≦Rを満たす自然数、Rは、2以上の自然数)個のデータを任意の時間が経過する毎に1回送信することによりk個のデータの各々をk回以上送信する。受信機は、無線通信空間においてk個のデータを受信し、k個のデータのうち新しいデータを再生する。そして、送信機は、第1および第2のモードのいずれかのモードによってk個のデータを所定時間毎に又は所定時間内でデータが生成される毎に1回送信することによりk個のデータの各々をR回以上送信する。第1のモードは、新しいデータが所定時間内に生成されると、生成順になるように新しいデータが既に送信されたデータに追加されたデータを送信するモードである。第2のモードは、新しいデータが所定時間内に生成されないとき、所定時間経過時に送信機に保持されたデータを送信するモードである
好ましくは、第1のモードは、新しいデータが所定時間内に生成されると、R個のデータのうち最も古いデータが削除され、かつ、生成順になるように新しいデータが既に送信されたR−1個のデータに追加されたR個のデータを送信するモードと、新しいデータが所定時間内に生成されると、生成順になるように新しいデータが既に送信されたデータに追加されたデータを送信するモードとからなる
好ましくは、送信機は、データを生成するデータ生成部と、R個のデータを記憶可能なバッファと、データを送信する送信部と、データ生成部によって新しいデータが所定時間内に生成されると、生成順になるように新しいデータをバッファに記憶されたデータに追加したk個のデータを作成して送信部へ出力し、データ生成部によって新しいデータが所定時間内に生成されないとき、バッファに記憶されたデータを読出して送信部へ出力するデータ制御部とを含む
好ましくは、データ制御部は、新しいデータが所定時間内に生成されたとき、バッファに記憶されているデータの個数がR個であるか否かを判定し、バッファに記憶されているデータの個数がR個であるとき、R個のデータのうち最も古いデータを削除し、かつ、生成順になるように新しいデータをR−1個のデータに追加して送信部へ出力する
好ましくは、データ制御部は、新しいデータが所定時間内に生成されたとき、バッファに記憶されているデータの個数がR個であるか否かを判定し、バッファに記憶されているデータの個数がR個よりも少ないとき、バッファに記憶されているデータの個数がR個になるまで、生成順になるように新しいデータをバッファに記憶されているデータに追加して送信部へ出力する
好ましくは、バッファは、順次大きくなるシーケンス番号に対応付けて、順次生成された新しいデータを記憶する。データ制御部は、データ生成部によって新しいデータが生成されると、バッファにおいて用いられている最大のシーケンス番号に連続するシーケンス番号を新しいデータに付与し、バッファが満杯であるとき、最も小さいシーケンス番号に対応するデータを削除し、かつ、シーケンス番号順になるように新しいデータをR−1個のデータに追加して送信部へ出力し、バッファが満杯でないとき、シーケンス番号順になるように新しいデータを追加して送信部へ出力する
好ましくは、データ制御部は、新しいデータが所定時間内に生成されない回数が所定回数に達したとき、バッファに記憶されたデータの送信部への出力を中止して待機する
好ましくは、第1のモードは、新しいデータが所定時間内に生成されると、k個のデータのうち最も古いデータが削除され、かつ、R回送信されるように新しいデータが既に送信されたk−1個のデータに追加されたk個のデータを送信するモードである
好ましくは、送信機は、k個のデータを所定時間毎に又は所定時間内でデータが生成される毎に1回送信することによりk個のデータの各々をR回繰返し送信する。送信機は、データを生成するデータ生成部と、R個のデータを記憶可能なバッファと、データを送信する送信部と、データ生成部によって新しいデータが所定時間内に生成されると、バッファに記憶されたデータのうち最も古いデータを削除し、R回送信されるように新しいデータを追加したk個のデータを作成して送信部へ出力し、データ生成部によって新しいデータが所定時間内に生成されないとき、バッファに記憶されたデータを読出して送信部へ出力するデータ制御部とを含む
好ましくは、データ制御部は、バッファが空になると、更にk個のデータの送信を中止して待機する
好ましくは、バッファは、R個のデータを記憶可能なR個の番地を有し、順次大きくなるシーケンス番号が生成順に付与されたk個のデータをk個の番地に格納する。データ制御部は、データ生成部によって新しいデータが生成されると、バッファにおいて用いられている最大のシーケンス番号に連続するシーケンス番号を新しいデータに付与し、バッファの1番目の番地に格納されたデータを削除して残りのデータを番地番号が1つ小さくなる番地へシフトし、かつ、新しいデータをバッファのR番目の番地に追加して送信部へ出力する
好ましくは、データ制御部は、更に、所定時間内に新しいデータが生成されないとき、バッファの1番目の番地に格納されたデータを削除して残りのデータを番地番号が1つ小さくなる番地へシフトし、バッファに格納されたデータを読出して送信部へ出力する
また、この発明によれば、コンピュータに実行させるためのプログラムは、無線通信空間に配置された送信機と受信機とを備える無線通信システムにおいてデータの送受信をコンピュータに実行させるためのプログラムであって、k(kは、1≦k≦Rを満たす自然数、Rは、2以上の自然数)個のデータを任意の時間が経過する毎に1回送信することによりk個のデータの各々をk回以上送信機が送信する第1のステップと、受信機が無線通信空間においてk個のデータを受信し、k個のデータのうち新しいデータを再生する第2のステップとをコンピュータに実行させ、第1のステップにおいて、送信機は、k個のデータを所定時間毎に又は所定時間内でデータが生成される毎に1回送信することによりk個のデータの各々をR回以上送信し、第1のステップは、新たなデータを所定時間内に生成する第1のサブステップと、新たなデータが所定時間内に生成されると、生成順になるように新しいデータを送信機のバッファに記憶されたデータに追加して送信する第2のサブステップと、新たなデータが所定時間内に生成されないとき、バッファに記憶されたデータを読み出して送信する第3のサブステップとを含む
好ましくは、第2のサブステップは、新しいデータが所定時間内に生成されたとき、バッファに記憶されているデータの個数がR個であるか否かを判定するステップAと、バッファに記憶されているデータの個数がR個であるとき、R個のデータのうち最も古いデータを削除するステップBと、生成順になるように新しいデータをR−1個のデータに追加してR個のデータを送信するステップCとを含む
好ましくは、第2のサブステップは、バッファに記憶されているデータの個数がR個よりも少ないとき、生成順になるように新しいデータをバッファに記憶されているデータに追加して送信するステップDをさらに含む
好ましくは、ステップDは、バッファに記憶されているデータの個数がR個になるまで繰返し実行される
好ましくは、第3のサブステップは、新たなデータが所定時間内に生成されない回数が所定回数よりも少ないか否かを判定するステップと、新たなデータが所定時間内に生成されない回数が所定回数よりも少ないとき、バッファに記憶されたデータを読出して送信するステップと、新たなデータが所定時間内に生成されない回数が所定回数に到達したとき、バッファに記憶されたデータの送信を中止して待機するステップとを含む
好ましくは、第2のサブステップは、新たなデータが所定時間内に生成されると、バッファに記憶されている最も古いデータを削除し、新しいデータがR回送信されるように新しいデータを削除された最も古いデータ以外の残りのデータに追加して送信し、第3のサブステップは、新たなデータが所定時間内に生成されないとき、バッファに記憶されている最も古いデータを削除し、その削除された最も古いデータ以外の残りのデータを送信する
好ましくは、第1のステップは、送信機のバッファが空になると、バッファに記憶されたデータの送信を中止して待機する第4のサブステップをさらに含む
この発明による無線通信システムにおいては、送信機は、任意の時間ごとに1つのデータが生成されると、最も古いデータを削除し、新たに生成されたデータを追加して受信機へ送信する。従って、送信機は、同じデータの送信回数を任意の時間ごとに増加させながら、各データをR回以上送信する。そして、受信機は、送信機から受信したデータのうち、新しく受信したデータを再生する。その結果、同じデータが再送されることにより、無線通信空間におけるデータの欠落が抑制され、それに伴って無線通信の待ち時間が少なくなる。
従って、この発明によれば、データの欠落を抑制し、かつ、待ち時間を短縮できる。
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
図1は、この発明の実施の形態による無線通信システムの概略ブロック図である。無線通信システム100は、端末装置11〜1N(Nは、2以上の自然数)からなる。端末装置11〜1Nは、無線通信空間30に配置される。そして、端末装置11〜1Nは、それぞれアンテナ21〜2Nを備え、IEEE802.11のアドホックモードコミュニケーションを用いて無線通信空間30において相互にデータを送受信する。より具体的には、端末装置11〜1Nは、k(kは、1≦k≦Rを満たす自然数、Rは、2以上の自然数)個のデータからなるパケットをブロードキャスト通信により所定時間毎に又は所定時間内にデータが生成される毎に1回送受信することにより、k個のデータの各々をR回以上送受信する。
なお、端末装置11〜1Nは、ブロードキャスト通信によりパケットを送受信するため、以下の説明においては、端末装置11〜1Nのうち、1個の端末装置11を送信機TXとし、N−1個の端末装置12〜1Nを受信機RXとして説明する。
図2は、図1に示す端末装置11の機能ブロック図である。また、図3及び図4は、パケット構成図である。端末装置11は、送受信部110と、バッファ120と、データ制御部130と、データ生成部140と、データ再生部150と、カウンタ160とを含む。
送受信部110は、図1に示すアンテナ21を含む。そして、送受信部110は、データ制御部130から受けたパケットを無線通信空間30において他の端末装置12〜1Nへブロードキャスト通信により送信し、無線通信空間30において他の端末装置12〜1Nからパケットを受信してデータ制御部130へ出力する。
バッファ120は、R個のデータD(1),D(2),D(3),・・・,D(R)を記憶可能である。そして、R個のデータD(1),D(2),D(3),・・・,D(R)は、それぞれ、p−R+1,p−R+2,p−R+3,・・・,pのシーケンス番号が付与されている。従って、バッファ120は、R個のデータD(1),D(2),・・・,D(R)をシーケンス番号p−R+1,p−R+2,p−R+3,・・・,pに対応付けて記憶する。
データ制御部130は、データの送信時、次の動作を行なう。データ制御部130は、タイマーを内蔵しており、データを送受信部110へ出力すると、タイマーにより所定時間Tを計測する。そして、データ制御部130は、所定時間T内にデータ生成部140から新たなデータD(NEW)を受けると、バッファ120に格納されたデータが満杯か否かを判定する。データ制御部130は、バッファ120に格納されたデータが満杯であるとき、最小のシーケンス番号p−R+1が付与されたデータD(1)を削除し、バッファ120に格納されているデータに付与された最大のシーケンス番号pに連続するシーケンス番号p+1を新たなデータD(NEW)に付与する。そして、データ制御部130は、シーケンス番号p+1を付与したデータD(NEW)をシーケンス番号pが付与されたデータD(R)に続けてバッファ120に格納する。
このように、データ制御部130は、バッファ120に格納されたデータが満杯であるとき、最小のシーケンス番号が付与されたデータ(最も古いデータ)を削除し、バッファ120に格納されているデータに付与されたシーケンス番号に連続するシーケンス番号を新たに生成されたデータに付与してバッファ120に格納する。これにより、バッファ120は、R個のデータを格納する。
また、データ制御部130は、バッファ120に格納されたデータが満杯でないとき、即ち、m(mは、m<Rを満たす自然数)個のデータD(1),D(2),D(3),・・・,D(m)がバッファ120に格納されているとき、バッファ120に格納されているデータに付与された最大のシーケンス番号p−R+mに連続するシーケンス番号p−R+m+1を新たなデータD(NEW)に付与する。そして、データ制御部130は、シーケンス番号p−R+m+1を付与したデータD(NEW)をシーケンス番号p−R+mが付与されたデータD(m)に続けてバッファ120に格納する。この場合、データ制御部130は、バッファ120に格納されたデータが満杯になるまで、即ち、R個のデータがバッファ120に格納されるまで、新たに生成されたデータをバッファ120に格納されたデータに追加する。そして、バッファ120に格納されたデータがR個に達すると、上述した方法により、バッファ120に格納されたデータの個数をR個に保持する。
データ制御部130は、上述した2つの方法により、新たに生成されたデータD(NEW)にシーケンス番号を付与し、バッファ120に格納する。そして、データ制御部130は、新たに生成されたデータD(NEW)を追加したデータD(2),D(3),・・・,D(R),D(NEW)またはD(1),D(2),・・・,D(m),D(NEW)をバッファ120から読出し、その読出したデータD(2),D(3),・・・,D(R),D(NEW)またはD(1),D(2),・・・,D(m),D(NEW)にヘッダを付与して1つのパケットを作成する。
データ制御部130は、1つのパケットを作成すると、その作成した1つのパケットを送受信部110へ出力し、内蔵したタイマーをリセットして所定時間Tを計測する。
また、データ制御部130は、所定時間T内にデータ生成部140から新たなデータD(NEW)を受けないとき、バッファ120に格納されているデータD(1),D(2),・・・,D(j)(jは、j≦Rを満たす自然数)を読出し、その読出したデータD(1),D(2),・・・,D(j)にヘッダを付与して1つのパケットを作成する。そして、データ制御部130は、作成した1つのパケットを送受信部110へ出力し、所定時間T内に新たなデータD(NEW)が生成されなかったことを示す信号NGDを生成してカウンタ160へ出力する。
データ制御部130は、所定時間T内に新たなデータD(NEW)が生成されないことが所定回数に達するまで、所定時間T経過時にバッファ120に記憶されているデータD(1),D(2),・・・,D(j)から1つのパケットを作成して送受信部110へ出力する。
より具体的には、データ制御部130は、カウンタ160からカウント値CNTを受け、その受けたカウント値CNTが所定回数以下であるとき、所定時間T経過時にバッファ120に記憶されているデータD(1),D(2),・・・,D(j)をバッファ120から読出し、その読出したデータD(1),D(2),・・・,D(j)から1つのパケットを作成して送受信部110へ出力し、カウント値CNTが所定回数に到達すると、バッファ120に記憶されているデータD(1),D(2),・・・,D(j)の送信を中止して待機する。
データ制御部130は、終了コマンドFNHを受けるまで上述した動作を継続する。
上述した所定時間Tは、使用するアプリケーションで許容される最大待ち時間をDとし、同時に使用する端末装置の数をn(nは、1≦n≦Nを満たす自然数)としたとき、T=D/(n×R)によって決定される。即ち、所定時間Tは、送信先の端末装置の数が増加する程、または1つのパケットで送信するデータの個数が増加する程、短く設定される。
データ制御部130は、所定時間T毎に又は所定時間T内にデータが生成される毎に上述した方法によって1つのパケットを作成して送受信部110へ出力するので、端末装置11は、所定時間T毎に又は所定時間T内にデータが生成される毎に1つのパケットをブロードキャスト通信により送信する。
また、上述したデータD(1),D(2),・・・,D(R)の各々は、比較的小さいデータサイズを有する。例えば、データD(1),D(2),・・・,D(R)の各々は、パケットが分割されるサイズよりも小さいサイズからなる。より好ましくは、データD(1),D(2),・・・,D(R)の各々のデータサイズは、データサイズとRとの積が1500バイトよりも小さくなるように決定される。
データ制御部130は、データの受信時、次の動作を行なう。データ制御部130は、送受信部110から1つのパケットを受けると、そのパケットに含まれるk個のデータをバッファ120に格納する。そして、データ制御部130は、k個のデータの中に、既に受信したデータと同じデータが含まれているか否かを判定する。
データ制御部130は、同じデータが含まれているとき、重複したデータを削除し、新しいデータのみをバッファ120から読出してデータ再生部150へ出力する。また、データ制御部130は、k個のデータの中に、既に受信したk個のデータと同じデータが含まれていないとき、受信したk個のデータの全てをバッファ120から読出してデータ再生部150へ出力する。
送受信部110は、図4に示すように、タイミングt=T1,T2,T3においてそれぞれR個のデータD(1),D(2),・・・,D(R);D(3),D(4),・・・,D(R+1),D(R+2);D(R+3),D(R+4),・・・,D(2R+2)を受信する。即ち、送受信部110は、所定時間T毎に又は所定時間T内にデータが生成される毎にR個のデータを受信する。
そして、R個のデータD(1),D(2),・・・,D(R)が受信された後に、R個のデータD(3),D(4),・・・,D(R+1),D(R+2)が受信されたときに、データ制御部130は、R個のデータD(3),D(4),・・・,D(R+1),D(R+2)に含まれるデータのうち、既に受信されたR個のデータD(1),D(2),・・・,D(R)と重複するデータD(3),D(4),・・・,D(R)を削除し、データD(R+1),D(R+2)を抽出する。
また、R個のデータD(3),D(4),・・・,D(R+1),D(R+2)が受信された後に、R個のデータD(R+3),D(R+4),・・・,D(2R+2)が受信されたときに、データ制御部130は、R個のデータD(R+3),D(R+4),・・・,D(2R+2)が既に受信されたR個のデータD(3),D(4),・・・,D(R+1),D(R+2)を含んでいないと判定したとき、R個のデータD(R+3),D(R+4),・・・,D(2R+2)を全て抽出する。
これにより、パケットロスが生じても、そのパケットロスが生じたデータ以降のデータを再度受信して再生できる。
データ生成部140は、新たなデータD(NEW)を生成し、その生成したデータD(NEW)をデータ制御部130へ出力する。データ再生部150は、データ制御部130から受けたデータを再生する。カウンタ160は、データ制御部130から信号NGDを受けると、カウント値CNTを1だけインクリメントし、そのインクリメントしたカウント値CNTをデータ制御部130へ出力する。
端末装置12〜1Nの各々は、端末装置11と同じ構成からなる。
図5は、図1に示す送信機TX(端末装置11)における動作を説明するためのフローチャートである。送信機TXにおける動作が開始されると、データ生成部140は、新たなデータD(NEW)を生成し、その生成したデータD(NEW)をデータ制御部130へ出力する。そして、データ制御部130は、終了コマンドFNHを受信したか否かを判定し(ステップS1)、終了コマンドFNHを受信したとき、送信機TXにおける動作が終了する。
一方、終了コマンドFNHが受信されなかったとき、データ制御部130は、データ生成部140からデータD(NEW)を受けたか否かによってデータが生成されたか否かを判定する(ステップS2)。
データが生成されたとき、データ制御部130は、カウンタ160を初期化し(ステップS3)、バッファ120が満杯か否かを判定する(ステップS4)。より具体的には、データ制御部130は、バッファ120に格納されたデータに付与されたシーケンス番号の最大値と最小値との差がRであるか否かによりバッファ120が満杯であるか否かを判定する。この場合、データ制御部130は、最大値と最小値との差がRであるとき、バッファ120は満杯であると判定し、最大値と最小値との差がRでないとき、バッファ120は満杯でないと判定する。
ステップS4において、バッファ120が満杯であると判定されたとき、データ制御部130は、バッファ120に格納されたデータD(1),D(2),D(3),・・・,D(R)のうち、1番目のデータであるデータD(1)を削除し(ステップS5)、バッファ120内のR−1個のデータD(2),D(3),・・・,D(R)を1つずつシフトさせる(ステップS6)。そして、データ制御部130は、新たに生成されたデータD(NEW)にシーケンス番号p+1を付与し(ステップS7)、新しいデータD(NEW)をバッファ120のR番目のデータにセットする(ステップS8)。即ち、データ制御部130は、シーケンス番号pが付与されたデータD(R)に続けてデータD(NEW)をセットする(図3参照)。
その後、データ制御部130は、バッファ120からR個のデータD(2),D(3),・・・,D(R),D(NEW)を読出し、その読出したR個のデータD(2),D(3),・・・,D(R),D(NEW)にヘッダを付加して1つのパケットを作成する。そして、データ制御部130は、作成した1つのパケットを送受信部110へ出力し、送受信部110は、1つのパケットを無線通信空間30において受信機RXへ送信する(ステップS9)。その後、データ制御部130は、内蔵したタイマーをセットし、所定時間Tを計測する(ステップS10)。そして、一連の動作は、ステップS1へ移行する。
一方、ステップS4において、バッファ120が満杯でないと判定されたとき、データ制御部130は、新しいデータD(NEW)にシーケンス番号p−R+m+1を付与する(ステップS11)。この場合、データ制御部130は、データD(NEW)が生成された時点において、バッファ120に記憶されているデータD(1),D(2),D(3),・・・,D(m)に付与されたシーケンス番号p−R+1,p−R+2,p−R+3,・・・,p−R+mのうち、最大値p−R+mに連続するシーケンス番号p−R+m+1をデータD(NEW)に付与する(図3参照)。
そして、データ制御部130は、シーケンス番号が連続するように、新たなデータD(NEW)をバッファ120内のデータD(1),D(2),D(3),・・・,D(m)に付加する(ステップS12)。即ち、データ制御部130は、データD(m)に続けてデータD(NEW)をセットする(図3参照)。
その後、データ制御部130は、バッファ120からデータD(1),D(2),D(3),・・・,D(m),D(NEW)を読出し、その読出したデータD(1),D(2),D(3),・・・,D(m),D(NEW)にヘッダを付加して1つのパケットを作成する。そして、データ制御部130は、作成した1つのパケットを送受信部110へ出力する。送受信部110は、1つのパケットを無線通信空間30において受信機RXへ送信する(ステップS9)。その後、ステップS10が実行され、一連の動作はステップS1へ移行する。
また、ステップS2において、データが生成されなかったと判定されたとき、データ制御部130は、内蔵したタイマーが計測した時間により一定時間Tが経過したか否かを判定する(ステップS13)。そして、一定期間Tが経過していないとき、一連の動作はステップS1へ移行する。
一方、一定時間Tが経過すると(ステップS13)、データ制御部130は、信号NGDを生成してカウンタ160へ出力し、カウンタ160は、信号NGDに応じてカウント値CNTを1だけインクリメントし(ステップS14)、そのインクリメントしたカウント値CNTをデータ制御部130へ出力する。
そして、データ制御部130は、カウント値CNTが所定回数(上限)に達したか否かを判定し(ステップS15)、カウント値CNTが所定回数(上限)に達しているとき、データの送信を中止する。その後、一連の動作はステップS1へ移行する。
一方、ステップS15において、カウント値CNTが所定回数(上限)に達していないと判定されたとき、データ制御部130は、一定期間Tが経過した時点でバッファ120内に格納されているデータD(1),D(2),D(3),・・・,D(j)を読出し、その読出したデータD(1),D(2),D(3),・・・,D(j)にヘッダを付加して1つのパケットを作成する。その後、データ制御部130は、1つのパケットを送受信部110へ出力し、送受信部110は、1つのパケットを無線通信空間30において受信機RXへ送信する(ステップS9)。そして、上述したステップS10が実行され、一連の動作はステップS1へ移行する。
図5に示すフローチャートにおいて、ステップS5〜S9の経路は、バッファ120が満杯である場合において、新たなデータD(NEW)が生成されると、最小のシーケンス番号が付与されたデータD(1)を削除し、新たなデータD(NEW)を付加してR個のデータからなる1つのパケットを送信する経路である。つまり、ステップS5〜S9の経路は、既に送信したR個のデータD(1),D(2),D(3),・・・,D(R)のうち、最も古いデータD(1)を新たなデータD(NEW)が生成されるごとに1つづつ削除し、残りのR−1個のデータを1つづつ送信回数が増加する方向へシフトさせながら新たなデータD(NEW)を追加してR個のデータを送信する経路である。
したがって、ステップS5〜S9の経路においては、R個のデータD(1),D(2),D(3),・・・,D(R)の各々は、R回送信される。つまり、送信機TXは、データの生成レートが大きいときは、同じデータをR回送信することにしたものである。
また、ステップS11,S12,S9の経路は、バッファ120に空きがある場合において、新たなデータD(NEW)をバッファ120内のデータに追加しながら送信する経路である。そして、この場合、バッファ120内に格納された最も古いデータD(1)は、バッファ120内のデータの個数がR個に達するまで削除されないので、データD(1),D(2),D(3),・・・,D(m)の各々は、R回送信される。つまり、この場合も、送信機TXは、同じデータをR回送信する。
更に、ステップS13,S14,S15,S9の経路は、一定期間T内に新たなデータD(NEW)が生成されなかった場合、その時点でバッファ120内に格納されたデータD(1),D(2),D(3),・・・,D(j)を送信する経路である。そして、データD(1),D(2),D(3),・・・,D(j)を一旦送信した後、ステップS2において、データが生成されたと判定されると、ステップS5〜S9の経路またはステップS11,S12,S9の経路によって送信されるので、ステップS13,S14,S15,S9の経路で送信されたデータD(1),D(2),D(3),・・・,D(j)の各々は、カウント値CNTが上限に達するまで、R回以上送信される。つまり、送信機TXは、データの生成レートが小さいときは、同じデータをR回以上送信することにしたものである。
このように、この発明においては、送信機TXは、同じデータをR回以上送信する。その結果、同じデータが再送されることにより、無線通信空間30におけるデータの欠落が短い待ち時間で抑制される。従って、この発明によれば、データの欠落を短い待ち時間で抑制できる。
図6は、図1に示す受信機RX(端末装置12〜1N)における動作を説明するためのフローチャートである。受信機RXにおける動作が開始されると、受信機RXのデータ制御部130は、終了コマンドFNHを受信したか否かを判定し(ステップS21)、終了コマンドFNHを受信したとき、一連の動作は終了する。
一方、データ制御部130が終了コマンドFNHを受信しないとき、送受信部110は、無線通信空間30において送信機TXから送信されたパケットを受信し(ステップS22)、その受信したパケットをデータ制御部130へ出力する。
データ制御部130は、送受信部110からのパケットをバッファ120に格納する(ステップS23)。そして、データ制御部130は、既に受信したデータD(1),D(2),・・・,D(k)と同じデータが、新たに受信したデータD(2),D(3),・・・,D(k+1)に含まれるか否かを判定する。つまり、データ制御部130は、既に受信したデータD(1),D(2),・・・,D(k)に付与されたシーケンス番号と同じシーケンス番号が付与されたデータが新たに受信したデータD(2),D(3),・・・,D(k+1)中に存在するか否かを判定する(ステップS24)。
同じシーケンス番号が付与されたデータが存在するとき、データ制御部130は、重複したデータを削除し、新しいデータD(k+1)のみを抽出する。そして、データ制御部130は、その抽出したデータD(k+1)をバッファ120から読出してデータ再生部150へ出力する。データ再生部150は、データ制御部130からのデータD(k+1)を再生する(ステップS25)。
一方、ステップS24において、同じシーケンス番号が付与されたデータが存在しないと判定されたとき、データ制御部130は、新たに受信したデータD(k+2),D(k+3),・・・,D(k+R+1)をバッファ120から読出してデータ再生部150へ出力する。そして、データ再生部150は、D(k+2),D(k+3),・・・,D(k+R+1)を再生する(ステップS26)。その後、ステップS1へ移行し、終了コマンドFNHを受信すると、受信機RXにおける動作は終了する。
図7は、例としてMIDI(Musical Instruments Digital Interface)による合奏を想定し、ブロードキャスト通信を用いた場合における端末装置数に対するパケットエラー率の変化を示す図である。ここで、MIDIデータは、3Byteとする。図7において、横軸は、端末装置数を表わし、縦軸は、パケットエラー率を表わす。また、曲線k1,k2,k3,k4は、それぞれ、送信回数が1回、2回、4回及び5回の場合における端末装置数に対するパケットエラー率の変化を示す。更に、端末装置数の最大値は9個としている。この9個は、パケットの再送を行なわない場合、衝突により約0.3のパケットエラー率が生じる端末装置数である。
パケットエラー率は、各送信回数において端末装置数の増加に伴って増加する。また、各端末装置数において、パケットエラー率は、送信回数の増加に伴って減少する。そして、パケットを5回再送すれば、端末装置数が9個の場合でも、衝突によるパケットエラー率は10−4まで減少する。従って、同じパケットを5回送信することにより、パケットエラー率は、0.3から10−4まで大幅に減少する。
このことは、ブロードキャスト通信において、同じデータを再送することがパケットエラー率の低減に有効であることを意味する。パケットエラー率を減少させる他の方法として、自分以外の端末に対してユニキャスト通信を用いて個別に送信する方法が考えられる。リアルタイム性が要求されるアプリケーションにおいては、待ち時間が問題となるので、これら二つの方法の待ち時間を比較する。ここでも、無線環境におけるMIDIを用いた合奏を想定し、データサイズは、3Byteとする。
図8は、端末装置数に対する待ち時間の変化を示す図である。図8において、横軸は、端末装置数を表わし、縦軸は、待ち時間を表わす。また、符号Uは、ユニキャスト通信を用いて、自分以外の端末に対して個別に送信した場合を表わし、符号Bは、ブロードキャスト通信で、同じパケットを個別に5回送信した場合を表わす。
ユニキャスト通信Uおよびブロードキャスト通信Bの両方において、待ち時間は、端末装置数の増加に伴って多くなる。また、各端末装置数において、ブロードキャスト通信Bは、ユニキャスト通信Uよりも少ない待ち時間を有する。そして、待ち時間は、ブロードキャスト通信の場合、20msecよりも少なく、ユニキャスト通信の場合、50msecよりも少ない。従って、端末装置数が同じ場合、ブロードキャスト通信を用いて、同じパケットを個別に複数回送信した方が、ユニキャスト通信を用いるより待ち時間を短縮させることができる。
図7および図8において説明した結果から、パケットエラー率を低減し、かつ、待ち時間を少なくするには、ブロードキャスト通信において同じパケットを複数回再送することが有効である。ここで、この方法をマルチプルブロードキャスト通信方式と呼ぶことにする。
ユニキャスト通信方式及びマルチプルブロードキャスト通信方式における待ち時間は、それぞれ、次の式(1)及び(2)によって決定される。
TU=(N-1){(N+Q(N,CW))[(LD+LH)8/Trans+HU]+STU}・・・(1)
但し、TU:待ち時間、N:端末装置数、Q(N,CW):送信回数の期待値、CW:最小バックオフ、LD:データサイズ、LH:ヘッダサイズ、Trans:転送レート、HU:ユニキャスト通信におけるオーバーヘッド、STU:ユニキャスト通信における平均スロット時間
TMB-R=R{N[(LD+LH)8/Trans+HB]+STB}・・・(2)
但し、TMB-R:待ち時間、R:1つのパケットに含まれるデータの個数、HB:ブロードキャスト通信におけるオーバーヘッド、STB:ブロードキャスト通信における平均スロット時間
更に、この発明による通信方式の待ち時間は式(3)によって決定される。
TCB-M=M<N{[R(LS+LD)+LH]8/Trans+HB}+STB>・・・(3)
但し、TCB-M:待ち時間、LS:シーケンス番号のバイト数、M:パケットの送信に最初に成功するときの送信回数
図9は、式(1)、(2)及び(3)によって表わされる待ち時間と端末装置数との関係を示す図である。図9において、横軸は、端末装置数を表わし、縦軸は、待ち時間を表わす。また、曲線k5,k6は、ユニキャスト通信方式の場合における待ち時間と端末装置数との関係を示し、直線k7,k9,k10は、この発明による通信方式の場合における待ち時間と端末装置数との関係を示し、直線k8は、マルチプルブロードキャスト通信方式の場合における待ち時間と端末装置数との関係を示す。
なお、曲線k5,k6においては、転送レートTransは、それぞれ、2[Mbps]及び11[Mbps]である。また、直線k7〜k10においては、転送レートTransは、2[Mbps]である。
ユニキャスト通信方式においては、待ち時間TUは、端末装置数の増加に伴って急激に増加する。そして、待ち時間TUは、端末装置数が5個までは、40[msec]以下を保持する(曲線k5,k6参照)。
マルチプルブロードキャスト通信方式及びこの発明による通信方式においては、待ち時間TMB-R,TCB-Mは、ほぼ直線的に増加し、端末装置数が9個においても25[msec]以下に保持される。そして、この発明による通信方式においては、極めて高い確率でパケットの受信に最初に成功した時の送信回数が5回よりも少なくなるため、待ち時間TCB-Mをマルチプルブロードキャスト通信方式における待ち時間TMB-Rよりも少なくできる。
このように、上述した図5及び図6に示すフローチャートに従って同じデータをR回以上送受信することにより、受信機RXは、衝突によるパケットロスを低減し、かつ、待ち時間を少なくして送信機TXからデータを受信できる。
この発明においては、図1に示す端末装置11〜1Nは、図10に示す端末装置11Aからなっていてもよい。図10は、図1に示す端末装置11〜1Nの他の機能ブロック図である。また、図11は、パケット構成図である。端末装置11Aは、端末装置11のカウンタ160を削除し、データ制御部130をデータ制御部130Aに代えたものであり、その他は、端末装置11と同じである。
バッファ120は、R個のデータD(1)〜D(R)をR個の番地B(1)〜B(R)に格納している。データ制御部130Aは、所定時間T内に新たなデータD(NEW)が生成されると、バッファ120に格納されたR個のデータD(1)〜D(R)のうち、シーケンス番号が最も小さいデータD(1)(最も古いデータ)を削除し、データD(2)〜D(R)を番地番号が1つ小さくなる番地B(1)〜B(R−1)へシフトする。
そして、データ制御部130Aは、バッファ120に格納されているデータに付与された最大のシーケンス番号pに連続するシーケンス番号p+1を新たなデータD(NEW)に付与するとともに、シーケンス番号p+1を付与したデータD(NEW)をバッファ120のR番目の番地B(R)に格納する。
このように、データ制御部130Aは、所定時間T内に新たなデータが生成されると、最小のシーケンス番号が付与されたデータ(最も古いデータ)を削除し、バッファ120に格納されているデータに付与されたシーケンス番号に連続するシーケンス番号を新たに生成されたデータに付与してR番目の番地B(R)に格納する。これにより、バッファ120は、R個のデータを格納する。
また、データ制御部130Aは、バッファ120に格納されたデータが満杯でないとき、即ち、m個のデータD(1),D(2),D(3),・・・,D(m)がバッファ120に格納されているとき、m個のデータD(1),D(2),D(3),・・・,D(m)を送受信部110へ出力して送信した後、新たなデータD(NEW)が生成されると、最小のシーケンス番号を有するデータ(最も古いデータ)D(1)を削除し、データD(2)〜D(m)を番地番号が1つ小さくなる番地B(1)〜B(R−3)へシフトする。
そして、データ制御部130Aは、バッファ120に格納されているデータに付与された最大のシーケンス番号p−R+mに連続するシーケンス番号p−R+m+1を新たなデータD(NEW)に付与するとともに、シーケンス番号p−R+m+1を付与したデータD(NEW)をR番目の番地B(R)に格納する。即ち、データ制御部130Aは、バッファ120が満杯でないとき、新たに生成されたデータD(NEW)を既にバッファ120に記憶されているデータD(2)〜D(m)に連続させずに、R番目の番地B(R)に格納する。これにより、各データをR回送信することができる。
データ制御部130Aは、上述した2つの方法により、新たに生成されたデータD(NEW)にシーケンス番号を付与し、バッファ120に格納する。そして、データ制御部130Aは、新たに生成されたデータD(NEW)を追加したデータD(2),D(3),・・・,D(R),D(NEW)またはD(2),・・・,D(m),D(NEW)をバッファ120から読出し、その読出したデータD(2),D(3),・・・,D(R),D(NEW)またはD(2),・・・,D(m),D(NEW)にヘッダを付与して1つのパケットを作成する。
データ制御部130Aは、1つのパケットを作成すると、その作成した1つのパケットを送受信部110へ出力し、内蔵したタイマーをリセットして所定時間Tを計測する。
また、データ制御部130Aは、所定時間T内に新たなデータD(NEW)が生成されないとき、バッファ120に格納されているデータD(1),D(2),・・・,D(j)(jは、j≦Rを満たす自然数)のうち、最小のシーケンス番号を有するデータ(最も古いデータ)D(1)を削除し、データD(2)〜D(j)を番地番号が1つ小さくなる番地B(1)〜B(R−3)へシフトする。
そして、データ制御部130Aは、バッファ120に記憶されているデータデータD(2)〜D(j)を読出し、その読出したデータD(2),・・・,D(j)にヘッダを付与して1つのパケットを作成する。
データ制御部130Aは、1つのパケットを作成すると、その作成した1つのパケットを送受信部110へ出力し、内蔵したタイマーをリセットして所定時間Tを計測する。
このように、データ制御部130Aは、所定時間T内に新たなデータが生成されたとき、バッファ120が満杯か否かに拘わらず、バッファ120に記憶されたデータのうち最も古いデータを削除し、新たなデータをバッファ120の最後の番地B(R)に追加して送受信部110へ出力する。また、データ制御部130Aは、所定時間T内に新たなデータが生成されないとき、バッファ120に記憶されたデータのうち最も古いデータを削除し、残りのデータを送受信部110へ出力する。
図12は、図1に示す送信機TXにおける動作を説明するための他のフローチャートである。送信機TXにおける動作が開始されると、データ生成部140は、新たなデータD(NEW)を生成し、その生成したデータD(NEW)をデータ制御部130Aへ出力する。そして、データ制御部130Aは、終了コマンドFNHを受信したか否かを判定し(ステップS31)、終了コマンドFNHを受信したとき、送信機TXにおける動作が終了する。
一方、終了コマンドFNHが受信されなかったとき、データ制御部130Aは、バッファ120を初期化し(ステップS32)、データ生成部140からデータD(NEW)を受けたか否かによってデータが生成されたか否かを判定する(ステップS33)。
データが生成されたとき、データ制御部130Aは、新たなデータにシーケンス番号を付与し(ステップS34)、新しいデータをバッファ120のR番目のデータにセットする(ステップS35)。その後、一連の動作はステップS37へ移行する。
一方、ステップS33において、データが生成されなかったと判定されたとき、データ制御部130Aは、内蔵したタイマーにより計測した時間が一定時間Tを経過したか否かを判定し(ステップS36)、一定時間Tが経過していないとき、一連の動作は、ステップS33へ移行する。
ステップS35の後、又はステップS36において一定時間Tが経過したと判定されたとき、データ制御部130Aは、バッファ120が空であるか否かを判定し(ステップS37)、バッファ120が空であるとき、一連の動作はステップS31へ移行し、上述したステップS31〜S35、又はステップS36が繰返し実行される。
ステップS37において、バッファ120が空でないと判定されたとき、データ制御部130Aは、バッファ120に記憶されたデータを読出し、その読出したデータにヘッダを追加して1つのパケットを作成して送受信部110へ出力する。そして、送受信部110は、データ制御部130Aから受けたパケットを受信機RXへ送信する(ステップS38)。
その後、データ制御部130Aは、内蔵したタイマーをセットして一定時間Tを計測する(ステップS39)。そして、データ制御部130Aは、バッファ120に格納されたデータのうち、最小のシーケンス番号を有するデータ(最も古いデータ)D(1)を削除し、残りのデータD(2)〜D(R);D(2)〜D(m);D(2)〜D(j)を番地番号が1つ小さくなる番地へシフトする(ステップS40)。その後、一連の動作は、ステップS33へ移行する。
図12に示すフローチャートのステップS33〜S35,S37〜S40の経路は、所定時間T内に新たなデータが生成された場合、バッファ120に格納されているデータのうち最も古いデータを削除して残りのデータを番地番号が1つ小さくなる番地へシフトするとともに、新たなデータをバッファ120の最後の番地(R番目の番地)に追加して受信機RXへ送信する経路である。この経路においては、新たなデータが生成されると、バッファ120が満杯であるか否かに拘わらず、最も古いデータを削除する。また、新たなデータは、バッファ120の最後の番地に必ず格納される。従って、各データをR回送信できる。
また、ステップS33,S36〜S40の経路は、一定時間T内に新たなデータが生成されないとき、バッファ120に格納されているデータのうち最も古いデータを削除して残りのデータを受信機RXへ送信する経路である。
更に、ステップS31,S32,S33,S36,S37,S31の経路は、バッファ120が空になったとき、データを受信機RXへ送信するのを中止して待機し、その待機中に終了コマンドを受信すると一連の動作を終了する経路である。
このように、図12に示すフローチャートに従えば、バッファ120に記憶された各データをR回受信機RXへ送信できる。
なお、送信機TXのデータ制御部130Aは、新たに生成されたデータD(NEW)をバッファ120の最後の番地(R番目の番地)に格納すると説明したが、この発明においては、これに限らず、新たに生成されたデータD(NEW)をバッファ120に記憶されている最大のシーケンス番号p−R+mを有するデータD(m)に連続するように追加してもよい(図11に示す点線で示されたデータD(NEW)を参照)。
この場合、新たに生成されたデータD(NEW)は、新たなデータD(NEW)を追加した後にバッファ120に記憶されているデータの個数に等しい回数だけ受信機RXへ送信される。新たなデータD(NEW)を追加する番地は、バッファ120に記憶されているデータの個数によって変化するので、バッファ120に記憶されているデータに連続して新たなデータD(NEW)を追加する場合、新たなデータD(NEW)は、一般にk回受信機RXへ送信される。
そして、バッファ120に記憶されているデータに連続して新たなデータD(NEW)を追加する場合、図12に示すステップS35は、「新しいデータD(NEW)をバッファ120に記憶されているデータに連続するk番目の番地にセットする」というステップに代えられる。
端末装置11〜1Nとして図10に示す端末装置11Aが用いられる場合、送信機TXは、一般に、k個のデータを所定時間T毎に、又は所定時間T内に新たなデータD(NEW)が生成される毎に1回送信することによりk個のデータの各々をk回からR回の範囲で繰返し受信機RXへ送信する。
そして、端末装置11〜1Nの各々が図2に示す機能ブロック図から構成される場合、送信機TXは、k個のデータの各々をR回以上送信するので、この発明による送信機TXは、k個のデータを所定時間T毎に、又は所定時間T内に新たなデータD(NEW)が生成される毎に1回送信することによりk個のデータの各々をk回以上受信機RXへ送信する。
送信機TXは、所定時間T内に新たなデータD(NEW)が生成されたとき、その新たなデータD(NEW)の生成時にk個のデータを受信機RXへ送信し、所定時間T内に新たなデータD(NEW)が生成されないとき、所定時間Tの経過時にバッファ120に記憶されているデータを受信機RXへ送信するので、送信機TXがk個のデータを受信機RXへ送信するタイミングは、随時、変化する。即ち、送信機TXは、任意の時間でk個のデータを受信機RXへ送信する。
この発明による無線通信システム100は、例えば、複数の端末装置が集まって、合奏する場合に適用される。即ち、この発明は、複数の端末装置において音楽を演奏する場合に適用される。この場合、音楽データは、各端末装置から他の端末装置へリアルタイムで送信される必要がある。各端末は、受信した音楽データをもとに再生された音に合わせて演奏するため、各データの待ち時間の許容範囲は、30〜40[msec]の範囲である。この範囲の待ち時間を超えると、音楽のテンポが徐々に遅くなる。また、複数の端末から音楽データを1つの端末に送信し、その1つの端末で音楽データを再生する場合にもこの発明を適用できる。
また、この発明による無線通信システム100は、1つの端末装置上でゲームを行なう場合に適用される。この場合、各端末装置は、ゲームに関係するデータを1つの端末装置へ送信し、1つの端末装置上で相手と対戦する。従って、この場合も、1つの端末装置におけるデータ再生にはリアルタイム性が要求される。
更に、この発明による無線通信システム100は、ロボット制御に適用される。
このように、この発明による無線通信システム100は、各種の場合に応用可能であるが、この発明においては、ユニキャスト通信方式及びブロードキャスト通信方式のいずれを用いるかは、要求される待ち時間に応じて決定される。より短い待ち時間が要求される場合、ブロードキャスト通信方式を用いて上述した方法によって同じデータをR回以上送信する。また、比較的長い待ち時間でも許容される場合、ユニキャスト通信方式を用いることもできる。
従って、この発明においては、通信方式は、要求される待ち時間に応じて決定される。
また、この発明による無線通信システム100においては、バッファ120に格納されるデータの個数Rと同じ回数以上、同じデータを送信することを特徴とする。従って、パケットエラー率を低下させようとすると、1つのパケットを構成するデータの個数Rを大きくすればよいことになる。
なお、上記においては、所定時間Tは、T=D/(n×R)によって決定されると説明したが、この発明においては、これに限らず、全ての場合において所定時間Tを一律に決定しても良いし、他の規則に従って決定しても良いし、ランダムに決定しても良い。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
この発明は、データの欠落を抑制し、かつ、データの待ち時間を短縮可能な無線通信システムに適用される。また、この発明は、データの欠落を抑制し、かつ、無線通信の待ち時間を短縮可能な無線通信システムにおいてデータの送受信をコンピュータに実行させるためのプログラムに適用される。
この発明は、特に、MIDIデータのようにパケットサイズの極めて小さい制御パケットをリアルタイムに交換するような場合に有効である。
この発明の実施の形態による無線通信システムの概略ブロック図である。 図1に示す端末装置の機能ブロック図である。 パケット構成図である。 パケット構成図である。 図1に示す送信機における動作を説明するためのフローチャートである。 図1に示す受信機における動作を説明するためのフローチャートである。 ブロードキャスト通信を用いた場合における端末装置数に対するパケットエラー率の変化を示す図である。 端末装置数に対する待ち時間の変化を示す図である。 式(1)、(2)および(3)によって表わされる待ち時間と端末装置数との関係を示す図である。 図1に示す端末装置の他の機能ブロック図である。 パケット構成図である。 図1に示す送信機における動作を説明するための他のフローチャートである。
符号の説明
11〜1N 端末装置、21〜2N アンテナ、30 無線通信空間、100 無線通信システム、110 送受信部、120 バッファ、130,130A データ制御部、140 データ生成部、150 データ再生部、160 カウンタ。

Claims (19)

  1. k(kは、1≦k≦Rを満たす自然数、Rは、2以上の自然数)個のデータを任意の時間が経過する毎に1回送信することにより前記k個のデータの各々をk回以上送信する送信機と、
    無線通信空間において前記k個のデータを受信し、前記k個のデータのうち新しいデータを再生する受信機とを備え
    前記送信機は、第1および第2のモードのいずれかのモードによって前記k個のデータを所定時間毎に又は前記所定時間内でデータが生成される毎に1回送信することにより前記k個のデータの各々をR回以上送信し、
    前記第1のモードは、新しいデータが前記所定時間内に生成されると、生成順になるように前記新しいデータが既に送信されたデータに追加されたデータを送信するモードであり、
    前記第2のモードは、前記新しいデータが前記所定時間内に生成されないとき、前記所定時間経過時に前記送信機に保持されたデータを送信するモードである、無線通信システム。
  2. 前記第1のモードは、
    前記新しいデータが前記所定時間内に生成されると、前記R個のデータのうち最も古いデータが削除され、かつ、生成順になるように前記新しいデータが既に送信されたR−1個のデータに追加された前記R個のデータを送信するモードと、
    前記新しいデータが前記所定時間内に生成されると、生成順になるように前記新しいデータが前記既に送信されたデータに追加されたデータを送信するモードとからなる、請求項に記載の無線通信システム。
  3. 前記送信機は、
    データを生成するデータ生成部と、
    前記R個のデータを記憶可能なバッファと、
    前記データを送信する送信部と、
    前記データ生成部によって新しいデータが前記所定時間内に生成されると、生成順になるように前記新しいデータを前記バッファに記憶されたデータに追加した前記k個のデータを作成して前記送信部へ出力し、前記データ生成部によって前記新しいデータが前記所定時間内に生成されないとき、前記バッファに記憶されたデータを読出して前記送信部へ出力するデータ制御部とを含む、請求項に記載の無線通信システム。
  4. 前記データ制御部は、前記新しいデータが前記所定時間内に生成されたとき、前記バッファに記憶されているデータの個数が前記R個であるか否かを判定し、前記バッファに記憶されているデータの個数が前記R個であるとき、前記R個のデータのうち最も古いデータを削除し、かつ、生成順になるように前記新しいデータをR−1個のデータに追加して前記送信部へ出力する、請求項3に記載の無線通信システム。
  5. 前記データ制御部は、前記新しいデータが前記所定時間内に生成されたとき、前記バッファに記憶されているデータの個数が前記R個であるか否かを判定し、前記バッファに記憶されているデータの個数が前記R個よりも少ないとき、前記バッファに記憶されているデータの個数が前記R個になるまで、生成順になるように前記新しいデータを前記バッファに記憶されているデータに追加して前記送信部へ出力する、請求項に記載の無線通信システム。
  6. 前記バッファは、順次大きくなるシーケンス番号に対応付けて、順次生成された新しいデータを記憶し、
    前記データ制御部は、前記データ生成部によって新しいデータが生成されると、前記バッファにおいて用いられている最大のシーケンス番号に連続するシーケンス番号を前記新しいデータに付与し、前記バッファが満杯であるとき、最も小さいシーケンス番号に対応するデータを削除し、かつ、前記シーケンス番号順になるように前記新しいデータを前記R−1個のデータに追加して前記送信部へ出力し、前記バッファが満杯でないとき、前記シーケンス番号順になるように前記新しいデータを追加して前記送信部へ出力する、請求項4または請求項5に記載の無線通信システム。
  7. 前記データ制御部は、前記新しいデータが前記所定時間内に生成されない回数が所定回数に達したとき、前記バッファに記憶されたデータの前記送信部への出力を中止して待機する、請求項3から請求項6のいずれか1項に記載の無線通信システム。
  8. 前記第1のモードは、前記新しいデータが前記所定時間内に生成されると、前記k個のデータのうち最も古いデータが削除され、かつ、前記R回送信されるように前記新しいデータが既に送信されたk−1個のデータに追加された前記k個のデータを送信するモードである、請求項に記載の無線通信システム。
  9. 前記送信機は、前記k個のデータを前記所定時間毎に又は前記所定時間内でデータが生成される毎に1回送信することにより前記k個のデータの各々を前記R回繰返し送信し、
    前記送信機は、
    データを生成するデータ生成部と、
    前記R個のデータを記憶可能なバッファと、
    前記データを送信する送信部と、
    前記データ生成部によって新しいデータが前記所定時間内に生成されると、前記バッファに記憶されたデータのうち最も古いデータを削除し、前記R回送信されるように前記新しいデータを追加した前記k個のデータを作成して前記送信部へ出力し、前記データ生成部によって前記新しいデータが前記所定時間内に生成されないとき、前記バッファに記憶されたデータを読出して前記送信部へ出力するデータ制御部とを含む、請求項に記載の無線通信システム。
  10. 前記データ制御部は、前記バッファが空になると、更に前記k個のデータの送信を中止して待機する、請求項に記載の無線通信システム。
  11. 前記バッファは、前記R個のデータを記憶可能なR個の番地を有し、順次大きくなるシーケンス番号が生成順に付与された前記k個のデータをk個の番地に格納し、
    前記データ制御部は、前記データ生成部によって新しいデータが生成されると、前記バッファにおいて用いられている最大のシーケンス番号に連続するシーケンス番号を前記新しいデータに付与し、前記バッファの1番目の番地に格納されたデータを削除して残りのデータを番地番号が1つ小さくなる番地へシフトし、かつ、前記新しいデータを前記バッファのR番目の番地に追加して前記送信部へ出力する、請求項9または請求項10に記載の無線通信システム。
  12. 前記データ制御部は、更に、前記所定時間内に前記新しいデータが生成されないとき、前記バッファの1番目の番地に格納されたデータを削除して残りのデータを番地番号が1つ小さくなる番地へシフトし、前記バッファに格納されたデータを読出して前記送信部へ出力する、請求項11に記載の無線通信システム。
  13. 無線通信空間に配置された送信機と受信機とを備える無線通信システムにおいてデータの送受信をコンピュータに実行させるためのプログラムであって、
    k(kは、1≦k≦Rを満たす自然数、Rは、2以上の自然数)個のデータを任意の時間が経過する毎に1回送信することにより前記k個のデータの各々をk回以上前記送信機が送信する第1のステップと、
    前記受信機が前記無線通信空間において前記k個のデータを受信し、前記k個のデータのうち新しいデータを再生する第2のステップとをコンピュータに実行させ、
    前記第1のステップにおいて、前記送信機は、前記k個のデータを所定時間毎に又は前記所定時間内でデータが生成される毎に1回送信することにより前記k個のデータの各々をR回以上送信し、
    前記第1のステップは、
    新たなデータを前記所定時間内に生成する第1のサブステップと、
    前記新たなデータが前記所定時間内に生成されると、生成順になるように前記新しいデータを前記送信機のバッファに記憶されたデータに追加して送信する第2のサブステップと、
    前記新たなデータが前記所定時間内に生成されないとき、前記バッファに記憶されたデータを読み出して送信する第3のサブステップとを含む、コンピュータに実行させるためのプログラム
  14. 前記第2のサブステップは、
    前記新しいデータが前記所定時間内に生成されたとき、前記バッファに記憶されているデータの個数がR個であるか否かを判定するステップAと、
    前記バッファに記憶されているデータの個数がR個であるとき、前記R個のデータのうち最も古いデータを削除するステップBと、
    生成順になるように前記新しいデータをR−1個のデータに追加して前記R個のデータを送信するステップCとを含む、請求項13に記載のコンピュータに実行させるためのプログラム
  15. 前記第2のサブステップは、
    前記バッファに記憶されているデータの個数がR個よりも少ないとき、生成順になるように前記新しいデータを前記バッファに記憶されているデータに追加して送信するステップDをさらに含む、請求項14に記載のコンピュータに実行させるためのプログラム
  16. 前記ステップDは、前記バッファに記憶されているデータの個数が前記R個になるまで繰返し実行される、請求項15に記載のコンピュータに実行させるためのプログラム。
  17. 前記第3のサブステップは、
    前記新たなデータが前記所定時間内に生成されない回数が所定回数よりも少ないか否かを判定するステップと、
    前記新たなデータが前記所定時間内に生成されない回数が所定回数よりも少ないとき、前記バッファに記憶されたデータを読出して送信するステップと、
    前記新たなデータが前記所定時間内に生成されない回数が所定回数に到達したとき、前記バッファに記憶されたデータの送信を中止して待機するステップとを含む、請求項13から請求項16のいずれか1項に記載のコンピュータに実行させるためのプログラム。
  18. 前記第2のサブステップは、前記新たなデータが前記所定時間内に生成されると、前記バッファに記憶されている最も古いデータを削除し、前記新しいデータがR回送信されるように前記新しいデータを前記削除された最も古いデータ以外の残りのデータに追加して送信し、
    前記第3のサブステップは、前記新たなデータが前記所定時間内に生成されないとき、前記バッファに記憶されている最も古いデータを削除し、前記削除された最も古いデータ以外の残りのデータを送信する、請求項13に記載のコンピュータに実行させるためのプログラム。
  19. 前記第1のステップは、前記送信機のバッファが空になると、前記バッファに記憶されたデータの送信を中止して待機する第4のサブステップをさらに含む、請求項18に記載のコンピュータに実行させるためのプログラム。
JP2003355095A 2003-10-15 2003-10-15 無線通信システム、およびそれにおけるデータの送受信をコンピュータに実行させるためのプログラム Expired - Fee Related JP3935463B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003355095A JP3935463B2 (ja) 2003-10-15 2003-10-15 無線通信システム、およびそれにおけるデータの送受信をコンピュータに実行させるためのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003355095A JP3935463B2 (ja) 2003-10-15 2003-10-15 無線通信システム、およびそれにおけるデータの送受信をコンピュータに実行させるためのプログラム

Publications (2)

Publication Number Publication Date
JP2005123791A JP2005123791A (ja) 2005-05-12
JP3935463B2 true JP3935463B2 (ja) 2007-06-20

Family

ID=34612808

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003355095A Expired - Fee Related JP3935463B2 (ja) 2003-10-15 2003-10-15 無線通信システム、およびそれにおけるデータの送受信をコンピュータに実行させるためのプログラム

Country Status (1)

Country Link
JP (1) JP3935463B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5194303B2 (ja) * 2008-10-10 2013-05-08 株式会社国際電気通信基礎技術研究所 無線装置およびそれを備えた無線ネットワーク
JP5306150B2 (ja) * 2009-11-05 2013-10-02 前田金属工業株式会社 無線データ通信方法
JP7559437B2 (ja) * 2020-09-01 2024-10-02 ヤマハ株式会社 通信制御方法

Also Published As

Publication number Publication date
JP2005123791A (ja) 2005-05-12

Similar Documents

Publication Publication Date Title
JP5037120B2 (ja) アドホック無線通信ネットワークにおける最適なルーティング
JP4743239B2 (ja) 無線通信装置、通信システム、および通信制御方法、並びにプログラム
US8630680B2 (en) Efficient wireless transmission opportunity handoff
ES2292847T3 (es) Metodo de encaminamiento por saltos multiples para redes wlan distribuidas.
JP7683602B2 (ja) 通信装置及び通信方法
US8036219B2 (en) Efficiency improvement for shared communications networks
JP2019518365A (ja) ブロック肯定応答の生成および選択ルール
JP2004343567A (ja) 無線通信装置、無線通信方法及びプログラム
JP2006527524A (ja) 無線ネットワークにおけるリンク品質を特徴付けるためのシステムおよび方法
JP2010050505A (ja) 端末装置、端末制御方法、ならびに、プログラム
CN109728880B (zh) 一种基于网络编码的双向无线中继传输方法
Shah et al. Handling asymmetry in power heterogeneous ad hoc networks: A cross layer approach
CN114501543A (zh) 多链路通信的方法和多链路设备
JP3935463B2 (ja) 無線通信システム、およびそれにおけるデータの送受信をコンピュータに実行させるためのプログラム
JP4750644B2 (ja) 無線システム、無線通信装置及び通信方法
JP5076169B2 (ja) 通信システム
WO2006048969A1 (ja) 送信装置
CN104780619A (zh) 基于协作通信的无线局域网介质访问控制层协议的方法
JP2008227850A (ja) 経路選択装置
JP2011217235A (ja) 無線装置
Li Improving performance for CSMA/CA based wireless networks
WO2023002663A1 (ja) 無線通信装置および無線通信方法
Gawas et al. Cross layer congestion aware multi rate multi path routing protocol for ad hoc network
JP4520350B2 (ja) 無線装置
JP4422148B2 (ja) 情報通信装置、情報通信方法及びプログラム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050404

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050418

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050418

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050420

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050428

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070118

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070223

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: 20070319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070319

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