説明

無線通信装置、方法及びプログラム

【課題】送信対象情報を無線伝送路の最大転送サイズに応じて複数のパケットへ分割して無線通信網内で伝送させる際に、平均伝送時間の短縮と無線通信網の利用効率の向上を実現する。
【解決手段】IEEE802.15.4に準拠した無線通信を行う無線通信網でIPv6パケットを伝送させるにあたり、IPv6パケットの最終受取先の無線ノード周辺が輻輳状態か否か判定し、輻輳状態でない場合は、(B)に示すように、IPv6パケットから分割した複数のパケットに最終受取先を設定したヘッダを各々付加し、各パケットをエンド・トゥ・エンドで転送させる。また、最終受取先の無線ノード周辺が輻輳状態の場合は、(A)に示すように、IPv6パケットから分割した複数のパケットに最終受取先を設定しないヘッダを各々付加し、各パケットをホップ・バイ・ホップで転送させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は無線通信装置、方法及びプログラムに係り、特に、複数の無線ノードが無線伝送路を介して相互に接続された無線通信網における前記無線ノードとして機能する無線通信装置、当該無線通信装置に適用可能な無線通信方法、及び、コンピュータを前記無線通信装置として機能させるための無線通信プログラムに関する。
【背景技術】
【0002】
近年、ビルや家庭内に設置するセンサやアクチュエータに無線通信部を付加して無線ノードとして各々機能させ、個々の無線ノードが無線伝送路を介して相互に接続された無線ネットワークを構築することで、無線ネットワークを介して様々な情報収集や制御を可能とする技術へのニーズが高まっている。上記の用途に好適な無線ネットワークにおける通信方式として、IEEE802.15.4(短距離無線ネットワークの規格の1つ)上で動作するZigBeeや、省電力性に特化したZ-Waveなどが挙げられる。これらの通信方式が適用された無線ネットワークでは、独自のネットワークアドレスが規定され、それぞれ異なるルーティング方式が実装されている。
【0003】
一方、上記の無線ネットワークに対しては、外部ネットワークとの接続性や既存アプリケーションとの親和性などの理由から、国際的な標準化団体であるIETF(Internet Engineering Task Force)で規定されたIPv6に対応することが望まれている。このため、IETFでは、IEEE802.15.4上でIPv6パケットを伝送するための標準規格として、6LoWPAN(IPv6 over Low-Power Wireless Personal Area Networks)に関する検討を進めている(非特許文献1も参照)。6LoWPAN-WGでは、IPv6パケットのヘッダ情報の圧縮手法や、ロングサイズのデータを複数のパケットに分割するパケットフラグメント手法、ネットワークをメッシュで接続するためのメッシュヘッダなどが検討されている。
【0004】
図8には、6LoWPANにおけるIPv6パケットの伝送方法を説明するために、基地局BSとの間に無線ノードa,bが存在する無線ノードcから、基地局BSを最終受取先としてIPv6パケットを伝送させる場合を一例として示す。図8に示す例において、無線ノードcから送信されるIPv6パケットは、IEEE 802.15.4のMTU(Maximum Transfer Unit)である127バイトに収まらないため、複数のパケットにフラグメント(分割)される。なお、フラグメントされた個々のパケットには、フラグメントヘッダ(Frag)などのヘッダが各々付与される。また、先頭のパケットにはIPv6ヘッダ圧縮(HC1)やUDPヘッダ圧縮(HC2)も付加される。そして、フラグメントされた個々のパケットは無線ノードbへ送信される。
【0005】
フラグメントされたパケットを無線ノードcから受信する無線ノードbではマルチホップ中継が行われる。すなわち、無線ノードbは、フラグメントされたパケットを無線ノードcから受信する度に、受信したパケットをバッファに保持し、フラグメントされたパケットを全て受信すると、フラグメントヘッダに記載されたオフセット情報に基づいて、元のIPv6パケットを組み立てる処理(デフラグメント)を行う。次に、組み立てたIPv6パケットに設定されている最終受取先を認識し、認識した最終受取先に対応するパケットの送信先(この例では無線ノードa)を判断した後に、組み立てたIPv6パケットを複数のパケットに分割(フラグメント)し、フラグメントしたパケットを判断した送信先(無線ノードa)へ送信する。
【0006】
また、フラグメントされたパケットを無線ノードbから受信する無線ノードaにおいても、無線ノードbと同様のマルチホップ中継(デフラグメント及びフラグメント)が繰り返される。そして、フラグメントされたパケットを無線ノードaから受信する基地局BSでは、フラグメントされたパケットのデフラグメントが行われる。これにより、基地局BSでIPv6パケットが受信される。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】RFC4944、"Transmission of IPv6 Packets over IEEE 802.15.4 Networks"、(米国)、2007年7月、p.1−30
【発明の概要】
【発明が解決しようとする課題】
【0008】
図8に示した従来のIPv6パケットの伝送方法では、中継を行う無線ノードでフラグメントされたパケットが受信される度に、フラグメントされたパケットをIPv6パケットへ組み立てる処理と、組み立てたIPv6パケットを複数のパケットに分割する処理が行われる。これは、中継を行う無線ノードで最終受取先を認識してパケットの送信先を判断するために、IPv6パケットの組み立てる必要があるためである。このため、無線ノードで中継が行われる度に、中継処理による処理遅延がIPv6パケットの伝送時間に加算されることになり、IPv6パケットの伝送に長い時間が掛かると共に、中継を行う無線ノードに大きな処理負荷が加わる、という課題がある
【0009】
また、無線ノードがフラグメントされたパケットの中継を行う際には、フラグメントされた先頭のパケットの受信をトリガとして、元のIPv6パケットのサイズ分のバッファを確保する必要があり、同時に中継を行うパケットの数が比較的多い無線ノードでは、平均的な使用メモリ量が大きくなるために搭載メモリのサイズを大きくする必要があり、装置コストが嵩むという課題もある。
【0010】
なお、上述した課題は、IEEE802.15.4に準拠した無線通信網内でIPv6パケットを伝送させる場合に限られるものではなく、無線伝送路の最大転送サイズに応じて送信対象情報を複数のパケットへ分割し、分割した複数のパケットを無線通信網内で伝送させる場合には同様に生じ得る課題である。
【0011】
本発明は上記事実を考慮して成されたもので、送信対象情報を無線伝送路の最大転送サイズに応じて複数のパケットへ分割して無線通信網内で伝送させる際に、平均伝送時間の短縮と無線通信網の利用効率の向上を実現可能な無線通信装置、無線通信方法及び無線通信プログラムを得ることが目的である。
【課題を解決するための手段】
【0012】
請求項1記載の発明に係る無線通信装置は、複数の無線ノードが無線伝送路を介して相互に接続された無線通信網における前記無線ノードとして機能する無線通信装置であって、前記無線伝送路を介して接続された他の前記無線ノードと無線通信によりパケットの送信及び受信を行う無線通信手段と、送信対象情報を前記無線伝送路の最大転送サイズに応じて複数のパケットへ分割する分割手段と、前記無線通信手段が、送信対象情報から分割されかつ最終受取先が自ノードでないパケットを他の前記無線ノードから受信した場合に、受信したパケットを前記無線通信手段によって他の別の前記無線ノードへ送信させる第1の中継、又は、同一の送信対象情報から分割された複数のパケットを全て受信した後に、受信した複数のパケットを前記無線通信手段によって他の別の前記無線ノードへ各々送信させる第2の中継を行う中継手段と、前記無線通信網が輻輳状態か否かを判定する判定手段と、前記判定手段の判定結果に基づいて、前記分割手段によって送信対象情報から分割された複数のパケットを、前記無線通信手段により、自ノードと前記送信対象情報の最終受取先の前記無線ノードとの間に存在する1つ以上の他の前記無線ノードの前記中継手段で前記第1の中継が行われる第1の送信方法で送信させるか、前記1つ以上の他の前記無線ノードの前記中継手段で前記第2の中継が行われる第2の送信方法で送信させるかを切り替える切替手段と、を備えている。
【0013】
請求項1記載の発明に係る無線通信装置は、複数の無線ノードが無線伝送路を介して相互に接続された無線通信網における無線ノードとして機能し、無線伝送路を介して接続された他の無線ノードと無線通信によりパケットの送信及び受信を行う無線通信手段と、送信対象情報を無線伝送路の最大転送サイズに応じて複数のパケットへ分割する分割手段を備えており、中継手段は、無線通信手段が、送信対象情報から分割されかつ最終受取先が自ノードでないパケットを他の無線ノードから受信した場合に、受信したパケットを無線通信手段によって他の別の無線ノードへ送信させる第1の中継、又は、同一の送信対象情報から分割された複数のパケットを全て受信した後に、受信した複数のパケットを前記無線通信手段によって他の別の無線ノードへ各々送信させる第2の中継を行う。
【0014】
上記の第1及び第2の中継のうち、同一の送信対象情報から分割された複数のパケットを全て受信した後に、受信した複数のパケットを無線通信手段によって他の別の無線ノードへ各々送信させる第2の中継は従来通りの中継方式であり、パケットの中継を行う無線ノード(無線通信装置)の中継手段が第2の中継を行った場合、パケットの中継を行う無線ノードでの処理遅延の影響で送信対象情報の伝送時間が増大する。一方、第1の中継では、パケットの中継を行う無線ノード(無線通信装置)において、送信対象情報から分割されかつ最終受取先が自ノードでないパケットが、パケット単位で他の別の無線ノードへ送信(中継)されるので、同一の送信対象情報から分割された複数のパケットを全て受信した後に、受信した複数のパケットを他の別の無線ノードへ各々送信させる処理は行われない。このため、パケットの中継を行う無線ノード(無線通信装置)の中継手段が上記の第1の中継を行う場合、当該無線ノードにおける処理遅延が抑制され、送信対象情報の伝送時間が短縮される。
【0015】
但し、パケットの中継を行う無線ノード(無線通信装置)の中継手段が第1の中継を行った場合、パケットの中継を行う無線ノードでは同一の送信対象情報から分割された各パケットが正常に伝送されたか否かを判断できない。このため、同一の送信対象情報から分割されたパケットの中に、通信エラーやパケットの廃棄により最終受取先の無線ノードに到達しないパケットが生じた場合、送信元の無線ノード(無線通信装置)から送信対象情報を単位として送信対象情報を再送信する必要が生じ、無線通信網の利用効率が低下すると共に、パケットの中継を行う無線ノード(無線通信装置)の中継手段が第2の中継を行う場合よりも送信対象情報の伝送時間が増大する可能性が生じる。そして、通信エラーやパケットの廃棄は無線通信網が輻輳状態のときに生じ易い。
【0016】
上記に基づき請求項1記載の発明では、無線通信網が輻輳状態か否かを判定手段が判定し、切替手段は、判定手段の判定結果に基づいて、分割手段によって送信対象情報から分割された複数のパケットを、無線通信手段により、自ノードと送信対象情報の最終受取先の無線ノードとの間に存在する1つ以上の他の無線ノードの中継手段で第1の中継が行われる第1の送信方法で送信させるか、前記1つ以上の他の前記無線ノードの中継手段で第2の中継が行われる第2の送信方法で送信させるかを切り替えるようにしている。
【0017】
これにより、パケットの中継を行う無線通信装置の中継手段が第1の中継を行うか第2の中継を行うかが、無線通信網が輻輳状態か否か、すなわち通信エラーやパケットの廃棄が生じ易い状態か否かに応じて切り替わることになるので、送信対象情報を無線伝送路の最大転送サイズに応じて複数のパケットへ分割して無線通信網内で伝送させる際に、平均伝送時間の短縮と無線通信網の利用効率の向上を実現することが可能になる。
【0018】
なお、請求項1記載の発明において、切替手段は、例えば請求項2に記載したように、判定手段により無線通信網が輻輳状態でないと判定された場合は、複数のパケットを無線通信手段によって第1の送信方法で送信させ、判定手段により無線通信網が輻輳状態と判定された場合は、複数のパケットを無線通信手段によって第2の送信方法で送信させるように構成することが好ましい。これにより、送信対象情報を無線伝送路の最大転送サイズに応じて複数のパケットへ分割して無線通信網内で伝送させる際に、平均伝送時間の短縮と無線通信網の利用効率の向上を実現することができる。
【0019】
また、請求項1又は請求項2記載の発明において、同一の送信対象情報から分割されて他の無線ノードから各々受信した複数のパケットを元の送信対象情報へ組み立てる組立手段が設けられている場合、中継手段は、例えば請求項3に記載したように、他の無線ノードから受信したパケットのヘッダに当該パケットの最終受取先が設定され、かつ当該最終受取先が自ノードでない場合は、受信したパケットをヘッダに設定された前記最終受取先に対応する他の別の前記無線ノードへ無線通信手段によって送信させ、ヘッダに最終受取先が設定されていない場合は、同一の送信対象情報から分割された複数のパケットを全て受信した後に、組立手段によって送信対象情報の組み立てを行わせ、組立手段によって組み立てられた送信対象情報に設定されている最終受取先を認識した後に、組み立てられた送信対象情報を分割手段によって複数のパケットへ分割させ、分割されたパケットを認識した最終受取先に対応する他の別の無線ノードへ無線通信手段によって送信させる処理を行うように構成することができる。またこの場合、無線通信手段は、例えば請求項3に記載したように、第1の送信方法での送信として、送信対象のパケットに、当該パケットの最終受取先を設定したヘッダを付加して送信する処理を行い、第2の送信方法での送信として、送信対象のパケットに、当該パケットの最終受取先を設定しないヘッダを付加して送信する処理を行うように構成することができる。
【0020】
また、請求項1〜請求項3の何れか1項記載の発明において、判定手段は、例えば請求項4に記載したように、無線通信網のうち、送信対象情報の最終受取先の無線ノード及びその周辺の無線ノードからの輻輳通知の受信の有無、送信対象情報の最終受取先の無線ノード及びその周辺の無線ノードとの間で送受したパケットのうち正常に送受できたパケットの割合、及び、送信対象情報の最終受取先の無線ノード及びその周辺の無線ノードとの間でのパケットの送受の頻度、の少なくとも1つに基づいて、無線通信網のうち、送信対象情報の最終受取先の無線ノード及びその周辺が輻輳状態か否かを判定するように構成することが好ましい。これにより、輻輳状態か否かを判定することで、送信対象情報から分割されたパケットを最終受取先の無線ノード側へ送信した際に通信エラーやパケットの廃棄が生じる頻度の高低を、より正確に判定することができる。
【0021】
また、請求項1〜請求項4の何れか1項記載の発明において、例えば請求項5に記載したように、無線通信手段によって第1の送信方法で送信された複数のパケットを保持手段に保持させておき、保持手段に保持させた複数のパケットに対応する送信対象情報の最終受取先の無線ノードからパケットの再送信要求が受信されるか、又は、予め設定したタイムアウト時間以内に送信対象情報の最終受取先の無線ノードから送信対象情報の受信通知が受信されなかった場合に、保持手段に保持させた複数のパケットを保持手段から読み出し、読み出した複数のパケットを無線通信手段によって再度送信させる再送制御手段を更に設けることが好ましい。これにより、送信対象情報から分割した複数のパケットの一部が通信エラーやパケットの廃棄によって最終受取先の無線ノードで受信されなかった場合にも、複数のパケットの再送信により、送信対象情報を最終受取先の無線ノードへ伝送させることができる。
【0022】
また、請求項5記載の発明において、例えば請求項6に記載したように、判定手段は無線通信網の輻輳度合いも判定し、自ノードと送信対象情報の最終受取先の無線ノードとの間に存在する他の無線ノードの数、及び、判定手段によって判定された輻輳度合いに基づいて、タイムアウト時間を変更する変更手段を設けることが好ましい。変更手段によるタイムアウト時間の変更は、具体的には、例えば請求項7に記載したように、自ノードと送信対象情報の最終受取先の無線ノードとの間に存在する他の無線ノードの数が多くなるに従ってタイムアウト時間が長くなり、判定手段によって判定された輻輳度合いが大きくなるに従ってタイムアウト時間が長くなるように行うことができる。
【0023】
これにより、自ノードと送信対象情報の最終受取先の無線ノードとの間に存在する他の無線ノードの数や無線通信網の輻輳度合いに応じたタイムアウト時間でパケットの再送信が行われることになり、本来は不要なパケットの再送信が行われたり、これに伴ってパケットが廃棄されることを低減することができる。
【0024】
請求項8記載の発明に係る無線通信方法は、複数の無線ノードが無線伝送路を介して相互に接続された無線通信網における前記無線ノードとして機能する無線通信装置に適用される無線通信方法であって、無線通信手段は、前記無線伝送路を介して接続された他の前記無線ノードと無線通信によりパケットの送信及び受信を行い、分割手段は、送信対象情報を前記無線伝送路の最大転送サイズに応じて複数のパケットへ分割し、中継手段は、前記無線通信手段が、送信対象情報から分割されかつ最終受取先が自ノードでないパケットを他の前記無線ノードから受信した場合に、受信したパケットを前記無線通信手段によって他の別の前記無線ノードへ送信させる第1の中継、又は、同一の送信対象情報から分割された複数のパケットを全て受信した後に、受信した複数のパケットを前記無線通信手段によって他の別の前記無線ノードへ各々送信させる第2の中継を行い、判定手段は、前記無線通信網が輻輳状態か否かを判定し、切替手段は、前記判定手段の判定結果に基づいて、前記分割手段によって送信対象情報から分割された複数のパケットを、前記無線通信手段により、自ノードと前記送信対象情報の最終受取先の前記無線ノードとの間に存在する1つ以上の他の前記無線ノードの前記中継手段で前記第1の中継が行われる第1の送信方法で送信させるか、前記1つ以上の他の前記無線ノードの前記中継手段で前記第2の中継が行われる第2の送信方法で送信させるかを切り替えるので、請求項1記載の発明と同様に、送信対象情報を無線伝送路の最大転送サイズに応じて複数のパケットへ分割して無線通信網内で伝送させる際に、平均伝送時間の短縮と無線通信網の利用効率の向上を実現することが可能になる。
【0025】
請求項9記載の発明に係る無線通信プログラムは、複数の無線ノードが無線伝送路を介して相互に接続された無線通信網における前記無線ノードとして機能するコンピュータを、前記無線伝送路を介して接続された他の前記無線ノードと無線通信によりパケットの送信及び受信を行う無線通信手段、送信対象情報を前記無線伝送路の最大転送サイズに応じて複数のパケットへ分割する分割手段、前記無線通信手段が、送信対象情報から分割されかつ最終受取先が自ノードでないパケットを他の前記無線ノードから受信した場合に、受信したパケットを前記無線通信手段によって他の別の前記無線ノードへ送信させる第1の中継、又は、同一の送信対象情報から分割された複数のパケットを全て受信した後に、受信した複数のパケットを前記無線通信手段によって他の別の前記無線ノードへ各々送信させる第2の中継を行う中継手段、前記無線通信網が輻輳状態か否かを判定する判定手段、及び、前記判定手段の判定結果に基づいて、前記分割手段によって送信対象情報から分割された複数のパケットを、前記無線通信手段により、自ノードと前記送信対象情報の最終受取先の前記無線ノードとの間に存在する1つ以上の他の前記無線ノードの前記中継手段で前記第1の中継が行われる第1の送信方法で送信させるか、前記1つ以上の他の前記無線ノードの前記中継手段で前記第2の中継が行われる第2の送信方法で送信させるかを切り替える切替手段として機能させる。
【0026】
請求項9記載の発明に係る無線通信プログラムは、上記の無線通信網の無線ノードとして機能するコンピュータを、上記の無線通信手段、分割手段、中継手段、判定手段及び切替手段として機能させるためのプログラムであるので、上記のコンピュータが請求項9記載の発明に係る無線通信プログラムを実行することで、上記のコンピュータが請求項1に記載の無線通信装置として機能することになり、請求項1記載の発明と同様に、送信対象情報を無線伝送路の最大転送サイズに応じて複数のパケットへ分割して無線通信網内で伝送させる際に、平均伝送時間の短縮と無線通信網の利用効率の向上を実現することが可能になる。
【発明の効果】
【0027】
以上説明したように本発明は、送信対象情報から分割されかつ最終受取先が自ノードでないパケットを他の無線ノードから受信した場合に、受信したパケットを無線通信手段によって他の別の無線ノードへ送信させる第1の中継、又は、同一の送信対象情報から分割された複数のパケットを全て受信した後に、受信した複数のパケットを無線通信手段によって他の別の無線ノードへ各々送信させる第2の中継を行う中継手段を設け、無線通信網が輻輳状態か否かを判定し、判定結果に基づいて、送信対象情報から分割された複数のパケットを、無線通信手段により、自ノードと送信対象情報の最終受取先の無線ノードとの間に存在する1つ以上の他の無線ノードの中継手段で第1の中継が行われる第1の送信方法で送信させるか、1つ以上の他の無線ノードの中継手段で第2の中継が行われる第2の送信方法で送信させるかを切り替えるようにしたので、送信対象情報を無線伝送路の最大転送サイズに応じて複数のパケットへ分割して無線通信網内で伝送させる際に、平均伝送時間の短縮と無線通信網の利用効率の向上を実現することが可能になる、という優れた効果を有する。
【図面の簡単な説明】
【0028】
【図1】第1実施形態で説明した無線通信網及び無線ノードの概略構成を示すブロック図である。
【図2】IPv6パケット送信処理の内容を示すフローチャートである。
【図3】(A)はIPv6パケットをホップ・バイ・ホップ(Hop by Hop)で送信する場合、(B)はエンド・トゥ・エンド(End to End)で送信する場合の処理を各々示す概略図である。
【図4】パケット受信処理の内容を示すフローチャートである。
【図5】データパケット受信処理の内容を示すフローチャートである。
【図6】タイマタイムアウト処理の内容を示すフローチャートである。
【図7】第2実施形態で説明した無線通信網及び無線ノードの概略構成を示すブロック図である。
【図8】従来のIPv6パケットの伝送方法を示す概略図である。
【発明を実施するための形態】
【0029】
以下、図面を参照して本発明の実施形態の一例を詳細に説明する。
【0030】
〔第1実施形態〕
図1には本第1実施形態に係る無線通信網10が開示されている。無線通信網10は複数の無線ノード12が無線伝送路14を介して相互に接続されて構成されている。無線通信網10に設けられた無線ノード12のうち、1個以上の無線ノード12は基地局として機能し、基地局として機能する無線ノード12は、有線伝送路16を介して有線通信網18に接続されている。無線ノード12は本発明に係る無線通信装置の一例である。なお、以下では無線通信網10がIEEE802.15.4に準拠した無線通信を行う構成である場合を説明するが、本発明はこの態様に限定されるものではない。
【0031】
個々の無線ノード12は互いに同一の構成であり、アンテナ20、増幅器22、無線送受信部24、パケット受信部26、判定処理部28、組立処理部30、IPv6パケット処理部32、中継処理部34、再送処理部36、分割処理部38、バッファ40、及び、パケット送信部42を備え、L2(レイヤ2)レベルのルーティング情報が登録されるL2ルーティングテーブル44と、L3(レイヤ3)レベルのルーティング情報が登録されるL3ルーティングテーブル46も各々設けられている。
【0032】
無線ノード12は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)等で実現され、無線ノード12の各機能部は例えば電子回路等で実現される。なお、無線ノード12は、アンテナ20、増幅器22及び無線送受信部24が設けられたコンピュータ(図示省略)で実現することも可能である。この態様では、上記のコンピュータに設けられた不揮発性の記憶部に制御プログラムが記憶され、CPUが記憶部から制御プログラムを読み出してメモリに展開し、制御プログラムを実行することで、上記のコンピュータが上記のパケット受信部26、判定処理部28、組立処理部30、IPv6パケット処理部32、中継処理部34、再送処理部36、分割処理部38及びパケット送信部42として各々機能する。この態様における制御プログラムは、本発明に係る無線通信プログラムの一例である。また、制御プログラムは、上記のように記憶部から読み出すことに代えて、例えばCD−ROMやDVD−ROM等の任意の記録媒体から読み出して実行することも可能である。
【0033】
アンテナ20は、無線伝送路14を介して接続された他の無線ノード12と無線信号の送受信を行う。増幅器22は、無線伝送路14を介して接続された他の無線ノード12へ送信する無線信号を増幅する。無線送受信部24は、電気信号と無線信号の相互変換や変復調、周波数変換処理等を行うことで、無線伝送路14を介して接続された他の無線ノード12と無線通信によって情報(パケット)の送受信を行う。パケット受信部26は、他の無線ノード12から受信したパケットを解析し、受信したパケットがデータパケットや制御パケットか等の識別を行う。
【0034】
判定処理部28は、他の無線ノード12から受信したパケットがパケット受信部26によって制御パケットと識別された場合に内部データの解析を行い、必要に応じてL2ルーティングテーブル44に登録されたルーティング情報の更新等の処理を行う。また、判定処理部28は、他の無線ノード12から受信したパケットがパケット受信部26によってデータパケットと識別された場合には、データパケットのヘッダに当該パケットの最終受取先が設定されているか否か、及び、最終受取先が設定されている場合は当該最終受取先が自ノードか否かに基づいて、L2レベルでの中継処理(パケット単位の中継処理)を行うか、複数のパケットに分割された情報の組み立てを行うかを判断する。
【0035】
組立処理部30は、判定処理部28により、分割された情報の組み立てを行うと判断された場合に、複数のパケットに分割された情報の組み立て処理を行う。なお組立処理部30は請求項3に記載の組立手段の一例である。
【0036】
IPv6パケット処理部32は、組立処理部30によって組み立てられた情報がL3レベルの制御パケットに相当する場合に、必要に応じてL3ルーティングテーブル46に登録されたルーティング情報の更新等の処理を行う。またIPv6パケット処理部32は、組立処理部30によって組み立てられた情報がIPv6のデータパケットであり、当該パケットに設定されている最終受取先が自ノードでない場合は、L3ルーティングテーブル46のルーティング情報に基づいて、組み立てられた情報(IPv6のデータパケット)を送信する無線ノード12を決定する処理を行う。
【0037】
分割処理部38は、IPv6パケット処理部32によって送信先の無線ノード12が決定されたIPv6パケットを、無線伝送路14のMTUに応じたサイズのパケットに分割する。なお、分割処理部38は本発明における分割手段の一例である。
【0038】
中継処理部34は、判定処理部28によってL2レベルでの中継処理(パケット単位の中継処理)を行うと判断された場合に、L2ルーティングテーブル44に登録されているルーティング情報に基づき、受信したデータパケットを送信する無線ノード12を決定する処理を行う。
【0039】
再送処理部36は、組立処理部30で組み立て処理が行われた情報にパケットの受信抜けがあった場合に、パケットの送信元に対して未受信のパケットの再送信を要求する。なお、再送制御部36は請求項5に記載の再送制御手段の一例である。
【0040】
バッファ40は、中継処理待ちのパケットを一時的に保持すると共に、パケット送信先の無線ノード12から再送信が要求された場合に備えて送信済みのパケットも一時的に保持する。パケット送信部42は、送信対象としてバッファ40に一時保持されたパケットや、自身で生成したデータ、制御情報を無線送受信部24によって他の無線ノード12へ送信させる。
【0041】
次に本実施形態の作用として、まず、IPv6パケットの送信を行う無線ノード12で実行されるIPv6パケット送信処理について、図2を参照して説明する。
【0042】
IPv6パケット送信処理では、まずステップ50において、IPv6パケット処理部32で送信対象のIPv6パケットが生成される。なお、図3に示すように、ステップ50で生成されるIPv6パケットのIPヘッダには、生成されたIPv6パケットの最終受取先の無線ノード12(例えば基地局として機能する無線ノード12)を表す情報が設定される。ステップ50で生成されるIPv6パケットは本発明における送信対象情報の一例である。次のステップ52では、ステップ50で生成したIPv6パケットのサイズが、無線伝送路14のMTU(例えばIEEE802.15.4では127バイト)よりも大きいか否かがIPv6パケット処理部32で判定される。
【0043】
ステップ52の判定が肯定された場合はステップ54へ移行し、無線通信網10のうちIPv6パケットの最終受取先の無線ノード12やその周辺が輻輳状態か否かがIPv6パケット処理部32で判定される。この判定は、例えば後述するネットワーク状態テーブルを参照し、IPv6パケットの最終受取先の無線ノード12又は当該無線ノード12と無線伝送路14を介して直接接続された無線ノード12(以下、これらを輻輳判定対象の無線ノード12と称する)から受信した輻輳通知に基づき、IPv6パケットの最終受取先の無線ノード12やその周辺で輻輳状態が発生していることを表す情報が登録されているか否かを判断することで行うことができる。
【0044】
また、これに代えて、輻輳判定対象の無線ノード12との間で現時点迄に送受したパケットのうち、正常に送受できたパケットの割合を閾値と比較し、比較結果に基づいてIPv6パケットの最終受取先の無線ノード12やその周辺が輻輳状態か否かを判定するようにしてもよい。また、輻輳判定対象の無線ノード12との間でのパケットの送受の頻度を閾値と比較し、比較結果に基づいてIPv6パケットの最終受取先の無線ノード12やその周辺が輻輳状態か否かを判定するようにしてもよい。なお、ステップ54は本発明の判定手段の一例に相当する処理である。
【0045】
IPv6パケットの最終受取先の無線ノード12やその周辺が輻輳状態でない場合、IPv6パケットの最終受取先側へパケットを送信しても通信エラーやパケットの廃棄が発生する確率は低い。従って、自ノードと最終受取先の無線ノード12との間でIPv6パケットをエンド・トゥ・エンドで転送しても、通信エラーやパケットの廃棄に伴う再送信によって無線通信網10の利用効率が低下する可能性は低いと判断できる。このため、ステップ54の判定が否定された場合はステップ58において、自ノードと最終受取先の無線ノード12との間でIPv6パケットをエンド・トゥ・エンドで転送させるために、例として図3(B)に示すように、IPv6パケットから分割した個々のパケットに付加するヘッダ情報として、IPv6パケットの最終受取先を設定したヘッダ情報が分割処理部38によって生成される。
【0046】
なお、本実施形態において、IPv6パケットをエンド・トゥ・エンドで転送することは、6LoWPANで規定されているメッシュヘッダを用いて、IPv6パケットの送信元の無線ノード12とIPv6パケットの最終受取先の無線ノード12との間にレイヤ2のトンネリングパスを生成することに相当する。このトンネリングパスにより、IPv6パケットの送信元の無線ノード12と最終受取先の無線ノード12との間に存在する各無線ノード12は、分割されたパケットを元のIPv6パケットに組み立てることなく、パケットの中継を行うことが可能となる。
【0047】
一方、IPv6パケットの最終受取先の無線ノード12やその周辺が輻輳状態の場合、IPv6パケットの送信先側へパケットを送信した際に通信エラーやパケットの廃棄が発生する確率は比較的高い。自ノードと最終受取先の無線ノード12との間でIPv6パケットをエンド・トゥ・エンドで転送した場合、通信エラーやパケットの廃棄に伴う再送信は自ノード(IPv6パケットの送信元の無線ノード12)と最終受取先の無線ノード12との間で行われるので、パケットの再送信が繰り返されると無線通信網10の利用効率は低下する。このため、ステップ54の判定が肯定された場合はステップ56へ移行し、自ノードと最終受取先の無線ノード12との間でIPv6パケットをホップ・バイ・ホップで転送させるために、例として図3(A)に示すように、IPv6パケットから分割した個々のパケットに付加するヘッダ情報として、IPv6パケットの最終受取先を設定しないヘッダ情報が分割処理部38で生成される。
【0048】
なお、ステップ58は後述するステップ62〜66と共に、本発明における第1の送信方法で送信する処理の一例、ステップ56は後述するステップ62〜66と共に、本発明における第2の送信方法で送信する処理の一例であり、ステップ54の判定の結果に応じて上記各処理の何れかを行うかを切替える制御は、本発明における切替手段の一例に相当する処理である。
【0049】
ステップ58又はステップ56の処理を行うとステップ60へ移行し、分割処理部38により、図3(A),(B)に「分割」と表記して示すように、送信対象のIPv6パケットが無線伝送路14のMTUに応じたサイズの複数のパケットに分割される。次のステップ62では、分割処理部38により、先のステップ58又はステップ56で生成されたヘッダ情報が、分割された複数のパケットに各々付加され、ヘッダ情報が付加された複数のパケットはバッファ40に一時記憶される。次のステップ64では、IPv6パケット処理部32によってL3ルーティングテーブル46のルーティング情報が参照され、ヘッダ情報が付加された複数のパケットの送信先の無線ノード12(自ノードと無線伝送路14を介して直接接続された無線ノード)が判定される。そしてステップ66では、バッファ40に一時記憶された複数のパケットが、パケット送信部42(及び無線送受信部24、増幅器22、アンテナ20)により、ステップ64で判定された送信先の無線ノード12へ無線通信によって送信される。
【0050】
なお、送信対象のIPv6パケットのサイズが無線伝送路14のMTU以下の場合には、ステップ52の判定が否定され、上記と同様にIPv6パケットの最終受取先を設定したヘッダ情報の生成(ステップ68)、生成したヘッダ情報のパケットへの付加(ステップ70)、パケットの送信先の判定(ステップ72)、パケットの送信(ステップ74)が順に行われる。なお、このときもIPv6パケットの最終受取先の無線ノード12やその周辺が輻輳状態か否かを判定し、輻輳状態と判定した場合には最終受取先を設定しないヘッダ情報を生成してパケットに付加するようにしてもよいし、IPv6パケットの送信先側が輻輳状態か否かに拘わらず、最終受取先を設定しないヘッダ情報を生成してパケットに付加するようにしてもよい。
【0051】
上記のようにしてパケットを送信するとステップ76へ移行し、再送処理部36によって再送信タイマがスタートされる。なお、IPv6パケットをエンド・トゥ・エンドで転送した場合、ACK応答(肯定応答)や再送要求はIPv6パケットの最終受取先から送信される一方、IPv6パケットをホップ・バイ・ホップで転送した場合、ACK応答(肯定応答)や再送要求はパケットの直接の送信先(ステップ64,72で判定した送信先)から送信される。このため、ステップ76でスタートされる再送信タイマのタイマ値は、エンド・トゥ・エンド転送かホップ・バイ・ホップ転送かによって切り替えされる。そしてステップ78において、送信したパケットが再送処理部36によってバッファ40に保存され、IPv6パケット送信処理が終了される。
【0052】
次に、無線ノード12が他の無線ノード12からパケットを受信したことを契機として実行されるパケット受信処理について、図4を参照して説明する。パケット受信処理では、まずステップ100において、受信したパケットがデータパケットか制御パケットかがパケット受信部26によって判定される。受信したパケットがデータパケットの場合、ステップ102でデータパケット受信処理が行われる。
【0053】
図5に示すように、データパケット受信処理では、まずステップ140において、判定処理部28により、受信したデータパケットに付加されているヘッダが抽出される。次のステップ142では、ステップ140で抽出したヘッダにパケットの最終受取先が設定されているか否が判定処理部28によって判定される。
【0054】
受信したパケットに付加されているヘッダにパケットの最終受取先が設定されている場合、受信したパケットはIPv6パケットの送信元からエンド・トゥ・エンドで転送されたIPv6パケット(の一部)と判断できる。このため、ステップ142の判定が肯定された場合はステップ176へ移行し、ヘッダに設定されているパケットの最終受取先が自ノードか否が判定処理部28によって判定される。
【0055】
この判定が否定された場合、自ノードは受信したパケットの中継処理を行う必要があると判断できるので、ステップ194へ移行し、中継処理部34により、L2ルーティングテーブル44のルーティング情報に基づいて、受信したパケットの送信先(自ノードと無線伝送路14を介して直接接続された無線ノード12)が判定される。そしてステップ196では、パケット送信部42(及び無線送受信部24、増幅器22、アンテナ20)により、受信したパケットがステップ194で判定された送信先の無線ノード12へ無線通信によって送信される。なお、ステップ194,196は本発明の中継手段による第1の中継に相当する処理の一例である。
【0056】
このように、IPv6パケットから分割されてエンド・トゥ・エンドで転送されたパケットは、中継を行う無線ノード12において、IPv6パケットの組み立て及び分割が行われることなく、パケット単位で中継(転送)が行われる。従って、中継を行う無線ノード12で処理遅延が発生することはなく、IPv6パケットの伝送時間が短縮される。
【0057】
また、IPv6パケットの最終受取先が設定されている無線ノード12では、先のステップ176の判定が肯定されてステップ178へ移行し、組立処理部30により、今回受信したパケットが、同一のIPv6パケットから分割された複数のパケットのうち、最初に受信したパケットか否かが判定される。判定が肯定された場合はステップ180へ移行し、今後受信するIPv6パケットを保管するための保管領域が組立処理部30によって確保される。またステップ182では、再送処理部36によって受信タイマがスタートされる。そしてステップ184では、組立処理部30により、今回受信したパケットがステップ180で確保された保管領域に保管される。なお、上記のステップ180,182は同一のIPv6パケットから分割された複数のパケットのうちの2個目以降のパケットを受信した際にはスキップされる。
【0058】
次のステップ186では、同一のIPv6パケットから分割された複数のパケットを全て受信したか否かが組立処理部30によって判定される。判定が否定された場合はデータパケット受信処理を終了する。ステップ186の判定は、IPv6パケットの最終受取先が設定されている無線ノード12でエンド・トゥ・エンドで転送された自ノード宛のパケットが受信される度に繰り返される。そして、同一のIPv6パケットから分割された複数のパケットを全て受信すると、ステップ180の判定が肯定されてステップ188へ移行し、先のステップ182でスタートされた受信タイマが再送処理部36によってストップされる。
【0059】
次のステップ190では、組立処理部30により、保管領域に保管されている各パケット(同一のIPv6パケットから分割された複数のパケット)からヘッダを各々除去し、各パケットの本体部分(Payload)を連続的に配列することで、元のIPv6パケットを組み立てる組立処理が行われる。そしてステップ192では、IPv6パケットの送信元の無線ノード12に対し、IPv6パケットの受信が完了したことを通知するACK応答(肯定応答)がパケット送信部42によって送信され、データパケット送信処理が終了される。このACK応答のフォーマットとしては、IEEE802.11nで採用されているブロックACKのフォーマットを用いてもよい。
【0060】
一方、受信したパケットに付加されているヘッダにパケットの最終受取先が設定されていない場合、受信したパケットはIPv6パケットの送信元からホップ・バイ・ホップで転送されたIPv6パケット(の一部)と判断できる。この場合、ステップ142の判定が否定されてステップ144へ移行し、組立処理部30により、今回受信したパケットが、同一のIPv6パケットから分割された複数のパケットのうち、最初に受信したパケットか否かが判定される。
【0061】
判定が肯定された場合はステップ146へ移行し、先にも説明したように、組立処理部30によるIPv6パケットの保管領域の確保(ステップ146)、再送処理部36による受信タイマのスタート(ステップ148)が順に行われる。そしてステップ150では、組立処理部30により、今回受信したパケットがステップ146で確保された保管領域に保管される。なお、上記のステップ146,148も同一のIPv6パケットから分割された複数のパケットのうちの2個目以降のパケットを受信した際にはスキップされる。
【0062】
次のステップ152では、同一のIPv6パケットから分割された複数のパケットを全て受信したか否かが組立処理部30によって判定される。判定が否定された場合はデータパケット受信処理を終了する。ステップ152の判定は、無線ノード12でホップ・バイ・ホップで転送されたパケットが受信される度に繰り返される。そして、同一のIPv6パケットから分割された複数のパケットを全て受信すると、ステップ152の判定が肯定されてステップ154へ移行し、先のステップ148でスタートされた受信タイマが再送処理部36によってストップされる。
【0063】
次のステップ156では、組立処理部30により、保管領域に保管されている各パケット(同一のIPv6パケットから分割された複数のパケット)からヘッダを各々除去し、各パケットの本体部分(Payload)を連続的に配列することで、元のIPv6パケットを組み立てる組立処理が行われる。ステップ158では、IPv6パケット処理部32により、組み立てられたIPv6パケットのIPヘッダに設定されている最終受取先(図3も参照)を抽出する処理が行われる。ステップ160では、ステップ158で抽出した最終受取先が自ノードか否かがIPv6パケット処理部32によって判定される。
【0064】
ステップ160の判定が否定された場合、自ノードは受信したIPv6パケットの中継処理を行う必要があると判断できるので、ステップ162へ移行し、今回受信したパケットを送信した無線ノード12(自ノードと無線伝送路14を介して直接接続された無線ノード12)に対し、IPv6パケットの受信が完了したことを通知するACK応答(肯定応答)がパケット送信部42によって送信される。このACK応答のフォーマットとしては、IEEE802.11nで採用されているブロックACKのフォーマットを用いてもよい。
【0065】
次のステップ164では、IPv6パケット処理部32によってL3ルーティングテーブル46のルーティング情報が参照され、今回受信したIPv6パケットの送信先の無線ノード12(自ノードと無線伝送路14を介して直接接続された無線ノード)が判定される。ステップ166では、分割処理部38により、組み立てられたIPv6パケットが複数のパケットに再度分割され、分割された個々のパケットにIPv6パケットの最終受取先を設定しないヘッダ情報が各々付加され、ヘッダ情報が付加された個々のパケットはバッファ40に一時記憶される。
【0066】
ステップ168では、バッファ40に一時記憶された複数のパケットが、パケット送信部42(及び無線送受信部24、増幅器22、アンテナ20)により、ステップ164で判定された送信先の無線ノード12へ無線通信によって送信される。そしてステップ170では再送処理部36によって再送信タイマがスタートされ、ステップ172では送信したパケットが再送処理部36によってバッファ40に保存される。なお、上述したステップ144〜172は本発明の中継手段による第2の中継に相当する処理の一例である。
【0067】
また、組立処理部30によって組み立てられたIPv6パケットのIPヘッダに設定されている最終受取先が自ノードの場合には、ステップ160の判定が肯定されてステップ174へ移行し、今回受信したパケットを送信した無線ノード12(自ノードと無線伝送路14を介して直接接続された無線ノード12)に対し、IPv6パケットの受信が完了したことを通知するACK応答(肯定応答)がパケット送信部42によって送信される。
【0068】
このように、IPv6パケットから分割されたパケットがホップ・バイ・ホップで転送された場合、中継を行う個々の無線ノード12において、IPv6パケットの組み立て及び分割が行われ、IPv6パケット単位で中継(転送)が行われる。従って、中継を行う無線ノード12で処理遅延が発生し、IPv6パケットの伝送時間はエンド・トゥ・エンドの転送を行う場合よりも長くなる。
【0069】
但し、IPv6パケットをエンド・トゥ・エンドで転送した場合、パケットの再送要求とそれに伴うパケットの再送信がIPv6パケットの送信元の無線ノード12と最終受取先の無線ノード12との間で送受される。このため、無線通信網10に輻輳が発生し、通信エラーやパケットの廃棄が頻発することでパケットの再送信が必要となる確率が高くなった場合、IPv6パケットをエンド・トゥ・エンドで転送することで無線通信網10の利用効率は低下する。本実施形態では、IPv6パケットの最終受取先の無線ノード12やその周辺が輻輳状態の場合にIPv6パケットをホップ・バイ・ホップで転送しているので、通信エラーやパケット廃棄の頻発に伴って無線通信網10の利用効率が低下することを未然に抑制することができる。
【0070】
一方、無線ノード12が他の無線ノード12から受信したパケットが制御パケットであった場合には、パケット受信処理(図2)のステップ100からステップ104へ移行し、受信した制御パケットが、L2ルーティングテーブル44に登録するルーティング情報を通知する制御パケットか否かが判定処理部28によって判定される。この判定が肯定された場合はステップ106へ移行し、上記の制御パケットによって通知されたルーティング情報をL2ルーティングテーブル44に登録するL2ルーティングテーブル更新処理が中継処理部34によって行われる。
【0071】
また、個々の無線ノード12は、自ノードの無線帯域の利用率や隣接する無線ノード12とのパケットエラー率等に基づいて、無線通信網10のうち自ノード周辺における輻輳状態の程度を定期的に判定し、輻輳状態の判定結果を上記の輻輳通知として他の無線ノード12へ通知する処理を行っている。ステップ104の判定が否定された場合はステップ108へ移行し、他の無線ノード12から受信した制御パケットが上記の輻輳通知か否かが判定処理部28によって判定される。この判定が肯定された場合はステップ110へ移行し、輻輳通知によって通知された輻輳状態の程度を表す情報を、輻輳通知送信元の無線ノード12を表す情報と対応づけてネットワーク状態テーブルに登録する処理が判定処理部28によって行われる。
【0072】
また、ステップ108の判定が否定された場合はステップ112へ移行し、他の無線ノード12から受信した制御パケットがACK応答か否かが判定処理部28によって判定される。この判定が肯定された場合はステップ114へ移行し、受信したACK応答が自ノード宛か否かが判定処理部28によって判定される。この判定が肯定された場合はステップ120へ移行し、再送信に備えてバッファ40に保存されているパケットが再送処理部36によって廃棄される。また、ステップ122では再送信タイマが再送処理部36によって停止される。
【0073】
また、IPv6パケットが送信元の無線ノード12から最終受取先の無線ノード12へエンド・トゥ・エンドで転送された場合、IPv6パケットの最終受取先の無線ノード12からIPv6パケットの送信元の無線ノード12へACK応答が送信されるので、IPv6パケットの最終受取先の無線ノード12とIPv6パケットの送信元の無線ノード12との間に存在する無線ノード12では、ACK応答を中継する必要が生ずる。この場合はステップ114の判定が否定されてステップ116へ移行し、受信したACK応答を送信する無線ノード12(自ノードと無線伝送路14を介して直接接続された無線ノード12)が中継処理部34によって判定される。そしてステップ118では、ステップ116で判定した送信先の無線ノード12に対し、受信したACK応答がパケット送信部42によって送信される。
【0074】
また、ステップ112の判定が否定された場合、他の無線ノード12から受信した制御パケットは、パケットの再送信を要求する再送要求パケットであるので、ステップ124へ移行し、受信した再送要求が自ノード宛か否かが判定処理部28によって判定される。この判定が肯定された場合はステップ130へ移行し、再送信に備えてバッファ40に保存されているパケットが再送処理部36によって読み出され、読み出されたパケットがパケット送信部42によって再度送信される。また、ステップ132では再送信タイマが再送処理部36によってスタートされる。
【0075】
また、IPv6パケットが送信元の無線ノード12から最終受取先の無線ノード12へエンド・トゥ・エンドで転送された場合、再送要求もIPv6パケットの最終受取先の無線ノード12からIPv6パケットの送信元の無線ノード12へ送信されるので、IPv6パケットの最終受取先の無線ノード12とIPv6パケットの送信元の無線ノード12との間に存在する無線ノード12では、再送要求を中継する必要が生ずる。この場合はステップ124の判定が否定されてステップ126へ移行し、受信した再送要求を送信する無線ノード12(自ノードと無線伝送路14を介して直接接続された無線ノード12)が中継処理部34によって判定される。そしてステップ128では、ステップ126で判定した送信先の無線ノード12に対し、受信した再送要求がパケット送信部42によって送信される。
【0076】
続いて、無線ノード12で受信タイマ又は再送信タイマがタイムアウトしたことを契機として実行されるタイマタイムアウト処理について、図6を参照して説明する。タイマタイムアウト処理では、まずステップ200において、タイマタイムアウトしたタイマが受信タイマか再送信タイマかが判定処理部28によって判定される。
【0077】
受信タイマがタイムアウトした場合には、ステップ200からステップ202へ移行する。受信タイマは、同一のIPv6パケットから分割された全てのパケットが設定時間以内に揃わなかった場合にタイムアウトする。ステップ202では、保管領域に保管されているパケットが、ヘッダに最終受取先が設定され、かつ設定された最終受取先として自ノードが設定されたパケットか否か判定する。この判定が肯定された場合はステップ212へ移行し、IPv6パケットの送信元の無線ノード12を宛先とする再送要求パケットが再送処理部36、パケット送信部42によって送信される。この再送要求のフォーマットとしては、IEEE802.11nで採用されているブロックACKのフォーマットを用いてもよい。またステップ214では、保管領域に保管しているパケットが再送処理部36によって廃棄される。この場合、IPv6パケットの最終受取先から送信された再送要求は、前述のように途中の無線ノード12で中継されてIPv6パケットの送信元で受信される。
【0078】
また、ステップ202の判定が否定された場合、すなわち再送信対象のパケットがホップ・バイ・ホップで転送されたパケットの場合には、ステップ204へ移行し、再送処理部36によって保管領域が参照され、同一のIPv6パケットから分割された複数のパケットのうち自ノードが未受信のパケットが認識される。次のステップ206では、再送要求パケットの送信先(保管領域に保管されているパケットの送信元)の無線ノード12が再送処理部36によって判定される。そしてステップ208では、ステップ204で認識した未受信のパケットの再送信を要求する再送要求が、再送処理部36及びパケット送信部42により、ステップ206で判定した送信先へ送信される。この再送要求のフォーマットとしては、IEEE802.11nで採用されているブロックACKのフォーマットを用いてもよい。また、ステップ210では再送処理部36によって再送信タイマがスタートされる。
【0079】
また、再送信タイマがタイムアウトした場合は、ステップ200からステップ216へ移行する。再送信タイマは、自ノードがデータパケットを送信してから設定時間以内にACK応答を受信しなかった場合にタイムアウトする。ステップ216では、再送信対象の複数のパケットが再送処理部36によってバッファ40から各々読み出される。また、ステップ218では、読み出された複数のパケットの送信先が再送処理部36によって判定される。そしてステップ220では、再送処理部36及びパケット送信部42により、読み出された各パケットがステップ228で判定した送信先の無線ノード12へ再送信される。また、ステップ222では再送処理部36によって再送信タイマがスタートされる。
【0080】
〔第2実施形態〕
次に本発明の第2実施形態について説明する。なお、第1実施形態と同一の部分には同一の符号を付し、説明を省略する。図7には本第2実施形態に係る無線通信網10及び無線ノード12が示されている。本第2実施形態は、無線ノード12にタイマ処理部48が設けられている点でのみ第1実施形態と相違している。なお、タイマ処理部48は請求項6,7に記載の変更手段の一例である。
【0081】
第1実施形態で説明したように、IPv6パケットをエンド・トゥ・エンドで転送する場合、IPv6パケットの送信元の無線ノード12では、パケットの再送信に備え、IPv6パケットの最終受取先の無線ノード12からACK応答を受信するか、又は再送信タイマがタイムアウトする迄の間は、送信済の複数のパケットをバッファ40に保存する。
【0082】
但し、最終受取先の無線ノード12でIPv6パケットを正常に受信できたとしても、最終受取先の無線ノード12から送信されたACK応答を中継する途中の無線ノード12でのバッファ溢れや、パケットの衝突等の理由で、IPv6パケットの送信元の無線ノード12がACK応答を受信する迄に長い時間が掛かったり、IPv6パケットの送信元の無線ノード12がACK応答を受信できない場合がある。そして、再送信タイマのタイムアウト値を大きな値にすると、送信済みのパケットを長時間保持するためにバッファ40のサイズを大きくする必要が生じ、またタイムアウト値を小さな値にすると、ACK応答を受信する前に再送信タイマがタイムアウトしてしまうことで、本来は不必要な再送信やパケットの廃棄を引き起こすことになる。
【0083】
本第2実施形態に係るタイマ処理部48は、自ノードがIPv6パケットをエンド・トゥ・エンドで送信する場合に、再送信タイマのタイムアウト時間を、自ノードとIPv6パケットの最終受取先の無線ノード12との間に存在している無線ノード12の数、及び、無線通信網10における輻輳度合いに応じて動的に設定する処理を行う。
【0084】
具体的には、タイマ処理部48は、IPv6パケットから分割した送信済の複数のパケットがバッファ40に保存される際に、ネットワーク状態テーブルに登録されている輻輳状態、L2ルーティングテーブル44やL3ルーティングテーブル46に保持されているIPv6パケットの最終受取先の無線ノード12迄のノード数(ホップ数)を参照する。そして、タイマ処理部48は、例えば次の(1)式に従ってタイムアウト時間TOを演算する。
【0085】
TO=2(T1hop×HOP)+Tcong …(1)
但し、T1hopは1hop中継に必要とされる処理時間、HOPは最終受取先迄のホップ数(ノード数)、Tcongは輻輳状態に応じた加算時間であり、輻輳度合いが高くなるに従って大きな値が設定される。
【0086】
(1)式で表されるタイムアウト時間TOはIPv6パケットの送信元と最終受取先との間でのパケット往復時間に基づき算出され、このタイムアウト時間TOは、IPv6パケットから分割した複数のパケットのうちの最終パケットが送信された時点で再送信タイマにセットされる。再送信タイマのタイムアウト時間として上記で得られたタイムアウト時間TOを設定することで、最終受取先迄のホップ数(中継回数)や無線通信網10の輻輳状態に応じた最適なタイミングで再送信タイマがタイムアウトすることになり、本来は不必要な再送信やパケットの廃棄を低減することができる。
【0087】
なお、上記ではIPv6パケットの送信に際し、IPv6パケットの最終受取先の無線ノード12やその周辺が輻輳状態か否か判定する態様を説明したが、これに限定されるものではない。無線通信網10内の何れかの箇所が輻輳状態になると、無線通信網10内の他の箇所も影響を受けて輻輳に近い状態になることから、上記判定に代えて、輻輳状態となっていることを特定することなく、無線通信網10内の何れかの箇所が輻輳状態か否かを判定するようにしてもよい。具体的な判定方法としては、無線通信網10内の何れかの箇所が輻輳状態となっていることを表す情報がネットワーク状態テーブルに登録されているか否かを判定してもよいし、他の無線ノード12との間で現時点迄に送受したパケットのうち、正常に送受できたパケットの割合を閾値と比較した結果に基づいて輻輳状態か否かを判定するようにしてもよいし、他の無線ノード12との間でのパケットの送受の頻度を閾値と比較した結果に基づいて輻輳状態か否かを判定を行うようにしてもよい。本発明はこの態様も権利範囲に含むものである。
【0088】
また、上記ではIPv6パケットの送信元の無線ノード12がホップ・バイ・ホップでの転送を行った場合、中継を行う無線ノード12でもホップ・バイ・ホップでの転送を継続する態様を説明したが、これに限定されるものではなく、例えば中継を行う無線ノード12でも送信先が輻輳状態か否かを判定し、輻輳状態でないと判定した場合にはエンド・トゥ・エンドでの転送に切り替えるようにしてもよい。
【0089】
また、上記ではIEEE802.15.4に準拠した無線通信を行う構成の無線通信網10を例に説明したが、無線通信の規格はIEEE802.15.4に限られるものではなく、エンド・トゥ・エンドでの情報の転送とホップ・バイ・ホップでの情報の転送が可能な規格であれば本発明を適用可能である。また、上記では本発明における送信対象情報の一例としてIPv6パケットを説明したが、送信対象情報としては任意の情報を適用可能である。
【符号の説明】
【0090】
10 無線通信網
12 無線ノード
14 無線伝送路
28 判定処理部
30 組立処理部
32 IPv6パケット処理部
34 中継処理部
36 再送処理部
38 分割処理部
40 バッファ
42 パケット送信部
48 タイマ処理部

