JP2006074085A - データ伝送システム,データ送信装置,データ受信装置,並びに,そのコンピュータプログラムおよび方法。 - Google Patents

データ伝送システム,データ送信装置,データ受信装置,並びに,そのコンピュータプログラムおよび方法。 Download PDF

Info

Publication number
JP2006074085A
JP2006074085A JP2004251274A JP2004251274A JP2006074085A JP 2006074085 A JP2006074085 A JP 2006074085A JP 2004251274 A JP2004251274 A JP 2004251274A JP 2004251274 A JP2004251274 A JP 2004251274A JP 2006074085 A JP2006074085 A JP 2006074085A
Authority
JP
Japan
Prior art keywords
data
divided data
packet
divided
rts
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.)
Withdrawn
Application number
JP2004251274A
Other languages
English (en)
Inventor
Yasuhiko Mizoguchi
康彦 溝口
Kazuyuki Sakota
和之 迫田
Hideki Iwami
英輝 石見
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2004251274A priority Critical patent/JP2006074085A/ja
Publication of JP2006074085A publication Critical patent/JP2006074085A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】 通信端末間の確実かつ効率的な通信およびオーバーヘッドの軽減が可能となる。
【解決手段】 データを複数の分割データに分割して各々連続したシーケンス番号を付与し,上記分割データを送信するデータ送信装置310と,上記分割データを受信して上記データ送信装置にACKパケットを送信し,上記シーケンス番号順に並べられる所定数の分割データ群を受信した後,上記分割データ群をデータに復号して当該データの処理を開始するデータ受信装置320とからなるデータ伝送システムであって,隠れ端末問題回避のためのRTSパケットやCTSパケットに,送信する分割データに関する情報を添付し,互いの通信端末で送信量(送信個数)を確認することによって,通信端末間の確実かつ効率的な通信およびオーバーヘッドの軽減を可能にするデータ伝送システムが提供される。
【選択図】 図19

Description

