JP5683755B2 - パケットのループフリールーティングのためのスマートメーターネットワークにおける破損したリンクを回避する方法 - Google Patents

パケットのループフリールーティングのためのスマートメーターネットワークにおける破損したリンクを回避する方法 Download PDF

Info

Publication number
JP5683755B2
JP5683755B2 JP2014524601A JP2014524601A JP5683755B2 JP 5683755 B2 JP5683755 B2 JP 5683755B2 JP 2014524601 A JP2014524601 A JP 2014524601A JP 2014524601 A JP2014524601 A JP 2014524601A JP 5683755 B2 JP5683755 B2 JP 5683755B2
Authority
JP
Japan
Prior art keywords
node
packet
rank
dodag
rep
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014524601A
Other languages
English (en)
Other versions
JP2015507378A (ja
Inventor
グオ、ジアンリン
ハン、チュアン
バッチ、グーラム・エム
オーリック、フィリップ
ジャン、ジンユン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JP2015507378A publication Critical patent/JP2015507378A/ja
Application granted granted Critical
Publication of JP5683755B2 publication Critical patent/JP5683755B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/22Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

この発明は、包括的には、無線センサーネットワークにおけるパケットのルーティングに関し、特に、破損したリンクを有するスマートメーターネットワークにおけるパケットのルーティングに関する。
スマートメーターは、消費者による利用設備、例えば、電気、暖房、ガス、及び水道の使用を監視する。通常、スマートメーターは、ネットワーク又はグリッドを介して利用設備提供者と通信する。このネットワーク又はグリッドは、おそらく、数百万個のスマートメーターを備えることができる。スマートメーターは、利用設備のオン又はオフ、使用量情報の記録、サービス停止、無断使用の検出、利用設備消費の制御、及び支払いの管理を行うことができる。
スマートメーターは、利用設備提供者と確実かつ安全に通信しなければならない。有線又は無線のメッシュネットワークを用いることができる。複数のプロトコル、例えば、光通信用のANSI C12.18、ANSI C12.19、及びANSI C12.21、並びにIEEE802.15.4、IEEE P1901.2、及びIEEE802.11が知られている。欧州連合は、IEC61107及びIEC62056を用いる。日本国では、省エネルギー(Energy Conservation)が、スマートメーター化、並びに公共の利用設備及び私的な利用設備の推進に関与している。
スマートメーターは、1つ又は複数のコンセントレーターを介して利用設備提供者に接続することができる。コンセントレーターは、スマートメーターから計測情報を受信し、この情報を、利用設備を制御又は監視するための提供者に転送する。コンセントレーターは、管理の目的で制御パケットをスマートメーターに送信することもできる。
スマートメーターは、ZigBee無線等のより低消費電力高パケット損失(low power and lossy)送受信機を装備することができ、比較的大きな幾何学的領域、例えば、国全体に展開される。したがって、スマートメーター及びコンセントレーターは、大規模無線ネットワークを形成し、このネットワークでは、コンセントレーターが当該ネットワークを維持する。
そのような大規模無線ネットワークでは、送信元ノード(送信元)と宛先ノード(宛先)とが1ホップの近傍ノードでない場合に、データパケットを送信元ノードから宛先ノードに複数のホップ通信によって中継しなければならない。したがって、パケットの最適なルーティングが最も重要である。なぜならば、ネットワークは、計測情報の送信及び制御パケットの送信の双方に高い信頼性及び低いレイテンシーを必要とするからである。
移動アドホックネットワーク及び無線センサーネットワークにおける複数のルーティング方法が知られている。しかしながら、ほとんどの方法は、比較的小さなネットワークにおけるポイントツーポイント通信用に設計されており、したがって、数個の専用データコンセントレーターしかないスマートメーターネットワークには適していない。
1つのルーティング方法は、インターネットエンジニアリングタスクフォース(IETF:Internet Engineering Task Force)によって開発中の低消費電力高パケット損失ネットワーク用ルーティングプロトコル(RPL:Routing Protocol for Low Power and Lossy Networks)である。RPLは、スマートメーターネットワーク等の大規模な低消費電力高パケット損失ネットワーク用に設計されている。
RPLでは、ノードは、1つ又は複数の宛先指向非循環有向グラフ(DODAG:Destination Oriented Directed Acyclic Graphs)に編成される。DODAG内では、単一の宛先ノードがDODAGのルートであり、このDODAGルートノード(コンセントレーター)が、ネットワークにおいて生成された情報を収集し、必要なときに、ネットワークの外部に情報をルーティングする。RPLは、DODAGルートにおけるポリシーから構成されるとともにこのポリシーによって制御されるような必要なパラメーターを指定するDODAG情報オブジェクト(DIO:DODAG Information Object)パケットを用いて、DODAG構造を構築及び維持する。
ランクは、DODAGの構築及び維持のための、DIOパケット内のパラメーターのうちの1つである。ノードのランクは、DODAGルートに対する他のノードとの相対的なノードの位置を規定する。各ノードは、それ自身のランクを保持する。DODAGルートノードは、DODAG内の全てのノードの中で最低のランクを有する。ノードは、子がその親の全てのランクよりも厳密に大きなランクを有しなければならない親子関係に基づく自身のランクを保持する。DODAGルートノードは親を有しない。
ノードは、同じDODAG内の近傍ノードから複数のDIOパケットを受信することができる。
DODAGに加わるために、ノードは、DIOパケット送信機のサブセットを自身の親として選択し、目的(コスト)関数を用いて自身のランクを求める。ノードは、自身の全ての親の中から、1つの親を、コンセントレーターへの上方経路に沿った次のホップノードとして用いられる自身の好ましい親として選択する。
スマートメーターはエネルギー制約を受けないものと仮定される。その代わり、電気メーターが、第一にコストによって決まり、第二に電力消費によって決まるハードウェアの制約及び通信容量の制約を有する。その結果、展開は、メモリサイズ、計算パワー、及び通信能力の観点から大幅に変動する可能性がある。この理由から、RPL記憶モード又はRPL非記憶モードの使用は、特定の展開向けのものとなる。
スマートメーターがメモリ制約を受け、ホップバイホップルーティングをサポートするのに必要な経路テーブルを十分に記憶することができないとき、RPL非記憶モードが好ましい。ノードがそのようなルーティングテーブルを記憶することができる場合、記憶モードの使用によって、オーバーヘッド及び経路修復レイテンシーの削減がもたらされる場合がある。しかしながら、高密度環境では、経路を記憶することは困難になる可能性がある。
したがって、下方経路のRPLサポートが、DIOパケット内の動作モード(MOP:Mode of Operation)によって決定される。MOPは、DODAGルートによって構成され、他のノードが変更することができない。
MOPは、RPLが、下方経路を可能にすることができないか、又は下方経路においてネットワーク内ルーティングテーブルを用いて記憶モードによって下方経路をサポートすることができないか、又は下方経路においてDODAGルートからの送信元ルーティングを用いて非記憶モードによって下方経路をサポートすることができないように、3つのオプションを有する。
非循環有向構造は、RPLにおける鍵である。非循環構造は、任意のノードのランクが、その親ノードの全てのランクよりも厳密に大きい限り保証される。ノードは、自身の新たなランクが自身の親の全てのランクよりも大きいことが維持される限り、自身のランクを減少させることが安全である。一方、ランクの増加は、DODAG内にルーティングループを引き起こす可能性がある。
従来のネットワークでは、破損したリンクは、ループを引き起こす可能性がある。破損したリンクが検出された後、ノードは、無限大のランクを広告することができる。この無限大ランク広告が喪失された場合、他のノードは、この広告を受信せず、パケットは、ループを無限に循環する。
RPLは、ループを解消するためのメカニズムを提供するが、このメカニズムは、ルーティングループそのものよりもはるかに大きな問題を引き起こす可能性があることが知られている。
したがって、破損したリンクを有するスマートメーターネットワークにおけるループフリールーティングのランク計算方法を提供することが望ましい。また、ループを何ら作成しないローカルDODAG修復方法を提供することも望ましい。
この発明の実施の形態は、ノードからなるスマートメーターネットワークにおけるループフリールーティングのためのランク計算方法を提供する。各ノードは、破損したリンクが検出された場合であっても、決して増加することのないランクを有する。その結果、考案されたランク計算方法は、ループが生じることを防止する。
考案されたランク計算方法によると、ノードは、ループが作成されないように親を選択する。
1つのコンセントレーターを用いたネットワークを有する実施の形態を説明する。しかしながら、これらの実施の形態は、複数のコンセントレーターを有するネットワークに適用可能である。
この方法は、分子が分母よりも小さい真分数としてランクを規定する。この方法は、破損したリンクが検出された場合であっても、更新中にノードのランクを決して増加させない。
この発明は、ループを決して引き起こさないローカル宛先指向非循環有向グラフ(DODAG)を修復する方法を提供する。この修復は、破損したリンクを本質的に回避する。
この修復方法は、RPLの記憶モード及び非記憶モードの双方に適用される。考案されたランク計算方法に基づくと、ノードは、DODAGルートに向かう複数の破損していないルーティングリンクを発見することができる。
この発明の実施の形態によって回避されるスマートメーターネットワークの一部におけるルーティングループの概略図である。 この発明の実施の形態が動作するスマートメーターネットワークの概略図である。 この発明の実施の形態による変更されたDIOパケットのフォーマットのブロック図である。 この発明の実施の形態によるDODAG修復要求パケットのフォーマットのブロック図である。 この発明の実施の形態によるDODAG修復返答パケットのフォーマットのブロック図である。 この発明の実施の形態によるDODAG構築処理のフローチャートである。 この発明の実施の形態によるDODAG構築の概略図である。 この発明の実施の形態による記憶モードにおける上方リンク破損ハンドリングプロセスのフローチャートである。 この発明の実施の形態による非記憶モードにおける上方リンク破損ハンドリングプロセスのフローチャートである。 この発明の実施の形態による記憶モードにおけるDODAG修復要求パケットを処理するフローチャートである。 この発明の実施の形態による非記憶モードにおけるDODAG修復要求パケットを処理するフローチャートである。 この発明の実施の形態による記憶モードにおけるDODAG修復返答パケットを処理するフローチャートである。 この発明の実施の形態による非記憶モードにおけるDODAG修復返答パケットを処理するフローチャートである。 この発明の実施の形態によるローカルDODAG修復の概略図である。 この発明の実施の形態による破損したリンクを回避する概略図である。
図1は、ルーティングループを有するスマートメーターネットワークの一部分を示している。この部分は、関連付けられたランクrがノード上にイタリック体で示されているノード1〜7と、コンセントレーターCとを有する。ノード間のリンクは、有向エッジ(矢印)によって表される。リンク101は、好ましい親へのものであり、ノード1とコンセントレーターとの間のリンク102は破損し、リンク103は、破損したリンクに起因してループを引き起こす、好ましい親へのリンクである。
ここで、ランクは整数であることに留意されたい。この発明による方法は、これらの整数を、破損したリンクを検出したときにサイズが決して増加しない真分数になるように変更することができる。
破損したリンクのために、ノード1は、無限大のランクを広告することによって破損したリンクの「影響をなくす(poison)」ことができる。この無限大のランクの広告が喪失された場合、ノード2及び3は広告を受信しない。その結果、ノード2は、依然として、その好ましい親としてノード1を有する。次に、ノード3は、3の値を有する自身のランクを広告し、ノード1は、ノード3から広告を受信し、ノード3を自身の親として選択し、これによって、ノード1−3−2−1−…を無限に通るループが引き起こされる。
この発明の目的は、図1に示すように破損したリンクに起因したネットワーク内のループを防止することである。
したがって、考案されたランク計算方法によると、図1におけるノード1は、ノード2もノード3も自身の親として選択しない。その代わり、ノード1は、ノード4を自身の親として選択し、そのため、ループは引き起こされない。
図2は、ノードが自身のランクを決して増加させない、スマートメーターネットワークにおけるループフリールーティングにこの発明の実施の形態を用いるノードからなるスマートメーターネットワークを示している。
このネットワークは、スマートメーターM及びコンセントレーターCを備える。これらのノードは、有線リンク又は無線リンクによって互いに接続されている。有線リンクは、電力線を介することができる。この方法は、任意の既知の無線通信標準規格に適用可能である。
コンセントレーターは、利用設備提供者Pと通信する。ノード及びリンクは、メッシュネットワークを形成する。各ノードは、関連付けられたランクrを有する。
このスマートメーターネットワークでは、各スマートメーターは、消費者における情報を定期的に収集し、この情報を1つ又は複数のコンセントレーターに送信する。コンセントレーターは、この情報を受信するとともに、当該情報を、スマートメーターを制御又は監視するために提供者に転送することとを担当する。この情報は、以下でより詳細に説明するデータパケットで通信される。
コンセントレーターは、管理目的でスマートメーターに制御パケットを送信することもできる。スマートメーターは、通常、ZigBee無線等の低消費電力高パケット損失送受信機を装備し、比較的大きな幾何学的領域に展開される。したがって、スマートメーター及びコンセントレーターは、当該コンセントレーターがネットワーク全体を維持する大規模メッシュ無線ネットワークを形成する。
そのような大規模無線ネットワークでは、送信元ノード(送信元)と宛先ノード(宛先)とが1ホップの近傍ノードでない場合に、パケットを送信元から宛先に複数のホップ通信によって中継しなければならない。このルーティングは、計測情報及び制御情報の双方に高い信頼性及び低いレイテンシーを必要とする。
この発明の実施の形態では、ネットワークは、宛先指向非循環有向グラフ(DODAG)によって表される。DODAGでは、スマートメーターはノードによって表され、メーター間の通信リンクは有向エッジによって表される。ノード(スマートメーター)は、関連付けられたランクrを有する。
コンセントレーターは、DODAGにおけるルートである。i、j、k、l等のイタリック体のシンボルは、スマートメーターノードの識別子(ID)を示すのに用いられ、Cは、コンセントレーターの識別子を示す。ノードは、例えば、ネットワークにおいて一意である自身のIPv6アドレスによって識別することができる。
表1は、この発明の実施の形態によって用いられるノードiの状態パラメーターを示している。
<表1>
R(i) :真分数m/nの形式の正負符号なし整数対(m,n)である、ノードi
のランク
P(i) :ノードiの親集合
(i) :ノードiが上方パケットを転送する親である、ノードiの好ましい()親
c(i) : ホップカウント、遅延、予想送信時間等の、ノードiからコンセントレ
ーターへの最小コスト
c(i,j): ノードiからノードjへのコスト
VN(i) : ノードiのDODAGバージョン番号
DR−SN(i):ノードiのDODAG修復連続番号
Tp : 親閾値であり、ノードはこの閾値未満の親をP(i)に更に加えることが
できる
各スマートメーターノードiは、親集合P(i)に複数の親を保持することができる。各親p∈P(i)について、ノードiは、ランクR(p)も記録する。常に、ノードiは、任意のノードp∈P(i)についてR(i)>R(p)であるような自身の親集合P(i)を保持している。コンセントレーターノードCについて、P(C)は、常に空、すなわち、|P(C)|=0である。
パケットタイプ
低消費電力高パケット損失ネットワーク(RPL)用のルーティングプロトコルの下では、複数のタイプのパケットが定義される。
この発明の実施の形態によれば、DODAG情報オブジェクト(DIO)パケットのフォーマットが、この発明者らの真分数ランク定義に対応するように変更される。
図3A〜図3Cに示すように、DIOパケットは変更され、2つの新たなパケットが、ローカルDODAG修復目的のために定義される。これらの新たなパケットは、図3BのDODAG修復要求(DR−REQ:DODAG Repair Request)パケット及び図3CのDODAG修復返答(DR−REP:DODAG Repair Reply)パケットとして定義される。
この明細書において定義するように、修復とは、一時的な場合もあるし恒久的な場合もある破損したリンクを実際に物理的に修復するものではない。むしろ、修復は、破損したリンクが回避されるようなDODAG上の実行体(performer)である。
変更されたDIOパケットは、図3Aに示されている。このDIOパケットでは、ランクRは、従来技術におけるような正負符号なし整数から、正負符号なし整数対(m,n)、すなわち、m/nによって定義される真分数に変更されている。この真分数では、分子は分母よりも小さい。コストcが、DIOパケットに追加される。このコストは、ノードからDODAGルートへのリンク(複数の場合もある)の最小コストである。
図3Bは、DR−REQパケットを示している。DR−REQパケットは、ID−Q、R−Q、VN−Q、SN−Q、NL−Q、及び他のオプションを含む。ID−Qは、DR−REQパケット生成器の識別子であり、R−Qは、DR−REQパケット生成器のランクであり、VN−Qは、DR−REQパケット生成器のDODAGバージョン番号であり、SN−Qは、DR−REQパケット生成器のDODAG修復連続番号であり、NL−Qは、DR−REQパケットによって移動されるノードリストであり、NL−Qは、非記憶モードでのみ存在する。
図3Cは、DR−REPパケットを示している。DR−REPパケットは、ID−Q、R−P、c、VN−P、SN−Q、D、R−Q、NL−P、及び他のオプションを含む。ID−Qは、DR−REQパケット生成器の識別子又はDR−REPパケットの宛先ノード識別子であり、R−Pは、DR−REPパケットが上方に進む場合には、DR−REPパケット生成器のランクであり、DR−REPパケットが下方に進む場合には、送信ノードのランクであり、cは、DR−REPパケット送信ノードからDODAGルートへのリンク(複数の場合もある)の最小コストであり、VN−Pは、DR−REPパケット生成器のDODAGバージョン番号であり、SN−Qは、DR−REQパケット生成器のDODAG修復連続番号であり、Dは、DR−REPパケット進行方向を示し、R−Qは、DR−REQパケット生成器のランクであり、NL−Pは、DR−REQパケット内のNL−Qと、上方DR−REPパケットによって移動されるノードリストとを組み合わせたものである。D、R−Q、及びNL−Pは、非記憶モードでのみ存在する。
ランク定義及びランク分割演算
ノードiについて、ランクR(i)は、R(i)=m/nであるような真分数として定義される。ここで、0≦m≦nであり、m及びnは整数であり、0<nである。ノードiのランクは、R(i)=(m,n)として示される。
任意の2つのランクR(i)=(m,n)及びR(j)=(p,q)について、ランク分割演算が、sp(R(i),R(j))=sp((m,n),(p,q))=(m+p)/(n+q)として定義される。
この分割演算sp(R(i),R(j))は、ランク(m,n)及び(p,q)を分割し、新たなランク(m+p)/(n+q)を生成する。
m/n<p/qである場合、m/n<(m+p)/(n+q)<p/qである。
すなわち、分割演算sp(R(i),R(j))は、ランクR(i)とR(j)との間の新たなランクを生成する。ランクは、約分可能である場合、分子及び分母の双方を最大公約数で除算することによって約分される。
考案されたランク定義の利点は、次の認識に基づいている。任意の2つの真分数m/nとp/qとの間には、無限個の真分数が存在する。真分数のこの特徴を利用することによって、考案されたランク計算方法は、破損したリンクが検出されたときであっても、ノードのランクが決して増加しないことを保証する。すなわち、現在のランクが(m,n)=m/nである場合、新たなランクは(p,q)=p/qであり、p/qはm/nよりも小さい。
真分数の形式のランクが増加することができない場合、ループフリー経路を保証することができる。
最初に、コンセントレーターノードCについて、c(C)=0、VN(C)=δ>0、|P(C)|=0であり、ランクR(C)は、R(C)<(1,1)であるような任意の真分数とすることができる。例えば、R(C)=(0,1)=0/1が用いられる。スマートメーターノードiについて、c(i)=∞、VN(i)=0、T=所定の値、DR−SN(i)=1、|P(i)|=0であり、ランクR(i)は、R(C)<R(i)≦(1,1)であるような任意の真分数とすることができる。例えば、R(i)=(1,1)=1/1が用いられる。
DODAG構築
DODAGは、DIOパケットを用いることによって構築される。DIOパケットは、トリクルタイマー(trickle timer)を用いて送信される。トリクルタイミングによって、高パケット損失共有媒体(lossy shared medium)、例えば、低消費電力高パケット損失ネットワークにおけるノードは、エネルギー効率が良くスケーラブルな方法で情報を交換することが可能になる。不整合性は数ミリ秒で解消される。ノードが同意すると、ノードがパケットを非常に低い頻度で送信する、例えば、1時間当たり数パケットを送信するように、通信レートは指数関数的に減少される。ネットワークをパケットでフラッディングさせる代わりに、整合性を維持するのに十分なだけの少量のパケットが送信される。
最初に、スマートメーターノードは、DIOパケットを送信しない。なぜならば、DIOパケットの幾つかのフィールドは、DODAGルートのみが構成することができるからである。DIOパケットは、全RPLノードへのリンクローカルマルチキャストを送信することによって送信される。コンセントレーターであるDODAGルートは、増加したDODAGバージョン番号を有するDIOパケットを送信することによって新たなDODAG構築プロセスを開始する。
DIOパケットを受信したことに応答して、ノードは、次の条件のうちの一方が当てはまる場合にのみ、自身の状態を更新することができる。
(1)DIOパケット内のDODAGバージョン番号が、受信ノードのDODAGバージョン番号よりも大きいこと、及び
(2)DIOパケット内のDODAGバージョン番号が、受信ノードのDODAGバージョン番号に等しく、かつDIOパケット内のランクが、受信ノードのランクよりも低いこと。
ノードは、自身のランクが初期ランクであり、かつ上記条件のうちの一方が当てはまるとき、自身の状態パラメーターを更新する。
ノードは、自身の状態パラメーターを更新する場合、DIOパケットを構築して送信し、DODAGバージョン番号、ランク、コスト等の自身の新たな状態パラメーターをコンセントレーター等に「広告する」ことができる。
スマートメーターノードは、自身の初期ランクを有するDIOパケットを送信しない。このノードのランクは、自身の親のどのランクよりも厳密に大きい。
コンセントレーターが、より大きなDODAGバージョン番号を有するDIOパケットを送信するとき、新たなDODAGが構築される。最初に、コンセントレーターノードCは、全てのスマートメーターノードのバージョン番号よりも大きなDODAGバージョン番号を有するDIOパケットを送信する。したがって、コンセントレーターノードCは、全てのスマートメーターノードの初期DODAGバージョン番号である0よりも大きなDODAGバージョン番号を有する自身の初期DIOパケットを送信する。
コンセントレーターの近傍ノード、すなわち、第1ホップの近傍ノードは、コンセントレーターによって送信されたDIOパケットを受信すると、自身の状態パラメーターを更新して、自身のDIOパケットを構築し、これらのDIOパケットを送信する。なぜならば、受信したDIOパケットは、より大きなDODAGバージョン番号を有するからである。
第2ホップの近傍ノードは、第1ホップの近傍ノードによって送信されたDIOパケットを受信すると、自身の状態パラメーターを更新して、自身のDIOパケットを構築し、これらのDIOパケットを送信する。なぜならば、受信したDIOパケットは、より大きなDODAGバージョン番号を有するからである。
このDIOパケット送信プロセスは、ネットワーク内の全てのスマートメーターノードがDIOパケットを受信して、自身の状態パラメーターを更新するまで続く。これは、DODAGが完全に構築されるということである。
図4は、DODAGを構築する方法を示している。この方法では、ノードjが、R(j)、c(j)、及びVN(j)を含むDIOパケット送信し、ノードiが、このDIOパケットを受信する(401)。R(i)、VN(i)、P(i)、及びp(i)は、ノードiによって保持された状態パラメーターである。
この図及び他の図において、方法のステップは、当該技術分野において知られているように、メモリ及び入力/出力インターフェースに接続されたプロセッサにおいて実行することができる。これらのプロセッサは、グラフ内のノードのうちのいずれかによって表されるコンセントレーター及びスマートメーターに位置することができる。
ノードiは、DIOパケットを受信すると、受信したDIOパケットが正しくないか否か又は既に受信されたものであるか否かを最初に調べる(402)。正しくない場合又は既に受信されたものである場合、ノードiは、このDIOパケットを廃棄する(420)。そうでない場合、ノードiは、ノード識別子jがそれ自身の識別子iと等しいか否かを調べる(403)。等しい場合、ノードiは、このDIOパケットを廃棄する。なぜならば、このノードは、自身が送信したDIOパケットを受信したからである。そうでない場合、ステップ404に進む。
ノードiは、DIOパケット内のDODAGバージョン番号VN(j)が、自身のDAGバージョン番号VN(i)よりも大きいか否かを調べる(404)。大きい場合、ノードiは、自身の状態パラメーターをVN(i)=VN(j)、P(i)={j}、p(i)=j、R(i)=sp((1,1),R(j))、c(i)=c(j)+c(i,j)として初期化し(410)、動作モード(MOP)が記憶モードである場合、下方ルーティングテーブルを消去する。次に、ノードは、DIOパケットを送信するために自身のトリクルタイマーをリセットし(411)、RPLが下方ルーティングをサポートしているとき、宛先広告オブジェクト(DAO)パケット送信もスケジューリングする(412)。大きくない場合、ステップ405に進む。
ノードiは、VN(j)=VN(i)であるか否かを調べる(405)。VN(j)=VN(i)でない場合、ノードiはDIOパケットを廃棄する。VN(j)=VN(i)であり、かつR(j)≧R(i)である場合(406)、ノードiはDIOパケットを廃棄する。VN(j)=VN(i)であり、かつR(j)<R(i)である場合、ノードiは、受信したDIOパケットが、自身の親集合、好ましい親、又はランクに何らかの変更を引き起こすか否かを調べる(407)。引き起こさない場合、ノードiはDIOパケットを廃棄する。引き起こす場合、ノードiは、状態を更新する(430)。ノードjが自身の親集合になく、かつ|P(i)|<Tである場合、ノードiは、
Figure 0005683755
となるように、ノードjを自身の親集合に追加する。同じ最小コストを有する複数の親が存在する場合、ノードiは、1つの好ましい親をランダムに選ぶことができ、c(i)=c(p(i))+c(i,p(i))となる。次に、ノードiは、新たな親jを反映するようにDAOパケット送信をスケジューリングする(431)。ノードjがP(i)に既に存在する場合、ノードiは、DAOパケット送信をスケジューリングすることなく必要な更新を行う。
図5は、一例のDODAGの構築を概略的に示している。コンセントレーターノードC及びメーターノード1〜6に加えて、図5は、DIO伝播リンク501、好ましい親へのリンク502、及びこの親へのリンク503も示している。
最初に、ノード1〜6は、自身のランクを(1,1)に設定し、DODAGバージョン番号を0に設定し、親集合は空に設定される。コンセントレーターノードCは、自身のランクを(0,1)に設定し、DAGバージョン番号を1に設定し、自身の親集合を空に設定する。この概略図及び他の概略図において、ランク(m,n)は、ノードの付近に示されている。
コンセントレーターノードCは、自身のDODAGバージョン番号1及びランク(0,1)を搬送するDIOパケットを送信する。ノード1、2、及び3が、このDIOパケットを受信する。このDIOパケット内のDODAGバージョン番号は、ノード1、2、及び3のDODAGバージョン番号よりも大きいので、ノード1、2、及び3は、自身のDODAGバージョン番号を1に更新し、ランクをsp((1,1)、(0,1))=(1,2)に更新し、Cを好ましい親として選択する。
ノード1、2、及び3は、新たなDODAGバージョン番号及びランクを用いて、DODAGバージョン番号1及びランク(1,2)を有する自身のDIOパケットを送信する。ノード1、2、及び3からのDIOパケットは、コンセントレーターCによって廃棄される。なぜならば、このパケット内のDODAGバージョン番号は、コンセントレーターのDODAGバージョン番号に等しく、このDIOパケット内のランクは、コンセントレーターのランクよりも大きいからである。
ノード1は、ノード2からのDIOパケットを廃棄する。なぜならば、このDIOパケット内のDODAGバージョン番号は、ノード1のDODAGバージョン番号に等しく、このDIOパケット内のランクは、ノード1のランクに等しいからである。同様に、ノード2は、ノード1及び3からのDIOパケットを廃棄し、ノード3は、ノード2からのDIOパケットを廃棄する。ノード4は、最初に、ノード1からのDIOパケットを受信する。
DIOパケット内のDODAGバージョン番号は、ノード4のものよりも大きいので、ノード4は、自身のDODAGバージョン番号を1に更新し、自身のランクをsp((1,1)、(1,2))=(2,3)に更新し、ノード1を好ましい親として選択する。次に、ノード4は、ノード2からのDIOパケットを受信する。
DIOパケット内のDODAGバージョン番号は、ノード4のものに等しく、DIOパケット内のランクは、ノードのランクよりも小さいので、ノード4は、ノード2を自身の親集合内に追加する。同様に、ノード6は、ノード2及び3からのDIOパケットを受信し、自身のDODAGバージョン番号を1に更新し、ランクをsp((1,1)、(1,2))=(2,3)に更新し、ノード2及び3を自身の親集合内に追加し、ノード3を好ましい親として選択する。ノード5は、ノード1、2、及び3からのDIOパケットを受信する。
これらのDIOパケット内のDODAGバージョン番号は、ノード5のものよりも大きいので、ノード5は、自身のDODAGバージョン番号を1に更新し、自身のランクをsp((1,1)、(1,2))=(2,3)に更新する。しかしながら、ノード5は、ノード2のみを自身の親及び好ましい親として選択する。ノード4、5、及び6も、自身のDIOパケットを送信する。
これらのパケットは、それらの近傍ノードによって廃棄される。なぜならば、DIOパケット内のDODAGバージョン番号は、近傍ノードのDODAGバージョン番号に等しく、ノード4、5、及び6のランクは、近傍ノードのランクよりも低くないからである。
破損したリンクを回避するローカルDODAG修復
上方リンクが破損したとき、この破損したリンクは、この発明の実施の形態によって回避される。DODAGは、別の親に切り替えること及び/又はDR−REQパケットを送信することによって維持される。DR−REQパケットは、DR−REQパケット生成器によって、全RPLノードへのリンクローカルマルチキャストとして送信される。
リンクローカル近傍ノードは、DR−REQパケットを受信すると、コンセントレーターへのリンクを有しない場合に、このDR−REQパケットを廃棄する。リンクローカル近傍ノードがコンセントレーターであるか、又はDR−REQパケット内のランクよりも低いランクを有するコンセントレーターへのリンクを有する場合に、この近傍ノードは、DR−REPパケットを生成する。
リンクローカル近傍ノードがコンセントレーターへのリンクを有するとともに、そのランクがDR−REQパケット内のランク以上である場合、この近傍ノードは、DR−REQパケットを自身の好ましい親に転送する。
この転送プロセスは、DR−REQパケットが、コンセントレーターであるノード又はDR−REQパケット内のランクよりも低いランクを有するコンセントレーターへのリンクを有するノードに到達するまで続く。その後、DR−REPパケットが生成される。コンセントレーターは、全てのノードの中で最低のランクを有するので、DR−REQパケットは、少なくともコンセントレーターによって返答される。
記憶モードでは、DR−REPパケット生成器は、逆ルーティングテーブルを用いることによってDR−REPパケットをDR−REQパケット生成器に送信する。非記憶モードでは、DR−REPパケットは、コンセントレーターまで転送され、コンセントレーターは、次に、送信元ルーティングを用いることによってこのDR−REPパケットをDR−REQパケット生成器に送信する。
記憶モードにおける破損したリンクを回避するローカルDODAG修復
図6Aは、記憶モード用の上方リンク破損回避プロセスを示している。ノードiとその親ノードjとの間のリンクが破損した場合(601)、ノードiは、自身の親集合P(i)からノードjを削除し(602)、そのため、P(i)={k|R(k)<R(i)、k∈P(i)/{j}}となる。更新された親集合P(i)が空である場合(603)、ノードiは、新たな親を発見するためにDR−REQパケットを送信する。
更新された親集合P(i)が空でない場合、ノードiは、パス無し(No-Path)DAOパケット送信をスケジューリングする(610)。次に、ノードiは、ノードjが自身の好ましい親p(i)であったか否かを調べ(611)、そうであった場合、ノードiは、
Figure 0005683755
であるような新たな好ましい親p(i)を選択し、c(i)を、c(i)=c(i,p(i))+c(p(i))として更新する。
ノードjがノードiの好ましい親であるか否かにかかわらず、ノードiは、|P(i)|<Tである場合に、追加の親を発見するためにDR−REQパケットを送信することができる。
DR−REQパケットを記憶モードで送信するために、ノードiは、自身のDR−SN(i)を1だけ増加させ、ID−Q=i、R−Q=R(i)、VN−Q=VN(i)、及びSN−Q=DR−SN(i)を設定する。
DR−REQパケット処理
図7Aは、ノードiがノードjからDR−REQパケットを受信した(701)ときの処理を示している。図7Aにおいて、ID−Q、R−Q、VN−Q、及びSN−Qは、DR−REQパケット内のパラメーターであり、R(i)、VN(i)、及びP(i)は、ノードiの状態パラメーターである。
ID−QとSN−Qとを比較することによって、ノードiがDR−REQパケットを既に受信していると判断された場合(702)、ノードiはこのパケットを廃棄する(711)。そうでない場合、ステップ703に進む。
DR−REQパケット内のVN−QがVN(i)に等しくない場合(703)、ノードiはこのパケットを廃棄する。そうでない場合、ステップ704に進む。
DR−REQパケットがノードiの親のうちの1つによって、すなわちj∈P(i)によって送信された場合、又はDR−REQパケットがその親によって、すなわちID−Q∈P(i)によって生成された場合、又はノードiがDR−REQパケット生成器である、すなわちID−Q=iである場合(704)、ノードiはこのパケットを廃棄する。そうでない場合、ステップ705に進む。
ノードiがコンセントレーターノードである、すなわちi=Cである場合(705)、ノードiは、DR−REQパケットを受理し、ID−Q=DR−REQパケット内のID−Q、R−P=R(C)、c=c(C)、VN−P=VN(C)、SN−Q=DR−REQパケット内のSN−Qを設定することによってDR−REPパケットを生成し(720)、このDR−REPパケットを、次のホップノードjを介してノードID−Qに送信する。そうでない場合、ステップ706に進む。
親集合P(i)が空である場合(706)、ノードiは、自身のDR−REQパケットを送信し(710)、受信したDR−REQパケットを廃棄する(711)。そうでない場合、ステップ707に進む。
R(i)<R−Qである場合(707)、ノードiは、DR−REQパケットを受理し、ID−Q=DR−REQパケット内のID−Q、R−P=R(i)、c=c(i)、VN−P=VN(i)、SN−Q=DR−REQパケット内のSN−Qを設定することによってDR−REPパケットを生成し(720)、このDR−REPパケットを、次のホップノードjを介してノードID−Qに送信する。そうでない場合、ステップ730に進む。
R(i)≧R−Qである場合、ノードiは、逆ルーティングエントリー(ID−Q,SN−Q,R−Q,j)をノードID−Qに対してそのDODAG修復逆ルーティングテーブル内に記録し(730)、DR−REQパケットをその好ましい親p(i)に送信する。
上記パケット転送プロセスは、受信ノードが親を有しないとき、又はDR−REQパケットが、コンセントレーターであるノードk若しくは|P(k)|≠0であるランクR(k)<R−Qを有するノードkに到達したときにDR−REQパケットが廃棄される(711)まで続く。次に、ノードkは、ID−Q=ID−Q、R−P=R(k)、c=c(k)、VN−P=VN(k)、SN−Q=DR−REQパケット内のSN−Qを設定することによってDR−REPパケットを生成し(720)、このDR−REPパケットを、ノードkがDR−REQパケットを受信した次のホップノードを介してノードID−Qに送信する。
DODAG修復パケット逆ルーティングテーブルは、最初、空に設定される。このテーブルは、ノードがDODAGに加わるときに消去される。
DR−REPパケット処理
図8Aは、ノードiがノードjからDR−REPパケットを受信した(801)ときの処理を示している。図8Aにおいて、ID−Q、R−P、VN−P、及びSN−Qは、DR−REPパケット内のパラメーターであり、R(i)、VN(i)、P(i)、p(i)、c(i)、及びTは、ノードiの状態パラメーターであり、R−Qは、DR−REQパケット生成器のランクであり、DODAG修復逆ルーティングテーブルからのものである。
VN−P≠VN(i)であるか、又はDR−REPパケットが既に受信されていた場合(802)、ノードiはパケットを廃棄する(811)。そうでない場合、ステップ803に進む。
ID−Q=i、すなわち、ノードiがDR−REQパケット生成器であり、かつノードjがP(i)にない場合(803)、ノードiは、|P(i)|<Tである場合に、ノードjを、P(i)={k|R(k)<R(i)、k∈P(i)∪{j}}となるようにP(i)に追加し(810)、p(i)及びc(i)を
Figure 0005683755
として更新する(811)。
次に、ノードiは、ノードjが自身の親集合内に追加されるとき、DAOパケット送信をスケジューリングする。D−ID≠iである場合、ステップ804に進む。
ノードiが逆リンク(reverse link)上にない場合(804)、すなわち、エントリー(ID−Q,SN−Q,R−Q,l)がそのDODAG修復パケット逆ルーティングテーブルにない場合、ノードiはパケットを廃棄する(811)。そうでない場合、ステップ805に進む。
R(i)<R−Qである場合(805)、ノードiは、R−P=R(i)及びc=c(i)を設定することによってDR−REPパケットを更新し、このDR−REPパケットを次のホップノードlに転送する(820)。記憶モードでは、このケースは、ノードiが、複数のノードによって生成された逆リンク上にある場合に生じる。ノードiは、最初のDR−REPパケットを受信したとき、自身のランクを下げる。したがって、その後のDR−REPパケットは、R(i)よりも大きなランクR−Qを搬送することができる。ノードiが単一の逆リンク上にしかない場合、R(i)≧R−Qは、DR−REQパケットプロセス手順に基づいて真でなければならない。
R(i)≧R−Qである場合(805)、ノードiは、sp(R−Q,R−P)がオーバーフローするか否かを調べる(806)。オーバーフローしない場合、ノードiは、自身のランクR(i)をR(i)=sp(R−Q,R−P)として減少させ、自身の親集合P(i)をP(i)={k|R(k)<R(i)、k∈P(i)}として更新する(830)。次に、ノードiは、R−P=R(i)及びc=c(i)を設定することによってDR−REPパケットを更新し(831)、このDR−REPパケットを次のホップノードlに転送し、自身の親P(i)が自身のランクの減少に起因した親の削除を介して変更された場合、パス無しDAOパケット送信をスケジューリングする。
sp(R−Q,R−P)がオーバーフローする場合、ノードiは、sp(R−Q,R−P)が約分可能である場合にこれを最初に簡約する。1よりも大きな公約数がない場合、ノードiは、インターネット制御メッセージプロトコル(ICMP:Internet Control Message Protocol)エラーパケットを送信する(807)。
この発明の実施の形態によるランク分割演算の定義によって、DR−REPパケット内のランクR−Pが、実際に、DR−REPパケット生成器からDR−REP送信ノードへのリンク上のノードの最大ランクであることを示すことは容易である。R−Pは、R−Qよりも常に小さい。したがって、DR−REPパケットが、DR−REQパケット生成器に到達したとき、DR−REPパケット内のランクR−Pは、DR−REQパケット生成器のランクであるR−Qよりも小さくなければならない。すなわち、ランクは、DR−REPパケット生成器からDR−REQパケット生成器へのリンクに沿って単調増加する。その結果、これによって、ランクがコンセントレーターから任意のスマートメーターノードへのルーティングリンクに沿って単調増加することが保証される。
非記憶モードにおける破損したリンクを回避するローカルDODAG修復
図6Bに示すように、非記憶モードにおける上方リンク破損ハンドリングプロセスは、記憶モードにおけるものと類似している。
1つの相違は、ノードiが、自身の親集合P(i)からノードjを削除した後、P(i)が空でない場合に、パス無しDAOパケット送信の代わりにDAOパケット送信をスケジューリングする(610’)ことである。
他の相違は、非記憶モードでDR−REQパケットを送信するために、ノードiが、自身のDR−SN(i)を1だけ増加させ、ID−Q=i、R−Q=R(i)、VN−Q=VN(i)、SN−Q=DR−SN(i)、及びNL−Q={i}を設定することである。
DR−REQパケットの処理
図7Bは、ノードiがノードjからDR−REQパケットを受信した(751)ときの処理を示している。図7Bにおいて、ID−Q、R−Q、VN−Q、SN−Q、及びNL−Qは、DR−REQパケット内のパラメーターであり、R(i)、VN(i)、及びP(i)は、受信ノードiの状態パラメーターである。
ID−QとSN−Qとを比較することによって、ノードiがこのDR−REQパケットを既に受信していると判断された場合(752)、このノードはこのパケットを廃棄する(711)。そうでない場合、ステップ753に進む。
DR−REQパケット内のVN−QがVN(i)に等しくない場合(753)、ノードiはこのパケットを廃棄する。そうでない場合、ステップ754に進む。
DR−REQパケットがノードiの親のうちの1つによって、すなわちj∈P(i)によって送信された場合、又はDR−REQパケットがその親によって、すなわちID−Q∈P(i)によって生成された場合、又はノードiがDR−REQパケット生成器である、すなわちID−Q=iである場合(754)、ノードiはこのパケットを廃棄する。そうでない場合、ステップ755に進む。
ノードiがコンセントレーターノードである、すなわちi=Cである場合(755)、ノードiは、DR−REQパケットを受理し、ID−Q=DR−REQパケット内のID−Q、R−P=R(C)、c=c(C)、VN−P=VN(C)、SN−Q=DR−REQパケット内のSN−Q、D=DOWN、R−Q=DR−REQパケット内のR−Q、NL−P=NL−Q∪{C}を設定することによってDR−REPパケットを生成し(760)、このDR−REPパケットを、NL−Pを介した送信元ルーティングを用いてノードID−Qに送信する。そうでない場合、ステップ756に進む。
ノードiがコンセントレーターでなく、その親集合P(i)が空である場合(756)、ノードiは、DR−REQパケットを送信し(710)、受信したDR−REQパケットを廃棄する。そうでない場合、ステップ757に進む。
R(i)<R−Qである場合(757)、ノードiは、DR−REQパケットを受理し、ID−Q=DR−REQパケット内のID−Q、R−P=R(i)、c=c(i)、VN−P=VN(i)、SN−Q=DR−REQパケット内のSN−Q、D=UP、R−Q=DR−REQパケット内のR−Q、NL−P=NL−Q∪{i}を設定することによってDR−REPパケットを生成し(759)、このDR−REPパケットを自身の好ましい親p(i)に転送する。そうでない場合、ステップ758に進む。
R(i)≧R−Qである場合、ノードiは、NL−Q=NL−Q∪{i}となるようにNL−Qにiを挿入する(758)ことによってDR−REQパケットを更新し、このDR−REQパケットを自身の好ましい親p(i)に転送する。
上記転送プロセスは、受信ノードが親を有しないとき、又はDR−REQパケットが、コンセントレーターであるノードk若しくは|P(k)|≠0であるランクR(k)<R−Qを有するノードkに到達したときにDR−REQパケットが廃棄されるまで続く。次に、ノードkは、ID−Q=DR−REQパケット内のID−Q、R−P=R(k)、c=c(k)、VN−P=VN(k)、SN−Q=DR−REQパケット内のSN−Q、k≠Cの場合にはD=UP又はk=Cの場合にはD=DOWN、R−Q=DR−REQパケット内のR−Q、NL−P=NL−Q∪{k}を設定することによってDR−REPパケットを生成し、k≠Cの場合には自身の好ましい親p(k)にこのDR−REPパケットを転送し、又はk=Cの場合にはNL−Pを介した送信元ルーティングを用いることによってノードID−QにこのDR−REPパケットを送信する。
DR−REPパケット処理
ノードiは、ノードjからDR−REPパケットを受信する(851)。図8Bにおいて、ID−Q、R−P、VN−P、SN−Q、D、R−Q、及びNL−Pは、DR−REPパケット内のパラメーターであり、R(i)、VN(i)、P(i)、p(i)、c(i)、及びTは、ノードiの状態パラメーターである。
VN−P≠VN(i)であるか、又はDR−REPパケットが既に受信されていた場合(852)、ノードiはパケットを廃棄する(811)。そうでない場合、ステップ853に進む。
D=UPである、すなわち、DR−REPパケットが上方に送信される場合(853)、ノードiは、i=Cであるか否か、すなわち、ノードiがコンセントレーターであるか否かを調べる(860)。そうである場合、ノードiは、D=DOWN、R−P=R(C)、c=c(C)、NL−P=NL−P∪{C}に変更することによってDR−REPパケットを更新し、NL−Pを介した送信元ルーティングによってDR−REPパケットをノードID−Qに送信する(861)。
i≠Cであり、すなわち、ノードiがコンセントレーターでなく、かつP(i)が空でない場合(870)、ノードiは、NL−P=NL−P∪{i}となるようにiをNL−P内に挿入する(872)ことによってDR−REPパケットを更新し、このDR−REPパケットを親ノードp(i)に転送する。
i≠Cであり、かつP(i)が空である場合、ノードiは、DR−REPパケットを廃棄し(811)、DR−REQパケットを送信する(871)。
D≠UP、すなわち、D=DOWNであり、かつDR−REPパケットが下方に送信される場合、ステップ854に進む。
ID−Q=iであり、すなわち、ノードiがDR−REQパケット生成器である場合において(854)、ノードjがP(i)内になく、かつ|P(i)|<Tである場合に、ノードiは、P(i)={k|R(k)<R(i)、k∈P(i)∪{j}}となるようにノードjをP(i)内に追加し(840)、p(i)及びc(i)を
Figure 0005683755
として更新する。次に、ノードiは、ノードjが自身の親集合内に追加される場合、DAOパケット送信をスケジューリングする(841)。ID−Q≠iである場合、ステップ855に進む。
ノードiが送信元ルーティングリンク上にない、すなわち、ノードiがNL−Pにない場合(855)、ノードiはパケットを廃棄する(811)。そうでない場合、ステップ856に進む。
R(i)<R−Qである場合(856)、ノードiは、R−P=R(i)、c=c(i)を設定することによってDR−REPパケットを更新し(880)、このDR−REPパケットをNL−Pを介して転送する(881)。そうでない場合、ステップ857に進む。
ノードiは、sp(R−Q、R−P)がオーバーフローするか否かを調べる(857)。オーバーフローしない場合、ノードiは、自身のランクR(i)をR(i)=sp(R−Q,R−P)として減少させ、自身の親集合P(i)をP(i)={k|R(k)<R(i)、k∈P(i)}として更新する(890)。次に、ノードiは、R−P=R(i)及びc=c(i)を設定することによってDR−REPパケットを更新し(891)、このDR−REPパケットをNL−Pを介して転送する。さらに、ノードiは、自身の親P(i)が自身のランクの減少に起因した親の削除のために変更された場合、DAOパケット送信をスケジューリングする(892)。
sp(R−Q,R−P)がオーバーフローする場合、ノードiは、sp(R−Q,R−P)が約分可能である場合にこれを簡約する。1よりも大きな公約数がない場合、ノードiは、ICMPエラーパケットを送信する(858)。
ランク分割演算の定義によって、下方DR−REPパケット内のランクR−Pが、コンセントレーターノードからDR−REP送信ノードへの送信元ルーティングリンク上のノードの最大ランクであることを示すことは容易である。R−Pは、R−Qよりも常に小さい。
したがって、DR−REPパケットが、DR−REQパケット生成器に到達したとき、DR−REPパケット内のランクR−Pは、DR−REQパケット生成器のランクであるR−Qよりも小さくなければならない。すなわち、ランクは、コンセントレーターからDR−REQパケット生成器に単調増加する。その結果、これによって、ランクがコンセントレーターから任意のスマートメーターノードへのルーティングリンクに沿って単調増加することが保証される。
破損したリンクを回避するローカルDODAG修復例
図9は、破損したリンク102を回避するための修復処理を概略的に示している。コンセントレーターノードC及びメーターノード1〜6に加えて、図9は、好ましい親へのリンク502、DR−REQ伝播リンク901、DR−REP伝播リンク902、並びに古いランク905及び新たなランク906も示している。
ノード5とノード2との間のリンクが破損した(102)場合、ノード5がDR−REQパケットを送信する。ノード4及び6は、このパケットを受信する。これらのノードの双方は、コンセントレーターへのリンクを有するが、双方のノードのランクは、DR−REQパケット内のランクよりも低くない。したがって、DR−REQパケットは、それらのノードの好ましい親ノード1及び3にそれぞれ転送される。
また、ノード4及びノード6は、今後のDR−REPパケットをノード5に転送することができるようにノード5への逆リンクを記録する。ノード1及び3は、コンセントレーターへのリンクを有し、これらのノードのランクは、DR−REQパケット内のランクよりも低い。したがって、これらのノードは、DR−REPパケットを送信する。このDR−REPパケット送信プロセスは、DR−REQパケット生成器ノード5へのリンクに沿ったノードのランクを更新する。ノード4及び6の場合、古いランク905は(2,3)であり、新たなランク906は(3、5)である。ノード5は、ノード4及び6からDR−REPパケットを受信し、ノード6を自身の好ましい親として選択する。
図10は、真分数の形式のランクが決して増加しないので、図1における破損したリンク102が考案されたローカルDODAG修復方法によってどのように回避されるのかを概略的に示している。差込1010は、修復処理中に用いられる様々な分割(sp)演算を示している。この図は、DR−REPパケット送信1001、DR−REQパケット送信1002、及びノード1の新たな好ましい親1003へのリンクも示している。
R(i)(ただし、i=1,2,…,7)は、ノードiのランクである。R(C)は、コンセントレーターノードCのランクである。ノード1は、自身の親集合P(i)からノードCを削除し、R−Q=R(1)=(1,2)を有するDR−REQパケットを送信する。ノード2は、このDR−REQパケットを廃棄する。なぜならば、このDR−REQパケットは、ノード2の親によって送信されているからである。ノード3は、DR−REQパケットをノード2に転送する。なぜならば、DR−REQパケット内のR−Qは、ノード3のランクR(3)よりも小さいからである。
一方、ノード3によって転送されたDR−REQパケットは、ノード2によって廃棄される。なぜならば、このDR−REQパケットは、ノード2の親によって生成されているからである。ノード4は、DR−REQパケットをノード5に転送する。なぜならば、R−QがR(4)よりも小さいからである。同様に、ノード5は、DR−REQパケットをノード6に転送し、ノード6は、DR−REQパケットをノード7に転送し、ノード7は、DR−REQパケットをコンセントレーターに転送し、コンセントレーターは、R−P=R(C)=(0,1)を有するDR−REPパケットを生成する。
ノード7は、DR−REPパケットを受信すると、R(7)≧R−Qであるので、自身のランクをR’(7)=(1、3)に減少させ、R−P=R’(7)を設定し、DR−REPパケットをノード6に転送する。同様に、ノード6は、自身のランクをR’(6)=(2,5)に減少させ、R−P=R’(6)を設定し、DR−REPパケットをノード5に転送し、ノード5は、自身のランクをR’(5)=(3、7)に減少させ、R−P=R’(5)を設定し、DR−REPパケットをノード4に転送し、ノード4は、自身のランクをR’(4)=(4,9)に減少させ、R−P=R’(4)を設定し、DR−REPパケットをノード1に転送する。ノード1は、ノード4からDR−REPパケットを受信すると、ノード4を自身の好ましい親として選択する。
ノード1によって開始されたローカルDODAG修復プロセスは完了する。ローカルDODAG修復の後、親子関係は、3→2→1→4→5→6→7→Cである。
この発明の方法は、多種の分野に適用可能である。

Claims (19)

  1. スマートメーター及びコンセントレーターからなるネットワークにおいてスマートメーターとコンセントレーターとの間でパケットをルーティングするときに破損したリンクを回避する方法であって、前記スマートメーター及び前記コンセントレーターは、通信リンクによって接続され、該方法は、
    宛先指向非循環有向グラフ(DODAG)によって前記ネットワークを表すステップであって、前記グラフ内のノードは、前記スマートメーター及び前記コンセントレーターを表し、前記コンセントレーターは、前記DODAGにおけるルートノード(ルート)であり、有向エッジは前記リンクを表すものと、
    前記各ノードをランクに関連付けるステップであって、該ランクは、前記DODAGの前記ルートに対する他のノードとの相対的な前記各ノードの位置を規定し、前記ルートは、前記DODAGにおける全ての前記ノードの最低のランクを有し、前記ノードは、各子が子の親の全ての前記ランクよりも厳密に大きなランクを有しなければならない親子関係に基づいて前記ランクを保持し、前記ルートは親を有さず、前記ランクは真分数の形式であり、前記各ノードの前記ランクは、前記破損したリンクが検出された場合であっても決して増加せず、ループフリールーティングを可能にするものと、
    ノードiの前記ランクR(i)=(m,n)をR(i)=m/nとして定義することであって、ここで、0≦m≦nであり、m及びnは整数であり、0<nであるものと、
    任意の2つのランクR(i)=(m,n)及びR(j)=(p,q)について、分割演算を
    sp(R(i),R(j))=sp((m,n)、(p,q))=(m+p)/(n+q)
    として定義することであって、該分割演算sp(R(i),R(j))は、ランク(m,n)及び(p,q)を分割し、新たなランク(m+p)/(n+q)を生成し、m/n<p/qである場合に、m/n<(m+p)/(n+q)<p/qとするものと、
    を含み、
    前記分割演算が、親へのリンクが破損したノードとルートとの間の、破損したリンクを回避するルーティングリングの経路上の任意のノードのランクを、当該ルーティングリングに沿って単調増加するように下げるために用いられる演算であり、
    前記ステップは、前記スマートメーター及び前記コンセントレーター内のプロセッサにおいて実行される、スマートメーター及びコンセントレーターからなるネットワークにおいてスマートメーターとコンセントレーターとの間でパケットをルーティングするときに破損したリンクを回避するための方法。
  2. 前記ルーティングは、低消費電力高パケット損失ネットワーク用ルーティングプロトコル(RPL)を用いる、請求項1に記載の方法。
  3. 前記スマートメーターは、少なくとも1つの前記コンセントレーターへの1つ又は複数の破損していないリンクを発見する、請求項1に記載の方法。
  4. 前記ルーティングは、低消費電力高パケット損失ネットワーク用ルーティングプロトコル(RPL)を用い、前記スマートメーターは、少なくとも1つの前記コンセントレーターへの1つ又は複数の破損していないリンクを発見し、前記発見することは、前記RPLの記憶モード及び非記憶モードに適用される、請求項1に記載の方法。
  5. 前記パケットは、情報オブジェクト(DIO)パケット、DODAG修復要求(DR−REQ)パケット、及びDODAG修復返答(DR−REP)パケットを含み、前記DIOパケットは、パケット送信機の前記ランクと、少なくとも1つの前記コンセントレーターへの1つ又は複数のリンクに関連付けられた最小コストとを格納する、請求項1に記載の方法。
  6. ランクR(i)とR(j)との間の前記新たなランクを、分子及び分母の双方を最大公約数によって除算することによって約分すること、
    を更に含む、請求項1に記載の方法。
  7. 前記DIOパケット及び前記ランク分割演算を用いて前記DODAGを構築すること、
    を更に含み、前記DIOパケットは、トリクルタイマーを用いて送信される、請求項1に記載の方法。
  8. 前記ノードは、次の条件、すなわち、
    (1)前記DIOパケット内のDODAGバージョン番号が、受信ノードのDODAGバージョン番号よりも大きいこと、及び
    (2)前記DIOパケット内の前記DODAGバージョン番号が、前記受信ノードの前記DODAGバージョン番号に等しく、かつ前記DIOパケット内の前記ランクが前記受信ノードの前記ランクよりも低いこと、
    のうちの一方が当てはまる場合にのみ、状態を更新する、請求項7に記載の方法。
  9. 前記DIOパケットの送信は、前記ネットワークにおける全ての前記スマートメーターのノードが、前記DIOパケットを受信し、前記DODAGの構築が完了するまで、それぞれの状態パラメーターを更新するまで、続く、請求項7に記載の方法。
  10. DODAG修復要求(DR−REQ)パケット及びDODAG修復返答(DR−REP)パケットを用いて前記DODAGをローカルに修復すること、
    を更に含み、前記DR−REQパケットは、特定のノードが前記ルートへの代替のルーティングリンクを発見する必要があるときに生成及び送信され、前記DR−REPパケットは、前記特定のノードが、受信された前記DR−REQパケット内の前記ランクよりも低いランクを有するときに生成及び送信され、前記DR−REQパケットを受信した前記ノードは、前記ルートへの有向なルーティングリンクを有する、請求項1に記載の方法。
  11. 前記修復することは、記憶モードで行われる、請求項10に記載の方法。
  12. 前記修復することは、非記憶モードで行われる、請求項10に記載の方法。
  13. 特定のノードから特定の親への上方リンクが破損すると、前記特定のノードは、親集合から前記特定の親を削除し、記憶モードでパス無し宛先広告オブジェクト(DAO)パケット送信をスケジューリングするか、又は非記憶モードでDAOパケット送信をスケジューリングし、状態パラメーターを更新し、DODAG修復要求(DR−REQ)パケットを生成及び送信して前記ルートへの代替的なルーティングリンクを発見する、請求項1に記載の方法。
  14. 前記ルートは、前記DR−REQパケットを受信すると、前記DR−REPパケットを生成し、記憶モードでの逆ルーティングテーブルを用いて又は非記憶モードでの送信元ルーティングを用いて、ローカルDODAG修復を開始した前記ノードに前記DR−REPパケットを送信する、請求項5に記載の方法。
  15. 特定のノードにおいて前記DR−REQパケットを受信すると、該特定のノードは、該特定のノードの前記ランクが前記DR−REQパケット内の前記ランクよりも大きい場合に、前記DR−REQパケットを好ましい親に転送する、請求項5に記載の方法。
  16. 特定のノードは、前記DR−REQパケットを受信すると、該特定のノードの前記ランクが前記DR−REQパケット内の前記ランクよりも低く、かつ該特定のノードが前記ルートへの有効なルーティングリンクを有する場合に前記DR−REPパケットを生成し、該特定のノードは、記憶モードで、逆ルーティングテーブルを用いることによって、ローカルDODAG修復を開始した前記ノードへ下方に前記DR−REPパケットを送信するか、又は該特定のノードは、非記憶モードで、好ましい親へ上方に前記DR−REPパケットを送信する、請求項5に記載の方法。
  17. 特定のノードは、非記憶モードで上方に送信された前記DR−REPパケットを受信すると、前記DR−REPパケットを好ましい親に転送し、前記ルートは、非記憶モードで上方に送信された前記DR−REPパケットを受信すると、前記DR−REPパケットの方向を変更し、送信元ルーティングを用いて、前記DR−REPパケットを、ローカルDODAG修復を開始した前記ノードへ下方に送信する、請求項5に記載の方法。
  18. 特定のノードは、下方に送信された前記DR−REPパケットを受信すると、該DR−REPパケットを更新し、記憶モードでは逆ルーティングテーブルを用いて又は非記憶モードでは送信元ルーティングを用いることによって、ローカルDODAG修復を開始した前記ノードへ下方に転送し、前記特定のノードは、前記ランクが前記ルートから任意のノードへのルーティングリンクに沿って単調増加するように前記ランクを下げる、請求項5に記載の方法。
  19. ローカルDODAG修復を開始した前記ノードは、前記DR−REPパケットを受信すると、前記ルートへの代替のルーティングリンクを発見し、前記DODAGはローカルに修復される、請求項5に記載の方法。
JP2014524601A 2012-02-11 2013-02-05 パケットのループフリールーティングのためのスマートメーターネットワークにおける破損したリンクを回避する方法 Active JP5683755B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/371,423 US8750100B2 (en) 2012-02-11 2012-02-11 Avoiding broken links in smart meter networks for loop-free routing of packets
US13/371,423 2012-02-11
PCT/JP2013/053164 WO2013118904A1 (en) 2012-02-11 2013-02-05 Avoiding broken links in smart meter networks for loop-free routing of packets

Publications (2)

Publication Number Publication Date
JP2015507378A JP2015507378A (ja) 2015-03-05
JP5683755B2 true JP5683755B2 (ja) 2015-03-11

Family

ID=47844422

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014524601A Active JP5683755B2 (ja) 2012-02-11 2013-02-05 パケットのループフリールーティングのためのスマートメーターネットワークにおける破損したリンクを回避する方法

Country Status (4)

Country Link
US (1) US8750100B2 (ja)
JP (1) JP5683755B2 (ja)
CN (1) CN104106287B (ja)
WO (1) WO2013118904A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9306841B2 (en) * 2012-11-05 2016-04-05 Cisco Technology, Inc. Enabling dynamic routing topologies in support of real-time delay traffic
US9819548B2 (en) * 2013-01-25 2017-11-14 Cisco Technology, Inc. Shared information distribution in a computer network
CN103618648A (zh) * 2013-12-02 2014-03-05 中国科学院声学研究所 一种传感器网络上位机的测试方法及其系统
US9383223B2 (en) 2014-07-14 2016-07-05 International Technological University Smart meter system architecture
US9000753B1 (en) 2014-07-14 2015-04-07 International Technological University Smart meter voltage and current sensing using optically coupled isolators
US9612133B2 (en) 2014-07-14 2017-04-04 International Technological University Smart meter system communication methods
JPWO2016098205A1 (ja) * 2014-12-17 2017-09-14 富士通株式会社 収集システム、収集装置及び電力制御方法
US9900824B2 (en) * 2015-03-02 2018-02-20 Mitsubishi Electric Research Laboratories, Inc. Resource aware routing in heterogeneous wireless networks
CN105071955B (zh) * 2015-07-20 2018-06-29 常州大学 一种对rpl协议规避路由环路的方法
CN107925618B (zh) * 2015-08-28 2021-07-23 德克萨斯仪器股份有限公司 用于有向无环图网络配置的节点和方法
US9893981B2 (en) * 2016-03-14 2018-02-13 Mitsubishi Electric Research Laboratories, Inc. Resource aware multi-task routing in multi-hop heterogeneous wireless networks
CN107911834B (zh) * 2017-12-28 2020-09-22 西安电子科技大学 以数据为中心的无线传感器网络中生命期最优dag构造方法
US10944669B1 (en) 2018-02-09 2021-03-09 GoTenna, Inc. System and method for efficient network-wide broadcast in a multi-hop wireless network using packet echos
US10715422B2 (en) 2018-07-03 2020-07-14 Cisco Technology, Inc. Proactive reform of directed acyclic graph by accelerating parent advertisements
CA3107919A1 (en) 2018-07-27 2020-01-30 GoTenna, Inc. Vinetm: zero-control routing using data packet inspection for wireless mesh networks
US11362837B2 (en) * 2018-12-10 2022-06-14 Cisco Technology, Inc. Generating trustable RPL messages having root-signed rank values
CN111917637B (zh) * 2019-05-09 2022-05-17 华为技术有限公司 数据报文发送方法及装置
CN111935001B (zh) * 2019-05-13 2022-04-26 华为技术有限公司 一种路径切换方法及节点、系统
US11431518B2 (en) * 2020-02-13 2022-08-30 Cisco Technology, Inc. Localized multicast in a low power and lossy network based on rank-based distance
US11539613B2 (en) 2021-03-26 2022-12-27 Cisco Technology, Inc. Generating cross-pan bypass path based on stitching between border LLN devices

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8270313B2 (en) * 2009-11-13 2012-09-18 Mitsubishi Electric Research Laboratories, Inc. Ranking nodes in networks with topologies arranged as directed acyclic graphs
US9826040B2 (en) * 2010-01-28 2017-11-21 Texas Instruments Incorporated System and method for preventing collisions in a hierarchical network
US8363662B2 (en) * 2010-03-19 2013-01-29 Cisco Technology, Inc. Alternate down paths for directed acyclic graph (DAG) routing
US20110228696A1 (en) * 2010-03-19 2011-09-22 Navneet Agarwal Dynamic directed acyclic graph (dag) topology reporting
US20120155463A1 (en) * 2010-12-17 2012-06-21 Cisco Technology Inc. Increased Communication Opportunities with Low-Contact Nodes in a Computer Network
US8593986B2 (en) * 2011-06-01 2013-11-26 Cisco Technology, Inc. Lightweight storing mode for constrained computer networks
US8509109B2 (en) * 2011-06-27 2013-08-13 Mitsubishi Electric Research Laboratories, Inc. Method for discovering and maintaining routes in smart meter networks

Also Published As

Publication number Publication date
US20130208583A1 (en) 2013-08-15
CN104106287B (zh) 2015-08-05
WO2013118904A1 (en) 2013-08-15
US8750100B2 (en) 2014-06-10
CN104106287A (zh) 2014-10-15
JP2015507378A (ja) 2015-03-05

Similar Documents

Publication Publication Date Title
JP5683755B2 (ja) パケットのループフリールーティングのためのスマートメーターネットワークにおける破損したリンクを回避する方法
Nguyen et al. An efficient minimum-latency collision-free scheduling algorithm for data aggregation in wireless sensor networks
CN105052205B (zh) 提供无服务中断的备份网络拓扑
US9356858B2 (en) Redirecting traffic via tunnels to discovered data aggregators
US9426035B2 (en) Data reporting using reporting groups in a computer network
US9893985B2 (en) Utilizing remote storage for network formation in IoT networks
US20120039190A1 (en) Partitioning directed acyclic graph (dag) topologies
US20110228696A1 (en) Dynamic directed acyclic graph (dag) topology reporting
US9210045B2 (en) Gravitational parent selection in directed acyclic graphs
CN103999510A (zh) 用于简约连接对象网络的辅助智能路由
US10904097B2 (en) Concurrent network reformation for low-power and lossy networks
US10938707B2 (en) Peer-to-peer optimization in existing tree-based topology based on generating locally-optimized tree using confined advertisements
CN104883304B (zh) 用于部分纠缠量子对桥接通信网络的路由方法
JP2013503589A (ja) メータ検針無線メッシュネットワーク内のノードのネットワークアドレスフィールド及び関連するシステム
Boubekeur et al. Bounding degrees on RPL
CN109041010A (zh) 基于半朴素贝叶斯分类器的车载容迟网络数据转发方法
US10015075B1 (en) Directed acyclic graph optimization for future time instance advertised by a parent network device
JP5868551B2 (ja) 無線通信システム及び無線通信方法
Zhang et al. OFDP: a distributed algorithm for finding disjoint paths with minimum total length in wireless sensor networks
Rao et al. Power and Trust based Routing for MANET using RRRP Algorithm
Acharya et al. Energy-aware virtual backbone tree for efficient routing in wireless sensor networks
Kumar et al. Optimal multipath routing using BFS for wireless sensor networks
III Building routing overlays in disrupted networks: inferring contacts in challenged sensor internetworks
Baras et al. Component based performance modelling of wireless routing protocols
US10932195B1 (en) Parent device shadow execution for a sleeping low power and lossy network child network device

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141216

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150113

R150 Certificate of patent or registration of utility model

Ref document number: 5683755

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250