(57)【特許請求の範囲】
【請求項１】
無線局の１つである自局として動作する無線通信装置であって、
前記自局のカバレッジ内に存在する無線局についての無線局数と無線局リストとの少なくともいずれかである自カバレッジ情報と、前記自局のカバレッジ内に存在する無線局の１つである下り局のカバレッジ内に存在する無線局についての無線局数と無線局リストとの少なくともいずれかである下りカバレッジ情報と、前記自局のカバレッジ内に存在する無線局の１つである上り局のカバレッジ内に存在する無線局についての無線局数と無線局リストとの少なくともいずれかである上りカバレッジ情報と、を記憶する記憶部と、
下りメッセージと上りメッセージとを受信する受信部と、
下りメッセージが受信された場合に、受信された下りメッセージに含まれる上りカバレッジ情報を前記記憶部に記憶するカバレッジ管理部と、
下りメッセージが受信された場合に、下り送信周期が設定された下りタイマを起動し、下りメッセージが受信された場合と上りメッセージが受信された場合に、上り送信周期が設定された上りタイマを起動するタイマ部と、
前記下りタイマが満了したときに、前記記憶部に記憶されている自カバレッジ情報を含んだ下りメッセージを送信し、前記上りタイマが満了したときに上りメッセージを送信する送信部とを備え、
前記カバレッジ管理部は、前記自カバレッジ情報と前記上りカバレッジ情報とに基づいて上り乱数範囲を決定し、前記自カバレッジ情報と前記下りカバレッジ情報とに基づいて下り乱数範囲を決定し、
前記タイマ部は、前記上り乱数範囲から選ばれる乱数を用いて前記上り送信周期を算出し、前記下り乱数範囲から選ばれる乱数を用いて前記下り送信周期を算出する
無線通信装置。
【請求項２】
前記無線通信装置は、メッセージを生成するメッセージ生成部を備え、
前記上りメッセージは、下り経路の有効期間を含み、
前記メッセージ生成部は、前記上り乱数範囲を用いて最大送信周期を算出し、前記上りメッセージに含まれる下り経路の有効期間に前記最大送信周期を加えて充足有効期間を算出し、前記充足有効期間を含んだメッセージを生成し、
前記送信部は、前記充足有効期間を含んだメッセージを送信する
請求項１に記載の無線通信装置。
【請求項３】
前記タイマ部は、前記上り送信周期または前記下り送信周期が設定されたアプリケーションタイマを起動し、
前記送信部は、前記アプリケーションタイマが満了したときに、アプリケーションメッセージを送信する
請求項１に記載の無線通信装置。
【請求項４】
前記タイマ部は、前記上り乱数範囲または前記下り乱数範囲を用いてバックオフを算出し、前記バックオフが設定されたＭＡＣレイヤタイマを起動し、
前記送信部は、前記ＭＡＣレイヤタイマが満了したときに、ＭＡＣレイヤメッセージを送信する
請求項１に記載の無線通信装置。
【請求項５】
前記無線通信装置は、前記上りメッセージによる要求を拒否する隠れ制御部を備え、
前記隠れ制御部は、前記上りメッセージの受信電力と前記下りメッセージの受信電力との和が電力閾値を超えている場合に前記上りメッセージによる要求を拒否する
請求項１に記載の無線通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線局間で無線通信を行うための技術に関するものである。
【背景技術】
【０００２】
無線メッシュネットワークは、各種オートメーション情報または各種センサ情報を無線で収集することを目的として、複数の無線機で構成される。
無線メッシュネットワークでは、ルーティングプロトコルの一つであるＲＰＬ（Ｒｏｕｔｉｎｇ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｌｏｗ  Ｐｏｗｅｒ  ａｎｄ  Ｌｏｓｓｙ  Ｎｅｔｗｏｒｋｓ）が用いられる。
ＲＰＬは、低消費電力または低リソースの端末（例えば、無線センサ）を不安定な通信環境下で利用することを目的としたルーティングプロトコルであり、ＩＥＴＦのＲＦＣ  ６５５０で標準化されている（非特許文献１を参照）。【０００３】
ＲＰＬはＤＯＤＡＧ（Ｄｅｓｔｉｎａｔｉｏｎ  Ｏｒｉｅｎｔｅｄ  Ｄｉｒｅｃｔｅｄ
Ａｃｙｃｌｉｃ  Ｇｒａｐｈ）と呼ばれるツリー構成で形成される。
そして、ＲＰＬでは、上り方向の経路を構築するためにＤＩＯ（ＤＯＤＡＧ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｏｂｊｅｃｔ）と呼ばれる経路制御メッセージが用いられる。
また、ＲＰＬでは、下り方向の経路を構築するためにＤＡＯ（Ｄｅｓｔｉｎａｔｉｏｎ
Ａｄｖｅｒｔｉｓｅｍｅｎｔ  Ｏｂｊｅｃｔ）と呼ばれる経路制御メッセージが用いられる。
ＲＰＬでは、その他に、上り経路を検索するためにＤＩＳ（ＤＯＤＡＧ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｏｌｉｃｉｔａｔｉｏｎ）と呼ばれる経路制御メッセージが用いられる。【０００４】
ＲＰＬプロトコルによって経路構築を行う無線局は、ＤＩＯおよびＤＡＯの送受信を行い、経路を構築していく。具体的には、無線局は、周辺の無線局と経路制御メッセージの送受信を行い、経路内で親局に出来るだけ近くなるように経路内での接続先を選択して経路構築を行う。
ＤＩＯは、経路を構築済みの無線局が自身の存在を周知するためのメッセージであり、ブロードキャストで送信される。
ＤＩＯは、親局を含む各無線局から送信され、親局を除く各無線局は他の無線局から受信したＤＩＯの中から上り経路を選択する。
ＤＡＯは、下り経路の接続を要求するメッセージであり、下り側の無線局が上り側の無線局として選択した無線局に対してユニキャストで送信される。上り側の無線局は、ＤＡＯを受信し、ＤＡＯの送信元を下り側の無線局として設定する。【０００５】
例えば、親局＃０がＤＩＯをブロードキャストで送信する。すると、親局＃０のカバレッジ内にある子局＃１と子局＃２とのそれぞれに親局＃０のＤＩＯが到達する。子局＃１および子局＃２は、上り側の無線局として親局＃０を選択し、親局＃０へＤＡＯをユニキャストで送信する。これにより、子局＃１および子局＃２は経路構築を完了する。
経路構築が完了した子局＃１および子局＃２はＤＩＯをブロードキャストで送信する。子局＃２のＤＩＯは、子局＃２のカバレッジ内にある親局＃０、子局＃１および子局＃３に到達する。子局＃３のカバレッジ内には子局＃２のＤＩＯしか到達しない。そのため、子局＃３は、子局＃２へＤＡＯをユニキャストで送信し、経路構築を完了する。子局＃２は、子局＃３のＤＡＯを上り側の無線局である親局＃０へ送信する。【０００６】
上り側の無線局と下り側の無線局とは互いの通信圏内に位置する。通信圏をカバレッジという。
親局＃０のカバレッジと子局＃３のカバレッジとは互いに重ならない。そのため、親局＃０と子局＃３とは経路を直接接続することはできず、両局とカバレッジが重なる子局＃２が中継を担う。【０００７】
カバレッジが互いに重なる無線局間においては、メッセージの衝突を出来る限り回避するために送信前に必ずキャリアセンスが行われる。そして、各無線局は、他の無線局がメッセージの送信中ではないことを確認したうえで、メッセージの送信を開始する。【０００８】
各無線局によるＤＩＯおよびＤＡＯの送信は、立ち上げ後の経路構築時だけでなく、経路異常を検出できるようにするために定期的に行われる。これにより、経路が維持し続ける。
上り側の無線局からＤＩＯが一定期間受信されない場合、下り側の無線局は、上り側の無線局とは通信不可であると判断する。そして、下り側の無線局は、新たな上り側の無線局を選択することによって、経路を変更する。
下り経路の局からのＤＡＯが一定期間受信されない場合、自局は下り経路の当該局とは通信不可であると判断し、当該局への下り経路を削除する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１４−２１６７２６号公報
【非特許文献】
【００１０】
【非特許文献１】“ＲＰＬ：ＩＰｖ６  Ｒｏｕｔｉｎｇ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｌｏｗ−Ｐｏｗｅｒ  ａｎｄ  Ｌｏｓｓｙ  Ｎｅｔｗｏｒｋｓ”，ＩＥＴＦ，ＲＦＣ  ６５５０，Ｍａｒｃｈ，２０１２．
【発明の概要】
【発明が解決しようとする課題】
【００１１】
特許文献１には、カバレッジ内の無線局の数に応じて送信間隔の変更を指示することが示されている。送信間隔を各無線局で変えることにより、メッセージの衝突が軽減する。
ただし、特許文献１に開示された技術は、同一カバレッジ内の無線局から送信されるメッセージとの衝突を回避するための技術である。【００１２】
ＲＰＬを用いた無線メッシュネットワークには以下のような課題がある。
各無線局は、カバレッジ内にない無線局がメッセージの送信中であることを検出することができない。そのため、第１カバレッジ内の第１無線局と第２カバレッジ内の第２無線局とが同時にメッセージを送信すると、第１カバレッジと第２カバレッジとの両方に含まれる第３無線局において第１無線局のメッセージと第２無線局のメッセージとが衝突してしまう。【００１３】
各無線局はＤＩＯ送信用の周期タイマの満了時にＤＩＯ送信を行い、上り側の無線局からＤＩＯを受信した下り側の無線局はＤＡＯ送信用の周期タイマの満了時にＤＡＯ送信を行う。このような動作が定期的に繰り返される。これにより、各無線局は経路を維持している。
しかし、ＤＩＯまたはＤＡＯの衝突が起きた場合、次の機会まで経路の維持が保留となる。【００１４】
このような衝突を含めてメッセージの送受信の失敗に備えて、経路異常を検出する周期を長くとることで経路を維持しつづけることは出来る。
しかし、経路異常の検出周期を延ばすと、経路異常の検出に要する時間も長くなってしまう。経路異常の検出が遅れてしまえば、経路変更によるシステムの復旧まで時間がかかることになり、システムの復旧までデータ通信が正常に行えなくなる。
具体的には、複数の無線局が同じ無線局を上り側の無線局にしている場合、複数の無線局が、同じ無線局からのＤＩＯ受信を契機にＤＡＯ送信を行うことになる。複数の無線局は互いにカバレッジが異なるため、異なるカバレッジから送信された複数のＤＡＯが上り側の無線局で衝突する可能性がある。下り側の無線局が多ければ多いほど、異なるカバレッジから送信されたＤＡＯが上り側の無線局で衝突する確率は高くなる。【００１５】
ＤＡＯの送信周期に大きな範囲で乱数を適用すれば、衝突の確率を軽減できる。ＲＰＬには、ＤＡＯの送信周期については具体的に規定されていない。
しかし、ＤＡＯの送信周期に大きな範囲で乱数を適用するための明確な手段が存在しない。
そのため、ネットワークに終了される無線局の最大数を想定して、ＤＡＯの送信周期に適用する乱数の範囲を設定する必要がある。
その結果、中継局となる無線局の数が多ければ多いほど、各子局から親局へのＤＡＯの到達に要する時間が長くなる。
例えば、子局＃３のＤＡＯが子局＃２を経由して親局＃０へ到達する場合、子局＃３から子局＃２へのＤＡＯの送信に要する周期と、子局＃２から親局＃０へのＤＡＯの送信に要する周期との合計が、子局＃３がネットワーク接続を完了したことを親局＃０が検出するまでに要する時間となる。【００１６】
子局から親局へＤＡＯが到達するまでに要する最大所要時間は以下の式によって求まる。
最大所要時間  ＝  ＤＡＯ送信周期の最大時間  ×  （中継局数＋１）
ＤＡＯ送信周期は乱数で求まる
「＋１」は、子局から最初の中継局へのＤＡＯ送信を意味する。【００１７】
つまり、ＤＡＯの送信周期に適用する乱数の範囲を大きく延ばすと、ネットワーク全体として、立ち上げ時の経路構築に要する時間および運用中の経路変更に要する時間が長くなってしまう。【００１８】
本発明は、適切な送信周期でメッセージを送信できるようにすることを目的とする。
【課題を解決するための手段】
【００１９】
本発明の無線通信装置は、無線局の１つである自局として動作する。
前記無線通信装置は、
前記自局のカバレッジ内に存在する無線局の情報である自カバレッジ情報と、前記自局のカバレッジ内に存在する無線局の１つである下り局のカバレッジ内に存在する無線局の情報である下りカバレッジ情報とを記憶する記憶部と、
下りメッセージを受信する受信部と、
前記下りメッセージが受信された場合、前記記憶部に記憶されている自カバレッジ情報と下りカバレッジ情報とに基づいて決定される下り送信周期が設定された下りタイマを起動するタイマ部と、
前記下りタイマが満了したときに、前記記憶部に記憶されている自カバレッジ情報を含んだメッセージを送信する送信部とを備える。
【発明の効果】
【００２０】
本発明によれば、自カバレッジ情報と下りカバレッジ情報とに基づいて決定される適切な送信周期でメッセージを送信することができる。
【図面の簡単な説明】
【００２１】
【図１】実施の形態１における無線通信装置１００の構成図。
【図２】実施の形態１における無線通信システム２００の構成図。
【図３】実施の形態１におけるＤＩＯのフォーマットを示す図。
【図４】実施の形態１におけるＤＯＤＡＧコンフィグレーションのフォーマットを示す図。
【図５】実施の形態１におけるカバレッジ管理テーブル２１０の構成図。
【図６】実施の形態１における親局の動作のフローチャート。
【図７】実施の形態１における子局の動作のフローチャート。
【図８】実施の形態１における子局の動作のフローチャート。
【図９】実施の形態１における子局の動作のフローチャート。
【図１０】実施の形態１における乱数範囲の更新（Ｓ３００）のフローチャート。
【図１１】実施の形態１における乱数範囲の更新（Ｓ３００）のフローチャート。
【図１２】実施の形態１におけるタイマ起動処理のフローチャート。
【図１３】実施の形態１におけるメッセージ生成処理のフローチャート。
【図１４】実施の形態１における受信処理のフローチャート。
【図１５】実施の形態１における送信処理のフローチャート。
【図１６】実施の形態１における上り局の登録のフローチャート。
【図１７】実施の形態１における下り局の登録のフローチャート。
【図１８】実施の形態１における自カバレッジ情報の更新のフローチャート。
【図１９】実施の形態２におけるトランジット情報のフォーマットを示す図。
【図２０】実施の形態２における受信処理のフローチャート。
【図２１】実施の形態２におけるメッセージ生成処理のフローチャート。
【図２２】実施の形態３における無線通信装置１００の構成図。
【図２３】実施の形態５における無線通信装置１００の構成図。
【図２４】実施の形態５における受信処理のフローチャート。
【図２５】実施の形態における無線通信装置１００のハードウェア構成図。
【発明を実施するための形態】
【００２２】
実施の形態および図面において、同じ要素および対応する要素には同じ符号を付している。同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。
【００２３】
実施の形態１．
ＤＩＯおよびＤＡＯの適切な送信周期を決定する形態について、図１から図１８に基づいて説明する。
【００２４】
＊＊＊構成の説明＊＊＊
図１に基づいて、無線通信装置１００の構成を説明する。
無線通信装置１００は、プロセッサ９０１とメモリ９０２と補助記憶装置９０３とＲＦ回路９０４とＰＨＹ制御回路９０５とアンテナ９０６と発振器９０７といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
【００２５】
プロセッサ９０１は、演算処理を行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）であり、他のハードウェアを制御する。例えば、プロセッサ９０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、またはＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
メモリ９０２は揮発性の記憶装置である。メモリ９０２は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ９０２はＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。メモリ９０２に記憶されたデータは必要に応じて補助記憶装置９０３に保存される。
補助記憶装置９０３は不揮発性の記憶装置である。例えば、補助記憶装置９０３は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、またはフラッシュメモリである。補助記憶装置９０３に記憶されたデータは必要に応じてメモリ９０２にロードされる。
【００２６】
ＲＦ回路９０４は、無線通信を行う回路である。ＲＦはＲａｄｉｏ  Ｆｒｅｑｕｅｎｃｙの略称である。
ＰＨＹ制御回路９０５は、物理層の制御を行う回路である。ＰＨＹはＰｈｙｓｉｃａｌ
Ｌａｙｅｒの略称である。
アンテナ９０６は、無線通信を実現するためのアンテナである。
発振器９０７は、クロックパルスを生成する回路である。
【００２７】
無線通信装置１００は、カバレッジ管理部１１０とタイマ部１２０とメッセージ生成部１３０と経路管理部１４０といったソフトウェア要素を備える。ソフトウェア要素はソフトウェアで実現される要素である。
【００２８】
補助記憶装置９０３には、カバレッジ管理部１１０とタイマ部１２０とメッセージ生成部１３０と経路管理部１４０としてコンピュータを機能させるための無線通信プログラムが記憶されている。無線通信プログラムは、メモリ９０２にロードされて、プロセッサ９０１によって実行される。
さらに、補助記憶装置９０３にはＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が記憶されている。ＯＳの少なくとも一部は、メモリ９０２にロードされて、プロセッサ９０１によって実行される。
つまり、プロセッサ９０１は、ＯＳを実行しながら、無線通信プログラムを実行する。
無線通信プログラムを実行して得られるデータは、メモリ９０２、補助記憶装置９０３、プロセッサ９０１内のレジスタまたはプロセッサ９０１内のキャッシュメモリといった記憶装置に記憶される。
【００２９】
メモリ９０２はデータを記憶する記憶部１９１として機能する。但し、他の記憶装置が、メモリ９０２の代わりに、又は、メモリ９０２と共に、記憶部１９１として機能してもよい。
ＲＦ回路９０４は、データを受信する受信部１９２として機能する。さらに、ＲＦ回路９０４は、データを送信する送信部１９３として機能する。
【００３０】
無線通信装置１００は、プロセッサ９０１を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ９０１の役割を分担する。
【００３１】
無線通信プログラムは、磁気ディスク、光ディスクまたはフラッシュメモリ等の不揮発性の記憶媒体にコンピュータ読み取り可能に記憶することができる。不揮発性の記憶媒体は、一時的でない有形の媒体である。
【００３２】
図２に基づいて、無線通信システム２００の構成を説明する。
無線通信システム２００は、複数の無線局を備えるシステムである。
実線丸印は無線局を示している。実線丸印の中の符号は無線局を識別する局番である。
無線通信装置１００が無線局として動作する。
【００３３】
無線局＃０は、無線通信システム２００における親局である。
無線局＃１〜＃９は、無線通信システム２００における子局である。
【００３４】
無線局の電波が到達する範囲、すなわち、無線局の通信範囲をカバレッジと呼ぶ。
破線の楕円は、無線局＃０と無線局＃１と無線局＃５と無線局＃６とのそれぞれのカバレッジを示している。
【００３５】
カバレッジ内に存在する無線局をカバレッジ内局という。
カバレッジ内局の数をカバレッジ内局数という。
カバレッジ内に存在する無線局のリストをカバレッジ内局リストという。
カバレッジ内局数およびカバレッジ内局リストをカバレッジ情報という。
例えば、無線局＃６のカバレッジ内局は、無線局＃１、無線局＃６、無線局＃７および無線局＃９である。つまり、無線局＃６のカバレッジ内局数は４である。
【００３６】
カバレッジ間で重複するカバレッジ内局を重複局という。
カバレッジ間で重複するカバレッジ内局の数を重複局数という。
例えば、無線局＃６のカバレッジと無線局＃１のカバレッジとにおける重複局は、無線局１、無線局＃６および無線局＃７である。つまり、無線局＃６のカバレッジと無線局＃１のカバレッジとにおける重複局数は３局である。
【００３７】
それぞれの無線局は、自局として動作する。
自局は、自局のカバレッジ内局と直接通信を行う。
自局は、自局のカバレッジ内局を介して、自局のカバレッジ外に存在する無線局と通信を行う。
例えば、無線局＃６は、無線局＃１と無線局＃７と無線局＃９とのそれぞれと直接通信を行う。また、無線局＃６は、無線局＃１を介して無線局＃０と通信を行う。
【００３８】
太い点線は、通信経路を示している。
通信経路において、無線局＃０に近づく方向を上り、無線局＃０から離れる方向を下りという。上り側の通信経路を上り経路といい、下り側の通信経路を下り経路という。
上り経路において、自局の隣に位置する無線局を上り局という。
下り経路において、自局の隣に位置する無線局を下り局という。
例えば、無線局＃６の上り局は無線局＃１であり、無線局＃６の下り局は無線局＃９である。
【００３９】
自局のカバレッジ情報を自カバレッジ情報といい、上り局のカバレッジ情報を上りカバレッジ情報といい、下り局のカバレッジ情報を下りカバレッジ情報という。
【００４０】
無線通信システム２００において、通信経路を構築するための経路制御メッセージが通信される。
下り方向に送信される経路制御メッセージ、つまり、下りメッセージをＤＩＯという。ＤＩＯはブロードキャストで通信される。
上り方向に送信される経路制御メッセージ、つまり、上りメッセージをＤＡＯという。ＤＡＯは上り局を宛先としてユニキャストで送信される。
【００４１】
図３に、ＤＩＯのフォーマットを示す。
ＤＩＯのフォーマットは、非特許文献１にて規定されている。
ＤＩＯには、非特許文献１に規定されていないオプションを追加することができる。
カバレッジ情報は、追加オプションとしてＤＩＯに格納される。
【００４２】
図４に、ＤＩＯのオプションの１つであるＤＯＤＡＧコンフィグレーションのフォーマットを示す。
ＤＩＯＩｎｔＤｏｕｂｌ．の欄およびＤＩＯＩｎｔＭｉｎ．の欄には、乱数範囲が設定される。つまり、乱数範囲は、コンフィグレーションオプションとしてＤＩＯに格納される。
【００４３】
図５に基づいて、カバレッジ管理テーブル２１０を説明する。
カバレッジ管理テーブル２１０は、カバレッジ情報および乱数範囲を管理するためのテーブルである。カバレッジ管理テーブル２１０は記憶部１９１に記憶される。
カバレッジ管理テーブル２１０は、無線局と方向とカバレッジ内局数とカバレッジ内局リストと第１乱数範囲と第２乱数範囲とのそれぞれの欄を有する。
無線局の欄は、無線局の識別子を示す。
方向の欄は、上りまたは下りを示す。
カバレッジ内局数の欄は、カバレッジ内局数を示す。
カバレッジ内局リストの欄は、カバレッジ内局リストを示す。
第１乱数範囲の欄は、カバレッジ内局数に対応する乱数範囲である第１乱数範囲を示す。
第２乱数範囲の欄は、カバレッジ内局リストに対応する乱数範囲である第２乱数範囲を示す。
乱数範囲は、ＤＩＯまたはＤＡＯが送信される周期の決定に用いられる乱数の範囲である。
上り局に対応付けられた乱数範囲を上り乱数範囲という。上り乱数範囲は、ＤＡＯが送信される周期の決定に用いられる。
下り局に対応付けられた乱数範囲を下り乱数範囲という。下り乱数範囲は、ＤＩＯが送信される周期の決定に用いられる。
【００４４】
図５のカバレッジ管理テーブル２１０は、図２の無線通信システム２００における無線局＃６のカバレッジ管理テーブル２１０である。
自局＃６のカバレッジ内局数は４局であり、自局＃６のカバレッジ内局リストは（＃１、＃６、＃７、＃９）である。
【００４５】
自局＃６の上り局は、無線局＃１である。
上り局＃１のカバレッジ内局数は７局であり、上り局＃１のカバレッジ内局リストは（＃０、＃１、＃２、＃３、＃４、＃６、＃７）である。
上り局＃１の第１乱数範囲は、自局＃６と上り局＃１とのカバレッジ内局数の総和（１１局）に対応する乱数範囲である。
自局＃６と上り局＃１とにおける重複局数は３局（＃１、＃６、＃７）である。
上り局＃１の第２乱数範囲は、自局＃６と上り局＃１とのカバレッジ内局数の総和（１１局）から重複局数（３局）を引いて得られる局数（８局）に対応する乱数範囲である。
【００４６】
自局＃６の下り局は、無線局＃９である。
下り局＃９のカバレッジ内局数は３局であり、下り局＃９のカバレッジ内局リストは（＃６、＃７、＃９）である。
下り局＃９の第１乱数範囲は、自局＃６と下り局＃９とのカバレッジ内局数の総和（７局）に対応する乱数範囲である。
自局＃６と下り局＃９とにおける重複局数は３局（＃１、＃６、＃７）である。
下り局＃９の第２乱数範囲は、自局＃６と下り局＃９とのカバレッジ内局数の総和（７局）から重複局数（３局）を引いて得られる局数（４局）に対応する乱数範囲である。
【００４７】
＊＊＊動作の説明＊＊＊
無線通信装置１００の動作は無線通信方法に相当する。また、無線通信方法の手順は無線通信プログラムの手順に相当する。
【００４８】
図６に基づいて、親局の動作を説明する。
図６では親局の動作の流れを主に説明し、各処理の詳細については無線局の要素の動作として後述する。
親局が無線機能を起動すると親局において無線通信が可能となる。親局は無線機能を起動した後、以下のように動作する。
【００４９】
ステップＳ１０１において、タイマ部１２０はＤＩＯタイマを起動する。
ＤＩＯタイマは、ＤＩＯの送信周期が設定されたタイマである。
ＤＩＯタイマは下りタイマといい、ＤＩＯの送信周期は下り送信周期という。
【００５０】
ステップＳ１０２において、ＤＩＯタイマが満了した場合、タイマ部１２０はＤＩＯタイマの満了を検出する。タイマの満了は、タイマに設定された時間の経過を意味する。例えば、非特許文献１で示されるＴｒｉｃｋｌｅ  ｔｉｍｅｒが使用される。
ＤＩＯタイマが満了した場合、処理はステップＳ１０３に進む。
ＤＩＯタイマが満了していない場合、処理はステップＳ１１１に進む。
【００５１】
ステップＳ１０３において、メッセージ生成部１３０はＤＩＯを生成し、送信部１９３はＤＩＯをブロードキャストで送信する。
ステップＳ１０３の後、処理はステップＳ１０１に進む。
【００５２】
ステップＳ１１１において、子局から送信されたＤＩＯがアンテナ９０６に到達した場合、受信部１９２はＤＩＯを受信する。
ＤＩＯが受信された場合、処理はステップＳ３００に進む。
ＤＩＯが受信されていない場合、処理はステップＳ１２１に進む。
【００５３】
ステップＳ３００において、カバレッジ管理部１１０は乱数範囲の更新を行う。
乱数範囲の更新の後、処理はステップＳ１２１に進む。
【００５４】
ステップＳ１２１において、子局から送信されたＤＡＯがアンテナ９０６に到達した場合、受信部１９２はＤＡＯを受信する。
ＤＡＯが受信された場合、処理はステップＳ１２２に進む。
ＤＡＯが受信されていない場合、処理はステップＳ１０２に進む。
【００５５】
ステップＳ１２２において、経路管理部１４０は、ＤＡＯの送信元を経路情報に下り局として登録する。
経路情報は、上り局と下り局とが登録される情報であり、記憶部１９１に記憶される。
ステップＳ１２２の後、処理はステップＳ１０２に進む。
【００５６】
図７、図８および図９に基づいて、子局の動作を説明する。
図７から図９では子局の動作の流れを主に説明し、各処理の詳細については無線局の要素毎の処理として後述する。
子局が無線機能を起動すると子局において無線通信が可能となる。子局は無線機能を起動した後、以下のように動作する。
【００５７】
ステップＳ２０１（図７参照）において、親局または他の子局から送信されたＤＩＯがアンテナ９０６に到達した場合、受信部１９２はＤＩＯを受信する。
ＤＩＯが受信された場合、処理はステップＳ３００に進む。
ＤＩＯが受信されていない場合、処理はステップＳ２０１に進む。
【００５８】
ステップＳ３００において、カバレッジ管理部１１０は乱数範囲の更新を行う。
乱数範囲の更新の後、処理はステップＳ２１１に進む。
【００５９】
ステップＳ２１１において、タイマ部１２０はＤＩＯタイマを起動する。
【００６０】
ステップＳ２１２において、タイマ部１２０はＤＡＯタイマを起動する。
ＤＡＯタイマは、ＤＡＯの送信周期が設定されたタイマである。
ＤＡＯタイマは上りタイマといい、ＤＡＯの送信周期は上り送信周期という。
【００６１】
ステップＳ２２１において、ＤＩＯタイマが満了した場合、タイマ部１２０はＤＩＯタイマの満了を検出する。
ＤＩＯタイマが満了した場合、処理はステップＳ２２２に進む。
ＤＩＯタイマが満了していない場合、処理はステップＳ２３１に進む。
【００６２】
ステップＳ２２２において、メッセージ生成部１３０はＤＩＯを生成し、送信部１９３はＤＩＯをブロードキャストで送信する。
ステップＳ２２２の後、処理はステップＳ２２３に進む。
【００６３】
ステップＳ２２３において、タイマ部１２０はＤＩＯタイマを起動する。
【００６４】
ステップＳ２３１において、ＤＡＯタイマが満了した場合、タイマ部１２０はＤＡＯタイマの満了を検出する。
ＤＡＯタイマが満了した場合、処理はステップＳ２３２に進む。
ＤＡＯタイマが満了していない場合、処理はステップＳ２２１に進む。
【００６５】
ステップＳ２３２において、メッセージ生成部１３０はＤＡＯを生成し、送信部１９３はＤＡＯをユニキャストで上り局に送信する。
ステップＳ２３２の後、処理はステップＳ２４１（図８参照）に進む。
【００６６】
ステップＳ２０１からステップＳ２３２までの処理により、通信経路が構築される。
その後、ステップＳ２４１以降の処理が実行される。
【００６７】
ステップＳ２４１（図８参照）において、親局または他の子局から送信されたＤＩＯがアンテナ９０６に到達した場合、受信部１９２はＤＩＯを受信する。
ＤＩＯが受信された場合、処理はステップＳ３００に進む。
ＤＩＯが受信されていない場合、処理はステップＳ２５１に進む。
【００６８】
ステップＳ３００において、カバレッジ管理部１１０は乱数範囲の更新を行う。
乱数範囲の更新の後、処理はステップＳ２４２に進む。
【００６９】
ステップＳ２４２において、タイマ部１２０はＤＡＯタイマが起動済みであるか判定する。
ＤＡＯタイマが起動済みである場合、処理はステップＳ２５１に進む。
ＤＡＯタイマが未起動である場合、処理はステップＳ２４３に進む。
【００７０】
ステップＳ２４３において、タイマ部１２０はＤＡＯタイマを起動する。
【００７１】
ステップＳ２５１において、他の子局から送信されたＤＡＯがアンテナ９０６に到達した場合、受信部１９２はＤＡＯを受信する。
ＤＡＯが受信された場合、処理はステップＳ２５２に進む。
ＤＡＯが受信されていない場合、処理はステップＳ２６１（図９参照）に進む。
【００７２】
ステップＳ２５２において、経路管理部１４０は、ＤＡＯの送信元を経路情報に下り局として登録する。
【００７３】
ステップＳ２５３において、タイマ部１２０はＤＡＯタイマが起動済みであるか判定する。
ＤＡＯタイマが起動済みである場合、処理はステップＳ２６１（図９参照）に進む。
ＤＡＯタイマが未起動である場合、処理はステップＳ２５４に進む。
【００７４】
ステップＳ２５４において、タイマ部１２０はＤＡＯタイマを起動する。
ステップＳ２５４の後、処理はステップＳ２６１（図９参照）に進む。
【００７５】
ステップＳ２６１（図９参照）において、ＤＩＯタイマが満了した場合、タイマ部１２０はＤＩＯタイマの満了を検出する。
ＤＩＯタイマが満了した場合、処理はステップＳ２６２に進む。
ＤＩＯタイマが満了していない場合、処理はステップＳ２７１に進む。
【００７６】
ステップＳ２６２において、メッセージ生成部１３０はＤＩＯを生成し、送信部１９３はＤＩＯをブロードキャストで送信する。
【００７７】
ステップＳ２６３において、タイマ部１２０はＤＩＯタイマを起動する。
【００７８】
ステップＳ２７１において、ＤＡＯタイマが満了した場合、タイマ部１２０はＤＡＯタイマの満了を検出する。
ＤＡＯタイマが満了した場合、処理はステップＳ２７２に進む。
ＤＡＯタイマが満了していない場合、処理はステップＳ２４１（図８参照）に進む。
【００７９】
ステップＳ２７２において、メッセージ生成部１３０はＤＡＯを生成し、送信部１９３はＤＡＯをユニキャストで上り局に送信する。
ステップＳ２７２の後、処理はステップＳ２４１（図８参照）に進む。
【００８０】
図１０に基づいて、乱数範囲の更新（Ｓ３００）を説明する。
乱数範囲の更新（Ｓ３００）は、ＤＩＯが受信されたときに、主にカバレッジ管理部１１０によって実行される。
【００８１】
ステップＳ３０１において、カバレッジ管理部１１０は、ＤＩＯの送信元が上り局または下り局であるか判定する。
具体的には、カバレッジ管理部１１０は、ＤＩＯの送信元が、経路情報に上り局として登録されている無線局または経路情報に下り局として登録されている無線局であるか判定する。
ＤＩＯの送信元が上り局または下り局である場合、処理はステップＳ３１１に進む。
ＤＩＯの送信元が上り局と下り局とのいずれでもない場合、処理はステップＳ３０２に進む。
【００８２】
ステップＳ３０２において、カバレッジ管理部１１０は、自局が子局であるか判定する。
具体的には、親局または子局を示す属性情報が記憶部１９１に予め記憶される。カバレッジ管理部１１０は、属性情報を参照することによって、自局が子局であるか判定する。
自局が子局である場合、処理はステップＳ３０３に進む。
自局が親局である場合、乱数範囲が更新されずに、乱数範囲の更新が終了する。
【００８３】
ステップＳ３０３において、カバレッジ管理部１１０は、上り局が経路情報に登録されているか判定する。
上り局が未登録である場合、処理はステップＳ３０４に進む。
上り局が登録済みである場合、乱数範囲が更新されずに、乱数範囲の更新が終了する。
【００８４】
ステップＳ３０４において、カバレッジ管理部１１０は、ＤＩＯの送信元を経路情報に上り局として登録する。
【００８５】
ステップＳ３１１において、カバレッジ管理部１１０は、カバレッジ管理テーブル２１０に登録されている送信元のカバレッジ内局数を、ＤＩＯに設定されている送信元のカバレッジ内局数に更新する。
【００８６】
ステップＳ３１２において、カバレッジ管理部１１０は、カバレッジ管理テーブル２１０に登録されている送信元の第１乱数範囲を更新する。
【００８７】
具体的には、カバレッジ管理部１１０は、送信元の第１乱数範囲を以下のように更新する。
まず、カバレッジ管理部１１０は、カバレッジ管理テーブル２１０から、自局のカバレッジ内局数と送信元のカバレッジ内局数とを取得する。
次に、カバレッジ管理部１１０は、自局のカバレッジ内局数と送信元のカバレッジ内局数との総和を算出する。算出される値を第１総和局数という。第１総和局数は、以下の式で表される。
第１総和局数  ＝  自局のカバレッジ内局数  ＋  送信元のカバレッジ内局数
【００８８】
次に、カバレッジ管理部１１０は、第１総和局数に基づいて第１乱数範囲を決定する。第１乱数範囲は、第１総和局数が少ないほど狭く、第１総和局数が多いほど広い。
そして、カバレッジ管理部１１０は、カバレッジ管理テーブル２１０に登録されている送信元の第１乱数範囲を、決定された第１乱数範囲に更新する。
【００８９】
ステップＳ３１２の後、処理はステップＳ３２１（図１１参照）に進む。
【００９０】
ステップＳ３２１（図１１参照）において、カバレッジ管理部１１０は、カバレッジ内局リストがＤＩＯに格納されているか判定する。つまり、カバレッジ管理部１１０は、ＤＩＯの中にカバレッジ内局リストが有るか判定する。
ＤＩＯの中にカバレッジ内局リストが有る場合、処理はステップＳ３２２に進む。
ＤＩＯの中にカバレッジ内局リストが無い場合、処理はステップＳ３３１に進む。
【００９１】
ステップＳ３２２において、カバレッジ管理部１１０は、カバレッジ管理テーブル２１０に登録されている送信元のカバレッジ内局リストを、ＤＩＯに設定されているカバレッジ内局リストに更新する。
【００９２】
ステップＳ３２３において、カバレッジ管理部１１０は、カバレッジ管理テーブル２１０に登録されている送信元の第２乱数範囲を更新する。
【００９３】
具体的には、カバレッジ管理部１１０は、送信元の第２乱数範囲を以下のように更新する。
まず、カバレッジ管理部１１０は、カバレッジ管理テーブル２１０から、自局のカバレッジ内局リストと送信元のカバレッジ内局リストとを取得する。
次に、カバレッジ管理部１１０は、自局のカバレッジ内局リストと送信元のカバレッジ内局リストとを無線局が重複しないようにマージする。これにより、自局のカバレッジと送信元のカバレッジとの少なくともいずれかのカバレッジ内に存在する無線局のリストが得られる。得られるリストをマージリストという。
次に、カバレッジ管理部１１０は、マージリストに含まれる無線局を数える。マージリストに含まれる無線局の数を第２総和局数という。第２総和局数は以下の式で表される。
第２総和局数  ＝  自局のカバレッジ内局数  ＋  送信元のカバレッジ内局数  −  自局と送信元との重複局数
【００９４】
次に、カバレッジ管理部１１０は、第２総和局数に基づいて第２乱数範囲を決定する。第２乱数範囲は、第２総和局数が少ないほど狭く、第２総和局数が多いほど広い。
そして、カバレッジ管理部１１０は、カバレッジ管理テーブル２１０に登録されている送信元の第２乱数範囲を、決定された第２乱数範囲に更新する。
【００９５】
ステップＳ３３１において、カバレッジ管理部１１０は、ＤＩＯの送信元が下り局であるか判定する。
具体的には、カバレッジ管理部１１０は、ＤＩＯの送信元が、経路情報に下り局として登録されている無線局であるか判定する。
ＤＩＯの送信元が下り局である場合、処理は乱数範囲の更新が終了する。
ＤＩＯの送信元が下り局でない場合、処理はステップＳ３３２に進む。
【００９６】
ステップＳ３３２において、カバレッジ管理部１１０は経路管理部１４０を呼び出す。
経路管理部１４０は、ＤＩＯの送信元を経路情報に上り局として登録する。詳細については後述する。
【００９７】
図１２に基づいて、タイマ起動処理を説明する。
タイマ起動処理は、ＤＩＯタイマまたはＤＡＯタイマが起動されるときに、タイマ部１２０によって実行される。
【００９８】
ステップＳ４０１において、タイマ部１２０は、カバレッジ管理テーブル２１０から乱数範囲を取得する。
【００９９】
具体的には、タイマ部１２０は乱数範囲を以下のように取得する。
ＤＩＯタイマを起動する場合、タイマ部１２０は、カバレッジ管理テーブル２１０から、下り局の第１乱数範囲または第２乱数範囲を取得する。
ＤＡＯタイマを起動する場合、タイマ部１２０は、カバレッジ管理テーブル２１０から、上り局の第１乱数範囲または第２乱数範囲を取得する。
【０１００】
具体的には、タイマ部１２０は第１乱数範囲または第２乱数範囲を以下のように取得する。
第２乱数範囲がカバレッジ管理テーブル２１０に設定されている場合、タイマ部１２０は、カバレッジ管理テーブル２１０から第２乱数範囲を取得する。
第２乱数範囲がカバレッジ管理テーブル２１０に設定されていない場合、タイマ部１２０は、カバレッジ管理テーブル２１０から第１乱数範囲を取得する。
【０１０１】
ステップＳ４０２において、タイマ部１２０は、乱数範囲内の乱数を用いて、送信周期を算出する。乱数範囲内の乱数とは、乱数範囲からランダムに選ばれる値（乱数）を意味する。
【０１０２】
ＤＩＯタイマ用の送信周期は、乱数範囲内の乱数を用いて、非特許文献１で規定されているＴｒｉｃｋｌｅ  Ａｌｇｏｒｉｔｈｍ（ＩＥＴＦ  ＲＦＣ  ６２０６）によって算出される。
【０１０３】
ＤＡＯタイマ用の送信周期は以下の式で表される。ｒａｎｄ｛乱数範囲｝は、乱数範囲内の乱数を意味する。
送信周期  ＝  ｒａｎｄ｛乱数範囲｝  ×  単位時間
【０１０４】
ステップＳ４０３において、タイマ部１２０は、タイマに送信周期を設定する。
【０１０５】
ステップＳ４０４において、タイマ部１２０は、タイマを起動する。
【０１０６】
図１３に基づいて、メッセージ生成処理を説明する。
メッセージ生成処理は、ＤＩＯまたはＤＡＯが生成されるときに、メッセージ生成部１３０によって実行される。
【０１０７】
ステップＳ４１１において、メッセージ生成部１３０は、メッセージ本体を生成する。
メッセージ本体は、メッセージ全体のうちオプションを除いた部分である。
【０１０８】
具体的には、メッセージ生成部１３０はメッセージ本体を以下のように生成する。
ＤＩＯを生成する場合、メッセージ生成部１３０は、ＤＩＯのフォーマットを用いて、メッセージ本体を生成する。
ＤＡＯを生成する場合、メッセージ生成部１３０は、ＤＡＯのフォーマットを用いて、メッセージ本体を生成する。
ＤＩＯのフォーマットおよびＤＡＯのフォーマットは、非特許文献１に規定されている。ＤＩＯのフォーマットおよびＤＡＯのフォーマットは、記憶部１９１に予め記憶される。
【０１０９】
ＤＩＯが生成される場合、処理はステップＳ４１２に進む。
ＤＡＯが生成される場合、メッセージ生成処理は終了する。
【０１１０】
ステップＳ４１２において、メッセージ生成部１３０は、自局のカバレッジ情報用の追加オプションを生成し、生成された追加オプションをメッセージ本体に付加する。
【０１１１】
具体的には、メッセージ生成部１３０は、自局のカバレッジ情報用の追加オプションを以下のように生成する。
まず、メッセージ生成部１３０は、自局のカバレッジ内局数と自局のカバレッジ内局リストとの少なくともいずれかをカバレッジ管理テーブル２１０から自局のカバレッジ情報として取得する。
そして、メッセージ生成部１３０は、追加オプションのフォーマットを用いて、自局のカバレッジ情報が設定された追加オプションを生成する。生成される追加オプションが自局のカバレッジ情報用の追加オプションである。追加オプションのフォーマットは記憶部１９１に予め記憶される。
【０１１２】
ステップＳ４１３において、メッセージ生成部１３０は、乱数範囲用のコンフィグレーションオプションを生成し、生成されたコンフィグレーションオプションをメッセージ本体に付加する。
【０１１３】
具体的には、メッセージ生成部１３０は、乱数範囲用のコンフィグレーションオプションを以下のように生成する。
まず、メッセージ生成部１３０は、下り局の第１乱数範囲または第２乱数範囲をカバレッジ管理テーブル２１０から取得する。
そして、メッセージ生成部１３０は、コンフィグレーションオプションのフォーマットを用いて、取得された乱数範囲が設定されたコンフィグレーションオプションを生成する。生成されるコンフィグレーションオプションが乱数範囲用のコンフィグレーションオプションである。コンフィグレーションオプションのフォーマットは記憶部１９１に予め記憶される。
【０１１４】
具体的には、メッセージ生成部１３０は第１乱数範囲または第２乱数範囲を以下のように取得する。
第２乱数範囲がカバレッジ管理テーブル２１０に設定されている場合、メッセージ生成部１３０は、カバレッジ管理テーブル２１０から第２乱数範囲を取得する。
第２乱数範囲がカバレッジ管理テーブル２１０に設定されていない場合、メッセージ生成部１３０は、カバレッジ管理テーブル２１０から第１乱数範囲を取得する。
【０１１５】
図１４に基づいて、受信処理を説明する。
受信処理は、ＤＩＯまたはＤＡＯがアンテナ９０６に到達したときに、主に受信部１９２によって実行される。ＤＩＯまたはＤＡＯはアンテナ９０６に変調信号として到達する。
【０１１６】
ステップＳ４２１において、受信部１９２は、アンテナ９０６を介して、変調信号を受信する。
ステップＳ４２２において、受信部１９２は変調信号を復調する。これにより、メッセージが得られる。
ステップＳ４２３において、受信部１９２はメッセージを出力する。出力されるメッセージがＤＩＯまたはＤＡＯである。
【０１１７】
ステップＳ４６０において、カバレッジ管理部１１０は、自局のカバレッジ情報を更新する。
自局のカバレッジ情報の更新については後述する。
【０１１８】
図１５に基づいて、送信処理を説明する。
送信処理は、ＤＩＯまたはＤＡＯが生成されたときに、送信部１９３によって実行される。
【０１１９】
ステップＳ４３１において、送信部１９３はメッセージを受け付ける。受け付けられるメッセージがＤＩＯまたはＤＡＯである。
ステップＳ４３２において、送信部１９３はメッセージを変調する。これにより、変調信号が得られる。
ステップＳ４３３において、送信部１９３は、アンテナ９０６を介して、変調信号を送信する。
【０１２０】
図１６に基づいて、上り局の登録を説明する。
上り局の登録は、ＤＩＯが受信された場合に経路管理部１４０によって実行される。
【０１２１】
ステップＳ４４１において、経路管理部１４０は、上り局が経路情報に登録されているか判定する。つまり、経路管理部１４０は上り局が登録済みであるか判定する。
上り局が登録済みである場合、処理はステップＳ４４２に進む。
上り局が未登録である場合、処理はステップＳ４４４に進む。
【０１２２】
ステップＳ４４２において、経路管理部１４０は、上り局の更新条件を満たすか判定する。
例えば、更新条件は、送信元から受信されたＤＩＯの受信電力が、上り局から受信されたＤＩＯの受信電力よりも大きい、といった条件である。更新条件は任意に定めることができる。
上り局の更新条件を満たす場合、処理はステップＳ４４３に進む。
上り局の更新条件を満たさない場合、ＤＩＯの送信元が上り局として登録されずに、上り局の登録が終了する。
【０１２３】
ステップＳ４４３において、経路管理部１４０は、経路情報に登録されている上り局をＤＩＯの送信元に更新する。
ステップＳ４４３の後、上り局の更新は終了する。
【０１２４】
ステップＳ４４４において、経路管理部１４０は、ＤＩＯの送信元を経路情報に上り局として登録する。
ステップＳ４４４の後、上り局の更新は終了する。
【０１２５】
図１７に基づいて、下り局の登録を説明する。
下り局の登録は、ＤＡＯが受信された場合に経路管理部１４０によって実行される。
【０１２６】
ステップＳ４５１において、経路管理部１４０は、ＤＡＯが自局宛てのメッセージであるか判定する。
具体的には、経路管理部１４０は、ＤＡＯの宛先を参照し、ＤＡＯの宛先が自局であるか判定する。
ＤＡＯが自局宛てのメッセージである場合、処理はステップＳ４５２に進む。
ＤＡＯが自局宛てのメッセージでない場合、ＤＡＯの送信元が下り局として登録されずに、下り局の登録が終了する。
【０１２７】
ステップＳ４５２において、経路管理部１４０は、下り局が経路情報に登録されているか判定する。つまり、経路管理部１４０は、下り局が登録済みであるか判定する。
下り局が登録済みである場合、処理はステップＳ４５３に進む。
下り局が未登録である場合、処理はステップＳ４５４に進む。
【０１２８】
ステップＳ４５３において、経路管理部１４０は、経路情報に登録されている下り局をＤＡＯの送信元に更新する。
【０１２９】
ステップＳ４５４において、経路管理部１４０は、ＤＡＯの送信元を経路情報に下り局として登録する。
【０１３０】
図１８に基づいて、自カバレッジ情報の更新（Ｓ４６０）を説明する。
自カバレッジ情報の更新（Ｓ４６０）は、ＤＩＯまたはＤＡＯが受信されたときに、カバレッジ管理部１１０によって実行される。
【０１３１】
ステップＳ４６１において、カバレッジ管理部１１０は、カバレッジ管理テーブル２１０の中の自局のカバレッジ内局リストにメッセージの送信元が登録されているか判定する。つまり、カバレッジ管理部１１０は、メッセージの送信元が登録済みであるか判定する。
メッセージの送信元が登録済みである場合、自局のカバレッジ情報が更新されずに、自局のカバレッジ情報の更新が終了する。
メッセージの送信元が未登録である場合、処理はステップＳ４６２に進む。
【０１３２】
ステップＳ４６２において、カバレッジ管理部１１０は、カバレッジ管理テーブル２１０の中の自局のカバレッジ内局数に１を加える。
【０１３３】
ステップＳ４６３において、カバレッジ管理部１１０は、カバレッジ管理テーブル２１０の中の自局のカバレッジ内局リストにメッセージの送信元を加える。
【０１３４】
＊＊＊実施の形態１の補足＊＊＊
実施の形態１では、自局のカバレッジ情報が追加オプションとして格納されたＤＩＯがブロードキャストで送信される。これにより、自局のカバレッジ情報が他の無線局に周知される。
追加オプションには、自局のカバレッジ内局リストが自局のカバレッジ情報として格納されてもよい。
局番を示すアドレス（Ｐｒｅｆｉｘ）のサイズはシステムにより異なる。ＩＰｖ６がシステムに適用される場合、Ｐｒｅｆｉｘのサイズは１２８ビットである。そのため、自局のカバレッジ内局数が多い場合にはＤＩＯのメッセージ長が長くなりすぎてしまう。
そこで、自局は、１６ビットのショートアドレスをＰｒｅｆｉｘとして用いることによって、Ｐｒｅｆｉｘのサイズを縮小してもよい。
また、自局は、自局のカバレッジ内局リストを複数回に分けてＤＩＯに格納し、複数回のＤＩＯの送信によって自局のカバレッジ内局リストの全てを他の無線局に周知してもよい。
また、自局は、自局のカバレッジ内局リスト用の追加オプションを生成し、自局のカバレッジ内局リスト用の追加オプションが付加されたＤＩＯを必要に応じて送信してもよい。例えば、他の無線局からカバレッジ内局リストを要求された場合、および、自局のカバレッジ内局リストが更新された場合などに、自局は、自局のカバレッジ内局リスト用の追加オプションが付加されたＤＩＯを送信する。
【０１３５】
＊＊＊実施の形態１の効果＊＊＊
無線局は、上り局または下り局からＤＩＯを受信することにより、上り局または下り局のカバレッジ情報を知ることができる。
無線局は、上り局からＤＩＯを受信することにより、上り局の乱数範囲を知ることができる。
自局は、異なるカバレッジから送信されるＤＩＯの衝突を軽減するため、自局のカバレッジ内局数に応じて乱数範囲を増減する。そして、自局は、乱数範囲内の乱数を用いて、ＤＩＯの送信周期を決定する。これにより、自局は、自局のカバレッジ内局数に応じた適切な乱数範囲に基づいて、適切な送信周期でＤＩＯを送信することができる。
【０１３６】
＊＊＊他の構成＊＊＊
子局は、非特許文献１に記載されているように、ＤＩＳ送信によってＤＩＯをいち早く得てもよい。
【０１３７】
実施の形態２．
下り経路の適切な有効期間を通知する形態について、主に実施の形態１と異なる点を図１９から図２１に基づいて説明する。
【０１３８】
＊＊＊構成の説明＊＊＊
図１９に、ＤＡＯのオプションの１つであるトランジット情報のフォーマットを示す。
パスライフタイムの欄には、下り経路の有効期間が設定される。つまり、下り経路の有効期間が、トランジットオプションとしてＤＡＯに格納される。
【０１３９】
＊＊＊動作の説明＊＊＊
図２０に基づいて、受信処理を説明する。
ステップＳ４２１からステップＳ４２３は、実施の形態１（図１４参照）で説明した通りである。
ステップＳ４６０は、実施の形態１（図１８参照）で説明した通りである。
【０１４０】
ステップＳ４７１において、経路管理部１４０は、受信されたメッセージがＤＡＯであるか判定する。
受信されたメッセージがＤＡＯである場合、処理はステップＳ４７２に進む。
受信されたメッセージがＤＩＯである場合、受信処理は終了する。
【０１４１】
ステップＳ４７２において、経路管理部１４０は、ＤＡＯのトランジットオプションから下り経路の有効期間を取得し、下り経路の有効期間を経路情報に登録する。
下り経路の有効期間が経路情報に既に登録されている場合、経路管理部１４０は、経路情報に登録されている下り経路の有効期間をＤＡＯのトランジットオプションから取得された下り経路の有効期間に更新する。
【０１４２】
図２１に基づいて、メッセージ生成処理を説明する。
ステップＳ４１１からステップＳ４１３は、実施の形態１（図１３参照）で説明した通りである。
【０１４３】
ステップＳ４１４において、メッセージ生成部１３０は、生成されるメッセージがＤＡＯであるか判定する。
生成されるメッセージがＤＡＯである場合、処理はステップＳ４１５に進む。
生成されるメッセージがＤＩＯである場合、メッセージ生成処理は終了する。
【０１４４】
ステップＳ４１５において、メッセージ生成部１３０は、有効期間用のトランジットオプションを生成し、生成されたトランジットオプションをメッセージ本体に付加する。
【０１４５】
具体的には、メッセージ生成部１３０は、有効期間用のトランジットオプションを以下のように生成する。
まず、メッセージ生成部１３０は、下り経路の有効期間として不足しない期間である充足有効期間を決定する。
そして、メッセージ生成部１３０は、トランジットオプションのフォーマットを用いて、充足有効期間が設定されたトランジットオプションを生成する。生成されるトランジットオプションが有効期間用のトランジットオプションである。トランジットオプションのフォーマットは記憶部１９１に予め記憶される。
【０１４６】
具体的には、メッセージ生成部１３０は、充足有効期間を以下のように決定する。充足有効期間は、自局のカバレッジ内局数に対応する。
まず、メッセージ生成部１３０は、経路情報から下り経路の有効期間を取得する。
次に、メッセージ生成部１３０は、カバレッジ管理テーブル２１０から、上り局の第１乱数範囲または第２乱数範囲を取得する。
次に、メッセージ生成部１３０は、取得された乱数範囲を用いて、自局におけるＤＡＯの最大送信周期を算出する。最大送信周期は以下の式で表される。最大乱数は、乱数範囲における乱数の最大値である。
最大送信周期  ＝  最大乱数  ×  単位時間
【０１４７】
そして、メッセージ生成部１３０は、下り経路の有効期間に最大送信周期を加える。得られる時間が、充足有効期間である。
【０１４８】
＊＊＊実施の形態２の補足＊＊＊
自局において決定される下り経路の有効期間は、上り局のカバレッジ内局数、上り局の乱数範囲および自局におけるＤＡＯの最大送信周期が反映された有効期間である。
自局におけるＤＡＯの最大送信周期は、上り局におけるＤＩＯの最大送信周期に相当する。
【０１４９】
図２の無線通信システム２００において、子局＃３が子局＃２へＤＡＯを送信した場合、子局＃２は、ＤＡＯに格納された下り経路の有効期間、つまり、子局＃３で決定された下り経路の有効期間を管理する。さらに、子局＃２が子局＃３のＤＡＯを親局＃０へ送信する場合、子局＃２は、子局＃３で決定された下り経路の有効期間に、子局＃２におけるＤＡＯの最大送信周期を加える。
【０１５０】
＊＊＊実施の形態２の効果＊＊＊
自局は、上り局からのＤＩＯの受信を契機に、上り局へのＤＡＯの送信を行う。そのため、上り局におけるＤＩＯの送信周期が増大すると、下り経路の有効期間が不足する場合がある。
そこで、自局は、ＤＡＯの送信時に、上り局におけるＤＩＯの送信周期の最大時間を算出し、算出された時間に応じて下り経路の有効期間を増減し、上り局へＤＡＯを送信する。
【０１５１】
自局は、自局のカバレッジ内局数に応じて、ＤＡＯの適切な送信周期および下り経路の適切な有効期間を決定することができる。
【０１５２】
中継数が増加しても、親局から当該子局までの各区間の下り経路の有効期間の総和を自局における下り経路の有効期間とすればよい。ＤＩＯまたはＤＡＯの送信周期の乱数範囲が各無線局間で変動しても、下り経路の有効期間が不足してしまうことを回避することができる。
【０１５３】
実施の形態３．
アプリケーションメッセージの適切な送信周期を決定する形態について、主に実施の形態１および実施の形態２と異なる点を図２２に基づいて説明する。
【０１５４】
＊＊＊構成の説明＊＊＊
図２２に基づいて、無線通信装置１００の構成を説明する。
無線通信装置１００は、実施の形態１（図１参照）で説明したソフトウェア要素の他に、アプリケーション部１５０を備える。
無線通信プログラムは、カバレッジ管理部１１０とタイマ部１２０とメッセージ生成部１３０と経路管理部１４０とアプリケーション部１５０としてコンピュータを機能させる。
記憶部１９１には、アプリケーション部１５０によって実行されるアプリケーションが記憶される。アプリケーションはアプリケーションプログラムを意味する。
【０１５５】
＊＊＊動作の説明＊＊＊
アプリケーション部１５０は、任意のアプリケーションを実行することによって、アプリケーションメッセージを生成する。
アプリケーションメッセージは、任意のアプリケーションを実行することによって生成されるメッセージであり、経路制御メッセージとは異なるメッセージである。
【０１５６】
受信処理（図１４または図２０参照）において、受信部１９２は、ＤＩＯおよびＤＡＯの他に、アプリケーションメッセージを受信する。
カバレッジ管理部１１０は、アプリケーションメッセージが受信された場合にも、自局のカバレッジ情報の更新（Ｓ４００）を実行する。つまり、カバレッジ管理部１１０は、アプリケーションメッセージの送信元も、自局のカバレッジ情報に登録する。
アプリケーションメッセージが生成された場合にも、タイマ部１２０は、タイマ起動処理（図１２参照）を実行する。つまり、タイマ部１２０は、アプリケーションタイマを起動する。アプリケーションタイマは、アプリケーションメッセージの送信周期が設定されたタイマである。アプリケーションメッセージの送信周期は、ＤＩＯの送信周期またはＤＡＯの送信周期と同じである。具体的には、アプリケーションメッセージの宛先が下り局である場合、アプリケーションメッセージの送信周期はＤＩＯの送信周期と同じである。また、アプリケーションメッセージの宛先が上り局である場合、アプリケーションメッセージの送信周期はＤＡＯの送信周期と同じである。
アプリケーションタイマが満了したときに、送信部１９３は、アプリケーションメッセージを送信する。
【０１５７】
＊＊＊実施の形態３の効果＊＊＊
実施の形態３により、異なるカバレッジ間でのアプリケーションメッセージの衝突を軽減することができる。
【０１５８】
実施の形態４．
ＭＡＣレイヤメッセージの適切なバックオフを決定する形態について、主に実施の形態１から実施の形態３と異なる点を説明する。
【０１５９】
＊＊＊動作の説明＊＊＊
送信部１９３は、ＭＡＣレイヤメッセージを送信する。ＭＡＣレイヤメッセージは、ＭＡＣレイヤで通信されるメッセージである。ＤＩＯ、ＤＡＯおよびアプリケーションメッセージは、ＭＡＣレイヤメッセージの中に含まれる。ＭＡＣはＭｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌの略称である。
ＩＥＥＥ８０２．１５．４では、同一カバレッジ内の複数の無線局がＭＡＣレイヤメッセージを同時に送信する確率を減らすために、バックオフと呼ばれる待機時間が規定されている。バックオフは以下の式で表される。バンクオフスロットは、バックオフ用の単位時間である。
バックオフ  ＝  バックオフスロット  ×  乱数
【０１６０】
ＭＡＣレイヤメッセージが送信される前にも、タイマ部１２０は、タイマ起動処理（図１２参照）を実行する。つまり、タイマ部１２０は、バックオフを算出し、ＭＡＣレイヤタイマを起動する。ＭＡＣレイヤタイマはバックオフが設定されたタイマである。バックオフは以下の式で表される。
バックオフ  ＝  バックオフスロット  ×  ｒａｎｄ｛乱数範囲｝
【０１６１】
上り局へのＭＡＣレイヤメッセージのバックオフは、上り局の乱数範囲を用いて算出される。上り局の乱数範囲を用いて算出されるバックオフを上りバックオフという。
下り局へのＭＡＣレイヤメッセージのバックオフは、下り局の乱数範囲を用いて算出される。下り局の乱数範囲を用いて算出されるバックオフを下りバックオフという。
【０１６２】
ＭＡＣレイヤタイマが満了したときに、送信部１９３は、ＭＡＣレイヤメッセージを送信する。
【０１６３】
＊＊＊実施の形態４の効果＊＊＊
異なるカバレッジから同一のカバレッジへＭＡＣレイヤメッセージが同時に送信される確率を減らし、ＭＡＣレイヤメッセージの衝突を軽減することができる。
【０１６４】
実施の形態５．
２つの無線局が隠れ端末関係の状態となる通信経路の構築を回避するための形態について、主に実施の形態１から実施の形態４と異なる点を図２３に基づいて説明する。
【０１６５】
＊＊＊構成の説明＊＊＊
図２３に基づいて、無線通信装置１００の構成を説明する。
無線通信装置１００は、実施の形態１（図１参照）で説明したソフトウェア要素の他に、隠れ制御部１６０を備える。さらに、無線通信装置１００は、実施の形態３（図２２参照）で説明したアプリケーション部１５０を備えてもよい。
無線通信プログラムは、カバレッジ管理部１１０とタイマ部１２０とメッセージ生成部１３０と経路管理部１４０と（アプリケーション部１５０と）隠れ制御部１６０としてコンピュータを機能させる。
【０１６６】
＊＊＊動作の説明＊＊＊
図２４に基づいて、受信処理を説明する。
受信処理には、実施の形態２（図２０参照）で説明したステップＳ４７１およびステップＳ４７２が追加されてもよい。
【０１６７】
ステップＳ４２１は、実施の形態１（図１４参照）で説明した通りである。
【０１６８】
ステップＳ４８０において、受信部１９２は、受信された変調信号の電力を計測する。計測される電力を送信元の受信電力という。
隠れ制御部１６０は、送信元の受信電力を記憶部１９１に記憶する。具体的には、隠れ制御部１６０は、送信元の局番に対応付けて送信元の受信電力を記憶部１９１に記憶する。
【０１６９】
ステップＳ４２２およびステップＳ４２３は、実施の形態１（図１４参照）で説明した通りである。
ステップＳ４６０は、実施の形態１（図１８参照）で説明した通りである。
【０１７０】
ステップＳ４８１において、隠れ制御部１６０は、受信されたメッセージがＤＡＯであるか判定する。
受信されたメッセージがＤＡＯである場合、処理はステップＳ４８２に進む。
受信されたメッセージがＤＡＯでない場合、受信処理は終了する。
【０１７１】
ステップＳ４８２において、隠れ制御部１６０は、上り局と送信元との受信電力和を電力閾値と比較する。
【０１７２】
具体的には、隠れ制御部１６０は以下のように動作する。
まず、隠れ制御部１６０は、上り局の受信電力と送信元の受信電力とを記憶部１９１から取得する。上り局の受信電力は上り局からのＤＩＯの受信電力であり、送信元の受信電力は送信元からのＤＡＯの受信電力である。
次に、隠れ制御部１６０は、上り局の受信電力と送信元の受信電力との和を算出する。算出される和が受信電力和である。
そして、隠れ制御部１６０は、受信電力和を電力閾値と比較する。電力閾値は予め定められた値である。
受信電力和が電力閾値を超えている場合、処理はステップＳ４８３に進む。
受信電力和が電力閾値以下である場合、受信処理は終了する。
【０１７３】
ステップＳ４８３において、隠れ制御部１６０はＤＡＯによる要求を拒否する。
具体的には、隠れ制御部１６０は、拒否を示すＤＡＯ−ＡＣＫメッセージを生成する。そして、送信部１９３は、ＤＡＯ−ＡＣＫメッセージを送信する。ＤＡＯ−ＡＣＫメッセージは、ＤＡＯに対する応答メッセージである。ＤＡＯによる要求の拒否は、上り局になることの拒否、つまり、経路構築の拒否を意味する。
【０１７４】
＊＊＊実施の形態５の効果＊＊＊
図２の無線通信システム２００における子局＃１と子局＃７と親局＃０との関係を例にして、実施の形態５の概要および効果を説明する。
子局＃１のカバレッジ内局である親局＃０と子局＃７との受信電力の和が閾値を超えている場合、子局＃１は、親局＃０と子局＃７とが隠れ端末関係にあると推定する。
隠れ端末関係とは、２つの無線局が互いのカバレッジ内局でない関係である。
【０１７５】
具体的には、子局＃１は、子局＃７からのＤＡＯを受信し、子局＃７からのＤＡＯの受信電力と親局＃０からのＤＩＯの受信電力との和が閾値を超えているか判定する。
受信電力の和が閾値を超えている場合、子局＃１は、子局＃７へのＤＡＯ−ＡＣＫメッセージにより、ＤＡＯに対する拒否を示す。
【０１７６】
子局＃７は、子局＃１との経路構築を断念し、別の経路を探索して迂回経路を構築する。
結果として、子局＃７は、子局＃１を挟んで親局＃０と隠れ端末関係の状態となる通信経路の構築を回避できる。
【０１７７】
＊＊＊他の構成＊＊＊
隠れ端末関係の有無は、受信電力の代わりにメッセージの送信成功率に基づいて判断しても良い。
【０１７８】
＊＊＊実施の形態の効果＊＊＊
無線局は、カバレッジ内局数に応じてＤＩＯの送信周期を適切に決定することができる。これにより、上り経路の異常の検出に必要以上に長い時間を要さずに済む。
下り局は、ＤＩＯを受信することにより、上り局のＤＩＯの送信周期の最大値を知ることができる。そのため、下り局は、上り局のＤＩＯの送信周期に対して適切な下り経路の有効期間を決定することができる。これにより、下り経路の異常の検出に必要以上に長い時間を要さずに済む。
上り局がカバレッジ内局数をＤＩＯによって通知するため、自局は、上り局と自局とのカバレッジ内局数の合計に応じて、ＤＡＯの送信周期の乱数範囲を適切に決定することができる。
ＤＡＯの送信周期の乱数範囲が最適に決定されるので、複数のカバレッジから到達する複数のＤＡＯが同一の無線局において衝突する確率を軽減できる。
アプリケーションメッセージの送信においても、複数のカバレッジから到達する複数のアプリケーションメッセージが同一の無線局において衝突する確率を軽減できる。
【０１７９】
＊＊＊実施の形態の補足＊＊＊
実施の形態において、無線通信装置１００の機能はハードウェアで実現してもよい。
図２５に、無線通信装置１００の機能がハードウェアで実現される場合の構成を示す。
無線通信装置１００は処理回路９９０を備える。処理回路９９０はプロセッシングサーキットリともいう。
処理回路９９０は、カバレッジ管理部１１０とタイマ部１２０とメッセージ生成部１３０と経路管理部１４０とアプリケーション部１５０と隠れ制御部１６０と記憶部１９１とを実現する専用の電子回路である。
例えば、処理回路９９０は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＡＳＩＣ、ＦＰＧＡまたはこれらの組み合わせである。ＧＡはＧａｔｅ  Ａｒｒａｙの略称であり、ＡＳＩＣはＡｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略称であり、ＦＰＧＡはＦｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略称である。
【０１８０】
無線通信装置１００は、処理回路９９０を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路９９０の役割を分担する。
【０１８１】
実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
【符号の説明】
【０１８２】
１００  無線通信装置、１１０  カバレッジ管理部、１２０  タイマ部、１３０  メッセージ生成部、１４０  経路管理部、１５０  アプリケーション部、１６０  隠れ制御部、１９１  記憶部、１９２  受信部、１９３  送信部、２００  無線通信システム、２１０  カバレッジ管理テーブル、９０１  プロセッサ、９０２  メモリ、９０３  補助記憶装置、９０４  ＲＦ回路、９０５  ＰＨＹ制御回路、９０６  アンテナ、９０７  発振器、９９０  処理回路。
【図１】
0006599044.tif 000002
【図２】
0006599044.tif 000003
【図３】
0006599044.tif 000004
【図４】
0006599044.tif 000005
【図５】
0006599044.tif 000006
【図６】
0006599044.tif 000007
【図７】
0006599044.tif 000008
【図８】
0006599044.tif 000009
【図９】
0006599044.tif 000010
【図１０】
0006599044.tif 000011
【図１１】
0006599044.tif 000012
【図１２】
0006599044.tif 000013
【図１３】
0006599044.tif 000014
【図１４】
0006599044.tif 000015
【図１５】
0006599044.tif 000016
【図１６】
0006599044.tif 000017
【図１７】
0006599044.tif 000018
【図１８】
0006599044.tif 000019
【図１９】
0006599044.tif 000020
【図２０】
0006599044.tif 000021
【図２１】
0006599044.tif 000022
【図２２】
0006599044.tif 000023
【図２３】
0006599044.tif 000024
【図２４】
0006599044.tif 000025
【図２５】
0006599044.tif 000026