本発明は,データ伝送システム,データ送信装置,データ受信装置,並びに,そのコンピュータプログラムおよび方法に関する。
無線ネットワークに関する標準的な規格の一例として米国電子技術者協会IEEE(The Institute of Electrical and Electronics Engineers)802.11,HiperLAN/2,IEEE302.15.3,Bluetoothなどが挙げられる。上記IEEE802.11規格には,無線通信方式や使用する周波数帯域の違いなどにより,IEEE802.11a規格,IEEE802.11b規格などの各種無線通信プロトコルが存在する。
従来から知られているこのような無線通信プロトコルでは,データを送信する側でデータ列を分割データに分割し,かかる分割データを送信単位にしてデータの伝送を行っている。上記の通信が正常に行われているかどうかを認識するため,データの受信側では分割データの受信に応じて受信完了信号(ACK)を送信側に送信し,送信側ではその応答を受けて分割データの送信が確実に行われたことを確認している。また,上記受信完了信号(ACK)が確認されない場合,データの送信側では分割データが正しく伝送されなかったものとみなして同分割データを再送していた。
このような無線通信の応用としてアクセスポイントを介さずに各通信端末同士で直接通信可能なアドホック(Ad−hoc)通信も考案されている。かかるアドホック通信は,各通信端末同士が直接,非同期に無線通信を行なうことができる反面,ある特定の通信端末間で通信を行なう場合に一方の通信端末とは通信可能であるが他方の通信端末とは通信できない第3の通信端末,所謂,隠れ端末の問題を有している。
このような隠れ端末による通信データの衝突を避けるために,通信を行う通信端末同士が事前にRTS(Request To Send)やCTS(Clear To Send)の制御信号を出力し,隠れ端末は,上記RTSもしくはCTSのうち少なくとも一方を受信すると一定期間自局からの送信を停止する技術が知られる(例えば,非特許文献1)。しかし,かかる従来の技術では,RTSおよびCTSは隠れ端末による通信の衝突回避のためにのみ利用され,送信される分割データの長さや量によっては相変わらずオーバーヘッドが生じていた。
米国電子技術者協会IEEE(The Institute of Electrical and Electronics Engineers)802.11 9.2節DCF
本発明は,従来の無線通信システムが有する上記問題点に鑑みてなされたものであり,本発明の目的は,上記隠れ端末問題回避のためのRTSパケットやCTSパケットを有効に利用し,通信端末間の確実かつ効率的な通信およびオーバーヘッド軽減が可能な,新規かつ改良されたデータ伝送システム,データ送信装置,データ受信装置,並びに,そのコンピュータプログラムおよび方法を提供することである。
上記課題を解決するために,本発明のある観点によれば,データを複数の分割データに分割して各々連続したシーケンス番号を付与し,当該シーケンス番号順に上記分割データを送信するデータ送信装置と,上記データ送信装置から送信された上記分割データを受信して上記データ送信装置にACKパケットを送信し,上記シーケンス番号順に並べられる所定数の分割データ群を受信した後,上記分割データ群をデータに復号して当該データの処理を開始するデータ受信装置とからなり,上記両装置の通信はRTSパケットおよびCTSパケットの制御信号によって確保されるデータ伝送システムであって:上記データ送信装置に設けられ,送信する分割データの個数を含むRTSパケットを上記データ受信装置に送信するRTS送信部と;上記データ受信装置に設けられ,上記RTSパケットに基づいて,受信可能な分割データの個数を含むCTSパケットを上記データ送信装置に送信するCTS送信部と;上記データ送信装置に設けられ,上記CTSパケットに基づいて,1または2以上の上記分割データを含むDATAパケットを上記データ受信装置に送信するDATA送信部と;上記データ受信装置に設けられ,実際に受信した分割データの個数を含むACKパケットを上記データ送信装置に送信するACK送信部と;上記データ送信装置に設けられ,ACKパケットに基づいて次回送信する分割データを決定する分割データ決定部とを備えることを特徴とする,データ伝送システムが提供される。かかるデータ送信装置やデータ受信装置は,パーソナルコンピュータ,PDA(Personal Digital Assistant),携帯電話,テレビ会議システム等を含んで構成される。
上記データ伝送システムではデータ送信装置からデータ受信装置にデータが送信される。かかるデータを分割データ単位に分割することにより受信する分割データの長さをある程度揃えることが可能となり通信資源の有効利用ができる。また,データの細分化によりエラー箇所の特定も容易になる。さらに,エラーが発生した場合,そのエラーに関する分割データのみを再送することで,通信効率および伝送品質が向上する。この分割データ毎に添付されるシーケンス番号は,個々の分割データのトランザクションを管理するために利用される。
本発明では,上記隠れ端末問題回避のためのRTSパケットやCTSパケットに,送信する分割データに関する情報を添付し,互いの通信端末で送信量(送信個数)を確認することによって,通信端末間の確実かつ効率的な通信を行うことが可能となり,併せてオーバーヘッドをも軽減する。
また,上記RTSパケット,CTSパケット,ACKパケットにおける分割データの個数は,対象となる各分割データに付与された上記シーケンス番号の最大値で表されるとしても良い。例えば,RTSパケット,CTSパケット,ACKパケットの各々送信側装置は,送信もしくは受信の対象となる1または2以上の分割データのうち,シーケンス番号が最大値の分割データ,即ち最後の分割データのシーケンス番号を受信側装置に送信し,受信側装置は,前回の通信時に送信されたシーケンス番号の最大値との差をとることにより,分割データの総数およびその分割データの各シーケンス番号を認識する。
かかる構成により,データ送信装置およびデータ受信装置の両装置において,シーケンス番号という絶対的な値で分割データを管理することができる。両装置は,送信分割データの数を改めて導出することなく,対象となる各分割データの最後尾のシーケンス番号のみを参照する。
上記RTSパケットは,送信する分割データのシーケンス番号および分割データ長を含むとしても良い。即ち,データ受信装置は,送信される分割データのシーケンス番号および分割データ長を事前に把握することによってデータ受信装置のバッファの空き容量を確認でき,データ受信装置は,データの送信前に受信の可否を確認することができる。
かかる構成により,データ受信装置は,データ送信装置のRTSパケットに対して,バッファの空き容量を考慮したCTSパケットの応答を行うことが可能となり,実際にデータ送信装置が分割データを送信する前段階において分割データの数を制限することができる。このようにして,データ受信装置が受信できないにも拘わらず無駄な分割データの伝送を行う,ということがなくなり,バッファのオーバーフローを完全に防止できる。
上記データ受信装置は,上記RTSパケットのシーケンス番号と分割データ長とを記憶するRTSパケット記憶部をさらに備えるとしても良い。また,RTSパケットのシーケンス番号と分割データ長とは,データ受信装置がそれに対応する分割データを実際に受信するまで,RTSパケット記憶部に記憶されているとしても良い。
本発明による,データ伝送システムでは,先ず,シーケンス番号と分割データ長とが含まれるRTSパケットがデータ受信装置に送信され,その後に,実際の分割データを含むDATAパケットがデータ受信装置に送信される。しかし,RTS送信部によって送信要求された分割データが,DATA送信部によって確実に伝達されるとは限らない。従って,送信完了していない分割データは再度送信される。かかるRTSパケット記憶部により既に受信されているシーケンス番号と分割データ長とはデータ受信装置に保持され,当該シーケンス番号と分割データ長を再送する必要が無くなり,効率的な通信が可能となる。
従って,上記RTS送信部は,既に送信完了しているシーケンス番号と分割データ長とを上記RTSパケットに含まないとすることができる。
上記ACK送信部は,実際に受信した分割データのシーケンス番号が不連続であった場合,先頭分割データからシーケンス番号が連続している分割データのみを実際に受信した分割データとすることもできる。
本発明では,送信する分割データの個数等をシーケンス番号の最大値で管理しているため,欠落した分割データがあった場合,その分割データ以降に受信された分割データは無視される。従って,当該データ伝送システムでは,先頭分割データからシーケンス番号が連続している分割データ,即ち,欠落分割データの前までの分割データのみを実際に受信した分割データとしてデータ処理の対象とし,欠落した分割データ以降の分割データは実際に受信ができていたとしても再送信の対象となる。
また,上記DATA送信部は,1または2以上の上記分割データを含むDATAパケットの代わりに,上記分割データがそれぞれ1または2以上含まれる複数のDATAパケットをデータ受信装置に送信することもできる。この場合,データ送信装置がCTSパケットを受信してから,かかる複数のDATAパケットをシーケンス番号に従って連続して送信するとしても良い。
上記課題を解決するために,本発明の別の観点によれば,上記データ伝送システムを構成するデータ送信装置およびデータ受信装置並びにそのコンピュータプログラムおよび方法が提供される。また,上述のデータ伝送システムとして利用可能なデータ伝送方法も提供される。
上記データ送信装置とデータ受信装置は,一体に形成されるとしても良く,その場合,無線通信による送受信をランダムかつ全二重に行うことができる。
以上説明したように本発明によれば,アドホック通信における隠れ端末問題を解決しつつ,互いの通信端末で送信量(送信個数)を確認することによって,確実かつ効率的な通信端末間の通信が可能となり,オーバーヘッドを軽減することができる。
以下に添付図面を参照しながら,本発明の好適な実施の形態について詳細に説明する。なお,本明細書及び図面において,実質的に同一の機能構成を有する構成要素については,同一の符号を付することにより重複説明を省略する。
(アドホック通信)
本実施形態によるデータ伝送システムを説明する前に,その前提となるアドホック通信について詳細に説明する。
無線通信によるLAN(Local Area Network)を利用することで,オフィスなどの作業空間における有線ケーブル等を省略でき,空間の有効活用が可能となる。従って,ユーザは,パーソナルコンピュータなどの通信端末を比較的容易に移動することが可能となる。近年では,このような無線による無線LANシステムの高速化,低価格化に伴い,その需要が著しく増加してきている。特に近日においては,人の身の回りに存在する複数の電子機器間で小規模な無線ネットワークを構築して情報通信を行なうための,PAN(Personal Area Network)の導入が検討されている。例えば,2.4GHz帯や5GHz帯などの周波数帯域を利用して異なった無線通信システム並びに無線通信装置が規定されている。
無線ネットワークに関する標準的な規格として,IEEE(The Institute of Electrical and Electronics Engineers)802.11,HiperLAN/2,IEEE302.15.3,Bluetooth通信等を挙げることができる。上記IEEE802.11規格については,無線通信方式や使用する周波数帯域の違いなどにより,IEEE802.11a規格,IEEE802.11b規格等の各種無線通信方式が存在する。
従来,LANを構成するにあたって,LANエリア内にアクセス・ポイントまたはコーディネータと呼ばれる無線制御局を設け,この無線制御局の統括的な制御下でネットワークを形成していた。
上記アクセス・ポイントを配置した無線ネットワークでは,ある通信端末から情報伝送を試みた場合,先ずその情報伝送に必要な帯域をアクセス・ポイントに予約し,他の通信端末における情報伝送と衝突が生じないように伝送路を確保する。このような帯域の予約に基づくアクセス制御方法が広く採用されている。従って,上記アクセス・ポイントを配置する無線ネットワークでは,無線ネットワーク内の通信端末が互いに同期していることになる。
このようなアクセス・ポイントを利用した無線通信システムでは,通信端末は必ずアクセス・ポイントを介す必要があり,通信対象の無線端末に直接データを伝送することが出来ない。従って,伝送路の利用効率が激減する。
上記の問題を解決する一手段として,通信端末同士が直接,非同期に無線通信を行なうアドホック(Ad−hoc)通信が考案される。特に,所定範囲内における比較的少数の通信端末で構成された小規模無線ネットワークにおいては,特定のアクセス・ポイントを利用しないで任意の通信端末同士が直接,非同期の無線通信を行なう,即ちアドホック通信が適当であると思料される。例えば,IEEE802.11系の無線LANシステムでは,制御局を配さなくとも自律分散的にピア・ツウ・ピア(Peer to Peer)で動作するアドホック・モードが用意されている。
一方,アドホック環境における無線LANネットワークでは,隠れ端末問題が生じることが知られている。隠れ端末とは,ある特定の通信端末間で通信を行なう場合に,一方の通信端末とは通信可能であるが他方の通信端末とは通信ができない第3の通信端末のことであり,隠れ端末同士ではネゴシエーションを行なうことができないため,各端末における送信動作が衝突する可能性がある。
このような隠れ端末問題を解決する方法論として,RTS/CTS手順によるCSMA/CA(Carrier Sense Multiple Access with Collision Avoidance:搬送波感知多重アクセス)が知られている。
ここで,CSMA/CAとはキャリア検出に基づいて多重アクセスを行なう接続方式である。無線通信においては自ら情報送信した信号を受信することが困難なので,CSMA/CD(Collision Detection)ではなくCSMA/CA(Collision Avoidance)方式が利用される。この方式では,他の通信端末の情報送信がないことを確認してから自らの情報送信を開始することによって,他の通信端末との衝突を回避している。
また,上記RTS/CTS手順では,先ず,データ送信元の通信端末がRTS(Request To Send:送信要求)パケットを送信し,データ送信先の通信端末からCTS(Clear To Send:確認通知)パケットを受信するといった処理を踏まえて,データ送信先の通信端末にデータを送信する。このとき,隠れ端末は,RTSパケットまたはCTSパケットのうち少なくとも一方を受信し,その通信対象が自己の端末でないことを認識すると,通信を行う通信端末同士がデータ伝送を行うと予想される期間,自局の情報送信を停止する。このようにして,無線通信の衝突を回避することができる。
ここで,IEEE802.11の拡張規格であるIEEE802.11aを例にとり,無線ネットワークについて説明する。
図1は,IEEE802.11aにおけるフレームフォーマットを示した説明図である。各パケットの先頭には,パケットの存在を示すためのプリアンブル110が付加されている。プリアンブル110は,規格により既知のシンボル・パターンが定義されている。受信端末は,この既知パターンに基づいて受信信号がプリアンブルに値するか否かを判断することができる。
上記プリアンブル110に続き,シグナル・フィールド112が定義されている。シグナル・フィールド112には,当該分割データのデータフィールド114を復号するのに必要な情報が格納されている。分割データの復号に必要な情報は,PLCP(Physical LayerConvergence Protocol)ヘッダ120と呼ばれ,PLCPヘッダ120には,データフィールド(PLCPヘッダの一部であるServiceフィールド122も含む。)114の伝送レートを示すRATEフィールド124,情報部の長さを示すLENGTHフィールド126,パリティ・ビット128,エンコーダのTailビット130などが含まれている。受信機は,PLCPヘッダ120のRATEフィールド124並びにLENGTHフィールド126の復号結果に基づき,以下に示す情報部の復号作業を行なう。
PLCPヘッダ120を格納しているSIGNALフィールド112は,ノイズに強い符号化が施されており,6Mbps相当の伝送レートで伝送される。一方,分割データ等のデータフィールド114は,受信する通信端末におけるSNR(Signal−Noise Ratio)等に応じて,エラーの発生率が低い範囲における最も高ビットレートが選択される伝送レート・モードで伝送される。例えば,IEEE802.11aでは,6,9,12,18,24,36,48,54Mbpsの8種類の伝送レート・モードが定義されており,これらのうちいずれかが選択される。従って,送受信する通信端末同士が近隣に位置する場合は高いビットレートの伝送レート・モードが選択され,離れて位置する場合は低いビットレートの伝送レート・モードが選択される。互いの位置関係によっては,上記の情報を復号することができない場合もある。
データフィールド114は,PSDU(Physical Layer Service Data Unit)140として上位レイヤであるリンク層に受け渡される。また,このように,1連のデータフィールド114に複数の分割データを添付して,送信効率の向上をはかることをマルチプレクスという。
図2は,PSDUのフレーム・フィールドの構成を示した構成図である。IEEE802.11では幾つかのフレームタイプが定義されているが,ここでは,本発明の説明に必要な,RTS,CTS,DATA,ACKパケットの4種類のフレームについてのみ説明を行なう。
各フレームには,Frame Controlフィールド150とDurationフィールド152が共通で定義されている。Frame Controlフィールド150は,当該フレームの種類や用途などを示す情報が格納されており,具体的には,下記表1に示す情報が記載されている。また,Durationフィールド152には,後述するNAV(Network Allocation Vector)に関する情報が格納されており,当該分割データのトランザクションが終了するまでの時間が含まれている。
Figure 2006074085
…(表1)
DATAフレームには,上記の他に送信元の通信端末,相手先の通信端末等の特定を行なう4つのアドレス・フィールドAddr1〜4 160と,シーケンス・フィールド(SEQ)162と,上位レイヤに提供する実質的な情報であるFrame Body164と,チェックサムであるFCS(Frame Check Sequence)166が含まれている。
RTSフレームには,相手通信端末の宛先を示すReceiver Address(RA)170と,送信元である自己の通信端末を示すTransmitter Address(TA)172と,チェックサムであるFCS166が含まれる。
CTSフレーム並びにACKフレームには,相手通信端末の宛先を示すRA170とチェックサムであるFCS166とが含まれている。
このようなフレームを利用して,RTS/CTS手順によるCSMA/CA方式の無線通信ネットワークが遂行される。ここで,IEEE802.11において規定されているアクセス競合方法について説明する。
図3は,IEEE802.11における分割データの送信タイミングを示したタイミング図である。図3では,右方向に時間の経過を示し,各時点における通信端末STA0,STA1の送信パケットが記載されている。また,IEEE802.11では,3種類の分割データ間隔(IFS:Inter Frame Space)が定義されており,短いものから順にSIFS(Short IFS),PIFS(PCF IFS),DIFS(DCF IFS)となっている。
また,IEEE802.11では,基本的なメディア・アクセス手順としてCSMAが採用されている。従って,送信端末が情報を送信する前に,他のメディア状態を監視しつつランダムな時間にわたりバックオフのタイマーを動作させ,この間に送信信号が存在しない場合に初めて送信権利が与えられることになる。
通常の分割データをCSMAの手順に従って送信する場合,DCF(Distributed Coordination Function)は,何らかの分割データ210の送信が終了してからDIFSだけメディア状態を監視し,この間に送信信号が存在しなければさらにランダム・バックオフを行ない,その間にも送信信号が存在しない場合に自己に送信権利が与えられる。
DIFSの時間間隔に対して,ACKパケット等の例外的に緊急度の高い分割データを送信する場合は,間隔の短いSIFS212の後に送信することが許可される。これにより,緊急度の高い分割データは,通常のCSMAの手順に従って送信される分割データよりも早く送信することが可能となる。このように異なる種類の分割データ間隔(IFS)が定義されているのは,分割データの送信権に優先順位が設けられ,その優先権に応じて分割データ間隔を調整する必要性があるからである。
図3においては,STA0からSTA1にRTSパケットが送信され,そのRTSパケットに応じてSTA1がSTA0にCTSパケットを送信している。図3におけるRTS,CTS,DATA,ACKパケットの返信タイミングは,それぞれ優先順位の高いSIFSが使用される。
次に,IEEE802.11におけるRTS/CTSの具体的な手順について説明する。
図4は,RTS/CTSの動作例を模式的に示した模式図である。図4では,STA0からSTA1に任意のDATAを送信する例が示される。アドホック環境の無線LANネットワークにおいては,一般に隠れ端末問題が生じている。この問題の多くを軽減する方法として,RTS/CTS手順によるCSMA/CAが行われている。
STA0は,実際に送信する内容であるデータ(分割データ)の送信に先立ち,通信の相手であるSTA1に向けてCSMAの手順に従いRTSパケット250を送信する。STA1は,RTSパケット250を受信したことに応答して,RTSパケットを受信できた旨をフィードバックするCTSパケット252をSTA0に返信する。
送信端末であるSTA0は,CTSパケットを受信するとメディアがクリアであることを判断し,直ぐにDATAパケット254の送信を開始する。そして,受信端末であるSTA1は,DATAパケット254を受信し終えると,ACKパケット256をSTA0に対して返信する。このようにして1分割データ分の送受信トランザクションが終了する。
図5は,このような無線通信ネットワークにおける各通信端末の配置例を示した概略図である。このデータ伝送システムでは通信局としての特定の制御局が無く,各通信端末が自律分散的に動作し,アドホック・ネットワークが形成される。ここでは,4つの通信端末STA0,STA1,STA2,STA3が示され,各通信端末STA0,STA1,STA2,STA3は,それぞれ自己の通信可能範囲258内にある他の通信端末STA0,STA1,STA2,STA3と無線による通信を行う。例えば,通信端末STA0は通信端末STA1,STA2と,通信端末STA1は通信端末STA0,STA3と,通信端末STA2は通信端末STA0のみと,通信端末STA3は通信端末STA1のみと無線による通信伝送路を形成する。ここで各通信端末STA0,STA1,STA2,STA3は,通信可能範囲258内にある通信端末を通信可能な通信端末として,また,自己の通信データが干渉する可能性がある通信端末として認識する。本実施形態は上記の自律分散型の無線通信に限られず,制御局を有する無線通信や有線による通信にも適応可能である。
STA0がSTA1に対してデータ(分割データ)を送信しようと試みた場合,近隣には通信端末STA2およびSTA3が存在し,そのSTA2やSTA3が,一方の通信端末とは通信可能であるが他方の通信端末とは通信ができない所謂隠れ端末となっている。このように所定の範囲内にSTA0,STA1,STA2,STA3の4つの通信端末が隣接し,隣り合う通信端末同士のみが電波の到達範囲に位置しているという通信環境において,どのようにSTA0とSTA1が通信を行うかを説明する。
図6は,RTS/CTSの機能を説明するためのタイミング図である。送信元であるSTA0は,CSMAの手順によりメディアが一定期間(時刻T0から時刻T1まで)クリアであることを確認した後,時刻T1からRTSパケット250をSTA1に対して送信する。RTSパケット250のFrame ControlフィールドのType/SubType情報には当該分割データがRTSパケットであることを示す情報が記載され,Durationフィールドには当該分割データ送受信トランザクションが終了するまでの時間,即ち時刻T8までの時間が記載される。また,RAフィールドには通信対象であるSTA1のアドレスが記載され,TAフィールドには,自局であるSTA0のアドレスが記載されている。
STA0は,Durationフィールドに当該RTS/CTS手順に基づくトランザクションが終了するまでの時間を記述するために,RTSパケットを送信する時点において当該トランザクションの終了時刻を決定しておく必要がある。即ち,送信元であるSTA0は,当該トランザクションにおいて以後送受信されるCTSパケット,DATAパケット,ACKパケットを含むすべての伝送レート・モードを,RTSパケットを送信する時点で確定しなければならない。また,ここで決定される伝送レート・モードはトランザクション全体に関するものであり,トランザクション内において分割データ送信毎に個々に伝送レート・モードを設定することは許容されていない。
上述したように,STA0は,RTSパケット250を送信する時点において,当該トランザクション全体についての伝送レート・モードを決定する。即ち,送信端末STA0の持つ情報,例えば,トランザクション全体での通信データ量や伝送レート等に基づいて,当該トランザクションの終了時間,即ち図6における時刻T8を推測している。その後送受信されるCTS,DATA,ACKフレームの各フレームにおける伝送レートは,基本的にRTSパケットで適用されたレートに従うことになる。ここで,通信の確実性のため,RTS,CTS,ACKフレームはDATAフレームに比べて伝送レートを遅くしても良い。
また,上記通信端末同士の距離が短かったり,アンテナの指向性を狭めたりすることによって,より一層マルチパスを少なくできる場合,STA0は,かかる通信システムにおいて高品質なデータ伝送が可能であると判断し,より高速な伝送レート(例えば,100Mbpsから200Mbps)に切り替えることができる。しかし,本発明の実施形態のように受信側通信端末の受信状態を把握することができない場合,受信バッファのオーバーフローが生じることとなる。
次に,隠れ端末に対する当該無線通信ネットワークの動作を説明する。図5と図6とを参照すると,STA0から送信されるRTSパケットはSTA1は勿論のこと,STA0の近隣に位置するSTA2でも受信することができる。このSTA2は,STA1の存在に拘わらずRTSパケット250を受信し,そのRTSパケット250が有するプリアンブルにより受信作業を開始する。さらに,PLCPヘッダを復号して得られた情報に基づきPSDU(PLCP Service Data Unit)も復号する。そして,PSDU内のFrameControlフィールドから当該分割データがRTSパケットであることを認識し,STA0が何らかの情報を送信したいということを認識する。
さらに,STA2は,RAフィールドから,そのRTSパケット250が自局に対する送信要求でないことを認識し,STA0と他の通信端末との通信を妨げないように,当該トランザクションが終了するまでメディアを監視することなく,メディアが他の通信端末に占有されている状態であるとみなして自局の送信を停止する。このような状態は,NAV(Network Allocation Vector)260と呼ばれ,NAV260は,Durationフィールドで示された期間にわたり有効となる。このように,STA2のような隠れ端末が時刻T8までNAV260を立てることによって,通信の衝突が避けられる。
一方,STA1もSTA2同様にRTSパケット250が受信される。STA1は,上記STA2と同様の手順によりPSDUを復号し,STA0が自局であるSTA1宛てに分割データの送信を要求していることを認識する。STA1は,STA0のRTSパケット250に応答し,SIFS間隔後の時刻T3にCTSパケット252を返信する。
また,CTSパケット252の伝送レート・モードは,RTSパケット250と同一でなければならない。上記CTSパケットにおけるPSDUのFrame Controlフィールドには当該分割データがCTSパケットであることが記載され,Durationフィールドには当該トランザクションが終了するまでの時間,即ち時刻T8までの時間が記載され,RAフィールドには返信先であるSTA0のアドレスが記載される。
このCTSパケット252は,送信先であるSTA0と同様に,近隣に位置するSTA3でも受信される。かかるSTA3も隠れ端末である。STA3では,上記STA2と同様の手順によりPSDUを復号し,近隣にある通信端末が時刻T8までの間分割データの受信を予定していることを認識する。これによってSTA3は,STA1の受信要求を妨げないように,当該トランザクションが終了するまでNAV262を立てて送信をストップさせる。NAVは,Durationフィールドで示された期間にわたり有効となり,STA3も時刻T8まで送信不許可状態となる。
CTSパケット252は通信相手であるSTA0でも受信される。STA0は,上記STA3と同様の手順によりPSDUを復号し,STA1が受信の準備ができていることを認識すると,SIFS間隔後の時刻T5においてDATAパケット254を送信し始める。
DATAパケット254の送信が時刻T6で終了し,STA1がこれを誤りなく復号すると,STA1はSIFS間隔後の時刻T7でACKパケットを返送し,これをSTA0が受信して1つの分割データの送受信トランザクションが終了する(時刻T8)。
時刻T8になると,近隣通信局であるSTA2並びにSTA3は,NAVをおろして,通常の送受信状態へと復帰する。
上述したように,RTS/CTS手順においては,STA0からのRTSパケット250を受信したSTA2と,STA1からのCTSパケット252を受信したSTA3が,通信を行うSTA0とSTA1に対する隠れ端末となり,両端末は上述のNAVを立てて自発的に送信を禁止する。これにより,周辺局からの突然の送信信号に妨害されることなく,STA0は,STA1に対して確実に情報送信することが可能となり,通信品質が保たれる。
(第1の実施形態:データ伝送システム)
本実施形態では,様々な通信経路を利用してデータの交換が可能な複数の通信端末でデータの伝送を行うデータ伝送システムを提供する。また,かかる通信経路の中でも,特に無線の伝送路による通信を想定し,複数の通信端末間で相互にデータの交換を行う。各通信端末はそれぞれ無線通信のための通信局を有す。各通信局は単一のチャネルまたは複数の周波数チャネル(マルチチャネル)からなる伝送媒体を用いて無線通信を行う。さらに,本実施形態のデータ伝送システムは,上述したRTS/CTSを利用して隠れ端末問題をも回避している。
図7,8は,データ伝送システムの個々の装置構成を示すブロック図である。図7によると上記データ伝送システムは,データを送信するデータ送信装置310と,データ送信装置310から送信されたデータを受信するデータ受信装置320とからなる。また,図8に示すように,データ送信装置310として機能するデータ送信部330と,データ受信装置320として機能するデータ受信部332とを1つの通信端末334に備えることもできる。かかる通信端末334では,一方のデータ送信部330から他方のデータ受信部332に対してデータを送信することができ(図中矢印で示す。),相互のデータ交換が可能になる。
ここでは,理解を容易にするため図7に示すデータ送信装置310とデータ受信装置320をとりあげ,詳細に説明する。
本実施形態は,アドホック・ネットワークにおける上記隠れ端末問題回避のためのRTSパケットやCTSパケットに,送信する分割データに関する情報を添付し,互いの通信端末で送信量(送信個数)を確認することによって,通信端末間の確実かつ効率的な通信およびオーバーヘッドの軽減を可能とする。即ち,隠れ端末問題を回避するためにのみ設けられたRTSパケットやCTSパケットに新たなる情報を付加して,かかるRTSパケットおよびCTSパケットを有効に利用すると共に,通信の品質を向上しようとするものである。
上述したように,アドホック・ネットワークにおいて,以下のような分割データの交換が行われる。先ず,データ送信装置310はRTSパケットをデータ受信装置320に送信し,データ受信装置320はそれに応じてCTSパケットを返信する。両装置換で通信経路が確立されるとデータ送信装置310はデータ(分割データ)をデータ受信装置320に送信し,データ受信装置320は,受信が完了したことをACKパケットによって知らせる。
(データ送信装置310)
図9は,データ送信装置310の構成を示すブロック図である。上記データ送信装置310は,データ送信制御部350と,シーケンス付与部352と,RTS送信部354と,DATA送信部356と,分割データ決定部358と,アンテナ部360とを含んで構成される。
上記データ送信制御部350は,中央処理装置(CPU)を含む制御装置によりデータ送信装置310における一連の処理を一元的に管理および制御する。
上記シーケンス付与部352は,データ送信装置310における送信すべきデータを所定のフレームで表される複数の分割データに分割し,この複数の分割データを送信する順に並べ,各分割データに,例えば連続する数字で表される固有のシーケンス番号を付与する。
データ受信装置320では,かかるシーケンス番号順に受信した分割データを所定数の分割データ群として並べ,データに復号する。従って,たとえデータ受信装置320で受信するパケットの順番が変わったとしても,シーケンス番号を昇順または降順に並び替えることによって,確実にデータへと復元することができる。また,データ受信装置320で同じパケットを重複して受信した場合でも,シーケンス番号により正しいデータへの復号が実行される。また,シーケンス番号は,分割データの送信順をデータ受信装置320で把握する機能と,送受信する分割データ数を互いの通信端末で制限する機能を有している。上記シーケンス番号は,例えば,1ずつインクリメントされ,所定数(上限)を越えると再び0からカウントされる。
上記RTS送信部354は,送信する分割データの個数を含むRTSパケットをアンテナ部360を介してデータ受信装置320に送信する。また,このRTSパケットは,送信する分割データのシーケンス番号および分割データ長を含むことができる。
上記分割データの個数は,1回のデータ送信(RTSパケット,CTSパケットを含む一連のトランザクション)において,データ送信装置310が送信しようとしているDATAパケットの個数を言う。このDATAパケットはシーケンス番号順に送信されるので,DATAパケットの個数は,送信されるDATAパケットの最後のシーケンス番号,即ち,DATAパケットに付与されたシーケンス番号の最大値で表すことができる。DATAパケットの個数を判断する側(ここでは,RTSパケットを受信するデータ受信装置320)は,前回値を記憶しておき,その前回値と今回受信したシーケンス番号の最大値との差をとることによって,DATAパケットの個数を計算することができる。
ただし,後述するように,データ受信装置320のバッファの空き容量が不足している場合や,DATAパケットが意図したように受信されなかった場合は,その他の情報も加味して分割データの個数を計算しなければならない。また,上記のような状況下では,既に送信完了しているシーケンス番号と分割データ長とを上記RTSパケットに含めずに送信することが可能である。
上記DATA送信部356は,RTS送信部354が送信したRTSパケットに対するデータ受信装置320からの応答であるCTSパケットを受信した場合,このCTSパケットにおける,データ受信装置320が受信可能な分割データの個数に基づいて,シーケンス番号順に並べられた1または2以上の上記分割データを含むDATAパケットを,アンテナ部360を介してデータ受信装置320に送信する。例えば,上記RTSパケットで3つの分割データの送信を要求したが,CTSパケットにおいて2つの分割データの送信許可のみ返信された場合,最大2つの分割データを送信することができる。かかる複数の分割データを同時に送信する構成により,分割データを効率よく送信することが可能となる。
また,上記DATA送信部356は,CTSパケットを受信した後,分割データ各々に一つのDATAパケットをまたは複数の分割データ毎に一つのDATAパケットを割り当て,シーケンス番号順にその1または2以上のDATAパケットを連続して送信することもできる。かかるDATAパケットの送信は,1回のトランザクション内で行われる。この場合,後述するACK送信部からのACKパケットは,受信した分割データのシーケンス番号をまとめて返信するグループACKであっても良い。
上記分割データ決定部358は,DATA送信部356による分割データの送信に応じてデータ受信装置320から受信したACKパケットにおける,データ受信装置320が実際に受信した分割データの個数に基づいて次回送信する分割データを決定する。例えば,DATA送信部356から2つの分割データを送信したが,上記ACKパケットを参照すると,実際にデータ受信装置320には1つの分割データしか受信されていなかった場合,送信完了していない分割データを再送信することも考慮して,次回送信する分割データの個数およびシーケンス番号を決定する。
上記アンテナ部360は,データ受信装置320に対して電磁波による信号を所定の周波数チャネル上で無線送信し,データ受信装置320から送られるCTSパケットおよびACKパケットを受信する。また,他の分割データやビーコン等も送信することができる。
また,かかるデータ送信装置310として機能せしめるコンピュータプログラムも提供される。
(データ受信装置)
図10は,データ受信装置320の構成を示すブロック図である。上記データ受信装置320は,データ受信制御部380と,RTSパケット記憶部382と,CTS送信部384と,ACK送信部386と,データ処理部388と,アンテナ部390とを含んで構成される。
上記データ送信制御部380は,中央処理装置(CPU)を含む制御装置によりデータ受信装置320における一連の処理を一元的に管理および制御する。
上記RTSパケット記憶部382は,データ送信装置310からのRTSパケットにおけるシーケンス番号と分割データ長とを記憶する。かかるRTSパケット記憶部382によって前回以前の通信で既に受信されているシーケンス番号と分割データ長とは,お互いが関連付けられてデータ受信装置320に保持される。これにより,当該シーケンス番号と分割データ長を再送する必要が無くなり,効率的な通信が可能となる。また,分割データが実際に受信されることによって不要になったシーケンス番号および分割データ長は削除されるとしても良い。
上記CTS送信部384は,データ送信装置310からのRTSパケットに基づいて,受信可能な分割データの個数を含むCTSパケットをアンテナ部390を介してデータ送信装置310に送信する。例えば,RTSパケットに送信要求している分割データが3つある場合,データ受信装置320は,自己のバッファの空き容量を確認し,受信要求している分割データのうちいくつまで受信可能か計算する。そしてこの計算結果をCTSパケットに添付する。上記受信可能な分割データの判断は,シーケンス番号順に行い,RTSパケットに含まれるシーケンス番号と分割データ長とにより行われるとしても良い。
このCTSパケットもRTSパケット同様に,分割データの個数を,対象となる各分割データ,即ち受信可能な分割データに付与された上記シーケンス番号の最大値で表すことができる。
かかる構成により,データ送信装置310が,実際にデータを送信する前に,データ受信装置320のバッファ量をネゴシエーションすることができるので,データ受信装置320のバッファのオーバーフローを防止でき,伝送品質や無線上のエラー発生率に応じた無線伝送レートや最適な分割データの送信数を適応させることが可能となる。
上記ACK送信部386は,データ送信装置310から実際に受信した分割データの個数を含むACKパケットをデータ送信装置310に送信する。ACK送信部386は,実際に受信した分割データのシーケンス番号が不連続であった場合,先頭分割データからシーケンス番号が連続している分割データのみを実際に受信した分割データとする。例えば,実際に受信した分割データのシーケンス番号が1,2,3,5,6の5つであった場合,シーケンス番号が1,2,3の受信分割データのみをデータ処理の対象とし,欠落分割データ以降の分割データであるシーケンス番号5,6の分割データは改めて再送信させることになる。この場合,ACKパケットに記された分割データの個数は,実際に受信した分割データの最大値,即ちシーケンス番号3として表される。
上記データ処理部388は,受信した分割データをシーケンス番号順に並べ,予め定められた所定数の分割データ群が受信された時点でこの分割データ群をデータに復号し,復号した当該データの処理を開始する。
上記アンテナ部390は,データ送信装置310に対して電磁波による信号を所定の周波数チャネル上で無線送信し,データ送信装置310から送られるRTSパケットやDATAパケットを受信する。また,他の分割データやビーコン等も送信することができる。
また,かかるデータ受信装置320として機能せしめるコンピュータプログラムも提供される。
このようなデータ伝送システムにおいて実際に交換される通信パケット(RTS,CTS,DATA,ACKパケット)を以下に詳述する。
(RTS,CTS,DATA,ACKパケット)
図11は,RTSパケットのフォーマットを示した説明図であり,図12は,RTSパケットの各フレームを説明するためのパラメータ図である。
かかるRTSパケットでは,自己がRTSパケットであることを「Frame Type」に示し,当該RTSパケットによって隠れ端末を含む近隣領域で通信を独占する時間を「Max Duration」に示す。このDurationによって,送受信端末以外の他の通信端末は,通信を妨げないように当該トランザクションが終了するまでメディアを監視することなく送信を停止,即ち送信不許可状態になる。
また,本実施形態の特徴としての分割データの個数が,「RTS Seq.」として各分割データに付与されたシーケンス番号の最大値で表される。かかるシーケンス番号の最大値と,前回値と,実際に受信された分割データの最大シーケンス番号とによって,分割データの送信個数およびその分割データの各々のシーケンス番号が計算される。
さらに,「Info.MUX」には,送信される分割データのうち,既に分割データ長が送信されている分割データを除いた残りの分割データの個数が記され,「Length Info.#n」には,上記残りの分割データ各々に対応した分割データ長が添付される。ここでは,「RTS Seq.」と「Info.MUX」を送信することによって,シーケンス番号の送信を省略している。例えば,「RTS Seq.」が13,「RTS Seq.」の前回値が7であった場合,分割データ長が送信されていない分割データの数「Info.MUX」は,6となり,そのシーケンス番号は,8,9,10,11,12,13となる。従って,「Length Info.#n」には,シーケンス番号8,9,10,11,12,13の分割データの分割データ長が記載される。
図13は,CTSパケットのフォーマットを示した説明図であり,図14は,CTSパケットの各フレームを説明するためのパラメータ図である。
かかるCTSパケットでは,自己がCTSパケットであることを「Frame Type」に示す。上記RTSパケットと同様,当該CTSパケットによっても隠れ端末を含む近隣領域で通信を独占する必要があるが,本実施形態においては,Durationが固定され,「Max Duration」のフレームは準備されていない。しかし,「Max Duration」を設けることを妨げるものではない。この固定されたDurationによって,送受信端末以外の他の通信端末は,通信を妨げないように当該トランザクションが終了するまでメディアを監視することなく送信を停止,即ち送信不許可状態になる。
また,本実施形態の特徴としての分割データの個数が,「CTS Seq.」として各分割データに付与されたシーケンス番号の最大値で表される。かかるシーケンス番号の最大値と,前回値とによって,データ受信装置320で受信可能な分割データの個数およびその分割データ各々のシーケンス番号が導き出される。
図15は,DATAパケットのフォーマットを示した説明図であり,図16は,DATAパケットの各フレームを説明するためのパラメータ図である。
かかるDATAパケットでは,自己がDATAパケットであることを「Frame Type」に示す。1回のトランザクションで送信される分割データの個数は本実施形態においては最大8個とし,それぞれ「Sub MAC Header」と「Pyaload」の2フレームで分割データ単位を成す。各分割データの「DATA Header」フレームには,その分割データのシーケンス番号(「Sequence」)と分割データ長(「Length」)とが並記される。
図17は,ACKパケットのフォーマットを示した説明図であり,図18は,ACKパケットの各フレームを説明するためのパラメータ図である。
かかるACKパケットでは,自己がACKパケットであることを「Frame Type」に示す。本実施形態の特徴としての実際に受信した分割データの個数が,「Sequence」として各分割データに付与されたシーケンス番号の最大値で表される。かかるシーケンス番号の決定は,上述したように,実際に受信した分割データのシーケンス番号が不連続であった場合,先頭分割データからシーケンス番号が連続している分割データのみを実際に受信した分割データとして導出する。
このようなRTS,CTS,DATA,ACKパケットを利用して,本実施形態のデータ伝送システムが実行される。データ送信装置310とデータ受信装置320とが上述したRTSパケットおよびCTSパケットの制御信号を利用して相互の通信を確保するデータ伝送方法,即ちデータ送信方法およびデータ受信方法を以下で詳細に説明する。
(第2の実施形態:データ送信方法およびデータ受信方法)
図19は,データ送信方法およびデータ受信方法の概略的な流れを説明したフローチャート図である。先ず,データ送信装置310は,送信するデータを複数の分割データに分割し,各々連続したシーケンス番号をその分割データに付与する(S410)。そして,後述する分割データ決定工程(S450)によって決定された送信分割データの送信準備を始め,その送信要求する分割データの最大シーケンス番号を含むRTSパケットをデータ受信装置320に送信する(S412)。以下,本実施形態においては,対象とする分割データの個数は,シーケンス番号の最大値で表す。
上記RTSパケットは,送信する分割データのシーケンス番号および分割データ長を含むとしても良く,RTS送信工程(S412)では,既に送信完了しているシーケンス番号と分割データ長とをRTSパケットに含まないとすることもできる。
そのRTSパケットを受信したデータ受信装置320は,RTSパケットの最大シーケンス番号と前回値とから,データ送信装置310が送信要求している分割データを特定し,今回受信したRTSパケットのシーケンス番号と分割データ長とを次回のために記憶する(S420)。そして,当該データ受信装置320に設けられたバッファの空き容量と上記送信要求の分割データとを比較して,受信可能な分割データを選定し,この受信可能な分割データの最大シーケンス番号を含むCTSパケットを上記データ送信装置に送信する(S422)。
このCTSパケットを受信したデータ送信装置310は,CTSパケットの受信可能な分割データに基づいてシーケンス番号の若い順に分割データをデータ受信装置320に送信する(S430)。ここで,CTSパケットが受信されず,所定時間が経過した場合,データ送信装置310は再度RTS送信工程(S412)を行う。
データ受信装置320は,データ送信装置310から分割データを受信し,実際に受信した分割データの最大シーケンス番号を含むACKパケットをデータ送信装置310に送信する(S440)。このACK送信工程(S440)では,実際に受信した分割データのシーケンス番号が不連続であった場合,先頭分割データからシーケンス番号が連続している分割データのみを実際に受信した分割データとしている。続いて,シーケンス番号順に並べられる所定数の分割データ群を受信した後,その分割データ群をデータに復号し,当該データの処理を開始する(S442)。
上記ACKパケットを受信したデータ送信装置310は,一連のトランザクションが終了したことを認識し,受信したACKパケットに基づいて次回送信する分割データを決定する(S450)。ここで,ACKパケットが受信されず,所定時間が経過した場合,データ送信装置310は再度DATA送信工程(S430)を行う。
次に,上記RTS送信工程(S412),CTS送信工程(S422),DATA送信工程(S430),ACK送信工程(S440),分割データ決定工程(S450)の5工程について,シーケンス番号をどのように管理しているか詳細に説明する。ここで,RTSパケット,CTSパケット,DATAパケット,ACKパケットに付与される分割データのシーケンス番号の最大値をそれぞれ変数rts,cts,data,ackとする。
図20は,上記RTS送信工程(S412)の概略的な流れを説明したフローチャートである。データ送信装置310は,先ず,データ送信装置310が送信要求する分割データのシーケンス番号の最大値を,送信要求する分割データの最大シーケンス番号rtsに代入し,RTSパケットの「RTS Seq.」(図11,12参照)にこのrtsを記載する(S510)。
続いて,上記rtsと,rtsの前回値であるrts_oとの差を計算し,送信される分割データのうち,既に分割データ長が送信されている分割データを除いた残りの分割データの個数として,RTSパケットの「Info.MUX」に記載される(S512)。また,かかる残りの分割データに関して,各々の分割データ長がシーケンス番号の昇順に「Length Info.#n」に記載される(S514)。例えば,rts(「RTS Seq.」の今回値)が13,rts_o(「RTS Seq.」の前回値)が7の場合,送信要求している分割データのうち,分割データ長が送信されていない分割データは,rts−rts_o=6個存在し,その6個のシーケンス番号は,各々,8,9,10,11,12,13となる。従って,「Length Info.#n」には,シーケンス番号8,9,10,11,12,13の分割データの分割データ長が記載される。
また,上記rts_oの代わりにctsを利用して,rtsとの差を計算し,RTSパケットの「Info.MUX」に記載されるとしても良い。これは,データ送信装置310が送信した分割データ長のうち,データ受信装置320が確実に把握している分割データ長のみを送信済みとすることによって,より確実な無線通信を確立しようとするものである。
このようにして,RTSパケットの全フレームが記載されると,データ受信装置320に対してかかるRTSパケットが送信され(S516)。次回の計算のために,今回分割データ長が送信された分割データの最大シーケンス番号rtsをrts_oにロードする(S518)。
図21は,上記CTS送信工程(S422)の概略的な流れを説明したフローチャートである。データ受信装置320は,RTSパケットを受信すると,そのRTSパケットの「RTS Seq.」,「Info.MUX」,「Length Info.#n」のそれぞれのフレームから,送信要求分割データの最大シーケンス番号rts,分割データ長が未取得な分割データの個数,分割データ長未取得分割データの分割データ長とを得ることができる(S530)。
取得された1または2以上の分割データ長は,シーケンス番号と分割データ長とが関連付けられて保存されている分割データ長テーブルの最後尾に新たに加えられる(S532)。
また,他方では,送信要求分割データの最大シーケンス番号rtsと前回のトランザクションで実際に受信した分割データの最大シーケンス番号ackとの差をとって,今回送信要求がされている分割データの総数とシーケンス番号を把握する。かかる分割データは,シーケンス番号も導き出されるので,上記分割データ長テーブルを利用して,分割データそれぞれの分割データ長も把握される(S534)。
データ受信装置320は,自己のバッファの空きと上記送信要求のあった分割データの分割データ長(分割データ容量)とをシーケンス番号順に比較し,受信可能な分割データの最大シーケンス番号をctsに代入する(S536)。
続いて,上記ctsを各分割データに付与されたシーケンス番号の最大値として,CTSパケットの「CTS Seq.」に記載し(S538),CTSパケットの全フレームが記載されると,データ送信装置310に対してかかるCTSパケットが送信される(S540)。
図22は,上記DATA送信工程(S430)の概略的な流れを説明したフローチャートである。データ送信装置310は,CTSパケットを受信すると,そのCTSパケットの「CTS Seq.」のフレームから,受信可能分割データの最大シーケンス番号ctsを得ることができる(S550)。
そして,データ送信装置310は,受信可能分割データの最大シーケンス番号ctsと前回のトランザクションで実際に受信した分割データの最大シーケンス番号ackとの差をとって,今回送信が可能な分割データの総数とシーケンス番号を把握する(S554)。ここで導き出された分割データの総数は,今回送信が可能な分割データの最大値なので,データ送信装置310の状況によっては,かかる個数以下の分割データが送信されることもある。
データ送信装置310は,データ受信装置320に送信する分割データを上記で計算された範囲で決定すると(S556),各分割データに関して,シーケンス番号をDATAパケットの「Sequence」に,分割データ長を「Length」に,分割データ自体を「DATA Payload」に記載し(S558),DATAパケットの全フレームが記載されると,データ受信装置320に対してかかるDATAパケットが送信される(S560)。このDATAパケットは,1または2以上の分割データをそれぞれ1つずつ含んだ複数のDATAパケットであっても良い。
図23は,上記ACK送信工程(S440)の概略的な流れを説明したフローチャートである。データ受信装置320は,DATAパケットを受信すると,そのDATAパケットから,当該分割データを抽出する(S580)。
このとき,実際に受信した分割データのシーケンス番号が不連続であった場合,先頭分割データからシーケンス番号が連続している分割データのみを実際に受信した分割データとみなして,シーケンス番号が不連続の分割データを無視する(S582)。
そして,データ受信装置320は,上記実際に受信した分割データの最大シーケンス番号をackとして検出し,このackを,受信完了したシーケンス番号の最大値として,ACKパケットの「Sequence」に記載する(S584)。ACKパケットの全フレームが記載されると,データ送信装置310に対してかかるACKパケットが送信される(S586)。
ここで,受信完了した分割データに関する分割データ長テーブルのシーケンス番号および分割データ長は,削除されるとしても良い。
図24は,上記分割データ決定工程(S450)の概略的な流れを説明したフローチャートである。データ送信装置310は,ACKパケットを受信すると,そのACKパケットの「Sequence」から,送信完了した分割データの最大シーケンス番号ackを得ることができる(S590)。
データ送信装置310は,かかる送信完了分割データの最大シーケンス番号ackと,送信要求した分割データの最大シーケンス番号rtsとの差をとることによって,送信要求をしたが,データ受信装置320で受信されることがなかった送信未完了の分割データの総数とその分割データのシーケンス番号とを把握する(S592)。そして,かかる送信未完了の分割データを考慮して,次回送信要求する分割データを決定する(S594)。
このような上述の工程により,シーケンス番号の最大値のみをもって送信する分割データの総数およびその分割データのシーケンス番号を管理している。
次に,かかるデータ送信方法およびデータ受信方法における,シーケンス番号の具体的な管理例を説明する。
図25は,本実施形態によるデータ送信方法およびデータ受信方法の具体例を示したフローチャート図である。このデータ送信,受信方法では,シーケンス番号0の分割データから送信されている。
Phase1において,データ送信装置310がデータ受信装置320に送信要求する分割データのシーケンス番号は,0,1,2であり,分割データの最大シーケンス番号,即ちrtsは2となる。データ送信装置310は,かかるrts=2と,シーケンス番号0,1,2の分割データ長とをRTSパケットに記載し,データ受信装置320に送信する(S610)。分割データ長を送付する分割データは,rtsとrts_oとから算出されるが,算出時のrts_oは初期値0なので,送信要求される全ての分割データ(シーケンス番号0,1,2)の分割データ長が送信されている。RTSパケットが送信された後,rts_oにrts,即ち2がロードされる。
データ受信装置320は,送信要求された分割データの総数と分割データ長とから自己のバッファで受信可能な分割データを導出し,CTSパケットに記載する(S612)。ここでは,バッファに十分な余裕があり,そのままctsにrtsがロードされている。
データ送信装置310は,かかる受信可能な分割データを受けて,DATAパケットによりシーケンス番号2までの分割データ,即ち,シーケンス番号0,1,2の3つの分割データを送付する(S614)。データ受信装置320は,データ送信装置310から分割データをエラー無しで受信し,ACKパケットにack=2を記載して送付する(S616)。かかるack=2は,CTS送信工程(S422),DATA送信工程(S430),分割データ決定工程(S450)で利用される。
Phase2において,データ送信装置310がデータ受信装置320に送信要求する分割データの個数は,Phase1同様3つであり,シーケンス番号は,3,4,5である。従って,分割データの最大シーケンス番号,即ちrtsは5となる。また,rtsとrts_oとに基づいて,分割データ長を送付する分割データの総数は3(rts(5)−rts_o(2)),シーケンス番号は,3,4,5となる。データ送信装置310は,rts=5と,シーケンス番号3,4,5の分割データ長とをRTSパケットに記載し,データ受信装置320に送信する(S620)。RTSパケットが送信された後,rts_oにrts,即ち5がロードされる。
データ受信装置320は,送信要求された分割データの総数と分割データ長とから自己のバッファで受信可能な分割データを導出し,CTSパケットに記載する(S622)。ここでは,バッファに余裕が無いと判断し,シーケンス番号3,4,5の分割データのうち,シーケンス番号3,4のみが受信可能,即ち,cts=4がCTSパケットに記載される。
データ送信装置310は,CTSパケットのcts=4および前回既に送信が完了しているack=2とに基づいて,DATAパケットによりシーケンス番号4までの分割データ,即ち,シーケンス番号3,4の2つの分割データを送付する(S624)。データ受信装置320は,データ送信装置310から分割データをエラー無しで受信し,ACKパケットにack=4を記載して送付している(S626)。
Phase3において,データ送信装置310がデータ受信装置320に送信要求する分割データの個数は,Phase1,2同様3つである。rts_oとackとが相違する,即ち,送信要求を出したが未完了に終わった分割データが存在するので,その未完了の分割データ(シーケンス番号5)とを合わせて,送信要求する分割データのシーケンス番号は,5,6,7になる。従って,分割データの最大シーケンス番号,即ちrtsは7となる。また,rtsとrts_oとの差に基づいて,分割データ長を送付する分割データの総数は2(rts(7)−rts_o(5)),シーケンス番号は,6,7となる。データ送信装置310は,rts=7と,シーケンス番号6,7の分割データ長とをRTSパケットに記載し,データ受信装置320に送信する(S630)。RTSパケットが送信された後,rts_oにrts,即ち7がロードされる。
データ受信装置320は,送信要求された分割データの総数と分割データ長とから自己のバッファで受信可能な分割データを導出し,CTSパケットに記載する(S632)。ここでは,バッファに十分な余裕があり,そのままctsにrts=7がロードされている。
データ送信装置310は,CTSパケットのcts=7および前回既に送信が完了しているack=4とに基づいて,DATAパケットによりシーケンス番号7までの分割データ,即ち,シーケンス番号5,6,7の3つの分割データを送付する(S634)。ここで,RTSパケットにはシーケンス番号6,7の分割データ長のみ記載されているが,DATAパケットにはシーケンス番号5,6,7の分割データが記載されていることに留意されたい。
データ受信装置320は,データ送信装置310から分割データを受信したが,エラーにより,最後の分割データ(シーケンス番号7)を実際に受信できなかった。従って,データ受信装置320は,ACKパケットにack=6を記載して送付している(S636)。
Phase4において,データ送信装置310がデータ受信装置320に送信要求する分割データの個数は,Phase1,2,3同様3つである。rts_oとackとが相違する,即ち,送信要求を出したが未完了に終わった分割データが存在するので,その未完了の分割データ(シーケンス番号7)とを合わせて,送信要求する分割データのシーケンス番号は,7,8,9である。従って,分割データの最大シーケンス番号,即ちrtsは9となる。また,rtsとrts_oとの差に基づいて,分割データ長を送付する分割データの総数は2(rts(9)−rts_o(7)),シーケンス番号は,8,9となる。データ送信装置310は,rts=9と,シーケンス番号8,9の分割データ長とをRTSパケットに記載し,データ受信装置320に送信する(S640)。RTSパケットが送信された後,rts_oにrts,即ち9がロードされる。
データ受信装置320は,送信要求された分割データの総数と分割データ長とから自己のバッファで受信可能な分割データを導出し,CTSパケットに記載する(S642)。ここでは,バッファに十分な余裕があり,そのままctsにrts=9がロードされている。
データ送信装置310は,CTSパケットのcts=9および前回既に送信が完了しているack=6とに基づいて,DATAパケットによりシーケンス番号9までの分割データ,即ち,シーケンス番号7,8,9の3つの分割データを送付する(S644)。ここで,RTSパケットにはPhase3同様,シーケンス番号8,9の分割データ長のみ記載されているが,DATAパケットにはシーケンス番号7,8,9の分割データが記載されていることに留意されたい。
データ受信装置320は,データ送信装置310から分割データをエラー無しで受信し,ACKパケットにack=9を記載して送付している(S646)。
尚,一度シーケンス番号が割り当てられた分割データは,データ受信装置320に受信されなかった場合,データの有効時間TTL(Time To Live)がタイムアウトされるまで再送し続ける。また,一度付加されたシーケンス番号は送信が完了するまで再付与されることはない。そのため,TTLのタイムアウトが発生すると,シーケンス番号の再割当による問題が発生する。これを回避するため,対象となるデータ又は分割データを破棄したことを送信元の上位プロトコルに通知する。
上述したデータ送信方法およびデータ受信方法の例のように,シーケンス番号の具体的な管理によって,アドホック通信における隠れ端末問題を解決しつつ,通信端末間の確実かつ効率的な通信およびオーバーヘッドの軽減が可能となる。
以上,添付図面を参照しながら本発明の好適な実施形態について説明したが,本発明は係る例に限定されないことは言うまでもない。当業者であれば,特許請求の範囲に記載された範疇内において,各種の変更例または修正例に想到し得ることは明らかであり,それらについても当然に本発明の技術的範囲に属するものと了解される。
例えば,上記実施形態の説明において,シーケンス番号を昇順に付与する場合を述べているが降順に付与するとしても良く,予め番号付与のステップ数が決められている場合は,そのステップ数に応じて例えば1,3,5,7と言う具合に付与することもできる。
本発明は,データ伝送システム,データ送信装置,データ受信装置,並びに,そのコンピュータプログラムおよび方法に適用可能である。
IEEE802.11aにおけるフレームフォーマットを示した説明図である。 PSDUのフレーム・フィールドの構成を示した構成図である。 IEEE802.11における分割データの送信タイミングを示したタイミング図である。 RTS/CTSの動作例を模式的に示した模式図である。 無線通信ネットワークにおける各通信端末の配置例を示した概略図である。 RTS/CTSの機能を説明するためのタイミング図である。 データ伝送システムの個々の装置構成を示すブロック図である。 データ伝送システムの個々の装置構成を示すブロック図である。 データ送信装置の構成を示すブロック図である。 データ受信装置の構成を示すブロック図である。 RTSパケットのフォーマットを示した説明図である。 RTSパケットの各フレームを説明するためのパラメータ図である。 CTSパケットのフォーマットを示した説明図である。 CTSパケットの各フレームを説明するためのパラメータ図である。 DATAパケットのフォーマットを示した説明図である。 DATAパケットの各フレームを説明するためのパラメータ図である。 ACKパケットのフォーマットを示した説明図である。 ACKパケットの各フレームを説明するためのパラメータ図である。 データ送信方法およびデータ受信方法の概略的な流れを説明したフローチャート図である。 RTS送信工程の概略的な流れを説明したフローチャートである。 CTS送信工程の概略的な流れを説明したフローチャートである。 DATA送信工程の概略的な流れを説明したフローチャートである。 ACK送信工程の概略的な流れを説明したフローチャートである。 分割データ決定工程の概略的な流れを説明したフローチャートである。 データ送信方法およびデータ受信方法の具体例を示したフローチャート図である。
符号の説明
310 データ送信装置
320 データ受信装置
352 シーケンス付与部
354 RTS送信部
356 DATA送信部
358 分割データ決定部
382 RTSパケット記憶部
384 CTS送信部
386 ACK送信部
388 データ処理部
S410 シーケンス付与工程
S412 RTS送信工程
S420 RTSパケット記憶工程
S422 CTS送信工程
S430 DATA送信工程
S440 ACK送信工程
S442 データ処理工程
S450 分割データ決定工程

