(57)【特許請求の範囲】
【請求項１】
複数の無線ノードが無線伝送路を介して相互に接続された無線通信網における前記無線ノードとして機能する無線通信装置であって、
前記無線伝送路を介して接続された他の前記無線ノードと無線通信によりパケットの送信及び受信を行う無線通信手段と、
前記無線通信網の輻輳状態に応じて使い分けられる複数のレイヤのレイヤ毎に設けられた複数のルーティングテーブルを記憶する記憶手段と、
送信対象情報を前記無線伝送路の最大転送サイズに応じて複数のパケットへ分割する分割手段と、
前記無線通信手段が、送信対象情報から分割されかつ最終受取先が自ノードでないパケットを他の前記無線ノードから受信した場合に、前記複数のルーティングテーブルから前記無線通信網の輻輳状態に応じたレイヤのルーティングテーブルを選択し、選択したルーティングテーブルに基づいて送信先とする他の別の前記無線ノードを決定し、受信したパケットを前記無線通信手段によって前記送信先へ送信させる第１の中継、及び、同一の送信対象情報から分割された複数のパケットを全て受信した後に、受信した複数のパケットを前記無線通信手段によって前記送信先へ各々送信させる第２の中継の何れか一方を前記無線通信網の輻輳状態に応じて選択して行う中継手段と、
前記無線通信網が輻輳状態か否かを判定する判定手段と、
前記判定手段の判定結果に基づいて、前記分割手段によって送信対象情報から分割された複数のパケットを、前記無線通信手段により、自ノードと前記送信対象情報の最終受取先の前記無線ノードとの間に存在する１つ以上の他の前記無線ノードの前記中継手段で前記第１の中継が行われる第１の送信方法で送信させるか、前記１つ以上の他の前記無線ノードの前記中継手段で前記第２の中継が行われる第２の送信方法で送信させるかを切り替える切替手段と、
を備えた無線通信装置。
【請求項２】
前記切替手段は、前記判定手段により前記無線通信網が輻輳状態でないと判定された場合は、前記複数のパケットを前記無線通信手段によって前記第１の送信方法で送信させ、前記判定手段により前記無線通信網が輻輳状態と判定された場合は、前記複数のパケットを前記無線通信手段によって前記第２の送信方法で送信させる請求項１記載の無線通信装置。
【請求項３】
同一の送信対象情報から分割されて他の前記無線ノードから各々受信した複数のパケットを元の前記送信対象情報へ組み立てる組立手段を更に備え、
前記中継手段は、他の前記無線ノードから受信したパケットのヘッダに当該パケットの最終受取先が設定され、かつ当該最終受取先が自ノードでない場合は、受信した前記パケットを、前記選択したルーティングテーブルに基づいて前記ヘッダに設定された前記最終受取先に対応する他の別の前記無線ノードを前記送信先として決定し前記無線通信手段によって送信させ、前記ヘッダに前記最終受取先が設定されていない場合は、同一の送信対象情報から分割された複数のパケットを全て受信した後に、前記組立手段によって前記送信対象情報の組み立てを行わせ、前記組立手段によって組み立てられた送信対象情報に設定されている前記最終受取先を認識した後に、組み立てられた送信対象情報を前記分割手段によって複数のパケットへ分割させ、前記選択したルーティングテーブルに基づいて、分割されたパケットを認識した前記最終受取先に対応する他の別の前記無線ノードを前記送信先として決定して前記無線通信手段によって送信させる処理を行い、
前記無線通信手段は、前記第１の送信方法での送信として、送信対象のパケットに、当該パケットの最終受取先を設定したヘッダを付加して送信する処理を行い、前記第２の送信方法での送信として、送信対象のパケットに、当該パケットの最終受取先を設定しないヘッダを付加して送信する処理を行う請求項１又は請求項２記載の無線通信装置。
【請求項４】
前記判定手段は、前記無線通信網のうち、前記送信対象情報の最終受取先の前記無線ノード及びその周辺の前記無線ノードからの輻輳通知の受信の有無、前記送信対象情報の最終受取先の前記無線ノード及びその周辺の前記無線ノードとの間で送受したパケットのうち正常に送受できたパケットの割合、及び、前記送信対象情報の最終受取先の前記無線ノード及びその周辺の前記無線ノードとの間でのパケットの送受の頻度、の少なくとも１つに基づいて、前記無線通信網のうち、前記送信対象情報の最終受取先の前記無線ノード及びその周辺が輻輳状態か否かを判定する請求項１〜請求項３の何れか１項記載の無線通信装置。
【請求項５】
前記無線通信手段によって前記第１の送信方法で送信された複数のパケットを保持手段に保持させておき、前記保持手段に保持させた前記複数のパケットに対応する前記送信対象情報の最終受取先の前記無線ノードからパケットの再送信要求が受信されるか、又は、予め設定したタイムアウト時間以内に前記送信対象情報の最終受取先の前記無線ノードから前記送信対象情報の受信通知が受信されなかった場合に、前記保持手段に保持させた前記複数のパケットを前記保持手段から読み出し、前記読み出した複数のパケットを前記無線通信手段によって再度送信させる再送制御手段を更に備えた請求項１〜請求項４の何れか１項記載の無線通信装置。
【請求項６】
自ノードと前記送信対象情報の最終受取先の前記無線ノードとの間に存在する他の前記無線ノードの数に基づいて、前記タイムアウト時間を変更する変更手段を更に備えた請求項５記載の無線通信装置。
【請求項７】
前記判定手段は前記無線通信網の輻輳度合いも判定し、
自ノードと前記送信対象情報の最終受取先の前記無線ノードとの間に存在する他の前記無線ノードの数、及び、前記判定手段によって判定された輻輳度合いに基づいて、前記タイムアウト時間を変更する変更手段を更に備えた請求項５記載の無線通信装置。
【請求項８】
前記変更手段は、自ノードと前記送信対象情報の最終受取先の前記無線ノードとの間に存在する他の前記無線ノードの数が多くなるに従って前記タイムアウト時間が長くなり、前記判定手段によって判定された輻輳度合いが大きくなるに従って前記タイムアウト時間が長くなるように、前記タイムアウト時間を変更する請求項７記載の無線通信装置。
【請求項９】
複数の無線ノードが無線伝送路を介して相互に接続された無線通信網における前記無線ノードとして機能する無線通信装置に適用される無線通信方法であって、
無線通信手段は、前記無線伝送路を介して接続された他の前記無線ノードと無線通信によりパケットの送信及び受信を行い、
分割手段は、送信対象情報を前記無線伝送路の最大転送サイズに応じて複数のパケットへ分割し、
中継手段は、前記無線通信手段が、送信対象情報から分割されかつ最終受取先が自ノードでないパケットを他の前記無線ノードから受信した場合に、前記無線通信網の輻輳状態に応じて使い分けられる複数のレイヤのレイヤ毎に設けられた複数のルーティングテーブルを記憶する記憶手段に記憶された前記複数のルーティングテーブルから、前記無線通信網の輻輳状態に応じたレイヤのルーティングテーブルを選択し、選択したルーティングテーブルに基づいて送信先とする他の別の前記無線ノードを決定し、受信したパケットを前記無線通信手段によって前記送信先へ送信させる第１の中継、及び、同一の送信対象情報から分割された複数のパケットを全て受信した後に、受信した複数のパケットを前記無線通信手段によって前記送信先へ各々送信させる第２の中継の何れか一方を前記無線通信網の輻輳状態に応じて選択して行い、
判定手段は、前記無線通信網が輻輳状態か否かを判定し、
切替手段は、前記判定手段の判定結果に基づいて、前記分割手段によって送信対象情報から分割された複数のパケットを、前記無線通信手段により、自ノードと前記送信対象情報の最終受取先の前記無線ノードとの間に存在する１つ以上の他の前記無線ノードの前記中継手段で前記第１の中継が行われる第１の送信方法で送信させるか、前記１つ以上の他の前記無線ノードの前記中継手段で前記第２の中継が行われる第２の送信方法で送信させるかを切り替える無線通信方法。
【請求項１０】
複数の無線ノードが無線伝送路を介して相互に接続された無線通信網における前記無線ノードとして機能するコンピュータを、
前記無線伝送路を介して接続された他の前記無線ノードと無線通信によりパケットの送信及び受信を行う無線通信手段、
送信対象情報を前記無線伝送路の最大転送サイズに応じて複数のパケットへ分割する分割手段、
前記無線通信手段が、送信対象情報から分割されかつ最終受取先が自ノードでないパケットを他の前記無線ノードから受信した場合に、前記無線通信網の輻輳状態に応じて使い分けられる複数のレイヤのレイヤ毎に設けられた複数のルーティングテーブルを記憶する記憶手段に記憶された前記複数のルーティングテーブルから、前記無線通信網の輻輳状態に応じたレイヤのルーティングテーブルを選択し、選択したルーティングテーブルに基づいて送信先とする他の別の前記無線ノードを決定し、受信したパケットを前記無線通信手段によって前記送信先へ送信させる第１の中継、及び、同一の送信対象情報から分割された複数のパケットを全て受信した後に、受信した複数のパケットを前記無線通信手段によって前記送信先へ各々送信させる第２の中継の何れか一方を前記無線通信網の輻輳状態に応じて選択して行う中継手段、
前記無線通信網が輻輳状態か否かを判定する判定手段、
及び、前記判定手段の判定結果に基づいて、前記分割手段によって送信対象情報から分割された複数のパケットを、前記無線通信手段により、自ノードと前記送信対象情報の最終受取先の前記無線ノードとの間に存在する１つ以上の他の前記無線ノードの前記中継手段で前記第１の中継が行われる第１の送信方法で送信させるか、前記１つ以上の他の前記無線ノードの前記中継手段で前記第２の中継が行われる第２の送信方法で送信させるかを切り替える切替手段
として機能させるための無線通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は無線通信装置、方法及びプログラムに係り、特に、複数の無線ノードが無線伝送路を介して相互に接続された無線通信網における前記無線ノードとして機能する無線通信装置、当該無線通信装置に適用可能な無線通信方法、及び、コンピュータを前記無線通信装置として機能させるための無線通信プログラムに関する。
【背景技術】
【０００２】
近年、ビルや家庭内に設置するセンサやアクチュエータに無線通信部を付加して無線ノードとして各々機能させ、個々の無線ノードが無線伝送路を介して相互に接続された無線ネットワークを構築することで、無線ネットワークを介して様々な情報収集や制御を可能とする技術へのニーズが高まっている。上記の用途に好適な無線ネットワークにおける通信方式として、IEEE802.15.4(短距離無線ネットワークの規格の１つ)上で動作するZigBeeや、省電力性に特化したZ-Waveなどが挙げられる。これらの通信方式が適用された無線ネットワークでは、独自のネットワークアドレスが規定され、それぞれ異なるルーティング方式が実装されている。
【０００３】
一方、上記の無線ネットワークに対しては、外部ネットワークとの接続性や既存アプリケーションとの親和性などの理由から、国際的な標準化団体であるＩＥＴＦ(Internet Engineering Task Force)で規定されたIPv6に対応することが望まれている。このため、ＩＥＴＦでは、IEEE802.15.4上でIPv6パケットを伝送するための標準規格として、6LoWPAN(IPv6 over Low-Power Wireless Personal Area Networks)に関する検討を進めている(非特許文献１も参照)。6LoWPAN-WGでは、IPv6パケットのヘッダ情報の圧縮手法や、ロングサイズのデータを複数のパケットに分割するパケットフラグメント手法、ネットワークをメッシュで接続するためのメッシュヘッダなどが検討されている。
【０００４】
図８には、6LoWPANにおけるIPv6パケットの伝送方法を説明するために、基地局ＢＳとの間に無線ノードａ,ｂが存在する無線ノードｃから、基地局ＢＳを最終受取先としてIPv6パケットを伝送させる場合を一例として示す。図８に示す例において、無線ノードｃから送信されるIPv6パケットは、IEEE 802.15.4のＭＴＵ(Maximum Transfer Unit)である127バイトに収まらないため、複数のパケットにフラグメント(分割)される。なお、フラグメントされた個々のパケットには、フラグメントヘッダ(Frag)などのヘッダが各々付与される。また、先頭のパケットにはIPv6ヘッダ圧縮(HC1)やＵＤＰヘッダ圧縮(HC2)も付加される。そして、フラグメントされた個々のパケットは無線ノードｂへ送信される。
【０００５】
フラグメントされたパケットを無線ノードｃから受信する無線ノードｂではマルチホップ中継が行われる。すなわち、無線ノードｂは、フラグメントされたパケットを無線ノードｃから受信する度に、受信したパケットをバッファに保持し、フラグメントされたパケットを全て受信すると、フラグメントヘッダに記載されたオフセット情報に基づいて、元のIPv6パケットを組み立てる処理(デフラグメント)を行う。次に、組み立てたIPv6パケットに設定されている最終受取先を認識し、認識した最終受取先に対応するパケットの送信先(この例では無線ノードａ)を判断した後に、組み立てたIPv6パケットを複数のパケットに分割(フラグメント)し、フラグメントしたパケットを判断した送信先(無線ノードａ)へ送信する。
【０００６】
また、フラグメントされたパケットを無線ノードｂから受信する無線ノードａにおいても、無線ノードｂと同様のマルチホップ中継(デフラグメント及びフラグメント)が繰り返される。そして、フラグメントされたパケットを無線ノードａから受信する基地局ＢＳでは、フラグメントされたパケットのデフラグメントが行われる。これにより、基地局ＢＳでIPv6パケットが受信される。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】ＲＦＣ４９４４、"Transmission of IPv6 Packets over IEEE 802.15.4 Networks"、(米国)、２００７年７月、ｐ．１−３０
【発明の概要】
【発明が解決しようとする課題】
【０００８】
図８に示した従来のIPv6パケットの伝送方法では、中継を行う無線ノードでフラグメントされたパケットが受信される度に、フラグメントされたパケットをIPv6パケットへ組み立てる処理と、組み立てたIPv6パケットを複数のパケットに分割する処理が行われる。これは、中継を行う無線ノードで最終受取先を認識してパケットの送信先を判断するために、IPv6パケットの組み立てる必要があるためである。このため、無線ノードで中継が行われる度に、中継処理による処理遅延がIPv6パケットの伝送時間に加算されることになり、IPv6パケットの伝送に長い時間が掛かると共に、中継を行う無線ノードに大きな処理負荷が加わる、という課題がある
【０００９】
また、無線ノードがフラグメントされたパケットの中継を行う際には、フラグメントされた先頭のパケットの受信をトリガとして、元のIPv6パケットのサイズ分のバッファを確保する必要があり、同時に中継を行うパケットの数が比較的多い無線ノードでは、平均的な使用メモリ量が大きくなるために搭載メモリのサイズを大きくする必要があり、装置コストが嵩むという課題もある。
【００１０】
なお、上述した課題は、IEEE802.15.4に準拠した無線通信網内でIPv6パケットを伝送させる場合に限られるものではなく、無線伝送路の最大転送サイズに応じて送信対象情報を複数のパケットへ分割し、分割した複数のパケットを無線通信網内で伝送させる場合には同様に生じ得る課題である。
【００１１】
本発明は上記事実を考慮して成されたもので、送信対象情報を無線伝送路の最大転送サイズに応じて複数のパケットへ分割して無線通信網内で伝送させる際に、平均伝送時間の短縮と無線通信網の利用効率の向上を実現可能な無線通信装置、無線通信方法及び無線通信プログラムを得ることが目的である。
【課題を解決するための手段】
【００１２】
請求項１記載の発明に係る無線通信装置は、複数の無線ノードが無線伝送路を介して相互に接続された無線通信網における無線ノードとして機能する無線通信装置であって、無線伝送路を介して接続された他の無線ノードと無線通信によりパケットの送信及び受信を行う無線通信手段と、無線通信網の輻輳状態に応じて使い分けられる複数のレイヤのレイヤ毎に設けられた複数のルーティングテーブルを記憶する記憶手段と、送信対象情報を無線伝送路の最大転送サイズに応じて複数のパケットへ分割する分割手段と、無線通信手段が、送信対象情報から分割されかつ最終受取先が自ノードでないパケットを他の無線ノードから受信した場合に、複数のルーティングテーブルから無線通信網の輻輳状態に応じたレイヤのルーティングテーブルを選択し、選択したルーティングテーブルに基づいて送信先とする他の別の無線ノードを決定し、受信したパケットを無線通信手段によって送信先へ送信させる第１の中継、及び、同一の送信対象情報から分割された複数のパケットを全て受信した後に、受信した複数のパケットを無線通信手段によって送信先へ各々送信させる第２の中継の何れか一方を無線通信網の輻輳状態に応じて選択して行う中継手段と、無線通信網が輻輳状態か否かを判定する判定手段と、判定手段の判定結果に基づいて、分割手段によって送信対象情報から分割された複数のパケットを、無線通信手段により、自ノードと送信対象情報の最終受取先の無線ノードとの間に存在する１つ以上の他の無線ノードの中継手段で第１の中継が行われる第１の送信方法で送信させるか、１つ以上の他の無線ノードの中継手段で第２の中継が行われる第２の送信方法で送信させるかを切り替える切替手段と、を備えている。
【００１３】
請求項１記載の発明に係る無線通信装置は、複数の無線ノードが無線伝送路を介して相互に接続された無線通信網における無線ノードとして機能し、無線伝送路を介して接続された他の無線ノードと無線通信によりパケットの送信及び受信を行う無線通信手段と、送信対象情報を無線伝送路の最大転送サイズに応じて複数のパケットへ分割する分割手段と、無線通信網の輻輳状態に応じて使い分けられる複数のレイヤのレイヤ毎に設けられた複数のルーティングテーブルを記憶する記憶手段とを備えており、中継手段は、無線通信手段が、送信対象情報から分割されかつ最終受取先が自ノードでないパケットを他の無線ノードから受信した場合に、複数のルーティングテーブルから無線通信網の輻輳状態に応じたレイヤのルーティングテーブルを選択し、選択したルーティングテーブルに基づいて送信先とする他の別の無線ノードを決定し、受信したパケットを無線通信手段によって送信先へ送信させる第１の中継、又は、同一の送信対象情報から分割された複数のパケットを全て受信した後に、受信した複数のパケットを無線通信手段によって送信先へ各々送信させる第２の中継を行う。
【００１４】
上記の第１及び第２の中継のうち、同一の送信対象情報から分割された複数のパケットを全て受信した後に、受信した複数のパケットを無線通信手段によって他の別の無線ノードへ各々送信させる第２の中継は従来通りの中継方式であり、パケットの中継を行う無線ノード(無線通信装置)の中継手段が第２の中継を行った場合、パケットの中継を行う無線ノードでの処理遅延の影響で送信対象情報の伝送時間が増大する。一方、第１の中継では、パケットの中継を行う無線ノード(無線通信装置)において、送信対象情報から分割されかつ最終受取先が自ノードでないパケットが、パケット単位で他の別の無線ノードへ送信(中継)されるので、同一の送信対象情報から分割された複数のパケットを全て受信した後に、受信した複数のパケットを他の別の無線ノードへ各々送信させる処理は行われない。このため、パケットの中継を行う無線ノード(無線通信装置)の中継手段が上記の第１の中継を行う場合、当該無線ノードにおける処理遅延が抑制され、送信対象情報の伝送時間が短縮される。
【００１５】
但し、パケットの中継を行う無線ノード(無線通信装置)の中継手段が第１の中継を行った場合、パケットの中継を行う無線ノードでは同一の送信対象情報から分割された各パケットが正常に伝送されたか否かを判断できない。このため、同一の送信対象情報から分割されたパケットの中に、通信エラーやパケットの廃棄により最終受取先の無線ノードに到達しないパケットが生じた場合、送信元の無線ノード(無線通信装置)から送信対象情報を単位として送信対象情報を再送信する必要が生じ、無線通信網の利用効率が低下すると共に、パケットの中継を行う無線ノード(無線通信装置)の中継手段が第２の中継を行う場合よりも送信対象情報の伝送時間が増大する可能性が生じる。そして、通信エラーやパケットの廃棄は無線通信網が輻輳状態のときに生じ易い。
【００１６】
上記に基づき請求項１記載の発明では、無線通信網が輻輳状態か否かを判定手段が判定し、切替手段は、判定手段の判定結果に基づいて、分割手段によって送信対象情報から分割された複数のパケットを、無線通信手段により、自ノードと送信対象情報の最終受取先の無線ノードとの間に存在する１つ以上の他の無線ノードの中継手段で第１の中継が行われる第１の送信方法で送信させるか、前記１つ以上の他の前記無線ノードの中継手段で第２の中継が行われる第２の送信方法で送信させるかを切り替えるようにしている。
【００１７】
これにより、パケットの中継を行う無線通信装置の中継手段が第１の中継を行うか第２の中継を行うかが、無線通信網が輻輳状態か否か、すなわち通信エラーやパケットの廃棄が生じ易い状態か否かに応じて切り替わることになるので、送信対象情報を無線伝送路の最大転送サイズに応じて複数のパケットへ分割して無線通信網内で伝送させる際に、平均伝送時間の短縮と無線通信網の利用効率の向上を実現することが可能になる。
【００１８】
なお、請求項１記載の発明において、切替手段は、例えば請求項２に記載したように、判定手段により無線通信網が輻輳状態でないと判定された場合は、複数のパケットを無線通信手段によって第１の送信方法で送信させ、判定手段により無線通信網が輻輳状態と判定された場合は、複数のパケットを無線通信手段によって第２の送信方法で送信させるように構成することが好ましい。これにより、送信対象情報を無線伝送路の最大転送サイズに応じて複数のパケットへ分割して無線通信網内で伝送させる際に、平均伝送時間の短縮と無線通信網の利用効率の向上を実現することができる。
【００１９】
また、請求項１又は請求項２記載の発明において、同一の送信対象情報から分割されて他の無線ノードから各々受信した複数のパケットを元の送信対象情報へ組み立てる組立手段を更に備え、中継手段は、他の無線ノードから受信したパケットのヘッダに当該パケットの最終受取先が設定され、かつ当該最終受取先が自ノードでない場合は、受信したパケットを、選択したルーティングテーブルに基づいてヘッダに設定された最終受取先に対応する他の別の無線ノードを送信先として決定し無線通信手段によって送信させ、ヘッダに最終受取先が設定されていない場合は、同一の送信対象情報から分割された複数のパケットを全て受信した後に、組立手段によって送信対象情報の組み立てを行わせ、組立手段によって組み立てられた送信対象情報に設定されている最終受取先を認識した後に、組み立てられた送信対象情報を分割手段によって複数のパケットへ分割させ、選択したルーティングテーブルに基づいて、分割されたパケットを認識した最終受取先に対応する他の別の無線ノードを送信先として決定して無線通信手段によって送信させる処理を行い、無線通信手段は、第１の送信方法での送信として、送信対象のパケットに、当該パケットの最終受取先を設定したヘッダを付加して送信する処理を行い、第２の送信方法での送信として、送信対象のパケットに、当該パケットの最終受取先を設定しないヘッダを付加して送信する処理を行うように構成することができる。
【００２０】
また、請求項１〜請求項３の何れか１項記載の発明において、判定手段は、例えば請求項４に記載したように、無線通信網のうち、送信対象情報の最終受取先の無線ノード及びその周辺の無線ノードからの輻輳通知の受信の有無、送信対象情報の最終受取先の無線ノード及びその周辺の無線ノードとの間で送受したパケットのうち正常に送受できたパケットの割合、及び、送信対象情報の最終受取先の無線ノード及びその周辺の無線ノードとの間でのパケットの送受の頻度、の少なくとも１つに基づいて、無線通信網のうち、送信対象情報の最終受取先の無線ノード及びその周辺が輻輳状態か否かを判定するように構成することが好ましい。これにより、輻輳状態か否かを判定することで、送信対象情報から分割されたパケットを最終受取先の無線ノード側へ送信した際に通信エラーやパケットの廃棄が生じる頻度の高低を、より正確に判定することができる。
【００２１】
また、請求項１〜請求項４の何れか１項記載の発明において、例えば請求項５に記載したように、無線通信手段によって第１の送信方法で送信された複数のパケットを保持手段に保持させておき、保持手段に保持させた複数のパケットに対応する送信対象情報の最終受取先の無線ノードからパケットの再送信要求が受信されるか、又は、予め設定したタイムアウト時間以内に送信対象情報の最終受取先の無線ノードから送信対象情報の受信通知が受信されなかった場合に、保持手段に保持させた複数のパケットを保持手段から読み出し、読み出した複数のパケットを無線通信手段によって再度送信させる再送制御手段を更に設けることが好ましい。これにより、送信対象情報から分割した複数のパケットの一部が通信エラーやパケットの廃棄によって最終受取先の無線ノードで受信されなかった場合にも、複数のパケットの再送信により、送信対象情報を最終受取先の無線ノードへ伝送させることができる。
【００２２】
また、請求項５記載の発明において、例えば請求項６に記載したように、自ノードと送信対象情報の最終受取先の無線ノードとの間に存在する他の無線ノードの数に基づいて、タイムアウト時間を変更する変更手段を更に備えること、又は、例えば請求項７に記載したように、判定手段は無線通信網の輻輳度合いも判定し、自ノードと送信対象情報の最終受取先の無線ノードとの間に存在する他の無線ノードの数、及び、判定手段によって判定された輻輳度合いに基づいて、タイムアウト時間を変更する変更手段を設けることが好ましい。変更手段によるタイムアウト時間の変更は、具体的には、例えば請求項８に記載したように、自ノードと送信対象情報の最終受取先の無線ノードとの間に存在する他の無線ノードの数が多くなるに従ってタイムアウト時間が長くなり、判定手段によって判定された輻輳度合いが大きくなるに従ってタイムアウト時間が長くなるように行うことができる。
【００２３】
これにより、自ノードと送信対象情報の最終受取先の無線ノードとの間に存在する他の無線ノードの数や無線通信網の輻輳度合いに応じたタイムアウト時間でパケットの再送信が行われることになり、本来は不要なパケットの再送信が行われたり、これに伴ってパケットが廃棄されることを低減することができる。
【００２４】
請求項９記載の発明に係る無線通信方法は、複数の無線ノードが無線伝送路を介して相互に接続された無線通信網における無線ノードとして機能する無線通信装置に適用される無線通信方法であって、無線通信手段は、無線伝送路を介して接続された他の無線ノードと無線通信によりパケットの送信及び受信を行い、分割手段は、送信対象情報を無線伝送路の最大転送サイズに応じて複数のパケットへ分割し、中継手段は、無線通信手段が、送信対象情報から分割されかつ最終受取先が自ノードでないパケットを他の無線ノードから受信した場合に、無線通信網の輻輳状態に応じて使い分けられる複数のレイヤのレイヤ毎に設けられた複数のルーティングテーブルを記憶する記憶手段に記憶された複数のルーティングテーブルから、無線通信網の輻輳状態に応じたレイヤのルーティングテーブルを選択し、選択したルーティングテーブルに基づいて送信先とする他の別の無線ノードを決定し、受信したパケットを無線通信手段によって送信先へ送信させる第１の中継、又は、同一の送信対象情報から分割された複数のパケットを全て受信した後に、受信した複数のパケットを無線通信手段によって送信先へ各々送信させる第２の中継の何れか一方を無線通信網の輻輳状態に応じて選択して行い、判定手段は、無線通信網が輻輳状態か否かを判定し、切替手段は、判定手段の判定結果に基づいて、分割手段によって送信対象情報から分割された複数のパケットを、無線通信手段により、自ノードと送信対象情報の最終受取先の無線ノードとの間に存在する１つ以上の他の無線ノードの中継手段で第１の中継が行われる第１の送信方法で送信させるか、１つ以上の他の無線ノードの中継手段で第２の中継が行われる第２の送信方法で送信させるかを切り替えるので、請求項１記載の発明と同様に、送信対象情報を無線伝送路の最大転送サイズに応じて複数のパケットへ分割して無線通信網内で伝送させる際に、平均伝送時間の短縮と無線通信網の利用効率の向上を実現することが可能になる。
【００２５】
請求項１０記載の発明に係る無線通信プログラムは、複数の無線ノードが無線伝送路を介して相互に接続された無線通信網における無線ノードとして機能するコンピュータを、無線伝送路を介して接続された他の無線ノードと無線通信によりパケットの送信及び受信を行う無線通信手段、送信対象情報を無線伝送路の最大転送サイズに応じて複数のパケットへ分割する分割手段、無線通信手段が、送信対象情報から分割されかつ最終受取先が自ノードでないパケットを他の無線ノードから受信した場合に、無線通信網の輻輳状態に応じて使い分けられる複数のレイヤのレイヤ毎に設けられた複数のルーティングテーブルを記憶する記憶手段に記憶された複数のルーティングテーブルから、無線通信網の輻輳状態に応じたレイヤのルーティングテーブルを選択し、選択したルーティングテーブルに基づいて送信先とする他の別の無線ノードを決定し、受信したパケットを無線通信手段によって送信先へ送信させる第１の中継、又は、同一の送信対象情報から分割された複数のパケットを全て受信した後に、受信した複数のパケットを無線通信手段によって送信先へ各々送信させる第２の中継の何れか一方を無線通信網の輻輳状態に応じて選択して行う中継手段、無線通信網が輻輳状態か否かを判定する判定手段、及び、判定手段の判定結果に基づいて、分割手段によって送信対象情報から分割された複数のパケットを、無線通信手段により、自ノードと送信対象情報の最終受取先の無線ノードとの間に存在する１つ以上の他の無線ノードの中継手段で第１の中継が行われる第１の送信方法で送信させるか、１つ以上の他の無線ノードの中継手段で第２の中継が行われる第２の送信方法で送信させるかを切り替える切替手段として機能させる。
【００２６】
請求項１０記載の発明に係る無線通信プログラムは、上記の無線通信網の無線ノードとして機能するコンピュータを、上記の無線通信手段、分割手段、中継手段、判定手段及び切替手段として機能させるためのプログラムであるので、上記のコンピュータが請求項１０記載の発明に係る無線通信プログラムを実行することで、上記のコンピュータが請求項１に記載の無線通信装置として機能することになり、請求項１記載の発明と同様に、送信対象情報を無線伝送路の最大転送サイズに応じて複数のパケットへ分割して無線通信網内で伝送させる際に、平均伝送時間の短縮と無線通信網の利用効率の向上を実現することが可能になる。
【発明の効果】
【００２７】
以上説明したように本発明は、送信対象情報から分割されかつ最終受取先が自ノードでないパケットを他の無線ノードから受信した場合に、受信したパケットを無線通信手段によって他の別の無線ノードへ送信させる第１の中継、又は、同一の送信対象情報から分割された複数のパケットを全て受信した後に、受信した複数のパケットを無線通信手段によって他の別の無線ノードへ各々送信させる第２の中継を行う中継手段を設け、無線通信網が輻輳状態か否かを判定し、判定結果に基づいて、送信対象情報から分割された複数のパケットを、無線通信手段により、自ノードと送信対象情報の最終受取先の無線ノードとの間に存在する１つ以上の他の無線ノードの中継手段で第１の中継が行われる第１の送信方法で送信させるか、１つ以上の他の無線ノードの中継手段で第２の中継が行われる第２の送信方法で送信させるかを切り替えるようにしたので、送信対象情報を無線伝送路の最大転送サイズに応じて複数のパケットへ分割して無線通信網内で伝送させる際に、平均伝送時間の短縮と無線通信網の利用効率の向上を実現することが可能になる、という優れた効果を有する。
【図面の簡単な説明】
【００２８】
【図１】第１実施形態で説明した無線通信網及び無線ノードの概略構成を示すブロック図である。
【図２】IPv6パケット送信処理の内容を示すフローチャートである。
【図３】(Ａ)はIPv6パケットをホップ・バイ・ホップ(Hop by Hop)で送信する場合、(Ｂ)はエンド・トゥ・エンド(End to End)で送信する場合の処理を各々示す概略図である。
【図４】パケット受信処理の内容を示すフローチャートである。
【図５】データパケット受信処理の内容を示すフローチャートである。
【図６】タイマタイムアウト処理の内容を示すフローチャートである。
【図７】第２実施形態で説明した無線通信網及び無線ノードの概略構成を示すブロック図である。
【図８】従来のIPv6パケットの伝送方法を示す概略図である。
【発明を実施するための形態】
【００２９】
以下、図面を参照して本発明の実施形態の一例を詳細に説明する。
【００３０】
〔第１実施形態〕
図１には本第１実施形態に係る無線通信網１０が開示されている。無線通信網１０は複数の無線ノード１２が無線伝送路１４を介して相互に接続されて構成されている。無線通信網１０に設けられた無線ノード１２のうち、１個以上の無線ノード１２は基地局として機能し、基地局として機能する無線ノード１２は、有線伝送路１６を介して有線通信網１８に接続されている。無線ノード１２は本発明に係る無線通信装置の一例である。なお、以下では無線通信網１０がIEEE802.15.4に準拠した無線通信を行う構成である場合を説明するが、本発明はこの態様に限定されるものではない。
【００３１】
個々の無線ノード１２は互いに同一の構成であり、アンテナ２０、増幅器２２、無線送受信部２４、パケット受信部２６、判定処理部２８、組立処理部３０、IPv6パケット処理部３２、中継処理部３４、再送処理部３６、分割処理部３８、バッファ４０、及び、パケット送信部４２を備え、Ｌ２(レイヤ２)レベルのルーティング情報が登録されるＬ２ルーティングテーブル４４と、Ｌ３(レイヤ３)レベルのルーティング情報が登録されるＬ３ルーティングテーブル４６も各々設けられている。
【００３２】
無線ノード１２は、例えば半導体集積回路、より詳しくはＡＳＩＣ(Application Specific Integrated Circuit)等で実現され、無線ノード１２の各機能部は例えば電子回路等で実現される。なお、無線ノード１２は、アンテナ２０、増幅器２２及び無線送受信部２４が設けられたコンピュータ(図示省略)で実現することも可能である。この態様では、上記のコンピュータに設けられた不揮発性の記憶部に制御プログラムが記憶され、ＣＰＵが記憶部から制御プログラムを読み出してメモリに展開し、制御プログラムを実行することで、上記のコンピュータが上記のパケット受信部２６、判定処理部２８、組立処理部３０、IPv6パケット処理部３２、中継処理部３４、再送処理部３６、分割処理部３８及びパケット送信部４２として各々機能する。この態様における制御プログラムは、本発明に係る無線通信プログラムの一例である。また、制御プログラムは、上記のように記憶部から読み出すことに代えて、例えばＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の任意の記録媒体から読み出して実行することも可能である。
【００３３】
アンテナ２０は、無線伝送路１４を介して接続された他の無線ノード１２と無線信号の送受信を行う。増幅器２２は、無線伝送路１４を介して接続された他の無線ノード１２へ送信する無線信号を増幅する。無線送受信部２４は、電気信号と無線信号の相互変換や変復調、周波数変換処理等を行うことで、無線伝送路１４を介して接続された他の無線ノード１２と無線通信によって情報(パケット)の送受信を行う。パケット受信部２６は、他の無線ノード１２から受信したパケットを解析し、受信したパケットがデータパケットや制御パケットか等の識別を行う。
【００３４】
判定処理部２８は、他の無線ノード１２から受信したパケットがパケット受信部２６によって制御パケットと識別された場合に内部データの解析を行い、必要に応じてＬ２ルーティングテーブル４４に登録されたルーティング情報の更新等の処理を行う。また、判定処理部２８は、他の無線ノード１２から受信したパケットがパケット受信部２６によってデータパケットと識別された場合には、データパケットのヘッダに当該パケットの最終受取先が設定されているか否か、及び、最終受取先が設定されている場合は当該最終受取先が自ノードか否かに基づいて、Ｌ２レベルでの中継処理(パケット単位の中継処理)を行うか、複数のパケットに分割された情報の組み立てを行うかを判断する。
【００３５】
組立処理部３０は、判定処理部２８により、分割された情報の組み立てを行うと判断された場合に、複数のパケットに分割された情報の組み立て処理を行う。なお組立処理部３０は請求項３に記載の組立手段の一例である。
【００３６】
IPv6パケット処理部３２は、組立処理部３０によって組み立てられた情報がＬ３レベルの制御パケットに相当する場合に、必要に応じてＬ３ルーティングテーブル４６に登録されたルーティング情報の更新等の処理を行う。またIPv6パケット処理部３２は、組立処理部３０によって組み立てられた情報がIPv6のデータパケットであり、当該パケットに設定されている最終受取先が自ノードでない場合は、Ｌ３ルーティングテーブル４６のルーティング情報に基づいて、組み立てられた情報(IPv6のデータパケット)を送信する無線ノード１２を決定する処理を行う。
【００３７】
分割処理部３８は、IPv6パケット処理部３２によって送信先の無線ノード１２が決定されたIPv6パケットを、無線伝送路１４のＭＴＵに応じたサイズのパケットに分割する。なお、分割処理部３８は本発明における分割手段の一例である。
【００３８】
中継処理部３４は、判定処理部２８によってＬ２レベルでの中継処理(パケット単位の中継処理)を行うと判断された場合に、Ｌ２ルーティングテーブル４４に登録されているルーティング情報に基づき、受信したデータパケットを送信する無線ノード１２を決定する処理を行う。
【００３９】
再送処理部３６は、組立処理部３０で組み立て処理が行われた情報にパケットの受信抜けがあった場合に、パケットの送信元に対して未受信のパケットの再送信を要求する。なお、再送制御部３６は請求項５に記載の再送制御手段の一例である。
【００４０】
バッファ４０は、中継処理待ちのパケットを一時的に保持すると共に、パケット送信先の無線ノード１２から再送信が要求された場合に備えて送信済みのパケットも一時的に保持する。パケット送信部４２は、送信対象としてバッファ４０に一時保持されたパケットや、自身で生成したデータ、制御情報を無線送受信部２４によって他の無線ノード１２へ送信させる。
【００４１】
次に本実施形態の作用として、まず、IPv6パケットの送信を行う無線ノード１２で実行されるIPv6パケット送信処理について、図２を参照して説明する。
【００４２】
IPv6パケット送信処理では、まずステップ５０において、IPv6パケット処理部３２で送信対象のIPv6パケットが生成される。なお、図３に示すように、ステップ５０で生成されるIPv6パケットのＩＰヘッダには、生成されたIPv6パケットの最終受取先の無線ノード１２(例えば基地局として機能する無線ノード１２)を表す情報が設定される。ステップ５０で生成されるIPv6パケットは本発明における送信対象情報の一例である。次のステップ５２では、ステップ５０で生成したIPv6パケットのサイズが、無線伝送路１４のＭＴＵ(例えばIEEE802.15.4では127バイト)よりも大きいか否かがIPv6パケット処理部３２で判定される。
【００４３】
ステップ５２の判定が肯定された場合はステップ５４へ移行し、無線通信網１０のうちIPv6パケットの最終受取先の無線ノード１２やその周辺が輻輳状態か否かがIPv6パケット処理部３２で判定される。この判定は、例えば後述するネットワーク状態テーブルを参照し、IPv6パケットの最終受取先の無線ノード１２又は当該無線ノード１２と無線伝送路１４を介して直接接続された無線ノード１２(以下、これらを輻輳判定対象の無線ノード１２と称する)から受信した輻輳通知に基づき、IPv6パケットの最終受取先の無線ノード１２やその周辺で輻輳状態が発生していることを表す情報が登録されているか否かを判断することで行うことができる。
【００４４】
また、これに代えて、輻輳判定対象の無線ノード１２との間で現時点迄に送受したパケットのうち、正常に送受できたパケットの割合を閾値と比較し、比較結果に基づいてIPv6パケットの最終受取先の無線ノード１２やその周辺が輻輳状態か否かを判定するようにしてもよい。また、輻輳判定対象の無線ノード１２との間でのパケットの送受の頻度を閾値と比較し、比較結果に基づいてIPv6パケットの最終受取先の無線ノード１２やその周辺が輻輳状態か否かを判定するようにしてもよい。なお、ステップ５４は本発明の判定手段の一例に相当する処理である。
【００４５】
IPv6パケットの最終受取先の無線ノード１２やその周辺が輻輳状態でない場合、IPv6パケットの最終受取先側へパケットを送信しても通信エラーやパケットの廃棄が発生する確率は低い。従って、自ノードと最終受取先の無線ノード１２との間でIPv6パケットをエンド・トゥ・エンドで転送しても、通信エラーやパケットの廃棄に伴う再送信によって無線通信網１０の利用効率が低下する可能性は低いと判断できる。このため、ステップ５４の判定が否定された場合はステップ５８において、自ノードと最終受取先の無線ノード１２との間でIPv6パケットをエンド・トゥ・エンドで転送させるために、例として図３(Ｂ)に示すように、IPv6パケットから分割した個々のパケットに付加するヘッダ情報として、IPv6パケットの最終受取先を設定したヘッダ情報が分割処理部３８によって生成される。
【００４６】
なお、本実施形態において、IPv6パケットをエンド・トゥ・エンドで転送することは、6LoWPANで規定されているメッシュヘッダを用いて、IPv6パケットの送信元の無線ノード１２とIPv6パケットの最終受取先の無線ノード１２との間にレイヤ２のトンネリングパスを生成することに相当する。このトンネリングパスにより、IPv6パケットの送信元の無線ノード１２と最終受取先の無線ノード１２との間に存在する各無線ノード１２は、分割されたパケットを元のIPv6パケットに組み立てることなく、パケットの中継を行うことが可能となる。
【００４７】
一方、IPv6パケットの最終受取先の無線ノード１２やその周辺が輻輳状態の場合、IPv6パケットの送信先側へパケットを送信した際に通信エラーやパケットの廃棄が発生する確率は比較的高い。自ノードと最終受取先の無線ノード１２との間でIPv6パケットをエンド・トゥ・エンドで転送した場合、通信エラーやパケットの廃棄に伴う再送信は自ノード(IPv6パケットの送信元の無線ノード１２)と最終受取先の無線ノード１２との間で行われるので、パケットの再送信が繰り返されると無線通信網１０の利用効率は低下する。このため、ステップ５４の判定が肯定された場合はステップ５６へ移行し、自ノードと最終受取先の無線ノード１２との間でIPv6パケットをホップ・バイ・ホップで転送させるために、例として図３(Ａ)に示すように、IPv6パケットから分割した個々のパケットに付加するヘッダ情報として、IPv6パケットの最終受取先を設定しないヘッダ情報が分割処理部３８で生成される。
【００４８】
なお、ステップ５８は後述するステップ６２〜６６と共に、本発明における第１の送信方法で送信する処理の一例、ステップ５６は後述するステップ６２〜６６と共に、本発明における第２の送信方法で送信する処理の一例であり、ステップ５４の判定の結果に応じて上記各処理の何れかを行うかを切替える制御は、本発明における切替手段の一例に相当する処理である。
【００４９】
ステップ５８又はステップ５６の処理を行うとステップ６０へ移行し、分割処理部３８により、図３(Ａ),(Ｂ)に「分割」と表記して示すように、送信対象のIPv6パケットが無線伝送路１４のＭＴＵに応じたサイズの複数のパケットに分割される。次のステップ６２では、分割処理部３８により、先のステップ５８又はステップ５６で生成されたヘッダ情報が、分割された複数のパケットに各々付加され、ヘッダ情報が付加された複数のパケットはバッファ４０に一時記憶される。次のステップ６４では、IPv6パケット処理部３２によってＬ３ルーティングテーブル４６のルーティング情報が参照され、ヘッダ情報が付加された複数のパケットの送信先の無線ノード１２(自ノードと無線伝送路１４を介して直接接続された無線ノード)が判定される。そしてステップ６６では、バッファ４０に一時記憶された複数のパケットが、パケット送信部４２(及び無線送受信部２４、増幅器２２、アンテナ２０)により、ステップ６４で判定された送信先の無線ノード１２へ無線通信によって送信される。
【００５０】
なお、送信対象のIPv6パケットのサイズが無線伝送路１４のＭＴＵ以下の場合には、ステップ５２の判定が否定され、上記と同様にIPv6パケットの最終受取先を設定したヘッダ情報の生成(ステップ６８)、生成したヘッダ情報のパケットへの付加(ステップ７０)、パケットの送信先の判定(ステップ７２)、パケットの送信(ステップ７４)が順に行われる。なお、このときもIPv6パケットの最終受取先の無線ノード１２やその周辺が輻輳状態か否かを判定し、輻輳状態と判定した場合には最終受取先を設定しないヘッダ情報を生成してパケットに付加するようにしてもよいし、IPv6パケットの送信先側が輻輳状態か否かに拘わらず、最終受取先を設定しないヘッダ情報を生成してパケットに付加するようにしてもよい。
【００５１】
上記のようにしてパケットを送信するとステップ７６へ移行し、再送処理部３６によって再送信タイマがスタートされる。なお、IPv6パケットをエンド・トゥ・エンドで転送した場合、ＡＣＫ応答(肯定応答)や再送要求はIPv6パケットの最終受取先から送信される一方、IPv6パケットをホップ・バイ・ホップで転送した場合、ＡＣＫ応答(肯定応答)や再送要求はパケットの直接の送信先(ステップ６４,７２で判定した送信先)から送信される。このため、ステップ７６でスタートされる再送信タイマのタイマ値は、エンド・トゥ・エンド転送かホップ・バイ・ホップ転送かによって切り替えされる。そしてステップ７８において、送信したパケットが再送処理部３６によってバッファ４０に保存され、IPv6パケット送信処理が終了される。
【００５２】
次に、無線ノード１２が他の無線ノード１２からパケットを受信したことを契機として実行されるパケット受信処理について、図４を参照して説明する。パケット受信処理では、まずステップ１００において、受信したパケットがデータパケットか制御パケットかがパケット受信部２６によって判定される。受信したパケットがデータパケットの場合、ステップ１０２でデータパケット受信処理が行われる。
【００５３】
図５に示すように、データパケット受信処理では、まずステップ１４０において、判定処理部２８により、受信したデータパケットに付加されているヘッダが抽出される。次のステップ１４２では、ステップ１４０で抽出したヘッダにパケットの最終受取先が設定されているか否が判定処理部２８によって判定される。
【００５４】
受信したパケットに付加されているヘッダにパケットの最終受取先が設定されている場合、受信したパケットはIPv6パケットの送信元からエンド・トゥ・エンドで転送されたIPv6パケット(の一部)と判断できる。このため、ステップ１４２の判定が肯定された場合はステップ１７６へ移行し、ヘッダに設定されているパケットの最終受取先が自ノードか否が判定処理部２８によって判定される。
【００５５】
この判定が否定された場合、自ノードは受信したパケットの中継処理を行う必要があると判断できるので、ステップ１９４へ移行し、中継処理部３４により、Ｌ２ルーティングテーブル４４のルーティング情報に基づいて、受信したパケットの送信先(自ノードと無線伝送路１４を介して直接接続された無線ノード１２)が判定される。そしてステップ１９６では、パケット送信部４２(及び無線送受信部２４、増幅器２２、アンテナ２０)により、受信したパケットがステップ１９４で判定された送信先の無線ノード１２へ無線通信によって送信される。なお、ステップ１９４,１９６は本発明の中継手段による第１の中継に相当する処理の一例である。
【００５６】
このように、IPv6パケットから分割されてエンド・トゥ・エンドで転送されたパケットは、中継を行う無線ノード１２において、IPv6パケットの組み立て及び分割が行われることなく、パケット単位で中継(転送)が行われる。従って、中継を行う無線ノード１２で処理遅延が発生することはなく、IPv6パケットの伝送時間が短縮される。
【００５７】
また、IPv6パケットの最終受取先が設定されている無線ノード１２では、先のステップ１７６の判定が肯定されてステップ１７８へ移行し、組立処理部３０により、今回受信したパケットが、同一のIPv6パケットから分割された複数のパケットのうち、最初に受信したパケットか否かが判定される。判定が肯定された場合はステップ１８０へ移行し、今後受信するIPv6パケットを保管するための保管領域が組立処理部３０によって確保される。またステップ１８２では、再送処理部３６によって受信タイマがスタートされる。そしてステップ１８４では、組立処理部３０により、今回受信したパケットがステップ１８０で確保された保管領域に保管される。なお、上記のステップ１８０,１８２は同一のIPv6パケットから分割された複数のパケットのうちの２個目以降のパケットを受信した際にはスキップされる。
【００５８】
次のステップ１８６では、同一のIPv6パケットから分割された複数のパケットを全て受信したか否かが組立処理部３０によって判定される。判定が否定された場合はデータパケット受信処理を終了する。ステップ１８６の判定は、IPv6パケットの最終受取先が設定されている無線ノード１２でエンド・トゥ・エンドで転送された自ノード宛のパケットが受信される度に繰り返される。そして、同一のIPv6パケットから分割された複数のパケットを全て受信すると、ステップ１８０の判定が肯定されてステップ１８８へ移行し、先のステップ１８２でスタートされた受信タイマが再送処理部３６によってストップされる。
【００５９】
次のステップ１９０では、組立処理部３０により、保管領域に保管されている各パケット(同一のIPv6パケットから分割された複数のパケット)からヘッダを各々除去し、各パケットの本体部分(Payload)を連続的に配列することで、元のIPv6パケットを組み立てる組立処理が行われる。そしてステップ１９２では、IPv6パケットの送信元の無線ノード１２に対し、IPv6パケットの受信が完了したことを通知するＡＣＫ応答(肯定応答)がパケット送信部４２によって送信され、データパケット送信処理が終了される。このＡＣＫ応答のフォーマットとしては、IEEE802.11nで採用されているブロックＡＣＫのフォーマットを用いてもよい。
【００６０】
一方、受信したパケットに付加されているヘッダにパケットの最終受取先が設定されていない場合、受信したパケットはIPv6パケットの送信元からホップ・バイ・ホップで転送されたIPv6パケット(の一部)と判断できる。この場合、ステップ１４２の判定が否定されてステップ１４４へ移行し、組立処理部３０により、今回受信したパケットが、同一のIPv6パケットから分割された複数のパケットのうち、最初に受信したパケットか否かが判定される。
【００６１】
判定が肯定された場合はステップ１４６へ移行し、先にも説明したように、組立処理部３０によるIPv6パケットの保管領域の確保(ステップ１４６)、再送処理部３６による受信タイマのスタート(ステップ１４８)が順に行われる。そしてステップ１５０では、組立処理部３０により、今回受信したパケットがステップ１４６で確保された保管領域に保管される。なお、上記のステップ１４６,１４８も同一のIPv6パケットから分割された複数のパケットのうちの２個目以降のパケットを受信した際にはスキップされる。
【００６２】
次のステップ１５２では、同一のIPv6パケットから分割された複数のパケットを全て受信したか否かが組立処理部３０によって判定される。判定が否定された場合はデータパケット受信処理を終了する。ステップ１５２の判定は、無線ノード１２でホップ・バイ・ホップで転送されたパケットが受信される度に繰り返される。そして、同一のIPv6パケットから分割された複数のパケットを全て受信すると、ステップ１５２の判定が肯定されてステップ１５４へ移行し、先のステップ１４８でスタートされた受信タイマが再送処理部３６によってストップされる。
【００６３】
次のステップ１５６では、組立処理部３０により、保管領域に保管されている各パケット(同一のIPv6パケットから分割された複数のパケット)からヘッダを各々除去し、各パケットの本体部分(Payload)を連続的に配列することで、元のIPv6パケットを組み立てる組立処理が行われる。ステップ１５８では、IPv6パケット処理部３２により、組み立てられたIPv6パケットのＩＰヘッダに設定されている最終受取先(図３も参照)を抽出する処理が行われる。ステップ１６０では、ステップ１５８で抽出した最終受取先が自ノードか否かがIPv6パケット処理部３２によって判定される。
【００６４】
ステップ１６０の判定が否定された場合、自ノードは受信したIPv6パケットの中継処理を行う必要があると判断できるので、ステップ１６２へ移行し、今回受信したパケットを送信した無線ノード１２(自ノードと無線伝送路１４を介して直接接続された無線ノード１２)に対し、IPv6パケットの受信が完了したことを通知するＡＣＫ応答(肯定応答)がパケット送信部４２によって送信される。このＡＣＫ応答のフォーマットとしては、IEEE802.11nで採用されているブロックＡＣＫのフォーマットを用いてもよい。
【００６５】
次のステップ１６４では、IPv6パケット処理部３２によってＬ３ルーティングテーブル４６のルーティング情報が参照され、今回受信したIPv6パケットの送信先の無線ノード１２(自ノードと無線伝送路１４を介して直接接続された無線ノード)が判定される。ステップ１６６では、分割処理部３８により、組み立てられたIPv6パケットが複数のパケットに再度分割され、分割された個々のパケットにIPv6パケットの最終受取先を設定しないヘッダ情報が各々付加され、ヘッダ情報が付加された個々のパケットはバッファ４０に一時記憶される。
【００６６】
ステップ１６８では、バッファ４０に一時記憶された複数のパケットが、パケット送信部４２(及び無線送受信部２４、増幅器２２、アンテナ２０)により、ステップ１６４で判定された送信先の無線ノード１２へ無線通信によって送信される。そしてステップ１７０では再送処理部３６によって再送信タイマがスタートされ、ステップ１７２では送信したパケットが再送処理部３６によってバッファ４０に保存される。なお、上述したステップ１４４〜１７２は本発明の中継手段による第２の中継に相当する処理の一例である。
【００６７】
また、組立処理部３０によって組み立てられたIPv6パケットのＩＰヘッダに設定されている最終受取先が自ノードの場合には、ステップ１６０の判定が肯定されてステップ１７４へ移行し、今回受信したパケットを送信した無線ノード１２(自ノードと無線伝送路１４を介して直接接続された無線ノード１２)に対し、IPv6パケットの受信が完了したことを通知するＡＣＫ応答(肯定応答)がパケット送信部４２によって送信される。
【００６８】
このように、IPv6パケットから分割されたパケットがホップ・バイ・ホップで転送された場合、中継を行う個々の無線ノード１２において、IPv6パケットの組み立て及び分割が行われ、IPv6パケット単位で中継(転送)が行われる。従って、中継を行う無線ノード１２で処理遅延が発生し、IPv6パケットの伝送時間はエンド・トゥ・エンドの転送を行う場合よりも長くなる。
【００６９】
但し、IPv6パケットをエンド・トゥ・エンドで転送した場合、パケットの再送要求とそれに伴うパケットの再送信がIPv6パケットの送信元の無線ノード１２と最終受取先の無線ノード１２との間で送受される。このため、無線通信網１０に輻輳が発生し、通信エラーやパケットの廃棄が頻発することでパケットの再送信が必要となる確率が高くなった場合、IPv6パケットをエンド・トゥ・エンドで転送することで無線通信網１０の利用効率は低下する。本実施形態では、IPv6パケットの最終受取先の無線ノード１２やその周辺が輻輳状態の場合にIPv6パケットをホップ・バイ・ホップで転送しているので、通信エラーやパケット廃棄の頻発に伴って無線通信網１０の利用効率が低下することを未然に抑制することができる。
【００７０】
一方、無線ノード１２が他の無線ノード１２から受信したパケットが制御パケットであった場合には、パケット受信処理(図２)のステップ１００からステップ１０４へ移行し、受信した制御パケットが、Ｌ２ルーティングテーブル４４に登録するルーティング情報を通知する制御パケットか否かが判定処理部２８によって判定される。この判定が肯定された場合はステップ１０６へ移行し、上記の制御パケットによって通知されたルーティング情報をＬ２ルーティングテーブル４４に登録するＬ２ルーティングテーブル更新処理が中継処理部３４によって行われる。
【００７１】
また、個々の無線ノード１２は、自ノードの無線帯域の利用率や隣接する無線ノード１２とのパケットエラー率等に基づいて、無線通信網１０のうち自ノード周辺における輻輳状態の程度を定期的に判定し、輻輳状態の判定結果を上記の輻輳通知として他の無線ノード１２へ通知する処理を行っている。ステップ１０４の判定が否定された場合はステップ１０８へ移行し、他の無線ノード１２から受信した制御パケットが上記の輻輳通知か否かが判定処理部２８によって判定される。この判定が肯定された場合はステップ１１０へ移行し、輻輳通知によって通知された輻輳状態の程度を表す情報を、輻輳通知送信元の無線ノード１２を表す情報と対応づけてネットワーク状態テーブルに登録する処理が判定処理部２８によって行われる。
【００７２】
また、ステップ１０８の判定が否定された場合はステップ１１２へ移行し、他の無線ノード１２から受信した制御パケットがＡＣＫ応答か否かが判定処理部２８によって判定される。この判定が肯定された場合はステップ１１４へ移行し、受信したＡＣＫ応答が自ノード宛か否かが判定処理部２８によって判定される。この判定が肯定された場合はステップ１２０へ移行し、再送信に備えてバッファ４０に保存されているパケットが再送処理部３６によって廃棄される。また、ステップ１２２では再送信タイマが再送処理部３６によって停止される。
【００７３】
また、IPv6パケットが送信元の無線ノード１２から最終受取先の無線ノード１２へエンド・トゥ・エンドで転送された場合、IPv6パケットの最終受取先の無線ノード１２からIPv6パケットの送信元の無線ノード１２へＡＣＫ応答が送信されるので、IPv6パケットの最終受取先の無線ノード１２とIPv6パケットの送信元の無線ノード１２との間に存在する無線ノード１２では、ＡＣＫ応答を中継する必要が生ずる。この場合はステップ１１４の判定が否定されてステップ１１６へ移行し、受信したＡＣＫ応答を送信する無線ノード１２(自ノードと無線伝送路１４を介して直接接続された無線ノード１２)が中継処理部３４によって判定される。そしてステップ１１８では、ステップ１１６で判定した送信先の無線ノード１２に対し、受信したＡＣＫ応答がパケット送信部４２によって送信される。
【００７４】
また、ステップ１１２の判定が否定された場合、他の無線ノード１２から受信した制御パケットは、パケットの再送信を要求する再送要求パケットであるので、ステップ１２４へ移行し、受信した再送要求が自ノード宛か否かが判定処理部２８によって判定される。この判定が肯定された場合はステップ１３０へ移行し、再送信に備えてバッファ４０に保存されているパケットが再送処理部３６によって読み出され、読み出されたパケットがパケット送信部４２によって再度送信される。また、ステップ１３２では再送信タイマが再送処理部３６によってスタートされる。
【００７５】
また、IPv6パケットが送信元の無線ノード１２から最終受取先の無線ノード１２へエンド・トゥ・エンドで転送された場合、再送要求もIPv6パケットの最終受取先の無線ノード１２からIPv6パケットの送信元の無線ノード１２へ送信されるので、IPv6パケットの最終受取先の無線ノード１２とIPv6パケットの送信元の無線ノード１２との間に存在する無線ノード１２では、再送要求を中継する必要が生ずる。この場合はステップ１２４の判定が否定されてステップ１２６へ移行し、受信した再送要求を送信する無線ノード１２(自ノードと無線伝送路１４を介して直接接続された無線ノード１２)が中継処理部３４によって判定される。そしてステップ１２８では、ステップ１２６で判定した送信先の無線ノード１２に対し、受信した再送要求がパケット送信部４２によって送信される。
【００７６】
続いて、無線ノード１２で受信タイマ又は再送信タイマがタイムアウトしたことを契機として実行されるタイマタイムアウト処理について、図６を参照して説明する。タイマタイムアウト処理では、まずステップ２００において、タイマタイムアウトしたタイマが受信タイマか再送信タイマかが判定処理部２８によって判定される。
【００７７】
受信タイマがタイムアウトした場合には、ステップ２００からステップ２０２へ移行する。受信タイマは、同一のIPv6パケットから分割された全てのパケットが設定時間以内に揃わなかった場合にタイムアウトする。ステップ２０２では、保管領域に保管されているパケットが、ヘッダに最終受取先が設定され、かつ設定された最終受取先として自ノードが設定されたパケットか否か判定する。この判定が肯定された場合はステップ２１２へ移行し、IPv6パケットの送信元の無線ノード１２を宛先とする再送要求パケットが再送処理部３６、パケット送信部４２によって送信される。この再送要求のフォーマットとしては、IEEE802.11nで採用されているブロックＡＣＫのフォーマットを用いてもよい。またステップ２１４では、保管領域に保管しているパケットが再送処理部３６によって廃棄される。この場合、IPv6パケットの最終受取先から送信された再送要求は、前述のように途中の無線ノード１２で中継されてIPv6パケットの送信元で受信される。
【００７８】
また、ステップ２０２の判定が否定された場合、すなわち再送信対象のパケットがホップ・バイ・ホップで転送されたパケットの場合には、ステップ２０４へ移行し、再送処理部３６によって保管領域が参照され、同一のIPv6パケットから分割された複数のパケットのうち自ノードが未受信のパケットが認識される。次のステップ２０６では、再送要求パケットの送信先(保管領域に保管されているパケットの送信元)の無線ノード１２が再送処理部３６によって判定される。そしてステップ２０８では、ステップ２０４で認識した未受信のパケットの再送信を要求する再送要求が、再送処理部３６及びパケット送信部４２により、ステップ２０６で判定した送信先へ送信される。この再送要求のフォーマットとしては、IEEE802.11nで採用されているブロックＡＣＫのフォーマットを用いてもよい。また、ステップ２１０では再送処理部３６によって再送信タイマがスタートされる。
【００７９】
また、再送信タイマがタイムアウトした場合は、ステップ２００からステップ２１６へ移行する。再送信タイマは、自ノードがデータパケットを送信してから設定時間以内にＡＣＫ応答を受信しなかった場合にタイムアウトする。ステップ２１６では、再送信対象の複数のパケットが再送処理部３６によってバッファ４０から各々読み出される。また、ステップ２１８では、読み出された複数のパケットの送信先が再送処理部３６によって判定される。そしてステップ２２０では、再送処理部３６及びパケット送信部４２により、読み出された各パケットがステップ２２８で判定した送信先の無線ノード１２へ再送信される。また、ステップ２２２では再送処理部３６によって再送信タイマがスタートされる。
【００８０】
〔第２実施形態〕
次に本発明の第２実施形態について説明する。なお、第１実施形態と同一の部分には同一の符号を付し、説明を省略する。図７には本第２実施形態に係る無線通信網１０及び無線ノード１２が示されている。本第２実施形態は、無線ノード１２にタイマ処理部４８が設けられている点でのみ第１実施形態と相違している。なお、タイマ処理部４８は請求項６,７に記載の変更手段の一例である。
【００８１】
第１実施形態で説明したように、IPv6パケットをエンド・トゥ・エンドで転送する場合、IPv6パケットの送信元の無線ノード１２では、パケットの再送信に備え、IPv6パケットの最終受取先の無線ノード１２からＡＣＫ応答を受信するか、又は再送信タイマがタイムアウトする迄の間は、送信済の複数のパケットをバッファ４０に保存する。
【００８２】
但し、最終受取先の無線ノード１２でIPv6パケットを正常に受信できたとしても、最終受取先の無線ノード１２から送信されたＡＣＫ応答を中継する途中の無線ノード１２でのバッファ溢れや、パケットの衝突等の理由で、IPv6パケットの送信元の無線ノード１２がＡＣＫ応答を受信する迄に長い時間が掛かったり、IPv6パケットの送信元の無線ノード１２がＡＣＫ応答を受信できない場合がある。そして、再送信タイマのタイムアウト値を大きな値にすると、送信済みのパケットを長時間保持するためにバッファ４０のサイズを大きくする必要が生じ、またタイムアウト値を小さな値にすると、ＡＣＫ応答を受信する前に再送信タイマがタイムアウトしてしまうことで、本来は不必要な再送信やパケットの廃棄を引き起こすことになる。
【００８３】
本第２実施形態に係るタイマ処理部４８は、自ノードがIPv6パケットをエンド・トゥ・エンドで送信する場合に、再送信タイマのタイムアウト時間を、自ノードとIPv6パケットの最終受取先の無線ノード１２との間に存在している無線ノード１２の数、及び、無線通信網１０における輻輳度合いに応じて動的に設定する処理を行う。
【００８４】
具体的には、タイマ処理部４８は、IPv6パケットから分割した送信済の複数のパケットがバッファ４０に保存される際に、ネットワーク状態テーブルに登録されている輻輳状態、Ｌ２ルーティングテーブル４４やＬ３ルーティングテーブル４６に保持されているIPv6パケットの最終受取先の無線ノード１２迄のノード数(ホップ数)を参照する。そして、タイマ処理部４８は、例えば次の(１)式に従ってタイムアウト時間ＴＯを演算する。
【００８５】
ＴＯ＝２(Ｔ1hop×ＨＯＰ)＋Ｔcong  …(１)
但し、Ｔ1hopは１ｈｏｐ中継に必要とされる処理時間、ＨＯＰは最終受取先迄のホップ数(ノード数)、Ｔcongは輻輳状態に応じた加算時間であり、輻輳度合いが高くなるに従って大きな値が設定される。
【００８６】
(１)式で表されるタイムアウト時間ＴＯはIPv6パケットの送信元と最終受取先との間でのパケット往復時間に基づき算出され、このタイムアウト時間ＴＯは、IPv6パケットから分割した複数のパケットのうちの最終パケットが送信された時点で再送信タイマにセットされる。再送信タイマのタイムアウト時間として上記で得られたタイムアウト時間ＴＯを設定することで、最終受取先迄のホップ数(中継回数)や無線通信網１０の輻輳状態に応じた最適なタイミングで再送信タイマがタイムアウトすることになり、本来は不必要な再送信やパケットの廃棄を低減することができる。
【００８７】
なお、上記ではIPv6パケットの送信に際し、IPv6パケットの最終受取先の無線ノード１２やその周辺が輻輳状態か否か判定する態様を説明したが、これに限定されるものではない。無線通信網１０内の何れかの箇所が輻輳状態になると、無線通信網１０内の他の箇所も影響を受けて輻輳に近い状態になることから、上記判定に代えて、輻輳状態となっていることを特定することなく、無線通信網１０内の何れかの箇所が輻輳状態か否かを判定するようにしてもよい。具体的な判定方法としては、無線通信網１０内の何れかの箇所が輻輳状態となっていることを表す情報がネットワーク状態テーブルに登録されているか否かを判定してもよいし、他の無線ノード１２との間で現時点迄に送受したパケットのうち、正常に送受できたパケットの割合を閾値と比較した結果に基づいて輻輳状態か否かを判定するようにしてもよいし、他の無線ノード１２との間でのパケットの送受の頻度を閾値と比較した結果に基づいて輻輳状態か否かを判定を行うようにしてもよい。本発明はこの態様も権利範囲に含むものである。
【００８８】
また、上記ではIPv6パケットの送信元の無線ノード１２がホップ・バイ・ホップでの転送を行った場合、中継を行う無線ノード１２でもホップ・バイ・ホップでの転送を継続する態様を説明したが、これに限定されるものではなく、例えば中継を行う無線ノード１２でも送信先が輻輳状態か否かを判定し、輻輳状態でないと判定した場合にはエンド・トゥ・エンドでの転送に切り替えるようにしてもよい。
【００８９】
また、上記ではIEEE802.15.4に準拠した無線通信を行う構成の無線通信網１０を例に説明したが、無線通信の規格はIEEE802.15.4に限られるものではなく、エンド・トゥ・エンドでの情報の転送とホップ・バイ・ホップでの情報の転送が可能な規格であれば本発明を適用可能である。また、上記では本発明における送信対象情報の一例としてIPv6パケットを説明したが、送信対象情報としては任意の情報を適用可能である。
【符号の説明】
【００９０】
１０  無線通信網
１２  無線ノード
１４  無線伝送路
２８  判定処理部
３０  組立処理部
３２  IPv6パケット処理部
３４  中継処理部
３６  再送処理部
３８  分割処理部
４０  バッファ
４２  パケット送信部
４８  タイマ処理部
【図１】
0005569452.tif 000002
【図２】
0005569452.tif 000003
【図３】
0005569452.tif 000004
【図４】
0005569452.tif 000005
【図５】
0005569452.tif 000006
【図６】
0005569452.tif 000007
【図７】
0005569452.tif 000008
【図８】
0005569452.tif 000009