(57)【要約】【課題】本発明の一実施形態は、ＴＳＣＨスケジュールを更新せずとも、通信の成功率の低下を抑える装置を提供する。【解決手段】本発明の一実施形態としての無線通信装置は、タイムスロットごとに使用するチャネルを切り替えながら、通信相手と無線通信を行う無線通信装置であって、記憶部と、更新部と、決定部と、通信部と、を備える。記憶部は、各タイムスロットにおいて使用可能なチャネルを示す、予め生成されたスケジューリングデータを記憶する。更新部は、スケジューリングデータに含まれる各チャネルの使用可否を決定し、使用不可と決定されたチャネルをブラックリストに登録する。決定部は、スケジューリングデータと、ブラックリストと、に基づき、各タイムスロットにおいて使用するチャネルを決定する。通信部は、各タイムスロットにおいて決定されたチャネルを使用して、通信相手と無線通信を行う。【選択図】図１
2020113818.tif 000002
【特許請求の範囲】
【請求項１】
タイムスロットごとに使用するチャネルを切り替えながら、通信相手と無線通信を行う無線通信装置であって、
各タイムスロットにおいて使用可能なチャネルを示す、予め生成されたスケジューリングデータを記憶する記憶部と、
前記スケジューリングデータに含まれる各チャネルの使用可否を決定し、使用不可と決定されたチャネルをブラックリストに登録するブラックリスト更新部と、
前記スケジューリングデータと、前記ブラックリストと、に基づき、各タイムスロットにおいて使用するチャネルを決定する使用チャネル決定部と、
各タイムスロットにおいて決定されたチャネルを使用して、前記通信相手と無線通信を行う通信部と、
を備える無線通信装置。
【請求項２】
前記ブラックリスト更新部は、前記スケジューリングデータに示された各チャネルの品質を示す品質指標に基づき、使用可否を決定する
請求項１に記載の無線通信装置。
【請求項３】
前記ブラックリストは、前記通信相手からパケットを受信するときに使用不可であるチャネルが示された受信エントリと、前記通信相手へパケットを送信するときに使用不可である送信エントリと、を含み、
前記使用チャネル決定部は、
前記スケジューリングデータと、前記受信エントリと、に基づいて前記通信相手からパケットを受信する際に使用するチャネルを決定し、
前記スケジューリングデータと、前記送信エントリと、に基づいて前記通信相手にパケットを送信する際に使用するチャネルを決定する
請求項１または２に記載の無線通信装置。
【請求項４】
前記通信部は、前記通信相手から、前記通信相手のブラックリストの受信エントリを受信し、
前記ブラックリスト更新部は、前記通信相手のブラックリストの受信エントリを、自身のブラックリストの送信エントリになるように、ブラックリストを更新する
請求項３に記載の無線通信装置。
【請求項５】
前記通信部は、前記通信相手へ、自身のブラックリストの受信エントリを送信する
請求項４に記載の無線通信装置。
【請求項６】
前記通信部は、自身のブラックリストの受信エントリを、ブロードキャストにより送信する
請求項５に記載の無線通信装置。
【請求項７】
前記通信相手への無線送信に関する第１実績データを生成する実績データ生成部と、
前記第１実績データに基づき、前記通信相手との無線送信に使用された各チャネルの送信品質を示す送信品質指標を算出する送信品質指標算出部と、
をさらに備え、
前記ブラックリスト更新部が、前記送信品質指標に基づき、前記受信エントリを更新する
請求項４ないし６のいずれか一項に記載の無線通信装置。
【請求項８】
前記スケジューリングデータに含まれる各チャネルの受信品質に関する受信品質指標を算出する受信品質指標算出部
をさらに備え、
前記通信部が、前記通信相手から、前記スケジューリングデータに含まれる各チャネルを使用した前記通信相手からの無線送信に関する第２実績データ、および、前記第２実績データから算出された演算値の少なくともいずれかを受信し、
前記受信品質指標算出部が、前記第２実績データおよび前記演算値の少なくともいずれかに基づき、前記受信品質指標を算出し、
前記ブラックリスト更新部が、前記受信品質指標に基づき、前記受信エントリを更新する
請求項４ないし６のいずれか一項に記載の無線通信装置。
【請求項９】
前記スケジューリングデータに含まれる各チャネルを介した前記通信相手への無線送信の第１実績データを生成する実績データ生成部と、
前記第１実績データに基づき、前記スケジューリングデータに含まれる各チャネルの送信品質に関する送信品質指標を算出する送信品質指標算出部と、
をさらに備え、
前記通信部が、前記通信相手に、前記第１実績データおよび前記送信品質指標の少なくともいずれかを送信する
請求項８に記載の無線通信装置。
【請求項１０】
前記使用チャネル決定部が、前記スケジューリングデータおよび前記ブラックリストに含まれる第１チャネルを使用するチャネルとして決定し、
前記通信部が、前記通信相手と、前記第１チャネルを介した無線通信を行い、
前記実績データ生成部が、前記第１チャネルを介した前記通信相手への無線送信の第３実績データを生成し、
前記送信品質指標算出部が、前記第３実績データに基づき、前記第１チャネルの送信品質指標を算出し、
前記ブラックリスト更新部が、前記第１チャネルの送信品質指標が所定の条件を満たす場合に、前記第１チャネルを前記受信エントリから除外する
請求項７または９に記載の無線通信装置。
【請求項１１】
前記スケジューリングデータにおいて、前記第１チャネルが、前記ブラックリストに含まれている場合であっても、使用するチャネルとして決定されてもよいということを示すフラグを有し、
前記使用チャネル決定部が、前記第１チャネルが前記フラグを有している場合に限り、前記第１チャネルを使用するチャネルとして決定する
請求項１０に記載の無線通信装置。
【請求項１２】
タイムスロットごとに使用するチャネルを切り替えながら、通信相手と無線通信を行う無線通信方法であって、
各タイムスロットにおいて使用可能なチャネルを示す、予め生成されたスケジューリングデータを取得するステップと、
前記スケジューリングデータに含まれる各チャネルの使用可否を決定するステップと、
使用不可と決定されたチャネルをブラックリストに登録するステップと、
前記スケジューリングデータと、前記ブラックリストと、に基づき、各タイムスロットにおいて使用するチャネルを決定するステップと、
各タイムスロットにおいて決定されたチャネルを使用して、前記通信相手と無線通信を行うステップと、
を備える無線通信方法。
【請求項１３】
タイムスロットごとに使用するチャネルを切り替えながら、通信相手と無線通信を行うための、コンピュータが実行するプログラムであって、
各タイムスロットにおいて使用可能なチャネルを示す、予め生成されたスケジューリングデータを取得するステップと、
前記スケジューリングデータに含まれる各チャネルの使用可否を決定するステップと、
使用不可と決定されたチャネルをブラックリストに登録するステップと、
前記スケジューリングデータと、前記ブラックリストと、に基づき、各タイムスロットにおいて使用するチャネルを決定するステップと、
各タイムスロットにおいて決定されたチャネルを使用して、前記通信相手と無線通信を行うステップと、
を備えるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、無線通信装置、無線通信方法、およびプログラムに関する。
【背景技術】
【０００２】
ＩＥＥＥ  ８０２．１５．４で規定されるＴＳＣＨ（Ｔｉｍｅ−Ｓｌｏｔｔｅｄ  Ｃｈａｎｎｅｌ  Ｈｏｐｐｉｎｇ）方式の無線通信では、タイムスロットごとに使用すべきチャネル（無線周波数帯）が設定されており、無線通信装置は、タイムスロットごとに使用するチャネルを切り替える。つまり、無線通信装置により使用されるチャネルは複数あるが、各タイムスロットにおいて、複数のチャネルのうちの一つが使用される。本方式では、外部からの干渉電波が複数のチャネルのうちの一つでも存在する場合、通信が失敗して通信の成功率が低下する。そのため、高い信頼性を要求するアプリケーション（例えば、工場内の産業用ロボットの制御など）に、ＴＳＣＨ方式を用いるのは難しいという問題がある。
【０００３】
この問題に対応するための既存の方法では、干渉電波が存在するチャネルを認識し、当該チャネルを避けて通信が行われるように、各タイムスロットにおいて使用すべきチャネルが示されたＴＳＣＨスケジュールを更新する。しかし、既存の方法では、更新に時間を要する、ＴＳＣＨの無線通信ネットワークに含まれる無線通信装置が増加するにつれて更新を行う無線通信装置の負荷などに問題が生じる、などといった欠点がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−４６４９５号公報
【非特許文献】
【０００５】
【非特許文献１】Ｑｉｎ  Ｗａｎｇ、外２名、「６ＴｉＳＣＨ  Ｏｐｅｒａｔｉｏｎ  Ｓｕｂｌａｙｅｒ  （６ｔｏｐ）  Ｐｒｏｔｏｃｏｌ  （６Ｐ）」、ＲＦＣ  ８４８０、ＵＲＬアドレス「ｈｔｔｐｓ：／／ｄａｔａｔｒａｃｋｅｒ．ｉｅｔｆ．ｏｒｇ／ｄｏｃ／ｒｆｃ８４８０／」
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の一実施形態は、ＴＳＣＨスケジュールを更新せずとも、通信の成功率の低下を抑える装置を提供する。
【課題を解決するための手段】
【０００７】
本発明の一実施形態としての無線通信装置は、タイムスロットごとに使用するチャネルを切り替えながら、通信相手と無線通信を行う無線通信装置であって、記憶部と、更新部と、決定部と、通信部と、を備える。記憶部は、各タイムスロットにおいて使用可能なチャネルを示す、予め生成されたスケジューリングデータを記憶する。更新部は、スケジューリングデータに含まれる各チャネルの使用可否を決定し、使用不可と決定されたチャネルをブラックリストに登録する。決定部は、スケジューリングデータと、ブラックリストと、に基づき、各タイムスロットにおいて使用するチャネルを決定する。通信部は、各タイムスロットにおいて決定されたチャネルを使用して、通信相手と無線通信を行う。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態に係る無線通信装置の一例を示すブロック図。
【図２】チャネル品質テーブルの一例を示す図。
【図３】ブラックリストの一例を示す図。
【図４】ブラックリストの送信について説明する図。
【図５】ＴＳＣＨスケジュールの一例を示す図。
【図６】第１の実施形態における、受信エントリの更新に関する一連の処理の概略フローチャート。
【図７】第１の実施形態における、送信エントリの更新に関する一連の処理の概略フローチャート。
【図８】チャネル選択処理の概略フローチャートを示す図。
【図９】例外的措置を行う場合のＴＳＣＨスケジュールの一例を示す図。
【図１０】例外的措置を行う場合のチャネル選択処理の概略フローチャート。
【図１１】第２の実施形態に係る無線通信装置の一例を示すブロック図。
【図１２】送信チャネル品質テーブルの一例を示す図。
【図１３】チャネル品質テーブルの送信について説明する図。
【図１４】第２の実施形態における、送信チャネル品質テーブルの送信に係る一連の処理の概略フローチャート。
【図１５】第２の実施形態における、ブラックリストの受信エントリの更新に関する一連の処理の概略フローチャート
【図１６】本発明の一実施形態におけるハードウェア構成の一例を示すブロック図。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら、本発明の実施形態について説明する。
【００１０】
（第１の実施形態）
図１は、第１の実施形態に係る無線通信装置の一例を示すブロック図である。第１の実施形態に係る無線通信装置１は、通信部１１と、ＴＳＣＨ制御部１２と、記憶部１３と、を備える。通信部１１は、無線送信部１１１と、無線受信部１１２と、を備える。ＴＳＣＨ制御部１２は、実績データ生成部（送信実績データ生成部）１２１と、品質指標算出部（送信品質指標算出部）１２２と、ブラックリスト更新部１２３と、使用チャネル決定部１２４と、を備える。
【００１１】
本実施形態では、複数の無線通信装置１が属する無線通信ネットワークが存在し、各無線通信装置１は、ＴＳＣＨ（Ｔｉｍｅ−Ｓｌｏｔｔｅｄ  Ｃｈａｎｎｅｌ  Ｈｏｐｐｉｎｇ）方式で相互に無線通信を行うことを想定する。なお、無線通信ネットワークに属するため、無線通信装置１をノードとも記載する。
【００１２】
ＴＳＣＨ方式は、ＴＤＭＡ（Ｔｉｍｅ−Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）によって各ノードの通信タイミングを決定する。ＴＳＣＨ方式では、時間を一定間隔（例えば１０ミリ秒）のタイムスロットに分割し、各ノードは、ある通信相手との無線通信に使用されるチャネルを、タイムスロットごとに切り替える。ノードが、いずれの通信相手と、いずれのタイムスロットにおいて、いずれのチャネルを使用して、通信するかを示すデータが、ＴＳＣＨスケジュール（スケジュールデータ）である。すなわち、無線通信装置１は、ＴＳＣＨスケジュールに基づき、使用すべきチャネルを認識する。
【００１３】
ＴＳＣＨ方式では、外部からの干渉電波が使用予定の複数のチャネルのうちの一つでも存在する場合、通信が失敗して通信の成功率が低下する。その場合、干渉電波が存在しないチャネルだけが使用されるように、ＴＳＣＨスケジュールを更新する方法が検討されている。
【００１４】
しかし、特定のノードが中央集約的にＴＳＣＨスケジュールを更新する方法では、特定のノードがネットワークの全ノードから通信品質などのデータを収集して全ノードのＴＳＣＨスケジュールを生成することになる。ゆえに、無線通信ネットワークに属するノードの増加に伴い、特定のノードの通信負荷および演算負荷が高まるという問題がある。
【００１５】
また、各ノードが自律分散的にＴＳＣＨスケジュールの更新を行う方法では、各ノードが他のノードとＴＳＣＨスケジュールに関する通信を行う必要がある。例えば、ＴＳＣＨスケジュールを調整する方法の一つである通信プロトコル「６Ｐ」では、各ノードは、他ノードそれぞれに対し、少なくとも１往復分のユニキャストパケットの交換を行う（つまり、送信パケットを送信してレスポンスパケットを受信する）。そのため、ＴＳＣＨスケジュールの調整に時間を要する。また、他ノードの増加に伴い、通信量が増加するといった問題がある。
【００１６】
そこで、本実施形態では、各無線通信装置１が自律分散的にチャネルを選択できるようにする一方で、そのための処理に係る時間、負荷、通信量などといった通信効率の低下を抑える。具体的には、本実施形態では、使用しないほうがよいチャネルを認識した場合に、ＴＳＣＨスケジュールを更新するのではなく、ブラックリストに当該チャネルを登録する。そして、ブラックリストに基づき使用するチャネルを決定することにより、当該チャネルを避けるようにする。詳細は、無線通信装置１の構成要素とともに後述する。
【００１７】
なお、本実施形態において、ＴＳＣＨスケジュールは、各ノードが正常に通信することが可能なように、無線通信の開始前に各ノードごとに予め生成されており、各ノードの記憶部１３に記憶されているとする。ＴＳＣＨスケジュールの生成は、特定のノードが中央集約的に生成してもよいし、各ノードが自律分散的に生成してもよい。あるいは、無線通信ネットワークに属さない外部の装置が生成してもよい。また、ＴＳＣＨスケジュールの生成方法については、特に問わないが、生成されたＴＳＣＨスケジュールには、ある通信相手に対して使用可能なチャネルが複数存在するタイミングが必ずあることを想定する。ＴＳＣＨスケジュールの詳細は、後述する。
【００１８】
無線通信装置１の構成要素について説明する。通信部１１は、ＴＳＣＨ制御部１２による制御に従って、無線通信を行う。ＴＳＣＨ制御部１２は、ＴＳＣＨ方式の無線通信を行うことができるように、通信部１１を制御する。記憶部１３は、ＴＳＣＨスケジュールなど、ＴＳＣＨ方式の無線通信を行うために必要なデータを少なくとも記憶する。なお、パケットの生成など、一般的な無線通信にも用いられる処理については、説明を省略し、そのような処理を行う構成要素は、図１からも省略されている。
【００１９】
無線送信部１１１は、指定された通信相手に、指定されたタイムスロットおよびチャネルにて、パケットを送信する。無線受信部１１２は、指定されたタイムスロットおよびチャネルにて、指定された通信相手からのパケットを受信する。一般に規定されている通り、無線通信装置１は、パケットを受信したときに、パケットを受け取ったことの応答としてＡＣＫパケットを返信する。ゆえに、無線受信部１１２は、通信相手から、ＡＣＫパケットを受信する。なお、タイムスロットおよびチャネルの指定は、使用チャネル決定部１２４から指定される。
【００２０】
実績データ生成部１２１は、通信相手への無線送信に関する実績データを生成する。例えば、実績データ生成部１２１は、通信相手へ送信されたパケットと、受信された通信相手からのＡＣＫパケットと、を使用されたチャネルごとにカウントし、これらを実績データとすることが考えられる。なお、実績データは、チャネルの品質を示す指標を算出することができるデータであればよい。例えば、通信相手が誤ったデータを受信した回数でもよいし、送信直前に観測される背景無線信号の強度でもよい。なお、ここでは、通信相手を区別せずに実績データを生成する場合を説明するが、通信相手ごとに実績データを生成してもよい。
【００２１】
品質指標算出部１２２は、実績データに基づき、使用されたチャネルごとに、チャネルの品質を示す指標を算出する。当該指標を品質指標と記載する。例えば、パケット送信成功率、ビットエラー率、背景無線信号強度などを品質指標としてもよい。
【００２２】
図２は、チャネル品質テーブルの一例を示す図である。チャネル品質テーブルは、実績データと、品質指標と、を示す表である。各ノードは、このようなチャネル品質テーブルを有するものとする。
【００２３】
図２の例のチャネル品質テーブルには、実績データであるパケット送信総数およびパケット送信成功数と、品質指標であるパケット送信成功率と、がチャネルインデックスごとに示されている。チャネルインデックスは、使用されるチャネルに付与された番号である。パケット送信総数は、対応するチャネルを使用して通信相手へ送信された送信パケットの数を表す。パケット送信成功数は、当該送信パケットに対して返信されて、受信されたＡＣＫパケットの数を表す。なお、送信パケットと、当該送信パケットに対応するＡＣＫパケットとが、同じチャネルを通じて、送受信されるとは限らない。ゆえに、チャネル品質テーブルの各行（各エントリ）のパケット送信成功数は、同じエントリのチャネルインデックスに対応するチャネルを通じて受信されたＡＣＫパケットの数ではないことに注意されたい。例えば、チャネルインデックスが０である行のパケット送信成功数は、チャネルインデックスが０であるチャネルを通じて受信されたＡＣＫパケットの数ではなく、チャネルインデックスが０であるチャネルを通じて送信された送信パケットに対するＡＣＫパケットの受信数である。
【００２４】
図２の例の場合、実績データ生成部１２１は、パケットが送信されるたびに、送信に使用されたチャネルに対するパケット送信総数を一つ増やし、通信相手から当該パケットに対するＡＣＫパケットを受信するたびに、当該パケットの送信に使用されたチャネルに対するパケット送信成功数を一つ増やす。そして、図２の例の場合、品質指標算出部１２２は、送信に使用されたチャネルに対するパケット送信成功数を、送信に使用されたチャネルに対するパケット送信総数にて除算することにより、送信に使用されたチャネルに対するパケット送信成功率を算出する。このようにして、チャネル品質テーブルが生成される。
【００２５】
なお、チャネル品質テーブルのパケット送信の総数および成功数は、特定の時間範囲のものに限定してもよい。例えば、実績データ生成部１２１は、過去１時間以内に観測されたパケット送信の総数および成功数を記録するとしてもよい。あるいは、１時間ごとにパケット送信の総数および成功数を０にリセットし、総数および成功数のカウントをやり直してもよい。なお、パケット送信総数が０の場合は成功率を計算できないが、その場合、品質指標を算出しないとすればよい。
【００２６】
ブラックリスト更新部１２３は、ＴＳＣＨスケジュールに含まれる各チャネルの使用可否を決定し、使用不可と決定されたチャネルをブラックリストに登録する。各チャネルの使用可否は、各チャネルの品質指標に基づき、決定される。例えば、ブラックリスト更新部１２３は、あるチャネルの品質指標が、ブラックリスト登録のための条件を満たす場合、当該チャネルをブラックリストに登録する。
【００２７】
図３は、ブラックリストの一例を示す図である。図３のブラックリストには、パケットの宛先、使用不可チャネルインデックスリスト、シーケンス番号が示されている。１行目のエントリは、パケットの宛先がノードＡであるときに、チャネルインデックスが２であるチャネルは使用不可であることを意味する。
【００２８】
なお、ブラックリストには、自ノードがパケットの宛先であるエントリと、他ノードがパケットの宛先であるエントリと、の２種類のエントリを含む。自ノードがパケットの宛先であるエントリは、他ノードからパケットを受信するときに使用不可のチャネルを示すものである。他ノードがパケットの宛先であるエントリは、他ノードにパケットを送信するときに使用不可のチャネルを示すものである。以降、自ノードがパケットの宛先であるエントリを受信エントリと記載し、他ノードがパケットの宛先であるエントリを送信エントリと記載する。ノードＡが図３に示されたブラックリストを有している場合、１行目が受信エントリであり、２から４行目が送信エントリに該当する。
【００２９】
ブラックリスト更新部１２３は、品質指標算出部により品質指標が生成されると、当該品質指標に基づき、当該品質指標に係るチャネルインデックスを、受信エントリの使用不可チャネルインデックスリストに登録するか否かを判定する。登録すると判定された場合は、ブラックリスト更新部１２３は、受信エントリの使用不可チャネルインデックスリストに、当該チャネルを登録する。すなわち、当該チャネルが、受信に使用しないチャネルとして登録される。なお、使用不可チャネルインデックスリストに登録する際には、対応するシーケンス番号を一つ増やす。
【００３０】
使用不可チャネルインデックスリストに登録するか否かの判定方法、つまり、ブラックリスト登録のための条件は、無線通信装置１に求められる仕様などに応じて、適宜に定めてよい。例えば、パケット送信成功率が、予め設定された閾値を下回る場合に、当該パケット送信成功率に係るチャネルインデックスを、使用不可チャネルインデックスリストに加えるということでもよい。このように、絶対的評価で判定を行ってもよい。あるいは、あるパケット送信成功率を、その他のパケット送信成功率の代表値と比較することにより、判定してもよい。つまり、相対的評価で判定を行ってもよい。代表値は、例えば、最大値、最小値、中央値、平均値など、一般的な値でよい。
【００３１】
なお、図２で示したチャネル品質テーブルはノードＢが生成したものであり、図２においてチャネルインデックス１および３は、チャネルインデックス０および２と比べて、パケット送信成功率が著しく低くなっている。ゆえに、図３に示されたノードＢに関するエントリの使用不可チャネルインデックスリストに、チャネルインデックス１および３が登録されていることを想定している。
【００３２】
ブラックリストの受信エントリが更新されると、各ノードは、少なくとも、当該エントリを通信相手に送信する。例えば、ノードＡが、図３の１行目のエントリを更新すると、ノードＡからノードＢ、Ｃ、およびＤに、図３の１行目のエントリが送信される。そして、ノードＢ、Ｃ、およびＤは、それぞれのブラックリストのノードＡに関する送信エントリを、受信したエントリに更新する。
【００３３】
図４は、ブラックリストの送信について説明する図である。図４の例では、無線通信ネットワーク２に対し、四つの無線通信装置１（無線通信装置１Ａから１Ｄまで）が存在している。言い換えると、無線通信ネットワーク２に、ノードＡからＤまでの四つのノードが存在している。ノードＡは、ノードＢからＤまでの各ノードと隣接している。一方、ノードＤは、ノードＢおよびＣと隣接しておらず、ノードＤは、ノードＢおよびＣとは、通信を行わないことを想定する。
【００３４】
ノードＡは、通信相手であるノードＢ、Ｃ、およびＤに対し、宛先がノードＡであるエントリを送信している。同様に、ノードＢ、Ｃ、およびＤはそれぞれ、宛先が自ノードであるエントリを、ノードＡに送信している。ノードＡは、ノードＢ、Ｃ、およびＤから受信したエントリを、自身のブラックリストの送信エントリとなるように、ブラックリストを更新する。これにより、ノードＡが有するブラックリストは、図３に示したように、自ノードが宛先である受信エントリと、他ノードが宛先である送信エントリと、の２種類が存在するようになる。
【００３５】
前述の通り、ノードＢは、ノードＤと直接、通信を行わない。ゆえに、ノードＢは、ノードＤに関するエントリを保持する必要はない。ゆえに、ノードＡは、ノードＢに対し、ノードＤに関するエントリ（図３の４行目のエントリ）を送信しなくてよい。また、ノードＢは、ノードＣに関するエントリをノードＣから得るため、ノードＡは、ノードＢに対し、ノードＣに関するエントリ（図３の２行目のエントリ）も送信しなくてよい。また、ノードＢに関するエントリ（図３の２行目のエントリ）はノードＢにより生成されたものであるため、ノードＡは、ノードＢに対し、当該エントリを送信する必要はない。このように、各ノードは、ブラックリストの受信エントリだけを通信相手にだけ送信すればよく、ブラックリスト全体を送信する必要はない。すなわち、ブラックリストの必要な一部分を送信すればよく、これにより、ブラックリスト全体を共有する場合よりも、通信量、処理負荷などを削減することができる。
【００３６】
なお、各ノードのブラックリスト更新部１２３は、通信相手から送られて来たエントリのシーケンス番号が、保有するエントリのシーケンス番号よりも大きい場合に、保有するエントリを、送られて来たエントリに置き換える。エントリはシーケンス番号が大きい程新しいため、これにより、誤って古いエントリに置き換えられえることを防ぐ。
【００３７】
なお、ブラックリスト共有のための送信は、ユニキャストにより送信してもいいが、ブロードキャストにより送信するほうが好ましい。ブロードキャストでは、ＡＣＫを必要とせず、また近隣の全ノードに１度に送信を行うことができる。そのため、ブロードキャストを用いることにより、無線通信ネットワークの通信量を抑えながら、ブラックリストを速やかに共有することができる。
【００３８】
使用チャネル決定部１２４は、ＴＳＣＨスケジュール（スケジューリングデータ）と、ブラックリストと、に基づき、各タイムスロットにおいて使用するチャネルを決定する。なお、通信相手からパケットを受信する際に使用するチャネルは、ＴＳＣＨスケジュールと、受信エントリと、に基づいて決定される。前記通信相手にパケットを送信する際に使用するチャネルは、ＴＳＣＨスケジュールと、送信エントリと、に基づいて決定される。使用するチャネルは通信部１１に伝えられる。これにより、通信部が、各タイムスロットにおいて決定されたチャネルを使用して、通信相手と無線通信を行うことができる。
【００３９】
図５は、ＴＳＣＨスケジュールの一例を示す図である。図５では、二つのノード（ノードＡとノードＢ）に対するＴＳＣＨスケジュールがそれぞれ示されている。ＴＳＣＨスケジュールは、図の横方向に示されたタイムスロットと、図の縦方向に示されたチャネルオフセットと、に基づく行列として表される。行列の要素（一つのタイムスロットと、一つのチャネルオフセットと、により一つに定まる格子部分）は、「セル」と称される。各ノードにおいて、ＴＳＣＨスケジュールのタイムスロットおよびチャネルオフセットは、共通である。
【００４０】
チャネルオフセットとは、チャネルインデックスを算出するために、用いられるパラメータである。チャネルインデックスは、チャネルオフセットの値（番号）と、タイムスロットのＡＳＮ（Ａｂｓｏｌｕｔｅ  Ｓｌｏｔ  Ｎｕｍｂｅｒ）と、に基づき算出される。タイムスロットのＡＳＮは、所定の起点時刻からタイムスロットに通番で割り当てられる番号（通し番号）である。起点時刻のタイムスロットのＡＳＮは０であり、その後は、１ずつ増加した数がタイムスロットに割り振られる。ゆえに、タイムスロットが異なれば、同じチャネルオフセットであっても、対応するチャネルは異なる。
【００４１】
セルに対応するチャネルは、具体的には、以下の式で決定される。
【数１】
2020113818.tif 000003
式（１）のｍａｃＨｏｐｐｉｎｇＳｅｑｕｅｎｃｅＬｉｓｔは、ＴＳＣＨスケジュール全体において使用される可能性のあるチャネルのリストを表す。Ｉｎｄｅｘはチャネルインデックスであり、ｍａｃＨｏｐｐｉｎｇＳｅｑｕｅｎｃｅＬｉｓｔ［Ｉｎｄｅｘ］は、当該リストのＩｎｄｅｘ番目の要素を取り出す処理を表す。式（２）のｍａｃＨｏｐｐｉｎｇＳｅｑｕｅｎｃｅＬｅｎｇｔｈは、ｍａｃＨｏｐｐｉｎｇＳｅｑｕｅｎｃｅＬｉｓｔの要素数、つまり、ＴＳＣＨスケジュール全体において使用される可能性のあるチャネルの総数を表す。ｍａｃＡＳＮは、そのセルに対応するＡＳＮを表す。ｍａｃＣｈａｎｎｅｌＯｆｆｓｅｔは、そのセルに対応するチャネルオフセットを表す。記号％は剰余算を表し、定数ａを定数ｂで除算したときの剰余はａ％ｂで表される。
【００４２】
上式から分かるように、ＩｎｄｅｘがＡＳＮに応じて変化するため、チャネルオフセットが同じであるセル同士であっても、タイムスロットが異なれば、対応するチャネルは異なる。同様に、Ｉｎｄｅｘがチャネルオフセットに応じて変化するため、タイムスロットが同じであるセル同士であっても、チャネルオフセットが異なれば、対応するチャネルは異なる。
【００４３】
なお、ＴＳＣＨ方式を用いる無線通信ネットワークでは、ネットワーク全体（つまり全ノード）で共有される任意の時点を起点として、タイムスロットが定義される。ネットワークに参加する全ノードは相互に時刻同期を行い、タイムスロットの起点時刻を共有する。各ノードはこの起点時刻をＴＳＣＨスケジュールのスロット０の開始時刻とみなし、時間の経過とともにＴＳＣＨスケジュールを繰り返し実施する。つまり、図５の例では、タイムスロット３の次は、タイムスロット０に戻る。
【００４４】
また、ＴＳＣＨスケジュールには、通信を行う際に従うべき設定が示されているセルが存在する。当該セルを、以降、スケジュールドセルと記載する。通信を行う際に従うべき設定とは、当該セルに対応するタイムスロットおよびチャネルにおいて通信を行う際の通信相手と、その通信方向である。通信方向は、送信、受信、および両方が含まれる。図５の例では、セル内に示されたＡおよびＢが通信相手を表している。記号Ｔｘは、「送信」を意味するフラグであり、送信予定のパケットが有る場合に、通信相手にパケットを送信することを示す。また、記号Ｒｘは、「受信」を意味するフラグであり、通信相手からのパケットを受信するかもしれないことを示す。ＴｘフラグとＲｘフラグの両方が示されている場合は、「送信」と「受信」のいずれかが行われることを意味する。
【００４５】
例えば、ノードＡのＴＳＣＨスケジュールにおいて、チャネルオフセット０とタイムスロット３の組み合わせに対応するスケジュールドセルには、「Ｔｘ，Ｒｘ  Ｂ」と示されている。この記載は、「ノードＡが、タイムスロット３の期間において、当該セルに対応するチャネルを使用して、ノードＢと通信を行う」ということを意味する。例えば、タイムスロット３の期間において、ノードＢに送信予定のパケットをノードＡが有する場合は、ノードＡは、当該セルに対応するチャネルを使用してノードＢに当該パケットを送信する。そうでない場合は、ノードＡは、ノードＢからのパケットが当該セルに対応するチャネルを使用して送信されるかもしれないため、当該パケットを受信できるように受信待機を行う。
【００４６】
なお、以降、正の整数を表す記号ｉおよびｊを用いて、ｉ番目のチャネルオフセットと、ｊ番目のタイムスロットと、の組み合わせを（ｉ，ｊ）と記載する。チャネルオフセット０とタイムスロット３との組み合わせに対応するセルは、セル（０，３）と表す。
【００４７】
また、図５の例において、タイムスロット１に対応する全てのスケジュールドセルは、同じ設定を示している。このように、同じタイムスロットにおいて、同一設定のスケジュールドセルが複数存在するということは、使用可能なチャネルが複数存在することを意味する。
【００４８】
使用チャネル決定部１２４は、このようなＴＳＣＨスケジュールを参照し、各タイムスロットにおいて、当該スケジュールドセルのいずれか一つを選択する。これにより、各タイムスロットにおける通信設定が決定される。選択可能なスケジュールドセルが複数ある場合は、特定のアルゴリズムに従って、一つを選択する。
【００４９】
しかし、選択されたスケジュールドセルに従った場合、ブラックリストに含まれるチャネルが選択される恐れがある。ゆえに、使用チャネル決定部１２４は、スケジュールドセルであっても、ブラックリストに含まれるチャネルに対応するスケジュールドセルは、選択の候補から除外して、選択しないようにする。このようにして、ブラックリストに含まれないチャネルを、使用するチャネルとして決定する。
【００５０】
例として、ＡＳＮ＝１７の時点において、ノードＡからノードＢへパケットを送信する場合を考える。まず、使用チャネル決定部１２４は、ＡＳＮ＝１７に該当するタイムスロットを判別する。前述の通り、時間の経過とともにＴＳＣＨスケジュールは繰り返し実施される。ここでは、図５のように、一つのＴＳＣＨスケジュールに含まれるタイムスロットは四つとすると、ＡＳＮ％４＝１であることから、参照すべきタイムスロットは、タイムスロット１となる。
【００５１】
ノードＡのＴＳＣＨスケジュールは、タイムスロット１において、ノードＢを通信相手とするスケジュールドセルを四つほど有している。これらのスケジュールドセルが、選択される候補である。選択される候補のスケジュールドセルを候補セルと記載する。すなわち、使用チャネル決定部１２４は、これら四つのスケジュールドセルを、候補セルに含める。
【００５２】
これらの候補セルのチャネルインデックスは、上述の式より、Ｉｎｄｅｘ＝（１７＋ｍａｃＣｈａｎｎｅｌＯｆｆｓｅｔ）％４と求められる。すなわち、チャネルオフセットが０、１、２、３であるセルのチャネルインデックスは、それぞれ１、２、３、０である。図３のブラックリストを参照すると、今回の通信相手はノードＢであるため、チャネルインデックス１および３が使用不可とされている。よって、これらのチャネルインデックスに対応するチャネルオフセット０、２のセルは候補セルから除外される。
【００５３】
使用チャネル決定部１２４は、残った候補セルから、選択アルゴリズムに従って、チャネルを選択する。例えば、チャネルオフセットが最小のチャネルを選択する場合は、候補セルとして残っている最小のチャネルオフセットは１であるため、チャネルインデックス２に対応するチャネルが選択される。これにより、ノードＡは、ＡＳＮ＝１７の時点において、チャネルインデックス２に対応するチャネルで、ノードＢにパケットを送信する。
【００５４】
一方、ノードＢも、ＡＳＮ＝１７の時点において、ノードＡからのパケットを受信できるようにしなくてはならない。しかし、図５に示すように、ノードＢのＴＳＣＨスケジュールの設定は、ノードＡからのパケットを受信できるように、ノードＡのＴＳＣＨスケジュールの設定に対応したものとなっている。ノードＡのＴＳＣＨスケジュールにおいて、通信相手がノードＢと示されているセルは、ノードＢのＴＳＣＨスケジュールにおいては、通信相手がノードＡと示されている。同様に、ノードＡのＴＳＣＨスケジュールにおいて、Ｔｘフラグが示されているセルは、ノードＢのＴＳＣＨスケジュールにおいては、Ｒｘフラグが示されている。また、チャネル選択アルゴリズムは各ノードで共有であり、ノードＡのノードＢに対する送信エントリは、ノードＢの受信エントリと同じである。したがって、ノードＡと同様に、ノードＢは、ＡＳＮ＝１７の時点において、チャネルインデックス２に対応するチャネルを選択する。これにより、ノードＢは、ＡＳＮ＝１７の時点において、チャネルインデックス２に対応するチャネルで、ノードＡからのパケットを受信する。こうして、使用可能なチャネルが複数ある場合でも、送信側および受信側で、同一チャネルが同一タイムスロットにおいて選択され、低品質なチャネルを避けながら、正常に通信することができる。
【００５５】
なお、使用するチャネルを通信相手に逐次伝えることも考えられるが、通信に時間を要するし、通信量も増加する。そのため、本実施形態のように、各ノードは共通のアルゴリズムによって、通信を行うチャネルを決定するほうが好ましい。
【００５６】
本実施形態では、このように、ある通信相手に対し、使用可能なチャネルが複数存在するタイムスロットが必ずあることを想定する。例えば、図５のノードＡのＴＳＣＨスケジュールならば、タイムスロット３では一つのチャネルしか使用できないが、タイムスロット１では使用可能な三つのチャネルから使用するチャネルを選ぶことができる。ゆえに、本実施形態におけるＴＳＣＨスケジュールは、タイムスロットにおいて使用すべきチャネルが示されたスケジューリングデータではなく、タイムスロットにおいて使用可能なチャネルが示されたスケジューリングデータと言える。
【００５７】
なお、スケジュールドセルではないセルは、空きセルと記載する。空きセルは、対応するタイムスロットおよびチャネルにおいて、通信を行う予定がないことを示す。図５の例では、ノードＡとノードＢの両方とも、タイムスロット０および２にはスケジュールドセルを持たない。そのため、タイムスロット０に該当する時間帯と、タイムスロット２に該当する時間帯とでは、ノードＡおよびＢは、通信機能をスリープすることができる。
【００５８】
なお、使用可能なチャネルが一つしかなく、そのチャネルがブラックリストに含まれている場合、他のノードの通信を邪魔することにならなければ、空きセルに対応するチャネルを、使用するチャネルと決定してもよい。つまり、空きセルに対応するチャネルも使用可能なチャネルとみなしてもよい場合もあり得る。
【００５９】
このようにして、ある通信相手との通信に対し、各タイムスロットにおいて使用されるチャネルが決定される。そして、チャネル決定部は、通信相手ごとに、通信を行うタイムスロットおよびチャネルを、無線送信部１１１および無線受信部１１２に指示する。これにより、無線送信部１１１および無線受信部１１２がそれぞれ、ＴＳＣＨ方式で送信および受信を行うことができるようになる。
【００６０】
なお記憶部１３により記憶されるデータは、特に限られるものではない。例えば、ブラックリスト、実績データ（あるいはチャネル品質テーブル）など、無線通信装置１の各構成要素の処理結果が、随時、記憶部１３に記憶され、各構成要素は記憶部１３を参照して処理結果を取得してもよい。
【００６１】
次に、構成要素の各処理の流れについて説明する。図６は、第１の実施形態における、受信エントリの更新に関する一連の処理の概略フローチャートである。本フローでは、パケットの送信成功率を品質指標とする場合を示す。
【００６２】
使用チャネル決定部１２４が、通信部１１に対し、無線通信に使用するタイムスロットおよびチャネルを指示する（Ｓ１０１）。無線送信部１１１が、当該指示に従い、指定のタイムスロットおよびチャネルにて、パケットを通信相手に送信する（Ｓ１０２）。これにより、通信相手からＡＣＫパケットが返信されるため、無線受信部１１２は、当該指示に従ってＡＣＫパケットを通信相手から受信するように待機する（Ｓ１０３）。ＡＣＫパケットを実際に受信するか、あるいは、ＡＣＫパケットを受信しないまま、パケット送信から一定時間が経過した場合に、次の処理に移る。
【００６３】
実績データ生成部１２１が、チャネルインデックスごとに、パケット送信成功数およびパケット送信総数を更新することにより、実績データを更新する（Ｓ１０４）。ＡＣＫパケットが受信された場合は、パケット送信成功数がカウントされるが、ＡＣＫパケットを受信しないまま、パケット送信から一定時間が経過した場合は、パケット送信成功数がカウントされない。そして、実績データが一定数以上ない場合（Ｓ１０５のＮＯ）は、最初の処理に戻る。こうして、Ｓ１０１からＳ１０４の処理が繰り返されて、実績データが一定数以上蓄積した場合（Ｓ１０５のＹＥＳ）は、品質指標算出部１２２が実績データに基づき、送信成功率を算出する（Ｓ１０６）。
【００６４】
ブラックリスト更新部１２３は、送信成功率に基づき、ブラックリストの受信エントリを更新する（Ｓ１０７）。例えば、送信成功率が下限値を下回る場合、当該送信成功率に対応するチャネルインデックスを受信エントリに登録する。更新された受信エントリは、無線送信部１１１により、通信相手に送信される（Ｓ１０８）。そして、使用チャネル決定部１２４は、ＴＳＣＨスケジュールと、ブラックリストと、に基づき、チャネルを決定する（Ｓ１０９）。こうして、フローは終了し、使用不可チャネルがブラックリストに新たに登録された場合は、次回のフローにて、チャネル決定部の指示内容が変化する。
【００６５】
図７は、第１の実施形態における、送信エントリの更新に関する一連の処理の概略フローチャートである。
【００６６】
使用チャネル決定部１２４が、通信部１１に対し、無線通信に使用するタイムスロットおよびチャネルを指示する（Ｓ２０１）。無線送信部１１１が、当該指示に従い、指定のタイムスロットおよびチャネルにて、他ノードからブラックリストのエントリを受信する（Ｓ２０２）。当該エントリは、他ノードからすれば受信エントリであるが、自ノードにとっては送信エントリになる。ブラックリスト更新部１２３は、受信されたエントリに基づき、ブラックリストの送信エントリを更新する（Ｓ２０３）。そして、使用チャネル決定部１２４は、ＴＳＣＨスケジュールと、ブラックリストと、に基づき、チャネルを決定する（Ｓ２０４）。こうして、フローは終了し、使用不可チャネルがブラックリストに新たに登録された場合は、次回のフローにて、チャネル決定部の指示内容が変化する。
【００６７】
図８は、チャネル選択処理の概略フローチャートを示す図である。図８のフローは、チャネル選択部により実施される。
【００６８】
チャネル選択部は、ＴＳＣＨスケジュールを参照し、対象のタイムスロットにおけるスケジュールドセルを、候補セルと決定する（Ｓ３０１）。なお、パケットを送信する場合は、Ｔｘフラグを有するスケジュールドセルを候補セルに含める。パケットを受信する場合は、Ｒｘフラグを有するスケジュールドセルを候補セルに含める。例えば、タイムスロット１において、ノードＡがノードＢにパケットを送信する場合は、ノードＡのチャネル選択部は、タイムスロット１の各セルのうち、ノードＢへの送信に係るセルを、ノードＡのＴＳＣＨスケジュールから抽出する。図５に示されたノードＡのＴＳＣＨスケジュールであれば、セル（０，１）、セル（１，１）、セル（２，１）、およびセル（３，１）が抽出される。同様に、タイムスロット１において、ノードＢがノードＡからのパケットを受信する場合は、ノードＢのチャネル選択部は、タイムスロット１の各セルのうち、ノードＡからの受信に係るセルを、ノードＢのＴＳＣＨスケジュールから抽出する。図５に示されたノードＢのＴＳＣＨスケジュールであれば、セル（０，１）、セル（１，１）、セル（２，１）、およびセル（３，１）が抽出される。
【００６９】
そして、チャネル選択部は、候補セルごとに、候補セルのチャネルインデックスを算出する（Ｓ３０２）。チャネルインデックスがブラックリストに含まれる場合（Ｓ３０３のＹＥＳ）、上記候補セルを使用不可であるとして、候補セルから除外する（Ｓ３０４）。より具体的には、送信の場合では、チャネルインデックスが通信相手に関する送信エントリに含まれるときに、受信の場合では、チャネルインデックスが受信エントリに含まれるときに、候補セルから除外する。そうでない場合（Ｓ３０３のＮＯ）は、次の候補セルの処理に移る。このようにして、全ての候補セルに対し、使用可能か否かの判定を行い、使用不可のセルを候補セルから除外する。
【００７０】
全ての候補セルに対し、使用不可の判定が行われた後は、使用可能なセルのみが候補セルとして残る。そして、チャネル選択部は、一つの候補セルを選択するための特定のアルゴリズムに従い、候補セルのうちの一つを選択する。これにより、使用されるチャネルが決定される（Ｓ３０５）。
【００７１】
なお、これらのフローチャートは一例であり、必要とされる処理結果を得ることができれば処理の順序等は限られるものではない。また、各処理の処理結果は、逐次、記憶部１３に記憶され、各構成要素は当該記憶部１３を参照して処理結果を取得してもよい。以降のフローチャートも同様である。
【００７２】
なお、上記の処理だけでは、ブラックリストに登録されたチャネルは今後使用されなくなり、当該チャネルに関する品質指標を更新しなくなる。そのため、ブラックリストに登録された後に、当該チャネルの品質が改善されたとしても、当該チャネルを使えないままとなる。
【００７３】
ゆえに、ブラックリストに含まれるチャネルの品質が改善された場合に、当該チャネルをブラックリストから除外することができるようにしてもよい。例えば、通常は、使用チャネル決定部１２４は、使用可能なチャネルであるがブラックリストに含まれるチャネルを、使用するチャネルとして決定しないが、例外的措置として、当該チャネルを、使用するチャネルとして決定するときがあってもよい。こうして、ブラックリストに含まれるチャネルの品質も、継続的に計測できるようにし、品質が改善されたことを認識できるようにする。
【００７４】
なお、ブラックリストに含まれるチャネルを使用した通信では、干渉電波の影響を受ける可能性が高い。そのため、送信すべきデータに関するパケットではなく、プロービングパケットなどといった品質調査のためのパケットを送信するとしてもよい。
【００７５】
例外的措置は、定期的に行うとしてもよいし、特定の条件を満たす場合に、行うとしてもよい。例えば、ブラックリストによるチャネル制限を敢えて行わないセルを導入することが考えられる。
【００７６】
例外的措置の取るための方法の一例を説明する。図９は、例外的措置を行う場合のＴＳＣＨスケジュールの一例を示す図である。図９のＴＳＣＨスケジュールは、セル（０，３）が「ＮｏＢＬ」というフラグを有している点で、図５のＴＳＣＨスケジュールと異なる。「ＮｏＢＬ」フラグは、ブラックリストを無視するように指示する無視フラグである。当該視フラグを有するセルについては、ブラックリストに基づく使用可能か否かの判定を行いこととする。
【００７７】
図１０は、例外的措置を行う場合のチャネル選択処理の概略フローチャートである。候補セルごとに使用可能であるかを確認して、使用不可のセルを候補セルから除外する一連の処理（Ｓ３０２からＳ３０４）の前に、新たな処理が追加されている点が、図８の通常のチャネル選択処理とは異なる。本フローでは、候補セルが無視フラグを有するか確認し（Ｓ４０１）、無視フラグがある場合（Ｓ４０２のＹＥＳ）は候補セルからの除外処理をスキップする。無視フラグがない場合（Ｓ４０２のＮＯ）は、通常のチャネル選択処理と同じく、候補セルのチャネルインデックスを計算する（Ｓ３０２）。それら以外は、通常のチャネル選択のフローチャートと同じである。
【００７８】
これにより、セル（０，３）を選択したときに、ブラックリストに含まれるチャネルも使用される。前述の通り、セル（０，３）に対応するチャネルは、タイムスロットのＡＳＮに応じて切り替わるため、セル（０，３）だけがＮｏＢＬフラグを有していても、全てのチャネルが調査対象となる。
【００７９】
これにより、ブラックリストに含まれるチャネルのチャネル品質テーブルを更新される。通常では、ブラックリスト更新部１２３は、あるチャネルの品質指標がブラックリスト登録のための条件を満たす場合、当該チャネルをブラックリストの受信エントリに含めていたが、例外的措置では、あるチャネルの品質指標がブラックリスト除外の条件を満たす場合、当該チャネルをブラックリストの受信エントリから除外する。こうして、品質が改善されたチャネルを再使用することができる。
【００８０】
チャネルをブラックリストの受信エントリから除外する処理は、チャネルをブラックリストの受信エントリに登録する処理と合わせて行えばよい。すなわち、図６の受信エントリの更新処理（Ｓ１０７）にて行われる。ゆえに、例外的措置を行う場合も、図６に示されたフローチャートに変わりはない。
【００８１】
例外的措置を取るための方法は、その他にも考えられる。例えば、スケジュールドセルに、ＩＥＥＥ  ８０２．１５．４  ＴＳＣＨで規定される”ｓｈａｒｅｄ”フラグがセットされているかどうかを判定する。Ｓｈａｒｅｄフラグがセットされていない場合に、ブラックリストによるチャネル選択を行うとするのが好ましい。
【００８２】
また、ＩＥＥＥ  ８０２．１５．４  ＴＳＣＨで規定される”ｓｌｏｔｆｒａｍｅ  ｈａｎｄｌｅ”により、例外的措置の取るかを判定してもよい。スケジュールドセルが所属するｓｌｏｔｆｒａｍｅのｓｌｏｔｆｒａｍｅ  ｈａｎｄｌｅが特定の値である場合、ブラックリストに基づくチャネル選択を無効化（あるいは有効化）することが考えられる。
【００８３】
以上のように、本実施形態の無線通信装置は、ブラックリストを有し、ブラックリストと、ＴＳＣＨスケジュールと、に基づき、使用するチャネルを決定する。これにより、ＴＳＣＨスケジュールの更新によって問題（負荷、遅延など）が生じるのを防ぎつつ、通信の成功率の低下を抑えることができる。
【００８４】
また、本実施形態の無線通信装置は、ブラックリストの受信エントリを、他の無線通信装置に送信する。ブラックリスト全体を送信する必要がないため、無線通信ネットワークの通信量を抑えることができる。さらに、ブラックリストの受信エントリをブロードキャストにて送信すれば、ユニキャストのようなパケットの往復がなくなり、通信効率をより高めることができる。
【００８５】
また、例外的措置の取ることにより、ブラックリストに登録されたチャネルの品質が改善された場合に、当該チャネルを再び使用可能とすることができる。これにより、時間の経過に伴い、使用可能なチャネル数が減少してしまい、通信効率が下がることを防ぐことができる。
【００８６】
（第２の実施形態）
図１１は、第２の実施形態に係る無線通信装置の一例を示すブロック図である。第２の実施形態では、ブラックリストの更新に用いられるチャネル品質テーブルが第１の実施形態とは異なり、その処理のための受信品質指標算出部１２５をさらに備える。第１の実施形態と同様の点は、説明を省略する。
【００８７】
第１の実施形態の各ノードは、自ノードから他ノードへ向かうパケットに基づいて受信エントリを更新し、他ノードは、当該エントリを送信エントリとして用いた。すなわち、自ノードから他ノードへ向かうパケットに基づいて更新されたエントリに基づいて、他ノードから自ノードへ向かうパケットが使用するチャネルを制限した。この方法は、チャネル品質が、無線通信の方向によらずに同一である場合には有効である。
【００８８】
しかし、自ノードから他ノードへ向かうパケットに対するチャネル品質と、他ノードから自ノードへ向かうパケットに対するチャネル品質とが、異なることもあり得る。その場合、他ノードから自ノードへ向かうパケットに基づいて更新されたエントリに基づいて、他ノードから自ノードへ向かうパケットが使用するチャネルを制限するほうが好ましい。
【００８９】
ゆえに、第２の実施形態では、各ノードが、他ノードから自ノードへ向かうパケットに基づいて受信エントリを更新する。すなわち、第２の実施形態では、自ノードが生成したチャネル品質テーブルを用いて受信エントリを更新せず、他ノードが生成したチャネル品質テーブルを受信し、それに基づいて受信エントリを更新する。以降、自ノードから他ノードへ向かうパケットに対するチャネル品質を送信チャネル品質と記載し、他ノードから自ノードへ向かうパケットに対するチャネル品質を受信チャネル品質と記載する。
【００９０】
そのため、第２の実施形態では、チャネル品質テーブルを、送信チャネル品質が示された送信チャネル品質テーブルと、受信チャネル品質が示された受信チャネル品質テーブルとに分けて、管理する。なお、送信チャネル品質テーブル内の実績データおよび品質指標をそれぞれ、送信実績データおよび送信品質指標と記載する。受信チャネル品質テーブル内の実績データおよび品質指標をそれぞれ、受信実績データおよび受信品質指標と記載する。
【００９１】
第１の実施形態の実績データ生成部１２１および品質指標算出部１２２はそれぞれ、送信パケットに対する実績データおよび品質指標を算出していた。したがって、第１の実施形態のチャネル品質テーブルは、送信チャネル品質テーブルに該当する。第２の実施形態でも、第１の実施形態と同様にして、送信チャネル品質テーブルが生成される。ゆえに、実績データ生成部１２１は送信実績データ生成部１２１と、品質指標算出部１２２は、送信品質指標算出部１２２とも言える。なお、第２の実施形態では、パケットの宛先を区別して、送信チャネル品質テーブルを生成する。
【００９２】
図１２は、送信チャネル品質テーブルの一例を示す図である。送信チャネル品質テーブルは、図２に示された第１の実施形態のチャネル品質テーブルと異なり、「宛先」の項目を有し、送信パケットの宛先およびチャネルインデックスごとにエントリが分けられている。
【００９３】
第２の実施形態では、第１の実施形態と異なり、各ノードが送信チャネル品質テーブルを近隣ノードに送信する。そして、各ノードは、受信した送信チャネル品質テーブルを、受信チャネル品質テーブルとして用いる。
【００９４】
図１３は、チャネル品質テーブルの送信について説明する図である。ノードＡは、ノードＢに対し、ノードＢを宛先とする送信チャネル品質テーブル（ＡからＢの品質テーブル）を送信する。すなわち、図１２に示された宛先がＢのエントリ（１行目から４行目まで）がノードＢに送信される。当該エントリは、ノードＢからすれば、受信パケットに対する品質が示されている。ゆえに、ノードＢは、受信したエントリを、受信チャネル品質テーブルとして用いる。このように、他ノードから受信チャネル品質テーブルを得る。言い換えると、他ノードからの無線送信に関する実績データおよび当該実績データに基づく品質指標を得る。なお、ここでは、チャネル品質テーブル全体を送受信することを想定しているが、実績データおよび品質指標の少なくともいずれかを送受信するとしてよい。
【００９５】
なお、図１３のように、通信相手にとって必要なエントリだけを送信することにより、通信量を抑えることもできるが、送信ノードは、送信チャネル品質テーブルの不要なエントリ（例えば、別のノードが宛先であるエントリ）を削除せずに送信し、受信ノードが送信チャネル品質テーブルを受信した後に不要なエントリを削除してもよい。その場合は、ブロードキャストにて送信チャネル品質テーブルを一度に近隣ノードに送信するほうが好ましい。
【００９６】
なお、各ノードは、新たに受信したチャネル品質テーブルを、単に、既存の受信チャネル品質テーブルと置き換えてもよい。すなわち、新たに受信したチャネル品質テーブルの品質指標に基づいて、ブラックリスト更新部１２３が、ブラックリストの受信エントリを更新してもよい。あるいは、所有する受信チャネル品質テーブルと、新たに受信したチャネル品質テーブルと、に基づき、品質指標を更新してもよい。
【００９７】
受信品質指標算出部１２５は、新たに受信したチャネル品質テーブルを既存の受信チャネル品質テーブルと置き換えない場合に、受信品質指標を算出する。具体的には、新たに受信したチャネル品質テーブルの品質指標に基づき、受信品質指標を更新する。あるいは、受信実績データを更新し、更新された受信実績データに基づき、受信品質指標を算出してもよい。受信実績データおよび受信品質指標の更新方法は、様々な方法が考えられる。例えば、これまでの受信実績データのパケット送信総数およびパケット送信成功数に対し、新たに受信したチャネル品質テーブルに示されたパケット送信総数およびパケット送信成功数をそれぞれ加算することにより、受信実績データを更新してもよい。あるいは、これまでに受信したチャネル品質テーブルに示された品質指標の移動平均を算出し、新たな受信品質指標としてもよい。
【００９８】
そして、更新された受信品質指標に基づき、ブラックリスト更新部１２３が、ブラックリストの受信エントリを更新する。その他の処理は、第１の実施形態と同様に行うことができる。
【００９９】
図１４は、第２の実施形態における、送信チャネル品質テーブルの送信に係る一連の処理の概略フローチャートである。図１４のＳ５０１からＳ５０６までの処理は、図６に示したフローチャートのＳ１０１からＳ１０６までの処理と同じである。なお、前述の通り、第１の実施形態の実績データは、第２の実施形態の送信実績データに該当し、第１の実施形態の品質指標は、第２の実施形態の送信品質指標に該当する。
【０１００】
第２の実施形態では、送信品質指標に基づいてブラックリストは更新されないため、本フローチャートに図６のＳ１０７に該当する処理はない。また、第１の実施形態と異なり、無線送信部１１１は、使用チャネル決定部１２４に指定されたタイムスロットおよびチャネルにおいて、送信チャネル品質テーブルを近隣ノードに送信する（Ｓ５０７）。送信チャネル品質テーブルは、近隣ノードにおいて、受信チャネル品質テーブルとして用いられて、近隣ノードのブラックリストの受信エントリを更新することになる。
【０１０１】
図１５は、第２の実施形態における、ブラックリストの受信エントリの更新に関する一連の処理の概略フローチャートである。本フローでは、受信品質指標算出部１２５が新たに受信品質指標を算出する場合を想定する。
【０１０２】
使用チャネル決定部１２４は、通信部１１に使用するタイムスロットとチャネルの対応を指示し（Ｓ６０１）、当該指示に従い通信部１１が通信を開始して、無線受信部１１２が他ノードからチャネル品質テーブルを受信する（Ｓ６０２）。受信品質指標算出部１２５は、受信されたチャネル品質テーブルに基づき、受信品質指標を算出する（Ｓ６０３）。ブラックリスト更新部１２３は、算出された受信品質指標に基づき、ブラックリストの受信エントリを更新する（Ｓ６０４）。そして、使用チャネル決定部１２４が、スケジュールデータと、ブラックリストと、に基づき、使用するチャネルを決定する。
【０１０３】
ブラックリストの送信エントリの更新に関する一連の処理の概略フローチャートと、ブラックリストを考慮したチャネル選択のフローチャートと、については、第２の実施形態と第１の実施形態とに違いはないため、省略する。
【０１０４】
以上のように、本実施形態では、ブラックリストの受信エントリを、自ノードの実績データではなく、他ノードの実績データなどに基づき、更新する。これにより、チャネル品質が無線通信の方向によって異なる場合であっても、チャネル品質をより正確に反映したブラックリストに更新することができ、より高い通信成功率を維持することができる。
【０１０５】
また、上記に説明した実施形態における各処理は、専用の回路により実現してもよいし、ソフトウェア（プログラム）を用いて実現してもよい。ソフトウェア（プログラム）を用いる場合は、上記に説明した実施形態は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用い、コンピュータ装置に搭載された中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のプロセッサにプログラムを実行させることにより、実現することが可能である。
【０１０６】
図１６は、本発明の一実施形態におけるハードウェア構成の一例を示すブロック図である。無線通信装置１は、プロセッサ３１と、主記憶装置３２と、補助記憶装置３３と、ネットワークインタフェース３４と、デバイスインタフェース３５と、を備え、これらがバス３６を通じて接続されたコンピュータ装置３として実現できる。なお、図１６では、コンピュータ装置は、各構成要素を１つ備えているが、同じ構成要素を複数備えていてもよい。
【０１０７】
なお、本実施形態の無線通信装置１の構成要素は、プロセッサ、メモリなどを実装しているＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：集積回路）などの専用の電子回路（すなわちハードウェア）により実現されてもよい。例えば、無線通信装置１は、無線送信部１１１を実現する送信回路と、無線受信部１１２を実現する受信回路と、ＴＳＣＨ制御部１２を実現する処理（制御）回路と、を備えていてもよい。ＴＳＣＨ制御部１２の内部構成も、専用の回路で実現されてもよい。あるいは、構成要素がソフトウェア（プログラム）を用いて実現されてもよい。ソフトウェア（プログラム）を用いる場合は、上記に説明した実施形態は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用い、コンピュータ装置に搭載された中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のプロセッサにプログラムを実行させることにより、実現することが可能である。
【０１０８】
本実施形態で用いられる用語は、広く解釈されるべきである。例えば用語“プロセッサ”は、汎用目的プロセッサ、中央処理装置（ＣＰＵ）、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、コントローラ、マイクロコントローラ、状態マシンなどを包含してもよい。状況によって、“プロセッサ”は、特定用途向け集積回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラム可能論理回路（ＰＬＤ）などを指してもよい。“プロセッサ”は、複数のマイクロプロセッサのような処理装置の組み合わせ、ＤＳＰおよびマイクロプロセッサの組み合わせ、ＤＳＰコアと協働する１つ以上のマイクロプロセッサを指してもよい。
【０１０９】
別の例として、用語“メモリ”は、電子情報を格納可能な任意の電子部品を包含してもよい。“メモリ”は、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、プログラム可能読み出し専用メモリ（ＰＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、フラッシュメモリ、磁気または光学データストレージを指してもよい。すなわち、記憶部１３は、メモリでもストレージでもよい。これらはプロセッサによって読み出し可能である。プロセッサがメモリに対して情報を読み出しまたは書き込みまたはこれらの両方を行うならば、メモリはプロセッサと電気的に通信すると言うことができる。メモリは、プロセッサに統合されてもよく、この場合も、メモリは、プロセッサと電気的に通信していると言うことができる。
【０１１０】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１１１】
１  無線通信装置
１１  通信部
１１１  無線送信部
１１２  無線受信部
１２  ＴＳＣＨ制御部
１２１  実績データ生成部（送信実績データ生成部）
１２２  品質指標算出部（送信品質指標算出部）
１２３  ブラックリスト更新部
１２４  使用チャネル決定部
１２５  受信品質指標算出部
１３  記憶部
２  無線通信ネットワーク
【図１】
2020113818.tif 000004
【図２】
2020113818.tif 000005
【図３】
2020113818.tif 000006
【図４】
2020113818.tif 000007
【図５】
2020113818.tif 000008
【図６】
2020113818.tif 000009
【図７】
2020113818.tif 000010
【図８】
2020113818.tif 000011
【図９】
2020113818.tif 000012
【図１０】
2020113818.tif 000013
【図１１】
2020113818.tif 000014
【図１２】
2020113818.tif 000015
【図１３】
2020113818.tif 000016
【図１４】
2020113818.tif 000017
【図１５】
2020113818.tif 000018
【図１６】
2020113818.tif 000019