Claims (18)

  1. データを複数の分割データに分割して各々連続したシーケンス番号を付与し,当該シーケンス番号順に前記分割データを送信するデータ送信装置と,前記データ送信装置から送信された前記分割データを受信して前記データ送信装置にACKパケットを送信し,前記シーケンス番号順に並べられる所定数の分割データ群を受信した後,前記分割データ群をデータに復号して当該データの処理を開始するデータ受信装置とからなり,前記両装置の通信はRTSパケットおよびCTSパケットの制御信号によって確保されるデータ伝送システムであって:
    前記データ送信装置に設けられ,送信する分割データの個数を含むRTSパケットを前記データ受信装置に送信するRTS送信部と;
    前記データ受信装置に設けられ,前記RTSパケットに基づいて,受信可能な分割データの個数を含むCTSパケットを前記データ送信装置に送信するCTS送信部と;
    前記データ送信装置に設けられ,前記CTSパケットに基づいて,1または2以上の前記分割データを含むDATAパケットを前記データ受信装置に送信するDATA送信部と;
    前記データ受信装置に設けられ,実際に受信した分割データの個数を含むACKパケットを前記データ送信装置に送信するACK送信部と;
    前記データ送信装置に設けられ,ACKパケットに基づいて次回送信する分割データを決定する分割データ決定部と;
    を備えることを特徴とする,データ伝送システム。
  2. 前記RTSパケット,CTSパケット,ACKパケットにおける分割データの個数は,対象となる各分割データに付与された前記シーケンス番号の最大値で表されることを特徴とする,請求項1に記載のデータ伝送システム。
  3. 前記RTSパケットは,送信する分割データのシーケンス番号および分割データ長を含むことを特徴とする,請求項2に記載のデータ伝送システム。
  4. 前記データ受信装置に設けられ,前記RTSパケットのシーケンス番号と分割データ長とを記憶するRTSパケット記憶部をさらに備えることを特徴とする,請求項3に記載のデータ伝送システム。
  5. 前記DATA送信部は,前記分割データがそれぞれ1または2以上含まれる複数のDATAパケットを連続して送信することを特徴とする,請求項1に記載のデータ伝送システム。
  6. データを複数の分割データに分割して各々連続したシーケンス番号を付与するシーケンス付与部と;
    送信する分割データの個数を含むRTSパケットを前記データ受信装置に送信するRTS送信部と;
    前記データ受信装置からのCTSパケットにおける,前記データ受信装置が受信可能な分割データの個数に基づいて,1または2以上の前記分割データを含むDATAパケットをデータ受信装置に送信するDATA送信部と;
    前記データ受信装置からのACKパケットにおける,前記データ受信装置が実際に受信した分割データの個数に基づいて次回送信する分割データを決定する分割データ決定部と;
    を備えることを特徴とする,データ送信装置。
  7. 前記RTSパケット,CTSパケット,ACKパケットにおける分割データの個数は,対象となる各分割データに付与された前記シーケンス番号の最大値で表されることを特徴とする,請求項6に記載のデータ送信装置。
  8. 前記RTSパケットは,送信する分割データのシーケンス番号および分割データ長を含むことを特徴とする,請求項7に記載のデータ送信装置。
  9. 前記RTS送信部は,既に送信完了しているシーケンス番号と分割データ長とを前記RTSパケットに含まないことを特徴とする,請求項8に記載のデータ送信装置。
  10. 前記DATA送信部は,前記分割データがそれぞれ1または2以上含まれる複数のDATAパケットを連続して送信することを特徴とする,請求項6に記載のデータ送信装置。
  11. コンピュータを,
    データを複数の分割データに分割して各々連続したシーケンス番号を付与するシーケンス付与部と;
    送信する分割データの個数を含むRTSパケットをデータ受信装置に送信するRTS送信部と;
    前記データ受信装置からのCTSパケットにおける,前記データ受信装置が受信可能な分割データの個数に基づいて,1または2以上の前記分割データを含むDATAパケットをデータ受信装置に送信するDATA送信部と;
    前記データ受信装置からのACKパケットにおける,前記データ受信装置が実際に受信した分割データの個数に基づいて次回送信する分割データを決定する分割データ決定部と;
    して機能させることを特徴とする,コンピュータプログラム。
  12. データを複数の分割データに分割して各々連続したシーケンス番号を付与するシーケンス付与工程と;
    送信する分割データの個数を含むRTSパケットをデータ受信装置に送信するRTS送信工程と;
    前記データ受信装置からのCTSパケットにおける,前記データ受信装置が受信可能な分割データの個数に基づいて,1または2以上の前記分割データを含むDATAパケットをデータ受信装置に送信するDATA送信工程と;
    前記データ受信装置からのACKパケットにおける,前記データ受信装置が実際に受信した分割データの個数に基づいて次回送信する分割データを決定する分割データ決定工程と;
    を含むことを特徴とする,データ送信方法。
  13. 前記データ送信装置からのRTSパケットに基づいて,受信可能な分割データの個数を含むCTSパケットを前記データ送信装置に送信するCTS送信部と;
    前記データ送信装置から実際に受信した分割データの個数を含むACKパケットを前記データ送信装置に送信するACK送信部と;
    前記シーケンス番号順に並べられる所定数の分割データ群を受信した後,前記分割データ群をデータに復号して当該データの処理を開始するデータ処理部と;
    を備えることを特徴とする,データ受信装置。
  14. 前記RTSパケット,CTSパケット,ACKパケットにおける分割データの個数は,対象となる各分割データに付与された前記シーケンス番号の最大値で表されることを特徴とする,請求項13に記載のデータ受信装置。
  15. 前記RTSパケットは,送信する分割データのシーケンス番号および分割データ長を含み,
    前記RTSパケットのシーケンス番号と分割データ長とを記憶するRTSパケット記憶部をさらに備えることを特徴とする,請求項14に記載のデータ受信装置。
  16. 前記ACK送信部は,実際に受信した分割データのシーケンス番号が不連続であった場合,先頭分割データからシーケンス番号が連続している分割データのみを実際に受信した分割データとすることを特徴とする,請求項13に記載のデータ受信装置。
  17. コンピュータを,
    データ送信装置からのRTSパケットに基づいて,受信可能な分割データの個数を含むCTSパケットを前記データ送信装置に送信するCTS送信部と;
    前記データ送信装置から実際に受信した分割データの個数を含むACKパケットを前記データ送信装置に送信するACK送信部と;
    前記シーケンス番号順に並べられる所定数の分割データ群を受信した後,前記分割データ群をデータに復号して当該データの処理を開始するデータ処理部と;
    して機能させることを特徴とする,コンピュータプログラム。
  18. データ送信装置からのRTSパケットに基づいて,受信可能な分割データの個数を含むCTSパケットを前記データ送信装置に送信するCTS送信工程と;
    前記データ送信装置から実際に受信した分割データの個数を含むACKパケットを前記データ送信装置に送信するACK送信工程と;
    前記シーケンス番号順に並べられる所定数の分割データ群を受信した後,前記分割データ群をデータに復号して当該データの処理を開始するデータ処理工程と;
    を含むことを特徴とする,データ受信方法。