【特許請求の範囲】
【請求項1】
複数の無線ノードが無線伝送路を介して相互に接続された無線通信網における前記無線ノードとして機能する無線通信装置であって、
前記無線伝送路を介して接続された他の前記無線ノードと無線通信によりパケットの送信及び受信を行う無線通信手段と、
送信対象情報を前記無線伝送路の最大転送サイズに応じて複数のパケットへ分割する分割手段と、
前記無線通信手段が、送信対象情報から分割されかつ最終受取先が自ノードでないパケットを他の前記無線ノードから受信した場合に、受信したパケットを前記無線通信手段によって他の別の前記無線ノードへ送信させる第1の中継、又は、同一の送信対象情報から分割された複数のパケットを全て受信した後に、受信した複数のパケットを前記無線通信手段によって他の別の前記無線ノードへ各々送信させる第2の中継を行う中継手段と、
前記無線通信網が輻輳状態か否かを判定する判定手段と、
前記判定手段の判定結果に基づいて、前記分割手段によって送信対象情報から分割された複数のパケットを、前記無線通信手段により、自ノードと前記送信対象情報の最終受取先の前記無線ノードとの間に存在する1つ以上の他の前記無線ノードの前記中継手段で前記第1の中継が行われる第1の送信方法で送信させるか、前記1つ以上の他の前記無線ノードの前記中継手段で前記第2の中継が行われる第2の送信方法で送信させるかを切り替える切替手段と、
を備えた無線通信装置。
【請求項2】
前記切替手段は、前記判定手段により前記無線通信網が輻輳状態でないと判定された場合は、前記複数のパケットを前記無線通信手段によって前記第1の送信方法で送信させ、前記判定手段により前記無線通信網が輻輳状態と判定された場合は、前記複数のパケットを前記無線通信手段によって前記第2の送信方法で送信させる請求項1記載の無線通信装置。
【請求項3】
同一の送信対象情報から分割されて他の前記無線ノードから各々受信した複数のパケットを元の前記送信対象情報へ組み立てる組立手段を更に備え、
前記中継手段は、他の前記無線ノードから受信したパケットのヘッダに当該パケットの最終受取先が設定され、かつ当該最終受取先が自ノードでない場合は、受信した前記パケットを前記ヘッダに設定された前記最終受取先に対応する他の別の前記無線ノードへ前記無線通信手段によって送信させ、前記ヘッダに前記最終受取先が設定されていない場合は、同一の送信対象情報から分割された複数のパケットを全て受信した後に、前記組立手段によって前記送信対象情報の組み立てを行わせ、前記組立手段によって組み立てられた送信対象情報に設定されている前記最終受取先を認識した後に、組み立てられた送信対象情報を前記分割手段によって複数のパケットへ分割させ、分割されたパケットを認識した前記最終受取先に対応する他の別の前記無線ノードへ前記無線通信手段によって送信させる処理を行い、
前記無線通信手段は、前記第1の送信方法での送信として、送信対象のパケットに、当該パケットの最終受取先を設定したヘッダを付加して送信する処理を行い、前記第2の送信方法での送信として、送信対象のパケットに、当該パケットの最終受取先を設定しないヘッダを付加して送信する処理を行う請求項1又は請求項2記載の無線通信装置。
【請求項4】
前記判定手段は、前記無線通信網のうち、前記送信対象情報の最終受取先の前記無線ノード及びその周辺の前記無線ノードからの輻輳通知の受信の有無、前記送信対象情報の最終受取先の前記無線ノード及びその周辺の前記無線ノードとの間で送受したパケットのうち正常に送受できたパケットの割合、及び、前記送信対象情報の最終受取先の前記無線ノード及びその周辺の前記無線ノードとの間でのパケットの送受の頻度、の少なくとも1つに基づいて、前記無線通信網のうち、前記送信対象情報の最終受取先の前記無線ノード及びその周辺が輻輳状態か否かを判定する請求項1〜請求項3の何れか1項記載の無線通信装置。
【請求項5】
前記無線通信手段によって前記第1の送信方法で送信された複数のパケットを保持手段に保持させておき、前記保持手段に保持させた前記複数のパケットに対応する前記送信対象情報の最終受取先の前記無線ノードからパケットの再送信要求が受信されるか、又は、予め設定したタイムアウト時間以内に前記送信対象情報の最終受取先の前記無線ノードから前記送信対象情報の受信通知が受信されなかった場合に、前記保持手段に保持させた前記複数のパケットを前記保持手段から読み出し、前記読み出した複数のパケットを前記無線通信手段によって再度送信させる再送制御手段を更に備えた請求項1〜請求項4の何れか1項記載の無線通信装置。
【請求項6】
前記判定手段は前記無線通信網の輻輳度合いも判定し、
自ノードと前記送信対象情報の最終受取先の前記無線ノードとの間に存在する他の前記無線ノードの数、及び、前記判定手段によって判定された輻輳度合いに基づいて、前記タイムアウト時間を変更する変更手段を更に備えた請求項5記載の無線通信装置。
【請求項7】
前記変更手段は、自ノードと前記送信対象情報の最終受取先の前記無線ノードとの間に存在する他の前記無線ノードの数が多くなるに従って前記タイムアウト時間が長くなり、前記判定手段によって判定された輻輳度合いが大きくなるに従って前記タイムアウト時間が長くなるように、前記タイムアウト時間を変更する請求項6記載の無線通信装置。
【請求項8】
複数の無線ノードが無線伝送路を介して相互に接続された無線通信網における前記無線ノードとして機能する無線通信装置に適用される無線通信方法であって、
無線通信手段は、前記無線伝送路を介して接続された他の前記無線ノードと無線通信によりパケットの送信及び受信を行い、
分割手段は、送信対象情報を前記無線伝送路の最大転送サイズに応じて複数のパケットへ分割し、
中継手段は、前記無線通信手段が、送信対象情報から分割されかつ最終受取先が自ノードでないパケットを他の前記無線ノードから受信した場合に、受信したパケットを前記無線通信手段によって他の別の前記無線ノードへ送信させる第1の中継、又は、同一の送信対象情報から分割された複数のパケットを全て受信した後に、受信した複数のパケットを前記無線通信手段によって他の別の前記無線ノードへ各々送信させる第2の中継を行い、
判定手段は、前記無線通信網が輻輳状態か否かを判定し、
切替手段は、前記判定手段の判定結果に基づいて、前記分割手段によって送信対象情報から分割された複数のパケットを、前記無線通信手段により、自ノードと前記送信対象情報の最終受取先の前記無線ノードとの間に存在する1つ以上の他の前記無線ノードの前記中継手段で前記第1の中継が行われる第1の送信方法で送信させるか、前記1つ以上の他の前記無線ノードの前記中継手段で前記第2の中継が行われる第2の送信方法で送信させるかを切り替える無線通信方法。
【請求項9】
複数の無線ノードが無線伝送路を介して相互に接続された無線通信網における前記無線ノードとして機能するコンピュータを、
前記無線伝送路を介して接続された他の前記無線ノードと無線通信によりパケットの送信及び受信を行う無線通信手段、
送信対象情報を前記無線伝送路の最大転送サイズに応じて複数のパケットへ分割する分割手段、
前記無線通信手段が、送信対象情報から分割されかつ最終受取先が自ノードでないパケットを他の前記無線ノードから受信した場合に、受信したパケットを前記無線通信手段によって他の別の前記無線ノードへ送信させる第1の中継、又は、同一の送信対象情報から分割された複数のパケットを全て受信した後に、受信した複数のパケットを前記無線通信手段によって他の別の前記無線ノードへ各々送信させる第2の中継を行う中継手段、
前記無線通信網が輻輳状態か否かを判定する判定手段、
及び、前記判定手段の判定結果に基づいて、前記分割手段によって送信対象情報から分割された複数のパケットを、前記無線通信手段により、自ノードと前記送信対象情報の最終受取先の前記無線ノードとの間に存在する1つ以上の他の前記無線ノードの前記中継手段で前記第1の中継が行われる第1の送信方法で送信させるか、前記1つ以上の他の前記無線ノードの前記中継手段で前記第2の中継が行われる第2の送信方法で送信させるかを切り替える切替手段
として機能させるための無線通信プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−209905(P2012−209905A)
【公開日】平成24年10月25日(2012.10.25)
【国際特許分類】
【出願番号】特願2011−76114(P2011−76114)
【出願日】平成23年3月30日(2011.3.30)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ZIGBEE
【出願人】(000000295)沖電気工業株式会社 (6,645)
【Fターム(参考)】