(57)【特許請求の範囲】
【請求項１】
複数の通信ユニットによって形成される無線ネットワークにおけるブロードキャストパケットの転送方法であって、
前記通信ユニットのそれぞれにおいて、他の通信ユニットに関するパケットを転送した実績があるか否かを所定期間ごとに判定することにより、自身が他の通信ユニットにパケットを転送する中継ユニットであるか否かを自律的に判定し、
外部のネットワークとの通信を仲介する通信ユニットであるゲートウェイユニットと前記通信ユニットのそれぞれにおいて前記ゲートウェイユニットから順に、
自身と１ホップで通信し他の通信ユニットにパケットを転送する中継ユニットを隣接中継ユニットとして抽出し、
一つ以上の前記隣接中継ユニットおよびそれらの配下の中継ユニットの数を算出し、
前記算出したユニット数を基に、前記隣接中継ユニットに前記ブロードキャストパケットを配信する配信順序と前記配信順序に対応する遅延時間を決定し、
前記決定した遅延時間の情報を前記隣接中継ユニットに通知し、
前記配信順序に対応する遅延時間の決定では、
遅延時間単位を前記通信ユニット間のパケットの伝搬遅延時間に基づいて決定し、
前記配信順序に沿って、１番目の配信順序の隣接中継ユニットへの遅延時間をゼロに決定し、
２番目以降の配信順序の隣接中継ユニットへの遅延時間を、直前の配信順序の隣接中継ユニットに対して決定した遅延時間に、前記直前の配信順序の隣接中継ユニットおよびその配下の中継ユニットの数を前記遅延時間単位に乗算して得た遅延時間を加算して得た時間として決定する、
ことを特徴とするブロードキャストパケット転送方法。
【請求項２】
前記中継ユニットにおいて、自身が受信した前記ブロードキャストパケットを、自身に対して通知された前記遅延時間の情報に対応する遅延時間だけ遅延させて、他の前記通信ユニットにブロードキャストして転送することを順次実行することを備えることを特徴とする請求項１に記載のブロードキャストパケット転送方法。
【請求項３】
前記ゲートウェイユニットにおいて、前記通信ユニットからの定期的なパケット通知により前記通信ユニットの経路情報が変更された場合には、前記変更された経路情報に基づいて、前記隣接中継ユニットの抽出と、前記配信順序と前記配信順序に対応する遅延時間の決定を修正し、前記決定した遅延時間の情報を前記隣接中継ユニットに通知する、
ことを備えることを特徴とする請求項１または２のいずれかに記載のブロードキャストパケット転送方法。
【請求項４】
前記他の通信ユニットに関するパケットの転送時に、前記転送するパケットの送信元および宛先の通信ユニットに関する情報を収集することにより、自身と他の通信ユニットとの通信接続の状況を示す経路情報を生成し、
前記経路情報に基づいて、前記隣接中継ユニットを抽出し、
前記経路情報に基づいて、一つ以上の前記隣接中継ユニットおよびそれらの配下の中継ユニットの数を算出する、
ことを備えることを特徴とする請求項１ないし３のいずれかに記載のブロードキャストパケット転送方法。
【請求項５】
前記他の通信ユニットに関するパケットは、前記通信ユニットのそれぞれから外部のネットワークとの通信を仲介する通信ユニットであるゲートウェイユニットを宛先として定期的に通知される定例パケットである、
ことを特徴とする請求項１ないし４のいずれかに記載のブロードキャストパケット転送方法。
【請求項６】
前記通信ユニットのそれぞれにおいて、前記ブロードキャストパケットの受信率を前記ゲートウェイユニットに通知することを備え、
前記ゲートウェイユニットにおいて、
前記通知に基づいて、前記通信ユニットのそれぞれにおける前記ブロードキャストパケットの受信状況を検知し、
前記ブロードキャストパケットの受信ロスがある通信ユニットの近隣の前記ブロードキャストパケットを受信済みの通信ユニットに、前記受信ロスがある通信ユニットに対する前記ブロードキャストパケットの補完指示を送信する、
ことを備え、
前記通信ユニットにおいて、前記補完指示を受信した場合に、前記受信した補完指示が示す前記受信ロスがある通信ユニットと通信することにより、前記受信ロスを解消することを備える、
ことを特徴とする請求項１ないし５のいずれかに記載のブロードキャストパケット転送方法。
【請求項７】
無線ネットワークを構成しブロードキャストパケットを転送する通信ユニットであって、
他の通信ユニットに関するパケットを転送した実績があるか否かを所定期間ごとに判定することにより、自身が他の通信ユニットにパケットを転送する中継ユニットであるか否かを自律的に判定する中継ユニット自律判定部と、
自身と１ホップで通信し他の通信ユニットにパケットを転送する中継ユニットを隣接中継ユニットとして抽出し、一つ以上の前記隣接中継ユニットおよびそれらの配下の中継ユニットの数を算出し、前記算出したユニット数を基に、前記隣接中継ユニットに前記ブロードキャストパケットを配信する配信順序と前記配信順序に対応する遅延時間を決定し、前記決定した遅延時間の情報を前記隣接中継ユニットに通知する送信タイミング分散制御部と、
前記隣接中継ユニットと異なる隣接中継ユニットから前記ブロードキャストパケットを受信し、前記遅延時間の情報に対応する遅延時間だけ遅延させて、他の前記通信ユニットにブロードキャストして転送するブロードキャスト分散転送部と、
を備え、
前記送信タイミング分散制御部は、遅延時間単位を前記通信ユニット間のパケットの伝搬遅延時間に基づいて決定し、前記配信順序に沿って、１番目の配信順序の隣接中継ユニットへの遅延時間をゼロに決定し、２番目以降の配信順序の隣接中継ユニットへの遅延時間を、直前の配信順序の隣接中継ユニットに対して決定した遅延時間に、前記直前の配信順序の隣接中継ユニットおよびその配下の中継ユニットの数を前記遅延時間単位に乗算して得た遅延時間を加算して得た時間として決定する、
ことを特徴とする通信ユニット。
【請求項８】
無線ネットワークを構成しブロードキャストパケットを転送する機能を有する通信ユニットのプロセッサに、
他の通信ユニットに関するパケットを転送した実績があるか否かを所定期間ごとに判定することにより、自身が他の通信ユニットにパケットを転送する中継ユニットであるか否かを自律的に判定する機能と、
自身と１ホップで通信し他の通信ユニットにパケットを転送する中継ユニットを隣接中継ユニットとして抽出し、一つ以上の前記隣接中継ユニットおよびそれらの配下の中継ユニットの数を算出し、前記算出したユニット数を基に、前記隣接中継ユニットに前記ブロードキャストパケットを配信する配信順序と前記配信順序に対応する遅延時間を決定し、前記決定した遅延時間の情報を前記隣接中継ユニットに通知する機能と、
前記隣接中継ユニットと異なる隣接中継ユニットから前記ブロードキャストパケットを受信し、前記遅延時間の情報に対応する遅延時間だけ遅延させて、他の前記通信ユニットにブロードキャストして転送する機能と、
を実行させ、
前記配信順序に対応する遅延時間の決定では、
遅延時間単位を前記通信ユニット間のパケットの伝搬遅延時間に基づいて決定し、
前記配信順序に沿って、１番目の配信順序の隣接中継ユニットへの遅延時間をゼロに決定し、
２番目以降の配信順序の隣接中継ユニットへの遅延時間を、直前の配信順序の隣接中継ユニットに対して決定した遅延時間に、前記直前の配信順序の隣接中継ユニットおよびその配下の中継ユニットの数を前記遅延時間単位に乗算して得た遅延時間を加算して得た時間として決定する、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信ユニットによって形成されるセンサネットワークなどのネットワークにおけるブロードキャストパケット転送方法、通信ユニット、およびブロードキャストパケット転送プログラムに関する。
【背景技術】
【０００２】
通信ユニットを備えたセンサを広く配置し、センサからの検針データを通信ユニットから送信し、サーバにて収集する技術が知られている。そのような技術は例えば、家庭や工場などの電力需要をきめ細かく制御するための「スマートグリッド」技術において用いられる。「スマートグリッド」技術では、家庭や工場などの電力消費地と電力会社間が光ファイバーなどのネットワークで結ばれる。そして、通信ユニットが電力消費地に設置されている電気使用量表示の検針器から所定時間（例えば３０分）ごとに検針計量値を取得し、電力消費地に設置されているゲートウェイユニットに送信する。ゲートウェイユニットは、各通信ユニットから検針計量値を収集し、光ファイバーなどのネットワークを介して電力会社のサーバに送信することが考えられている。通信ユニットとゲートウェイユニットを結ぶセンサネットワークとしては、例えばアドホック無線ネットワークが使用される。
【０００３】
上述のようなアドホック無線ネットワークを構成する各通信ユニットは、サーバからゲートウェイユニットを介して各通信ユニットにファームウェアのバージョンアップデータを配信することにより、機能アップを図ることができる。
【０００４】
アドホック無線ネットワーク環境における通信ユニットのファームウェア更新方法として、ゲートウェイユニットからファームウェアデータを分割したファームブロックのパケットを受信した各通信ユニットがブロードキャスト転送を行う。これによって、全通信ユニットへのファームウェアデータを配信する方法を行っている。
【０００５】
しかし、各通信ユニットがブロードキャスト転送を行うこと、かつ転送パケットサイズが大きいことにより、無線ネットワークに流れる情報量が“ノード数×パケットサイズ”となるため、無線ネットワークのトラヒックが増大する。この結果、無線干渉によるパケットロスが発生し、正常にファームウェアダウンロードが完了しない通信ユニットが数多く存在してしまうという問題点を有していた。また、一度トラヒックが増大すると通信不能な状態が長時間続くため、正常にファーム更新できない通信ユニットに対しては作業員が赴き、直接ファームウェア更新作業を実施しなければならない状況であった。
【０００６】
ブロードキャスト転送の方法を工夫した一従来技術として、次のものがある。発信元の無線端末がパケットをブロードキャストやフラッディングにより送信した場合、それを受信した無線端末は、制御部によって受信したパケットが既に受信済のパケットと同じパケットであれば中継転送は行わない。初めて受信したパケットであれば、電波強度測定部により測定した受信電波強度が弱ければ弱いほど、経過時間計測部によって測定した受信完了からの経過時間が短い時点で、受信したパケットを中継転送する。これにより、端末間でのパケットの転送数を減らすことを可能にした（例えば特許文献１に記載の技術）。
【０００７】
しかし、この従来技術は、電波強度測定により制御を行っているため、天候の良し悪しの影響を受けやすいという問題点を有していた。
また、ブロードキャスト転送の方法を工夫した他の従来技術として、次のものがある。データパケットを受信し、自身が前記受信されたデータパケットを所定のノードに伝送する中継者であるか否かを判断する判断部を有する。さらに、前記データパケットを受信したノードが伝送した管理パケットに含まれた第１の中継者シーケンス番号と、自身のネイバーテーブルに格納された第２の中継者シーケンス番号とを比較する比較部を具備する。前記比較部の比較結果によって、前記ノードに対するデータパケットの再伝送可否を決定する制御部を備える（例えば特許文献２に記載の技術）。
【０００８】
しかし、この従来技術は、中継実績のある複数のノードが同時に送信する場合において電波の干渉が発生し、輻輳、ロスが発生してしまうという問題点を有していた。
開示する技術の例として、下記先行技術文献が存在する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００５−３４１３４１号公報
【特許文献２】特開２００４−２７４７５３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
そこで、本発明は、無線干渉を未然に回避し、パケットの到達精度を向上させるとともに、無線リソースを節約することを目的とする。
【課題を解決するための手段】
【００１１】
態様の一例では、複数の通信ユニットによって形成される無線ネットワークにおけるブロードキャストパケットの転送方法であって、前記通信ユニットのそれぞれにおいて、他の通信ユニットに関するパケットを転送した実績があるか否かを所定期間ごとに判定することにより、自身が他の通信ユニットにパケットを転送する中継ユニットであるか否かを自律的に判定し、外部のネットワークとの通信を仲介する通信ユニットであるゲートウェイユニットと前記通信ユニットのそれぞれにおいて前記ゲートウェイユニットから順に、自身と１ホップで通信し他の通信ユニットにパケットを転送する中継ユニットを隣接中継ユニットとして抽出し、一つ以上の前記隣接中継ユニットおよびそれらの配下の中継ユニットの数を算出し、前記算出したユニット数を基に、前記隣接中継ユニットに前記ブロードキャストパケットを配信する配信順序と前記配信順序に対応する遅延時間を決定し、前記決定した遅延時間の情報を前記隣接中継ユニットに通知し、前記配信順序に対応する遅延時間の決定では、遅延時間単位を前記通信ユニット間のパケットの伝搬遅延時間に基づいて決定し、前記配信順序に沿って、１番目の配信順序の隣接中継ユニットへの遅延時間をゼロに決定し、２番目以降の配信順序の隣接中継ユニットへの遅延時間を、直前の配信順序の隣接中継ユニットに対して決定した遅延時間に、前記直前の配信順序の隣接中継ユニットおよびその配下の中継ユニットの数を前記遅延時間単位に乗算して得た遅延時間を加算して得た時間として決定する。
【発明の効果】
【００１２】
ブロードキャスト送信するユニットを中継ユニットに限定することで、無線ネットワークに流れるパケットを抑制し、パケットの到達精度を向上させることが可能となる。
また、複数ユニットの送信タイミングが重複することをあらかじめ予測し、送信タイミングをずらすことで、無線干渉／輻輳を低減することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態が適用される検針システムのネットワーク構成例を示す図である。
【図２】一般的に考えられるブロードキャストパケットのデータ転送による無線ネットワークのトラヒック状態の例を示す図である。
【図３】本実施形態によるブロードキャストパケットのデータ転送による無線ネットワークのトラヒック状態の例を示す図である。
【図４】ＧＷにおける経路情報のデータ構成例を示す図である。
【図５】通信ユニットＦにおける経路情報のデータ構成例を示す図である。
【図６】通信ユニットへのブロードキャストパケットの伝搬タイミングの例を示すタイミングチャートである。
【図７】通信ユニットの構成例を示す図である。
【図８】ゲートウェイユニットの構成例を示す図である。
【図９】ＧＷ管理部の制御動作を示すフローチャートである。
【図１０】ＧＷ管理部における受信ロス検出／補完処理の制御動作を示すフローチャートである。
【図１１】検針管理部における受信ロス検出／補完処理の制御動作を示すフローチャートである。
【図１２】検針管理部の制御動作を示すフローチャートである。
【図１３】本実施形態のパケットデータフォーマット例を示す図（その１）である。
【図１４】本実施形態のパケットデータフォーマット例を示す図（その２）である。
【図１５】無線ネットワーク１０３の他の構成例を示す図である。
【図１６】本実施形態のシステムを実現可能なハードウェアシステムの構成図である。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
図１は、本実施形態が適用される検針システムのネットワーク構成例を示す図である。一般家庭や工場などの電気メータの検針計量器に接続される通信ユニット１０１が、相互にアドホックネットワークである無線ネットワーク１０３によって接続される。アドホックネットワークは、障害発生時にも相互の通信ユニット１０１が接続できる隣接する通信ユニット１０１を探しながら相互に接続を維持するように動作する、自立分散型のネットワークである。これらの通信ユニット１０１のうち所定のユニットは、ゲートウェイユニット（ＧＷ：ＧａｔｅＷａｙ。以下単に「ＧＷ」と呼ぶ）１０２として動作する。このＧＷ１０２は、アドホックネットワーク外のＬＡＮ（ローカルエリアネットワーク）またはＷＡＮ（ワイドエリアネットワーク）などの外部ネットワーク１０５と接続されている。そして、ＧＷ１０２は、外部ネットワーク１０５に例えば有線で接続されるサーバ１０４と各通信ユニット１０１との間のデータ通信を中継する。このとき、ＧＷ１０２は、外部ネットワーク１０５の通信プロトコル、例えばＩＰ（インターネットプロトコル）と、アドホックネットワークである無線ネットワーク１０３の通信プロトコルとの間で、パケットデータの通信フォーマットの変換も行う。
【００１５】
通信ユニット１０１およびＧＷ１０２は、無線によるアドホックルーティングプロトコルの通信方式に従って自律的な通信を行う。１つの通信ユニット１０１と他の通信ユニット１０１が間に他の通信ユニット１０１を介さずに直接通信を行う場合、２つの通信ユニット１０１が「隣接している」という。また、１つの通信ユニット１０１に隣接している他の通信ユニット１０１を「隣接通信ユニット」という。さらに、通信ユニット１０１に隣接し中継動作を行うものを「隣接中継ユニット」（後述する）という。
【００１６】
サーバ１０４は、各通信ユニット１０１が収集した検針計量値を収集し、管理、または監視する。また、サーバ１０４は、各通信ユニット１０１を制御する。
各通信ユニット１０１が収集した検針計量値（センサ情報）は、各通信ユニット１０１からＧＷ１０２に定期的（例えば３０分ごと）に送信されるパケット（以下このパケットを「定例パケット」と呼ぶ）で通知される。
【００１７】
図２は、一般的に考えられるブロードキャストパケットのデータ転送による無線ネットワークのトラヒック状態の例を示す図である。また、図３は、本実施形態によるブロードキャストパケットのデータ転送による無線ネットワークのトラヒック状態の例を示す図である。図２および図３において、無線ネットワーク１０３は、図１の無線ネットワーク１０３とは通信ユニット１０１の数は異なるが、同じアドホックネットワークプロトコルによって構成されるネットワークである。図２および図３に示される無線ネットワーク１０３はそれぞれ、２８台の通信ユニット１０１（図２および図３中の○印の部分）および１台のＧＷ１０２によって構成されている。
【００１８】
一般的に考えられるブロードキャスト転送では、ブロードキャストパケットを受信した図２に示されるＧＷ１０２および図２中の全ての○印の通信ユニット１０１が、受信パケットを１回ずつブロードキャスト転送する。すなわち、ブロードキャストを行う通信ユニットは２８台である。この結果、図２中の破線の円Ｘ０１の重なり具合から理解されるように、無線干渉が増大してしまう。
【００１９】
これに対して本実施形態ではまず、ブロードキャストが全て１ホップ以内のブロードキャストとされて、ブロードキャストを行う通信ユニット１０１が、１４台の中継ユニットのみに制限される。
【００２０】
図３に示される例では、まずＧＷ１０２がブロードキャストを行うとき、１ホップ以内の中継ユニットは、Ａ、Ｂ、およびＣの各通信ユニット１０１である。
【００２１】
次に、中継ユニットＡがブロードキャストを行うとき、１ホップ以内の中継ユニットは、ブロードキャストパケットの送信元のＧＷ１０２を除くと、Ｄの通信ユニット１０１のみである。ＯおよびＲの各末端ユニット１０１は、中継ユニットＡからのブロードキャストパケットを受信するのみで、中継は行わず、ブロードキャストも行わない。
【００２２】
次に、中継ユニットＤがブロードキャストを行うとき、１ホップ以内の中継ユニットは、ブロードキャストパケットの送信元の中継ユニットＡを除くと、Ｅの通信ユニット１０１のみである。Ｑの末端ユニット１０１は、中継ユニットＤからのブロードキャストパケットを受信するのみで、中継は行わず、ブロードキャストも行わない。
【００２３】
さらに、中継ユニットＥがブロードキャストを行うとき、１ホップ以内の中継ユニットは、ブロードキャストパケットの送信元のＤを除くと、他には無い。Ｐの末端ユニット１０１は、中継ユニットＥからのブロードキャストパケットを受信するのみで、中継は行わず、ブロードキャストも行わない。
【００２４】
ＧＷ１０２から１ホップ以内にある中継ユニットＢおよびＣの各配下についても、中継ユニットＡの場合と同様に考えることができる。
【００２５】
以上のように、本実施形態では、ブロードキャストを行う通信ユニット１０１が、１ホップ以内の１４台の中継ユニットのみに制限される。この結果、本実施形態に係る図３中の破線の円Ｙ０１の重なり具合を、一般的に考えられる図２中の破線の円Ｘ０１の重なり具合と比較すると容易に理解されるように、本実施形態では無線干渉の増大を効果的に抑制することが可能となる。
【００２６】
上述の中継を可能とするために、本実施形態では、中継ユニット自律判定の制御が実行される。
まず、各通信ユニット１０１は、定期的に（例えば３０分に１回）、ＧＷ１０２に向けて定例パケットを送信している。そして、各通信ユニット１０１は、ファームウェアの更新直前に他の通信ユニット１０１の定例パケットを転送した実績が有る場合は、自身がブロードキャスト転送を行うべき中継ユニットと判定する。逆に、転送実績が無い場合には、通信ユニット１０１は、自身がブロードキャスト転送を行わない末端の通信ユニットであると判定する。図３の例では、Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ｈ、Ｇ、Ｉ、Ｊ、Ｋ、Ｌ、Ｍ、およびＮの各通信ユニット１０１が、自身が中継ユニットであるとそれぞれ判定する。
【００２７】
このように、本実施形態では、無線ネットワーク１０３を構成する各通信ユニット１０１が、自身が中継ユニットであるか否かを自律的に判定する。この機能により、無線ネットワーク１０３の構成が変化しても、各通信ユニット１０１は自身がブロードキャストパケットを転送すべきか否かを自律的に決定することが可能となり、ブロードキャスト転送の柔軟な運用が可能となる。
【００２８】
次に、ブロードキャストパケットを実際に転送する処理手順を、以下に詳細に説明する。
【００２９】
［処理手順１］
ＧＷ１０２または中継ユニットは、ファームウェアの更新直前まで受信していた定例パケットから生成した経路情報により、自身と１ホップで通信する隣接中継ユニット（ＧＷ１０２の場合には「ＧＷ隣接中継ユニット」と呼ぶ）を抽出する。最初は、ＧＷ１０２が処理を実行する。図４は、ＧＷ１０２が定例パケットから生成している経路情報の例を示す図である。この例は、図３に示される無線ネットワーク１０３の構成例に対応するものである。図３の例では、無線ネットワーク１０３は２８台の通信ユニット１０１を備える。これに対応して、ＧＷ１０２は、図４の経路情報を示す表データの縦方向に、２８台分の通信ユニット１０１に対応する経路情報番号１〜２８の各経路情報が登録されている。例えば、経路情報番号１には、ＧＷ１０２を宛先（Ｄｓｔ：Ｄｅｓｔｉｎａｔｉｏｎ）として、ＧＷ１０２からホップ（ｈｏｐ）１の距離にある通信ユニットＡから定例パケットが受信されて、Ａまでの経路が認識されていることが示されている。経路情報番号２には、ＧＷ１０２を宛先として、通信ユニットＡを経由して、ＧＷ１０２からホップ２の距離にある通信ユニットＯから定例パケットが受信されて、Ｏまでの経路が認識されていることが示されている。経路情報番号７には、ＧＷ１０２を宛先として、通信ユニットＥ、Ｄ、Ａの順に経由して、ＧＷ１０２からホップ４の距離にある通信ユニットＰから定例パケットが受信されて、Ｐまでの経路が認識されていることが示されている。図４に示される経路情報の表において、他の通信ユニット１０１からの定例パケットを中継する通信ユニット１０１すなわち中継ユニットは、必ず２個以上登録されていることがわかる。そこで、ＧＷ１０２は、例えば図４の経路情報において、自身から１ホップの距離すなわちｈｏｐ１として登録されている通信ユニット１０１のうち、重複して出現するユニットを、ＧＷ隣接中継ユニットとして抽出する。図３および図４の例では、Ａ、Ｂ、およびＣの３つの通信ユニット１０１が、ＧＷ隣接中継ユニットとして抽出される。
【００３０】
［処理手順２］
ＧＷ１０２または中継ユニットは、例えば図４の経路情報において、処理手順１にて抽出した隣接中継ユニットの配下で重複して出現する通信ユニット１０１、すなわち中継ユニットの数をカウントする。最初は、ＧＷ１０２が処理を実行し、図３および図４の例では、以下の各通信ユニット１０１がカウントされる。
・ＧＷ隣接中継ユニットＡの配下：Ｄ、Ｅの２ユニット
・ＧＷ隣接中継ユニットＢの配下：Ｆ、Ｇ、Ｈの３ユニット
・ＧＷ隣接中継ユニットＣの配下：Ｉ、Ｊ、Ｋ、Ｌ、Ｍ、Ｎの６ユニット
・合計：１１ユニット
【００３１】
［処理手順３］
ＧＷ１０２または中継ユニットは、説明の簡略化のために、遅延時間単位を通信ユニット１０１間のパケットの伝搬遅延時間と対応してるとしてもよい。
【００３２】
ＧＷ１０２または中継ユニットは、隣接中継ユニットについて、配信順序を決定する。この配信順序は任意に決定されてよい。最初は、ＧＷ１０２が処理を実行し、ＧＷ隣接中継ユニットＡ、Ｂ、Ｃについて、配信順序を決定する。ここでは例えば、Ａ、Ｂ、Ｃの順で配信順序が決定されてよい。
【００３３】
ＧＷ１０２または中継ユニットは、決定した配信順序に沿って、１番目の配信順序の隣接中継ユニットに通知する遅延時間を０ｍｓｅｃに決定する。最初は、ＧＷ１０２がこの処理を実行する結果、
・配信順序１のＧＷ隣接中継ユニットＡに通知する遅延時間＝０ｍｓｅｃ
と決定される。
【００３４】
ＧＷ１０２または中継ユニットは、現在の配信順序の直前の配信順序の隣接中継ユニットおよびその配下の中継ユニットの数を、上述の遅延時間単位Ｎに乗算して得た遅延時間を算出する。そして、ＧＷ１０２または中継ユニットは、その算出した遅延時間を、直前の配信順序の隣接中継ユニットに対して決定されている遅延時間に加算して得られる時間を、２番目以降の配信順序の隣接中継ユニットへの遅延時間として決定する。最初は、ＧＷ１０２がこの処理を実行し、処理手順２で算出した１番目の配信順序のＧＷ隣接中継ユニットＡおよびその配下の中継ユニットＤ、Ｅの数＝３を上述の遅延時間単位Ｎｍｓｅｃに乗算した遅延時間＝３×Ｎｍｓｅｃを算出する。続いて、ＧＷ１０２は、２番目の配信順序のＧＷ隣接中継ユニットＢに通知する遅延時間を、１番目の配信順序のＧＷ隣接中継ユニットＡに対して決定した遅延時間＝０ｍｓｅｃに、上記算出した遅延時間＝３×Ｎｍｓｅｃを加算したものとする。すなわち、
・配信順序２のＧＷ隣接中継ユニットＢに通知する遅延時間＝３×Ｎｍｓｅｃ
と決定される。続いて、ＧＷ１０２の送信タイミング分散制御部０２は、処理手順２で算出した２番目の配信順序のＧＷ隣接中継ユニットＢおよびその配下の中継ユニットＦ、Ｇ、Ｈの数＝４を上述の遅延時間単位Ｎｍｓｅｃに乗算した遅延時間＝４×Ｎｍｓｅｃを算出する。ＧＷ１０２は、３番目の配信順序のＧＷ隣接中継ユニットＣに通知する遅延時間を、２番目の配信順序のＧＷ隣接中継ユニットＢに対して決定した遅延時間＝３×Ｎｍｓｅｃに、上記算出した遅延時間＝４×Ｎｍｓｅｃを加算したものとする。すなわち、
・配信順序３のＧＷ隣接中継ユニットＣに通知する遅延時間＝７×Ｎｍｓｅｃ
と決定される。
【００３５】
ＧＷ１０２または中継ユニットは、上述のようにして決定した各遅延時間の情報を、例えばユニキャストの通知パケットを使った通信により、各隣接中継ユニットにそれぞれ通知する。最初は、ＧＷ１０２がこの処理を実行する結果、各ＧＷ隣接中継ユニットＡ、Ｂ、およびＣにそれぞれ下記遅延時間が通知される。
・配信順序１のＧＷ隣接中継ユニットＡに通知する遅延時間＝０ｍｓｅｃ
・配信順序２のＧＷ隣接中継ユニットＢに通知する遅延時間＝３×Ｎｍｓｅｃ
・配信順序３のＧＷ隣接中継ユニットＣに通知する遅延時間＝７×Ｎｍｓｅｃ
【００３６】
また、ＧＷ１０２は、処理手順２で算出した全てのＧＷ隣接中継ユニットおよびそれらの配下の全中継ユニットの数に＋１した値に、遅延時間単位Ｎｍｓｅｃを乗算する。ＧＷ１０２は、この結果得られる遅延時間を、配信間隔として決定する。
配信間隔＝（全ＧＷ隣接中継ユニット数＋配下の全中継ユニット数＋１）×Ｎｍｓｅｃ
【００３７】
処理手順２で算出されたＧＷ１０２の全てのＧＷ隣接中継ユニットＡ、Ｂ、Ｃおよびそれらの配下の全中継ユニットの数＝１４に＋１した値＝１５に、遅延時間単位Ｎｍｓｅｃが乗算される。ＧＷ１０２は、この結果得られる遅延時間１５×Ｎｍｓｅｃを、配信間隔として決定する。
配信間隔＝（全ＧＷ隣接中継ユニット数＋配下の全中継ユニット数＋１）×Ｎｍｓｅｃ
＝（３＋１１＋１)×Ｎｍｓｅｃ＝１５×Ｎｍｓｅｃ
【００３８】
［処理手順４］
処理手順３により遅延時間の情報を通知された各隣接中継ユニットは、自身に対する新たな隣接中継ユニットに対して、上述の処理手順１、２、および３を、末端の中継ユニットまで、再帰的に繰り返し実行する。最初は、ＧＷ１０２に対するＧＷ隣接中継ユニットが、これらの処理を実行し、以下その配下の中継ユニットが再帰的に処理手順１、２，および３を繰り返し実行する。
【００３９】
一例として、図３に示される中継ユニットＦは、ファームウェアの更新直前まで受信されていた定例パケットからが生成した経路情報として、例えば図５に示されるような経路情報の表データを保持している。図３の例では、通信ユニットＦの配下に９台の通信ユニット１０１が存在するため、通信ユニットＦも含めて、通信ユニットＦは、図５の経路情報表の縦方向に、１０台分の通信ユニット１０１に対応する経路情報番号１〜１０の各経路情報が登録されている。例えば、経路情報番号１には、ＧＷ１０２を宛先として、ＧＷ１０２からホップ（ｈｏｐ）２の距離にある通信ユニットＦから定例パケットが送信されたことが示されている。経路情報番号２には、ＧＷ１０２を宛先とするＧＷ１０２からホップ３の距離にある通信ユニットＧからの定例パケットが、通信ユニットＦで転送されたことが示されている。経路情報番号８には、ＧＷ１０２を宛先とするＧＷ１０２からホップ４の距離にある通信ユニットｄからの定例パケットが、通信ユニットＨを経由して、通信ユニットＦで転送されたことが示されている。通信ユニットＦは、例えば図５の経路情報において、自身から１ホップの距離すなわちｈｏｐ３として登録されている通信ユニット１０１のうち、重複して出現するユニットを、隣接中継ユニットとして抽出する。図３および図５の例では、ＧおよびＨの２つの通信ユニット１０１が、通信ユニットＦに対する隣接中継ユニットとして抽出される。
【００４０】
通信ユニットＦは、処理手順２を実行する。この結果、下記の結果が得られる。
・隣接中継ユニットＧの配下：中継ユニット無し
・隣接中継ユニットＨの配下：中継ユニット無し 
・合計で０ユニット
【００４１】
通信ユニットＦは、処理手順３を実行する。この結果、下記の結果が得られる。
・配信順序１の隣接中継ユニットＧに通知する遅延時間＝０ｍｓｅｃ
・配信順序２の隣接中継ユニットＨに通知する遅延時間＝１×Ｎｍｓｅｃ
（配信順序１のＧに対する１台分の遅延時間のみ）
【００４２】
通信ユニットＦは、上述のようにして決定した各遅延時間の情報を、例えばユニキャストの通知パケットを使った通信により、各隣接中継ユニットＧおよびＨにそれぞれ通知する。
【００４３】
［処理手順５］
ＧＷ１０２は、処理手順３で決定された配信間隔で、複数のブロードキャストパケットをＧＷ隣接中継ユニットおよびその他の隣接通信ユニット１０１に順次ブロードキャストして送信する。
【００４４】
［処理手順６］
処理手順５によるＧＷ１０２からのブロードキャスト配信を受信した隣接中継ユニットは、以下の制御を実行する。受信したブロードキャストパケットを、処理手順３でＧＷ１０２から通知された遅延時間の情報に対応する遅延時間だけ遅延させて、自身に対する隣接中継ユニットおよび他の隣接通信ユニット１０１にブロードキャスト配信する。
【００４５】
［処理手順７］
処理手順６の再帰処理として、処理手順６により中継ユニットからブロードキャスト配信を受信したその中継ユニットに対する隣接中継ユニットは、以下の制御を実行する。受信したブロードキャストパケットを、処理手順３でＧＷ１０２から通知された遅延時間の情報に対応する遅延時間だけ遅延させて、自身に対する隣接中継ユニットおよび他の隣接通信ユニット１０１にブロードキャスト配信する。
【００４６】
［処理手順８］
各通信ユニット１０１は、定例パケット送信期間（例えば毎時３０分〜３５分、００分〜０５分等と設定できる）は、ブロードキャストパケットの配信を停止する。
【００４７】
各通信ユニット１０１は、定例パケット送信期間に自身が送信する定例パケットに、ファームウェアブロックのブロードキャストパケットの受信率(受信数÷トータル数)の情報を埋め込んで、その定例パケットを送信する。
【００４８】
各通信ユニット１０１は、定例パケット送信期間を経過後、ブロードキャストパケットの配信を継続する。
［処理手順９］
ＧＷ１０２は、いずれかの通信ユニット１０１が通知した定例パケットから生成される経路情報に変化があれば、処理手順１から処理手順３を再度実行する。これにより、各ＧＷ隣接中継ユニットおよびそれらの配下の中継ユニットにおいて、処理手順４が実行される。この結果、無線ネットワーク１０３上の全ての中継ユニットの送信タイミング（遅延時間）が更新される。
【００４９】
［処理手順１０］
ＧＷ１０２は、各通信ユニット１０１から定例パケットを受信することにより、通信ユニット１０１のそれぞれにおけるブロードキャストパケットの受信状況を検知する。ＧＷ１０２は、ブロードキャストパケットの受信ロスがある通信ユニット１０１の近隣の、ブロードキャストパケットを受信済みの通信ユニット１０１に、ブロードキャストパケットの補完指示を送信する。
【００５０】
［処理手順１１］
ＧＷ１０２から処理手順１０による補完指示を受信した通信ユニット１０１は、受信した補完指示が示す受信ロスがある通信ユニット１０１と通信して不足情報を問い合わせることにより、不足ブロックを送信し受信ロスを解消する。
【００５１】
図６は、上述の処理手順により図３の構成例を有する無線ネットワーク１０３に対してブロードキャスト配信が行われた場合における、各通信ユニット１０１へのブロードキャストパケットの伝搬タイミングの例を示すタイミングチャートである。
【００５２】
前述の処理手順３により、通信ユニットＡには、
遅延時間＝０ｍｓｅｃの情報（遅延値＝０）
が通知される。通信ユニットＢには、
・遅延時間＝（Ａの遅延時間：０）＋（Ａと配下の中継ユニット数：３×Ｎ）
＝３Ｎ（遅延値＝３）
が通知される。通信ユニットＣには、
・遅延時間＝（Ｂの遅延時間：３Ｎ）＋（Ｂと配下の中継ユニット数：４×Ｎ）
＝７Ｎ（遅延値＝７）
が通知される。ここで、遅延値とは、遅延時間をＮで除算した値である。遅延時間の通知時には、通信付加の軽減のために、Ｎが除算されて通知される。受信側では、Ｎを再び乗算すれば、遅延時間が再生される。
【００５３】
いま、ＧＷ１０２における最初の転送ブロックである転送ブロック１のブロードキャストパケットの配信時刻を０秒とすれば、ＧＷ隣接中継ユニットＡ、Ｂ、Ｃには、転送ブロック１のブロードキャストパケットが遅延時間０ｍｓｅｃで配信される。この結果、ＧＷ隣接中継ユニットＡ、Ｂ、Ｃは、無線ネットワーク１０３上を伝搬するときの伝搬遅延時間のみの遅延で、転送ブロック１のブロードキャストパケットを受信する（処理手順５）。なお、図６では、伝搬遅延時間すなわち１ホップにかかる時間は、説明の便宜のために仮に遅延時間単位Ｎｍｓｅｃに対応するものとした。
【００５４】
通信ユニットＡは、ＧＷ１０２から遅延時間を受信すると、隣接中継ユニットＤを抽出し（処理手順１）、Ｄ配下の中継ユニット数をカウントする（処理手順２）。
・隣接中継ユニットＤの配下：Ｅの１ユニット
・合計：１ユニット
通信ユニットＤに、
・遅延時間＝０ｍｓｅｃの情報（遅延値＝０）
が通知される（処理手順３）。
【００５５】
このとき、ＧＷ隣接中継ユニットＡは、ＧＷ１０２から遅延時間＝０ｍｓｅｃを通知されているため、受信した転送ブロック１のブロードキャストパケットを即座に、隣接中継ユニットＤおよび隣接通信ユニットＯ、Ｒにブロードキャスト転送する。この結果、隣接中継ユニットＤと隣接通信ユニットＯ、Ｒは、時刻１Ｎから伝搬遅延時間のみの遅延で、転送ブロック１のブロードキャストパケットを受信する（処理手順５）。
【００５６】
通信ユニットＤは、通信ユニットＡから遅延時間を受信すると、隣接中継ユニットＥを抽出し（処理手順１）、Ｅ配下の中継ユニット数をカウントする（処理手順２）。
・隣接中継ユニットＥの配下：中継ユニット無し
・合計：０ユニット
通信ユニットＥに、
・遅延時間＝０ｍｓｅｃの情報（遅延値＝０）
が通知される（処理手順３）。
【００５７】
このとき、隣接中継ユニットＤは、中継ユニットＡから遅延時間＝０ｍｓｅｃを通知されているため、受信した転送ブロック１のブロードキャストパケットを即座に、隣接中継ユニットＥおよび隣接通信ユニットＱにブロードキャスト転送する。この結果、隣接中継ユニットＥと隣接通信ユニットＱは、時刻２Ｎから伝搬遅延時間のみの遅延で、転送ブロック１のブロードキャストパケットを受信する（処理手順５）。
【００５８】
通信ユニットＤは、通信ユニットＡから遅延時間を受信すると、隣接中継ユニットＥを抽出し（処理手順１）、Ｅ配下の中継ユニット数をカウントする（処理手順２）。
・隣接中継ユニットＥの配下：中継ユニット無し
・合計：０ユニット
通信ユニットＥに、
・遅延時間＝０ｍｓｅｃの情報（遅延値＝０）
が通知される（処理手順３）。
【００５９】
このとき、隣接中継ユニットＤは、中継ユニットＡから遅延時間＝０ｍｓｅｃを通知されているため、受信した転送ブロック１のブロードキャストパケットを即座に、隣接中継ユニットＥおよび隣接通信ユニットＱにブロードキャスト転送する。この結果、隣接中継ユニットＥと隣接通信ユニットＱは、時刻２Ｎから伝搬遅延時間のみの遅延で、転送ブロック１のブロードキャストパケットを受信する（処理手順５）。
【００６０】
隣接中継ユニットＥは、通信ユニットＤから遅延時間を受信するが、自身が末端の中継ユニットであるため、これ以上隣接中継ユニットを抽出せず（処理手順１）、処理手順２と処理手順３は実行しない。
【００６１】
隣接中継ユニットＥは、中継ユニットＤから遅延時間＝０ｍｓｅｃを通知されているため、受信した転送ブロック１のブロードキャストパケットを即座に、隣接通信ユニットＰにブロードキャスト転送する。この結果、隣接通信ユニットＰは、時刻３Ｎから伝搬遅延時間のみの遅延で、転送ブロック１のブロードキャストパケットを受信する（処理手順５）。
【００６２】
通信ユニットＢは、ＧＷ１０２から遅延時間を受信すると、隣接中継ユニットＦを抽出し（処理手順１）、Ｆ配下の中継ユニット数をカウントする（処理手順２）。
・隣接中継ユニットＦの配下：Ｇ、Ｈの２ユニット
・合計：２ユニット
通信ユニットＦに、
・遅延時間＝０ｍｓｅｃの情報（遅延値＝０）
が通知される（処理手順３）。
【００６３】
このとき、隣接中継ユニットＢは、ＧＷ１０２から遅延時間＝３Ｎｍｓｅｃを通知されているため、転送ブロック１のブロードキャストパケットを受信した時刻１Ｎｍｓｅｃから３Ｎｍｓｅｃ待つ。そして、その後の時刻４Ｎｍｓｅｃに、転送ブロック１のブロードキャストパケットを、隣接中継ユニットＦおよび隣接通信ユニットＸ、Ｙにブロードキャスト転送する。隣接中継ユニットＦと隣接通信ユニットＸ、Ｙは、時刻４Ｎｍｓｅｃから伝搬遅延時間後に、転送ブロック１のブロードキャストパケットを受信する（処理手順５）。
【００６４】
この転送時には、中継ユニット群Ａ、Ｄ、Ｅによるブロードキャストパケットの転送は時刻４Ｎｍｓｅｃの時点で完了しているため、輻輳は発生しないようにすることが可能となる。
【００６５】
通信ユニットＦは、通信ユニットＢから遅延時間を受信すると、隣接中継ユニットＧおよびＨを抽出し（処理手順１）、ＧおよびＨ各配下の中継ユニット数をカウントする（処理手順２）。
・隣接中継ユニットＧの配下：中継ユニット無し
・隣接中継ユニットＨの配下：中継ユニット無し
・合計：０ユニット
【００６６】
前述の処理手順３により、通信ユニットＧには、
遅延時間＝０ｍｓｅｃの情報（遅延値＝０）
が通知される。通信ユニットＨには、
・遅延時間＝（Ｇの遅延時間：０）＋（Ｇと配下の中継ユニット数：１×Ｎ）
＝１Ｎ（遅延値＝１）
が通知される。
【００６７】
このとき、隣接中継ユニットＦは、中継ユニットＢから遅延時間＝０ｍｓｅｃを通知されているため、受信した転送ブロック１のブロードキャストパケットを即座に、隣接中継ユニットＧとＨおよび隣接通信ユニットｃにブロードキャスト転送する。この結果、隣接中継ユニットＧとＨおよび隣接通信ユニットｃは、時刻５Ｎから伝搬遅延時間のみの遅延で、転送ブロック１のブロードキャストパケットを受信する（処理手順５）。
【００６８】
隣接中継ユニットＧは、通信ユニットＦから遅延時間を受信するが、自身が末端の中継ユニットであるため、これ以上隣接中継ユニットを抽出せず（処理手順１）、処理手順２と処理手順３は実行しない。
【００６９】
隣接中継ユニットＧは、中継ユニットＦから遅延時間＝０ｍｓｅｃを通知されているため、受信した転送ブロック１のブロードキャストパケットを即座に、隣接通信ユニットＺ、ａ、およびｂにブロードキャスト転送する。この結果、隣接通信ユニットＺ、ａ、およびｂは、時刻６Ｎから伝搬遅延時間のみの遅延で、転送ブロック１のブロードキャストパケットを受信する（処理手順５）。
【００７０】
隣接中継ユニットＨは、中継ユニットＦから遅延時間を受信するが、自身が末端の中継ユニットであるため、これ以上隣接中継ユニットを抽出せず（処理手順１）、処理手順２と処理手順３は実行しない。
【００７１】
このとき、隣接中継ユニットＨは、ＧＷ１０２から遅延時間＝１Ｎｍｓｅｃを通知されているため、転送ブロック１のブロードキャストパケットを受信した時刻６Ｎｍｓｅｃから１Ｎｍｓｅｃ待つ。そして、その後の時刻７Ｎｍｓｅｃに、転送ブロック１のブロードキャストパケットを、隣接通信ユニットｄ、ｅ、およびｆにブロードキャスト転送する。隣接通信ユニットｄ、ｅ、およびｆは、時刻７Ｎｍｓｅｃから伝搬遅延時間後に、転送ブロック１のブロードキャストパケットを受信する（処理手順５）。
【００７２】
この転送時には、中継ユニット群Ａ、Ｄ、Ｅ、Ｂ、Ｆ、およびＧによるブロードキャストパケットの転送は時刻７Ｎｍｓｅｃの時点で完了しているため、輻輳は発生しないようにすることが可能となる。
【００７３】
通信ユニットＣは、ＧＷ１０２から遅延時間を受信すると、隣接中継ユニットＩを抽出し（処理手順１）、Ｉ配下の中継ユニット数をカウントする（処理手順２）。
・隣接中継ユニットＩの配下：Ｊ、Ｋ、Ｌ、Ｍ、Ｎの５ユニット
・合計：５ユニット
【００７４】
通信ユニットＩに、
・遅延時間＝０ｍｓｅｃの情報（遅延値＝０）
が通知される（処理手順３）。
【００７５】
このとき、隣接中継ユニットＣは、ＧＷ１０２から遅延時間＝７Ｎｍｓｅｃを通知されているため、転送ブロック１のブロードキャストパケットを受信した時刻１Ｎｍｓｅｃから７Ｎｍｓｅｃ待つ。そして、その後の時刻８Ｎｍｓｅｃに、転送ブロック１のブロードキャストパケットを、隣接中継ユニットＩにブロードキャスト転送する。隣接中継ユニットＩは、時刻８Ｎｍｓｅｃから伝搬遅延時間後に、転送ブロック１のブロードキャストパケットを受信する（処理手順５）。
【００７６】
この転送時には、中継ユニット群Ａ、Ｄ、Ｅ、Ｂ、Ｆ、Ｇ、およびＨによるブロードキャストパケットの転送は時刻８Ｎｍｓｅｃの時点で完了しているため、輻輳は発生しないようにすることが可能となる。
【００７７】
通信ユニットＩは、通信ユニットＣから遅延時間を受信すると、隣接中継ユニットＪを抽出し（処理手順１）、Ｊ配下の中継ユニット数をカウントする（処理手順２）。
・隣接中継ユニットＪの配下：Ｋ、Ｌ、Ｍ、Ｎ 
・合計：４ユニット
【００７８】
前述の処理手順３により、通信ユニットＪには、
遅延時間＝０ｍｓｅｃの情報（遅延値＝０）
が通知される。
【００７９】
このとき、隣接中継ユニットＩは、中継ユニットＣから遅延時間＝０ｍｓｅｃを通知されているため、受信した転送ブロック１のブロードキャストパケットを即座に、隣接中継ユニットＪにブロードキャスト転送する。この結果、隣接中継ユニットＪは、時刻９Ｎから伝搬遅延時間のみの遅延で、転送ブロック１のブロードキャストパケットを受信する（処理手順５）。
【００８０】
以下同様に、隣接中継ユニットＫ、Ｌ、Ｍ、Ｎの順に転送ブロック１のブロードキャストパケットが、時刻１１Ｎから１４Ｎまでの間に転送され、最後に時刻１５Ｎに末端の通信ユニットｇに転送される。
【００８１】
以上のようにして転送ブロック１のブロードキャストパケットが全ての通信ユニット１０１に転送される。
ＧＷ１０２は、前述の処理手順３により、
（全ＧＷ隣接中継ユニット数＋配下の全中継ユニット数＋１）×Ｎｍｓｅｃ
＝（３＋１１＋１)×Ｎｍｓｅｃ＝１５×Ｎｍｓｅｃ
として、配信間隔＝１５Ｎｍｓｅｃを計算している。
【００８２】
これに基づいて、ＧＷ１０２は、最初の転送ブロックである転送ブロック１のブロードキャストパケットを送信してから、遅延時間＝１５Ｎｍｓｅｃ待った時刻１５Ｎに、２番目の転送ブロックである転送ブロック２のブロードキャストパケットの送信を開始する。この送信時には、図３の無線ネットワーク１０３内の全ての中継ユニットによるブロードキャストパケットの転送が時刻１５Ｎｍｓｅｃの時点で完了しているため、輻輳は発生しないようにすることが可能となる。
【００８３】
図７は、図１の通信ユニット１０１の構成例を示す図である。通信ユニット１０１は、検針管理部７００、無線送受信制御部７０７、アンテナ７０８、および検針計量器インタフェース７０９を備える。検針計量器インタフェース７０９には、検針計量器７１０が接続される。検針管理部７００は、中継ユニット自律判定部７０１、送信タイミング分散制御部７０２、ブロードキャスト分散転送部７０３、経路情報生成部７０４、受信率通知部７０５、および受信ロス解消部７０６を備える。検針管理部７００の詳細については後述する。無線送受信制御部７０７は、アンテナ７０８を介して、図１の他の通信ユニット１０１またはＧＷ１０２と無線通信によるデータの送受信を制御する。検針計量器インタフェース８０３は、検針計量器８０４から検針計量値のデータを収集して、検針管理部７００に引き渡す。検針計量器８０４は、例えば電気使用量、水道使用量、ガス使用量などの検針器である。
【００８４】
図８は、図１のＧＷ１０２の構成例を示す図である。ＧＷ１０２は、ＧＷ（ゲートウェイ）管理機能部８００、無線送受信制御部７０７、アンテナ７０８、および有線送受信制御部８０３を備える。ＧＷ管理部８００は、送信タイミング分散制御部７０２、ブロードキャスト分散転送部７０３、経路情報生成部７０４、受信状況検知部８０１および補完指示送信部８０２を備える。ＧＷ管理部８００の詳細については後述する。無線送受信制御部７０７およびアンテナ７０８は、図７に示されるものと同じ機能を有し、図１に示される通信ユニット１０１と無線通信によるデータの送受信を制御する。有線送受信制御部８０３は、図１の外部ネットワーク１０５に接続され、図１のサーバ１０４との間のデータの送受信を制御する。
【００８５】
図７の通信ユニット１０１の検針管理部７００と、図８のＧＷ１０２のＧＷ管理部８００は、例えばメモリを搭載したマイクロプロセッサを具備する。検針管理部７００およびＧＷ管理部８００において、送信タイミング分散制御部７０２、ブロードキャスト分散転送部７０３、および経路情報生成部７０４は、同様の処理を行う。
【００８６】
まず、図７に示される構成を有する通信ユニット１０１の検針管理部７００において、中継ユニット自律判定部７０１は、以下の制御を実行する。中継ユニット自律判定部７０１は、他の通信ユニット１０１に関するパケットを転送した実績があるか否かを所定期間ごとに判定することにより、自身が他の通信ユニット１０１にパケットを転送する中継ユニットであるか否かを自律的に判定する。具体的には、中継ユニット自律判定部７０１は例えば、所定時間（例えば３０分）ごとに、自身が中継ユニットであることを示す中継ユニットフラグをクリアし、他の通信ユニット１０１に関するパケット、例えば定例パケットを転送したときに中継ユニットフラグをセットする。
【００８７】
次に、図７に示される構成を有する通信ユニット１０１の検針管理部７００または図８に示される構成を有するＧＷ１０２のＧＷ管理部８００において、送信タイミング分散制御部７０２は、以下の制御を実行する。送信タイミング分散制御部７０２は、通信ユニット１０１において中継ユニット自律判定部７０１が自身を中継ユニットと判定した場合、またはＧＷ１０２において、次の一連の処理を実行する。まず、送信タイミング分散制御部７０２は、自身と１ホップで通信し他の通信ユニット１０１にパケットを転送する中継ユニットを隣接中継ユニットとして抽出する。次に、送信タイミング分散制御部７０２は、一つ以上の隣接中継ユニットおよびそれらの配下の中継ユニットの数を算出する。続いて、送信タイミング分散制御部７０２は、算出したユニット数を基に、隣接中継ユニットにブロードキャストパケットを配信する配信順序とその配信順序に対応する遅延時間を決定する。具体的には、送信タイミング分散制御部７０２は例えば、次の処理を実行する。まず、送信タイミング分散制御部７０２において、遅延時間単位は説明の簡略化のために通信ユニット１０１間のパケットの伝搬遅延時間と対応してるとしてもよい。例えば、遅延時間単位Ｎは、例えばＮ＝１００ｍｓｅｃ（ミリ秒）とする。次に、送信タイミング分散制御部７０２は、配信順序に沿って、１番目の配信順序の隣接中継ユニットへの遅延時間をゼロに決定する。そして、送信タイミング分散制御部７０２は、２番目以降の配信順序の隣接中継ユニットへの遅延時間を、次のようにして計算する。送信タイミング分散制御部７０２は、直前の配信順序の隣接中継ユニットに対して決定した遅延時間に、その直前の配信順序の隣接中継ユニットおよびその配下の中継ユニットの数を上述の遅延時間単位に乗算して得た遅延時間を加算する。送信タイミング分散制御部７０２は、その加算の結果得られる時間を、２番目以降の配信順序の隣接中継ユニットへの遅延時間として決定する。送信タイミング分散制御部７０２は、上述のようにして決定した遅延時間の情報を、例えばユニキャストの通知パケットを使った通信により、隣接中継ユニットに通知する。
【００８８】
図８に示される構成を有するＧＷ１０２のＧＷ管理部８００内の送信タイミング分散制御部７０２は、さらに次の制御処理を実行する。ＧＷ管理部８００内の送信タイミング分散制御部７０２は、ＧＷ１０２の隣接中継ユニットおよびその配下の中継ユニットの数を基に、複数パケットからなるブロードキャストパケットの配信間隔を決定する。具体的には、送信タイミング分散制御部７０２は、ＧＷ１０２の全ての隣接中継ユニットおよびそれらの配下の全中継ユニットの数に前述した遅延時間単位を乗算して得た遅延時間に基づいて配信間隔を決定する。
【００８９】
続いて、図７に示される構成を有する通信ユニット１０１の検針管理部７００において、ブロードキャスト分散転送部７０３は、通信ユニット１０１において中継ユニット自律判定部７０１が自身を中継ユニットと判定した場合に、以下の制御を実行する。ブロードキャスト分散転送部７０３は、自身が例えば１ホップ以内の中継ユニットから受信したブロードキャストパケットを、自身に対して通知されている遅延時間の情報に対応する遅延時間だけ遅延させて、他の通信ユニットにブロードキャスト転送する。受信したブロードキャストパケットが１ホップ以内の中継ユニットから受信したものであるか否かは例えば、受信パケット内の送信元アドレスと自身が保有する経路情報とから判定できる。
【００９０】
一方、図８に示される構成を有するＧＷ１０２のＧＷ管理部８００において、ブロードキャスト分散転送部７０３は、以下の制御を実行する。ＧＷ管理部８００内のブロードキャスト分散転送部７０３は、ＧＷ管理部８００内の送信タイミング分散制御部７０２が決定した配信間隔で、複数のブロードキャストパケットを他の通信ユニット１０１に順次ブロードキャストして送信する。
【００９１】
図７に示される構成を有する通信ユニット１０１の検針管理部７００または図８に示される構成を有するＧＷ１０２のＧＷ管理部８００において、経路情報生成部７０４は、以下の制御を実行する。経路情報生成部７０４は、他の通信ユニット１０１に関するパケットの転送時に、その転送するパケットの送信元および宛先の通信ユニット１０１に関する情報を収集することにより、自身と他の通信ユニット１０１との通信接続の状況を示す経路情報を生成する。「他の通信ユニット１０１に関するパケット」とは例えば、通信ユニット１０１のそれぞれからＧＷ１０２を宛先として定期的に通知される前述した定例パケットである。これに関連して、送信タイミング分散制御部７０２は、経路情報生成部７０４が生成する経路情報に基づいて、隣接中継ユニットを抽出し、一つ以上の隣接中継ユニットおよびそれらの配下の中継ユニットの数を算出するように構成することができる。
【００９２】
以上の構成でまず、ＧＷ１０２が、例えば図１のサーバ１０４からの指示に基づいて、例えばファームウェアデータを複数に分割して得た各ブロックデータを、それぞれに対応するブロードキャストパケットによって順次各通信ユニット１０１に転送するとする。
【００９３】
この場合、ＧＷ１０２はまず、送信タイミング分散制御部７０２による隣接中継ユニットごとの配信順序と遅延時間の決定およびその遅延時間の隣接中継ユニットへの送信を実行する。
【００９４】
さらに、ＧＷ１０２は、ブロードキャスト分散転送部７０３において、送信タイミング分散制御部７０２が決定した配信間隔で、複数のブロードキャストパケットを隣接中継ユニットまたは中継ユニットでない隣接通信ユニットに順次ブロードキャストして送信する。
【００９５】
これに対して、ＧＷ１０２に対応する隣接中継ユニットは、まずＧＷ１０２から、遅延時間の情報を受信する。隣接中継ユニットは、送信タイミング分散制御部７０２により、次の隣接中継ユニットの判定を行う。そして、隣接中継ユニットは、送信タイミング分散制御部７０２により、次の隣接中継ユニットごとの配信順序と遅延時間の決定と、その遅延時間の次の隣接中継ユニットへの送信を実行する。
【００９６】
続いて、隣接中継ユニット内のブロードキャスト分散転送部７０３は、ＧＷ１０２からブロードキャストパケットを順次受信すると、そのブロードキャストパケットを、ＧＷ１０２から受信している遅延時間の情報に対応する遅延時間だけ遅延させて、次の隣接中継ユニットまたは中継ユニットでない（すなわち末端ユニットである）隣接通信ユニットにブロードキャストして転送する。
【００９７】
上記隣接中継ユニットから遅延時間の情報およびブロードキャストパケットを受信した隣接中継ユニットは、上記隣接中継ユニットと同様の処理を順次実行してゆく。
【００９８】
以上のようにして、本実施形態では、ブロードキャストパケットが送信される通信ユニット１０１が、例えば定例パケットを転送した実績のある中継ユニットに限定される。これにより、図１の無線ネットワーク１０３に流れるパケットが抑制され、直近の実績のあるルートで転送されるため、パケットの到達精度が向上する。すなわち、本実施形態により、無線リソースの節約と到達性の向上を実現することが可能となる。
【００９９】
また、上述した本実施形態では、複数の通信ユニット１０１の送信タイミングが重複することが例えば定例パケットから生成される経路情報に基づいて予め予測される。そして、各中継ユニットにおけるブロードキャストパケットの送信タイミングが、それぞれに対して設定される遅延時間だけずらされることにより、無線干渉を未然に回避することができる。これによっても、到達性の向上を実現することが可能となる。
【０１００】
さらに、上述した本実施形態では、末端に位置する通信ユニット１０１はブロードキャストパケットを送信しないため、無線ネットワーク１０３への無駄なパケットが抑止されることによって無線リソースを節約することが可能となる。
【０１０１】
次に、通信ユニット１０１がＧＷ１０２以外である場合、図７に示されるように、その通信ユニット１０１には、受信率通知部７０５と受信ロス解消部７０６が備えられる。一方、通信ユニット１０１がＧＷ１０２を構成する場合、図８に示されるように、ＧＷ１０２には受信状況検知部８０１と補完指示送信部８０２が備えられる。
【０１０２】
いま、図１の無線ネットワーク１０３において、ＧＷ１０２以外の各通信ユニット１０１内の受信率通知部７０５は、ブロードキャストパケットの受信率を定例パケットを用いてＧＷ１０２に通知する。
【０１０３】
これに対して、ＧＷ１０２内の受信状況検知部８０１は、定例パケットを受信することにより、通信ユニット１０１のそれぞれにおけるブロードキャストパケットの受信状況を検知する。そして、ＧＷ１０２内の補完指示送信部８０２は、ブロードキャストパケットの受信ロスがある通信ユニット１０１の近隣のブロードキャストパケットを受信済みの通信ユニット１０１に、受信ロスがある通信ユニット１０１に対するブロードキャストパケットの補完指示を送信する。
【０１０４】
ＧＷ１０２から上述の補完指示を受信した通信ユニット１０１内の受信ロス解消部７０６は、受信した補完指示が示す受信ロスがある通信ユニット１０１と通信することにより、受信ロスを解消する。
【０１０５】
このように、本実施形態では、各通信ユニット１０１がブロードキャストパケットの受信ロスの発生状況を定例パケットに載せてＧＷ１０２に通知することで、ＧＷ１０２は随時通信ユニット１０１でのブロードキャストパケットの受信状況を把握できる。そして、ＧＷ１０２は、不足があるユニット補完を指示可能な通信ユニット１０１も検知することができるため、補完における無線リソースも節約することが可能となる。
【０１０６】
図９は、図８のＧＷ管理部８００の制御動作を示すフローチャートである。この制御動作は例えば、図８のＧＷ管理部８００を構成する特には図示しないマイクロプロセッサが、特には図示しないメモリに記憶された制御プログラムを実行する動作として実現される。あるいは、この制御動作は、一部または全部が、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、あるいはＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）を用いたハードウェアとソフトウェアまたはファームウェアの混合回路として実現されてもよい。
【０１０７】
まず、現在の時間帯が各通信ユニット１０１からの定例パケットを受信するための時間帯であるか否かが判定され（ステップＳ９０１）、時間帯になるまでこの判定が繰り返される。
【０１０８】
ステップＳ９０１の判定がＹＥＳになると、各通信ユニット１０１から定例パケットを受信済みになったか否かが判定され（ステップＳ９０２）、受信済みになるまでこの判定が繰り返される。
【０１０９】
ステップＳ９０２の判定がＹＥＳになると、ステップＳ９０３の処理として、以下の処理が実行される。まず、ステップＳ９０２で受信された定例パケットから生成された経路情報により、ＧＷ１０２自身と１ホップで通信するＧＷ隣接中継ユニットが抽出される。この処理の詳細は、前述した処理手順１にて説明した通りである。さらに、上記経路情報において上記抽出した隣接中継ユニットの配下で重複して出現する中継ユニットの数がカウントされる。この処理の詳細は、前述した処理手順２にて説明した通りである。図３の無線ネットワーク１０３の例では、ＧＷ隣接中継ユニットとして、通信ユニットＡ、Ｂ、およびＣが抽出される。そして、Ａの配下の中継ユニット数はＤおよびＥの２ユニット、Ｂの配下の中継ユニット数はＦ、Ｇ、およびＨの３ユニット、Ｃの配下の中継ユニット数はＩ、Ｊ、Ｋ、Ｌ、Ｍ、Ｎの６ユニットとカウントされる。
【０１１０】
次に、ステップＳ９０４の処理として、以下の処理が実行される。まず、ＧＷ隣接中継ユニット（例えばＡ、Ｂ、Ｃ）について、配信順序が決定される。そして、その配信順序に沿って、各配信順序のＧＷ隣接中継ユニットへの遅延時間が算出される。この処理の詳細は、前述した処理手順３にて説明した通りである。図３の無線ネットワーク１０３の例では、Ｎｍｓｅｃを遅延時間単位として、ＧＷ隣接中継ユニットＡ、Ｂ、およびＣのそれぞれに対して、その配信順序で、遅延時間として０ｍｓｅｃ、３Ｎｍｓｅｃ、および７Ｎｍｓｅｃが決定され、通知される。実際には、遅延値として、０、３、および７がそれぞれ通知される。
【０１１１】
以上のステップＳ９０３およびＳ９０４の処理は、図８の送信タイミング分散制御部７０２の機能を実現する。
【０１１２】
次に、ステップＳ９０１の場合と同様に、再び定例パケットの受信時間になっているか否かが判定される（ステップＳ９０５）。ステップＳ９０５の判定がＹＥＳになると、ステップＳ９０２の定例パケットの受信処理およびその後のステップＳ９０３、Ｓ９０３の遅延時間の更新・通知処理に戻る。
【０１１３】
ステップＳ９０５の判定がＮＯならば、以下に示すステップＳ９０６の処理が実行される。まず、ＧＷ１０２の全ての隣接中継ユニットおよびそれらの配下の全中継ユニットの数に前述した遅延時間単位Ｎｍｓｅｃを乗算して得た遅延時間に基づいて、配信間隔が決定される。図３の無線ネットワーク１０３の例では、配信間隔は、全ユニット数１４に＋１した値から１５Ｎｍｓｅｃと決定される。次に、ファームウェアのアップデータが複数のファームウェアのブロック（ファームブロック）に分割され、各ファームブロックが格納されたブロードキャストパケットが、その決定された配信間隔で、他の通信ユニット１０１に順次ブロードキャストして配信される。
【０１１４】
次に、最終のファームブロックまで配信が完了したか否かが判定され（ステップＳ９０７）、完了していなければ、ステップＳ９０５の判定処理の後、ステップＳ９０６で次のファームブロックの配信処理が実行される。
【０１１５】
上述のステップＳ９０６およびＳ９０７の処理は、図８の送信タイミング分散制御部７０２の一部の機能と、ブロードキャスト分散転送部７０３の機能を実現する。
ステップＳ９０６の判定がＹＥＳになると、ステップＳ９０８で受信ロス検出／補完処理が実行される。
【０１１６】
図１０は、図９のステップＳ９０８の受信ロス検出／補完処理の詳細を示すフローチャートである。
まず、図９のステップＳ９０１と同様に、現在の時間帯が各通信ユニット１０１からの定例パケットを受信するための時間帯であるか否かが判定され（ステップＳ１００１）、時間帯になるまでこの判定が繰り返される。
【０１１７】
ステップＳ１００１の判定がＹＥＳになると、図９のステップＳ９０２と同様に、各通信ユニット１０１から定例パケットを受信済みになったか否かが判定され（ステップＳ１００２）、受信済みになるまでこの判定が繰り返される。
【０１１８】
ステップＳ１００２の判定がＹＥＳになると、受信済みの定例パケットの中で、その定例パケットによって報告された受信率が１００％でない通信ユニット１０１が、例えば特には図示しないメモリ上に確保される不足リストに追加される（ステップＳ１００３）。
【０１１９】
このステップＳ１００３の処理は、図８の受信状況検知部８０１の機能を実現する。
次に、上述の不足リストが確認されることにより、受信率が１００％でない通信ユニット１０１があるか否かが判定される（ステップＳ１００４）。
【０１２０】
ステップＳ１００４の判定がＮＯならば、そのまま図１０のフローチャートで示される制御動作を終了する。
ステップＳ１００４の判定がＹＥＳならば、受信率が１００％でない通信ユニット１０１について、その通信ユニット１０１の近隣の受信率が１００％の通信ユニット１０１に、その受信率が１００％でない通信ユニット１０１に対するブロードキャストパケットの補完指示が送信される（ステップＳ１００５）。
【０１２１】
このステップ１００５の処理は、図８の補完指示送信部８０２の機能を実現する。
ステップＳ１００５の処理の後、図１０のフローチャートで示される制御動作を終了する。
【０１２２】
図１１は、通信ユニット１０１における受信ロス検出／補完処理の制御動作を示すフローチャートである。このフローチャートは、後述する図１２のフローチャートのステップＳ１２１５の詳細処理を示す。
【０１２３】
まず、通信ユニット１０１において、ＧＷ１０２から不足補完指示のパケットが受信されると、不足が発生している（受信率が１００％でない）対象となる通信ユニット１０１（対象ユニット）に対して、不足問い合わせ要求のパケットが送信される（ステップＳ１１０１）。その後、図１１の制御動作を終了する。
【０１２４】
ステップＳ１１０１での不足問い合わせ要求のパケット送信に対して、対象ユニットが不足問合せ応答のパケットを応答すると、その不足問合せ応答パケットによって不足があるか否かが判定される（ステップＳ１１０２）。
【０１２５】
ステップＳ１１０２の判定がＮＯならば、不足を補完する必要はないので、図１１の制御動作を終了する。
ステップＳ１１０２の判定がＹＥＳならば、対象ユニットへ、不足しているファームブロックが送信される（ステップＳ１１０３）。
【０１２６】
続いて、対象ユニットへ、再度不足問い合わせ要求が送信される（ステップＳ１１０４）。
その後、図１１の制御動作を終了する。
【０１２７】
以上の図１１のフローチャートの制御動作は、図７の受信ロス解消部７０６の機能を実現する。
【０１２８】
図１２は、図７の検針管理部７００の制御動作を示すフローチャートである。この制御動作は例えば、図７の検針管理部７００を構成する特には図示しないマイクロプロセッサが、特には図示しないメモリに記憶された制御プログラムを実行する動作として実現される。あるいは、この制御動作は、一部または全部が、ＡＳＩＣ、ＦＰＧＡ、あるいはＤＳＰを用いたハードウェアとソフトウェアまたはファームウェアの混合回路として実現されてもよい。
【０１２９】
図１２のフローチャートの制御動作は、例えば一定時間ごとに起動される。
まず、いずれかのイベントが受信したか否かの判定を繰り返す判定待機処理が実行される（ステップＳ１２０１）。
【０１３０】
ステップＳ１２０１で、定例パケット送信時間の開始を示すイベントが受信されたと判定された場合、特には図示しないメモリまたはレジスタ上に確保されている中継ユニットフラグがクリアされる（ステップＳ１２０２）。中継ユニットフラグは、自身の通信ユニット１０１が中継ユニットであるか否かを示すフラグである。定例パケット送信時間は、例えば３０分というような一定時間ごとに発生する。この一定時間間隔で、中継ユニットフラグがクリアされて、自身が中継ユニットであることを示す状態がクリアされる。この中継ユニットフラグは、その後に受信される定例パケットによって再度セットさせられる（後述するステップＳ１２０４参照）。これにより、自身が例えば中継ユニットから通常の通信ユニット１０１に構成変更された場合またはその逆の場合に、その状態変更を速やかに無線ネットワーク１０３全体に通知可能として、ネットワークの自律的な構成変更を実現するためである。その後、図１２の制御動作を終了する。
【０１３１】
ステップＳ１２０２の処理は、図７の中継ユニット自律判定部７０１の一部の機能を実現する。
【０１３２】
ステップＳ１２０１で、他の通信ユニット１０１の定例パケットが受信されたことを示すイベントが受信されたと判定された場合、まず、現在が定例パケット送信時間帯であるか否かが判定される（ステップＳ１２０３）。
【０１３３】
ステップＳ１２０３の判定がＮＯならば、そのまま図１２の制御動作を終了する。
ステップＳ１２０３の判定がＹＥＳならば、前述の中継ユニットフラグがＯＮされる（ステップＳ１２０４）。
【０１３４】
ステップＳ１２０４の処理は、図７の中継ユニット自律判定部７０１の一部の機能を実現する。
次に、受信された定例パケットが、隣接中継ユニットに転送される（ステップＳ１２０５）。
【０１３５】
続いて、受信された定例パケットの内容が、特には図示しないメモリ上等に確保されている経路情報（図５等参照）に反映されて経路情報が生成または更新される（ステップＳ１２０６）。
【０１３６】
ステップＳ１２０６の処理は、図７の経路情報生成部７０４の機能を実現する。
その後、図１２の制御動作を終了する。
【０１３７】
ステップＳ１２０１で、自身の通信ユニット１０１の定例パケット送信タイミングになったことを示すイベントが受信されたと判定された場合、自身の通信ユニット１０１に関する定例パケットが、ＧＷ１０２に向けて送信される（ステップＳ１２０７）。
その後、図１２の制御動作を終了する。
【０１３８】
ステップＳ１２０１で、ＧＷ１０２または他の中継ユニットから遅延時間通知が受信されたと判定された場合、まず、中継ユニットフラグがＯＮか否か、すなわち自身が中継ユニットであるか否かが判定される（ステップＳ１２０８）。
【０１３９】
ステップＳ１２０８の処理は、図７の中継ユニット自律判定部７０１の一部の機能を実現する。
ステップＳ１２０８の判定がＮＯならば、図１２の制御動作を終了する。
ステップＳ１２０８の判定がＹＥＳならば、経路情報を参照することにより、配下に中継ユニットが複数存在するか否かが判定される（ステップＳ１２０９）。
【０１４０】
ステップＳ１２０９の判定がＮＯならば、図１２の制御動作を終了する。
ステップＳ１２０９の判定がＹＥＳならば、ステップＳ１２１０の処理として、以下の処理が実行される。まず、隣接中継ユニットが抽出された後、それらの配信順序が決定される。そして、その配信順序に沿って、各配信順序の隣接中継ユニットへの遅延時間が算出される。この処理の詳細は、前述した処理手順４にて説明した通りである。
【０１４１】
以上のステップＳ１２０９およびＳ１２１０の処理は、図７の送信タイミング分散制御部７０２の機能を実現する。
その後、図１２の制御動作を終了する。
【０１４２】
ステップＳ１２０１で、ＧＷ１０２または他の中継ユニットからファームブロックのブロードキャストパケットが受信されたと判定されたら、まず、中継ユニットフラグがＯＮか否か、すなわち自身が中継ユニットであるか否かが判定される（ステップＳ１２１１）。
【０１４３】
ステップＳ１２１１の処理は、図７の中継ユニット自律判定部７０１の一部の機能を実現する。
ステップＳ１２１１の判定がＮＯならば、図１２の制御動作を終了する。
ステップＳ１２１１の判定がＹＥＳならば、自身の通信ユニット１０１に対して通知されている遅延時間が０より大きいか否かが判定される（ステップＳ１２１２）。
【０１４４】
遅延時間が０でステップＳ１２１２の判定がＮＯならば、受信されたファームブロックのブロードキャストパケットが、即座に送信される（ステップＳ１２１３）。その後、図１２の制御動作を終了する。
【０１４５】
遅延時間が０より大きくステップＳ１２１２の判定がＹＥＳならば、遅延時間だけ待機させられた後に、受信されたファームブロックのブロードキャストパケットが、送信される（ステップＳ１２１４）。その後、図１２の制御動作を終了する。
【０１４６】
ステップＳ１２１２、Ｓ１２１３、およびＳ１２１４の処理は、図７のブロードキャスト分散転送部７０３の機能を実現する。
【０１４７】
ステップＳ１２０１で、ＧＷ１０２から不足補完指示のパケットまたは他の通信ユニット１０１から不足問合せ応答のパケットが受信されたと判定された場合、受信ロス検出／補完処理が実行される。この処理の詳細については、図１１のフローチャートを用いて前述した。
ステップＳ１２１５の処理は、図７の受信ロス解消部７０６の機能を実現する。
【０１４８】
図１３および図１４は、本実施形態において使用される各種パケットのデータフォーマットの例を示す図である。
図１３（ａ）は、例えば前述した各通信ユニット１０１からＧＷ１０２に通知される定例パケット等の基本フォーマット例である。「宛先アドレス」フィールドには、宛先となるユニットのアドレスが格納される。定例パケットの場合は、「宛先アドレス」フィールドには、ＧＷ１０２のアドレスが格納される。「送信元アドレス」フィールドには、送信元となった通信ユニット１０１またはＧＷ１０２のアドレスが格納される。「データ長」フィールドには、「データ部」フィールドのデータ長（バイト数）が格納される。「ＨＯＰ数制御」フィールドには、ホップ数に応じて転送を制限したいような場合に例えばホップ数の上限値が格納される。「パケット種別」フィールドには、そのパケットの種別を示す値が格納される。「データ部」フィールドには、転送されるべきデータが格納される。定例パケットの場合は、例えば検針計量値データである。上述の「データ部」フィールド以外の各フィールドはヘッダ部を構成する。
【０１４９】
図１３（ｂ）は、ブロードキャストパケットのデータフォーマット例を示す図である。各フィールドの意味は図１３（ａ）の場合と同様である。ただし、「宛先アドレス」フィールドにはブロードキャストアドレスが格納される。「送信元アドレス」フィールドには、ブロードキャストパケットを送信または転送した通信ユニット１０１またはＧＷ１０２のアドレスが格納される。「データ長」フィールドには、「データ部」フィールドのデータ長（バイト数）が格納される。「ＨＯＰ数制御」フィールドには、本実施形態のように自身の中継ユニットから１ホップの中継ユニットのみへのブロードキャストを行いたい場合に、値「０」が格納される。これにより、２ホップ以上の中継ユニットからのブロードキャストパケットを受信しない制御を行うことができる。「パケット種別」フィールドには例えば「ファームウェア配信パケット」を示す値が格納される。「データ部」フィールドには、分割されたファームウェアのブロックが格納される。
【０１５０】
図１３（ｃ）は、遅延時間通知のデータフォーマット例を示す図である。各フィールドの意味は図１３（ａ）の場合と同様である。「宛先アドレス」フィールドには遅延時間を通知したい相手の通信ユニット１０１のアドレスが格納される。「送信元アドレス」フィールドには、遅延時間を送信した中継ユニットまたはＧＷ１０２のアドレスが格納される。「データ長」フィールドには、「データ部」フィールドのデータ長（バイト数）が格納される。「ＨＯＰ数制御」フィールドは無効とされる。「パケット種別」フィールドには例えば「遅延値通知パケット」を示す値が格納される。「データ部」フィールドには、前述した遅延値が格納される。
【０１５１】
図１４（ｄ）は、図１０のステップＳ１００５にてＧＷ１０２から送信される不足補完指示パケットのデータフォーマット例を示す図である。各フィールドの意味は図１３（ａ）の場合と同様である。「宛先アドレス」フィールドには不足補完指示を行う相手の通信ユニット１０１のアドレスが格納される。「送信元アドレス」フィールドには、ＧＷ１０２のアドレスが格納される。「データ長」フィールドの値は「０」とされる。すなわち、「データ部」フィールドはこのパケットには存在しない。「ＨＯＰ数制御」フィールドは無効とされる。「パケット種別」フィールドには例えば「不足補完指示パケット」を示す値が格納される。
【０１５２】
図１４（ｅ）は、図１１のステップＳ１１０１にて不足補完元の通信ユニット１０１から不足補完先の通信ユニット１０１（図１１の対象ユニット）に送信される不足問合せ要求パケットのデータフォーマット例を示す図である。各フィールドの意味は図１３（ａ）の場合と同様である。「宛先アドレス」フィールドには不足補完を行う相手の通信ユニット１０１のアドレスが格納される。「送信元アドレス」フィールドには、不足補完元となる通信ユニット１０１のアドレスが格納される。「データ長」フィールドの値は「０」とされる。すなわち、「データ部」フィールドはこのパケットには存在しない。「ＨＯＰ数制御」フィールドは無効とされる。「パケット種別」フィールドには例えば「不足問合せ要求パケット」を示す値が格納される。
【０１５３】
図１４（ｆ）は、図１１のステップＳ１１０２にて受信される不足問合せ応答パケットのデータフォーマット例を示す図である。各フィールドの意味は図１３（ａ）の場合と同様である。「宛先アドレス」フィールドには不足補完元の通信ユニット１０１のアドレスが格納される。「送信元アドレス」フィールドには、不足補完先となる通信ユニット１０１のアドレスが格納される。「データ長」フィールドには「データ部」のデータ長（バイト長）が格納される。「ＨＯＰ数制御」フィールドは無効とされる。「パケット種別」フィールドには例えば「不足問合せ応答パケット」を示す値が格納される。「データ部」フィールドには、不足分のパケット番号が格納される。このパケット番号を見ることにより、不足補完元の通信ユニット１０１は、不足補完先の通信ユニット１０１がどのパケット番号のファームブロックを必要としているかを知ることができる。
【０１５４】
図１４（ｇ）は、図１１のステップＳ１１０３にて不足補完元の通信ユニット１０１から不足補完先の通信ユニット１０１（図１１の対象ユニット）に不足ブロックを送信するユニキャスト配信パケットのデータフォーマット例を示す図である。各フィールドの意味は図１３（ａ）の場合と同様である。「宛先アドレス」フィールドには不足補完先の通信ユニット１０１のアドレスが格納される。「送信元アドレス」フィールドには、不足補完元となる通信ユニット１０１のアドレスが格納される。「データ長」フィールドには「データ部」のデータ長（バイト長）が格納される。「ＨＯＰ数制御」フィールドは無効とされる。「パケット種別」フィールドには例えば「ファームウェア配信パケット」を示す値が格納される。「データ部」フィールドには、不足分のファームウェアのブロックが格納される。
【０１５５】
図１５は、図１の無線ネットワーク１０３に関して、図３の場合とは異なる他の構成例を示す図である。このように構成が異なる場合でも、前述した処理手順１〜１１または図９〜図１２に示されるフローチャートの制御動作に従って、図３の場合と同様に制御することができる。通信ユニット１０１およびＧＷ１０２の基本的な構成は、図１から図８に示されるものと同様である。
【０１５６】
まず、ＧＷ１０２は、定例パケットの受信に基づいて生成される経路情報において、ホップ１で重複して出現する通信ユニット１０１を、ＧＷ隣接中継ユニットとする。図４において、Ａ、Ｅ、Ｂ、およびＳの４ユニットがＧＷ隣接中継ユニットとして決定される（処理手順１）。
【０１５７】
ＧＷ１０２は、ＧＷ隣接中継ユニットの配下で重複出現する通信ユニット１０１を、ＧＷ隣接中継ユニット配下の中継ユニットの数としてカウントする（処理手順２）。
・ＧＷ隣接中継ユニットＡの配下：Ｄ、Ｃの２ユニット
・ＧＷ隣接中継ユニットＥの配下：無し
・ＧＷ隣接中継ユニットＢの配下：Ｇ、Ｊ、Ｈ、Ｉ、Ｏの５ユニット
・ＧＷ隣接中継ユニットＳの配下：Ｕの１ユニット
・合計：８ユニット
【０１５８】
ＧＷ１０２は、遅延時間単位Ｎを、通信ユニット１０１間のパケットの伝搬遅延時間、例えば１００ｍｓｅｃとする。ＧＷ１０２は、ＧＷ隣接中継ユニットの配信順序を定めて遅延値を通知する。遅延時間＝遅延値×１００ｍｓｅｃとする。また、ＧＷ１０２は、自身の配信間隔を算出する（処理手順３）。
＊配信順序は、任意に定め、ここではＡ→Ｅ→Ｂ→Ｓと定める。
＊遅延値の通知
・Ａへ通知する遅延値＝０、遅延時間＝０ｍｓｅｃ
・Ｅへ通知する遅延値＝３、遅延時間＝３×１００ｍｓｅｃ
・Ｂへ通知する遅延値＝４、遅延時間＝４×１００ｍｓｅｃ
・Ｓへ通知する遅延値＝１０、遅延時間＝１０×１００ｍｓｅｃ
＊配信間隔＝（ＧＷ隣接中継ユニット数＋配下の中継ユニット数＋１）×Ｎｍｓｅｃ
＝（４＋８＋１）＊１００ｍｓｅｃ＝１３×１００ｍｓｅｃ＝１．３秒
【０１５９】
遅延値を通知されたＧＷ隣接中継ユニットは、直下の中継ユニットの配信順序を定めて遅延値を通知する。図１５に示される「□」内の遅延値が、上位の中継ユニットからその中継ユニットの隣接中継ユニットに通知される（処理手順４）。
【０１６０】
ＧＷ１０２からブロードキャストパケットの配信を開始する。配信間隔は、１．３秒である（処理手順５）。
【０１６１】
ＧＷ１０２がブロードキャストを行うと、中継ユニットＡ、Ｅ、Ｂ、Ｓ、Ｒ、およびＦが受信する。中継ユニットＡは、自身に割り当てられた遅延値が０なので、受信後即座にブロードキャストを行う（処理手順６）。
【０１６２】
中継ユニットＡの配下の中継ユニットＤとＣがブロードキャストパケットを受信し、Ｄは自身に割り当てられた遅延値が０なので、受信後即座にブロードキャストを行う。Ｃはブロードキャストパケットを受信後、１×１００ｍｓｅｃ待った後にブロードキャストを実行する（処理手順７）。
【０１６３】
中継ユニットＥは、ＧＷ１０２からブロードキャストパケットを受信してから３×１００ｍｓｅｃ待ちあわせた後に、ブロードキャストパケットを送信する（処理手順６）。
【０１６４】
以下同様に、各中継ユニットが自分に割り当てられた遅延値×１００ｍｓｅｃ分待ちあわせを行い、ブロードキャストを実行する（処理手順６または７）。
【０１６５】
ＧＷ１０２が最初のブロードキャストパケットを送信した時刻を０ｍｓｅｃとしたとき、ＧＷ隣接中継ユニットＳがブロードキャストパケットの送信を開始するのが、
最初の伝搬遅延時間１００ｍｓｅｃ＋遅延値１０×１００ｍｓｅｃ
＝１１×１００ｍｓｅｃ
となる。さらに、ＧＷ隣接中継ユニットＳの隣接中継ユニットＵがブロードキャストパケットの送信を開始するのは、
Ｓの送信開始時刻＋伝搬遅延時間１００ｍｓｅｃ＋遅延時間０
＝１１×１００ｍｓｅｃ＋１００ｍｓｅｃ＝１２×１００ｍｓｅｃ
となる。この最初のブロードキャストパケットが末端の通信ユニットＶおよびＷに到達するのは、
Ｕの送信開始時刻＋伝搬遅延時間１００ｍｓｅｃ
＝１２×１００ｍｓｅｃ＋１００ｍｓｅｃ＝１３×１００ｍｓｅｃ
となる。
【０１６６】
ＧＷ１０２が２番目のブロードキャストパケットの送信を開始する時刻を、最初のブロードキャストパケットが末端の通信ユニットＶおよびＷに到達する時刻１３×１００ｍｓｅｃ＝１．３秒とすることで、輻輳を発生させずにブロードキャストパケットの送信を継続することができる。
【０１６７】
以上説明した実施形態により、ブロードキャスト配信する通信ユニットを定例パケットを転送した中継ユニットに限定することで、無線ネットワークに流れるパケットを抑制することが可能となる。これにより、直近の実績のあるルートで転送が行われるため、パケットの到達精度が向上する。すなわち、無線リソースの節約及び到達性の向上が実現される。
【０１６８】
また、複数ユニットの送信タイミングが重複することを定例パケットの経路情報から予め予測し、送信タイミングをずらすことで無線干渉を未然に回避することが可能となる。すなわち、パケットの到達性を向上させることができる。
【０１６９】
さらに、不足発生状況を定例パケットに載せて通知することで、ゲートウェイは随時通信ユニットの受信状況を把握でき、不足がある通信ユニットの補完を指示可能な通信ユニットも検知することができるため、補完における無線リソースも節約することが可能となる。
【０１７０】
加えて、末端に位置する通信ユニットはブロードキャスト転送をしないため、無線網への無駄なパケットを抑止することによって無線リソースを節約できる。例えば、図２に示される一般的に考えられるブロードキャスト転送方式と、図３に示される本実施形態によるブロードキャスト転送方式を比較すると、次のようになる。まず、図２におけるブロードキャストパケットの配信回数は、１パケットあたり２８回である。すなわち、無線ネットワーク１０３内の通信ユニット１０１の数に等しい。一方、図３の本実施形態におけるブロードキャストパケットの配信回数は、１パケットあたり１４回、すなわち、無線ネットワーク１０３内の中継ユニットの数に等しい。これにより、１パケットあたりのブロードキャスト転送回数を、一般に考えられる方式の１／２に削減することが可能となる。
【０１７１】
図１６は、上記システムをソフトウェア処理として実現できるコンピュータのハードウェア構成の一例を示す図である。
図１６に示されるコンピュータは、ＣＰＵ１６０１、メモリ１６０２、入力装置１６０３、出力装置１６０４、外部記憶装置１６０５、可搬記録媒体１６０９が挿入される可搬記録媒体駆動装置１６０６、及び通信インタフェース１６０７を有し、これらがバス１６０８によって相互に接続された構成を有する。同図に示される構成は上記システムを実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
【０１７２】
ＣＰＵ１６０１は、当該コンピュータ全体の制御を行う。メモリ１６０２は、プログラムの実行、データ更新等の際に、外部記憶装置１６０５（或いは可搬記録媒体１６０９）に記憶されているプログラム又はデータを一時的に格納するＲＡＭ等のメモリである。ＣＵＰ１６０１は、プログラムをメモリ１６０２に読み出して実行することにより、全体の制御を行う。
【０１７３】
入出力装置１６０３は、ユーザによるキーボードやマウス等による入力操作を検出し、その検出結果をＣＰＵ１６０１に通知し、ＣＰＵ１６０１の制御によって送られてくるデータを表示装置や印刷装置に出力する。
【０１７４】
外部記憶装置１６０５は、例えばハードディスク記憶装置である。主に各種データやプログラムの保存に用いられる。
可搬記録媒体駆動装置１６０６は、光ディスクやＳＤＲＡＭ、コンパクトフラッシュ（登録商標）等の可搬記録媒体１６０９を収容するもので、外部記憶装置１６０５の補助の役割を有する。
【０１７５】
通信インターフェース１６０７は、例えばアドホックネットワーク、ＬＡＮ（ローカルエリアネットワーク）、またはＷＡＮ（ワイドエリアネットワーク）の通信回線を接続するための装置である。
【０１７６】
本実施形態によるシステムは、図７の検針管理部７００、図８のＧＷ管理部８００、あるいは図９〜図１２の動作フローチャート等で実現される機能を搭載したプログラムをＣＰＵ１６０１が実行することで実現される。そのプログラムは、例えば外部記憶装置１６０５や可搬記録媒体１６０９に記録して配布してもよく、或いはネットワーク接続装置１６０７によりネットワークから取得できるようにしてもよい。
【０１７７】
以上の実施形態に関して、更に以下の付記を開示する。
（付記１）
複数の通信ユニットによって形成される無線ネットワークにおけるブロードキャストパケットの転送方法であって、
外部のネットワークとの通信を仲介する通信ユニットであるゲートウェイユニットと前記通信ユニットのそれぞれにおいて前記ゲートウェイユニットから順に、
自身と１ホップで通信し他の通信ユニットにパケットを転送する中継ユニットを隣接中継ユニットとして抽出し、
一つ以上の前記隣接中継ユニットおよびそれらの配下の中継ユニットの数を算出し、
前記算出したユニット数を基に、前記隣接中継ユニットに前記ブロードキャストパケットを配信する配信順序と前記配信順序に対応する遅延時間を決定し、
前記決定した遅延時間の情報を前記隣接中継ユニットに通知する、
ことを実行し、
前記ゲートウェイユニットにおいて、前記算出したユニット数を基に、複数パケットからなる前記ブロードキャストパケットの配信間隔を決定し、前記配信間隔で前記複数のブロードキャストパケットを他の前記通信ユニットにブロードキャストして送信する、
ことを備えることを特徴とするブロードキャストパケット転送方法。
（付記２）
前記中継ユニットにおいて、自身が受信した前記ブロードキャストパケットを、自身に対して通知された前記遅延時間の情報に対応する遅延時間だけ遅延させて、他の前記通信ユニットにブロードキャストして転送することを順次実行することを備えることを特徴とする付記１に記載のブロードキャストパケット転送方法。
（付記３）
前記ゲートウェイユニットにおいて、前記通信ユニットからの定期的なパケット通知により前記通信ユニットの経路情報が変更された場合には、前記変更された経路情報に基づいて、前記隣接中継ユニットの抽出と、前記配信順序と前記配信順序に対応する遅延時間の決定を修正し、前記決定した遅延時間の情報を前記隣接中継ユニットに通知する、
ことを備えることを特徴とする付記１または２のいずれかに記載のブロードキャストパケット転送方法。
（付記４）
他の通信ユニットに関するパケットを転送した実績があるか否かを所定期間ごとに判定することにより、自身が他の通信ユニットにパケットを転送する中継ユニットであるか否かを自律的に判定することをさらに備える、
ことを備えることを特徴とする付記１に記載のブロードキャストパケット転送方法。
（付記５）
前記通信ユニットにおいて、前記所定時間ごとに自身が前記中継ユニットであることを示す中継ユニットフラグをクリアし、前記他の通信ユニットに関するパケットを転送したときに前記中継ユニットフラグをセットすることにより、自身が前記中継ユニットであるか否かを自律的に判定する、
ことを特徴とする付記４に記載のブロードキャストパケット転送方法。
（付記６）
前記他の通信ユニットに関するパケットの転送時に、前記転送するパケットの送信元および宛先の通信ユニットに関する情報を収集することにより、自身と他の通信ユニットとの通信接続の状況を示す経路情報を生成し、
前記経路情報に基づいて、前記隣接中継ユニットを抽出し、
前記経路情報に基づいて、一つ以上の前記隣接中継ユニットおよびそれらの配下の中継ユニットの数を算出する、
ことを備えることを特徴とする付記４または５のいずれかに記載のブロードキャストパケット転送方法。
（付記７）
前記他の通信ユニットに関するパケットは、前記通信ユニットのそれぞれから外部のネットワークとの通信を仲介する通信ユニットであるゲートウェイユニットを宛先として定期的に通知されるパケットである、
ことを特徴とする付記４ないし６のいずれかに記載のブロードキャストパケット転送方法。
（付記８）
前記通信ユニットのそれぞれにおいて、前記ブロードキャストパケットの受信率を前記定例パケットを用いて前記ゲートウェイユニットに通知することを備え、
前記ゲートウェイユニットにおいて、
前記定例パケットを受信することにより、前記通信ユニットのそれぞれにおける前記ブロードキャストパケットの受信状況を検知し、
前記ブロードキャストパケットの受信ロスがある通信ユニットの近隣の前記ブロードキャストパケットを受信済みの通信ユニットに、前記受信ロスがある通信ユニットに対する前記ブロードキャストパケットの補完指示を送信する、
ことを備え、
前記通信ユニットにおいて、前記補完指示を受信した場合に、前記受信した補完指示が示す前記受信ロスがある通信ユニットと通信することにより、前記受信ロスを解消することを備える、
ことを特徴とする付記１ないし７のいずれかに記載のブロードキャストパケット転送方法。
（付記９）
前記遅延時間単位を前記通信ユニット間のパケットの伝搬遅延時間に基づいて決定し、
前記配信順序に沿って、１番目の配信順序の隣接中継ユニットへの遅延時間をゼロに決定し、
２番目以降の配信順序の隣接中継ユニットへの遅延時間を、直前の配信順序の隣接中継ユニットに対して決定した遅延時間に、前記直前の配信順序の隣接中継ユニットおよびその配下の中継ユニットの数を前記遅延時間単位に乗算して得た遅延時間を加算して得た時間として決定する、
ことを備えることを特徴とする付記１ないし８のいずれかに記載のブロードキャストパケット転送方法。
（付記１０）
無線ネットワークを構成しブロードキャストパケットを転送する機能を有する通信ユニットであって、
自身と１ホップで通信し他の通信ユニットにパケットを転送する中継ユニットを隣接中継ユニットとして抽出し、一つ以上の前記隣接中継ユニットおよびそれらの配下の中継ユニットの数を算出し、前記算出したユニット数を基に、前記隣接中継ユニットに前記ブロードキャストパケットを配信する配信順序と前記配信順序に対応する遅延時間を決定し、前記決定した遅延時間の情報を前記隣接中継ユニットに通知する送信タイミング分散制御部と、
前記隣接中継ユニットと異なる隣接中継ユニットから前記ブロードキャストパケットを受信し、前記遅延時間の情報に対応する遅延時間だけ遅延させて、他の前記通信ユニットにブロードキャストして転送するブロードキャスト分散転送部と、
を備えることを特徴とする通信ユニット。
（付記１１）
他の通信ユニットに関するパケットを転送した実績があるか否かを所定期間ごとに判定することにより、自身が他の通信ユニットにパケットを転送する中継ユニットであるか否かを自律的に判定する中継ユニット自律判定部をさらに備える、
ことを特徴とする付記１０に記載の通信ユニット。
（付記１２）
前記中継ユニット自律判定部は、前記所定時間ごとに自身が前記中継ユニットであることを示す中継ユニットフラグをクリアし、前記他の通信ユニットに関するパケットを転送したときに前記中継ユニットフラグをセットすることにより、自身が前記中継ユニットであるか否かを自律的に判定する、
ことを特徴とする付記１１に記載の通信ユニット。
（付記１３）
前記中継ユニットと判定した場合に、前記他の通信ユニットに関するパケットの転送時に、前記転送するパケットの送信元および宛先の通信ユニットに関する情報を収集することにより、自身と他の通信ユニットとの通信接続の状況を示す経路情報を生成する経路情報生成部をさらに備え、
前記送信タイミング分散制御部は、前記経路情報に基づいて、前記隣接中継ユニットを抽出し、前記経路情報に基づいて、一つ以上の前記隣接中継ユニットおよびそれらの配下の中継ユニットの数を算出する、
ことを特徴とする付記１１または１２のいずれかに記載の通信ユニット。
（付記１４）
前記他の通信ユニットに関するパケットは、前記通信ユニットのそれぞれから外部のネットワークとの通信を仲介する通信ユニットであるゲートウェイユニットを宛先として定期的に通知されるパケットである、
ことを特徴とする付記１１ないし１３のいずれかに記載の通信ユニット。
（付記１５）
前記ゲートウェイユニットを構成する通信ユニットであって、
前記定例パケットを受信することにより、前記通信ユニットのそれぞれにおける前記ブロードキャストパケットの受信状況を検知する受信状況検知部と、
前記ブロードキャストパケットの受信ロスがある通信ユニットの近隣の前記ブロードキャストパケットを受信済みの通信ユニットに、前記受信ロスがある通信ユニットに対する前記ブロードキャストパケットの補完指示を送信する補完指示送信部と、
を備えることを特徴とする付記１０ないし１１４のいずれかに記載の通信ユニット。
（付記１６）
前記ゲートウェイユニット以外の通信ユニットであって、
前記ブロードキャストパケットの受信率を前記定例パケットを用いて前記ゲートウェイユニットに通知する受信率通知部と、
前記ゲートウェイユニットから前記補完指示を受信した場合に、前記受信した補完指示が示す前記受信ロスがある通信ユニットと通信することにより、前記受信ロスを解消する受信ロス解消部と、
を備えることを特徴とする付記１５に記載の通信ユニット。
（付記１７）
前記送信タイミング分散制御部は、前記遅延時間単位を前記通信ユニット間のパケットの伝搬遅延時間に基づいて決定し、前記配信順序に沿って、１番目の配信順序の隣接中継ユニットへの遅延時間をゼロに決定し、２番目以降の配信順序の隣接中継ユニットへの遅延時間を、直前の配信順序の隣接中継ユニットに対して決定した遅延時間に、前記直前の配信順序の隣接中継ユニットおよびその配下の中継ユニットの数を前記遅延時間単位に乗算して得た遅延時間を加算して得た時間として決定する、
ことを特徴とする付記１０ないし１１６のいずれかに記載の通信ユニット。
（付記１８）
無線ネットワークを構成しブロードキャストパケットを転送する機能を有する通信ユニットのプロセッサに、
自身と１ホップで通信し他の通信ユニットにパケットを転送する中継ユニットを隣接中継ユニットとして抽出し、一つ以上の前記隣接中継ユニットおよびそれらの配下の中継ユニットの数を算出し、前記算出したユニット数を基に、前記隣接中継ユニットに前記ブロードキャストパケットを配信する配信順序と前記配信順序に対応する遅延時間を決定し、前記決定した遅延時間の情報を前記隣接中継ユニットに通知する機能と、
前記隣接中継ユニットと異なる隣接中継ユニットから前記ブロードキャストパケットを受信し、前記遅延時間の情報に対応する遅延時間だけ遅延させて、他の前記通信ユニットにブロードキャストして転送する機能と、
を実行させるためのプログラム。
（付記１９）
前記通信ユニットのプロセッサに、
他の通信ユニットに関するパケットを転送した実績があるか否かを所定期間ごとに判定することにより、自身が他の通信ユニットにパケットを転送する中継ユニットであるか否かを自律的に判定する機能をさらに実行させるための付記１９に記載のプログラム。
（付記２０）
前記通信ユニットのプロセッサに、前記所定時間ごとに自身が前記中継ユニットであることを示す中継ユニットフラグをクリアし、前記他の通信ユニットに関するパケットを転送したときに前記中継ユニットフラグをセットすることにより、自身が前記中継ユニットであるか否かを自律的に判定する機能を実行させるための付記１９のいずれかに記載のプログラム。
（付記２１）
前記通信ユニットのプロセッサに、
前記他の通信ユニットに関するパケットの転送時に、前記転送するパケットの送信元および宛先の通信ユニットに関する情報を収集することにより、自身と他の通信ユニットとの通信接続の状況を示す経路情報を生成する機能と、
前記経路情報に基づいて、前記隣接中継ユニットを抽出する機能と、
前記経路情報に基づいて、一つ以上の前記隣接中継ユニットおよびそれらの配下の中継ユニットの数を算出する機能と、
を実行させるための付記１９または２０のいずれかに記載のプログラム。
（付記２２）
前記他の通信ユニットに関するパケットは、前記通信ユニットのそれぞれから外部のネットワークとの通信を仲介する通信ユニットであるゲートウェイユニットを宛先として定期的に通知されるパケットである、
ことを特徴とする付記１９ないし２１のいずれかに記載のプログラム。
（付記２３）
前記ゲートウェイユニットを構成する通信ユニットのプロセッサに、
前記定例パケットを受信することにより、前記通信ユニットのそれぞれにおける前記ブロードキャストパケットの受信状況を検知する機能と、
前記ブロードキャストパケットの受信ロスがある通信ユニットの近隣の前記ブロードキャストパケットを受信済みの通信ユニットに、前記受信ロスがある通信ユニットに対する前記ブロードキャストパケットの補完指示を送信する機能と、
を実行させるための付記１８ないし２２のいずれかに記載のプログラム。
（付記２４）
前記ゲートウェイユニット以外の通信ユニットのプロセッサに、
前記ブロードキャストパケットの受信率を前記定例パケットを用いて前記ゲートウェイユニットに通知する機能と、
前記補完指示を受信した場合に、前記受信した補完指示が示す前記受信ロスがある通信ユニットと通信することにより、前記受信ロスを解消する機能と、
を実行させるための付記２３に記載のプログラム。
（付記２５）
前記通信ユニットのプロセッサに、前記中継ユニットと判定した場合に、
前記遅延時間単位を前記通信ユニット間のパケットの伝搬遅延時間に基づいて決定する機能と、
前記配信順序に沿って、１番目の配信順序の隣接中継ユニットへの遅延時間をゼロに決定する機能と、
２番目以降の配信順序の隣接中継ユニットへの遅延時間を、直前の配信順序の隣接中継ユニットに対して決定した遅延時間に、前記直前の配信順序の隣接中継ユニットおよびその配下の中継ユニットの数を前記遅延時間単位に乗算して得た遅延時間を加算して得た時間として決定する機能と、
を実行させるための付記１８ないし２４のいずれかに記載のプログラム。
【符号の説明】
【０１７８】
１０１  通信ユニット
１０２  ＧＷ（ゲートウェイ）
１０３  無線ネットワーク
１０４  サーバ
１０５  外部ネットワーク
７００  検針管理部
７０１  中継ユニット自律判定部
７０２  送信タイミング分散制御部
７０３  ブロードキャスト分散転送部
７０４  経路情報生成部
７０５  受信率通知部
７０６  受信ロス解消部
７０７  無線送受信制御部
７０８  アンテナ
７０９  検針計量器インタフェース
７１０  検針計量器
８００  ＧＷ管理部
８０１  受信状況検知部
８０２  補完指示送信部
８０３  有線送受信制御部
【図７】
0005870806.tif 000002
【図８】
0005870806.tif 000003
【図９】
0005870806.tif 000004
【図１１】
0005870806.tif 000005
【図１６】
0005870806.tif 000006
【図１】
0005870806.tif 000007
【図２】
0005870806.tif 000008
【図３】
0005870806.tif 000009
【図４】
0005870806.tif 000010
【図５】
0005870806.tif 000011
【図６】
0005870806.tif 000012
【図１０】
0005870806.tif 000013
【図１２】
0005870806.tif 000014
【図１３】
0005870806.tif 000015
【図１４】
0005870806.tif 000016
【図１５】
0005870806.tif 000017