(57)【特許請求の範囲】
【請求項１】
マルチホップ通信を行う無線通信装置において、
過去に送信したパケットの宛先、又は、中継経路情報を送信した送信元を履歴として格納する履歴格納手段と、
送信するパケットの宛先が上記履歴格納手段に履歴として格納されているか否かを判定する送信処理判定手段と、
上記送信処理判定手段により上記履歴がある場合には、当該パケットの宛先と、履歴を用いた中継処理を行うことを示す情報とをパケットに付与して送信処理を行う第１の送信処理手段と、
上記送信処理判定手段により上記履歴がない場合には、当該パケットの宛先までの上記中継経路情報と、上記中継経路情報を用いた中継処理を行うことを示す情報をパケットに付与して送信処理を行う第２の送信処理手段と
を備えることを特徴とする無線通信装置。
【請求項２】
上記履歴格納手段が、過去に送信したパケットの宛先を履歴として格納するものであり、
上記第２の送信処理手段が上記中継経路情報をパケットに付与して送信するときに、上記履歴格納手段が上記パケットの宛先を格納することを特徴とする請求項１に記載の無線通信装置。
【請求項３】
上記履歴格納手段が、中継経路情報を送信した送信元を履歴として格納するものであり、
他の無線通信装置との間で上記中継経路情報の授受を行い、上記中継経路情報の送信元から自装置までの上記中継経路情報を受信したときに、上記履歴格納手段が上記中継経路情報の送信元を格納することを特徴とする請求項１に記載の無線通信装置。
【請求項４】
マルチホップ通信を行う無線通信装置において、
パケットの宛先及び中継先を格納するルーティングテーブルと、
受信したパケットのヘッダ情報に基づいて当該パケットの中継処理を判定する中継処理判定手段と、
上記中継処理判定手段により上記ルーティングテーブルの履歴を用いた中継処理を行うことを示す情報がある場合には、上記ルーティングテーブルを参照して、受信したパケットの宛先に対応する中継先への中継処理を行う第１の中継処理手段と、
上記中継処理判定手段により中継経路情報を用いた中継処理を行うことを示す情報がある場合には、受信したパケットに付与されている中継経路情報を用いて中継処理を行う第２の中継処理手段と
を備えることを特徴とする無線通信装置。
【請求項５】
上記第２の中継処理手段が、パケットを受信したときに、当該パケットに付与されている上記中継経路情報に基づく当該パケットの宛先及び中継先を、上記ルーティングテーブルに格納することを特徴とする請求項４に記載の無線通信装置。
【請求項６】
他の無線通信装置との間で上記中継経路情報の授受を行い、上記中継経路情報の送信元から自装置までの上記中継経路情報を取得する中継経路情報処理手段が、受信した上記中継経路情報に基づく宛先及び中継先を、上記ルーティングテーブルに格納することを特徴とする請求項４に記載の無線通信装置。
【請求項７】
請求項１〜３のいずれかに記載の無線通信装置と、請求項４〜６のいずれかに記載の無線通信装置とを兼ね備えることを特徴とする無線通信装置。
【請求項８】
マルチホップ通信を行う無線通信装置が、過去に送信したパケットの宛先、又は、中継経路情報を送信した送信元を履歴として格納する履歴格納手段を備え、
上記無線通信装置を、
送信するパケットの宛先が上記履歴格納手段に履歴として格納されているか否かを判定する送信処理判定手段、
上記送信処理判定手段により上記履歴がある場合には、当該パケットの宛先と、履歴を用いた中継処理を行うことを示す情報とをパケットに付与して送信処理を行う第１の送信処理手段、
上記送信処理判定手段により上記履歴がない場合には、当該パケットの宛先までの上記中継経路情報と、上記中継経路情報を用いた中継処理を行うことを示す情報をパケットに付与して送信処理を行う第２の送信処理手段
として機能させることを特徴とする無線通信プログラム。
【請求項９】
マルチホップ通信を行う無線通信装置がパケットの宛先及び中継先を格納するルーティングテーブルを備え、
上記無線通信装置を、
受信したパケットのヘッダ情報に基づいて当該パケットの中継処理を判定する中継処理判定手段、
上記中継処理判定手段により上記ルーティングテーブルの履歴を用いた中継処理を行うことを示す情報がある場合には、上記ルーティングテーブルを参照して、受信したパケットの宛先に対応する中継先への中継処理を行う第１の中継処理手段、
上記中継処理判定手段により中継経路情報を用いた中継処理を行うことを示す情報がある場合には、受信したパケットに付与されている中継経路情報を用いて中継処理を行う第２の中継処理手段
として機能させることを特徴とする無線通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信装置及び無線通信プログラムに関し、例えば、マルチホップ通信を採用したネットワークを構成するノードの無線通信装置に適用し得るものである。
【背景技術】
【０００２】
非特許文献１には、ソースルーティングによってマルチホップ通信を行う手法が記載されている。非特許文献１に記載の方法は、ルートレコードコマンドパケットを送信し、ルートレコードパケットを中継するノードは、パケットに自身のアドレスを追記していく方法であり（非特許文献１の３．６．３．５．４節）、これにより、ルートレコードパケットの宛先ノードにルートレコードパケットの送信元ノードからの中継経路を通知することができる。
【０００３】
一方、ソースルーティングによってパケットを送信する場合は宛先ノードまでの中継経路のノードのアドレスを全て記載したヘッダ情報を付与してデータパケットを生成する（非特許文献１の３．６．３．３．１節）。
【０００４】
ソースルーティングのパケットを中継するノードは、現在どのノードが中継しているかを示すアドレスリストのインデックス値をインクリメントして、次の中継ノードに送信する（非特許文献１の３．６．３．３、２節）。
【０００５】
以上のようなソースルーティングを行うことで、各ノードは、ルーティングテーブルを持たなくてもマルチホップ通信を行うことが可能となり、処理能力を向上させメモリ負荷を軽減させたノードを用いたマルチホップネットワークを構築することができる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】ＺｉｇＢｅｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｄｏｃｕｍｅｎｔ  ０５３４７４ｒ１７
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、非特許文献１に記載のソースルーティングを適用すると、パケットのヘッダ情報に宛先ノードまでの中継経路を示すアドレスリストを全て記載する必要がある。そのため、ヘッダ情報のサイズが大きくなり、実際に送りたい情報を書き込むためのペイロードのサイズが小さくなるという問題がある。
【０００８】
ヘッダ情報に記載するアドレスリストのサイズは、中継ホップ数が多くなるとこれに比例して大きくなり、例えば、ＩＥＥＥ（米国電気電子技術者協会）で標準化されたＩＥＥＥ８０２．１５．４に基づくデバイスの場合、フレームサイズの上限が１２８バイトに制限されているため、上述したソースルーティングによるアドレスリストの占めるオーバヘッドの割合が大きくなる。
【０００９】
その結果、ネットワーク層より上位で実行する実行スループットが低下してしまう藤問題が生じ得る。
【００１０】
また、パケットを同一宛先ノードに連続して送信するような場合、毎回同一のアドレスリストをヘッダ情報に記載する必要があり無駄な処理を行っているので、より効率的な手法が望まれている。
【００１１】
そこで、本発明は、上述したソースルーティングを行うのに必要なアドレスリストをパケットに記載する際に、従来よりもオーバヘッドサイズを小さくすることができ、スループットの向上を図る無線通信装置及び無線通信プログラムを提供する。
【課題を解決するための手段】
【００１２】
かかる課題を解決するために、第１の本発明の無線通信装置は、マルチホップ通信を行う無線通信装置において、（１）過去に送信したパケットの宛先、又は、中継経路情報を送信した送信元を履歴として格納する履歴格納手段と、（２）送信するパケットの宛先が履歴格納手段に履歴として格納されているか否かを判定する送信処理判定手段と、（３）送信処理判定手段により履歴がある場合には、当該パケットの宛先と、履歴を用いた中継処理を行うことを示す情報とをパケットに付与して送信処理を行う第１の送信処理手段と、（４）送信処理判定手段により履歴がない場合には、当該パケットの宛先までの中継経路情報と、中継経路情報を用いた中継処理を行うことを示す情報をパケットに付与して送信処理を行う第２の送信処理手段とを備えることを特徴とする。
【００１３】
第２の本発明の無線通信装置は、マルチホップ通信を行う無線通信装置において、（１）パケットの宛先及び中継先を格納するルーティングテーブルと、（２）受信したパケットのヘッダ情報に基づいて当該パケットの中継処理を判定する中継処理判定手段と、（３）中継処理判定手段によりルーティングテーブルの履歴を用いた中継処理を行うことを示す情報がある場合には、ルーティングテーブルを参照して、受信したパケットの宛先に対応する中継先への中継処理を行う第１の中継処理手段と、（４）中継処理判定手段により中継経路情報を用いた中継処理を行うことを示す情報がある場合には、受信したパケットに付与されている中継経路情報を用いて中継処理を行う第２の中継処理手段とを備えることを特徴とする。
【００１４】
第３の本発明の無線通信プログラムは、マルチホップ通信を行う無線通信装置が、過去に送信したパケットの宛先、又は、中継経路情報を送信した送信元を履歴として格納する履歴格納手段を備え、無線通信装置を、（１）送信するパケットの宛先が上記履歴格納手段に履歴として格納されているか否かを判定する送信処理判定手段、（２）送信処理判定手段により履歴がある場合には、当該パケットの宛先と、履歴を用いた中継処理を行うことを示す情報とをパケットに付与して送信処理を行う第１の送信処理手段、（３）送信処理判定手段により履歴がない場合には、当該パケットの宛先までの中継経路情報と、中継経路情報を用いた中継処理を行うことを示す情報をパケットに付与して送信処理を行う第２の送信処理手段として機能させることを特徴とする。
【００１５】
第４の本発明の無線通信プログラムは、マルチホップ通信を行う無線通信装置がパケットの宛先及び中継先を格納するルーティングテーブルを備え、無線通信装置を、（１）受信したパケットのヘッダ情報に基づいて当該パケットの中継処理を判定する中継処理判定手段、（２）中継処理判定手段によりルーティングテーブルの履歴を用いた中継処理を行うことを示す情報がある場合には、ルーティングテーブルを参照して、受信したパケットの宛先に対応する中継先への中継処理を行う第１の中継処理手段、（３）中継処理判定手段により中継経路情報を用いた中継処理を行うことを示す情報がある場合には、受信したパケットに付与されている中継経路情報を用いて中継処理を行う第２の中継処理手段として機能させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、マルチホップ通信により中継する際の中継経路に必要なパケットのオーバヘッドを削減することができ、またスループットを向上させることができる。
【図面の簡単な説明】
【００１７】
【図１】第１の実施形態の中継・受信ノードの無線通信装置の構成を示す構成図である。
【図２】第１の実施形態の送信ノードの無線通信装置の構成を示す構成図である。
【図３】実施形態の通信処理の動作を説明する説明図である。
【図４】第２の実施形態の中継・受信ノードの無線通信装置の構成を示す構成図である。
【図５】第１の実施形態の送信ノードの無線通信装置の構成を示す構成図である。
【発明を実施するための形態】
【００１８】
（Ａ）第１の実施形態
以下では、本発明の無線通信装置及び無線通信プログラムの第１の実施形態を、図面を参照しながら詳細に説明する。
【００１９】
第１の実施形態では、例えば、空間に分散配置された多数のノード（無線通信装置）が無線を利用して相互にデータ通信を行うマルチホップ通信を採用したネットワーク（マルチホップネットワーク）を構成するノードに、本発明を適用した実施形態を例示して説明する。
【００２０】
（Ａ−１）第１の実施形態の構成
図１及び図２は、第１の実施形態に係るノードの無線通信装置の内部構成を示す構成図である。図１は、データパケットの中継・受信ノードの無線通信装置１００Ａの構成図であり、図２は、データパケットの送信ノードの無線通信装置１００Ｂの構成図である。
【００２１】
マルチホップネットワークを構成する各ノードは、図１及び図２に示す無線通信装置１００Ａ及び１００Ｂの双方の構成を備えるものであり、自身が中継・受信ノード又は送信ノードのいずれかになるときに、以下で説明するような無線通信装置１００Ａ及び１００Ｂのそれぞれの処理を行う。
【００２２】
（Ａ−１−１）中継・受信ノードの無線通信装置１００Ａの構成
図１において、中継・受信ノードの無線通信装置１００Ａは、中継・受信処理判定部１、ソースルーティング中継・受信処理部２、キャッシュ中継・受信処理部３、ルーティングテーブル４、ルートレコード処理部５、パケット送信部６を少なくとも有する。
【００２３】
中継・受信処理判定部１は、受信したパケットのヘッダ情報に含まれている情報を参照して、ソースルーティング中継・受信処理部２で受信処理を行うか、又は、キャッシュ中継・受信処理部３で受信処理を行うかを判定するものである。
【００２４】
ここで、パケットのヘッダ情報に、後述する送信ノードの無線通信装置１００Ｂが判断するルーティング処理フラグが付与されている場合、中継・受信処理判定部１は、キャッシュ中継・受信処理部３で受信処理を行うと判定し、受信パケットをキャッシュ中継・受信処理部３に与え、ルーティング処理フラグが付与されていない場合、中継・受信処理判定部１はソースルーティング中継・受信処理部２で受信処理を行うと判定し、受信パケットをソースルーティング中継・受信処理部２に与える。なお、ルーティング処理フラグをヘッダ情報に付与する処理の詳細については後述する。
【００２５】
ソースルーティング中継・受信処理部２は、受信したパケットに対して通常のソースルーティング処理を行い、パケット送信部６に与えるものである。ソースルーティング中継・受信処理部２は、受信したパケットの宛先を見て自身宛である場合には、上位の処理手段（図示しない）にパケットを通知する。
【００２６】
また、パケットの宛先が自身宛でなく中継すべきパケットである場合には、ソースルーティング中継・受信処理部２は、通常のソースルーティング処理を行う。すなわちソースルーティング中継・受信処理部２は、パケットのヘッダ情報に記載されている宛先ノードまでの中継経路を示すアドレスリストに基づいて、自身のアドレスの次に記載されている次の中継先ノードに向けてパケットを送信するようにする。
【００２７】
このとき、非特許文献１の記載方法と同様に、ソースルーティング中継・受信処理部２は、アドレスリストのインデックス値をインクリメントして中継処理を行うことができる。また、ソースルーティング中継・受信処理部２は、アドレスリストに記載されている自身のアドレスを削除してパケットの中継を行うようにしても良い。これにより、自身が中継を行なったことを記録することができる。またパケットの中継がなされる毎に当該中継ノードのアドレスが削除されていくので、中継されるに従ってオーバヘッドのサイズを小さくすることができ、スループットの向上を図ることができる。
【００２８】
さらに、ソースルーティング中継・受信処理部２は、ルーティングテーブル４の更新を行うものである。ソースルーティング中継・受信処理部２は、パケットの宛先ノードと中継先ノードのアドレスを１組のエントリとして、ルーティングテーブル４に追加する。例えば、ソースルーティング中継・受信処理部２は、アドレスリストから自身の次に記載されているノードを中継ノードとし、アドレスリストの末尾のノードを宛先ノードとする方法を用いることができる。
【００２９】
キャッシュ中継・受信処理部３は、ルーティングテーブル４を参照して、受信したパケットの中継先ノードを決定して中継処理を行い、パケット送信部６に与えるものである。キャッシュ中継・受信処理部３は、パケットのヘッダ情報に含まれる宛先に基づき当該宛先に対応する中継先のアドレスを、ルーティングテーブル４から検索する。そして、キャッシュ中継・受信処理部３は、ルーティングテーブル４から当該宛先に対応する中継先アドレスを中継先として決定する。
【００３０】
ルーティングテーブル４は、宛先ノードと中継先ノードとのアドレスを１組のエントリとして格納するものである。ここで、宛先とは、パケットの最終的な到達先となるノードのアドレスであり、中継先とは、宛先に送るために、自身が選択する次の中継先ノードのアドレスである。なお、ルーティングテーブル４が保存できるエントリ数には上限があり、例えば、上限に達した場合は古いものから削除する。また、エントリ数の上限はノード間で一致させておくことが望ましいが、これに限定されることはない。
【００３１】
ルートレコード処理部５は、中継経路情報である中継アドレスリストを含むルートレコードパケットを受信すると、そのルートレコードパケットに自身のアドレスを追記し、自身のアドレスを追記したルートレコードパケットをパケット送信部６に与えるものである。このように、自身のアドレスを追記したルートレコードパケットを宛先ノードに送信することで、宛先ノードはルートレコードパケットの送信元ノードまでの中継経路をソースルーティング１０で管理することができる。
【００３２】
パケット送信部６は、ソースルーティング中継・受信処理部２、キャッシュ中継・受信処理部３、ルートレコード処理部５のいずれかから受け取ったパケットを送信するものである。
【００３３】
（Ａ−１−２）送信ノードの無線通信装置１００Ｂの構成
図２において、第１の実施形態の送信ノードの無線通信装置１００Ｂは、送信手段判定部７、ソースルーティング送信処理部８、キャッシュ送信処理部９、ソースルーティングテーブル１０、ソースルーティング送信履歴格納部１１、パケット送信部１２を少なくとも有する。
【００３４】
送信手段判定部７は、当該ノードが今から送信しようとするパケットを、ソースルーティング送信履歴格納部１１を参照して、ソースルーティング送信処理部８によって送信するか、又は、キャッシュ送信処理部９によって送信するかの判定を行うものである。送信手段判定部７は、上記の判定結果に応じて、パケットのヘッダ情報にルーティング処理フラグを付与して、ソースルーティング送信処理部８又はキャッシュ送信処理部９にパケットを受け渡すものである。
【００３５】
ここで、ルーティング処理フラグとは、履歴を用いた中継処理を行うか又はアドレスリスト（中継経路情報）を用いた中継処理を行うかを示す情報をいう。
【００３６】
このとき、送信手段判定部７は、ソースルーティング送信履歴格納部１１を参照し、今回送信するパケットの宛先の履歴が存在しているか否かを判定する。ソースルーティング送信履歴格納部１１に宛先の履歴が存在していれば、キャッシュ送信処理部９による送信処理を行うものと決定し、キャッシュ送信処理で中継することを示すルーティング処理フラグをパケットのヘッダ情報に付与する。一方、存在しない場合、ソースルーティング送信処理部８による送信処理を行うものと決定し、ソースルーティング送信処理で中継することを示すルーティング処理フラグをパケットのヘッダ情報に付与する。
【００３７】
すなわち、送信手段判定部７は、ソースルーティング送信履歴格納部１１に宛先の履歴がある場合には、過去に同じ宛先にパケット送信していると認識できる。また、当該宛先ノードまでの中継ノードには、当該宛先と中継先とのエントリがルーティングテーブル４に格納されているので宛先に対する中継先を認識しているから、ソースルーティングのようにアドレスリストをヘッダ情報に付与しなくてもパケットの中継が可能となる。そこで、この場合、送信手段判定部７は、キャッシュ送信処理部９にパケットを与え、アドレスリストをヘッダ情報に付与しない送信処理を行うようにする。
【００３８】
ソースルーティング送信処理部８は、送信すべきパケットに対して、通常のソースルーティング処理により送信処理行う。すなわち、ソースルーティング送信処理部８は、ソースルーティングテーブル１０を参照して、送信すべきパケットの宛先までの中継経路を示すアドレスリストを作成し、このアドレスリストをヘッダ情報に記載してパケット送信部１２に与える。
【００３９】
また、ソースルーティング送信処理部８は、ソースルーティング送信履歴格納部１１に、今回送信するパケットの宛先を記録する。
【００４０】
キャッシュ送信処理部９は、送信すべきパケットのヘッダ情報に、宛先ノードのアドレスのみを記載してパケット送信部１２に与えるものである。
【００４１】
ソースルーティングテーブル１０は、受信したルートレコードパケットに記載されている情報を格納するものである。ソースルーティングテーブル１０の格納形式としては、例えば、宛先と中継アドレスリスト（宛先ノードまでの全ての中継ノードのアドレスを中継順に記載したリスト）とを１組として記録する。
【００４２】
ソースルーティング送信履歴格納部１１は、ソースルーティング送信処理部８が送信したパケットの宛先を履歴として格納するものである。ソースルーティング送信履歴格納部１１の格納数には上限があり、上限に達した場合、古いものから削除していく。また、ソースルーティング送信履歴格納部１１の上限数は、ルーティングテーブル４の上限数と同じしておくことが望ましい。これにより、キャッシュによる送信を行なった場合に、中継ノード側のキャッシュ中継・受信処理部３が、ルーティングテーブル４から中継先ノードを見つけられないという事態を回避できるからである。
【００４３】
パケット送信部１２は、ソースルーティング送信処理部８、キャッシュ送信処理部９のいずれかからのパケットを送信するものである。
【００４４】
（Ａ−２）第１の実施形態の動作
次に、第１の実施形態に係るノードによる通信処理の動作を、図面を参照しながら説明する。図３は、第１の実施形態の通信処理の動作を説明する説明図である。
【００４５】
図３において、ノード０は、パケットを送信する送信ノードである。それ以外のノード１〜７は、パケットを中継又は受信する中継・受信ノードである。
【００４６】
なお、各ノード０〜７はそれぞれ、従来と同様にしてルートレコードパケットの送受信を行っており、ノード０は、全てのノードを宛先とした場合のソースルーティングテーブル１０を有している。例えば、ノード０は、図３に示すソースルーティングテーブル１０を有しており、宛先をノード１とする場合は「ノード１」という中継アドレスリストを保持し、宛先をノード３とする場合は「ノード１→ノード３」という中継アドレスリストを保持している。
【００４７】
まず、ノード０は、ノード７を宛先とするパケットを送信する場合を例示する。ノード０において、送信手段判定部７は、ソースルーティング送信履歴格納部１１を参照して、ノード７を宛先とする履歴があるかを判断する。
【００４８】
ここでは、ノード７宛のパケット送信は初めてであり、ソースルーティング送信履歴格納部１１にはノード７を宛先とする履歴は格納されていないとする。
【００４９】
そのため、送信手段判定部７は、送信履歴にノード７がないと判断し、ソースルーティング送信処理部８による送信処理を行うと判定し、パケットをソースルーティング送信処理部８に与える。
【００５０】
ソースルーティング送信処理部８は、ソースルーティングテーブル１０を参照して、ノード７を宛先とする中継アドレスリストを作成する。例えば、図３に示すノード０のソースルーティングアドレス１０から、宛先ノード７までの中継アドレスリストは「ノード２→ノード５→ノード７」と決まる。
【００５１】
そのため、ソースルーティング送信処理部８は、このパケットがソースルーティングによって中継されることを示すルーティング処理フラグと、中継アドレスリストとをヘッダ情報を付与して、パケット送信部１２に与える。
【００５２】
また、ソースルーティング送信処理部６は、ソースルーティング送信履歴格納部１１に、ノード７を宛先とした送信履歴を格納する。例えば、図３に示すように、ノード０のソースルーティング送信履歴格納部１１に、送信履歴として「ノード７」を格納する。
【００５３】
そして、パケット送信部１２はパケットを送信し、送信パケットはノード２に送信される。
【００５４】
ノード２において、中継・受信処理判定部１は、パケットのヘッダ情報のルーティング処理フラグを見て、ソースルーティングによって中継されることを判定し、当該パケットをソースルーティング中継・受信処理部２に与える。
【００５５】
ソースルーティング中継・受信処理部２は、自身宛のパケットでないことを確認すると、パケットのヘッダ情報に記載されているアドレスリストを参照して、自身のアドレスの次に記載されているノード５を中継先ノードとして、パケット送信部６に与える。このとき、ソースルーティング中継・受信処理部２は、アドレスリストから自身のアドレスを削除してパケット送信部６に与える。
【００５６】
また、ソースルーティング中継・受信処理部２は、アドレスリストから、中継先ノードであるノード５のアドレスと、最終宛先のノード７のアドレスとを組として、図３に示すようにノード２のルーティングテーブル４に格納する。
【００５７】
ノード２のパケット送信部６から送信されたパケットは、ノード５に与えられる。
【００５８】
ノード５も、ノード２における処理と同様の動作を行う。ノード５においては、図３に示すように、宛先であるノード７のアドレスと、中継先としてノード７のアドレスとが組としてルーティングテーブル４に格納される。
【００５９】
ノード７において、中継・受信処理判定部１は、受信パケットのヘッダ情報のルーティング処理フラグを判定して、ソースルーティング中継・受信処理部２にパケットを与える。ソースルーティング中継・受信処理部２は、ヘッダ情報に基づいて自身宛であることを判定すると、上位の処理手段（図示しない）にパケット受信を通知する。このようにして、パケットはノード０からノード７まで送信される。
【００６０】
次に、再びノード０がノード７にパケットを送信する場合を例示する。
【００６１】
このとき、ノード０の送信手段判定部７は、例えば図３に示すようにソースルーティング送信履歴格納部１１に、ノード７を宛先とする送信履歴が残っているため、キャッシュ送信処理部９に送信パケットを与える。
【００６２】
キャッシュ送信処理部７は、このパケットがキャッシュされたルーティングテーブル４によって中継されることを示すルーティング処理フラグと、最終宛先のノード７のアドレスとをヘッダ情報を付与して、パケット送信部１２に与えてノード２に送信する。
【００６３】
ノード２では、中継・受信処理判定部１は、パケットのヘッダ情報のルーティング処理フラグに基づいて、キャッシュしたルーティングテーブル４によって中継処理するものと判定し、キャッシュ中継・受信処理部３にパケットを与える。
【００６４】
キャッシュ中継・受信処理部３は、ルーティングテーブル４を参照して、パケットのヘッダ情報に記載されている宛先に対応する中継先を判断する。例えば、図３に示すノード２のルーティングテーブル４は、宛先「ノード７」と中継先「ノード５」が組みとなって格納されているから、ノード７を宛先とする当該パケットの中継先をノード５と判断してパケット送信部６に与える。
【００６５】
ノード５も、ノード２における動作と同様の動作を行う。この場合、ノード５のキャッシュ中継・受信処理部３は、ルーティングテーブル４から中継先ノードをノード７と判断して送信する。このようにして、ノード０から送信されたパケットはノード７まで送信される。
【００６６】
（Ａ−３）第１の実施形態の効果
上記のように、第１の実施形態によれば、ソースルーティングによって中継するパケットの中継時にルーティングテーブルを作成（更新）することで、各ノードのルーティングテーブルに残っている経路については、ソースルーティングのアドレスリストのオーバヘッドなくパケットを宛先まで中継することが可能になる。
【００６７】
このようにすることで、従来は全てをソースルーティングで送信する場合は、１パケット中のアドレスリストのオーバヘッドの大きさが問題になり、逆に全てをルーティングテーブルで送信する場合は、各ノードがルーティングテーブルを保持するために必要なメモリサイズが大きくなってしまうという問題が発生する。
【００６８】
これに対して、第１の実施形態によれば、ノードが有するメモリの内、ルーティングテーブルに割り当てた分に応じてソースルーティングで送信する機会が減るため、アドレスリストのヘッダ部分のオーバヘッドを削減することができる。その結果、実行スループットを向上させることが可能になる。
【００６９】
（Ｂ）第２の実施形態
次に、本発明の無線通信装置及び無線通信プログラムの第２の実施形態を、図面を参照しながら説明する。
【００７０】
第２の実施形態が、第１の実施形態と異なる点は、中継・受信ノードの無線通信装置については、ルーティングテーブルの更新をルートレコード処理部が行う点である。また送信ノードの無線通信装置については、ソースルーティング送信履歴格納部に代えて、ルートレコード受信履歴格納部を備える点である。
【００７１】
（Ｂ−１）第２の実施形態の構成
図４及び図５は、第２の実施形態に係るノードの無線通信装置の内部構成を示す構成図である。図４は、データパケットの中継・受信ノードの無線通信装置２００Ａの構成図であり、図５は、データパケットの送信ノードの無線通信装置２００Ｂの構成図である。
【００７２】
図４において、中継・受信ノードの無線通信装置２００Ａは、中継・受信処理判定部１、ソースルーティング中継・受信処理部２１、キャッシュ中継・受信処理部３、ルーティングテーブル２２、ルートレコード処理部２３、パケット送信部６を少なくとも有する。
【００７３】
第１の実施形態では、ソースルーティング中継・受信処理部２がルーティングテーブル４を更新していたが、第２の実施形態では、ルートレコード処理部２３がルーティングテーブル２２を更新する。
【００７４】
ルートレコード処理部２３は、ルートレコードパケットを受信したときに、ルーティングテーブル２２を更新する。なお、ルーティングテーブル２２は、第１の実施形態と同様に、宛先と中継先とのアドレスを組としてエントリする。
【００７５】
ここで、ルートレコードパケットは、ルートレコードパケットの送信元ノードが自身のアドレスを先頭に記載したアドレスリストを送信し、順次中継ノードが自身のアドレスを追記していくことで中継アドレスリストを形成していく。
【００７６】
従って、ルートレコード処理部２３は、受信したルートレコードパケットの中継アドレスリストの先頭アドレスを宛先とし、末尾アドレスを中継先とし、これら宛先と中継先のアドレスを組としてルーティングテーブル２２に格納する。
【００７７】
なお、ソースルーティング中継・受信処理部２１は、ルーティングテーブル２２の更新を行わないものであり、それ以外の処理は第１の実施形態のソースルーティング中継・受信処理部２と同じである。
【００７８】
図５において、第２の実施形態の送信ノードの無線通信装置２００Ｂは、送信手段判定部７、ソースルーティング送信処理部２５、キャッシュ送信処理部９、ソースルーティングテーブル１０、ルートレコード受信履歴格納部２６、パケット送信部１２を少なくとも有する。
【００７９】
ルートレコード受信履歴格納部２６は、ルートレコードパケットを受信したときに、ルートレコードの送信元ノードのアドレスを、受信履歴として格納するものである。ルートレコード受信履歴格納部２６の格納数が上限に達した場合、古いものから順に削除していく。
【００８０】
第１の実施形態では、ソースルーティング送信処理部８がソースルーティング送信履歴格納部１１を更新し、送信手段判定部７がその履歴を元に判断を行っていたが、第２の実施形態では、ルートレコードの受信によってルートレコード受信履歴格納部２６に受信履歴を残し、送信手段判定部７が、記録のある履歴を元に判断を行う。
【００８１】
このため、第２の実施形態では、送信手段判定部７はルートレコードを受信した履歴が残っているノードに対する送信時には、各中継・受信ノードが、ルートレコードを中継するときに生成したルーティングテーブル２２に正しい経路情報が残っていると判断してキャッシュ送信処理部９にパケットを与える。
【００８２】
なお、ソースルーティング送信処理部２５は、ソースルーティング送信履歴格納部１１の更新を行わないものであり、それ以外の処理は第１の実施形態のソースルーティング送信処理部８と同じである。
【００８３】
（Ｂ−２）第２の実施形態の動作
次に、第２の実施形態の通信処理の動作を、図面を参照しながら説明する。第２の実施形態でも、図３に示す説明図を用いて説明する。
【００８４】
図３において、各ノード０〜７はルートレコードパケットの送受信を行う。例えば、ノード７が、ルートレコードパケットを生成する。この場合、ルートレコードパケットのアドレスリストには、自身のアドレスのみが記載されている。このようなアドレスリストを含むルートレコードパケットを、ノード７がノード５に送信する。
【００８５】
ノード５において、ノード７からのルートレコードパケットを受信すると、ルートレコード処理部２３は、アドレスリストの先頭に記載されているアドレスを宛先とし、末尾に記載されているアドレスを中継先として、ルーティングテーブル２３に格納する。
【００８６】
例えば、この場合、アドレスリストにはノード７のアドレスのみが記載されているので、宛先を「ノード７」、中継先を「ノード７」としてルーティングテーブル２２に格納する。
【００８７】
また、ルートレコード処理部２３は、自身のアドレスをアドレスリストに追記してノード２に送信する。
【００８８】
ノード２も、ノード５における動作と同じ動作を行う。この場合、アドレスリストの先頭にはノード７のアドレスが記載されており、末尾にはノード５のアドレスが記載されているので、ルートレコード処理部２３は、宛先を「ノード７」、中継先を「ノード５」としてルーティングテーブル２２に格納する。また、ルートレコード処理部２３は、自身のアドレスをノード５のアドレスの次に記載して送信する。
【００８９】
ノード０においては、ルートレコードパケットを受信すると、宛先（送信元）とアドレスリストとをソースルーティングテーブル１０に記録する。また、ルートレコード受信履歴格納部２６に、ノード７からルートレコードパケットを受信したことを履歴情報として格納する。
【００９０】
この状態で、ノード０からノード７宛のパケットを送信する場合は、ノード０の送信手段判定部７が、ルートレコード受信履歴格納部２６に、ノード７からのルートレコードの受信履歴があるか否かを判定する。
【００９１】
そして、ノード７のルートレコードの受信履歴がない場合には、ソースルーティング送信処理部２５による送信処理を行い、受信履歴がある場合には、キャッシュ送信処理部９による送信処理を行う。なお、これ以後のパケット中継処理は、第１の実施形態と同じであるから説明を省略する。
【００９２】
（Ｂ−３）第２の実施形態の効果
上記のように、第２の実施形態によれば、第１の実施形態と同様の効果を奏することができる。また、中継・受信ノードがルーティングテーブルを更新するトリガーが異なるため、ネットワークに流れるトラフィックパタンによって、ソースルーティングで送信しなければならない確率が変わるため、第１の実施形態と第２の実施形態のどちらの効果が高いかが変わることがある。
【００９３】
（Ｃ）他の実施形態
上述した第１及び第２の実施形態では、マルチホップネットワークを構成するノードの無線通信装置に本発明を適用する場合を例示した。この種の無線通信装置であれば、特に限定されず広く適用することができる。例えば、ＩＥＥＥ８０２．１５．４に準拠する装置、ブルートゥース（登録商標）等の近距離無線通信装置等に適用することができる。
【００９４】
また、上述した第１及び第２の実施形態で説明したネットワークの例として、例えば、数百〜数千のノードを有して構成されるセンサネットワーク等に適用することもできる。このように中継ホップ数が多くなるようなネットワークに適用することにより、オーバーヘッドが小さくなり、スループットの向上を図ることができるので、パケット伝送の効率化を図ることもできる。
【００９５】
上述した第１及び第２の実施形態において、ノードの無線通信装置のハードウェア構成は既存のハードウェア構成を適用することができ、例えば、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ等から構成される。また、例えば、ＣＰＵが、ＲＯＭに格納される処理プログラムを実現するソフトウェア処理により、上述した第１及び第２の実施形態で説明した機能を実現する。
【符号の説明】
【００９６】
１００Ａ、２００Ａ…中継・受信ノードの無線通信装置、
１・・・中継・受信処理判定部、２、２１…ソースルーティング中継・受信処理部、
３…キャッシュ中継・受信処理部、４、２２…ルーティングテーブル、
５、２３…ルートレコード処理部、６…パケット送信部、
１００Ｂ、２００Ｂ…送信ノードの無線通信装置、
７…送信手段判定部、８、２５…ソースルーティング送信処理部、
９…キャッシュ送信処理部、１０…ソースルーティングテーブル、
１１…ソースルーティング送信履歴格納部、１２…パケット送信部、
２６…ルートレコード受信履歴格納部。
【図１】
0005387239.tif 000002
【図２】
0005387239.tif 000003
【図３】
0005387239.tif 000004
【図４】
0005387239.tif 000005
【図５】
0005387239.tif 000006