JP2004251274A 2004-08-31 2004-08-31 データ伝送システム,データ送信装置,データ受信装置,並びに,そのコンピュータプログラムおよび方法。 Withdrawn JP2006074085A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004251274A JP2006074085A (ja) 2004-08-31 2004-08-31 データ伝送システム,データ送信装置,データ受信装置,並びに,そのコンピュータプログラムおよび方法。

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004251274A JP2006074085A (ja) 2004-08-31 2004-08-31 データ伝送システム,データ送信装置,データ受信装置,並びに,そのコンピュータプログラムおよび方法。

Publications (1)

Publication Number Publication Date
JP2006074085A true JP2006074085A (ja) 2006-03-16

Family

ID=36154283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004251274A Withdrawn JP2006074085A (ja) 2004-08-31 2004-08-31 データ伝送システム,データ送信装置,データ受信装置,並びに,そのコンピュータプログラムおよび方法。

Country Status (1)

Country Link
JP (1) JP2006074085A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008187300A (ja) * 2007-01-26 2008-08-14 Kddi Corp 許容遅延時間を考慮した下りリンクの無線アクセス制御方法、アクセスポイント、端末及びプログラム
WO2010070749A1 (ja) * 2008-12-17 2010-06-24 富士通株式会社 パケット送信装置、パケット受信装置、通信システム及びパケット通信方法
JP2012505589A (ja) * 2008-10-10 2012-03-01 サムスン エレクトロニクス カンパニー リミテッド 特徴検出を用いて衝突を検出する認知無線通信端末及び認知無線通信方法
JP2012249307A (ja) * 2006-06-06 2012-12-13 Qualcomm Inc 指向性アンテナ及び全方向性アンテナを用いた無線通信に関する装置及び方法
JP2019161443A (ja) * 2018-03-13 2019-09-19 富士通株式会社 暗号化情報処理装置、暗号化情報処理システム、復号化鍵情報生成プログラム、及び復号化鍵情報生成方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012249307A (ja) * 2006-06-06 2012-12-13 Qualcomm Inc 指向性アンテナ及び全方向性アンテナを用いた無線通信に関する装置及び方法
US8630590B2 (en) 2006-06-06 2014-01-14 Qualcomm Incorporated Apparatus and method for wireless communication via at least one of directional and omni-direction antennas
JP2008187300A (ja) * 2007-01-26 2008-08-14 Kddi Corp 許容遅延時間を考慮した下りリンクの無線アクセス制御方法、アクセスポイント、端末及びプログラム
JP2012505589A (ja) * 2008-10-10 2012-03-01 サムスン エレクトロニクス カンパニー リミテッド 特徴検出を用いて衝突を検出する認知無線通信端末及び認知無線通信方法
WO2010070749A1 (ja) * 2008-12-17 2010-06-24 富士通株式会社 パケット送信装置、パケット受信装置、通信システム及びパケット通信方法
JP5146541B2 (ja) * 2008-12-17 2013-02-20 富士通株式会社 パケット送信装置、パケット受信装置、通信システム及びパケット通信方法
JP2019161443A (ja) * 2018-03-13 2019-09-19 富士通株式会社 暗号化情報処理装置、暗号化情報処理システム、復号化鍵情報生成プログラム、及び復号化鍵情報生成方法

