本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
図1は、この発明の実施の形態による無線ネットワークの概略図である。無線ネットワーク100は、無線装置1〜12を備える。無線装置1〜12は、無線通信空間に配置され、アドホックネットワークまたはメッシュネットワークを構成する。
無線装置1は、例えば、無線装置4,7,10を介して無線装置12との間でVoIPおよび映像等の無線通信を行なう。また、無線装置8は、無線装置4,6を介して無線装置2との間でVoIPおよび映像等の無線通信を行なう。その他の無線装置2〜7,9〜12も、同様にして、他の無線装置を介して送信先との間でVoIPおよび映像等の無線通信を行なう。従って、無線ネットワーク100は、マルチホップによって無線通信を行なう無線ネットワークである。
なお、図1においては、図示されていないが、各無線装置1〜12の配下に別の無線ネットワークが存在する。
図2は、図1に示す無線装置1の構成を示す概略ブロック図である。無線装置1は、アンテナ101と、無線インターフェースモジュール102と、MAC(Media Access Control)モジュール103と、LLC(Logical Link Control)モジュール104と、統合モジュール105と、IP(Internet Protocol)モジュール106と、ルーティングテーブル107と、通信モジュール108とを含む。
アンテナ101は、他の無線装置から無線通信空間を介してパケットを受信し、その受信したパケットを無線インターフェースモジュール102へ出力する。また、アンテナ101は、無線インターフェースモジュール102から受けたパケットを無線通信空間を介して他の無線装置へ送信する。
無線インターフェースモジュール102は、物理層に属する。そして、無線インターフェースモジュール102は、MACモジュール103から受けたパケットを所定の規定に従って変調し、その変調したパケットをアンテナ101へ出力する。また、無線インターフェースモジュール102は、アンテナ101から受けたパケットを所定の規定に従って復調し、その復調したパケットをMACモジュール103へ出力する。
MACモジュール103は、データリンク層に属し、MACプロトコルを実行して、パケットの再送制御等を行なう。また、MACモジュール103は、各無線装置1〜12のMACアドレスとIPアドレスとの対応表であるARP(Address Resolution Protocol)テーブル(図示せず)を保持している。そして、MACモジュール103は、他の無線装置から受信したパケットのMACヘッダから送信元のMACアドレスを検出し、その検出したMACアドレスをARPテーブルを参照してIPアドレスに変換する。そうすると、MACモジュール103は、その変換したIPアドレスおよびIPパケットを統合モジュール105へ出力する。
LLCモジュール104は、データリンク層に属し、LLCプロトコルを実行して隣接する無線装置との間でリンクの接続および解放を行なう。
統合モジュール105は、データリンク層およびインターネット層に設けられた中間層(2.5層)に属する。そして、統合モジュール105は、後述する方法によって、IPモジュール106からのIPパケットを統合し、その統合した統合パケットをLLCモジュール104およびMACモジュール103等を介して送信する。
また、統合モジュール105は、他の無線装置から受信した統合パケットをMACモジュール103およびLLCモジュール104等を介して受け、その受けた統合パケットを後述する方法によって分解・復号する。そして、統合モジュール105は、その分解・復号したパケットをIPモジュール106へ出力し、または後述する方法によって転送し、または破棄する。
IPモジュール106は、インターネット層に属し、IPパケットを生成する。IPパケットは、IPヘッダと、上位のプロトコルのパケットを格納するためのIPデータ部とからなる。そして、IPモジュール106は、通信モジュール108からTCPパケットまたはUDP(User Datagram Protocol)パケットを受けると、その受けたTCPパケットまたはUDPパケットをIPデータ部に格納してIPパケットを生成する。
そうすると、IPモジュール106は、所定のルーティングプロトコルに従ってルーティングテーブル107を検索し、生成したIPパケットを送信するための経路を決定する。そして、IPモジュール106は、IPパケットを統合モジュール105へ出力し、決定した経路に沿ってIPパケットを送信先へ送信する。
ルーティングテーブル107は、インターネット層に属し、各送信先に対応付けて経路情報を格納する。
通信モジュール108は、トランスポート層およびプロセス/アプリケーション層からなる上位層に属し、各種のモジュールおよびアプリケーションからなる。そして、通信モジュール108は、データに基づいてTCPパケットまたはUDPパケットを生成し、その生成したTCPパケットまたはUDPパケットをIPモジュール106へ出力する。また、通信モジュール108は、テーブル駆動型またはオンデマンド型の公知のルーティングプロトコルに従ってルーティングテーブル107をインターネット層に作成する。
なお、図1に示す無線装置2〜12の各々は、図2に示す無線装置1の構成と同じ構成からなる。
図3は、図2に示す統合モジュール105の構成を示す概略ブロック図である。統合モジュール105は、分配手段1050と、キュー1051〜105j(jは2以上の整数)と、パケット統合手段1060と、記憶手段1061と、分解復号手段1062と、転送手段1063とを含む。
分配手段1050は、IPモジュール106または転送手段1063からパケットを受け、その受けたパケットの宛先を検出するとともに、その検出した宛先に対応して設けられたキュー(キュー1051〜105jのいずれか)にパケットを格納する。
キュー1051〜105jは、パケットの各送信先に対応して設けられ、分配手段1050によって分配されたパケットを格納する。
パケット統合手段1060は、キュー1051〜105jに格納されたパケットの個数を検出し、その検出結果に基づいて、後述する方法によって、パケットを統合する。そして、パケット統合手段1060は、その統合した統合本体部を分解および/または復号するための分解復号情報と、統合本体部の生成に用いたパケットとを記憶手段1061へ記憶するとともに、分解復号情報に基づいて、2.5層ヘッダを生成し、その生成した2.5層ヘッダを統合本体部に付加して統合パケットを生成する。その後、パケット統合手段1060は、統合パケットをLLCモジュール104およびMACモジュール103等を介して送信する。
記憶手段1061は、統合パケットを分解および/または復号するための分解復号情報と、統合本体部の生成に用いたパケットとをパケット統合手段1060から受けて記憶する。
分解復号手段1062は、MACモジュール103およびLLCモジュール104等を介して無線インターフェースモジュール102から統合パケットを受ける。また、分解復号手段1062は、統合パケットを分解および/または復号するための分解復号情報と、統合パケットの生成に用いたパケットとを記憶手段1061から読み出す。そして、分解復号手段1062は、統合パケットの2.5層ヘッダと、統合パケットを分解および/または復号するための分解復号情報と、統合パケットの生成に用いたパケットとに基づいて、後述する方法によって、統合パケットの統合本体部を分解および/または復号し、その分解および/または復号した本体部をパケットとして転送手段1063へ出力する。
転送手段1063は、パケットを分解復号手段1062から受け、その受けたパケットの送信元のMACアドレスに対応するIPアドレスをMACモジュール103から受ける。また、転送手段1063は、パケットの送信先のIPアドレスを検出する。
そうすると、転送手段1063は、パケットの送信先のIPアドレスが無線装置1のIPアドレスである場合、パケットをIPモジュール106へ出力する。
また、転送手段1063は、無線装置1が次に送信すべき無線装置のIPアドレスがパケットの送信元のIPアドレスに一致する場合、2重配信を回避するためにパケットを破棄する。
更に、転送手段1063は、パケットの送信先のIPアドレスが無線装置1のIPアドレスではなく、かつ、無線装置1が次に送信すべき無線装置のIPアドレスがパケットの送信元のIPアドレスに一致しない場合、パケットを分配手段1050へ出力してパケットを転送する。
図4は、図3に示すキュー1051〜105jの詳細図である。無線ネットワーク100においては、無線装置6は、無線装置3,4,7〜9が自己を介して行なう無線通信を中継する。従って、無線装置6の統合モジュール105は、無線装置3,4,7〜9宛てのパケットを格納するための5個のキュー1051〜1055を持つ。
この場合、キュー1051〜1055は、それぞれ、無線装置3,4,7〜9宛てのパケットを格納するキューであるとする。
キュー1051は、無線装置3宛てのパケットを全て格納するため、無線装置4,7〜9から送信されたパケットを格納するためのキュー21,23〜25と、無線装置6において生成されたパケットを格納するためのキュー22とからなる。キュー21は、無線装置4から送信されたパケットを格納するキューであり、キュー22は、自発のパケットを格納するキューであり、キュー23は、無線装置7から送信されたパケットを格納するキューである。また、キュー24は、無線装置8から送信されたパケットを格納するキューであり、キュー25は、無線装置9から送信されたパケットを格納するキューである。
なお、自発のパケットとは、この発明の実施の形態においては、無線装置6において生成されたパケットまたは無線装置6の配下の無線ネットワークにおいて生成されたパケットからなるものとする。また、無線装置4,7〜9から送信されたパケットとは、それぞれ、無線装置4,7〜9において生成されたパケットではなく、無線装置4,7〜9が他の無線装置から受信したパケットを無線装置6へ送信したパケットである。
また、キュー1052は、無線装置4宛てのパケットを全て格納するため、無線装置3,7〜9から送信されたパケットを格納するためのキュー26,28〜30と、無線装置6において生成されたパケットを格納するためのキュー27とからなる。キュー26〜30は、それぞれ、無線装置3から送信されたパケット、自発のパケット、無線装置7から送信されたパケット、無線装置8から送信されたパケット、および無線装置9から送信されたパケットを格納するキューである。
更に、キュー1053は、無線装置7宛てのパケットを全て格納するため、無線装置3,4,8,9から送信されたパケットを格納するためのキュー31,32,34,35と、無線装置6において生成されたパケットを格納するためのキュー33とからなる。キュー31〜35は、それぞれ、無線装置3から送信されたパケット、無線装置4から送信されたパケット、自発のパケット、無線装置8から送信されたパケット、および無線装置9から送信されたパケットを格納するキューである。
更に、キュー1054は、無線装置8宛てのパケットを全て格納するため、無線装置3,4,7,9から送信されたパケットを格納するためのキュー36,37,39,40と、無線装置6において生成されたパケットを格納するためのキュー38とからなる。キュー36〜40は、それぞれ、無線装置3から送信されたパケット、無線装置4から送信されたパケット、自発のパケット、無線装置7から送信されたパケット、および無線装置9から送信されたパケットを格納するキューである。
更に、キュー1055は、無線装置9宛てのパケットを全て格納するため、無線装置3,4,7,8から送信されたパケットを格納するためのキュー41,42,44,45と、無線装置6において生成されたパケットを格納するためのキュー43とからなる。キュー41〜45は、それぞれ、無線装置3から送信されたパケット、無線装置4から送信されたパケット、自発のパケット、無線装置7から送信されたパケット、および無線装置8から送信されたパケットを格納するキューである。
このように、無線装置6の統合モジュール105は、無線装置6を経由する無線通信経路において無線装置6に隣接する無線装置3,4,7〜9を1ホップ前または次ホップとした場合に、無線装置6、1ホップ前および次ホップに対応して設けられた個数のキューを有する。従って、無線装置6の統合モジュール105は、Q=(自端末+1ホップ前となる隣接無線装置数)×(次ホップとなる無線無線装置数)=(1+4)×5=25個のキュー21〜45を有する。
無線装置1〜5,7〜12の各々も、無線装置6と同様にして、Q個=(自端末+1ホップ前となる隣接無線装置数)×(次ホップとなる無線無線装置数)のキューを有する。
図5は、パケットの構成図である。パケットPKTは、MACヘッダ部と、2.5層ヘッダと、データ部と、FCS(Frame Check Sequence)とからなる。MACヘッダ部は、パケットの制御情報が格納される。2.5層ヘッダは、統合した統合パケットを分解および/または復号するための分解復号情報が格納される。データ部は、IPパケットが格納される。FCSは、フレームのヘッダ部とデータ部に誤りがないかどうかを検出するための値である。
MACヘッダ部は、フレーム制御部と、デュレーション/IDと、アドレス1〜4と、シーケンス制御部とからなる。フレーム制御部は、MACフレームの制御情報が格納される。デュレーションは、無線回線を使用する予定時間(μs)である。
アドレス1は、隣接する2つの無線装置間においてパケットPKTを送信する場合の送信先のMACアドレスが格納される。アドレス2は、隣接する2つの無線装置間においてパケットを送信する場合の送信元のMACアドレスが格納される。アドレス3は、無線ネットワーク100が属するセルのIDが格納される。アドレス4は、最終的な送信先のIPアドレスが格納される。
シーケンス制御部は、MACフレームのシーケンス番号とフラグメントのためのフラグメント番号とを示す。
フレーム制御部は、プロトコル/バージョンと、タイプと、サブタイプと、To DSと、From DSと、More Fragと、Retryと、PM(Power Management)と、WEPと、Orderとからなる。
プロトコル/バージョンは、IEEE802.11のMACプロトコルのバージョンを示し、通常、“0”に固定される。タイプおよびサブタイプは、フレームタイプを示す。To DSは、アドレス4の領域がパケットPKTに設けられているか否かを示し、アドレス4の領域がパケットPKTに設けられるとき、“1”が設定され、アドレス4の領域がパケットPKTに設けられないとき、“0”が設定される。From DSは、パケットPKTが転送されたパケットであるか否かを示し、パケットPKTが転送されたパケットであるとき、“1”が設定され、パケットPKTが転送されたパケットでないとき、“0”が設定される。More Fragは、MAC層よりも上位層のパケットを複数に分割して送信する特別の場合に用いられ、“1”が格納された場合、当該フレームに後続するフレームが存在することを示す。Retryは、再送フレームか否かを示し、“1”が格納された場合、再送フレームであることを示す。PMは、送信局のモードが省電力モードか否かを示す。WEPは、暗号化の有無を示す。Orderは、ストリクトリ・オーダード・サービス・クラス(中継順序を入れ替えてはならないサービス・クラス)であるか否かを示す。
なお、パケットPKTにおいては、データ部およびFCSは、パケットPKTの本体部BODYを構成する。
図6は、図5に示す2.5層ヘッダの構成を示す概略図である。2.5層ヘッダHEDは、統合種別、統合数、パケットID_1、サイズ_1、パケットID_2、およびサイズ_2、・・・を含む。パケットID_1、パケットID_2、・・・の各々は、(Src IP+Seq)Hash値からなる。Src IPは、パケットの送信元のIPアドレスであり、Seqは、パケットのシーケンス番号である。そして、(Src IP+Seq)Hash値は、パケットの送信元のIPアドレスおよびシーケンス番号のハッシュ値を表す。
統合種別は、この発明によるパケットの統合の種類を示す。統合数は、この発明による統合方法によって統合されたパケットの個数を示す。
パケットID_1およびパケットID_2の各々は、この発明による論理統合によって統合された統合パケットを復号するために必要な情報である。
サイズ_1およびサイズ_2の各々は、この発明による連結統合によって統合された統合パケットを分解するために必要な情報である。
そして、論理統合および連結統合の両方が用いられた場合、または論理統合のみが用いられた場合、パケットID_1およびサイズ_1は、統合パケットを分解および復号するために必要な1つの分解・復号情報を構成し、パケットID_2およびサイズ_2は、統合パケットを分解および復号するために必要な別の分解・復号情報を構成する。
また、連結統合のみが用いられた場合、パケットID_1,パケットID_2,・・・の各々は、“−1”からなる。
サイズ_1、サイズ_2、・・・の各々は、統合前のパケットのサイズが格納される。
パケットID_1;サイズ_1、パケットID_2;サイズ_2、・・・の個数は、統合されたパケットの個数、即ち、統合数に等しい。従って、統合されたパケットの個数が2個であれば、パケットID_1;サイズ_1、およびパケットID_2;サイズ_2が2.5層ヘッダHEDに含まれ、統合されたパケットの個数が4個であれば、パケットID_1;サイズ_1、パケットID_2;パケットID_3;サイズ_3、およびパケットID_4;サイズ_4が2.5層ヘッダHEDに含まれる。
統合種別および統合数の各々は、1バイトの長さを有し、パケットIDは、4バイトの長さを有し、サイズは、2バイトの長さを有する。その結果、2.5層ヘッダHEDは、2+6×パケット数(バイト)の長さを有する。
このように、2.5層ヘッダHEDは、統合されたパケットの個数によって長さが決定される可変長のヘッダである。そして、この2.5層ヘッダHEDは、論理統合によって統合された統合パケットおよび連結統合によって統合された統合パケットに対して共通に付加されるヘッダである。従って、この発明の実施の形態においては、論理統合のみによって統合された統合パケットと、連結統合のみによって統合された統合パケットと、論理統合および連結統合の両方を用いて統合された統合パケットとに対して、同じフォーマットの2.5層ヘッダHEDが付加される。
この発明による論理統合とは、図5に示すパケットPKTのフォーマットにおいて、2つのパケットPKTの2つの本体部BODY(各本体部BODYは、IPパケットの全体を含む)の排他的論理和を演算して統合された統合本体部を生成することを言う。また、この発明による連結統合とは、2つのパケットPKTを連結して統合された統合本体部を生成することを言う。
図7は、この発明による論理統合および連結統合を説明するための無線通信経路の概念図である。
論理統合は、パケットPKTの送信元および送信先が同一の無線装置である場合に行なわれるので、無線装置3−無線装置6−無線装置8からなる無線通信経路を例にして無線装置6における論理統合および/または連結統合によるパケットの統合と、統合された統合パケットの復号および/または分解とについて説明する。図8は、キューの第1の具体例を示す図である。
(1)片方のキューに1個のパケットが格納されている場合
無線装置6が無線装置3と無線装置8との間の無線通信に関与する場合、無線装置6のパケット統合手段1060は、キュー1051を構成するキュー22,24に格納されたパケットと、キュー1054を構成するキュー36,38に格納されたパケットとに基づいて、パケットを統合する。従って、図8においては、キュー1051を構成するキュー22,24と、キュー1054を構成するキュー36,38とを示している。
(i)自発パケットが無い場合
無線装置6の分配手段1050は、無線装置8から送信された無線装置3宛てのパケットPKT1を転送手段1063から受け、その受けたパケットPKT1のパケットサイズL1(=200バイト)を検出する。この場合、キュー24は、最初、空であるものとする。
そして、無線装置6の分配手段1050は、パケットPKT1をキュー24内のパケットと連結統合した場合のパケットサイズを確認する。キュー24は、最初、空であるので、無線装置6の分配手段1050は、パケットPKT1とキュー24内のパケットとを連結統合したときのパケットサイズL1を演算し、その演算したパケットサイズL1がしきい値MTU(Maximum Transmission Unit)1=1500バイトを超えるか否かを判定する。なお、分配手段1050は、しきい値MTU1を予め保持している。また、しきい値MTU1=1500バイトは、IPフレームの最大サイズである。但し、しきい値MTU1=1500バイトは、例示であり、他の値であってもよい。
このように、無線装置6の分配手段1050は、パケットPKT1をキュー24に格納する前にIPフレームの最大サイズからなるしきい値MTU1を用いてパケットPKT1をキュー24に格納するか否かを判定する。
パケットサイズL1は、200バイトであるので、無線装置6の分配手段1050は、連結統合後のパケットサイズL1がしきい値MTU1以下であると判定し、パケットPKT1をキュー24に格納する(図8の(a)参照)。
そして、無線装置6のパケット統合手段1060は、無線装置8から送信された無線装置3宛てのパケットが格納されるキュー24と、無線装置3から送信された無線装置8宛てのパケットが格納されるキュー36とを対象とし、キュー24のみに1個のパケットPKT1が格納されていることを検知する。即ち、無線装置6のパケット統合手段1060は、キュー24,36のうち、片方のキュー24に1個のパケットPKT1が格納されていることを検知する。
その後、無線装置6のパケット統合手段1060は、無線装置6において生成された無線装置3宛てのパケットが格納されるキュー22にパケットが格納されていないことを検知する。即ち、無線装置6のパケット統合手段1060は、無線装置3宛ての自発パケットがないことを検知する(図8の(a)参照)。
そうすると、無線装置6のパケット統合手段1060は、キュー24からパケットPKT1を取り出し、その取り出したパケットPKT1をそのままMACモジュール103等を介して送信する。
即ち、無線装置6のパケット統合手段1060は、キュー24,36のうち、片方のキュー24に1個のパケットPKT1が格納されており、かつ、宛先がパケットPKT1と同じである自発パケットが無い場合、パケットPKT1を統合せずに送信する。
この場合、図5に示す2.5層ヘッダHEDは、付加されない。従って、パケットPKT1を受信した無線装置3は、パケットPKT1が統合パケットでないことを検知でき、通常の受信処理を行なう。
(ii)自発パケットが有る場合
無線装置6の分配手段1050は、無線装置8から送信された無線装置3宛てのパケットPKT1を転送手段1063から受けると、図8の(a)に示す場合と同じ方法によって、パケットPKT1をキュー24に格納する。また、無線装置6の分配手段1050は、無線装置3宛ての自発パケットPKT2をIPモジュール106から受けると、その受けた自発パケットPKT2をキュー22に格納する(図8の(b)参照)。
そして、無線装置6のパケット統合手段1060は、キュー24,36のうち、片方のキュー24に1個のパケットPKT1が格納されていることを検知した後に、宛先がパケットPKT1と同じである自発パケットPKT2がキュー22に存在することを検知し(図8の(b)参照)、キュー24,22からそれぞれパケットPKT1,PKT2を取り出す。その後、無線装置6のパケット統合手段1060は、その取り出したパケットPKT1,PKT2のパケットサイズL1,L2を検出し、パケットPKT1とパケットPKT2とを連結統合した後の統合本体部BODY_INTEG1=PKT1+PKT2のパケットサイズLINTEG1(=L1+L2)を演算する。
そうすると、無線装置6のパケット統合手段1060は、その演算したパケットサイズLINTEG1がしきい値MTU2=2312バイトを超えるか否かを判定する。なお、パケット統合手段1060は、しきい値MTU2を予め保持している。また、しきい値MTU2=2312バイトは、IPフレームの最大サイズよりも大きいMACフレームの最大サイズである。但し、しきい値MTU2=2312バイトは、例示であり、他の値であってもよい。
このように、無線装置6のパケット統合手段1060は、自発パケットを連結統合の対象とするとき、MACフレームの最大サイズからなるしきい値MTU2を用いてパケットを連結統合するか否かを判定する。
パケットサイズLINTEG1がしきい値MTU2を超える場合、無線装置6のパケット統合手段1060は、キュー24からパケットPKT1を取り出し、その取り出したパケットPKT1をそのままMACモジュール103等を介して送信する。即ち、無線装置6のパケット統合手段1060は、パケットPKT1に対して通常の送信を実行する。
この場合も、図5に示す2.5層ヘッダHEDは、付加されない。従って、パケットPKT1を受信した無線装置3は、パケットPKT1が統合パケットでないことを検知でき、通常の受信処理を行なう。
一方、パケットサイズLINTEG1がしきい値MTU2以下である場合、無線装置6のパケット統合手段1060は、統合数=2を記憶手段1061に記録するとともに、統合順にパケットサイズL1,L2を記憶手段1061に記録する。
この場合、無線装置6のパケット統合手段1060は、パケットPKT1,PKT2をパケットPKT1およびパケットPKT2の順で連結統合するのであれば、パケットサイズL1およびパケットサイズL2の順からなるパケットサイズ[L1,L2]を記憶手段1061に記録する。また、無線装置6のパケット統合手段1060は、パケットPKT1,PKT2をパケットPKT2およびパケットPKT1の順で連結統合するのであれば、パケットサイズL2およびパケットサイズL1の順からなるパケットサイズ[L2,L1]を記憶手段1061に記録する。
無線装置6のパケット統合手段1060は、統合数およびパケットサイズを記憶手段1061に記録すると、パケットPKT1とパケットPKT2とを連結して統合本体部BODY_INTEG1=PKT1+PKT2を生成する。
そして、無線装置6のパケット統合手段1060は、連結統合のみからなる統合種別と、“2”からなる統合数と、“−1”からなるパケットID_1と、L1からなるサイズ_1と、“−1”からなるパケットID_2と、L2からなるサイズ_2とを格納して2.5層ヘッダHED1=[連結統合/2/−1/L1/−1/L2]を作成する。
そうすると、無線装置6のパケット統合手段1060は、2.5層ヘッダHED1=[連結統合/2/−1/L1/−1/L2]を統合本体部BODY_INTEG1に付加して統合パケットPKT_INTEG1=[連結統合/2/−1/L1/−1/L2/BODY_INTEG1]を生成し、その生成した統合パケットPKT_INTEG1=[連結統合/2/−1/L1/−1/L2/BODY_INTEG1]をMACモジュール103等を介して送信する。
無線装置3の分解復号手段1062は、無線装置6から送信されたパケットPKT1をMACモジュール103等を介して受けると、パケットPKT1が2.5層ヘッダHEDを含んでいないので、パケットPKT1が統合パケットでないことを検知し、パケットPKT1に対して分解・復号処理を行なわずにパケットPKT1を転送手段1063へ出力する。
一方、無線装置3の分解復号手段1062は、無線装置6から送信された統合パケットPKT_INTEG1=[連結統合/2/−1/L1/−1/L2/BODY_INTEG1]をMACモジュール103等を介して受けると、統合パケットPKT_INTEG1の2.5層ヘッダHED1=[連結統合/2/−1/L1/−1/L2]の“連結統合”を参照して統合パケットPKT_INTEG1が連結統合のみからなることを検知するとともに、統合数=2を参照して統合数が“2”であることを検知する。
そして、無線装置3の分解復号手段1062は、2.5層ヘッダHED1の1個目のパケットサイズL1を読み出し、その読み出したパケットサイズL1に基づいて、統合パケットPKT_INTEG1の統合本体部BODY_INTEG1の先頭からパケットサイズL1分のデータを取り出す。
その後、無線装置3の分解復号手段1062は、2.5層ヘッダHED1の2個目のパケットサイズL2を読み出し、その読み出したパケットサイズL2に基づいて、パケットサイズL1分のデータを除いた統合本体部BODY_INTEG1の先頭からパケットサイズL2分のデータを取り出す。
これによって、統合本体部BODY_INTEG1は、パケットPKT1とパケットPKT2とに分解される。
そして、無線装置3の分解復号手段1062は、パケットPKT1,PKT2を転送手段1063へ出力する。
なお、自発パケットがキュー38に格納されている場合、自発パケットの宛先と、パケットPKT1の宛先とが異なるので、無線装置6のパケット統合手段1060は、キュー38に格納された自発パケットを連結統合の対象から除外する。
また、上記においては、キュー24,36のうち、キュー24に1個のパケットPKTが格納されている場合について説明したが、キュー36に1個のパケットPKTが格納されている場合も、無線装置6のパケット統合手段1060は、上述した方法によって、パケットPKTに対して通常の送信を実行し、またはパケットPKTを連結統合のみによって統合して統合パケットを送信する。また、無線装置8の分解復号手段1062は、統合されていないパケットPKTを受けると、その受けたパケットPKTに対して分解・復号処理を行なわない。一方、無線装置8の分解復号手段1062は、統合パケットPKT_INTEGを受けると、上述した方法によって、統合パケットPKT_INTEGを分解する。
(2)片方のキューに2個以上のパケットが格納されている場合
図9は、キューの第2の具体例を示す図である。
(iii)自発パケットが無い場合
無線装置6の分配復号手段1062は、連結統合された統合パケットPKT1+PKT2+PKT3を無線装置8から受信すると、統合パケットPKT1+PKT2+PKT3を上述した方法によってパケットPKT1,PKT2,PKT3に分解する。この場合、パケットPKT1,PKT2,PKT3の各々は、200バイトのパケットサイズを有するものとする。また、キュー24は、最初、空であるものとする。
そして、無線装置6の分配復号手段1062は、パケットPKT1,PKT2,PKT3を転送手段1063へ出力し、転送手段1063は、パケットPKT1,PKT2,PKT3の宛先が無線装置3であるので、パケットPKT1,PKT2,PKT3を分配手段1050へ出力する。
無線装置6の分配手段1050は、転送手段1063からパケットPKT1,PKT2,PKT3を受け、パケットPKT1,PKT2,PKT3のパケットサイズL1,L2,L3を検出する。
そして、無線装置6の分配手段1050は、パケットPKT1をキュー24内のパケットと連結統合した場合のパケットサイズを確認する。キュー24は、最初、空であるので、無線装置6の分配手段1050は、パケットPKT1とキュー24内のパケットとを連結統合したときのパケットサイズをL1と演算し、その演算したパケットサイズL1がしきい値MTU1=1500バイトを超えるか否かを判定する。
パケットサイズL1は、200バイトであるので、無線装置6の分配手段1050は、連結統合後のパケットサイズL1がしきい値MTU1以下であると判定し、パケットPKT1をキュー24に格納する。
その後、無線装置6の分配手段1050は、パケットPKT2とキュー24内のパケットPKT1とを連結統合したときのパケットサイズL1+L2を演算し、その演算したパケットサイズL1+L2がしきい値MTU1=1500バイトを超えるか否かを判定する。
パケットサイズL1+L2=400バイトであるので、無線装置6の分配手段1050は、パケットサイズL1+L2がしきい値MTU2=1500バイト以下であると判定し、パケットPKT2をキュー24に格納する。
引き続き、無線装置6の分配手段1050は、パケットPKT3とキュー24内のパケットPKT1,PKT2とを連結統合したときのパケットサイズL1+L2+L3を演算し、その演算したパケットサイズL1+L2+L3がしきい値MTU1=1500バイトを超えるか否かを判定する。
パケットサイズL1+L2+L3=600バイトであるので、無線装置6の分配手段1050は、パケットサイズL1+L2+L3がしきい値MTU1=1500バイト以下であると判定し、パケットPKT3をキュー24に格納する(図9の(a)参照)。
そうすると、無線装置6のパケット統合手段1060は、キュー24,36のうち、キュー24のみに3個のパケットPKT1〜PKT3が格納されていることを検知する。即ち、無線装置6のパケット統合手段1060は、キュー24,36のうち、片方のキュー24に2個以上のパケットPKT1〜PKT3が格納されていることを検知する。
その後、無線装置6のパケット統合手段1060は、無線装置6において生成された無線装置3宛てのパケットが格納されるキュー22にパケットが格納されていないことを検知する。即ち、無線装置6のパケット統合手段1060は、宛先がパケットPKT1〜PKT3と同じである自発パケットがないことを検知する(図9の(a)参照)。
そうすると、無線装置6のパケット統合手段1060は、キュー24から3個のパケットPKT1〜PKT3を取り出し、その取り出したパケットPKT1〜PKT3のパケットサイズL1〜L3を検出する。
そして、無線装置6のパケット統合手段1060は、統合数=3を記憶手段1061に記録するとともに、統合順にパケットサイズL1,L2,L3を記憶手段1061に記録する。この場合も、パケットサイズL1,L2,L3の記憶手段1061への記録順は、パケットPKT1〜PKT3の連結順によって決定される。
その後、無線装置6のパケット統合手段1060は、パケットPKT1と、パケットPKT2と、パケットPKT3とを連結統合によって統合し、統合本体部BODY_INTEG2=PKT1+PKT2+PKT3を生成する。
引き続き、無線装置6のパケット統合手段1060は、連結統合のみからなる統合種別と、“3”からなる統合数と、“−1”からなるパケットID_1と、L1からなるサイズ_1と、“−1”からなるパケットID_2と、L2からなるサイズ_2と、“−1”からなるパケットID_3と、L3からなるサイズ_3とを格納して2.5層ヘッダHED2=[連結統合/3/−1/L1/−1/L2/−1/L3]を作成する。
そうすると、無線装置6のパケット統合手段1060は、2.5層ヘッダHED2=[連結統合/3/−1/L1/−1/L2/−1/L3]を統合本体部BODY_INTEG2=PKT1+PKT2+PKT3に付加して統合パケットPKT_INTEG2=[連結統合/3/−1/L1/−1/L2/−1/L3/BODY_INTEG2]を生成し、その生成した統合パケットPKT_INTEG2=[連結統合/3/−1/L1/−1/L2/−1/L3/BODY_INTEG2]をMACモジュール103等を介して送信する。
無線装置3の分解復号手段1062は、無線装置6から送信された統合パケットPKT_INTEG2=[連結統合/3/−1/L1/−1/L2/−1/L3/BODY_INTEG2]をMACモジュール103等を介して受けると、統合パケットPKT_INTEG2の2.5層ヘッダHED2=[連結統合/3/−1/L1/−1/L2/−1/L3]の“連結統合”を参照して統合パケットPKT_INTEG2が連結統合のみによって統合されたことを検知するとともに、統合数=3を参照して統合数が“3”であることを検知する。
そして、無線装置3の分解復号手段1062は、2.5層ヘッダHED2の1個目のパケットサイズL1を読み出し、その読み出したパケットサイズL1に基づいて、統合パケットPKT_INTEG2の統合本体部BODY_INTEG2の先頭からパケットサイズL1分のデータを取り出す。
その後、無線装置3の分解復号手段1062は、2.5層ヘッダHED2の2個目のパケットサイズL2を読み出し、その読み出したパケットサイズL2に基づいて、パケットサイズL1分のデータを除いた統合本体部BODY_INTEG2の先頭からパケットサイズL2分のデータを取り出す。
更に、無線装置3の分解復号手段1062は、2.5層ヘッダHED2の3個目のパケットサイズL3を読み出し、その読み出したパケットサイズL3に基づいて、パケットサイズL1+L2分のデータを除いた統合本体部BODY_INTEG2の先頭からパケットサイズL3分のデータを取り出す。
これによって、統合本体部BODY_INTEG2は、パケットPKT1とパケットPKT2とパケットPKT3とに分解される。そして、無線装置3の分解復号手段1062は、パケットPKT1〜PKT3を転送手段1063へ出力する。
なお、パケットサイズL1+L2+L3がしきい値MTU1を超えていれば、無線装置6の分配手段1050は、パケットPKT3をキュー24に格納せず、パケット統合手段1060は、パケットPKT1,PKT2を上述した方法によって連結統合して送信し、タイマーをリセットする。その後、無線装置6の分配手段1050は、キュー24が空になると、パケットPKT3とキュー24内のパケットとを連結統合したときのパケットサイズL3=200バイトがしきい値MTU1=1500バイト以下になるので、パケットPKT3をキュー24に格納する。
そして、無線装置6のパケット統合手段1060は、タイマーが満了するまでに、パケットPKT3と連結統合するパケットがキュー24に格納されなければ、パケットPKT3に対して通常の送信を実行し、タイマーが満了するまでに、パケットPKT3と連結統合するパケットがキュー24に格納されれば、上述した方法によって連結統合によって統合パケットを送信する。
無線装置3の分解復号手段1062は、連結統合された統合パケットPKT1+PKT2をMACモジュール103等を介して受けると、その受けた統合パケットPKT1+PKT2を上述した方法によってパケットPKT1とパケットPKT2とに分解し、その分解したパケットPKT1,PKT2を転送手段1063へ出力する。
また、無線装置3の分解復号手段1062は、パケットPKT3をMACモジュール103等を介して受けると、その受けた統合パケットPKT3を転送手段1063へ出力する。
(iv)自発パケットが有る場合
無線装置6の分解復号手段1062は、連結統合された統合パケットPKT1+PKT2+PKT3を無線装置8から受信すると、上述した方法によって、統合パケットPKT1+PKT2+PKT3をパケットPKT1,PKT2,PKT3に分解し、その分解したパケットPKT1,PKT2,PKT3を転送手段1063へ出力し、転送手段1063は、パケットPKT1,PKT2,PKT3の宛先が無線装置3であるので、パケットPKT1,PKT2,PKT3を分配手段1050へ出力する。そして、無線装置6の分配手段1050は、パケットPKT1,PKT2,PKT3を転送手段1063から受けると、その受けたパケットPKT1,PKT2,PKT3を図9の(a)に示す場合と同じ方法によってキュー24へ順次格納する。また、無線装置6の分配手段1050は、無線装置3宛ての自発パケットPKT4をIPモジュール106から受け、その受けた自発パケットPKT4をキュー22に格納する(図9の(b)参照)。
そして、無線装置6のパケット統合手段1060は、キュー24,36のうち、片方のキュー24に2個以上のパケットPKT1〜PKT3が格納されていることを検知した後に、宛先がパケットPKT1〜PKT3と同じである自発パケットPKT4がキュー22に存在することを検知し(図9の(b)参照)、キュー24からパケットPKT1〜PKT3を取り出すとともに、キュー22からパケットPKT4を取り出す。
その後、無線装置6のパケット統合手段1060は、その取り出したパケットPKT1〜PKT4のパケットサイズL1〜L4を検出し、パケットPKT1〜PKT4を連結統合した後の統合パケットのパケットサイズLINTEG2(=L1+L2+L3+L4)を演算する。
そうすると、無線装置6のパケット統合手段1060は、その演算したパケットサイズLINTEG2がしきい値MTU2を超えるか否かを判定する。
パケットサイズLINTEG2がしきい値MTU2を超える場合、無線装置6のパケット統合手段1060は、上述した(iii)自発パケットが無い場合と同様にしてパケットPKT1〜PKT3を連結統合によって統合して送信する。この場合、無線装置6のパケット統合手段1060は、自発パケットPKT4を通常の方法によって送信する。
そして、無線装置3の分解復号手段1062は、無線装置6から送信された統合パケットPKT_INTEG2を(iii)自発パケットが無い場合と同じ方法によって分解する。
一方、パケットサイズLINTEG2がしきい値MTU2以下である場合、無線装置6のパケット統合手段1060は、統合数=4を記憶手段1061に記録するとともに、統合順にパケットサイズL1,L2,L3,L4を記憶手段1061に記録する。この場合も、パケットサイズL1,L2,L3,L4の記憶手段1061への記録順は、パケットPKT1〜PKT4の連結順によって決定される。
その後、無線装置6のパケット統合手段1060は、パケットPKT1と、パケットPKT2と、パケットPKT3と、パケットPKT4とを連結統合によって統合し、統合本体部BODY_INTEG3=PKT1+PKT2+PKT3+PKT4を生成する。
引き続き、無線装置6のパケット統合手段1060は、連結統合のみからなる統合種別と、“4”からなる統合数と、“−1”からなるパケットID_1と、L1からなるサイズ_1と、“−1”からなるパケットID_2と、L2からなるサイズ_2と、“−1”からなるパケットID_3と、L3からなるサイズ_3と、“−1”からなるパケットID_4と、L4からなるサイズ_4とを格納して2.5層ヘッダHED3=[連結統合/4/−1/L1/−1/L2/−1/L3/−1/L4]を作成する。
そうすると、無線装置6のパケット統合手段1060は、2.5層ヘッダHED3=[連結統合/4/−1/L1/−1/L2/−1/L3/−1/L4]を統合本体部BODY_INTEG3=PKT1+PKT2+PKT3+PKT4に付加して統合パケットPKT_INTEG3=[連結統合/4/−1/L1/−1/L2/−1/L3/−1/L4/BODY_INTEG3]を生成し、その生成した統合パケットPKT_INTEG3=[連結統合/4/−1/L1/−1/L2/−1/L3/−1/L4/BODY_INTEG3]をMACモジュール103等を介して送信する。
無線装置3の分解復号手段1062は、無線装置6から送信された統合パケットPKT_INTEG3=[連結統合/4/−1/L1/−1/L2/−1/L3/−1/L4/BODY_INTEG3]をMACモジュール103等を介して受けると、統合パケットPKT_INTEG3の2.5層ヘッダHED3=[連結統合/4/−1/L1/−1/L2/−1/L3/−1/L4]の“連結統合”を参照して統合パケットPKT_INTEG3が連結統合のみによって統合されたことを検知するとともに、統合数=4を参照して統合数が“4”であることを検知する。
そして、無線装置3の分解復号手段1062は、2.5層ヘッダHED3の1個目のパケットサイズL1を読み出し、その読み出したパケットサイズL1に基づいて、統合パケットPKT_INTEG3の統合本体部BODY_INTEG3の先頭からパケットサイズL1分のデータを取り出す。
その後、無線装置3の分解復号手段1062は、2.5層ヘッダHED3の2個目のパケットサイズL2を読み出し、その読み出したパケットサイズL2に基づいて、パケットサイズL1分のデータを除いた統合本体部BODY_INTEG3の先頭からパケットサイズL2分のデータを取り出す。
更に、無線装置3の分解復号手段1062は、2.5層ヘッダHED3の3個目のパケットサイズL3を読み出し、その読み出したパケットサイズL3に基づいて、パケットサイズL1+L2分のデータを除いた統合本体部BODY_INTEG3の先頭からパケットサイズL3分のデータを取り出す。
更に、無線装置3の分解復号手段1062は、2.5層ヘッダHED3の4個目のパケットサイズL4を読み出し、その読み出したパケットサイズL4に基づいて、パケットサイズL1+L2+L3分のデータを除いた統合本体部BODY_INTEG3の先頭からパケットサイズL4分のデータを取り出す。
これによって、統合本体部BODY_INTEG3は、パケットPKT1とパケットPKT2とパケットPKT3とパケットPKT4とに分解される。そして、無線装置3の分解復号手段1062は、パケットPKT1〜PKT4を転送手段1063へ出力する。
なお、自発パケットがキュー38に格納されている場合、自発パケットの宛先と、パケットPKT1〜PKT3の宛先とが異なるので、無線装置6のパケット統合手段1060は、キュー38に格納された自発パケットを連結統合の対象から除外する。
また、上記においては、3個のパケットPKT1〜PKT3がキュー24に格納されている場合について説明したが、2個または4個以上のパケットがキュー24に格納されている場合も、無線装置6のパケット統合手段1060は、上述した方法によって、連結統合のみによって2個または4個以上のパケットPKTを統合して送信し、無線装置3の分解復号手段1062は、上述した方法によって、統合パケットを分解する。
更に、上記においては、キュー24,36のうち、キュー24に2個以上のパケットPKTが格納されている場合について説明したが、キュー36に2個以上のパケットPKTが格納されている場合も、無線装置6のパケット統合手段1060は、上述した方法によって、2個以上のパケットPKTを連結統合のみによって統合して統合パケットを送信する。また、無線装置8の分解復号手段1062は、統合パケットPKT_INTEGを受けると、上述した方法によって、統合パケットPKT_INTEGを分解する。
(3)双方のキューにパケットが1個ずつ格納されている場合
図10は、キューの第3の具体例を示す図である。
(v)自発パケットが無い場合
無線装置6の分配手段1050は、図8の(a)に示す場合と同じ方法によって、パケットPKT1をキュー24に格納し、パケットPKT2をキュー36に格納する(図10の(a)参照)。
そして、無線装置6のパケット統合手段1060は、キュー24,36の両方にパケットが1個ずつ格納されていることを検知し(図10の(a)参照)、キュー24,36からそれぞれパケットPKT1,PKT2を取り出す。
その後、無線装置6のパケット統合手段1060は、その取り出したパケットPKT1の送信元のIPアドレスIPadd_Src1と、シーケンス番号Seq1とを検出し、パケットPKT2の送信元のIPアドレスIPadd_Src2と、シーケンス番号Seq2とを検出する。
引き続いて、無線装置6のパケット統合手段1060は、IPアドレスIPadd_Src1およびシーケンス番号Seq1のハッシュ値を演算してパケットID(PKT_ID1)を求める。また、無線装置6のパケット統合手段1060は、IPアドレスIPadd_Src2およびシーケンス番号Seq2のハッシュ値を演算してパケットID(PKT_ID2)を求める。
更に、無線装置6のパケット統合手段1060は、パケットPKT1のパケットサイズL1と、パケットPKT2のパケットサイズL2とを検出する。
そうすると、無線装置6のパケット統合手段1060は、パケットID(PKT_ID1),パケットID(PKT_ID2)およびパケットサイズL1,L2を記憶手段1061に記録する。そして、無線装置6のパケット統合手段1060は、パケットPKT1の本体部BODY1とパケットPKT2の本体部BODY2との排他的論理和を演算して統合本体部BODY_INTEG4を生成する。
なお、パケットサイズL1,L2が相互に異なる場合、無線装置6のパケット統合手段1060は、パケットサイズL1,L2の短い方のパケットサイズを有するパケット(パケットPKT1,PKT2のいずれか)の本体部の足りない部分については、意味のない情報をパディングして本体部BODY1と本体部BODY2との排他的論理和を演算する。
その後、無線装置6のパケット統合手段1060は、パケットPKT1またはパケットPKT2と宛先が同じである自発パケットがキュー22,38に格納されていないことを確認する。
そして、無線装置6のパケット統合手段1060は、論理統合のみからなる統合種別と、“2”からなる統合数と、PKT_ID1からなるパケットID_1と、L1からなるサイズ_1と、PKT_ID2からなるパケットID_2と、L2からなるサイズ_2とを含む2.5層ヘッダHED4=[論理統合/2/PKT_ID1/L1/PKT_ID2/L2]を作成する。
そうすると、無線装置6のパケット統合手段1060は、2.5層ヘッダHED4=[論理統合/2/PKT_ID1/L1/PKT_ID2/L2]を統合本体部BODY_INTEG4に付加して統合パケットPKT_INTEG4=[論理統合/2/PKT_ID1/L1/PKT_ID2/L2/BODY_INTEG4]を生成し、その生成した統合パケットPKT_INTEG4=[論理統合/2/PKT_ID1/L1/PKT_ID2/L2/BODY_INTEG4]をMACモジュール103等を介して送信する。
無線装置3の分解復号手段1062は、無線装置6から送信された統合パケットPKT_INTEG4=[論理統合/2/PKT_ID1/L1/PKT_ID2/L2/BODY_INTEG4]をMACモジュール103等を介して受けると、統合パケットPKT_INTEG4の2.5層ヘッダHED4=[論理統合/2/PKT_ID1/L1/PKT_ID2/L2]に基づいて、統合数が“2”であることを検知する。また、無線装置3の分解復号手段1062は、2.5層ヘッダHED4=[論理統合/2/PKT_ID1/L1/PKT_ID2/L2]からパケットID(PKT_ID1)およびパケットID(PKT_ID2)を取り出す。
なお、無線装置3は、パケットPKT2を保持しているので、無線装置3の記憶手段1061は、パケットID(PKT_ID2)、パケットサイズL2およびパケットPKT2を記憶している。
従って、無線装置3の分解復号手段1062は、2.5層ヘッダHED4から取り出したパケットID(PKT_ID1),パケットID(PKT_ID2)に一致するパケットIDが記憶手段1061に記録されているかを検索する。まず、無線装置3の分解復号手段1062は、パケットID(PKT_ID1)に一致するパケットIDを記憶手段1061内で検索し、パケットID(PKT_ID1)に一致するパケットIDが記憶手段1061に記録されていないことを検知する。その後、無線装置3の分解復号手段1062は、パケットID(PKT_ID2)に一致するパケットIDが記憶手段1061に記録されていることを検知し、パケットID(PKT_ID2)によって特定されるパケットPKT2を用意する。
そうすると、無線装置3の分解復号手段1062は、パケットPKT2の本体部BODY2と、統合パケットPKT_INTEG4の統合本体部BODY_INTEG4との排他的論理和を演算し、パケットPKT1の本体部BODY1を復号する。この本体部BODY1は、無線装置3宛ての本体部である。そして、無線装置3の分解復号手段1062は、パケットPKT2を破棄する。また、無線装置3の分解復号手段1062は、本体部BODY1を転送手段1063へ出力する。
一方、無線装置8の分解復号手段1062も、無線装置3の分解復号手段1062と同じ方法によって、パケットPKT1の本体部BODY1と、統合パケットPKT_INTEG4の統合本体部BODY_INTEG4との排他的論理和を演算し、パケットPKT2の本体部BODY2を復号する。この本体部BODY2は、無線装置8宛ての本体部である。そして、無線装置8の分解復号手段1062は、パケットPKT1を破棄する。また、無線装置8の分解復号手段1062は、本体部BODY2を転送手段1063へ出力する。
(vi)自発パケットが有る場合
無線装置6の分配手段1050は、図8の(a)に示す場合と同じ方法によって、パケットPKT1をキュー24に格納し、パケットPKT2をキュー36に格納する。また、無線装置6の分配手段1050は、無線装置3宛ての自発パケットPKT3をIPモジュール106から受け、その受けた自発パケットPKT3をキュー22に格納する(図10の(b)参照)。
そして、無線装置6のパケット統合手段1060は、上述した(v)自発パケットが無い場合と同じ方法によって、統合本体部BODY_INTEG4を生成する。
その後、無線装置6のパケット統合手段1060は、対象となる宛先(無線装置3)の自発パケットPKT3がキュー22に格納されていることを検知する(図10の(b)参照)。
そして、無線装置6のパケット統合手段1060は、キュー22からパケットPKT3を取り出し、その取り出したパケットPKT3のパケットサイズL3を検出する。その後、無線装置6のパケット統合手段1060は、統合本体部BODY_INTEG4のパケットサイズLINTEG3(=パケットサイズL1,L2のうち、長い方のパケットサイズ)と、パケットサイズL3との和がしきい値MTU2を超えるか否かを判定する。
そして、統合本体部BODY_INTEG4のパケットサイズLINTEG3と、パケットサイズL3との和がしきい値MTU2を超える場合、無線装置6のパケット統合手段1060は、上述した(v)自発パケットが無い場合と同様にして統合パケットPKT_INTEGを生成し、その生成した統合パケットPKT_INTEGを送信する。
一方、統合本体部BODY_INTEG4のパケットサイズLINTEG3と、パケットサイズL3との和がしきい値MTU2以下である場合、無線装置6のパケット統合手段1060は、パケット数=2を記憶手段1061に記録するとともに、統合本体部BODY_INTEG4のパケットサイズLINTEG3と、パケットPKT3のパケットサイズL3とを記憶手段1061に順次記録する。
そして、無線装置6のパケット統合手段1060は、統合本体部BODY_INTEG4とパケットPKT3とを連結統合によって統合し、統合本体部BODY_INTEG5=BODY_INTEG4+PKT3を生成する。
その後、無線装置6のパケット統合手段1060は、論理統合後連結統合からなる統合種別と、パケット数=2に“1”を加算した“3”からなる統合数と、PKT_ID1からなるパケットID_1と、L1からなるサイズ_1と、PKT_ID2からなるパケットID_2と、L2からなるサイズ_2と、“−1”からなるパケットID_3と、パケットサイズLINTEG3からなるサイズ_3と、“−1”からなるパケットID_4と、パケットサイズL3からなるサイズ_4とを含む2.5層ヘッダHED5=[論理統合後連結統合/3/PKT_ID1/L1/PKT_ID2/L2/−1/LINTEG3/−1/L3]を生成する。
そうすると、無線装置6のパケット統合手段1060は、2.5層ヘッダHED5=[論理統合後連結統合/3/PKT_ID1/L1/PKT_ID2/L2/−1/LINTEG3/−1/L3]を統合本体部BODY_INTEG5=BODY_INTEG4+PKT3に付加して統合パケットPKT_INTEG5=[論理統合後連結統合/3/PKT_ID1/L1/PKT_ID2/L2/−1/LINTEG3/−1/L3/BODY_INTEG4+PKT3]を生成し、その生成した統合パケットPKT_INTEG5=[論理統合後連結統合/3/PKT_ID1/L1/PKT_ID2/L2/−1/LINTEG3/−1/L3/BODY_INTEG4+PKT3]を送信する。
無線装置3の分解復号手段1062は、無線装置6から送信された統合パケットPKT_INTEG5=[論理統合後連結統合/3/PKT_ID1/L1/PKT_ID2/L2/−1/LINTEG3/−1/L3/BODY_INTEG4+PKT3]をMACモジュール103等を介して受ける。
そして、無線装置3の分解復号手段1062は、統合パケットPKT_INTEG5の2.5層ヘッダHED5=[論理統合後連結統合/3/PKT_ID1/L1/PKT_ID2/L2/−1/LINTEG3/−1/L3]を参照して、結合数が“3”であることを確認する。
その後、無線装置3の分解復号手段1062は、2.5層ヘッダHED5から最後部のパケットサイズL3を読み出し、その読み出したパケットサイズL3分のデータを統合パケットPKT_INTEG5の統合本体部BODY_INTEG5の最後部から取り出す。
引き続き、無線装置3の分解復号手段1062は、2.5層ヘッダHED5の後部から2番目のパケットサイズLINTEG3を読み出し、その読み出したパケットサイズLINTEG3分のデータをパケットサイズL3分のデータを除去した統合本体部BODY_INTEG5の最後部から取り出す。
これによって、統合本体部BODY_INTEG5は、統合本体部BODY_INTEG4と、パケットPKT3とに分解される。
その後、無線装置3の分解復号手段1062は、2.5層ヘッダHED5からパケットID(PKT_ID1)、パケットID(PKT_ID2)、パケットID(=−1)およびパケットID(=−1)を順次取り出す。
そして、無線装置3の分解復号手段1062は、パケットID(PKT_ID1)に一致するパケットIDを記憶手段1061内で検索し、パケットID(PKT_ID1)に一致するパケットIDが記憶手段1061に記録されていないことを検知する。
そうすると、無線装置3の分解復号手段1062は、次に、パケットID(PKT_ID2)に一致するパケットIDを記憶手段1061内で検索し、パケットID(PKT_ID2)に一致するパケットIDが記憶手段1061に記録されていることを確認する。
そして、無線装置3の分解復号手段1062は、パケットID(PKT_ID2)によって特定されるパケットPKT2を用意し、統合本体部BODY_INTEG4と、パケットPKT2の本体部BODY2との排他的論理和を演算し、パケットPKT1の本体部BODY1を復号する。そして、無線装置3の分解復号手段1062は、用意したパケットPKT2を破棄する。また、無線装置3の分解復号手段1062は、本体部BODY1を転送手段1063へ出力する。
その後、パケットID(=−1)およびパケットID(=−1)は、連結統合されたことを示すので、無線装置3の分解復号手段1062は、復号処理を行なわない。
その結果、無線装置3の分解復号手段1062は、パケットPKT1,PKT3を取得する。
無線装置8の分解復号手段1062も、無線装置3の分解復号手段1062と同じ方法によって統合本体部BODY_INTEG5を分解および復号し、パケットPKT2,PKT3を取得する。なお、無線装置8の分解復号手段1062は、パケットPKT3が無線装置8宛てのパケットではないので、パケットPKT3を破棄する。また、無線装置8の分解復号手段1062は、本体部BODY2を転送手段1063へ出力する。
なお、上記においては、自発パケットがキュー22に格納されている場合について説明したが、自発パケットがキュー38に格納されている場合も、上述した方法によって、パケットが論理統合および連結統合によって統合されて送信されるとともに、統合パケットが上述した方法によって分解および復号される。
上述したように、論理統合後連結統合によってパケットを統合することによって、統合できるパケット数を増やすことができるので、オーバーヘッドの削減効果を向上できる。
(4)双方のキューにパケットが格納されており、片方のキューに複数のパケットが格納されている場合
図11は、キューの第4の具体例を示す図である。
(vii)自発パケットが無い場合
無線装置6の分配手段1050は、図9の(a)に示す場合と同じ方法によって、無線装置3から送信された無線装置8宛てのパケットPKT2〜PKT4のパケットサイズL2〜L4を検出し、その検出したパケットサイズL2〜L4をしきい値MTU1と比較してパケットPKT2,PKT3,PKT4をキュー36に順次格納する。また、無線装置6の分配手段1050は、図8の(a)に示す場合と同じ方法によって、無線装置8から送信された無線装置3宛てのパケットPKT1をキュー24に格納する(図11の(a)参照)。
そうすると、無線装置6のパケット統合手段1060は、キュー24,36の両方にパケットが格納されており、キュー24,36の片方のキュー36に複数のパケットPKT2〜PKT4が格納されていることを検知し(図11の(a)参照)、キュー24からパケットPKT1を取り出すとともに、キュー36からパケットPKT2〜PKT4を取り出す。
そして、無線装置6のパケット統合手段1060は、その取り出したパケットPKT2の送信元のIPアドレスIPadd_Src2と、シーケンス番号Seq2とを検出し、パケットPKT3の送信元のIPアドレスIPadd_Src3と、シーケンス番号Seq3とを検出し、パケットPKT4の送信元のIPアドレスIPadd_Src4と、シーケンス番号Seq4とを検出する。
その後、無線装置6のパケット統合手段1060は、IPアドレスIPadd_Src2およびシーケンス番号Seq2のハッシュ値からなるパケットID(PKT_ID2)と、IPアドレスIPadd_Src3およびシーケンス番号Seq3のハッシュ値からなるパケットID(PKT_ID3)と、IPアドレスIPadd_Src4およびシーケンス番号Seq4のハッシュ値からなるパケットID(PKT_ID4)とを求める。
また、無線装置6のパケット統合手段1060は、パケットPKT2〜PKT4のパケットサイズL2〜L4を検出する。
そうすると、無線装置6のパケット統合手段1060は、PKT_ID2,PKT_ID3,PKT_ID4、パケットサイズL2〜L4およびパケット数=3を記憶手段1061に記録する。この場合、パケットサイズL2〜L4は、連結統合における連結の順番に従って記憶手段1061へ順次記録される。
そして、無線装置6のパケット統合手段1060は、パケットPKT2〜PKT4を連結統合によって統合し、統合本体部BODY_INTEG6を生成する。
その後、無線装置6のパケット統合手段1060は、統合本体部BODY_INTEG6と、パケットPKT1の本体部BODY1との排他的論理和を演算して統合本体部BODY_INTEG7を生成する。
そうすると、無線装置6のパケット統合手段1060は、パケットPKT1〜PKT4と同じ宛先を有する自発パケットがあるか否かを確認し、パケットPKT1〜PKT4と同じ宛先を有する自発パケットがないことを検知する。
そして、無線装置6のパケット統合手段1060は、連結統合後論理統合からなる統合種別と、“4”からなる統合数と、PKT_ID2からなるパケットID_1と、L2からなるサイズ_1と、PKT_ID3からなるパケットID_2と、L3からなるサイズ_2と、PKT_ID4からなるパケットID_3と、L4からなるサイズ_3とを含む2.5層ヘッダHED6=[連結統合後論理統合/4/PKT_ID2/L2/PKT_ID3/L3/PKT_ID4/L4]を生成する。
そうすると、無線装置6のパケット統合手段1062は、2.5層ヘッダHED6を統合本体部BODY_INTEG7に付加して統合パケットPKT_INTEG6を生成し、その生成した統合パケットPKT_INTEG6を送信する。
無線装置3の分解復号手段1062は、無線装置6から送信された統合パケットPKT_INTEG6をMACモジュール103等を介して受けると、統合パケットPKT_INTEG6の2.5層ヘッダHED6=[連結統合後論理統合/4/PKT_ID2/L2/PKT_ID3/L3/PKT_ID4/L4]に基づいて、統合数が“4”であることを確認する。
そして、無線装置3の分解復号手段1062は、2.5層ヘッダHED6から1番目のパケットID(PKT_ID2)を取り出し、その取り出したパケットID(PKT_ID2)に一致するパケットIDを記憶手段1061内で検索する。
無線装置3の分解復号手段1062は、パケットID(PKT_ID2)に一致するパケットIDを検出できれば、パケットID(PKT_ID2)によって特定されるパケットPKT2を用意する。
一方、無線装置3の分解復号手段1062は、パケットID(PKT_ID2)に一致するパケットIDを検出できなければ、2.5層ヘッダHED6のパケットサイズL2を記憶手段1061に記録し、次のパケットID(PKT_ID3)を2.5層ヘッダHED6から読み出す。
そして、無線装置3の分解復号手段1062は、パケットID(PKT_ID3)に一致するパケットIDを記憶手段1061内で検索する。無線装置3の分解復号手段1062は、この動作を最後のパケットID(PKT_ID4)まで繰り返す行なう。
その結果、無線装置3の分解復号手段1062は、パケットID(PKT_ID2),パケットID(PKT_ID3),パケットID(PKT_ID4)に一致するパケットIDを記憶手段1061から検出するとともに、パケットPKT2〜PKT4を用意する。
そうすると、無線装置3の分解復号手段1062は、パケットPKT2〜PKT4と、統合パケットPKT_INTEG6の統合本体部BODY_INTEG7との排他的論理和を演算し、統合本体部BODY_INTEG7をパケットPKT1と統合本体部BODY_INTEG6とに復号する。なお、このパケットPKT1は、無線装置3宛てのパケットである。
そして、無線装置3の分解復号手段1062は、用意したパケットPKT2〜PKT4を破棄する。
引き続いて、無線装置3の分解復号手段1062は、記憶手段1061から1番目のパケットサイズL2を読み出し、その読み出したパケットサイズL2分のデータを統合本体部BODY_INTEG6の先頭から取り出す。
その後、無線装置3の分解復号手段1062は、記憶手段1061から2番目のパケットサイズL3を読み出し、その読み出したパケットサイズL3分のデータをパケットサイズL2分のデータが除去された統合本体部BODY_INTEG6の先頭から取り出す。
更に、無線装置3の分解復号手段1062は、記憶手段1061から3番目のパケットサイズL4を読み出し、その読み出したパケットサイズL4分のデータをパケットサイズL2+L3分のデータが除去された統合本体部BODY_INTEG6の先頭から取り出す。
これにより、無線装置3の分解復号手段1062は、統合本体部BODY_INTEG6をパケットPKT2と、パケットPKT3と、パケットPKT4とに分解する。
そして、無線装置3の分解復号手段1062は、パケットPKT1〜PKT4を転送手段1063へ出力する。
なお、無線装置8の分解復号手段1062も、無線装置3の分解復号手段1062と同じ方法によって、統合パケットPKT_INTEG7をパケットPKT1〜PKT4に復号および分解し、その復号および分解したパケットPKT1〜PKT4を転送手段1063へ出力する。
上述したように、連結統合後論理統合によってパケットを統合することによって、統合できるパケット数を増やすことができるので、オーバーヘッドの削減効果を向上できる。
(viii)自発パケットが有る場合
無線装置6の分配手段1050は、図9の(a)に示す場合と同じ方法によって、無線装置3から送信された無線装置8宛てのパケットPKT2〜PKT4のパケットサイズL2〜L4を検出し、その検出したパケットサイズL2〜L4をしきい値MTU1と比較してパケットPKT2,PKT3,PKT4をキュー36に順次格納する。また、無線装置6の分配手段1050は、図8の(a)に示す場合と同じ方法によって、無線装置8から送信された無線装置3宛てのパケットPKT1をキュー24に格納する。更に、無線装置6の分配手段1050は、無線装置3宛ての自発パケットPKT5をIPモジュール106から受け、その受けた自発パケットPKT5をキュー22に格納する(図11の(b)参照)。
そして、無線装置6のパケット統合手段1060は、上述した(vii)自発パケットが無い場合と同じ方法によって、統合本体部BODY_INTEG7を生成する。
その後、無線装置6のパケット統合手段1060は、対象となる宛先(無線装置3)の自発パケットPKT5がキュー22に格納されていることを検知する(図11の(b)参照)。
そして、無線装置6のパケット統合手段1060は、キュー22からパケットPKT5を取り出し、その取り出したパケットPKT5のパケットサイズL5を検出する。その後、無線装置6のパケット統合手段1060は、統合本体部BODY_INTEG7のパケットサイズLINTEG4(=パケットサイズL1と、パケットサイズ=L2+L3+L4とのうち、長い方のパケットサイズ)と、パケットサイズL5との和がしきい値MTU2を超えるか否かを判定する。
そして、統合本体部BODY_INTEG7のパケットサイズLINTEG4と、パケットサイズL5との和がしきい値MTU2を超える場合、無線装置6のパケット統合手段1060は、上述した(vii)自発パケットが無い場合と同様にして統合パケットPKT_INTEGを生成し、その生成した統合パケットPKT_INTEGを送信する。
一方、統合本体部BODY_INTEG7のパケットサイズLINTEG4と、パケットサイズL5との和がしきい値MTU2以下である場合、無線装置6のパケット統合手段1060は、パケット数=4を記憶手段1061に記録するとともに、統合本体部BODY_INTEG7のパケットサイズLINTEG4と、パケットPKT5のパケットサイズL5とを記憶手段1061に順次記録する。
その後、無線装置6のパケット統合手段1060は、統合本体部BODY_INTEG7とパケットPKT5とを連結統合によって統合し、統合本体部BODY_INTEG8=BODY_INTEG7+PKT5を生成する。
そして、無線装置6のパケット統合手段1060は、連結統合後論理統合後連結統合からなる統合種別と、パケット数=4(統合本体部BODY_INTEG6の生成時に記憶手段1061に記録したパケット数)に“1”(統合本体部BODY_INTEG8の生成時に記憶手段1061に記録したパケット数)を加算した“5”からなる統合数と、PKT_ID2からなるパケットID_1と、L2からなるサイズ_1と、PKT_ID3からなるパケットID_2と、L3からなるサイズ_2と、PKT_ID4からなるパケットID_3と、L4からなるサイズ_3と、“−1”からなるパケットID_4と、LINTEG4からなるサイズ_4と、“−1”からなるパケットID_5と、L5からなるサイズ_5とを含む2.5層ヘッダHED7=[連結統合後論理統合後連結統合/5/PKT_ID2/L2/PKT_ID3/L3/PKT_ID4/L4/−1/LINTEG4/−1/L5]を生成する。
そうすると、無線装置6のパケット統合手段1060は、2.5層ヘッダHED7を統合本体部BODY_INTEG8に付加して統合パケットPKT_INTEG7を生成し、その生成した統合パケットPKT_INTEG7=[連結統合後論理統合後連結統合/5/PKT_ID2/L2/PKT_ID3/L3/PKT_ID4/L4/−1/LINTEG4/−1/L5/BODY_INTEG7+BODY5]を送信する。
無線装置3の分解復号手段1062は、無線装置6から送信された統合パケットPKT_INTEG7をMACモジュール103等を介して受けると、統合パケットPKT_INTEG7の2.5層ヘッダHED7=[連結統合後論理統合後連結統合/5/PKT_ID2/L2/PKT_ID3/L3/PKT_ID4/L4/−1/LINTEG4/−1/L5]からパケットサイズL5を読み出し、その読み出したパケットサイズL5分のデータを統合本体部BODY_INTEG8=BODY_INTEG7+PKT5の最後部から取り出すとともに、2.5層ヘッダHED7中の統合数=5を“1”だけ減じて“4”にする。
その後、無線装置3の分解復号手段1062は、2.5層ヘッダHED7=[連結統合後論理統合後連結統合/5/PKT_ID2/L2/PKT_ID3/L3/PKT_ID4/L4/−1/LINTEG4/−1/L5]からパケットサイズLINTEG4を読み出し、その読み出したパケットサイズLINTEG4分のデータをパケットサイズL5分のデータが除去された統合本体部BODY_INTEG8の最後部から取り出すとともに、2.5層ヘッダHED7中の統合数=4を“1”だけ減じて“3”にする。
その結果、統合本体部BODY_INTEG8は、統合本体部BODY_INTEG7と本体部BODY5とに分解される。
パケットIDが“−1”であるパケット数分は、2個であるので、無線装置3の分解復号手段1062は、この段階で統合本体部BODY_INTEG8の分解を停止する。
そして、無線装置3の分解復号手段1062は、上述した(vii)自発パケットが無い場合の復号処理を用いて、統合本体部BODY_INTEG7を本体部BODY1と統合本体部BODY_INTEG6とに復号し、その後、上述した(vii)自発パケットが無い場合の分解処理を用いて、統合本体部BODY_INTEG6をパケットPKT2〜PKT4に分解する。
その結果、無線装置3の分解復号手段1062は、パケットPKT1〜PKT5を分解および復号し、その分解および復号したパケットPKT1〜PKT5を転送手段1063へ出力する。
なお、無線装置8の分解復号手段1062も、無線装置3の分解復号手段1062と同じ方法によって、統合パケットPKT_INTEG7をパケットPKT1〜PKT5に分解および復号し、その分解および復号したパケットPKT1〜PKT5を転送手段1063へ出力する。
また、自発パケットがキュー38に格納されている場合も、パケットは、上述した方法によって統合されて送信され、統合パケットは、上述した方法によって、分解および復号される。
更に、複数のパケットがキュー24に格納されている場合も、無線装置6のパケット統合手段1060は、上述した方法によってパケットを統合する。この場合、無線装置6のパケット統合手段1060は、キュー24に格納された複数のパケットを連結統合によって統合し、キュー36に格納された複数のパケットを連結統合によって統合し、その後、連結統合によって統合された2つの統合本体部に対して排他的論理和を演算して統合本体部BODY_INTEG7を生成する。
上述したように、連結統合後論理統合後連結統合によってパケットを統合することによって、統合できるパケット数を増やすことができるので、オーバーヘッドの削減効果を向上できる。
上述した(1),(2)においては、キュー24,36のいずれか一方にパケットが格納されている場合、即ち、論理統合によってパケットを統合できない場合について説明した。この場合、無線装置6のパケット統合手段1060は、2つのパケットを連結統合のみによって統合して統合本体部BODY_INTEGを生成するとともに、2.5層ヘッダHEDを生成し、その生成した2.5層ヘッダHEDを統合本体部BODY_INTEGに付加して統合パケットPKT_INTEGを生成する。そして、無線装置6のパケット統合手段1060は、統合パケットPKT_INTEGを送信する。
また、上述した(3),(4)においては、キュー24,36の両方にパケットが格納されている場合、即ち、論理統合によってパケットを統合できる場合について説明した。この場合、無線装置6のパケット統合手段1060は、論理統合のみ、または論理統合および連結統合によってパケットを統合して統合本体部BODY_INTEGを生成するとともに、2.5層ヘッダHEDを生成し、その生成した2.5層ヘッダHEDを統合本体部BODY_INTEGに付加して統合パケットPKT_INTEGを生成する。そして、無線装置6のパケット統合手段1060は、統合パケットPKT_INTEGを送信する。
従って、この発明の実施の形態においては、連結統合および論理統合の少なくとも1つを用いてパケットPKTの統合が行なわれる場合、常に、同じフォーマットからなる2.5層ヘッダHEDが用いられる。
その結果、統合パケットPKT_INTEGのオーバーヘッドが低減される。従って、この発明によれば、通信効率を向上できる。
また、この発明の実施の形態においては、連結統合によってパケットを統合し、その後、その統合した統合パケットを論理統合によって統合した場合、従来のネットワークコーディングにおける問題である「VoIP等の小さいサイズのパケットに対しては、結合する大きいサイズのパケットに合わせて意味のない情報をパディングすることになり、通信効率が悪くなる」を解消できる。従って、この発明によれば、通信効率を向上できる。
更に、この発明の実施の形態においては、自発パケットの以外の複数のパケットを連結統合の対象とする場合、IPフレームの最大サイズからなるしきい値MTU2を用いて複数のパケットを連結統合するか否かを判定し、自発パケットを連結統合の対象とする場合、IPフレームの最大サイズよりも大きいMACフレームの最大サイズからなるしきい値MTU1を用いて複数のパケットを連結統合するか否かを判定する。従って、自発パケットを連結統合によって送信する機会を増やし、オーバーヘッドを削減できる。
なお、無線装置6が無線装置3,8間以外の2つの無線装置間で行なわれる無線通信に関与する場合も、無線装置6のパケット統合手段1060は、上述した方法によってパケットを統合して送信し、統合パケットを受信した無線装置は、上述した方法によって統合パケットを分解および/または分解する。
また、無線装置6以外の無線装置1〜5,7〜12も、無線装置6と同じように、パケットを連結統合および/または論理統合して送信するとともに、他の無線装置から受信した統合パケットを無線装置3,8と同じように、分解および/または復号する。
図12は、図1に示す無線ネットワーク100における通信方法を説明するためのフローチャートである。なお、図12においては、送信側の無線装置を無線装置6とし、受信側の無線装置を無線装置3,8として通信方法を説明する。
一連の動作が開始されると、送信側の無線装置である無線装置6のパケット統合手段1060は、キュー1051,1054からパケット統合の対象となるパケットを格納した2つのキュー24,36を選択する(ステップS1)。
そして、無線装置6のパケット統合手段1060は、パケット統合を行なうか否かを判定する(ステップS2)。
ステップS2において、パケット統合を行なうと判定されたとき、無線装置6のパケット統合手段1060は、連結統合および/または論理統合によってパケットを統合し、その統合した統合パケットを送信する(ステップS3)。
受信側の無線装置である無線装置3,8の無線インターフェースモジュール102は、無線装置6から統合パケットを受信し(ステップS4)、その受信した統合パケットを復調等してMACモジュール103等を介して分解復号手段1062へ出力する。
そして、無線装置3,8の分解復号手段1062は、無線インターフェースモジュール102から受けた統合パケットを分解および/または復号する(ステップS5)。
一方、ステップS2において、パケット統合を行なわないと判定されたとき、無線装置6のパケット統合手段1060は、通常の方法によってパケットを送信する(ステップS6)。
無線装置3,8の無線インターフェースモジュール102は、無線装置6からパケットを受信し(ステップS7)、その受信した統合パケットを復調等してMACモジュール103等を介して分解復号手段1062へ出力する。
そして、ステップS5またはステップS7の後、無線装置3,8は、受信処理を行なう(ステップS8)。これによって、一連の動作が終了する。
図13は、図12に示すステップS2およびステップS3の詳細な動作を説明するためのフローチャートである。
図12に示すステップS1の後、無線装置6のパケット統合手段1060は、2つのキュー24,36の両方にパケットが格納されているか否かを判定する(ステップS21)。
ステップS21において、2つのキュー24,36の両方にパケットが格納されていないと判定されたとき、無線装置6のパケット統合手段1060は、2つのキュー24,36の一方のキューに格納されたパケットが1個であるか否かを更に判定する(ステップS22)。
ステップS22において、2つのキュー24,36の一方のキューに格納されたパケットが1個であると判定されたとき、無線装置6のパケット統合手段1060は、一方のキューに格納されたパケットと宛先が同じである自発パケットが有るか否かを更に判定する(ステップS23)。
ステップS23において、一方のキューに格納されたパケットと宛先が同じである自発パケットが有ると判定されたとき、無線装置6のパケット統合手段1060は、統合後のパケットサイズLINTEGがしきい値MTUを超えるか否かを更に判定する(ステップS24)。
ステップS24において、パケットサイズLINTEGがしきい値MTUを超えないと判定されたとき、無線装置6のパケット統合手段1060は、連結統合のみによってパケットを統合して送信する(ステップS25)。
一方、ステップS24において、パケットサイズLINTEGがしきい値MTUを超えると判定されたとき、またはステップS23において、一方のキューに格納されたパケットと宛先が同じである自発パケットが無いと判定されたとき、一連の動作は、図12に示すステップS6へ移行する。
一方、ステップS22において、2つのキュー24,36の一方のキューに格納されたパケットが1個でないと判定されたとき、無線装置6のパケット統合手段1060は、一方のキューに格納されたパケットと宛先が同じである自発パケットが有るか否かを更に判定する(ステップS26)。
ステップS26において、一方のキューに格納されたパケットと宛先が同じである自発パケットが有ると判定されたとき、無線装置6のパケット統合手段1060は、統合後のパケットサイズLINTEGがしきい値MTUを超えるか否かを更に判定する(ステップS27)。
ステップS27において、パケットサイズLINTEGがしきい値MTUを超えないと判定されたとき、無線装置6のパケット統合手段1060は、自発パケットを含めて連結統合のみによってパケットを統合して送信する(ステップS28)。
一方、ステップS27において、パケットサイズLINTEGがしきい値MTUを超えると判定されたとき、またはステップS26において、一方のキューに格納されたパケットと宛先が同じである自発パケットが無いと判定されたとき、無線装置6のパケット統合手段1060は、自発パケットを除外して連結統合のみによってパケットを統合して送信する(ステップS29)。
一方、ステップS21において、2つのキュー24,36の両方にパケットが格納されていると判定されたとき、無線装置6のパケット統合手段1060は、双方のキュー24,36に格納されたパケットが1個ずつであるか否かを更に判定する(ステップS30)。
ステップS30において、双方のキュー24,36に格納されたパケットが1個ずつであると判定されたとき、無線装置6のパケット統合手段1060は、キュー24,36の一方のキューに格納されたパケットと宛先が同じである自発パケットが有るか否かを更に判定する(ステップS31)。
ステップS31において、一方のキューに格納されたパケットと宛先が同じである自発パケットが有ると判定されたとき、無線装置6のパケット統合手段1060は、統合後のパケットサイズLINTEGがしきい値MTUを超えるか否かを更に判定する(ステップS32)。
ステップS32において、パケットサイズLINTEGがしきい値MTUを超えないと判定されたとき、無線装置6のパケット統合手段1060は、論理統合後連結統合によってパケットを統合して送信する(ステップS33)。
一方、ステップS32において、パケットサイズLINTEGがしきい値MTUを超えると判定されたとき、またはステップS31において、一方のキューに格納されたパケットと宛先が同じである自発パケットが無いと判定されたとき、無線装置6のパケット統合手段1060は、論理統合のみによってパケットを統合して送信する(ステップS34)。
一方、ステップS30において、双方のキュー24,36に格納されたパケットが1個ずつでないと判定されたとき、無線装置6のパケット統合手段1060は、キュー24,36の一方のキューに格納されたパケットと宛先が同じである自発パケットが有るか否かを更に判定する(ステップS35)。
ステップS35において、一方のキューに格納されたパケットと宛先が同じである自発パケットが有ると判定されたとき、無線装置6のパケット統合手段1060は、統合後のパケットサイズLINTEGがしきい値MTUを超えるか否かを更に判定する(ステップS36)。
ステップS36において、パケットサイズLINTEGがしきい値MTUを超えないと判定されたとき、無線装置6のパケット統合手段1060は、連結統合後論理統合によってパケットを統合して送信する(ステップS37)。
一方、ステップS36において、パケットサイズLINTEGがしきい値MTUを超えると判定されたとき、またはステップS35において、一方のキューに格納されたパケットと宛先が同じである自発パケットが無いと判定されたとき、無線装置6のパケット統合手段1060は、連結統合後論理統合後連結統合によってパケットを統合して送信する(ステップS38)。
そして、ステップS25,S28,S29,S33,S34,S37,S38のいずれかの後、一連の動作は、図12に示すステップS4へ移行する。
図14は、図12に示すステップS5の詳細な動作を説明するためのフローチャートである。
図12に示すステップS4の後、無線装置3,8の分解復号手段1062は、無線装置6から受信した統合パケットの2.5層ヘッダHEDを参照して、統合種別が連結統合のみであるか否かを判定する(ステップS51)。
ステップS51において、統合種別が連結統合のみであると判定されたとき、無線装置3,8の分解復号手段1062は、統合パケットを分解する(ステップS52)。
一方、ステップS51において、統合種別が連結統合のみでないと判定されたとき、無線装置3,8の分解復号手段1062は、統合種別が論理統合のみであるか否かを更に判定する(ステップS53)。
ステップS53において、統合種別が論理統合のみであると判定されたとき、無線装置3,8の分解復号手段1062は、統合パケットを復号する(ステップS54)。
一方、ステップS53において、統合種別が論理統合のみでないと判定されたとき、無線装置3,8の分解復号手段1062は、統合種別が論理統合後連結統合であるか否かを更に判定する(ステップS55)。
ステップS55において、統合種別が論理統合後連結統合であると判定されたとき、無線装置3,8の分解復号手段1062は、統合パケットを分解および復号する(ステップS56)。
一方、ステップS55において、統合種別が論理統合後連結統合でないと判定されたとき、無線装置3,8の分解復号手段1062は、統合種別が連結統合後論理統合であるか否かを更に判定する(ステップS57)。
ステップS57において、統合種別が連結統合後論理統合であると判定されたとき、無線装置3,8の分解復号手段1062は、統合パケットを復号および分解する(ステップS58)。
一方、ステップS57において、統合種別が連結統合後論理統合でないと判定されたとき、無線装置3,8の分解復号手段1062は、統合パケットを分解、復号および分解する(ステップS59)。
そして、ステップS52,S54,S56,S58,S59のいずれかの後、一連の動作は、図12に示すステップS8へ移行する。
図15は、図14に示すステップS52の詳細な動作を説明するためのフローチャートである。なお、図15に示すフローチャートは、図13に示すステップS25,S28,S29のいずれかにおいて連結統合によって統合された統合パケットを分解するためのフローチャートである。
図14に示すステップS51の“YES”の後、無線装置3,8の分解復号手段1062は、統合パケットPKT_INTEGの2.5層ヘッダHEDから統合数X(Xは、2以上の整数)を確認する(ステップS521)。
そして、無線装置3,8の分解復号手段1062は、x=1を設定し(ステップS522)、x番目のサイズ(=パケットサイズ)を2.5層ヘッダHEDから読み取る(ステップS523)。
その後、無線装置3,8の分解復号手段1062は、x番目のパケットサイズに基づいて、統合パケットPKT_INTEGの統合本体部BODY_INTEGの先頭からx番目のパケットを取り出す(ステップS524)。
そして、無線装置3,8の分解復号手段1062は、x=Xであるか否かを判定する(ステップS525)。ステップS525において、x=Xでないと判定されたとき、無線装置3,8の分解復号手段1062は、x=x+1を設定する(ステップS526)。その後、一連の動作は、ステップS523へ戻り、ステップS525において、x=Xであると判定されるまで、上述したステップS523〜ステップS526が繰返し実行される。
そして、ステップS525において、x=Xであると判定されると、一連の動作は、図12に示すステップS8へ移行する。
なお、ステップS524が2回目以降に実行される場合、無線装置3,8の分解復号手段1062は、x番目のパケットサイズに基づいて、それまでに取り出されたパケットPKTx−1を除いた統合本体部BODY_INTEGの先頭からx番目のパケットPKTxを取り出す。
図16は、図14に示すステップS54の詳細な動作を説明するためのフローチャートである。なお、図16に示すフローチャートは、図13に示すステップS34において論理統合のみによって統合された統合パケットを復号するためのフローチャートである。
図14に示すステップS53の“YES”の後、無線装置3,8の分解復号手段1062は、統合パケットPKT_INTEGの2.5層ヘッダHEDから統合数X(Xは、2以上の整数)を確認する(ステップS541)。
そして、無線装置3,8の分解復号手段1062は、x=1を設定し(ステップS542)、x番目のパケットID_xを2.5層ヘッダHEDから読み取る(ステップS543)。
その後、無線装置3,8の分解復号手段1062は、その読み取ったx番目のパケットID_xに一致するパケットIDを記憶手段1061内で検索する(ステップS544)。
そして、無線装置3,8の分解復号手段1062は、x番目のパケットID_xが記憶手段1061に記録されたパケットIDと一致したか否かを判定する(ステップS545)。
ステップS545において、x番目のパケットID_xが記憶手段1061に記録されたパケットIDと一致したと判定されたとき、無線装置3,8の分解復号手段1062は、その一致したパケットIDによって特定されたパケットを用意する(ステップS546)。
そして、ステップS545において、x番目のパケットID_xが記憶手段1061に記録されたパケットIDと一致しないと判定されたとき、またはステップS546の後、無線装置3,8の分解復号手段1062は、x=Xであるか否かを判定する(ステップS547)。ステップS547において、x=Xでないと判定されたとき、無線装置3,8の分解復号手段1062は、x=x+1を設定する(ステップS548)。その後、一連の動作は、ステップS543へ戻り、ステップS547において、x=Xであると判定されるまで、上述したステップS543〜ステップS548が繰返し実行される。
そして、ステップS547において、x=Xであると判定されると、無線装置3,8の分解復号手段1062は、統合パケットPKT_INTEGの統合本体部BODY_INTEGと、用意したパケットとの排他的論理和を演算して統合本体部BODY_INTEGを復号する(ステップS549)。その後、無線装置3,8の分解復号手段1062は、用意したパケットを破棄する(ステップS550)。
そして、一連の動作は、図12に示すステップS8へ移行する。
図17は、図14に示すステップS56の詳細な動作を説明するためのフローチャートである。なお、図17に示すフローチャートは、図13に示すステップS33において論理統合後連結統合によって統合された統合パケットを分解および復号するためのフローチャートである。
図14に示すステップS55の“YES”の後、無線装置3,8の分解復号手段1062は、統合パケットPKT_INTEGの2.5層ヘッダHEDから統合数X(Xは、2以上の整数)を確認する(ステップS561)。
そして、無線装置3,8の分解復号手段1062は、x=1を設定し(ステップS562)、“−1”からなるパケットIDの個数Y(Yは、2以上の整数)を確認する(ステップS563)。
その後、無線装置3,8の分解復号手段1062は、2.5層ヘッダHEDのパケット情報の最後からパケットサイズを識別し(ステップS564)、その識別したパケットサイズ分のデータを統合本体部BODY_INTEGの最後部から取り出す(ステップS565)。
そして、無線装置3,8の分解復号手段1062は、個数Yを“1”だけ減少し(ステップS566)、個数Yが“0”であるか否かを判定する(ステップS567)。
ステップS567において、個数Yが“0”でないと判定されたとき、一連の動作は、ステップS564へ移行し、ステップS567において、Y=0であると判定されるまで、上述したステップS564〜S567が繰返し実行される。
なお、ステップS564が1回目に実行される場合、無線装置3,8の分解復号手段1062は、2.5層ヘッダHEDのパケット情報の最後部に格納されたサイズ(=パケットサイズ)を識別し、ステップS564が2回目以降に実行される場合、無線装置3,8の分解復号手段1062は、2.5層ヘッダHEDのパケット情報の最後部から2番目以降に格納されたサイズ(=パケットサイズ)を識別する。
そして、ステップS567において、Y=0であると判定されると、無線装置3,8の分解復号手段1062は、x番目のパケットID_xを2.5層ヘッダHEDから読み取る(ステップS568)。
引き続き、無線装置3,8の分解復号手段1062は、その読み取ったx番目のパケットID_xが“−1”であるか否かを判定する(ステップS569)。
ステップS569において、x番目のパケットID_xが“−1”であると判定されたとき、一連の動作は、ステップS575へ移行する。
一方、ステップS569において、x番目のパケットID_xが“−1”でないと判定されたとき、無線装置3,8の分解復号手段1062は、読み取ったパケットID_xに一致するパケットIDを記憶手段1061内で検索する(ステップS570)。その後、無線装置3,8の分解復号手段1062は、読み取ったパケットID_xが記憶手段1061に記録されたパケットIDに一致したか否かを判定する(ステップS571)。
ステップS571において、読み取ったパケットID_xが記憶手段1061に記録されたパケットIDに一致したと判定されたとき、無線装置3,8の分解復号手段1062は、その一致したパケットIDによって特定されたパケットを用意する(ステップS572)。
そして、無線装置3,8の分解復号手段1062は、統合パケットPKT_INTEGの統合本体部BODY_INTEGと、用意したパケットとの排他的論理和を演算して統合本体部BODY_INTEGを復号する(ステップS573)。
その後、無線装置3,8の分解復号手段1062は、用意したパケットを破棄する(ステップS574)。
一方、ステップS569において、読み取ったパケットID_xが“−1”であると判定されたとき、またはステップS571において、読み取ったパケットID_xが記憶手段1061に記録されたパケットIDに一致しないと判定されたとき、またはステップS574の後、無線装置3,8の分解復号手段1062は、x=Xであるか否かを判定する(ステップS575)。
ステップS575において、x=Xでないと判定されたとき、無線装置3,8の分解復号手段1062は、x=x+1を設定する(ステップS576)。その後、一連の動作は、ステップS568へ移行し、ステップS575において、x=Xであると判定されるまで、上述したステップS568〜ステップS576が繰返し実行される。
そして、ステップS575において、x=Xであると判定されると、一連の動作は、図12に示すステップS8へ移行する。
図18は、図14に示すステップS58の詳細な動作を説明するためのフローチャートである。なお、図18に示すフローチャートは、図13に示すステップS37において連結統合後論理統合によって統合された統合パケットを復号および分解するためのフローチャートである。
図14に示すステップS57の“YES”の後、無線装置3,8の分解復号手段1062は、統合パケットPKT_INTEGの2.5層ヘッダHEDから統合数X(Xは、2以上の整数)を確認する(ステップS581)。
そして、無線装置3,8の分解復号手段1062は、x=1を設定し(ステップS582)、x番目のパケットID_xを2.5層ヘッダHEDから読み取る(ステップS583)。
その後、無線装置3,8の分解復号手段1062は、その読み取ったx番目のパケットID_xに一致するパケットIDを記憶手段1061内で検索する(ステップS584)。
そして、無線装置3,8の分解復号手段1062は、x番目のパケットID_xが記憶手段1061に記録されたパケットIDと一致したか否かを判定する(ステップS585)。
ステップS585において、x番目のパケットID_xが記憶手段1061に記録されたパケットIDと一致したと判定されたとき、無線装置3,8の分解復号手段1062は、その一致したパケットIDによって特定されたパケットを用意する(ステップS586)。
一方、ステップS585において、x番目のパケットID_xが記憶手段1061に記録されたパケットIDと一致しないと判定されたとき、無線装置3,8の分解復号手段1062は、その一致しないと判定されたパケットIDに続いて格納されたサイズ(=パケットサイズ)を2.5層ヘッダHEDから読み出し、その読み出したパケットサイズを記憶手段1061に記録する(ステップS587)。
そして、ステップS586またはステップS587の後、無線装置3,8の分解復号手段1062は、x=Xであるか否かを判定する(ステップS588)。ステップS588において、x=Xでないと判定されたとき、無線装置3,8の分解復号手段1062は、x=x+1を設定する(ステップS589)。その後、一連の動作は、ステップS583へ戻り、ステップS588において、x=Xであると判定されるまで、上述したステップS583〜ステップS589が繰返し実行される。
そして、ステップS588において、x=Xであると判定されると、無線装置3,8の分解復号手段1062は、用意したパケットを順番に並べたものと、統合パケットPKT_INTEGの統合本体部BODY_INTEGとの排他的論理和を演算して統合本体部BODY_INTEGを復号する(ステップS590)。その後、無線装置3,8の分解復号手段1062は、用意したパケットを破棄する(ステップS591)。
引き続いて、無線装置3,8の分解復号手段1062は、ステップS587において記憶手段1061に記録したパケットサイズを読み取り、その読み取ったパケットサイズに基づいて、復号データをパケットサイズ毎に分解し、個々のパケットを取り出す(ステップS592)。その後、一連の動作は、図12に示すステップS8へ移行する。
図19は、図14に示すステップS59の詳細な動作を説明するためのフローチャートである。なお、図19に示すフローチャートは、図13に示すステップS38において論理統合後連結統合によって統合された統合パケットを分解、復号および分解するためのフローチャートである。
図14に示すステップS57の“NO”の後、無線装置3,8の分解復号手段1062は、統合パケットPKT_INTEGの2.5層ヘッダHEDから統合数X(Xは、2以上の整数)を確認する(ステップS591)。
そして、無線装置3,8の分解復号手段1062は、2.5層ヘッダHEDのパケット情報(パケットIDおよびサイズ)の最後からサイズ(=パケットサイズ)を識別する(ステップS592)。
その後、無線装置3,8の分解復号手段1062は、その識別したパケットサイズ分のデータを統合パケットPKT_INTEGの統合本体部BODY_INTEGの最後部から取り出す(ステップS593)。
そして、無線装置3,8の分解復号手段1062は、2.5層ヘッダHED中の統合数Xを“1”だけ減少し(ステップS594)、X=0であるか否かを判定する(ステップS595)。
ステップS595において、X=0でないと判定されたとき、一連の動作は、ステップS592へ戻り、ステップS595において、X=0であると判定されるまで、上述したステップS592〜ステップS595が繰返し実行される。
なお、ステップS592が1回目に実行される場合、無線装置3,8の分解復号手段1062は、2.5層ヘッダHEDのパケット情報の最後部に格納されたサイズ(=パケットサイズ)を識別し、ステップS592が2回目以降に実行される場合、無線装置3,8の分解復号手段1062は、2.5層ヘッダHEDのパケット情報の最後部から2番目以降に格納されたサイズ(=パケットサイズ)を識別する。
そして、ステップS595において、X=0であると判定されると、無線装置3,8の分解復号手段1062は、図18に示すフローチャートを実行し、統合本体部BODY_INTEGを各本体部に復号および分解する(ステップS596)。その後、一連の動作は、図12に示すステップS8へ移行する。
この発明の実施の形態においては、各無線装置1〜12のパケット統合手段1060は、好ましくは、最大待ち時間を設定し、その最大待ち時間内で上述したパケットの統合を行う。この場合、各無線装置1〜12のパケット統合手段1060は、無線ネットワーク100における許容遅延時間(例えば、VoIPの場合、120ms)を保持しており、その保持した許容遅延時間を無線ネットワーク100における最大ホップ数で除算することによって最大待ち時間を演算する。そして、各無線装置1〜12のパケット統合手段1060は、その演算した最大待ち時間をタイマー(パケット統合手段1060が内蔵している)に設定し、そのタイマーが“0”になると上述した方法によってパケットを統合して送信する。
これによって、遅延時間を低減してパケットを統合できる。
また、この発明の実施の形態においては、各無線装置1〜12のパケット統合手段1060は、好ましくは、最大待ち時間の他に、しきい値MTUを設け、統合後のパケットサイズがしきい値MTUに達したら、上述した方法によって、パケットを統合して送信し、タイマーをリセットする。これによって、セッション数が増加しても、統合パケットをバースト的に送信しなくてもよくなる。
また、最大待ち時間およびしきい値MTUを設けることによって、論理統合によってパケットを統合した場合でも、リアルタイム性を向上できる。
更に、この発明の実施の形態においては、各無線装置1〜12のパケット統合手段1060は、好ましくは、最大待ち時間の他に、しきい値MTUを設け、統合後のパケットサイズがしきい値MTUよりも小さい1000バイトに達したら、タイマーを減少(例えば、75%)させる。
更に、この発明の実施の形態においては、各無線装置1〜12は、好ましくは、次の送信方法によって、統合パケットPKT_INTEGを送信する。
ユニキャストパケットに対して連結統合および論理統合の両方を施したパケットを受信すべき無線装置は、2台存在する。この2台の無線装置が同時に統合パケットPKT_INTEGを受信できるようにするために、この発明の実施の形態においては、各無線装置1〜12をpromiscuousモードで動作させる。このpromiscuousモードは、各無線装置1〜12が他の無線装置宛てのパケットを受信するモードである。
そして、各無線装置1〜12は、自己以外の無線装置宛のユニキャストパケットを受信するとともに、ユニキャストで送信する。この場合、各無線装置1〜12は、信号強度の低い方の無線装置のアドレスをMACヘッダのアドレス1(図5参照)に格納し、信号強度の高い方の無線装置のアドレスをMACヘッダのアドレス4(図5参照)に格納する。
これによって、統合パケットPKT_INTEGを2台の無線装置へ確実に送信できる。
また、2台の宛先が存在する場合、通常、ブロードキャストまたはマルチキャストが用いられるが、これらは、MAC層における再送が行なわれないため、信頼性が低くなる。しかし、この発明の実施の形態においては、各無線装置1〜12は、上述した方式によって、統合パケットPKT_INTEGを2台の宛先へ送信する。従って、この発明によれば、統合パケットPKT_INTEGを2台の宛先へ送信するときの信頼性を高くできる。
更に、この発明の実施の形態においては、各無線装置1〜12は、好ましくは、次の選択再送方式を用いる。図20は、図2に示す統合モジュール105の他の構成を示す概略ブロック図である。また、図21は、パケットの他の構成図である。
各無線装置1〜12は、選択再送方式を採用する場合、図3に示す統合モジュール105に代えて図20に示す統合モジュール105Aを備える。統合モジュール105Aは、統合モジュール105のパケット統合手段1060をパケット統合手段1060Aに代え、分解復号手段1062を分解復号手段1062Aに代えたものであり、その他は、統合モジュール105と同じである。
また、選択再送方式が採用される場合、パケットは、図21に示すパケットPKT−Rからなる。パケットPKT−Rは、図5に示すパケットPKTの2.5層ヘッダHEDの直後にFCS1を追加したものであり、その他は、パケットPKTと同じである。なお、パケットPKT−Rにおいては、データ部のFCSは、2.5層ヘッダのFCSと区別するためにFCS2としている。
IEEE802.11では、各無線装置は、パケットの送信後に一定時間待ち、その間にACK(Acknowledge)が返ってこない場合、送信失敗と見做して再送を行なう。
しかし、この発明は、パケットを統合する方式を採用しているため、従来の再送方式を用いると、統合パケットの一部にエラーが発生した場合、統合パケットを再送することになり、効率が悪い。
そこで、この発明においては、受信に失敗した部分だけを再送する選択再送方式を採用することにした。
各無線装置1〜12のパケット統合手段1060Aは、統合パケットPKT_INTEGを生成するとき、2.5層ヘッダHEDの直後にFCS1を付与する。
各無線装置1〜12の分解復号手段1062Aは、統合パケットPKT_INTEGを他の無線装置から受信すると、FCS1に基づいて2.5層ヘッダHEDを正常に受信したことを確認する。そして、各無線装置1〜12の分解復号手段1062Aは、2.5層ヘッダHEDから個々のデータサイズを識別し、FCS2に基づいて、個々のデータのエラーチェックを行なう。
そして、各無線装置1〜12の分解復号手段1062Aは、全てのデータが正常に受信できていれば、ACKを返信する。
一方、各無線装置1〜12の分解復号手段1062Aは、データの一部にエラーがある場合、エラー部分を示すNACKを返信する。
そして、各無線装置1〜12のパケット統合手段1060Aは、他の無線装置からACKを受信すれば、再送を行なわず、他の無線装置からNACKを受信すれば、NACKによって示されている部分BODY_PARTだけを再送する。
NACKを送信した無線装置の分解復号手段1062Aは、再送されたデータの部分BODY_PARTを受信すると、誤りのある部分を部分BODY_PARTに変えて、上述した分解および/または復号を行なう。
一方、NACKを送信していない無線装置の分配復号手段1062Aは、再送されたデータの部分BODY_PARTを受信し、その受信した部分BODY_PARTに付加されたMACヘッダ(図5参照)の“アドレス2”に格納された送信元MACアドレスと、“シーケンス制御”に格納された値とを参照して、データの部分BODY_PARTを既に正常に受信しているか否かを判定する。そして、各無線装置1〜12の分解復号手段1062Aは、データの部分BODY_PARTを既に正常に受信している場合、データの部分BODY_PARTを破棄する。
パケット統合手段1060Aは、その他、パケット統合手段1060と同じ機能を果たし、分解復号手段1062Aは、その他、分解復号手段1062と同じ機能を果たす。
なお、連結統合後に論理統合を行なった場合も、各無線装置1〜12の分解復号手段1062Aは、2.5層ヘッダHEDを参照することにより、部分的に復号を行ない、データのエラーチェックを行なうことができる。
図22は、選択再送方式の概念図である。無線装置A,Cは、無線装置Bを介して相互に無線通信を行なう。無線装置Bのパケット統合手段1060Aは、無線装置Aから無線装置Cへ送信されるデータD1〜D3(=パケット)を連結統合し、無線装置Cから無線装置Aへ送信されるデータD4〜D7(=パケット)を連結統合し、データD1〜D3を連結統合したデータと、データD4〜D7を連結統合したデータとの排他的論理和(XOR)を演算して統合本体部BODY_INTEGを生成する。
そして、無線装置Bのパケット統合手段1060Aは、2.5層ヘッダHEDを作成し、その作成した2.5層ヘッダHEDおよびFCS1を統合本体部BODY_INTEGに付加して統合パケットPKT_INTEGを生成する。
そうすると、無線装置Bのパケット統合手段1060Aは、統合パケットPKT_INTEGを無線装置A,Cへ送信する。
無線装置Cの分解復号手段1062Aは、無線装置Bからの統合パケットPKT_INTEGを受信し、その受信した統合パケットPKT_INTEGの統合本体部BODY_INTEGと、保持しているデータD4〜D7との排他的論理和(XOR)を演算する。その結果、無線装置Cの分解復号手段1062Aは、データD1,D2を正しく受信でき、データD3のうち、後ろの500バイトを正しく受信できなかったことを検知する。
そうすると、無線装置Cの分解復号手段1062Aは、後ろ500バイトを要求するNACKを生成して無線装置Bへ送信する。
そして、無線装置Bのパケット統合手段1060Aは、無線装置BからのNACKに応じて、後ろ500バイト分のみを再送する。
このように、この発明においては、エラー部分だけを再送する選択再送方式を採用するので、統合パケットにエラーがある場合でも、通信の効率を高くできる。
更に、この発明による実施の形態においては、各無線装置1〜12は、好ましくは、3個以上のパケットを論理統合によって統合する。
各無線装置1〜12は、自己宛て以外のパケットを受信して保持することによって、3個以上のパケットを論理統合できる。
図23は、図2に示す統合モジュール105の更に他の構成を示す概略ブロック図である。また、図24は、2.5層ヘッダの他の構成図である。
3個以上のパケットを論理統合する場合、各無線装置1〜12は、図3に示す統合モジュール105に代えて図23に示す統合モジュール105Bを備える。統合モジュール105Bは、統合モジュール105のパケット統合手段1060をパケット統合手段1060Bに代えたものであり、その他は、統合モジュール105と同じである。
パケット統合手段1060Bは、後述する方法によって、3個以上のパケットを論理統合して送信する。
3個以上のパケットが論理統合される場合、2.5層ヘッダは、図24に示す2.5層ヘッダHED−THからなる。2.5層ヘッダHED−THは、図6に示す2.5層ヘッダHEDにグループ番号_1、グループ番号_2、・・・を追加したものであり、その他は、2.5層ヘッダHEDと同じである。
グループ番号_1、グループ番号_2、・・・の各々は、1バイトの長さを有する。グループ番号_1、グループ番号_2、・・・は、それぞれ、サイズ_1、サイズ_2、・・・に続いて2.5層ヘッダHED−THに格納される。そして、グループ番号_1、グループ番号_2、・・・の各々は、論理統合された順番を表す。
図25は、3個以上のパケットを論理統合するときの概念図である。また、図26は、図24に示す2.5層ヘッダHED−THの具体例を示す図である。
無線装置Aは、パケットP3を保持しており、無線装置Cは、パケットP2,P3を保持しており、無線装置Dは、パケットP1,P3を保持しており、無線装置Eは、パケットP1,P2を保持している。
パケットP1は、無線装置Dから無線装置Cへ送信されるパケットであり、パケットP2は、無線装置Cから無線装置Dへ送信されるパケットである。また、パケットP3は、無線装置Aから無線装置Eへ送信されるパケットであり、パケットP4は、無線装置Bから無線装置Aへ送信されるパケットである。そして、無線装置Bは、パケットP1〜P4をキューに保持している。
なお、実線の矢印は、パケットが直接届くことを表し、点線の矢印は、パケットを受信可能であることを表す。
このような状況において、無線装置Bは、無線装置Aから送信された無線装置E宛てのパケットP3を受信して保持している。また、無線装置Bは、無線装置C宛てのパケットP1と、無線装置D宛てのパケットP2とを保持している。
従って、無線装置Bのパケット統合手段1060Bは、3個のパケットP1〜P3を論理統合して送信する。
この場合、無線装置Bのパケット統合手段1060Bは、例えば、パケットP1とパケットP2との排他的論理和を1番目に演算し、その演算結果と、パケットP3との排他的論理和を2番目に演算して統合本体部BODY_INTEG=(P1×XORP2)×XORP3を生成する。
その後、無線装置Bのパケット統合手段1060Bは、論理統合からなる統合種別と、“3”からなる統合数と、PKT_ID1からなるパケットID_1と、L1からなるサイズ_1と、“1”からなるグループ番号_1と、PKT_ID2からなるパケットID_2と、L2からなるサイズ_2と、“1”からなるグループ番号_2と、PKT_ID3からなるパケットID_3と、L3からなるサイズ_3と、“2”からなるグループ番号_3とを含む2.5層ヘッダHED−TH1(図26参照)を生成し、その生成した2.5層ヘッダHED−TH1を統合本体部BODY_INTEG=(P1×XORP2)×XORP3に付加して統合パケットPKT_INTEG=[HED−TH1/(P1×XORP2)×XORP3]を生成する。
無線装置Cの分解復号手段1062は、無線装置Bから送信された統合パケットPKT_INTEG=[HED−TH1/(P1×XORP2)×XORP3]を受信し、その受信した統合パケットPKT_INTEG=[HED−TH1/(P1×XORP2)×XORP3]の2.5層ヘッダHED−TH1に含まれるグループ番号を参照して、パケットP1,P2に対して1番目に排他的論理和が演算され、パケットP3に対して2番目に排他的論理和が演算されたことを検知する。
そして、無線装置Cの分解復号手段1062は、まず、保持しているパケットP3と、統合本体部BODY_INTEG=(P1×XORP2)×XORP3との排他的論理和を演算して(P1×XORP2)を取得し、その後、(P1×XORP2)と、保持しているパケットP2との排他的論理和を演算して無線装置C宛てのパケットP1を復号する。
無線装置Dの分解復号手段1062も、無線装置Cの分解復号手段1062と同様にして、無線装置D宛てのパケットP2を復号する。
また、無線装置Eの分解復号手段1062も、無線装置Cの分解復号手段1062と同様にして、無線装置E宛てのパケットP3を復号する。
なお、無線装置Bのパケット統合手段1060Bは、3個のパケットP1〜P3をパケットP1、パケットP2、およびパケットP3の順番に限らず、任意の順番で3個のパケットP1〜P3の排他的論理和を演算する。
このように、3個以上のパケットを論理統合することによって通信効率を更に向上できる。
3個以上のパケットを論理統合する場合、各無線装置1〜12は、上述した図13に示すステップS33,S34,S37,S38において、3個以上のパケットを論理統合によって統合する。
更に、この発明による実施の形態においては、各無線装置1〜12は、好ましくは、統合後のパケットサイズがしきい値MTUに達したとき、次に受信されるパケットがキューに格納されるのを待って送信する。
図27は、図3に示すキューの他の詳細図である。各無線装置1〜12が、統合後のパケットサイズがしきい値MTUに達したとき、次に受信されるパケットがキューに格納されるのを待って送信する場合、無線装置6の統合モジュール105は、キュー1051〜1055に代えてキュー1051A,1052A,1053A,1054A,1055Aを含む。
キュー1051A,1052A,1053A,1054A,1055Aは、それぞれ、キュー1051〜1055に待機キューWQ1〜WQ5を追加したものであり、その他は、キュー1501〜1055と同じである。待機キューWQ1〜WQ5は、待機させるパケットを格納するためのキューであり、待ち時間が設定される。
図28は、キューの第5の具体例を示す図である。また、図29は、キューの第6の具体例を示す図である。無線装置6のパケット統合手段1060は、キュー24から取り出したパケットPKT1〜PKT4のパケットサイズ(=L1+L2+L3+L4)がしきい値MTU2に達すると(図28の(a)参照)、論理統合の対象となるキュー36にパケットが存在しないことを確認した後に、パケットPKT1〜PKT4を待機キューWQ1に格納し、無線装置6の分配手段1050は、パケットPKT5〜PKT8をキュー24に格納する(図28の(b)参照)。そして、無線装置6のパケット統合手段1060は、次に受信されるパケットPKT1’〜PKT4’がキュー36に格納されるまで、待ち時間の間、パケットPKT1〜PKT4を待機キューWQ1で待機させる。
そして、無線装置6のパケット統合手段1060は、次に受信されるパケットPKT1’〜PKT4’がキュー36に格納されると(図28の(b)参照)、パケットPKT1〜PKT4とパケットPKT1’〜PKT4’とを連結結合後論理統合によって統合して送信する(図28の(c)参照)。その後、無線装置6のパケット統合手段1060は、パケットPKT5〜PKT8を待機キューWQ1に格納し、分配手段1050は、パケットPKT9〜PKT12をキュー24に格納する。
一方、無線装置6のパケット統合手段1060は、パケットPKT1〜PKT4のパケットサイズ(=L1+L2+L3+L4)がしきい値MTU2に達し、論理統合の対象となるキュー36にパケットが存在しないことを確認して、パケットPKT1〜PKT4を待機キーWQ1に格納した後(図29の(a),(b)参照)、次に受信されるパケットPKT1’〜PKT4’が論理統合できないパケットである場合、パケットPKT1〜PKT4を連結結合によって統合して送信する(図29の(c)参照)。その後、無線装置6のパケット統合手段1060は、パケットPKT5〜PKT8を待機キューWQ1に格納し、分配手段1050は、パケットPKT9〜PKT12をキュー24に格納する。
このように、連結統合後のパケットサイズがしきい値MTU2に達したとき、次に受信されるパケットがキューに格納されるのを待って送信することにより、セッション数が増加して統合後のパケットサイズがしきい値MTU2に達することが頻繁に生じる場合でも、論理統合の機会を減少させることなくパケットを統合して送信できる。
上述したように、各無線装置は、複数のパケットを連結統合のみによって統合して送信し、複数のパケットを論理統合のみによって統合して送信し、複数のパケットを論理統合後連結統合によって統合して送信し、複数のパケットを連結統合後論理統合によって統合して送信し、複数のパケットを連結統合後論理統合後連結統合によって統合して送信する。
従って、この発明による無線装置は、複数のパケットを連結統合によって統合する連結処理と、複数のパケットを論理統合によって統合する論理処理との少なくとも1つの処理を用いて複数のパケットを統合し、その統合した統合本体部に2.5層ヘッダを付加して統合パケットを生成し、その生成した統合パケットを送信する無線装置であればよい。
なお、この発明の実施の形態においては、無線装置3は、「第1の無線装置」を構成し、無線装置8は、「第2の無線装置」を構成し、無線装置6は、「第3の無線装置」を構成し、キュー1051は、「第1のキュー」を構成し、キュー1054は、「第2のキュー」を構成する。
また、この発明の実施の形態においては、キュー1051〜105jは、「パケット格納手段」を構成する。
更に、この発明の実施の形態においては、無線インターフェースモジュール102は、「送信手段」または「受信手段」を構成する。
更に、この発明の実施の形態においては、統合パケットPKT_INTEG1〜PKT_INTEG7は、「送信用パケット」を構成する。
更に、この発明の実施の形態においては、パケットID_1、サイズ_1、パケットID_2、サイズ_2、・・・は、「n(nは2以上の整数)個の分解・復号情報」を構成し、パケットID_1、パケットID_2、・・・は、「復号情報」を構成し、サイズ_1、サイズ_2、・・・は、「分解情報」を構成する。
更に、この発明の実施の形態においては、キュー24は、「第3のキュー」を構成し、キュー22は、「第4のキュー」を構成し、キュー36は、「第5のキュー」を構成し、キュー38は、「第6のキュー」を構成する。
更に、この発明の実施の形態においては、“−1”からなるパケットID_1、パケットID_2、・・・の各々は、論理処理が使用されていないことを示す「フラグ」を構成する。
更に、この発明の実施の形態においては、NACKに応じて、誤り部分を再送するパケット統合手段1060Aは、「再送手段」を構成する。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1〜12 無線装置、21〜45,1051〜105j キュー、 100 無線ネットワーク、101 アンテナ、102 無線インターフェースモジュール、103 MACモジュール、104 LLCモジュール、105,105A,105B 統合モジュール、106 IPモジュール、107 ルーティングモジュール、108 通信モジュール、1050 分配手段、1060,1060A,1060B パケット統合手段、1061 記憶手段、1062,1062A 分解復号手段、1063 転送手段。