(57)【要約】【課題】マルチホップネットワークのノードを提供する。【解決手段】転送或いは監視されたデータパケットを復号化し、ソースノード、宛先ノード、送信ノード、受信ノード、類型、及びデータペイロードを取得し、ソースノードから宛先ノードまでのホップ数がノードから宛先ノードまでのホップ数よりも大きく、且つ両者の差が２である場合、データパケット転送テーブルに基づいてデータパケットを転送或いは監視したか否かを決定し、データパケットを転送或いは監視したことがない場合、受信ノードが該ノードであるとき、データパケットにソースノードの親ノード情報を追加し、親ノード情報を含むデータパケットを転送し、データパケットを転送或いは監視したことがない場合、データパケット転送テーブルにソースノード及びその親ノードに対応する情報項目を記憶し、伝送マークを所定値に設定し、忘れ時間を初期化する。【選択図】図１
2014204437.tif 000002
【特許請求の範囲】
【請求項１】
マルチホップネットワークにおけるノードであって、
転送或いは監視されたデータパケットを復号化し、前記データパケットのソースノード、宛先ノード、送信ノード、受信ノード、類型、及びデータペイロードを取得する復号化手段と、
前記データパケットのソースノードから宛先ノードまでのホップ数が前記ノードから宛先ノードまでのホップ数よりも大きく、且つ両者の差が２である場合、前記ノードのデータパケット転送テーブルに基づいて、前記ソースノードのデータパケットを転送或いは監視したか否かを決定する第１の決定手段と、
前記ソースノードのデータパケットを転送或いは監視したことがないと前記第１の決定手段により決定された場合、前記データパケットの受信ノードが前記ノードであるとき、前記データパケットに前記データパケットのソースノードの親ノード情報を追加し、親ノード情報を含むデータパケットを転送する送信手段と、
前記ソースノードのデータパケットを転送或いは監視したことがないと前記第１の決定手段により決定された場合、前記データパケット転送テーブルに、前記ソースノード及びその親ノードに対応する情報項目を記憶し、前記情報項目に対応する伝送マークを所定値に設定し、前記情報項目に対応する予め設定された忘れ時間を初期化する第１の更新手段と、を含む、ノード。
【請求項２】
第２の決定手段と、第２の更新手段と、をさらに含み、
前記第２の決定手段は、前記ソースノードのデータパケットを転送或いは監視したことがあると前記第１の決定手段により決定された場合、前記ノードのデータパケット転送テーブルに基づいて、前記ソースノード及びその親ノードに対応する情報項目を記憶したか否かを決定し、
前記送信手段は、前記ソースノード及びその親ノードに対応する情報項目を記憶したことがないと前記第２の決定手段により決定された場合、前記データパケットの受信ノードが前記ノードであるとき、前記データパケットに前記データパケットのソースノードの親ノード情報を追加し、親ノード情報を含むデータパケットを転送し、
前記第２の更新手段は、前記ソースノード及びその親ノードに対応する情報項目を記憶したことがないと前記第２の決定手段により決定された場合、前記データパケット転送テーブルに、前記ソースノード及びその親ノードに対応する情報項目を記憶し、前記情報項目に対応する伝送マークを所定値に設定し、前記情報項目に対応する予め設定された忘れ時間を初期化する、
請求項１に記載のノード。
【請求項３】
第３の決定手段と、第３の更新手段と、をさらに含み、
前記第３の決定手段は、前記ソースノード及びその親ノードに対応する情報項目を記憶したことがあると前記第２の決定手段により決定された場合、予め設定された更新周期において前記情報項目に対応する伝送マークが所定値であるか否かを判断し、
前記送信手段は、前記第３の決定手段の判断結果が否定の場合、前記データパケットの受信ノードが前記ノードであるとき、前記データパケットに前記データパケットのソースノードの親ノード情報を追加し、親ノード情報を含むデータパケットを転送し、
前記第３の更新手段は、前記第３の決定手段の判断結果が否定の場合、前記情報項目に対応する伝送マークを前記所定値に変更し、前記情報項目に対応する予め設定された忘れ時間を初期値に再設定する、
請求項２に記載のノード。
【請求項４】
前記送信手段は、
前記データパケットから送信ノードを抽出する抽出モジュールと、
前記データパケットのデータペイロードに前記データパケットの送信ノードを追加する追加モジュールと、
前記データパケットの類型を、ソースノードの親ノード情報を含むデータパケットに変更する変更モジュールと、
親ノード情報を含むデータパケットを送信する送信モジュールと、を含む、
請求項１乃至３のいずれかに記載のノード。
【請求項５】
前記送信手段は、前記ノードが転送（Relay）ノードの場合、他のノードのデータパケットを初めて転送した後で、ゲートウェイにデータペイロードが空のメッセージを所定の更新周期で送信する、
請求項１に記載のノード。
【請求項６】
前記送信手段が親ノード情報を含むデータパケットを転送した後で、前記親ノード情報を含むデータパケットを一時記憶する一時記憶手段、をさらに含み、
前記送信手段は、前記親ノード情報を含むデータパケットの送信及び受信が成功した場合、前記親ノード情報を含むデータパケットを削除し、失敗した場合、親ノード情報を含むデータパケットを再送する、
請求項１に記載のノード。
【請求項７】
マルチホップネットワークにおけるゲートウェイノードであって、
受信された親ノード情報を含むデータパケットに基づいて、ダウンリンクルーティングテーブルに前記データパケットのソースノードのアドレス及びその親ノードのアドレスに対応する情報項目が記憶されているか否かを判断する、第１の判断手段と、
前記第１の判断手段の判断結果が否定の場合、前記ダウンリンクルーティングテーブルの１つの情報項目に前記データパケットのソースノードのアドレス及びその親ノードのアドレスを書き込み、前記情報項目に対応する更新時間を更新し、或いは前記情報項目に対応する更新時間及び失効時間を更新し、前記第１の判断手段の判断結果が肯定の場合、前記ダウンリンクルーティングテーブルにおける前記情報項目に対応する更新時間を更新し、或いは前記ダウンリンクルーティングテーブルにおける前記情報項目に対応する更新時間を更新し、且つ前記情報項目に対応する失効時間を再設定する、第１の更新手段と、を含み、
前記ダウンリンクルーティングテーブルは複数の情報項目を含み、各情報項目はノードのアドレス、親ノードのアドレス、及び更新時間を含み、或いは各情報項目はノードのアドレス、親ノードのアドレス、更新時間、及び失効時間を含む、ゲートウェイノード。
【請求項８】
前記ダウンリンクルーティングテーブルの各情報項目の失効時間に達しているか否かを判断する、第２の判断手段と、
前記第２の判断手段の判断結果が肯定の場合、所定のルールに基づいて、失効時間に達している情報項目を削除するか、或いは前記失効時間に達している情報項目を記憶し続けるかを選択する、第２の更新手段と、をさらに含む、
請求項７に記載のゲートウェイノード。
【請求項９】
隣接ノードテーブルを照会して、前記マルチホップネットワークにおける１ホップノードの親ノード情報を決定する照会手段、をさらに含み、
前記第１の更新手段は、前記ダウンリンクルーティングテーブルの１つの情報項目に前記１ホップノードのアドレス及びその親ノードのアドレスを書き込み、前記情報項目に対応する更新時間を更新し、或いは前記情報項目に対応する更新時間及び失効時間を更新する、
請求項７に記載のゲートウェイノード。
【請求項１０】
前記マルチホップネットワークの１ホップノードから２ホップノードに送信されたＨＥＬＬＯパケットまたはＡＣＫパケットを監視することで、前記２ホップノードの親ノード情報を取得する取得手段、をさらに含み、
前記第１の更新手段は、前記ダウンリンクルーティングテーブルの１つの情報項目に前記２ホップノードのアドレス及びその親ノードのアドレスを書き込み、前記情報項目に対応する更新時間を更新し、或いは前記情報項目に対応する更新時間及び失効時間を更新し、
前記ＨＥＬＬＯパケット又は前記ＡＣＫパケットに送信ノードの情報及び受信ノードの情報が含まれ、前記送信ノードは前記１ホップノードであり、前記受信ノードは前記２ホップノードであり、前記送信ノードの情報は前記２ホップノードの親ノード情報である、
請求項７に記載のゲートウェイノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信技術分野に関し、特にマルチホップネットワークにおけるダウンリンクルーティングの取得及び保守の方法及び装置に関する。
【背景技術】
【０００２】
ゲートウェイ（Gateway）にデータパケットを集約させるため、マルチホップネットワークは主にアップリンクルーティング（一般ノードからゲートウェイまで）を提供する。ゲートウェイはノードを制御する、或いはノードのデータを自発的に照会する場合、ダウンリンクルーティングが必要となる。一般ノードの記憶スペースが限られているため、マルチホップノードのルーティングを保守できないため、ゲートウェイ側でダウンリンクルーティングを取得、保守する必要がある。
【０００３】
従来のルーティングアルゴリズムは、ゲートウェイにおいてグローバルルーティングテーブル（global routing table）を確立することで、ゲートウェイでダウンリンクルーティングの取得、保守を実現している。しかし、この方法では、ブロードキャスティング（broadcast）及びフラッディング（flooding）の方法が必要であるため、取得及び保守の負荷が大きい。
【０００４】
なお、上述した技術背景の説明は、本発明の技術案を明確、完全に理解させるための説明であり、当業者を理解させるために記述されているものである。これらの技術案は、単なる本発明の背景技術部分として説明されたものであり、当業者により公知されたものではない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施例は、ゲートウェイ側でダウンリンクルーティングを効果的に取得、保守し、システムの負荷を低減するダウンリンクルーティングの取得、保守方法及び装置、を提供することを主な目的とする。
【課題を解決するための手段】
【０００６】
本発明の実施例の一の態様では、マルチホップネットワークにおけるノードであって、転送或いは監視されたデータパケットを復号化し、前記データパケットのソースノード、宛先ノード、送信ノード、受信ノード、類型、及びデータペイロードを取得する復号化手段と、前記データパケットのソースノードから宛先ノードまでのホップ数が前記ノードから宛先ノードまでのホップ数よりも大きく、且つ両者の差が２である場合、前記ノードのデータパケット転送テーブルに基づいて、前記ソースノードのデータパケットを転送或いは監視したか否かを決定する第１の決定手段と、前記ソースノードのデータパケットを転送或いは監視したことがないと前記第１の決定手段により決定された場合、前記データパケットの受信ノードが前記ノードであるとき、前記データパケットに前記データパケットのソースノードの親ノード情報を追加し、親ノード情報を含むデータパケットを転送する送信手段と、前記ソースノードのデータパケットを転送或いは監視したことがないと前記第１の決定手段により決定された場合、前記データパケット転送テーブルに、前記ソースノード及びその親ノードに対応する情報項目を記憶し、前記情報項目に対応する伝送マークを所定値に設定し、前記情報項目に対応する予め設定された忘れ時間を初期化する第１の更新手段と、を含む、ノード、を提供する。
【０００７】
本発明の実施例の他の態様では、マルチホップネットワークにおけるゲートウェイノードであって、受信された親ノード情報を含むデータパケットに基づいて、ダウンリンクルーティングテーブルに前記データパケットのソースノードのアドレス及びその親ノードのアドレスに対応する情報項目が記憶されているか否かを判断する、第１の判断手段と、前記第１の判断手段の判断結果が否定の場合、前記ダウンリンクルーティングテーブルの１つの情報項目に前記データパケットのソースノードのアドレス及びその親ノードのアドレスを書き込み、前記情報項目に対応する更新時間を更新し、或いは前記情報項目に対応する更新時間及び失効時間を更新し、前記第１の判断手段の判断結果が肯定の場合、前記ダウンリンクルーティングテーブルにおける前記情報項目に対応する更新時間を更新し、或いは前記ダウンリンクルーティングテーブルにおける前記情報項目に対応する更新時間を更新し、且つ前記情報項目に対応する失効時間を再設定する、第１の更新手段と、を含み、前記ダウンリンクルーティングテーブルは複数の情報項目を含み、各情報項目はノードのアドレス、親ノードのアドレス、及び更新時間を含み、或いは各情報項目はノードのアドレス、親ノードのアドレス、更新時間、及び失効時間を含む、ゲートウェイノード、を提供する。
【発明の効果】
【０００８】
本発明の実施例によれば、ゲートウェイ側でのダウンリンクルーティングの取得及び保守によるシステム負荷を低減する。
【０００９】
本発明の特定の実施形態は、後述の説明及び図面に示すように、詳細に開示され、本発明の原理を採用されることが可能な方式を示している。なお、本発明の実施形態は、範囲上には限定されるものではない。本発明の実施形態は、添付されている特許請求の範囲の主旨及び内容の範囲内、各種の改変、修正、及び同等的なものが含まれる。
【００１０】
ある一つの実施形態に説明及び又は示されている特徴は、同一又は類似の方式で一つ又は多くの他の実施形態に使用されてもよく、他の実施形態における特徴と組み合わせてもよく、他の実施形態における特徴を代替してもよい。
【００１１】
なお、用語「包括／含む」は、本文に使用される際に、特徴、要素、ステップ又は構成要件の存在を意味し、一つ又は複数の他の特徴、要素、ステップ又は構成要件の存在又は追加を排除するものではない。
【図面の簡単な説明】
【００１２】
本発明は、図面を参照しながら下記説明するものにより、よりよく理解できる。図面における素子は、比例に応じて描くものではなく、本発明の原理を示すものである。本発明のある部分を示すため、図面における対応部分が拡大又は縮小されてもよい。本発明のある図面又はある実施形態に記載された構成要件及び特徴は、一つ又は多くの他の図面又は実施形態に示された構成要件及び特徴と組み合わせてもよい。また、図面において、類似の符号は、いくつの図面における対応の部材を示してもよく、複数の実施形態に用いられる対応の部材を示してもよい。
【図１】本発明の実施例に係るダウンリンクルーティングの取得、保守方法のフローチャートである。
【図２】本発明の実施例に係るデータパケットのフレーム構成を示す図である。
【図３】データパケットに親ノード情報を追加する方法のフローチャートである。
【図４】データパケットに親ノード情報を追加した後のデータパケットのフレーム構成を示す図である。
【図５】本発明の実施例に係るマルチホップネットワークにおけるノードの構成を示す図である。
【図６】本発明の他の実施例に係るダウンリンクルーティングの取得、保守方法のフローチャートである。
【図７】図６に示す方法における、ゲートウェイノードがそのダウンリンクルーティングテーブルを更新する方法のフローチャートである。
【図８】ダウンリンクルーティングテーブルの構成を示す図である。
【図９】変更されたＡＣＫメッセージのフレーム構成を示す図である。
【図１０】確立されたダウンリンクルーティングの一例におけるネットワークトポロジーを示す図である。
【図１１】ダウンリンクルーティングの照会プロセスを示す図である。
【図１２】本発明の実施例に係るゲートウェイの構成を示す図である。
【発明を実施するための形態】
【００１３】
本発明の実施例は、図面及び下記の説明により理解できるものである。これらの実施形態は、単なる例示的なものであり、本発明を制限するものではない。
【００１４】
当業者に本発明の原理及び実施形態をより簡単に理解させるため、本発明の実施例では、Ａｄ−ｈｏｃネットワークを例として説明しているが、本発明の実施例はＡｄ−ｈｏｃネットワークに限定されず、例えば、本発明の実施例により提供される方法及び装置はセンサネットワーク等の他のマルチホップネットワークにも適用されてもよい。
【００１５】
Ａｄ−ｈｏｃネットワークでは、２種類のノード、即ちソースノード（Source Node）及び転送ノード（Relay Node）が含まれる。ソースノードは、ゲートウェイを最終の宛先とするデータを定期的、或いは不定期的に送信し、転送ノードは、原始データを生じなく、ソースノードから送信されたデータパケットのみを転送する。また、ソースノードは、他のソースノードからのデータを転送する機能を有してもよく、この場合は転送ノードの機能と同じである。ここで、ソースノードがゲートウェイにデータパケットを送信する際に、データパケットに含まれるアドレス情報は、ＧＳ（Global Source：ソースノード）、ＧＤ（Global Destination：宛先ノード）、ＬＳ（Local Source：送信ノード）、及びＬＤ（Local Destination：受信ノード）を含む。
【００１６】
本発明の実施例では、ネットワークではアップリンクルーティングが既に確立されている、即ち、全てのノードは次ホップの親ノードを取得していることを前提とする。
【００１７】
＜実施例１＞
本実施例では、ダウンリンクルーティングの取得、保守方法を提供し、該方法は、マルチホップネットワークにおける転送機能を有するノード、例えば転送ノード又はソースノードに適用する。図１は、該方法のフローチャートである。図１に示すように、該方法は以下のステップを含む。
【００１８】
ステップ１０１：該ノードは、転送或いは監視されたデータパケットを復号化し、データパケットのソースノード、宛先ノード、送信ノード、受信ノード、類型、及びデータペイロードを取得する。
【００１９】
ここで、図２に示すように、データパケットのフレーム構成は、ソースノード（GS）、宛先ノード（GD）、送信ノード（LS）、受信ノード（LD）、番号（FID）、類型（TYPE）、及びデートペイロード（DATA Payload）を含む。なお、各セグメントの意味は従来技術と同じであるため、ここにその説明を省略される。
【００２０】
ステップ１０２：データパケットのソースノードのホップ数（ソースノードから宛先ノードまでのホップ数）がノード自身のホップ数（ノードから宛先ノードまでのホップ数）よりも大きく、且つ両者のホップ数の差が２である場合、ノードは、自ら記憶されたデータパケット転送テーブルに基づいて、ソースノードのデータパケットを転送或いは監視したか否かを決定する。
【００２１】
ここで、データパケット転送テーブルは、いくつ（１つ又は複数）の情報項目を含み、各情報項目は、該ノードがデータパケットを転送或いは監視した後で記憶したものである。また、各情報項目は、１つのソースノードのアドレス及びその親ノードのアドレスを含む。
【００２２】
好ましくは、各情報項目は、情報項目の更新時間を示す伝送マークをさらに含んでもよい。ここで、各ノードは、作動時間を多くの更新周期に分けており、１つの更新周期内において、ノードがデータパケットに親ノード情報を追加する操作を実行した、或いは他のノードに項目に対応する親ノード情報を送信したことを監視した場合、この情報項目に対応する伝送マークを所定値、例えば１に設定し、次の更新周期に入った場合、伝送マークを非所定値、例えば０に再設定する。また、ノードは、ソースノードからのデータパケットを受信した場合、データパケットにおける情報と記憶された項目の情報と同じである場合、該伝送マークを判断する必要がある。１つの更新周期において、該伝送マークが上記の所定値（例えば１）である場合、処理を終了させ、該伝送マークが上記の所定値ではない（例えば０）の場合、データパケットに親ノード情報を追加する操作を実行し、伝送マークを上記の所定値に変更する。具体的な処理プロセスは後述される。
【００２３】
好ましくは、各情報項目は、情報項目の期間切れ時間を示す忘れ時間をさらに含んでもよい。データパケットテーブルの情報項目を作成する際に、該情報項目の忘れ時間を初期化して設定してもよい。ノードが情報項目に対応するデータパケットを受信する、或いは監視した（例えば、データパケット内の情報と記憶された項目情報と同じである）場合、情報項目に対応する忘れ時間を初期値に再設定する。１つの情報項目に対応する忘れ時間が達している場合、ノードは、自分の負荷に基づいて該情報項目を削除するか否かを決定してもよい。
【００２４】
ここで、テータパケット転送テーブルには、ソースノードのアドレスを含む情報項目が記憶されているため、あるソースノードのデータパケットを転送したことがある場合、データパケット転送テーブルに、ソースノードに対応する情報項目が記憶されるはずである。このため、ノード側で記憶されているデータパケット転送テーブルにおける情報項目を照会することで、該ソースノードから送信されたデータパケットを転送したことがあるか否かを決定できる。
【００２５】
ステップ１０３：該ソースノードのデータパケットを転送或いは監視したことがなく、且つ該データパケットの受信ノードが該ノードである場合、該ノードは、該データパケットに該データパケットのソースノードの親ノード情報を追加し、親ノード情報を含むデータパケットを転送する。
【００２６】
１つの実施例では、該ノードがソースノードのデータパケットを転送或いは監視したことがない場合、該ノードは、該データパケット転送テーブルに該ソースノード及びその親ノードに対応する情報項目を記憶し、該情報項目に対応する伝送マークを所定値に設定する。
【００２７】
ここで、該ノードが該ソースノードのデータパケットを転送、或いは監視したことがなく、且つデータパケットにおけるＬＤ（受信ノード）が該ノード自身のＩＤである、即ち本ノードがデータパケットの受信ノードであり、本ノードが該データパケットを転送する必要がある場合、本ノードは、該データパケットに、該データパケットにおけるソースノードの親ノード情報を追加し、該親ノード情報を含むデータパケットを転送する。１つの実施例では、該ノードは、ローカル側のデータパケット転送テーブルに、該ソースノード及びその親ノードに対応する情報項目をさらに作成する必要があり、ここで、該情報項目におけるソースノードは該データパケットにおけるＧＳであり、その親ノードはデータパケットにおけるＬＳである。なお、該新たに作成された情報項目に対応する伝送マークを上記の所定値にさらに設定してもよい。また、該新たに作成された情報項目に対応する忘れ時間をさらに初期化してもよい。
【００２８】
ここで、該ノードが該ソースノードのデータパケットを転送、或いは監視したことがなく、且つデータパケットにおけるＬＤ（受信ノード）が該ノード自身のＩＤではない、即ち本ノードがデータパケットの受信ノードではなく、本ノードがデータパケットを転送する必要がなく、単なる該データパケットを監視した場合、本ノードは、該データパケットに、該データパケットにおけるソースノードの親ノード情報を追加するだけでよい。同様に、該情報項目におけるソースノードは該データパケットにおけるＧＳであり、その親ノードはデータパケットにおけるＬＳである。同様に、該新たに作成された情報項目に対応する伝送マークを上記の所定値に設定してもよい。また、該新たに作成された情報項目に対応する忘れ時間を同時に初期化してもよい。
【００２９】
本ノードは、図３に示す方法によって該データパケットに、データパケットにおけるソースノードの親ノード情報を追加してもよい。図３に示すように、該方法は以下のステップを含む。
【００３０】
ステップ３０１：該データパケットから送信ノードを抽出する。
【００３１】
ここで、ステップ１０２の説明の通り、本ノードがソースノードからの２ホップノードであるため、データパケットにおける送信ノード（LS）は該ソースノードの親ノードである。
【００３２】
ステップ３０２：該データパケットのデータペイロードに該データパケットの送信ノードを追加する。
【００３３】
ここで、該データパケットのデータペイロードにソースノードの送信ノードを追加することで、ダウンリンクルーティングを決定するようにゲートウェイにノード及びその親ノード情報を取得させることができる。詳細について、以下の実施例において説明する。
【００３４】
変更されたデータパケットのフレーム構成は図４に示され、該データパケットのデータペイロード（DATA Payload）には、元のデータ内容（DATA）だけではなく、親ノード情報（Parent ID）が含まされている。図４に示す例では、親ノードの情報はデータペイロードのヘッド部に追加されているが、本実施例はこれに限定されない。
【００３５】
ステップ３０３：該データパケットの類型を、ソースノードの親ノード情報を含むデータパケットに変更する。
【００３６】
ここで、データパケットの類型を変更する（例えば、図４に示されるＴＰＹＥセグメント）ことで、ゲートウェイに該データパケットの類型を決定させることができる。データパケットの類型を決定した結果、該データパケットが親ノード情報を含むデータパケットである場合、ソースノード及びその親ノードの情報を抽出して、ダウンリンクルーティングテーブルに追加してもよい。詳細について、以下の実施例において説明する。
【００３７】
本実施例の方法をより分かるように、以下の例で該方法を説明する。
【００３８】
例えば、ソースノードＡがノードＢを介してノードＣへデータパケットを送信する例では、ノードＣにより受信されたデータパケットには、ＧＳはノードＡであり、ＬＳはノードＢであり、ＬＤはノードＣである。ノードＣは、ローカル側のデータパケット転送テーブルを照会して、ノードＡからのデータパケットを転送、或いは監視したことがない、即ちデータパケット転送テーブルにソースノードがノードＡである情報項目が含まれない場合、本実施例の方法に従って、ノードＣは、データパケットからＬＳ、即ちノードＢのアドレスを抽出し、該データパケットのデータペイロードに追加し、該データパケットの類型を親ノード情報を含むデータパケットに変更し、該データパケットを転送する。また、データパケット転送テーブルにノードＡ及びその親ノードＢの情報項目を追加し、該情報項目に対応する転送マークを所定値に設定し、該情報項目に対応する忘れ時間を初期化してもよい。
【００３９】
本実施例のもう１つの態様として、同じ例では、ノードＤが該データパケット（ＧＳはノードＡ、ＬＳはノードＢ、ＬＤはノードＣ）を監視した場合、ノードＤは、自分のローカル側のデータパケット転送テーブルを照会して、ノードＡからのデータパケットを転送、或いは監視したことがない、即ちデータパケット転送テーブルにソースノードがノードＡである情報項目が含まれない場合、本実施例の方法に従って、ノードＤが該データパケットの受信ノードではないため、ノードＤは、データパケット転送テーブルに該データパケットに対応するノードＡ及びその親ノードＢの情報項目を作成するだけでよい。また、該情報項目に対応する転送マークを所定値に設定し、該情報項目に対応する忘れ時間を初期化してもよい。
【００４０】
ステップ１０１〜１０３の処理によれば、該ノードは親ノード情報を含むデータパケットを転送することで、ゲートウェイノードは該ソースノード及びその親ノードを取得し、自分のダウンリンクルーティングテーブルに記憶することができる。ゲートウェイノードは、この方法によりマルチホップネットワークにおける全てのソースノード及びその親ノードの情報を取得することで、任意のノードのダウンリンクルーティングを決定できる。ダウンリンクルーティングをゲートウェイノード側で取得、保守できると共に、それによるシステムの負荷を低減できる。なお、ネットワーク側の処理について、以下の実施例に説明する。
【００４１】
本実施例の１つの例では、ステップ１０２において、該ノードが該ソースノードのデータパケットを転送或いは監視したことがあると判断された場合、該方法は以下のステップをさらに含んでもよい。
【００４２】
ステップ１０４：該ノードは、自ら記憶されたデータパケット転送テーブルに基づいて、該ソースノード及びその親ノードに対応する情報項目を記憶したか否かを決定する。
【００４３】
ステップ１０５：該ソースノード及びその親ノードに対応する情報項目を記憶したことがなく、且つ該データパケットの受信ノードが該ノードである場合、該ノードは、該データパケットに該データパケットのソースノードの親ノード情報を追加し、親ノード情報を含むデータパケットを転送する。
【００４４】
なお、ステップ１０３と類似して、該ソースノード及びその親ノードに対応する情報項目を記憶したことがない場合、該ノードは、該データパケット転送テーブルに、該ソースノード及びその親ノードに対応する情報項目をさらに記憶してもよい。好ましくは、該情報項目に対応する伝送マークを所定値に設定してもよく、該情報項目に対応する予め設定された忘れ時間を初期化してもよい。
【００４５】
この例では、本ノードが該ソースノードのデータパケットを転送、或いは監視したことがあり、且つ該ソースノード及びその親ノードに対応する情報項目を記憶していない場合、本ノードは、以上と同じように下記の処理を行ってもよい。即ち、データパケットのＬＤが本ノードである場合、該データパケットに該データパケットにおけるソースノードの親ノード情報を追加し、該親ノード情報を含むデータパケットを転送し、データパケット転送テーブルに該ソースノード及びその親ノードに対応する情報項目を作成してもよい。好ましくは、該情報項目に対応する伝送マークを所定値に設定し、該情報項目に対応する忘れ時間を初期化してもよい。一方、データパケットのＬＤが本ノードではない場合、データパケットに新たな情報項目を追加するだけでよい。好ましくは、該情報項目に対応する伝送マークを所定値に設定してもよい。好ましくは、該情報項目に対応する忘れ時間を同時に初期化してもよい。
【００４６】
この例では、本ノードは、図３に示す方法によって該データパケットに、データパケットにおけるソースノードの親ノード情報を追加してもよい。上記と同じであるため、その説明を省略される。
【００４７】
本実施例の方法をより分かるように、以下の例で該方法を説明する。
【００４８】
例えば、ソースノードＡがノードＢを介してノードＣへデータパケットを送信する例では、ノードＣにより受信されたデータパケットには、ＧＳはノードＡであり、ＬＳはノードＢであり、ＬＤはノードＣである。ノードＣは、ローカル側のデータパケット転送テーブルを照会して、ノードＡ及びその親ノードＥの情報項目を含むが、ノードＡ及びその親ノードＢの情報項目を含まない、即ちソースノードＡからのデータパケットを転送、或いは監視したことがあるが、該データパケットはノードＢではなく、ノードＥを介して転送されたから、記憶された情報項目はノードＡ及びその親ノードＥであり、今回受信されたデータパケットのソースノードＡ及びその親ノードＢに対応する情報項目が記憶されていないことを発見した。本実施例の方法に従って、ノードＣは、データパケットからＬＳ、即ちノードＢのアドレスを抽出し、該データパケットのデータペイロードに追加し、該データパケットの類型を親ノード情報を含むデータパケットに変更し、該データパケットを転送する。また、データパケット転送テーブルにノードＡ及びその親ノードＢの情報項目を追加し、該情報項目に対応する転送マークを所定値に設定し、該情報項目に対応する忘れ時間を初期化してもよい。
【００４９】
本実施例のもう１つの態様として、同じ例では、ノードＤが該データパケット（ＧＳはノードＡ、ＬＳはノードＢ、ＬＤはノードＣ）を監視した場合、ノードＤのデータパケット転送テーブルにノードＡ及びその親ノードＥの情報項目が記憶され、該データパケットのノードＡ及びその親ノードＢの情報項目が記憶されていないとき、ノードＤが該データパケットの受信ノードではないため、ノードＤは、データパケット転送テーブルに該データパケットに対応するノードＡ及びその親ノードＢの情報項目を作成するだけでよい。また、該情報項目に対応する転送マークを所定値に設定し、該情報項目に対応する忘れ時間を初期化してもよい。
【００５０】
ステップ１０１、１０２、１０４、１０５の処理によれば、該ノードは親ノード情報を含むデータパケットを転送することで、ゲートウェイノードは該ソースノード及びその親ノードを取得し、自分のダウンリンクルーティングテーブルに記憶することができる。ゲートウェイノードは、この方法によりマルチホップネットワークにおける全てのソースノード及びその親ノードの情報を取得することで、任意のノードのダウンリンクルーティングを決定できる。ダウンリンクルーティングをゲートウェイノード側で取得、保守できると共に、それによるシステムの負荷を低減できる。なお、ネットワーク側の処理について、以下の実施例に説明する。
【００５１】
本実施例の１つの例では、ステップ１０４において、ソースノード及びその親ノードに対応する情報項目が記憶されていると判断された場合、該方法は以下のステップをさらに含んでもよい。
【００５２】
ステップ１０６：予め設定された更新周期において該情報項目に対応する伝送マークが所定値であるか否かを判断する。
【００５３】
ステップ１０７：該予め設定された更新周期において該情報項目に対応する伝送マークが所定値ではないと判断され、且つ該データパケットの受信ノードが該ノードである場合、該データパケットに該データパケットのソースノードの親ノード情報を追加し、親ノード情報を含むデータパケットを転送する。
【００５４】
ここで、該予め設定された更新周期において該情報項目に対応する伝送マークが所定値ではない場合、該情報項目に対応する伝送マークを該所定値に変更し、好ましくは、該情報項目に対応する予め設定された忘れ時間を初期値に再設定してもよい。
【００５５】
また、該予め設定された更新周期において該情報項目に対応する伝送マークが所定値である場合、該ノードは処理を終了させてもよい。
【００５６】
この実施例では、本ノードが該ソースノードからのデータパケットを転送、或いは監視したことがあり、且つソースノード及びその親ノードに対応する情報項目を記憶している場合、該情報項目に対応する伝送マークが依然として所定値（例えば１）であるとき、該情報項目が更新周期を経過していないことを示し、処理をしない、或いは該情報項目に対応する忘れ時間を初期値に再設定してもよい。一方、該情報項目に対応する伝送マークが非所定値（例えば０）である場合、該情報項目が更新周期を既に経過したことを示し、該データパケットのＬＤが本ノードであるとき、データパケットに親ノード情報を追加し、親ノード情報を含むデータパケットを転送するとともに、該情報項目は改めて処理されることと類似するため、該情報項目に対応する伝送マークを所定値に改めて変更し、好ましくは、該情報項目に対応する忘れ時間を初期値に再設定してもよい。一方、データのＬＤが本ノードではない、即ち本ノードが単なる該データパケットを監視したとき、本ノードは、データパケット転送テーブルにおける該情報項目の伝送マークを上記の所定値に変更するだけでよく、好ましくは、該情報項目に対応する忘れ時間を初期値に再設定してもよい。
【００５７】
この例では、本ノードは、図３に示す方法によって該データパケットに、データパケットにおけるソースノードの親ノード情報を追加してもよい。上記と同じであるため、その説明を省略される。
【００５８】
本実施例の方法をより分かるように、以下の例で該方法を説明する。
【００５９】
例えば、ソースノードＡがノードＢを介してノードＣへデータパケットを送信する例では、ノードＣにより受信されたデータパケットには、ＧＳはノードＡであり、ＬＳはノードＢであり、ＬＤはノードＣである。ノードＣは、ローカル側のデータパケット転送テーブルを照会して、ノードＡ及びその親ノードＢの情報項目を発見した、即ちソースノードＡのデータパケットを転送、或いは監視したことがあり、且つ該データパケットのソースノードＡ及びその親ノードＢに対応する情報項目を記憶している。この場合、本実施例の方法に従って、ノードＣは、更新周期において該情報項目に対応する伝送マークが所定値であるか否かを照会し、初期値であるとき、該データパケットを転送したばかりであることを示し、ノードＣは如何なる処理をしない。一方、初期値ではないとき、該情報項目が更新周期を経過したことを示し、ノードＣが該データパケットの受信ノードであるため、ノードＣは、データパケットからＬＳ、即ちノードＢのアドレスを抽出し、該データパケットのデータペイロードに追加し、該データパケットの類型を親ノード情報を含むデータパケットに変更し、該データパケットを転送する。また、データパケット転送テーブルにノードＡ及びその親ノードＢの情報項目を追加し、該情報項目に対応する転送マークを所定値に設定し、該情報項目に対応する忘れ時間を初期化してもよい。
【００６０】
本実施例のもう１つの態様として、同じ例では、ノードＤが該データパケット（ＧＳはノードＡ、ＬＳはノードＢ、ＬＤはノードＣ）を監視した場合、ノードＤのデータパケット転送テーブルにノードＡ及びその親ノードＢの情報項目が記憶されているとき、ノードＤが該データパケットの受信ノードではないため、ノードＤは、データパケット転送テーブルに該データパケットに対応するノードＡ及びその親ノードＢの情報項目を作成するだけでよい。また、該情報項目に対応する転送マークを所定値に設定し、該情報項目に対応する忘れ時間を初期化してもよい。
【００６１】
ステップ１０１、１０２、１０４、１０６、１０７の処理によれば、該ノードは親ノード情報を含むデータパケットを転送することで、ゲートウェイノードは該ソースノード及びその親ノードを取得し、自分のダウンリンクルーティングテーブルに記憶することができる。ゲートウェイノードは、この方法によりマルチホップネットワークにおける全てのソースノード及びその親ノードの情報を取得することで、任意のノードのダウンリンクルーティングを決定できる。ダウンリンクルーティングをゲートウェイノード側で取得、保守できると共に、それによるシステムの負荷を低減できる。なお、ネットワーク側の処理について、以下の実施例に説明する。
【００６２】
本実施例では、上記の本ノードが原始のデータパケットを生じなく、他のノードのデータパケットのみを転送する転送（Relay）ノードである場合、該ノードは、他のノードのデータパケットを初めて転送した後で、ゲートウェイにデータペイロードが空のメッセージを更新周期で自発的に送信してもよい。これによって、このメッセージを受信したデータ転送機能を有するノードは、ソースノードから送信されたデータパケットの構造と同じように処理し、ゲートウェイノードは該ノードの親ノード情報を取得できる。
【００６３】
本実施例では、本ノードは、他のノードからの親ノード情報を含むデータパケットを転送した後で、伝送の信頼性を確保するため、該親ノード情報を含むデータパケットを一時記憶し、該親ノード情報を含むデータパケットの次ホップノードへの伝達が成功した（送信及び受信が成功した）場合、本ノードは、該親ノード情報を含むデータパケットを削除し、親ノード情報を含むデータパケットの次ホップノードへの伝達が失敗した（送信が失敗した）場合、本ノードは、該データパケットを送信序列に再追加して、再送してもよい。なお、追加位置は、実際の状況に応じて選択してもよく、例えば送信序列の最後に追加してもよい。
【００６４】
本実施例では、システムの負荷をさらに低減するため、該ノードが該マルチホップネットワークにおける１ホップノードである場合、該ノードがゲートウェイにデータパケットを転送する際に、本実施例１の操作（データパケットに親ノード情報を追加し、データパケット転送テーブルに項目を追加することなど）を実行しないで、従来の方法に従って直接該データパケットを転送してもよい。この際に、ゲートウェイは、自分の隣接ノードテーブルから全ての１ホップノードを照会して、１ホップノードの親ノード情報、即ちゲートウェイ自身を取得できる。
【００６５】
本実施例では、システムの負荷をさらに低減するため、ハンドシェイク（Hello）方式又は確認（ACK）方式を有する場合、該ノードが該マルチホップネットワークにおける１ホップノードであるとき、データパケットを転送する際に、データパケットにおけるＬＳ情報を削除してもよい。即ち、１ホップノードがゲートウェイにデータパケットを転送する際に、従来方法を基に、該データパケットのＬＳ情報を削除し、ゲートウェイは該１ホップノードと２ホップノードとの間のｈｅｌｌｏパケット又はＡＣＫパケットを監視することで、２ホップノードに対応する親ノード（１ホップノード）情報を取得できる。詳細について、実施例３に詳しく説明される。
【００６６】
本実施例の方法によれば、マルチホップネットワークにおける転送機能を有するノードは、親ノード情報を含むデータパケットを次ホップノードに転送することで、ゲートウェイは各ノード及びその親ノードの情報を取得でき、該情報に基づいてダウンリンクルーティングテーブルを確立することで、任意のノードまでのダウンリンクルーティングを決定できる。ダウンリンクルーティングをゲートウェイノード側で取得、保守できると共に、それによるシステムの負荷を低減できる。
【００６７】
本発明の実施例は、マルチホップネットワークにおけるノードをさらに提供し、下記の実施例２に説明するように、該ノードの問題解決の原理と実施例１の方法と類似するため、具体的な実施について実施例１の方法の実施を参照でき、重複する部分の説明はここに省略される。
【００６８】
＜実施例２＞
本発明の実施例はマルチホップネットワークにおけるノードをさらに提供する。図５は、該ノードの構成を示す図である。図５に示すように、該ノードは、復号化部５１、第１の決定部５２、及び送信部５３を含む。
【００６９】
復号化部５１は、転送或いは監視されたデータパケットを復号化し、該データパケットのソースノード、宛先ノード、送信ノード、受信ノード、類型、及びデータペイロードを取得する。
【００７０】
第１の決定部５２は、該データパケットのソースノードのホップ数（ソースノードから宛先ノードまでのホップ数）が該ノードのホップ数（該ノードから宛先ノードまでのホップ数）よりも大きく、且つ両者の差が２である場合、該ノードのデータパケット転送テーブルに基づいて、該ソースノードのデータパケットを転送或いは監視したか否かを決定する。
【００７１】
送信部５３は、該ソースノードのデータパケットを転送或いは監視したことがないと第１の決定部５２により決定された場合、該データパケットの受信ノードが該ノードであるとき、該データパケットに該データパケットのソースノードの親ノード情報を追加し、親ノード情報を含むデータパケットを転送する。
【００７２】
１つの例では、該ノードは、第１の更新部５４をさらに含んでもよい。
【００７３】
第１の更新部５４は、ソースノードのデータパケットを転送或いは監視したことがないと第１の決定部５２により決定された場合、該データパケット転送テーブルに、該ソースノード及びその親ノードに対応する情報項目を記憶し、該情報項目に対応する伝送マークを所定値に設定する。
【００７４】
１つの例では、該ノードは、第２の決定部５５をさらに含んでもよい。
【００７５】
第２の決定部５５は、ソースノードのデータパケットを転送或いは監視したことがあると第１の決定部５２により決定された場合、該ノードのデータパケット転送テーブルに基づいて、該ソースノード及びその親ノードに対応する情報項目を記憶したか否かを決定する。
【００７６】
送信部５３は、該ソースノード及びその親ノードに対応する情報項目を記憶したことがないと該第２の決定部５５により決定された場合、該データパケットの受信ノードが該ノードであるとき、該データパケットに該データパケットのソースノードの親ノード情報を追加し、親ノード情報を含むデータパケットを転送する。
【００７７】
この例では、該ノードは、第２の更新部５６をさらに含んでもよい。
【００７８】
第２の更新部５６は、該ソースノード及びその親ノードに対応する情報項目を記憶したことがないと第２の決定部５５により決定された場合、該データパケット転送テーブルに、該ソースノード及びその親ノードに対応する情報項目を記憶し、該情報項目に対応する伝送マークを所定値に設定する。
【００７９】
１つの例では、該ノードは、第３の決定部５７をさらに含んでもよい。
【００８０】
第３の決定部５７は、該ソースノード及びその親ノードに対応する情報項目を記憶したことがあると第２の決定部５５により決定された場合、予め設定された更新周期において該情報項目に対応する伝送マークが所定値であるか否かを判断する。
【００８１】
送信部５３は、第３の決定部５７の判断結果が否定の場合、該データパケットの受信ノードが該ノードであるとき、該データパケットに該データパケットのソースノードの親ノード情報を追加し、親ノード情報を含むデータパケットを転送する。
【００８２】
この例では、該ノードは、第３の更新部５８をさらに含んでもよい。
【００８３】
第３の更新部５８は、第３の決定部５７の判断結果が否定の場合、該情報項目に対応する伝送マークを該所定値に変更する。
【００８４】
上記の例では、送信部５３は、以下のモジュールを含んでもよい。
【００８５】
抽出モジュール５３１は、該データパケットから送信ノードを抽出する。
【００８６】
追加モジュール５３２は、該データパケットのデータペイロードに該データパケットの送信ノードを追加する。
【００８７】
変更モジュール５３３は、該データパケットの類型を、ソースノードの親ノード情報を含むデータパケットに変更する。
【００８８】
送信モジュール５３４は、親ノード情報を含むデータパケットを送信する。
【００８９】
上記の例では、第１の更新部５４は、情報項目に対応する伝送マークを所定値に設定した後、該情報項目に対応する予め設定された忘れ時間を初期化してもよい。
【００９０】
上記の例では、第２の更新部５６は、情報項目に対応する伝送マークを所定値に設定した後、該情報項目に対応する予め設定された忘れ時間を初期化してもよい。
【００９１】
上記の例では、第３の更新部５８は、情報項目に対応する伝送マークを上記の所定値に変更した後、該情報項目に対応する予め設定された忘れ時間を初期値に再設定してもよい。
【００９２】
本実施例では、送信部５３は、該ノードが転送（Relay）ノードの場合、他のノードのデータパケットを初めて転送した後で、ゲートウェイにデータペイロードが空のメッセージを所定の更新周期で送信してもよい。
【００９３】
１つの例では、該ノードは、一時記憶部５９をさらに含んでもよい。
【００９４】
一時記憶部５９は、送信部５３が親ノード情報を含むデータパケットを転送した後で、該親ノード情報を含むデータパケットを一時記憶する。
【００９５】
送信部５３は、該親ノード情報を含むデータパケットの送信及び受信が成功した場合、一時記憶部５９に記憶された該親ノード情報を含むデータパケットを削除し、失敗した場合、一時記憶部５９に記憶された親ノード情報を含むデータパケットを再送する、例えば親ノード情報を含むデータパケットを送信序列に追加して送信する。
【００９６】
本実施例のノードの各構成部分の機能と実施例１の方法の各ステップと同じであるため、その内容の説明はここに省略される。
【００９７】
本実施例のノードは親ノード情報を含むデータパケットを次ホップノードに転送することで、ゲートウェイは各ノード及びその親ノードの情報を取得でき、該情報に基づいてダウンリンクルーティングテーブルを確立することで、任意のノードまでのダウンリンクルーティングを決定できる。ダウンリンクルーティングをゲートウェイノード側で取得、保守できると共に、それによるシステムの負荷を低減できる。
【００９８】
＜実施例３＞
本発明の実施例は、マルチホップネットワークにおけるゲートウェイに適用するダウンリンクルーティングの取得、保守方法をさらに提供する。図６は、該方法のフローチャートである。図６に示すように、該方法は、以下のステップを含む。
【００９９】
ステップ６０１：該ゲートウェイは、受信された親ノード情報を含むデータパケットに基づいて、予め記憶されたダウンリンクルーティングテーブルを更新する。
【０１００】
ここで、該ダウンリンクルーティングテーブルは、複数の情報項目を含み、各情報項目は、ノードのアドレス、親ノードのアドレス、及び更新時間を含み、或いは各情報項目はノードのアドレス、親ノードのアドレス、更新時間、及び失効時間を含む。
【０１０１】
ステップ６０１の１つの例では、ゲートウェイノードは、図７に示す方法に従って、ダウンリンクルーティングテーブルを更新してもよい。図７に示すように、該方法は以下のステップを含む。
【０１０２】
ステップ７０１：ダウンリンクルーティングテーブルに基づいて、該データパケットのソースノードのアドレス及びその親ノードのアドレスに対応する情報項目が記憶されているか否かを判断する。
【０１０３】
ステップ７０２：該データパケットのソースノードのアドレス及びその親ノードのアドレスに対応する情報項目が記憶されていない場合、該ゲートウェイノードは、該ダウンリンクルーティングテーブルの１つの情報項目に該データパケットのソースノードのアドレス及びその親ノードのアドレスを書き込み、該情報項目に対応する更新時間を更新し、或いは該情報項目に対応する更新時間及び失効時間を更新する。
【０１０４】
ステップ７０３：該データパケットのソースノードのアドレス及びその親ノードのアドレスに対応する情報項目が記憶されている場合、該ゲートウェイノードは、該ダウンリンクルーティングテーブルにおける該情報項目に対応する更新時間を更新し、或いは該ダウンリンクルーティングテーブルにおける該情報項目に対応する更新時間を更新し、且つ該情報項目に対応する失効時間を再設定する。
【０１０５】
本実施例では、ゲートウェイは、類型（Type）が親ノード情報を含むデータパケットを受信した場合、該データパケットに含まれるノードＩＤ（GS）及び親ノードＩＤ（Parent）をダウンリンクルーティングテーブルに記憶し、該ダウンリンクルーティングテーブルの構成は図８に示されている。ここで、ノードＩＤは原始データを生じるソースノードＩＤである可能性があり、原始のデータパケットを生じなく、他のノードのデータパケットのみを転送する転送（Relay）ノードである可能性もあり、実施例１に説明したように、転送ノードは、ゲートウェイにデータペイロードが空のメッセージを送信し、該メッセージ内のＧＳは該転送ノードのＩＤである。
【０１０６】
図８に示すように、該ダウンリンクルーティングテーブルには、第１列の記憶内容はノードＩＤであり、第２列の記憶内容は対応する親ノードＩＤであり、第３列に項目の更新時間であり、第４列は選択的なものであり、情報項目の失効時間であってもよい。
【０１０７】
ゲートウェイは項目を含むデータパケットを受信した場合、ゲートウェイに同じ項目が既に記憶されているとき、ゲートウェイは該項目の更新時間を更新し、該項目の失効時間をさらに再設定してもよい。項目の失効時間に達していない場合、ゲートウェイは、ノードの親ノードの数、メモリの使用状況などの因子に基づいて、この項目を削除するか記憶し続けるかを選択する。
【０１０８】
本実施例の方法によれば、ゲートウェイは、あるノードのダウンリンクルーティングを照会する際に、該ノードからゲートウェイまでの順序とは反対の順序に従って完成のルート、即ちノードのアップリンクルートを逆にしたダウンリンクルートを照会する。ここで、ダウンリンクルーティングテーブルに１つ以上の親ノードが記憶されている場合、そのうち１つをダウンリンクルーティングの親ノードとして選択する、例えば、最後の親ノードとしてデータパケットを転送するノード、即ち更新時間が現在の時間に最も近接するノードを選択する。
【０１０９】
本実施例の１つの例では、システムの負荷をさらに低減するため、ゲートウェイまでの１ホップノードは、ゲートウェイに親ノード情報を集約しない、即ち実施例１の方法に従ってゲートウェイにデータパケットを転送しないで、従来の方法に従って直接該データパケットを転送する、即ちデータパケットに親ノード情報を追加しなくてもよい。この際に、ゲートウェイは、自分の隣接ノードテーブルを照会して、全て１ホップノードを照会して、その親ノード情報を取得してもよい。即ち、この例では、ゲートウェイノードは、自分の隣接ノードテーブルを照会して、マルチホップネットワークにおける１ホップノードの親ノード情報を決定し、該ダウンリンクルーティングテーブルの１つの情報項目に該１ホップノードのアドレス及びその親ノードのアドレス（即ちゲートウェイ自身）を書き込み、該情報項目に対応する更新時間を更新し、或いは該情報項目に対応する更新時間及び失効時間を更新する。
【０１１０】
本実施例の他の例では、システムの負荷をさらに低減するため、ゲートウェイまでの２ホップノードは、ハンドシェイク（Hello）方式又は確認（ACK）方式を有する場合、１ホップノードがデータパケットを転送する際に、該データパケットのＬＳ情報を削除してもよい。ゲートウェイは該１ホップノードと２ホップノードとの間のｈｅｌｌｏパケット又はＡＣＫパケットを監視することで、２ホップノードの親ノード情報を取得する。この際に、ゲートウェイは、該ダウンリンクルーティングテーブルの１つの情報項目に該２ホップノードのアドレス及びその親ノードのアドレスを書き込み、該情報項目に対応する更新時間を更新し、或いは該情報項目に対応する更新時間及び失効時間を更新する。ここで、該ＨＥＬＬＯパケット又は該ＡＣＫパケットに送信ノード（１ホップ情報）の情報及び受信ノード（２ホップ情報）の情報が含まれ、該送信ノードの情報は該２ホップノードの親ノード情報である。
【０１１１】
この例では、ハンドシェイク方式を有する場合、ノード間ハンドシェイクのＨｅｌｌｏパケットは送信ノードの子ノード情報を有するとき、１ホップノードが２ホップノードにＨｅｌｌｏパケットを送信する際に、ゲートウェイは、これらのＨｅｌｌｏパケットを監視でき、２ホップノード（子ノード）に対応する１ホップノード（親ノード）の情報を取得し、図８に示すダウンリンクルーティングテーブルに記憶する。
【０１１２】
この例では、ＡＣＫ方式を有する場合、ゲートウェイまでの２ホップノードは、ゲートウェイに親ノード情報を送信しない。ゲートウェイまでの２ホップノードは、ゲートウェイまでの１ホップノードを介してデータパケットを転送する必要がある。ゲートウェイまでの１ホップノードによるデータパケットの受信が成功した場合、ゲートウェイまでの２ホップノードにＡＣＫメッセージを回答する。ゲートウェイはこれらのＡＣＫメッセージを監視することで、２ホップノード（子ノード）及び１ホップノード（親ノード）のルーティング情報を取得し、ダウンリンクルーティングテーブルの対応する位置に親ノードを追加できる。
【０１１３】
以上の２つの例では、異なるプロトコルではＡＣＫメッセージの構成が異なるが、いずれも簡単である。本発明の実施例に係る方法を実現するため、ＡＣＫメッセージには１ホップノード（ＡＣＫメッセージ送信側）のＩＤ、及び２ホップノード（ＡＣＫメッセージ受信側）のＩＤが含まれてもよい。ＩＥＥＥ８０２．１１プロトコルを例として、変更されたＡＣＫメッセージのフレーム構成は図９に示されている。ここで、受信ノードＩＤは確認することが必要なデータフレームからコピーできる、即ちデータフレームにおけるソースノードＩＤであり、送信ノードＩＤはノード自身のＩＤである。
【０１１４】
本実施例の方法をより明確化にするため、以下の図面及び具体的な例を参照しながら本実施例の方法を説明する。
【０１１５】
図１０は、ネットワークトポロジーを示す図であり、図１１は、ダウンリンクルーティングの照会プロセスを示す図である。図１０に示すネットワークトポロジーにおいて、図１１に示すダウンリンクルーティングテーブルが確立されている。ゲートウェイは、ノード８のダウンリンクルーティングを照会する際に、まずダウンリンクルーティングからノード８の親ノードであるノード７を照会し、次に、ノード７の親ノードであるノード３を照会し、あるノードの親ノードであるゲートウェイ自身を照会するまで、このプロセスを繰り返す。照会することで見つかった全てのノードを逆の順序に配列して、ゲートウェイは、ノード８までの完成のダウンリンクルーティング、即ち０→１→３→７→８を取得した。
【０１１６】
本実施例の方法によれば、ゲートウェイは、親ノード情報を含むデータパケットに基づいてダウンリンクルーティングテーブルを確立し、更新することで、任意のノードまでのダウンリンクルーティングを決定できる。ダウンリンクルーティングをゲートウェイノード側で取得、保守できると共に、それによるシステムの負荷を低減できる。
【０１１７】
本発明の実施例は、マルチホップネットワークにおけるゲートウェイノードをさらに提供し、下記の実施例４に説明するように、該ノードの問題解決の原理と実施例３の方法と類似するため、具体的な実施について実施例３の方法の実施を参照でき、重複する部分の説明はここに省略される。
【０１１８】
＜実施例４＞
本発明の実施例は、マルチホップネットワークにおけるゲートウェイをさらに提供する。図１２は、該ゲートウェイノードの構成を示す図である。図１２に示すように、該ゲートウェイノードは、第１の判断部１２１、及び第１の更新部１２２を含む。
【０１１９】
第１の判断部１２１は、受信された親ノード情報を含むデータパケットに基づいて、ダウンリンクルーティングテーブルに該データパケットのソースノードのアドレス及びその親ノードのアドレスに対応する情報項目が記憶されているか否かを判断する。
【０１２０】
第１の更新部１２２は、第１の判断部１２１の判断結果が否定の場合、該ダウンリンクルーティングテーブルの１つの情報項目に該データパケットのソースノードのアドレス及びその親ノードのアドレスを書き込み、該情報項目に対応する更新時間を更新し、或いは該情報項目に対応する更新時間及び失効時間を更新し、第１の判断部１２１の判断結果が肯定の場合、該ダウンリンクルーティングテーブルにおける該情報項目に対応する更新時間を更新し、或いは該ダウンリンクルーティングテーブルにおける該情報項目に対応する更新時間を更新し、且つ該情報項目に対応する失効時間を再設定する。
【０１２１】
ここで、該ダウンリンクルーティングテーブルは、複数の情報項目を含み、各情報項目は、ノードのアドレス、親ノードのアドレス、及び更新時間を含み、或いは各情報項目は、ノードのアドレス、親ノードのアドレス、更新時間、及び失効時間を含む。
【０１２２】
１つの例では、ゲートウェイノードは、第２の判断部１２３、及び第２の更新部１２４をさらに含む。
【０１２３】
第２の判断部１２３は、該ダウンリンクルーティングテーブルの各情報項目の失効時間に達しているか否かを判断する。
【０１２４】
第２の更新部１２４は、第２の判断部１２３の判断結果が肯定の場合、所定のルールに基づいて、失効時間に達している情報項目を削除するか、或いは該失効時間に達している情報項目を記憶し続けるかを選択する。
【０１２５】
１つの例では、ゲートウェイノードは、照会部１２５をさらに含む。
【０１２６】
照会部１２５は、隣接ノードテーブルを照会して、該マルチホップネットワークにおける１ホップノードの親ノード情報を決定する。
【０１２７】
第１の更新部１２１は、該ダウンリンクルーティングテーブルの１つの情報項目に該１ホップノードのアドレス及びその親ノードのアドレスを書き込み、該情報項目に対応する更新時間を更新し、或いは該情報項目に対応する更新時間及び失効時間を更新する。
【０１２８】
１つの例では、ゲートウェイノードは、取得部１２６をさらに含む。
【０１２９】
取得部１２６は、該マルチホップネットワークの１ホップノードから２ホップノードに送信されたＨＥＬＬＯパケットまたはＡＣＫパケットを監視することで、該２ホップノードの親ノード情報を取得する。
【０１３０】
第１の更新部１２１は、該ダウンリンクルーティングテーブルの１つの情報項目に該２ホップノードのアドレス及びその親ノードのアドレスを書き込み、該情報項目に対応する更新時間を更新し、或いは該情報項目に対応する更新時間及び失効時間を更新する。ここで、該ＨＥＬＬＯパケット又は該ＡＣＫパケットに送信ノードの情報及び受信ノードの情報が含まれ、該送信ノードは該１ホップノードであり、該受信ノードは該２ホップノードであり、該送信ノードの情報は該２ホップノードの親ノード情報である。
【０１３１】
本実施例のゲートウェイノードは、親ノード情報を含むデータパケットに基づいてダウンリンクルーティングテーブルを確立、更新することで、任意のノードまでのダウンリンクルーティングを決定できる。ダウンリンクルーティングをゲートウェイノード側で取得、保守できると共に、それによるシステムの負荷を低減できる。
【０１３２】
本発明の実施例は、１つ又は複数の実施例２に記載のノードと、実施例４に記載のゲートウェイノードと、を含む通信ネットワークをさらに提供する。その内容は上記と同じであるため、ここにその説明を省略される。
【０１３３】
本発明の実施例は、端末機器においてプログラムを実行する際に、コンピュータに、実施例１又は実施例３に記載のダウンリンクルーティングの取得、保守方法を該端末機器において実行させるコンピュータ読み取り可能なプログラム、をさらに提供する。
【０１３４】
本発明の実施例は、コンピュータに、実施例１又は実施例３に記載のダウンリンクルーティングの取得、保守方法を端末機器において実行させるためのコンピュータ読み取り可能なプログラムを記録する記録媒体、をさらに提供する。
【０１３５】
以上のように、本発明の好適な実施形態が説明されている。これらの実施形態の多くの特徴及び利点は詳細な明細書に明確に記載されているため、添付された特許請求の範囲はこれらの実施形態の真実の主旨及び範囲内の全てのこれらの特徴及び利点をカバーするものである。また、当業者にとって、多くの修正及び変更を容易に想到できるため、本発明の実施形態は、例示又は記載された具体的な構成及び動作に限定されたものではなく、その範囲内の全ての適切な修正及び均等物をカバーできる。
【０１３６】
なお、本発明の各部分は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせにより実現されてもよい。上述した実施形態では、複数のステップ又は方法は、メモリに記憶され、適切な指令によってシステムが実行するソフトウェア又はファームウェアを実行することで実現されてもよい。例えば、ハードウェアで実現される場合、他の実施形態と同じように、データ信号に対して論理機能を有する論理ゲート回路の離散論理回路、論理ゲート回路を適切に組み合わせる専用の集積回路、プログラミング可能ゲートアレイ（ＰＧＡ）、現場プログラミング可能ゲートアレイ（ＦＰＧＡ）などの公知の下記の技術のうちいずれか又はそれらの組み合わせで実現してもよい。
【０１３７】
また、上述の各実施例を含む実施形態に関し、更に以下の付記を開示する。
【０１３８】
（付記１）
マルチホップネットワークにおけるデータ転送機能を有するノードに適用するダウンリンクルーティングの取得、保守方法であって、
転送或いは監視されたデータパケットを復号化し、前記データパケットのソースノード、宛先ノード、送信ノード、受信ノード、類型、及びデータペイロードを取得するステップと、
前記データパケットのソースノードのホップ数（ソースノードから宛先ノードまでのホップ数）が前記ノード自身のホップ数（前記ノードから宛先ノードまでのホップ数）よりも大きく、且つ両者の差が２である場合、前記ノードのデータパケット転送テーブルに基づいて、前記ソースノードのデータパケットを転送したか否かを決定するステップと、
前記ソースノードのデータパケットを転送したことがない場合、前記データパケットの受信ノードが前記ノードであるとき、前記データパケットに前記データパケットのソースノードの親ノード情報を追加し、親ノード情報を含むデータパケットを転送するステップと、を含む、方法。
【０１３９】
（付記２）
前記ソースノードのデータパケットを転送したことがない場合、前記データパケット転送テーブルに、前記ソースノード及びその親ノードに対応する情報項目を記憶し、前記情報項目に対応する伝送マークを所定値に設定するステップ、をさらに含む、付記１に記載の方法。
【０１４０】
（付記３）
前記ソースノードのデータパケットを転送したことがある場合、前記ノードのデータパケット転送テーブルに基づいて、前記ソースノード及びその親ノードに対応する情報項目を記憶したか否かを決定するステップと、
前記ソースノード及びその親ノードに対応する情報項目を記憶したことがない場合、前記データパケットの受信ノードが前記ノードであるとき、前記データパケットに前記データパケットのソースノードの親ノード情報を追加し、親ノード情報を含むデータパケットを転送するステップと、をさらに含む、付記１に記載の方法。
【０１４１】
（付記４）
前記ソースノード及びその親ノードに対応する情報項目を記憶したことがない場合、前記データパケット転送テーブルに、前記ソースノード及びその親ノードに対応する情報項目を記憶し、前記情報項目に対応する伝送マークを所定値に設定するステップ、をさらに含む、付記３に記載の方法。
【０１４２】
（付記５）
前記ソースノード及びその親ノードに対応する情報項目を記憶したことがある場合、予め設定された更新周期において前記情報項目に対応する伝送マークが所定値であるか否かを判断するステップと、
予め設定された更新周期において前記情報項目に対応する伝送マークが所定値ではない場合、前記データパケットの受信ノードが前記ノードであるとき、前記データパケットに前記データパケットのソースノードの親ノード情報を追加し、親ノード情報を含むデータパケットを転送するステップと、を含む、付記３に記載の方法。
【０１４３】
（付記６）
予め設定された更新周期において前記情報項目に対応する伝送マークが所定値ではない場合、前記情報項目に対応する伝送マークを前記所定値に変更するステップ、をさらに含む、付記５に記載の方法。
【０１４４】
（付記７）
前記データパケットに前記データパケットのソースノードの親ノード情報を追加するステップは、
前記データパケットから送信ノードを抽出するステップと、
前記データパケットのデータペイロードに前記データパケットの送信ノードを追加するステップと、
前記データパケットの類型を、ソースノードの親ノード情報を含むデータパケットに変更するステップと、を含む、付記１乃至６のいずれかに記載の方法。
【０１４５】
（付記８）
記情報項目に対応する伝送マークを前記所定値に変更した後で、前記情報項目に対応する予め設定された忘れ時間を初期化するステップ、をさらに含む、付記２又は４に記載の方法。
【０１４６】
（付記９）
記情報項目に対応する伝送マークを前記所定値に変更した後で、前記情報項目に対応する予め設定された忘れ時間を初期値に再設定するステップ、をさらに含む、付記６に記載の方法。
【０１４７】
（付記１０）
前記ノードが転送（Relay）ノードの場合、他のノードのデータパケットを初めて転送した後で、ゲートウェイにデータペイロードが空のメッセージを所定の更新周期で送信するステップ、をさらに含む、付記１に記載の方法。
【０１４８】
（付記１１）
親ノード情報を含むデータパケットを転送した後で、前記親ノード情報を含むデータパケットを一時記憶し、前記親ノード情報を含むデータパケットの送信及び受信が成功した場合、前記ノードが前記親ノード情報を含むデータパケットを削除し、失敗した場合、親ノード情報を含むデータパケットを再送するステップ、をさらに含む、付記１に記載の方法。
【０１４９】
（付記１２）
マルチホップネットワークにおけるゲートウェイノードに適用するダウンリンクルーティングの取得、保守方法であって、
前記ゲートウェイノードは、受信された親ノード情報を含むデータパケットに基づいて、予め記憶されたダウンリンクルーティングテーブルを更新するステップ、を含み、
前記ダウンリンクルーティングテーブルは複数の情報項目を含み、各情報項目はノードのアドレス、親ノードのアドレス、及び更新時間を含み、或いは各情報項目はノードのアドレス、親ノードのアドレス、更新時間、及び失効時間を含む、方法。
【０１５０】
（付記１３）
前記ゲートウェイノードは、受信された親ノード情報を含むデータパケットに基づいて、予め記憶されたダウンリンクルーティングテーブルを更新するステップは、
前記ダウンリンクルーティングテーブルに前記データパケットのソースノードのアドレス及びその親ノードのアドレスに対応する情報項目が記憶されていない場合、前記ゲートウェイノードは、前記ダウンリンクルーティングテーブルの１つの情報項目に前記データパケットのソースノードのアドレス及びその親ノードのアドレスを書き込み、前記情報項目に対応する更新時間を更新し、或いは前記情報項目に対応する更新時間及び失効時間を更新するステップ、を含む、付記１２に記載の方法。
【０１５１】
（付記１４）
前記ゲートウェイノードは、受信された親ノード情報を含むデータパケットに基づいて、予め記憶されたダウンリンクルーティングテーブルを更新するステップは、
前記ダウンリンクルーティングテーブルに前記データパケットのソースノードのアドレス及びその親ノードのアドレスに対応する情報項目が記憶されている場合、前記ダウンリンクルーティングテーブルにおける前記情報項目に対応する更新時間を更新し、或いは前記ダウンリンクルーティングテーブルにおける前記情報項目に対応する更新時間を更新し、且つ前記情報項目に対応する失効時間を再設定するステップ、を含む、付記１２に記載の方法。
【０１５２】
（付記１５）
前記ダウンリンクルーティングテーブルの１つの情報項目の失効時間に達している場合、前記ゲートウェイノードは、所定のルールに基づいて、前記情報項目を削除するか、或いは前記情報項目を記憶し続けるかを選択するステップ、をさらに含む、付記１２に記載の方法。
【０１５３】
（付記１６）
前記ゲートウェイノードは、隣接ノードテーブルを照会して、前記マルチホップネットワークにおける１ホップノードの親ノード情報を決定し、前記ダウンリンクルーティングテーブルの１つの情報項目に前記１ホップノードのアドレス及びその親ノードのアドレスを書き込み、前記情報項目に対応する更新時間を更新し、或いは前記情報項目に対応する更新時間及び失効時間を更新するステップ、をさらに含む、付記１２に記載の方法。
【０１５４】
（付記１７）
前記ゲートウェイノードは、前記マルチホップネットワークの１ホップノードから２ホップノードに送信されたＨＥＬＬＯパケットまたはＡＣＫパケットを監視することで、前記２ホップノードの親ノード情報を取得するステップと、
前記ゲートウェイノードは、前記ダウンリンクルーティングテーブルの１つの情報項目に前記２ホップノードのアドレス及びその親ノードのアドレスを書き込み、前記情報項目に対応する更新時間を更新し、或いは前記情報項目に対応する更新時間及び失効時間を更新するステップと、
前記ＨＥＬＬＯパケット又は前記ＡＣＫパケットに送信ノードの情報及び受信ノードの情報が含まれ、前記送信ノードは前記１ホップノードであり、前記受信ノードは前記２ホップノードであり、前記送信ノードの情報は前記２ホップノードの親ノード情報である、付記１２に記載の方法。
【図１】
2014204437.tif 000003
【図２】
2014204437.tif 000004
【図３】
2014204437.tif 000005
【図４】
2014204437.tif 000006
【図５】
2014204437.tif 000007
【図６】
2014204437.tif 000008
【図７】
2014204437.tif 000009
【図８】
2014204437.tif 000010
【図９】
2014204437.tif 000011
【図１０】
2014204437.tif 000012
【図１１】
2014204437.tif 000013
【図１２】
2014204437.tif 000014