(57)【要約】【課題】無線通信の品質劣化を抑制することを課題とする。【解決手段】ノードは、複数のＧＷ装置それぞれに対する経路情報各々に対応付けて、当該経路情報を用いたデータ通信の使用頻度を記憶する。ノードは、第１のＧＷ装置を送信元とするデータを受信した場合に、使用頻度に基づいて、記憶される経路情報のうち使用頻度が少ない経路情報を特定する。ノードは、特定された経路情報を、第１のＧＷ装置を宛先とする経路情報に更新する。【選択図】図３
2015015585.tif 000002
【特許請求の範囲】
【請求項１】
複数の宛先それぞれに対する経路情報各々に対応付けて、当該経路情報を用いたデータ通信の使用頻度を記憶する記憶部と、
第１の装置を送信元とするデータを受信した場合に、前記使用頻度に基づいて、前記記憶部に記憶される経路情報のうち使用頻度が少ない経路情報を特定し、前記特定された経路情報を、前記第１の装置を宛先とする経路情報に更新する経路情報設定部と
を有することを特徴とする無線通信装置。
【請求項２】
前記経路情報設定部は、前記第１の装置を送信元とする前記データを受信した場合に、前記第１の装置を宛先とする第１の経路情報が前記記憶部に記憶されているか否かを判定し、前記第１の経路情報が前記記憶部に記憶されていないと判定した場合、前記使用頻度が最小の経路情報を前記第１の経路情報に更新することを特徴とする請求項１に記載の無線通信装置。
【請求項３】
前記第１の装置を宛先とする前記データを送信するとともに、前記記憶部に記憶された前記第１の経路情報に対応付けられる前記使用頻度を更新する転送処理部を有することを特徴とする請求項１または２に記載の無線通信装置。
【請求項４】
前記経路情報設定部は、アドホックネットワークで接続される第２の装置から、前記第２の装置の生存確認を示す生存確認フレームを一定時間受信しない場合に、前記第２の装置を宛先とする第２の経路情報に対応付けられる前記使用頻度に、前記第２の経路情報が使用できないことを示す最小値を設定することを特徴とする請求項１〜３のいずれか一つに記載の無線通信装置。
【請求項５】
前記記憶部は、前記無線通信装置が所定データの宛先として指定される指定宛先をさらに記憶し、
前記経路情報設定部は、前記第２の装置が前記指定宛先である場合には、前記記憶部に記憶される経路情報および前記使用頻度に基づいて、前記指定宛先とは異なる宛先を、前記指定宛先に設定することを特徴とする請求項１〜４のいずれか一つに記載の無線通信装置。
【請求項６】
無線通信装置が、
第１の装置を送信元とするデータを受信した場合に、複数の宛先それぞれに対する経路情報各々に対応付けて、当該経路情報を用いたデータ通信の使用頻度を記憶する記憶部を参照し、
前記使用頻度に基づいて、前記記憶部に記憶される経路情報のうち使用頻度が少ない経路情報を特定し、
特定された経路情報を、前記第１の装置を宛先とする経路情報に更新する
処理を含んだことを特徴とする無線通信方法。
【請求項７】
無線通信装置が、
第１の装置を宛先とするデータを送信した場合に、前記第１の経路情報に対応付けられる前記使用頻度を更新する処理をさらに含んだことを特徴とする請求項６に記載の無線通信方法。
【請求項８】
無線通信装置に、
第１の装置を送信元とするデータを受信した場合に、複数の宛先それぞれに対する経路情報各々に対応付けて、当該経路情報を用いたデータ通信の使用頻度を記憶する記憶部を参照し、
前記使用頻度に基づいて、前記記憶部に記憶される経路情報のうち使用頻度が少ない経路情報を特定し、
特定された経路情報を、前記第１の装置を宛先とする経路情報に更新する
処理を実行させることを特徴とする無線通信プログラム。
【請求項９】
無線通信装置に、
第１の装置を宛先とするデータを送信した場合に、前記第１の経路情報に対応付けられる前記使用頻度を更新する処理をさらに実行させることを特徴とする請求項８に記載の無線通信プログラム。
【請求項１０】
アドホックネットワークで接続される複数の無線通信装置を有する無線通信システムにおいて、
各無線通信装置は、
前記アドホックネットワークで接続される複数の宛先それぞれに対する経路情報各々に対応付けて、当該経路情報を用いたデータ通信の使用頻度を記憶する記憶部と、
前記アドホックネットワークで接続される第１の装置を送信元とするデータを受信した場合に、前記使用頻度に基づいて、前記記憶部に記憶される経路情報のうち使用頻度が少ない経路情報を特定し、前記特定された経路情報を、前記第１の装置を宛先とする経路情報に更新する経路情報設定部と
を有することを特徴とする無線通信システム。
【請求項１１】
前記各無線通信装置は、前記アドホックネットワークで接続される第１の装置を宛先とするデータを送信し、前記第１の経路情報に対応付けられる前記使用頻度を更新する転送処理部をさらに有することを特徴とする請求項１０に記載の無線通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信装置、無線通信方法、無線通信プログラムおよび無線通信システムに関する。
【背景技術】
【０００２】
従来から、無線アドホックネットワークを用いて、無線端末からデータを収集する無線通信システムが知られている。例えば、家庭で使用される電力等を検針する検針メータに無線端末を設置し、検針データを収集するシステムが利用されている。
【０００３】
このような無線端末は、固定的に設置されることが多いことから、プロアクティブ型のルーティングプロトコルを用いて経路情報を学習する。具体的には、無線端末は、１ホップで接続される隣接端末との間で定期的に制御メッセージを送受信することで、各ノード間の経路品質を測定し、経路品質が良い順に最終宛先までの経路をルーティングテーブルに複数保持する。近年では、無線端末の省メモリ化が進み、ルーティングテーブルに登録できるエントリ数に上限数が設けられている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−９３６０８号公報
【特許文献２】特開２０１０−２３２９６７号公報
【特許文献３】特開２０１１−０９７４５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記技術では、ルーティングテーブルのエントリ数に上限があるので、エントリの更新が発生するが、エントリの更新によって使用頻度の高い経路が保持できなくなり、通信断が発生する場合がある。
【０００６】
１つの側面では、本発明は、無線通信の品質劣化を抑制することができる無線通信装置、無線通信方法、無線通信プログラムおよび無線通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
１つの態様では、無線通信装置は、複数の宛先それぞれに対する経路情報各々に対応付けて、当該経路情報を用いたデータ通信の使用頻度を記憶する記憶部を有する。無線通信装置は、第１の装置を送信元とするデータを受信した場合に、前記使用頻度に基づいて、前記記憶部に記憶される経路情報のうち使用頻度が少ない経路情報を特定し、特定された経路情報を、前記第１の装置を宛先とする経路情報に更新する経路情報設定部を有する。
【発明の効果】
【０００８】
１つの側面として、無線通信の品質劣化を抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１に係る無線通信システムの全体構成例を示す図である。
【図２】図２は、実施例１に係るノードのハードウェア構成例を示す図である。
【図３】図３は、実施例１に係るノードの機能構成を示す機能ブロック図である。
【図４】図４は、ルーティングテーブルに記憶される情報の例を示す図である。
【図５】図５は、ルーティングテーブルの更新を説明する図である。
【図６】図６は、実施例１に係るフレーム受信処理の流れを示すフローチャートである。
【図７】図７は、実施例１に係る経路情報設定処理の流れを示すフローチャートである。
【図８】図８は、実施例１に係る転送処理の流れを示すフローチャートである。
【図９】図９は、実施例１に係るタイマ処理の流れを示すフローチャートである。
【図１０】図１０は、経路更新の具体例を説明する図である。
【図１１】図１１は、ＧＷ装置２からノードＧおよびＧＷ装置１からノードＢへ送信されたフレームによって経路情報が更新される例を説明する図である。
【図１２】図１２は、図１１から続いてＧＷ装置１からノードＨへ送信されたフレームによって経路情報が更新される例を説明する図である。
【図１３】図１３は、図１２から追加されたＧＷ装置３からノードＡへ送信されたフレームによって経路情報が更新される例を説明する図である。
【図１４】図１４は、ノードＡが経路を保持することを説明する図である。
【図１５】図１５は、死活監視を説明する図である。
【図１６】図１６は、死活監視を説明する図である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示する無線通信装置、無線通信方法、無線通信プログラムおよび無線通信システムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例または具体例は、矛盾がない範囲で適宜組み合わせることができる。
【実施例１】
【００１１】
［全体構成］
図１は、実施例１に係る無線通信システムの全体構成例を示す図である。図１に示すように、この無線通信システムは、ノードＡからノードＨ、ＧＷ（GateWay）装置１、ＧＷ装置２を有するシステムである。
【００１２】
ＧＷ装置１およびＧＷ装置２には、各ノードからデータを収集する管理サーバ等が接続される。各ノードは、家庭で使用される電力等を検針する検針メータから検針データを取得して、ＧＷ装置に接続される管理サーバに送信する無線端末である。また、各ノードには、省メモリ化から、ルーティングテーブルに保持できるエントリ数に上限が設けられている。
【００１３】
この無線通信システムの各ノードは、プロアクティブ型のルーティングプロトコルを用いて経路情報を学習する。すなわち、各ノードは、１ホップで接続される隣接端末との間で定期的に制御メッセージを送受信することで、各ノード間の経路品質を測定し、経路品質が良い順に最終宛先までの経路をルーティングテーブルに複数保持する。
【００１４】
このような状態において、各ノードは、複数のＧＷ装置それぞれに対する経路情報各々に対応付けて、データ通信に当該経路情報が使用された使用情報を記憶する。そして、各ノードは、所定のＧＷ装置を送信元とするデータを中継した場合に、使用情報に基づいて、記憶される経路情報のうち使用頻度が少ない経路情報を特定する。その後、各ノードは、特定された経路情報を、所定のＧＷ装置を宛先とする経路情報に更新する。
【００１５】
このように、ノードは、ＧＷ宛の経路情報に対応付けて使用頻度を記憶し、新たな経路情報を追加する場合に、使用頻度が最小の経路情報を削除して追加するので、使用頻度の高い経路情報を保持し、無線通信の品質劣化を抑制できる。
【００１６】
［ハードウェア構成］
図２は、実施例１に係るノードのハードウェア構成例を示す図である。なお、図１に示した各ノードは同様の構成を有するので、ここでは、ノード１０として説明する。また、各ＧＷ装置は、一般的なＧＷ装置と同様のハードウェア構成を有するので、ここでは詳細な説明は省略する。
【００１７】
図２に示すように、ノード１０は、通信制御部１０ａと、ＰＨＹ（physical  layer）１０ｂと、バスインタフェース部１０ｃと、ＳＰＩ（Serial  Peripheral  Interface）１０ｄと、メモリ１０ｅと、ＣＰＵ（Central  Processing  Unit）１０ｆとを有する。
【００１８】
通信制御部１０ａは、他のノードやＧＷ装置との通信を実行する処理部であり、例えば、アンテナやネットワークインタフェースカードである。ＰＨＹ１０ｂは、物理層のハードウェア部であり、物理層におけるネットワーク接続やデータ伝送に関する動作が規定され、通信制御部１０ａを介して相手装置との通信を実現する。なお、ＰＨＹ１０ｂは、ソフトウェアで実装することも可能である。
【００１９】
バスインタフェース部１０ｃは、ＣＰＵ１０ｆ、メモリ１０ｅ、ＰＨＹ１０ｂ、ＳＰＩ１０ｄ等の間で信号をやりとりするためのバスインタフェースである。ＳＰＩ１０ｄは、各種センサ５０と端末１０とを接続するインタフェースである。なお、センサ５０は、例えば電力等の検針メータ等であり、ノード１０内に内蔵されていてもよい。
【００２０】
メモリ１０ｅは、ＲＯＭ（Read  Only  Member）、ＲＡＭ（Random  Access  Memory）等を含み、本実施例の通信方法における各種処理を実現するためのプログラムや、後述するルーティングテーブルや、処理の過程で得られたデータ等を記憶する記憶装置である。ＣＰＵ１０ｆは、ノード１０の各種処理を司る処理部であり、本実施例の通信方法における各種処理等を実行する。
【００２１】
［機能構成］
図３は、実施例１に係るノードの機能構成を示す機能ブロック図である。なお、図１に示した各ノードは同様の構成を有するので、ここでは、ノード１０として説明する。
【００２２】
図３に示すように、ノード１０は、ルーティングテーブル１１、受信部１２、送信部１３、フレーム解析部１４、転送処理部１５、ルーティング制御部１６を有する。
【００２３】
例えば、ルーティングテーブル１１は、図２に示したメモリ等の記憶装置に格納される。また、受信部１２、送信部１３は、図２に示した通信制御部１０ａが有する回路や通信制御部１０ａが実行するプロセスなどである。同様に、フレーム解析部１４、転送処理部１５、ルーティング制御部１６は、図２に示したＣＰＵ１０ｆが有する回路やＣＰＵ１０ｆが実行するプロセスである。
【００２４】
ルーティングテーブル１１は、ＧＷ装置までの経路情報を記憶するテーブルである。図４は、ルーティングテーブルに記憶される情報の例を示す図である。図４に示すように、ルーティングテーブル１１は、「指定ＧＷ、ＧＤ（Global  Destination）、ＬＤ（Local  Destination）、ＴＴＬ（Time  To  Live）、品質、経路タイマ」を対応付けて記憶する。
【００２５】
ここで記憶される「指定ＧＷ」は、管理者等から指定された検針データの送信先を示す情報である。「ＧＤ」は、最終宛先となるＧＷ装置を示す情報である。「ＬＤ」は、最終宛先（ＧＤ）へデータを中継する際の次の送信先を示す情報である。「ＴＴＬ」は、エントリの有効カウンタであり、ＧＤからの生存確認フレームを受信した時点でリセットされ、時間経過で減算される。「品質」は、経路の品質を示す情報である。「経路タイマ」は、経路情報が使用された使用頻度を示す一例であり、ＧＤ宛のフレームを転送するとリセットされ、時間経過で減算されるタイマ値である。
【００２６】
図４は、一例としてノードＡが記憶するルーティングテーブルを示している。図４の場合、ノードＡは、指定ＧＷとして「ＧＷ装置１」が指定されている。そして、ノードＡは、ＧＷ装置１への経路として、ＬＤ「ＧＷ１」、ＴＴＬ「２５」、品質「４０」、経路タイマ「１００」を記憶する。また、ノードＡは、ＧＷ装置２への経路として、ＬＤ「ノードＣ」、ＴＴＬ「２５」、品質「８０」、経路タイマ「６０」を記憶する。
【００２７】
すなわち、ノードＡは、ＧＷ装置１と１ホップで接続でき、経路の品質もよく、ＧＷ装置１への経路を頻繁に利用している。また、ノードＡは、ＧＷ装置２へフレームを送信する際には、ノードＣを経由して送信し、経路の品質はＧＷ装置１への経路に比べて悪く、ＧＷ装置２への経路を４０分利用していない。
【００２８】
受信部１２は、フレームを受信する処理部である。具体的には、受信部１２は、各ノードまたはＧＷ装置から送信されたフレームを受信してフレーム解析部１４や転送処理部１５に当該フレームを出力する。
【００２９】
例えば、受信部１２は、ＧＷ装置から他ノード宛に送信されたフレームまたはＧＷ装置から自ノード宛に送信されたフレームである要求フレームを受信する。また、受信部１２は、要求フレームに対する応答である通知フレームを受信する。また、受信部１２は、ＧＷ装置または他ノードから送信された、生存確認を示す生存確認フレームを受信する。
【００３０】
送信部１３は、フレームを送信する処理部である。具体的には、送信部１３は、他ノード宛に送信されたフレームを次の宛先ノードに送信し、ＧＷ装置宛のフレームを送信する。例えば、送信部１３は、転送処理部１５に指示された経路にフレームを送信する。
【００３１】
フレーム解析部１４は、受信部１２が受信した受信フレームを解析する処理部である。具体的には、フレーム解析部１４は、受信フレームが要求フレームか通知フレームか、自ノード宛や他ノード宛かを解析して、ルーティング制御部１６や転送処理部１５に当該フレームおよび解析結果を出力する。
【００３２】
例えば、フレーム解析部１４は、受信フレームの送信元がＧＷ装置である場合には、当該受信フレームを要求フレームと判定する。また、フレーム解析部１４は、受信フレームの宛先がＧＷ装置である場合には、当該受信フレームを通知フレームと判定する。
【００３３】
転送処理部１５は、フレームを宛先に転送する処理部である。具体的には、転送処理部１５は、送信対象のフレームの宛先に対応する経路情報をルーティングテーブル１１から特定し、特定した経路情報を用いてフレームを宛先に転送する指示を送信部１３に出力する。また、転送処理部１５は、通知フレームを転送した際に、通知フレームに対応する経路の経路タイマをリセットする。
【００３４】
例えば、転送処理部１５は、受信フレームが要求フレームである場合、要求フレームの宛先をルーティングテーブル１１から特定し、特定した宛先に対応するＬＤに向けて要求フレームを転送する。また、転送処理部１５は、受信された要求フレームに対応する通知フレームを送信する場合、当該要求フレームの送信元をＧＤとする経路をルーティングテーブル１１から特定し、特定した宛先に対応するＬＤに向けて通知フレームを転送する。さらに、転送処理部１５は、通知フレームの宛先に設定される「ＧＷ装置」に対応付けられる「経路タイマ」をリセットする。
【００３５】
ルーティング制御部１６は、経路情報設定部１７とタイマ処理部１８とを有し、ルーティングテーブルの更新等を実行する処理部である。
【００３６】
経路情報設定部１７は、ルーティングテーブル１１の経路情報を更新する処理部である。具体的には、経路情報設定部１７は、ＧＷ装置発の要求フレームを受信した場合に、要求フレームの送信元である「ＧＷ」を「ＧＤ」とする経路情報をルーティングテーブル１１に生成する。
【００３７】
このとき、経路情報設定部１７は、ルーティングテーブル１１のエントリ数が上限値に達している場合には、当該エントリのうち「経路タイマ」が最も小さいエントリを削除して、新たなエントリを登録する。また、経路情報設定部１７は、登録する際にＴＴＬには例えば２５などの初期値を設定する。
【００３８】
さらに、経路情報設定部１７は、各エントリのＬＤと定期的にＨＥＬＬＯメッセージなどの制御メッセージを送受信して品質を測定し、その結果をルーティングテーブル１１に格納する。このような経路情報設定部１７は、ルーティングテーブル１１の各エントリに対して、ＴＴＬの減算等も実行する。
【００３９】
また、経路情報設定部１７は、受信された要求フレームの宛先が自ノードである場合に、ルーティングテーブル１１に経路情報を格納するとともに、当該要求フレームジの送信元を指定ＧＷとしてルーティングテーブル１１に登録する。
【００４０】
また、経路情報設定部１７は、ルーティングテーブル１１に記憶されるＧＷ装置から定期的に送信される生存確認フレームを受信した場合には、生存確認フレームの送信元のＧＷ装置に対応するＴＴＬに「１００」などの初期値を設定して、ＴＴＬをリセットする。一方、経路情報設定部１７は、生存確認フレームを一定期間受信できなかった場合に、該当するＧＷ装置のエントリのＴＴＬを０に設定する。
【００４１】
タイマ処理部１８は、ルーティングテーブル１１に記憶される各エントリの経路タイマを処理する処理部である。具体的には、タイマ処理部１８は、ルーティングテーブル１１に記憶される各エントリの経路タイマを、例えば１分おきに減算していく。なお、タイマ処理部１８は、経路情報設定部１７から生存確認ができないことが通知された場合に、該当するエントリの経路タイマを０に設定する。
【００４２】
このタイマ処理部１８は、経路情報設定部１７から、削除対象のエントリのＧＤが指定ＧＷであることが通知された場合に、他のＧＷ装置を指定ＧＷに登録する。例えば、タイマ処理部１８は、ルーティングテーブル１１に記憶されるエントリのうち、品質が最もよいエントリのＧＤや経路タイマが最も大きいエントリのＧＤを新たな指定ＧＷに設定する。
【００４３】
［ルーティングテーブルの更新例］
図５は、ルーティングテーブルの更新を説明する図である。図５に示す無線ネットワークは、ノードＡ、ノードＢ、ＧＷ装置１、ＧＷ装置２、ＧＷ装置３を有する。なお、ノードＡおよびノードＢは、図３と同様の機能を実行する。ノードＡとノードＢ、ノードＡとＧＷ装置１、ノードＡとＧＷ装置２、ノードＢとＧＷ装置３は、互いに１ホップの位置に位置する。また、各ノードのルーティングテーブルに記憶できるエントリの上限数が２であるとする。
【００４４】
ノードＡは、初期状態として、ルーティングテーブルに「指定ＧＷ＝なし、（ＧＤ、経路タイマ）＝（ＧＷ１、０）、（ＧＷ２、０）」を保持する。同様に、ノードＢは、初期状態として、ルーティングテーブルに「指定ＧＷ＝なし、（ＧＤ、経路タイマ）＝（ＧＷ３、０）、（ＧＷ１、０）」を保持する。なお、ここでは、説明上、ルーティングテーブルを簡略化している。
【００４５】
このような状態において、ＧＷ装置１は、検針データ等を要求する要求フレームをノードＢに向けて送信する。ＧＷ装置１から１ホップの位置にあるノードＡは、ＧＷ装置１が送信した要求フレームを受信する。その後、ノードＡは、受信した要求フレームを宛先のノードＢに向けて転送する。
【００４６】
その後、ノードＡから１ホップの位置にあるノードＢが、ノードＡが中継した要求フレームを受信する。すると、ノードＢは、要求フレームの宛先が自ノードであることと、要求フレームの送信元が「ＧＷ１」であることを特定する。この結果、ノードＢは、要求フレームの宛先が自ノードであることから、指定ＧＷに「ＧＷ１」を設定する。
【００４７】
その後、ノードＢは、要求フレームに対する応答として、検針データ等を含む通知フレームをＧＷ装置１に向けて送信する。このとき、ノードＢは、ルーティングテーブル１１を参照し、通知フレームの宛先である「ＧＷ１」を「ＧＤ」とするエントリの「経路タイマ」に初期値「６０」を設定する。
【００４８】
また、ノードＢから１ホップの位置にあるノードＡは、ノードＢが送信した通知フレームを受信し、宛先であるＧＷ装置１に向けて中継する。このとき、ノードＡは、受信した通知フレームのヘッダ等から送信元が「ノードＢ」および宛先が「ＧＷ１」であることを特定する。そして、ノードＡは、ルーティングテーブルを参照し、通知フレームの宛先である「ＧＷ１」を「ＧＤ」とするエントリの「経路タイマ」に初期値「６０」を設定する。
【００４９】
１０分後、ＧＷ装置３からノードＡに向けて要求フレームが送信されたとする。したがって、ノードＡおよびノードＢのルーティングテーブルでは、「ＧＷ１」のエントリについて経路タイマが１０分減算されて、「５０」となる。
【００５０】
そして、ＧＷ装置３から１ホップの位置にあるノードＢが、当該要求フレームを受信する。このとき、ノードＢは、受信した要求フレームのヘッダ等から送信元が「ＧＷ３」および宛先が「ノードＡ」であることを特定する。そして、ノードＢは、受信した要求フレームを宛先のノードＡに向けてブロードキャスト等で送信する。
【００５１】
その後、ノードＢから１ホップの位置にあるノードＡが、ノードＢが中継した要求フレームを受信する。すると、ノードＡは、要求フレームの宛先が自ノードであることと、要求フレームの送信元が「ＧＷ３」であることを特定する。この結果、ノードＡは、要求フレームの宛先が自ノードであることから、指定ＧＷに「ＧＷ３」を設定する。
【００５２】
続いて、ノードＡは、要求フレームに対する応答として、検針データ等を含む通知フレームをＧＷ装置３に向けて送信する。このとき、ノードＡは、ルーティングテーブル１１を参照し、要求フレームの送信元である「ＧＷ３」を「ＧＤ」とするエントリの作成を実行する。
【００５３】
具体的には、ノードＡは、ルーティングテーブルには「ＧＤ＝ＧＷ１」のエントリと「ＧＤ＝ＧＷ２」のエントリが存在するので、上限値に達していると判定する。このため、ノードＡは、「ＧＤ＝ＧＷ１」のエントリの「経路タイマ＝５０」と、「ＧＤ＝ＧＷ２」のエントリの「経路タイマ＝０」とを比較し、さらに、指定ＧＷがＧＷ２ではないことから、「ＧＤ＝ＧＷ２」のエントリを削除する。その後、ノードＡは、要求フレームの送信元である「ＧＷ３」を「ＧＤ」とし、「経路タイマ」に初期値「６０」を設定したエントリをルーティングテーブルに生成する。
【００５４】
その後、ノードＡから１ホップの位置にあるノードＢが、ノードＡが送信した通知フレームを受信する。すると、ノードＢは、通知フレームの宛先が「ＧＷ３」であることと、通知フレームの送信元が「ノードＡ」であることを特定する。この結果、ノードＢは、ルーティングテーブル１１を参照し、通知フレームの宛先である「ＧＷ３」を「ＧＤ」とするエントリの「経路タイマ」に初期値「６０」を設定する。
【００５５】
このように、各ノードは、ルーティングテーブルの各エントリの使用頻度に基づいて、エントリの更新を実行できるので、使用頻度の高いエントリを優先して保持することができる。
【００５６】
［処理の流れ］
次に、各ノードが実行する処理の流れについて説明する。ここでは、フレームを受信した時に実行するフレーム受信処理、ルーティングテーブルを更新する経路情報設定処理、フレームを宛先に転送する転送処理、経路情報の経路タイマを制御するタイマ処理について説明する。なお、ここでもノード１０を例にして説明する。
【００５７】
（フレーム受信処理）
図６は、実施例１に係るフレーム受信処理の流れを示すフローチャートである。図６に示すように、ノード１０の受信部１２がフレームを受信すると、フレーム解析部１４は、受信フレームが生存確認フレームか否かを判定する（Ｓ１０１）。例えば、フレーム解析部１４は、受信フレームのヘッダ等を参照して、生存確認フレームであることを示す識別子等が含まれているか否かを判定する。
【００５８】
そして、経路情報設定部１７は、生存確認フレームであると判定された場合（Ｓ１０１：Ｙｅｓ）、受信フレームの送信元に対応するルーティングテーブル１１のエントリのＴＴＬをリセットする（Ｓ１０２）。
【００５９】
続いて、フレーム解析部１４が受信フレームの宛先が自ノード１０であると判定した場合（Ｓ１０３：Ｎｏ）、ノード１０は、受信処理を実行する（Ｓ１０４）。例えば、ノード１０は、センサ５０から検針データを取得して、通知フレームの生成および送信を実行する。
【００６０】
一方、フレーム解析部１４が受信フレームの宛先が他ノードであると判定した場合（Ｓ１０３：Ｙｅｓ）、転送処理部１５が後述する転送処理を実行する（Ｓ１０５）。
【００６１】
また、Ｓ１０１において、フレーム解析部１４は、受信フレームを生存確認フレームではないと判定した場合（Ｓ１０１：Ｎｏ）、受信フレームが要求フレームか否かを判定する（Ｓ１０６）。
【００６２】
そして、経路情報設定部１７は、受信フレームが要求フレームであると判定された場合（Ｓ１０６：Ｙｅｓ）、後述する経路情報設定処理を実行する（Ｓ１０７）。一方、受信フレームが要求フレームではないと判定された場合（Ｓ１０６：Ｎｏ）、Ｓ１０３が実行される。
【００６３】
（経路情報設定処理）
図７は、実施例１に係る経路情報設定処理の流れを示すフローチャートである。この処理は、図６のＳ１０７で実行される処理である。
【００６４】
図７に示すように、ノード１０の経路情報設定部１７は、要求フレームと判定された受信フレームのヘッダ等を参照し、受信フレームが自ノード宛のフレームであるか否かを判定する（Ｓ２０１）。
【００６５】
そして、経路情報設定部１７は、受信フレームが自ノード宛のフレームであると判定した場合（Ｓ２０１：Ｙｅｓ）、受信フレームから送信元を抽出して、ルーティングテーブル１１の指定ＧＷに登録する（Ｓ２０２）。
【００６６】
続いて、経路情報設定部１７は、受信フレームの送信元に対応する経路情報がルーティングテーブル１１に登録済みか否かを判定する（Ｓ２０３）。ここで、経路情報設定部１７は、受信フレームの送信元に対応する経路情報がルーティングテーブル１１に登録済みである場合（Ｓ２０３：Ｙｅｓ）、処理を終了する。
【００６７】
一方、経路情報設定部１７は、受信フレームの送信元に対応する経路情報がルーティングテーブル１１に未登録である場合（Ｓ２０３：Ｎｏ）、ルーティングテーブル１１に空きがあるか否かを判定する（Ｓ２０４）。
【００６８】
そして、経路情報設定部１７は、ルーティングテーブル１１に空きがあると判定した場合（Ｓ２０４：Ｙｅｓ）、ルーティングテーブル１１の空きエントリに、受信フレームの送信元のＧＷ装置に対するエントリを登録する（Ｓ２０５）。
【００６９】
一方、経路情報設定部１７は、ルーティングテーブル１１に空きがないと判定した場合（Ｓ２０４：Ｎｏ）、ルーティングテーブル１１において経路タイマが最も古いエントリを削除して（Ｓ２０６）、Ｓ２０５を実行する。つまり、経路情報設定部１７は、経路タイマの値が最も小さい、長時間使用されていない経路情報を削除して、新たなエントリを登録する。
【００７０】
（転送処理）
図８は、実施例１に係る転送処理の流れを示すフローチャートである。この処理は、図６のＳ１０５で実行される処理である。
【００７１】
図８に示すように、ノード１０の転送処理部１５は、生存確認フレームまたは他ノード宛と判定された受信フレームを、次に宛先への送信フレームとしてＳ３０１を実行する。具体的には、転送処理部１５は、受信フレームのヘッダ等に設定される「ＧＤ」を抽出し、当該「ＧＤ」に対する「ＬＤ」をルーティングテーブル１１から特定して、送信フレームの「ＬＤ」に設定する（Ｓ３０１）。
【００７２】
続いて、転送処理部１５は、送信フレームが通知フレームか否かを判定する（Ｓ３０２）。そして、転送処理部１５は、送信フレームが通知フレームではないと判定した場合（Ｓ３０２：Ｎｏ）、当該送信フレームを宛先に向けて送信する（Ｓ３０３）。
【００７３】
一方、転送処理部１５は、送信フレームが通知フレームであると判定した場合（Ｓ３０２：Ｙｅｓ）、送信フレームの「ＧＤ」に設定されるＧＷ装置に対応するルーティングテーブル１１のエントリの経路タイマをリセットする（Ｓ３０４）。その後、転送処理部１５は、Ｓ３０３を実行する。
【００７４】
（転送処理）
図９は、実施例１に係るタイマ処理の流れを示すフローチャートである。図９に示すように、ノード１０のタイマ処理部１８は、タイマ処理の未処理エントリをルーティングテーブル１１から特定する（Ｓ４０１）。ここで、タイマ処理部１８は、該当するエントリがない場合には（Ｓ４０２：Ｙｅｓ）、処理を終了する。
【００７５】
一方、タイマ処理部１８は、該当するエントリがある場合には（Ｓ４０２：Ｎｏ）、対象エントリの経路タイマが１以上か否かを判定する（Ｓ４０３）。経路タイマが１以上である場合（Ｓ４０３：Ｙｅｓ）、タイマ処理部１８は、対象エントリの経路タイマを減算する（Ｓ４０４）。なお、対象エントリの経路タイマが０である場合（Ｓ４０３：Ｎｏ）、タイマ処理部１８は、Ｓ４０４を実行することなく、Ｓ４０５を実行する。
【００７６】
そして、タイマ処理部１８は、該当エントリのＴＴＬが１以上か否かを判定する（Ｓ４０５）。そして、タイマ処理部１８は、対象エントリのＴＴＬが１以上である場合（Ｓ４０５：Ｙｅｓ）、当該ＴＴＬを減算する（Ｓ４０６）。なお、対象エントリのＴＴＬが０である場合（Ｓ４０５：Ｎｏ）、タイマ処理部１８は、Ｓ４０６を実行することなく、Ｓ４０７を実行する。
【００７７】
その後、タイマ処理部１８は、減算後のＴＴＬが０ではない場合（Ｓ４０７：Ｙｅｓ）、Ｓ４０１に戻って次のエントリについて上記処理を実行する。
【００７８】
一方、タイマ処理部１８は、減算後のＴＴＬが０である場合（Ｓ４０７：Ｎｏ）、対象エントリが指定ＧＷのエントリであるか否かを判定する（Ｓ４０８）。そして、タイマ処理部１８は、対象エントリが指定ＧＷのエントリではない場合（Ｓ４０８：Ｎｏ）、Ｓ４０１に戻って次のエントリについて上記処理を実行する。
【００７９】
また、タイマ処理部１８は、対象エントリが指定ＧＷのエントリである場合（Ｓ４０８：Ｙｅｓ）、指定ＧＷを変更した後（Ｓ４０９）、Ｓ４０１に戻って次のエントリについて上記処理を実行する。
【００８０】
［経路更新の具体例］
次に、図１０から図１４を用いて、ノードのルーティングテーブルの更新例を説明する。ここで示す無線通信システムの構成は、図１と同様とする。なお、図１０から図１４では、ルーティングテーブルをＲＴと表記する場合がある。
【００８１】
図１０は、経路更新の具体例を説明する図である。図１０に示すように、無線通信システムは、図１と同様、ノードＡからノードＨ、ＧＷ装置１、ＧＷ装置２を有するシステムである。また、図１０において実線で接続されるノード等は、１ホップで通信可能な位置にあることを示している。
【００８２】
このような状態において、グループ６０は、制御データや検針データの要求指示などの各種データをＧＷ装置１から取得するノードの範囲を示す。同様に、グループ７０は、各種データをＧＷ装置２から取得するノードの範囲を示す。また、各ノードのルーティングテーブルには、初期状態として、「指定ＧＷ＝なし、（ＧＤ、経路タイマ）＝（ＧＷ１、０）、（ＧＷ２、０）」が登録されている。
【００８３】
その後、ＧＷ装置１から宛先をノードＢとする要求フレームが送信され、ＧＷ装置２から宛先をノードＧとする要求フレームが送信される。図１１は、ＧＷ装置２からノードＧおよびＧＷ装置１からノードＢへ送信されたフレームによって経路情報が更新される例を説明する図である。
【００８４】
図１１に示すように、ＧＷ装置１からノードＢへ向けて送信された要求フレームは、ＧＷ装置１と１ホップで接続されるノードＢによって直接受信され、ノードＢは、要求フレームに対応する通知フレームをＧＷ装置１に応答する（Ｓ５０１）。
【００８５】
この結果、ノードＢは、要求フレームの宛先が自ノードであることから、要求フレームの送信元であるＧＷ装置１を指定ＧＷに登録する。また、ノードＢは、ルーティングテーブルにおいて、通知フレームの宛先であるＧＷ装置１を「ＧＤ」とするエントリの経路タイマに１００を設定する。
【００８６】
一方、図１１に示すように、ＧＷ装置２からノードＧへ向けて送信された要求フレームは、それぞれ１ホップで接続されるノード間を経由してノードＧへ到達し、ノードＧから送信された通知フレームは、要求フレームの逆経路でＧＷ装置２に到達する（Ｓ５０２）。
【００８７】
具体的には、ＧＷ装置２から送信された要求フレームは、送信元のＧＷ装置２と１ホップで接続されるノードＤ、ノードＢと１ホップで接続されるノードＣ、ノードＣと１ホップで接続されるノードＡを経由して、ノードＧに到達する。同様に、ノードＧから送信された通知フレームは、送信元のノードＧと１ホップで接続されるノードＡ、ノードＡと１ホップで接続されるノードＣ、ノードＣと１ホップで接続されるノードＤを経由して、ＧＷ装置２に到達する。
【００８８】
この結果、ノードＧは、要求フレームの宛先が自ノードであることから、要求フレームの送信元であるＧＷ装置２を指定ＧＷに登録する。また、ノードＧは、ルーティングテーブルにおいて、通知フレームの宛先であるＧＷ装置２を「ＧＤ」とするエントリの経路タイマに１００を設定する。また、ノードＡ、ノードＣ、ノードＤは、要求フレームおよび通知フレームを中継したので、通知フレームの宛先であるＧＷ装置２を「ＧＤ」とするエントリの経路タイマに１００を設定する。
【００８９】
図１１から１０分後、ＧＷ装置１から宛先をノードＨとする要求フレームが送信されたとする。図１２は、図１１から続いてＧＷ装置１からノードＨへ送信されたフレームによって経路情報が更新される例を説明する図である。
【００９０】
図１２に示すように、ＧＷ装置１からノードＨへ向けて送信された要求フレームは、１ホップで接続されるノード間を経由してノードＨへ到達し、ノードＨから送信された通知フレームは、要求フレームの逆経路でＧＷ装置１に到達する（Ｓ５０３）。
【００９１】
具体的には、ＧＷ装置１から送信された要求フレームは、送信元のＧＷ装置１と１ホップで接続されるノードＡを経由して、ノードＨに到達する。同様に、ノードＨから送信された通知フレームは、送信元のノードＨと１ホップで接続されるノードＡを経由して、ＧＷ装置１に到達する。
【００９２】
この結果、ノードＨは、要求フレームの宛先が自ノードであることから、要求フレームの送信元であるＧＷ装置１を指定ＧＷに登録する。また、ノードＨは、ルーティングテーブルにおいて、通知フレームの宛先であるＧＷ装置１を「ＧＤ」とするエントリの経路タイマに１００を設定する。また、ノードＡは、要求フレームおよび通知フレームを中継したので、通知フレームの宛先であるＧＷ装置１を「ＧＤ」とするエントリの経路タイマに１００を設定する。
【００９３】
なお、各ノードでは、この１０分の間で、ＧＷ装置２に対してフレームの送受信をしていないことから、ルーティングテーブルにおける「ＧＤ」が「ＧＷ２」であるエントリの「経路タイマ」を１０減算している。
【００９４】
さらに１０分後、無線通信システムに新たに追加されたＧＷ装置３から、宛先をノードＡとする要求フレームが送信されたとする。図１３は、図１２から追加されたＧＷ装置３からノードＡへ送信されたフレームによって経路情報が更新される例を説明する図である。
【００９５】
図１３に示すように、ＧＷ装置３からノードＡへ向けて送信された要求フレームは、１ホップで接続されるノード間を経由してノードＡへ到達し、ノードＡから送信された通知フレームは、要求フレームの逆経路でＧＷ装置３に到達する（Ｓ５０４）。
【００９６】
具体的には、ＧＷ装置３が送信した要求フレームは、送信元のＧＷ装置３と１ホップで接続されるノードＧを経由して、ノードＡに到達する。同様に、ノードＡが送信した通知フレームは、送信元のノードＡと１ホップで接続されるノードＧを経由して、ＧＷ装置３に到達する。
【００９７】
この結果、ノードＡは、要求フレームの宛先が自ノードであることから、要求フレームの送信元であるＧＷ装置３を指定ＧＷに登録する。また、ノードＡは、ルーティングテーブルにおいて、通知フレームの宛先であるＧＷ装置３を「ＧＤ」とするエントリを生成する。このとき、ノードＡは、ルーティングテーブルのエントリ数が上限値であることから、指定ＧＷではなく経路タイマが最も小さい「ＧＷ２」のエントリを削除する。そして、ノードＡは、ＧＷ装置３を「ＧＤ」とするエントリを新たに生成し、当該エントリの経路タイマに１００を設定する。
【００９８】
また、ノードＧは、要求フレームおよび通知フレームを中継したので、通知フレームの宛先であるＧＷ装置３を「ＧＤ」とするエントリを生成する。具体的には、ノードＧは、ルーティングテーブルにおいて、指定ＧＷではなく、経路タイマが最も小さい「ＧＷ１」のエントリを削除する。そして、ノードＧは、ＧＷ装置３を「ＧＤ」とするエントリを新たに生成し、当該エントリの経路タイマに１００を設定する。
【００９９】
なお、各ノードでは、この１０分の間で、ＧＷ装置２に対してフレームの送受信をしていないことから、ルーティングテーブルにおいて「ＧＤ」が「ＧＷ２」であるエントリの「経路タイマ」をさらに１０減算している。
【０１００】
このようにしてルーティングテーブルを更新することで、各ノードは、使用頻度の高い経路情報や最近使用された経路情報を保持することができる。図１４は、ノードＡが経路を保持することを説明する図である。
【０１０１】
図１４に示すように、ノードＡは、図１０から図１３を実行することで、ＧＷ装置１への経路とＧＷ装置３への経路を保持することができる。この結果、ノードＡは、ＧＷ装置１からノードＨへのフレーム送信が発生した場合でも、この経路が最近使用された経路であることからルーティングテーブルに保持しているので、通信断を発生させずに中継することができる。
【０１０２】
［死活監視の具体例］
次に、図１５と図１６を用いて、ノード間の死活監視によってルーティングテーブルが更新される例を説明する。図１５および図１６は、死活監視を説明する図である。
【０１０３】
図１５に示す無線通信システムは、図１３と同様の構成であり、ノードＡからノードＨ、ＧＷ装置１、ＧＷ装置２、ＧＷ装置３を有するシステムである。また、図１５において実線で接続されるノード等は、１ホップで通信可能な位置にあることを示している。
【０１０４】
また、グループ６０は、制御データや検針データの要求指示などの各種データをＧＷ装置１から取得するノードの範囲を示す。グループ７０は、各種データをＧＷ装置２から取得するノードの範囲を示す。グループ８０は、各種データをＧＷ装置３から取得するノードの範囲を示す。
【０１０５】
一例として、ノードＡのルーティングテーブルには、「指定ＧＷ＝ＧＷ３、（ＧＤ、経路タイマ、ＴＴＬ）＝（ＧＷ１、７０、２５）、（ＧＷ３、８０、２５）」が登録されているものとする。
【０１０６】
このような状態において、ＧＷ装置３は、ノードの死活を監視する生存確認フレームを定期的に送信する。なお、図１５の矢印は、ＧＷ装置３から送信された生存確認フレームが、１ホップで接続されるノードに伝搬する流れを示している。
【０１０７】
各ノードは、ＧＷ装置３から生存確認フレームを一定時間受信しなくなった場合に、ルーティングテーブルの更新を実行する。図１６に示すように、ＧＷ装置３に障害が発生することで、ＧＷ装置３からの生存確認フレームが途絶える。
【０１０８】
例えば、ノードＡは、ＧＷ装置３からの生存確認フレームが途絶えたことから、ルーティングテーブルの「ＧＤ」に「ＧＷ３」と登録されるエントリの「経路タイマ」と「ＴＴＬ」とに「０」を登録する。さらに、ノードＡは、ＧＷ３が指定ＧＷに登録されていることから、指定ＧＷをＧＷ３からＧＷ１に更新する。その後、ノードＡは、ＧＷ装置１に対して、自律的にデータを送信する。このようにすることで、ノードＡは、新たなエントリの登録が発生した場合でも、障害中のＧＷ装置３のエントリを削除して、新たなエントリを登録することができる。
【０１０９】
上述した実施例によって、各ルートは、新たなエントリを登録する際にルーティングテーブルから、古いエントリを削除して、新たなエントルを格納することができる。また、各ノードは、ＧＷ装置からの要求に対してノード側でルーティングテーブルに空きが無かった場合でも、ルーティングテーブルのエントリの入れ替えをおこなえるので、通信断を発生させずに応答を返すことができる。
【０１１０】
また、経路タイマが定期的に更新されることで、その経路が入れ替えされにくくなり、ＨＥＬＬＯメッセージの交換等によって安定した経路を構築することができる。さらに、ノードは、ＧＷ装置がダウンした場合でも、一定時間経過すれば、宛先ＧＷを自動で切り替えることができる。また、ダウンしたＧＷのエントリは、入れ替え対象となり、ノードからの無駄な通信負荷を抑えることができる。
【実施例２】
【０１１１】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
【０１１２】
（無線品質）
ルーティングテーブルのエントリに記憶される「品質」は、自ノードから宛先ノードまでの経路品質を示す数値であり、例えば受信電界強度などの値を用いることができる。また、宛先Ａに送信した全フレーム数のうち応答を確認できたフレーム数の割合などである到達性を用いることもできる。
【０１１３】
（使用頻度）
上記実施例では、経路情報の使用頻度を示す指標として、経路利用タイミングでリセットし、時間経過で減算する「経路タイマ」を用いる例を説明したが、これに限定されるものではい。例えば、時間経過で増加する「経路タイマ」を用いてもよい。その場合、経路タイマの値が小さいほど、使用頻度が多いことを示す。なお、タイマを増加または減算させる数は任意に設定できる。
【０１１４】
また、別例としては、経路利用の最新性を管理する方法を適用することもできる。具体的には、ノードは、ルーティングテーブルの各エントリに、最近利用した順位を記す領域を設けて、各エントリに順位をつけて管理する。そして、ノードは、経路利用したノードを１位に設定する。また、ノードは、既に１位及び２位以下にノードが設定されていれば、１つずつ順位を下げて設定し、空いた１位に最新のノードを登録する。ノードは、エントリが上限値にある場合は、最下位のノードと入れ替える。
【０１１５】
さらに、別例としては、経路の利用回数を適用することもできる。例えば、ノードは、単位時間あたりのＧＤ宛フレーム送信および転送回数をカウントアップしておき、値が大きいほど利用頻度が高いと判断する。そして、ノードは、エントリが上限値にある場合は、利用頻度が最下位のノードと入れ替える。
【０１１６】
（経路タイマの更新タイミング）
上記実施例では、ノードが経路タイマを減算する例を説明したが、ノードは、ルーティングテーブルのエントリに登録されるＧＤを宛先とする通知フレームを受信した場合、当該エントリの経路タイマを加算する。このとき、ノードは、再度初期値を設定してもよく、定めた所定値を加算してもよい。
【０１１７】
また、上記実施例では、各ノードは、通知フレームを受信または中継するタイミングで、経路タイマを設定または更新する例を説明したが、これに限定されるものではない。例えば、各ノードは、要求フレームを受信または中継するタイミングで、経路タイマを設定または更新することもできる。
【０１１８】
（下りの経路情報）
上記実施例では、各ノードがＧＷ装置宛の上りの経路情報を保持する例を説明したが、各ノードは、ＧＷ装置を送信元とする下りの経路情報について、上りの経路情報の逆経路を使用するものとする。
【０１１９】
（システム）
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１２０】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【符号の説明】
【０１２１】
１、２、３  ＧＷ装置
１０  ノード
１１  ルーティングテーブル
１２  受信部
１３  送信部
１４  フレーム解析部
１５  転送処理部
１６  ルーティング制御部
１７  経路情報設定部
１８  タイマ処理部
【図１】
2015015585.tif 000003
【図２】
2015015585.tif 000004
【図３】
2015015585.tif 000005
【図４】
2015015585.tif 000006
【図５】
2015015585.tif 000007
【図６】
2015015585.tif 000008
【図７】
2015015585.tif 000009
【図８】
2015015585.tif 000010
【図９】
2015015585.tif 000011
【図１０】
2015015585.tif 000012
【図１１】
2015015585.tif 000013
【図１２】
2015015585.tif 000014
【図１３】
2015015585.tif 000015
【図１４】
2015015585.tif 000016
【図１５】
2015015585.tif 000017
【図１６】
2015015585.tif 000018