Similar Documents

Publication Publication Date Title
US10440749B2 (en) Wireless communication system, wireless communication apparatus, wireless communication method, and computer program
EP3399791B1 (en) Information processing apparatus
JP4581996B2 (ja) 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータプログラム
US20180006858A1 (en) Multi-user communication in wireless networks
JP4561630B2 (ja) 通信方法及び通信装置、並びにコンピュータプログラム
US8737425B2 (en) Method and apparatus for media access in contention-based networks
KR101213850B1 (ko) 무선 네트워크에서의 제어 및 데이터의 분리 방법
US7502365B2 (en) Wireless communication apparatus, wireless communication method, and computer-readable storage medium
JP4622503B2 (ja) 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム
JP4572932B2 (ja) 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム
JP4582098B2 (ja) 無線通信システム、通信装置、通信方法及びプログラム
EP1590922A1 (en) Method and apparatus for bandwidth provisioning in a wlan
US11464054B2 (en) RTA contention collision avoidance
JP4747646B2 (ja) 無線通信システム,無線通信装置,無線通信方法,およびコンピュータプログラム。
JP2005295499A (ja) 無線ネットワークにおけるメディアアクセスオーバヘッド低減方法
JP5582178B2 (ja) 無線通信システム、並びに、無線通信装置及び無線通信方法
JP2006074085A (ja) データ伝送システム,データ送信装置,データ受信装置,並びに,そのコンピュータプログラムおよび方法。
JP2002064503A (ja) 無線パケット中継方法
JP2007124496A (ja) 通信装置およびデータ削除方法
JP2006245908A (ja) 無線lanシステムおよび通信装置
CN107635288B (zh) 无线通信系统及相关的无线通信方法及无线装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071106