以下、本発明を実施するための形態について図面を用いて詳細に説明する。
〔全体システム〕
まず、本発明の実施形態による送信装置を含む伝送システムについて説明する。図1は、伝送システムの全体構成を示す概略図である。この伝送システムは、送信装置1及び受信装置2を備えて構成され、無線伝送路によりデータ伝送を行う。送信装置1及び受信装置2はデータ伝送装置であり、無線伝送路により双方向の伝送が可能であるが、以下、データ伝送装置の処理を明確に説明するために、送信装置1から受信装置2へデータを送信する場合について説明する。
送信装置1は、送信アプリケーション(伝送アプリケーション)により、送信データをパケット化し、変調等の処理を行い、無線にて送信データを受信装置2へ送信し、受信装置2から無線LAN用ACK、TCP用ACK等を受信する。受信装置2は、受信アプリケーション(伝送アプリケーション)により、送信装置1から送信された送信データを受信し、復調等の処理を行い、パケットから元の送信データを抽出する。また、受信装置2は、無線LANプロトコルにおいて送信データを正常に受信した場合には無線LAN用ACKを送信装置1へ送信し、TCPにおいて送信データを正常に受信した場合にはTCP用ACKを送信装置1へ送信し、また、必要に応じてその他のデータを送信装置1へ送信する。
送信装置1は、送信アプリケーション10、TCP/IP処理部11、無線LANドライバ12及び無線LAN物理層(送信部)13を備えている。尚、後述する実施例1〜5の送信装置1−1〜1−5は、図1と基本的に同じ機能を有する構成部を備えているが、送信アプリケーション10は省略してあり、図1の各構成部に加えて新たな機能を有する場合もあり、また、処理内容が異なる場合もある。
送信アプリケーション10は、送信装置1内のデータを送信するアプリケーションであり、データをTCP/IP処理部11に出力する。TCP/IP処理部11は、送信アプリケーション10からデータを入力すると共に、無線LANドライバ12からTCP用ACK、変調方式切替情報、電界強度等の情報を入力し、送信レートを算出する。また、TCP/IP処理部11は、入力したデータをパケット化し、TCPヘッダにシーケンス番号を付与する等の処理を行ってTCPヘッダ及びIPヘッダを付加し、算出した送信レートにてパケット化したデータを無線LANドライバ12に出力する。また、TCP/IP処理部11は、入力したTCP用ACKに基づいて、パケットロスの発生有無を判定し、パケットロスの発生を検知した場合、パケットの再送処理を行う。例えば、パケットロスの発生の検知には、3回連続して同じTCP用ACKを受信(入力)した場合にパケットロスが発生したとみなす3dup−ack方式を用いることが一般的である。
無線LANドライバ12は、TCP/IP処理部11からパケット化されたデータを入力し、入力したデータを無線LAN物理層13に出力する。また、無線LANドライバ12は、無線LAN物理層13からTCP用ACK、変調方式切替情報、電界強度等の情報を入力し、入力した情報をTCP/IP処理部11に出力する。ここで、無線LANドライバ12は、下位層である無線LAN物理層13の実装に伴う差異を吸収するためのソフトウェアであり、どのような種類の無線LAN物理層13であっても、TCP/IP処理部11からみると同一の物理層であるかのように見せかけるためのインターフェースとして機能する。したがって、無線LANドライバ12は、実装される無線LAN物理層13の種類に応じて、入力する情報が異なる。これは、無線LAN物理層13が各メーカから提供されるものであり、無線LAN物理層13の種類によって、変調方式の決定手法及び外部へ出力される情報等が異なるからである。
尚、図1に示した送信装置1の構成のように、データは、無線LANドライバ12を介して伝送されることが一般的であるが、本発明は、図1の構成に限定されるものではない。例えば、送信装置1は、送信アプリケーション10、TCP/IP処理部11及び無線LANドライバ12を、一体化して構成するようにしてもよい。
無線LAN物理層13は、無線LANドライバ12からデータを入力し、そのときの無線伝送路の伝搬状況から変調方式を決定し、決定した変調方式にて変調を行い、データを無線にて受信装置2へ送信する。この場合、無線LAN物理層13は、入力したデータを送信バッファに格納し、無線伝送路の伝搬状況による実際の伝送レートに応じて送信バッファからデータを読み出し、前述の処理を行い送信する。また、無線LAN物理層13は、送信したデータに対する無線LAN用ACKを受信装置2から受信する。これにより、無線LAN物理層13は、送信したデータが、受信装置2により正しく受信されたことを認識することができる。
ここで、無線LAN物理層13は、1つのデータ(パケット)を送信すると、受信装置2から無線LAN用ACKの返信を待つ。しかし、送信装置1と受信装置2との間の無線伝送路の伝搬状況によっては、送信装置1から送信されたデータにノイズが加算される場合があり、受信装置2は、送信装置1からのデータを正常に受信できないこともあり得る。この場合、受信装置2は、無線LAN用ACKを送信装置1へ送信することができず、送信装置1の無線LAN物理層13は、受信装置2から無線LAN用ACKを所定時間待っても受信しないことになる。そこで、無線LAN物理層13は、無線LAN用ACKを受信しない場合、一定時間待ってから再度データを送信する。そして、無線LAN物理層13は、再送を行っても無線LAN用ACKを受信しない場合、前回よりも長い時間待ってから再度データを送信することを繰り返す。そして、無線LAN物理層13は、所定回数再送しても無線LAN用ACKを受信しない場合、そのデータを破棄し、次のデータを送信する。無線LAN物理層13により破棄されたデータは、前述のTCP/IP処理部11と後述する受信装置2のTCP/IP処理部22との間の処理により、TCP用ACKの送受信の有無にて検知され、TCP/IP処理部11により、破棄されたデータが再送される。
尚、TCP/IP処理部11による再送処理によってもパケットロスが回復できない場合には、すなわち、送信装置1が受信装置2からTCP用ACKを受信しない場合には、TCP/IP処理部11において、TCPのタイムアウト手順に従った処理が行われる。
受信装置2は、無線LAN物理層(受信部)20、無線LANドライバ21、TCP/IP処理部22及び受信アプリケーション23を備えている。受信アプリケーション23は、送信装置1により送信されたデータを受信するアプリケーションであり、TCP/IP処理部22から受信したデータを入力する。
無線LAN物理層20は、送信装置1により送信されたデータを受信し、データを復調し、復調したデータを無線LANドライバ21に出力する。また、無線LAN物理層20は、データを正しく受信したか否かを判定し、正しく受信したと判定した場合、受信確認応答の無線LAN用ACKを送信装置1へ送信する。また、無線LAN物理層20は、無線LANドライバ21からTCP用ACK等を入力し、送信装置1へ送信する。
無線LANドライバ21は、無線LAN物理層20からデータを入力し、入力したデータをTCP/IP処理部22に出力する。また、無線LANドライバ21は、TCP/IP処理部22からTCP用ACK等を入力し、入力したTCP用ACK等を無線LAN物理層20に出力する。
TCP/IP処理部22は、無線LANドライバ21からデータを入力し、データのパケットに含まれるTCPヘッダのシーケンス番号を確認し、正しいと判定した場合、TCP用ACKを無線LANドライバ21に出力する。尚、TCP/IP処理部22は、TCP用ACK以外のデータも無線LANドライバ21に出力する。
以下、図1に示した送信装置1がデータ伝送を行う具体例について、実施例1〜5を挙げて詳細に説明する。実施例1は、RSSI(Received Signal Strength Indication:受信信号強度)に基づいて決定した変調方式の切替情報に従って、TCP輻輳ウィンドウの送信レートを制御する例である。実施例2は、送信バッファに一時的に保持されているデータの量に従って、TCP輻輳ウィンドウの送信レートを制御する例である。実施例3は、無線LAN用ACKタイムアウト期間中送信できなかったデータの量(無線LAN用ACKが想定通りに返信された場合に送信できていたと予想されるデータ量)に従って、TCP輻輳ウィンドウの送信レートを制御する例である。実施例4は、GPS(Global Positioning System)等により取得した送信装置の位置情報に従って、TCP輻輳ウィンドウの送信レートを制御する例である。実施例5は、実施例1〜4の変形例であり、実施例1〜4における送信装置のTCP/IP処理部と無線LAN物理層とが一体化されておらず、別々の装置として構成され、無線LAN物理層が、無線LANアクセスポイントまたは無線LANブリッジ装置として外部に設置される場合の例である。
〔実施例1〕
まず、実施例1について説明する。実施例1は、前述のとおり、RSSIに基づいて決定した変調方式の切替情報に従って、TCP輻輳ウィンドウの送信レートを制御する例である。
図2は、実施例1による送信装置の構成を示すブロック図である。この送信装置1−1は、TCP/IP処理部11−1、無線LANドライバ12−1、無線LAN物理層13−1を備えている。送信装置1−1の送信アプリケーション10(図示せず)から送信データがTCP/IP処理部11−1に入力される。
TCP/IP処理部11−1は、ヘッダ付加部111、ACK処理部112、輻輳ウィンドウ制御部(送信レート決定部)113−1及び送信量調節バッファ114を備えている。ヘッダ付加部111は、送信データを入力し、送信データにTCP/IPのヘッダを付加してパケット化し、送信量調節バッファ114に出力する。ACK処理部112は、無線LANドライバ12−1から受信データを入力し、受信データがTCP用ACKの場合、TCP用ACKに基づいて、パケットロスの発生有無を判定し、パケットロスの発生を検知したとき、パケットを再送させるための再送指示を送信量調節バッファ114に出力する。一方、ACK処理部112は、パケットロスの発生を検知しないとき、かつ次のパケットが要求されているとき、次のパケットを送信させるための新データ送信指示を送信量調節バッファ114に出力する。
輻輳ウィンドウ制御部113−1は、無線LANドライバ12−1から変調方式切替情報、電界強度及び変調方式切替完了を入力し、変調方式切替情報が示す切り替え後の変調方式について、送信可能な最大レートを算出する。そして、輻輳ウィンドウ制御部113−1は、変調方式切り替え後の送信可能な最大レートが現在の送信可能な最大レート以下であると判定した場合、無線LAN物理層13−1にて実際に変調方式が変更される前に、送信量調節バッファ114における送信レートが変調方式切り替え後の送信可能な最大レート以下になるように、送信レート指示を送信量調節バッファ114に出力する。一方、輻輳ウィンドウ制御部113−1は、変調方式切り替え後の送信可能な最大レートが現在の送信可能な最大レートよりも高いと判定した場合、無線LAN物理層13−1にて実際に変調方式が変更された後に(変調方式切替完了を入力した後に)、送信量調節バッファ114における送信レートが変調方式切り替え後の送信可能な最大レート以下になるように、送信レート指示を送信量調節バッファ114に出力する。また、輻輳ウィンドウ制御部113−1は、電界強度に基づいて、無線伝送路が完全に遮蔽されたと判断した場合、無線LANドライバ12−1を介して無線LAN物理層13−1に、変調及び送信処理を停止させ、入力及び保持した送信データを破棄させる。一方、輻輳ウィンドウ制御部113−1は、電界強度に基づいて、無線伝送路が回復したと判断した場合、無線LANドライバ12−1を介して無線LAN物理層13−1に、変調及び送信処理を再開させる。
図3は、輻輳ウィンドウ制御部113−1による処理を示すフローチャートである。輻輳ウィンドウ制御部113−1は、無線LANドライバ12−1から変調方式切替情報を入力したか否かを判定し(ステップS301)、変調方式切替情報を入力していないと判定した場合(ステップS301:N)、ステップS308へ移行する。一方、輻輳ウィンドウ制御部113−1は、ステップS301において、変調方式切替情報を入力したと判定した場合(ステップS301:Y)、変調方式切替情報が示す切り替え後の変調方式について、この変調方式に対応する誤り訂正のための冗長データ量及び伝送プロトコルヘッダ量等を用いて所定の除算処理を行うことにより、送信可能な最大レートを算出する(ステップS302)。尚、送信可能な最大レートの算出手法は既知であるから、ここでは詳細な説明を省略する。
輻輳ウィンドウ制御部113−1は、変調方式切り替え後の送信可能な最大レートと、現在の送信可能な最大レート(以前に変調方式切替情報を入力したときに算出した、変調方式切り替え後の送信可能な最大レート)とを比較する(ステップS303)。そして、輻輳ウィンドウ制御部113−1は、ステップS303において、変調方式切り替え後の送信可能な最大レートが現在の送信可能な最大レート以下であると判定した場合(ステップS303:≦)、送信量調節バッファ114における送信レートが変調方式切り替え後の送信可能な最大レート以下になるように、送信レート指示を送信量調節バッファ114に出力し(ステップS304)、所定時間経過後、変調方式切替指示を、無線LANドライバ12−1を介して無線LAN物理層13−1へ出力する(ステップS305)。ここで、変調方式切替指示が出力されるタイミングを示す所定時間とは、送信レート指示が出力されてからの時間であり、送信量調節バッファ114の送信レートを低下させた後に、無線LAN物理層13−1の変調方式が実際に切り替えられ、送信レートが低下した送信データに対し、切り替え後の変調方式が適用可能な時間をいう。
このように、変調方式切り替え後の送信可能な最大レートが現在の送信可能な最大レート以下であると判定した場合、無線LAN物理層13−1にて実際に変調方式が変更される前に、送信量調節バッファ114の送信レートが変更される。したがって、変調方式切り替えに伴って伝送レートが低下する場合、送信量調節バッファ114の送信レートが低下した後に伝送レートが低下する。これにより、データ欠損を防ぐことができ、データを送信することができなくなるという不具合を解消することができる。また、受信装置2において、受信データが途切れることがない。
輻輳ウィンドウ制御部113−1は、変調方式切り替え後の送信可能な最大レートが現在の送信可能な最大レートよりも高いと判定した場合(ステップS303:>)、変調方式切替指示を、無線LANドライバ12−1を介して無線LAN物理層13−1へ出力する(ステップS306)。これにより、無線LAN物理層13−1において実際に変調方式が切り替えられ、変調方式切替完了が、無線LAN物理層13−1から無線LANドライバ12−1を介して輻輳ウィンドウ制御部113−1へ出力される。そして、輻輳ウィンドウ制御部113−1は、変調方式切替完了を入力した後、送信量調節バッファ114における送信レートが変調方式切り替え後の送信可能な最大レート以下になるように、送信レート指示を送信量調節バッファ114に出力する(ステップS307)。
輻輳ウィンドウ制御部113−1は、ステップS301、ステップS305またはステップS307から移行して、無線LAN物理層13−1から無線LANドライバ12−1を介して入力した電界強度と所定の閾値とを比較し(ステップS308)、電界強度が閾値よりも小さいと判定した場合(ステップS308:<)、無線伝送路が完全に遮蔽される等して通信できる伝搬状況ではない、すなわち送信可能な最大レートが0になったと判断し、破棄指示を、無線LANドライバ12−1を介して無線LAN物理層13−1へ出力する(ステップ309)。これにより、無線LAN物理層13−1は、破棄指示に基づいて、変調及び送信処理を停止し、入力した送信データを送信バッファ(後述する変調・送信部131−1に備えた送信バッファ)に保持することなく破棄すると共に、送信バッファに保持していた送信データを破棄する。
輻輳ウィンドウ制御部113−1は、ステップS308において、電界強度が閾値以上であると判定した場合(ステップS308:≧)、データ破棄指示の出力により、無線LAN物理層13−1において変調処理等が停止しているか否かを判定する(ステップS310)。輻輳ウィンドウ制御部113−1は、ステップS310において、データ破棄指示の出力により、無線LAN物理層13−1において変調処理等が停止していると判定した場合(ステップS310:Y)、無線伝送路の伝搬状況が改善したと判断し、処理再開指示を、無線LANドライバ12−1を介して無線LAN物理層13−1へ出力する(ステップS311)。これにより、無線LAN物理層13−1は、処理再開指示に基づいて、入力した送信データに対する変調及び送信処理を再開する。一方、輻輳ウィンドウ制御部113−1は、ステップS310において、データ破棄指示を出力済みの状態ではなく、無線LAN物理層13−1において変調処理等が停止していないと判定した場合(ステップS310:N)、処理を終了し、ステップS301へ戻って処理を繰り返す。
このように、無線伝送路が途切れた場合には、送信データは、後述する無線LAN物理層13−1の変調・送信部131−1に備えた送信バッファに保持されることなく破棄され送信が停止するから、無線伝送路が回復した際に、送信データに対する変調及び送信処理が再開され、受信装置2において、迅速にデータの復号が再開される。
尚、前述のとおり、輻輳ウィンドウ制御部113−1は、無線LAN物理層13−1により決定された変調方式を含む変調方式切替情報を、無線LANドライバ12−1を介して入力する。これに対し、無線LAN物理層13−1が変調方式を決定する機能を有さない場合、または変調方式切替情報を出力する機能を有さない場合には、無線LANドライバ12−1が、無線LAN物理層13−1から入力した電界強度に基づいて、変調方式を決定するようにしてもよいし、輻輳ウィンドウ制御部113−1が、無線LAN物理層13−1から無線LANドライバ12−1を介して入力した電界強度に基づいて、変調方式を決定するようにしてもよい。電界強度に基づいて変調方式を決定する手法については、後述する無線LAN物理層13−1の変調方式決定部134の処理を参照されたい。また、輻輳ウィンドウ制御部113−1が、送信可能な最大レートを算出するようにしたが、無線LAN物理層13−1が、送信可能な最大レートを算出し、輻輳ウィンドウ制御部113−1が、送信可能な最大レートを、無線LAN物理層13−1から無線LANドライバ12−1を介して入力するようにしてもよい。
また、TCP処理では、受信装置2が一度に受付可能なデータ量である受信ウィンドウサイズを送信装置1へ送信するから、輻輳ウィンドウ制御部113−1は、受信装置2からの受信ウィンドウサイズを超えないように、送信可能な最大レートを算出し、送信レート指示を送信量調節バッファ114に出力する。これにより、送信装置1によるデータ伝送は、受信ウィンドウサイズを超えるレートになることがない。
また、輻輳ウィンドウ制御部113−1は、送信可能な最大レートを算出する際に、一般的なTCP輻輳制御方法と同様に、送信可能な最大レートを、連続して送信可能なパケット数に換算し、そのパケット数を送信量調節バッファ114に出力するようにしてもよい。
ここで、一般のTCP処理では、TCP用ACKの正常な受信及びパケットロスを判断基準にして、輻輳ウィンドウの送信レートの増減を制御するが、前述のとおり、実施例1の輻輳ウィンドウ制御部113−1による輻輳ウィンドウ制御の処理では、無線LAN物理層13−1から無線LANドライバ12−1を介して入力した変調方式切替情報または電界強度によって送信レートが制御される。実施例2〜5についても同様である。
また、輻輳ウィンドウ制御部113−1は、変調方式切り替え後の送信可能な最大レートが現在の送信可能な最大レートよりも高いと判定した場合、図3のステップS306及びステップS307において、変調方式切替指示を、無線LANドライバ12−1を介して無線LAN物理層13−1へ出力し、無線LAN物理層13−1から無線LANドライバ12−1を介して変調方式切替完了を入力した後、送信レート指示を送信量調節バッファ114に出力するようにした。これに対し、輻輳ウィンドウ制御部113−1は、変調方式切替指示を出力し、所定時間経過後(実際に変調方式が切り替わる時間を待った後)、送信レート指示を出力するようにしてもよい。
図2に戻って、TCP/IP処理部11−1の送信量調節バッファ114は、ヘッダ付加部111からパケット化された送信データを、ACK処理部112から再送指示及び新データ送信指示を、輻輳ウィンドウ制御部113−1から送信レート指示をそれぞれ入力する。そして、送信量調節バッファ114は、入力した送信データをバッファに格納し、送信レート指示が示す送信レートにて送信データをバッファから読み出すことで送信量を調節し、無線LANドライバ12−1に出力する。また、送信量調節バッファ114は、ACK処理部112からの再送指示に従い、同じパケットの送信データを無線LANドライバ12−1に出力し、ACK処理部112からの新データ送信指示に従って、次のパケットの送信データを無線LANドライバ12−1に出力する。
無線LANドライバ12−1は、TCP/IP処理部11−1から送信データ、変調方式切替指示、データ破棄指示及び処理再開指示を入力し、入力した送信データ、変調方式切替指示、データ破棄指示及び処理再開指示を無線LAN物理層13−1に出力する。また、無線LANドライバ12−1は、無線LAN物理層13−1から変調方式切替情報、電界強度、受信データ及び変調方式切替完了を入力し、入力した変調方式切替情報、電界強度、受信データ及び変調方式切替完了をTCP/IP処理部11−1に出力する。
無線LAN物理層13−1は、変調・送信部131−1、受信・復調部132、電界強度測定部133及び変調方式決定部134を備えている。変調・送信部131−1は、送信データを送信する際に一時的に保持する送信バッファを備えており、無線LANドライバ12−1から送信データを入力すると共に、変調方式決定部134から変調方式切替情報を入力し、入力した送信データを送信バッファに格納し、無線伝送路の伝搬状況による実際の伝送レートに応じて送信バッファから送信データを読み出し、変調方式切替情報が示す変調方式に従ってデータを変調し、無線にて受信装置2へ送信する。また、変調・送信部131−1は、無線LANドライバ12−1から変調方式切替指示を入力し、変調方式決定部134から入力した変調方式切替情報が示す変調方式に切り替え、切り替え後の変調方式に従って送信データを変調する。そして、変調・送信部131−1は、変調方式切替完了を無線LANドライバ12−1に出力する。また、変調・送信部131−1は、受信・復調部132から無線LAN用ACKを入力し、送信データが受信装置2により正しく受信されたことを認識する。この場合、変調・送信部131−1は、無線LAN用ACKを入力すると、次の送信データを送信する。
受信・復調部132は、受信装置2により送信された無線LAN用ACK、TCP用ACK等のデータを受信し、受信したこれらのデータを復調し、無線LAN用ACKを変調・送信部131−1に出力すると共に、無線LAN用ACK以外のTCP用ACK等のデータ(無線LANの上位層のデータ)を受信データとして無線LANドライバ12−1に出力する。また、受信・復調部132は、復調前の受信データを電界強度測定部133に出力する。
尚、IEEE802.11方式では、受信装置2から定期的にビーコン信号が送信される場合もある。また、図2に示した構成では、送信装置1と受信装置2とを明確に区別しているが、双方向に伝送を行う場合には、送信装置1が受信装置2から受信するデータには、無線LAN用ACK以外に実際に伝送されるデータが含まれる。このようなデータは、受信データとして無線LANドライバ12−1及びTCP/IP処理部11−1を介して、図2には図示していない上位の送信アプリケーション10に渡される。
電界強度測定部133は、受信・復調部132から復調前の受信データを入力し、復調前の受信データに基づいて、C/N比等の電界強度を測定し、測定した電界強度を変調方式決定部134及び無線LANドライバ12−1に出力する。
変調方式決定部134は、電界強度測定部133から電界強度を入力し、所定の変換方式テーブルを用いて、入力した電界強度に対応する変調方式を新たな変調方式に決定する。そして、変調方式決定部134は、変調方式が変わった場合、変調方式切替情報を無線LANドライバ12−1及び変調・送信部131−1に出力する。変換方式テーブルには、例えばC/N比等の電界強度と変調方式とが対になって格納されており、電界強度に基づいて変調方式が一義的に決定される。この場合、変調方式決定部134は、電界強度が高い場合、より高速な伝送レートを実現可能とする変調方式を決定し、電界強度が低い場合、低速な伝送レートであるがデータを受信し易い変調方式を決定する。これにより、無線伝送路の伝搬状況に応じたレートでのデータ伝送が可能となる。
尚、変調方式決定部134は、C/N比に基づいて変調方式を決定するだけでなく、ACKの非到着頻度、FCS(Frame Check Sequence:フレームチェックシーケンス)部のエラー情報等に基づいて、変調方式を決定するようにしてもよい。この場合、受信・復調部132が、ACKの非到着頻度、FCS部のエラー情報等を生成し、変調方式決定部134は、受信・復調部132からACKの非到着頻度、FCS部のエラー情報等を入力し、例えば、ACKの非到着頻度が高い場合、送信可能な最大レートが一層低くなる変調方式を決定する。また、変調方式決定部134における変調方式を決定するアルゴリズムは、無線LAN標準化方式にて規定されておらず、無線LAN物理層13−1の実装により異なるものである。実施例1は、無線LAN物理層13−1により決定される変調方式に従って、TCP/IP処理部11−1が送信レートを決定するものであり、どのようなアルゴリズムで変調方式が決定されても適用可能である(実施例2〜5においても同様)。
また、無線LAN物理層13−1の変調方式決定部134の前後に遅延部を設け(変調方式決定部134と無線LANドライバ12−1との間に第1の遅延部、変調方式決定部134と変調・送信部131−1との間に第2の遅延部を設け)、TCP/IP処理部11−1の輻輳ウィンドウ制御部113−1は、変調方式切り替え後の送信可能な最大レートが現在の送信可能な最大レート以下であると判定した場合、第1の遅延部に、変調方式決定部134から入力した変調方式切替情報を、即座に無線LANドライバ12−1に出力させるようにし、第2の遅延部に、変調方式決定部134から入力した変調方式切替情報を、所定時間経過後に変調・送信部131−1に出力させるようにする。一方、変調・送信部131−1は、変調方式切り替え後の送信可能な最大レートが現在の送信可能な最大レートよりも高いと判定した場合、第1の遅延部に、変調方式決定部134から入力した変調方式切替情報を、所定時間経過後に無線LANドライバ12−1に出力させるようにし、第2の遅延部に、変調方式決定部134から入力した変調方式切替情報を、即座に変調・送信部131−1に出力させるようにする。この場合、輻輳ウィンドウ制御部113−1は、図3に示したステップS304〜ステップS307の処理を行わず、無線LANドライバ12−1から入力した変調方式切替情報に従い、送信レート指示を送信量調節バッファ114に即座に出力する。また、変調・送信部131−1は、変調方式切替情報を入力すると、その変調方式に即座に切り替える。
また、図2では、送信装置1−1は、TCP/IP処理部11−1、無線LANドライバ12−1及び無線LAN物理層13−1を備え、無線LANドライバ12−1を介してTCP/IP処理部11−1と無線LAN物理層13−1との間でデータの入出力を行うようにした。これに対し、送信装置1−1は、無線LANドライバ12−1を除き、TCP/IP処理部11−1及び無線LAN物理層13−1のみを備え、TCP/IP処理部11−1と無線LAN物理層13−1とがデータの入出力を直接行うようにしてもよい。また、無線LAN物理層13−1内に輻輳ウィンドウ制御部113−1を備えるようにしてもよい。実施例2〜5も同様である。
以上のように、実施例1の送信装置1−1によれば、TCP/IP処理部11−1の輻輳ウィンドウ制御部113−1が、変調方式切り替え後の送信可能な最大レートを算出し、この最大レートが現在の送信可能な最大レート以下であると判定した場合、送信量調節バッファ114における送信レートが変調方式切り替え後の送信可能な最大レート以下になるように、送信レート指示を送信量調節バッファ114に出力し、所定時間経過後、変調方式切替指示を、無線LANドライバ12−1を介して無線LAN物理層13−1へ出力するようにした。これにより、無線LAN物理層13−1にて実際に変調方式が変更されて伝送レートが低下する前に、TCP/IP処理部11−1の送信量調節バッファ114における送信レートを低下させることができる。したがって、変調方式切り替えに伴って伝送レートが低下する場合、送信量調節バッファ114における送信レートが低下した後に伝送レートが低下し、送信量調節バッファ114における送信レート(TCP/IP処理部11−1から送信データが出力される際のレート)よりも伝送レート(無線伝送路の伝搬状況に応じて切り替えられた変調方式によるレート、すなわち、変調・送信部131−1から送信データが送信される際のレート)が低くなるという状態を回避することができるから、無線LAN物理層13−1内の送信バッファから送信データが溢れることがなく、送信データが破棄されることを防ぎ、TCP/IP処理部11−1による送信データの不要な再送を避けることができる。つまり、無線伝送路の伝送可能帯域を効率良く利用することでき、高速伝送を実現することが可能となる。
一方、TCP/IP処理部11−1の輻輳ウィンドウ制御部113−1が、この最大レートが現在の送信可能な最大レートよりも高いと判定した場合、変調方式切替指示を、無線LANドライバ12−1を介して無線LAN物理層13−1へ出力して変調方式が実際に切り替わった後に、送信量調節バッファ114における送信レートが変調方式切り替え後の送信可能な最大レート以下になるように、送信レート指示を送信量調節バッファ114に出力するようにした。これにより、無線LAN物理層13−1にて実際に変調方式が変更されて伝送レートが高くなった後に、送信量調節バッファ114における送信レートを高くすることができる。したがって、変調方式切り替えに伴って伝送レートが高くなる場合、伝送レートが高くなった後に送信量調節バッファ114における送信レートが高くなり、送信量調節バッファ114における送信レートが伝送レートよりも高くなるという状態を回避することができるから、無線LAN物理層13−1内の送信バッファから送信データが溢れて送信データが破棄されることを防ぎ、TCP/IP処理部11−1による送信データの不要な再送を避けることができる。つまり、無線伝送路の伝送可能帯域を効率良く利用することでき、高速伝送を実現することが可能となる。尚、実施例1による受信装置2は、従来の無線LAN標準化方式に従った構成でよい(実施例2〜5においても同様)。
〔実施例2〕
次に、実施例2について説明する。実施例2は、前述のとおり、送信バッファに一時的に保持されているデータの量に従って、TCP輻輳ウィンドウの送信レートを制御する例である。
図4は、実施例2による送信装置の構成を示すブロック図である。この送信装置1−2は、TCP/IP処理部11−2、無線LANドライバ12−2及び無線LAN物理層13−2を備えている。TCP/IP処理部11−2は、ヘッダ付加部111、ACK処理部112、輻輳ウィンドウ制御部113−2及び送信量調節バッファ114を備えている。ヘッダ付加部111、ACK処理部112及び送信量調節バッファ114は、実施例1と同様であるから説明を省略する。
輻輳ウィンドウ制御部113−2は、無線LANドライバ12−2から変調方式切替情報、電界強度及びバッファデータ量(無線LAN物理層13−2の変調・送信部131−2に備えた送信バッファに保持されているデータの量)を入力し、変調方式切替情報及びバッファデータ量に基づいて、送信量調節バッファ114における送信レートを算出し、送信レート指示を送信量調節バッファ114に出力する。また、輻輳ウィンドウ制御部113−2は、入力した電界強度を用いて、図3に示したステップS308〜ステップS311の処理を行い、無線伝送路が完全に遮蔽される等して通信できる伝搬状況ではないと判断した場合、無線LAN物理層13−2に、変調及び送信処理を中止させることで、入力した送信データ及び保持していた送信データを破棄させ、無線伝送路の伝搬状況が改善したと判断した場合、無線LAN物理層13−2に、変調及び送信処理を再開させる。尚、図4において、データ破棄指示及び処理再開指示については省略してある。実施例3〜5についても同様である。
図5は、輻輳ウィンドウ制御部113−2による処理を示すフローチャートである。まず、輻輳ウィンドウ制御部113−2は、無線LANドライバ12−2から変調方式切替情報及びバッファデータ量を入力する(ステップS501)。そして、輻輳ウィンドウ制御部113−2は、変調方式切替情報が示す切り替え後の変調方式について、この変調方式に対応する誤り訂正のための冗長データ量及び伝送プロトコルヘッダ量等を用いて所定の除算処理を行うことにより、送信可能な最大レートを算出し(ステップS502)、バッファデータ量の時間的変化を求めて送信バッファ内データレートを算出する(ステップS503)。そして、輻輳ウィンドウ制御部113−2は、以下の数式により送信レートを算出し(ステップS504)、送信レート指示を送信量調節バッファ114に出力する(ステップS505)。
(数式1)
送信レート=送信可能な最大レート−無線LAN物理層13−2の送信バッファ内データレート ・・・(1)
これにより、送信量調節バッファ114は、輻輳ウィンドウ制御部113−2により算出された送信レートにて、送信データを無線LANドライバ12−2に出力する。
ここで、データの送信中に変調方式が切り替わり、送信可能な最大レートが現在の送信レートより低くなると、無線LAN物理層13−2の送信バッファにデータが一時的に保持される。この場合、輻輳ウィンドウ制御部113−2は、送信可能な最大レートが低くなるから、前記数式(1)により、以前よりも低い送信レートを算出し、送信レート指示を送信量調節バッファ114に出力する。これにより、送信量調節バッファ114により出力される送信データの量は少なくなり、無線LAN物理層13−2が送信バッファから送信データを読み出して送信するに従って、送信バッファに保持されるデータの量が減少する。このとき、輻輳ウィンドウ制御部113−2は、送信バッファ内データレートが低くなるから、前記数式(1)により、以前よりも高い送信レートを算出し、送信レート指示を送信量調節バッファ114に出力する。これにより、送信量調節バッファ114により出力される送信データの量は多くなる。
このように、変調方式が切り替わり、送信可能な最大レートが現在の送信レートより低い場合、送信バッファから送信すべきデータを送信できるように送信レートは一旦下げられ、送信バッファ内のデータが送信されながら、送信バッファ内の送信データの量が減少するに従って、徐々に送信レートが上がっていく。これにより、輻輳ウィンドウ制御部113−2が前記数式(1)により送信レートを算出し、送信量調節バッファ114の送信レートを制御することで、所定の時間内に全ての送信データを送ることができ、無線LAN物理層13−2内の送信バッファから送信データが溢れて送信データが破棄されることを防ぎ、TCP/IP処理部11−2による送信データの不要な再送を避けることができる。
図4に戻って、無線LANドライバ12−2は、TCP/IP処理部11−2から送信データを入力し、入力した送信データを無線LAN物理層13−2に出力する。また、無線LANドライバ12−2は、無線LAN物理層13−2から変調方式切替情報、電界強度、受信データ及びバッファデータ量を入力し、入力した変調方式切替情報、電界強度、受信データ及びバッファデータ量をTCP/IP処理部11−2に出力する。
無線LAN物理層13−2は、変調・送信部131−2、受信・復調部132、電界強度測定部133及び変調方式決定部134を備えている。受信・復調部132、電界強度測定部133及び変調方式決定部134は、実施例1と同様であるから説明を省略する。
変調・送信部131−2は、実施例1の変調・送信部131−1と同様の処理に加え、送信バッファに保持されているデータの量を算出し、バッファデータ量として無線LANドライバ12−2に出力する。
ここで、無線伝送路の伝搬状況によっては、受信装置2にて送信データを受信し易い変調方式に切り替えられる。そして、その変調方式にて送信データが送信されたとしても、受信装置2は、送信データを正常に受信できず、無線LAN物理層13−2において再送処理が繰り返される場合がある。このとき、送信データは、変調・送信部131−2に備えた送信バッファに一時保持される。また、無線伝送路では、CSMA(Carrier Sense Multiple Access)方式により、複数の送信装置1−2が同一の無線伝送路を共有して送信データを伝送する。ある送信装置1−2が送信データを伝送している間、無線伝送路を共有する他の送信装置1−2は送信データを伝送することができない。すなわち、無線伝送路の伝搬状況に加え、他の送信装置1−2の伝送状況によっても送信可能な最大レートは変化する。他の送信装置1−2が送信データを伝送している間、送信データは、無線LAN物理層13−2の変調・送信部131−2に備えた送信バッファに一時保持される。送信バッファ内に送信データが保持されると、TCP/IP処理部11−2の輻輳ウィンドウ制御部113−2は、送信バッファ内データレートが高くなり、前記数式(1)により、以前よりも低い送信レートを算出し、送信量調節バッファ114により出力される送信データの量は少なくなる。これにより、所定の時間内に全ての送信データを送ることができ、無線LAN物理層13−2内の送信バッファから送信データが溢れて送信データが破棄されることを防ぎ、TCP/IP処理部11−2による送信データの不要な再送を避けることができる。
以上のように、実施例2の送信装置1−2によれば、TCP/IP処理部11−2の輻輳ウィンドウ制御部113−2が、変調方式切替情報に基づいて、送信可能な最大レートを算出し、無線LAN物理層13−2における送信バッファ内のバッファデータ量の時間的変化を求めて送信バッファ内データレートを算出し、前記数式(1)により送信レートを算出するようにした。そして、送信量調節バッファ114が、輻輳ウィンドウ制御部113−2により算出された送信レートに従って、送信データを出力するようにした。これにより、無線伝送路の伝搬状況が悪化して変調方式が切り替わってもなお無線伝送路でパケットロスが発生する場合に、送信可能な最大レートが現在の送信レートより低くなり、無線LAN物理層13−2における送信バッファから送信すべきデータを送信できるように送信レートは一旦下げられ、送信バッファ内のデータが送信されながら、送信バッファ内のデータが減少するに従って、徐々に送信量調節バッファ114における送信レートが上がっていく。つまり、送信バッファに一時的に保持されているデータ量を考慮して送信量調節バッファ114における送信レートが制御され、無線伝送路の伝搬状況による送信可能な最大レートの変化に追従するだけでなく、他の送信装置1−2の伝送状況によって変化する伝送レートにも追従するから、無線LAN物理層13−2内の送信バッファから送信データが溢れて送信データが破棄されることを防ぎ、TCP/IP処理部11−2による送信データの不要な再送を避けることができる。また、無線伝送路の伝送可能帯域を効率良く利用することでき、高速伝送を実現することが可能となる。
〔実施例3〕
次に、実施例3について説明する。実施例3は、前述のとおり、無線LAN用ACKタイムアウト期間中送信できなかったデータの量(無線LAN用ACKが想定通りに返信された場合に送信できていたと予想されるデータ量)に従って、TCP輻輳ウィンドウの送信レートを制御する例である。
図6は、実施例3による送信装置の構成を示すブロック図である。この送信装置1−3は、TCP/IP処理部11−3、無線LANドライバ12−3、無線LAN物理層13−3及び仮想送信量カウント部14を備えている。TCP/IP処理部11−3は、ヘッダ付加部111、ACK処理部112、輻輳ウィンドウ制御部113−3及び送信量調節バッファ114を備えている。ヘッダ付加部111、ACK処理部112及び送信量調節バッファ114は、実施例1と同様であるから説明を省略する。
輻輳ウィンドウ制御部113−3は、無線LANドライバ12−3から変調方式切替情報、電界強度及び仮想送信量を入力し、変調方式切替情報及び仮想送信量(無線LAN用ACKが想定通りに返信された場合に送信できていたと予想されるデータの量)に基づいて、送信量調節バッファ114における送信レートを算出し、送信レート指示を送信量調節バッファ114に出力する。また、輻輳ウィンドウ制御部113−3は、入力した電界強度を用いて、図3に示したステップS308〜ステップS311の処理を行い、無線伝送路が完全に遮蔽される等して通信できる伝搬状況ではないと判断した場合、無線LAN物理層13−3に、変調及び送信処理を中止させることで、入力した送信データ及び保持していた送信データを破棄させ、無線伝送路の伝搬状況が改善したと判断した場合、無線LAN物理層13−3に、変調及び送信処理を再開させる。
図7は、輻輳ウィンドウ制御部113−3による処理を示すフローチャートである。まず、輻輳ウィンドウ制御部113−3は、無線LANドライバ12−3から変調方式切替情報及び仮想送信量を入力する(ステップS701)。そして、輻輳ウィンドウ制御部113−3は、変調方式切替情報が示す切り替え後の変調方式について、この変調方式に対応する誤り訂正のための冗長データ量及び伝送プロトコルヘッダ量等を用いて所定の除算処理を行うことにより、送信可能な最大レートを算出する(ステップS702)。そして、輻輳ウィンドウ制御部113−3は、以下の数式により送信レートを算出し(ステップS703)、送信レート指示を送信量調節バッファ114に出力する(ステップS704)。
(数式2)
送信レート=送信可能な最大レート−仮想送信量 ・・・(2)
これにより、送信量調節バッファ114は、輻輳ウィンドウ制御部113−3により算出された送信レートにて、送信データを無線LANドライバ12−3に出力する。
図6に戻って、無線LANドライバ12−3は、TCP/IP処理部11−3から送信データを入力し、入力した送信データを無線LAN物理層13−3に出力する。また、無線LANドライバ12−3は、無線LAN物理層13−3から変調方式切替情報、電界強度及び受信データを入力し、入力した変調方式切替情報、電界強度及び受信データをTCP/IP処理部11−3に出力する。また、無線LANドライバ12−3は、仮想送信量カウント部14から仮想送信量を入力し、入力した仮想送信量をTCP/IP処理部11−3に出力する。
無線LAN物理層13−3は、変調・送信部131−3、受信・復調部132、電界強度測定部133及び変調方式決定部134を備えている。受信・復調部132、電界強度測定部133及び変調方式決定部134は、実施例1と同様であるから説明を省略する。
変調・送信部131−3は、実施例1の変調・送信部131−1と同様の処理に加え、送信データを送信してから受信・復調部132から無線LAN用ACKを所定時間内に入力しない場合、ACK未受信を仮想送信量カウント部14に出力する。
仮想送信量カウント部14は、無線LAN物理層13−3の変調・送信部131−3からACK未受信を入力すると、仮に、受信・復調部132において無線LAN用ACKを受信し、変調・送信部131−3において無線LAN用ACKを想定通りに入力していたならば、送信していたと予想されるデータ量(無線LAN用ACKが想定通りに返信された場合に送信できていたと予想されるデータの量)を仮想送信量としてカウントし、仮想送信量を無線LANドライバ12−3に出力する。
ここで、無線伝送路の伝搬状況により、送信装置1−3から受信装置2へ送信データが正常に伝送されなかった場合、または、他の送信装置1−3が送信データを伝送中の場合、受信装置2から無線LAN用ACKが返信されないことがある。この場合、無線LAN物理層13−3の送信バッファには送信データが一時的に保持されることになる。一方、仮想送信量カウント部14において、受信装置2から無線LAN用ACKが返信されないことに伴って、仮想送信量がカウントされる。輻輳ウィンドウ制御部113−3は、仮想送信量が大きくなるから、前記数式(2)により、以前よりも低い送信レートを算出し、送信レート指示を送信量調節バッファ114に出力する。これにより、送信量調節バッファ114により出力される送信データの量は少なくなる。したがって、輻輳ウィンドウ制御部113−3は、送信できなかったデータ量である仮想送信量に従って、前記数式(2)により、本来想定していたレートよりも送信レートを下げることで、送信量調節バッファ114の送信レートを制御するようにした。つまり、TCP/IP処理部11−3にて送信データを待機させることで、無線LAN物理層13−3内の送信バッファから所定の時間内に全ての送信データを送ることができ、送信バッファから送信データが溢れて送信データが破棄されることを防ぎ、TCP/IP処理部11−3による送信データの不要な再送を避けることができる。
尚、無線LAN物理層13−3と仮想送信量カウント部14とは別々の構成部として設けられているが、無線LAN物理層13−3が、仮想送信量カウント部14を備えるようにしてもよい。
また、無線LAN標準化方式では、複数パケットの無線LAN用ACKをまとめて返信するブロックACK方式が規定されている。この場合も同様に、仮想送信量カウント部14は、ブロックACK内で確認応答がなかったパケットのデータ量を仮想送信量としてカウントし、無線LANドライバ12−3に出力する。これにより、前述と同様の手法にて、送信レートを制御することができる。
以上のように、実施例3の送信装置1−3によれば、仮想送信量カウント部14が、ACK未受信を入力し、無線LAN用ACKが想定通りに返信された場合に送信できていたと予想されるデータの量を仮想送信量としてカウントし、TCP/IP処理部11−3の輻輳ウィンドウ制御部113−3が、変調方式切替情報に基づいて、送信可能な最大レートを算出し、前記数式(2)により、送信可能な最大レート及び仮想送信量から送信量調節バッファ114における送信レートを算出するようにした。そして、送信量調節バッファ114が、輻輳ウィンドウ制御部113−3により算出された送信レートに従って、送信データを出力するようにした。これにより、無線伝送路の伝搬状況により、送信装置1−3から受信装置2へデータが正常に伝送されなかったり、他の送信装置1−3によりデータが伝送中であったりして、受信装置2から無線LAN用ACKが返信されない場合、送信量調節バッファ114における送信レートは一旦下げられ、無線LAN用ACKが返信された場合、送信レートは上がる。つまり、無線伝送路の伝搬状況、または、無線伝送路を共有する他の送信装置1−3の伝送状況により変化する伝送レートに追従して、送信量調節バッファ114における送信レートを制御することができる。したがって、無線LAN物理層13−3内の送信バッファから送信データが溢れることがなく、送信データが破棄されることを防ぎ、TCP/IP処理部11−3による送信データの不要な再送を避けることができる。また、無線伝送路の伝送可能帯域を効率良く利用することでき、高速伝送を実現することが可能となる。
〔実施例4〕
次に、実施例4について説明する。実施例4は、前述のとおり、GPS等により取得した送信装置の位置情報に従って、TCP輻輳ウィンドウの送信レートを制御する例である。尚、実施例4では、受信装置2は移動することのない固定局であることを前提とする。
図8は、実施例4による送信装置の構成を示すブロック図である。この送信装置1−4は、TCP/IP処理部11−4、無線LANドライバ12−4、無線LAN物理層13−4、位置情報測定部15及び位置−送信レートテーブル保持部(送信レート決定部)16を備えている。TCP/IP処理部11−4は、ヘッダ付加部111、ACK処理部112、輻輳ウィンドウ制御部113−4及び送信量調節バッファ114を備えている。ヘッダ付加部111、ACK処理部112及び送信量調節バッファ114は、実施例1と同様であるから説明を省略する。
輻輳ウィンドウ制御部113−4は、無線LANドライバ12−4から変調方式切替情報、電界強度及び送信レート指示を入力し、図3に示したステップS301〜ステップS307の処理により、変調方式切替情報に基づいて、送信量調節バッファ114における送信レートを算出し、送信レート指示を送信量調節バッファ114に出力する。また、輻輳ウィンドウ制御部113−4は、入力した電界強度を用いて、図3に示したステップS308〜ステップS311の処理を行い、無線伝送路が完全に遮蔽される等して通信できる伝搬状況ではないと判断した場合、無線LAN物理層13−4に、変調及び送信処理を中止させることで、入力した送信データ及び保持していた送信データを破棄させ、無線伝送路の伝搬状況が改善したと判断した場合、無線LAN物理層13−4に、変調及び送信処理を再開させる。また、輻輳ウィンドウ制御部113−4は、無線LANドライバ12−4から送信レート指示を入力した場合、図3に示したステップS301〜ステップS307の処理により算出した送信レートに代えて、入力した送信レート指示を送信量調節バッファ114に出力する。すなわち、輻輳ウィンドウ制御部113−4は、自らが算出した送信レートよりも、位置−送信レートテーブル保持部16から無線LANドライバ12−4を介して入力した送信レートを優先して、送信量調節バッファ114に出力する。これにより、送信量調節バッファ114において、変調方式切替情報に基づいて決定された送信レートよりも、送信装置1−4の位置情報に基づいて決定された送信レートが優先され、送信データが読み出され出力される。
無線LANドライバ12−4は、TCP/IP処理部11−4から送信データを入力し、入力した送信データを無線LAN物理層13−4に出力する。また、無線LANドライバ12−4は、無線LAN物理層13−4から変調方式切替情報、電界強度及び受信データを入力し、入力した変調方式切替情報、電界強度及び受信データをTCP/IP処理部11−4に出力する。また、無線LANドライバ12−4は、位置−送信レートテーブル保持部16から送信レート指示を入力し、入力した送信レート指示をTCP/IP処理部11−4に出力する。
無線LAN物理層13−4は、変調・送信部131−4、受信・復調部132、電界強度測定部133及び変調方式決定部135を備えている。変調・送信部131−4は、実施例1の変調・送信部131−1と同様の処理を行い、受信・復調部132及び電界強度測定部133も実施例1と同様であるから説明を省略する。
変調方式決定部135は、電界強度測定部133から電界強度を入力し、所定の変換方式テーブルを用いて、入力した電界強度に対応する変調方式を新たな変調方式に決定すると共に、位置−送信レートテーブル保持部16から変調方式指示を入力し、変調方式指示が示す変調方式を新たな変調方式に決定する。そして、変調方式決定部135は、変調方式が変わった場合、変調方式切替情報を無線LANドライバ12−4及び変調・送信部131−4に出力すると共に、現在の変調方式を位置−送信レートテーブル保持部16に出力する。
位置情報測定部15は、GPS等を利用して現在の送信装置1−4の位置を測定し、位置情報を生成して位置−送信レートテーブル保持部16に出力する。位置−送信レートテーブル保持部16は、所定のテーブルを保持しており、位置情報測定部15から送信装置1−4の位置情報を入力すると共に、無線LAN物理層13−4の変調方式決定部135から現在の変調方式を入力する。そして、位置−送信レートテーブル保持部16は、入力した位置情報に対応する送信レートをテーブルから読み出し、送信レート指示を、無線LANドライバ12−4に出力する。この場合、位置−送信レートテーブル保持部16は、読み出した送信レートが現在の送信可能な最大レートよりも高い場合、所定時間経過後に、送信レート指示を出力する。また、位置−送信レートテーブル保持部16は、入力した位置情報に対応する送信レートがテーブルに存在しない場合、入力した現在の変調方式について、実施例1の輻輳ウィンドウ制御部113−1と同様に、現在の送信可能な最大レートを算出し、現在の送信可能な最大レートを、位置情報に対応する送信レートとしてテーブルに格納する。ここで、テーブルには、位置情報及びこの位置情報に対応する送信レート等が格納されており、位置情報は、基準位置を中心とした所定範囲を示す情報である。
また、位置−送信レートテーブル保持部16は、送信装置1−4の移動による位置情報の変化に伴い、テーブルから読み出した第1の位置情報に対応する送信レートよりも、その後に読み出した第2の位置情報に対応する送信レートの方が低くなっている場合、第2の位置情報に対応する送信レートよりも一層低い送信レートを決定し、送信レート指示を無線LANドライバ12−4に出力し、所定時間経過した後、決定した送信レートに相当する送信可能な最大レートの変調方式を決定し、変調方式指示を無線LAN物理層13−4の変調方式決定部135に出力する。これにより、変調方式決定部135は、位置−送信レートテーブル保持部16から変調方式指示を入力し、新たな変調方式としてその変調方式指示が示す変調方式に決定する。
図9は、位置−送信レートテーブル保持部16による処理を示すフローチャートである。まず、位置−送信レートテーブル保持部16は、位置情報測定部15から送信装置1−4の位置情報を入力すると共に、無線LAN物理層13−4の変調方式決定部135から現在の変調方式を入力し(ステップS901)、現在の変調方式に対応する誤り訂正のための冗長データ量及び伝送プロトコルヘッダ量等を用いて所定の除算処理を行うことにより、現在の送信可能な最大レートを算出する(ステップS902)。
位置−送信レートテーブル保持部16は、テーブルに、位置情報に対応する送信レートが存在するか否かを判定し(ステップS903)、位置情報に対応する送信レートが存在すると判定した場合(ステップS903:Y)、テーブルから位置情報に対応する送信レートを読み出し、新たな送信レートを決定する(ステップS904)。一方、位置−送信レートテーブル保持部16は、ステップS903において、位置情報に対応する送信レートが存在しないと判定した場合(ステップS903:N)、ステップS902にて算出した現在の送信可能な最大レートを、位置情報に対応する送信レートとし、テーブルに格納する(ステップS905)。
位置−送信レートテーブル保持部16は、ステップS904から移行して、新たに決定した送信レートと、現在の送信可能な最大レートとを比較し(ステップS906)、決定した送信レートが現在の送信可能な最大レート以下であると判定した場合(ステップS906:≦)、送信レート指示を無線LANドライバ12−4に出力する(ステップS907)。これにより、無線伝送路の伝搬状況が悪化して実際に送信可能な最大レートが低下する前に、TCP/IP処理部11−4の送信量調節バッファ114における送信レートは速やかに低くなり、TCP/IP処理部11−4により出力される送信データの量が少なくなり、無線LAN物理層13−4の送信バッファは溢れることがないから、送信データの欠落を防ぐことができ、TCPによる不要な再送を避けた効率の良いデータ伝送が可能となる。
一方、位置−送信レートテーブル保持部16は、ステップS906において、決定した送信レートが現在の送信可能な最大レートよりも高いと判定した場合(ステップS906:>)、所定時間経過後に、送信レート指示を無線LANドライバ12−4に出力する(ステップS908)。これにより、TCP/IP処理部11−4の送信量調節バッファ114における送信レートは、無線LAN物理層13−4の送信バッファから送信データが送信されるのを待った後に高くなるから、送信データの欠落を防ぐことができ、TCPによる不要な再送を避けた効率の良いデータ伝送が可能となる。
尚、位置−送信レートテーブル保持部16は、ステップS908の処理の代わりに、さらに位置情報が更新され、現在の変調方式から算出した現在の送信可能な最大レートが所定のレート(例えば、決定した送信レートに近い所定値)にまで高くなるのを待ってから、テーブルから読み出した送信レートの送信レート指示を出力するようにしてもよい。
位置−送信レートテーブル保持部16は、ステップS905、ステップS907またはステップS908から移行して、送信装置1−4の移動による位置情報の変化に伴い、ステップS904にてテーブルから読み出した送信レートが低下しているか否かを判定する(ステップS909)。例えば、位置−送信レートテーブル保持部16は、所定時間の間、テーブルから読み出した複数の送信レート及び読み出した時間に基づいて、時間的に低下傾向にあるか否かを判定する。位置−送信レートテーブル保持部16は、ステップS909において、送信レートが低下していると判定した場合(ステップS909:Y)、そのときの位置情報に対応する送信レートよりも一層低い最低値の送信レートを決定する(ステップS910)。例えば、位置−送信レートテーブル保持部16は、そのときの位置情報に対応する送信レートから所定値を減算し、減算結果の最低値を送信レートに決定する。
位置−送信レートテーブル保持部16は、ステップS910にて決定した最低値の送信レートの送信レート指示を無線LANドライバ12−4に出力する(ステップS911)。また、位置−送信レートテーブル保持部16は、所定時間経過した後、ステップS910にて決定した最低値の送信レートに対応する変調方式を決定し(ステップS912)、変調方式指示を無線LAN物理層13−4の変調方式決定部135に出力し(ステップS913)、処理を終了してステップS901へ移行する。例えば、位置−送信レートテーブル保持部16は、最低値の送信レートと、送信可能な最大レートの変調方式とが対応して格納されたテーブルを用いて、変調方式を決定する。
ここで、送信可能な最大レートが低くなる位置に送信装置1−4が近づいた場合には、無線LAN物理層13−4の変調方式決定部135が電界強度の変化に伴って変調方式を切り替える前に、位置−送信レートテーブル保持部16は、まず、TCP/IP処理部11−4の送信量調節バッファ114における送信レートを低い値に制御し、その後に、無線LAN物理層13−4の変調方式決定部135に対し変調方式を直接変更するようにした。一般に、送信可能な最大レートが低くなる位置に近づくことで、電界強度の低下に伴うパケットロスが発生するが、位置−送信レートテーブル保持部16の処理により、パケットロスを低減することができ、TCP/IP処理部11−4及び無線LAN物理層13−4による再送処理を避けた効率の良いデータ伝送が可能となる。
一方、位置−送信レートテーブル保持部16は、ステップS909において、送信レートが低下していないと判定した場合(ステップS909:N)、処理を終了してステップS901へ移行する。
尚、位置情報及びこれに対応する送信レートがテーブルに存在している場合に、位置−送信レートテーブル保持部16は、ステップS906において、テーブルから読み出した送信レートが現在の送信可能な最大レートよりも高いと判定した場合(ステップS906:>)、テーブルに格納されている送信レートを、この送信レート以下である現在の送信可能な最大レートに更新するようにしてもよい。これにより、無線伝送路の伝搬状況が最も悪化している場合に合わせたテーブルが生成され、TCP/IP処理部11−4及び無線LAN物理層13−4による再送処理を避けた一層効率の良いデータ伝送が可能となる。
尚、実施例4は、実施例1の構成を基本とし、さらに位置情報測定部15及び位置−送信レートテーブル保持部16を備え、GPSにより取得した位置情報に従って、予め送信レートを制御するものである。これに対し、実施例4の変形例は、実施例2,3の構成を基本とし、さらに位置情報測定部15及び位置−送信レートテーブル保持部16を備えるようにしてもよい。また、無線LANドライバ12−4は、位置情報測定部15及び位置−送信レートテーブル保持部16を備えるようにしてもよい。また、位置−送信レートテーブル保持部16は、送信レート指示を、無線LANドライバ12−4を介してTCP/IP処理部11−4の輻輳ウィンドウ制御部113−4へ出力するようにしたが、TCP/IP処理部11−4の輻輳ウィンドウ制御部113−4に直接出力するようにしてもよい。
以上のように、実施例4の送信装置1−4によれば、位置−送信レートテーブル保持部16が、送信装置1−4の位置情報に対応する送信レートをテーブルから読み出し、送信レート指示を、無線LANドライバ12−4を介してTCP/IP処理部11−4の輻輳ウィンドウ制御部113−4へ出力する際に、テーブルから読み出した送信レートと、現在の変調方式から算出した現在の送信可能な最大レートとを比較し、読み出した送信レートが現在の送信可能な最大レート以下の場合、即座に送信レート指示を出力し、読み出した送信レートが現在の送信可能な最大レートよりも高い場合、所定時間経過後に、送信レート指示を出力するようにした。これにより、無線伝送路の伝搬状況が悪化して実際に送信可能な最大レートが低下する前に、送信レートを低下させ、TCP/IP処理部11−4の送信量調節バッファ114により出力される送信データ量を減少させることができる。したがって、無線LAN物理層13−4内の送信バッファから送信データが溢れることがなく、送信データが破棄されることを防ぎ、TCP/IP処理部11−4による送信データの不要な再送を避けることができる。また、無線伝送路の伝送可能帯域を効率良く利用することでき、高速伝送を実現することが可能となる。
〔実施例5〕
次に、実施例5について説明する。実施例5は、前述のとおり、実施例1〜4の変形例であり、実施例1〜4における送信装置1−1〜1−4のTCP/IP処理部11−1〜11−4と無線LAN物理層13−1〜13−4とが一体化されておらず、別々の装置として構成され、無線LAN物理層13−1〜13−4が、無線LANアクセスポイントまたは無線LANブリッジ装置として外部に設置される場合の例である。
図10は、実施例5による送信装置(送信システム)の構成を示すブロック図である。この送信装置1−5は、データ送信装置17及び無線LANアクセスポイント18を備えて構成される。データ送信装置17は、TCP/IP処理部11−5を含んでおり、具体的には、実施例1〜3のTCP/IP処理部11−1〜11−3及び無線LANドライバ12−1〜12−3、または、実施例4のTCP/IP処理部11−4、無線LANドライバ12−4、位置情報測定部15及び位置−送信レートテーブル保持部16のうちのいずれかの実施例の構成部を備えている。このデータ送信装置17は、一般のPC(Personal Computer)等のように、TCP/IPによる通信が可能な一般の端末装置である。データ送信装置17は、送信データを入力し、所定の送信レートにて送信データを、例えばイーサネット(登録商標)等の有線媒体を介して無線LANアクセスポイント18へ送信する。また、データ送信装置17は、無線LANアクセスポイント18から電界強度及び変調方式切替情報等を受信し、送信可能な最大レートを算出し、実施例1〜4と同様にして送信レートを求め、送信量調節バッファ114から出力する送信データの量を制御する。
無線LANアクセスポイント18は、無線LAN物理層13−5を含んでおり、具体的には、実施例1,2,4の無線LAN物理層13−1,13−2,13−4、または、実施例3の無線LAN物理層13−3及び仮想送信量カウント部14のうちのいずれかの実施例の構成部を備えている。この無線LANアクセスポイント18は、データ送信装置17から送信データを受信し、無線LANプロトコルにより受信装置2へ送信し、無線LAN用ACK等を受信する。また、無線LANアクセスポイント18は、電界強度を測定し、変調方式を決定する等の処理を行い、電界強度及び変調方式切替情報等をTCP拡張ヘッダ内等に記述し、有線媒体を介してデータ送信装置17へ送信する。
以上のように、実施例5の送信装置1−5によれば、無線LAN物理層13−5を、TCP/IP処理部11−5を含むデータ送信装置17の外部に設置した無線LANアクセスポイント18内に設けるようにした。この場合も、実施例1〜4と同様に、無線LAN物理層13−5内の送信バッファから送信データが溢れることがなく、送信データが破棄されることを防ぎ、TCP/IP処理部11−5による送信データの不要な再送を避けることができる。また、無線伝送路の伝送可能帯域を効率良く利用することでき、高速伝送を実現することが可能となる。