(57)【要約】【課題】周波数コグニティブ無線機能を利用するアドホック無線ネットワークにおいて適切な経路決定を行う。【解決手段】各ノードの利用可能周波数を検出し、各周波数についての利用可能状況の履歴から、各ノードについて各周波数の安定度指数を算出し、直接通信可能な２ノード間のホップの安定度指数を、両ノードの周波数の安定度指数に基づいて算出し、送信元ノードと宛先ノードとの間の経路を、各ホップの安定度指数に基づいて決定する。送信元ノードが経路要求（ＲＲＥＱ）を送信し、中継ノードは直前のホップに関するホップ安定度指数を付加してＲＲＥＱを転送する。宛先ノードは受信したＲＲＥＱごとに、ＲＲＥＱに含まれるホップ安定度指数からルートスコアを算出し、ルートスコアが高い経路を選択する。【選択図】図１
2010239248.tif 000002
【特許請求の範囲】
【請求項１】
周波数コグニティブ無線通信機能を備えるノードから構成されるアドホック無線ネットワークにおける経路決定方法であって、
各ノードの各周波数についての利用可能状況を検出する検出ステップと、
各周波数についての利用可能状況の履歴から、各ノードについて各周波数の安定度を算出する周波数安定度算出ステップと、
両ノードの周波数の安定度に基づいて、直接通信可能な２ノード間のホップの安定度を算出するホップ安定度算出ステップと、
送信元ノードと宛先ノードとの間の経路を、各ホップの安定度に基づいて決定する経路決定ステップと、
を含む経路決定方法。
【請求項２】
前記ホップ安定度算出ステップは、
前記周波数安定度を用いて、ホップを構成する複数のリンクについて安定度を算出する工程と、
複数のリンク安定度から、ホップ安定度を算出する工程と、
を含むことを特徴とする請求項１に記載の経路決定方法。
【請求項３】
前記経路決定ステップでは、
送信元ノードと宛先ノードとの間の経路候補それぞれについて、ホップ数が少ないほど高く、かつ、経路を構成する各ホップの安定度の平均が高いほど高くなるルートスコアを算出し、最もスコアの高い経路を送信元ノードと宛先ノードとの間の経路として決定する
ことを特徴とする請求項１または２に記載の経路決定方法。
【請求項４】
直接通信可能な２ノードの間で各ノードの周波数安定度を通知し合い、両ノードの周波数安定度に基づいて両ノード間のホップ安定度を算出するステップをさらに含み、
前記経路決定ステップは、
送信元ノードが、宛先ノードまでの経路を要求する経路要求を送信する工程と、
前記経路要求を受信した宛先ノード以外のノードが、直前のホップに関するホップ安定度を前記経路要求に付加して転送する工程と、
宛先ノードが、受信した経路要求が転送された経路ごとに、該経路要求に含まれる各ホップのホップ安定度に基づいてルートスコアを算出し、最もスコアの高い経路を送信元ノードと宛先ノードとの間の経路として決定する工程と、
を含むことを特徴とする請求項３に記載の経路決定方法。
【請求項５】
直接通信可能な２ノードの間で各ノードの周波数安定度を通知し合うステップをさらに含み、
前記経路決定ステップは、
送信元ノードが、宛先ノードまでの経路を要求する経路要求を送信する工程と、
前記経路要求を受信した宛先ノード以外のノードが、自ノードの周波数安定度を前記経路要求に付加して転送する工程と、
宛先ノードが、受信した経路要求が転送された経路ごとに、該経路要求に含まれる各ノードの周波数安定度に基づいてルートスコアを算出し、最もスコアの高い経路を送信元ノードと宛先ノードとの間の経路として決定する工程と、
を含むことを特徴とする請求項３に記載の経路決定方法。
【請求項６】
直接通信可能な２ノードの間で各ノードの周波数安定度を通知し合い、両ノードの周波数安定度に基づいて両ノード間のホップ安定度を算出するステップをさらに含み、
前記経路決定ステップは、
各ノードが自ノードの有する経路情報を周囲に送信する工程と、
受信した経路情報と、当該経路情報を送信したノードとの間のホップ安定度とから、当該経路情報を送信したノードを経由する自ノードから宛先ノードまでの経路のルートスコアを算出する工程と、
前記宛先ノードまでのルートスコアが最も高い経路を、自ノードと宛先ノードとの間の経路として決定し記憶部に格納する工程と、
を含みことを特徴とする請求項３に記載の経路決定方法。
【請求項７】
周波数コグニティブ無線通信機能を備え、アドホック無線ネットワークを構成する無線通信装置であって、
自ノードが利用可能な周波数を検出する検出手段と、
各周波数についての利用可能状況の履歴から、各周波数の安定度を算出する周波数安定度算出手段と、
直接通信可能なノードとの間のホップ安定度を、両ノードの周波数安定度に基づいて算出するホップ安定度算出手段と、
送信元ノードと宛先ノードとの間の経路を、各ホップの安定度に基づいて決定する経路決定手段と、
を有することを特徴とする無線通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周波数コグニティブ無線通信機能を有するノードから構成されるアドホック無線ネットワークにおける経路決定技術に関する。
【背景技術】
【０００２】
無線通信を利用してノード間でパケットの交換を行うネットワークにおいて、ノード間の接続形態が固定されておらず、ノード間の位置関係などに応じて適応的にネットワーク構成が変化するネットワークはアドホック無線ネットワークと呼ばれる。アドホック無線ネットワークでは、直接通信ができないノード間の通信は他のノードによる中継を介して行われる。このような観点から、アドホック無線ネットワークは、マルチホップ無線ネットワークともマルチホップアドホック無線ネットワークとも呼ばれることがある。
【０００３】
アドホック無線ネットワークではネットワークトポロジーが頻繁に変化するため、経路探索プロトコル（ルーティングプロトコル）の研究が数多くなされている。その一つに、ＤＳＲ（Dynamic Source Routing）（非特許文献１）がある。ＤＳＲでは、ホップ数（中継数）の少ない経路や、各ホップの安定度が高い経路が選択される。
【０００４】
また、空いている周波数を検出してその周波数を利用して通信を行う周波数コグニティブ無線通信の研究も進められている。そして、このような周波数コグニティブ無線通信機能を有する無線機を用いてアドホック無線ネットワークを構成する研究も進められている。特許文献１、２では、リンク状態（リンク負荷やリンク空き状態）やＩＰフロー情報（アクティブなＩＰフローの数や、アクティブなＩＰフローでの通信量）に着目して経路ごとのスコアを算出して、最適な経路を求めている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２２２１９号公報
【特許文献２】特開２００８−１０９２１３号公報
【非特許文献】
【０００６】
【非特許文献１】IETF RFC4728, "The Dynamic Source Routing Protocol (DSR) for Mobile Ad Hoc Networks for IPv4"
【発明の概要】
【発明が解決しようとする課題】
【０００７】
利用可能な周波数は時間的にも空間的にも断続的に変化する。したがって、送信元ノード、宛先ノード、および各中継ノードで利用可能な周波数（チャネル）が異なる。また、あるタイミングで利用可能な周波数が、これからも継続的に利用可能であるとも限らない。単にホップ数やリンク状態やＩＰフロー情報を参照して経路を決定した場合、その後も継続して安定的に通信を行えるという保証はない。
【０００８】
本発明はこのような問題点を考慮してなされたものであり、その目的は、周波数コグニティブ無線通信機能を備えるノードから構成されるアドホック無線ネットワークにおいて、長期間利用可能な経路を選択することにある。
【課題を解決するための手段】
【０００９】
本発明に係る経路決定方法は、経路を決定するために、各ホップの安定度を考慮するこ
とを特徴とする。ここで、ホップの安定度とは、２ノード間でいずれかの周波数を利用して通信が維持できる度合いを表す。このように、ホップの安定度を考慮して経路が決定されるため、長期間利用可能な経路を選択可能となる。
【００１０】
より具体的には、本発明は周波数コグニティブ無線通信機能を備えるノードから構成されるアドホック無線ネットワークにおける経路決定方法である。本発明は、各ノードの各周波数についての利用可能状況を検出する検出ステップと、各周波数についての利用可能状況の履歴から、各ノードについて各周波数の安定度を算出する周波数安定度算出ステップと、両ノードの周波数の安定度に基づいて、直接通信可能な２ノード間のホップの安定度を算出するホップ安定度算出ステップと、送信元ノードと宛先ノードとの間の経路を、各ホップの安定度に基づいて決定する経路決定ステップと、を含む。つまり、ノードごとに各周波数の利用可能状況の履歴が求められ、上述のホップ安定度の算出のために利用されている。
【００１１】
ホップ安定度算出ステップでは、たとえば、周波数安定度を用いて、ホップを構成する複数のリンクについて安定度を算出できる。なお、リンクは、ある一つの周波数による２ノード間の無線リンクを意味する。したがって、リンク安定度はある特定の周波数を利用して２ノード間で通信が維持できる度合いを表す。ここでは、周波数安定度を用いてリンク安定度を算出している。より具体的には、両ノードにおけるリンク周波数の安定度の平均（相加平均や相乗平均）として、あるいはこの平均に基づいてリンク安定度を算出できる。そして、ホップを構成するリンクの安定度から、ホップの安定度を求めることができる。なお、ホップを構成する全てのリンク（全ての周波数）の安定度を利用してホップ安定度を算出する必要はなく、安定度の高い上位数個のリンクについての安定度だけを利用してホップ安定度を求めても良い。
【００１２】
本発明における経路決定ステップでは、送信元ノードと宛先ノードとの間の経路候補それぞれについて、ホップ数が少ないほど高く、かつ、経路を構成する各ホップの安定度の平均が高いほど高くなるルートスコアを算出し、最もスコアの高い経路を送信元ノードと宛先ノードとの間の経路として決定することができる。
【００１３】
本発明における経路決定ステップは、送信元ノードが、宛先ノードまでの経路を要求する経路要求を送信する工程と、前記経路要求を受信した宛先ノード以外のノードが、直前のホップ（受信した経路要求を送信／転送したノードとの間のホップ）に関するホップ安定度を前記経路要求に付加して転送する工程と、宛先ノードが、受信した経路要求が転送された経路ごとに、該経路要求に含まれる各ホップのホップ安定度に基づいてルートスコアを算出し、最もスコアの高い経路を送信元ノードと宛先ノードとの間の経路として決定する工程と、を含むことが好ましい。また各ノードがホップ安定度を算出可能とするために、直接通信可能な２ノードの間で、各ノードの周波数安定度を通知し合い、両ノードの周波数安定度に基づいて両ノード間のホップ安定度を算出するステップを含むことが好ましい。
【００１４】
このようにすれば、各ノードは直接通信可能なノードとの間のホップ安定度を常に利用可能であるので、これを経路要求に付加して転送するだけでよい。また、経路要求にホップ安定度が付加されるので、宛先ノードはこのホップ安定度を利用してルートスコアを容易に算出することができる。
【００１５】
なお、ホップ安定度の算出は必ずしも各中継ノードで行わなくても良い。たとえば、中継ノードは単に、経路要求に自ノードの周波数安定度を付加して転送するだけでもよい。そして、宛先ノードが、各ホップについて、リンク安定度の算出およびホップ安定度の算出を行ってもよい。このようにしても同様の経路が選択可能である。
【００１６】
また、本発明における経路決定ステップは、各ノードが自ノードの有する経路情報を周囲に送信する工程と、受信した経路情報とこの経路情報を送信したノードとの間のホップ安定度とから、この経路情報を送信したノードを経由する自ノードから宛先ノードまでの経路のルートスコアを算出する工程と、宛先ノードまでのルートスコアが最も高い経路を、自ノードと宛先ノードとの間の経路として決定し記憶部に格納する工程とを含んでも良い。経路情報の交換を定期的に行い、経路を事前に決定して格納しておくことも好ましい。
【００１７】
このようにあらかじめ経路を決定しておけば、データ送信時に経路を決定する必要がなくなり、迅速なデータ送信が実現できる。
【００１８】
なお、本発明は、上記処理の少なくとも一部を含む経路決定方法として捉えることができる。また、本発明は、上記処理を実行するためのコンピュータプログラムとして捉えることができる。また、本発明は、上記処理によって経路決定を行うアドホック無線ネットワークとして捉えることもできる。また、本発明は、上記処理を行う手段を有する無線通信装置として捉えることができる。上記処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
【発明の効果】
【００１９】
本発明によれば、周波数コグニティブ無線通信機能を備えるノードから構成されるアドホック無線ネットワークにおいて、長期間利用可能な経路を選択することができる。
【図面の簡単な説明】
【００２０】
【図１】図１は、第１の実施形態の無線通信装置の機能構成を示すブロック図である。
【図２】図２は、経路決定処理を説明する図であり、図２（Ａ）はＲＲＥＱパケットの転送を示し、図２（Ｂ）はＲＲＥＰパケットの転送を示す図である。
【図３】図３は、経路決定のために送信元ノードが行う処理を示すフローチャートである。
【図４】図４は、経路決定のために中継ノードおよび宛先ノードが行う処理の流れを示すフローチャートである。
【図５】図５は、ホップ安定度指数を算出する処理を示すフローチャートである。
【図６】図６は、第２の実施形態の無線通信装置の機能構成を示すブロック図である。
【図７】図７は、経路テーブルのテーブル構造を示す図である。
【図８】図８は、経路テーブル作成処理を示すフローチャートである。
【図９Ａ】図９Ａは、ノードＡからノードＦまでの経路を作成する処理を説明する図である。
【図９Ｂ】図９Ｂは、ノードＡからノードＦまでの各経路のルートスコアを示す図である。
【図１０】図１０は、第２の実施形態における通信時の処理を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下に図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。
【００２２】
〈用語の説明〉
本発明の周波数コグニティブ無線（以下、単にコグニティブ無線ともいう）を採用するアドホック無線ネットワークにおける経路決定方法では、ホップ数だけでなくホップの安
定度も考慮して経路の決定を行う。ここでは、ホップ安定度の概念（用語）の説明と、ホップ安定度を説明するために必要なその他の概念（用語）の説明を行う。
【００２３】
・チャネル安定度（周波数安定度）
チャネル安定度は、あるノードにとって特定の周波数チャネル（単に、周波数ともチャネルともいう）がどの程度継続的に（安定的に）利用可能であるかを示す。したがって、チャネル安定度は、ノードごとおよび周波数ごとに定められる。
【００２４】
・リンク安定度
リンクは、ある２ノード間でのある周波数を用いた通信路を表す。リンク安定度は、そのリンクによってどの程度継続的に（安定的に）通信可能であるかを示す。リンク安定度は、ノードのペアごとおよび周波数ごとに定められる。リンクが利用可能であるためには、両方のノードでその周波数が利用可能である必要がある（もちろん通信可能範囲内に位置する必要がある）。つまり、リンク安定度は、両方のノードのその周波数についてのチャネル安定度によって定義可能である。
【００２５】
・ホップ安定度
ホップ安定度は、ある２ノード間でどの程度継続的に（安定的に）通信可能であるかを示す。ノード間の通信がどの周波数（リンク）で実現されても、その２ノードは通信可能である（ホップが利用可能である）とみなされる。つまり、ホップ安定度は、リンク安定度によって定義可能である。ホップ安定度はノードのペアごとに定められる。
【００２６】
（第１の実施形態）
本実施形態に係る無線通信システムは複数のノード（無線通信装置）から構成される。各ノードは周波数コグニティブ無線通信機能を備え、これらのノード間通信は周囲の電波状況を検出して利用可能な周波数チャネルを動的に切り替えつつ行われる。つまり、本実施形態に係る無線通信システムは、周波数コグニティブ無線ネットワークである。また、本無線通信システムは、アクセスポイント等のインフラの介在無しに各ノードが相互に通信するアドホック無線ネットワークである。インフラ設備が存在しないので、ルート構築などは各ノードによって自律的に行われる。また、コグニティブ無線において利用されるチャネルも各ノードが自律的に決定する。
【００２７】
図１は、本実施形態の無線通信システムを構成する無線通信装置の機能構成を示す概略図である。無線通信装置１は、アンテナ２，高周波部３，ＡＤ変換部４、およびデジタル信号処理部５を備える。高周波部３は、無線信号を受信してデジタル信号処理が行いやすい周波数帯に変換したり、送信信号を実際に送信する周波数に変換する。ＡＤ変換部４は、受信したアナログ信号をデジタル信号に変換し、送信するデジタル信号をアナログ信号に変換する。なお、無線通信装置１は、アンテナ２から受信した広帯域の信号（たとえば、９００ＭＨｚ〜５ＧＨｚ）を一括してＡＤ変換する。チャネル選択などを含めて復調処理はデジタル信号処理部５で行われる。
【００２８】
デジタル信号処理部５は、ＤＳＰ（Digital Signal Processor）、ＦＰＧＡ（Field Programmable Gate Array）、ダイナミック・リコンフィギュラブルプロセッサなどによっ
て構成することができる。デジタル信号処理部５は、その機能部として、通信制御部５１、電波状況検出部５２、チャネル安定度指数算出部５３、チャネル安定度指数テーブル５４、ホップ安定度指数算出部５５、およびホップ安定度指数テーブル５６を含む。デジタル信号処理部５は、その他にも変復調等のための機能部を要するが、これらは公知であるため詳しい説明は省略する。
【００２９】
通信制御部５１は、接続確立処理や、データの送受信処理、チャネルの使用状況を通信
相手に通知する処理、利用するチャネルを選択する処理、経路決定処理などを行う。電波状況検出部５２は、自ノード周囲における電波状況を検出し、各周波数チャネルが利用されているか（言い換えると、自ノードが利用可能であるか）を判断する。具体的には、たとえば、無線信号の受信レベルが所定の強度以上であれば、すでに使用中である（利用不可能）と判断する。チャネル安定度指数算出部５３は、チャネル安定度を数値（チャネル安定度指数）として算出する。算出されたチャネル安定度指数は、チャネル安定度指数テーブル５４に格納される。ホップ安定度指数算出部５５は、ホップ安定度を数値（ホップ安定度指数）として算出する。算出されたホップ安定度指数は、ホップ安定度指数テーブル５６に格納される。
【００３０】
〈経路決定処理〉
経路決定処理の手順について説明する。なお、ここではホップ安定度指数が既に求められているものとして説明を進める。ホップ安定度指数の求め方は後で詳しく説明する。
【００３１】
本実施形態における経路決定処理は、データ送信時に経路を決定するリアクティブ型である。本実施形態における経路決定処理は、同じリアクティブ型のルーティングプロトコルであるＤＳＲに改良を加えたものである。以下、図面を参照して本実施形態の経路決定処理を説明する。図２（Ａ）（Ｂ）は経路決定処理を説明する図であり、図２（Ａ）はＲＲＥＱ（経路要求：Route Request）パケット送信時、図２（Ｂ）はＲＲＥＰ（経路応答
：Route Reply）パケット送信時の処理を説明する図である。図３は、送信元ノードが行
う処理を示すフローチャートである。図４は、中継ノードおよび宛先ノードが行う処理を示すフローチャートである。
【００３２】
図２（Ａ）に示すネットワークトポロジーのときに、ノードＡがノードＥと通信を行う場合を考える。このときノードＡが送信元ノードに相当し、ノードＥが宛先ノードに相当する。まず、ノードＡはノードＥまでの経路を要求するＲＲＥＱパケットをフラッディングする。なお、隣接ノード（直接通信可能なノード）間での通信チャネルの確立はすでに行われているものとする。コグニティブ無線における通信チャネルの確立方法は種々の方法があるが、本実施形態では特定の手法に限定する必要はない。また、ノード間での通信は１つの通信チャネルのみで行われても良く、複数のチャネルを利用して行われても良い。
【００３３】
ノードＡから送信されたＲＲＥＱパケットは、ノードＢ，Ｃによって受信される。ノードＢ，Ｃは、このＲＲＥＱパケットが自ノード宛のものではないので転送、すなわち、再度フラッディングを行う。この際、中継ノードは、このＲＲＥＱパケットを送信したノードとの間のホップ安定度をＲＲＥＱパケットに付加して転送する。具体的には、ノードＢはノードＡ−Ｂ間のホップ安定度をＲＲＥＱパケットに付加して転送し、ノードＣはノードＡ−Ｃ間のホップ安定度をＲＲＥＱパケットに付加して転送する。
【００３４】
ノードＢから転送されたＲＲＥＱパケットはノードＡ，Ｃ，Ｄによって受信される。ノードＣから転送されたＲＲＥＱパケットはノードＡ，Ｂ，Ｄによって受信される。ノードＢ，Ｃは、ノードＣ，ＢからのＲＲＥＱパケットは破棄せずに中継処理を行う。ＤＳＲでは一度処理した要求経路（ここでは、ノードＡとノードＥ間の経路）に関するＲＲＥＱパケットは破棄するが、本実施形態では破棄せずに中継処理の対象とする。ただし、自ノードが中継に関係したＲＲＥＱパケット（一度転送して戻ってきたＲＲＥＱパケット）は処理せずに破棄する。ここではノードＡはノードＢ，ＣからのＲＲＥＱパケットを破棄する。
【００３５】
このようにしてノードＡからノードＥまでのあらゆる経路を辿ってＲＲＥＱパケットがノードＥまで到達する。ノードＥはＲＲＥＱパケットを解析することで、どのような経路
でそのＲＲＥＱパケットが自ノードまで到達したか、および、そのホップ数を判別可能である。また、中継の際に各ホップのホップ安定度指数が付加されるので、ホップ安定度指数も取得できる。なお、宛先ノードまでの最終ホップ（図２（Ａ）ではノードＤ−Ｅ間のホップ）に関するホップ安定度指数はノードＥで算出可能である。
【００３６】
図２（Ａ）に示すネットワークトポロジーの場合は、ノードＥまで届くＲＲＥＱパケットが辿る経路としては以下のものがある。
（１）Ａ−Ｂ−Ｄ−Ｅ
（２）Ａ−Ｃ−Ｄ−Ｅ
（３）Ａ−Ｂ−Ｃ−Ｄ−Ｅ
（４）Ａ−Ｃ−Ｂ−Ｄ−Ｅ
【００３７】
ノードＥはこれらの経路候補についてルートスコアを算出し、ルートスコアが最も高い経路をノードＡ−Ｅ間の経路として決定する。ルートスコアはたとえば、次の式によって定義可能である。
【数１】
2010239248.tif 000003
ここで、ａ，ｂは、ａ＋ｂ＝１（０＜ａ＜１，０＜ｂ＜１）を満たす定数であり、ＨＳＭＮはノードＭとノードＮ間のホップ安定度指数を意味する。総和は経路を構成する各ホップに対して行われる。
【００３８】
このようにホップの安定度を考慮してルートの決定がなされるため、長期間継続して利用可能な経路を選択することができる。なお、ルートスコアの定義は上記のものに限られず、長期間継続して利用可能な経路ほど高いスコアが得られるようなものであれば任意のものであって良い。
【００３９】
たとえば、以下のルートスコアを採用しても良い。
【数２】
2010239248.tif 000004
ここでホップ安定度指数を０から１の範囲とすれば、ホップ数が多いほどルートスコアが小さくなる。つまり、数式２によるルートスコアの定義は、ホップ安定度指数のみに基づいているともいえるが、ホップ安定度指数とホップ数の両方に基づいているということもできる。数式２では、経路を構成するホップのいずれかにおいて安定度の低いホップが存在すると最終的なルートスコアが小さく算出されるため、ホップ安定度指数のバラツキが大きいときに有効であると言える。また、ホップ安定度指数が、そのホップが通信可能な確率（通信可能な期間の割合）を表すときに有効であると言える。
【００４０】
より一般的には、ルートスコアは次の関数ｆによって定義されればよい。
【数３】
2010239248.tif 000005
【００４１】
すなわち、ルートスコアは、ホップ数が少ないほど大きく（同じを含む）、ホップ安定度指数の平均値が大きいほど大きく（同じを含む）なるように定義されればよい。このようにすれば、継続して安定的に利用可能な経路に対するルートスコアが大きく算出されることになる。上記数式１，２によるルートスコアの定義は、いずれも数式３の条件を満たしている。
【００４２】
ノードＥは、各経路のルートスコアを算出して最適なルートを選択すると、この経路をＲＲＥＰパケットによって通知する（図２（Ｂ））。たとえば、Ａ−Ｂ−Ｃ−Ｄ−Ｅの経路が最適なルートであると判断された場合は、ノードＥはＲＲＥＰパケットに経路Ｅ−Ｄ−Ｃ−Ｂ−Ａを指定して送信する。送信されたＲＲＥＰパケットはこの経路に沿ってノードＡまで到達する。ノードＡはこのＲＲＥＰパケットを受信することで、ノードＥまでの最適な経路がわかる。
【００４３】
上記の経路決定処理において各ノードが行う処理を図３，４のフローチャートを参照して、ノード種別ごとに説明する。
【００４４】
まず図３を参照して、送信元ノードが行う処理について説明する。送信元ノードは、通信を行う場合に、通信制御部５１が宛先ノードまでの経路を要求するＲＲＥＱパケットを作成して送信する（Ｓ１０１）。そして、ＲＲＥＱパケットに対応するＲＲＥＰパケットの受信を待つ（Ｓ１０２〜Ｓ１０３）。タイムアウト時間内にＲＲＥＰパケットを受信できた場合（Ｓ１０２−ＹＥＳ）は、宛先ノードまでの経路を決定できる（Ｓ１０４）。一方、タイムアウト時間内にＲＲＥＰパケットが返ってこない場合（Ｓ１０３−ＮＯ）は、エラー終了する。
【００４５】
次に図４を参照して、中継ノードおよび宛先ノードが行う処理について説明する。ＲＲＥＱパケットを受信すると（Ｓ２０１）、そのＲＲＥＱパケットが自ノード宛であるか判断する（Ｓ２０２）。ＲＲＥＱパケットが自ノード宛でない場合（Ｓ２０２−ＮＯ）は、自ノードは中継ノードであることが分かる。したがって、中継ノードの通信制御部５１は、ＲＲＥＱパケットに直前ホップのホップ安定度を追加してＲＲＥＱパケットを転送する（Ｓ２０３）。後述するように、ホップ安定度はホップ安定度指数テーブル５６に格納されている。なお、フローチャートには示していないが、以前転送したＲＲＥＱパケットが再び自ノードで受信された場合はそのＲＲＥＱパケットは処理せずに破棄する。
【００４６】
一方、受信したＲＲＥＱパケットが自ノード宛のものである場合（Ｓ２０２−ＹＥＳ）は、自ノードが宛先ノードであることが分かる。そこで、通信制御部５１は、ＲＲＥＱパケットに含まれる各ホップのホップ安定度を取得する（Ｓ２０４）。そして、ホップ数とホップ安定度からルートスコアが算出される（Ｓ２０５）。通信制御部５１は、最もルートスコアの高い経路を選択し（Ｓ２０６），その経路を指定してＲＲＥＰパケットを送信
する（Ｓ２０７）。
【００４７】
〈ホップ安定度指数の算出方法〉
次に、ホップ安定度指数の算出方法について図５のフローチャートを参照しつつ説明する。上述したように、ホップの安定度は、ホップ間でどの程度継続して通信可能であるかを示すものである。このホップ安定度は、リンク（ノード間の特定周波数による通信）の安定度（継続利用可能性）から算出できる。そして、リンクの安定度は、各ノードにおけるチャネルの安定度（継続利用可能性）から算出できる。なお、各安定度を指数化した数値を安定度指数と呼んでいる。
【００４８】
・チャネル安定度指数
チャネル安定度は、ある周波数チャネルがノードにとってどれだけ継続して利用可能であるかを示す。本実施形態では、過去の履歴からチャネルが利用可能であった割合を求め、その値をチャネル安定度指数として採用する。
【００４９】
まず、電波状況検出部５２が、自ノードにおける各チャネルの利用可能状況（空き状況）を検出する（Ｓ３０１）。チャネルの利用可能状況は１回だけの検出によって決定されても良いが、複数回の検出処理によって決定しても良い。たとえば、１００ミリ秒の期間の間に１０ミリ秒おきに１回検出を行い、チャネルの利用可能状況を割合として決定しても良い。１０回の検出のうち７回が利用可能という結果であれば、利用可能状況は７０％であると決定できる。
【００５０】
このような電波状況の検出は定期的に実行され、その検出結果はチャネル安定度指数算出部５３によって履歴として記憶される（Ｓ３０２）。チャネル安定度指数算出部５３は、過去の履歴を参照して、各チャネルの安定度指数を算出する（Ｓ３０３）。安定度指数の具体的な算出方法としては種々の方法を採用可能であるが、以下のような算出方法がある。
【００５１】
たとえば、以下の式のように直近のＮ期間における利用可能状況の平均を取る方法が考えられる。
【数４】
2010239248.tif 000006
ここでＴｉ（ｊ）は、時刻ｊにおけるチャネルｉの利用可能状況を表す（Ｔｉ（ｊ）は、０か１、または、０〜１の実数）。この式によればチャネル安定度指数Ｓｉ（ｔ）は０〜１の実数として求められる。なお、この式では直近Ｎ期間内の利用可能状況について均等に平均（相加平均）を取っているが、最近のものほど大きな重み付けを与えて平均を取ることも好ましい。
【００５２】
このように、チャネル安定度指数算出部５３は、各チャネルについてチャネル安定度指数を算出して、チャネル安定度指数テーブル５４に格納する。そして、通信制御部５１は、自ノードのチャネル安定度指数を周囲のノードに対して送信する（Ｓ３０４）。他のノードも同様にチャネル安定度指数を送信しているので、各ノードは周囲の（直接通信可能な）ノードのチャネル安定度指数を取得可能である。なお、全てのチャネルについてチャネル安定度指数を送信しても良いが、通信量削減のために閾値以上のチャネル安定度指数のみを送信しても良い。
【００５３】
・リンク安定度指数
ホップ安定度指数算出部５５は、ホップ安定度指数を算出するために、取得したチャネル安定度指数に基づいてリンク安定度指数を算出する（Ｓ３０５）。
【００５４】
リンク安定度は、あるノード間で特定のチャネルを利用してどれだけ継続して利用可能であるかを示す。本実施形態では、両ノードのチャネル安定度指数を用いてリンク安定度指数を定義する。具体的には、ノードＭとノードＮの間の利用可能チャネルｉについてのリンク安定度指数は以下の式によって定義される。
【数５】
2010239248.tif 000007
これは両方のノードでそのチャネルが利用可能である場合に、リンクが通信可能であることを反映している。この定義式は、チャネルの利用可能確率（割合）としてチャネル安定度指数が定義されている場合に特に有効である。ただし、リンク安定度指数は両ノードでのチャネル安定度指数が反映されていれば良く、たとえば、相加平均として定義しても良い。
【００５５】
・ホップ安定度指数
ホップ安定度指数算出部５５は、リンク安定度指数からホップ安定度指数を算出する（Ｓ３０６）。
【００５６】
ホップ安定度は、ホップ間でどの程度継続して通信可能であるかを示す。ホップ間の通信は、いずれかのリンクによって通信できれば維持可能である。したがって、ノードＮとノードＭの間のホップ安定度指数は、たとえば、次の式によって定義される。
【数６】
2010239248.tif 000008
ここで、ＬＳｉはノードＭ−Ｎ間のリンクの安定度指数を表す。これは両ノード間でいずれかのチャネル（リンク）によって通信ができれば、両ノード間の通信が可能であることを反映している。ここで、上記の積は全てのリンクに対して行っても良いが、リンク安定度指数の高い上位数個のみを対象としても良い。
【００５７】
なお、ホップ安定度指数はホップ間での通信可能性を反映していればよいので、たとえば、次の式によって定義しても良い。
【数７】
2010239248.tif 000009
ホップ安定度指数算出部５５は、上記いずれかの式にしたがってリンク安定度指数およびホップ安定度指数を算出し、ホップ安定度指数テーブル５６に格納する。通信制御部５１は、ＲＲＥＱパケットを転送する際に、上述したようにホップ安定度指数テーブル５６に格納されたホップ安定度指数をＲＲＥＱパケットに付加して転送する。
【００５８】
〈経路再設定処理〉
ネットワークトポロジーの変化や環境の変化によって、利用可能なチャネルが変化する
。この場合は、ＤＳＲなどと同様の手法によって経路の再設定処理を行えばよい。すなわち、経路が無効になった場合には、送信元ノードまでエラーメッセージ（ＲＥＲＲ：Route Error)が伝達される。そして宛先ノードに他の経路情報が保持されていなければ、経路の再設定処理が行われる。
【００５９】
〈実施形態の作用／効果〉
本実施形態によれば、周波数コグニティブ無線技術を利用するアドホック無線ネットワークにおいて、単にホップ数が少ないだけでなく、継続的に利用可能な経路によって通信することが可能となる。したがって、経路の再設定回数を減らし、効率的な（スループットの高い）通信が実現できる。
【００６０】
〈変形例〉
上記の説明では、各ノードにおいてホップ安定度指数を算出し、算出されたホップ安定度指数をＲＲＥＱパケットに付加しているが、ホップ安定度指数の算出はどのノードが行っても良い。ホップ安定度指数は、ホップを構成する両端ノードのチャネル安定度に関する情報があれば計算可能である。そこで、ＲＲＥＱパケットに各ノードのチャネル安定度指数を付加して転送しても良い。この方法によっても、宛先ノードで各経路のホップ安定度指数を（さらにはルートスコアも）算出することができる。
【００６１】
また、上記の処理では、送信元ノードから宛先ノードまで全ての経路をたどって宛先ノードまでＲＲＥＱパケットが到達するように、中継ノードでＲＲＥＱパケットの破棄を行っていない。しかしながら、中継ノードにおいて既に処理した経路よりもルートスコアが低い経路を通って受信したＲＲＥＱパケットについては転送を行わなくても構わない。たとえば、ノードＤが、すでに送信元ノードＡからのＲＲＥＱパケットをＡ−Ｂ−Ｄの経路で受信し転送しているとする。このとき、ノードＤが同じＲＲＥＱパケットをＡ−Ｃ−Ｄの経路で受信したとする。このとき、経路Ａ−Ｃ−Ｄのルートスコアが経路Ａ−Ｂ−Ｄのルートスコアよりも低い場合には、ノードＤは経路Ａ−Ｃ−Ｄを通って受信したＲＲＥＱパケットを転送しなくても構わない。このように転送されるＲＲＥＱパケットの量を減らし、通信量を削減できる。
【００６２】
（第２の実施形態）
第１の実施形態はデータ送信時に経路を決定するリアクティブ型の処理であったが、本実施形態は通信を開始する前にあらかじめ経路を決定しておくプロアクティブ型の処理である。
【００６３】
本実施形態では、各ノードが定期的に経路テーブル作成処理を行い、宛先ノードごとに次の転送先ノードを記憶しておく。これにより、データパケット送信時に経路決定処理を行う必要がなくなり、迅速にデータの送信が行える。
【００６４】
図６は本実施形態の無線通信システムを構成する無線通信装置の機能構成を示す概略図である。第１の実施形態との相違は、経路テーブル（記憶部）５７が追加されている点である。通信制御部５１が定期的に周囲のノードと情報交換して経路情報を作成し、経路テーブル５７に格納する。図７に経路テーブル５７のテーブル構造を示す。経路テーブル５７には、宛先ノード５７１ごとに次にどのノードに転送すればよいかを示す転送先ノード５７２と、その経路のルートスコア５７３が格納される。図７に示す経路テーブルを例に取ると、ノードＥを宛先とするデータパケットは、ノードＢに転送すればよいことがわかる。
【００６５】
〈経路テーブル作成処理〉
次に図８を参照して経路テーブル作成処理を説明する。各ノードは定期的に、あるいは
、経路情報が更新されるたびに、自ノードが有する経路情報を周囲に対して送信する。ここではノードＡがノードＢから経路情報を受信した（Ｓ４０１）ものとして説明する。受信する経路情報には、ノードＢから各ノードまでのルートスコアが含まれる。そこで、ノードＡは、ノードＡ−Ｂ間のホップ安定度指数を用いて、ノードＢを経由して各ノードまで到達する経路のルートスコアを算出する（Ｓ４０２）。ルートスコアが（数式２）のように定義されているのであれば、（ノードＢを経由する各経路のルートスコア）＝（ノードＢからのルートスコア）×（ノードＡ−Ｂ間のホップ安定度指数）として算出可能である。また、ルートスコアが（数式１）のように定義されている場合でも、経路情報としてホップ数と、ホップ安定度指数の総和とを別々に格納しておけば、ノードＢからのルートスコアに基づいてノードＡからのルートスコアを算出可能である。なお、ルートスコアの定義は上記以外のものも採用可能であるが、Ｎホップの経路のルートスコアと、１ホップのホップ安定度指数から、１ホップ延長された経路（Ｎ＋１ホップ）のルートスコアを算出可能な定義式を採用することが好ましい。
【００６６】
ノードＡは、ノードＢ以外のノードからも経路情報を取得する場合は、各ノードから受信する経路情報について上記と同様の処理を行う。そして、それぞれの宛先ノードについて最もルートスコアの高い経路を選択して、経路テーブル５７を更新する（Ｓ４０３）。そして、周囲のノードに対して更新された経路情報テーブルの内容を送信する（Ｓ４０４）。
【００６７】
経路テーブル作成処理の具体例を図９Ａ，９Ｂを参照して説明する。図９Ａ，９Ｂにおいて、ノード間に示されている数字は、そのノード間のホップ安定度指数を表す。また、経路テーブル９１，９２，９３はそれぞれノードＢ，Ｃ，Ｄの経路テーブル（の一部）である。ここでは、ルートスコアは（数式２）にしたがって算出されるものとして説明する。
【００６８】
ここではノードＡにおいてノードＦまでの経路を決定する動作を説明する。また、ノードＡ以外のノードについては、既に経路情報が得られているものとする。ノードＢは、ノードＦと直接通信でき、その経路のルートスコアはホップ安定度指数と等しく０．３であることが分かっている。ノードＣは、ノードＦ宛のパケットはノードＥに転送すればよいことと、その経路のルートスコアが０．７２であることが分かっている。ノードＤも同様に、ノードＦ宛のパケットはノードＥに転送すればよいことと、その経路のルートスコアが０．４０であることが分かっている。
【００６９】
これらの各ノードは経路情報を周囲のノードに送信するので、ノードＡはノードＢ，Ｃ，Ｄから経路情報を受信する。そこで、ノードＡは、ノードＦ宛のパケットをノードＢ，Ｃ，Ｄに転送した場合の各経路のルートスコアを算出する。ノードＦ宛のパケットをノードＢに転送した場合は、経路Ａ−Ｂ−Ｆが選択される（ただし、ノードＢ以降の経路がどのようであるかはノードＡには分からなくてもよい）。経路Ａ−Ｂ−Ｆのルートスコアは、経路Ｂ−Ｆ間のルートスコア０．３と、ノードＡ−Ｂ間のホップ安定度から、経路Ａ−Ｂ−Ｆのルートスコアが０．０６（＝０．３×０．２）であると分かる。また、経路Ａ−Ｃ−Ｅ−Ｆ（ノードＣに転送した場合）のルートスコアは０．６５（＝０．７２×０．９）であることが分かる。また、経路Ａ−Ｄ−Ｅ−Ｆ（ノードＤに転送した場合）のルートスコアは０．２８（＝０．４×０．７）であることが分かる。各経路のルートスコアの一覧を図９Ｂに示す。
【００７０】
ノードＣを介する経路のルートスコアが最も高いので、ノードＡはノードＦを宛先とするパケットは、転送先をノードＣとすることと、その経路のルートスコア（ここでは０．６５）を経路テーブルに格納する。
【００７１】
〈データ送信時処理〉
最後に、データパケット送信時の各ノードにおける処理を、図１０を参照しつつ説明する。データパケットを受信する（Ｓ５０１）と、そのパケットが自ノードを宛先とするものであるか判定する（Ｓ５０２）。自ノードを宛先とするものでない場合（Ｓ５０２−ＮＯ）は、経路テーブルを参照として、その宛先ノード宛のパケットをどのノードに転送すればよいかを取得する（Ｓ５０３）。そして、取得されたノードを転送先としてデータパケットを転送する（Ｓ５０４）。
【００７２】
一方、受信したパケットが自ノード宛である場合（Ｓ５０２−ＹＥＳ）には、自ノードでそのパケットの処理を行う（Ｓ５０５）。
【００７３】
〈実施形態の作用／効果〉
本実施形態によれば、各ノードが常に経路情報を保持することができる。したがって、データ送信時に経路決定処理を行う必要がなくなり、迅速なデータ送信が可能となる。また、第１の実施形態と同様に各ホップを構成するホップの安定度を考慮して経路が決定されているので、長期間継続して通信可能である。
【符号の説明】
【００７４】
１  無線通信装置
５  デジタル信号処理部
５１  通信制御部
５２  電波状況検出部
５３  チャネル安定度指数算出部
５４  チャネル安定度指数テーブル
５５  ホップ安定度指数算出部
５６  ホップ安定度指数テーブル
５７  経路テーブル
【図１】
2010239248.tif 000010
【図２】
2010239248.tif 000011
【図３】
2010239248.tif 000012
【図４】
2010239248.tif 000013
【図５】
2010239248.tif 000014
【図６】
2010239248.tif 000015
【図７】
2010239248.tif 000016
【図８】
2010239248.tif 000017
【図９Ａ】
2010239248.tif 000018
【図９Ｂ】
2010239248.tif 000019
【図１０】
2010239248.tif 000020